Организация арифметико-логических устройств ЭВМ [Электронный ресурс]: метод. указания к лабораторным работам по дисциплине Б3.Б.2 «ЭВМ и периферийные устройства» направления 230100.62 «Информатика и вычислительная техника» / сост. О. А. Заякин, В. П. Павлов. – Самара: Изд-во Самар. гос. аэрокос. ун-та, 2014. – 90 с.: ил. – 1 электрон. опт. диск (CD ROM).
В методических указаниях изучается структурная организация основной составляющей процессора ЭВМ – его арифметико-логического устройства.
Для изучения использованы графический редактор и эмулятор из системы автоматизированного проектирования MAX+PLUS II фирмы «Altera», разработанной ею для программирования собственных ПЛИС.
Предназначены для студентов, обучающихся дисциплине Б3.Б.2 «ЭВМ и периферийные устройства» по направлению 230100.62 «Информатика и вычислительная техника», а также по специальности «Автоматизированные системы обработки данных и управления». Могут быть полезны студентам, обучающимся по другим специальностям, связанным с информационными технологиями.
Работа выполнена на кафедре информационных систем и технологий Самарского государственного аэрокосмического университета.
При разработке схемы макета выбран ориентированный на конвейерную работу вариант построения УА с естественной адресацией и единым форматом МК, состоящим из полей X, A, Y1…YH. Структура УА представлена на рис. 23. Для реализации конвейерной работы в УА включен регистр МК РМК. Поле Х используется для указания типа МК. Всего УА реализует 13 МК, список которых представлен ниже (табл. 6).
Таблица 6 - Список МК
|
Тип МК |
Описание МК |
|
1. Cnt |
Переход по СМК (AМК=СМК) |
|
2. Jmp |
БП по адресу А из РМК (АМК=А) |
|
3. Резерв |
Не используется |
|
4. Call |
БП на подпрограмму (АМК=А, стек:=СМК) |
|
5. Ret |
Возврат из подпрограммы (АМК = стек) |
|
6. Push |
Запись в стек (СМК → стек) и переход по СМК |
|
7. Endmp |
Конец микропрограммы, формирование Ready |
|
8. Резерв |
Не используется |
|
9. JZ |
УП по нулю (по Z=1 СМК:=А) |
|
10. JS |
УП по знаку (по S=1 СМК:=А) |
|
11. JC |
УП по переносу (по C=1 СМК:=А) |
|
12. JOVR |
УП по переполнению (по OVR=1 СМК:=А) |
|
13. EndZ |
Конец цикла по нулю (по Z=1 – выход из цикла и выталкивание стека, по Z=0 АМК = стек) |
|
14. EndS |
Конец цикла по знаку (по S=1 – выход из цикла) |
|
15. EndC |
Конец цикла по переносу (по С=1 – выход из цикла) |
|
16. Резерв |
Не используется |
Адрес МК формируется на выходе СМК. Счетчик микрокоманд выполнен на основе трех блоков: СМК, КСЧ, СМК'. Регистр микрокоманд РМК выполнен на триггерах типа MS, т. е. состоит из РМК' (1-й уровень) и РМК (2-й уровень). В РМК' микрокоманда заносится по срезу сигнала С, т. е. по ¬С, а в РМК она переписывается по фронту С. Блок декодирования полей Y1…YH (пунктирные линии на рис. 23) в лабораторном макете не реализован (так как ОА отсутствует).

Р и с . 2 3 . Схема лабораторного макета УА
Блок (схема) формирования адреса МК (рис. 24) содержит накопительный СМК, стек, преобразователь начального адреса ПНА на основе трех блоков: СМК, КСЧ, СМК' . Комбинационный счетчик КСЧ реализует микрооперацию счета ВЫХ:=ВХ+1, т.е. СМК' :=СМК+1. Блоки СМК' , СМК выполнены как регистры на синхронных D-триггерах. Адрес МК на вход СМК мультиплексор адреса МА может выдавать из 4 мест:
– с входа D (по сигналу у1),
– с выхода ПНА (по сигналу Start),
– из (вершины) стека (по сигналу у2),
– из СМК (по сигналу у3).

