Смекни!
smekni.com

Синтез мікропрограмних автоматів (стр. 1 из 3)

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНІЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ „ХПІ"

Кафедра „Обчислювальна техніка та програмування”

Синтез мікропрограмних автоматів

Альбом документів курсового проекту по дисципліні

"Спеціалізовані комп’ютерні системи"

КІТ32.02198.022 ДКП

Керівник проекту:

___________

Виконав:

студент групи

____________________

„ __” ___________________ 2007 р.

Харків

Зміст

Вступ

1. Технічне завдання

1.1 Синтезувати мікропрограмний автомат за схемою Уілкса-Стрінжера у вигляді автомата Мілі

1.2 Синтезувати мікропрограмний автомат за схемою Уілкса-Стрінжера у вигляді автомата Мура

2. Базові теоретичні дані

2.1 Основні дані про автомати

2.2 Класифікація атоматів

3. Методика вирішення

3.1 Синтез мікропрограмного автомата за схемою Уілкса-Стрінжера у вигляді автомата Мілі

3.1.1 Змістовна схема алгоритму

3.1.2 Змістовна таблиця кодування операційних та умовних верхівок

3.1.3 Закодована мікроопераційна схема алгоритму

3.1.4 Таблиця кодування мікрокоманд

3.1.5 Закодована мікрокомандна схема алгоритма

3.1.6 Основна таблиця автомата (СІ - синхроімпульс)

3.1.7 Граф-схема переходів

3.1.8 Система рівнянь переходів

3.1 9. Система рівнянь виходів

3.1.10 Кодування внутрішніх станів автомата

3.1.11 Побудова схеми операційного автомата

3.1.12 Схема операційного автомата

3.2 Синтез мікропрограмного автомата за схемою Уілкса-Стрінжера у вигляді автомата Мура

3.2.1 Змістовна схема алгоритму

3.2.2 Змістовна таблиця кодування операційних та умовних верхівок

3.2.3 Закодована мікроопераційна схема алгоритма

3.2.4 Таблиця кодування мікрокоманд

3.2.5 Закодована мікрокомандна схема алгоритма

3.2.6 Основна таблиця автомата (СІ - синхроимпульс)

3.2.7 Граф-схема переходів

3.2.8 Система рівнянь переходів

3.2.9 Кодування внутрішніх станів автомата

3.2.10 Побудова схеми операційного автомата

3.2.11 Схема операційного автомата

Висновки

Список літератури

Вступ

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

З появою структурного програмування стало очевидним, що з трьох головних конструкторів керування: проходження, циклу і розгалуження останній є найважчим у сприйнятті програміста, оскільки при безлічі альтернатив перетворює лінеаризовану структуру алгоритму в деревоподібну. При цьому складність навіть послідовних програм росте стрімко і часом може перевершувати дерево варіантів у настільки непростий для автоматичного аналізу моделі, як традиційні шахи. Розбивка програми на процеси й об'єкти з заміною багатоступінчастого розгалуження засобами обробки повідомлень (подій) заміняє одну проблему на іншу: вкладеність зменшується, зате кількість взаємодіючих компонентів помітно зростає. Логіка "розмивається" і в підсумку ми одержуємо погано контрольовану ситуацію, коли через хаотичність "ручного" синтезу і неможливості побудувати вичерпний набір тестів немає ніякої впевненості в коректності побудованої системи. Ключ до рішення складається в застосуванні формальних методів, у створенні зручної абстракції, здатної "вичавити" з алгоритму квінтесенцію логіки його роботи і дати можливість проводити весь необхідний аналіз. Однією з таких зручних абстракцій можуть служити кінцеві автомати, серед різновидів яких варто виділити автомати Мілі і Мура. Близькість до булевої алгебри і теорії графів, наочність графічного представлення і детермінованість поводження є помітними достоїнствами цієї абстракції.

1. Технічне завдання

1.1 Синтезувати мікропрограмний автомат за схемою Уілкса-Стрінжера у вигляді автомата Мілі

Побудувати операційний автомат, що обчислює кількість парних елементів у двох одномірних масивах (A [n], B [m]).

Мікропроцесорний автомат необхідно реалізувати за схемою Уілкса-Стрінжера у вигляді автомата Мілі.

Оптимальну функціональну схему керуючих частин автомата синтезувати на елементах системи І, АБО, НЕ, RS-, D - тригерах, доповнюючи її необхідними по алгоритму функціональними автоматами.

1.2 Синтезувати мікропрограмний автомат за схемою Уілкса-Стрінжера у вигляді автомата Мура

