Количество адресов в команде

 

В «максимальном» варианте в команде необходимо указать 4 компонента: адрес первого операнда, адрес второго операнда, адрес результата операции и адрес следующей команды. В итоге имеет место четы­рехадресный формат команды (рис. 2).

 

 

Код операции Адрес первого операнда Адрес второго операнда Адрес результата Адрес следующей команды

 

Рис. 16.1. Четырехадресный формат команды

 

В фон-неймановских архитектурах необходимость в четвертом адресе отпадает, поскольку команды располагаются в оперативной памяти в порядке их выполнения, и адрес очередной команды может быть получен простым увеличением адреса текущей коман­ды в счетчике команд. Это позволяет перейти к трехадресному формату команды (рис. 16.2). Требуется только добавить в систему команд архитектуры команды, способные изменять порядок вычислений.

 

 

Код операции Адрес первого операнда Адрес второго операнда Адрес результата

 

Рис. 16.2. Трехадресный формат команды

 

К сожалению, и в трехадресном формате длина команды может оказаться весь­ма большой. Так, если адрес ячейки оперативной памяти 32- разрядный, а длина кода операции — 8 разрядов, то длина команды составит 104 разряда (13 байт).

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

 

Код операции Адрес первого операнда Адрес второго операнда и результата

 

Рис. 16.3. Двухадресный формат команды

 

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

 

Код операции Адрес операнда

 

Рис. 16.4. Одноадресный формат команды

 

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

 

Код операции Регистр Адрес второго операнда

 

Рис. 16.5. Полутораадресный формат команды

 

Наконец, если для обоих операндов указать четко заданное местоположение, а также в случае команд, не требующих операнда, можно получить нуль-адресный формат команды.

В современных архитектурах процессоров преобладают два подхода к выбору формата команд, а именно, формат команд переменной длины и формат команд фиксированной длины.

В архитектуре процессоров IA-32/64 был принят формат с переменной длиной команд. Это объяснялось обстоятельствами того времени, когда эта архитектура разрабатывалась. В изменившихся условиях, когда оперативная память (очень дорогостоящий ресурс компьютера во времена разработки архитектуры IA-32/64) существенно подешевела, такой подход стал тормозом при разработке структур процессоров.

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

 

 

Контрольные вопросы

 

1. Назовите основные типы команд

2. Охарактеризуйте SIMD-команды

3. Назовите основные типы команд управления ходом выполнения программы

4. Назовите основные составляющие формата команды

5. Как различают команды по числу адресов?

 

 








Дата добавления: 2015-09-28; просмотров: 1334;


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

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

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

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