close

Вход

Забыли?

вход по аккаунту

?

пояснительная записка

код для вставкиСкачать
Федеральное агентство по образованию Российской Федерации
Государственное образовательное учреждение высшего профессионального
образования
«Самарский государственный технический университет»
Кафедра «Вычислительная техника»
Курсовой проект
по курсу «Моделирование»
на тему:
«Разработка среды для имитационного моделирования
операционного устройства»
Выполнил:
студент 4-АИТ-3
Проверил:
Оценка ______________
Самара 2011
Содержание
1 ТЕМА ПРОЕКТА И ИСХОДНЫЕ ДАННЫЕ ....................................................................................................... 2
1.1 ТЕМА ПРОЕКТА ..................................................................................................................................................... 2
1.2 ИСХОДНЫЕ ДАННЫЕ .......................................................................................................................................... 2
1.3 ЗАДАНИЕ................................................................................................................................................................... 3
2 АВТОРСКАЯ ОЦЕНКА СООТВЕТСТВИЯ КАЧЕСТВА ПРОЕКТА ОБЪЯВЛЕННЫМ
ТРЕБОВАНИЯМ ............................................................................................................................................................ 6
3 МАТЕМАТИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ ................................................................................................ 6
3.1 РАЗМЕТКА СОСТОЯНИЙ АВТОМАТА ............................................................................................................ 6
3.3 КОДИРОВАНИЕ ЛОГИЧЕСКИХ УСЛОВИЙ ................................................................................................... 8
3.5 ОБРАТНАЯ ТАБЛИЦА ПЕРЕХОДОВ ............................................................................................................... 8
3.6 ОПРЕДЕЛЕНИЕ ФУНКЦИЙ ВЫХОДОВ И ПЕРЕХОДОВ ........................................................................... 9
3.7 АЛГОРИТМ МИКРОПРОГРАММЫ ................................................................................................................. 10
4.1 ТРЕБОВАНИЯ К ОПЕРАЦИОННОЙ СИСТЕМЕ, СОСТАВУ И ХАРАКТЕРИСТИКАМ
ОБОРУДОВАНИЯ ....................................................................................................................................................... 11
4.2 ИСПОЛЬЗУЕМАЯ СРЕДА И ЯЗЫК ПРОГРАММИРОВАНИЯ .................................................................. 12
4.3 ОПИСАНИЕ КОМПЛЕКТА ФАЙЛОВ ............................................................................................................. 12
4.4 ОПИСАНИЕ ОСНОВНЫХ СТРУКТУР ДАННЫХ И ПЕРЕМЕННЫХ ..................................................... 12
4.5 ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА .............................................................................. 13
1 Тема проекта и исходные данные
1.1 Тема проекта
Тема
КР:
«Разработка
среды
для
имитационного
моделирования
операционного устройства».
В курсовой работе необходимо разработать интерактивную среду для
моделирования поведения конкретного операционного устройства (ОУ),
определяемого исходной микропрограммой выполнения арифметической
операции, заданной в виде ГСА.
1.2 Исходные данные
Исходными данными являются:
1. Микропрограмма выполнения арифметической операции, заданная в
виде ГСА.
2. Требования к адекватности модели объекту;
3. Требования к обязательным возможностям интерфейсных средств
среды моделирования;
3
4. Требования к оформлению пояснительной записки и особенностям
программной реализации.
1.3 Задание
Разработать интерактивную среду для моделирования поведения операционного
устройства:
 на уровне микропрограммы;
 на уровне взаимодействия УА и ОА.
Модель УА строится на основании результатов проектирования УА как автомата
Мили на жесткой логике.
Модель УА формирует вектор Y управляющих сигналов, детализирующий
команды для ОА до уровня микроопераций. Модель ОА в результате анализа
состояния вектора Y вызывает процедуры выполнения указанных вектором
микроопераций и затем вычисляет вектор X значений выходных сигналов,
поступающих на вход УА.
Модель УА должна выделять такие его компоненты, как:
 память состояний (ПС) УА на D триггерах;
 дешифратор кодов (ДК) состояний УА;
 комбинационные схемы (КС), формирующие вектор выходных сигналов Y,
и вектор D сигналов управления состояниями разрядов ПС УА;
 память на D триггерах для запоминания некоторых компонент вектора логических
условий.
Модель КС строится на функциональном уровне, т.е. как последовательность
булевых выражений, вычисляющих компоненты векторов Y и D.
Интерфейсные средства разработанной среды моделирования должны позволять:
 наблюдать на экране размеченную ГСА;
 задавать начальные значения переменных, участвующих в операции;
 просматривать процесс выполнения микропрограммы по шагам (по
микрокомандам);
 выполнять микропрограмму автоматически;
 отображать изменение переменных, участвующих в микропрограмме,
4
с привязкой к микрокомандам;
 при моделировании на уровне взаимодействия УА и ОА отображать
