Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在设计一个处理器,并创建了一个常用 ALU 操作的列表。旋转和通过进位旋转几乎在所有处理器中都有,我想知道为什么。除了对密码学的一些晦涩提及之外,我看不出这些必须提供什么是位移无法做到的。
此外,是否有任何理由实现这些操作的 8 位和 16 位版本,或者只是 32 位?谢谢你的帮助。
实际上,在某些情况下,移位是旋转的尴尬替代品。
我不知道密码学,但我做了很多硬件编程。
例如,许多设备以半字节方式获取数据。如果可以旋转,则为此准备数据会更容易。如果您只有位移,则您被迫将值备份到额外的变量/寄存器中。
因此,旋转实际上非常有用,尤其是在内存很少的控制器中,每个字节都很重要。我相信这就是每个处理器提供轮换的原因。希望这可以帮助。