Изучение элементов структуры микропроцессора i80386 и алгоритмов выполнения множества команд. Разработка проекта структуры АЛУ и структуры микро-ЭВМ на базе гипотетического процессора. Описание и создание программы эмуляции по выполнению заданных команд.
При низкой оригинальности работы "Разработка структуры гипотетического микропроцессора и центральной части МЭВМ на его базе. Эмуляция выполнения команд", Вы можете повысить уникальность этой работы до 80-100%
Сейчас, когда современные процессоры работают на частотах, превышающих 1000 МГЦ, мало кто задумывается над принципом их работы. Даже некоторые специалисты в области компьютерных технологий воспринимают процессор как “черный ящик”. Следовательно, сейчас существует потребность в программах, которые наглядно могут продемонстрировать процесс работы программы на самом низком уровне.Он содержит: регистры общего назначения, сегментные регистры, микропрограммное устройство управления, устройство управления и синхронизации, 32-разрядное арифметико-логическое устройство, регистры указателей, индексные регистры, регистр команд, регистр флагов, устройство сегментации, устройство страничного преобразования. Регистры указателей ESP и EBP используются для работы со стековым сегментом: ESP - содержит адрес вершины стека, EBP - хранит адрес начального элемента массива данных в стековом сегменте. Регистры индексов используются для доступа к элементам массива: ESI - регистр индекса источника, хранит смещение адреса для чтения, EDI - регистр индекса приемника, хранит смещение адреса для записи. Используется четыре 16-разрядных сегментных регистра для адресации логических частей программы: CS - регистр сегмента команд, косвенно (через глобальную дескрипторную таблицу) адресует сегмент памяти, в котором хранится выполняемая программа; DS - регистр сегмента данных, косвенно адресует сегмент памяти, содержащий обрабатываемые данные; SS - регистр сегмента стека, косвенно адресует сегмент памяти, называемый сегментом, данные в котором хранятся по принципу LIFO; ES - косвенно адресует регистр дополнительного сегмента, в котором может храниться информация. РО - регистр, который используется для обмена между устройством сегментации и внутренней шиной процессора.Сегментация - механизм адресации, обеспечивающий существование нескольких независимых адресных пространств как в пределах одной задачи, так и в системе в целом для защиты от взаимного влияния. Программа никогда не знает, по каким физическим адресам будут размещены ее сегменты. Операционная система размещает сегменты программы в оперативной памяти по определенным физическим адресам, после чего помещает значения этих адресов в определенные места. Так, в реальном режиме эти адреса помещаются непосредственно в соответствующие сегментные регистры, а в защищенном режиме они размещаются в элементы специальной дескрипторной таблицы. Внутри сегмента программа обращается к адресам относительно начала сегмента линейно, то есть, начиная с нуля и заканчивая адресом, равным размеру сегмента.Формат команды: ADD операнд1 операнд2. В роли первого операнда может служить регистр и память, а в роли второго регистр, память и константа. Команда ADD выполняет сложение побитно, первый операнд служит для приема полученной суммы. MUL-целочисленное умножение без знака AL или AX на заданный операнд (регистр или переменная) и помещает результат в AX или AX:DX, соответственно. В роли операнда может выступать память/регистр размерностью один или два байта.К разработке микропроцессора выдвигаются следующие требования: разработать общую структуру гипотетического микропроцессора для реализации заданного подмножества команд микропроцессора - прототипа при реальном режиме адресации с заданными способами адресации;Разработать структуру АЛУ ЗМО и микропрограммы реализации в АЛУ операций для заданных команд и способа адресации операционного автомата.Также необходимо разработать программу эмуляции выполнения трех команд заданного подмножества команд (по одной команде из каждой группы) в разработанной микро ЭВМ.3.1.1 Разработка ОА для операции сложения ADD По заданию к КП операция ADD выполняется с регистром и памятью (8 бит). На рисунке 3.1 изображена структурная схема операции сложения ADD. Для выполнения операции умножения MUL АЛУ содержит следующие элементы: - регистр множимого (РМН); По заданию к КП операция MUL выполняется с регистром и непосредственным операндом (8 бит).На рисунке 3.4 приведена структурная схема общего ОА АЛУ. Рисунок 3.4 Структурная схема ОА АЛУ ЗМО 2) Р1 - регистр (первый операнд); 3) Р2 - регистр (второй операнд);На рисунке 3.5 изображена микропрограмма сложения: Рисунок 3.5 - Микропрограмма сложения Команда ADD выполняет сложение побитно. На рисунке 1.5 изображен алгоритм умножения по алгоритму с младших разрядов множителя со сдвигом частичных сумм вправо: Рисунок 3.6 - Микропрограмма умноженияДанная микропрограмма выполняет три команды: ADD, MUL и DEC.Поскольку в данном проекте реализуется выполнение лишь нескольких команд, то структура микропроцессора значительно упрощается по сравнению со структурой процессора-прототипа. Такая упрощенная структура изображена на рисунке 4.1. Рисунок 4.1 Структура гипотетического микропроцессора Сегментные регистры: - CS - регистр сегмента кода; EDX - регистр данных.Система команд гипотетического микропроцессора включает шесть команд: арифметические команды ADD, MUL и DEC, команду пересылки MOV и команды перехода JMP и JA. 4.2.1 Команда ADD AL,imm8 Команда
План
СОДЕРЖАНИЕ
Введение
1. Анализ структуры микропроцессора прототипа и алгоритмов выполнения заданного подмножества команд
1.1 Структура микропроцессора-прототипа
1.2 Адресация основной памяти
1.3 Анализ способов адресации операндов и алгоритмов выполнения заданного подмножества команд
2. Постановка задач проекта
2.1 Требования к структуре и интерфейсу гипотетического микропроцессора
2.2 Требования к структуре и интерфейсу АЛУ микропроцессора
2.3 Требования к структуре микро ЭВМ
3. Разработка алу микропроцессора
3.1 Разработка ОА для отдельных операций АЛУ
3.2 Разработка общего ОА АЛУ
3.3 Разработка микропрограмм выполнения операций в АЛУ
3.4 Разработка объединенной микропрограммы АЛУ
4. Разработка гипотетического микропроцессора
4.1 Разработка структуры микропроцессора
4.2 Система команд микропроцессора
4.2.1 Команда ADD AL,imm8
4.2.2 Команда MUL r8
4.2.3 Команда DEC AL
4.2.4 Команда MOV r/m8,r8
4.2.5 Команда JMP (относительная адресация)
4.2.6 Команда JA (относительная адресация)
5. Разработка структуры центральной части микроэвм на базе гипотетического микропроцессора
5.1 Разработка структуры МИКРОЭВМ
5.2 Организация шин микро-ЭВМ
5.3 Организация ОЗУ
5.4 Микропрограмма работы микро-ЭВМ
6. Разработка программы эмуляции работы микро-эвм
6.1 Постановка задачи
6.2 Алгоритм работы программы эмуляции
6.3 Список процедур и функций
6.4 Анализ результатов тестирования программы
Выводы
Перечень ссылок
Приложение А Техническое задание на разработку микроэвм
Приложение Б Техническое задание на программу-эмулятор
Приложение В Руководство пользователя
Приложение Г Экранные формы
Приложение Д Листинг программы
ПЕРЕЧЕНЬ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ
ЭВМ - Электронная вычислительная машина
ОС - Операционная система
ЗУ - Запоминающие устройство
ОЗУ - Оперативное запоминающие устройство
АЛУ - Арифметико-логическое устройство
МП - Микропроцессор
ОА - Операционный автомат
Вывод
Целью настоящего проекта являлось изучение работы МП и создание системы, позволяющей изучить принцип и порядок выполнения команд гипотетического микропроцессора. В процессе создания данного проекта были выполнены следующие действия: 1. Спроектировано АЛУ гипотетического микропроцессора по способу реализации ЗМО, предназначенное для выполнения операций сложения, умножения и декремента;
2. Разработаны алгоритмы выполнения команд MUL, ADD, DEC, MOV и JMP, составляющих подмножество команд микропроцессора-прототипа 80386;
3. Разработана структурная схема гипотетического микропроцессора, систему команд которого составляют команды MUL, ADD, DEC, MOV и JMP с режимом реальной адресации;
4. Разработана структурная схема МИКРОЭВМ на базе спроектированного гипотетического микропроцессора;
5. Создана программа эмуляции выполнения команд из системы команд гипотетического микропроцессора.
Созданный ПП не является окончательным вариантом готового приложения. В дальнейшем возможно внести следующие улучшения и усовершенствования: 1. Разработка более совершенной структуры гипотетического МП;
2. Предоставление в программе-эмуляторе возможность произвольного ввода стартовых значений;
3. Увеличение набора команд микропроцессора (при этом будет значительно усложняться структура АЛУ и структурной схемы гипотетического микропроцессора, но сама структура МИКРОЭВМ принципиально не изменится).
ПЕРЕЧЕНЬ ССЫЛОК
1. Абель П. Язык Ассемблера для IBM PC и программирования / Пер. с англ. Ю.В.Сальникова. - М.: Высш. шк.,1992. - 447 с.: ил.
2. Юров В. “Assembler - учебник для ВУЗОВ”- СПБ.;Питер,2002.-624с.:ил.
3. Журден Р. “Справочник программиста на ПК фирмы IBM” - перевод с англ. микропроцессор алгоритм команда программа эмуляция
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы