Эта статья требует дополнительных ссылок для проверки . ( ноябрь 2020 г. ) ( Узнайте, как и когда удалить это сообщение-шаблон ) |
Баррель переключение является цифровой схемой , которая может перейти в слове данных в соответствии с заданным количеством бит , без использования какой - либо последовательной логики , только чистая комбинационной логику , т.е. по своей природе обеспечивает бинарную операцию . Однако теоретически он также может использоваться для реализации унарных операций , таких как логический сдвиг влево , в случаях, когда они ограничены фиксированной величиной (например, для блока генерации адреса ) на фиксированную величину. Один из способов реализовать баррель-шифтер - это последовательность мультиплексоров.где выход одного мультиплексора соединен со входом следующего мультиплексора способом, который зависит от расстояния сдвига. Баррель переключения часто используется для сдвига и поворота н-битов в современных микропроцессорах, [ править ] , как правило , в пределах одного цикла синхронизации .
Например, возьмем четырехбитный цилиндрический сдвигатель со входами A, B, C и D. Сдвигатель может циклически изменять порядок битов ABCD как DABC , CDAB или BCDA ; в этом случае биты не теряются. То есть он может сдвинуть все выходы вправо на три позиции (и, таким образом, создать любую циклическую комбинацию A, B, C и D). Баррель-шифтер имеет множество применений, в том числе является полезным компонентом микропроцессоров (наряду с ALU ).
Реализация [ править ]
Барабанный переключатель часто реализуется как каскад параллельных мультиплексоров 2 × 1. Для 8-битного цилиндрического устройства сдвига используются два промежуточных сигнала, которые сдвигаются на четыре и два бита или передают одни и те же данные в зависимости от значения S [2] и S [1]. Затем этот сигнал сдвигается другим мультиплексором, которым управляет S [0]:
int1 = IN, если S [2] == 0 = IN << 4, если S [2] == 1 int2 = int1, если S [1] == 0 = int1 << 2, если S [1] == 1 OUT = int2, если S [0] == 0 = int2 << 1, если S [0] == 1
У более крупных рычагов переключения передач есть дополнительные ступени.
Стоимость [ править ]
Количество мультиплексоров, необходимых для n- битного слова, составляет . [1] Ниже перечислены пять стандартных размеров слова и необходимое количество мультиплексоров:
- 128-битный -
- 64-битный -
- 32-битный -
- 16 бит -
- 8-битный -
Стоимость критического пути в FO4 , (ориентировочная, без учета проволочной задержки):
- 32-разрядная версия: с 18 FO4 до 14 FO4 [2]
Использует [ редактировать ]
Обычно баррель-шифтер используется в аппаратной реализации арифметики с плавающей запятой . Для операции сложения или вычитания с плавающей запятой значения двух чисел должны быть выровнены, что требует сдвига меньшего числа вправо, увеличения его экспоненты , пока она не совпадет с показателем большего числа. Это делается путем вычитания экспонент и с помощью поворотного переключателя сдвига меньшего числа вправо на разницу за один цикл. Если бы использовался простой сдвигатель, сдвиг на n битовых позиций потребовал бы n тактов. [ необходима цитата ]
См. Также [ править ]
- Круговой сдвиг
Ссылки [ править ]
- ^ Кренинг, Даниил; Стрихман, Офер (2008). Процедуры принятия решений . Springer . п. 159. ISBN. 978-3-540-74104-6.
- ^ Ван, Дэвид Т. (2002-08-15). «Возвращаясь к метрике FO4» . Проверено 19 мая 2016 .
Внешние ссылки [ править ]
- Баррель-шифтер (8 бит) , Гамбургский университет
- Реализация переключателей ствола с использованием множителей (Пол Джильотти, 2004-08-17)
Дальнейшее чтение [ править ]
- Кронинг, Даниэль; Стрихман, Офер (2008). Процедуры принятия решений . Springer . ISBN 978-3-540-74104-6.
Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенных в соответствии с условиями «перелицензирования» GFDL версии 1.3 или новее.