МПС
Микропроцессоры 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
используются внутренние 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, а
также регистры отладки и контроля. граница двоичной карты ВВ
Последнее слово в TSS содержит смещение двоичной карты ввода/вывода. Карта является дополнительным механизмом защиты по прерываниям. Когда для задачи определена двоичная карта ввода/вывода ей предоставляется дополнительная возможность выполнения команд ввода/вывода. Если обычная защита по привелегиям (IOB) запрещает выполнение команд ввода/вывода, то процессор обращается к двоичной карте по конкретным адресам портов. Если соответствующие адресам биты карты содержат 0, то операции ввода/вывода разрешены. В противном случае – особый случай разрешения вводв/вывода. Полное изолирование адресных пространств достигается размещением в LDT всех сегментов задачи. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||