Структура команд
Команда ЭВМ обычно состоит ид двух частей - операционной и адресной. Операционная часть (код операции) указывает, какое действие выполнить. Адресная часть описывает, где информация хранится и куда поместить результат. У некоторых команд управления работой машины адресная часть может отсутствовать. Код операции можно представить себе как некоторый условный номер в списке системы команд. Этот список построен в соответствии с определенными внутренними закономерностями.
Рассмотрим адресную часть.
Первые ЭВМ имели наиболее простую трехадресную систему команд. Например: взять числа из адресов памяти А1 и А2, сложить их и сумму поместить в адрес A3.
Трехадресная команда легко расшифровывалась и была удобна в использовании, но с ростом объемов ОЗУ ее длина становилась непомерно большой. Поэтому появились двухадресные машины, длина команд в которых сокращалась за счет исключения адреса записи результата. В таких ЭВМ результат операции оставался в специальном регистре (сумматоре) и был пригоден для использования в последующих вычислениях. В некоторых машинах результат записывался вместо одного из операндов.
Дальнейшее упрощение команды привело к одноадресным машинам. Пример использования такой ЭВМ: сложить числа, хранящиеся в адресах ОЗУ А1 и А2, а сумму поместить в A3. Для решения одноадресной машине потребуется выполнить три команды:
а) извлечь содержимое ячейки А1 в сумматор; => 6) сложить сумматор с числом из А2; =>
в) записать результат из сумматора в A3.
Одноадресная машина в чем-то даже эффективнее, так как она не производит ненужной записи в память промежуточных результатов.
Возможна реализация безадресной машины, использующей особый способ организации памяти - стек. Устроенная подобным образом система команд лежала в основе некоторых программируемых микрокалькуляторов типа "БЗ-21" и "БЗ-34" и им подобных.
предыдущаяследующая