Розробка управляючого і операційног вузлів ЕОМ

1. Завдання.


Розробити управляючий і операційний вузли ЕОМ з наступними параметрами:

1. Система числення:

1.2 десяткова


2. Спосіб представлення інформації:

2.1 з фіксованою комою


3. Загальна кількість розрядів:

3.2 24


4. Набір операцій:

основна:

4.2 ділення


додаткова:

4.7 логічне множення


5. Основний тип використовуваних логічних елементів:

5.4 КМОН


6. Загальна функціональна схема проектованого пристрою подана на рис. 1.


Вхідні дані, n розрядів




СОП

m

Результати обчислень



УА

ОА


СПО


z


СС



x


Операційний автомат


Управляючий автомат

СЗО



ОР





рис. № 1


СОП – сигнал операції
СПО – сигнал початку операції
СС – синхронізуючий сигнал
СЗО – сигнал закінчення операції
ОР – ознака операції


2. Огляд і аналіз літературних джерел


2.1 Поняття про комбінаційну схему і
цифровий автомат. (Каган ст. 62-65)


Пристрій, який перетворює дискретну інформацію, в загальному випадку має n входів для вхідних сигналів і k виходів, з яких знімаються вихідні сигнали.

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

Перетворення інформації в ЕОМ виконується електронними пристроями (логічними схемами) двох класів: комбінаційними схемами і цифровими автоматами.

В комбінаційних схемах (КС) сукупність вихідних сигналів (вихідне слово Y) в дискретний момент часу ti однозначно визначається вхідними сигналами (вхідним словом X), які поступили на входи в той самий дискретний момент часу.

Закон функціонування КС визначений, якщо є задана відповідність між словами її вхідного і вихідного алфавітів, наприклад, в вигляді таблиці.

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

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

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

Цифровий автомат містить пам’ять, що додається з запам’ятовуючих елементів (ЗЕ) - тригерів, елементів затримки та інших, що фіксують стан, в якому він знаходився. Комбінаційна схема не містить ЗЕ. Тому її називають автоматом без пам’яті або примітивним автоматом.

Структурна схема цифрового автомату містить ЗЕ1 - ЗЕk та комбінаційні схеми КС1 і КС2.


x1

q1

q1


ЗЕ1

y1


x2

y1

q2


ЗЕ2

y2

qk

y2


KC

KC1

KC2


x1

qk


x2

x1


ym

ym


ЗЕk

xn

xn

xn




а)


б)



Мал. № 1 Комбінаційна схема (а) і цифровий автомат (б).

Стан ЗЕ, що визначає стан автомату, передається в формі сигналів qi по ланцюгах прямого зв’язку на входи КС2 і по ланцюгах зворотнього звязку на входи КС1. На входи комбінаційних схем поступають також сигнали x1,...,xn з входу автомату.

Вихідне слово виробляється в КС2, причому вхідними змінними для неї служать букви вхідного слова і стани ЗЕ - стани автомату. Вихідні сигнали КС1 переводять автомат в нові стани, при цьому вхідними змінними для цієї схеми служать букви вхідного слова і стани ЗЕ. Одночасність появи нових значень вхідних сигналів на всіх входах пристрою досягається за допомогою тактових сигналів (синхросигналів), що забезпечують передачу інформації з ЗЕ на входи комбінаційної схеми одночасно з сигналами, що поступають на її входи з інших пристроїв.

В ряді випадків при аналізі автомата його заміняють автоматом з одним еквівалентним входом і з одним еквівалентним виходом і рахують, що еквівалентні вхідний сигнал x(t) і вихідний сигнал y(t) приймають значення з відповідним чином перетворених алфавітів P і S вхідних і вихідних сигналів.

Для задання цифрового автомата повинно бути вказано:

1) вхідний алфавіт

2) вихідний алфавіт

3) алфавіт стану

4) початковий стан автомату

5) функція переходу

6) функція виходів - однозначно визначає залежність відповідно стану автомата в момент дискретного часу і вихідного сигналу y(t), від стану автомата Q(t) і вхідного сигналу x(t) в момент дискретного часу t.

Використовуючи функції переходів і виходів, поведінку автомата можна описати рівняннями

(1)

(2)

де t=0,1,2 ...; Q(0)=Q0.

Рівнянням (1) і (2) відповідає автомат, вихідний сигнал якого залежить від стану автомата і від сигналу на його вході. Такий автомат називається автоматом Мілі.

В пристроях ЕОМ широко використовуються так звані автомати Мура,
в яких вихідний сигнал y(t) в момент дискретного часу t залежить виключно від стану автомата Q(t) в цей момент часу і незалежить від вхідного сигналу x(t).

Функціонування автомата Мура описується рівняннями

(3)

(4)

де t=0,1,2 ... ; Q(0)=Q0.

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

В теорії автоматів вводиться поняття повної системи переходів і повної системи виходів автомата. Якщо для двох любих станів Qi і Qj автомата є вхідний сигнал, який переводить автомат з стану Qi в Qj, то такий автомат називається автоматом з повною системою переходів. Автомат Мура має повну систему виходів, якщо вихідні сигнали різні для всіх його станів.

При побудові вузлів ЕОМ, які являються цифровими автоматами, в якості запам’ятовуючих елементів (елементів пам’яті) використовуються елементарні автомати. Елементарними автоматами є автомати Мура з двома станами,
що володіють повними системами переходів і виходів.

2.2 Декомпозиція обчислювального пристрою
на операційний і керуючий блоки.

(Каган ст. 166-168)


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

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

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

В деякі такти можуть поступати декілька керуючих сигналів, викликаючи паралельне під час виконання відповідних мікрооперацій. Така сукупність мікрооперацій називається мікрокомандою. Частково, мікрокоманда може додаватися з одної мікрооперації.

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

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

