Курсач и прога по АрхВС 9 вариант / CPU_Model / Pavlov_9306_otchet_po_programmnoy_modeli
.docФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ.
Государственное образовательное учреждение высшего профессионального образования.
«Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» имени В.И. Ульянова (Ленина)»
(СПБГЭТУ)
Кафедра ВТ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОМУ ПРОЕКТУ
по дисциплине «АРХИТЕКТУРА ЭВМ»
«Разработка программной модели
RISC процессора для встроенных применений»
Выполнил :
студент группы 9306
Павлов М.В.
Проверил:
зав. кафедрой ВТ профессор Пузанков Д.В.
Санкт-Петербург
2012 г.
Разработка программной модели
-
Общие требования к модели
Созданное приложение должно обеспечивать реализацию следующих функций:
-
покомандное выполнение программ, написанных на языке ассемблера и введенных в программу через текстовое поле;
-
отображение состояний всех программно доступных регистров и ячеек памяти;
-
на созданное приложение должна быть разработана документация.
-
Язык и среда разработки
Приложение реализовано на языке Java с использованием библиотек графического инфтерфейса SWT, Jface и средства построения графического интерфейса WindowBuilder в среде разработки Eclipse 4.2.
-
Документация
-
Техническое задание
-
Введение
-
Программная модель процессора предназначена для наглядного представления функционирования RISC процессора.
-
Основание для разработки
Основанием для разработки программной модели является курсовой проект по дисциплине «Архитектура вычислительных систем».
-
Назначение разработки
Программная модель процессора показывает работу процессора: выполнение арифметических и логических команд, команд управления, переходов и работы с памятью.
-
Условия эксплуатации
Выполнение программной модели процессора должно быть обеспечено для однопользовательского режима работы.
-
Требование к составу и параметрам технических средств
Задача должна решаться на ПЭВМ типа IBM РС или совместимой с ней с процессором PentiumIII 500 и выше, ОЗУ не менее 128Мб, HDD не менее 4 Гб, монитор SVGA (цветной) 15", видеокарта 64 Мб, клавиатура 102 кл., манипулятор типа "мышь".
-
Проектирование программной модели
-
Описание вариантов использования программы
-
Диаграмма прецедентов представлена ниже.
Рис. 1. Диаграмма прецедентов
-
Построение диаграммы программных классов
Программа состоит из 2 объектов – CPUModelAppWindow, отвечающего за графический интерфейс, и включенную в него CPUModel, моделирующую ЦП. CPUModel: при разборе введенной программы вызывается метод CPUModel.parseProgram(). При выполнении однократно или многократно вызываются методы run_one_takt(), выполняющий одну команду в модели, и updateGUI(), обновляющий графический интерфейс.
Диаграмма классов представлена ниже.
Рис.2 – Диаграмма классов
-
Создание прототипа интерфейса пользователя
В таблице ниже представлено описание экранных форм.
Таблица 1
Экранная форма |
Элементы управления |
Действия пользователя |
Отклик системы |
Основная экранная форма |
Кнопка: «В память» |
Нажатие кнопки«В память» |
Загрузка команд из текстового поля выше в память команд |
Кнопка: «Старт» |
Нажатие кнопки«Старт» |
Выполнение команд до команды HALT. |
|
Кнопка: «Такт» |
Нажатие кнопки«Такт» |
Выполнение одной команды. |
|
Кнопка: «Потактный режим» |
Нажатие кнопки «Потактный режим» |
Переключение режима с обычного (кнопка «Старт» включена) на потактный (кнопка «Такт» включена). |
|
Кнопка: «Адрес старта» |
Нажатие кнопки«Адрес старта» |
Установка адреса в памяти команд откуда начинается выполнение программы (стартовый адрес ПС) из текстового поля справа. |
|
Кнопка: «Сброс» |
Нажатие кнопки«Сброс» |
Сброс ПС в стартовый адрес. |
|
Кнопка: «Перезагрузка» |
Нажатие кнопки«Перезагрузка» |
Создание модели заново – очистка ПС, регистров и памяти. |
|
Таблица : «Память данных» |
Нажатие на ячейку в столбце «Значение» |
Появление текстового поля, где можно ввести число. При нажатии в другой области таблицы поле исчезнет и число запишется в соответствующую ячейку памяти данных. |
Рис.3. Основная экранная форма
-
Руководство оператора
-
Общие сведения
-
Данное приложение обеспечивает:
- полное и покомандное выполнение программ, представленных в виде списка команд и введенных в программу;
- отображение состояний всех программно доступных регистров и ячеек памяти.
Приложение работает ОС Windows с установленной 32-разрядной виртуальной машиной Java, может быть перекомпилировано под другие ОС и разрядность.
-
Функциональное назначение
Данное приложение предназначено для наглядной демонстрации функционирования RISC-процессора; позволяет полностью или покомандно выполнять программы, и отображает регистры, память и сведения о команде.
-
Используемые технические средства
Для создания данной программы использовалась среда разработки Eclipse 4.2 с плагином WindowBuilder.
-
Входные данные
Входными данными для приложения являются исходные тексты программ, представленных в виде списка команд, например вот код для вычисления факториала (0x1 = 0x0!) :
rdmw R2 0x2 //в 0х2 –1 .
rdmw R3 0x3 //в 0х3 0
rdmw R0 0x0 //х - аргумент
mov R1 R0 //промежуточный результат
add R0 R0 R2 //х = x - 1
jz 0x8 //если x == 0 конец
mul R1 R1 R0 // x*(x-1)*(x-2)*...*1
jmp 0x4
wrmw R1 0x1 //запись ответа
halt
-
Выходные данные
Входными данными для приложения является результат выполнения введенной программы.
-
Условия выполнения программы
Приложение функционирует корректно при условии корректности исходных кодов программ.
Персональная электронно-вычислительная машина (ПЭВМ) должна обладать следующими характеристиками:
1. тип процессора PentiumIII 500 и выше;
2. объем ОЗУ – не менее 128Мб;
3. объем жесткого диска – не менее 4Гб;
4. видеокарта – 32Мб;
5. стандартная клавиатура;
6. манипулятор типа "мышь".
-
Настройка программы
Приложение требует наличия установленной виртуальной машины Java (версии не ниже 1.6).
-
Вызов и загрузка
Приложение вызывается двойным нажатием по иконке файла CPUModel.jar, либо выполнением в командной строке java –jar <путь к файлу программы>CPUModel.jar.
Код программы заносится в текстовое поле ниже надписи «Текст программы» и нажатием кнопки «В память». При успешном занесении строки таблицы «Память команд» с номерами с первого по кол-во строк в программе должны принять ненулевые значения.
-
Выполнение основных функций
После занесения команд в память команд для полного выполнения нужно нажать «Старт» - тогда выполнение будет идти до команды HALT. Для покомандного выполнения нужно нажать «Такт» - выполнится одна команда. Переключать доступность этих двух режимов можно кнопкой «Потактный режим».
-
Выход из программы
Для осуществления выхода из программы достаточно закрыть ее окно или нажать кнопку «Выход».
-
Проверка программы
Основной метод проверки работоспособности программы заключается в установлении соответствия между данными, отображаемыми в полях и таблицах программы, и изменением данных, производимых в рамках программы.
-
Сообщения оператору
При ошибке на этапе разбора или выполнения в текстовом поле «Сообщения» появится сообщение об ошибке, выполнение или разбор будут продолжены со следующей команды. В таблице 2 приводятся все исключительные ситуации, которые могут возникнуть при работе с ПК.
Таблица 2 «Описание исключительных ситуаций»
Ситуация |
Описание |
Неизвестная команда в строке |
Во введенном коде программы неизвестная команда |
Неизвестная запись операнда в строке |
Номер регистра или адрес памяти не преобразовать к числу |
Ошибка при разборе текста программы - строка не содержит номер регистра в ожидаемом месте |
Строка не содержит номер регистра в ожидаемом месте |
Ошибка при разборе текста программы - неизвестная или неполная команда |
неизвестная или неполная команда |
Неизвестная ошибка при разборе текста программы |
Неизвестная ошибка при разборе |
Неизвестный код операции |
Неизвестный код операции |
неверный способ адресации |
неверный признак адресации операнда |
Заключение
В результате проделанной работы разработана программная модель RISC-процессора для вcтроенных применений (микроконтроллера), получены новые знания и навыки.