Будь-який автомат можна описати функцією стану і вихідною функцією:
(3)Цьому виразу відповідає автомат, який називається автоматом Мілі. На відміну від нього, для автомата Мура функція стану не змінюється, а вихідний сигнал залежить тільки від внутрішнього стану автоматів:
(4)1.4 Синтез керуючого автомата
Процес синтезу керуючого автомату включає такі етапи:
1. Кодоване представелення графа мікропрограми або отримання граф-схеми алгоритма роботи керуючого автомата.
2. Розмічування граф-схеми алгоритму для визначення станів керуючого автомата, який функціонує відповідно до вибранї моделі (Мілі або Мура).
3. Складання структурної таблиці переходів та виходів автомата.
4. Отримання функцій збудження елементів пам’яті (тригерів).
5. Побудова комбінаційної частини автомата.
Кодоване представлення граф-схеми алгоритму здійснюється шляхом заміни мікрокоманд, записаних в операторних вершинах, відповідними їм керуючими сигналами yj , а умов, які перевіряються в умовних вершинах, відповідними їм сигналами Xi.
Для автомата Мура вихідний сигнал залежить лише від внутрішнього стану, тобто y=λ(a). Тому кожна операторна вершина повинна бути відмічена символом вихідного стану автомата аі.
Для побудови автомата Мілі слід пам’ятати, що вихідний сигнал залежить як від внутрішнього стану, так і від вхідного сигналу (тобто умови Хі). Кодування граф-схеми автома Мілі відбувається не так, як для автомата Мура. Символом а0 кодується вхід першої вершини графа, що йде за початковою, і вхід кінцевої вершини. Виходи інших операторних вершин відмічаються символами аі, при чому виходи різних вершин мають різні номери станів.
За кодованою граф-схемою роботи автомата складається таблиця переходів і виходів. Для цього спочатку здійснюють кодування станів автомата двійковими кодами, визначають тип та кількість тригерів. Потім за таблицею преходів визначають значення сигналів на входах тригерів, при яких здійснюються переходи; визначають функції збудження тригерів та виконують їх мінімізацію. За знайденими виразами будується комбінаційна схема керуючого автомата на обраних елементах.
Таблиця переходів і виходів має однаковий вигляд для автоматів Мілі та Мура і будується в наступній послідовності.
В полі аi графи t таблиці 2 записуємо поточний стан автомата, в полі аі графи t+1– наступний його стан, у полі Х –умову переходу зі стану аi(t) в стан аi(t+1) згідно граф-схеми алгоритму. В полі Y записуються мікрооперації, які виконуються при переході автомата в наступний стан. У полі “Тригери” вказано сигнали, які необхідно подати на входи відповідних запам’ятовуючих елементів. Таким чином описуються всі можливі переходи автомата (табл. 2).
Таблиця 2– Таблиця переходів і виходів автомата
t | t+1 | Тригери | |||||
ai | Xі | ai | yi | Т1 | Т2 | … | Тn |
Кількість тригерів, які необхідні для організації пам’яті керуючого автомату, визначається як найближче більше ціле від двійкового логарифму кількості станів за формулою (5):
R = ] log2 M [ , (5)
де М – кількість станів автомата,
R – шукана кількість тригерів.
За отриманою таким чином таблицею записуються та зводяться до мінімальної форми функції збудження тригерів та функції виходів цифрового автомата. Слід пам’ятати, що функції виходів цифрового автомата Мура залежать лише від внутрішніх станів (графа ai поля t+1) і не залежать від умов переходу Хі.
Далі обирається система елементів, з яких будується схема автомата. У більшості схем як елементи пам’яті використовуються елементарні автомати (тригери), що мають наступні особливості:
1) вони є автоматами Мура і мають два стійких стани;
2) станам елементарного автомата відповідають два різних вихідних сигнали: одиничний (коли на прямому виході тригера одиниця, а на інверсному – нуль) та нульовий;
3) у загальному випадку елементарний автомат може мати декілька фізичний входів;
Крім того, схема будь-якого керуючого автомата повинна містити певну кількість логічний елементів, що утворюють функціонально повну систему для синтезу необхідної комбінаційної схеми.
1.5 Контроль виконання арифметичних операцій
Арифметичні операції виконуються на суматорах прямого, оберненого і доповняльного коду. Припустимо, що зображення чисел зберігаються в машині в деякому коді, тобто операція перетворення в заданий код або обернений проводиться на виході чи вході машини. Методика реалізації операцій контролю представляється таким чином.
По-перше, розглянемо зображення числа у відповідному коді як єдину кодову комбінацію.
Розглянемо послідовність дій на прикладі суматора прямого коду: якщо додаються тільки цифрові частини зображення чисел, а знак зберігається, то контроль можна здійснити двома способами:
1) розділений контроль знакової і цифрової чистин зображень результату;
2) загальний контроль всього зображення .
При розділеному способі для контролю знакових розрядів можна використовувати засіб для визначення переповнення, оскільки у випадку модифікованого коду поява помилок в знакових розрядах призведе до неспівпадання інформації в них. При перевірці правильності обробки цифрових частин зображень також не виникає особливих труднощів .
При загальному способі контролю необхідна корекція контрольного коду результату через те, що знак результату при додаванні повторює знак доданків. Загальний спосіб контролю може бути використаний і для суматорів оберненого і доповняльного кодів. При додаванні чисел на суматорі доповняльного коду можлива корекція контрольного коду в випадку, якщо знакові розряди зображень містять одиницю тому, що при цьому виникає одиниця переносу із знакового розряду. Очевидно, що контрольний код суми буде рівним
,де
– кореляція ( =1, якщо виник перенос із знакового розряду, і =0 – якщо переносу немає).Контроль по модулю. Різноманітні задачі можна вирішувати за допомогою метода контролю, заснованого на властивостях порівняння. Розвинені на цій основі методи контролю арифметичних і логічних операцій називають контролем по модулю.
Існують два метода отримання контрольного коду: числовий і цифровий.
Числовий метод контролю. При числовому методі контролю код заданого числа знаходиться як найменший додатній залишок від ділення числа на обраний модуль р:
, (6)де
– модуль числа,{А/р} – ціла частина від ділення числа,
А – контрольне число.
Величина модуля р значно впливає на якість контроля; якщо p = q(де q – основа системи числення, в якій виражене число) і має місце числовий контроль, то контролюється тільки молодший розряд числа і контроль не має сенсу; для
справедливі аналогічні роздуми, тому, що якщо (де n розрядність числа), знову не всі розряди числа беруть участь в контролі і помилки в розрядах які старші m взагалі не сприймаються.При числовому методі контролю по модулю р для знаходження залишку використовують операцію ділення, яка потребує значних витрат машинного часу.
Цифровий метод контролю. При цифровому методі контролю контрольний код числа утворюється діленням суми цифр числа на обраний модуль:
або , (7)
де
– модуль числа, – -та цифра числа.Можливі два шляхи отримання контрольного коду:
1) безпосереднє ділення суми цифр на модуль р;
2) сумування цифр за модулем р.
Другий шлях простіше реалізується, оскільки якщо ai<p, то контрольний код отримується лише операцією сумування.
Арифметичний контроль (AN-контроль) вимагає утворення контрольного коду у вигляді AN, де А – контрольоване число, N – модуль. Вагою арифметичного коду прийнято вважати кількість ненульових символів у кодовій комбінації, а відстань, що визначається як вага різниці кодових комбінацій, називається арифметичною відстанню.
Якщо відстано між двома числами А1 та А2 рівна d, то це означає, що перехід від одного числа до другого досягається додаванням величини d. У цьому випадку всі комбінації чисел, що знаходяться між А1 та А2, є забороненими. Відповідно, для виявлення d-кратної помилки необхідно мати відстань не меншу за d+1. Якщо d=1, то такий код не зможе виявляти помилки. Величина відстані для кодів AN-вигляду залежить від величин А та N.