Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metoda_eom_kor_rab.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
6 Mб
Скачать

Контрольні питання

  1. Охарактеризуйте чотири основних методи множення чисел.

  2. Як розрахувати розрядність вузлів операційного пристрою?

  3. Визначить поняття: операція, мікроалгоритм, мікрооперація.

  4. Що таке мікроалгоритм операції?

  5. Визначте основне призначення арифметико-логічного пристрою в ЕОМ.

  6. Наведіть типи арифметико-логічних пристроїв, та їх основні відмінності.

  7. Охарактеризуйте основні етапи проектування арифметико-логічного пристрою з розподіленою логікою.

  8. Що відображує операційна схему виконання операції?

  9. Що відображує функціональна схема пристрою?

  10. В чому відмінність функціонального та структурного мікроалгоритмов?

  11. Напишіть вирази, що визначають закони функціонування автоматів Милі та Мура.

  12. У чому відмінність автоматів Милі та Мура?

  13. Намалюйте узагальнену структурну схему управляючого автомата.

  14. Охарактеризуйте основні етапи проектування управляючого автомата.

  15. Як перейти від змістовного мікроалгоритму до закодованого мікроалгоритму?

  16. Як побудувати граф автомата?

  17. Як здійснюється оцінка станів автомата?

  18. Як визначити необхідну тривалість керуючих сигналів?

  19. Від чого залежить кількість тригерів, необхідних для побудови пам’яті автомата?

  20. Як скласти структурну таблицю автомата?

  21. Складіть таблицю переходів для JK-, RS-, Т- і D-тригерів. Наведіть їх умовне графічне позначення.

  22. Чи можливий перехід автомата в стан, що непередбачений графом, при використанні тригерів із внутрішньою затримкою (тригерів, керованих рівнем сигналів)?

  23. Коли можливе виникнення помилкових управляючих сигналів (що непередбачені графом автомата) і чим визначається їх тривалість?

  24. Наведіть способи усунення короткочасних помилкових управляючих сигналів.

  25. У чому суть «протигоночного» кодування станів автомата?

  26. Як забезпечити перепад управляючого сигналу у випадку, коли операторну вершину з цим сигналом охоплює «петля».

  27. Як визначити час переходу автомата з одного стану в інший?

2. Лабораторна робота 2 синтез блоків мікропрограмного керування

Ціль роботи:

Дослідити засоби побудови блоків мікропрограмного управління (БМУ). Одержати навички в проектуванні й налагодженні схем пристроїв управління з мікропрограмним керуванням.

Теоретичні відомості

Блоки управління

Блоки управління (БУ) є складовою частиною пристрою управління, що входить у склад процесору та забезпечує виконання програм у ЕОМ.

Основне призначення БУ – формування всіх управляючих сигналів, які забезпечують виконання кожної команди в ЕОМ.

Можна виконати наступну класифікацію БУ за різними ознаками.

БУ розділяють на:

  • БУ із жорсткою логікою, призначені для реалізації певного набору мікроалгоритмів, такі БУ реалізують у вигляді управляючих автоматів.

  • БУ із гнучкою логікою, що також називають БУ з мікропрограмним управлінням, такі БУ дозволяють забезпечити модифікацію та запис нових мікропрограм, та змінювати логіку керування в залежності від записаної у пам’яті мікропрограми.

За способами управління розділяють централізовані та децентралізовані БУ:

  • централізовані – мікропрограми формуються в одному пристрої для всіх пристроїв у системі. Такі БУ забезпечують виконання всіх МО послідовно у часі, що приводить до зменшення швидкодії системи.

  • децентралізовані – кожен пристрій у системі має свій БУ, роботу яких синхронізує централізований ПУ. Такий спосіб забезпечує виконання мікрооперацій водночас в різних складових частинах системи, що приводить до збільшення швидкодії, але й збільшує апаратурні витрати. У сучасних ЕОМ більш поширені децентралізовані БУ.

Розділяють синхронні та асинхронні БУ.

  • синхронні – для виконання кожної МО виділяється однакові проміжки часу, що дорівнюють максимальній тривалості МО;

  • асинхронні – для виконання кожної МО виділяється необхідний для виконання цієї МО проміжок часу, у цьому випадку не передбачений проміжок часу.

