Моделирование процедур выборки операндов для системы команд 32-разрядных процессоров

Московский Государственный Институт Электроники и Математики Курсовая работа по дисциплине Организация ЭВМ на тему Моделирование процедур выборки операндов для системы команд 32-разрядных процессоров Преподаватель Выполнил Иванова Е. М. студент группы С-33 Бондарева А.В. Москва 2003 г. Содержание курсовой работы 1. Задание для курсовой работы. 3 Алгоритм выполнения команды. 2. Постановка задачи. 3 2.1. Дано. 2. Требуется. 3. Ограничения. 3. Метод решения. 4 Эффективный адрес 5 Линейный адрес 5 Физический адрес 4. Описание алгоритма. 9 Укрупненный алгоритм выполнения команды DIV WORD PTR AEBXES9 Алгоритм формирование базового адреса селектора DS с применением глобальной таблицы дескрипторов. 10 Формирование базового адреса селектора DS с применением локальной таблицы дескрипторов. 11 Вычисление базового адреса локальной таблицы. 12 Вычисление базового адреса сегмента данных. 13 Формирование физического адреса 14 Выполнение операции логического сложения 5. Вывод. 1. Задание для курсовой работы. Составить алгоритм процедуры выборки операндов из оперативной памяти в защищенном режиме работы процессора для заданного механизма страничной переадресации и заданной команды ассемблера из системы команд 32-разрядных процессоров.

Номер варианта 19. Механизм страничной переадресации PAE-4Кб. Режимы адресации базово-индексный со смещением.

Комманда ассемблера DIV DIVide unsigned беззнаковое деление операндов делимое и делитель. Действие делимое задается неявно, и его размер зависит от размера делителя.

Местоположение делимого, делителя, частного и остатка, в зависимости от из размера, показаны в следующей таблице. Размер операндаДелимоеДелительЧастноеОстатокСло вобайтAXr8m8ALAHДв.словословоDXAXr16m16A XDX Здесь r регистр, m ячейка памяти. После выполнения команды флаги OF, SF, ZF, AF, PF, CF имеют неопределенные значения.

Использование в качестве делителя непосредственных операндов не допускается. Алгоритм выполнения команды. 1. Выборка операнда делимое и копирование его в регистр-накопитель. 2. Выборка операнда делитель и непосредственное деление на него содержимого накопителя, причем частное и остаток записываются в регистры, указанные в таблице.

Например, при делении слова в регистре AX на байт в регистре или ячейке памяти частное 8 бит будет записано в регистр AL, а остаток 8 бит в регистр AH. Примечание. При делении на 0 возникает исключение DE. 2.

Постановка задачи

Постановка задачи. В соответствии с заданием необходимо описать алгоритм процедуры выборки операндов из оперативной памяти для команды div при базово-индексной адресации и PAE-4Кб механизмом страничной переадресации.

Команда, удовлетворяющая таким условиям DIV WORD PTR AEBXESI 2.1. Дано. Делитель находится в памяти с логическим адресом DSAEBXESI. Делимое в регистре AX, так как размер делителя байт. 2.

Требуется

Требуется. Из таблицы пункта 1 и заданной команды следует, что надо поместить частное от деления делимого на делитель в регистр AL, а остаток в регистр AH. 3.

Ограничения

Ограничения . 1 Деление на ноль вызовет исключение DE. 2 Попытка выполнения любой команды с операндом памяти, хотя бы один байт которого не умещается в данном сегменте, вызовет исключение GP 3 При невозможности обращения к требуемой странице памяти процессор вырабатывает исключение PF Page Fault отказ страницы. 3.

Метод решения

Эффективный адрес В соответствии с заданным режимом адресации базово-и... В случае нулевого или превышающего лимит таблицы значения формируется ... И тогда линейный адрес будет формироваться следующим образом LA SDC EA... Делимое явно не указывается в команде, но при этом оно находится в рег... Выполнение операции деления с получением результата в регистрах АЛУ 4.

Описание алгоритма

Описание алгоритма.

Укрупненный алгоритм выполнения команды DIV WORD PTR AEBXES

Укрупненный алгоритм выполнения команды DIV WORD PTR AEBXES I. Для выполнения команды деления необходимо произвести выборку операнда-делителя из оперативной памяти второй операнд-делимое находится в регистровой паре DXAX. Эту операцию осуществляют первые 3 этапа следующего алгоритма После вычисление физического адреса, который выставляется на шину данных, происходит выполнение операции деления и запись результата в регистры DX и AX.

Алгоритм формирование базового адреса селектора DS с применением глобальной таблицы дескрипторов

Алгоритм формирование базового адреса селектора DS с применением глобальной таблицы дескрипторов.

Формирование базового адреса селектора DS с применением локальной таблицы дескрипторов

Формирование базового адреса селектора DS с применением локальной таблицы дескрипторов.

Так как этот алгоритм достаточно сложен, то разобьем представим его укрупненный алгоритм с последующей детализацией Алгоритмы для вычисления базового адреса локальной таблицы и вычисление базового сегмента данных аналогичны алгоритму формирования базового адреса селектора DS с применением глобальной таблицы дескрипторов

Вычисление базового адреса локальной таблицы

Вычисление базового адреса локальной таблицы.

Вычисление базового адреса сегмента данных

Вычисление базового адреса сегмента данных.

Формирование физического адреса

Формирование физического адреса

Выполнение операции логического сложения

В результате выполнения курсового проекта составлен алгоритм выборки о... Вывод. Закреплены навыки составления алгоритмов процедур с использованием язы... Выполнение операции логического сложения.