Автор работы: Пользователь скрыл имя, 22 Декабря 2010 в 03:16, курсовая работа
Все работы выполнены на программной модели учебной ЭВМ и взаимодействующих с ней программных моделях ВУ и кэш-памяти. Учебная ЭВМ является упрощенной программной моделью компьютера, позволяющей обучаемым освоить базовые понятия архитектуры: система команд, командный цикл, способы адресации, уровни памяти, способы взаимодействия процессора с внешними устройствами.
Пояснительная записка 3
Введение 4
Задание №1 5
Задание №2 7
Задание №3 9
Задание №4 11
Задание №5 14
Задание №6 18
Задание №7 21
Задание №8 24
Заключение 26
Список литературы 27
Государственное
образовательное учреждение высшего
профессионального образования
Филиал Санкт-Петербургского государственного морского технического университета в городе Северодвинске – СЕВМАШВТУЗ
Факультет
кораблестроения и
Кафедра №11
Курсовая работа
по дисциплине “Архитектура ЭВМ”
Модель учебной ЭВМ
Студент Соболев С.В.
Группа 4208
Преподаватель Чецкий В.И.
Содержание
Пояснительная записка 3
Введение 4
Задание №1 5
Задание №2 7
Задание №3 9
Задание №4 11
Задание №5 14
Задание №6 18
Задание №7 21
Задание №8 24
Заключение 26
Список литературы 27
Цикл работ выполнен в рамках курса „Архитектура ЭВМ“.
Все
работы выполнены на программной
модели учебной ЭВМ и
Цикл включает работы различного уровня. Работы № 1-4 ориентированы на первичное знакомство с архитектурой процессора, системой команд, способами адресации и основными приемами программирования на машинно-ориентированном языке. Работа № 5 иллюстрирует реализацию командного цикла процессора на уровне микроопераций. Работа № 6 посвящена способам организации связи процессора с внешними устройствами, а в работах № 7 и 8 рассматривается организация кэш-памяти и эффективность различных алгоритмов замещения.
Во многих случаях знание операторов языка высокого уровня, структуры данных и способов их обработки является достаточным для создания различных полезных приложений. Однако по-настоящему решать проблемы, связанные с управлением различной, особенно нестандартной, аппаратурой (программирование „по железу“) невозможно без знания ассемблера. Не случайно практически все компиляторы языков высокого уровня содержат средства связи своих модулей с модулями на ассемблере либо поддерживают выход на ассемблерный уровень программирования.
Однако проводить начальное обучение программированию на низком уровне с рассмотрением механизмов взаимодействия устройств на реальном языке, например x86 на персональной ЭВМ, не всегда удобно. В этом случае между пользователем и аппаратурой ЭВМ присутствует операционная система (ОС), которая существенно ограничивает желания пользователя экспериментировать с аппаратными средствами. Для преодоления этих ограничений необходимо обладать глубокими знаниями как ОС, так и аппаратных средств ЭВМ.
Используемая программная модель учебной ЭВМ отражает все основные особенности систем команд и структур современных простых ЭВМ, включает в себя, помимо процессора и памяти, модели нескольких типичных внешних устройств. Модель позволяет изучить основы программирования на низком уровне, вопросы взаимодействия различных уровней памяти в составе ЭВМ и способы взаимодействия процессора с внешними устройствами.
Задание №1
Архитектура ЭВМ и система команд
Цель работы – знакомство с интерфейсом модели ЭВМ, методами ввода и отладки программы, действиями основных классов команд и способов адресации.
Теоретические положения:
Модель содержит процессор, оперативную (ОЗУ) и сверхоперативную память, устройство ввода и устройство вывода.
Процессор
состоит из устройства управления,
арифметико-логического
Регистры Асс, DR, IR, OR, CR и все ячейки ОЗУ и РОН имеют длину 6 десятичных разрядов, регистры PC, SP, RA и RB – 3 разряда. В окне Процессор отражаются текущие значения регистров и флагов, причем в состоянии Останов все регистры, включая регистры блока РОН, и флаги (кроме флага I) доступны для непосредственного редактирования.
Сверхоперативная память с прямой адресацией содержит десять регистров общего назначения R0-R9. Доступ к ним осуществляется через регистры RAR и RDR.
АЛУ выполняет одну из арифметических операций, определяемую кодом операции (СОР), над содержимым аккумулятора (Асс) и регистра операнда (DR). Результат операции всегда помещается в Асс. При завершении выполнения операции арифметическое устройство вырабатывает сигналы признаков результата: Z = 1, если результат равен нулю; S = 1, если результат отрицателен; OV = 1, если при выполнении операции произошло переполнение разрядной сетки. В случаях, когда эти условия не выполняются, соответствующие сигналы имеют нулевое значение.
В модели
ЭВМ предусмотрены внешние
Устройство
управления осуществляет выборку команд
из ОЗУ в последовательности, определяемой
естественным порядком выполнения команд
(т. е. в порядке возрастания адресов
команд в ОЗУ) или командами передачи
управления; выборку из ОЗУ операндов,
задаваемых адресами команды; инициирование
выполнения операции, предписанной командой;
останов или переход к
Вариант задания:
№ | IR | Команда 1 | Команда 2 | Команда 3 | Команда 4 | Команда 5 |
17 | 000381 | 01 0 000 | 25 1 006 | 22 0 003 | 22 3 003 | 14 0 001 |
Команды и коды:
Последовательность | Значения | ||||
Адреса | 000 | 001 | 002 | 003 | 004 |
Коды | 01 0 000 | 25 1 006 | 22 0 003 | 22 3 003 | 14 0 001 |
Команды | IN | MUL #006 | WR 003 | WR [003] | JNS 1 |
Результаты выполнения:
PC | Асс | М(3) | PC | Асc | М(3) |
001 | 000381 | 001 | |||
002 | 002286 | 002 | 002286 | ||
003 | 002286 | 003 | 002286 | ||
004 | 004 | ||||
001 | 001 | ||||
002 | 013716 | 002 | 013716 | ||
003 | 013716 | 003 | 013716 | ||
004 | 000381 | 004 | 00381 |
Задание №2
Программирование разветвляющегося процесса
Целью работы является ознакомление с командами безусловной и условной передачи управления, а также исследование механизма прямой и непосредственной адресации.
Теоретические положения:
Для нарушения естественной последовательности выполнения команд используются команды передачи управления, изменяющие содержимое счетчика команд (регистра PC). Учебная ЭВМ располагает следующими командами передачи управления: безусловный и шесть условных переходов, вызов подпрограммы, возврат из подпрограммы, цикл, программное прерывание, возврат из прерывания. Команды условной передачи управления используются для реализации алгоритмов, пути в которых зависят от исходных данных.
Исходные
данные варианта задания:
Граф-схема алгоритма решения задачи:
Оценив размер программы примерно в 20-25 команд, отведем для области данных ячейки ОЗУ, начиная с адреса 030. Составленная программа с комментариями представлена в виде таблицы.
Текст программы:
Адрес | Команда | Примечание | |
Мнемокод | Код | ||
000 | IN | 010000 | Считываем х |
001 | WR 30 | 220030 | Размещение х в ОЗУ M(030) |
002 | SUB #8 | 241008 | Acc = Acc - 8 |
003 | JS FUN2 | 130013 | if (Acc - 8 < 0) then goto FUN2 |
004 | FUN1:RDI 000001 | 410000 000001 | Acc = 1 |
005 | SUB 30 | 240030 | Acc = 1 - x |
006 | WR 31 | 220031 | Сохраним в ОЗУ М(031) |
007 | RD 30 | 210030 | Acc = 30 = x |
008 | ADI #17 | 431000 000017 | Acc = Acc + 17 = x + 17 |
009 | DIV 31 | 260031 | Acc = (x + 17) / (1 - x) |
010 | JMP FIN | 100020 | На выход |
011 | FUN2:RD 30 | 210030 | Acc = 30 = x |
012 | ADI #10 | 431000 000010 | Acc = Acc + 10 = x + 10 |
013 | WR 31 | 220031 | Сохраним 31 = Acc = x + 10 |
014 | RDI 001000 | 410000 001000 | Acc = 1000 |
015 | DIV 31 | 260031 | Acc = 1000 / (x +10) |
016 | FIN:OUT | 020000 | Вывод результата OR = Acc |
017 | HLT | 090000 | Остановка |