Разработка среды для имитационного моделирования операционного устройства
Разработка интерактивной среды для моделирования поведения конкретного операционного устройства, определяемого исходной микропрограммой выполнения арифметической операции. Разметка состояний автомата. Кодирование логических условий и микроопераций.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 08.08.2013 |
Размер файла | 224,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Разработка среды для имитационного моделирования операционного устройства
1. Тема проекта и исходные данные
1.1 Тема проекта
Тема КР: «Разработка среды для имитационного моделирования операционного устройства».
В курсовой работе необходимо разработать интерактивную среду для моделирования поведения конкретного операционного устройства (ОУ), определяемого исходной микропрограммой выполнения арифметической операции, заданной в виде ГСА.
1.2 Исходные данные
Исходными данными являются:
Микропрограмма выполнения арифметической операции, заданная в виде ГСА.
Требования к адекватности модели объекту;
Требования к обязательным возможностям интерфейсных средств среды моделирования;
Требования к оформлению пояснительной записки и особенностям программной реализации.
1.3 Задание
Разработать интерактивную среду для моделирования поведения операционного устройства:
на уровне микропрограммы;
на уровне взаимодействия УА и ОА.
Модель УА строится на основании результатов проектирования УА как автомата Мили на жесткой логике.
Модель УА формирует вектор Y управляющих сигналов, детализирующий команды для ОА до уровня микроопераций. Модель ОА в результате анализа состояния вектора Y вызывает процедуры выполнения указанных вектором микроопераций и затем вычисляет вектор X значений выходных сигналов, поступающих на вход УА.
Модель УА должна выделять такие его компоненты, как:
память состояний (ПС) УА на D триггерах;
дешифратор кодов (ДК) состояний УА;
комбинационные схемы (КС), формирующие вектор выходных сигналов Y, и вектор D сигналов управления состояниями разрядов ПС УА;
память на D триггерах для запоминания некоторых компонент вектора логических условий.
Модель КС строится на функциональном уровне, т.е. как последовательность булевых выражений, вычисляющих компоненты векторов Y и D.
Интерфейсные средства разработанной среды моделирования должны позволять:
наблюдать на экране размеченную ГСА;
задавать начальные значения переменных, участвующих в операции;
просматривать процесс выполнения микропрограммы по шагам (по микрокомандам);
выполнять микропрограмму автоматически;
отображать изменение переменных, участвующих в микропрограмме, с привязкой к микрокомандам;
при моделировании на уровне взаимодействия УА и ОА отображать состояния векторов X, Y и D, а также код состояния УА и указанное на ГСА его символическое обозначение.
1.4 Исходная ГСА
Микропрограмма выполнения арифметической операции представлена на рисунке 1.4.1.
Рисунок 1.4.1 - Исходная ГСА
2. Авторская оценка соответствия качества проекта объявленным требованиям
Разработанное приложение реализует алгоритм поразрядного умножения старшими разрядами вперед со сдвигом множимого вправо.
Данное приложение полностью соответствует выдвигаемым требованиям:
наблюдение на экране размеченной ГСА.
возможность задавать начальные значения переменных, участвующих в операции.
возможность работы в потактовом и автоматическом режиме.
отображение изменения переменных, участвующих в операции.
присутствует возможность отображения состояния векторов X, Y и D, а также код состояния УА и указанное на ГСА его символическое обозначение.
При разработке приложения максимально использованы принципы объектно-ориентированного программирования, разработаны классы, моделирующие работу различных частей автоматов, организовано взаимодействие между этими классами, что привело к быстрой разработке приложения и наглядному, удобочитаемому коду с возможностью его дальнейшего использования в других программах. Приложение работает корректно. Во время тестирования не обнаружилось ошибок ведущих к аварийному выходу из программы.
3. Математическая постановка задачи
3.1 Разметка состояний автомата
Выполним разметку состояний автомата. Результат показан на рисунке 3.1.1.
Рисунок 3.1.1. Разметка состояний автомата
3.2 Постановка задачи
Смоделировать умножения двух целых чисел. В регистрах А и В под знак отводится 15-ый разряд, а значащую часть разряды 14:0. Результат умножения это 31 разрядное целое, где знак находится в 30-ом разряде.
3.3 Кодирование логических условий
Закодированные логические условия представлены в таблице 1.
Таблица 1
Логическое условие |
Код |
|
RUN |
X1 |
|
A (14:0) = 0 |
X2 |
|
B (14:0) = 0 |
X3 |
|
B (1:0) = 00 |
X4 |
|
B (1:0) = 01 |
X5 |
|
B (1:0) = 10 |
X6 |
|
Сr = 1 |
X7 |
|
Cr = 0 |
X8 |
|
C(14) = 1 |
X9 |
|
A(15) (+) B(15) |
X10 |
3.4 Кодирование микроопераций
Закодированные микрооперации представлены в таблице 2.
Таблица 2
Микрооперация |
Обозначение |
|
C:= 0 |
Y1 |
|
Cr:= 0 |
Y2 |
|
C (30:15):= C (30:15) + A (14:0) |
Y3 |
|
C:= R1 (0.C) |
Y4 |
|
C:= R2 (00.C) |
Y5 |
|
B (14:0):= R2 (00.B (14:0)) |
Y6 |
|
Cr:= Cr - 1 |
Y7 |
|
C (30:15):= C (30:15) + 1 |
Y8 |
|
C(30):= 1 |
Y9 |
3.5 Обратная таблица переходов
На основании разметки автомата составим обратную таблицу переходов.
Полученные данные представлены в таблице 3.
Таблица 3
N |
am |
as |
K(as) |
Xamas |
Yamas |
Tamas |
|
1 |
a1 |
a1 |
0000 |
x?1 |
- |
t1 = a1 x?1 |
|
2 |
a1 |
x1 x2 |
Y1 |
t2 = a1 x1 x2 |
|||
3 |
a1 |
x1 x?2 x3 |
Y1 |
t3 = a1 x1 x?2 x3 |
|||
4 |
a9 |
x?10 |
- |
t4 = a9 x?10 |
|||
5 |
a9 |
x10 |
Y9 |
t5 = a9 x10 |
|||
6 |
a1 |
a2 |
0001 |
x1 x?2 x?3 |
Y1, Y2 |
t6 = a1 x1 x?2 x?3 |
|
7 |
a8 |
x?8 |
Y6 |
t7 = a8 x?8 |
|||
8 |
a2 |
a3 |
0010 |
x4 |
- |
t8 = a2 x4 |
|
9 |
a2 |
x?4 x5 |
Y3 |
t9 = a2 x?4 x5 |
|||
10 |
a2 |
a4 |
0100 |
x?4 x?5 x?6 |
Y3 |
t10 = a2 x?4 x?5 x?6 |
|
11 |
a2 |
x?4 x?5 x6 |
- |
t11 = a2 x?4 x?5 x6 |
|||
12 |
a4 |
a5 |
0110 |
1 |
Y4 |
t12 = a4 |
|
13 |
a3 |
a6 |
1000 |
x7 |
- |
t13 = a3 x7 |
|
14 |
a5 |
1 |
Y3 |
t14 = a5 |
|||
15 |
a3 |
a7 |
0011 |
x?7 |
Y5 |
t15 = a3 x?7 |
|
16 |
a6 |
1 |
Y4 |
t16 = a6 |
|||
17 |
a7 |
a8 |
1001 |
1 |
Y7 |
t17 = a7 |
|
18 |
a8 |
a9 |
0101 |
x8 x?9 |
- |
t18 = a8 x8 x?9 |
|
19 |
a8 |
x8 x9 |
Y8 |
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.
3.7 Алгоритм микропрограммы
МП вычисляет произведение C = A * B
В МП производится умножение с обработкой 2х разрядов множителя B за одну итерацию цикла.
В МП предусмотрен ускоренный вариант получения произведения в случае, когда хотя бы один из множителей равен 0.
В МП операнды предполагаются представленными в прямых кодах.
В МП количество повторений цикла всегда на 1 больше количества обрабатываемых разрядов множителя. Поэтому в цикле предусмотрена проверка на достижение счетчиком значения 1 (последняя итерация). В случае достижения последней операции происходит обработка только одного разряда второго множителя.
В МП использован алгоритм умножения со сдвигом кода произведения вправо.
В МП реализовано округление произведения до 15 го разряда.
4. Описание программной реализации
4.1 Требования к операционной системе, составу и характеристикам оборудования
Операционная система семейства Windows;
IBM PC совместимый компьютер класса Pentium III 500 МГц (или выше);
SVGA адаптер;
объем видео памяти не менее 2 Мб;
видео адаптер должен поддерживать режим True Color;
объем оперативной памяти 64 Мб;
рекомендуется использовать разрешение экрана 1024х768 пикселей.
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
Название |
Назначение |
|
TMemoryState |
память состояний (ПС). |
|
TKSD |
схема по выработке D сигналов |
|
TKSY |
схема по выработке Y сигналов |
|
TDecoder |
дешифратор (ДШ) |
|
TModel |
микропрограмма |
|
TOA |
операционный автомат (ОА) |
Основные переменные представлены в таблице 8.
Таблица 8
Название |
Тип |
Назначение |
|
A |
Word |
Регистр первого операнда |
|
B |
Cardinal |
Регистр второго операнда |
|
C |
Cardinal |
Регистр результата |
|
Cnt |
Byte |
Регистр счетчика |
4.5 Описание пользовательского интерфейса
При запуске программы открывается окно главной формы. (Рисунок 4.7.1).
Рисунок 4.7.1 - Главная форма приложения
моделирование операционный микропрограмма автомат
Перед началом работы сначала необходимо установить значения операндов (делимого и делителя), выбрать режим работы (пошаговый или автоматический) и нажать кнопку «Старт». При этом на ГСА будет отмечаться текущее состояние автомата и значения на входах и выходах элементов, что позволит судить о правильности работы автомата. Также при необходимости можно прервать выполняемую программу и вернуться к начальным условиям нажав кнопку «Сброс»
Библиографический список
1. Мартемьянов Б.В. курс лекций по дисциплине Моделирование, 2011 г.
2. Курс лекций по дисциплине «Теория автоматов»
Размещено на Allbest.ru
...Подобные документы
Описание структурной схемы операционного устройства. Построение обратной структурной таблицы автомата. Проектирование функций выходов и управление элементами памяти. Изображение пользовательского интерфейса и инструкции по инсталляции и запуску программы.
курсовая работа [642,6 K], добавлен 19.05.2014Алгоритм реализации арифметической операции и разработка блок-схемы устройства. Составление и минимизация логических выражений работы блоков. Логическая схема регистра, сумматора, сдвига и мультиплексора. Анализ и синхронизация работы устройства.
курсовая работа [1,2 M], добавлен 27.02.2014Разработка устройства, выполняющее следующие операции: загрузку операндов, алгебраическое вычитание чисел с фиксированной точкой в модифицированных дополнительных кодах и выдачу результата. Функциональная микропрограмма работы операционного устройства.
курсовая работа [2,7 M], добавлен 14.02.2012Разработка структурной схемы вычислительного устройства, выбор системы команд и определение форматов. Разработка алгоритма командного цикла, выполнения арифметических и логических операций. Проектирование операционного автомата, устройств управления.
курсовая работа [2,8 M], добавлен 15.05.2014Совокупность управляющего и операционного автоматов. Разработка микропрограммы выполнения операции деления с жесткой логикой и структурно-операционной схемы ОА. Иллюстрация функционирования ОУ на заданных числах. Оценка эффективности кодирования.
курсовая работа [314,4 K], добавлен 12.03.2014Создание библиотеки классов имитационного моделирования и реализация алгоритма имитационного моделирования системы массового обслуживания "Модель комиссионного магазина". Использование для разработки среды программирования C++. Словарь предметной области.
курсовая работа [581,0 K], добавлен 23.01.2013Обзор средств компьютерного имитационного моделирования по созданию веб-приложения для визуализации имитационных моделей. Система имитационного моделирования AnyLogic, Arena, SimuLab. Серверная, клиентская часть. Модель работы отдела банка и участка цеха.
дипломная работа [3,3 M], добавлен 25.05.2015Функциональная организация процессора. Сложение с нормализацией, синтез операций, выборка команды. Описание структурной схемы процессора. Синтез управляющего автомата, разметка граф схемы. Разбиение микроопераций по полям и кодирование логических условий.
курсовая работа [91,8 K], добавлен 24.09.2010Создание систем имитационного моделирования AnyLogic, Arena, SimuLab, Simbigraph и Forio. Серверная и клиентская часть. Разработка модели работы отдела банка, участка цеха, движения автобуса по маршруту и социальной сети. Описание web-приложения.
дипломная работа [3,4 M], добавлен 25.05.2015Разработка функциональной схемы операционного автомата микросхемы специализированного процессора, выполняющего заданную арифметическую операцию. Закодированная граф-схема машинного алгоритма. Таблица входов мультиплексора выбора осведомительного сигнала.
курсовая работа [669,9 K], добавлен 25.07.2013Разработка структурной, функциональной и принципиальной схем блока выполнения арифметической операции над числами, представленными в дополнительном коде в форме с плавающей запятой. Алгоритмы выполнения операции умножения. Анализ временных задержек.
курсовая работа [287,7 K], добавлен 07.06.2013Разработка управляющего автомата, ориентированного на выполнение заданной микрооперации. Разработка алгоритма работы управляющего автомата. Листинг программы. Выбор оптимального варианта кодирования состояний автомата. Синтез функции возбуждения.
курсовая работа [506,9 K], добавлен 26.12.2012Базовая структура процессора. Хранение признаков перехода и состояний. Применение буферного регистра. Алгоритм выполнения команды условного перехода. Увеличение быстродействия процессора. Выполнение микроопераций и вычисление логических условий.
курсовая работа [777,7 K], добавлен 31.01.2016Разработка имитационной модели "Перекресток" для анализа бизнес-процессов предприятия и принятия решения в сложных условиях. Алгоритм построения имитационной модели на основе CASE-средств. Обзор программного обеспечения для имитационного моделирования.
дипломная работа [2,6 M], добавлен 22.11.2015Основные этапы имитационного моделирования станции мойки: определение условий задачи, разработка структурной, укрупненной и детальной схем ее реализации; написание математической и программной моделей ее решения. Представление результатов моделирования.
курсовая работа [137,4 K], добавлен 29.06.2011Разработка управляющего автомата процессора с жесткой логикой в САПР Quartus II. Построение схемы функциональной микропрограммы команды "Исключающее ИЛИ" в размеченном виде. Унитарное кодирование состояний автомата. Запись функций переходов и выходов.
курсовая работа [671,3 K], добавлен 04.11.2014Разработка структурной и принципиальной схемы. Блок-схема основной программы и подпрограмм обработки прерываний. Имена переменных, используемых в них. Результаты моделирования работы устройства в программе ISIS пакета Рroteus. Разработка печатной платы.
курсовая работа [1,5 M], добавлен 13.11.2016Функциональная и структурная организация ЭВМ. Разработка функциональных микропрограмм заданных команд. Их объединение и привязка к структуре операционного автомата процессора. Разработка управляющего автомата процессора с программируемой логикой.
дипломная работа [4,0 M], добавлен 25.03.2012Сущность концептуального и физического моделирования. Описание графической среды AnyLogic как единственного инструмента имитационного моделирования. Основные этапы создания модели, позволяющей наглядно проанализировать влияние рекламы на покупателей.
курсовая работа [690,2 K], добавлен 30.05.2014Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic. Средства описания поведения объектов. Анимация поведения модели, пользовательский интерфейс. Модель системы обработки информации в среде компьютерного моделирования.
курсовая работа [1,5 M], добавлен 15.05.2014