Переключатель ствола

Эта статья нуждается в дополнительных цитатах для проверки . ( ноябрь 2020 г. ) |
Бочкообразный переключатель представляет собой цифровую схему , которая может сдвигать слово данных на заданное количество битов без использования какой-либо последовательной логики , только чистой комбинационной логики , т.е. она по своей сути обеспечивает двоичную операцию . Однако теоретически его также можно использовать для реализации унарных операций , таких как логический сдвиг влево , в случаях, когда они ограничены фиксированной величиной (например, для устройства генерации адреса ). Одним из способов реализации бочкообразного переключателя является последовательность мультиплексоров , в которой выход одного мультиплексора подключен к входу следующего мультиплексора способом, зависящим от расстояния сдвига. Барабанный переключатель часто используется для смещения и поворота n битов в современных микропроцессорах. [1] обычно в течение одного такта .
Например, возьмем четырехбитный бочкообразный переключатель с входами A, B, C и D. Механизм сдвига может циклически менять порядок битов ABCD как DABC , CDAB или BCDA ; в этом случае биты не теряются. То есть он может сдвигать все выходные данные на три позиции вправо (и, таким образом, создавать любую циклическую комбинацию A, B, C и D). Барабанный переключатель имеет множество применений, в том числе является полезным компонентом микропроцессоров (наряду с ALU ).
Реализация [ править ]
Самые быстрые переключатели реализованы в виде полных перекрестий, аналогично 4-битному переключателю, изображенному выше, только большего размера. Они вызывают наименьшую задержку, при этом выход всегда имеет задержку на один вентиль после смещаемого входа (после того, как будет предоставлено небольшое время, необходимое для стабилизации декодера счетчика сдвига; однако этот штраф возникает только при изменении счетчика сдвига). Однако эти поперечные переключатели требуют n 2 вентили для n -битных сдвигов. Из-за этого барабанный сдвиговый переключатель вместо этого часто реализуется как каскад параллельных мультиплексоров 2×1, что позволяет значительно сократить количество вентилей, которое теперь растет только с n x log n ; однако задержка распространения больше и растет с log n (вместо того, чтобы быть постоянной, как в случае с перекрестным сдвигом).
Для 8-битного бочкообразного сдвига используются два промежуточных сигнала, которые сдвигаются на четыре и два бита или передают одни и те же данные в зависимости от значения S[2] и S[1]. Затем этот сигнал сдвигается другим мультиплексором, которым управляет S[0]:
int1 = IN , if S[2] == 0 = IN << 4, if S[2] == 1 int2 = int1 , if S[1] == 0 = int1 << 2, if S[1] == 1 OUT = int2 , if S[0] == 0 = int2 << 1, if S[0] == 1
Барабанные переключатели большего размера имеют дополнительные ступени.
Каскадный сдвиговый переключатель имеет дополнительное преимущество перед полным перекрестным сдвиговым устройством, поскольку не требует какой-либо логики декодирования для подсчета сдвига.
Стоимость [ править ]
Количество мультиплексоров, необходимых для n -битного слова, равно . [2] Ниже перечислены пять распространенных размеров слов и необходимое количество мультиплексоров:
- 128-битный —
- 64-битная —
- 32-битная —
- 16-битный —
- 8-битный —
Стоимость критического пути в FO4 (расчетная, без учета задержки):
- 32-битный: с 18 FO4 на 14 FO4. [3]
Использует [ править ]
Обычно бочкообразный переключатель используется в аппаратной реализации арифметики с плавающей запятой . Для операции сложения или вычитания с плавающей запятой мантиссы двух чисел должны быть выровнены, что требует сдвига меньшего числа вправо, увеличения его показателя до тех пор, пока оно не будет соответствовать показателю большего числа. Это делается путем вычитания показателей степени и использования бочкообразного переключателя для сдвига меньшего числа вправо на разницу за один цикл.
См. также [ править ]
Ссылки [ править ]
- ^ Абхилаша; Судхаршан; Ануша, С.Л. (2015). «Проектирование и реализация на FPGA высокопроизводительного 8-битного ведического умножителя с использованием обратимого логического механизма переключения стволов» . Материалы второй международной конференции по обработке сигналов, обработке изображений и СБИС . Сингапур: Службы публикации исследований. дои : 10.3850/978-981-09-6200-5_vlsi-74 .
- ^ Кренинг, Дэниел; Стрихман, Офер (2008). Процедуры принятия решений . Спрингер . стр. 159. ISBN 978-3-540-74104-6 .
- ^ Ван, Дэвид Т. (15 августа 2002 г.). «Пересмотр метрики FO4» . Проверено 19 мая 2016 г.
Дальнейшее чтение [ править ]
- Кренинг, Дэниел; Стрихман, Офер (2008). Процедуры принятия решений . Спрингер . ISBN 978-3-540-74104-6 .
Внешние ссылки [ править ]
- Бочка-перевертыш (8 бит) , Гамбургский университет
- Реализация цилиндрических переключателей с использованием множителей (Пол Джильотти, 17 августа 2004 г.)