Разработка программно-вычислительного комплекса, предназначенного для разработки эффективных форматов микрокоманд для различных способов микропрограммирования

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

 

Критерий Объем занимаемой памяти внес следующий вклад в процентном отношении:

 

 

Критерий Сложность реализации ФСМО внес следующий вклад в процентном отношении:

 

 

Исходя из этих данных, можно сделать вывод, что критерий Сложность реализации программы внес наибольший вклад в конечный результат данной альтернативы по причине того, что имел наивысший приоритет. Остальные критерии не оказали сильного влияния на результат. Наибольшее предпочтение в выборе критерия Длина операционной части МК следует отдать альтернативе Б, а при выборе критериев Сложность реализации ФСМО и Быстродействие - альтернативе А.

5. КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ПРОЕКТА

 

Под объектом проектирования необходимо рассматривать программно-вычислительный комплекс для разработки и исследования форматов микрокоманд для различных способов микропрограммирования.

 

Рисунок 5.1 - Концептуальная модель проекта

 

На данной диаграмме можно выделить следующие элементы, выступавшие в роли объектов:

пользователь с атрибутом набор команд, операции - ввести набор команд, изменить набор команд;

кодирование набора микрокоманд, атрибут - способ кодирования, операция - провести кодирование;

анализ результатов кодирования с атрибутами: время реализации, сложность кодирования, ширина форматов микрокоманды, операция - сравнение данных для различных способов кодирования;

ведение статистики, атрибут - сложность кодирования, ширина форматов микрокоманд, операция - получить статистические данные;

сообщение об ошибке с атрибутом тип ошибки, операции - определить ошибку;

программа с атрибутом интерфейс.

6. ОПИСАНИЕ ПРОГРАММЫ

 

Разработанный программно-вычислительный комплекс ориентирован на разработку эффективных форматов микрокоманд для различных способов микропрограммирования.

 

6.1 Общие сведения

 

Разработка комплекса велась на языке C# (C Sharp). Файл программы называется Kodirovochki.exe.

Программная часть комплекса должна соответствовать следующим требованиям:

-наличие операционной системы не младше Windows XP;

-наличие установленной программы Microsoft Office Excel;

-наличие установленной библиотеки .NET Framework 4.0;

-100 МБ свободной памяти на жестком диске компьютера для размещения требуемых файлов проекта и небольшого пространства подкачки для оперативной памяти.

 

6.2 Структура программно-вычислительного комплекса

 

В проектируемой системе существуют следующие классы:

-класс Form1;

-класс Graf;

-класс Program;

-класс PermutationsWithRepetition;

-класс Statistic.

Рассмотрим подробней каждый из классов.

6.2.1 Класс Form1

Данный класс предназначен для объединения всех подклассов в единую программную систему, а также формирование дружественного пользователю интерфейса. Его функциями являются:

-формирование интерфейса для ввода входных данных (кнопка Открыть Файл - метод button1_Click( ) ). Результатом работы является вывод на экран исходных данных;

-выбор метода и инициирования кодирования, а так же вывод данных (кнопка Горизонтальное - метод button2_Click( ), кнопка Вертикальное - метод button3_Click( ), кнопка Горизонтально-Вертикальное - метод button4_Click( ), кнопка Вертикально-Горизонтальное - метод button5_Click( ), кнопка Графики - метод button6_Click( ) ). Результатом работы является вывод на экран таблиц кодирования микрокоманд, булевых функций для ФСМО, а так же вывод оптимизированных булевых функций для ФСМО.

 

6.2.2 Класс Graf

Основное назначение класса - поиск максимальных подграфов в неориентированном графе методом ветвей и границ. Класс содержит следующие методы:

-List FindAllCliques( int[,] gmatrix ) - метод, предназначенный для поиска подграфов. На вход подается граф связности, представленный двумерным массивом, на выходе формируется список списков, содержащий номера вершин, составляющих максимальные подграфы;

-SubtractSet(List set, int vert) - метод, предназначенный для вычитания очередной вершины из множества кандидатов на расширение подграфа;

-SubtractSet(List set2) - метод, в котором реализовано вычитание одного множества из другого;

-List G(int vert) - метод, определяющий список вершин, не смежных с указанной в параметре.

Класс содержит поле public static int[,] gmatrix, содержащее в себе текущий обрабатываемый граф.

алгоритм управляющий автомат операционный

6.2.3 Класс Program

Класс предназначен непосредственно для кодирования набора микрокоманд одним из четырех способов микропрограммирования - горизонтальным, вертикальным, горизонтально-вертикальным или вертикально-горизонтальным. Содержит следующие поля:

-public static List MasMK - двумерный динамический массив, предназначенный для хранения исходной микропрограммы;

-public static List MasMO - двумерный динамический массив, предназначенный для хранения информации о том, в каких микрокомандах встречается каждая микрооперация;

-public static List listOfMicOp - список номеров микрооперций, встречающихся в микрпрограмме;

-public static int dlinKod - поле типа int, которое хранит длину формата команды при любом виде кодирования;

-public static bool errorMOcopy - булевый флаг, свидетельствующий о наличии ошибки В микрокоманде встречаются одинаковые микрооперации, изначально имеет значение false.

Методы, реализованные в классе Program:

-static void Main() - главный метод, который запускает программу;

-public static string ReadFile(String path) - сч