Организация арифметико-логических устройств ЭВМ [Электронный ресурс]: метод. указания к лабораторным работам по дисциплине Б3.Б.2 «ЭВМ и периферийные устройства» направления 230100.62 «Информатика и вычислительная техника» / сост. О. А. Заякин, В. П. Павлов. – Самара: Изд-во Самар. гос. аэрокос. ун-та, 2014. – 90 с.: ил. – 1 электрон. опт. диск (CD ROM).
В методических указаниях изучается структурная организация основной составляющей процессора ЭВМ – его арифметико-логического устройства.
Для изучения использованы графический редактор и эмулятор из системы автоматизированного проектирования MAX+PLUS II фирмы «Altera», разработанной ею для программирования собственных ПЛИС.
Предназначены для студентов, обучающихся дисциплине Б3.Б.2 «ЭВМ и периферийные устройства» по направлению 230100.62 «Информатика и вычислительная техника», а также по специальности «Автоматизированные системы обработки данных и управления». Могут быть полезны студентам, обучающимся по другим специальностям, связанным с информационными технологиями.
Работа выполнена на кафедре информационных систем и технологий Самарского государственного аэрокосмического университета.
Цель лабораторной работы – изучение принципов построения и архитектуры АЛУ.
Задание на самостоятельную работу : выполнить вариант №1 задания: Y=N1-2N2 (для n=4). Коды микропрограммы приведены в табл. А.1.
Таблица А.1 - Микропрограмма
(цифры в столбцах, начиная со второго – в бинарном коде)
|
Описание МО |
Источники операндов |
Операция |
Приемники результата |
Адреса |
Вход перен. |
Тип сдвига |
|
|
y0, yD |
ALO |
yw, yout |
А1 |
A2 |
Сin |
SH |
|
|
1. РОН0:= |
01 |
011 |
10 |
- |
0000 |
- |
000 |
|
2. РОН1:= |
01 |
011 |
10 |
- |
0001 |
- |
011 |
|
3. РОН0:= |
10 |
010 |
11 |
0001 |
0000 |
1 |
000 |
Первая микрооперация обеспечивает загрузку (ввод) в регистр РОН0 значения первого операнда N1, подаваемого извне на вход D.
Вторая микрооперация обеспечивает загрузку (ввод) в РОН1 значения второго операнда N2 со сдвигом влево на один разряд.
Третья микрооперация обеспечивает вычитание N1- 2N2 и запись результата в РОН0.
Кодирование микроопераций выполнено в соответствии с табл. А.1 (источники операндов), табл. А.2 (реализуемая УКС операция), табл. А.3 (тип сдвига) и табл. А.4 (приемники результата) [1], список источников см. в конце примера.
Таблица А.2 - Трасса микропрограммы
(цифры в столбцах, начиная со второго – в бинарном коде)
|
Микрооперация |
Входы |
Результаты (выходы) |
|||||||||
|
D |
Сin |
F |
B |
РОН0 |
РОН1 |
SL0 |
СF |
ZF |
OF |
SF |
|
|
1. РОН0:= |
1101 |
0 |
1101 |
1101 |
1101 |
- |
- |
- |
0 |
- |
1 |
|
2. РОН1:= |
0011 |
0 |
0011 |
0110 |
1101 |
0110 |
0 |
- |
0 |
- |
0 |
|
3.РОН0:= |
- |
1 |
0111 |
0111 |
0111 |
0110 |
- |
1 |
0 |
1 |
0 |
Результаты выполнения (трасса) микропрограммы для N1= -3 (в дополнительном коде это 1101) и N2= +3 = 0011 представлены ниже в табл. A.2.Значения операндов выбраны таким образом, чтобы результат переполнил разрядную сетку.
Временные диаграммы работа проекта ОА представлены на рис. A.1.
Микрооперации, выполняемые ОА:
1. D V 0 - 1101 V 0000=1101 → РОН0), флаг ZF=0, так как результат не нулевой, SF=1 – старший разряд результата равен 1,
2. 2(D V 0) → SHL1(0011 V 0000)=0110 → РОН1, SL0=0, ZF=0, SF=1, флаги СF, OF – не формируются,
3. -3-L1(+3)=-3-6= -9, РОН0-РОН1 → 1101 – 0110 = 0111 → РОН0, флаги ZF=0, SF=0, СF=1, OF =1, так как результат переполняет разрядную сетку. Операция вычитания производится путем формирования дополнительного кода вычитаемого (0110 → 1001+1=1010) и сложения его с первым операндом (1010+1101=0111=+7) . В процессе сложения формируется сигнал переноса из старшего разряда сумматора COUT, равный 1. Старший (знаковый) разряд суммы при этом становится равным нулю (т.е. портится), что свидетельствует о переполнении разрядной сетки.
В табл. А.3 приведены обозначения входов и выходов в проекте и в методических указаниях. Проект находится в папке «\oa_full.dir» [2]. В проекте для работы микросхемы памяти (там находятся РОНы) надо на входе P/D_USE (в методич. указаниях он не отмечен) задать единицу. Перед запуском команды Max+II| Simulator выбрано значение параметра Option| Grid Size=5 нсек.
Таблица А.3- Обозначения входов и выходов ОА АЛУ в проекте и в МУ
|
Метод. указания |
Проект |
|
D |
D |
|
C0 |
Cin |
|
Y |
Y[3..0] |
|
PQ |
PQ[3..0] |
|
РОН |
Lq0_[3..0] |
|
PR3 |
PRhi |
|
C4 |
Cout |
|
Z |
Z |
|
OVR |
OVR |
|
F3 |
Fhigh |
Продолжительность такта: 50 нс. Откуда тактовая частота: 20 МГц. Время задержки определено между передним фронтом ГТИ (вход Clc) и выходом R[4..1], так как на нем позднее всего появляются результаты расчетов.
Передний фронт ГТИ, откуда начинаем отсчет, первый после фронта C_I, запускающего ОА. Время задержки составило 20 нс. Оно немного меньше, чем половина периода ГТИ, поскольку расчеты должны быть завершены в течение первой половины такта, во второй половине такта результаты записываются в память ОА. По внутреннему выводу |ron_4|arr_reg3|q2_[4..1], определяем быстродействие ОА, так как на этом выводе результаты появились позже всего. Итак, время задержки выполнения обеих операций в ОА составило 30 нс. Тактовая частота проекта выбрана максимальной, из расчета длительности первой из операций. Длительность этой операции определяется временем чтения и записи данных в ПЗУ. Итак, максимальная тактовая частота работы ОА АЛУ составила 20 МГц. Это много меньше, чем тактовая частота микропроцессора у современных компьютеров, но характерно для современных микроконтроллеров.
Р и с. А.1. Временные диаграммы работы ОА
Выводы:
– изучены принципов организации ОА АЛУ;
– выполнен вариант задания в «полуавтоматическом» режиме, то есть, без УА;
– успешно проведена верификация проекта на тестовой микропрограмме;
– быстродействие ОА ограничивают микросхемы ОЗУ.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