Слід зазначити, що з точки зору швидкодії асинхронні БУ є більш швидкодіючими, але потребують збільшення апаратної складності.

На практиці застосовуються комбіновані БУ – МО поєднуються в групи за часом виконання. В одну групу уключають МО, що найбільш близькі за часом виконання і для всіх МО в цій групі виділяють час що дорівнює максимальній тривалості МО у групі.

Приклад 2.1. Для заданого МА тривалість ti кожної МО yi задана графічно (рис.2.1), де τ – такт машинного часу. На рис.2.2 наведені часові діаграми виконання заданого МА для різних способів управління.

Рис.2.1. Задана тривалість мікрооперацій

Рис.2.2. Виконання МО для різних способів управління: СК – синхронного; АУ – асинхронного; КУ – комбінованого.

Блоки мікропрограмного управління (БМУ)

Кожній команді, яка записана у основній пам’яті ЕОМ відповідає мікропрограма (МП), що зберігається в пам'яті БМК.

Мікропрограма – це зв’язаний список мікрокоманд, виконання яких забезпечує виконання заданої команди.

Мікрокоманда це інформаційне слово, що містить наступну інформацію:

  • всі управляючі сигнали;

  • тривалість управляючих сигналів;

  • інформацію щодо формування адреси наступної МК.

БМУ функціонує у відповідності з принципом мікропрограмного управління, що полягає в наступному.

При виконанні мікропрограми в кожному такті із постійної пам'яті БМУ зчитується та розшифровується чергова мікрокоманда. В результаті виконання мікрокоманди формуються управляючі сигнали необхідної тривалості, що поступають на всі функціональні частини обчислювальної системи, а також формується адреса наступної мікрокоманди.

З погляду БМУ можна розглянути наступні етапи виконання команди в обчислювальній системі.

  1. З ОП зчитується команда в регістр команд процесора, для чого виконується відповідна МП, що записана у пам’ять БМУ;

  2. Команда розшифровується («розпаковується»), для чого також виконується відповідна МП у БМУ;

  3. Виконується МП виконання заданої операції;

  4. Виконується спеціальна МП у БМУ – МП формування адреси наступної команди.

Спрощена структурна схема БМУ наведена на рис.2.3.

Рис.2.3. Структурна схема БМУ

Основні функціональні частини БМУ:

РАМК

регістр адреси МК;

СФАМК

схема формування адреси МК;

ПМК

пам'ять МК;

РМК

регістр МК;

Аі

адреса МК;

CLK

синхросигнал;

{xi}

логічні умови;

D

вхід завдання початкової адреси мікропрограми.

МК розміщуються у пам’яті мікрокоманд. На рис.2.4 наведений формат мікрокоманди.

МК

β1

β2

β3

β4

Рис. 2.4. Формат мікрокоманди

Слово МК складається з чотирьох зон:

β1

зона формування адреси наступної МК;

β2

зона управляючих сигналів;

β3

зона визначення тривалості управляючих сигналів;

β4

зона службових розрядів.

У кожному такті за синхросигналом CLK поновлюється адреса мікрокоманди у РАМК і надходить на адресний вхід ПМК. За адресою, що надійшла в ПМК обирається відповідна мікрокоманда і видається на вихід даних ПМК. За від’ємним перепадом синхросигналу слово мікрокоманди записуються у РМК.

Сигнали зони β2 управляють вузлами комп'ютера, зони β3 – визначають тривалість цих сигналів, сигнали зони β1 разом із логічними умовами {xi} поступають на вхід СФАМК і формують адресу наступної МК. За черговим сигналом CLK адреса наступної МК буде сформована у РАМК. Зона β4 використовується для виконання допоміжних функції, наприклад контролю апаратури.

Структура зони управляючих сигналів β2

Зона β2 застосовується для кодування управляючих сигналів (УС). Існують два основні способи кодування управляючих сигналів у зоні β2:

  • горизонтальне мікропрограмування (ГМ), яке також називають мінімальним кодуванням;

  • вертикальне мікропрограмування (ВМ), яке також називають максимальним кодуванням;

При мінімальному кодуванні кожен управляючий сигнал відображується одним розрядом слова мікрокоманди (рис. 2.5), де R, W, I, O – відповідно управляючі сигнали зчитування, запису, вводу та виводу інформації.

