Формат команды определяет ее структуру, то есть количество двоичных разрядов, отводимых под всю команду, а также количество и расположение отдельных полей команды. Полем называется совокупность двоичных разрядов, кодирующих составную часть команды.
Структура команды подразделяется на операционную и адресную части.
Команды должна содержать:
• код операции — определяет, какие именно преобразования должен выполнить процессор с переданными ему элементами данных;
• ссылка на операнд (указание на адрес исходных данных, над которыми операция производится)— в процессе выполнения машинной команды одни данные преобразуются в другие; те данные, которые преобразуются, — операнды (может быть один операнд или два) — должны быть каким-то образом специфицированы;
• ссылка на результат (указание на адрес, по которому должен быть помещен результат операции) — определяет, что сделать с результатом преобразования операндов (чаще всего, куда его поместить);
• ссылка на следующую выполняемую команду— определяет, откуда ЦП должен извлечь следующую команду после завершения текущей.
|
|
Информация об операндах и результате операции в машинной команде может относиться к одному из трех компонентов компьютера:
- оперативная или виртуальная память — как и в случае с адресом следующей команды, информация о размещении операндов или результата может иметь вид адреса в оперативной или виртуальной памяти;
- регистр ЦП — за редким исключением в составе процессора имеются один или несколько регистров (элементов сверхоперативной памяти), на которые можно ссылаться в машинной команде; если в составе процессора только один регистр, ссылка может быть неявной, в противном случае каждый регистр имеет уникальный номер, и этот номер специфицируется в машинной команде;
устройство ввода-вывода — некоторые команды в качестве операнда или результата специфицируют модуль или устройство ввода-вывода; если в компьютере используется совмещенный режим адресации внешних устройств, адрес внешнего устройства в составе команды ничем не отличается от адреса в оперативной памяти или виртуального адреса.
В компьютере каждая машинная команда представлена двоичным кодом, разделенным на поля, соответствующие описанным выше компонентам. Пример простого формата машинной команды показан на слайде __. В большинстве современных компьютеров используется несколько вариантов формата. Перед началом выполнения команды ее код помещается в регистр команд центрального процессора (IR). ЦП должен извлекать информацию из разных полей команды и выполнять необходимые операции.
|
|
Используют одно, двух и трехадресные форматы команд.
Структура трехадресной команды состоит из кода операции, адреса, куда следует поместить результат операции, адреса ячеек (регистров), где расположены первый и второй операнд.
В двухадресной адрес результата и второгооперанда один и то же.
В одноадресной только один адрес, либо адрес одного операнда (другой по умолчанию в регистре-аккумуляторе), либо куда поместить результат.
Безадресная команда содержит только код операции, а информация для нее заранее помещена в определенный регистр.