Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая СиФОЭВМ.doc
Скачиваний:
27
Добавлен:
01.04.2014
Размер:
1.94 Mб
Скачать

1.2 Разработка обобщённой структуры микро эвм на основе алгоритмов решения задач.

С учётом вышеизложенных алгоритмов обобщённую структуру микро ЭВМ можно представить следующим образом (рис. 3.).

Рис. 3. Обобщённая структура микро ЭВМ.

1.3 Синтез операционных автоматов для процессорных элементов микро эвм.

В качестве операционного автомата для процессорных элементов микро ЭВМ выберем операционный автомат М-типа.

Автоматы данного типа меньшую аппаратную сложность, однако, производительность вычислений уменьшается до одной операции за такт. Логические условия в автомате М-типа могут формироваться как в АЛУ, так и в самих регистрах – путём соответствующих выводов к управляющему автомату.

Далее синтезирован операционный автомат М-типа, реализующий арифметическую операцию, заданную в условии ().

Блок-схема микроопераций, реализующая данную математическую операцию представлена ниже. (Рис. 4.)

Рис. 4.1 Блок схема микроопераций.

Рис. 4.2 Блок схема микроопераций.

Рис. 4.3 Блок схема микроопераций.

В структуре М-автомата использованы две шины данных ШД1 и ШД2. Они соединены с входами АЛУ А1 и А2 соответственно. Разделим множество операндов АЛУ на два подмножества исходя из условий.

  1. Если регистры RiиRjоперанды одной микрооперации, то они включаются в различные подмножества.

  2. Каждое слово Rдолжно принадлежать хотя бы одному из подмножеств.

  3. Подмножества формируются таким образом, чтобы затраты на коммутацию были минимальные.

Для определения каждого из подмножеств построим таблицу выполняющихся микроопераций, и распределим регистры по шинам.

Результат произведенных действий поместим в таблицу.

Содержание микроопераций

ШД1

ШД2

Рг. I[3.0] := 1

-

1

Рг. Т[23.0] := 0

-

-

Рг. LN[23.0]:=0

-

-

Рг. К[3.0] := 10

-

10

Рг. Х[23.0] := Х

-

Х

Рг. Х[23.0] := Рг. X[23.0] – 1

-

Рг. Х

Рг. Р[23.0] := Рг. Х[23.0]

-

Рг.Х

Рг. Чт.[23.0] := 0

-

-

Рг. Дт.:=Рг.I.

-

Рг.I

Рг.Дм.[23.0]:=Рг.Х[23.0]

-

Рг.Х

Рг.Сч.[23.0] := 23

-

23

Рг.Дм.[23.0] := Рг.Дм.[23.0] + Рг.Дт + 1

Рг.Дм.

Рг.Дт.

Т3 := 1

-

-

Т3 := 0

-

-

Рг.Дм. := Рг.Дм.[23.0] + Рг. Дт. [23.0]

Рг.Дм.

Рг.Дт.

Рг.Дм. := L1(Рг.Дм.[23.0].0)

Рг.Дм.

-

Рг.Чт. := L1(Рг.Чт.[23.0].0)

-

Рг.Чт.

Рг.Чт.[23.0] := Рг.Чт.[23.0] + 1

-

Рг.Чт.

Рг.Сч.[23.0] := Рг.Сч.[23.0] – 1

-

Рг.Сч.

Рг.Т. := Рг.Чт.[23.0]

-

Рг.Чт.

Рг.LN[23.0] := Рг.LN[23.0] + Рг.Т.[23.0]

Рг.LN

Рг.Т

Рг.I[23.0] := Рг.I[23.0] + 1

-

Рг.I

Рг.См.[23.0] := 0

-

-

Рг.Мн.[23.0] := Рг.Х[23.0]

-

Рг.Х

Рг.Мт.[23.0] := Рг.Р[23.0]

-

Рг.Р

Рг.Сч.[23.0] := 13

-

13

Tд. := 0

-

-

Рг.См.[23.0] := Рг.См.[23.0] + Рг.Мн.[23.0]

Рг.См.

Рг.Мн.

Рг.См.[23.0] := Рг.См. + L1(Рг.Мн.[23.0].0)

Рг.См.

Рг.Мн.

Рг.См.[23.0] := Рг.См. + Рг.Мн.[23.0] + 1

Рг.См.

Рг.Мн.

Tд. := 1

-

-

Рг.Мт.[23.0] := R2(00.Рг.Мт.[23.0])

-

Рг.Мт.

