DEC Архитектур: Методы адресации

Страницы работы

Содержание работы

 «DEC Архитектур: Методы адресации»

1. Архитектурный особенности DEC

Семейство процессоров DEC базируются на принципах CISC архитектуры, имеют обычно 16-разрядную шину адреса, восемь 16-разрядных регистров общего назначения R0 – R7. Причём R7 - счетчик команд PC, R6 - указатель стека SP. Как упоминалось ранее, за счет того, что регистры PC и SP относятся к набору регистров общего назначения, появилась возможность проводить с ними любые операции, как с обыкновенными данными.

Как правило, дешифратор инструкций в DEC процессорах, имеет перепрограммируемую матрицу состояний (реализовано на ПЛМ), которая даёт возможность программисту реализовать в процессоре свой собственный набор команд, оптимизированный для конкретных задач.

2. Адресное пространство DEC

Адреса векторов прерывания

Область программ

Страница Ввода-Вывода

Note: Если адресация чётная (наличие 0 в старшем разряде кода команды) работаем с двойным байтом (16 бит), если нечётная (1 в старшем разряде кода) работаем с байтом данных. См. примеры на основе работы команды MOV ниже.

Все адреса представлены в восьмиричной системе. Максимальное адресное пространство для рассматриваемой системы состовляет 08 -1777778 или 016 - FFFF16, т.е. 65536 байт пространства.

Первые адреса системы [000000:0009998] – адреса векторов прерыва-ния, которые являются строго определёнными и не подлежат изменению.

[0010008:1599998] – область для хранения программ.

[1600008:1777778] – страниза адресов устройств ввода-вывода.

3. Формат представления команд

3.1.  Безадресный

15                             0

Команда

3.2.  Одноадресная команда

15                                   0

Команда

адрес

15                                   0

JMP

ADDRESS

3.3.  Двухадресный

15                                      0

Команда

Адрес источника

Адрес приёмника

4. Формат представления адреса и методы адресации

Поле адреса условно разбивается на два подполя:

Метод адресации

Номер РОНа

У микропроцессоров DEC существует четыре основные метода адресации, каждый из которых может использоваться как в режиме прямой, так и в режиме косвенной адресации (и того всего 8-мь):

§  Регистровая прямая адресация (0 x);

§  Регистровая косвенная адресация (1 x);

§  Автоикрементная прямая (2 x);

§  Автоикрементная косвенная (3 x);

§  Автодекриментная прямая (4 x);

§  Автодекрементная косвенная (5 x);

§  Индексная прямая (6 x);

§  Индексная косвенная (7 x);

Прямой регистровый метод адресации (МА): на примере команды пересылки MOV R0, R1, выполняющейся за 1 машинный цикл.

01

00

01

Код команды

Нуль в первом разряде показывает, что МА источника – прямой, во втором, на то, что источником является R0

Нуль в первом разряде показывает, что МА приемника – прямой, единица во втором – показывает номер регистра (т.е. R1)

Косвенный регистровый МА:

На примере команды MOV R0,(R1), два машинных цикла. В ходе выполнение данной команды произойдет перемещения содержимого регистра R0 в устройтво, косвенно адресуемое регистром R1, т.е. по адресу хранящемуся в регистре R1.

Источник                    Приёмник

01

00

11

Первая число в полях “источник” и “приёмник” характеризует тип адресации – прямой (0) или косвенный (1).

Прямой автоинкрементный МА (прединкрементный):

На примере команды MOV +(R3),R2. Вначале содержимое R3 увеличивается на 2 (т.к. чётная адресация – 0 1), затем происходит выставление нового содержимого R3 на адресную шину, запрашиваемое косвенно число затем записывается в R2. Содержимое PC после выполнения команды также увеличивается на 2.

Порядок выполнения: R3:=R3+2; PC:=PC+2; R2:=(R3).

Источник                    Приёмник

01

23

02

Косвенный автоинкрементный МА (прединкрементный):

На примере команды пересылки MOV +((R3)),R2. Вначале происходит увеличение содержимого R3 на 2. В регистр R2 записывается число, находящееся по адресу, который хранится в ячейки памяти, косвенно адресуемой R3. Таким образом: R3:=R3+2; R2:=((R3)); PC:=PC+2.

Источник                    Приёмник

01

33

02

Автодекрементный метод адресации:

Полностью аналогичен автоинкрементному, но вместо увеличения на два, происходит уменьшение на два (при использовании чётной адреса-ции). Для прямого: MOV –(R3),R2    Для косвенного: MOV –((R3)),R2.

Индексный прямой МА:

На примере команды MOV A(R3),R2. Суть индексного прямого метода адресации заключается в том, что содержимое регистра R3 смещенается на значение A, затем полученное значение является адресом блока данных. Эти данные косвенно адресуемые R3+A записываются в регистр R2.

Источник                    Приёмник

01

63

02

Таким образом получаем: R2 <- (R3+A)

Индексный косвенный МА:

Аналогично индексному прямому МА, только R2 <- ((R3+A))

Источник                    Приёмник

01

73

02

Список дополнительной литературы:

1. Лин Вэн PDP-11 и VAX-11 Архитектура ЭВМ и программиррование на языке ассемблера: производственное издание. - М.: Радио и связь, 1989. - 317с.

2. Каган Б.М., Сташин В.В. Основы проектирования микропроцессорных устройств автоматики.-М.: Энергоатомиздат, 1987.-304с.:ил.

Похожие материалы

Информация о работе