Возможные структуры машинных команд 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Возможные структуры машинных команд



Процесс эволюции ЭВМ и расширение сферы их целевого использования, совершенствование аппаратного и программного обеспечения ЭВМ привели к созданию машинных команд очень сложной структуры. Однако, если отбросить детали построения команд конкретных процессоров, возможные структуры машинных команд сводятся к пяти основным типам.

1). Четырехадресная структура.

Такая команда содержит наиболее полную информацию о выполняемой операции (рис. 4.2, а), т.к. она содержит поле кода операции и четыре адреса для указания ячеек памяти, содержащих два операнда, участвующих в операции, ячейки, в которую помещается результат операции, и ячейки, содержащей следующую команду. Такой порядок выборки команд называется принудительным. Он использовался в первых моделях ЭВМ, имеющих небольшое число команд и очень незначительный объем ОП.

Рассмотрим длину такой команды применительно к ЭВМ, имеющей порядка 200 команд и объем памяти порядка 16 Мбайт. В этом случае длина КОП будет:

NКОП = log2200, т.е. 8 разрядов (28 = 256).

Для обеспечения доступа ко всем ячейкам памяти потребуется:

 

.

 

Таким образом, длина четырехадресной команды составит:

 

.

 

Полученная длина команды оказывается недопустимо большой, поэтому в современных ЭВМ такая структура команд не используется.

2). Трехадресная структура.

Можно построить ЭВМ так, что после выполнения команды по адресу K (команда занимает L ячеек памяти) выполняется команда по адресу K+L. Такой порядок выборки команд называется естественным. Он нарушается только специальными командами передачи управления. При естественном порядке выборки адрес следующей команды формируется в устройстве, называемом счетчик адреса команд. В этом случае команда становится трехадресной (рис. 4.2, б).

3). Двухадресная структура.

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

 

 

4). Одноадресная структура.

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

5). Безадресная структура.

Использование безадресных команд (рис. 4.2, д) возможно только при естественном порядке выборки команд и подразумеваемых адресах обоих операндов и результата операции, например, при работе со стековой памятью. В этом случае один операнд находится в вершине стека, а второй операнд – в аккумуляторе. Туда же помещается и результат.

Обычно в ЭВМ используется несколько форматов команд разной длины. Кроме того, трехадресные команды в современных универсальных ЭВМ практически не используются, т.к. являются слишком громоздкими (хотя и самыми удобными с точки зрения программиста). Обычно используются одно- и двухадресные команды и их модификации. Следует отметить, что трехадресные команды используются при работе с памятями небольшого объема. Обычно это массивы внутренней памяти процессора. При выполнении операций типа "регистр-регистр" и достаточно больших объемах регистровой памяти (десятки регистров), как, например, в процессорах классической RISC-архитектуры (см. пп. 9.2) подобные команды очень эффективны.

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

 

 

СПОСОБЫ АДРЕСАЦИИ

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

Адресный код (АК) – это информация об адресе операнда, содержащаяся в команде.

Исполнительный адрес (АИ) – это номер ячейки ОП, к которой производится фактическое обращение.

В большинстве команд современных ЭВМ адресный код не совпадает с исполнительным адресом. Проблема выбора способов адресации и формирования исполнительного адреса, как и системы команд, относится также к важнейшим при разработке новых процессоров и ЭВМ.

Как уже отмечалось в п. 4.2, процесс эволюции ЭВМ привел к появлению команд очень сложной структуры. Это в полной мере относится и к системам адресации, используемым в современных универсальных ЭВМ, поддерживающих многозадачные режимы и виртуальную память. Между тем, эти системы адресации являются сложными комбинациями относительно небольшого количества способов адресации, разработанных еще для ЭВМ первых поколений. Ниже рассмотрены основные из этих способов адресации.

 

Подразумеваемый операнд

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

 

Подразумеваемый адрес

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

 

Непосредственная адресация

В команде содержится не адрес операнда, а непосредственно сам операнд (рис. 4.3). Это способ уменьшения объема программы и занимаемой памяти, т.к. не требует операций обращения к памяти и самой ячейки памяти.

 

 

Применение данного способа ускоряет вычисления. Обычно он используется для хранения различных констант.

 

Прямая адресация

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

Достоинства: быстрота исполнения и простота реализации. Недостатком является длинная адресная часть команды.

 

 

 



Поделиться:


Последнее изменение этой страницы: 2016-12-09; просмотров: 693; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.227.72 (0.007 с.)