Здавалка
Главная | Обратная связь

Назначение и принцип построения комбинационных программируемых сдвигателей



 

Операция сдвига заключается в смещении двоичного слова влево или вправо по разрядной сетке на заданное число разрядов [8, 9].

В современной вычислительной технике сдвиг является одним из основных видов обработки информации. Он может реализовываться как составная часть других операций (умножение, деление, нормализация и др.).

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

Различают четыре вида сдвигов: логический, арифметический, редакторский и циклический.

При логическом сдвиге смещаются все биты слова, включая знаковый. Высвобождающиеся разряды сетки заполняются нулями независимо от направления сдвига.

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

Обычно при логическом и арифметическом сдвигах величина шага сдвига не превышает qmax = n – 1 (где n – разрядность сдвигаемого слова), так как в противном случае ни одна цифра сдвигаемого слова не останется в начальной разрядной сетке, что, как правило, не имеет смысла при обработке реальной информации.

Арифметический и в некоторой степени логический сдвиг на q разрядов влево равносилен умножению исходного слова на величину 2q; аналогично соответствующий сдвиг вправо равносилен делению исходного слова на эту же величину.

При редакторском сдвиге высвобождающиеся разряды слова заполняются любой, нужной пользователю информацией.

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

Сдвигателем называется комбинационное цифровое устройство, реализующее операцию сдвига над исходным двоичным словом в соответствии с заданным типом, направлением и шагом сдвига. При разрядности сдвигаемого слова n сдвигатель должен иметь n информационных и 1 + log2n управляющих входов, а также m = 3n – 2 информационных выходов (в некоторых частных случаях число выходов может быть меньше).

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

УГО сдвигателя приведено на рисунке 3.3 и представляет собой прямоугольник с аббревиатурой SH (от англ. Shifter) во внутреннем поле. Входное нижнее поле выделено для приема управляющих сигналов, определяющих направление (D = 0 обозначает сдвиг влево, D = 1 – вправо) и шаг сдвига (S0, S1). Например, при S1 = 1, S0 = 0 – сдвиг на два разряда.

 

 

Рисунок 3.3 – Условное графическое обозначение сдвигателя

 

Описание сдвигателя в содержательных терминах дает возможность построить его сокращенную таблицу истинности. Полная таблица истинности имела бы семь логических аргументов (x3, x2, x1, x0, D, S1, S0), десять функций (y6, y5, y4, y3, y2, y1, y0, y–1, y–2, y–3) и была очень громоздкой и плохо обозримой. Таблицу можно значительно сократить, если аргументы x3, x2, x1, x0 вывести из левой ее части и ввести в рабочие поля правой части вместо единиц, как это сделано в таблице 3.2.

 

 

Таблица 3.2 – Табличное описание матричного сдвигателя

 

Логические аргументы (управл. сигналы) Логические функции (выходное слово)
Направление сдвига Величина сдвига Сдвиг влево Прямая передача Сдвиг вправо
D S1 S0 y6 y5 y4 y3 y2 y1 y0 y–1 y–2 y–3
x3 x2 x1 x0
x3 x2 x1 x0
x3 x2 x1 x0
X x3 x2 x1 x0
x3 x2 x1 x0
x3 x2 x1 x0
x3 x2 x1 x0
Примечание – D = X – неопределенное значение (0 или 1), поскольку при нулевом шаге понятие «направление сдвига» теряет смысл.

Данные таблицы 3.2 дают возможность перейти к логико-математическому описанию сдвигателя:

 

(3.1)

 

Система функций (3.1) позволяет построить функциональную схему сдвигателя, но она получится неструктурированной, плохо обозримой. Для того чтобы схема лучше читалась (а в дальнейшем – легче тестировалась), структурируем ее путем выделения в ней управляющего дешифратора и сдвигающей (управляемой) матрицы конъюнкторов, для чего введем новые обозначения:

(3.2)  

Подставив соотношения (3.2) в систему (3.1), получим

 

(3.3)  

 

Структурированная система логических функций (3.2), (3.3) позволяет построить структурную и функциональную схемы сдвигателя (рисунок 3.4).

Анализ функциональной схемы показывает, что сдвигатели матричного типа обладают весьма высоким быстродействием, которое оценивается величиной 2tзд.ЛЭ, так как сдвигаемая информация проходит только через одну ступень сдвига (отсюда и их название – одноступенчатые).

 

 

Рисунок 3.4 – Комбинационный программируемый сдвигатель.

Схема электрическая структурная (а) и функциональная (б)







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.