
- •5. Архитектура компьютерных устройств
- •5.1. Понятие архитектуры
- •5.2. Выбор структуры и формата команды
- •5.3. Способы адресации операндов
- •5.3.1. Прямая адресация
- •5.3.2. Прямая регистровая адресация
- •5.3.3. Непосредственная адресация
- •5.3.4. Косвенная адресация
- •5.3.5. Косвенная регистровая адресация
- •5.3.6. Регистровая автоинкрементная адресация
- •5.3.7. Индексная адресация
- •5.3.8. Базовая адресация
- •5.3.9. Базово-индексная адресация
- •5.4. Адресация с использованием программного счетчика
- •5.4.1. Непосредственная адресация.
- •5.4.2. Абсолютная адресация
- •5.4.3. Относительная адресация
- •5.4.4. Косвенная относительная адресация
- •5.4.5. Стековая адресация
- •5.5. Типовые форматы команд компьютерных систем
- •5.5.1. Команды формата “регистр-регистр”(rr)
- •5.5.2.Команды формата “региcтр-индексируемая ячейка памяти” (rx)
- •5.5.3. Трёхадресные команды формата
- •5.5.4. Команды формата “память - непосредственный операнд” (si)
- •5.5.5. Команды формата “память - память” (ss)
- •5.6. Проектирование компьютерных устройств. Система команд.
- •5.6.1. Форматы команд персональных компьютеров
- •5.6.3. Двухадресные команды со смещением (1810вм86)
- •5.6.4. Двухадресные команды с непосредственным операндом
- •5.6.5. Одноадресные команды со смещением
- •5.6.6. Команды укороченного формата
- •5.7. Система команд компьютера
- •5.7.1. Выбор системы команд
- •5.7.2. Фазы выборки, дешифрации и выполнения команды
- •5.7.3. Команды арифметических операций
- •5.7.4. Команды передачи управления
- •5.7.5. Команды обращения к подпрограммам
5.7.1. Выбор системы команд
Связь системы команд с разрабатываемыми алгоритмами проявляется в степени приспособленности управляющей информации для записи программ заданного класса. Важным фактором является также и степень тождественности команд разрабатываемого языка и реально выполняемых компьютерных преобразований. В общем случае система команд должна удовлетворять условиям полноты относительно реализуемых алгоритмов. При этом в универсальных компьютерах всегда используется набор команд, позволяющий в принципе решать любые задачи. Язык же спецкомпьютеров всегда является проблемно-ориентированным и позволяет достичь высокой производительности только при решении некоторых специальных и сложных задач.
При разработке языка необходимо помнить, что ограниченный список директив, как правило, приводит к длинным программам, большим объемам ЗУ для их хранения, а соответственно и к большим затратам времени на выборку и отработку управляющих слов. Использование же системы команд, подобной «микрокомандной», предполагает существенное усложнение схемы АЛУ, а также интерфейса связи между УУ, АЛУ и ОП. Таким образом, поиск оптимального набора команд в общем случае предполагает абстрактный синтез проектируемого компьютера (на уровне функциональных блоков) с последующим моделированием процесса исполнения команд в разработанном устройстве.
В ряде случаев новая система может быть сформирована на базе уже известного набора управляющих слов некоторой универсальной или специальной вычислительной системы. При этом пользуются следующими приемами:
1) выполнением композиционного синтеза форматов команд новой системы из макроопераций некоторого базового языка;
2) разложением сложных команд базовой системы на более простые составляющие с точки зрения их реализации в аппаратуре;
3) сведением операций над n-разрядными словами к операциям над частями слова, обрабатываемыми в более сложной аппаратной среде (например, представление чисел в СОК).
5.7.2. Фазы выборки, дешифрации и выполнения команды
Время, необходимое для чтения команды из памяти, ее декодирования и выполнения в процессоре, называется командным циклом. При этом первый этап отработки любой команды или первый шаг командного цикла всегда состоит в чтении из памяти кода операции. Первый байт управляющего слова принимается в регистр команды и декодируется с помощью специального дешифратора (или УА). Данный этап позволяет определить общую длину текущего управляющего слова и характер действий, выполнение которых предписывается КОП. Одновременно инкрементируется содержимое программного счетчика и, если команда содержит еще один или более байтов, то выполняется их выборка и размещение в регистрах процессора.
В общем случае регистр команды как структурная единица процессора может отсутствовать. На практике он реализуется в виде совокупности регистров, имеющих универсальное системное назначение в процессоре.
После выборки байта с КОП реализуется фаза исполнения. Сущность данной фазы заключается в формировании требуемой последовательности управляющих сигналов, временная диаграмма которых определяется типом выполняемых действий (в соответствии с полем КОП) и форматами адресов первого и второго операндов.