Поворот и Поворот через использование переноса

Я проектирую процессор и создал список часто используемых операций ALU. Поворот и вращение с помощью переноса встречаются практически во всех процессорах, и я хотел бы знать, почему. Помимо неясного упоминания о криптографии, я не вижу, что они могут предложить, чего не могут сделать битовые сдвиги.

Кроме того, есть ли причина для реализации 8- и 16-битной версии этих операций или только 32-битной? Спасибо за любую помощь.

1 ответ

На самом деле, битовые сдвиги в некоторых случаях являются неловкой заменой вращений.

Я не знаю о криптографии, но много занимаюсь аппаратным программированием.

Многие устройства, например, получают свои данные по кусочкам. Если вы можете повернуть, легче подготовить данные для этого. Если у вас есть только битовый сдвиг, вы вынуждены сделать резервную копию значения в дополнительной переменной / регистре.

Таким образом, вращение на самом деле очень полезно, особенно в контроллерах с небольшим объемом памяти, где учитывается каждый байт. Я считаю, что это причина, почему каждый процессор вращается. Надеюсь это поможет.

Другие вопросы по тегам