Среда, 15.05.2024, 18:11

Микропроцессорные системы

Меню сайта
Главная » Статьи » Общие сведения

Эмулятор учебной микроЭВМ УМПК-80/ВМ

Эмулятор микроЭВМ УМПК-80/ВМ предназначен для изучения функционирования и программирования МП i8080A, организации связи с ЗУ и простейшими УВВ при построении микропроцессорных систем на ее основе, а также для использования в качестве управляющего устройства при исследовании работы интерфейсных модулей и построении микроконтроллеров.

В состав резидентного программного обеспечения микроЭВМ входят монитор и демонстрационные программы. микроЭВМ под управлением монитора позволяет вводить в ОЗУ программы в машинных кодах МП, выполнять их в реальном масштабе времени, по командам или по машинным циклам, исследовать содержимое регистров МП и памяти.

1.1. Структура микроЭВМ

Модуль микроЭВМ УМПК-80/ВМ можно подразделить на следующие функциональные блоки: блок процессора (БП), блок управления картой памяти (БУКП), блок запоминающих устройств (БЗУ), блок дешифрации адресов устройств ввода-вывода (БДА), блок клавиатуры и дисплея (БКД), блок интерфейса магнитофона (БИМ), блок имитации периферийных устройств (БИПУ), блок управления режимами работы МП (БУ), блок индикации состояния магистралей (БИСМ).

1.2. Режимы работы и алгоритм монитора микроЭВМ

Резидентный монитор модуля УМПК-80/ВМ предназначен для ввода программ в машинных кодах МП KP580BM80 в ЗУ микроЭВМ и исследования процесса их выполнения в реальном масштабе времени по командам или машинным циклам.

Процедуры запуска программ пользователя и возврата из них реализованы в мониторе таким образом, что во время его работы можно исследовать содержимое регистров МП и ОЗУ на момент останова программы пользователя.

ПЗУ с монитором и демонстрационными программами занимает адреса с 0000Н по 07FFH (рис. 1).

Рис. 1. Карта памяти микроЭВМ УМПК-80/ВМ

 

Все ОЗУ разбито на три области. Первая область объемом 1 Кбайт (0800Н...0BFFH), защищенная от записи во время выполнения программ пользователя в любом режиме, служит для размещения исследуемых программ. Защита ОЗУ от записи позволяет устранить возможность внесения ошибок в программу пользователя из-за ее неправильной работы. В случае необходимости она может быть программно включена и выключена.

Вторая область ОЗУ с 0C00H по 0FB0H отведена для организации стека и данных исследуемых программ.

В третьей части ОЗУ (0FB1H...0FFFH) хранится служебная информация монитора.

В качестве системных УВВ монитор использует клавиатуру и дисплей модуля УМПК-80/ВМ. Обращение к ним выполняется монитором командами ввода и вывода (IN, OUT).

На дисплее в старших четырех разрядах отображается адрес или мнемоника регистра, а в младших двух - записанные в них данные. Кроме того, дисплей используется при выводе сообщений. Для ввода директив и данных используются клавиши.

После нажатия клавиши R (начальная установка) или включения питания производится тестирование ПЗУ и ОЗУ модуля, обнуление последнего, а также начальная установка всех областей монитора. Причем в область хранения содержимого регистров МП на момент останова записываются следующие числа: для SP - 0FB0H, для PC - 0800Н, для остальных регистров - 0. После этого микроЭВМ переходит в режим ожидания директив.

Директивы монитора можно разбить на две группы:

1. Исследование содержимого ЗУ и регистров МП на момент останова.

ОтА: отыскание адреса. Директива предназначена для выбора адреса Она требует ввода четырех цифр, после чего автоматически выводит содержимое выбранного адреса. Последовательный просмотр ячеек осуществляется с помощью клавиш Ум и ЗпУв. Исправление ошибок при вводе адреса выполняется нажатием клавиши ОтА и повторным его набором.

ЗпУв - запись увеличить. Интерпретация директивы зависит от того, в каком режиме она была использована. Директива может применяться для просмотра содержимого регистров или ячеек памяти в сторону увеличения их адреса, а также записи данных.

Ум: уменьшить. Директива служит для просмотра содержимого регистров или ячеек памяти в сторону уменьшения их адреса.

ПрСч: программный счетчик. Директива позволяет вывести на дисплей адрес, записанный в регистре PC МП на момент останова, и его содержимое. Используется для возврата в точку останова при необходимости продолжения выполнения программы после исследования содержимого памяти, регистров и т.п.

ОтРг: отыскание регистра. Директива дает возможность просмотреть содержимое регистров МП на момент останова. При получении той команды выводятся символ и содержимое регистра А. Просмотр остальных регистров осуществляется нажатием на клавишу ЗпУв или Ум. В первом случае регистры выводятся в такой последовательности: A, FL, В, С, D, Е, Н, L, SPH, SPL, РСН, PCL (где Н и L - обозначение соответственно старшего и младшего байтов SP и PC). Во втором случае порядок ввода обратный.

Нажатие любой клавиши шестнадцатеричных цифр при выведенном на дисплей содержимом ячейки памяти или регистра переводит монитор в режим ввода данных. Для индикации этого режима включается десятичная точка правого знакоместа дисплея. Для записи данных после их набора используется клавиша ЗпУв, которая одновременно увеличивает адрес или указывает на следующий регистр. Клавиша Ум записи не производит. При ее нажатии режим ввода снимается. Следует отметить, что в режиме ввода данных может набирать любое количество цифр. Однако на дисплее отображаются и записываются при нажатии на клавишу ЗпУв лишь две последние цифры, что позволяет исправлять ошибки. В случае ввода одной цифры она автоматически дополняется нулем слева.

2. Выполнение программ пользователя.

Запуск программ осуществляется с адреса, указанного на дисплее. Поэтому перед подачей директив этой группы необходимо ввести адрес, пользуясь командами ОтА или ПрСч. Следует отметить, что перед началом выполнения первой команды программы монитор загрузит все регистры МП из области хранения содержимого регистров на момент останова (кроме PC, в который загружается введенный адрес). Это позволяет выполнять программы по частям, используя поочередно различные пошаговые режимы или обычную работу МП, что, в свою очередь дает возможность исследовать процесс обработки информации, наблюдая за содержимым ОЗУ и регистров МП, состоянием магистралей. Кроме того, монитор включает защиту от записи в первую половину ОЗУ.

П: пуск. Директива производит запуск программы в реальном масштабе времени.

ШЦ: шаг цикла. Директива включает режим выполнения программ по машинным циклам. После установки этого режима сигнал, формируемый клавишей ШЦ, используется блоком управления микроЭВМ для организации выполнения очередного машинного цикла.

Для возврата в монитор из этих режимов служит клавиша Ст, которая формирует внутреннее прерывание. Кроме того, в случае выполнения программы в реальном масштабе времени применяется команда RST1. Эту команду можно использовать также и для организации точек останова в исследуемой программе. Для этого ее ставят между командами или вместо командами в интересующем месте. В первом случае команды RST1 заменяют командами NOP после отладки программы. Во втором случае замена выполняется сразу после останова в точке останова для возможности дальнейшего выполнения программы.

Внутреннее прерывание и команда RST1 приводят к останову программы пользователя, передаче управления на монитор, сохранению состояния всех регистров МП на момент останова и автоматическому выполнению директивы ПрСч, после чего на дисплее будет отображаться адрес ячейки ЗУ со следующей командой (т.е. значение PC МП) и его содержимое.

ШК: шаг команды. С помощью этой директивы осуществляется покомандное выполнение программы. При нажатии на эту клавишу выполняется одна команда программы пользователя (т.е. команда, код которой был представлен на дисплее). Затем производится автоматический возврат в монитор по внутреннему прерыванию и выполнение директивы ПрСч. Так как монитор не имеет директив для ввода-вывода информации с магнитофона, для выполнения этих операций используются специальные программы.

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

1.3. Применение микроЭВМ в учебном процессе

Модуль микроЭВМ может использоваться в качестве базового оборудования для проведения цикла лабораторных работ по изучению основ микропроцессорной техники. Операционная система микроЭВМ реализует различные режимы выполнения программ и сервисные функции; совместно со светодиодными индикаторами она позволяет без дополнительного оборудования проанализировать происходящие процессы.

 

1.4. Программная модель МП i8080A

Микропроцессор (МП) i8080А с точки зрения программиста может быть представлен в виде модели, изображенной на рис. 2.

Рис. 2. Программная модель МП i8080A

 

Модель включает перечень программно-доступных регистров МП:

• шесть 8-битных регистров общего назначения B, C, D, E, H и L, которые при выполнении некоторых команд объединяются в 16-битные регистровые пары, обозначаемые по имени старшего регистра B, D и H;

• 8-битный аккумулятор A – основной рабочий регистр МП, используемый по умолчанию во многих командах;

• регистр признаков FL, в котором при выполнении команд обработки данных в зависимости от полученного результата формируется 5 признаков:

▫ S (Sign) – признак знака, устанавливаемый в 1 в случае отрицательного результата и сбрасываемый в 0 при положительном результате;

▫ Z (Zero) – признак нуля, устанавливаемый в 1 в случае нулевого результата и сбрасываемый в 0 при ненулевом результате;

▫ CY (Carry) – признак переноса (CY = 1, если был перенос из старшего разряда результата при сложении или заем в старший разряд при вычитании, иначе CY = 0);

▫ P (Parity) – признак четности, устанавливаемый в 1 в случае четного числа единиц в результате и сбрасываемый в 0 при нечетном числе единиц;

▫ AC (Auxiliary carry) – признак дополнительного переноса, т. е. переноса из младшей тетрады результата в старшую, используемый при обработке чисел в двоично-десятичном коде.

При выполнении операций со стеком, аккумулятор и регистр признаков объединяются в 16-битное слово состояния программы PSW (Program state word);

• 16-битный счетчик команд PC (Program counter), в котором формируется адрес подлежащей выполнению команды. После выборки из памяти очередной команды содержимое PC автоматически увеличивается, образуя таким образом адрес следующей по порядку команды;

• 16-битный указатель стека SP (Stack pointer), используемый для обращения к стеку. В указателе стека хранится адрес вершины стека, уменьшаемый на 2 перед записью очередного слова в стек и увеличиваемый на 2 после чтения очередного слова из стека.

1.5. Программирование микропроцессорной i8080A

Восьмиразрядное машинное слово используется для сообщения МП как кода команд, так и данных. Память микроЭВМ организована в виде восьмиразрядных ячеек, каждая из которых имеет свой 16-разрядный адрес. Таким образом, МП может работать с памятью емкостью до 65 536 байт. Одна команда может содержать от одного до трех байт. Многобайтовые команды записываются в последовательные ячейки памяти. Первый байт команды всегда содержит код команды (см. приложение). При 3-байтовых командах во втором и третьем байтах содержатся непосредственные данные или адрес, причем во втором байте записывается младший байт данных (адреса), а в третьем - старший байт данных (адреса).

За исключением обслуживания прерывания и выполнения команд передачи управления, МП осуществляется выполнение программы, считывая команды последовательно из ячеек памяти.

Необходимо отметить, прежде всего, несколько наиболее важных моментов, которые заключаются в следующем:

1. Большинство команд связано с передачей информации из одной части системы в другую.

2. ЭВМ не могут обрабатывать находящиеся в них числа произвольным образом. Поэтому многие передачи в ЭВМ служат только для загрузки информации в нужное место.

3. Некоторые команды только определяют, где находится следующая команда.

Набор команд МП i8080A фиксирован и состоит из 246 различных команд (см. приложение) среди которых можно выделить:

1. Команды пересылки осуществляют передачу между регистрами, а также между памятью и регистрами.

2. Арифметические команды выполняют: сложение, вычитание, увеличение и уменьшение.

3. Логические команды выполняют поразрядные операции ИЛИ, И. исключающее ИЛИ, дополнение, сравнение и сдвиг.

4. Команды перехода. Эти команды используются для нарушения естественного порядка выполнения программы и разделяются на:

безусловные переходы, когда переход осуществляется независимо от состояния МП;

условные переходы (разветвления), которые выполняются (или не выполняются) в зависимости от некоторых комбинаций признаков;

переходы к подпрограммам и возвраты.

5. Команды работы со стеком, ввода/вывода используются для инициирования и выполнения передач данных при вводе/выводе.

Так как память хранит и команды и данные, для ЭВМ разработано множество способов обращения к памяти, которые называются методами (способами, режимами) адресации. В каждой конкретной микроЭВМ реализованы только некоторые методы адресации. В частности, в МП i8080A реализованы четыре метода адресации: прямой, регистровый, косвенно-регистровый непосредственный.

1. Прямая адресация. Адрес при этом методе определяется как часть команды (ее второй и третий байты).

2. Регистровая адресация является разновидностью прямой адресации, когда операнд находится в регистре, а имя регистра является частью команды.

3. Косвенно-регистровая адресация. В регистре, имя которого определяется как часть команды, сдержится адрес.

4. Непосредственная адресация. Информация называется непосредственной, если она является частью команды (ее вторым или вторым и третьим байтом).

Категория: Общие сведения | Добавил: avk1963 (10.03.2015)
Просмотров: 6019 | Рейтинг: 4.4/15
Всего комментариев: 0