Керуючий автомат (КА) генерує послідовність керуючих сигналів, яка передбачена мікропрограмою і відповідає значенням логічних умов. Інакше кажучи, керуючий автомат задає порядок виконання дій в операційному автоматі, який виходить з алгоритму виконання операцій. Найменування операції, яку необхідно виконувати у пристрої, визначається кодом операції. По відношенню до керуючого автомату сигнали коду операції, за допомогою яких кодується найменування операції, і повідомлювальні сигнали х1,...,хi, які формуються в операційному автоматі, грають однакову роль: вони впливають на порядок генерування керуючих сигналів y. Тому сигнали коду операції і умовні сигнали відносяться до одного класу – до класу повідомлювальних сигналів, які поступають на вхід керуючого автомату.
В основі опису керуючих автоматів лежить принцип мікропрограмного керування. Він полягає в тому що будь-яка операція розглядається як складна що містить більш прості операції які називаються мікроопераціями тобто кожна операція – це визначена послідовність мікрооперацій.
Існують два основні типи керуючих автоматів
1. Керуючий автомат з жорсткою чи схемною логікою. Для кожної операції будується набір комбінаційних схем які в потрібних тактах збуджують відповідні керуючі сигнали. Іншими словами будується скінчений автомат в якому необхідна множина станів представляється станами k запам’ятовуючих елементів
q = {q1 q2, …, qk}
2. Керуючий автомат з збереженою в пам’яті логікою (програмованою логікою). Кожній операції що виконується в операційному пристрої ставиться у відповідність сукупність збережених в пам’яті слів-мікрокоманд кожна з яких містить інформацію про мікрооперації що підлягають виконанню на протязі одного машинного такту та вказівку (яка в загальному випадку залежить від значень вхідних сигналів) яке повинно бути вибране з пам’яті наступне слово (наступна мікрокоманда). Таким чином в цьому випадку функції переходів та виходів А та В керуючого автомату реалізуються збереженою в пам’яті сукупністю мікрокоманд.
Послідовність мікрокоманд що виконують одну машинну команду чи окрему процедуру створює мікропрограму. Звичайно мікропрограми зберігаються в спеціальній пам’яті мікропрограм (керуючій пам’яті).
В керуючих автоматах з збереженоюю в пам’яті програмою мікропрограми використовуються в явній формі вони програмуються в кодах мікрокоманд і в такому вигляді заносяться в пам’ять. Тому такий метод управління цифровим пристроєм називається мікропрограмуванням а керуючі блоки що використовують цей метод - мікропрограмними керуючими пристроями.
В залежності від прийнятого способу кодування мікрооперацій розрізняють три варіанти організації мікропрограмного керування горизонтальне вертикальне та комбіноване мікропрограмування. При горизонтальному мікропрограмуванні для кожної мікрооперації виділяється один розряд у мікрокоманді. При такому кодуванні всі операції що виконуються одночасно визначаються одиницями у відповідних розрядах однієї мікрокоманди. Код операції задає адресу першої мікрокоманди в мікропрограмі. Адреси наступних мікрокоманд визначаються за принципом примусової адресації згідно цього мікрокоманда складається з двох частин-мікроопераційної та адресної. Основною перевагою горизонтального мікропрограмування є висока швидкодія як за рахунок простоти та можливості одночасної генерації довільного числа сигналів мікрооперацій так і за рахунок швидкого формування адреси наступної мікрокоманди. Однак при горизонтальному мікропрограмуванні довжина поля мікрооперації повинна бути не менша за максимальну кількість несумісних мікрооперацій тобто вимагаються довгі формати мікрокоманд та комірки запам’ятовуючого пристрою що призводить до значних витрат обладнання. Крім того лише невелике число розрядів в полі мікрооперації буде містити одиниці тобто запам’ятовуючий пристрій буде використовуватись неефективно.
Скоротити довжину мікрокоманд дозволяє застосування вертикального мікропрограмування при якому кожна мікрооперація кодується ]log2 n[ - розрядним кодом де n – загальна кількість мікрооперацій. Таке кодування накладає обмеження на методи виконання операцій а саме не повинно бути операцій що потребують одночасного виконання ряда мікрооперацій. В тих випадках коли це обмеження виконати неможливо треба використовувати складні мікрооперації що складаються з сукупності простих.
Дата: 2019-05-29, просмотров: 174.