Команды процессора

 

Команды имеют длину в 2, 4, 6 байт. Каждая команда имеет один из шести возможных форматов:

RR, RX, RS, SI, S, SS. В обозначениях форматов используются заглавные буквы, которые указывают, операнды каких классов участвуют в операциях.

RR – операция типа регистр-регистр.

RХ – операция регистр-память, в которой адрес памяти индексируется.

RS – операция регистр-память, но без индексации.

SI – операция память-непосредственный операнд.

SS – операция память-память.

S – один операнд находится в памяти, а другой операнд задан не явно.

Первый байт команды, а в формате S – первые два байта, содержат код операции. Первые два бита кода операции определяют длину и формат команды.

 
 

В качестве примера приведем некоторые форматы команд:

 

 
 

 
 

В формате RX первый адрес находится в РОНе, номер которого задан полем R1 , а второй адрес задается полями В2, Х2, D2, и указывает на ячейку ОЗУ.

 

В формате SI в качестве второго операнда непосредственно используется содержимое 8-разрядного поля I2. При этом поля В1 и D1 определяют 1-ый операнд, который находится в ОЗУ. Адрес обращения ОЗУ либо содержится в регистре, номер которого указывается в поле R команды, либо формируется из трех двоичных чисел; базового адреса, индекса и смещения.

Базовый адрес – это 24-разрядное число в РОНе, номер которого задан полем В команды. Базовый адрес используется как средство независимой адресации каждой области памяти и определяет положение этой области в ОЗУ, указывая адрес первого байта области.

Индекс – представляет собой 24-разрядное число в РОНе, номер которого задан в поле Х команды.

Смещение – представляет собой 12-разрядное число в поле D команды. Смещение позволяет выполнить относительную адресацию в пределах 4096 байт, следующих за ячейкой, адрес которой равен базовому адресу.

Рассмотрим формирование физического адреса на примере формата SI.

 
 

 

В общем случае для формирования адреса, базовый адрес и индекс рассматривается в качестве 24-разрядных положительных чисел. Аналогично, смещение рассматривается в качестве 12-разрядного положительного числа, старшие 12 разрядов которого равны 0. Все три компоненты адреса (база, индекс и смещение) суммируются как 24-разрядные двоичные числа. При этом, если возникает переполнение, то оно игнорируется (не учитывается). В результате получается 24-разрядный адрес ячейки в ОЗУ, в которой находится один из операндов. При отсутствии в команде поля Х физический адрес формируется путем сложения базового адреса, заданного полем В команды, и смещением D.

 








Дата добавления: 2015-08-14; просмотров: 887;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.