Операційний блок задається його структурою, тобто складом вузлів і зв’язками між ними, і виконуваним операційним блоком набором мікрооперацій.

Послідовність мікрокоманд, що забезпечує виконання даної операції, називається мікропрограмою даної операції.

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

2.3 Кодування десяткових чисел
(Каган ст. 50-51)


Таблиця 1.1 Двійково-десяткові коди

Десяткові
цифри

Код
8421

Код з
надлишком 3

Код 2 з 5

Десяткові
цифри

Код
8421

Код з
надлишком 3

Код 2 з 5
00000001111 00050101100001 010
10001010000 01160110100101 100
20010010100 10170111101010 001
30011011000 11081000101110 010
40100011101 00191001110010 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-бітні цілі двійкові числа в десяткові, причому кожен десятковий розряд кодується десятковим числом. Використовуються такі регістри:

A(4 – 1) регістр розряду 100

B(4 – 1) регістр розряду 101

C(4 – 1) регістр розряду 102

D(0 – 3) лічильник

Q(1 – 12) регістр вихідного числа

T(0 – 2) регістр управління

K(0 – 4) = T декодер


Оператор cor:

X cor X(4 – 1),

IF (X = 5, 6, 7, 8, 9) THEN (X X add 3).

Перетворення відбувається в касрегістрі C – B – A.



A 0

B  0

C  0

D  10

FINI  OFF






A cor A

B cor B

C cor C


C – B – A – Q shl C – B – A – Q





D countdn D





D = 0





FINI ON





На першому кроці касрегістр встановлюється в 0. Потім вміст касрегістру C – B – A – Q зсуваєтсья на один біт вліво, і тоді в регістр A попадає старший біт числа, що перетворюється. На кроці 3 перевіряєтсья чи потрібна корекція вмісту регістрів A, B, C, тобто чи не містить хоча б один з них числа,
що більше, ніж 4. Описані мікрооперації зсуву вліво і умовної корекції повторюються до тих пір, поки останній біт регістру Q не попаде в регістр A.

A 0, B 0, C 0, D 0, FINI OFF, T 0

C – B – A – Q Shl C – B – A – Q, T 1

D countdn D, T 2

IF (D = 0) THEN (T 4) ELSE (T 3),

A cor A, B cor B, C cor C, T 0

FINI ON

Перетворення з десяткової системи у двійкову є складнішим. Тому ми не будемо його використовувати.

2.8 Структура і мікропрограми АЛП
для ділення чисел з фіксованою крапкою.
(Каган ст. 211, 213-219)


Ділення в ЕОМ звичайно зводиться до виконання послідовності віднімання дільника спочатку з діленого, а потім з утворюючихся в процесі ділення часткових залишків і зсуву часткових залишків.

Реалізувати ділення можна двома основними способами.


1. Ділення з нерухомим діленим і зсуваючим вправо дільником.

Цей спосіб ділення заснований на прямому копіюванні дій при ручному діленні. Структура АЛП для ділення має вигляд, який зображений на
малюнку 6-8, а.





























мал. 6-8 а) (Каган стр. 214)


Початкове ділене X заноситься в PгX, а дільник Y – в старші розряди Pг1Y. Дільник зсувається вправо шляхом косої передачі з Pг1Y в Pг2Y і прямої передачі з Pг2Y в Pг1Y. Віднімання дільника виконується підсумувуванням додаткового коду дільника. Цифри частки залишків, які визначають по знаку часткових залишків, фіксується в регістрі Pг1Z шляхом послідовного занесення їх в молодший розряд Pг1Z і зсуву вмісту Pг1Z з допомогою косої передачі в Pг2Z і прямої з Pг2Z в Pг1Z.

Недоліком такого АЛП є подвійна довжина суматора і його регістрів.

2. Ділення з нерухомим дільником і зсувом вліво діленого.

Цей спосіб дозволяє будувати АЛП з суматором одиночної довжини (малюнок 6-8, б).






















малюнок 6-8, б (Каган стр. 214)


Тут нерухомий дільник Y зберігається в PгY, а ділене X, зсуваючись вліво відносно Y, знаходиться в двох регістрах: старші розряди X – в Pг1X,
а молодші – в Pг2X. Ділення починається з зсуву вліво діленого X шляхом косої передачі його в PгCm і Pг3X і відповідних прямих передач в Pг1X. Далі на вхід суматора подається зсунуте вліво ділене, утворюється частковий залишок шляхом підсумовуванням додаткового коду дільника, і наступна цифра частки заноситься в звільнений при зсуві X розряд Pг2X.

Арифметично-логічний пристрій розглянутого типу широко застосовується для ділення.

Алгоритм ділення з нерухомим дільником з відновленням залишку.

1. Берутся модулі від діленого і дільника.

2. Початкове значення часткового залишку покладається рівним старшим розрядам діленого.

3. Частковий залишок подвоюється шляхом зсуву на один розряд вліво.
При цьому в звільнений при зсуві молодший розряд часткового залишку заноситься наступна цифра діленого.

4. З зсунутого часткового залишку віднімається дільник і аналізується знак результату віднімання.

5. Наступна цифра модуля частки рівна 1, якщо результат віднімання додатній, і 0, якщо від’ємний. В останньому випадку значення остачі відновлюється до того, яке було до віднімання.

6. Пункти 3, 4 і 5 послідовно виконуються для одержання всіх цифр модуля частки.

7. Знак частки плюс, якщо знаки діленого і дільника однакові, в іншому випадку – мінус.

Розглянемо тепер більш детально ділення в АЛП з нерухомим дільником. Структурна схема АЛП дана на малюнку 6-9.





























Актуально: