Автор работы: Пользователь скрыл имя, 05 Мая 2013 в 16:30, лабораторная работа
Цель работы: Ознакомление с принципом действия, машинными циклами и тактами микропроцессора КР580: изучение правил записи машинных программ (в машинных кодах и мнемокодах); исследование выполнения команд пересылки байта.
Задание на работу: Ознакомиться с принципом действия, машинными циклами и тактами микропроцессора КР580. Изучить правила записи машинных программ при работе с УОУ.
МИНОБРНАУКИ РОССИИ
Федеральное
государственное бюджетное
высшего профессионального образования
«Тульский государственный университет»
Кафедра «Автоматика и телемеханика»
АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Лабораторная работа №2
«Запись и выполнение простых программ»
Выполнил студент группы 622111
Петров Н.С ___________.
Проверил доц. каф. АТМ
А.В. Копылов .____________
Тула 2012 г.
Цель работы:
Ознакомление
с принципом действия, машинными
циклами и тактами
Задание на работу:
Ознакомиться
с принципом действия, машинными
циклами и тактами
Теоретические сведения:
Машинные циклы и такты:
В МП КР580 каждая команда выполняется
в течение 1 - 5 машинных циклов МП. Число
машинных циклов команды определяется
числом обращений к внешним
Машинный цикл состоит из 3 - 5 машинных тактов T1, называемых также функциональными состояниями или просто состояниями микропроцессора. Длительность такта равна периоду сигналов синхронизации. Продолжительность выполнения различных команд составляет от 4 до 18 тактов.
Для МП КР580 существует 10 типов машинных циклов:
1. Извлечение кода команды (М1).
2. Чтение данных из памяти.
3. Запись данных в память.
4. Извлечение данных из стека.
5. Запись данных в стек.
6. Ввод данных из внешнего устройства.
7. Вывод данных во внешнее устройство.
8. Цикл обслуживания прерывания.
9. Останов.
10. Обслуживание прерываний в режиме останова.
Первые три такта всех машинных команд унифицированы и образуют фазу адресации. Собственно адресация осуществляется в цикле T1. Микропроцессор выдает сигналы на шину адреса. Источником адреса могут быть следующие внутренние регистры: программный счетчик, указатель стека, регистровые пары B, D или Н, L, а также пара W, Z.
Такт Т2 отведен для проверки необходимости реакции на некоторые управляющие сигналы, влияющие на функционирование МП. В этом такте проверяются уровни внешних сигналов готовности READY, запроса прямого доступа к памяти HOLD, а также внутреннего сигнала подтверждения останова HLTA. Кроме того, в такте Т2 последнего машинного цикла каждой команды проверяется уровень внешнего сигнала запроса прерывания INT.
Помимо проверки управляющих сигналов в такте Т2 производятся следующие действия:
если текущий машинный цикл связан
с обращением к программной памяти,
то выполняется инкремент
если текущий цикл предназначен
для ввода данных в МП, то формируется
сигнал считывания; если текущий цикл
связан с выводом данных из МП, то
формируются соответствующие
Такт Т3 отведен непосредственно для обмена информацией.
В тактах Т4 производятся дешифрование кода операции, необходимые внутренние передачи и преобразования данных. Например, в тактах Т4, Т5 команд INR (INX) и DCR (DCX) осуществляется инкремент или декремент адресуемого регистра (регистровой пары), в командах разветвлений проверяются указанные в них условия, в так те T4 команды СМА инвертируется аккумулятор и т.п.
Система команд микропроцессора КР580 приведена в таблице 2.
Запись программ при работе с УОУ
В УОУ "Электроника 580" предусмотрен
ввод-вывод программ только в машинных
кодах, записанных в шестнадцатеричной
системе счисления. Такое представление
программ неудобно для программиста,
так как затрудняет понимание
и увеличивает вероятность
Таблица 1. Пример программы.
Бланк разделен на пять вертикальных полей. В первом поле записывается шестнадцатеричный адрес ячейки памяти, в которой размещен первый байт кода команды, а во втором поле - машинный код команды (один, два или три байта) в порядке размещения байтов в памяти. При записи следует помнить, что в трехбайтных командах во втором байте команды записывается младший байт адреса или операнда, а в третьем - старший.
В третьем поле записывается символическое
имя (метка), соответствующее адресу,
находящемуся в первом поле. В примере
метка START обозначает ячейку памяти с
адресом 8148. В программах метки используются
в командах переходов, а также
для обозначения некоторых
В четвертом поле записывается мнемоническое обозначение соответствующей
машинной команды. Сначала записывается
мнемоника кода операции, а затем
мнемоники операндов или
Обычно работа программы заканчивается командой останова (HLT). При отладке программ в УОУ не рекомендуется заканчивать командой останова, так как при этом будет невозможно с помощью монитора просмотреть содержимое регистров или памяти. Вместо команды останова лучше использовать команду RST4 (код Е7), которая будет передавать управление монитору.
При записи программ все числа представляются в шестнадцатеричной системе счисления.
Таблица 2. Коды команд МП КР580.
Ход работы:
Анализируя задания, мы проверяем наш конечный результат – то, что должно получиться в итоге. В таблице 3 – необходимые результаты работы программы.
Таблица 3. Необходимый результат данного задания.
А |
B |
C |
E |
H |
L |
64 |
1С |
1С |
64 |
D1 |
D1 |
1. Введённая в эмулятор УОУ предоставлена в таблице 3.
В каждую адресную строку после нажатия кнопки REG на панели эмулятора был введён машинный код.
Таблица 4. Программный код выполнения данного задания.
Адрес |
Машинный код |
Метка |
Мнемокод |
Комментарий |
8200 |
2Е D1 |
START |
MVI L, D1 |
Ввод в регистр L |
8202 |
3E 64 |
MVI A, 64 |
Ввод в регистр A значение 64 | |
8204 |
0E 1C |
MVI C, 1C |
Ввод в регистр C значение 1C | |
8026 |
65 |
MOV H, L |
Пересылка из регистра L в H регистр | |
8207 |
5F |
MOV C,A |
Пересылка из регистра A в регистр C | |
8208 |
41 |
MOV B, C |
Пересылка из регистра C в регистр B | |
8209 |
76 |
END |
HTL |
Команда остановки |
2. Содержимое регистров общего назначения до запуска программы (см. Таблица 5).
Таблица 4. Содержимое регистров до запуска программы.
А |
B |
C |
E |
H |
L |
00 |
00 |
00 |
00 |
00 |
00 |
3. После установления начальным адресом программы 8200, а конечным 8209, программа была запущенна клавишей RUN и остановлена на 8209 ячейке.
4. После
выполнения заданной программы
результаты проверки РОН
Таблица 6. Содержимое
регистров после запуска
А |
B |
C |
E |
H |
L |
64 |
1С |
1С |
64 |
D1 |
D1 |
Вывод.
Результат
сравнения содержимого
Во время работы был изучен принцип действия, машинных циклов и тактов микропроцессора КР580. Были изучены правила записи машинных программ (в машинных кодах и мнемокодах); исследованы выполнения команд пересылки байта.