Курсовая работа: Синтез керуючих автоматів
Курсовая работа: Синтез керуючих автоматів
ВСТУП
Принцип
мікропрограмного керування припускає, що цифровий пристрій складається з двох
частин: операційний автомат (ОА) і керуючий автомат (КА). ОА виконує
найпростіші операції (мікрооперації) типу зсув, алгебраїчне додавання,
кон’юнкція, диз’юнкція і т.п. КА формує послідовність керуючих символів в ОА,
під впливом яких ОА реалізує більш складні алгоритми. Такі послідовності
операцій називаються мікропрограмами та, звичайно, записуються у вигляді
граф-схеми алгоритму.
КА розділяються
на дві великі групи: автомати з жорсткою логікою та автомати з програмованою
логікою. У свою чергу автомати з жорсткою логікою підрозділяються на автомати,
виконані за схемою Мілі (КА Мілі) і за схемою Мура (КА Мура), автомати з
програмованою логікою – на автомати з примусовою адресацією та з природною
адресацією.
В автоматах з
жорсткою логікою схема автомата однозначно інтерпретує граф-схему
мікропрограми. В автоматах із програмованою логікою граф-схема інтерпретується
у вигляді програми, що зберігається в пам’яті автомата.
1. СИНТЕЗ
ОПЕРАЦІЙНОГО АВТОМАТА
1.1 Аналіз
вхідних даних
Загальна формула
для обчислювання результату S має такий вигляд:
Формулі , та згідно з варіантом
завдання:
Загальний
алгоритм для обчислювання формули S приведений на рисунку 1.1.
Для обчислювання
формули S використовується ІМp-модель (Individual Mutual with Parallel part - IMp).
Рис. 1.1 –
Загальний алгоритм для обчислювання формули S
Схему взаємодії
операційного та керуючої частин у цифровому просторі зображено на рисунку 1.2.
Рис. 1.2 –
Структура цифрового пристрою
Структурна схема ІМp - моделі зображена на рисунку 1.3
Рис. 1.3 – Структура
операційного пристрою
Пам’ять автомата
складається з регістрів загального призначення R1, ... , Rn.
Локальні шини А1, А2, A3 призначені для прийому інформації з пам’яті та передачі її
на комбінаційні схеми (КС).
В даному випадку
використовуються КС двох типів: одномісні та двомісні.
Рис. 1.4 –
Приклад комбінаційних схем
Однак, у даному
ОА використовуються лише деякі з них.
1.2
Розробка функціонального алгоритму
Функціональна і
структурна організація операційних пристроїв (ОУ) базується на принципі мікро
програмного керування, сформульованому в 1951 році М. Уилксом. Відповідно до
цього принципу будь-яка машинна операція розділяється на послідовність
елементарних дій по обробці інформації – мікро операцій (МО). Порядок
проходження мікро операцій визначається спеціальними логічними умовами (ЛУ),
що у залежності від значень оброблюваної інформації приймають значення
"істина" (1) або "неправда" (0). Алгоритм операцій в ОУ,
записаний у термінах мікро операцій і логічних умов, що відбиває порядок
проходження мікро операцій у часі, називається мікропрограмою.
Функція УА – це оперативна схема алгоритму,
операторами якої є символи
, що ототожнюються з МО, виконуваними
ОА, як логічні умови використовуються булеві перемінні . Найбільше часто
операторна схема алгоритму представляється у виді граф-схеми алгоритму (ГСА).
Граф-схема
алгоритму.
Орієнтований зв'язаний граф – граф, що містить одну початкову вершину, одну
кінцеву вершину, довільну безліч умовних і операторних вершин.
Будова ІМр автомата дозволяє паралельно виконувати одномісну
та двумісну операції, тобто можливо виконувати за одне завантаження автомату
завантаження двох операнд. Наприклад, у п’ятій вершині зроблено саме так.
Кожній дії,
завантаженню автомата, відповідає Y[і].
Ідентичні дії
відповідають однаковим командам, Y[і].
Логічні умови
позначаються – XL, однаковим умовам відповідають однакові XL.
Функціональний
алгоритм приведений на рисунку 1.5.
Рис. 1.5 –
Функціональний алгоритм
1.3
Розробка структурної схеми автомата
1.3.1.
Визначення набору регістрів пам’яті:
Rg : {RA, RB, RC, RS1, RS2, RS3}
1.3.2. Набір
комбінаційних схем:
Одномісні: КС1 : {L1, L2,
L3, R1, R2, R3}
На шину C повинні поступати всі аргументи
одномісних операцій.
Двомісні: КС2: {Sum, Sub}
Припустимо, що
операція відіймання виконується наступним чином:
Sub := B - A, тому від’ємне завжди повинно знаходитись на шині B, а від’ємник на шині А. В іншій
двомісній операції Sum порядок операндів значення не
має.
Рис. 1.6 – Структурна схема автомата
1.3.3.
Зв'язки між регістрами та локальними шинами
Наша схема має
три шини: А та B –
двомісні, та шина C –
одномісна.
A {RA, RB, RC, RS1, RS2, RS3}
B {RA, RB, RC, RS1, RS2, RS3}
C {RA, RB, RC, RS1, RS2, RS3}
1.3.4. Зворотні зв'язки шин Z1 та Z2
з регістрами пам’яті
Шини, що є
результативними:
Z1 –
результати одномісних операцій, а Z2 – двомісних операцій.
Z1
{RA, RB, RC, RS1, RS2, RS3}
Z2
{RA, RB, RC, RS1, RS2, RS3}
Кожний елемент, котрий діє у схемі може виконуватись
тільки при наявності відповідного керуючого сигналу y[n].
у1, у2, у3 –
завантаження початкових даних на шини.
у4 – у15 – завантаження даних у регістри пам'яті.
у16–у33 – завантаження з пам'яті на
локальні шини А, B, C.
у34,
у39 – завантаження результатів
одномісних операцій на шину Z1.
y40–у41 – завантаження
результатів двомісних операцій на шину Z2.
Отримані таким чином дані заносимо до таблиці 1.1
Табл. 1.1
–Таблиця мікрооперацій
Мікрооперація |
A |
B |
C |
Z1
|
Z2
|
Result |
Y |
формула |
регістр |
y |
регістр |
y |
регістр |
y |
форм. |
y |
форм. |
y |
регістр |
y |
1 |
RA := <A>
RB := <B>
|
|
|
|
|
|
|
<B> |
y2
|
<A> |
y1
|
RA:=Z2
RB:=Z1
|
y4
y7
|
2 |
RC := <C> |
|
|
|
|
|
|
|
|
<C> |
y3
|
RC:=Z2
|
y8
|
3 |
RS3 := RA + RB
|
RA |
y17
|
RB |
y21
|
|
|
|
|
RA+RB |
y40
|
RS3:=Z2
|
y14
|
4 |
RS2 := RA – RB
|
RB |
y20
|
RA |
y18
|
|
|
|
|
RA-RB |
y41
|
RS2:=Z2
|
y12
|
5 |
RS1 := L3(RS2)
|
|
|
|
|
RS2
|
y28
|
L3(RS2)
|
y36
|
|
|
RS1:=Z1
|
y11
|
6 |
RS1 := RS1
– RS2
|
RS2
|
y29
|
RS1
|
y27
|
|
|
|
|
RS1-RS2
|
y41
|
RS1:=Z2
|
y10
|
7 |
RS2 := L2(RA)
|
|
|
|
|
RA |
y16
|
L2(RA)
|
y35
|
|
|
RS2:=Z1
|
y13
|
8 |
RS3 := L1(RB)
|
|
|
|
|
RB |
y19
|
L1(RB)
|
y34
|
|
|
RS3:=Z1
|
y15
|
9 |
RS1 := RS2
– RS3
|
RS3
|
y32
|
RS2
|
y30
|
|
|
|
|
RS2-RS3
|
y41
|
RS1:=Z2
|
y10
|
10 |
RS1 := L2(RA)
|
|
|
|
|
RA |
y16
|
L2(RA)
|
y35
|
|
|
RS1:=Z1
|
y11
|
11 |
RS1 := RS1
– RA
|
RA |
y17
|
RS1
|
y27
|
|
|
|
|
RS1-RA
|
y41
|
RS1:=Z2
|
y10
|
12 |
RS1 := R1(RS1)
|
|
|
|
|
RS1
|
y25
|
R1(RS1)
|
y37
|
|
|
RS1:=Z1
|
y11
|
13 |
RS1 := RS1
– RB
|
RB |
y20
|
RS1
|
y27
|
|
|
|
|
RS1-RB
|
y41
|
RS1:=Z2
|
y10
|
14 |
RS3 := RB –
RA
|
RA |
y17
|
RB |
y21
|
|
|
|
|
RB-RA |
y41
|
RS3:=Z2
|
y14
|
15 |
RS3 := R1(RB)
|
|
|
|
|
RB |
y19
|
R1(RB)
|
y37
|
|
|
RS3:=Z1
|
y15
|
16 |
RS2 := RA –
RS3
|
RS3
|
y32
|
RA |
y18
|
|
|
|
|
RA-RS3
|
y41
|
RS2:=Z2
|
y12
|
17 |
RS2 := RA +
RB
RS3 := L1(RC)
|
RA |
y17
|
RB |
y21
|
RC |
y22
|
L1(RC)
|
y34
|
RA+RB |
y40
|
RS2:=Z2
RS3:=Z1
|
y12 y15
|
18 |
RS2 := RS2
– RS3
|
RS3
|
y32
|
RS2
|
y30
|
|
|
|
|
RS2-RS3
|
y41
|
RS2:=Z2
|
y12
|
19 |
RS2 := RS2
– RC
|
RC |
y23
|
RS2
|
y30
|
|
|
|
|
RS2-RC
|
y41
|
RS2:=Z2
|
y12
|
20 |
RS3 := L1(RB)
|
|
|
|
|
RB |
y19
|
L1(RB)
|
y34
|
|
|
RS3:=Z1
|
y15
|
21 |
RS3 := RA –
RS3
|
RS3
|
y32
|
RA |
y18
|
|
|
|
|
RA-RS3
|
y41
|
RS3:=Z2
|
y14
|
22 |
RS2 := L3(RS3)
|
|
|
|
|
RS3
|
y31
|
L3(RS3)
|
y36
|
|
|
RS2:=Z1
|
y13
|
23 |
RS2 := RS2
– RS3
|
RS3
|
y32
|
RS2
|
y30
|
|
|
|
|
RS2-RS3
|
y41
|
RS2:=Z2
|
y12
|
24 |
RS2 := R3(RS2)
|
|
|
|
|
RS2
|
y28
|
R3(RS2)
|
y39
|
|
|
RS2:=Z1
|
y13
|
25 |
RS3 := RC +
RB
|
RB |
y20
|
RC |
y24
|
|
|
|
|
RB+RC |
y40
|
RS3:=Z2
|
y14
|
26 |
RS3 := L1(RS3)
|
|
|
|
|
RS3
|
y31
|
L1(RS3)
|
y34
|
|
|
RS3:=Z1
|
y15
|
27 |
RS3 := RS3
+ RC
|
RS3
|
y32
|
RC |
y24
|
|
|
|
|
RS3+RC
|
y40
|
RS3:=Z2
|
y14
|
28 |
RC := L2(RB)
RS3 := RA –
RB
|
RB |
y20
|
RA |
y18
|
RB |
y19
|
L2(RB)
|
y35
|
RA-RB |
y41
|
RC:=Z1
RS3:=Z2
|
y9 y14
|
29 |
RS3 := RS3
– RC
|
RC |
y23
|
RS3
|
y33
|
|
|
|
|
RS3-RC
|
y41
|
RS3:=Z2
|
y14
|
30 |
RS3 := RC –
RA
|
RA |
y17
|
RC |
y24
|
|
|
|
|
RC-RA |
y41
|
RS3:=Z2
|
y14
|
31 |
RS3 := R2(RS3)
|
|
|
|
|
RS3
|
y31
|
R2(RS3)
|
y38
|
|
|
RS3:=Z1
|
y15
|
32 |
RS1 := L1(RS1)
|
|
|
|
|
RS1
|
y25
|
L1(RS1)
|
y34
|
|
|
RS1:=Z1
|
y11
|
33 |
RS1 := RS2
+ RS1
|
RS1
|
y26
|
RS2
|
y30
|
|
|
|
|
RS1+RS2
|
y40
|
RS1:=Z2
|
y10
|
34 |
RS1 := RS2
– RS1
|
RS1
|
y26
|
RS2
|
y30
|
|
|
|
|
RS2-RS1
|
y41
|
RS1:=Z2
|
y10
|
35 |
RS1 := L2(RS3)
|
|
|
|
|
RS3
|
y31
|
L2(RS3)
|
y35
|
|
|
RS1:=Z1
|
y11
|
36 |
RS1 := RS2
+ RS1
|
RS1
|
y26
|
RS2
|
y30
|
|
|
|
|
RS1+RS2
|
y40
|
RS1:=Z2
|
y10
|
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9
|