Керуючі пристрої з програмованої логікою

Назва роботи: УПРАВЛЯЮЩИЕ ПРИСТРОЇ З програмованої логіки

Предметна область: Інформатика, кібернетика та програмування

Опис: АК Лекція № 13 УПРАВЛЯЮЩИЕ ПРИСТРОЇ З програмованої логіки Функції центрального пристрою управління Пристрій управління УУ обчислювальної машини реалізує функції управління ходом обчислювального процесу забезпечуючи автоматичне виконання кому

Розмір файлу: 181 KB

Роботу скачали: 27 чол.

АК Лекція № 13 УПРАВЛЯЮЩИЕ ПРИСТРОЇ З програмованої логіки

Функції центрального пристрою управління

Першим етапом в машинному циклі є вибірка команди з пам'яті (етап ВК). Цільову функцію цього етапу будемо позначати як ЦФ-ВК.

За вибіркою команди слід етап декодування її операційної частини (коду операції). Для простоти поки будемо розглядати цей етап в якості складової частини етапу ВК.

Нарешті, на останньому етапі машинного циклу дії задаються цільовою функцією виконання операції # 151; ЦФ-ІВ. Очевидно, що кількість модифікацій ЦФ-ІВ дорівнює кількості операцій, наявних в системі команд ВМ.

Порядок проходження цільових функцій повністю визначає динаміку роботи пристрою управління і всієї ВМ в цілому. Цей порядок зручно задавати і відображати у вигляді граф-схеми етапів виконання команди (ГСЕ). Як і граф-схема вбудованого, ГСЕ містить початкову, кінцеву, операторні і умовні вершини. У початковій і кінцевій вершинах проставляється умовне позначення конкретної команди, а в умовній вершині записується логічне умова, що впливає на порядок проходження етапів. У операторні вершини вписуються оператори етапів.

За формою запису оператор етапу # 151; це оператор присвоювання, в якому:

• зліва від знака присвоювання вказується найменування результату дій, виконаних на етапі;

• праворуч від знака присвоювання записується ідентифікатор цільової функції, яка визначає поточні дії, а за ним (в дужках) наводиться список вихідних даних етапу.

Результат виконання операції Р0i. одержуваний на п'ятому етапі машинного циклу, залежить від коду операції i-й команди КОпi (визначає модифікацію ЦФ-ІВ), коду першого операнда 0i і коду другого операнда # 151; результату попередньої (i # 151; 1) -й операції Р0i-1: Р0i: = ІВ (КОпi, 0i, Р0i-1).

У відповідності зі структурою граф-схеми етапів все команди ВМ можна розділити на три типи:

• команди типу «Додавання» (Сл);

• команди типу «Запис» (Зп);

• команди типу «Умовний перехід» (УП).

Типові граф-схеми етапів представлені на рис. 6.1.

Місцезнаходження перевіряється умови також визначається кодом операції К0пi.

Структура пристрою управління

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

До складу керуючої частини УУ входять:

• мікропрограмний автомат (МПА);

• вузол переривань і пріоритетів УПП).

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

Залежно від способу формування мікрокоманд розрізняють мікропрограмні автомати:

• з жорсткою або апаратної логікою;

• з програмованої логікою.

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

• операційний вузол пристрою управління (ОПУУ);

• лічильник команд (СК).

Індекси при скороченнях П (Прийом) і В (Видача) позначають фазность переданого коду. Кожен двійковий розряд однофазного коду передається по одного ланцюга (і надходить тільки на вхід S відповідного тригера). Кожен двійковий розряд парафазного коду передається по двох ланцюгах (і надходить на входи S і R відповідного тригера), при цьому не потрібна попередня обнулення тригера-приймача.

До складу УУ можуть також входити додаткові вузли, зокрема вузол організації прямого доступу до пам'яті. Цей вузол зазвичай реалізується у вигляді самостійного пристрою # 151; контролера прямого доступу до пам'яті (КПДП). КПДП забезпечує поєднання в часі роботи операційного пристрою з процесом обміну інформацією між ОП і іншими пристроями ВМ, тим самим підвищуючи загальну продуктивність машини.

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

• МПА з ォ жорсткої サ логікою або апаратурною реалізацією;

