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

  • Теоретическая часть Описание архитектуры учебной ЭВМ Структура ЭВМ

  • Представление данных в модели

  • 4. Состояния и режимы работы ЭВМ

  • Останов

  • Режим микрокоманд

  • Программно-доступные регистры и флаги

  • Системные регистры и флаги

  • Процессор

  • Reset

  • Окно Память Окно Память

  • Сохранить, Загрузить, Перейти к, Вставить , Убрать. Команды Сохранить, Загрузить

  • Перейти к

  • Окно Текст программы Окно Текст программы

  • Файл: Новая

  • Сохранить

  • Компилировать

  • Программа

  • Точка останова

  • Текст программы

  • Начальный адрес

  • Практическая работа_последов. Практическая работа Тема Построение последовательности машинных операций для реализации простых вычислений



    Скачать 336.5 Kb.
    НазваниеПрактическая работа Тема Построение последовательности машинных операций для реализации простых вычислений
    АнкорПрактическая работа_последов.doc
    Дата18.12.2017
    Размер336.5 Kb.
    Формат файлаdoc
    Имя файлаПрактическая работа_последов.doc
    ТипПрактическая работа
    #12969
    КатегорияИнформатика. Вычислительная техника
    страница1 из 3
      1   2   3

    Практическая работа № 5.
    Тема: Построение последовательности машинных операций для реализации простых вычислений



    Цель: знакомство циклом работы процессора

    Используемое ПО: программа-тренажер CompModel, инструкция к программе
    Теоретическая часть

    Описание архитектуры учебной ЭВМ


    1. Структура ЭВМ

    Моделируемая ЭВМ включает процессор, оперативную (ОЗУ) и сверхоперативная память, устройство ввода (УВв) и устройство вывода (УВыв). Процессор в свою очередь, состоит из центрального устройства управления (УУ), арифметического устройства (АУ) и системных регистров (CR, РС, и др.). Структурная схема ЭВМ показана на рис. 1.

    В ячейках ОЗУ хранятся команды и данные. Емкость ОЗУ составляет 1000 ячеек. По сигналу MWr выполняется запись содержимого регистра данных (MDR) в ячейку памяти с адресом, указанным в регистре адреса (МAR ) По сигналу МRd происходит считывание - содержимое ячейки памяти с адресом, содержащимся в MAR, передается в MDR.

    Сверхоперативная память с прямой адресацией содержит десять регистров общего назначения R0-R9. Доступ к ним осуществляется (аналогично доступу к ОЗУ) через регистры RAR и RDR.

    АЛУ осуществляет выполнение одной из арифметических операций, определяемой кодом операции (СОР), над содержимым аккумулятора (Асс) и регистра операнда (DR). Результат операции всегда помещается в Асс. При завершении выполнения операции АУ вырабатывает сигналы признаков результата: Z (равен 1, если результат равен нулю); S (равен 1, если результат отрицателен); ОV (равен 1, если при выполнении операции произошло переполнение разрядной сетки). В случаях, когда эти условия не выполняются, соответствующие сигналы имеют нулевое значение.

    В модели ЭВМ предусмотрены внешние устройства двух типов. Во-первых регистры IR и OR, которые могут обмениваться с аккумулятором с помощью безадресных команд IN (Асс := IR) и OUT (OR := Асс). Во-вторых, это моделей внешних устройств, которые могут подключаться к системе и взаимодействовать с ней в соответствии с заложенными в моделях алгоритмами. Каждое внешнее устройство имеет ряд программно-доступных регистров, может иметь собственный обозреватель (окно видимых элементов).

    УУ осуществляет выборку команд из ОЗУ в последовательности, определяемой естественным порядком выполнения команд (т. е. в порядке возрастания адресов команд в ОЗУ) или командами передачи управления; выборку из ОЗУ операндов, задаваемых адресами команды; инициирование выполнения операции, предписанной командой; останов или переход к выполнению с следующей команды.

    В качестве сверхоперативной памяти в модель включены регистры общего назначения (РОН), и может подключаться модель кэш-памяти.

    В состав УУ ЭВМ входят:

    • РС - счетчик адреса команды, содержащий адрес текущей команды;

    • CR - регистр команды, содержащий код команды;

    • RB - регистр базового адреса, содержащий базовый адрес;




    • SP - указатель стека, содержащий адрес верхушки стека;

    • RA - регистр адреса, содержащий исполнительный адрес при кос­венной адресации.

    Регистры Асс, DR, IR, OR, CR и все ячейки ОЗУ и РОН имеют длину 6 десятичных разрядов, регистры РС, SP, RA и RB - 3 разряда.


    1. Представление данных в модели

    Данные в ЭВМ представляются в формате, показанном на рис. 2. Это целые десятичные числа, изменяющиеся в диапазоне "-99 999 ... +99 999", содержащие знак и 5 десятичных цифр.


    0

    1 2 3 4 5

    знак

    Десятичные цифры

    Рис.2 Форматы десятичных данных
    Старший разряд слова данных используется для кодирования знака: плюс (+) изображается как О, минус (-) - как 1. Если результат арифметической операции выходит за пределы указанного диапазона, то говорят, что произошло переполнение разрядной сетки. АЛУ в этом случае вырабатывает сигнал переполнения ОV = 1. Результатом операции деления является целая часть частного. Деление на ноль вызывает переполнение


    1. Система команд

    При рассмотрении системы команд ЭВМ обычно анализируют три аспекта: форматы, способы адресации и систему операций.


      1. 1. Форматы команд

    Большинство команд учебной ЭВМ являются одноадресными или безадресными, длиной в одно машинное слово (6 разрядов). Исключение оставляют двухсловные команды с непосредственной адресацией и команда MOV, являющаяся двухадресной.

    В форматах команд выделяется три поля:

    • два старших разряда [0:1] определяют код операции СОР;

    • разряд 2 может определять тип адресации (в одном случае (формат 5а) он определяет номер регистра);

    • разряды [3:5] могут определять прямой или косвенный адрес памяти, номер регистра (В команде MOV номера двух регистров), адрес перехода или короткий непосредственный операнд. В двухсловных командах непосредственный операнд занимает поле [6: 11].

    Полный список форматов команд показан на рис.3, где приняты следующие обозначения:

    СОР - код операции;

    ADR - адрес операнда в памяти;

    ADС - адрес перехода;

    I - непосредственный операнд;

    R, Rl, R2 - номер регистра;

    TА - тип адресации;

    X-разряд не используется.


    Номер формата

    0 1

    2

    3 4 5







    1

    СОР

    Х

    Х Х Х







    2

    СОР

    ТА

    ADR







    3

    СОР

    ТА

    Х Х R









    СОР

    ТА

    X R1 R2

    6

    6 11

    4

    СОР

    Х

    Х Х Х

    1

    I

    5

    СОР

    Х

    ADC









    СОР

    R

    ADC







    Рис. 3. Форматы команд учебной программы.


      1. Способы адресации

    В ЭВМ принято различать пять основных способов адресации: прямая, косвенная, непосредственная, относительная, безадресная.
    Каждый способ имеет разновидности. В модели учебной ЭВМ реализованы семь способов в адресации, приведенные в табл1.
    Таблица 1. Адресация в командах учебной ЭВМ.

    Код ТА

    Тип адресации

    Исполнительный адрес


    0

    Прямая (регистровая)

    ADR(R)

    1

    Непосредственная

    -

    2

    Косвенная

    ОЗУ(ADR)[З:5]

    3

    Относительная

    ADR+RВ

    4

    Косвенно-регистровая

    РОН(R)[З:5]

    5

    Индексная с постинкрементом

    РОН(R)[З:5], R:= R + I

    6

    Индексная с преддекрементом

    R:= R -1, РОН(R)[З :5]


    3.3. Система операций

    Система команд учебной ЭВМ включает команды следующих классов:

    • арифметико-логические и специальные: сложение, вычитание, умножение, деление;

    • пересылки и загрузки: чтение, запись, пересылка (из регистра в регистр), помещение в стек, извлечение из стека, загрузка указателя стека, загрузка базового регистра;

    • ввода/вывода: ввод, вывод;

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

    • системные: пустая операция, разрешить прерывание, запретить прерывание, стон.

    Список команд учебной ЭВМ приведен в табл. 4 и 6.
    4. Состояния и режимы работы ЭВМ

    Ядром УУ ЭВМ является управляющий автомат (УА), вырабатывающий сигналы управления, которые инициируют работу АЛУ, РОН, ОЗУ и УВВ, передачу информации между регистрами устройств ЭВМ и действия над содержимым регистров УУ.

    ЭВМ может находиться в одном из двух состояний: Останов и Работа.

    В состояние Работа ЭВМ переходит по действию команд Пуск или Шаг. Команда Пуск запускает выполнение программы, представляющую собой последовательность команд, записанных в ОЗУ, в автоматическом режиме до команды HLT или точки останова. Программа выполняется по командам, начиная с ячейки ОЗУ, на которую показывает РС, причем изменение состояний объектов модели отображается в окнах обозревателей.

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

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

    В состоянии Останов допускается просмотр и модификация объектов модели: регистров процессора и РОН, ячеек ОЗУ, устройств ввода/вывода. В процессе модификации ячеек ОЗУ и РОН можно вводить данные для программы в ячейки ОЗУ - программу в кодах. Кроме того, в режиме Останов можно менять параметры модели и режимы ее работы, вводить и/или редактировать программу в мнемокодах, ассемблировать мнемокоды, выполнять стандартные операции с файлами.
    5. Интерфейс ЭВМ

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

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

    • ввести программу в память ЭВМ;

    • определить, если это необходимо, содержимое ячеек ОЗУ и РОН, содержащих исходные данные, а также регистров IR и BR;

    • установить в PC стартовый адрес программы;

    • перевести модель в режим Работа.

    Каждое из этих действий выполняется посредством интерфейса модели.
    Окна основных обозревателей системы

    Окно Процессор

    Окно Процессор обеспечивает доступ ко всем регистрам и флагам процессоров.



    Рис. 8.4. Окно Процессор

    Программно-доступные регистры и флаги:

    Асс — аккумулятор;

    PC — счетчик адреса команды, содержащий адрес текущей команды;

    SP — указатель стека, содержащий адрес верхушки стека;

    RB — регистр базового адреса, содержащий базовый адрес;

    RA — регистр адреса, содержащий исполнительный адрес при косвенной адресации;

    IR — входной регистр;

    OR — выходной регистр;

    I — флаг разрешения прерываний.

    Системные регистры и флаги:
    DR — регистр данных АЛУ, содержащий второй операнд;

    МDR — регистр данных ОЗУ;
    MAR — регистр адреса ОЗУ;
    RDR — регистр данных блока РОН;
    RAR — регистр адреса блока РОН;
    CR — регистр команд, содержащий поля:
    COP — код операции;
    ТА — тип адресации;
    ADR — адрес или непосредственный операнд;

    Z — флаг нулевого значения Асс;

    S — флаг отрицательного значения Асе;

    OV — флаг переполнения.

    Регистры Асс, DR, IR, OR, CR и все ячейки ОЗУ и РОН имеют длину 6 десятичных разрядов, регистры PC, SP, RA и RB — 3 разряда. В окне Процессор отражаются текущие значения регистров и флагов, причем в состоянии Останов все регистры, включая регистры блока РОН, и флаги (кроме флага 1) доступны для непосредственного редактирования.

    Элементы управления окна Процессор включают меню и кнопки, вызывающие команды:

    • Сохранить;

    • Загрузить;

    • Reset;

    • Reset R0-R9 (только команда меню Работа).

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

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

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

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

    Команда Убрать открывает диалог, в котором указывается диапазон ячеек с m по n. Содержимое ячеек в этом диапазоне теряется, а содержимое ячеек [(n +1): 999] перемещается в соседние ячейки с меньшими адресами. Освободившиеся ячейки с адресами 999, 998, ... заполняются нулями.


    Рис. 8.5. Окно Память

    Команда Вставить, позволяющая задать номера ячеек, перемещает содержимое всех ячеек, начиная от т -й на п - т позиций в направлении больших адресов, ячейки заданного диапазона [т:п] заполняются нулями, а содер­жимое последних ячеек памяти теряется.
    Окно Текст программы

    Окно Текст программы (рис. 8.6) содержит стандартное поле текстового редактора, в котором можно редактировать тексты, загружать в него текстовые файлы и сохранять подготовленный текст в виде файла.

    Команды меню Файл:

    Новая — открывает новый сеанс редактирования;

    Загрузить — открывает стандартный диалог загрузки файла в окно редактора;

    Сохранить — сохраняет файл под текущим именем;

    Сохранить как — открывает стандартный диалог сохранения файла;

    Вставить — позволяет вставить выбранный файл в позицию курсора.

    Все перечисленные команды, кроме последней, дублированы кнопками на панели инструментов окна. На той же панели присутствует еще одна кнопка — Компилировать, которая запускает процедуру ассемблирования текста в поле редактора.

    Ту же процедуру можно запустить из меню Работа. Команда Адрес вставки позволяет задать адрес ячейки ОЗУ, начиная с которой программа будет размещаться в памяти. По умолчанию этот адрес принят равным 0.

    Ниже области редактирования в строку состояния выводится позиция текущей строки редактора — номер строки, в которой находится курсор.


    Рис. 8.6. Окно Текст программы
    В случае обнаружения синтаксических ошибок в тексте программы диагностические сообщения процесса компиляции выводятся в окно сообщений, запись в память кодов (даже безошибочного начального фрагмента программы) не производится.

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

    Окно Программа (рис. 8.7) отображает таблицу, имеющую 300 строк и 4 столбца. Каждая строка таблицы соответствует дизассемблированной ячейке ОЗУ. Второй столбец содержит адрес ячейки ОЗУ, третий — дизассемблированный мнемокод, четвертый — машинный код команды. В первом столбце может помещаться указатель — на текущую команду (текущее значение PC) и точка останова — красная заливка ячейки.



    Рис. 8.7. Окно Программа
    Окно Программа позволяет наблюдать процесс прохождения программы. В этом окне ничего нельзя редактировать. Органы управления окна позволяют сохранить содержимое окна в виде текстового файла, выбрать начальный адрес области ОЗУ, которая будет дизассемблироваться (размер области постоянный — 300 ячеек), а также установить/снять точку останова. Последнее можно проделать тремя способами: командой Точка останова из меню Работа, кнопкой на панели инструментов или двойным щелчком мыши в первой ячейке соответствующей строки. Характерно, что прочитать в это окно ничего нельзя. Сохраненный текстовый asm-файл можно загрузить в окно Текст программы, ассемблировать его и тогда дизассемблированное значение заданной области памяти автоматически появится в окне Программа. Такую процедуру удобно использовать, если программа изначально пишется или редактируется непосредственно в памяти в машинных кодах. Начальный адрес области дизассемблирования задается в диалоге командой Начальный адрес меню Работа.
      1   2   3
    написать администратору сайта