Лабораторна робота №4 мікропрограмування й дослідження арифметичних і логічних операцій блоку обробки даних
Мета роботи: Вивчення арифметичних операцій (АО) процесора ВС1, придбання практичних навичок мікропрограмування й дослідження АО з використанням лабораторного стенда МТ1804.
Методичні вказівки до виконання лабораторної роботи
Для дослідження АО на стенді в командах програми досить визначити значення тільки шести молодших тетрад мікрокоманд: від 5-ої до 0-ої тетради (табл. 4.1). Інші дві тетради команди (7 й 6) можуть мати довільні значення (*). Враховуючи сказане в табл. 4.1 наведена програма для демонстрації виконання операцій інкрементування, декрементування й підсумовування вмісту регістрів процесора.
Завантаження й виконання мікрокоманд програми (табл. 4.1) виконується в режимі ЗАВАНТАЖЕННЯ (SА14). При цьому стан адресних перемикачів стенда (SА11-SА9) постійно транслюється ВУ1 на адресні входи кристалів МПП (рис. 1.3, 1.11, л.р.1). У результаті на виході МПП у кожен момент часу генерується та мікрокоманда, адреса якої встановлена на перемикачах адреси МК (SА11-SА9). Для корекції будь-який тетради МК у кристалі МПП достатньо значення цієї тетради встановити на SА7-SА4, номер МК набрати на SА3-SА1 (від 0 до 7), і натиснути кнопку SВ1 (рис. 1.3, л.р.1). Зміст записаної тетради контролюється за допомогою індикаторів МПП (VD8-VD5). Для подачі мікрокоманди на вхід процесора ВС1 досить натиснути кнопку SВ2 (рис. 1.4, л.р.1). У результаті адресними перемикачами SА11-SА9 видається мікрокоманда з виходу МПП і записується в РМК та надходить на вхід процесора. Для фіксації в кожному такті результату на виходу АЛП процесора ВС1 на індикаторах VD12-VD9 перемикачі SА3-SА1 необхідно встановити в 1 (001).
Для виконання програми, наведеної в табл. 4.1, спочатку адресні перемикачі встановлюються в 0000 й у ВС1 виконується інкрементування вмісту РОН0. При кожнім натисканні SВ2 у ВС1 уміст РОН0 збільшується на одиницю.
У положенні 1 адресних перемикачів (тобто по мікрокоманді 1) при натисканні SВ2 у ВС1 виконується декрементування вмісту РОН0 )
Мікрокоманда за адресою 2 здійснює у ВС1 операцію додавання вмісту РОН0 з константою. При кожнім натисканні SВ2 уміст РОН0 збільшується на величину цієї константи.
Мікрокоманди 7 й 8 здійснюють засилання конкретних констант у РОН0 і РОН1 (0→РОН0 й 5→РОН1).
Мікрокоманда 9 реалізує у ВС1 підсумовування вмісту РОН0 і РОН1 (РОН0 = РОН0 + РОН1). Якщо при виконанні мікрокоманди 9 перемикачі SА3-SА1 установити в 1 (001), при кожнім натисканні кнопки SВ2 на світлодіодах VD12-VD9 буде висвітлюватися послідовність чисел: 5, 10, 15, 4, 9, 14, 3, 8 і т.д.
Порядок виконання лабораторної роботи
Виконати комутацію стенда із джерелом живлення +5В.
Установити режим ЗАВАНТАЖЕННЯ (SА14).
Записати в МПП типову МП (табл. 4.1).
Набрати на SА11-SА9 0 (0000) і завантажити в РМК стартову команду МК0 програми шляхом натискання кнопки SВ2. Підключити шину Y ВС1 до індикаторів VD12-VD9, установивши SA3-SA1 у положення 001. Записати стан індикаторів VD12-VD9 при кожнім натисканні SВ2.
Завантажити в РМК інші МК і записати результат їхнього виконання в процесорі ВС1.
Розробити задану програму (табл. 4.2, 4.3) і записати її в МПП.
Виконати й записати результати виконання команд цієї МП у процесорі ВС1 (стан шини Y і входів) по тактах (у момент дії активного фронту сигналу ГОІ - SВ2).
Скласти й захистити звіт.
Зміст звіту
Часова діаграма стану шини Y ВС1 при виконанні типової програми (табл.. 4.1).
Таблиця прошивання й часова діаграма стану шини Y ВС1 при виконанні заданої програми (табл. 4.2, 4.3).
Питання для самоконтролю
Визначити, як змінюється стан прапорів процесора при виконанні в АЛП ВС1 інкрементування, декрементування й підсумовування РОН0 з константою.
Розробити МК для інкременування, декрементування й підсумовування з константою Q-регістра.
Як перевірити вміст всіх тетрад команди в МПП?
Як перевірити вміст тетрад РМК після завантаження команди в РМК (за допомогою кнопки SВ2)?
Як установити стан прапорів процесора ВС1 після завантаження команди в РМК шляхом однократного натискання кнопки SВ2?
Таблиця 4.1
Мікропрограма виконання типових арифметичних операцій
Розряд Адреса |
24 |
23 |
23 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Примітка |
|||
3 |
2 |
1 |
0 |
MS2 |
I8 - I6 |
MS1 |
I2 - I0 |
C0 |
I5 - I3 |
А3 - А0 |
В3 - B0 |
D3 – D0 |
||||||||||||||||
0 |
0 |
0 |
0 |
* |
0 |
1 |
1 |
* |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
* |
* |
* |
* |
0 |
0 |
0 |
0 |
* |
* |
* |
* |
РОН0+1→РОН0 |
0 |
0 |
0 |
1 |
* |
0 |
1 |
1 |
* |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
* |
* |
* |
* |
0 |
0 |
0 |
0 |
* |
* |
* |
* |
РОН0+ +0→РОН0 ((РОН0-1) >РОН0) |
0 |
0 |
1 |
0 |
* |
0 |
1 |
1 |
* |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
РОН0+3→РОН0 |
0 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
1 |
1 |
* |
0 |
1 |
1 |
* |
0 |
1 |
1 |
* |
1 |
0 |
0 |
* |
* |
* |
* |
0 |
0 |
0 |
0 |
* |
* |
* |
* |
0→РОН0 |
1 |
0 |
0 |
0 |
* |
0 |
1 |
1 |
* |
1 |
1 |
1 |
* |
0 |
1 |
1 |
* |
* |
* |
* |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
5→РОН1 |
1 |
0 |
0 |
1 |
* |
0 |
1 |
1 |
* |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
* |
* |
* |
* |
РОН0+РОН1→РОН0 |
МК(32-25) - *
Таблиця 4.2