В начало

Микропроцессоры 80386 и 80486 (Лекция)

ПЛАН ЛЕКЦИИ

– Микропроцессор 386. Упрощенная структурная схема

– Микропроцессор 486. Упрощенная структурная схема

– Регистры 386, 486, Pentium

– Организация мультизадачности

 

Микропроцессор 386. Упрощенная структурная схема

 

http://hromatron.narod.ru/index.htm

Шина адреса – 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:

PG

CD

NW

AM

WP

NE

ET

TS

EM

MP

PE

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-ого уровня.

Формат регистра дескриптора.

63                               56

 

 

 

52

51                    48

47    40

39                          32

база сегмента 31-24

G

D

X

U

границы 19-16

доступ

база сегмента 23-16

база сегмента 15-0

границы 15-0

31

 

 

 

 

 

 

0

 

7

P

DPL

S

тип. сегмента

A

0

G – бит гранулярности. G=0 – поле границы измеряетс в байтах, G=1 – поле границы измеряется в страницах.

D – бит размера операнда.

X – не используется (reserved for better time :-).

U – бит пользователя.

Механизм организации адреса ячейки в 32-битных преобразованиях.

 

Организация страничной адресации.

 

 

Организация мультизадачности

            Благодаря высокому быстродействию микропроцессор может переключать выполнение задач, посредством выделения кванта времени каждой задаче. Для поддрежания многозадачности есть регистры и структуры данных. TSS – сегмент текущей задачи, TR – регистр задачи, дескриптор сегмента состояния задачи, дескриптор шлюза задач. Благодаря этим структурам микропроцессор может переключаться с одной задачи на другую сохранять контекст текущей задачи и на основе этих данных осуществлять ее рестарт. Всем задачам в системе выделяются области основной памяти – разделы. При переключение осуществляется переход от одного раздела к другому.

 

 

 

 

            TSS – дескриптор сегмента задач.

63                               56

 

 

 

52

51                  48

S

тип

39                          32

база 31-24

0

0

0

U

границы 19-16

0

01b1

база 23-16

база 15-0

границы 15-0

31

 

 

 

 

15

 

0

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, а также регистры отладки и контроля.

                                   граница двоичной карты ВВ

FF

FF

FF

FF

FF

FF

FF

FF

FF

FF

F1000

FF

32                               0

 

400h

0

T

 

 

 

 

 

 

            Последнее слово в TSS содержит смещение двоичной карты ввода/вывода. Карта является дополнительным механизмом защиты по прерываниям. Когда для задачи определена двоичная карта ввода/вывода ей предоставляется дополнительная возможность выполнения команд ввода/вывода.

            Если обычная защита по привелегиям (IOB) запрещает выполнение команд ввода/вывода, то процессор обращается к двоичной карте по конкретным адресам портов. Если соответствующие адресам биты карты содержат 0, то операции ввода/вывода разрешены. В противном случае – особый случай разрешения вводв/вывода.

            Полное изолирование адресных пространств достигается размещением в LDT всех сегментов задачи.

 

Watch Dogs: Standart Edition
Watch Dogs: Standart Edition


Xbox Live Gold - 12 месяцев
Xbox Live Gold - 12 месяцев


Quake-4
Quake-4