ОБЩИЕ ЗАМЕЧАНИЯ
При рассмотрении работы процессора подчеркивалось, что информация о том, какую машинную операцию надо выполнить в данный момент, над какими операндами и куда поместить результат, задается машинной командой. При этом любая программа неймановской машины представляет собой последовательность команд, отображающих все действия, необходимые для решения задачи по некоторому алгоритму.
Машинная команда представляет собой код, определяющий операцию вычислительной машины и данные, участвующие в операции. В общем случае команда должна содержать также в явной или неявной форме информацию об адресе, по которому помещается результат операции, и об адресе следующей команды.
Машинная операция – это действия машины по преобразованию информации, выполняемые под воздействием одной команды.
По характеру выполняемых операций различают следующие основные группы команд:
- Арифметические операции над ЧФЗ и ЧПЗ.
- Команды десятичной арифметики.
- Логические (поразрядные) операции.
- Передача кодов (пересылка операндов).
- Операции ввода-вывода.
- Управление порядком выполнения команд (передача управления).
- Задание режима работы машины и различные дополнительные действия.
В общем виде машинная команда имеет структуру, изображенную на рис. 5.1.
Таким образом, команда состоит из операционной и адресной частей. Эти части, в свою очередь, могут состоять из нескольких полей (особенно адресная).
Операционная часть – содержит код, который задает вид операции (сложение, умножение, передача и т.д.).
Адресная часть – содержит информацию об адресах операндов и результата операции, а в некоторых случаях и следующей команды.
Структура команды – определяется составом, назначением и расположением полей в команде.
Формат команды – это ее структура с разметкой номеров разрядов, определяющих границы отдельных полей команды.
Задача выбора оптимальных структур и форматов команд при проектировании новых ЭВМ является одной из важнейших, поскольку от правильности ее решения зависит быстродействие и производительность ЭВМ.
Проблема состоит в том, что, с одной стороны, в команде желательно разместить максимум информации о выполняемой операции. С другой стороны, для упрощения аппаратуры и повышения быстродействия ЭВМ длина формата команды должна быть согласована с длиной обрабатываемых машинных слов, составляющей обычно 16-32 бита (для того чтобы можно было использовать для хранения и обработки операндов и команд одни и те же аппаратные средства). Формат команды должен быть, по возможности, короче, укладываться в машинное слово или полуслово, а для ЭВМ с коротким словом (8-16 бит) быть малократным машинному слову. Решение проблемы выбора оптимального формата команды значительно усложняется в микроЭВМ, работающих с коротким словом.
В абсолютном большинстве случаев ОП универсальных ЭВМ является адресной. Это значит, что каждой хранимой в ОП единице информации (байту, слову, двойному слову) ставится в соответствие специальное число – адрес, определяющий место ее хранения в памяти. В современных ЭВМ различных типов минимальной
адресуемой в памяти единицей информации в большинстве случаев является один байт, т.е. 8 бит с 9-м контрольным разрядом. Иногда бывает и полубайт, т.е. 4 разряда и даже один бит. Более крупные единицы информации – слово, двойное слово и т.д. образуются из целого числа байт. В зависимости от способа хранения информации в ОП их адресом считается адрес старшего или младшего байта.
В общем случае разрядность машинного слова может определяться разрядностью АЛУ процессора, разрядностью шины данных, шириной выборки ОП и другими факторами. Наиболее часто разрядность машинного слова соответствует разрядности операндов, которые наиболее эффективно обрабатываются процессором. Например, процессор I80386 имеет 32- разрядные АЛУ и 32- разрядную шину данных. Однако разработчики устройств на базе этого процессора за машинное слово выбрали 16- разрядный двоичный код при ширине выборки ОП 1 байт. Следует иметь в виду, что ширина выборки ОП – это техническая характеристика БИСов памяти, а байт, слово, двойное слово и т.д.– логические единицы информации, которые формируются контроллером памяти и операционной системой и обычно кратны ширине выборки. При рассмотрении процессов передачи и обработки информации внутри ЭВМ в большинстве случаев оперируют именно этими логическими единицами.