Запись любой команды определяется ее форматом. Формат команды – это структура команды, позволяющая распознать назначение отдельных ее полей.
Исходя из определения, команда должна содержать информацию о выполняемой операции, адресах операндов и адресе ячейки ЗУ для записи результата. Этому в наибольшей степени соответствует
Схема выполнения трехадресной команды имеет вид:
(А1)*(А2)->А3.
Здесь (А1) и (А2) – адреса ячеек ЗУ, в которых хранятся первый и второй операнды соответственно; * – знак обобщенной операции (например, сложение или умножение), задаваемой полем -> " обозначает передачу результата операции в ячейку памяти с адресом А3.
(рис 11.1) Системы кодирования командДля выполнения операции сложения операндов, находящихся по адресам a и b, с записью результата в ячейку c ( c = a + b ) требуется одна команда такого формата:
| КОп | А1 |
А2 |
А3 |
ADD |
a |
b |
c |
Здесь ADD – код операции сложения.
Формат двухадресной команды представлен на рис.11.1,б. Выполнение операции с помощью такой команды проходит по следующей схеме:
(А1) * (А2) -> А1 или
(А1) * (А2) -> А2
Выполнение того же самого действия c = a + b в двухадресной системе
| КОп | А1 |
А2 |
|
ADD |
a |
b |
a = a + b |
|
c |
a |
c = a |
Одноадресная команда имеет формат, приведенный на рис.11.1,а. Обычно ЭВМ с одноадресной системой команд имеют особую структуру, в состав которой входит специальный регистр (регистр результата – ).
(рис 11.2) Схема выполнения операции в ЭВМ с одноадресной системой командСхема выполнения операции на ЭВМ с одноадресной системой команд имеет вид:
(А) * (РР) -> А или
(А) * (РР) -> РР.
Операцию c = a + b в одноадресной системе команд можно выполнить следующим образом:
| КОп | А1 |
|
MOVR |
a |
РР = a |
ADD |
b |
РР = РР + b |
|
c |
c = РР |
Рассмотренные форматы команд используются при так называемом естественном порядке выполнения программы. При этом подразумевается, что после выполнения любой команды, не меняющей в явном виде порядок выполнения программы, очередная команда выбирается из ячейки ЗУ, располагающейся сразу же вслед за ячейкой (или ячейками), содержащей код текущей команды. При четырехадресной системе
Несколько особое положение занимает безадресное РР1 и РР2. Здесь значение тэгов следующее: – в данной ячейке хранится операнд, C – признак наличия в ячейке
(рис 11.3) Схема выполнения операции в ЭВМ с безадресной системой командПроиллюстрируем работу такой ЭВМ на примере вычисления выражения ((a + b) * c - d) / e.
На первых двух тактах работы из памяти извлекаются операнды a и b и помещаются в рабочие регистры РР1 и РР2. Считав следующую ячейку стековой памяти, устройство управления по ее тэгу определяет, что данная информация представляет собой код операции. Этот код направляется в РР, свободный от записанного результата. После этого производится выполнение следующей операции и так далее.
Такая структура ЭВМ обеспечивает высокое быстродействие, но требует весьма сложного программирования.
Важной характеристикой команды служит ее длина, которая складывается из длины поля
где n – количество адресных полей в команде.
Максимальное количество операций, которое может быть закодировано в поле кода операций длиной nкоп, составляет
Kmax = 2nКОп
Тогда по известному количеству команд ( K ), составляющих систему команд данной ЭВМ, можно определить необходимую длину поля операции:
nКОп >= log2K.
Естественно, что эта величина должна быть минимально возможным целым числом. Так, для ЭВМ, имеющей систему команд из 100 команд, длина поля
Если поле адреса команды содержит просто номер ячейки ЗУ, к которой производится обращение, то длина этого поля определяется следующим образом:
nA >= log2VЗУ,
где VЗУ – объем запоминающего устройства.
Правомерна и другая постановка задачи – определение максимального объема запоминающего устройства ( VЗУmax ), к которому можно обратиться при заданной длине поля адреса. В этом случае
VЗУmax=2nадр
Современные ЭВМ имеют, как правило, запоминающие устройства с минимальной адресуемой единицей 1 байт ( 1 байт = 8 бит ). Поэтому, например, адресация ЗУ объемом 1 мегабайт ( 1М байт = 220 байт ) требует 20 разрядов адресного поля, а поле адреса длиной 16 разрядов позволяет обращаться к памяти максимального объема 64 килобайта ( 1К байт = 210 байт ).
Одним из способов уменьшения длины поля адреса является введение в состав ЭВМ дополнительно специального РП ). Это запоминающее устройство имеет высокое быстродействие и служит для хранения часто используемой информации: промежуточных результатов вычислений, счетчиков циклов, составляющих адреса при некоторых режимах адресации и т.д.. Так как объем РП невелик, адресация ее элементов требует относительно короткого адресного поля. Например, для регистровой памяти объемом 8 регистров требуется всего лишь трехразрядное адресное поле.
Решить проблему сокращения разрядности команды только за счет сокращения количества указываемых в команде операндов и применения регистровой памяти невозможно. Этой же цели служит использование различных
Различные
К основным
Операндi = (Аi),
где Аi – код, содержащийся в i-м адресном поле команды.
(рис 11.4) Прямая адресацияВыше при описании способов
Допускается использование
):
Операндi= Аi.
(рис 11.5) Непосредственная адресацияРК ). Однако при использовании непосредственной адресации появляется зависимость кодов команд от данных, что требует изменения программы при каждом изменении непосредственного операнда.
Операндi = ((Аi)).
(рис 11.6) Косвенная адресацияПрименение
Недостаток этого способа – необходимо дополнительное время для чтения адреса операнда. Вместе с тем он существенно повышает гибкость программирования. Изменяя содержимое ячейки памяти или регистра, через которые осуществляется адресация, можно, не меняя команды в программе, обрабатывать операнды, хранящиеся по разным адресам.
Предоставляемые
Операндi = (базаi + смещениеi).
Для задания базового адреса и смещения могут применяться ранее рассмотренные
Рассмотрим два примера.
(рис 11.7) Относительная адресация
(рис 11.8) Базово-индексная адресацияГлавный недостаток
Сравнить
| Критерий | Адресация | ||||||
| Прямая | Косвенная | Относи- тельная |
Базово-индексная | Непосред- ственная |
|||
| ОЗУ1) | РП | через ОЗУ2) | через РП | ||||
| Время выборки операнда | tОЗУ3 |
tРП2 |
2tОЗУ7 |
tОЗУ+tРП4 |
$$t_{ОЗУ}+t_{РП}+t_{РК}+t_{\sum }$$ 5 |
$$t_{ОЗУ}+2t_{РП}+t_{\sum }$$ 6 |
tРК1 |
| Длина поля адреса | log2VОЗУ 5 |
log2VрП 1 |
log2VОЗУ 5 |
log2VРП1 |
log2VРП+log2VСЕГМ44) |
log2VРП2 |
Lоперанда33) |
| Гибкость при адресации данных 5) | 5 | 4 | 3 | 2 | 1 | 1 | 6 |
Принятые обозначения:
tОЗУ – время считывания информации из ОЗУ; tРП – время считывания информации из РП; tРК – время считывания информации из регистра команд; $$t_{\sum }$$ – время суммирования составных частей адреса; VОЗУ – объем ОЗУ; VРП – объем РП; VСЕГМ – объем сегмента; Lоперанда – длина операнда.
Примечания:
Запись любой команды определяется ее форматом. Формат команды – это структура команды, позволяющая распознать назначение отдельных ее полей.
Исходя из определения, команда должна содержать информацию о выполняемой операции, адресах операндов и адресе ячейки ЗУ для записи результата. Этому в наибольшей степени соответствует
Схема выполнения трехадресной команды имеет вид:
(А1)*(А2)->А3.
Здесь (А1) и (А2) – адреса ячеек ЗУ, в которых хранятся первый и второй операнды соответственно; * – знак обобщенной операции (например, сложение или умножение), задаваемой полем -> " обозначает передачу результата операции в ячейку памяти с адресом А3.
(рис 11.1) Системы кодирования командДля выполнения операции сложения операндов, находящихся по адресам a и b, с записью результата в ячейку c ( c = a + b ) требуется одна команда такого формата:
| КОп | А1 |
А2 |
А3 |
ADD |
a |
b |
c |
Здесь ADD – код операции сложения.
Формат двухадресной команды представлен на рис.11.1,б. Выполнение операции с помощью такой команды проходит по следующей схеме:
(А1) * (А2) -> А1 или
(А1) * (А2) -> А2
Выполнение того же самого действия c = a + b в двухадресной системе
| КОп | А1 |
А2 |
|
ADD |
a |
b |
a = a + b |
|
c |
a |
c = a |
Одноадресная команда имеет формат, приведенный на рис.11.1,а. Обычно ЭВМ с одноадресной системой команд имеют особую структуру, в состав которой входит специальный регистр (регистр результата – ).
(рис 11.2) Схема выполнения операции в ЭВМ с одноадресной системой командСхема выполнения операции на ЭВМ с одноадресной системой команд имеет вид:
(А) * (РР) -> А или
(А) * (РР) -> РР.
Операцию c = a + b в одноадресной системе команд можно выполнить следующим образом:
| КОп | А1 |
|
MOVR |
a |
РР = a |
ADD |
b |
РР = РР + b |
|
c |
c = РР |
Рассмотренные форматы команд используются при так называемом естественном порядке выполнения программы. При этом подразумевается, что после выполнения любой команды, не меняющей в явном виде порядок выполнения программы, очередная команда выбирается из ячейки ЗУ, располагающейся сразу же вслед за ячейкой (или ячейками), содержащей код текущей команды. При четырехадресной системе
Несколько особое положение занимает безадресное РР1 и РР2. Здесь значение тэгов следующее: – в данной ячейке хранится операнд, C – признак наличия в ячейке
(рис 11.3) Схема выполнения операции в ЭВМ с безадресной системой командПроиллюстрируем работу такой ЭВМ на примере вычисления выражения ((a + b) * c - d) / e.
На первых двух тактах работы из памяти извлекаются операнды a и b и помещаются в рабочие регистры РР1 и РР2. Считав следующую ячейку стековой памяти, устройство управления по ее тэгу определяет, что данная информация представляет собой код операции. Этот код направляется в РР, свободный от записанного результата. После этого производится выполнение следующей операции и так далее.
Такая структура ЭВМ обеспечивает высокое быстродействие, но требует весьма сложного программирования.
Важной характеристикой команды служит ее длина, которая складывается из длины поля
где n – количество адресных полей в команде.
Максимальное количество операций, которое может быть закодировано в поле кода операций длиной nкоп, составляет
Kmax = 2nКОп
Тогда по известному количеству команд ( K ), составляющих систему команд данной ЭВМ, можно определить необходимую длину поля операции:
nКОп >= log2K.
Естественно, что эта величина должна быть минимально возможным целым числом. Так, для ЭВМ, имеющей систему команд из 100 команд, длина поля
Если поле адреса команды содержит просто номер ячейки ЗУ, к которой производится обращение, то длина этого поля определяется следующим образом:
nA >= log2VЗУ,
где VЗУ – объем запоминающего устройства.
Правомерна и другая постановка задачи – определение максимального объема запоминающего устройства ( VЗУmax ), к которому можно обратиться при заданной длине поля адреса. В этом случае
VЗУmax=2nадр
Современные ЭВМ имеют, как правило, запоминающие устройства с минимальной адресуемой единицей 1 байт ( 1 байт = 8 бит ). Поэтому, например, адресация ЗУ объемом 1 мегабайт ( 1М байт = 220 байт ) требует 20 разрядов адресного поля, а поле адреса длиной 16 разрядов позволяет обращаться к памяти максимального объема 64 килобайта ( 1К байт = 210 байт ).
Одним из способов уменьшения длины поля адреса является введение в состав ЭВМ дополнительно специального РП ). Это запоминающее устройство имеет высокое быстродействие и служит для хранения часто используемой информации: промежуточных результатов вычислений, счетчиков циклов, составляющих адреса при некоторых режимах адресации и т.д.. Так как объем РП невелик, адресация ее элементов требует относительно короткого адресного поля. Например, для регистровой памяти объемом 8 регистров требуется всего лишь трехразрядное адресное поле.
Решить проблему сокращения разрядности команды только за счет сокращения количества указываемых в команде операндов и применения регистровой памяти невозможно. Этой же цели служит использование различных
Различные
К основным
Операндi = (Аi),
где Аi – код, содержащийся в i-м адресном поле команды.
(рис 11.4) Прямая адресацияВыше при описании способов
Допускается использование
):
Операндi= Аi.
(рис 11.5) Непосредственная адресацияРК ). Однако при использовании непосредственной адресации появляется зависимость кодов команд от данных, что требует изменения программы при каждом изменении непосредственного операнда.
Операндi = ((Аi)).
(рис 11.6) Косвенная адресацияПрименение
Недостаток этого способа – необходимо дополнительное время для чтения адреса операнда. Вместе с тем он существенно повышает гибкость программирования. Изменяя содержимое ячейки памяти или регистра, через которые осуществляется адресация, можно, не меняя команды в программе, обрабатывать операнды, хранящиеся по разным адресам.
Предоставляемые
Операндi = (базаi + смещениеi).
Для задания базового адреса и смещения могут применяться ранее рассмотренные
Рассмотрим два примера.
(рис 11.7) Относительная адресация
(рис 11.8) Базово-индексная адресацияГлавный недостаток
Сравнить
| Критерий | Адресация | ||||||
| Прямая | Косвенная | Относи- тельная |
Базово-индексная | Непосред- ственная |
|||
| ОЗУ1) | РП | через ОЗУ2) | через РП | ||||
| Время выборки операнда | tОЗУ3 |
tРП2 |
2tОЗУ7 |
tОЗУ+tРП4 |
$$t_{ОЗУ}+t_{РП}+t_{РК}+t_{\sum }$$ 5 |
$$t_{ОЗУ}+2t_{РП}+t_{\sum }$$ 6 |
tРК1 |
| Длина поля адреса | log2VОЗУ 5 |
log2VрП 1 |
log2VОЗУ 5 |
log2VРП1 |
log2VРП+log2VСЕГМ44) |
log2VРП2 |
Lоперанда33) |
| Гибкость при адресации данных 5) | 5 | 4 | 3 | 2 | 1 | 1 | 6 |
Принятые обозначения:
tОЗУ – время считывания информации из ОЗУ; tРП – время считывания информации из РП; tРК – время считывания информации из регистра команд; $$t_{\sum }$$ – время суммирования составных частей адреса; VОЗУ – объем ОЗУ; VРП – объем РП; VСЕГМ – объем сегмента; Lоперанда – длина операнда.
Примечания:
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.