Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Triple Tornado / 9306 Семенченко Алексей 22.12.12.doc
Скачиваний:
26
Добавлен:
03.06.2014
Размер:
1.82 Mб
Скачать

2.2 Определение модели памяти и структуры регистровой памяти

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

Организация пользовательской регистровой памяти ЦП с использованием внешнего сопроцессора представлена на рисунке 4, где R0…R63 пользовательские регистры - шестьдесят четыре 32-разрядных универсальных регистров используемых в качестве адресных и в качестве целочисленных (РОН).

Рисунок 4

Регистр флажков содержит пять флажков, которые используются следующим образом:

Z – признак нулевого результата;

С – признак переноса из старшего разряда;

S – знак результата;

O – признак переполнения результата;

I – разрешение прерывания.

Системные регистры:

1) RC – регистр команд;

2) PC – программный счетчик;

3) F – регистр флажков;

4) PCI – сохранение содержимого программного счетчика при прерывании;

5) FI – сохранение флажков при прерывании.

2.3 Определение структуры внешних выводов

Рисунок 5

Сигнал/Шина

Описание

A

32 разрядная шина адреса

D

32 разрядная шина данных

HLD

Запрос на захват шины

HLDA

Подтверждение захвата шины

INT

Запрос на прерывание

INTA

Подтверждение прерывания от процессора

RD

Выполняемая на шине операция – чтение

WR

Выполняемая на шине операция – запись

IN

Выполняемая на шине операция – ввод

OUT

Выполняемая на шине операция – вывод

FRAME

Организации режима пакетного обмена между ОЗУ и внутренними КЭШами. Появление данного сигнала на шине означает начало транзакции, а снятие – указывает на то, что следующий цикл передачи данных на шине является последним.

CLC

Синхронизация

WAIT

Взаимодействие с внешним математическим сопроцессором

READY

Сигнал готовности, служит для приёма сигнала готовности от внешних медленных устройств

RESET

Аппаратный сброс процессора

FPINT

Сигнал прерывания при ошибочной ситуации (например, при попытке делить на 0)

FBUSY

Сигнал – сопроцессор занят

2.4 Система команд

Разработка системы команд

<AR0> - содержимое регистра по адресу AR0

N

Мнемоника

Название

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

Содержание

Флажки

Код

Z

C

S

O

I

Обращения к памяти по чтению и записи

1

RDM

Чтение полуслова из памяти

3

<Address><=<AR0>

000001

2

WDM

Запись полуслова в память

3

<AR0><=<Address>

000010

3

RFW

Чтение слова из памяти

3

<Address><=<AR0>

000011

4

WFW

Запись слова в память

3

<AR0><=<Address>

000100

5

MOV

Запись регистр- регистр

1

<AR0><=<AR1>

000101

Арифметические операции

6

ADD

Сложение

1

<AR0><= <AR0>+<AR1>

+

+

+

+

000110

7

SUB

Вычитание

1

<AR0><= <AR0>-<AR1>

+

+

+

+

000111

8

MUX

Умножение

1

<AR0><= <AR0>*<AR1>

+

+

+

+

001000

9

DIV

Деление

1

<AR0><= <AR0>/<AR1>

+

+

001001

Команды сравнения

10

MORE

Больше

1

<AR0><= <AR0>><AR1>

+

001010

11

LESS

Меньше

1

<AR0><= <AR0><<AR1>

+

001011

12

MEQ

Больше или равно

1

<AR0><= <AR0>=<AR1>

+

+

001100

13

LEQ

Меньше или равно

1

<AR0><= <AR0><=<AR1>

+

+

001101

14

EQ

Равно

1

<AR0><= <AR0>==<AR1>

+

001110

15

NEQ

Не равно

1

<AR0><= <AR0>!=<AR1>

+

001111

Логические операции

21

AND

«И»

1

<AR0><= <AR0>&<AR1>

+

010101

22

OR

«ИЛИ»

1

<AR0><= <AR0>v<AR1>

+

010110

23

XOR

Исключающее «ИЛИ»

1

<AR0><= <AR0>xor<AR1>

+

010111

24

NOT

«НЕ»

1

<AR0><= ~<AR1>

+

011000

Сдвиги

25

RCL

Сдвиг влево

5

<AR0> <=<<<AR1>

011001

26

RCR

Сдвиг вправо

5

<AR0> <= >> <AR1>

011010

Условные и безусловные переходы

27

JMP

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

2

<AR0><=<AR0>+AR1+DISP

011011

28

JZ

Переход по нулю

2

<AR0><=<AR0>+AR1+DISP

+

011100

29

JO

Переход по переполнению

2

<AR0><=<AR0>+AR1+DISP

+

011101

30

JC

Переход по переносу

2

<AR0><=<AR0>+AR1+DISP

+

011110

31

JS

Переход по условию меньше нуля

2

<AR0><=<AR0>+AR1+DISP

+

011111

Команды работы с подпрограммой

32

CALL

Вызов подпрограммы

2

<AR0><=<AR1>+DISP

100000

33

RET

Возврат из подпрограммы

2

PC<=AR0

100001

Прерывания

34

SETI

Установить флаг разрешения прерывания

4

+

100010

35

RESI

Сбросить флаг разрешения прерывания

4

+

100011

36

CINT

Вызов прерывания

6

+

+

+

+

100100

37

RINT

Возврат из прерывания

4

+

+

+

+

100101

Команды ввода-вывода

38

IN

Чтение из порта

3

<Address><=<AR0>

100110

39

OUT

Запись в порт

3

<AR0><=<Address>

100111

Соседние файлы в папке Triple Tornado