Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ргр по арх.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
893.1 Кб
Скачать

4.5.Выполнение операций из индивидуального задания

В алгоритме любой команды над числами с фиксированной точкой сначала проверяется текущее состояние процессора (CR0(0)), а также занесение операндов, которые находятся в РгА1 и РгБ1 в буферные регистры РЗУ.

SHR

Алгоритм: если количество сдвигов равно единице то во флаг OF помещается самый старший бит числа, далее идет цикл: во флаг CF помещается самый младший бит числа, идет деление на 2 числа, а также декремент счетчика сдвигов.

Рисунок 4.6. Алгоритм операции SHR

OR

Команда выполняет операцию ИЛИ между операндом из памяти и непосредственным операндом. На момент выполнения команды операнды уже находятся в рабочих регистрах.

Рисунок 4.7. Алгоритм операции OR

5. Микропрограммное управление

5.1 Формат микрокоманды

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

Зона

Поле

Количество разрядов

поля в МК

Назначение

Значение по умолчанию

БФТ

A

4

0..3

Выбор операнда из РЗУ

0

B

4

4..7

Выбор операнда из РЗУ

0

SRC

3

8..10

Выбор источника операнда

1

ALU

4

11..13

Стандартная функция АЛУ

0

DST

2

14..16

Управление сохранением результата

3

УВП

2

17..18

Управление входным переносом

0

OE

1

19

Разрешение выходов

0

T

1

20

Разрешение записи в РЗУ

1

БМУ

УСЛ

3

42..44

Выбор условия

0

ФФ

1

45

Текущий блок (флаги)

1

РР

1

46

Выбор предыдущих флагов

0

И

1

47

Инверсия условия

0

УСА

2

48..49

Управ. След. адресом

E

П

1

50

Безусловный переход

0

адрес

12

51..62

Адрес след. мк

0

РП1

R/W

1

63

Чтение/запись в РП1

0

RAddr

3

64..66

Выбор регистра

000

РП2

R/W

1

67

Чтение/запись в РП2

0

RAddr

2

68..69

Выбор регистра

000

ОП

CS

1

70

Доступ к ОП

1

R/W

1

71

Чтение/запись ОП

1

БИНТ

MuxРгК

4

97..100

Выбор байтов для записи

0

MuxРгК2

4

101..104

Чтение нужных байтов

0

MuxA

1

105

Адрес РЗУ

0

MuxB

1

106

Адрес РЗУ

0

MuxD

1

107

Выбор операнда

0

MuxFF

1

108

Выбор блока

0

MuxRR

1

109

Выбор пред. флагов

0

МКУ

3

110..112

Код условия

0

Mux

INV

1

113

Инверсия условия

0

MuxN

4

114..117

Запись флага в EFLAGS

0

CONST

64

172..235

Константа

0

Зона БФТ:

Поля А и B служат для передачи в БФТ адресов регистров, которые предположительно могут быть операндами АЛУ.

Поле SRC служит для определения операндов R и S:

Поле SRC

Управляющие сигналы

Источники операндов АЛУ

I2

I1

I0

Операнд R

Операнд S

0

1

2

3

4

5

6

7

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

A

A

0

0

0

D

D

D

Q

B

Q

B

A

A Q

B


Поле ALU отвечает за выбор операции:

Поле ALU

Управляющие сигналы

Операция АЛУ

I5

I4

I3

0

1

2

3

4

5

6

7

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

S+R+C0

S-R-1+C0

R-S-1+C0

RvS

R&S

!R&S

(R xor S)

!(R xor S)


Поле DST отвечает за выбор приемника результата и сдвиги (где x –состояние входа безразлично):

Поле DST

Управляющие сигналы

РЗУ

RG Q

I8

I7

I6

Сдвиг

Загрузка

Сдвиг

Загрузка

0

1

2

3

4

5

6

7

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

x

x

-

-

вправо

вправо

влево

влево

-

-

FB

FB

F/2B

F/2B 2FB

2FB

-

x

x

x

вправо

x

влево

x

FQ

-

-

-

Q/2Q -

2QQ

-

Поле УВП управляет входным переносом:

Поле УВП

00

01

10

11

Поле С0

0

1

С

С

Поле ОЕ разрешает выход результата при равенстве единице.

Зона БМУ:

УСЛ – выбор логического условия:

П – разрешение безусловного перехода. Соответствует схеме инструкций микросхемы ВУ4 для входя ССЕ (1 – переход разрешен). ФФ – функция флагов. Данное поле определяет флаги какого блока будут обрабатываться: БФТ (0) или БПТ (1). РР – определяет какие флаги будут обрабатываться: на текущем такте(0) или на предыдущем такте(1). И – инверсия условия (1-инверсия). УСА – управление следующим адресом. Поле задает функцию секвенсора ВУ4. Возможные значения в технической документации микропроцессорного набора 1804. Адрес – используется для записи адреса следующей МК.

Зона ОП:

Поле R/W отвечает за чтение/запись в ОП.

Зависимость режима работы ОП от полей r/w и CS:

Поле CS

Поле R/W

Режим работы ОП

0

0

нет доступа

0

1

нет доступа

1

0

Память := РгОП

1

1

РгОП := Память

Зоны РП: Поле R/W отвечает за чтение/запись в РП.

Raddr – адрес регистра в РП.

Микропрограмма команды OR

Микропрограммы индивидуального задания

Микропрограмма чтения команды из ОП

Адрес

Содержание МК

Зона

Поле

Значение

0

Адрес текущей команды

ОП

R + S

БОМ

B

SRC

ALU

CONST

C

4

0

0002

1

Адрес перехода

Разрешение работы с ОП

Чтение ОП

РЗУ:=Y

Запись РгК

Безусловный переход

JMAP

БОМ

ОП

БИНТ

БМПУ

B

CS

ЧтОП

DST

ЗпРгК

JFI

CHA

F

1

1

1

1

4

4

Микропрограмма чтения данных из ОП

Адрес

Содержание МК

Зона

Поле

Значение

0

ОП

БОМ

CS

ЧтОП

SRC

1

1

6

Микропрограмма записи данных в ОП

Адрес

Содержание МК

Зона

Поле

Значение

0

РгЗпОп:=Y

ОП

БОМ

CS

ЗпОП

DST

SRC

1

1

0

6

Микропрограмма OR

Адрес

Содержание МК

Зона

Поле

Значение

Примечание

0

OR

БОМ

MA

MB

ALU

CHA

1

2

B

0

Reg1

Reg2

R+S

переход