«Процессор универсальной ЭВМ


Описание алгоритма работы процессора при выполнении заданных команд



страница6/8
Дата03.11.2019
Размер483 Kb.
ТипЛитература
1   2   3   4   5   6   7   8

Описание алгоритма работы процессора при выполнении заданных команд


Список и содержание команд приведены в таблице 1. При этом приняты следующие условные обозначения:

  • () – содержимое ячейки или регистра;

  • src – ячейка источник;

  • dst – ячейка приёмник;

  • R – регистр общего назначения;

  • ss, dd – адреса ячеек;

  • xx – смещение (8 разрядов)

  • ↑↓ - извлечение и занесение в стек

  • ← - пересылка

  • «+» - изменение флага

  • «-» - флаг не менялся

Таблица1 - Описание команд процессора





Команда

Уровень

Код команды

Интерпретация

Флаги

N

Z

V

S

1

MOV

1

.1SSDD

SS->DD

+

+

0

-

2

BR

3

0004XX

CK<-CK+XX*2

-

-

-

-

3

BIT

1

.3SSDD

SRC^DST

+

+

0

-

4

BNE

3

0010XX

Переход, если Z=0

-

-

-

-

5

ADD

1

.6SSDD

DD<-DD+SS

+

+

+

+

6

BEQ

3

0014XX

Переход, если Z=1

-

-

-

-

7

COM

2,2

0051DD

DD<-!DD

+

1

0

1

8

BMI

3

1004XX

Переход, если N=1

-

-

-

-

9

INC

2,2

0052DD

DD<-DD+1

+

+

+

-

10

JSR

2,1

004RDD

Переход к подпрограмме

-

-

-

-

11

DEC

2,2

0053DD

 

+

+

+

-

12

RTS

2,2

00020R

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

-

-

-

-

13

ASR

2,2

0062DD

DST<-DST/2

+

+

+

+

14

CLC

4

.00241

C<-0

-

-

-

0

15

SEC

4

.00261

C<-1

-

-

-

1



Способы адресации:

Прямая регистровая адресация (режим 0, символическое обозначение А). В режиме 0 содержимое РОН номер R является операндом.

Косвенная автоинкрементная адресация (режим 3, символическое обозначение @ (R)+). Содержимое регистра R используется как адрес адреса операнда, после обращения к которому содержимое регистра увеличивается на 2.

Прямая автодекрементная адресация (режим 4, символическое обозначение –(R)). После обращения к операнду содержимое регистра уменьшается на 1для байтовых операций или на 2 для операции над числами, а затем используется в качестве адреса. 

Разработке алгоритма работы процессора, эмулирующего какую-либо систему команд, должна предшествовать процедура установления соответствия между программно-доступной аппаратурой базовой и эмулируемой ЭВМ. Например, при эмуляции системы команд ЭВМ типа PDP-11(«Электроника - 60») на микропроцессоре К1804 необходимо установить однозначное соответствие между регистрами общего назначения (РОН) и оговорить правила формирования и хранения признаков в слове состояния процессора. ЭВМ «Электроника - 60» имеет 8 программно-доступных РОНов, два из которых имеют целевое назначение: R6 – указатель стека, R7 – счетчик команд. Микропроцессор К1804 имеет 16 РОНов той же разрядности, что и «Электроника - 60». «Электроника - 60» имеет 16-разрядный регистр состояния процессора (РСП), тогда как К1804 имеет 8-разрядный РСП.

На основании этой информации разработчик может, например, установить соответствие, представленное в табл. 2.

Таблица 2 – соответствие между регистрами процессоров


PDP-11

K1804

R0

R0

R1

R1

R2

R2

R3

R3

R4

R4

R5

R5

R6

R6

R7

R7

Rk

Rk

РСП

R15

Остальные регистры МП К1804 (R8-R14) могут быть использованы в этом случае для хранения промежуточных результатов.


Ниже приводится алгоритм работы процессора:

  1. Вызов подпрограммы инициализации

  2. Пересылка в регистр MAR адреса первой (следующей) команды

  3. Вызов подпрограммы чтения данных из памяти

  4. Пересылка прочитанной команды с шины BI в регистр команд

  5. Увеличение СК на 2

  6. Проверка является ли текущая команда командой первого уровня. Если да, то следующий шаг 7, в противном случае – 13

  7. Вызов подпрограммы выборки первого операнда. По окончанию выполнения подпрограммы первый операнд будет сформирован в БР1

  8. Вызов подпрограммы выборки второго операнда. По окончанию выполнения подпрограммы второй операнд будет сформирован в БР2

  9. Вторичная дешифрация команды (определение кода операции команды). Если код операции – 16, то переход к следующему шагу, иначе – 28

  10. Выполнение команды ADD. Первое слогаемое расположено в БР2, второе в БР1. Приемник результата – БР2

  11. Формирование признаков

  12. Запись результата. Переход к шагу 28

  13. Проверка является ли текущая команда командой уровня 2.1. Если да то следующий шаг 14, в противном случае – 21

  14. Вызов подпрограммы вычисления адреса перехода. По окончанию выполнения подпрограммы адрес перехода будет сформирован в БР2

  15. Уменьшения указателя стека (УС) на 2

  16. Пересылка содержимого УС в регистр MAR

  17. Запись содержимого регистра, номер которого указан в поле РК[8/6], в выходной регистр RDO

  18. Вызов подпрограммы записи данных

  19. Запись содержимого СК в регистр, номер которого указан в поле РК[8/6]

  20. Пересылка второго операнда из БР2 в СК. Переход к шагу 28

  21. Проверка, является ли текущая команда командой уровня 2.2. Если да то следующий шаг 22, в противном случае – 33

  22. Проверка кода команды (INC). При несовпадении – переход к шагу 28

  23. Вызов подпрограммы выборки второго операнда. По окончанию выполнения подпрограммы второй операнд будет сформирован в БР2

  24. Пприбавление единицы к БР2

  25. Формирования признаков

  26. Вызов подпрограммы записи результата. Переход к шагу 27

  27. Проверка на сброс. Если в процессор поступил сигнал сброса перейти к шагу 1, в противном случае к шагу 28

  28. Проверка на останов. Если в процессор поступил сигнал останова то перейти к шагу 28, в противном случае 29

  29. Проверка на прерывание. Если в процессор поступил сигнал прерываний перейти к шагу 30, в противном случае к шагу 2

  30. Проверка на запрет прерывания. Если прерывания запрещены, то перейти к шагу 2, в противном случае к шагу 32

  31. Вызов подпрограммы обработки прерывания и переход к шагу 2

  32. Проверка, является ли текущая команда командой уровня 3. Если да то следующий шаг 33, в противном случае – 37

  33. Проверка кода команды (BNE). При несовпадении переход к шагу 28

  34. Проверка кода команды. При несовпадении переход к шагу 28

  35. Проверка условного перехода.

  36. Проверка флага Z регистра состояния процессора. Если Z=0, то переход к следующему шагу. Если V=1, то переход к шагу 28

  37. Конец работы

Алгоритмы подпрограмм выборки операндов заключаются в определении способа адресации операнда, формировании его адреса, чтение операнда из ЗУ и пересылке операнда в БР.

Подпрограммы инициализации, чтения и записи данных в данном проекте не реализованы.

Укрупненный алгоритм работы процессора приведён в приложении Б.




Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8


База данных защищена авторским правом ©uverenniy.ru 2019
обратиться к администрации

    Главная страница