Как записать программу в машинных кодах в память модели эвм
Все работы выполнены на программной модели учебной ЭВМ и взаимодействующих с ней программных моделях ВУ и кэш-памяти. Учебная ЭВМ является упрощенной программной моделью компьютера, позволяющей обучаемым освоить базовые понятия архитектуры: система команд, командный цикл, способы адресации, уровни памяти, способы взаимодействия процессора с внешними устройствами.
Содержание
Пояснительная записка 3
Введение 4
Задание №1 5
Задание №2 7
Задание №3 9
Задание №4 11
Задание №5 14
Задание №6 18
Задание №7 21
Задание №8 24
Заключение 26
Список литературы 27
Прикрепленные файлы: 1 файл
Модель учебной ЭВМ.docx
Результаты выполнения программы:
Программирование цикла с переадресацией
Целью работы является ознакомление с приёмами обработки массивов, а также исследование механизма косвенной адресации.
Теоретические положения:
При решении задач, связанных с обработкой массивов, возникает необходимость изменения исполнительного адреса при повторном выполнении некоторых команд. Эта задача может быть решена путем использования косвенной адресации.
Формулировка варианта задания:
Найти максимальное положительное число в последовательности чисел С1, С2, . , Сn.
Граф-схема алгоритма решения задачи:
Распределение памяти таково: программу разместим в ячейках ОЗУ, начиная с адреса 000, примерная оценка объема программы – 25 команд. Значения массива необходимо прописать с 40-го адреса.
Текст программы:
Подпрограммы и стек
Цель работы – изучение организации программ с использованием подпрограмм; исследование сверхоперативной памяти, ознакомление с постинкрементным и предекрементным способами адресации.
Теоретические положения:
В программировании часто встречаются ситуации, когда одинаковые действия необходимо выполнять многократно в разных частях программы (например, вычисление функции sinx). При этом с целью экономии памяти не следует многократно повторять одну и ту же последовательность команд – достаточно один раз написать подпрограмму (в терминах языков высокого уровня – процедуру) и обеспечить правильный вызов этой подпрограммы и возврат в точку вызова по завершению подпрограммы.
Для вызова подпрограммы необходимо указать ее начальный адрес в памяти и передать (если необходимо) параметры – те исходные данные, с которыми будут выполняться предусмотренные в подпрограмме действия. Адрес подпрограммы указывается в команде вызова CALL, а параметры могут передаваться через определенные ячейки памяти, регистры или стек.
Возврат в точку вызова обеспечивается сохранением адреса текущей команды (содержимого регистра PC) при вызове и использованием в конце подпрограммы команды возврата RET, которая возвращает сохраненное значение адреса возврата в PC.
Для реализации механизма вложенных подпрограмм (возможность вызова подпрограммы из другой подпрограммы и т. д.) адреса возврата и содержимое регистров общего назначения целесообразно сохранять в стеке. Под стек отводится некоторая область ОЗУ, доступ к которой осуществляется через единственную ячейку, называемую вершиной стека. Адрес вершины хранится в указателе стека SP. Стек обслуживается по принципу LIFO (Last In – First Out, последним пришел – первым вышел).
В стек можно поместить содержимое регистра общего назначения по команде push или извлечь содержимое верхушки в регистр общего назначения по команде pop. Кроме того, по команде вызова подпрограммы call значение программного счетчика PC (адрес следующей команды) помещается в верхушку стека, а по команде ret содержимое верхушки стека извлекается в PC. При каждом обращении в стек указатель SP автоматически модифицируется.
В большинстве ЭВМ стек „растет“ в сторону меньших адресов, поэтому перед каждой записью содержимое SP уменьшается на 1, а после каждого извлечения содержимое SP увеличивается на 1. Таким образом, SP всегда указывает на верхушку стека.
Цель настоящей лабораторной работы – изучение организации программ с использованием подпрограмм. Кроме того, в процессе организации циклов мы будем использовать новые возможности системы команд модели ЭВМ, которые позволяют работать с новым классом памяти – сверхоперативной (регистры общего назначения – РОН). В реальных ЭВМ доступ в РОН занимает значительно меньшее время, чем в ОЗУ; кроме того, команды обращения с регистрами короче команд обращения к памяти. Поэтому в РОН размещаются наиболее часто используемые в программе данные, промежуточные результаты, счетчики циклов, косвенные адреса и т. п.
В системе команд учебной ЭВМ для работы с РОН используются специальные команды, мнемоники которых совпадают с мнемониками соответствующих команд для работы с ОЗУ, но в адресной части содержат символы регистров R0-R9.
Формулировка варианта задания:
Даны три массива чисел. Требуется вычислить номер первого положительного числа. Каждый массив задается двумя параметрами: адресом первого элемента и длиной.
Текст программы:
Программа нахождения произведения нечётных чисел:
WR R3 ; в R3 - здесь будем накапливать произведение
L2:RD @R1+ ; Читаем очередное число с приращением адреса
WR R4 ; Сохраним
; сравнить с исходным
SUB R4 ; Если не равны, то нечетное!
JZ L1 ; Если четное, то обходим
RD R4 ; Читаем найденное число
MUL R3 ; Умножим на сохранное произведение
WR R3 ; Сохраним
L1:JRNZ R2,L2 ; Циклим, пока R2 не 0
RD R3 ; Искомое произведение
Командный цикл процессора
Целью работы является исследование командного цикла процессора на уровне микрокоманд.
Теоретические положения:
Реализация программы в ЭВМ сводится к последовательному выполнению команд. Каждая команда, в свою очередь, выполняется как последовательность микрокоманд, реализующих элементарные действия над операционными элементами процессора. Для пояснения логики функционирования ЭВМ ее целесообразно представить в виде совокупности узлов, связанных между собой коммуникационной сетью.
Процесс функционирования вычислительной машины состоит в последовательности пересылок информации между ее узлами и элементарных действий (микроопераций), выполняемых в узлах. Понятие узла здесь трактуется весьма широко: от регистра до АЛУ или основной памяти. Также широко следует понимать и термин „элементарное действие“. Это может быть установка регистра в некоторое состояние или выполнение операции в АЛУ.
Любое элементарное действие производится при поступлении соответствующего сигнала управления (СУ) из микропрограммного автомата устройства управления. Возможная частота формирования сигналов на выходе автомата определяется синхронизирующими импульсами, поступающими от генератора тактовых импульсов (ГТИ).
Элементарные пересылки или преобразования информации, выполняемые в течение одного такта синхронизации, называются микрооперациями. В течение одного такта могут одновременно выполняться несколько микроопераций. Совокупность сигналов управления, вызывающих микрооперации, выполняемые в одном такте, называют микрокомандой.
Относительно сложные действия, осуществляемые вычислительной машиной в процессе ее работы, реализуются как последовательность микроопераций и могут быть заданы последовательностью микрокоманд, называемой микропрограммой. Реализует микропрограмму, то есть вырабатывает управляющие сигналы, задаваемые ее микрокомандами, микропрограммный автомат (МПА).
1-я часть задания:
Выполнить снова последовательность команд по варианту лабораторной работы №1, но в режиме Шаг. Зарегистрировать изменения состояния процессора и памяти в форме таблицы.
Вариант задания лабораторной работы №1:
№ | IR | Команда 1 | Команда 2 | Команда 3 | Команда 4 | Команда 5 |
17 | 000381 | 01 0 000 | 25 1 006 | 22 0 003 | 22 3 003 | 14 0 001 |
2-я часть задания:
Записать последовательность микрокоманд для следующих команд модели учебной ЭВМ:
Знакомство с интерфейсом модели электронно-вычислительной машины, методами ввода и отладки программы, действиями основных классов команд, способов адресации. Процессор, оперативная память, сверхоперативная память (регистры общего назначения и кэш-память).
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 28.04.2015 |
Размер файла | 18,2 K |
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
"Краснодарский информационно-технологический техникум"
Отчёт по лабораторной работе
Архитектура аппаратных средств
Цель работы - знакомство с интерфейсом модели ЭВМ, методами ввода и отладки программы, действиями основных классов команд и способов адресации.
Формулировка задания - дана последовательность мнемокодов, которую необходимо преобразовать в машинные коды, занести в ОЗУ ЭВМ, выполнить в режиме Шаг и зафиксировать изменение состояний программно-доступных объектов ЭВМ.
1. Процессор, оперативная память (ОЗУ), сверхоперативная память (регистры общего назначения и кэш-память), устройство ввода (Увв) и устройство вывода (Увыв).
В состав процессора входят центральное устройство управления (УУ) и арифметическое устройство (АУ).
2. Система команд - это совокупность всех команд, которые способна выполнить данная ЭВМ. Система команд характеризуется тремя аспектами: форматами, способами адресации и системой операций.
3. Арифметико-логические и специальные команды, команды пересылки и загрузки, команды ввода/вывода, команды передачи управления Системные команды интерфейс электронный программа
4. Изменение естественного порядка выполнения команд программы; изменение содержимого счетчика команд с обеспечением переходов по программе
5. В модели учебной ЭВМ реализованы семь способов адресации:
Прямая адресация - в адресном поле располагается адрес операнда (номер ячейки памяти). Разновидностью прямой адресации является прямая регистровая адресация, при которой адресуется не ячейка памяти, а РОН.
Непосредственная адресация - в поле адреса команды располагается не адрес операнда, а сам операнд.
Относительная адресация - адрес формируется как сумма двух слагаемых: базы, хранящейся в специальном регистре или в одном из РОН, и смещения, извлекаемого из поля адреса команды. Разновидностью относительной адресации является индексная адресация. Индексная адресация предполагает наличие индексного регистра вместо базового.
При каждом обращении содержимое индексного регистра обычно модифицируется автоматически: увеличивается на 1 (индексная с постинкрементом) или уменьшается на 1 (индексная с прединкрементом).
Косвенная адресация - в поле адреса команды располагается адрес ячейки памяти, в которой хранится адрес операнда ("адрес адреса"), разновидностью косвенной адресации является косвенно-регистровая адресация, при которой в поле адреса команды размещается адрес РОН, хранящего адрес операнда.
6. Какие ограничения накладываются на способ представления данных в модели?
Ограничения накладываемые на способ представления данных в модели: диапазон изменения чисел -99999 ч +99999. Если результат арифметической операции выходит за рамки указанного диапазона, то происходит переполнение разрядной сетки. Деление на ноль вызывает переполнение.
7. Пуск или Шаг.
Команда Пуск запускает программу на выполнение. Программа представляет собой последовательность команд, записанных в ОЗУ. Программа выполняется в автоматическом режиме до команды HLT (Стоп) или точки останова. Программа выполняется по командам, начиная с ячейки ОЗУ, на которую указывает счетчик команд (PС), причем изменение состояний объектов модели отображается в окнах компонентов.
В состоянии Остановка модель учебной ЭВМ переходит в результате действия команды СТОП или автоматически в зависимости от выбранного режима работы.
Команда Шаг запускает выполнение одной команды либо одной микрокоманды (если установлен Режим микрокоманд) после чего модель переходит в состояние Останов.
В состоянии Остановка пользователь может просмотреть или изменить основные компоненты модели: регистры ЦП и РОН, ячейки ОЗУ, устройства ввода/вывода.
8. Как записать программу в машинных кодах в память модели ЭВМ?
Записать программу в машинных кодах в память модели ЭВМ можно на примере программной модели учебной ЭВМ реализованной стандартным Windows-совместимым интерфейсом, состоящий из нескольких окон: основного окна Модель учебной ЭВМ и окон компонентов Процессор, Память, Текст программы, Программа, Кэш-память, Микрокомандный уровень.
В окне Текст программы редактировать текст, загружать в него текстовые файлы и сохранять текст в виде файлов.
Окно компонента Программа состоит из трех составляющих: стандартного для эмулятора меню, панели управления и таблицы, которая имеет 300 строк и 4 столбца, каждая строка соответствует дизассемблированной ячейке памяти.
10. JMP - Безусловный переход;
JZ - Переход, если 0;
JNZ - Переход, если не 0;
JS - Переход, если отрицательно;
JNS - Переход, если положительно;
JO - Переход, если переполнение;
JNO - Переход, если нет переполнения;
JRNZ - Цикл.
Технология выполнения работы:
Для преобразования заданных мнемокодов в машинные коды составим таблицу соответствия.
Например, Команда 1 имеет вид IN. Согласно табл. 1 приложения, которая содержит команды учебной ЭВМ переведем команду IN в машинный код, где старший разряд равен 0 и младший равен 1, IN: =01. Далее следует тип адресации, т.к. его нет, то он равен 0. Затем в команде следует номер ячейки памяти ОЗУ, которую согласно формату, данных учебной ЭВМ следует привести к трехзначному числу 000. Следовательно, Команда 1 в машинных кодах имеет вид: 01 0 000. Аналогично переводим в машинные коды остальные четыре команды.
Команда 3 имеет вид WR 10. Согласно табл. 1 приложения, которая содержит команды учебной ЭВМ переведем команду WR 10 в машинный код, где старший разряд равен 2 и младший равен 2, WR 10: =22. Далее следует тип адресации, он равен 0. Затем в команде следует номер ячейки памяти ОЗУ, которую согласно формату, данных учебной ЭВМ следует привести к трехзначному числу 010. Следовательно, Команда 2 в машинных кодах имеет вид: 22 0 010.
Команда 4 имеет вид WR @10. Согласно табл. 1 приложения, которая содержит команды учебной ЭВМ переведем команду WR @10 в машинный код, где старший разряд равен 2 и младший равен 2, WR @10: =22. Далее следует тип адресации, он равен 0. Затем в команде следует номер ячейки памяти ОЗУ, которую согласно формату, данных учебной ЭВМ следует привести к трехзначному числу 010. Следовательно, Команда 2 в машинных кодах имеет вид: 22 0 010.
Команда 5 имеет вид JNS 001. Согласно табл. 1 приложения, которая содержит команды учебной ЭВМ переведем команду JNS 001 в машинный код, где старший разряд равен 1 и младший равен 4, JNS 001: =14. Далее следует тип адресации, он равен 0. Затем в команде следует номер ячейки памяти ОЗУ, которую согласно формату, данных учебной ЭВМ следует привести к трехзначному числу 001. Следовательно, Команда 2 в машинных кодах имеет вид: 14 0 001.
Исследование принципа действия, машинных циклов и тактов микропроцессора КР580. Правила записи машинных программ. Разработка программы для выполнения заданных действий, описание машинных кодов. Порядок изучения выполнения команд пересылки байта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 05.04.2014 |
Размер файла | 109,2 K |
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Лабораторная работа
Запись и выполнение простых команд
Цель работы:
Ознакомление с принципом действия, машинными циклами и тактами микропроцессора КР580: изучение правил записи машинных программ (в машинных кодах и мнемокодах); исследование выполнения команд пересылки байта.
Задание на работу:
1.1. Ознакомиться с принципом действия, машинными циклами и тактами микропроцессора КР580.
1.2. Изучите правила записи машинных программ при работе с УОУ.
1.3. Написать программу для выполнения действий, указанных в табл. 1.
Программу разместить в любой свободной области оперативной памяти УОУ.
1.4. Пользуясь таблицей кодов команд, размещенной на лицевой панели УОУ, записать машинные коды команд программы. Константы перевести из десятичной в шестнадцатеричную систему счисления.
Теоретические сведения
В УОУ «Электроника 580» предусмотрен ввод-вывод программ только в машинных кодах, записанных в шестнадцатеричной системе счисления. Такое представление программ неудобно для программиста, так как затрудняет понимание и увеличивает вероятность ошибок. Для человека более удобна символическая (мнемоническая) запись программ. Поэтому на практике целесообразно совмещать на одном бланке машинные и мнемонические коды команд. Рассмотрим особенности записи программ на примере (Учебная программа):
Таблица 1. Учебная программа
Бланк разделен на пять вертикальных полей. В первом поле записывается шестнадцатеричный адрес ячейки памяти, в которой размещен первый байт кода команды, а во втором поле машинный код команды (один, два или три байта) в порядке размещения байтов в памяти. При записи следует помнить, что в трехбайтных командах во втором байте команды записывается младший байт адреса или операнда, а в третьем - старший.
В третьем поле записывается символическое имя (метка), соответствующее адресу, находящемуся в первом поле. В примере метка 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. Цикл обслуживания прерывания.
10. Обслуживание прерываний в режиме останова.
Первые три такта всех машинных команд унифицированы и образуют фазу адресации. Собственно адресация осуществляется в цикле T1. Микропроцессор выдает сигналы на шину адреса. Источником адреса могут быть следующие внутренние регистры: программный счетчик, указатель стека, регистровые пары B, D или Н, L, а также пара W, Z.
Такт Т2 отведен для проверки необходимости реакции на некоторые управляющие сигналы, влияющие на функционирование МП. В этом такте проверяются уровни внешних сигналов готовности READY, запроса прямого доступа к памяти HOLD, а также внутреннего сигнала подтверждения останова HLTA. Кроме того, в такте Т2 последнего машинного цикла каждой команды проверяется уровень внешнего сигнала запроса прерывания INT.
Помимо проверки управляющих сигналов в такте Т2 производятся следующие действия: если текущий машинный цикл связан с обращением к программной памяти, то выполняется инкремент программного счетчика РС; если текущий цикл предназначен для ввода данных в МП, то формируется сигнал считывания; если текущий цикл связан с выводом данных из МП, то формируются соответствующие сигналы на шине данных.
Такт Т3 отведен непосредственно для обмена информацией.
В тактах Т4 производятся дешифрование кода операции, необходимые внутренние передачи и преобразования данных. Например, в тактах Т4, Т5 команд INR (INX) и DCR (DCX) осуществляется инкремент или декремент адресуемого регистра (регистровой пары), в командах разветвлений проверяются указанные в них условия, в такте T4 команды СМА инвертируется аккумулятор и т.п.
Все работы выполнены на программной модели учебной ЭВМ и взаимодействующих с ней программных моделях ВУ и кэш-памяти. Учебная ЭВМ является упрощенной программной моделью компьютера, позволяющей обучаемым освоить базовые понятия архитектуры: система команд, командный цикл, способы адресации, уровни памяти, способы взаимодействия процессора с внешними устройствами.
Содержание
Пояснительная записка 3
Введение 4
Задание №1 5
Задание №2 7
Задание №3 9
Задание №4 11
Задание №5 14
Задание №6 18
Задание №7 21
Задание №8 24
Заключение 26
Список литературы 27
Прикрепленные файлы: 1 файл
Модель учебной ЭВМ.docx
Последовательность микрокоманд:
Программирование внешних устройств
Целью лабораторной работы является изучение способов организации взаимодействия процессора и внешних устройств (ВУ) в составе ЭВМ.
Теоретические положения:
Модели внешних устройств (ВУ), используемые в учебной ЭВМ, реализованы по единому принципу. С точки зрения процессора они представляют собой ряд программно-доступных регистров, лежащих в адресном пространстве ввода/вывода. Размер регистров ВУ совпадает с размером ячеек памяти и регистров данных процессора – шесть десятичных разрядов.
Доступ к регистрам ВУ осуществляется по командам IN аа, OUT аа, где аа – двухразрядный десятичный адрес регистра ВУ. Общий объем адресного пространства ввода/вывода составляет 100 адресов, при этом адресные пространства памяти и ввода/вывода в этой модели разделены.
Разные ВУ содержат различное число программно- доступных регистров, каждому из них присвоен свой адрес, нумерация которых начинается с 0. Подключаемому ВУ ставится в соответствие базовый адрес в пространстве ввода/вывода, а все адреса его регистров становятся смещениями относительно этого базового адреса.
Связь процессора и ВУ может осуществляться в синхронном или асинхронном режиме.
Синхронный режим используется для ВУ, всегда готовых к обмену (в нашей модели – дисплей и тоногенератор). Процессор может обращаться к этим ВУ, не анализируя их состояние (в учебной модели дисплей блокирует прием данных после ввода 128 символов, формируя флаг ошибки).
Асинхронный обмен предполагает анализ процессором состояния ВУ, которое определяет готовность ВУ выдать или принять данные или факт осуществления некоторого события, контролируемого системой (в нашей модели – клавиатура и блок таймеров.
Анализ состояния ВУ может осуществляться процессором двумя способами: в программно-управляемом режиме и в режиме прерывания.
В первом случае предполагается программное обращение процессора к регистру состояния ВУ с последующим анализом значения соответствующего разряда слова состояния. Такое обращение следует предусмотреть в программе с некоторой периодичностью, независимо от фактического наступления контролируемого события (например, нажатие клавиши).
Во втором случае при возникновении контролируемого события ВУ формирует процессору запрос на прерывание программы, по которому процессор и осуществляет связь с ВУ.
Если в системе создаются несколько ВУ, то их базовые адреса следует выбирать с учетом величины адресного пространства, занимаемого этими устройствами, исключая наложение адресов.
Вариант задания:
№ варианта | Задание | Используемые ВУ | Пояснения |
7 | Селективный ввод символов с клавиатуры | Клавиатура, дисплей | Все русские буквы, встречающиеся в строке ввода – в верхнюю часть экрана дисплея (строки 1-4), все цифры – в нижнюю часть экрана (строки 5-8), остальные символы не выводить |
Текст программы с программным анализом флагов и готовности ВУ:
out 1 ;для клавиатуры
out 11 ;и дисплея
out 1 ;для клавиатуры
out 11 ;и для дисплея
OUT 1 ;для клавиатуры без прерываний (по опросу)
out 11 ;для монитора без автоувеличения адреса
out 1 ;для клавиатуры
LOOP:IN 2 ;Читаем регистр состояния клавиатуры
SUB R3 ;Отнимем сохранное
JZ LOOP ;Если четное, то нет кода в буфере, идем на цикл
IN 0 ;Считываем код с клавиатуры
js RESET ;Игнорируем, на сброс клавиатуры
jns CMPRUS ;Проверим на русские буквы
RD R1 ;Цифру выводим в нижней части экрана, в R1 адрес, куда писать
out 13 ;в регистр адреса
out 10 ;На дисплей!
jmp RESET ;На сброс клавиатуры
CMPRUS:RD R2 ;код, проверим на > 128 - там русские буквы
RD R0 ;Русские буковки выводим в верхней части экрана, в R0 адрес, куда писать
out 13 ;в регистр адреса
out 10 ;На дисплей!
out 1 ;В клавиатуру
out 1 ;В клавиатуру
jmp LOOP ;На чтение состояния клавиатуры
Текст программы с обработчиком прерываний:
WR 100 ;запишем по адресу обработчика IRQ0
out 1 ;для клавиатуры
out 11 ;и дисплея
out 1 ;для клавиатуры
out 11 ;и для дисплея
OUT 1 ;для клавиатуры
out 11 ;для монитора без автоувеличения адреса
out 1 ;для клавиатуры
EI ;Разрешаем прерывания от устройств (клавиатуры)
LOOP: ;Пустой цикл
NOP ;Вся работа в прерывании
INT0:IN 0 ;Считываем код с клавиатуры
js RESET ;Игнорируем, на сброс клавиатуры
jns CMPRUS ;Проверим на русские буквы
RD R1 ;Цифру выводим в нижней части экрана, в R1 адрес, куда писать
out 13 ;В регистр адреса
out 10 ;На дисплей!
jmp RESET ;На сброс клавиатуры
CMPRUS:RD R2 ;Код, проверим на > 128 - там русские буквы
RD R0 ;Русские буковки выводим в верхней части экрана, в R0 адрес, куда писать
out 13 ;в регистр адреса
out 10 ;На дисплей!
out 1 ;В клавиатуру
out 1 ;В клавиатуру
IRET ;Возврат из прерывания
Принципы работы кэш-памяти
Цель работы – ознакомиться с организацией и принципом работы кэш-памяти, а также алгоритмами замещения при различных режимах записи.
Теоретические положения:
Между медленнодействующей динамической основной памятью (ОП) и процессором размещается небольшая, но быстродействующая буферная память. В процессе работы системы в буферную память копируются те участки ОП, к которым производится обращение со стороны процессора. В общепринятой терминологии – производится отображение участков ОП на буферную память. Если отобразить участок ОП в более быстродействующую буферную память и переадресовать на нее все обращения в пределах скопированного участка, можно добиться существенного повышения производительности ЭВМ. Такая буферная память называется кэш-памятью. Кэш-память скрыта от программиста в том смысле, что он не может ее адресовать.
Лабораторная работа №1 на тему Архитектура ЭВМ и система команд
Цель: знакомство с интерфейсом модели ЭВМ, методами ввода и отладки программы, действиями основных классов команд и способов адресации.
Теоретические сведения
Для решения с помощью ЭВМ некоторой задачи должна быть разработана программа. Программа на языке ЭВМ представляет собой последовательность команд. Код каждой команды определяет выполняемую операцию, тип адресации и адрес. Выполнение программы, записанной в памяти ЭВМ, осуществляется последовательно по командам в порядке возрастания адресов команд или в порядке, определяемом командами передачи управления.
Для того чтобы получить результат выполнения программы, пользователь должен:
ввести программу в память ЭВМ;
определить, если это необходимо, содержимое ячеек ОЗУ и РОН, содержащих исходные данные, а также регистров IR и BR;
установить в PC стартовый адрес программы;
перевести модель в режим Работа.
Каждое из этих действий выполняется посредством интерфейса модели, описанного в главе 8. Ввод программы может осуществляться как в машинных кодах непосредственно в память модели, так и в мнемокодах в окно Текст программы с последующим ассемблированием.
При выполнении лабораторной работы необходимо ввести в память ЭВМ и выполнить в режиме Шаг некоторую последовательность команд (определенную вариантом задания) и зафиксировать все изменения на уровне программно-доступных объектов ЭВМ, происходящие при выполнении этих команд.
Команды в память учебной ЭВМ вводятся в виде шестиразрядных десятичных чисел (смотри форматы команд на рисунке 8.3, коды команд и способы адресации в таблице 8.4-8.5).
В настоящей лабораторной работе необходимо выполнить программирование ЭВМ в машинных кодах.
Пример 1
Дана последовательность мнемокодов, которую необходимо преобразовать в машинные коды, занести в ОЗУ ЭВМ, выполнить в режиме Шаг и зафиксировать изменение состояний программно-доступных объектов ЭВМ (таблица 1.1).
Читайте также: