48867 (Розробка алгоритму операційного автомату, синтез керуючого автомату з жорсткою логікою типу Мілі), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Розробка алгоритму операційного автомату, синтез керуючого автомату з жорсткою логікою типу Мілі", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48867"

Текст 2 страницы из документа "48867"

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

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

Функцiя операцiйного автомату визначається слiдуючою єднiстю вiдомостей:

Множиною вхiдних слiв d={d(1),...,d(H)}, що вводиться в автомат в якостi операндiв.

Множиною вихiдних слiв R={r(1),...,r(Q)}, що представляє результати операцiй.

Множиною мiкрооперацiй Y={y(m)}, m=1,...,M, реалiзуючих перетворення S={f(m)}(S) над словами iнформацiї, де f(m) - шукана функцiя.

Таким чином, функцiя операцiйного автомату задана, якщо визначенi множини D,R,S,Y,X. Час не є аргументом функцiї операцiйного автомату. Функцiя встановлює список дiй - мiкрооперацiй i логiчних умов,- якi може виконувати автомат, але нiяк не визначає порядок слiдування цих дiй у часi. Iнакше кажучи, функцiя операцiйного автомату характеризує засоби, якi можуть бути використанi для обчислень, але не сам обчислювальний процес. Порядок виконання дiй у часi визначається у формi функцiй управляючого автомату.

      1. 1.2.2 Структурна схема операційного автомату

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

Операційний автомат ОА розділяється на три частини: пам'ять S; комбінаційну схему Ф, яка реалізує мікрооперації; комбінаційну схему ψ, яка обчислює значення логічних умов. Пам’ять S забезпечує збереження слів s1,…sN, які представляють значення операндів D, проміжкові значення і кінцеві результати R. Для виконання мікрооперацій Y={ ym} служить комбінаційна схема Ф. Керуючі сигнали Y, що формуються управляючим автоматом УА, ініціюють виконання необхідних мікрооперацій. Так, якщо надходять сигнали ym1 і ym2, то схема Ф виконує дві мікрооперації що зводиться до обчислення значень і присвоєння їх словам . Для обчислення значень логічних умов служить комбінаційна схема ψ, що реалізує систему булевих функцій , значення яких представляються інформаційними сигналами X={xl}.

1.3 Розробка машинного алгоритму

      1. 1.3.1 Побудова граф-схеми алгоритму

      2. Побудова словесного алгоритму:

1) У регістр А записується прямий код множеного А, який передається із вхідної шини:

РгА:=Швх1

2) У регістр В записується прямий код множника В, який передається із вхідної шини:

РгВ:=Швх2

3) Встановлюємо в нуль накопичувальний суматор:

НСМ:=0

4) У лічильник записуємо кількість разів повторення циклу:

ЛІЧ:=29

5) Перевіряємо чи рівні знакові розряди співмножників:

РгА[31]=РгВ[31] ?

Якщо так,то переходимо до пункту 7.

Якщо ні, то переходимо до пункту 6.

6) Знаковий розряд НСМ виставляється в 1:

НСМ[63]:=1

7) Аналізуємо старший розряд регістра В:

РгВ[30]=1?

Якщо так, тоді переходимо до пункту 8.

Якщо ні, тоді переходимо до пункту 9.

8) Додаємо до вмісту накопичувального суматора значення коду регістра А:

НСМ:=НСМ+РгА

9) Відновлюємо попередній вміст регістра В, циклічно зсуваючи його вліво на один розряд:

L1.РгB[0:30]

10) Вміст накопичувального суматора циклічно зсуваємо на один розряд вліво:

L1.НСМ[0:62]

11) Декрементуємо значення лічильника:

ЛІЧ:=ЛІЧ-1

12) Молодший розряд накопичувального суматора приймає значення нуль:

НСМ[0]=0

13) Перевіряємо, чи лічильник рівний нулеві:

ЛІЧ=0?

Якщо так, то переходимо до пункту 14

Якщо ні, то переходимо до пункту 7.

14) Значення накопичувального суматора циклічно зсуваємо на один розряд вправо:

R1.НСМ[0:62]

15) Закінчення операції множення. Значення результату, яке записане у накопичувальному суматорі, передається на шину даних:

Швих:=НСМ[0:63]

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

Граф-схема алгоритма (ГСА) - орієнтований зв'язаний граф, який містить одну початкову вершину (Початок), одну кінцеву вершину (Кінець) і довільну кількість умовних і операторних вершин. Вершина "Початок" входів не має.

Кінцева, операторна і умовна вершини мають по одному входу, початкова вершина входів не має. Вершина "Початок" і будь-яка операторна мають по одному виходу, умовна вершина має два виходи, позначених символами «1» та «0». Вершина "Кінець" виходів не має.

ГСА має задовольняти наступні умови:

входи і виходи вершин з'єднуються один з одним за допомогою дуг, направлених завжди від виходу до входу;

кожен вихід з'єднано лише з одним входом;

кожен вихід з'єднується лише з одним входом;

будь-який вхід з'єднується принаймні з одним виходом;

будь-яка вершина ГСА лежить принаймні на одному шляху від початкової вершини до кінцевої;

один із виходів умовної вершини може з'єднуватись з її входом, що є недопустимим для операторної вершини. Такі умовні вершини іноді називаються зворотними;

в кожній умовній вершині записується логічна умова із множини логічних умов;

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

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

Структурна схема операційного автомата – на рисунку 1.

Рисунок 1 - Структурна схема операційного автомата

      1. 1.3.2 Приклад реалізації алгоритму

Приклад: Перемножити на суматорі прямого коду починаючи з старших розрядів множника А=57, В=-923 з використанням описаного у пункті 1.3.1 алгоритму.

Розв’язання.

Спочатку запишемо машинні зображення чисел А та В в прямих кодах з заданою розрядністю:

А = 0,[0] 30...[0] 6111001; В = 1,[0] 30…[0] 111110011011

Послідовність дій, що виконуються над числами, наведена у таблиці 1.

Відповідь: 1,[0] 62…[0] 1701100110011011000.

Таблиця 1 – Приклад реалізації алгоритму множення, починаючи зі старших розрядів множника

Суматор НСМ

Регістр РгА

Регістр РгВ

Примітки

0,[0]62…[0]1700000000000000000

0,[0]30...[0]6111001

1,[0]30…[0]111110011011

НСМ:=0; РгА:=Швх1; РгВ:=Швх2; ЛІЧ:=29;

1,[0]62…[0]18000000000000000000

0,[0]30...[0]6111001

1,[0]30…[0]121110011011_

НСМ[63]:=1; РгВ[30]=0; L1.РгВ[0:30]; ЛІЧ:=28;

L1.НСМ[0:62]; НСМ[0]:=0;

1,[0]62…[0]1700000000000000000

0,[0]30...[0]6111001

1,01110011011[ _ ] 19…[ _ ] 0

РгВ[30]=0; L1.РгВ[0:30];

L1.НСМ[0:62];

НСМ[0]:=0; ЛІЧ:=10;

1 ,[0]62…[0]1700000000000000000

1 ,[0]62…[0]1700000000000111001

1,[0]62…[0]1700000000001110010

0,[0]30...[0]6111001

1,1110011011[_] 20…[_] 0

РгВ[30]=1;

НСМ:=НСМ+РгА;

L1.РгВ[0:30];

L1.НСМ[0:62];

НСМ[0]:=0; ЛІЧ:=9;

1 ,[0]62…[0]1700000000001110010

1 ,[0]62…[0]1700000000010101011

1,[0]62…[0]1700000000101010110

0,[0]30...[0]6111001

1,110011011[_] 21…[_] 0

РгВ[30]=1;

НСМ:=НСМ+РгА;

L1.РгВ[0:30];

L1.НСМ[0:62];

НСМ[0]:=0; ЛІЧ:=8;

1 ,[0]62…[0]1700000000101010110

1 ,[0]62…[0]1700000000110001111

1 ,[0]62…[0]1700000001100011110

