Послідовність керуючих сигналів визначається керуючим командним кодом, який поступає в керуючий блок ззовні, і сигналами , залежним від операндів і проміжкових результатів перетворень.
Операційний блок задається його структурою, тобто складом вузлів і зв’язками між ними, і виконуваним операційним блоком набором мікрооперацій.
Послідовність мікрокоманд, що забезпечує виконання даної операції, називається мікропрограмою даної операції.
Функціонування обчислювального пристрою може бути описано сукупністю реалізуючих в ньому мікропрограм. В деяких випадках це зручно, хоча це і не єдиний можливий спосіб описування цифрових пристроїв.
2.3 Кодування десяткових чисел
(Каган ст. 50-51)
Таблиця 1.1 Двійково-десяткові коди
Десяткові цифри | Код 8421 | Код з надлишком 3 | Код 2 з 5 | Десяткові цифри | Код 8421 | Код з надлишком 3 | Код 2 з 5 |
0 | 0000 | 0011 | 11 000 | 5 | 0101 | 1000 | 01 010 |
1 | 0001 | 0100 | 00 011 | 6 | 0110 | 1001 | 01 100 |
2 | 0010 | 0101 | 00 101 | 7 | 0111 | 1010 | 10 001 |
3 | 0011 | 0110 | 00 110 | 8 | 1000 | 1011 | 10 010 |
4 | 0100 | 0111 | 01 001 | 9 | 1001 | 1100 | 10 100 |
Код 8421. Найбільше поширення в обчислювальній техніці знайшов код 8421, в якому кожна цифра десяткового числа замінюється відповідним чотирьохрозрядним двійковим числом. Цей код зручний для виконання машиною
(а не вручну) перетворення з десяткової системи в двійкову і навпаки. Цей код аддитивний, тобто сума представлення двох цифр є кодом їх суми.
Але використання цього коду пов’язане з труднощами пошуку переносу в наступний десятковий розряд і важкістю переходу до зворотнього і доповнюючого коду для десяткових чисел, що полегшує виконання алгебраїчної дії.
Це пояснюється тим, що код 8421 не є самодоповнюючим, тобто інверсія його двійкових цифр не дає коду доповнення десяткової цифри до 9.
Код з надлишком 3 зручний при виконанні арифметичних операцій над десятковими цифрами, так як він є самодоповнюючим. Крім того, легко визначається перенос, так як сума двох доданків, кожне з яких береться з надлишком 3, вийде з надлишком 6, що виключає лишні кодові комбінації.
Для отримання правильного коду суми з отриманого результату відкидається 3.
В деяких випадках для використання суттєво, що код 0 містить 1 і тому легко відрізнити наявність коду 0 від попадання коду цифри. Код з надлишком 3 не дуже зручний для перетворення чисел з одної системи числення в іншу.
Код 2 з 5. Десяткові цифри зображаються п’ятьма розрядами, з яких містять дві 1. Ця надмірність використовується для контролю правильної передачі цифри. В виразі кожної цифри присутні дві 1. Будь-яка помилка в одному розряді перетворює 0 в 1 або 1 в 0, в результаті вийде більше або менше двох 1, що вкаже на помилку. При одночасній появі двох помилок можливі випадки,
коли їх не вдається знайти (якщо 0 в одному розряді перетворюється в 1, а в другому розряді 1 в 0).
2.4 Управляючий автомат
(Каган стр.241 - 243)
Будь-який цифровий пристрій складається з двох частин – операційного та управляючого блоків. Операційний блок характеризується сукупністю визначених в ньому мікрооперацій, кожна з яких являє собою деякий виконуваний в даному операційному блоці елементарний акт передачі або перетворення інформації,
що ініціалізується поступленням управляючого функціонального сигналу на деяку управляючу шину.
Будь-яка команда, операція або процедура, що виконується в операційному блоці, описується деякою мікропрограмою і реалізується за декілька тактів,
в кожному з яких виконується одна або декілька мікрооперацій. Для реалізації команди, операції або процедури (мікропрограми) необхідно на відповідні управляючі шини операційного блоку подати певним чином розподілену в часі послідовність управляючих функціональних сигналів.
Частина цифрового вичислювального пристрою, що призначена для генерації послідовностей управляючих функціональних сигналів, називаються управляючим блоком або управляючим пристроєм. Послідовність, що генерується управляючим блоком, задається кодом операції, що поступають на входи блоку, сигналами з операційного блоку, що несуть інформацію про особливості операндів і проміжкові та кінцеві результати операцій, а також з синхросигналами, що задають границі тактів.
Формально управляючий блок можна розглядати, як скінченний автомат, що визначається:
а) множиною двійкових вихідних сигналів V = {v1,…,vm}, що відповідають множині мікрооперацій операційного блоку. При vi = 1 розпочинається i-та операція;
б) множиною вхідних сигналів U = {u1,…un}, що відповідає блоку двійковому коду операцій і двійковому значенню освідомлюючих сигналів;
в) множиною мікропрограм;
г) по множинах вхідних і вихідних сигналів і мікропрограм визначається множина внутрішніх станів блоку Q = {Q0,…Qr}, потужність якого в процесі проектування старається мінімізувати. Управляючий автомат може бути заданий, як автомат Мура
Q(t + 1)=A[Q(t), u1(t),…,un(t)];
v1(t) = B1[Q(t)];
……………………………..
vm(t) = Bm[Q(t)];
або автомат Мілі
Q(t + 1)=A[Q(t), u1(t),…,un(t)];
v1(t) = B1[Q(t),u1(t),…,un(t)];
……………………………...
vm(t) = Bm[Q(t),u1(t),..,un(t)],
де функції переходів і виходів A, B визначаються заданою мікропрограмою.
2.5 Керуючі автомати з “твердою” логікою
Керуючі автомати з “твердою” логікою являють собою логічні схеми,
які виробляють розподілені по часу керуючі функціональні сигнали. На відміну від керуючих пристроїв з збереженою у пам’яті логікою в цих автоматах можна змінити логіку роботи тільки шляхом перероблення схем автомата.
В склад схеми входять регістр кода операції, який є частиною регістра команд, лічильник тактів, дешифратор тактів і дешифратор кода операції,
а також логічні схеми утворення керуючих функціональних сигналів.
На лічильник тактів поступають сигнали від блока синхросигналів,
і лічильник з кожним сигналом міняє свій стан. Стан лічильника представляють номера тактів, які міняються від 1 до n. Дешифратор тактів формує на j-му виході одиничний сигнал при i-му стані лічильника тактів, тобто під час i-го такта.
Дешифратор кода операції виробляє одиничний сигнал на j-му виході,
якщо виконується j-та команда.
Логічні схеми утворення керуючих функціональних сигналів для кожної команди збуджують формувачі функціональних сигналів для виконання потрібних в даному такті мікрооперацій.
Недоліком розглянутих схем є одинакове число тактів для всіх команд.
Це потребує вирівнювання числа тактів виконання команд по найбільш “довгій” команді, що призведе до затрати часу.
Автомат Мілі, побудований на мікропрограмі, має число станів, як правило, менше, ніж число станів еквівалентного йому автомата Мура. З цієї точки зору використання автомата Мілі є кращим. Але використання автомата Мілі в якості керуючого автомата не завжди можливо. Це пояснюється тим,
що керуючий автомат працює в контурі з операційним блоком. В автомата Мілі перехід в новий стан здійснюється одночасно з формуванням вихідного сигнала. Тому, якщо операційний блок виробляє освідомлюючі сигнали зразу ж при виникненні керуючих сигналів, а керуючий автомат є автоматом Мілі, можлива наступна недопустима ситуація: автомат Мілі ще не змінив стан, а на його входи прийшли нові значення освідомлюючих сигналів, які потребують виконання іншого переходу.
Для виключення можливих збоїв в роботі керуючих автоматів ставляться спеціальні схеми затримки або,що є таким самим, один з двох автоматів (керуючий або операційний) виконують в вигляді автомата Мура, який видає вихідний сигнал після зміни стану (перехода).
2.6 Системи логічних елементів (Каган стр. 73)
Основні параметри систем логічних елементів:
Питома напруга і сигнали. Системи елементів характеризуються кількістю напруги, що використовуються, і її номінального значення.
Для логічних елементів вказується полярність і рівень вхідного та
вихідного сигналу.
Коефіцієнт з’єднання по входу. Визначає максимально можливе число входів логічних елементів. Збільшення числа входів пов’язане з ускладення схеми елементів і призводить до погіршення інших параметрів.
Коефіцієнт розгалуження по виходу. Показує, на скільки логічних входів може бути одночасно навантажений вихід даного логічного елементу.
Завадостійкість. Завадою називають небажану електричну дію (пульсація напруги живлення, дія паразитних ємностей) на логічний елемент, яка може призвести до спотворення даних. Завадостійкість – це здатність елемента правильно функціонувати при наявності завад; визначається максимально допустимою напругою завади, при якому не настає збій у його роботі.
Швидкодія. Характеризується середнім часом затримки розповсюдження сигналу: , де tз1 і tз2 – затримка вихідного сигналу відносно фронту
і спаду вхідного.
2.7 Двійково-десятковий перетворювач
(Чу стр. 75 - 80)
Алгоритм двійково-десяткового перетворювача базується на способі ручного перетворення. Він перетворює 10-бітні цілі двійкові числа в десяткові, причому кожен десятковий розряд кодується десятковим числом. Використовуються такі регістри: