Смекни!
smekni.com

Синтез керуючих автоматів (стр. 1 из 8)

ВСТУП

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

КА розділяються на дві великі групи: автомати з жорсткою логікою та автомати з програмованою логікою. У свою чергу автомати з жорсткою логікою підрозділяються на автомати, виконані за схемою Мілі (КА Мілі) і за схемою Мура (КА Мура), автомати з програмованою логікою – на автомати з примусовою адресацією та з природною адресацією.

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


1. СИНТЕЗ ОПЕРАЦІЙНОГО АВТОМАТА

1.1 Аналіз вхідних даних

Загальна формула для обчислювання результату S має такий вигляд:

Формулі

,
та
згідно з варіантом завдання:

Загальний алгоритм для обчислювання формули S приведений на рисунку 1.1.


Для обчислювання формули S використовується ІМp-модель (IndividualMutualwithParallelpart - 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:=Z2RB:=Z1 y4y7
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 + RBRS3 := L1(RC) RA y17 RB y21 RC y22 L1(RC) y34 RA+RB y40 RS2:=Z2RS3:=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:=Z1RS3:=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