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

Команда и ее формат

Команда - это двоичный код, определяющий тип операции и адреса операндов, над которыми выполняется данная операция. Форматом команды называется структура команды, позволяющая распознать ее составные части.

Формат команды в общем случае состоит из двух полей. Одно поле предназначено для хранения двоичного кода, определяющего тип выполняемой операции, или код операции (КОП). Другое поле А*i используется для установления адресов (i - количество адресов) двоичных кодов, над которыми выполняется операция, и адреса, куда записывается результат.

В общем случае nком - количество двоичных разрядов команды, является функцией:

  • емкости оперативной памяти,

  • количества команд, выполняемых ЭВМ,

  • системы кодирования команд,

  • способов адресации.

Определим влияние указанных параметров и факторов на значение nком. Для этого вначале рассмотрим понятие адреса и операнда, которые используются в определении команды.

Для определения адреса и операнда обратимся к модели оперативной памяти. Оперативная память (ОП) – это совокупность последовательных ячеек, каждая из которых предназначена для хранения двоичного кода ограниченной разрядности. В настоящее время в большинстве ЭВМ минимальная разрядность адресуемых данных (nд) составляет один байт (то есть используется ОП с байтовой организацией). Байт - это 8-разрядный двоичный код. Двоичный код, хранящийся в ячейке ОП, над которым производится операция, называется операндом.

Все ячейки памяти имеют условные (физически нереализуемые) l -разрядные двоичные номера (00...000, 00...001, 00...010 и т.д.). Двоичный код номера ячейки ОП и является ее адресом. Основным параметром оперативной памяти является ее емкость - Nоп. Емкость оперативной памяти - это количество ячеек хранения. Как правило, в ЭВМ максимально возможный объем ОП определяется как

Nоп =2l .

Соответственно, старшие адреса ОП имеют следующие значения:11...111=2l -1, 11...110=2l--2, 11..101=2l -3 и т.д.

Рассмотрев понятие адреса, перейдем к определению размерности поля А*i в формате команды.

В поле А*i в простейшем случае указывается единственный двоичный код адреса ячейки ОП. Тогда в этом поле возможно записать 2n различных адресов ячеек хранения. И эта величина должна быть не меньше Nоп ,так как каждая ячейка определяется уникальным кодом адреса, то есть 2n Nоп , откуда

nадр log2 Nоп (1.1)

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

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

nкоп log2K. (1.2)

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

На формат команды существенное влияние оказывают так называемые системы кодирования команд - количество адресов в адресной части команды i. Как ранее, так и в настоящее время широко используются одноадресная и двухадресная системы кодирования команд. В ЭВМ первого поколения и частично в последующих (ЕС ЭВМ) применялась и применяется трехадресная система кодирования.

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