Скачиваний:
14
Добавлен:
10.05.2014
Размер:
118.11 Кб
Скачать

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

Рассмотрим этапы определения форматов команд по заданным параметрам ЭВМ и способам адресации операндов.

Предположим, что имеется одноадресная ЭВМ со следующими параметрами:

  • мощность системы команд K=70 выполняемых операций;

  • объем регистровой памяти Vрп =24;

  • объем оперативной памяти Vоп =220 байт=1Мб;

  • разрядность данных - 16 бит;

  • ОП разбита на блоки размером Nб =210 байт=1Кб, начальные адреса которых задаются в регистрах.

Дополнительное условие:

  • используются шесть режимов адресации:

непосредственная;

прямая регистровая;

прямая к ОП;

косвенная через регистр;

косвенная через ячейку ОП;

сегментная

Признак способа адресации кодируется вне поля операции в отдельном поле признака адресации.

Требуется определить размерности адресного поля Lадр .

Требуемая минимальная разрядность адресного поля для различных способов адресации будет разной.

Непосредственная адресация. Разрядность адресного поля определяется разрядностью данных, так как они будут записываться в это поле команды. По исходным данным

Lадр =16

Прямая регистровая адресация. Разрядность адресного поля можно вычислить по формуле

Lадр log2Vрп= log2 24

и ближайшее приемлемое значение

Lадр =log2 25 =log232=5

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

Lадр log2Vоп= log2 220

Выбираем минимально возможное значение Lадр =20.

Косвенная адресация через регистр. Этот способ адресации предполагает, что в адресном поле команды указывается номер регистра, в котором хранится адрес операнда, расположенного в ОП. Таким образом, как и в предыдущем случае, разрядность адресного поля должна соответствовать количеству регистров. (Считаем, что разрядность регистров достаточна для адресации всех ячеек ОП):

Lадр log2 24, Lадр =5

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

Lадр log2Vоп= log2 220

Выбираем минимально возможное значение Lадр =20.

Сегментная. При этом способе адресации адрес операнда определяется по двум составляющим: адресу начала блока памяти, хранящемуся в одном из регистров, и смещению операнда относительно начала блока. Таким образом, в команде должны быть предусмотрены два поля для двух составляющих адреса. (Считаем, что смещение задается в самой команде.)

Размер поля для указания номера регистра уже определялся ранее: nб =5. Размер поля для смещения nсм вычисляется по формуле с учетом размера блока памяти (Nбл=1Кб=210 байт)

nсмlog2Nбл=log2210

что дает минимальную разрядность этого поля n =10.

Соседние файлы в папке skugar.s9