- •Введение
- •1. Секционированный микропроцессор серии к1804
- •2. Структура и функционирование бис к1804вс1 и к1804ву1. Построение систем на их основе
- •2.1. Центральный процессорный элемент к1804вс1
- •2.2. Блок микропрограммного управления к1804ву1
- •2.3. Построение микропрограммных управляющих автоматов
- •2.4. Построение операционных устройств
- •3. Микротренажер мт1804
- •3.1. Структура и функционирование
- •3.2. Перечень органов управления и индикации
- •3.3. Порядок работы с микротренажером
- •3.4. Микропрограммирование микротренажера
- •4. Симулятор-отладчик мт-1804
- •5. Практическая работа на микротренажере
- •5.1. Изучение приемов работы на микротренажере мт1804
- •5.2. Изучение системы синхронизации секционированного микропроцессора Часть 1. Снятие и анализ временных диаграмм работы основных блоков секционированного микропроцессора
- •Часть 2. Снятие и анализ микровременных диаграмм работы основных блоков секционированного микропроцессора
- •5.3. Микропрограммирование центрального процессорного элемента к1804вс1
- •5.4. Микропрограммирование блока микропрограммного управления к1804ву1
- •5.5. Микропрограммирование вычислительных алгоритмов для секционированного микропроцессора
- •6. Контрольные работы
- •6.1. Центральный процессорный элемент к1804вс1
- •6.2. Блок микропрограммного управления к1804ву1
- •6.3. Операционное устройство на базе бму к1804ву1 и цпэ к1804вс1
- •Литература
- •Содержание
- •Часть 1. Снятие и анализ временных диаграмм работы основных блоков секционированного микропроцессора 53
- •Часть 2. Снятие и анализ микровременных диаграмм работы основных блоков секционированного микропроцессора 57
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-разрядными шинами. Остальные одноименные входы всех секций БМУ соединяются.
