Похожие презентации:
Логические поразрядные операции
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-разрядные слова.