Двухадресный процессор 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 |
|
|
Формат.
Схема 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 – регистр
А – адрес
КОП – команда памяти