Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по ВС.doc
Скачиваний:
235
Добавлен:
22.03.2016
Размер:
1.1 Mб
Скачать

Устройства управления с хранимой в памяти логикой

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

Одна машинная команда CISC-компьютера обычно выполняется в течение нескольких тактов, а управление осуществляется последовательностью микрокоманд, составляющих микропрограмму. Микропрограммы для каждой команды компьютера можно разместить в специальнойпамяти микропрограмм. Таким образом, процесс командного управления становится двухступенчатым: во-первых, нужно извлечь из основной памяти компьютера команду, а затем для ее выполнения извлечь из памяти микропрограмм последовательность микрокоманд.

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

Типичная структура устройства управления с хранимой в памяти логикой приведена на рисунке 5.х. Основное место в ней занимает память микропрограмм (ПМ), в которой находятся все выполняемые микрокоманды.

Память микропрограмм – это постоянная память; адрес очередной микрокоманды (РгАМ) определяется кодом текущей операции (КОп из регистра команд преобразуется шифратором Ш), флагами Ф, полученными при выполнении предыдущей операции (из регистра флагов), и адресной частью предыдущей микрокоманды (А).

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

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

КОп

РгК

Ш

РгАМ

ПМ

МОА

РгМК

Операционный блок

Ф

Рисунок 5.х Структура устройства управления с хранимой в памяти логикой

При вертикальном способе каждой микрооперации соответствует некоторый код, который и хранится в МО части микрокоманды. Тогда микрокоманда имеет минимальную длину. Но теперь для формирования сигнала управления нужен дешифратор микрокоманд и, кроме того, в каждой микрокоманде можно «закодировать» лишь один сигнал управления. Таким образом, увеличиваются длина микропрограммы и время ее выполнения.

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

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

Для уменьшения объемов управляющей памяти в некоторых компьютерах можно использовать двухуровневое кодирование микроопераций – вначале вертикальным способом кодируется микрокоманда (она находится в памяти микрокоманд), содержащая адрес памяти нанокоманд, где находится горизонтальная нанокоманда. Сигналы управления формируются содержимым полей нанокоманды. Однако из-за невысокого быстродействия (для формирования одного сигнала управления нужно два обращения в микрокомандную и нанокомандную память) использование такого двухуровневого кодирования микроопераций ограничено компьютерами сравнительно невысокого быстродействия.

Последовательность выполнения микрокоманд

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

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

Принудительная адресация состоит в том, что в определенном поле каждой микрокоманды содержится информация, определяющая адрес следующей микрокоманды. Этот адрес может быть окончательным, независящим от значений осведомительных сигналов, или определяться по условию, определяемому в зависимости от таких осведомительных сигналов. Для учета таких условий в микрокоманде предусматривают поле условия перехода (УП). Оно формирует номер осведомительного сигнала, значение которого анализируется при формировании исполнительного адреса следующей микрокоманды. [Обычно, если это поле содержит нуль, то условия не проверяются и адрес следующей микрокоманды определяется только адресной частью текущей микрокоманды. Если это поле содержит единицу, то выполняется условный переход к микрокоманде с адресом AМК = A + Xi, где Xi – указывает на наличие или отсутствие соответствующего осведомительного сигнала.]

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

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

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