1.1 Опис структурної схеми процесорного пристрою
Процесорний пристрій(як і будь-який складний цифровий пристрій) синтезується у вигляді з’єднання двох пристроїв - операційного та керуючого, показаного на рисунку 1.1.
|
Операційний пристрій - це пристрій, в якому виконуються операції. Він включає в себе регістри, суматор, канали передачі інформації, мультиплексори и для комутації каналів, шифратори, дешифратори і т.д.
Керуючий пристрій координує дії вузлів операційного пристрою; він виробляє в певній часовій послідовності керуючі сигнали, під дією яких у вузлах операційного пристрою виконуються необхідні дії.
Процес функціонування операційного пристрою розпадається на певну послідовність елементарних дій в його вузлах.
Кожна елементарна дія, яка виконується в одному із вузлів операційного пристрою протягом одного тактового періоду, називається мікрооперацією.
В певні тактові періоди одночасно можуть виконуватись декілька мікрооперацій. Така сукупність операцій, які виконуються одночасно, називається мікрокомандою, а весь набір мікрокоманд, призначених для рішення певної задачі, - мікропрограмою.
Таким чином, якщо в операційному пристрої передбачається можливість виконання n різних мікрооперацій, то із керуючого пристрою виходять n керуючих кіл, кожне із яких відповідає визначеній мікрооперації. І якщо в операційному пристрої необхідно виконати деяку мікрооперацію, то достатньо із керуючого пристрою по певному керуючому колу подати сигнал(наприклад, рівень лог.1). Внаслідок того, що керуючий пристрій визначає мікропрограму, тобто котрі і в якій часовій послідовності повинні виконуватись мікрооперації, він отримав назву мікропрограмний автомат(цифровий автомат).
Формування керуючих сигналів у1, у2….уn (рис.1.1) для виконання певних мікрокоманд може залежати від стану вузлів операційного пристрою, котрі визначаються сигналами х1, …,хs і які передаються з відповідних виходів операційного пристрою на входи керуючого пристрою. Керуючі сигнали у1, у2….уn можуть залежати також від зовнішніх сигналів хs+1, …,хL
Результати обробки, яка виконується в операційному пристрої, знімаються з його виходів z1,. ….zm
1.2 Принцип побудови керуючого пристрою на основі схемної логіки
Існує два принципово різних підходи в проектуванні мікропрограмного автомату(керуючого пристрою): використання принципу схемної логіки або принципу програмованої логіки. Розглянемо побудову керуючого пристрою на основі схемної логіки.
При застосуванні принципу схемної логіки в процесі проектування підбирається певний набір цифрових мікросхем (зазвичай малої та середньої степені інтеграції) і визначається така схема з’єднання їх виводів, яка б забезпечувала необхідне функціонування пристрою(тобто, функціонування процесорного пристрою визначається тим, які вибрані мікросхеми і за якою схемою виконано з’єднання їх виводів).
Пристрої, побудовані за принципом схемної логіки здатні забезпечувати найвищу швидкодію при заданому типі технологічних елементів. Недолік цього принципу побудови процесорних пристроїв полягає в тому, що проблемно застосувати інтегральні мікросхеми високої та надвисокої степені інтеграції. Це пов’язано з тим, що для різних процесорних пристроїв необхідно буде використовувати різні ВІС, які будуть вузькоспеціалізованими. Всяка зміна або розширення виконуваних функцій в пристроях, побудованих за принципом схемної логіки, тягне за собою демонтаж пристрою і монтаж пристрою за новою схемою.
При проектуванні керуючого пристрою необхідно сформулювати задачу, котру повинен виконати даний пристрій.
1.3 СИНТЕЗ КЕРУЮЧОГО ПРИСТРОЮ НА ОСНОВІ СХЕМНОЇ ЛОГІКИ
1.3.1 Побудова схеми алгоритму роботи керуючого пристрою
Функціонування керуючого пристрою може бути описане в словесній формі.
Приведемо в умовному записі список мікрооперацій та список ознак, які виконуються у вузлах операційного пристрою для нашого прикладу. Тоді кожному керуючому сигналу у1, у2….у7 відповідає певна мікрооперація, а ознаки Х1 та Х2 формуються в операційному пристрої. Мікрооперації визначають усі операції, що виконуються у регістрах та блоках операційного пристрою. Робота керуючого пристрою передбачає перевірку сформованих операційним пристроєм ознак.
Зручніше, звичайно, представити функціонування керуючого пристрою у вигляді алгоритму, який відображає послідовність переходів керуючого пристрою з попереднього положення в наступне і формування відповідних керуючих сигналів. Кожний керуючий сигнал викликає елементарну дію - мікрооперацію. Алгоритм функціонування керуючого пристрою, в якому відображені всі мікрооперації, приведений на рисунку 1.2, в якому прямокутник відповідає операторному блокові, а ромб- умовному.
Рисунок 1.2 - Алгоритм функціонування керуючого пристрою в мікроопераціях
Як правило, деякі мікрооперації можуть виконуватися одночасно. Такі групи мікрооперацій об’єднуються в мікрокоманди. Для формування мікрокоманд необхідно визначити, які мікрооперації можуть виконуватися одночасно(в одні і ті ж тактові періоди). Очевидно, мікрооперації У4, У6 можуть бути об’єднані в одну загальну мікрокоманду У1; мікрооперація У3 не може бути об’єднаною з будь - якими іншими мікроопераціями і, відповідно, вона буде мікрокомандою У2; мікрооперації У1, У2, У5, У7 можна виконувати також об’єднати в мікрокоманду У3. Приклад алгоритму у мікрокомандах показано на рисунку 1.3.
Рисунок 1.3- Алгоритм функціонування керуючого пристрою в мікрокомандах
1.3.2 Побудова графа функціонування керуючого пристрою
Керуючий пристрій є логічним пристроєм послідовного типу. Мікрокоманда, яка видається в наступному тактовому періоді, залежить від того, яка мікрокоманда видається в біжучому тактовому періоді, тобто, від стану, в якому знаходиться пристрій. Для визначення станів пристрою проводиться розбивка схеми алгоритму, тобто визначається кількість положень керуючого пристрою (положення відмічається після операторного блоку). З рисунку 1.3 видно, що синтезований керуючого пристрою має чотири положення: а0, а1, а2, а3. У вершинах графа вказуються всі положення керуючого пристрою.. Вершини з’єднуються гілками, над якими вказують сигнали-умови, які викликають перехід в наступний стан, і керуючі сигнали, які формуються в даному положенні. Робота керуючого пристрою починається з початкового положення а0. В це положення повертається керуючого пристрою в кінці алгоритму. Для забезпечення заданої кількості положень в склад керуючого пристрою включають схему регістру стану, який складається з тригерів. Кількість тригерів визначається з умови 2к N, де к- кількість тригерів, N- кількість положень керуючого пристрою. Граф переходів керуючого пристрою показано на рисунку 1.4
|
1.3.4 Побудова таблиці функціонування пристрою
Після побудови графу переходів керуючого пристрою здійснюють кодування станів цього пристрою.
Кожному положенню керуючого пристрою відповідає певна комбінація вихідних сигналів тригерів. Встановлення відповідності між положенням керуючого пристрою та станом тригерів називається кодуванням положень керуючого пристрою
Число розрядів коду вибирається з наступних міркувань: якщо число станів рівне М, то для забезпечення М кодових комбінацій необхідно взяти k- розрядний код, де k- мінімальне ціле число, при якому виконується нерівність М 2 . В нашому прикладі М=4 і k=2. Таким чином, стан пристрою відображається двох розрядними кодовими комбінаціями. Задамо відповідність між станом пристрою та кодовими комбінаціями в таблиці 1.2
Таблиця 1.2- Кодування положень цифрового автомата
Стан | Кодована комбінація | |
Q2 | Q1 | |
а0 | ||
а1 | ||
а2 | ||
а3 |
1.3.3 Структурна схема керуючого пристрою
Структурна схема керуючого пристрою представлена на рисунку 1.5
Рисунок 1.5- Структурна схема керуючого пристрою
Тригери Tr1 та Tr2 утворюють двох розрядний регістр біжучого стану пристрою. Комбінаційну схему на логічних елементах(КЛС) в подальшому називають комбінаційним вузлом (КВ). Комбінаційний вузол за станом регістра (комбінації значень Q2 та Q1) і значенням умов Х2 та Х1, котрі поступають з виходу операційного пристрою, визначає новий стан, в який повинен перейти пристрій. При цьому формуються такі сигнали S2, R2, S1, R1, які в момент додатного фронту синхронізуючого сигналу С встановлюють в регістрі кодову комбінацію, яка відповідає наступному стану керуючого пристрою. Комбінаційний вузол формує також керуючі сигнали У1,У2,У3,У4,У5,У6,У7, під дією яких в операційному пристрої виконуються мікрооперації.
Подальші операції по синтезу пристрою зводяться до синтезу комбінаційного вузла.
1.3.4 Побудова таблиці функціонування керуючого пристрою
Таблиця функціонування містить графи, в які заносяться дані поточного стану, значення вхідних умов, дані наступного стану, в який повинен перейти пристрій та вихідні сигнали комбінаційного вузла.
Функціонування комбінаційного вузла пристрою, який розглядається, приведено в таблиці 1.3
Таблиця 1.3-Таблиця функціонування комбінаційного вузла пристрою
Біжучий стан | Наступний стан | Умови переходу | Вихідні сигнали | |||||
Позначення | Кодова комбінація | Позначення | Кодова комбінація | Установка тригерів регістра | Керуючі сигнали мікрооперацій | |||
Q | Q | Q 2 | Q | |||||
а3 | а0 | R2, R1 | - | |||||
а0 | а1 | - | S1 | Y1: У4,У6 | ||||
а3 | а1 | R2 | - | |||||
а1 | а2 | S2, R1 | Y2: У3 | |||||
а1 | а3 | S2 | Y3: У1,У2,У3,У7 | |||||
а2 | а3 | - | S1 | Y3: У1,У2,У3,У7 |
За значеннями біжучого стану, який приймається із регістра станів, і значенням умов Х1 та Х2, які поступають з операційного пристрою, в таблиці визначається наступний стан, сигнали R2, S2 R1, S1, необхідні для встановлення регістра в наступний стан, та керуючі сигнали У1, У2,… У7. Заповнення таблиці здійснюється наступним чином. В графі наступного стану задається а0; по графу на рисунку 1.4 знаходиться гілка, яка веде у вузол, котрий відповідає стану а0; знайдена гілка виходить із вузла а3, відповідно, біжучий стан а3; на гілці вказано умову переходу Х2. Заносимо у таблицю кодові комбінації а3 і а0, при цьому виясняється, що перехід а3 а0 зв’язаний з переходами Q2: 1 0 та Q1: 1 0. Із таблиці переходів R S- тригера (таблиця 1.4) визначаємо, що R2 =1 і R1= 1. Сигнали мікрооперацій не формуються.
Таблиця 1.4 - Таблиця переходів R S- тригера
Вид переходу тригера | Сигнали на входах RS – тригера | |
S | R | |
0 0 | Х | |
0 1 | ||
1 0 | ||
1 1 | Х |
Далі в наступну стрічку таблиці заноситься наступний стан а1, із графу виясняється, що перехід в стан а1 можливий по двох гілках, які виходять із станів а0 та а3. кожній із гілок в таблиці функціонування відповідає окрема стрічка. Заповнюємо стрічки аналогічно. Число стрічок в таблиці рівне числу гілок у графі.
1.3.5 Побудова логічних виразів для вихідних величин комбінаційного вузла
Для побудови КЛС необхідно записати вихідні логічні функції, які описують кожен з вказаних вихідних сигналів. Логічний вираз записуємо у наступному вигляді: в лівій частині виразу вказуємо змінні, приведені в графі вихідних величин, а в правій частині - логічний вираз, представлений через біжучий стан аі і значення умови переходу. Для нашого прикладу матимемо наступні логічні вирази:
R2, R1 =а3• Х2; S1, У4,У6, =а0;
R2= а3• S2 R1, У3 = а1 •Х1
S2, У1,У2,У5,У7 =а1• S1, У1,У2,У5,У7=а2
Потім визначають логічний вираз для кожної вихідної величини. Для цього записують рівність, в лівій частині якої вказують вихідну величину, в правій частині - зв’язані через операцію диз’юнкції праві частини тих із раніше складених виразів, в яких представлена дана вихідна величина. Отримані логічні вирази приводять до мінімальної форми:
R2 =а3• Х2 а3• = а3 S2 = а1 •Х1 а1• = а1;
R1 = а3• Х2 а1 •Х1; S1 = а0 а2;
У4,У6, =а0; У3 = а1 •Х1;
У1,У2,У5,У7 =а1• а2;
Перевірку мінімальної форми логічних виразів здійснюємо за допомогою карт Карно(таблиця 1.5). За таблицею 1.3 складаються карти Карно для всіх вихідних сигналів КЛС. При складанні карт Карно треба мати на увазі, що вихідні логічні функції залежать від сигналів-умов Х1 і Х2 вихідних сигналів тригерів, які відповідають біжучому станові цифрового автомата (Q Q ) вказані сигнали є аргументами для вихідних логічних функцій КЛС. За картами Карно одержуємо мінімальні диз’юнктивні (при об’єднанні сусідніх одиниць) або кон”юктивні (при об’єднанні сусідніх нулів) форми вихідних логічних функцій КЛС. Якщо якийсь з сигналів-умов не аналізується при даному переході, то у відповідній стрічці (таблиця 1.3) ставимо значок «-«, якщо значення сигналу на вході тригера для даного переключення тригера байдуже (див. табл.1.4), то у відповідній стрічці табл.1.3 ставимо значок «* «. Прикладом карт Карно є таблиця 1.5. Можна вважати, що клітинки із значками «*» або «-«містять 0 чи 1, залежно від того, що зручніше з точку зору мінімізації.
Таблиця 1.5- Карти Карно
Оскільки маємо 7 логічних виразів, то будуємо для кожного виразу окремо карту Карно, яких теж буде 7.
Будуємо карту Карно для вихідного сигналу R2.
|
|
- | - | - | ||
- | - | - | - | |
* | * | |||
- | - | - | - |
|
R2 = а3
Будуємо карту Карно для вихідного сигналу R1
00 | ||||
- | * | - | ||
* | - | * | ||
R1= R1 = а3• Х2 а1 •Х1
Будуємо карту Карно для вихідного сигналу S2
- | - | - | - | |
* | * | |||
- | - | - | - | |
- | - | - | - |
S2 = а1
Будуємо карту Карно для вихідного сигналу S1
* | * | * | * | |
- | - | - | - | |
- | - | - | - | |
* | * | * |
S1 = а0 а2;
Будуємо карту Карно для вихідного сигналу У4,У6,
* | * | * | * | |
- | - | - | - | |
- | - | - | - | |
- | - | - | - |
У4,У6, =а0;
Будуємо карту Карно для вихідного сигналу У3;
- | - | - | - | |
* | * | * | ||
- | - | - | - | |
- | - | - | - |
У3 = а1 •Х1;
Будуємо карту Карно для вихідного сигналу У1,У2,У5,У7
- | - | - | - | |
- | - | * | ||
- | - | - | - | |
* | * | * | * |
У1,У2,У5,У7 =а1• а2;
1.3.6 Побудова функціональної схеми комбінаційного вузла
За одержаними виразами будується логічна схема комбінаційного вузла. Значення а0,а1,а2, а3, які входять у вираз та визначаються комбінацією значень Q2 та Q1, можуть бути отриманими за допомогою дешифратора DC. Решта частина схеми будується у відповідності з отриманими для вихідних величин логічними виразами. Схема КЛС для даного прикладу приведена на рисунку 1.7
Рисунок 1.7- Функціональна схема комбінаційного вузла
Перелік використаних МС:
DD1 - тригер
DD 2 - К155ИД1
DD3- К155ЛН1
DD4- К155ЛЛ1
DD5- К155ЛИ1