АрхЭВМ_Лаб.раб2007_Часть2_Раб2_589 (1075204), страница 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, в).
Программа RD аналогична предыдущей, но отличается тем, что содержимое RA уменьшается на единицу (рис. 9.13, г).
Программа WI предназначена для загрузки ячейки ОЗУ с клавиатуры по адресу, установленному в RA, с последующим наращиванием адреса (рис. 9.13, д).
Программы циклического и пошагового исполнения рабочих программ (см. рис. 9.10) начинаются с установки триггера s устройства управления в “1” при циклическом исполнении и в “0” — при пошаговом.
Затем в рабочие регистры процессора переписывается информация из специальной области ОЗУ (рис. 9.14), которая была занесена туда из регистров после выполнения последней команды перед остановом. Таким образом восстанавливается состояние регистров. Эта операция необходима, так как системны" программы операционной системы используют те же регистры ЦПЭ, что и рабочая программа. Затем выполняется очередная команда, номер которой определяется содержимым программного счетчика PC (R8). После этого анализируется состояние триггера s, При единичном коде триггера s последовательно, исполняются всё команды программы, при нулевом коде после каждой команды происходит останов рабочей программы и информация из регистров ЦПЭ переписывается в ОЗУ для хранения, а системные команды операционной системы могут использовать регистры процессора. При выполнении очередной команды управление передается программе анализа сигналов клавиатуры. Для выполнения следующего шага рабочей программы необходимо нажать кнопку RS, после чего повторится описанная процедура.
Микропрограммирование. Выполнение программ в микроЭВМ с микропрограммным управлением может осуществляться либо в соответствии с последовательностью микрокоманд, записанной в ПЗУ в виде рабочей программы, либо в соответствии с последовательностью команд, записанных в виде рабочей программы в ОЗУ. Во втором случае в ПЗУ содержатся микрокоманды, обеспечивающие выполнение системы команд. Каждая команда имеет начальный адрес первой микрокоманды. Заканчиваются команды микрокомандами обращения к операционной системе.
М
икропрограммная реализация команд на ПЗУ позволяет изменять систему команд простой заменой ПЗУ с записанной новой системой команд без изменения остальных блоков микроЭВМ. Для каждого конкретного случая применения микроЭВМ разработчик имеет возможность использовать свою систему команд, наиболее полно соответствующую решаемой задаче [З].
Рассмотрим некоторые команды, реализованные в исследуемом лабораторном стенде. Команда 0R6 обеспечивает обнуление регистра R6 ЦПЭ. Команда состоит из одной микрокоманды (табл. 9.5). Адрес команды 0R6 соответствует коду этой команды, т. е. старшие разряды адреса (А1 — А8)16, образуют шестнадцатеричный код BD16. При входе в команды младшему разряду адреса АО присваивается код “1”. Микроинструкция NA участвует в формировании адреса следующей микрокоманды и задает код адреса, .разрядов (А1—А8) следующей микрокоманды. Адрес А0 задается выходным сигналом мультиплексора MS. Рассматриваемая команда состоит из одной микрокоманды, поэтому должна завершаться обращением к системной программе. Согласно рис. 9.10, выполнение любой команды завершается обращением к блоку системной . подпрограммы шаг/цикл, осуществляющему опрос режима работы микроЭВМ.