
- •Полтава
- •Умовні скорочення
- •Розділ 1. Основи аналізу і синтезу логічних пристроїв
- •1.1. Загальні відомості про цифрові автомати
- •1.2. Логічні основи цифрової обчислювальної техніки
- •1.3. Арифметичні основи обчислювальної техніки
- •1.4. Основи синтезу логічних пристроїв
- •1.5. Лабораторний практикум. Дослідження складних логічних елементів
- •Контрольні запитання та завдання
- •Розділ 2. Аналіз і синтез комбінаційних функціональних цифрових вузлів
- •2.1. Шифратори і дешифратори
- •2.2. Мультиплексори і демультиплексори
- •2.3. Перетворювачі кодів, схеми контролю та компаратори слів
- •2.4. Лабораторний практикум. Дослідження схем комбінаційних цифрових пристроїв
- •Контрольні запитання та завдання
- •Розділ 3. Аналіз і синтез послідовнісних функціональних цифрових вузлів
- •3.1. Тригери
- •3.2. Регістри
- •3.3. Лічильники та дільники частоти слідування імпульсів
- •3.4. Основи синтезу послідовнісних цифрових пристроїв
- •3.5. Лабораторний практикум. Дослідження схем послідовнісних цифрових пристроїв
- •Контрольні запитання та завдання
- •Розділ 4. Пристрої пам’яті
- •Загальні відомості про запам’ятовувальні пристрої
- •Класифікація напівпровідникових запам’ятовувальних пристроїв
- •4.2. Постійні та оперативні запам’ятовувальні пристрої
- •Лабораторний практикум. Дослідження запам’ятовувальних пристроїв
- •Контрольні запитання та завдання
- •Розділ 5. Основи побудови арифметико-логічних і процесорних пристроїв
- •5.1. Алгоритми виконання арифметичних операцій над двійковими числами зі знаком
- •Виконання арифметичних операцій у пристроях із „плавучою” комою
- •5.2. Суматори
- •5.3. Помножувачі двійкових чисел
- •5.4. Арифметико-логічні пристрої. Узагальнена структура процесорного пристрою
- •5.5. Лабораторний практикум. Дослідження схем цифрових автоматів, що виконують арифметичні операції
- •Контрольні запитання та завдання
- •Контрольні завдання
- •1. Виконання арифметичних операцій в еом
- •Варіанти завдання:
- •2. Синтез логічних пристроїв
- •Порядок виконання завдання:
- •Варіанти завдання:
- •Використана література
5.4. Арифметико-логічні пристрої. Узагальнена структура процесорного пристрою
З порівняння пристрою додавання і віднімання з пристроєм множення, що реалізовує алгоритм з використанням одного багаторозрядного паралельного суматора, видно, що більшість елементів цих схем співпадає, що говорить про можливість їх об’єднання у вигляді єдиного універсального пристрою, здатного виконувати повний набір основних арифметичних і логічних операцій. Такий пристрій називають арифметико-логічним пристроєм. Він виконує додавання чисел апаратним способом, а множення – програмним, як циклічну послідовність розглянутих раніше елементарних дій. Саме такі АЛП використовуються в сучасних універсальних МП.
Очевидно, що для організації роботи обох розглянутих пристроїв потрібно використання зовнішніх сигналів керування (наприклад, сигналу z у пристрої віднімання і сигналу n встановлення у початковий стан лічильника у пристрої множення). Тому універсальний АЛП повинен працювати разом із пристроєм керування.
Арифметико-логічний пристрій (операційний пристрій) призначений для виконання арифметичних і логічних операцій над числами (словами), що надходять до нього, за сигналами з пристрою управління.
Пристрій управління призначений для організації процесу обчислень. Він координує дії АЛП, генеруючи у визначеній часовій послідовності керуючі сигнали, під дією яких у вузлах АЛП виконуються необхідні операції.
Сукупність АЛП і пристрою керування називають процесорним пристроєм або просто процесором.
Сучасні процесори, як правило, реалізовуються у вигляді однієї мікросхеми (рідше – у вигляді декількох мікросхем) і називаються мікропроцесором.
Структура процесорного пристрою показана на рисунку 5.12.
Формування керуючих сигналів y1,…, yN для виконання визначених мікрокоманд може залежати від стану вузлів АЛП, обумовленого сигналами x1,…, xS, які передаються по відповідних колах з виходів АЛП на входи керуючого пристрою. Керуючі сигнали y1,…, yN можуть залежати також від зовнішніх сигналів xS+1,…, xL. Результати оброблення вхідних даних, що виконано у АЛП, знімають з його виходів z1,…, zM.
Рис.5.12. Схема процесорного пристрою
Процес функціонування АЛП поділяється на визначену послідовність елементарних дій в його вузлах. З таких елементарних дій можна виділити:
встановлення регістра в деякий стан (наприклад, запис в регістр числа 0, що позначається як Rg←0);
інвертування вмісту розрядів регістра, що позначається як
;
пересилання вмісту одного вузла в інший вузол (наприклад, пересилання вмісту регістра Rg1 в регістр Rg2, що позначається як Rg2←(Rg1));
зсув вмісту вузла ліворуч, праворуч (наприклад, зсув на один розряд праворуч вмісту регістра, що позначається як Rg←Зсв П(Rg));
рахунок, для якого число в лічильнику збільшується або зменшується на одиницю (Ст←(Ст)±1);
додавання (наприклад, Rg2←(Rg2)+(Rg1));
порівняння вмісту регістра з деяким числом;
деякі логічні операції.
Кожна елементарна дія, яка виконується в одному з вузлів АЛП протягом одного тактового періоду називається мікрооперацією. Сукупність мікрооперацій, що виконуються за один такт, називається мікрокомандою, а весь набір мікрокоманд, призначений для розв’язання визначеної задачі, – мікропрограмою.
Таким чином, якщо в АЛП передбачається можливість виконання N різних мікрооперацій, то з пристрою керування виходять N керуючих кіл, кожне з яких відповідає визначеній мікрооперації. Якщо в АЛП необхідно виконати деяку мікрооперацію, то досить із керуючого пристрою по певному керуючому колу подати в АЛП сигнал (наприклад, рівень логічної 1). Внаслідок того, що пристрій керування визначає мікропрограму, тобто які і у якій часовій послідовності повинні виконуватися мікрооперації, він одержав назву мікропрограмний автомат.
Синтез пристрою множення
Розглянемо особливості синтезу процесорного пристрою на прикладі пристрою множення з використанням багаторозрядного паралельного суматора. Очевидно, що структурну схему операційної частини пристрою множення можна скласти на підставі евристичного підходу, виходячи із міркувань які були викладені в розділі 5.3. Тоді, у складі структурної схеми (рис. 5.11), можна виділити n-розрядні регістри – Rg1, Rg2, де розміщуються відповідно множене і множник та регістр Rg3 – акумулятор, паралельний комбінаційний суматор – Σ, віднімаючий лічильник кількості повторень циклу множення – Ст.
Для організації циклічної роботи пристрою множення з розміщенням 2n + 1-розрядного результату в двох регістрах (в регістрі Rg3 розміщуються старші розряди, в регістрі Rg2 – молодші розряди) в регістрі Rg2 передбачена мікрооперація зсуву вмісту на один розряд праворуч і мікрооперація пересилання в старший розряд цього регістра вмісту молодшого розряду регістра Rg3.
Рис. 5.13. Структурна схема операційної частини пристрою множення
Суматор додає числа, які надходять паралельним кодом з регістрів Rg1 і Rg3 (для збереження переносу, який може виникнути із старшого розряду при додаванні двох n-розрядних чисел, у ньому передбачений допоміжний (n + 1)‑й розряд. Результат виконаної в суматорі операції приймається до регістра Rg3, який повинен мати те ж число розрядів n + 1, що і суматор. Крім мікрооперації прийняття суми, в регістрі Rg3 передбачені мікрооперації установлення нульового значення і зсуву його вмісту на один розряд праворуч. На початку циклу множення в лічильник приймається встановлене на його вході число n – кількість часткових добутків і надалі виконується мікрооперація віднімання одиниці із вмісту лічильника. Усі ці дії виконуються під дією певних керуючих сигналів, позначених як y1,...y7.
П
ри
функціонуванні в операційному пристрої
формуються такі ознаки: x1
- вміст молодшого розряду регістра Rg2
і x2
- результат перевірки на нуль вмісту
лічильника.
На підставі схеми (рис. 5.13) можна скласти алгоритм функціонування пристрою множення в мікроопераціях, зображений на рисунку 5.14.
М
Рис. 5.14. Алгоритм
мікропрограми множення в мікроопераціях
Під дією сигналів y4, y5, y6 відбувається відповідно зсув праворуч в регістрі Rg2 – витіснення вмісту молодшого розряду (блок 5), запис вмісту молодшого розряду регістра Rg3 в старший розряд регістра Rg2 (блок 6), зсув праворуч в регістрі Rg3 (блок 7).
Наприкінці поточного циклу виконується мікрооперація віднімання одиниці із вмісту лічильника (керуючий сигнал y7, блок 8 алгоритму) і формування ознаки x2 (блок 9). Ознака x2 = 0, якщо вміст лічильника не дорівнює 0 і тоді відбувається перехід на новий цикл і x2 = 1, якщо вміст лічильника дорівнює 0, що призводить до закінчення мікропрограми множення.
Д
ля
формування мікрокоманд необхідно
вирішити, які мікрооперації можуть
виконуватися одночасно. Очевидно,
мікрооперації y1
і y2
можуть бути
об’єднані в мікрокоманду Y1;
мікрооперація y3
не може
бути об’єднаною з іншими і, в подальшому,
вона одна представляє мікрокоманду Y2;
мікрооперації y4,
y5,
y6,
y7
можуть виконуватися спільно при створенні
регістрів на тригерах з динамічними
входами синхронізації і, тому, можуть
бути об’єднані у мікрокоманду Y3.
На рисунку 5.15 показаний алгоритм мікропрограми множення, побудований з вищенаведених міркувань в мікрокомандах.
П
Рис. 5.15. Алгоритм
мікропрограми множення в мікрокомандах
О
тже,
отримані відмітки а0,
а1,
а2,
а3
відповідають чотирьом станам пристрою
керування.
Д
Рис. 5.16. Граф
функціонування ПУ
Стани |
Кодова комбінація |
|
Q2 |
Q1 |
|
a0 |
0 |
0 |
a1 |
0 |
1 |
a2 |
1 |
0 |
a3 |
1 |
1 |
Таблиця 5.3
одування стану пристрою. У процесі кодування станів кожному стану пристрою повинна бути поставлена у відповідність деяка кодова комбінація. Розрядність коду обирається із наступних міркувань: якщо число станів дорівнює М, то для забезпечення М кодових комбінацій потрібен k‑розрядний код, де k - найменше ціле число, при якому виконується нерівність М ≤ 2k. У даному випадку М = 4 і k = 2. Таким чином, стани пристрою відображаються дворозрядними кодовими комбінаціями. Задамо відповідність між станами пристрою і кодовими комбінаціями таблицею 5.3.
Структурна схема
пристрою керування.
Структурна
схема даного пристрою наведена на
рисунку 5.17. Триггери Т1
і Т2
утворюють дворозрядний регістр поточного
стану (регістр прапорів) пристрою.
Комбінаційний вузол за станом регістра
(комбінація значень прямих виходів
тригерів – Q1
і Q2)
і по значенням ознак x1
і x2,
які надходять з операційного пристрою
визначають новий стан, в який повинний
перейти пристрій к
Рис. 5.17.
Структурна схема
ПУ
Подальші операції щодо синтезу пристрою зводяться до синтезу його комбінаційного вузла.
Побудова таблиці функціонування пристрою керування. Таблиця функціонування містить графи, в які заносяться дані поточного стану, значення вхідних умов, дані наступного стану, у який повинен перейти пристрій, і вихідні сигнали комбінаційного вузла.
Функціонування комбінаційного вузла даного пристрою подано в таблиці 5.4.
Для заповнення таблиці 5.4 використовується граф функціонування ПУ (рис. 5.16) з якого знаходиться напрямок переходів з поточного стану до наступного, відповідні умови переходу і мікрокоманди. Кількість рядків у таблиці дорівнює числу ребер у графі.
Для визначення комбінації сигналів на входах RS‑тригерів, які призводять до установлення регістра стану з поточного у наступний стан – зміни сигналів Q2, Q1; застосовується таблиця переходів RS‑тригера з прямими входами (таблиця 5.5).
Таблиця 5.4
Поточний стан |
Наступний стан |
Умова переходу |
Вихідні сигнали комбінаційного вузла ПУ |
||||||||
Стан ПУ |
Вихідні сигнали регістра стану |
Стан ПУ |
Вихідні сигнали регістра стану |
Сигнали на інформаційних входах тригерів регістра стану |
Мікрокоманди |
||||||
Q2 |
Q1 |
Q2 |
Q1 |
R2 |
S2 |
R1 |
S1 |
||||
a0 |
0 |
0 |
a1 |
0 |
1 |
- |
*/0 |
0 |
0 |
1 |
Y1 |
a1 |
0 |
1 |
a2 |
1 |
0 |
х1 |
0 |
1 |
1 |
0 |
Y2 |
a1 |
0 |
1 |
a3 |
1 |
1 |
|
0 |
1 |
0 |
*/0 |
Y3 |
а2 |
1 |
0 |
a3 |
1 |
1 |
- |
0 |
*/0 |
0 |
1 |
Y3 |
a3 |
1 |
1 |
a0 |
0 |
0 |
x2 |
1 |
0 |
1 |
0 |
- |
a3 |
1 |
1 |
a1 |
0 |
1 |
|
1 |
0 |
0 |
*/0 |
- |
Таблиця 5.5
Вид переходу RS-тригера |
Сигнали на входах RS-тригера |
||
Qt |
Qt+1 |
S |
R |
0 |
0 |
0 |
* |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
* |
0 |
П
R2=
a3
x2 S2=
a1
x1
a1
= a1; R1=
a3
x2
a1
x1; S1=
a0
a2; Y1
= a0; Y2
= a1
x1; Y3
= a1·
a2.
Таблиця 5.6
a3
= a3;
Побудова логічної схеми комбінаційного вузла. За отриманими виразами будується логічна схема комбінаційного вузла. Значення станів аі, які входять в ЛФ, визначені комбінацією значень Q2 і Q1, і можуть бути отримані за допомогою дешифратора. Інша частина схеми будується відповідно до отриманих для вихідних величин логічними виразами. Отримана схема комбінаційного вузла ПУ наведена на рисунку 5.18.
Рис. 5.18. Логічна схема комбінаційної частини ПУ
Такий підхід до проектування мікропрограмного автомата (керуючого пристрою): використовує принцип схемної логіки. Іноді цей принцип називають апаратною реалізацією ЦА. У цьому випадку, тобто при використанні принципу схемної логіки, у процесі проектування підбирається деякий набір цифрових мікросхем (частіше за все малого і середнього ступеня інтеграції) і визначається така схема з’єднання їх виводів, котра забезпечує необхідне функціонування. Пристрої, побудовані за таким принципом, здатні забезпечувати найвищу швидкодію при заданому типі технології елементів, однак такі пристрої завжди виходять вузькоспеціалізованими.
Інший принцип програмованої логіки припускає побудову деякого універсального пристрою на одній або на кількох мікросхемах великого ступеня інтеграції (ВІС). Необхідний алгоритм функціонування пристрою тут забезпечується розміщенням у його пам’яті деякої певної програми (або мікропрограми).
Якщо у пристрої, побудованому за принципом схемної логіки, усяка зміна або розширення набору виконуваних функцій тягне за собою його демонтаж і монтаж за новою схемою, то при використанні програмованої логіки така зміна досягається лише заміною програми, що зберігається у пам’яті, на нову. Тому в останні два десятиліття реалізація складних ЦА програмованою логікою має переважне поширення.