состояния векторов X, Y и D, а также код состояния УА и указанное
на ГСА его символическое обозначение.
1.4 Исходная ГСА
Микропрограмма выполнения арифметической операции представлена на
рисунке 1.4.1.
5
Рисунок 1.4.1 – Исходная ГСА
6
2 Авторская оценка соответствия качества проекта объявленным
требованиям
Разработанное приложение реализует алгоритм поразрядного умножения
старшими разрядами вперед со сдвигом множимого вправо.
Данное приложение полностью соответствует выдвигаемым требованиям:
наблюдение на экране размеченной ГСА.
 возможность задавать начальные значения переменных, участвующих
в операции.
 возможность работы в потактовом и автоматическом режиме.
 отображение изменения переменных, участвующих в операции.
 присутствует возможность отображения состояния векторов X, Y и D,
а также код состояния УА и указанное на ГСА его символическое
обозначение.
При разработке приложения максимально использованы принципы объектноориентированного программирования, разработаны классы, моделирующие
работу различных частей автоматов, организовано взаимодействие между
этими классами, что привело к быстрой разработке приложения и наглядному,
удобочитаемому коду с возможностью его дальнейшего использования в других
программах. Приложение работает корректно. Во время тестирования не
обнаружилось ошибок ведущих к аварийному выходу из программы.3
Математическая постановка задачи
3.1 Разметка состояний автомата
Выполним разметку состояний автомата. Результат показан на рисунке
3.1.1.
7
Рисунок 3.1.1 Разметка состояний автомата
3.2 Постановка задачи
Смоделировать умножения двух целых чисел. В регистрах А и В под знак
отводится 15-ый разряд, а значащую часть разряды 14:0. Результат умножения
это 31 разрядное целое, где знак находится в 30-ом разряде.
8
3.3 Кодирование логических условий
Закодированные логические условия представлены в таблице 1.
Таблица 1
Логическое условие
RUN
A(14:0) = 0
B(14:0) = 0
B(1:0) = 00
B(1:0) = 01
B(1:0) = 10
Сr = 1
Cr = 0
C(14) = 1
A(15) (+) B(15)
Код
X1
X2
X3
X4
X5
X6
X7
X8
X9
X10
3.4 Кодирование микроопераций
Закодированные микрооперации представлены в таблице 2.
Таблица 2
Микрооперация
Обозначение
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
Y9
C := 0
Cr := 0
C (30:15):= C(30:15) + A(14:0)
C := R1(0.C)
C := R2(00.C)
B(14:0) := R2(00.B(14:0))
Cr := Cr – 1
C (30:15):= C(30:15) + 1
C(30) := 1
3.5 Обратная таблица переходов
На основании разметки автомата составим обратную таблицу переходов.
Полученные данные представлены в таблице 3.
Таблица 3
N
1
2
3
4
5
6
am
a1
a1
a1
a9
a9
a1
as
K(as)
a1
0000
a2
0001
Xamas
x̅1
x1 x2
x1 x̅2 x3
x̅10
x10
x1 x̅2 x̅3
Yamas
-
Y1
Y1
Y9
Y1,Y2
Tamas
t1 = a1 x̅1
t2 = a1 x1 x2
t3 = a1 x1 x̅2 x3
t4 = a9 x̅10
t5 = a9 x10
t6 = a1 x1 x̅2 x̅3
9
7
8
9
10
11
12
13
14
15
16
17
18
19
a8
a2
a2
a2
a2
a4
a3
a5
a3
a6
a7
a8
a8
a3
0010
a4
0100
a5
0110
a6
1000
a7
0011
a8
1001
a9
0101
x̅8
x4
x̅4 x5
x̅4 x̅5 x̅6
x̅4 x̅5 x6
1
x7
1
x̅7
1
1
x8 x̅9
x8 x9
Y6
Y3
Y3
Y4
Y3
Y5
Y4
Y7
Y8
t7 = a8 x̅8
t8 = a2 x4
t9 = a2 x̅4 x5
t10 = a2 x̅4 x̅5 x̅6
t11 = a2 x̅4 x̅5 x6
t12 = a4
t13 = a3 x7
t14 = a5
t15 = a3 x̅7
t16 = a6
t17 = a7
t18 = a8 x8 x̅9
t19 = a8 x8 x9
3.6 Определение функций выходов и переходов
Составим функции выходов и переходов, используя обратную таблицу
переходов.
Функции переходов задают код нового состояния управляющего
автомата.
D0 = t6˅ t7˅ t15˅ t16˅ t17˅ t18˅ t19 =a1 x1 x̅2 x̅3˅ a8 x̅8˅ a3 x̅7˅ a6˅ a7˅ a8 x8 x̅9˅ a8 x8 x9 =
=a1 x1 x̅2 x̅3˅ a8 ˅ a3 x̅7˅ a6˅ a7,
D1 = t8˅ t9˅ t12˅ t15˅ t16 = a2 x4˅ a2 x̅4 x5˅ a4˅ a3 x̅7˅ a6 = a2 x4˅ a2 x̅4 x5˅ a4˅ a3 x̅7˅
˅ a6 ,
D2 = t10˅ t11˅ t12˅ t18˅ t19 = a2 x̅4 x̅5 x̅6˅ a2 x̅4 x̅5 x6˅ a4˅ a8 x8 x̅9˅ a8 x8 x9 =
= a2 x̅4 x̅5 ˅ a4˅ a8 x8,
D3 = t13˅ t14˅ t17 = a3 x7˅ a5˅ a7,
Функции выходов задают вектор Y на выходе управляющего автомата.
y1 = t2˅ t3˅ t6 = a1 x1 x2˅ a1 x1 x̅2 x3˅ a1 x1 x̅2 x̅3 = a1 x1,
y2 = t6= a1 x1 x̅2 x̅3,
y3 = t9˅ t10˅ t14 = a2 x̅4 x5˅ a2 x̅4 x̅5 x̅6˅ a5,
y4 = t12˅ t16 = a4 ˅ a6,
y5 = t15= a3 x̅7,
y6 = t7= a8 x̅8,
y7 = t17= a7,
y8 = t19 = a8 x8 x9,
y9 = t5 = a9 x10.
10
3.7 Алгоритм микропрограммы
МП вычисляет произведение C = A * B
В МП производится умножение с обработкой 2х разрядов множителя B
за одну итерацию цикла.
В МП предусмотрен ускоренный вариант получения произведения в
случае, когда хотя бы один из множителей равен 0.
В МП операнды предполагаются представленными в прямых кодах.
В МП количество повторений цикла всегда на 1 больше количества
обрабатываемых разрядов множителя. Поэтому в цикле предусмотрена
проверка на достижение счетчиком значения 1 (последняя итерация). В случае
11
достижения последней операции происходит обработка только одного
разряда второго множителя.
В МП использован алгоритм умножения со сдвигом кода произведения
вправо.
В МП реализовано округление произведения до 15го разряда.
4 Описание программной реализации
4.1 Требования к операционной системе, составу и характеристикам
оборудования
 Операционная система семейства Windows;
 IBM PC совместимый компьютер класса Pentium III 500 МГц (или выше);
 SVGA адаптер;
 объем видео памяти не менее 2 Мб;
 видео адаптер должен поддерживать режим True Color;
 объем оперативной памяти 64 Мб;
 рекомендуется использовать разрешение экрана 1024х768 пикселей.
12
4.2 Используемая среда и язык программирования
Приложения разработано в среде Delphi XE на языке Delphi.
4.3 Описание комплекта файлов
Основные файлы, распространяемые с приложением описаны в таблице 6.
Таблица 6
Название
Назначение
Project1.exe
Исполняемый файл
УОиОА.jpg
Схема УА и ОА
3.bmp
Рисунок ГСА с размеченными состояниями
Пояснительная записка.doc
Пояснительная записка
Project1.dpr
Файл проекта Delphi 10
UnitMain
Модуль главной формы
Модуль, содержащий классы, процедуры и функции
oa_mode
для реализации моделирования в режиме
взаимодействия УА и ОА
4.4 Описание основных структур данных и переменных
Основные классы и их назначение представлены в таблице 7.
Таблица 7
Название
Назначение
TMemoryState
память состояний (ПС).
TKSD
схема по выработке D сигналов
TKSY
схема по выработке Y сигналов
TDecoder
дешифратор (ДШ)
TModel
микропрограмма
TOA
операционный автомат (ОА)
13
Основные переменные представлены в таблице 8.
Таблица 8
Название
Тип
Назначение
A
Word
Регистр первого операнда
B
Cardinal
Регистр второго операнда
C
Cardinal
Регистр результата
Cnt
Byte
Регистр счетчика
4.5 Описание пользовательского интерфейса
При запуске программы открывается окно главной формы. (Рисунок 4.7.1)
14
Рисунок 4.7.1 – Главная форма приложения
Перед началом работы сначала необходимо
установить значения
операндов (делимого и делителя), выбрать режим работы (пошаговый или
автоматический) и нажать кнопку “Старт”. При этом на ГСА будет отмечаться
текущее состояние автомата и значения на входах и выходах элементов, что
позволит судить о правильности работы автомата. Также при необходимости
можно прервать выполняемую программу и вернуться к начальным условиям
нажав кнопку «Сброс»
5 Библиографический список
15
1. Мартемьянов Б.В. курс лекций по дисциплине Моделирование, 2011
г.
2. Курс лекций по дисциплине «Теория автоматов»
Документ
Категория
Программирование, Базы данных
Просмотров
145
Размер файла
348 Кб
Теги
пояснительная, записка
1/--страниц
Пожаловаться на содержимое документа