Рг.Мн.[23.0] := L2(Рг.Мн.[23.0].00)

-

Рг.Мн.

Рг.Х[23.0] := Рг.См.[23.0]

Рг.См.

-

Рг.Х[23.0] := Рг.Х.[23.0] + 1

-

Рг.Х

Рг.К. := Рг.К.[23.0] – 1

-

Рг.К.

Таким образом в первое подмножество попадают регистры:

  • Рг.Дм;

  • Рг.См;

  • Рг.LN.

Во второе подмножество попадают регистры:

  • Рг.Х;

  • Рг.I;

  • Рг.Дт;

  • Рг.Чт;

  • Рг.Т;

  • Рг.Сч;

  • Рг.Р;

  • Рг.Мн.;

  • Рг.Мт;

  • Рг.К.

Поставим в соответствие каждой микрооперации выполняемой функции оператор присваивания АЛУ. Эти операторы характеризуют действия, выполняемые непосредственно в АЛУ.

Составим таблицу соответствующих микроопераций:

Содержание оператора D

Приемник результата

D:= 000…01

D->Рг.I

D:= 000…0

D->Рг.Т.

D:= 000…0

D->Рг.LN

D := 000…01010

D->Рг.К

D := A2[23.0]

D->Рг.Х

D := A2[23.0] + 111…1

D->Рг.Х

D := A2[23.0]

D->Рг.Р

D:= 00..00

D->Рг.Чт

D := A2[23.0]

D->Рг.Дт

D := A2[23.0]

D->Рг.Дм.

D:= 000…010111

D->Рг.Сч.

D := A1[23.0] + A2[23.0] + 1

D->Рг.Дм.

D:= 000…01

D->Т3

D:= 000…0

D->Т3

D := A1[23.0] + A2[23.0]

D->Рг.Дм.

D := L1(A1[23.0].0)

D->Рг.Дм.

D := L1(A2[23.0].0)

D->Рг.Чт

D := A2[23.0] + 1

D->Рг.Чт

D := A2[23.0] + 1111…11

D->Рг.Сч.

D := A2[23.0]

D->Рг.Т.

D := A1[23.0] + A2[23.0]

D->Рг.LN

D := A2[23.0] + 1

D->Рг.I

D:= 000…00

D->Рг.См.

D := A2[23.0]

D->Рг.Мн.

D := A2[23.0]

D->Рг.Мт.

D:= 000…01101

D->Рг.Сч.

D:= 000…00

D->Тд

D := A1[23.0] + A2[23.0]

D->Рг.См.

D := A2[23.0] + L1(A2[23.0].0)

D->Рг.См.

D := A1[23.0] + A2[23.0] + 1

D->Рг.См.

D:= 000…01

D->Тд.

D := R2(00.A2[23.0])

D->Рг.Мт

D := L2(A2[23.0].00)

D->Рг.Мн.

D := A1[23.0]

D->Рг.Х

D := A2[23.0] + 1

D->Рг.Х

D := A2[23.0] + 111…11

D->Рг.К.

Построим таблицу выбора источников операндов для АЛУ и таблицу выбора приемников результатов.

Таблица источников.

Источники

Сигналы управления

A1

A2

ai

bj

-

I

-

b1

-

T

-

b2

LN

-

a3

-

-

К

-

b4

-

X

-

b5

-

P

-

b6

-

Чт

-

b7

-

Дт

a9

b8

Дм

-

-

-

Сч

-

b10

-

Мн

-

b11

-

Мт

-

b12

См

-

a13

-

Таблица приемников.

Приемник

Сигнал управления

D->Рг.k

Dк

I

d1

T

d2

LN

d3

K

d4

X

d5

P

d6

Чт

d7

Дт

d8

Дм

d9

Сч

d10

Мн

d11

Мт

d12

См

d13

Тд

d14

Т3

d15

Выполним кодирование микроопераций наборами управляющих сигналов:

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

На основании полученных данных составим подмножества эквивалентных операторов:

;

;

Построим обобщенные операторы.

  1. Класс

Для установки регистров

2. Класс

D = B1 + B2 + B3

При этом

Объединим классы k3,k4,k5,k7в классk8. Для этого обобщенный оператор примет вид:

Класс :

D=B1 +B2

Класс :

D=B1

Построим структурные схемы узлов, реализующих обобщенные операторы:

Класс:

Класс :

Класс:

На основании полученных выше данных построим обобщенную схему операционного автомата. (Рис. 5).

Рис. 5. Обобщенная схема операционного автомата.