Р и с. 24. Схема блока формирования адреса МК
На вход D адрес A подается из поля A РМК. Сигнал у2 вырабатывается при выполнении МК условного и безусловного переходов. Стек используется для обслуживания МК Call, Ret, Push, EndZ, EndC, EndS (табл. 6). При их выполнении может вырабатываться сигнал у2 (см. табл. 7). Сигнал у3 вырабатывается при выполнении МК естественного перехода по СМК.
ПНА обычно реализуется на основе ПЗУ, в ячейках (с адресами g (1, 2, 3, …, G)) которого размещены пусковые адреса микропрограмм МПg. Однако введение дополнительного ПЗУ в состав схемы ФАМ увеличивает продолжительность такта ТУА. Чтобы этого не произошло можно код g использовать как пусковой адрес. Для этого в ячейке ПМП с номером g (1, 2, 3, …,
G) следует поместить МК безусловного перехода, в адресной части которой указан адрес первой микрокоманды МКg1 микропрограммы МПg. Поэтому в схеме лабораторного макета ПНА отсутствует.
Порядок работы УА представлен временной диаграммой (рис. 25). По сигналу сброса Res УА приводится в исходное состояние (готовности выполнять операции) – сбрасывается РМК, устанавливается сигнал (флаг) готовности Ready (на выходе триггера TT). Сброшенный РМК содержит МК «Jmp 0».

Р и с . 2 5 . Временная диаграмма работы УА
По первому (после RES) тактовому сигналу C в регистр СМК заносится адрес МК, равный нулю (поскольку РМК сброшен и на входе D адрес А=0). По нулевому адресу в ПМП записана МК Jmp с адресом A=0 - переход на нулевую ячейку. Она извлекается и загружается в РМК. Тем самым начинается (бесконечный) цикл передачи управления на себя. Он прерывается по сигналу Start и запускается процесс выполнения микропрограммы МПg. По сигналу Start и коду операции g (поступающим из ЦУУ процессора) начинается процесс выполнения операции fg (микропрограммы МПg). По сигналу Start сбрасывается триггер ТT, т.е. сигнал готовности READY=0, и формируется начальный (пусковой) адрес МПg, по которому из памяти микропрограммы выбирается первая МК микропрограммы МПg и заносится в РМК. По сигналу Start адрес первой микрокоманды МКg1 МПg заносится в СМК (по фронту сигнала С) и появляется на выходе АМК. По нему из ПМП выбирается первая МКg1 и заносится в РМК'(по С), а затем - в РМК (по ¬С). Кроме того, по сигналу ¬С в регистр СМК заносится АМК (из СМК), увеличенный на 1 в КСЧ.
Во втором такте адрес МК формируется в зависимости от типа первой МК, записанной в РМК. Если эта МК генерирует переход, то в СМК заноситься адрес либо со входа D (из поля А РМК), либо из (вершины) стека. Если это МК естественного перехода, то в СМК заносится СМК+1 с выхода КСЧ. В конце МПg ставится МК Endmp (конец МП), по которой вырабатываются сигналы уМ+1 (конец алгоритма). Он устанавливает триггер Т и тем самым формирует сигнал READY=1, обнаружив который, ЦУУ сохраняет результат операции fg в памяти (в соответствии с адресной частью команды).
В макете реализован стек емкостью две ячейки (регистры R0, R1, на основе триггеров типа MS). Двух ячеек достаточно для обслуживания команд Call, Ret, EndZ и др., но недостаточно для написания вложенных подпрограмм, организованных с использованием команд конец цикла. Схема стека и временная диаграмма представлены на рис. 26 и 27 соответственно.

Р и с . 2 6 . Схема стека

