ЛР3. Ознакомление с командами и интерфейсом макета МП-589. Выполнение тестовых задач (1065587), страница 2
Текст из файла (страница 2)
Мультиплексоры А и В выбирают входные данные для двух входов АЛУ в зависимости от кода микрокоманды. Особенностью мультиплексора В является то, что его выходные сигналы образованы как поразрядная конъюнкция кода на шине К и выбранных информационных сигналов. Таким образам, информация на каком-либо выходе мультиплексора В зависит от кода на соответствующем входе шины К. Это позволяет производить гибкое маскирование разрядов.
Арифметико-логическое устройство способно выполнять арифметические и логические операции в дополнительном коде, +1, —1, поразрядное логическое сложение и умножение, поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ — НЕ и поразрядное логическое дополнение. Результат операции АЛУ может быть записан в АС или в одном из РОН СОЗУ. Для выполнения операции сдвига вправо выведены отдельные “Вход сдвига вправо” RI и “Выход сдвига вправо” RO. Линии входа и выхода переноса CI и СО предназначены для распространения последовательного переноса между секциями ЦПЭ. Данные на выходы СО и RO поступают через буферы с тремя состояниями (на схеме не показаны), причем разрешается выдача либо сигнала СО, либо сигнала RO, поэтому эти выходы могут быть объединены. Стандартные выходы для схем. ускоренного переноса Х и Y позволяют организовать ускоренный параллельный перенос при использовании БИС СУП. В этом случае выходы СО не нужны, а информация о значении переноса в каждую секцию ЦПЭ поступает из СУП (рис. 9.4).
Маскирование входов АЛУ при помощи шины К значительно расширяет возможности АЛУ. При логических операциях выход переноса является логической сборкой по ИЛИ всех разрядов слова и позволяет фиксировать нулевое значение результата или одного из операндов. При арифметических операциях шина К используется для маскирования частей обрабатываемых слов. Кроме того, шина К необходима для передачи констант из микропрограммного УУ в ЦПЭ.
О
тдельный выход АЛУ поступает на регистр адреса RA и с него через выходной буфер с тремя состояниями на шину А. Таким образом, для задания адреса внешнего устройства или ячейки ОЗУ заносят информацию в RA.
Описание функционирования ЦПЭ. На вход F ЦПЭ поступает микрокоманда, которая дешифрируется. Мультиплексоры выбирают операнды, и АЛУ производит заданную операцию. По отрицательному фронту сигнала синхронизации CLK результат операции заносится либо в АС, либо в СОЗУ, либо в RA. После поступления положительного фронта сигнала CLK может быть подана новая микрокоманда. Необходимо отметить, что цепи выработки сигналов переноса СО, сдвига вправо RO и ускоренного переноса не стробируются сигналом CLK, что позволяет проверить содержимое регистров или определить наличие переноса при выполнении арифметической операции (например, переполнение разрядной сетки при сложении) без выполнения самой операции или изменения содержимого регистров. Проверка осуществляется с помощью запрета импульса синхронизации CLK в данном такте на управляющий вход ЦПЭ. При этом АЛУ выполняет заданную в микрокоманде операцию и выдает сигнал переноса, но результат операции в регистры не заносится. Этот метод получил название условной синхронизации и заключается в стробировании сигнала синхронизации CLK одним из разрядов микрокоманды.
Содержание выполняемой микрокоманды определяется функциональной F- и регистровой R-группами кода микрокоманды, подаваемой на вход F ЦПЭ. При этом три разряда F-группы определяют выполняемую функцию, а четыре разряда R-группы — источник или приемник информации, т. е. регистр СОЗУ или AC. R-rpynna 1 включает в себя регистры RO — R9, Т и АС и обозначается символом Rn. R-группа 2 и R-rpynna 3 — регистры Т и АС и обозначаются AT. Формат и кодировка F- и R-групп приведены в табл. 9.1.
Таблица 9.1
R-группа | Регистр | F3 | F2 | F1 | F0 | F(16) |
R0 | 0 | 0 | 0 | 0 | 0 | |
R1 | 0 | 0 | 0 | 1 | 1 | |
R2 | 0 | 0 | 1 | 0 | 2 | |
R3 | 0 | 0 | 1 | 1 | 3 | |
R4 | 0 | 1 | 0 | 0 | 4 | |
R5 | 0 | 1 | 0 | 1 | 5 | |
1 | R6 | 0 | 1 | 1 | 0 | 6 |
R7 | 0 | 1 | 1 | 1 | 7 | |
R8 | 1 | 0 | 0 | 0 | 8 | |
R9 | 1 | 0 | 0 | 1 | 9 | |
T | 1 | 1 | 0 | 0 | С | |
AC | 1 | 1 | 0 | 1 | D | |
2 | T | 1 | 0 | 1 | 0 | A |
AC | 1 | 0 | 1 | 1 | B | |
3 | T | 1 | 1 | 1 | 0 | E |
AC | 1 | 1 | 1 | 1 | F |
Окончание таблицы 9.1
F-группа | F6 | F5 | F4 | F(16) |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 1 |
2 | 0 | 1 | 0 | 2 |
3 | 0 | 1 | 1 | 3 |
4 | 1 | 0 | 0 | 4 |
5 | 1 | 0 | 1 | 5 |
6 | 1 | 1 | 0 | 6 |
7 | 1 | 1 | 1 | 7 |
В табл. 9.2 приведены микроинструкции ЦПЭ, в табл. 9.3 микроинструкции даны для случаев, когда все разряды шины К равны О или 1. Мнемоника каждой микроинструкции приведена для справки и используется для краткой записи при составлении микропрограмм.
При описании микрооперации применяют следующие символы:
В, К, М—данные соответственно на шинах В, К, М; CI, RI— данные на входах переноса и сдвига вправо; СО, RO—данные на выходах переноса и сдвига вправо; Rn — содержимое регистра; номер п задается в соответствии с табл. 9.1 (для R-группы 1); AC— содержимое аккумулятора; AT — содержимое аккумулятора или регистра Т (для R-групп 2 и 3); RA — содержимое регистра адреса;
“+”, “—”—сложение и вычитание; —логическое И; —логическое ИЛИ; — инверсия суммы по модулю 2.
Таблица 9.2
F-группа | R-группа | Инструкция | F-группа | R-группа | Инструкция |
1 | 2 | 3 | 4 | 5 | 6 |
1 | Rn+(ACK)+CIRnAC | 3 | CI{V}(ATBK)C0; AT(MK)AT | ||
0 | 2 | M+(ACK)+CIAT | 1 | CI{V}(RnK)C0; KRnRn | |
3 | AT0(M0K0) R0; RIV[(I1K1) AT1] AT1; [AT0 (M0K0)] [AT1(M1K1)] AT0 | 5 | 2 | CI{V}(DIK)C0; KDMAT | |
1 | KRnRA; Rn+K+CIRn | 3 | CI{V}(ATK)C0; KATAT | ||
1 | 2 | KMRA; M+K+CIAT | 1 | CI{V}(ACK)C0; Rn(ACK)Rn | |
3 | (ATK)+(ATK)+CIAT | 6 | 2 | CI{V}(ACK)C0; M(ACK)Rn | |
1 | (ACK)-1+CIRn | 3 | CI{V}(BK)C0; AT(BK)AT | ||
2 | 2 | (ACK)-1+CIAT | 1 | CI{V}(RnACK)C0; Rn (ACK)Rn | |
3 | (IK)-1+CIAT | 7 | 2 | CI{V}(MACK)C0; M(ACK)AT | |
1 | R n+(ACK)+CIRn | 3 | CI{V}(ATIK)C0; AT(BK)AT | ||
3 | 2 | M+(ACK)+CIAT | |||
3 | AT+(IK)+CIAT | ||||
1 | CI{V}(RnACK)C0; R n+(ACK)Rn | ||||
4 | 2 | CI{V}(MACK)C0; M(ACK)AT |
В качестве примера рассмотрим F-группу 3 и R-группу 1. Из табл. 9.2 следует, что эта микроинструкция производит логическое умножение содержимого АС на данные шины К и результат складывает с содержимым регистра Rn и CI. Сумма заносится в регистр Rn. Из табл. 9.3 видно, что при значении всех разрядов шины К:
К=0—выполняется микроинструкция INR, т. е. сложение CI с содержимым Rn и запись результата в Rn. Эта микроинструкция используется для увеличения содержимого Rn на 1;
К=1—выполняется микроинструкция ADR, т. е. сложение содержимого АС, Rn и CI и запись результата в Rn. Эта микроинструкция используется для сложения АС и Rn.