Как сдвиги реализуются на аппаратном уровне?

Как сдвиги битов реализуются на аппаратном уровне, когда число, на которое нужно сдвинуться, неизвестно?

Я не могу представить, что будет отдельная схема для каждого числа, на которое вы можете сдвинуться (это будет 64 схемы сдвига на 64-разрядной машине), и при этом я не могу представить, что это будет цикл сдвигов на единицу (который будет выполнить до 64 циклов смены на 64-битной машине). Это что-то вроде компромисса между ними или есть какая-то хитрая уловка?

1 ответ

Решение

Схема называется " бочкообразная перемычка" - в основном это нагрузка мультиплексоров. У него есть слой на каждый требуемый бит сдвига адреса, поэтому 8-разрядному бочкообразному сдвигу нужно три бита, чтобы сказать "на сколько сдвинуться", и, следовательно, 3 слоя муксов.

Вот изображение 8-битного из http://www.globalspec.com/reference/55806/203279/chapter-9-additional-circuit-designs:

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