 
        
        Лабораторна робота №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-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

 +0→РОН0
				+0→РОН0