Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
60
Добавлен:
28.01.2014
Размер:
39.94 Кб
Скачать

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

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

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

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

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

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

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

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

Для уменьшения объемов управляющей памяти в некоторых компьютерах можно использовать двухуровневое кодирование микроопераций — вертикальным способом кодируется микроко­манда (она находится в памяти микрокоманд), содержащая адрес

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

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

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

Принудительная адресация состоит в том, что в определенном поле каждой микрокоманды содержится информация об адресе следующей микрокоманды. Этот адрес может быть окончатель­ным, не зависящим от значений осведомительных сигналов, или находиться из условия, определяемого в зависимости от таких ос­ведомительных сигналов. Для учета таких условий в микрокоман­де предусматривают поле условия перехода. Оно формирует номер осведомительного сигнала, значение которого анализируется при формировании исполнительного адреса следующей микрокоман­ды. Обычно, если это поле содержит нуль, то условия не проверя­ются и адрес следующей микрокоманды определяется только ад­ресной частью текущей микрокоманды. Если это поле содержит единицу, то выполняется условный переход к микрокоманде с адресом Амк = А + Xh где Xtуказывает на наличие или отсут­ствие соответствующего осведомительного сигнала.

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

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

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

Соседние файлы в папке Ответы