|
В начало
Микропроцессоры 80386 и 80486 (Лекция)ПЛАН ЛЕКЦИИ – Микропроцессор 386. Упрощенная структурная схема – Микропроцессор 486. Упрощенная структурная схема – Регистры 386, 486, Pentium – Организация мультизадачности Микропроцессор 386. Упрощенная структурная схемаШина адреса – 32 разрядная. 232=4Гб – физическое адресное пространство. 246=64Гб 213×232+213×232=246 байт. fтакт=16..40Мгц Возможность внутрикристального управления памятью: сегментация с защитой по четырем уровням и страничная организация. Существует внутрикристальный cache преобразования адресов. Ассоциативный буфер трансляции страниц. В буфере храниться 32 самых свежих набора страниц в виде ассоциативной памяти. Введены средства TLB. Микропроцессор 386 оптимизирован для многозадачных ОС. В нем присутствует аппаратная реализация многосистемной програмной Среды. Все шесть блоков работают относительно параллельно. 1. Интерфейс шины: формирует адреса, имеет двунаправленный приемо-передатчик. 2. Блок предвыборки команд: организует предвыборку команд. 3. Командный модуль. Декодирует команды и организует очередь команд в 3 звена. 4. Исполнительный блок. Организован как в 286, но имеет 32-разрядную шину. 5. Сегментация памяти, защита, управление доступом, контроль границы сегментов. 6. Модуль страничной организации. Содержит 32 элемента PTE – элемент таблицы страниц. Интерфейс 80386.CLK – внутренняя рабочая частота ШД – шина данных BS16 – с помощью этого сигнала осуществляется управление шириной шины ША – BE – управляют соответствующей частью шины W/R, D/C, M/IO – тип машинного цикла. Существует восемь циклов: выборка кода, чтение данных, запись данных, чтение портов, запись портов, машинные циклы прерывания, машинный цикла останова, машинный цикл отсутствия операции. NA – запрос следующего адреса, показывает готовность к приему новых значений. BS16 =1, то шина 16 битная, =0 – 32 битная. HOLD – должен быть активен когда ВУ владеет шиной. PERQ – запрос шины у сопроцессора BUSY – запрос сопроцессора INTR – разрешение прерывания. Микропроцессор 486. Упрощенная структурная схема9 параллельно работающих блоков. 1. Шинный интерфейс. Драйверы адреса, буферы записи: приемо-передатчики, управление шиной, управление пакетами, управление размером, управление cache-памятью, управление паритетом. 2. Предвыборка: очередь команд 32 байта. 3. Дешифратор команд, очередь декодируемых команд. 4. Усторойство управления ПЗУ. 5. Арифметический сопроцессор. 6. Исполнительный блок: АЛУ, РОН, сдвигатели. 7. Сегментация: регистры сегментации, регистры дескриптора, контроль доступа и границ сегмента. 8. Усторйство страничной предвыборки, ассоциативный буфер трансляции страниц. 9. Cache-память 8Кб. Регистры 386, 486, PentiumВ микропроцессорах 386, 486, Pentium используются внутренние 32-битные струкутры. Расширенный регистр указателя инструкций IP®EIP и регистр флагов EFLAGS. Появилось два дополнительных сегментных регистра D, что позволяет одновременно поддерживать 6 текущих сегментов. В системе в защищенном режиме поддерживается одна глобальная дескрипторная таблица и одна таблица прерываний. Регистры управления CR0 содержат системные флажки управления режимами, состояниями и относятся ко всему микропроцессору, а не к выполнению отдельных задач. CR0:
PE=1 – переход в защищенный режим PG=1 – разрешает страничную организацию CD=1 – разрешает внутреннюю cache память первого уровня NW=1 – запрещает скозную запись в cache. Сквозная запись (write trough) – в процессе выполнения программы происходит запись как в cache так и в основную память. Обратная запись (write back) – основная память обновляется по мере необходимости (при обращении к ней). AM – маска выравнивания. AM=1 – разрешает контроль выравнивания. WP(WR) – защита от записи. WR=1 – страница защищена от записи.ъ NE=1 – разрешен стандартный механизм сообщения об ошибках. NE=0 – ошибка игнорируется. ET – тип расширения сопроцессора. ET=0 – 80287, ET=1 – 80387. CR2 содержит линейный адрес страничного нарушения. CR3 старшие 20 бит базового адреса каталога страниц. 212 – базовый адрес кратен 12. PSD=1 – запрет cache-ирования страниц. PWT =1 – сквозная запись страницы Регистр DR7 – управляет отладкой, а регистр DR6 – статус программы. Остальные ренистры DR(5-0) – линейные адреса точек останова программы. TR7 – регистр проверки cache буфера ассоциативной трансляции. TR6,TR7 используются для тестирования cachre памяти 1-ого уровня. Формат регистра дескриптора.
G – бит гранулярности. G=0 – поле границы измеряетс в байтах, G=1 – поле границы измеряется в страницах. D – бит размера операнда. X – не используется (reserved for better time :-). U – бит пользователя. Механизм организации адреса ячейки в 32-битных преобразованиях.Организация страничной адресации.Организация мультизадачностиБлагодаря высокому быстродействию микропроцессор может переключать выполнение задач, посредством выделения кванта времени каждой задаче. Для поддрежания многозадачности есть регистры и структуры данных. TSS – сегмент текущей задачи, TR – регистр задачи, дескриптор сегмента состояния задачи, дескриптор шлюза задач. Благодаря этим структурам микропроцессор может переключаться с одной задачи на другую сохранять контекст текущей задачи и на основе этих данных осуществлять ее рестарт. Всем задачам в системе выделяются области основной памяти – разделы. При переключение осуществляется переход от одного раздела к другому. TSS – дескриптор сегмента задач.
DPL – аналогична функциям DPL сегментов – показывает уровень привелегий. S=0 – системный сегмент B – занятость сегмента. B=1 – сегмент занят. Минимальный размер TSS – 64h. DPL=0, поэтому переключение задач реализуют только привелигированные команды. Дескрипторы TSS только в GDT. По сохраненным CS и EIP определяется рестар входящей задачи. В TSS находится три указателя стека – для трех уровней привилегий (0,1,2), что необходимо для иницилизации TSS, что бы они могли работать с любым уровнем привелегий. Сохранение CR3 и LDTR означает что для каждой задачи допускается образование своих каталога таблиц и локальной дескрипторной таблицы LDTA. Это позволяет превратить задачи в абсолютно независимые объекты. Поле обратной связи представляет собой селектор TSS той задачи, которая выполнялась перед этой. Двоичная карта ВВ содержит 16-битное смещение в данном сегменте с которого начинается двоичная карта. Если поле содержит 0, то ее нет. Бит T применяется для отладки, если T=1, то при пререключение на данную задачу генерируется особый случай отладки. При новой задаче считывается TSS входящей задачи. При загрузке сегментных регистров происходит cache-рование нужных сегментов в теневые регистры. Когда истекает временной интервал задачи микропроцессор сохраняет ее контекст в TSS. Следовательно страничные преобразования и условия работы с сопроцессором являются глобальнысми для всех задач. Переключение задач не затрагивает GDTR и IDTR, а также регистры отладки и контроля. граница двоичной карты ВВ
32 0
Последнее слово в TSS содержит смещение двоичной карты ввода/вывода. Карта является дополнительным механизмом защиты по прерываниям. Когда для задачи определена двоичная карта ввода/вывода ей предоставляется дополнительная возможность выполнения команд ввода/вывода. Если обычная защита по привелегиям (IOB) запрещает выполнение команд ввода/вывода, то процессор обращается к двоичной карте по конкретным адресам портов. Если соответствующие адресам биты карты содержат 0, то операции ввода/вывода разрешены. В противном случае – особый случай разрешения вводв/вывода. Полное изолирование адресных пространств достигается размещением в LDT всех сегментов задачи. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||