Рис. 2.5. Структура зони β2 при мінімальному кодуванні (горизонтальне мікропрограмування)

При мінімальному способі кодування довжина зони β2 дорівнює кількості керуючих сигналів:

(2.1)

де, - кількість керуючих сигналів.

При максимальному кодуванні розряди зони β2 формуються за допомогою коду на дешифраторі (рис.2.6).

Довжина зони β2 в цьому випадку дорівнює:

. (2.2)

Рис. 2.6. Структура зона β2 при максимальному кодуванні (вертикальне мікропрограмування)

Недоліки горизонтального мікропрограмування полягають в тому, що кодування великої кількості УС потребує більшої довжини слова МК. До переваги слід віднести можливість формувати водночас будь яку кількість УС, що приводить до сумісного виконання декількох МО в одному такті.

До переваг вертикального мікропрограмування відносять значне скорочення довжини зони β2. Недоліки – в кожному такті можна сформувати тільки один УС, тобто сумісне виконання МО неможливе.

На практиці використають комбінований спосіб кодування УС – сигнали поєднують у групи, таким чином, що сигнали, які мають бути виконані водночас розміщуються в різних групах. Усередині групи використають ГМ, між групами ВМ.

На рис. 2.7 наведена можлива реалізація зони β2 при комбінованому способі кодування.

Рис. 2.7. Структура зони β2 при комбінованому способі кодування

Приклад 2.2. Побудувати структуру та карту програмування зони управляючих сигналів β2 для ефективної реалізації заданого МА:

Виконання завдання

Для формування зони β2 застосуємо комбіноване мікропрограмування. Розподілимо управляючі сигнали на групи так, щоб сигнали які формуються водночас розміщувались у різних групах, отримаємо:

I

II

III

y1

y2

y3

y5

y4

y6

y7

Розрахуємо довжину зони β2.

Для кодування сигналів першої групи використаємо дешифратор, за виразом (2.2) розрахуємо довжину коду дешифратора:

.

Враховуючи, що для кодування сигналів груп II та III необхідно ще два розряди зони β2, отримаємо:

.

Кодування входів дешифратора наведене в табл. 2.1. Карта програмування зони β2 – в табл. 2.2.

Таблиця 2.1. Таблиця кодуванняь УС

α3

α2

α1

УС

0

0

0

немає сигналів

0

0

1

y1

0

1

0

y5

0

1

1

y4

1

0

0

y6

1

0

1

y7

Таблиця 2.2. Карта програмування

№ такту

УС

β2

α3

α2

α1

y2

y3

1

y1

0

0

1

0

0

2

y2

0

0

0

1

0

3

y1, y2, y3

0

0

1

1

1

4

y4

0

1

1

0

0

5

y5

0

1

0

0

0

6

y2, y3, y4

0

1

0

1

1

7

y6

1

0

0

0

0

8

y7

1

0

1

0

0

Структурна схема зони β2 зображена на рис. 2.8.

Рис. 2.8. Структурна схема зони β2

Структура зони визначення тривалості управляючих сигналів β3

Зона β3 відповідає за тривалість виконання мікрооперацій. При асинхронному та комбінованому способі керування мікрооперація виконується за один або декілька тактів, тобто необхідно забезпечити необхідну затримку управляючого сигналу при виконанні МО.

Найбільш розповсюдженим способом є використання лічильника тактів, у який заноситися константа, що визначає час затримки УС.

У кожному такті виконується декремент лічильника, за нульовим вмістом якого дозволяється зміна інформації в РАМК і відбувається формування наступних УС.

З точки зору апаратної реалізації – частина РМК виконується у вигляді лічильника тактів СТ (рис.2.9).

β1

β2

β3

β4

RG

RG

CT

RG

Рис. 2.9. Апаратна реалізація регістру мікрокоманди

Зону β3 реалізують у вигляді лічильника, код у лічильнику забезпечує затримку УС на необхідну кількість тактів. Довжина зони β3 визначається за формулою

, (2.3)

де k – максимальна затримка керуючих сигналів у тактах, один додатковий розряд (+1) застосовується для урахування знакового розряду.

