Пристрій мікропрограмного керування. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Пристрій мікропрограмного керування.



Організація роботи пристрою мікропрограмного керування

Пристрій мікропрограмного керування виробляє послідовність сигналів, необхід­них для виконання програми в комп’ютері. Програма складається з деякої послідовності команд. Команда в комп’ютері виконується за один або за декілька тактів, в кожному із яких виконується одна або декілька мікрооперацій. Кожна мікрооперація представляє собою деяку елементарну дію передачі або перетворення інформації, яка ініціюється по­ступленням керуючого сигналу (мікронаказу) на вхід керування відповідного пристрою. Послідовність елементарних мікронаказів, які пристрій керування формує в одному такті, називають мікрокомандою. Послідовність мікрокоманд, що необхідно виконати для виконання однієї команди, називаються мікропрограмою. Звичайно, мікропрограма може складатися і лише з однієї мікрокоманди.

Основними принципами, які покладені в основу побудови пристрою мікропрограм­ного керування, є наступні:

1. Всі мікронакази, які повинні бути виконані в одному такті роботи комп’ютера, збираються в одне керуюче слово, яке називають мікрокомандою.

2. Кожній команді з системи команд комп’ютера ставиться у відповідність послідов­ність мікрокоманд, необхідних для її виконання, тобто мікропрограма виконання ко­манди в комп’ютері.

3. Всі мікрокоманди зберігаються в пам’яті. Це може бути основна пам’ять комп’юте­ра, а ле в більшості комп’ютерів для зберігання мікрокоманд використовується окрема пам’ять, яку називають пам’яттю мікрокоманд.

4. Для реалізації деякої команди необхідно зчитати з пам’яті мікрокоманд відповідну послідовність мікрокоманд (мікропрограму) та подати розподілену в часі послідовність керуючих сигналів на відповідні керуючі входи вузлів комп’ютера.

На рис. 8.17 показано основний елемент пристрою мікропрограмного керування - нам ’ять мікрокоманд, та вузли на її входах і виходах, а саме мікропрограмний лічильник (МКПЛ) для зберігання адреси мікрокоманди та регістр мікрокоманди (РгМК).

Рис. 8.17. Пам'ять мікрокоманд з регістром адреси мікрокоманди на вході та регістром мікрокоманди на виході

 

На рис. 8.17 показано і формат самої мікрокоманди,-до складу якої входять наступні поля: код мікрооперації, за яким формуються мікронакази, що виконуються в одному такті роботи комп’ютера, код умов, котрий вказує, при яких умовах може бути змінено послідовність читання мікрокоманд з пам’яті, а також адреса наступної мікрокоманди.

Структура пристрою мікропрограмного керування представлена на рис. 8.18.

Рис. 8.18. Структура пристрою мікропрограмного керування

 

В регістрі команди РгК зберігається команда, яка підлягає виконанню в комп’ютері. За її кодом операції КОП з пам’яті адрес перших мікрокоманд мікрокодів зчитується адреса пам’яті мікрокоманд, в якій знаходиться перша мікрокоманда із послідовності мікрокоманд (мікропрограми, або як її іще називають, мікрокоду) її виконання. Пам’ять мікрокоманд в більшості випадків реалізується на основі постійного запам’ятовуючого пристрою ПЗП, хоча може бути реалізована і на основі оперативного запам’ятовуючого пристрою ОЗП, особливо на етапах відлагодження комп’ютера. В цій пам’яті зберігають­ся мікрокоманди для всіх команд комп’ютера, а також для початку роботи комп’ютера та для обробки переривань. В схемі формування адреси СФА, до складу якої входять пам’ять адрес перших мікрокоманд мікрокодів, суматор-мультиплексор СМ-МП, мікро- програмний лічильник МКПЛ та комбінаційна схема КС формування переходу, визна­чається адреса комірки пам’яті мікрокоманд, в якій знаходиться наступна мікрокоман- да. Ця адреса формується з врахуванням полів адреси наступної мікрокоманди АНМК та коду умови з регістра мікрокоманди, а також сигналів стану, які поступають з регі­стра слова стану програми. Мікрокоманда зчитується із пам’яті в регістр мікрокоманди РгМК, в якому вона зберігається протягом одного такту роботи комп’ютера. На осно­ві коду мікрооперації КМКО з регістра мікрооперації на виході дешифратора ДШМКО формуються сигнали керування.

