Barrel shifter

Barrel shifter
Принцип действия устройства быстрого сдвига
Принцип построения схемы быстрого сдвига

Barrel shifter (устройство быстрого сдвига) — цифровая электронная схема, производящая сдвиг данных на указанное число позиций за один такт синхронизации. Устройство быстрого сдвига также может производить циклический сдвиг и расширение знакового бита.

На вход устройства подаётся две группы входных данных по N бит каждая и N управляющих сигналов, на выходе получается N бит данных. Количество разрядов, на которые производится сдвиг, определяется позицией управляющего сигнала высокого уровня (все остальные управляющие сигналы должны иметь низкий уровень), выполняемая операция определяется подачей входных данных. Например:

  • при подаче данных на «вход 1» и нулей на «вход 0» будет произведён правый сдвиг;
  • при подаче данных на оба входа будет произведён циклический сдвиг.

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

Недостатки (для barrel shift, реализующего циклический сдвиг):[1]

  • Входная емкость пропорциональна разрядности N.
  • Количество транзисторов пропорционально квадрату разрядности N2
  • Требуется декодер для формирования управляющего сигнала.

Ресурсоемкость

Количество мультиплексоров, необходимое для реализации n-битового устройства сдвига по схеме barrel составляет \scriptstyle n\log_2n [2]. Для пяти часто используемых размеров количество мультиплексоров составляет:

  • 128-бит — \scriptstyle 128\times\log_2(128) = 128\times7 = 896
  • 64-бит — \scriptstyle 64\times\log_2(64) = 64\times6 = 384
  • 32-бит — \scriptstyle 32\times\log_2(32) = 32\times5 = 160
  • 16-бит — \scriptstyle 16\times\log_2(16) = 16\times4 = 64 [2]
  • 8-бит — \scriptstyle 8\times\log_2(8) = 8\times3 = 24[2]

Стоимость критического пути в единицах Fan-out-of-4 (FO4) оценивается (без учета задержки в проводниках) как:

  • 32-bit: от 18 FO4 до 14 FO4[3]

Примечания

  1. cseweb.ucsd.edu/classes/wi09/cse242a/slides/shifter.ppt slide 6
  2. 1 2 3 conference.spit.ac.in/ieee_colloquium/VLSI_and_Embedded_Systems/spit-176.pdf
  3. David T. Wang, Revisiting the FO4 Metric. Estimating the FO4 depth of the critical path // RealWorldTech, August 15, 2002

Литература

  • Wayne Wolf 6.2 Combinational Shifters // Modern VLSI Design: IP-Based Design. — 4th ed.. — Prentice Hall, 2009. — 627 p. — (Prentice Hall Modern Semiconductor Design Series). — ISBN 0137145004

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Barrel shifter" в других словарях:

  • Barrel-Shifter — Ein Barrel Shifter ist ein Bauteil aus der Digitaltechnik. Es handelt sich dabei um eine spezielle Art einer kombinatorischen Schaltung, mit der binäre Verschiebungen oder Rotationen um eine beliebige, einstellbare Anzahl von Stellen erfolgen… …   Deutsch Wikipedia

  • Barrel shifter — A barrel shifter is a digital circuit that can shift a data word by a specified number of bits in one clock cycle. It can be implemented as a sequence of multiplexers (MUX), and in such an implementation the output of one MUX is connected to the… …   Wikipedia

  • Barrel-shifter — Ein Barrel shifter ist ein Bauteil aus der Digitaltechnik. Es handelt sich dabei um eine Schiebelogikschaltung. Er besteht aus 2 auf 1 Multiplexern und Dekodern. Im Unterschied zu gewöhnlichen Schieberegistern kann ein Barrel shifter in einem… …   Deutsch Wikipedia

  • Barrel shifter — Ein Barrel shifter ist ein Bauteil aus der Digitaltechnik. Es handelt sich dabei um eine Schiebelogikschaltung. Er besteht aus 2 auf 1 Multiplexern und Dekodern. Im Unterschied zu gewöhnlichen Schieberegistern kann ein Barrel shifter in einem… …   Deutsch Wikipedia

  • barrel shifter — ● ►en /bar ail (ch)if t*r/ loc. m. ►PUCE câblage interne à un microprocesseur lui permettant de réaliser plusieurs shifts en un seul cycle machine (jusqu à 8 d un coup sur certains processeurs Motorola). Extrêmement rapidement, donc …   Dictionnaire d'informatique francophone

  • Barrel rotator — Ein Barrel shifter ist ein Bauteil aus der Digitaltechnik. Es handelt sich dabei um eine Schiebelogikschaltung. Er besteht aus 2 auf 1 Multiplexern und Dekodern. Im Unterschied zu gewöhnlichen Schieberegistern kann ein Barrel shifter in einem… …   Deutsch Wikipedia

  • FPU — Gleitkommaeinheit ist ein Begriff aus der Computertechnik und bezeichnet einen speziellen Prozessor, der mathematische Funktionen oder Gleitkommazahlen verarbeitet. Bei vielen modernen CPUs ist die FPU als Koprozessor realisiert. FPU oder NPU… …   Deutsch Wikipedia

  • Floating Point Unit — 80287, FPU einer 80286 CPU mit 6 MHz. Gleitkommaeinheit ist ein Begriff aus der Computertechnik und bezeichnet einen speziellen Prozessor, der mathematische Funktionen oder Gleitkommazahlen verarbeitet. Bei vielen modernen CPUs ist die FPU als… …   Deutsch Wikipedia

  • Gleitkomma-Einheit — 80287, FPU einer 80286 CPU mit 6 MHz. Gleitkommaeinheit ist ein Begriff aus der Computertechnik und bezeichnet einen speziellen Prozessor, der mathematische Funktionen oder Gleitkommazahlen verarbeitet. Bei vielen modernen CPUs ist die FPU als… …   Deutsch Wikipedia

  • Gleitkommazahl-Koprozessor — 80287, FPU einer 80286 CPU mit 6 MHz. Gleitkommaeinheit ist ein Begriff aus der Computertechnik und bezeichnet einen speziellen Prozessor, der mathematische Funktionen oder Gleitkommazahlen verarbeitet. Bei vielen modernen CPUs ist die FPU als… …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»