Главная страница
Навигация по странице:

  • Цель работы

  • Задание на работу

  • Теоретические сведения

  • Машинные циклы и такты.

  • Архитектура выч.систем. Архитектура лаба 1. Запись и выполнение простых команд


    Скачать 81.37 Kb.
    НазваниеЗапись и выполнение простых команд
    АнкорАрхитектура выч.систем
    Дата11.01.2022
    Размер81.37 Kb.
    Формат файлаdocx
    Имя файлаАрхитектура лаба 1.docx
    ТипЛабораторная работа
    #327769

    Министерство образования и науки Российской Федерации

    Федеральное государственное бюджетное образовательное учреждение

    высшего образования

    «Тульский государственный университет»

    Лабораторная работа №1

    по дисциплине «Архитектура вычислительный систем»

    на тему: «Запись и выполнение простых команд»

    Дата сдачи « ____ » ____________ 2020 г.

    Выполнил _______________ студент гр. Б 262581

    Дубоносов Д.С.

    Проверил ______________ д.т.н Лихачев И.В.

    г. Тула

    2020 г.

    Цель работы:

    Ознакомление с принципом действия, машинными циклами и тактами микропроцессора КР580: изучение правил записи машинных программ (в машинных кодах и мнемокодах); исследование выполнения команд пересылки байта.

    Задание на работу:

    1.1. Ознакомиться с принципом действия, машинными циклами и тактами микропроцессора КР580.

    1.2. Изучить правила записи машинных программ при работе с УОУ.

    1.3. Написать программу для выполнения действий, указанных в табл. 1 (константы в табл. 1 приведены в десятичной системе счисления; скобки обозначают содержимое соответствующего регистра).

    Программу разместить в любой свободной области оперативной памяти УОУ.

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

    Теоретические сведения

    В УОУ «Электроника 580» предусмотрен ввод-вывод программ только в машинных кодах, записанных в шестнадцатеричной системе счисления. Такое представление программ неудобно для программиста, так как затрудняет понимание и увеличивает вероятность ошибок. Для человека более удобна символическая (мнемоническая) запись программ. Поэтому на практике целесообразно совмещать на одном бланке машинные и мнемонические коды команд. Рассмотрим особенности записи программ на примере «Учебной программы» :
    Таблица 1. Задание

    Выполнить указанные действия

    105 C

    54 H

    219 B

    (C) A

    (H) E

    (B) D


    Таблица 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. Новая программа

    АДРЕС

    МАШ.

    КОД

    МЕТКИ

    МНЕМОКОД

    КОММЕНТА-РИИ

    8200

    0E 69

    START

    MVI C, 69

    Записываем в регистр C число 69

    8202

    26 36




    MVI H, 36

    Записываем в регистр H число 36

    8204

    06 DB




    MVI B, DB

    Записываем в регистр B число DB

    8206

    79




    MOV A, C

    Пересылаем число 69 из регистра C в A

    8207

    5C




    MOV E, H

    Пересылаем число 36 из регистра H в E

    8208

    50




    MOV D, B

    Пересылаем число DB из регистра B в D

    8209

    E7




    RST 4

    Конец программы и возврат в монитор


    Определили содержимое регистров общего назначения Табл. 4.
    Таблица 4. Содержимое РОН до выполнения программы

    B

    00

    C

    00

    D

    00

    E

    00

    H

    00

    L

    00

    A

    00


    Установили стартовый адрес программы и запустили её выполнение.

    Вновь определили содержимое всех регистров РОН процессора и проверили правильность решения задачи в Таблице 5.

    Таблица 5. Содержимое РОН после выполнения программы


    B

    DB

    C

    69

    D

    DB

    E

    36

    H

    36

    L

    00

    A

    69


    В результате выполнения работы мы записали число 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 мы не использовали в ходе выполнения работы.

    Вывод

    В ходе выполнения работы была изучена запись данных в регистры, а также их перенос данных из одного регистра в другой. Проведено изучение состояния и изменение содержимого памяти УОУ. Выполнено исследование и изменение содержимого регистров. Была написана программа, запущена и проверен результат её выполнения.


    написать администратору сайта