Разработка программно-вычислительного комплекса, предназначенного для разработки эффективных форматов микрокоманд для различных способов микропрограммирования
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
>
Критерий Объем занимаемой памяти внес следующий вклад в процентном отношении:
Критерий Сложность реализации ФСМО внес следующий вклад в процентном отношении:
Исходя из этих данных, можно сделать вывод, что критерий Сложность реализации программы внес наибольший вклад в конечный результат данной альтернативы по причине того, что имел наивысший приоритет. Остальные критерии не оказали сильного влияния на результат. Наибольшее предпочтение в выборе критерия Длина операционной части МК следует отдать альтернативе Б, а при выборе критериев Сложность реализации ФСМО и Быстродействие - альтернативе А.
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) - сч