- Barrel shifter
-
Barrel shifter (устройство быстрого сдвига) — цифровая электронная схема, производящая сдвиг данных на указанное число позиций за один такт синхронизации. Устройство быстрого сдвига также может производить циклический сдвиг и расширение знакового бита.
На вход устройства подаётся две группы входных данных по N бит каждая и N управляющих сигналов, на выходе получается N бит данных. Количество разрядов, на которые производится сдвиг, определяется позицией управляющего сигнала высокого уровня (все остальные управляющие сигналы должны иметь низкий уровень), выполняемая операция определяется подачей входных данных. Например:
- при подаче данных на «вход 1» и нулей на «вход 0» будет произведён правый сдвиг;
- при подаче данных на оба входа будет произведён циклический сдвиг.
Устройство быстрого сдвига применяется в целочисленных арифметических операциях (где сдвиг на один разряд эквивалентен умножению или делению на два) и в операциях над числами с плавающей запятой для выравнивания операндов при выполнении сложения и вычитания. Мантисса числа, имеющего меньший порядок, сдвигается вправо, количество позиций, на которые производится сдвиг равно разнице порядков чисел. После сдвига порядки чисел становятся равными.
Недостатки (для barrel shift, реализующего циклический сдвиг):[1]
- Входная емкость пропорциональна разрядности N.
- Количество транзисторов пропорционально квадрату разрядности N2
- Требуется декодер для формирования управляющего сигнала.
Ресурсоемкость
Количество мультиплексоров, необходимое для реализации n-битового устройства сдвига по схеме barrel составляет [2]. Для пяти часто используемых размеров количество мультиплексоров составляет:
Стоимость критического пути в единицах Fan-out-of-4 (FO4) оценивается (без учета задержки в проводниках) как:
- 32-bit: от 18 FO4 до 14 FO4[3]
Примечания
Литература
- 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
Технологии цифровых процессоров Архитектура CISC · EDGE · EPIC · MISC · URISC · RISC · VLIW · ZISC · Фон Неймана · Гарвардская
8 бит · 16 бит · 32 бит · 64 бит · 128 битПараллелизм Pipeline Конвейер · In-Order & Out-of-Order execution · Переименование регистров · Speculative execution Уровни Бит · Инструкций · Суперскалярность · Данных · Задач Потоки Многопоточность · Simultaneous multithreading · Hyperthreading · Superthreading · Аппаратная виртуализация Классификация Флинна SISD · SIMD · MISD · MIMD Реализации DSP · GPU · SoC · PPU · Векторный процессор · Математический сопроцессор • Микропроцессор · Микроконтроллер Компоненты Barrel shifter · FPU · BSB · MMU · TLB · Регистровый файл · control unit · АЛУ • Демультиплексор · Мультиплексор · Микрокод · Тактовая частота • Корпус • Регистры • Кэш (Кэш процессора) Управление питанием APM · ACPI · Clock gating · Динамическое изменение частоты • Динамическое изменение напряжения Категория:- Технологии процессоров
Wikimedia Foundation. 2010.