3 Разработка арифметико-логического устройства
14
В соответствии с заданием, арифметико-логическое устройство проектировалось как автомат с закрепленными микрооперациями, реализующий следующий набор команд ADDC – команда сложения аккумулятора с регистром общего назначения и переносом ; MUL – команда умножения аккумулятора на регистр B; RL – команда циклического сдвига аккумулятора влево. Все операции в АЛУ выполняются над операндами, представленными в прямом коде.
3.1 Структурные схемы ОА операций
Операция ADDC – сложение аккумулятора с байтом из РПД и переносом. Структурная схема ОА для выполнения операции ADDC представлена на рисунке 3.1.
Рисунок 3.1 – Структурная схема ОА выполнения операции ADDC
Состав ОА выполнения операции ADDC:
НСМ – сумматор накапливающего типа(хранит первый операнд);
PОп2 – регистр(хранит второй операнд);
PSW[C] – флаг переноса;
ТП – триггер переполнения при выполнении операции.
Набор микроопераций:
y1: НСМ:=Оп1;
y2: PОп2:=Оп2;
y3: НСМ:=НСМ+PОп2;
y4: НСМ:=НСМ+PSW[C];
y5: ТП:=1;
y6: ТП:=0.
Осведомительные сигналы:
X1: НСМ[P] ;
X2: ТП.
Операция MUL – умножение аккумулятора на регистр B. Младший байт результата заноситься в аккумулятор, а старший в регистр B. Умножение выполняется по алгоритму A: множимое последовательно умножается на разряды множителя bn,…,b1 и добавляется на каждом шаге к сдвинутой вправо сумме частичных произведений. Структурная схема ОА для выполнения операции MUL представлена на рисунке 3.2.
15
Рисунок 3.2 – Структурная схема ОА выполнения операции MUL
Состав ОА выполнения операции MUL:
1. НСМ – сумматор накапливающего типа (хранит сумму частичных произведений);
2. РОп1 – регистр множителя;
3. РОп2 – регистр множимого;
4. СчТ – счетчик тактов.
Набор микроопераций:
Y1: РОп1:=Мт;
Y2: РОп2:=Мн;
Y3: НСМ:=НСМ+РОп2;
Y4: Рп1:=НСМ[n].R1(РМТ);
Y5: НСМ:=0.R1(НСМ);
Y6: СчТ:=n;
Y7: СчТ:=СчТ-1;
Y8: НСМ:=0.
Осведомительные сигналы:
X1: РМТ[n];
X2: СчТ=0.
Операция RL – циклический сдвиг аккумулятора влево. Структурная схема ОА для выполнения операции RL представлена на рисунке 3.3.
Р 16 16
Набор микроопераций:
Y1: НСМ:=Оп;
Y2: Y3: НСМ:=L1(НСМ).НСМ[Р].
3.2 Разработка общего АЛУ.
Разрабатываемое АЛУ представляет собой ОА с закрепленными микрооперациями. Все операции в АЛУ выполняются над операндами, представленными в прямом коде. У всех операционных автоматов выноситься общая часть и объединяется с оставшимися частями.
Структурная схема ОА АЛУ представлена на рисунке 3.4.
Рисунок 3.4 – Структурная схема ОА АЛУ.
Рисунок 3.5 – Структурная схема ОА АЛУ.
Микрооперации:
Y1: НСМ:=Оп1;
Y2: РМН:=Оп2;
Y3: НСМ:=НСМ+РМН;
Y4: НСМ:=НСМ+PSW[C];
Y5: РМТ:=НСМ[n].R1(РМТ);
Y6: НСМ:=0.R1(НСМ);
Y7: НСМ:=L1(НСМ).НСМ[Р];
Y8: НСМ:=0;
Y9: РМТ:=Оп1;
Y10: СчТ:=n;
Y11: СчТ:=СчТ-1;
Y12: ТП:=1;
Y13: ТП:=0;
Y14: РМТ:=Оп2.
Осведомительные сигналы:
X1: НСМ[P];
X2:РМТ[n];
X3: ТП;
X4:СчТ=0.
3.3 Микропрограммы работы АЛУ
18
Алгоритм выполнения операции ADDC состоит в следующем. В сумматор (НСМ) заносится первое слагаемое, в регистр РМН – второе. Результат сложения записывается на место первого слагаемого, т.е. в сумматор. Затем значение флага переноса прибавляется к получившемуся результату и подается на выход.
Микропрограмма выполнения в АЛУ операции ADDC представлена на рисунке 3.5.
Рисунок 3.5 – Микропрограмма выполнения операции ADDC
Умножение выполняется по первому алгоритму: умножение с младших разрядов множителя со сдвигом суммы частичных произведений вправо. Старшая часть результата подается на выход Сст, а младшая на выход Смл. Микропрограмма выполнения операции MUL представлена на рисунке 3.6.
Рисунок 3.6 – Микропрограмма выполнения операции MUL
Операция RL – циклический сдвиг аккумулятора влево. Операнд записывается в НСМ. Над содержимым НСМ выполняется операция сдвига влево. Бит НСМ[1] переходит в бит НСМ[Р], который затем пересылается в бит НСМ[n]. Микропрограмма выполнения в АЛУ операции RL представлена на рисунке 3.7.
Рисунок 3.7 – Микропрограмма выполнения операции RL
Общая микропрограмма выполнения операций в АЛУ представлена на рисунке 3.8.
Рисунок 3.8 – Общая микропрограмма выполнения операций в АЛУ.