Двухадресный процессор 2-ого типа

Двухадресный процессор 1-ого типа

Двухадресный процессор

Процессор

Локальная операция

Понятие «Локальная операция» используется для описания процессов, происходящих в КС. В локальной операции указывают не переменные, как в операции арифметической, а их адреса-места хранения переменных.

(A) = x
Читается: содержимое ячейки A = x или x хранится по адресу A.

Обобщённая трёхместная локальная операция имеет вид:
(A)p(B) -> C, где p – знак обобщённой операции.

Машинная команда – это локальная операция машинных кодов.

Команда состоит из двух частей:
1) операционной;
2) адресной.

C
B
A
P
В операционную часть записывается код операции, а в адресную – адреса операндов.


Код операции. Адреса операндов.

Для каждой части (поля) отводится определённое число бит. Разделители не нужны.

В архитектуре КС приняты унифицированные команды (всё 3-ёх адресные). Унификация снижает эффективность использования памяти, но процессор все команды обрабатывает единообразно.

 
АЛУ ОП
Бл1 УУ
Бл2
УК

Блр РК

r1

r2

r3

УУ – устройство управления.
АЛУ – арифметико-логическое устройство, состоит из набора блоков.
ОП – оперативная память – ряд регистров.
УК – указатель команд.
РК – регистр команд.
r1, r2, r3 – регистры операндов.

Этапы выполнения команды арифметико-логического типа:
1) УУ извлекает из ОП команду по адресу A и пересылает её в РК.
2) Содержимое УК увеличивается на единицу.
3) Дешифрация кодов операции. УУ читает код в РК и активизирует в АЛУ соответствующий блок.
4) Производится вызов операндов: УУ читает A1, A2. Содержимое этих адресов последовательно вызывается в r1, r2.
5) Блок p в АЛУ выполняет операцию с содержимыми r1 и r2. Результат помещают в r3.
6) Содержимое r3 засылается в ОП по адресу A3.

A3
A2
A1
P
Запись команд по этапам:
1. (УК) -> РК
2. (УК) + 1 -> РК
3. Дешифрация КОП(код операции)
4. (A1) -> r1
5. (A2) -> r2
6. (r1)p(r2) -> r3
7. (r3) -> A3
8. Перейти к выполнению п. 1

В памяти компьютера хранятся программы и исходные данные, должны храниться промежуточные и конечные результаты. Ячейка для хранения промежуточных результатов называется рабочей.

Среди всех данных выделим:
1. данные, которые используются в алгоритмах один раз. Это исходные данные или промежуточные результаты.
2. данные, которые используются немедленно после их вычисления.

1. (УК) -> РК
2. (УК) + 1 -> РК
3. Дешифрация Р
4. (A1) -> r1
5. (A2) -> r2
6. (r1)p(r2) -> r3
7. (r3) -> A3
8. Перейти к выполнению п. 1

Процесс выполнения команд не значительно отличается от 3-ёх адресного процессора. Команды первого типа составляют большинство.

A2
A1
P
G
Так как промежуточные результаты должны использоваться сразу, то используется регистр результата – A (аккумулятор), либо S(сумматор). Процессор, в зависимости от кода операций, выполняет команду по одной из схем.

Формат.

Схема 1.
-> G=0 -> (A1)p(A2) -> S
Операнды извлекаются из ОП, а результат туда не записывается, а остаётся в регистре результата S.
Схема 2.
-> G=1 -> (A1)p(S) -> S
В двухадресном процессоре второго типа задачи решаются быстрее, чем в трёхадресном, т.к. памяти требуется меньше.

Процессоры с регистрами общего назначения (РОН)

ЦП
РОН


Увывв
Увв
ОП
ВЗУ

Для промежуточных результатов необходимо использовать несколько регистров. РОН одинаковы и имеют свой номер и в общем случае в состав процессора не входят. Другое отличие РОН- команды не попадают туда.

В двухадресном процессоре с регистром РОН могут использоваться команды 4х типов.

Таблица: Команды.

Р(коп) R1 R2
Р R1 A2
Р A1 R2
Р A1 A2

Из таблицы видно, что счетчик команд имеет разную длину и это необходимо для обработки (регистр - короткий, ячейка - длинная).

R – регистр

А – адрес

КОП – команда памяти


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: