КЕРУЮЧІ АВТОМАТИ З ЗБЕРІГАЄМО В ПАМ’ЯТІ ЛОГІКОЮ

Однією з переваг мікропрограмних пристроїв управління є їх наочність, що полегшує вивчення процесу функціонування ЕОМ та їх експлуатацію. Тому розгляд методів побудови пристроїв управління почнемо з мікропрограмних пристроїв, не враховуючи тієї обставини, що вони почали застосовувати пізніше керуючих пристроїв із жорсткою (схемною) логікою. Нині мікропрограмне управління є найпоширенішим методом побудови управління, по крайнього заходу, в процесорах машин малої середньої продуктивності, соціальній та інших пристроях (каналах, пристроях управління периферійними пристроями та інших.). Мікропрограмне керування застосовується у деяких типах мікропроцесорів.

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

логікою

Мал. 3.10. Структурна схема найпростішого варіанту управляючого автомата з логікою, що зберігається в пам'яті

Структурна схема найпростішого варіанту управляючого автомата з програмою, що зберігається в пам'яті, наведена на Мал. 3.10. Автомат працює в такий спосіб. Серія синхросигналівССвизначає такти роботи автомата, причому значенняСС =1 виділяє такт, а значенняСС = 0 -паузу між тактами. Нагадаємо, що значення вхідних та вихідних сигналів та стан автомата повинні бути незмінними під час такту і можуть змінюватися лише у паузах.

Стан автоматаQ представляється набором значень зміннихq надалі званим для стислості кодомQ

Нехай у такті (t-1) уРгАМкзанесеніU1), Z(t-l) і кодQ(t-1). Тоді в паузі перед тактомtпри СС=0 наРгАМкці значення зберігаються і з УП можнавибрати кодиV які у аналізованого нами автомата, як і Q(t), залежать відQ1), Z(t-1) і U(t-1). Ці коди при СС = 0 заносяться вРгМк(одночасно відбувається зміна значень вхідних сигналів). Після виникнення СС = 1, що задає такт t,РгМкзберігаються сформовані кодиV і Q(t), при цьому сигналиV використовуються для ініціювання мікрооперацій, а код>Q(t)переноситься вРгАМк,після чого цикл роботи автомата повторюється.

Вплив керуючих сигналівV(t)на операційний блок синхронізується сигналом СС = 1, що забезпечує видачуV строго в такті t зРгМк,що знаходиться в режимі зберігання.

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

Аналізуючи структурну схему, що розглядається, можна помітити, що число слів, що зберігаються в УП, дуже велике через велику розрядністьРгАМк,обумовлену значною кількістю використовуваних оповіщаючих сигналівU(t).Скоротити обсяг УП можна, якщо врахувати, що для кожногоQ(t)суттєвими є значення не всіх, а лише деяких змінних із Z(t) іU(t),що задають різні переходи з стануQ(t)у станQ(t+l).

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

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

Однак воно має і суттєвий недолік, що полягає в тому, що потрібна велика довжина мікрокоманди, оскільки кількість функціональних сигналів у сучасному процесорі може досягати кількох сотень. Тому, хоча і відомі випадки практичного застосування горизонтального мікропрограмування, головним чином у малих машинах, де число функціональних керуючих сигналів порівняно невелике (близько 150), більшого поширення отримали інші методи.

Привертикальному микропрогра.имированиимікрооперація визначається не станом одного з розрядів мікрокоманди, а двійковим кодом, що міститься в операційній частині мікрокоманди, при цьому окремий код задає відсутність мікрооперації.

Число розрядів операційної частини мікрокоманди

Перевагою вертикального мікропрограмування є невелика довжина мікрокоманди. Однак у цьому випадку потрібні складні дешифратори на велику кількість мікрооперацій, а головне - у кожній мікрокоманді вказується лише одна мікрооперація, що призводить до збільшення довжини мікропрограм порівняно з довжиною при горизонтальному мікропрограмуванні. Вертикальнемікропрограмування часто використовується в мікропроцесорах, як, наприклад, керування центральними процесорними елементами набору К589.

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

При змішаному мікропрограмуванні безліч мікроопераційVрозбивається на А: підмножини (або полів):

V l

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

Вертикально-горизонтальнемікропрограмування. Усі безліч мікрооперацій V розчленовують на k підмножинVl,у кожному з яких поєднують мікрооперації, що найчастіше зустрічаються разом в одному такті. Підмножини намагаються наскільки можна зробити рівносильними. Операційна частина мікрокоманди (Рис. 3.12) складається із двох полів. У першому полі, довжина якого дорівнює mахVl, застосований горизонтальний спосіб кодування мікрооперацій, тобто кожен розряд відповідає певній мікрооперації з підмножини Vl,а інше поле, що має довжину ]1оg2k[, вказує, до якого з А : підмножини належать мікрооперації в першому полі мікрокоманди

Мал. 3.12. Структура мікрокоманди при вертикально-горизонтальному мікропрограмуванні

Більш гнучким і часто використовується горизонтально-вертикальний спосіб кодування.

Горизонтально-вертикальнемікропрограмування (Рис. 3.13). Підмножини Vl кодуються горизонтальним, а мікрооперації всередині кожного з підмножин вертикальним способом. У цьому випадку кожному підмножині Vl виділяється

зберігаємо

Мал. 3.13. Структура керуючого автомата пригоризонтально-вертикальне мікропрограмування

окреме поле операційної частини мікрокоманди. Довжина операційної частини мікрокоманди

n o.год = ]log2 (m+1)[,

деml -число мікрооперацій, що подаються в полі l.

Мікрокоманди такого типу називають мікрокомандами із польовою структурою. При такому способі кодування бажано, щоб

Vi  Vj =  при i  j

тобто, щоб кожна мікрооперація зустрічалася тільки в одному полі.

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

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

Розрізняють одно- і багатофазні мікрокоманди. У першому випадку всі мікрооперації, зазначені в мікрокоманді, виконуються одночасно протягом одного такту. У другому такт розбивається на частини, звані фазами або мікротактами,

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

Хоча ідея мікропрограмування відома з 1951 р., проте ще донедавна цей принцип управління не знаходив широкого застосування в ЕОМ через відсутність достатньо надійних та дешевих швидкодіючих УП для зберігання мікропрограм та складності розробки текстів мікропрограм. Однак останніми роками інтерес до мікропрограмного принципу управління (до УА зі логікою, що зберігається в пам'яті) відродився. Були створені постійні пристрої для УП з циклом обігу 0,25-0,5 мкс. З'явилися інтегральні ПЗУ і ЗУ з довільним поводженням, які мають ще більшу швидкодію. З'ясувалося, що ефективність методів побудови УА залежить від кількості та складності команд ЕОМ та при збільшенні та ускладненні команд та функцій процесора ефективність мікропрограмного управління зростає.

Мал. 3.14. Тимчасова діаграма роботи керуючого автомата з логікою, що зберігається в пам'яті

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

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

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

Мікропрограмне управління з використанням УП, що завантажується, дозволяє розширювати або навіть змінювати склад команд ЕОМ.