АрхЭВМ_Лаб.раб2007_Часть2_Раб2_589 (1075204), страница 8
Текст из файла (страница 8)
Плата таймера. Плата таймера (рис. 9.17) используется в микроЭВМ для формирования временных интервалов произвольной длительности. Импульсы с тактового генератора микроЭВМ 2 МГц поступают на вход делителя, формирующего импульсы с частотой следования 1000, 100, 10 и 1 Гц—на четыре входа мультиплексора MS. По информационной магистрали D микроЭВМ передает код, записываемый в регистр RG и определяющий через входы управления мультиплексором частоту импульсов на его выходе. Выходной сигнал мультиплексора устанавливает в единичное со стояние триггер Т, который своим выходным сигналом формирует управляющий сигнал RDY1. Установка в нулевое состояние триггера Т осуществляется выходным сигналом дешифратора DC, который формируется кодом на адресной магистрали. Плата таймера позволяет формировать сигнал RDY1 от внешних контактирующих устройств и устанавливать момент отсчета временных интервалов сбросом делителя в ноль.
Работа № 1. ИССЛЕДОВАНИЕ СЕКЦИОНИРУЕМЫХ МИКРОЭВМ НА БАЗЕ МИКРОПРОЦЕССОРНЫХ КОМПЛЕКСА № 589.
Цель работы - изучение методов построения секционируемых микроЭВМ, системы команд учебной ЭВМ МП-589; составление и ввод программ, контроль их выполнения.
Продолжительность работы - 4ч.
Необходимое оборудование - учебная микроЭВМ МП-589.
Теоретическая часть
Микропрограммный принцип управления.
Основное отличие систем, построенных на базе секционируемых микропроцессоров (MП), от систем, построенных на базе однокристальных МП, заключается в применении микропрограммного способа управления.
В секционируемых МП дешифрирование кода команды и выработка управляющих сигналов производятся отдельным устройством управления (УУ), содержащим постоянное запоминающее устройство, в котором каждая команда представлена в виде программы, реализующей ее выполнение.
В однокристальных МП дешифрование кода команды осуществляют внутренние логические схемы, которые вырабатывают управляющие сигналы, организующие выполнение команды. Поэтому система команд кристального МП фиксирована и задается при разработке кристалла.
Из вышесказанного следует, что программирование систем на базе секционированных МП имеет более широкие возможности вследствие того, что система команд может быть дополнена или изменена в зависимости от конкретного применения.
Структурная схема микроЭВМ.
Схема микроЭВМ представлена на рис. 1. МикроЭВМ состоит из операционного блока (ОБ), устройства управления (УУ), блока оперативного запоминающего устройства (ОЗУ), клавиатуры управления (КУ) для задания режима работы МП, клавиатуры данных (КД) для ввода данных и рабочих программ и, наконец, элементов индикации.
МикроЭВМ синхронизируется синхроимпульсами, нарабатываемыми генератором, входящим в состав УУ. Обмен информацией внутри микроЭВМ и с внешними устройствами осуществляется по магистралям А, В, D, М. Магистраль А (АО... А7) используется для передачи адреса ячейки ОЗУ или внешнего устройства (ВУ), к которому обращается МП. По магистрали В (ВО... В7) коды с КУ и KD передаются в ОБ и УУ. Магистраль D (DO ... D7) используется для обмена информацией между выходами ОБ и входами ОЗУ и ВУ. Магистраль M (MO … M7) обеспечивает передачу информации из ОЗУ в ОБ и УУ.
Информация с магистралей А, D, М отображается на светодиодных индикаторах.
Устройство управления. В микроЭВМ реализовано УУ командной реализацией команд. При этом каждая команда представляется как последовательность микрокоманд. В процессе выполнения микрокоманд ОБ выполняет одну из операций с содержимым внутренних регистров или магистралей А, D, М. Совокупность микрокоманд, обеспечивающих выполнение системы команд, принятой для каждой конкретной микроЭВМ, записывается в ОЗУ в виде последовательности команд, соответствующей алгоритму решаемой задачи. Адрес исполняемой команды фиксируется во внутренних регистрах ОВ, на которых построен программный счетчик PC. В результате выполнения очередной команды содержимое PC увеличивается на единицу, после чего из ОЗУ извлекается код очередной команды, по которому выполняется последовательность микрокоманд, соответствующих считанному коду команды.
Для работы с подпрограммами в микроЭВМ предусмотрена организация памяти. Для этого может быть использован любой массив ОЗУ из области пользователя. В качестве указателя стека SP используется один из внутренних регистров ОБ. При обращении к стеку в ячейке, адрес которой определяется содержимым SP, запоминается адрес команды выхода из подпрограммы. Далее идет выполнение подпрограммы и автоматическое возвращение к основной программе. Стековая организации позволяет увеличить быстродействие при выполнении подпрограммы.
ОБ представляет собой 8-разрядный блок обработки данных. Реализован ОБ на четырех БИС центрального процессорного элемента (ЦПЭ), которые представляют собой двухразрядные секции обработки данных. Для обработки 8-разрядных слов требуется четыре ЦПЭ, а для построения N -разрядного ОБ - N/2 ЦПЭ. Таким образом, выполнение ОБ в виде массива ЦПЭ позволяет гибко варьировать развитостью ОБ в зависимости от назначения ЭВМ: от 4- и 8-разряд-мнтроллеров до 16- и 32-разрядных ОБ мини-ЭВМ. В этом заключается одно из преимуществ секционированных МП перед однокристальными МП, которые не позволяют изменять разрядность обрабатываемых слов или допускают обработку слов с удвоенной разрядностью путем их последовательной обработки, т.е. с понижением быстродействия.
Структурная схема двухразрядной секции ЦПЭ представлена на рис.2. ЦПЭ выполняет арифметические и логические операции над двухразрядными словами. Данные от ВУ поступают в ЦПЭ по шине В, а из ОЗУ - по шине М. Результаты обработки в ОЗУ или ВУ выдаются на шину D, а адрес ячейки ОЗУ или ВУ - на шину А.
В состав ЦПЭ входят арифметико-логическое устройство (АЛУ); сверхоперативное запоминающее устройство (СОЗУ), состоящее из II регистров общего назначения (РОН), накапливающего регистра-аккумулятора (АС), регистра адреса ОЗУ или ВУ (RA) и дешифратора микрокоманд (ДШМК), а та-те мультиплексоры А и В. Внутри ЦПЭ исходные данные и результаты обработки хранятся в СОЗУ или АС. Регистры СОЗУ распределены следующим образом: R6, R7 - для хранения исходных данных и результатов выполнения операций, R8 в качестве счетчика, R9 в качестве указателя стека, а регистр R1O совместно с АС для расширения разрядности последнего. АЛУ с зависимости от кода микрокоманда из ДШМК может выполнять следующие операции над операндами: арифметические и логические операции в дополнительном коде, прибавление (вычитание) к полученному результату единицы, поразрядные дизъюнкции и конъюнкция, поразрядное исключающее ИЛИ - НЕ. Для выполнения операции сдвига вправо используются выводы RO и R1. Выходы переноса СО и CI предназначены для распространения последовательного переноса между секциями ЦПЭ. Мультипликаторы А и L определяют прохождение входных слов на АЛУ в зависимости от кода микрокоманд из ДШМК.
ОЗУ предназначено для хранения программ и исходных данных результатов вычислений. ОЗУ микроЭВМ имеет объем 256 слов по 8 разрядов. Реализовано ОЗУ на восьми микросхемах объемом 256 бит.
Клавиатуры КD и КУ. Процедура загрузки в ОЗУ микроЭВМ рабочей программы и исходных данных выполняется с помощью клавиатуры КD в шестнадцатеричной системе счисления. Управление режимов работы производится с помощью клавиатуры КУ. В микроЭВМ предусмотрены следующие режимы работы:
- сброс – клавиша R (reset);
- пошаговое и циклическое исполнение команд - клавиши RS (runstep) и RC (runcycle) соответственно;
- запись в ОЗУ с увеличением адреса – клавиши WI (written – increment)
- чтение содержимого ОЗУ о уменьшением и увеличением адреса – клавиш RD (read decrement) и RI (read increment) соответственно;
- установка адреса ОЗУ - клавиша SА (set address);
- загрузка аккумулятора – клавиша LA (load acc).
Операционная система микроЭВМ.
Структура операционной системы микроЭВМ представлена на рис.3. Работа микроЭВМ начинается с установки начального значения во всех регистрах ЦПЭ. Начальная установка производится нажатием клавиши R на КУ. О начальной установке свидетельствует звуковой сигнал нарастающего тона. После этого микроЭВМ готова к выполнению системных и рабочих программ. К системным относятся программы выполнения команд LA, SA, RI. RD. WI, RS, RC.
При выполнении системных команд, рабочих программ и программ с использованием стековой организации памяти используются внутренние регистры ЦПЭ RO… R7 и АС. Чтобы информация из этих регистров не терялась, она дублируется в ячейках ОЗУ, Кроме того, области ОЗУ могут быть использованы для организации стековой памяти. Карта распределения ОЗУ представлена на рис.4.
Система команд микроЭВМ.
Система команд микроЭВМ предназначена для реализации рабочих программ и включает следующие команды: арифметические и логические операции, условные и безусловные переходы, работа с ОЗУ, управление внешними устройствами, работа со стеком. Все команды в микроЭВМ представляются в шестнадцатеричных кодах. Система команд и их коды представлены в табл.1.
Рассмотрим сначала команды арифметических и логических операций:
О → R - очищаются регистры, т.е. во все разряды регистров заносятся логические нули;
Rn+1 → Rn - выполняется операция арифметического сложения регистра с единицей; полученный результат заносится в этот регистр;
Rn → AC – содержимое регистра Rn пересылается в АС, при этом содержимое регистра АС сохраняется;
Rn + АС → Rn, AC – выполняются операции арифметического сложения содержимого регистра Rn с содержимым АС, результат выполнения операции заносится в регистр Rn и АС;
Rn-1 → Rn – выполняется арифметическая операция вычитания единицы из содержимого регистра Rn, результат операции заносится в регистр Rn;
А L Rn (Rn + AC → AC) – выполняется арифметическая операция сложения содержимого регистра Rn с содержимым АС и реализуется условный переход. Команда трехбайтная. После выполнения операции сложения реализуется условный переход в зависимости от значения сигнала переходa. При нулевом значении сигнала управления передается команде с адресом, записанным во втором байте команда A L Rn, а при значении сигнала, равном I, адрес следующей команды определяется содержимым третьего байта команда A L Rn;
A L A (АС+АC → AС) - содержимое АС удваивается. Выполнение команды А L А аналогично выполнению команды A L Rn;
ĀC → АС - осуществляется логическая операция инверсии содержимого регистра АС, результат выполнения операции заносится в АС;
FF → AC - в АС заносится шестнадцатеричный код FF, т.е. все разряды АС устанавливаются в состояние "I".
Для работы с памятью используются следующие команды:
Rn → RA, АС → М- содержимое АС записывается по адресу, хранящееся в регистре Rn ;
Rn → RA, М → АС - производится считывание содержимого ОЗУ в АС из ячейки ОЗУ, адрес которой записан в Rn;
АС → Мn - производится запись в память содержимого АС по адресу, указанному в следующем байте команды. Структура команды: 1 байт - код команды; 2-й байт - адpес n;
Мn → АС - производится считывание содержимого памяти в АС из ячейки, адрес которой указан в следующем байте команды, т.е. 1-й байт - код команды, 2-й байт - адрес n.
Команды переходов приведены ниже:
GO Ton – команда безусловного перехода – управление передается оператору программы, находящемуся в ячейке ОЗУ с адресом n. Команда двухбайтная: 1-й байт – код команды, 2-й байт – адрес n;
TZ Rn – команда условного перехода – управление передается по условию «логические нули во всех разрядах регистра Rn». Команда трехбайтная, т.е. 1-й байт – код команды, 2-й байт – адрес AI, если Rn = 0; 3-й байт – адрес А2, если Rn = 0.
Адрес | Данные | Комментарий |
FF | AC | Область хранения значений рабочих резервов |
FE | R7 | |
FD | R6 | |
FC | R5 | |
FB | R4 | |
FA | RЗ | |
F9 | R2 | |
F8 | R1 | |
F7 | R0 | |
F6 | SPO | Область стека Область программы пользователя |
… | … | |
02 | ||
01 | ||
00 |
Рис.4
SRA - команда условного перехода – производится сдвиг содержимого АС вправо (в сторону младших разрядов) и осуществляется условный переход в зависимости от содержимого младшего разряда АС. Команда трехбайтная, т.е. 1-й байт – код команды, 2-й байт – адрес AI, если ACO = 0; 3-й байт – адрес А2, если АСО = I. Если используется команда SRAO, то в старший разряд АС