- •Организация эвм и систем
- •Глава 1 эвм общего назначения
- •Структура эвм общего назначения.
- •Арифметико-логические устройства.
- •Устройства управления.
- •Risc и cisc процессоры.
- •1.5 Форматы машинных команд.
- •Inc byte ptr [40h] – одноадресная
- •Способы адресации.
- •Стековая адресация. Виды стеков.
- •Глава 2
- •2.1 Микропроцессор к1810вм86.
- •2.2 Назначение входов/выходов вм86 в минимальном режиме.
- •2.3 Назначение входов/выходов вм86 в максимальном режиме.
- •Внутренняя архитектура мп вм86.
- •Сегментация памяти.
- •2.6 Программная модель мп вм86.
- •2.7 Организация оперативной памяти.
- •2.8 Организация адресного пространства портов ву.
- •2.9 Методы обмена информацией между мп и портами ву.
- •2.10 Параллельный программируемый адаптер к1810вв55 (i8255).
- •Пример использования и программирования адаптера
- •2.12 Программируемый таймер к1810ви54 (i8254).
- •2.13 Пример использования таймера.
- •2.14 Обработка прерываний.
- •2.15 Система прерываний вм86.
- •2.16 Контроллер прерываний к1810вн59 (i8259).
- •Дополнительная информация о настройке вн59.
- •Прямой доступ к памяти.
- •Программирование кпдп вт37
- •2.21 Организация процессорного модуля вм86.
- •2.20. Организация шинного интерфейса в максимальном режиме
- •2.23. Слабо связанные конфигурации.
- •2.24. Арбитр шин к1810вб89 (i8289).
- •2.25 Сильно связанные конфигурации на примере совместной работы мп86 и арифметического сопроцессора вм87.
- •2.26. Формат машинной команды вм86.
Устройства управления.
Каждая машинная команда требует в общем случае для своей реализации несколько машинных тактов. В каждом такте УУ должно обеспечить выдачу необходимого набора управляющих сигналов. Такой набор управляющих сигналов принято называть микрокомандой, а последовательность микрокоманд, необходимую для выполнения какой-либо машинной команды – микропрограммой этой команды
Существует два основных способа построения логики управляющего устройства:
Устройство с «жесткой логикой». Здесь для каждой реализуемой в процессоре операции строится набор схем, которые в нужных тактах возбуждают соответствующие управляющие сигналы.
Микропрограммное устройство управления. Здесь все необходимые микропрограммы хранятся в памяти (как правило, в ПЗУ) в виде последовательностей микрокоманд. Любая микрокоманда при этом несет в себе информацию обо всех вырабатываемых в данном такте управляющих сигналах и об адресе следующей микрокоманды.
В настоящее время УУ с «жесткой логикой» используются довольно редко. Связано это, например, с тем, что любые изменения в системе команд приводят к переделке УУ с «жесткой логикой», в то время как для микропрограммного УУ в этом случае достаточно будет перепрограммировать ПЗУ.
Типичная структура микропрограммного УУ приведена на рис. 2
Рис. 2
Работа схемы осуществляется следующим образом. Из ОП считывается очередная машинная команда. Код операции этой команды дешифрируется и подается на устройство формирования адреса микрокоманд. Последнее вырабатывает адрес первой микрокоманды соответствующей микропрограммы. Эта микрокоманда считывается из памяти и помещается в регистр микрокоманд. Операционная часть микрокоманды дешифрируется (в общем случае!) и соответствующие управляющие сигналы подаются на АЛУ (вернее на операционный блок). Адресная часть микрокоманды определяет адрес следующей микрокоманды. Также в процессе формирования адреса следующей микрокоманды могут принимать участие и снимаемые с АЛУ признаки (например, признак «нулевого результата» и другие подобные). Эти признаки позволяют организовывать в микропрограммах условные переходы. Последняя микрокоманда микропрограммы несет в себе информацию о том, что она является последней и, следовательно, можно считывать из ОП следующую машинную команду.
В зависимости от способа формирования управляющих сигналов различают горизонтальное, вертикальное и смешанное микропрограммирование. При горизонтальном микропрограммировании каждый разряд кода микрооперации микрокоманды (смотри рис. 2) ставится в соответствие одному из возможных управляющих сигналов или, что то же самое, одной из возможных микроопераций. Если в разряде стоит единица, то соответствующая микрооперация в данном такте выполняется, если ноль – нет. При таком способе операционная часть микрокоманды содержит m разрядов, где m – общее число микроопераций в процессоре.
Достоинством такого способа является возможность одновременного выполнения в одном такте любого набора микроопераций и простота формирования управляющих сигналов. Последние просто снимаются из соответствующих разрядов микрокоманды. При этом, указанный на рис. 2 дешифратор оказывается не нужен. Однако у этого способа имеется и очевидный недостаток, а именно, при большом числе управляющих сигналов (а зачастую их число достигает нескольких сотен) формат микрокоманды становится недопустимо большим. В этом случае предпочтительнее использовать вертикальное микропрограммирование.
При вертикальном микропрограммировании код микрооперации в микрокоманде задает одну из микроопераций. Длина операционной части микрокоманды при этом значительно сокращается и составляет log2m, однако, такая микрокоманда требует дешифрации. Кроме того, при таком способе невозможно задать в одном такте более одного управляющего сигнала, что, очевидно, снижает быстродействие процессора.
В настоящее время наибольшее распространение имеет смешанное микропрограммирование, в котором сочетаются методы горизонтального и вертикального микропрограммирования. Например, можно разбить все микрооперации на группы и внутри любой группы использовать вертикальное, а между группами – горизонтальное микропрограммирование.