Робота компонента пристрою керування синхронізується з контролера послідовнос­ті мікрокоманд, який отримує ззовні тактові імпульси з генератора тактових імпульсів, а також код режиму роботи комп’ютера. Контролер послідовності мікрокоманд є ядром пристрою керування. Він має два окремих режими роботи: звичайний режим та режим запуску комп’ютера.

В звичайному режимі контролер послідовності мікрокоманд генерує сигнали керу­вання роботою пристрою керування. Тактові імпульси на його вході забезпечують його часову синхронізацію, що дозволяє генерувати наступні послідовності сигналів:

1. Керування процесом формування адреси мікрокоманди. Ця адреса одержується шляхом:

■ запису в мікропрограмний лічильник МКПЛ адреси першої мікрокоманди мі- кропрограми виконання відповідної команди з пам’яті адрес перших мікрокоманд мі­крокодів;

■ запису в мікропрограмний лічильник МКПЛ адреси наступної мікрокоманди мікропрограми виконання відповідної команди після виконання в суматорі-мульти- плексорі СМ-МП операції приросту вмісту МКПЛ на 1;

■ запису в мікропрограмний лічильник МКПЛ адреси наступної мікрокоманди АНМК з адресного поля РгМК, з врахуванням коду умови КУ з поля умовного переходу РгМК, та коду стану програми з регістра слова стану програми, що здійснюється в ком­бінаційній схемі КС формування переходу.

Керування зчитуванням мікрокоманд з пам’яті мікрокоманд за адресами з мікро- програмного лічильника МКПЛ та їх записом до регістра мікрокоманд РгК.

Стимулювання дешифратора мікрооперацій ДШМКО, який здійснює дешифруван­ня коду мікрооперації КМКО з відповідного поля РгМК, та видає сигнали керування (мікронакази).

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

В ході виконання різних команд можуть використовуватися загальні ділянки мікро- програм, які називаються мікропідпрограмами.

 

В режимі запуску комп’ютера пристрій керування встановлює вміст різних регістрів комп’ютера в початковий стан шляхом їх скиду, або запису до них деяких конкретних значень. Після цього він записує апаратно генеровану адресу до програмного лічильни­ка ПЛ (не мікропрограмного лічильника МКПЛ), та починає виконання програми. Для деяких комп’ютерів апаратно генерована адреса - це вектор скиду, який є адресою пер­шої команди комп’ютера, яка виконується після старту. Для інших комп’ютерів апаратно генерована адреса це адреса вектора скиду, який є адресою першої команди комп’юте­ра, яка виконується після старту. В цьому випадку пристрій керування спочатку пови­нен вибрати з основної пам’яті вектор скиду, та записати його до програмного лічиль­ника ПЛ.

Організація мікропрограм в пам’яті мікрокоманд

Є багато шляхів можливої організації мікропрограм в пам’яті мікрокоманд. Один з них, ілюстрований на рис. 8.23, передбачає розміщення мікрокоманд в пам’яті послідов­но. Кожна машинна команда має свою власну послідовність мікрокоманд в пам’яті мі­крокоманд. Додатково пам’ять мікрокоманд містить мікрокоманди для проведення ви­бірки команд з основної пам’яті, запуску переривання, та деяких інших дій керування.

 
 

Розглянемо цей тип організації мікропрограм в пам’яті мікрокоманд. Після того, як пристрій керування вибирає машинну команду з основної пам’яті і розміщує її в регістрі команди РгК, він повинен генерувати так звану адресу точки входу для коду операції ко­манди КОП, яка є адресою першої мікрокоманди мікропрограми. Наприклад, якщо при­стрій керування вибирає мікрокоманду для коду операції КОПІ, він повинен генерувати адресу Аі, як показано на рис. 8.19. Формування адреси точки входу є задачею пам’яті адрес перших мікрокоманд мікрокодів блоку обчислення адреси (рис. 8.18). Після того, як пристрій керування формує адресу точки входу, контролер послідовності мікроко­манд збільшує вміст мікропрограмного лічильника МКПЛ, щоб одержати адресу кожної наступної мікрокоманди.

