
- •ОБразования российской федерации
- •Цель работы
- •Теоретическая часть
- •Режимы работы процессоров
- •Организация памяти эвм
- •Управляющие регистры
- •Прерывания и исключения
- •Цикл выполнения команды в процессоре
- •Стандартные фазы цикла выполнения команды
- •Примеры команд 32-разрядного процессора
- •XchGоперанд_1, операнд_2 (xchgах,bl)
- •Порядок выполнения работы
- •Вопросы для самопроверки (защиты л/р)
- •Список литературы
Управляющие регистры
Управляющие регистры(ControlRegisters) CR0[0÷31],CR1[0÷31],CR2[0÷31],CR3[0÷31],CR4[0÷31] хранят признаки состояния процессора, общие для всех задач, в том числе информацию о режиме работы процессора.
Регистр CR0 обеспечивает общее управление режимами работы процессора, сопроцессора, кэш-памяти, ОП и проч. Полностью назначение разрядов регистра CR0 можно посмотреть в [1]. Можно отметить, что при значении 31 бита CR0.PG=1 (Paging Еnаble – включение механизма страничной переадресации ОП) разрешена страничная трансляция линейных адресов в физические.
Регистр CR1не используется.
Регистр СR2(PageFaultLinearAddress) хранит 32-разрядный линейный адрес, по которому был получен последний отказ страницы памяти.
Регистр CR3(PageDirectoryBaseRegister) содержит некоторые системные флаги и 20 старших разрядов (CR3[31÷12]) базового адреса таблицы трансляции первого уровня (каталога страниц или таблицы страниц).
Регистр CR4содержит биты разрешения архитектурных расширений. Например, при значении четвёртого бита CR4.PSE(PageSizeExtension) разрешено расширение размера страницы до 4Кб или 2Мб, при значении 4 бита CR4.PАE(PhysicalAddressExtension) разрешено расширение физического адреса до 36 разрядов. Подробнее назначение разрядов регистра CR4 можно посмотреть в источнике[1].
Прерывания и исключения
Прерывания и исключения нарушают нормальный ход выполнения программы для обработки внешних событий или сигнализации о возникновении особых условий или ошибок.
Прерыванияподразделяются на программные и аппаратные (маскируемые и немаскируемые), вызываемые электрическими сигналами на входах процессора.
Исключения, или особые случаи выполнения команды ЭВМ, подразделяются на отказы, двойные отказы, ловушки и аварийные завершения. Различия заключаются в моменте проверки и сохраняемых в стеке значениях адресов возврата (регистровCS[0÷15] и ЕIP[0÷31]).
Для каждой команды возможны различные исключения, подробная информация о которых имеется в [1,4].
В защищённом режиме наиболее часто встречаются следующие условия работы процессора, порождающие исключения (см. табл. ниже).
Таблица. Примеры исключений
Тип |
Условие возникновения исключения |
#PF |
Отсутствие страницы в ОП. |
#SS |
Нарушение границ или отсутствие сегмента стека. Причины:
|
#GP |
Общее нарушение защиты. Причины:
|
#NP |
Отсутствие в ОП сегмента (бит дескриптора SDC.P (SDC[23]) равен нулю)
|
#UD |
Неопределённый код операции. Причины:
|
#DE |
Деление на 0 или результат (частное) слишком велико для адресата |