Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по СиФО часть 5.1.doc
Скачиваний:
55
Добавлен:
15.09.2014
Размер:
771.07 Кб
Скачать

5.7.1. Выбор системы команд

Связь системы команд с разрабатываемыми алгоритмами проявляется в степени приспособленности управляющей информации для записи программ заданного класса. Важным фактором является также и степень тождественности команд разрабатываемого языка и реально выполняемых компьютерных преобразований. В общем случае система команд должна удовлетворять условиям полноты относительно реализуемых алгоритмов. При этом в универсальных компьютерах всегда используется набор команд, позволяющий в принципе решать любые задачи. Язык же спецкомпьютеров всегда является проблемно-ориентированным и позволяет достичь высокой производительности только при решении некоторых специальных и сложных задач.

При разработке языка необходимо помнить, что ограниченный список директив, как правило, приводит к длинным программам, большим объемам ЗУ для их хранения, а соответственно и к большим затратам времени на выборку и отработку управляющих слов. Использование же системы команд, подобной «микрокомандной», предполагает существенное усложнение схемы АЛУ, а также интерфейса связи между УУ, АЛУ и ОП. Таким образом, поиск оптимального набора команд в общем случае предполагает абстрактный синтез проектируемого компьютера (на уровне функциональных блоков) с последующим моделированием процесса исполнения команд в разработанном устройстве.

В ряде случаев новая система может быть сформирована на базе уже известного набора управляющих слов некоторой универсальной или специальной вычислительной системы. При этом пользуются следующими приемами:

1) выполнением композиционного синтеза форматов команд новой системы из макроопераций некоторого базового языка;

2) разложением сложных команд базовой системы на более простые составляющие с точки зрения их реализации в аппаратуре;

3) сведением операций над n-разрядными словами к операциям над частями слова, обрабатываемыми в более сложной аппаратной среде (например, представление чисел в СОК).

5.7.2. Фазы выборки, дешифрации и выполнения команды

Время, необходимое для чтения команды из памяти, ее декодирования и выполнения в процессоре, называется командным циклом. При этом первый этап отработки любой команды или первый шаг командного цикла всегда состоит в чтении из памяти кода операции. Первый байт управляющего слова принимается в регистр команды и декодируется с помощью специального дешифратора (или УА). Данный этап позволяет определить общую длину текущего управляющего слова и характер действий, выполнение которых предписывается КОП. Одновременно инкрементируется содержимое программного счетчика и, если команда содержит еще один или более байтов, то выполняется их выборка и размещение в регистрах процессора.

В общем случае регистр команды как структурная единица процессора может отсутствовать. На практике он реализуется в виде совокупности регистров, имеющих универсальное системное назначение в процессоре.

После выборки байта с КОП реализуется фаза исполнения. Сущность данной фазы заключается в формировании требуемой последовательности управляющих сигналов, временная диаграмма которых определяется типом выполняемых действий (в соответствии с полем КОП) и форматами адресов первого и второго операндов.