МІНІСТЕРСТВО ОСВІТИ УКРАНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
ІНСТИТУТ КОМП’ЮТЕРНИХ НАУК ТА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Курсове проектування
На тему:
Арифметика ЕОМ
Виконав:
Ст. гр. КН-30
Перевірив:
професор
Сікора Л.С.
Львів 2010
Зміст
Розділ І: Розробка структури операційного автомату на основі заданих алгоритмів…………………………………………….……………..……………….3
Операційний автомат АЛП – опис дії для заданої структури…...…………3
Мікропрограми ділення……………………………………………...……….6
2.1. Структура і мікропрограми АЛП для ділення чисел з фіксованою крапкою…………………………...……………………………………………...6
2.2 Ділення з нерухомим діленим і зсуваючим вправо дільником…..……7
2.3 Ділення з нерухомим дільником і зсувом вліво діленого……………...7
2.4 Алгоритм ділення з нерухомим дільником з відновленням залишку……………………………………………………………………………....7
2.5 Алгоритм ділення з нерухомим дільником без відновлення залишку…………………………………………………………………………..…...9
Розділ ІІ: Управляючі автомати……………………………………………….......11
Автомат з жорсткою логікою, граф автомата Мура та його функціональна схема………………………………………………………11
Автомати з програмованою логікою, структура мікропрограм, адресація…………………………………………………………………....15
Мікропрограмний автомат з природною адресацією, поле мікрооперацій, коди…………………………………………………….....17
3.1. Природна адресація…………………………………………………...17
3.2. Кодування та поле мікро операцій…………………………………..19
Структурна схема керуючого автомату………………………………….21
Розробити модель інтелектуального агента на основі операційного автомату, що лежить в основі Internet………………………………........24
5.1. Технологія інтелектуальних агентів в INTERNET…………………24
Розділ І: Розробка структури операційного автомату на основі заданих алгоритмів
Операційний автомат АЛП – опис дії для заданої структури.
Сутність обробки інформації у цифровій формі полягає у виконанні заданої послідовності найпростіших арифметичних і логічних операцій над числами. У цифровій апаратурі основним пристроєм, у якому безпосередньо виконується обробка, є процесорний пристрій. Процесорний пристрій (як і будь-який інший складний цифровий пристрій) синтезується у вигляді поєднання двох пристроїв: операційного (арифметико-логічного) і керуючого. Структура процесорного пристрою показана на рис. 1.
Арифметико-логічний пристрій (АЛП) призначений для виконання арифметичних і логічних операцій над числами (словами), що надходять до нього, за сигналами з пристрою керування. Основні операції, що виконує АЛП – це додавання та множення.
Пристрій керування призначений для організації процесу обчислень. Він координує дії АЛП, генеруючі у визначеній часовій послідовності керуючі сигнали, під дією яких у вузлах АЛП виконуються необхідні операції.
Формування керуючих сигналів y1,…,yn (див. рис. 1) для виконання визначених мікрокоманд може залежати від стана вузлів АЛП, обумовленого сигналами x1,…,xn, які передаються по відповідних колах з виходів АЛП на входи керуючого пристрою. Керуючі сигнали y1,…,yn можуть залежати також від зовнішніх сигналів x+1,…,xL.…
Результати обробки, виконані у АЛП, знімають з його виходів z1,…,zm...
АЛП будують на основі багаторозрядного двійкового суматору, що виконує арифметичні операції, і регістрів для зберігання операндів (даних, що беруть участь в операціях) і результатів виконання арифметичних операцій. У якості додаткових елементів АЛП містить у собі канали (шини) для передавання інформації, мультиплексори для комутації каналів, шифратори і дешифратори, лічильники, а також логічні елементи різних типів для виконання необхідних логічних операцій. Двійковий суматор у сукупності з деякими додатковими логічними елементами часто називають арифметико-логічним колом або операційним пристроєм. АЛК, за принципом побудови, є комбінаційним пристроєм, тому що воно не має в своєму складі власних запам’ятовуючих пристроїв.
Вхід даних
Вихід даних
Рис.1. Схема процесорного пристрою.
Спрощена блок-схема АЛП подана на рис. 2.
SHAPE \* MERGEFORMAT Арифметико- логічне коло
Акумулятор
Регістр даних
Введення-виведення
Рис. 2. Спрощена схема АЛП.
Всі дані в арифметико-логічне коло і накопичувальний регістр (акумулятор) надсилаються через регістр даних. Накопичувальний регістр має розмір, що відповідає довжині машинного слова. Для того, щоб скласти два двійкових числа, одне число запам'ятовується у накопичувальному регістрі, а інше - запам'ятовується у регістрі даних. Після додавання сума двох чисел надходить у накопичувальний регістр, замінюючи вихідне двійкове число - операнд.
Процес функціонування АЛП розпадається на певну послідовність елементарних дій у його вузлах. Перелік таких елементарних дій містить у собі:
встановлення регістру в деякий стан;
інвертування вмісту розрядів регістру;
пересилку вмісту одного вузла в інший вузол (наприклад, пересилку числа з регістра в регістр);
зсув вмісту вузла (регістра) ліворуч або праворуч;
рахування, при якому число у лічильнику збільшується або зменшується на одиницю;
додавання;
перевірка на рівність вмісту регістра деякому числу (у разі виконання умов рівності результатом є логічна одиниця, у випадку невиконання - логічний нуль).
деякі логічні дії (порозрядна диз'юнкція, кон’юнкция і т.д.).
Кожна елементарна дія, виконувана у одному із вузлів АЛП протягом одного тактового періоду, називається мікрокомандою, а весь набір мікрокоманд, призначений для розв'язання визначеної задачі, - мікропрограмою.
Таким чином, якщо в АЛП передбачається можливість виконання n різних мікрооперацій, то з пристрою керування виходять n керуючих кіл, кожне з яких відповідає визначеній мікрооперації. І якщо в АЛП необхідно виконати деяку мікрооперацію, то досить із керуючого пристрою по певному керуючому колу подати в АЛП сигнал (наприклад, рівень логічної 1). Внаслідок того, що керуючий пристрій визначає мікропрограму, тобто які і у якій часовій послідовності повинні виконуватися мікрооперації, він одержав назву мікропрограмний автомат.
Існує два принципово різних підходи до проектування мікропрограмного автомату (керуючого пристрою): використання принципу схемної логіки або принципу програмованої логіки. Іноді ці принципи називають апаратною або програмною реалізацією цифрового автомату. У першому випадку, тобто при використанні принципу схемної логіки, у процесі проектування підбирається деякий набір цифрових мікросхем (частіше за все малого і середнього ступеню інтеграції) і визначається така схема з'єднання їх виводів, котра забезпечує необхідне функціонування. Пристрої, побудовані за таким принципом, здатні забезпечувати найвищу швидкодію при заданому типі технології елементів, однак такі пристрої завжди виходять вузькоспеціалізованими.
Використання принципу програмованої логіки припускає побудову деякого універсального пристрою на одній або на кількох мікросхемах великого ступеню інтеграції (ВІС). Необхідний алгоритм функціонування пристрою тут забезпечується розміщенням у його пам'яті деякої певної програми (або мікропрограми).
Якщо у пристрої, побудованому за принципом схемної логіки, усяка зміна або розширення набору виконуваних функцій тягне за собою його демонтаж і монтаж за новою схемою, то при використанні програмованої логіки така зміна досягається лише заміною програми, що зберігається у пам'яті, на нову. Тому в останні два десятиліття реалізація складних цифрових автоматів з програмованою логікою мала переважне поширення.
Мікропрограми ділення
2.1. Структура і мікропрограми АЛП для ділення чисел з фіксованою крапкою(Каган ст. 211, 213-219)
Ділення в ЕОМ звичайно зводиться до виконання послідовності віднімання дільника спочатку з діленого, а потім з часткових залишків, що утворилися в процесі ділення і зсуву часткових залишків.
Реалізувати ділення можна двома основними способами:
2.2 Ділення з нерухомим діленим і зсуваючим вправо дільником.
Цей спосіб ділення заснований на прямому копіюванні дій при ручному діленні. Структура АЛП для ділення має вигляд, який зображений у Додатку 1.
Початкове ділене 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.3 Ділення з нерухомим дільником і зсувом вліво діленого.
Цей спосіб дозволяє будувати АЛП з суматором одиночної довжини (Додаток 2).
Тут нерухомий дільник Y зберігається в PгY, а ділене X, зсуваючись вліво відносно Y, знаходиться в двох регістрах: старші розряди X – в Pг1X,а молодші – в Pг2X. Ділення починається з зсуву вліво діленого X шляхом косої передачі його в PгCm і Pг3X і відповідних прямих передач в Pг1X. Далі на вхід суматора подається зсунуте вліво ділене, утворюється частковий залишок шляхом підсумовуванням додаткового коду дільника, і наступна цифра частки заноситься в звільнений при зсуві X розряд Pг2X.
Арифметично-логічний пристрій розглянутого типу широко застосовується для ділення.
2.4 Алгоритм ділення з нерухомим дільником з відновленням залишку.
1. Берутся модулі від діленого і дільника.
2. Початкове значення часткового залишку покладається рівним старшим розрядам діленого.
3. Частковий залишок подвоюється шляхом зсуву на один розряд вліво.При цьому в звільнений при зсуві молодший розряд часткового залишку заноситься наступна цифра діленого.
4. З зсунутого часткового залишку віднімається дільник і аналізується знак результату віднімання.
5. Наступна цифра модуля частки рівна 1, якщо результат віднімання додатній, і 0, якщо від’ємний. В останньому випадку значення остачі відновлюється до того, яке було до віднімання.
6. Пункти 3, 4 і 5 послідовно виконуються для одержання всіх цифр модуля частки.
7. Знак частки плюс, якщо знаки діленого і дільника однакові, в іншому випадку – мінус.
Розглянемо тепер більш детально ділення в АЛП з нерухомим дільником. Структурна схема АЛП дана у Додатку 3.
Схема містить: суматор Cm; вхідний регістр Pг1 для збереження дільника; вхідний регістр суматора PгA, в який поступає прямий або зворотній код дільника; вихідний регістр суматора PгCm, в якому утворюється частковий залишок; регістри діленого PгB (старші розряди) і Pг2 (молодші розряди); допоміжний регістр Pг2’ для зсуву діленого, тригери знаків діленого і дільника ТгЗн1 і ТгЗн2; лічильник циклів СчЦ для підрахунку числа одержаних цифр частки. Одержані в процесі ділення цифри частки заносяться в звільнені розряди Pг2’.
Мікропрограма ділення для випадку додатніх чисел приведена у Додатку 4. Пояснемо процедуру відновлення остачі.
Якщо віднімання дає від’ємний результат (См[0] = 1), то попередній частковий залишок, який зберігається в PгB, передається в PгCm, для чого попередньо обнулюється PгA. В PгCm прийом здійснюється з зсувом вліво на1 розряд. Це забезпечує відновлення попереднього часткового залишку і зміщення його відносно дільника перед наступним відніманням.
Мікропрограма, яку ми розглядаємо, призначена для обробки додатніх чисел. А також її можна легко перетворити для обробки чисел з любими знаками,які представленні в прямому коді. Для цього треба внести такі зміни:після прийому операндів в PгB, Pг2 і Pг1 значення знакових розрядів X і Y передаються в тригер знака – відповідно ТгЗн1 і ТгЗн2. Потім в PгB [0] і Pг1 [0] заноситься 0, тобто виконується перехід до модулів X і Y. Розряд знаку частки встановлюється в 0 при ТгЗн1 = ТгЗн2 і в 1 в протилежному випадку.
Розглянутий метод ділення носить назву ділення з відновленням залишку. Недоліком цього методу є необхідність введення спеціального такту для відновлення залишку.
Звичайно в ЕОМ для ділення використовується другий метод – ділення без відновлення залишку.
2.5 Алгоритм ділення з нерухомим дільником без відновлення залишку.Пункти 1-3 співпадають з алгоритмом ділення з відновленням залишку.
4. З зсунутого часткового залишку віднімається дільник, якщо залишок додатній, і до зсунутого часткового залишку додається дільник, якщо залишок від’ємний.
5. Наступна цифра модуля частки рівна 1, якщо результат віднімання додатній, і 0, якщо від’ємний.
Пункти 6, 7 співпадають з попереднім алгоритмом.
Можна показати, що часткові залишки після виконання додавання при діленні без відновлення залишку одержуються такі самі, як і залишки після зсуву відновленого залишку при діленні з відновленням залишку.
Дійсно, оскільки зсув часткового залишку на один розряд вліво є еквівалентом множення його на два, одержимо: 2*a – b = 2*(a – b) + b, (6-5),де a – частковий залишок; b – дільник.
Аналогічно
2na = {…{[(a – b)*2 + b] + b}*2 + … + b}. (6-6)
Ділення без відновлення залишку завжди потребує для одержання одної цифри частки тільки додавання або віднімання з зсуву часткового залишку.
Мікропрограма ділення цілих додатніх чисел без відновлення залишку у своїй початковій частині співпадає з мікропрограмою ділення без відновлення залишку. Різниця з’являєтья після формування знаку частки. У Додатку 5 приведена частина мікропрограми ділення без відновлення залишку після мікрокоманди фіксації знаку частки.
Блок-схема показує, що поки невизначені всі цифри частки (СчЦ <> 0),в залежності від знаку часткового залишку або підсумовується Y (при См [0] = 1), або віднімається Y (при См [0] = 0). В одержаному новому частковому залишку аналізується знак і в ньому визначається цифра частки. Після завершення всіх циклів ділення (СчЦ = 0) видається реультат. При цьому якщо залишок від’ємний, то він відновлюється шляхом підсумуванням Y.
Ділення чисел, що представленні в залежності від знаку прямим доповнюючим кодом, можна зробити не переходячи до модулів. При цьому алгоритм ділення є подібним до розглянутих.
Відмінності заключаються в наступному (для випадку ділення без відновлення залишку):
1. Так як ділене і дільник можуть мати різні знаки, то дія з частковим залишком (додавання або віднімання Y) залежать від знаку залишку і дільника і визначаються наступною таблицею.
(Каган стр. 219)
Якщо знак залишку співпадає з знаком дільника, то zi = 1, інакше zi = 0.
2. Якщо X > 0 і Y < 0, то частку необхідно збільшити на одиницю.
Якщо X < 0 і Y > 0, то частку необхідно збільшити на одиницю у випадку залишку від ділення, яке не дорівнює нулю.
Якщо X < 0 і Y < 0, то частку необхідно збільшити на одиницю у випадку залишку від ділення, яка рівна нулю.
Ділення правильних дробів виконується так, як і ділення цілих.Різниця заключається тільки у тому, що ділене має, як правило, таку ж довжину, як дільник. Але можна допустити, що ділене має ще n молодших розрядів, які рівні нулю. Тоді стає ясно, що алгоритм ділення дробів нічим не відрізняється від алгоритму ділення цілих.
Розділ ІІ: Управляючі автомати
Автомат з жорсткою логікою, граф автомата Мура та його функціональна схема
Для організації роботи ЕОМ, як одна з її складових, необхідний керуючий автомат. У його функції входить формування керуючих сигналів, на основі деякого алгоритму для операційної частини ЕОМ.
Алгоритм управління системи задається кодом управління, що надходить в КА із зовнішнього середовища. Алгоритм управління ОА називається мікропрограмою і реалізується керуючим автоматом. Однією з основних проблем при створенні спеціалізованої ЕОМ є пошук компромісу між швидкодією, вартістю і універсальністю КА. Також важливим є час проектування і реалізації схеми КА.
Як відомо, КА з жорсткою логікою виграють за швидкодією перед автоматами з програмованою логікою, але мають жорстку структуру і не можуть бути змінені. ПЛІС дозволяють замінити весь пристрій конфігурований на мікросхему. Таким чином з'являється можливість створювати перепрограмовані КА з жорсткою логікою.
При синтезі керуючих автоматів на підставі графу мікропрограми будується граф абстрактного автомату. Його синтез здійснюється за допомогою формалізованих методів.
Є дві абстрактних моделі керуючих автоматів:
- Абстрактна модель автомату Мілі
Q[t+1]=X(Q[t],x[t])
Y[t+1]=б(Q[t],x[t])
Q[0]=Q0
- Абстрактна модель автомату Мура
Q[t+1]=X(Q[t],X[t])
Y[t+1]=б(Q[t])
Q[0]=Q0
функція переходів
функція виходів
визначення початкового стану
Якщо порівнювати ці дві моделі, то виявиться, що автомат Мілі більш економніший у апаратних затратах. Проте наявність ефекту перегонів при функціонуванні, це може призводити до збоїв. Автомат Мура, натомість, свою роботу не пов’язує з перегонами. Методика синтезу автомату є формалізована і може виконуватися комп’ютерною програмою.
Тому для подальшого синтезу надійного КА я буду використовувати модель автомату Мура. Для цього, насамперед, потрібно відобразити граф автомату.
SHAPE \* MERGEFORMAT Q1
Q2
Q3
Y1
Y2
Y3
0101
0111
0001
X
X̅
Q0
Z
граф автомату Мура (граф має стільки вершин, скільки станів автомат)
початкова і кінцева вершина об’єднується
на ребрах автомату простягаються дозволяючи сигнали:
Z – сигнал запису автомату
Х1 – повідомляючий сигнал, який надходить від ОБ
в інших вершин крім початкової і кінцевої простягаються номери станів і вихідні сигнали (Y1-Y3).
Стани автомату кодуються двійковим кодом, коди яких повинні відрвзнітися один від одного. Способів кодування є дуже багато. Проте є загальне правило, яке твердить, що число бітів повинне бути не менше, ніж мінімальне значення кількості станів. А саме:
N ≥ log2n
Де
N – число бітів;
n – число станів автомату;
Кожному біту коду стану відповідає тригер пам’яті.
ЦА можна реалізувати на принципі «жорсткої логіки». Тобто, особливості станів автомату – за допомогою елементів пам’яті тригерів, функції переходів входів/виходів – за допомогою логічних елементів.
Властивості автоматів з жорсткою логікою:
максимально можлива швидкодія;
жорстка структура яка не передбачає внесення змін, потребує індивідуальної побудови для кожного варіанту закону функціонування. Ця властивість виступає як великий недолік.
Замалюємо абстрактну функціональну схему КА Мура:
SHAPE \* MERGEFORMAT δ
«пам’ять»
μ
Q(t)
Q(t)
Q(t+1)
Y(t)
x(t)
де Q, X, Y і δ — відповідають визначенню автомату Мілі, а μ являється відображенням виду: μ : S → Y. Особливістю автомату Мура є те, що символ y(t) в присутній у ься у стані вихідному каналі увесь той час, поки автомат знаходисуществует все время пока автомат находится в состоянии Q(t).
Автомати з програмованою логікою, структура мікропрограм, адресація
Ще один підхід щодо реалізації ЦА базується на використанні пристроїв управління з програмованою логікою.
Властивості пристрою управління з програмованою логікою:
гнучкість і універсальність застосування, схема пристрою є постійною не змінюється при заміні мікропрограм, заміна мікропрограм передбачає лише перепрограмування пам’яті.
Швидкодія пристрою програмованої логіки суттєво поступається швидкодії пристроям з жорсткою логікою.
Зарисуємо узагальнену структуру.
SHAPE \* MERGEFORMAT ОБ
ПМК
ПФАМК
ДМК
КМК | А
РгАМК
БКС
x
y
РгМК
КК
МПУ
МК
МПУ – мікропроцесорний пристрій управління;
ОБ – операційний блок;
ПМК – пам'ять мікрокоманд;
Мікропрограми записуються в пам'ять в прямому вигляді, де слово відповідає одній мікрокоманді. В кожен такт виконується одна мікрокоманда. Будується на основі автомату Мура.
РГМК – регістр мікрокоманд, в якому відбувається зчитування;
КМК – код мікрокоманди в операційній частині;
А – адреса мікрокоманди;
ДМК – дешифратор мікрокоманд. На виході формуються символи управління y, які подаються на операційний блок;
ОБ – операційний блок. Він формує повідомлення сигналів х – сигналів про особливості проміжних результатів. Вони є вхідними для МПУ;
ПФАМК – пристрій формування адрес мікрокоманд. В кожен тактовий момент формує адресу наступної команди. Вона подається на РгАМК;
БКС – блок синхронізації, що синхронізує роботуМПУ;
КК – код команди;
Розглядаючи загальну структуру пристрою управління з програмованою логікою важливо не оминути таких фактів як адресація та структура мікропрограм.
Отже, найчастіше використовується природній спосіб формування адрес мікрокоманди. Основним елементом ПФАМК є лічильник, що формує адресу за допомогою інкременту.
У випадку переходів наступна адреса буде залежати від адресної частоти попередньої мікрокоманди, сигналів х операційного блоку і коду команди (КК).
Задачею автоматів управління є формування, розподілення в часі послідовностей сигналів управління, під дією яких в операційному автоматі виконуються операції:
Елементарний неділимий акт обробки інформації в операційному автоматі, що проходить на протязі одного такту, називається мікрооперацією. Прикладами мікрооперацій можуть бути “Зсув інформації”, “+1”,”-1” і т.д. Коли в операційному автоматі одночасно реалізуються декілька мікрооперацій, то така множина мікрооперацій називається мікрокомандою. Мікрооперації генеруються вхідними сигналами автомату управління, а їх послідовність в часі визначається функціями переходу. Сукупність мікрокоманд і функцій переходу утворюють мікропрограму.
початок
кінець
Рг1:= 0
Y1
1
0
1)
2)
3)
4)
Отже, першим кроком синтезу є запис мікропрограми у вигляді графу. Граф складається з вершин і ребер, що з’єднують їх. Є 4 типи вершин:
1). Початкова – з неї виходить одна дуга. Завершення функції автомата приводить до першої вершини.
2). Кінцева – присутня довільна кількість входів.
3). Операторна – відповідає виконаній мікрокоманді. Входить довільна кількість дуг, виходить лише одна дуга.
4). Умовна – на вхід подається довільне число дуг, на вихід – дві.
Зарисуємо фрагмент графу мікропрограми на основі моделі автомату Мура (Додаток 6).
На графі представлені три мікрокоманди, які показані мітками Y1, Y2, Y3. Кожній команді буде відповідати стан автомату. Q1, Q2, Q3 одночасно відображають вихідний сигнал.
Мікропрограмний автомат з природною адресацією, поле мікрооперацій, коди
3.1. Природна адресація
Отже, є автомати з різними типами адресації, а саме:
- з примусовою;
- з природною;
- з комбінованою;
Проте детально я хотіла б зупинитись на автоматі з природною адресацією.
При природній адресації микрокоманд існує три формата МК (мал. 3.1.).
SHAPE \* MERGEFORMAT П
П
П
1 FY m
1 FX I
1 FA r
1 FA r
1 I
OMK
УMK1
УMK2
Мал. Формати мікрокоманд автомата з природною адресацією..
Тут формат ОМК відповідає операторній вершині, УМК1-умовній, а УМК2-вершині безумовного переходу. При подачі сигналу “пуск" лічильник ЛАМК обнуляється, і за сигналом СІ відбувається запис МК до регістра. СФМО формує відповідні МО при П=1 або видає на всіх виходах нулі при П=0. СФА в залежності від П і вмісту поля FX, формує сигнали Z1 і Z2. Сигнал Z1 дозволяє проходження синхроімпульсів на лічильний вхід ЛАМК, а Z2 дозволяє запис до лічильника адреси наступної МК з приходом синхроімпульсу.
Визначимо розрядність полів. l=]log2(L+1)[, де L-число умовних вершин. L=6, l=3
m=]log2T[ Т- число наборів мікрооперацій, що використовуються в ГСА, в нашому випадку Т=17, m=5.
r=]log2 Q[, Q - кількість мікрокоманд.
У автоматі з природною адресацією (Додаток 7) при істинності(помилковість) логічної умови перехід здійснюється до вершини з адресою на одиницю великим, а при (помилковість)істинності ЛУ перехід відбувається за адресою, записаною в полі FA. У нашому випадку будемо додавати одиницю при істинності ЛУ або при переході з операторной вершини. Якщо в одній точці сходиться декілька переходів по “1" або з операторної вершини, то всі вершини з яких здійснювався перехід, повинні були б мати однакову (на одиницю меншу ) адресу, ніж наступна команда. Але це неможливо.
Для виключення подібних ситуацій вводять спеціальну вершину безумовного перходу Дані вершини додаємо таким чином, щоб в одній точці сходилася будь-яка кількість переходів по “0" і тільки один по “1" або з операторної вершини.
Вершина безумовного переходу
SHAPE \* MERGEFORMAT Х0
1
0
3.2. Кодування та поле мікрооперацій
Відмітимо, що спосіб кодування впливає на правильність формування керуючих сигналів і складність автомата. Можливість формування сигналів, не передбачених графом автомата при неоптимальному кодуванні станів обумовлена появою “гонок”, що пов'язано з розкидом часу переключення окремих тригерів автомата. Наприклад, при переході автомата зі стану 10 у стан 10 під час переключення тригерів можлива поява станів 00 або 11 (в залежності від того, який із тригерів раніш переключається). Ці проміжні стани при використанні тригерів із внутрішньою затримкою не впливають на правильність переключення автомата, однак можуть привести до появи короткочасних помилкових керуючих сигналів.
Для усунення цього недоліку можна використовувати протигоночне сусіднє кодування. При сусідньому кодуванні перехід автомата з одного в будь-який інший припустимий для даного автомата стан здійснюється переключенням тільки одного тригера, внаслідок чого ”гонки” не виникають. В автоматах, що не допускають сусіднього кодування, необхідно вводити додаткові стани.