Структурна схема БМУ з урахуванням зони затримки управляючих сигналів зображена на рис. 2.10.

Рис. 2.10. Структурна схема БМУ з урахуванням зони затримки УС

Принцип функціонування. Кількість тактів, на які необхідно затримати МО записують у двійковому додатковому коді в лічильник СТ, це означає, що в ЗР буде записана одиниця, якщо затримка не дорівнює нулю. У кожному такті до вмісту лічильника СТ додається одиниця, поки вміст лічильника не дорівнюватиме нулю. При нульовому коді відбувається завантаження адреси наступної МК у РАМК. До схеми додаються два логічні елементи І (ЛЕ1 та ЛЕ2). При наявності 1 у ЗР лічильника ЛЕ2 блокується сигнал CLK, що має поступити на вхід W СФАМК, але поступає на вхід W лічильника, при чому відбувається його інкремент. За нульовим вмістом лічильника, тобто коли ЗР дорівнює 0 навпаки заблокований ЛЕ1 і сигнал CLK поступає на вхід W СФАМК – дозволяється формування наступної адреси МК.

Приклад 2.3. Для БМУ з асинхронним принципом формування керуючих сигналів розробити структуру й карту програмування зони β3.

Вихідні дані

  • максимальна тривалість МО – 25 тактів,

  • карту програмування побудувати для МО тривалістю 5 тактів.

Виконання завдання

Визначимо довжину зони β3 за виразом (2.3):

