double arrow

Непосредственный адрес


Использование команд

Косвенные, непосредственные, относительные адреса

Система команд разной длины. Битовая память.

Система команд фиксированной длинны

1. Длинная команда (А1, А2) - общее адресное пространство для РОН и ячеек памяти.

2. Короткая команда (R1, R2) – нужная косвенная или непосредственная адресация.

3. Сверхдлинная команда

Имеет 3 варианта длины, это усложняет работу процессора, но экономно использует память. Для реализации нужна ячейка переменной длины.

1. Длинные ячейки для хранения чисел с плавающей точкой или двухадресных команд;

Схема выполнения:

1. ((УК)) → РК

2. (УК) + 1 → РК

3. Выполняется левая часть

4. Выполняется правая часть

5. Переход к следующей команде

2. Отказ от Неймановской архитектуры, создание различной памяти для данных и команд ;

3. Программное регулирование длины ячейки .

Решение: создание битовой памяти: организуются ячейки из произведения числа битов; основная единица памяти - слово. Оно имеет длину равную 2 или 4 байта. Вводится понятие “двойное слово” при этом процессор , вызывая команду, должен определить её длину и перед её выполнением определить длину операндов. Для решения первой задачи в команде выделяется головная часть, которая первой считывается в РК. Она содержит информацию о длине всей команды. Длина операндов определяется после считывания. Информация содержится в головной части.




Команды с регистровыми адресами - короткие, т.к. регистров редко более 120ти. Формат “регистр-регистр” – самый быстрый.

Адреса, используемые в команде, различают по способу указания на память.

- Косвенный адрес (адрес адреса) (А)=х(В)=А и ((В))=х

Косвенный адрес необходим если в последних ячейках хранятся наборы данных(векторы, матрицы, фрагменты программ) необходимо хранить адрес первой ячейки в соответствующей последовательности.

Для различия прямых и косвенных адресов вводятся

признаки: Mi = 0 - Ai – прямой адрес

Mi = 1 - Ai –косвенный адреc

Р M1R1 M2R2

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

Команда с косвенным адресом выполняется:

1. ((УК)) ® РК

2. (УК) +1 ® УК

3. Дешифрация Р

4. Если M1= 0, то (R1)® r1, иначе ((R1))® r1

5. Если M2 = 0, то (R2)® r2, иначе ((R2))® r2

6. (r1)p(r2)®r3

7. (r3)®R2

8. Перейти к п.1

Программа состоит из команд, исходные данные делятся на переменные и постоянные. Распределение ОП может выглядеть так:

Программы   Данные   Свободные ячейки
Команды   Переменные/константы   Промежуточные результаты/свободные/конечные

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

Р R1 X

Формат

R1 – прямой адрес

Х – непосредственный адрес

Формат команды состоит из операционной и адресной части, поэтому const. На месте второго адреса считают вторым адресом и называют непосредственным адресом. Результат выполнения команды всегда будет в R1. Участок программы, содержащий данную команду, используется многократно и не изменяет постоянную.







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