Після виконання останньої мікрокоманди в мікропрограмі (тобто, після завершення виконання однієї машинної команди), контролер послідовності мікрокоманд повинен ще раз виконувати мікропрограму вибірки наступної команди з основної пам’яті. На рис. 8.19 це є перехід до комірки Ам пам’яті мікрокоманд. Постає питання - як може контролер послідовності мікрокоманд керувати розгалуженнями в межах мікропрограм пам’яті мікрокоманд? На рис. 8.18 показано один з варіантів вирішення цього завдання. До цих пір ми розглядали мікропрограми без розгалужень. Однак існують мікрокоман­ди переходу, які містять адресу переходу та мікронакази для схеми формування адреси СФА додатково до мікронаказів для інших вузлів комп’ютера. Контролер послідовності мікрокоманд разом з схемою формування адреси СФА, використовує адресу наступної мікрокоманди (АНМ1<) та код умови переходу (КУ) для визначення адреси наступної мікрокоманди.

Для керування переходом в коді мікрооперації КМКО кожної мікрокоманди наявна інформація про належність цієї мікрокоманди до мікрокоманд переходу. Тому в кожно­му такті на виході дешифратора мікрокоманд ДШМКО генерується мікронаказ, який ін­формує контролер послідовності мікрокоманд про належність, або неналежність, даної мікрокоманди до мікрокоманд переходу. Якщо це мікрокоманда переходу, то контролер послідовності мікрокоманд повідомляє схему формування адрес про необхідність фор­мування адреси переходу, а не приріст на одиницю вмісту мікропрограмного лічильника МКІІЛ. При цьому, якщо це безумовний перехід, то перехід відбувається за адресою з адресного поля мікрокоманди. Якщо ж це умовний перехід, то адреса наступної мікро­команди формується з врахуванням коду умов переходу та коду стану програми, який поступає з регістра стану програми регістрової пам’яті процесора.

Горизонтальне та вертикальне мікропрограмування

Завдання вибору формату мікрокоманди є досить складним. З одного боку, мікро­команда повинна вміщувати коди керування вузлами комп’ютера, забезпечувати органі­зацію послідовності мікрокоманд в мікропрограму та можливість зміни порядку мікро­команд в мікропрограмі. З іншого боку, ці функції повиьні виконуватись з мінімальною кількістю бітів в мікрокоманді, з мінімальною кількістю слів з пам’яті мікрокоманд, та з мінімальним часом на виконання мікропрограми. Розглянемо деякі питання вибору ефективного формату мікрокоманди.

За способом формування керуючих сигналів розрізняють горизонтальне і верти­кальне мікропрограмування.

При використанні горизонтального мікропрограмування кожний розряд поля коду мікрооперації мікрокоманди формує один керуючий сигнал (мікронаказ) для відповід­ного входу керування функціонального вузла комп’ютера (рис. 8.20). Кількість розрядів мікрокоманди визначається з виразу М = п+к+гп, де п - розрядність адреси мікрокоман­ди, яка рівна п = к^21М, де N - кількість мікрокоманд в пам’яті, к - кількість мікронака­зів, необхідних для керування вузлами пристрою керування, т - кількість мікронаказів, необхідних для керування вузлами комп’ютера. В цьому випадку відпадає потреба в де­шифраторі мікрокоманд.

Оскільки у комп’ютерах кількість мікронаказів може досягати декількох сотень, мі- крокоманда в цьому випадку стає дуже широкою.

Кількість керуючих бітів мікрокоманди зменшують використовуючи наступні спо­соби:

• Групуванням бітів. В групи об’єднуються такі мікронакази, які завжди викону­ються одночасно. При цьому для групи виділяється лише один біт.

■ Групування форматів. В групи об’єднуються такі мікронакази, з яких в даному так­ті виконується тільки один. Ці мікронакази кодуються в полі, де кількість бітів к = 1од,Ь, де Ь - кількість мікронаказів.

■ Групування мікронаказів. Групі мікронаказів виділяється один біт мікрокоманди та використовується багатотактова синхронізація.

При використанні вертикального мікропрограмування мікрокоманда складається з полів коду мікрооперації, коду умов переходу і адреси наступної мікрокоманди, як це було розглянуто раніше (рис. 8.17). Тобто формат мікрокоманди подібний до форма­ту команди комп’ютера. Цей метод дозволяє більш ефективно використовувати поля мікрокоманди, тобто команда є коротшою, а об’єм пам’яті меншим, порівняно з гори­зонтальним мікропрограмуванням. Разом з тим, горизонтальне мікропрограмування є швидшим, оскільки не вимагає використання дешифраторів.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 542; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.88.16.192 (0.036 с.)