ЛР3. Ознакомление с командами и интерфейсом макета МП-589. Выполнение тестовых задач (1065587), страница 4
Текст из файла (страница 4)
Кроме микроинструкций, формирующих адрес следующей микрокоманды (МК), в состав последней входят микроинструкции, обеспечивающие согласованную работу всех блоков, входящих в микроЭВМ.
Для управления памятью в состав МК включены: микроинструкция СЕ, разрешающая обращение к устройствам памяти; микроинструкция W/R, задающая режим работы ОЗУ.
Для управления операционным блоком в МК входят микроинструкция F, которая задает 7-разрядным кодом выполняемую процессором операцию, микроинструкция К, выполняющая функцию маскирования разрядов ОБ, и микроинструкция С, состоящая из двух разрядов и задающая код CI в ОБ. Значения сигнала CI в ОБ представлены ниже.
C1 | ......................................................................... | 0 | 1 | 0 |
C2 | ......................................................................... | 0 | * | 1 |
CI | ......................................................................... | 0 | 1 | C0 |
Для обработки сигналов от КУ используется микроинструкция INE, формирующая строб разрешения прерывания для БПП. На информационные входы БПП подаются сигналы от управляющей клавиатуры, задающие восемь режимов работы микроЭВМ. Состояния входов БПП опрашиваются только после выполнения последовательности микрокоманд, относящихся к данной команде. Для обеспечения этого условия опрос БПП осуществляется по микроинструкции INE лишь после выполнения команды, и поэтому она размещается в последней микрокоманде.
Возникновение запроса на одном из входов БПП обусловливает появление сигнала IA (низкий уровень) на выходе БПП в момент опроса его микроинструкцией INE. По возникшему сигналу IA устройство управления переходит к программе анализа сигнала, вызвавшего прерывание исполняемой программы. В результате выполнения программы анализа происходит переход к программе, начальный адрес которой определяется выходным кодом БПП, соответствующим появившемуся входному сигналу с управляющей клавиатуры.
Работой внешних устройств управляют микроинструкции IOR — запрос обмена с внешним устройством и SR — запрос обмена с платой звуковой индикации.
Б
лок оперативного запоминающего устройства. Оперативное запоминающее устройство микроЭВМ имеет объем 256 слов по 8 разрядов, или 256 байт, и выполняет функцию хранения рабочих программ, данных и адресов. Реализовано ОЗУ на восьми микросхемах К561РУ2 объемом 256 бит, причем каждый кристалл ОЗУ обеспечивает хранение одного разряда слова. Выбор ОЗУ К561РУ2 обоснован следующим: низкая потребляемая мощность (50 мкВт); возможность сохранения информации в ОЗУ при выключении микроЭВМ при условии питания ОЗУ от аккумулятора или батарей; соответствие объема ОЗУ (256 бит) 8-разрядной шине адреса.
Микросхемы К561РУ2 выполнены по К-МОП-технологии, поэтому для согласования выходов микросхем с ТТЛ-входами в ОБ применены буферные усилители К561ПУ4. На схеме (рис. 9.7) выходы микросхем ОЗУ DMO — DM7 поступают на входы буферных усилителей, а их выходы МО — М7 образуют шину данных из ОЗУ (магистраль М).
Для управления работой ОЗУ используются поступающие из УУ два сигнала: W/R—запись/считывание (определяет режим) и СЕ — выбор кристалла (разрешает работу ОЗУ).
Работа ОЗУ в режиме считывания информации. Для считывания информации из ОЗУ необходимо последовательно выполнить следующие процедуры (рис. 9.8, а): выставить на шину адреса код ячейки ОЗУ, с которой считывается информация; установить в “0” сигналы W/R и СЕ.
Длительность управляющего сигнала СЕ должна превышать 1,2 мкс, поэтому считывание информации из ОЗУ требует в данной микроЭВМ трех тактов (Т=0,5мкс).
Работа ОЗУ в режиме записи информации. Для записи информации в ОЗУ необходимо выполнить следующее: выставить на шину адреса код адреса, в который необходимо занести информацию; выставить на шину данных записываемую информацию; установить в “1” сигнал W/R, переводящий ОЗУ в режим записи, и в “0” сигнал СЕ, разрешающий запись информации.
Длительность сигнала записи равна 1,2 мкс, после этого сигнал СЕ может быть снят, т. е. переведен в “1” (рис. 9.8, б). Запись информации в ОЗУ, так же как и при считывании, производится за три такта.
Для расширения функциональных возможностей в схему ОЗУ введен элемент 2И — НЕ, позволяющий производить стробирование СЕ:
Вид работы | ........................................................................ | W/R | СЕ |
Хранение | ........................................................................ | • | 0 |
Считывание | ........................................................................ | 0 | 1 |
Запись | ........................................................................ | 1 | 1 |
Здесь * — произвольное состояние,
Таким образом, при подаче сигнала низкого уровня на вход BLK сигнал СЕ переводится в “1” и работа ОЗУ блокируется, при этом выходы DM ОЗУ переводятся в высокоимпедансное состояние. Этот оежим используется при подключении к шине внешнего ПЗУ. Управляющий сигнал СЕ поступает на входы ОЗУ через инвертирующий элемент.
Клавиатура KD и KY. Процедура загрузки в память микроЭВМ рабочей программы и исходных данных может быть выполнена с помощью клавиатуры, сигналы с которой считываются и анализируются самой микроЭВМ. Широкое распространение получила шестнадцатеричная система счисления, формирующая двоичные коды вводимых данных.
Формирование двоичных ко-з,ов, соответствующих замыканию одной из 16 кнопок, может выполняться микроЭВМ при подключении кнопок в соответствии со схемой рис. 9.9.
Для формирования двоичных кодов последовательно формируются нулевые уровни на шинах АО—A3. Замыкание одного из контактов 0-3 обеспечивает прохождение нулевого уровня на один из выходов ВО— ВЗ клавиатуры в момент формирования сигнала на шине АО. Код на шинах ВО — ВЗ однозначно определяет нажатую кнопку. При замыкании одной из кнопок 4—7 выходной сигнал на шинах ВО — ВЗ возникает во время формирования сигнала на шине А1 и т. д.
Формируется двоичный код специальной программой, учитывающей время появления сигнала на шинах ВО — ВЗ и устраняющей возможные импульсные помехи на шинах В и влияние дребезга контактов клавиатуры. Более подробно программа считывания сигналов клавиатуры будет рассмотрена дальше.
К
роме клавиатуры шестнадцатеричного кода, в микроЭВМ предусмотрены клавиши для задания режима работы: сброс R, пошаговое RS (run step) и циклическое RS (run cycle) исполнение команд, установка адреса ОЗУ SA (set address), запись в ОЗУ W1 (write increment), чтение содержимого ОЗУ с уменьшением и увеличением следующего адреса RD, RI (read decrement, read increment), загрузка аккумулятора LA (load асе.). Информация с клавиатуры задания режимов работы поступает на входы ВПП в УУ.
9.2. МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ МИКРОЭВМ
Операционная система микроЭВМ. Структура: операционной системы микроЭВМ приведена па рис. 9.10, (блок 1 — переход в общую системную программу). Работа микроЭВМ начинается с установки значений во всех регистрах ЦПЭ. Вызывается начальная установка нажатием клавиши R (reset) или при первоначальном включении питающего напряжения. В процессе начальной установки обнуляются регистры ЦПЭ AC, RA, PC и программно формируется звуковой сигнал, представляющий собой нарастающий звуковой тон.
После начальной установки системных регистров микроЭВМ переходит к программе анализа сигналов клавиатуры, задающих режим работы. Схема программы представлена на рис. 9.11. Начинается программа блоком анализа выхода IA БПП, который примет уровень логического нуля при нажатии одной из клавиш, задающих режим. При IА=0 управление передается блоку временной задержки, позволяющему устранить влияние, случайного сигнала на выходе IA. При повторном опросе сигнала IA через время т управление передается первому блоку при исчезновении запроса прерывания (IА=1), а в случае повторного подтверждения сигнале IА=0 формируется код прерывающей программы , на выходах КО — К2 БПП и после подпрограммы формирования звукового сигнала управление передается программе, вызванной нажатой кнопкой.
Во многих режимах микроЭВМ используется шестнадцатеричная клавиатура для ввода кодов исходных данных и программ. Формирование 8-разрядного кода, соответствующего нажатым клавишам, осуществляется в соответствии с программой BTN, схема которой представлена на рис. 9.12. Начинается программа с анализа сигнала по информационной шине В, который появится в случае нажатия одной из шестнадцати клавиш. Формирование двоичного кода, соответствующего нажатой клавише, осуществляется последовательной генерацией единичных кодов на одной из вертикальных шин клавиатуры (шины АО — A3 ЦПЭ) и анализом сигналов на горизонтальных шинах клавиатуры, поступающих на входы ВО — ВЗ ЦПЭ (см. рис. 9.9). Единичный сигнал на шинах ВО — ВЗ определяет код нажатой клавиши, при этом код шин АО — A3 с единичным сигналом соответствует младшим разрядам, а код шин ВО — ВЗ, в котором был сформирован единичный сигнал,— старшим разрядам вводимого числа.
Д
ля устранения случайного сигнала при анализе шины В клавиатура опрашивается повторно через время после появления первого сигнала. Время выбирается большим, чем время переходных процессов сигнала клавиатуры. При подтверждении сигнала на шине В программно формируется четырехразрядный код, соответствующий нажатой клавише. При первом нажатии клавиши код заносится в старшие разряды формируемого слова. Блоки 6—8 фиксируют момент отпускания кнопки с учетом переходных процессов. В блок 7 управление передается после первого момента исчезновения сигнала на шине В и после подтверждения через время исчезновения сигнала на шине. Процедура повторяется для записи младших разрядов слова. Завершается ввод кода после двух нажатий кнопок. Обращение к подпрограмме формирования кодов из системных программ осуществляется через стековую память.
К системным программам относятся программы загрузки данных в аккумулятор La (load асc.), установления адреса SA (set address), чтения содержимого памяти с увеличением адреса RI (read increment), чтения содержимого памяти с уменьшением адреса RD (read decrement), записи в память с увеличением адреса WI (write increment), пошагового исполнения рабочей программы RS (run step), циклического выполнения рабочей программы RC (run cycle).
Системная программа LA служит для записи в аккумулятор кода с клавиатуры. Схема программы приведена на рис. 9.13, а. Начинается программа с заполнения стека адресом выхода из подпрограммы BAG и обращением к подпрограмме BTN. Затем подпрограммой BTN записывается в АС код нажатых клавиш и содержимое R8 (программный счетчик PC) записывается в RA. Программа SA обеспечивает запись в PC и RA кода с клавиатуры (рис. 9.13, б).
П
рограмма RI предназначена для просмотра содержимого ОЗУ начиная с адреса, установленного в RA, с увеличением его на единицу после каждого нажатия клавиши RI (рис. 9.13, в).