Р и с . 2 7 . Временная диаграмма работы стека
Стек работает следующим образом. После сброса указателя стека УС (по сигналу Res) стек пуст и готов выполнять действия в соответствии с типом МК, находящейся в РМК. Блок дешифрации типа МК (поля Х) вырабатывает сигналы, управляющие схемой ФАМ: y1, y2, y3, FE, PUP. Для управления работой стека предназначены сигналы FE, PUP. Сигнал FE=1 разрешает работу стека (FE=0 – запрещает). Если FE=1, то по сигналу PUP=1 выполняется запись в стек, а по сигналу PUP=0 - чтение стека. Запись в стек осуществляется
в два этапа:
1) сначала модификация УС:=УС+1 (в начале такта – по С). Увеличение УС на 1 означает проталкивание стека;
2) затем запись в вершину стека [УС]:=IN (сигналами W0, W1 в середине такта – по ¬C).
Чтение (выталкивание) стека:
1) чтение из вершины стека OUT:= [УС] (постоянно);
2) модификация УС:=УС–1 (по сигналу С) – выталкивание стека.
Чтение из стека (выдача на выход OUT) осуществляется с помощью мультиплексора MS, управляемого сигналами «0», «1» с выхода УС, выполненного на основе триггера со счетным входом (типа ТТ).
Блок декодирования типа МК (поля Х) (рис. 28) обеспечивает управление схемой ФАМ: коду из поля Х и логическим условиям Z, S, C, OVR из ОА ставит в соответствие набор управляющих сигналов y1, y2, y3, FE, PUP, yM+1.
![]()
Р и с . 28. Схема блока декодирования поля Х
Формирование управляющих сигналов производится в зависимости от типа МК (кода в поле Х) и признаков (флагов) Z, S, C, OVR, вырабатываемых в ОА. Мультиплексор флагов MSF выбирает одно из условий и подает его значение на вход TST блока формирования управляющих сигналов (ФУС). Номер логического условия НЛУ представлен младшими битами поля Х. Блок ФУС вырабатывает сигналы в соответствии с табл. 7.
Таблица 7 - Формирование управляющих сигналов
|
Тип перехода |
Код Х |
TST |
Выходные сигналы (активные) |
||||||
|
ст. биты |
y1 |
y2 |
y3 |
FE |
PUP |
yМ+1 |
|||
|
Jmp |
00 |
00 |
– |
1 |
|
|
|
|
|
|
Cnt |
00 |
01 |
– |
|
|
1 |
|
|
|
|
Резерв |
00 |
10 |
– |
|
|
|
|
|
|
|
Call |
00 |
11 |
– |
1 |
|
|
1 |
1 |
|
|
Ret |
01 |
00 |
– |
|
1 |
|
1 |
0 |
|
|
Push |
01 |
01 |
– |
|
|
1 |
1 |
1 |
|
|
Endmp |
01 |
10 |
– |
|
|
|
|
|
1 |
|
Резерв |
01 |
11 |
– |
|
|
|
|
|
|
|
JZ |
10 |
00 (Z) |
0 |
|
|
1 |
|
|
|
|
1 (да) |
1 |
|
|
|
|
|
|||
|
JS |
10 |
01 (S) |
0 |
|
|
1 |
|
|
|
|
1 |
1 |
|
|
|
|
|
|||
|
JC |
10 |
10 (C) |
0 |
|
|
1 |
|
|
|
|
1 |
1 |
|
|
|
|
|
|||
|
JOVR |
10 |
11 (OVR) |
0 |
|
|
1 |
|
|
|
|
1 |
1 |
|
|
|
|
|
|||
|
EndZ |
11 |
00 |
0 |
|
1 |
|
|
|
|
|
1 |
|
|
1 |
1 |
0 |
|
|||
|
EndS |
11 |
01 |
0 |
|
1 |
|
|
|
|
|
1 |
|
|
1 |
1 |
0 |
|
|||
|
EndC |
11 |
10 |
0 |
|
1 |
|
|
|
|
|
1 |
|
|
1 |
1 |
0 |
|
|||
|
Резерв |
11 |
11 |
– |
|
|
|
|
|
|