• МПА з програмованої логікою.

Мікропрограмний автомат з програмованої логікою

В основі ідеї лежить той факт, що для ініціювання будь микрооперации досить сформувати відповідний сигнал управління (СУ) на відповідній лінії управління, тобто перевести таку лінію в активний стан. Це може бути представлено за допомогою двійкових цифр 1 (активний стан # 151; є СУ) і О (пасивний стан # 151; немає СУ). Для вказівки микроопераций, виконуваних в даному такті, можна сформувати керуюче слово, в якому кожен біт відповідає одній лінії напряму. Таке котра управляє слово називають мікрокоманда (МК). Таким чином, мікрокоманда може бути представлена ​​керуючим словом зі своєю комбінацією нулів і одиниць. Послідовність мікрокоманд, що реалізують певний етап машинного циклу, утворює микропрограмму. У термінології англійською мовою микропрограмму часто називають firmware, підкреслюючи той факт, що це щось середнє між апаратурою (hardware) і програмним забезпеченням (software). Вбудованого програмного забезпечення для кожної команди ВМ і для кожного етапу циклу команди розміщуються в спеціальному ЗУ, званому пам'яттю мікропрограм (ПМК). Процес формування СУ можна реалізувати, послідовно (з кожним тактовим імпульсом) витягуючи мікрокоманд вбудованого з пам'яті і інтерпретуючи міститься в них інформацію про сигнали управління.

Ідея зацікавила багатьох конструкторів ВМ, але була нереалізована, оскільки вимагала використання швидкої пам'яті щодо великої місткості. Знову повернулися до неї в 1964 році, в ході створення системи IBM 360. З тих пір пристрої управління з програмованою логікою стали надзвичайно популярними і були вбудовані в багато ВМ. У зв'язку з цим слід згадати запатентований академіком В. М. Глушковим принцип ступеневої микропрограммирования, який він вперше реалізував в машині ォ Промінь サ.

Принцип управління по збереженої в пам'яті вбудованого

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

де N MK # 151; загальна кількість мікрокоманд; Ncy # 151; загальна кількість формованих сигналів управління.

У свою чергу, необхідна ємність пам'яті мікропрограм дорівнює

Інформація про те, які сигнали управління повинні бути сформовані в процесі виконання поточної МК, в закодованому вигляді міститься в мікроопераціонной частини (МО) мікрокоманд. Спосіб кодування мікрооперацій багато в чому визначає складність апаратних засобів керування та його швидкісні характеристики. Застосовувані в мікрокоманда варіанти кодування сигналів управління можна звести до трьох груп: мінімальне кодування (горизонтальне мікропрограмування), максимальне кодування (вертикальне мікропрограмування) і групове кодування (змішане мікропрограмування). Структури мікропрограмних автоматів при різних способах кодування мікрооперацій показані на рис. 6.9.

При горизонтальному мікропрограмування (див. Рис. 6.9, а) під кожен сигнал управління в мікроопераціонной частини мікрокоманд виділений один розряд (R мо = N cy). Це дозволяє в рамках однієї мікрокоманд формувати будь-які поєднання СУ, чим забезпечується максимальний паралелізм виконання мікрооперацій. Крім того, відсутня необхідність в декодуванні МО і виходи регістра мікрокоманд можуть бути безпосередньо підключені до відповідних керованим точкам ВМ. Широкому поширенню горизонтального микропрограммирования проте перешкоджають великі витрати на зберігання мікроопераціонних частин микрокоманд (Емо = NMK * Ncy), причому ефективність використання ПМП виходить низькою, так як при великому числі микроопераций в кожній окремій МК реалізується лише одна або кілька з них, тобто переважна частина розрядів МО містить нулі.

При максимальному (вертикальному) кодуванні (див. Рис. 6.9, б) кожної мікрооперації присвоюється певний код, наприклад, її порядковий номер в повному списку можливих мікрооперацій. Цей код і заноситься в МО. Мікроопераціонная частина МК має мінімальну довжину, яка визначається як двійковий логарифм від числа керуючих сигналів (микроопераций) за формулою (6.2). Такий спосіб кодування вимагає мінімальних апаратних витрат в ПМП на зберігання мікрокоманд, проте виникає необхідність в дешифраторі ДшМК, який повинен перетворити код мікрооперації в відповідний сигнал управління. При великій кількості СУ дешифратор вносить значну часову затримку, а головне # 151; в кожній МК вказується лише один сигнал управління, який ініціює тільки одну микрооперацию, за рахунок чого збільшуються довжина прошивки і час її реалізації.

Останній недолік усувається при підключенні до виходів ДшМК шифратора (Ш) (див. Рис. 6.9, в), що призводить до збільшення кількості СУ, які формуються одночасно. Природно, що крім кодів окремих мікрооперацій повинні бути передбачені коди, що представляють і певні комбінації микроопераций. Для підвищення універсальності шифратор доцільно будувати на базі пристрою, що запам'ятовує.

Варіант, представлений на рис. 6.9, в, раціональний, якщо

де ND # 151; кількість виходів дешифратора. При цих умовах апаратні витрати на зберігання мікроопераціонних частин МК відносно малі:

Однак повна ємність використовуваної пам'яті дорівнює

звідки ясно, що при близьких NMK і MD варіант втрачає сенс.

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

Тут все сигнали управління (мікрооперації) розбиваються на До груп

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

У горизонтально-вертикальному методі (див. Рис. 6.9, г) в кожну групу включаються взаємно несумісні сигнали управління (мікрооперації), тобто СУ, які ніколи не зустрічаються разом в одній мікрокоманді. При цьому сигнали, зазвичай формуються в одному і тому ж такті, виявляються в різних групах. Усередині кожної групи сигнали управління кодуються максимальним (вертикальним) способом, а групи # 151; мінімальним (горизонтальним) способом.

Кожній групі Yt виділяється окреме поле в мікроопераціонной частини МК, загальна розрядність якої дорівнює

де N СУ # 151; кількість СУ, які подаються 1-м полем (групою).

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

При вертикально-горизонтальному способі (див. Рис. 6.9, д) все безліч сигналів управління (микроопераций) також ділиться на кілька груп, проте в групу включаються сигнали управління (мікрооперації), найбільш часто зустрічаються разом в одному такті. Поле МО ділиться на дві частини: М01 і М02. Поле М01. довжина якого дорівнює максимальній кількості сигналів управління (микроопераций) в групі, кодується горизонтально, а поле М02, яке вказує на приналежність до певної групи, # 151; вертикально. Зі зміною групи міняються і керовані точки, куди повинні бути спрямовані сигнали управління з кожної позиції MO1. Це досягається за допомогою демультіплексорів (ДМП), керованих кодом номера групи з поля МО.

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

Мал. 6.10. Нанопрограммное пристрій управління

Нехай в системі виробляється 200 керуючих сигналів, а загальна довжина мікропрограм становить 2048 микрокоманд. Припустимо також, що реально використовується тільки 256 різних поєднань сигналів управління. У разі звичайного УУ з горизонтальним мікропрограмування ємність керуючої пам'яті склала б 2048 х 200, - 409 600 бит. Дри нанопрограммірованіі потрібно пам'ять мікропрограм ємністю 2048 х 8 = 16 384 біт і пам'ять нанокоманд ємністю 256 х 200 = 51 200 біт. Таким чином, сумарна ємність обох видів керуючої пам'яті дорівнює 67 584 бітам.

Інакше кажучи, нанопамять реалізує функцію шифратора керуючих сигналів (див. Рис. 6.9, в). Справедливі наступні співвідношення: RM

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

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

При розбитті мікрокоманд на поля можуть діяти два принципи: по функціональному призначенню СУ і по ресурсам. Функціональне кодування передбачає, що кожне поле відповідає одній функції всередині ВМ. Наприклад, інформація в акумулятор може заноситися з різних джерел, і для вказівки джерела в мікрокоманді може бути відведено одне поле, де кожна кодова комбінація прикріплена до певного джерела. При ресурсному кодуванні ВМ розглядається як набір незалежних ресурсів (пам'ять, УВВ, АЛУ і т. П.), І кожному з ресурсів в мікрокоманді відводиться своє поле.

Забезпечення послідовності виконання мікрокоманд

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

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