Побудувати операційний автомат, який знаходить максимальний парний елемент в кожному рядку масива (A [n,n]).

Мікропрограмний автомат необхідно реалізувати за схемою Уілкса-Стрінжера у вигляді автомата Мура.

Оптимальну функціональну схему керуючих частин автомата синтезувати на елементах І, НЕ, RS-, D - тригерах.

2. Базові теоретичні дані

2.1 Основні дані про автомати

Автомат - модель пристрою з кінцевою пам'яттю, призначена для обробки інформації.

В абстрактному змісті автомат - зовсім не чорний ящик, що переробляє послідовність вхідних дискретних сигналів у послідовність вихідних сигналів. У загальному випадку, автомат представляється схемою, основними частинами якої є логічний перетворювач і пам’ять. Логічний перетворювач складається з логічних елементів, з'єднаних один з одним у необхідну схему. У правильно спроектованому автоматі логічні елементи і весь логічний перетворювач можуть вважатися безінерційними, притаманні елементам запізнювання в зміні сигналів використовуються для створення пам’яті. В автоматі виділяються чотири види сигналів: вхідні, вихідні, проміжні і синхронізуючі. Якщо число вхідних і вихідних сигналів кінцеве, то схема представляє кінцевий автомат.

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

2.2 Класифікація атоматів

Розрізняють два класи кінцевих автоматів. Синхронний автомат характеризується тим, що генератор тактових імпульсів синхронізації впливає через вхід S на автомат, поділяючи час на такти. Інтервали часу між тактовими імпульсами повинні бути більше будь-якої затримки. Вихідні сигнали в синхронному автоматі зчитуються тільки під час видачі цих імпульсів, коли під впливом вхідних і проміжних сигналів автомат перейшов вже в новий стан. В асинхронному автоматі вихідні сигнали зчитуються в будь-який час, а перехід у новий стан визначається лише часом спрацьовування всіх логічних елементів, що входять у логічний перетворювач. На вхід S не подається ніякий сигнал (цей вхід відсутній).

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

Кінцеві автомати створюються на базі Інтегральних Схем (ІС). Особливо зручна їх реалізація на основі програмувальних логічних матриць (ПЛМ). Часто логічний перетворювач виконується у виді однієї інтегральної схеми.

3. Методика вирішення

3.1 Синтез мікропрограмного автомата за схемою Уілкса-Стрінжера у вигляді автомата Мілі

Побудувати операційний автомат, що обчислює кількість парних елементів у двох одномірних масивах (A [n], B [m]).

Мікропроцесорний автомат необхідно реалізувати за схемою Уілкса-Стрінжера у вигляді автомата Мілі.

Оптимальну функціональну схему керуючих частин автомата синтезувати на елементах системи І, АБО, НЕ, RS-, D - тригерах, доповнюючи її необхідними по алгоритму функціональними автоматами.

3.1.1 Змістовна схема алгоритму

До складу змістовної схеми алгоритму (Рис.1) входять операційні та умовні верхівки. Наш алгоритм виконує знаходження кількості парних елементів у двох одномірних масивах розмірністю [n] та [m], використовуючи при цьому чотири (4) умовні верхівки і десять (10) операційних верхівок. Позначення операційних верхівок показано на Рис.2. Позначення умовних верхівок на Рис.3. Перевірка елементів масивів виконується від стовпчика до стовпчика.



3.1.2 Змістовна таблиця кодування операційних та умовних верхівок

Кожна верхівка, чи то операційна чи умовна, кодується. При чому, якщо, мікро операції повторюються і умовні верхівки повторюються, вони кодуються однаково. У даному прикладі мікрооперації повторюються двічі, тому, однакові верхівки ми можемо кодувати одним кодом. Таблиця кодування верхівок зображена у Таблиці1.

Таблиця1

Код Зміст Примітка
mY1 i = 1
mY2 kol = 0
mY3 A [i] Ввід А [і]
mY4 kol = kol + 1
mY5 i = i + 1
mY6 B [i]
mY7 kol Вивід kol
X1 A [i] mod 2 = 0 так - 1, ні - 0
X2 i £ n так - 1, ні - 0
X3 B [i] mod 2 = 0 так - 1, ні - 0
X4 i ≤ m так - 1, ні - 0

3.1.3 Закодована мікроопераційна схема алгоритму

Закодована мікроопераційна схема алгоритму будується на основі змістовної схеми алгоритму (Рис.1) і таблиці кодування операційних та умовних верхівок (Таблиця 1), шляхом заміни відповідних блоків. Схема алгоритму зображена на Рис.4.