рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Работа сделанна в 2003 году

Метод решения - Курсовая Работа, раздел Программирование, - 2003 год - Моделирование процедур выборки операндов для системы команд 32-разрядных процессоров Метод Решения. Так Как Делитель Находиться В Памяти, То Для Доступа К Нему Не...

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

В общем случае эффективный адрес формируется суммированием компонентов Base, Index, Displacement с учетом множителя Scale EA Base IndexScale Displacement Для различных режимов адресации некоторые слагаемые могут отсутствовать. В режиме, определенным в 1 пункте базово-индексный со смещение значение множителя Scale равно 1. В команде указываются необходимые для получения эффективного адреса составляющие DIV WORD PTR AEBXESI Index. Логический или виртуальный адрес состоит из селектора сегмента и эффективного адреса, называемого также смещением offset. По умолчанию, для данных селектором сегмента является регистр DS. Линейный адрес образуется сложением базового адреса сегмента с эффективным адресом.

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

Физический адрес памяти образуется после преобразования линейного адреса блоком страничной переадресации.

Он выводится на внешнюю шину адреса процессора. Эффективный адрес В соответствии с заданным режимом адресации базово-индексная со смещением эффективный адрес будет формироваться по следующей схеме EA Base Index Displacement Таким образом, EA PrEBX PrESI A . Линейный адрес Для нахождения линейного адреса необходимо обратиться к селектору сегмента в нашем случае мы обращаемся к сегменту данных, селектором которого является регистр DS . В зависимости от значения флага TI DS2 мы будем использовать глобальную TI0 или локальнуюTI1 таблицу дескрипторов.

Рассмотрим первый случай TI0. Адрес начала глобальной таблицы находится в регистре GDTR . Перед обращением к дескриптору сегмента, на который указывает DS , проверяется, не выходит ли указатель за рамки лимита GDTR , и не является ли указатель нулевым. В случае нулевого или превышающего лимит таблицы значения формируется прерывание GP. В случае корректного значения указателя происходит обращение к дескриптору сегмента, находящемуся в таблице.

Дескрипторы имеют 8-байтный формат segment base базовый адрес сегмента segment limit лимит граница сегмента G Granularity бит дробности, определяющий в каких единицах задан лимит G0 в байтах, G1 в страницах по 4 Кбайт что и обеспечивает максимальную длину в 4 Гбайт P Present бит присутствия в памяти. При P1 сегмент отображен в физической памяти, при P0 отображения нет и поля базового адреса и лимита не используются DPL Descriptior Privilege Level атрибуты привилегий сегмента A Accessed обращение.

При А0 к сегменту не было обращения, А1 селектор данного сегмента загружался в регистр сегмента. E Expand down контролируемое направление расширения E0 расширение вверх для сегмента данных, E1 расширение вниз стек B Big определяет разрядность операндов по умолчанию B0 задействуется 16-битный формат, B0 32-битный формат. W Writeable разрешение W1 или запрет W0 записи данных в сегмент. Обращение к находящимся в оперативной памяти таблицам происходит только при загрузке селектора сегмента.

Полученная информации записывается в связанный с сегментным регистром скрытый регистр SDC Segment Descriptor Cache. И тогда линейный адрес будет формироваться следующим образом LA SDC EA . В случае, если TI 1 и используется локальная таблица дескрипторов, необходимо вычислить адрес локальной таблицы, селектор которой находиться в регистре LDTR для этого регистра LDTR2 TI всегда равно 0. То есть аналогичным образом проверяем указатель LDTR , и если его значение не 0 и не больше лимита таблицы GDTR иначе инициируется прерывание GP, обращаемся к соответствующему дескриптору LDT, структура которого аналогична дескриптору сегмента данных.

Данные дескриптора LDT копируются в теневой регистр LDTR. И используя этот регистр, находим дескриптор сегмента данных по индексу DS в локальной таблицы, проверяя соответственно индекс на предмет превышения границы лимита.

Если указатель корректен, мы получаем доступ к дескриптору сегмента данных, из которого в SDC регистра DS будет записана информация о сегменте базовый адрес, граница и атрибуты. В итоге, в том TI0 и другом TI1 случае линейный адрес будет равен LA SDC EA Физический адрес Физический адрес получается из линейного в блоке страничной переадресации. Заданный режим страничной переадресации PAE-4Кб. PAE-4Кб механизм страничной переадресации имеет три части каталог страниц Page Directory, таблицу страниц Page Table и собственно страницы Page Frame и включается установкой бита PG1 в регистре CR0. Регистр CR3 содержит старшие 20 бит CR3 физического адреса каталога страниц младшие 12 бит адреса всегда нулевые.

Каталог страниц размером 4 Кбайта содержит 1024 32-битных строки PDE Page Directory Entry. Каждая строка содержит 20 старших бит адреса таблицы следующего уровня младшие 12 бит этого адреса тоже всегда нулевые и атрибуты этой таблицы.

Индексом поиска в каталоге страниц являются 10 старших бит линейного адреса LA . В случае, если нулевой бит присутствия P строки, соответствующей данному индексу LA , равен нулю, то это означает, что таблица страниц не находиться в оперативной памяти и инициируется исключение PF. В результате запускается обработчик исключений, который должен принять меры по загрузке затребованной страницы в оперативную память. Каждая таблица страниц также имеет 1024 строки PTE Page Table Entry, которые содержат базовый физический адрес точнее старшие 20 бит этого адреса и атрибуты самих страниц.

Индексом поиска в таблицы являются биты линейного адреса LA . В случае, если в найденной строке нулевой бит присутствия P0 , аналогичным образом происходит подкачка страницы в память. После определения базового адреса страницы, к нему прибавляется 12-битной смещение LA и получается физический адрес операнда. Делимое явно не указывается в команде, но при этом оно находится в регистровой паре DXAX. Таким образом, получен физический адрес делителя, а также известно местонахождения делимого.

Следовательно, можно выполнять операцию деления 1. Копирование операндов в блок регистров АЛУ. 2. Проверка делителя на предмет его равенства нулю в этом случае инициируется прерывание DE. 3. Выполнение операции деления с получением результата в регистрах АЛУ 4. Копирование полученного результата в указанные регистры общего назначения. Опрерация деления выполняется в Арифметическо-Логическом Устройстве АЛУ. Обобщенная структурная схема АЛУ рис. 7 включает блок регистров для приема и размещения операндов и результатов операционный блок, в котором осуществляется преобразование операндов в соответствии с реализуемыми алгоритмами схемы контроля, обеспечивающие непрерывный оперативный контроль и диагностирование ошибок блок управления БУ, в котором после приема кода операции КОП из центрального устройства управления формируются управляющие сигналы УС, координирующие взаимодействие всех узлов АЛУ между собой и с другими блоками процессора.

Данные поступают из Регистров Общего Назначения РОН или КЭШа данных и под управлением БУ над ними выполняются операции поступающие на вход БУ. В случае получения результата, он отправляются в РОН или КЭШ данных, в противоположном случае Схема Контроля отправляет сигнал об ошибке процессору. 4.

– Конец работы –

Эта тема принадлежит разделу:

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

Номер варианта 19. Механизм страничной переадресации PAE-4Кб. Режимы адресации базово-индексный со смещением. Комманда ассемблера DIV DIVide unsigned беззнаковое деление операндов делимое… Местоположение делимого, делителя, частного и остатка, в зависимости от из размера, показаны в следующей…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Метод решения

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги