Операции сдвига
Микропрограмма операции логического сдвига слова А
213.00K
Category: electronicselectronics

Логические поразрядные операции

1.

Логические поразрядные
операции
Операнды – двоичные вектора (коды). У кодов
все разряды равнозначны (знаковых разрядов
нет).
Необходимо построить комбинационный
преобразователь, реализующий набор функций
С(1: n) := А(1: n) * В(1: n), где * - одна из
следующих операций над кодами: конъюнкция,
дизъюнкция, инверсия, сложение по модулю два
(рисунок 1). Функциональная схема i – го разряда
преобразователя представлена на рисунке 2.

2.

3.

Для выполнения набора функций вида
А:=А*В необходимо к построенному
преобразователю подключить
двухступенчатый регистр (рисунок 3).

4.

Несколько упрощенных вариантов
реализации операций над кодами
Чтобы реализовать операцию
А : А,
нужно сигнал этой
операции yГ
закоммутировать на
счетный вход
соответствующего
триггера (i – го
разряда регистра А)
(рисунок 4).

5.

• Схема, выполняющая микрооперации
• y : А := А В
и
• y : A := A B :

6.

y :
при bi =1, ai =1,
при bi =1, ai =0,
при bi =0, ai =1,
при bi =0, ai =0,
А := А В
ai t+1 =0 (триггер переключается);
ai t+1 = 1 (триггер переключается);
ai t+1 = 1 (триггер не переключается);
ai t+1 = 0 (триггер не переключается).

7. Операции сдвига

1) Логический сдвиг кода
L3 (011110) = 110000
Циклический сдвиг кода
L3 цикл (011110) = 110011
2) Арифметический сдвиг двоичного
числа
R3 ар (1 001100) = 1 111001;
L3 ар (1 001100) = 1 100 000

8. Микропрограмма операции логического сдвига слова А

9.

Младшие разряды регистра В
( т.е. В(n-k: n), где k=]log2n[ ) определяют
константу сдвига. Старший разряд
регистра В задает направление сдвига:
если В(1) = 1, то сдвиг вправо, иначе –
сдвиг влево.
В общем случае константа сдвига может
принимать значение, большее, чем n,
так как в одном и том же устройстве
могут сдвигаться, например, 32разрядные и 64-разрядные слова.
English     Русский Rules