
- •4.3 Проектування керуючого автомата, який забезпечує управління
- •1 Завдання на курсовий проект
- •2 Зміст курсового проекту
- •3 Стислі теоретичні відомості
- •3.1 Проектування комбінаційних схем
- •3.2 Мінімізація перемикальних функцій
- •3.3 Розробка операційних схем обчислювальних пристроїв та
- •3.4 Проектування керуючих автоматів
- •3.5 Реалізація операції множення двійкових чисел
- •3.6 Реалізація операції ділення двійкових чисел
- •4 Приклади проектування цифрових пристроїв
- •4.1 Проектування пристрою відображення символів на семисегментному
- •4.1.1 Відображення символів у вигляді семисегментного індикатору
- •4.1.2 Розробка таблиці істинності для сегментів індикатору
- •4.1.3 Отримання мднф функцій сегментів семисегментного індикатора та побудова
- •4.1.4 Отримання мкнф функцій сегментів семисегментного індикатора та побудова
- •4.1.5 Оцінка складності комбінаційних схем по Квайну та побудова функціональної
- •4.2 Проектування керуючого автомата, який забезпечує управління обчислювальним
- •4.2.1 Побудова функціональної схеми обчислювального пристрою, що виконуватиме
- •4.2.2 Побудова змістовного алгоритму виконання операції множення
- •4.2.3 Складання графічної схеми алгоритму (гса) роботи керуючого автомату
- •4.2.4 Кодування та розмітка гса роботи керуючого автомату Мура
- •4.2.5 Побудова графу роботи керуючого автомата Мура
- •4.2.6 Кодування станів керуючого автомату
- •4.2.7 Вибір елементарних автоматів (тригерів) та запис їх підграфів переходів
- •4.2.8 Побудова структурної таблиці керуючого автомата Мура
- •4.2.9 Запис та мінімізація перемикальних функцій (пф) вихідних керуючих сигналів
- •4.2.10 Запис та мінімізація пф збудження елементарних автоматів (тригерів)
- •4.2.11 Побудова функціональної схеми керуючого автомата.
- •4.3 Проектування керуючого автомата, який забезпечує управління обчислювальним
- •4.3.1 Побудова функціональної схеми обчислювального пристрою, що виконуватиме
- •4.3.2 Побудова змістовного алгоритму виконання операції ділення
- •4.3.3 Складання графічної схеми алгоритму (гса) роботи керуючого автомату
- •4.3.4 Кодування та розмітка гса роботи керуючого автомату Мура
- •4.3.5 Побудова графу роботи керуючого автомата Мура
- •4.3.6 Кодування станів керуючого автомату
- •4.3.7 Вибір елементарних автоматів (тригерів) та запис їх підграфів переходів
- •4.3.8 Побудова структурної таблиці керуючого автомата Мура
- •4.3.10 Запис та мінімізація пф збудження елементарних автоматів (тригерів)
- •4.3.11 Побудова функціональної схеми керуючого автомата.
- •5 Перелік посилань
3.3 Розробка операційних схем обчислювальних пристроїв та
МІКРОАЛГОРИТМІВ ВИКОНАННЯ ОПЕРАЦІЙ
Перетворення інформації в арифметико-логічних пристроях комп’ютерів провадиться
шляхом послідовного виконання мікрооперацій над машинними словами (кодами чисел,
символами та іншими об’єктами).
Під мікроопераціями розуміють елементарну дію, в результаті виконання якої можуть
змінюватися значення слів.
Машинне слово можна задати перерахуванням розрядів чи за допомогою
16
ідентифікаторів. Наприклад, 01011001 – 8-розрядне машинне слово, яке завдано переліком всіх
розрядів. Ідентифікатори можуть представлятися рядком символів (бук та цифр), починаючи з
букви. Доцільно як ідентифікотори використовувати позначення вузлів, на яких виконуються
мікрооперації, наприклад: RG1, CT. Для визначення довжини слів та впорядкування номерів
розрядів використовують додаткові дані у дужках, наприклад RG1(0…31), CT(7…0).
Алгебраїчні перетворення даних у цифрових пристроях виконуються за допомогою
таких мікрооперацій як пересилання, підсумовування, зсув, підрахування (декремент, інкремент),
інвертування.
Для позначення мікрооперації будемо використовувати оператор присвоювання ( : = ).
Пересилання слів здійснюється, як правило, між двома регістрами. Результатом
пересилання є запис слова в регістр, що є приймачем слова. Джерелом інформації, крім регістрів,
можуть бути зовнішні входи пристрою, на які надходять дані, наприклад, з пам'яті, загальної
шини системи та ін.
Як приклад відповідно на рисунку 3.3.1 показані операційні схеми для виконання
мікрооперацій пересилання даних Р1:=DATA, Р1:=Р2, Р1[31…24]:=Р2[7…0].
Для підсумовування слів в схемі використовують суматор. Наприклад, операційні схеми
на рисунку 3.3.2 відповідають мікроопераціям Р1:=Р1+Р2 і Р1:=Р2+Р3.
Мікрооперації інкремента (CT := CT+1) та декремента (CT := CT-1) виконуються на
лічильнику.
Р1
Р1
Р1
31 0
31
24
7
0
DATA
Р2
Р2
31 0
Рисунок 3.3.1 - Операційні схеми для
виконання мікрооперацій пересилання даних
P1
P1
СМ
СМ
P2
P2
P3
Рисунок 3.3.2 - Операційні схеми для виконання
мікрооперацій
підсумовування даних
Мікрооперації зсуву слів можуть бути виконані на регістрі зсуву праворуч або ліворуч. Для
означення напрямку зсуву використовують символи R (right) та L (left). За допомогою складеного
слова можна визначати значення розряду, який заповнюється внаслідок зсуву. Наприклад,
мікроопераціям Р1:=0.R(Р1) і Р1:=L(P1).P2[7]
відповідають операційні схеми на
рисунку 3.3.3.
17
Р1
Р1
Р2
0
7 0
Рисунок 3.3.3 - Операційні схеми для виконання мікрооперацій
зсуву
Інвертування розрядів двійкових чисел можна забезпечити лінійкою логічних елементів
(інверторів, елементів ВИКЛЮЧНЕ АБО).
Послідовність мікрооперацій, що забезпечує задане перетворення інформації, називається
мікроалгоритмом.
Для опису мікроалгоритмів можна використовувати графічні схеми алгоритмів (ГСА).
Мікроалгоритми можуть складатися як у змістовній, так і в закодованій формі. У першому
випадку мікрооперації записують у змістовній формі (наприклад, через оператори
присвоювання). Для цього достатньо скласти тільки операційну схему пристрою.
Для закодованого мікроалгоритма необхідно більш докладніша схема (наприклад,
функціональна або принципова), яка пояснює спосіб керування кожною мікрооперацією,
включаючи означення керуючих сигналів. Змістовні мікрооперації замінюються на сукупність
керуючих сигналів, які забезпечують виконання мікрооперацій.
В арифметико-логічному пристрої (АЛП) з розподіленою логікою (інакше називають АЛП з
закріпленими мікроопераціями), кожний вузол (регістр, лічильник) використовує власні логічні
ланцюги для виконання мікрооперацій.
Побудова таких АЛП здійснюється в такий спосіб:
• для кожної операції будується операційна схема і змістовний мікроалгоритм.
Рекомендується обирати мікроалгоритми (МА), такі що краще сполучаються, тобто вимагають
однакового напрямку зсуву в регістрах, однакового напрямку суматорів та ін.;
• будується функціональна (принципова) схема АЛП з указівкою керуючих сигналів для
кожного вузла;
• складається закодований мікроалгоритм;
• синтезується пристрій керування.
Розглянемо як приклад процес побудови пристрою із розподіленою логікою для виконання
операції D=2A2+0,5B.
Операційна схема для виконання означеної операції зображена на рисунку 3.3.4, де RG1,
RG2 – регістри, SM – суматор, CT – лічильник.
RG1
0 n
SM
0 n 0 n
CT=0
RG2
CT
0 n
0 n
Рисунку 3.3.4 - Операційна схема пристрою
Для побудови змістовного мікроалгоритму в операторних вершинах розмістимо
мікрооперації Yi (i=1,2,…). При цьому, в кожній операторній вершині розміщуються
мікрооперації, що можуть бути виконані водночас. У логічних вершинах розмістимо вхідні
18
сигнали, які є логічними умовами.
Змістовний мікроалгоритм виконання операції показаний на рисунку 3.3.5.
У вихідному стані операнд В записаний в регістр RG2, а операнд А – в регістр RG1 і в
лічильник CT. В першому такті шляхом зсуву вліво операнду А в регістрі RG1 здійснюється
подвоєння цього операнду і шляхом зсуву вправо операнду В у RG2 здійснюється ділення
операнду В на 2. Далі до вмісту RG2 А раз додається слово, записане в RG1. Після кожного
додатка вміст СT зменшується на 1. Обчислення закінчуються при виконанні умови СТ=0.
Відповідний цьому сигнал можна одержати, наприклад, дешифруванням нульового стану С.
Результат операції формується в регістрі RG2.
На основі операційної схеми і змістовного мікроалгоритму одержимо функціональну схему
пристрою, яка зображена на рисунку 3.3.6.
На функціональній схемі вказані керуючі сигнали для всіх вузлів пристрою й способи
формування умов:
WR – запис інформації в регістри;
SHR – зсув управо вмісту регістрів;
SHL – зсув уліво вмісту регістрів;
dec – декремент лічильника;
inc – інкремент лічильника;
d – сигнал, що дозволяє одержати доповнювальний код числа для реалізації операції
віднімання.
Початок
Ні
1
Пуск=1
Так
2 Y1: RG1:=L [RG1].0
Y2: RG2:=0.R (RG2)
3
Y3: RG2:=RG2+RG1
Y4: CT:=CT+1
Ні
4
CT=0
Так
5
Так
Пуск=1
Ні
Кінець
Рисунок 3.3.5 - Графічна схема
змістовного мікроалгоритму
операції
Для виконання мікрооперації на регістрі необхідно подати одиничний сигнал на відповідний
керуючий вхід. На всі інші керуючі входи цього регістру повинен подаватися нульовий сигнал.
Визначимо сукупність керуючих сигналів, необхідних для виконання кожної мікрооперації.
Мікрооперації Y1, Y2, Y3 та Y4 кодуються відповідно керуючими сигналами SHL1, SHR2, WR1
та inc.
19
RG1
WR1
0 n
SHL1
SHR1
SM
0 n 0 n
CT=0
1
…
RG2
CT
WR2
0 n
WR3
0 n
SHL2
dec
SHR2
inc
Рисунок 3.3.6 - Функціональна схема пристрою
Для одержання закодованого мікроалгоритму представимо в змістовному мікроалгоритмі
описи логічних умов їхніми позначеннями (табл. 3.3.1), описи мікрооперацій – відповідними
керуючими сигналами. Закодований мікроалгоритм наведений на рисунку 3.3.7.
Таблиця 3.3.2 Таблиця логічних умов
Позначення
Логічні
умови
логічних умов
Пуск=1
х 1
С=1
х 2
Отриманий закодований алгоритм буде вихідним для побудови керуючого автомата для
керування операційним пристроєм.
Керуючі сигнали SHL1 і SHR2 генеруються керуючим автоматом в один і той самий такт
автоматного часу, отже, можуть бути замінені одним керуючим сигналом y 1, сигнали WR2, inc замінимо сигналом y 2.
Будемо вважати, що прилад керування необхідно побудувати у вигляді автомата Мілі (розділ
3.4). У цьому випадку закодований мікроалгоритм буде мати вигляд, наведений на рис. 8.8.
20
Початок
Початок
a1
1
0
1
0
x
x 1
1
1
1
2
2
y1
SHL1, SHR2
3
3
y2
WR1, inc
а2
0
4 x
0
4
2
x 2
1
1
5
1
x
5
1
1
x 1
0
a
0
1
Кінець
Кінець
Рисунок 3.3.7 - Графічна схема
Рисунок 3.3.8 Графічна схема
закодованого мікроалгоритму
відміченого закодованого
автомата Мілі
мікроалгоритму автомата Мілі
Якщо при виконанні обчислень необхідно виконувати мікрооперацію віднімання, то до складу
схеми необхідно ввести вузол інвертування. Наприклад, для обчислення функції
D=0,5C-2AB можна використати змістовний мікроалгоритм зображений на рисунку 3.3.9 і
функціональну схему, показану на рисунку 3.3.10.
Початок
Ні
1
Пуск=1
Так
2 Y1: RG1:=0.L (RG1)
Y2: RG2:=R(RG2).1
3
Y3: RG1:=RG1+RG2+d
Y4: CT:=CT-1
Ні
4
CT=0
Так
5
Так
Пуск=1
Ні
Кінець
Рисунок 3.3.9 - Графічна схема
змістовного мікроалгоритму
обчислювання функції
21
RG1
WR1
0 n
SHL1
SHR1
SM
d
0 n 0 n
CT=0
= 1
1
…
RG2
CT
WR2
0 n
WR3
0 n
SHL2
dec
SHR2
inc
Рисунок 3.3.10 - Функціональна схема пристрою