Архитектура выч.систем. Архитектура лаба 1. Запись и выполнение простых команд
Скачать 81.37 Kb.
|
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Тульский государственный университет» Лабораторная работа №1 по дисциплине «Архитектура вычислительный систем» на тему: «Запись и выполнение простых команд» Дата сдачи « ____ » ____________ 2020 г. Выполнил _______________ студент гр. Б 262581 Дубоносов Д.С. Проверил ______________ д.т.н Лихачев И.В. г. Тула 2020 г. Цель работы: Ознакомление с принципом действия, машинными циклами и тактами микропроцессора КР580: изучение правил записи машинных программ (в машинных кодах и мнемокодах); исследование выполнения команд пересылки байта. Задание на работу: 1.1. Ознакомиться с принципом действия, машинными циклами и тактами микропроцессора КР580. 1.2. Изучить правила записи машинных программ при работе с УОУ. 1.3. Написать программу для выполнения действий, указанных в табл. 1 (константы в табл. 1 приведены в десятичной системе счисления; скобки обозначают содержимое соответствующего регистра). Программу разместить в любой свободной области оперативной памяти УОУ. 1.4. Пользуясь таблицей кодов команд, размещенной на лицевой панели УОУ, записать машинные коды команд программы. Константы перевести из десятичной в шестнадцатеричную систему счисления. Теоретические сведения В УОУ «Электроника 580» предусмотрен ввод-вывод программ только в машинных кодах, записанных в шестнадцатеричной системе счисления. Такое представление программ неудобно для программиста, так как затрудняет понимание и увеличивает вероятность ошибок. Для человека более удобна символическая (мнемоническая) запись программ. Поэтому на практике целесообразно совмещать на одном бланке машинные и мнемонические коды команд. Рассмотрим особенности записи программ на примере «Учебной программы» : Таблица 1. Задание
Таблица 2. Учебная программа Бланк разделен на пять вертикальных полей. В первом поле записывается шестнадцатеричный адрес ячейки памяти, в которой размещен первый байт кода команды, а во втором поле машинный код команды (один, два или три байта) в порядке размещения байтов в памяти. При записи следует помнить, что в трехбайтных командах во втором байте команды, записывается младший байт адреса или операнда, а в третьем – старший. В третьем поле записывается символическое имя (метка), соответствующее адресу, находящемуся в первом поле. В примере метка START обозначает ячейку памяти с адресом 8148. В программах метки используются в командах переходов, а также для обозначения некоторых команд с целью повышения наглядности текстов программ. В четвертом поле записывается мнемоническое обозначение соответствующей машинной команды. Сначала записывается мнемоника кода операции, а затем мнемоники операндов или адресов. В этом поле двухбайтные коды принято записывать в привычном виде: сначала старший байт, а затем – младший. В поле комментария записываются в свободной форме различные пояснения. Обычно работа программы заканчивается командой останова (HLT). При отладке программ в УОУ не рекомендуется заканчивать командой остановки, так как при этом будет невозможно с помощью монитора просмотреть содержимое регистров или памяти. Вместо команды останова лучше использовать команду RST4 (код Е7), которая будет передавать управление монитору. При записи программ все числа представляются в шестнадцатеричной системе счисления. Машинные циклы и такты. В МП КР580 каждая команда выполняется в течение 1 – 5 машинных циклов МП. Число машинных циклов команды определяется числом обращений к внешним подсистемам (памяти и средствам ввода-вывода) для обмена информацией между микропроцессором и адресуемым внешним регистром, исключение составляет команда DAD, выполняемая за три машинных цикла с обращением к памяти только в первом цикле. Машинный цикл состоит из 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 команды СМА инвертируется аккумулятор и т.п. Ход работы Перевели константы из задания в шестнадцатеричную систему счисления. Разработали новую программу Табл. 3. Таблица 3. Новая программа
Определили содержимое регистров общего назначения Табл. 4. Таблица 4. Содержимое РОН до выполнения программы
Установили стартовый адрес программы и запустили её выполнение. Вновь определили содержимое всех регистров РОН процессора и проверили правильность решения задачи в Таблице 5. Таблица 5. Содержимое РОН после выполнения программы
В результате выполнения работы мы записали число 69 в регистр C, число 36 в регистр H, число DB в регистр B, затем данные из регистра C скопировали в регистр A, из регистра H скопировали в регистр E, из регистра B скопировали в регистр D. В последствии мы перезаписываем регистр A вводя в него число 69. Затем записываем число 36 в регистр E, число DB в регистр D. Программа разработана, введена в УОУ и проверена на правильность выполнения. Проверка После выполнения программы, до которого содержимое регистров отражено в таблице 4, регистры приняли значения, приведенные в таблице 5. При проверке данных в регистрах они соответствуют значениям, которые требуются по заданию. Регистр C принял значения 69, регистр H значение 36, регистр B – DB, регистр A – 69, регистр E – 36, регистры D-DB, регистр L мы не использовали в ходе выполнения работы. Вывод В ходе выполнения работы была изучена запись данных в регистры, а также их перенос данных из одного регистра в другой. Проведено изучение состояния и изменение содержимого памяти УОУ. Выполнено исследование и изменение содержимого регистров. Была написана программа, запущена и проверен результат её выполнения. |