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

2.2. Блок микропрограммного управления к1804ву1

Четырехразрядная секция БМУ К1804ВУ1 предназначена для построения микропрограммных управляющих автоматов. Основной функцией блока является формирование адресов микрокоманд с учетом признаков ветвления, кода выполняемой операции (КОП) и т.д. Структурная схема секции БМУ приведена на рис. 3.

Адрес микрокоманды, формируемый на внешних выходах Y3 – Y0 БМУ, может поступать на мультиплексор от четырех источников:

  • из счетчика микрокоманд;

  • из регистра адреса РгА;

  • из стека;

  • с внешней входной шины D3 – D0.

Управление мультиплексором осуществляется двухразрядным управляющим кодом S1 – S0 в соответствии с табл. 4. Рассмотрим каждый источник адреса более подробно.

Входная шина D3 – D0 предназначена для организации принудительной адресации.

Регистр адреса РгА может быть использован для ветвления по коду операции (КОП). Регистр адреса может принимать информацию с входов R3 – R0 по переднему фронту СИ при .

Счетчик микрокоманд предназначен для естественной адресации микрокоманд. Состоит из регистра РгСч и инкрементора. В регистр РгСч принимается текущий адрес Y3 – Y0, прошедший через инкрементор. Инкрементор суммирует значение входного переноса C0 с текущим адресом, поданным на его вход. Значение переноса из инкрементора выдается на внешний выход C4. Запись в РгСч осуществляется по переднему фронту СИ.

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

При записи в стек вначале содержимое указателя стека увеличивается на единицу, затем происходит запись адреса из счетчика микрокоманд в стек. Увеличение содержимого указателя стека осуществляется по переднему фронту СИ

Рис. 3. Структурная схема БМУ К1804ВУ1

при и PUP = 1 (см. табл. 5). Одновременно с этим схема записи-считывания принимает адрес с выхода счетчика микрокоманд, а затем по нулевому уровню СИ производит запись в ячейку стека независимо от сигналов и PUP. Записываемый адрес становится доступным для считывания из стека (подается на вход мультиплексора) с момента его приема схемой записи-считывания, то есть сразу после прихода переднего фронта СИ.

При чтении из стека с выталкиванием (указатель стека изменяется) происходит сначала чтение из стека, затем уменьшение содержимого указателя стека на единицу. Уменьшение содержимого указателя стека осуществляется по переднему фронту СИ при и PUP = 0 (см. табл. 5). Содержимое ячеек стека при этом не изменяется.

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

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

Адрес, полученный от одного из четырех источников, с выхода мультиплексора поступает на схему «ИЛИ», которая осуществляет поразрядную дизъюнкцию адреса с кодом OR3 – OR0. С выхода схемы «ИЛИ» адрес поступает на схему «И», которая обнуляет адрес (при ) или передает его без изменений (при ). С выхода схемы «И» адрес поступает в счетчик микрокоманд и через буфер с тремя состояниями на внешние выходы Y3 – Y0. Буфер переводится в третье состояние при . Управление выдачей адреса из БМУ поясняет табл. 6. Входы OR3 – OR0 могут быть использованы для организации ветвлений в микропрограммах, а вход для начальной установки управляющего автомата.

Таблица 4. Управление мультиплексором БМУ

S1 S0

Источник адреса

0 0

счетчик микрокоманд РгСч

0 1

регистр адреса РгА

1 0

стек

1 1

входная шина D

Таблица 5. Управление стеком БМУ

PUP

Операция в стеке

1 ~

нет операции

0 0

чтение из стека, УС = УС – 1

0 1

УС = УС + 1, запись в стек

Таблица 6. Управление выдачей адреса из БМУ

ORi

Значение на выходе Yi

1 ~ ~

Z-состояние

0 0 ~

константа «0»

0 1 1

константа «1»

0 1 0

с выхода мультиплексора

Наращивание разрядности БМУ осуществляется с целью увеличения разрядности адреса и, следовательно, объема памяти микропрограмм. Выполняется аналогично наращиванию разрядности ЦПЭ объединением m секций БМУ в единый блок. При этом выходы переноса C4 каждой секции БМУ (кроме самой старшей) соединяются с входами C0 соседней старшей секции БМУ. (На вход переноса C0 в младшую секцию БМУ для правильной организации естественной адресации нужно подать константу «1».) Входы D3 – D0, R3 – R0, OR3 – OR0 и выходы Y3 – Y0 всех секций БМУ становятся 4m-разрядными шинами. Остальные одноименные входы всех секций БМУ соединяются.