nβ3­ = ]log225[+1=5+1=6.

Якщо тривалість чергової МО , час затримки, що необхідно урахувати у зоні β3 дорівнюватиме:

.

Подамо знайдений час затримки у двійковому доповнювальному коді у 6-ти розрядній зоні β3 з урахуванням знакового розряду:

– 410 = 1.001002;

1.00100[ПК] = 1.11100[ДК].

Тоді формат зони β3 має вигляд:

β3

1

1 1 1 0 0

Карта програмування зони β3 наведена у табл. 2.3.

Таблиця 2.3. Карта програмування

№ такту

СТ

Примітки

ЗР

ПС

1

11100

ЗР =1 (ЛЕ2 заблокований)

1

1

+1

11101

ЗР =1 (ЛЕ2 заблокований)

2

1

+1

11110

ЗР =1 (ЛЕ2 заблокований)

3

1

+1

11111

ЗР =1 (ЛЕ2 заблокований)

4

0

+1

00000

ЗР =0 (ЛЕ1 заблокований, формування наступної адреси)

Призначення зони службових розрядів β4

У серійно виготовлених пристроях зона β4 може складатися із сотні розрядів. Найчастіше цю зону використають для контролю апаратури, наприклад контролю слова мікрокоманди на парність або непарність.

Схема контролю має вигляд зображений на рис. 2.11. Для контролю використають операцію згортки. У цьому випадку зона β4 має довжину 1 розряд, вміст цього розряду доповнює кількість 1 у слові мікрокоманді до парної (або непарної, при контролі слова МК на непарність).

При контролі на парність сигнал «помилка»=1 визначить, що слово МК вміщує непарну кількість 1, тобто наявна помилка.

Рис. 2.11. Схема контролю слова МК на парність

Приклад 2.4. Сформувати зону β4 для контролю заданих слів МК на парність:

β1

β2

β3

β4

01010

1110

1010

1

11001

1101

1110

1

10100

0100

1000

0

Способи формування адреси МК. Структура зони β1

Адресація мікрокоманд у БМУ забезпечується зоною β1. Для забезпечення переходу на наступну МК у зоні β1 поточної МК формується адреса переходу, або інформація для обчислення адреси переходу. Для виконання розгалуження мікроалгоритмів застосовуються наступні основні конструкції мікроалгоритмів (МА):

  • безумовний перехід (БП)

  • умовний перехід (УП)

  • цикли (Ц)

  • робота з мікроподпрограмами (МПП).

Для реалізації безумовного переходу, зона β1 мікрокоманди, що розміщується в БМУ за адресою Ai, містить частину або всю адресу переходу Aj. Тобто адреса переходу визначається як [Ai] → [Aj]. За цим способом формуються адреси на лінійних ділянках МА (рис. 2.12, а).

При умовному переході у зоні β1 мікрокоманди Ai вказується інформація щодо адреси Aj або адреси Ak, куди здійснюється перехід в залежності від умови Хi, де Хi – будь-яка умова, що формується поза БМУ (рис. 2.12, б).

а

б

Рис. 2.12. Типові конструкції МА: а – Безумовний перехід; б – Умовний перехід

Циклічні мікроалгоритми можуть бути організовані двома способами:

    • за умовою Хi, що формується поза БМУ;

    • за кількістю повторень N, що формується за лічильником циклів (СТ) усередині БМУ.

Цикли у свою чергу поділяються на:

    • цикли з перевіркою на вході (рис. 2.13, а);

    • цикли з перевіркою на виході (рис. 2.13, б).

В залежності від умови, що перевіряється на вході/виході циклу, або стану лічильника СТ, відбувається вихід з циклу –зона β1 містить адресу Aj ([Ai] → [Aj]), або перехід на початок циклу –зона β1 містить адресу Ak ([Ai] → [Ak]) (рис. 2.13, а, б).

За способом формування зони β1 розрізняють наступні способи адресації мікрокоманд:

    • примусова адресація МК

    • відносна адресація МК

    • природна адресація МК (інкрементна).

Для кожного способу адресації мікрокоманд використається відповідний формат зони β1.

а

б

Рис. 2.12. Циклічні МА: а – цикл із перевіркою на виході; б – цикл із перевіркою на вході.

Структура БМУ із примусовою адресацією

При примусовій адресації зона β1 має наступний формат:

де

М

поле управління мультиплексором;

q

довжина поля управління мультиплексором;

К

константа, що визначає адресу наступної мікрокоманди;

n

розрядність адреси мікрокоманди.

Довжина поля управління мультіплексором визначається за формулою:

, (2.4)

д е k – кількість зовнішніх умов.

Поле константи К являє собою (n – 1) старший розряд адреси мікрокоманди.

Формат адреси мікрокоманди має наступний вигляд:

де α – визначає умову переходу, яка формується на виході мультиплексора в залежності від логічних умов Хi.

Спрощена структурна схема БМУ з примусовою адресацією зображена на рис. 2.14.

Рис. 2.14. Структурна схема БМУ з примусовою адресацією

Приклад 2.5. Розробити схему БМУ для реалізації заданого мікроалгоритму (рис. 2.15). Розробити карту настроювання БМУ.

Рис.2.15. Вихідний мікроалгоритм

Вихідні дані:

  • спосіб керування асинхронний;

  • ПМК ємністю 32 слова;

  • комбіноване микропрограмування зони β2;

  • забезпечити контроль слова МК на парність;

  • час формування управляючих сигналів (у тактах): , , , , , , .

Виконання завдання:

  1. Визначимо формат зони β1.

Враховуючи, що ємність ПМК дорівнює 32 слова, розрахуємо розрядність адреси:

.

Виходячи з розрядності адреси, отримаємо довжину поля константи К:

К = 5 – 1 = 4.

Кількість управляючих входів мультиплексора, що визначає розрядність поля М розрахуємо за виразом (2.4), враховуючи, що кількість управляючих сигналів дорівнює двом – Х1, Х2:

.

Складемо таблицю кодування розрядів поля управління мультиплексором:

m2 m1

УС

00

01

10

11

0

x1

x2

1

Далі зображений формат зони β1:

В результаті отримали:

.

2. Формуємо зону β2:

Розподілимо управляючи сигнали за групами, так що сигнали які виробляються в одному такті знаходяться у різних групах:

I

II

III

y1

y2

y3

y5

y6

y4

y7

Для формування сигналів першої і другої групи будемо застосовувати дешифратори. Розрахуємо кількість розрядів кодів дешифраторів за виразом (2.2):

.

Наведемо таблиці кодування сигналів у зоні β2:

α2 α1

УС

00

01

10

11

y1

y4

y5

γ2 γ1

УС

00

01

10

11

y2

y6

y7

В результаті отримали наступну структуру зони β2:

Тоді довжина зони β2:

.

3. Формуємо зону β3

Максимальна тривалість мікрооперації дорівнює: tmax=12.

Тоді максимальна затримка дорівнює: .

За виразом (2.3) розрахуємо довжину зони β3:

.

Враховуючи попередні обчислення , а тож те, що для перевірки на парність у зоні β3 необхідно виділити один розряд, довжина слова МК дорівнює:

.

4. Розмістимо мікрокоманди у ПМК.

Правило. Мікрокоманди у альтернативних вершинах МА розміщуються у ПМК таким чином, щоб їх адреси відрізнялися лише одним молодшим розрядом.

  1. Карта програмування наведена у табл. 2.4.

Таблиця 2.4. Карта програмування БМУ

№ МК

Адреса

β1

β2

β3

β4

k

m

α2 α1

γ2 γ1

y3

ЗР

П

1

2

3

4

5

6

7

К

00000

00001

00010

00100

00101

00011

00110

00111

01000

0000

0001

0010

0001

0001

0011

0100

0010

0100

11

00

01

11

11

10

00

00

00

00

01

00

10

11

00

01

00

00

00

01

00

01

10

00

11

00

00

0

1

0

1

1

0

0

0

0

0

1

0

1

1

0

1

0

0

0000

1100

0000

1100

0101

0000

1000

0000

0000

0

0

1

1

0

1

0

1

1

6. Структурна схема БМУ з примусовою адресацією мікрокоманд, розробленого для реалізації заданого мікроалгоритму зображена на рис. 2.16.

Рис. 2.16. Структурна схема БМУ з примусовою адресацією

Скорочення зони β1 для примусової адресації МК

Для скорочення довжини зони β1 ПМК будують у вигляді двовимірної матриці. У цьому випадку розрядність адреси n поділяють на дві частини, одна з яких визначає номер рядку, друга – номер стовпця, причому розбіжність у розрядності номерів стовбців й рядків має бути не більш ніж 1 розряд.

Формат адреси в цьому випадку має такий вигляд:

Формат зони β1 для двовимірної ПМК має наступний вигляд:

де

V

напрямок переходу: V = 0 (по рядку →), V = 1 (по стовпцю );

М

поле управління мультиплексором, довжиною q розрядів;

К

номер стовпця або рядку;

n

розрядність адреси мікрокоманди.

Приклад 2.7. Для БМУ із двовимірної ПМК розробити структуру зони β1 і карту програмування для заданого МА (рис. 2.17), якщо ємність ПМК – 64 слова.

Рис. 2.17. Вихідний мікроалгоритм

Виконання завдання:

1. Визначимо формат зони β1.

;

;

;

.

Отримаємо:

2. Розмістимо МК у ПМК:

3. Складемо карту програмування зони β1 (табл. 2.5):

Таблиця 2.5. Карта програмування БМУ

MK

Адреса МК

β1

Номер

рядку

Номер

стовпця

V

K

M

1

2

3

4

5

6

7

8

000

000

000

000

010

011

100

100

000

001

010

010

010

010

010

001

0

0

1

1

1

1

0

0

00

01

00

01

10

10

00

00

11

00

11

01

00

00

11

11

4. Структурна схему БМУ з двовимірною організацією ПМК наведена на рис. 2.18.

Рис. 2.18. Структурна схему БМУ з матричною ПМК

БМУ з відносною адресацією

За відносною адресацією МК адреса наступної МК визначається за формулою:

, (2.5)

де

S

збільшення адреси МК.

α

визначає умову переходу, яка формується на виході мультиплексора в залежності від логічних умов Хi.

Формат зони β1 у загальному вигляді:

Довжину поля S визначають за виразом:

, (2.6)

де N – максимальне збільшення, один додатковий знаковий розряд додається для реалізації напряму переходу (додатне, або від’ємне збільшення).

Приклад 2.8. Побудувати ПМК із відносною адресацією мікрокоманд для мікроалгоритму заданого на рис.2.19.

Вихідні дані:

  • ємність ПМК – 64 слова;

  • максимальний перехід – 8 рядків;

  • мінімальне кодування управляючих сигналів;

  • синхронний спосіб управління.

Рис. 2.19. Вихідний мікроалгоритм

Виконання завдання:

  1. Визначимо формат зони β1. Виходячи з кількості логічних умов та заданого максимального збільшення, за виразами (2.6) та (2.4) відповідно, розрахуємо:

;

;

.

Отримаємо:

2. Розрахуємо розрядність адреси ПМК:

.

3. При синхронному способі управління для виконання кожної мікрооперації виділяється однакові проміжки часу, тому зону β3 не формуємо.

4. Формуємо зону β2. При мінімальному кодуванні управляючих сигналів довжина зони β2 дорівнює кількості управляючих сигналів:

.

Враховуючи попередні обчислення отримаємо формат мікрокоманди ( ):

5. Розмістимо мікрокоманди у ПМК.

Правило. Мікрокоманди, що відповідають альтернативним вершинам мікроалгоритму, розміщуються у ПМК таким чином, щоб їх адреси відрізнялися на одиницю.

  1. Карта програмування зображена у табл. 2.6.

Таблиця 2.5. Карта програмування БМУ

MK

Адреса МК

β1

β2

y1y2y3y4

β4

S

M

1

2

3

4

5

6

000000

000011

000010

000100

000110

000111

0011

1111

0001

0010

0001

0000

00

00

01

10

00

00

0000

1000

1010

1000

1000

0000

0

1

1

0

0

1

Структурна схема БМУ наведена на рис. 2.20.

Рис. 2.20. Структурна схема БМУ з відносною адресацією

Висновки. Таким чином, БМУ із примусовою адресацією, мають високу швидкодію, але більшу зону β1. У БМУ з відносною адресацією зона β1 зменшується за рахунок зменшення швидкодії.

Приклад 2.9. Побудувати структурну схему БМУ і карту пам'яті мікропрограм (ПМК) для мікроалгоритму виконання операції множення. Мікроалгоритм повинен забезпечувати керування арифметико-логічним пристроєм із розподіленою логікою. Побудувати функціональну схему пристрою множення, з мікропрограмним управлянням.

Вихідні дані:

  • Спосіб адресації мікрокоманд – примусовий;

  • Структура ПМК – лінійна;

  • Ємність ПМК – 16 слів;

  • Тривалість мікрооперації підсумовування – 4 такти;

  • Початкова адреса мікропрограми – 0007h;

  • Виконати перевірку слова МК на непарність;

  • Розрядність операндів – 16 розрядів;

  • Розрядність регістрів та суматорів – 8 розрядів.

Виконання завдання

Структурна схема пристрою для виконання операції множення першим способом з урахуванням елементної бази наведена на рис. 2.21. Мікроалгоритм управляння роботою пристрою наведений на рис. 2.22.

Рис. 2.21. Структурна схема пристрою множення

Рис. 2.22. Змістовний мікроалгоритм

Рис. 2.22. Закодований алгоритм керування пристроєм множення

Визначимо формат зони β1.

;

;

;

.

Закодуємо розряди поля управління мультиплексором наступним чином:

m2 m1

УС

00

01

10

11

0

ТС

z

1

Визначимо формат зони β2. Для вертикального способу кодування управляючих сигналів розрахуємо розрядність коду дешифратора за виразом (2.2):

.

Наведемо таблиці кодування сигналів у зоні β2:

α2 α1

УС

00

01

10

11

y1

y2

y3

За виразом (2.3) розрахуємо довжину зони β3:

;

.

Для перевірки на парність у зоні β4 необхідно виділити один розряд.

Отримаємо наступний формат мікрокоманди:

.

Розміщуємо мікрокоманди в пам’яті мікрокоманд:

Карта програмування БМУ наведена у таблиці 2.6.

Таблиця 2.6. Карта програмування БМУ

№ МК

Адреса

β1

β2

β3

β4

k

m

α2 α1

ЗР

П(1)

2

3

4

5

К(6)

0111

1000

1010

1100

1101

1011

100

101

110

110

101

101

00

00

01

11

10

11

00

01

00

10

11

00

0

0

0

1

0

0

00

00

00

01

00

00

0

0

1

1

0

1

Функціональна схема пристрою множення наведена у додатку А.

Опис функціональної схеми

Пристрій множення складається з регістрів RG – елементи 1, 2, 3, 4, 7, 8, 10, 14, 15, 17; суматорів SM – елементи 5, 6, 17; тригера TT – елемент 12; мультиплексора MS – елемент 18; лічильників тактів RG – елементи 15, 17; дешифратора DS – елемента 21; постійного запам’ятовуючого пристрою ROM – елементи 11, 12; логічних елементів І та АБО – елементи 16, 19, 20; генератора тактових імпульсів G – елемент 9.

Функціонально пристрій множення поділяється на дві частини – операційна частина та управляючий пристрій.

Суматори, регістри 1, 2, 3, 4, 7, 8, лічильник циклів 17 та тригер 12 складають операційну частину пристрою множення.

Регістри 1, 2 призначенні для зберігання значення множника, регістри 7, 8 – для зберігання значення множеного, регістри 3, 4 – для накопичування сум часткових добутків та отримання результату множення. Суматори 5, 6 застосовуються для обчислення сум часткових добутків. Лічильник 17 застосовується для підрахунку кількості циклів множення.

Пристрій управління складається з наступних функціональних складових частин.

Пам‘ять мікрокоманд блоку мікропрограмного управління реалізована за допомогою постійно запам‘ятовуючих пристроїв 11, 12. У регістрі 10 формується адреса наступної мікрокоманди. Регістри 14 та 15 призначенні для реалізації регістру мікрокоманди. Мультиплексор 18 застосовується для формування умови переходу при визначенні адреси наступної мікрокоманди. Лічильник 15 застосовується для реалізації затримки управляючих сигналів. Дешифратор 21 застосовується для формування управляючих сигналів БМУ.

Логічні елементи призначенні для реалізації частини логіки роботи пристрою управляння.

На початку роботи пристрою із ПМК БМУ зчитується перша мікрокоманда після виконання якої на виході дешифратора формуються управляючий сигнал 100, який надходить на управляючі входи R регістрів 3, 4 та тригеру 12 і встановлює їх в нульовий стан, на входи регістрів множника і множеного – відбувається запис вихідних значень аргументів, на вхід лічильника – занесення кількості циклів обчислення добутку.

У наступному такті формується наступна мікрокоманда

В першому такті чергового циклу множення аналізується значення RG2(n) - молодшого розряду множника регістру RG2, в якому знаходиться чергова цифра множника. Вміст RG3 додається до суми часткових добутків, що знаходяться в регістрі RG1, якщо RG2(n)=1, або не додається, якщо RG2(n)=0. В другому такті здійснюється правий зсув в регістрах RG1 і RG2, що еквівалентно множенню їх вмісту на . При зсуві цифра молодшого розряду регістру RG1 записується у вивільнюваний старший розряд регістру RG2. Після виконання n циклів молодші розряди 2n-розрядного добутку будуть записані в регістр RG2, а старші – у RG1.

У наступному такті аналізуємо стан D-тригера, так як там записано нуль, то за допомогою мультиплексора 18 та суматора 17 формується наступний адрес мікрокоманди, яка буде вибиратися з ПЗУ 12, 13 та виконуватися. Ця мікрокоманда містить сигнал, який подається на регістри 7, 1, 2. В результаті цього вміст регістра 7 зсувається на один розряд вліво і старший розряд, який вийшов за розрядну сітку записується в D-тригер. Вміст регістрів 1 та 2 зсувається вправо на один розряд з переносом молодшого розряду регістра 1 в старший розряд регістра 2.

На наступному такті аналізується за допомогою елемента «АБО» вміст регістра 8, так як не всі розряди дорівнюють нулю, то знову аналізуємо стан D-тригера. Його вміст дорівнює нулю, тому знову виконується попередня мікрокоманда і вміст регістрів 1, 2 зсувається вправо, а вміст регістра 7 зсувається вліво з записом старшого розряду в D-тригер.

Після цього такту в D-тригері записана 1, тому за допомогою суматора 17 та мультиплексора 18 формується адрес мікрокоманди, яка містить сигнал, який в свою чергу дозволяє суматорам 5, 6 додати вміст регістрів 1, 2 та 3, 4. Результат додавання записується у регістри 3, 4.

Дані дії будуть повторюватися доти, доки вміст регістра 8 не буде дорівнювати 0. Якщо вміст регістра 8 стане рівним нулю, то керуючий пристрій зациклюється на виконанні команди з адресом 0110, яка не містить жодних керуючих сигналів, а результат множення записується в регістри 3, 4.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]