0,[0]30...[0]6111001

1,10011011[_] 22…[_] 0

РгВ[30]=1;

НСМ:=НСМ+РгА;

L1.РгВ[0:30];

L1.НСМ[0:62];

НСМ[0]:=0; ЛІЧ:=7;

1,[0]62…[0]1700000001100011110

1,[0]62…[0]1700000011000111100

0,[0]30...[0]6111001

1,0011011[_] 23…[_] 0

РгВ[30]=0; L1.РгВ[0:30];

L1.НСМ[0:62];

НСМ[0]:=0; ЛІЧ:=6;

1 ,[0]62…[0]1700000011000111100

1,[0]62…[0]1700000110001111000

0,[0]30...[0]6111001

1,011011[_] 24…[_] 0

РгВ[30]=0; L1.РгВ[0:30];

L1.НСМ[0:62];

НСМ[0]:=0; ЛІЧ:=5;

1 ,[0]62…[0]1700000110001111000

1 ,[0]62…[0]1700000110010110001

1,[0]62…[0]1700001100101100010

0,[0]30...[0]6111001

1,11011[_] 25…[_] 0

РгВ[30]=1;

НСМ:=НСМ+РгА;

L1.РгВ[0:30]; ЛІЧ:=4;

L1.НСМ[0:62]; НСМ[0]:=0;

1 ,[0]62…[0]1700001100101100010

1 ,[0]62…[0]1700001100110011011

1,[0]62…[0]1700011001100110110

0,[0]30...[0]6111001

1,1011[_] 26…[_] 0

РгВ[30]=1;

НСМ:=НСМ+РгА;

L1.РгВ[0:30]; ЛІЧ:=3; L1.НСМ[0:62]; НСМ[0]:=0;

1 ,[0]62…[0]1700011001100110110

1,[0]62…[0]1700110011001101100

0,[0]30...[0]6111001

1,011[_] 27…[_] 0

РгВ[30]=0; L1.РгВ[0:30];

L1.НСМ[0:62];

НСМ[0]:=0; ЛІЧ:=2;

1 ,[0]62…[0]1700110011001101100

1 ,[0]62…[0]1700110011010100101

1,[0]62…[0]1701100110011011000

0,[0]30...[0]6111001

1,11[_] 28…[_] 0

РгВ[30]=1;

НСМ:=НСМ+РгА;

L1.РгВ[0:30]; ЛІЧ:=1;

L1.НСМ[0:62]; НСМ[0]:=0;

1 ,[0]62…[0]1701100110011011000

1 ,[0]62…[0]1701100110110000011

1,[0]62…[0]1711001100110110000

0,[0]30...[0]6111001

1,1[_] 29…[_] 0

РгВ[30]=1;

НСМ:=НСМ+РгА;

L1.РгВ[0:30]; ЛІЧ:=0;

L1.НСМ[0:62]; НСМ[0]:=0;

1 ,[0]62…[0]1711001100110110000

1,[0]62…[0]1701100110011011000

0,[0]30...[0]6111001

1,1[_] 29…[_] 0

R1.НСМ[0:62];

Швих:=НСМ[0:63]

  1. 2. СИНТЕЗ КЕРУЮЧОГО АВТОМАТУ

    1. 2.1 Основи теорії керуючих автоматів

Керуючий автомат (КА) генерує послідовність керуючих сигналів, яка передбачена мікропрограмою і відповідає значенням логічних умов. Інакше кажучи, керуючий автомат задає порядок виконання дій в операційному автоматі, який виходить з алгоритму виконання операцій. Найменування операції, яку необхідно виконувати у пристрої, визначається кодом операції. По відношенню до керуючого автомату сигнали коду операції, за допомогою яких кодується найменування операції, і повідомлювальні сигнали х1,...,хi, які формуються в операційному автоматі, грають однакову роль: вони впливають на порядок генерування керуючих сигналів y. Тому сигнали коду операції і умовні сигнали відносяться до одного класу – до класу повідомлювальних сигналів, які поступають на вхід керуючого автомату.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4125
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее