Вход

Исследование структуры машинного цикла микропроцессора Intel8080

Реферат* по информатике и информационным технологиям
Дата добавления: 13 марта 2012
Язык реферата: Русский
Word, rtf, 1.8 Мб (архив zip, 244 кб)
Реферат можно скачать бесплатно
Скачать
Данная работа не подходит - план Б:
Создаете заказ
Выбираете исполнителя
Готовый результат
Исполнители предлагают свои условия
Автор работает
Заказать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу
* Данная работа не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, предназначенной для использования в качестве источника материала при самостоятельной подготовки учебных работ.
Очень похожие работы

Лабораторная работа 2
Исследование структуры машинного цикла микропроцессора
Intel8080

Цель работы: исследование выполнения отдельных команд и простых программ; исследование процесса выполнения команд по машинным циклам, запись программ в машинных кодах и на языке ассемблер.

Используемое оборудование: учебный микропроцессорный комплект (УМК), дополнительная макетная плата (плата ТЭЗ М1 из комплекта УМК), цифровой осциллограф.



1. Краткие сведения из теории.

Микропроцессор Intel8080 представляет собой однокрис­таль­ный 8-разрядный микропроцессор. Структурная схема микропро­цес­сора представлена на рис. 1. Микропроцессор имеет раздельные 8-разрядную шину данных и 16-разрядную шину адреса, которая обеспечивает адресное пространство памяти 64К байт и раздельные адресные пространства ввода и вывода по 256 байт.

Микропроцессор состоит из устройства управления (УУ), блока регистров общего назначения (РОН),арифметико-логического устрой­ства (АЛУ), схемы управления обменом (СУО), буферных схем данных и адреса (БУ и БД). Блоки микропроцессора объединены через 8-разрядную внутреннюю шину данных.

УУ выполняет функции выборки команды, ее декодирования и выполнения, прием и выдачу управляющих сигналов для составных частей микропроцессора и системы.

Из системы УУ получает сигналы:

C1 и С2 – две не перекрывающиеся (т.е. не совпадающие во времени) периодические последовательности импульсов синхрониза­ции;

INT – сигнал требования прерывания;

HLD – сигнал требования прямого доступа в память;

RESET – сигнал сброса (установка микропроцессора в исходное состояние);

RDY – сигнал готовности от составных частей МП системы.

УУ выдает в систему сигналы:

INTE – разрешение прерывания;

HLDA – разрешение прямого доступа в память;

WAIT – ожидание (микропроцессор находится в состоянии ожи­дания);

SYN – сигнал начала машинного цикла (выдается в начале каж­до­го цикла).

Рис.1. Функциональная схема микропроцессора Intel8080

Выполняемая команда хранится в специальном регистре, который называется регистром команд (РК).

Арифметико-логическое устройство совместно с аккумулятором (А) и регистром признаков (F) выполняет арифметические и логичес­кие операции с двоичными числами (они носят название операндов). В аккумуляторе хранится один из операндов перед выполнением операции и результат после выполнения операции. В регистр признаков помещаются признаки событий, происходящих при выпол­не­нии операций (например, перенос из старшего значащего разряда, нулевой результат операции, отрицательный результат и т.д.).

Блок РОН включает 6 8-разрядных регистров (B,C,D,E,H,L), которые могут использоваться попарно как 3 16-разрядных (BC, DE,HL), 16-разрядный регистр-счетчик команд (IP) и 16-разрядный регистр – указатель стека (SP). Схема управления обменом выдает сигналы, синхронизирующие обмен данными между микропроцес­сором и МП системой. Сигнал WR сопровождает данные, выводимые из МП, а сигнал DBIN – синхронизирует прием информации. Этих сигналов явно недостаточно для управления всей системой, поэтому в начале каждого машинного цикла по шине данных передается служебная информация о типе операции, которая будет выполнена в текущем цикле. Эта информация сопровождается сигналом SYN, принимается специальной дополнительной схемой (она называется системный контроллер), которая, используя эту информацию, формирует все необходимые сигналы шины управления:

MRDC - чтение данных из памяти,

MWTC - запись данных в память,

IORC - чтение данных из порта ввода,

IOWC - запись данных в порт вывода.

Буферные схемы БА и БД обеспечивают необходимую нагру­зоч­ную способность шин адреса и данных, а также возможность отключения шин от внешней, по отношению к МП, системы (путем перевода выходов в третье состояние).

Микропроцессор имеет фиксированный набор из 244 команд. Выполнение команд происходит по машинным циклам. Каждый цикл – это выполнение элементарной операции по управлению шинами МП системы. Время выполнения команды определяется процессом получения, декодирования и выполнения команды. В зависимости от вида команды время ее выполнения может составлять 1-5 машинных циклов. Машинный цикл состоит из 3-5 машинных тактов. Такт – это один период синхронизирующих импульсов. При типовой частоте импульсов синхронизации, равной 2 МГц, длительность одного такта равна 500 нс.

Для КР580ВМ80А имеется 10 различных типов машинных циклов: выборка кода команды (цикл М1), чтение данных из памяти, запись данных в память, чтение данных из стека, запись данных в стек, ввод данных из внешнего устройства, запись данных во внешнее устройство, цикл обслуживания прерываний, останов, обслуживание прерывания в режиме останова. Первым машинным циклом при выполнении любой команды является цикл М1. Тип выполняемого цикла, как указывалось выше, определяется информацией, выдавае­мой на шину данных в начале каждого цикла. Соответствие типа цикла и сигналов в каждом разряде шины данных приведено в таблицах 2 и 3 книги УМК.ЭКСПЛУАТАЦИОННАЯ ДОКУМЕНТА­ЦИЯ.(лист 11). На шине УМК (плата ТЭЗ М1) разряду D0 соответствует сигнал ST0, разряду D1 – ST1 и т.д.

В каждом машинном цикле МП проверяет состояние сигнала «Готов»(RDY) на своем входе. При нулевом сигнале на этом входе работа МП приостанавливается. В УМК это используется для выполнения программы в пошаговом режиме. Одно нажатие кнопки «ШГ» приводит к выполнению одной команды или одного машинного цикла программы.

2. Исследование выполнения команд по машинным циклам

2.1. Присоединить к УМК дополнительную плату ТЭЗ М1. Общий провод платы М1 соединить с входом заземления, а контакт ST5 – с входом внешнего запуска осциллографа. Переключить осциллограф в режим внешней синхронизации. Пригласить препода­вателя для проверки схемы.

ВНИМАНИЕ! НЕЛЬЗЯ ВКЛЮЧАТЬ СОЕДИНЕННУЮ СХЕМУ БЕЗ РАЗРЕШЕНИЯ ПРЕПОДАВАТЕЛЯ. ЭТО МОЖЕТ ПРИВЕСТИ К ВЫХОДУ ИЗ СТРОЯ УМК.

2.2. Включить УМК и осциллограф. Поставить переключатели разверток по X – 1 В/дел, по Y – 1 мкс/дел. Добиться появления на экране линии развертки.

2.3.1. С адреса 0800Н ввести в УМК последовательность шест­надцатеричных чисел 3А 00 09 С3 00 08. Эта последователь­ность представляет собой две команды. Первая (3А 00 09) – команда извле­че­ния числа из памяти и передача его в аккумулятор микропроцес­сора. Число 3А – код команды, 00 09 – адрес в памяти пересылаемого числа (этот адрес равен 0900Н – в МП действует соглашение, что для двухбайтовых чисел младший байт расположен по меньшему адресу, старший – по большему). Вторая команда (С3 00 08) передает управ­ле­ние по адресу 0800Н, т.е. приведенная программа – это бесконечное выполнение команды 3А 00 09.

2.3.2. Переключить УМК в пошаговый режим работы (кнопки РБ/ШГ и КМ/ЦК нажаты). Запустить программу, подав команду СТ 0800 ВП. Она остановится на первом шаге, причем на индикаторах будет высвечиваться информация. Нажимая кнопку ШАГ, несколько раз выполним программу, информацию занесем в таблицу 1.

Таблица 1.

Шаг

Адрес

Данные

Состояние

Тип цикла

Комментарий

1

0000100000000000

00111010

10100010

М1

Загрузка команды

2

0000100000000001

00000000

10000010

чтение

Чтение мл. байта адреса

3

0000100000000010

00001001

10000010

чтение

Чтение ст. байта адреса

4

0000100100000000

10111111

10000010

чтение

Чтение из памяти по адресу 0900H

5

0000100000000011

11000011

10100010

М1

Загрузка команды

6

0000100000000100

00000000

10000010

чтение

Чтение мл. байта адреса

7

0000100000000101

00001000

10000010

чтение

Чтение ст. байта адреса

8

0000100000000000

00111010

10100010

М1

Повтор шага 1

Примечание. На шаге 4 информация на индикаторах Данные может отличаться от приведенной в таблице.

Из анализа таблицы 1 видим, что команда 3А 00 09 выполняется за 4 цикла (цикл М1 и 3 цикла чтения памяти). В первом цикле происходит загрузка кода команды 3А (находится в памяти по адресу 0800Н) в РК микропроцессора. Во втором цикле читается младший байт адреса 00 (в памяти по адресу 0801Н). В третьем цикле читается старший байт адреса 09 (в памяти по адресу 0802Н). В четвертом цикле число, находящееся по адресу 0900 (в нашем случае оно равно 0BFH), считывается в аккумулятор микропроцессора.

2.3.3. Снять временную диаграмму выполнения команды 3А0009.

2.3.3.1. Переключить УМК в непрерывный режим работы (отжать кнопки КМ/ЦК и РБ/ШГ).

2.3.3.2. Снять и зарисовать временные диаграммы сигналов на контактах ST5, F2, IORC, IOWC, MRDC, MWTC, A0, A1, A8, D0. Все сиг­на­лы по времени на осциллографе привязаны к началу цикла М1 и должны быть зарисованы в одном временном масштабе. Сигнал F2 совпадает с сигналом синхронизации С2, и его период равен одному такту. Пример временной диаграммы приведен на рис.2.

2.3.3.3. Проанализируем нашу временную диаграмму. Она показывает, что команда выполняется за 13 периодов сигнала F2, т.е. за 13 тактов, причем цикл М1 выполняется за 4 такта, а циклы чтения за 3. Из сигналов синхронизации обмена информацией активным (активный уровень этих сигналов – низкий) бывает только сигнал MRDC (сопровождение чтения из памяти), что и следовало ожидать. Активным уровнем сигналов на шине адреса является низкий уровень, а на шине данных - высокий.

2.3.4. Записать в УМК с адреса 0800Н 22 00 09 С3 00 08. Выпол­нить программу в пошаговом режиме и результат занести в таблицу, аналогичную таблице 1. Снять временную диаграмму выполнения команды 22 00 09. Ответить на вопросы:

1. За сколько машинных циклов выполняется команда? За сколько тактов?

2. Какие циклы используются при выполнении команды?

3. Какие сигналы синхронизации обмена информацией бывают активны при выполнении команды?

4. Какие действия, по-вашему, выполняет команда?



Рис.2. Пример временной диаграммы



3. Выполнение простейших программ.

Рассмотрим программу, извлекающую число из адреса памяти 0900, инвертирующую его и записывающую в адрес 0901. Для удобства программистов двоичные числа, которые являются командами, при написании программ заменяются буквенно-цифровыми кодами (мнемокодами), где буквенный код указывает, какую операцию нужно выполнить, а цифры являются операндами команды. Мнемокод отражает суть производимого командой действия и является сокращением от соответствующих английских слов, например, MOV – Move (двигать), передача данных между регист­рами или регистрами и памятью микропроцессора.

Программа 1 (в мнемокодах)

Мнемокод Комментарий

LDA 0900 ;Прочитать число из памяти по ;адресу 0900H

CMA ;Инвертировать число

STA 0901 ;Записать результат по адресу 0901

HLT ;Останов

При записи программ все числа представляются в шестнадцате­рич­ной системе счисления. Для записи программ в ОЗУ микро-ЭВМ необходимо перевести мнемокоды команд в машинные коды.

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

Программа 1 ( размещение по адресам памяти)

Адрес Число Комментарий

0800 3А ; код команды

0801 00 ; младший байт адреса

0802 09 ; старший байт адреса

0803 2F ; код команды СМА

0804 32 ; код команды STA

0805 01 ; младший байт адреса

0806 09 ; старший байт адреса

0807 76 ; код команды HLT

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

Программа 1 (общий вид записи)

Адрес Машинный код Мнемокод Комментарий

0800 3А 00 09 LDA 0900 ;читатать число из памяти

;по адресу 0900H

0803 2F CMA ; инвертировать число

0804 32 01 09 STA 0901 ; записать число в память

;по адресу 0901H

0807 76 HLT ; останов



Порядок выполнения:

1. Ввести в УМК программу 1.

2. Записать по адресу 0900 исследуемое число.

3. Осуществить пуск программы. Последовательно нажать клавиши «СБ», «СТ», ввести адрес 0800 и нажать клавишу «ВП». Выждать 1-2с и нажать клавишу «ПР», при этом на адресном дисплее отобразится адрес ячейки, следующий за командой HLT.

4. Проверить результат выполнения программы путем считывания числа из ячейки 0901.

5. Исследовать процесс выполнения программы по командам.

Клавишу «РБ/ШГ» установить в нажатое положение. Осуществить пуск программы и, последовательно нажимая клавишу «ШГ», выполнить программу по командам. После выполнения каждой команды проанализировать показания индикаторов ША, ШД и регистров состояния.

6. Исследовать процесс выполнения команд в программе 1 по машинным циклам. Обратить внимание на последовательность передачи и преобразования информации в микро-ЭВМ при выполнении каждой команды.

Программа 2

Адрес Машинный код Мнемокод Комментарий

0800 21 00 09 LXI H, 0900 ;записать в регистры H,L

;число 0900H

0803 7Е MOV A,M ;получить число из памяти,

;по адресу, указанному в

;регистровой паре H,L

0804 2F CMA ;инвертировать число в

;аккумуляторе

0805 2З INX H ;увеличить на 1 число в

;регистрах H,L

0806 77 MOV M,A ;записать число из аккуму-

;лятора по адресу, указан-

;ному в регистрах H, L

0807 76 HLT ; останов



Порядок выполнения:

1. Ввести в УМК программу 2.

2. Записать по адресу 0900 исследуемое число.

3. Осуществить пуск программы с адреса 0800. Проверить результат выполнения программы по числу, записанному по адресу 0901.

4. Исследовать процесс выполнения команды MOV A,M по машинным циклам.

СОДЕРЖАНИЕ ОТЧЕТА.

1. Цель работы.

2. Таблицы пошагового выполнения программ.

3. Временные диаграммы выполнения команд.

4. Ассемблерные записи 2-х программ с комментариями.

5. Ответы на вопросы.

6. Выводы.







© Рефератбанк, 2002 - 2024