SlideShare a Scribd company logo
1 of 48
Организация ЭВМ и систем
Тема: Анализ развития процессоров фирмы
Intel семейства IA-32
• Инициализация ПЭВМ на базе микропроцессоров
IA-32
• Архитектура 16-битных процессоров IA-32 - 8086,
80286: основные регистры, адресация памяти,
режимы работы
• Архитектура 32-битных процессоров IA-32:
- ЦП 80386: основные регистры, режимы работы.
- Страничная и сегментная организация памяти.
- Многозадачность. Формат команд
• ЦП 80486 – режим пакетирования
Инициализация ПЭВМИнициализация ПЭВМ
Аппаратная часть:Аппаратная часть:
1.1. Системное ядроСистемное ядро ПК включает:ПК включает:
 ЦП;ЦП;
 2 – 3х-канальных таймера;2 – 3х-канальных таймера;
 2 контроллера прерываний с 8-ю уровнями2 контроллера прерываний с 8-ю уровнями
каждый;каждый;
 2 – 4х-канальных контроллера ПДП;2 – 4х-канальных контроллера ПДП;
 порты ввода/вывода;порты ввода/вывода;
 CMOSCMOS память;память;
 часы реального времени;часы реального времени;
 контроллер клавиатуры.контроллер клавиатуры.
Инициализация ПЭВМИнициализация ПЭВМ
2.2. Модули расширенияМодули расширения::
 Контроллеры накопителей.Контроллеры накопителей.
 Накопители.Накопители.
 Видеоадаптеры.Видеоадаптеры.
 Сетевые карты.Сетевые карты.
Программная часть:Программная часть:
 BIOSBIOS..
 POSTPOST..
 BIOS SETUPBIOS SETUP..
Алгоритм пробужденияАлгоритм пробуждения
(инициализация) ПК(инициализация) ПК
1.1.Включение питания.Включение питания.
2.2.Самодиагностика, идентификация, проверкаСамодиагностика, идентификация, проверка
процессора и сопроцессора.процессора и сопроцессора.
3.3.Проверка и инициализация системного ядра.Проверка и инициализация системного ядра.
4.4.Включение механизмаВключение механизма Plug and Play.Plug and Play.
5.5.Проверка и инициализация видеоадаптера.Проверка и инициализация видеоадаптера.
6.6.ПроверкаПроверка CMOSCMOS памяти и часов реального времени.памяти и часов реального времени.
7.7.Определение объема и проверка оперативной памяти.Определение объема и проверка оперативной памяти.
8.8.Проверка клавиатуры и инициализация портовПроверка клавиатуры и инициализация портов (LPT,(LPT,
COM).COM).
9.9.Инициализация дисковых накопителей.Инициализация дисковых накопителей.
10.10.Проверка модулей расширенияПроверка модулей расширения BIOSBIOS..
11.11.Включение механизмаВключение механизма APRAPR..
12.12.Вызов системного загрузчика.Вызов системного загрузчика.
13.13.Загрузка ОС.Загрузка ОС.
Анализ развитияАнализ развития
ЦП ф.ЦП ф.IntelIntel семействасемейства IA-32IA-32
Тип ЦПТип ЦП
СвойстваСвойства
80868086 80888088 8028680286 8038680386 8048680486 PentiumPentium P6P6
1.1. Год выпускаГод выпуска 19781978 19791979 19821982 19851985 19891989 19931993 19951995
2.2. Проектные нормыПроектные нормы
(мкм)(мкм)
33 33 1, 51, 5 11 1 - 0,81 - 0,8 0,8 - 0,60,8 - 0,6 0,6 - 0,350,6 - 0,35
3.3. Кол-во транзисторовКол-во транзисторов 2900029000 2900029000 130000130000 2750027500
00
1млн201млн20
0т0т
3млн103млн10
0т0т
9млн5009млн500
тт
4.4. Разрядность ШДРазрядность ШД//ШАША 16/2016/20 8/208/20 16/2416/24 32/3232/32 32/3232/32 64/3264/32 64/3264/32
(36)(36)
5.5. MaxMax объемобъем
физической памятифизической памяти
11 МбМб 1 Мб1 Мб 16 Мб16 Мб 4 Гб4 Гб 4 Гб4 Гб 4 Гб4 Гб 4 Гб (644 Гб (64
Гб)Гб)
6.6. MaxMax объемобъем
виртуальной памятивиртуальной памяти
1 Мб1 Мб 1 Мб1 Мб 1Гб1Гб 64 Тб64 Тб 64 Тб64 Тб 64 Тб64 Тб 64 Тб64 Тб
7.7. MaxMax размер сегментаразмер сегмента 64 Кб64 Кб 64 Кб64 Кб 64 Кб64 Кб 64 Кб,64 Кб,
4 Гб4 Гб
64 Кб,64 Кб,
4 Гб4 Гб
64 Кб,64 Кб,
4 Гб4 Гб
64 Кб,64 Кб,
4 Гб4 Гб
Тип ЦПТип ЦП
СвойстваСвойства
80868086 80888088 8028680286 8038680386 8048680486 PentiumPentium P6P6
8.8. Размер очередиРазмер очереди
предвыборки (байт)предвыборки (байт)
66 66 1616 3232 3232 3232 3232
9.9. Размер операндовРазмер операндов
(бит)(бит)
8, 168, 16 8, 168, 16 8, 168, 16 8, 16,8, 16,
3232
8, 16,8, 16,
32, 6432, 64
8, 16,8, 16,
32, 6432, 64
8, 16,8, 16,
32, 6432, 64
10.10. Размер регистровРазмер регистров
(бит)(бит)
8, 168, 16 8, 168, 16 8, 168, 16 8, 16,8, 16,
3232
8, 16,8, 16,
3232
8, 16,8, 16,
3232
8, 16, 328, 16, 32
11.11. Разбиение наРазбиение на
страницыстраницы
нетнет нетнет нетнет естьесть естьесть естьесть естьесть
12.12. Рабочая частотаРабочая частота
(МГЦ)(МГЦ)
5, 8,5, 8,
1010
5, 8, 105, 8, 10 8, 10,8, 10,
12, 1612, 16
20,20,
25,25,
33, 4033, 40
25 - 13325 - 133 60 - 23360 - 233 166, 180,166, 180,
200200
13.13. Защита памяти иЗащита памяти и
ввода/выводаввода/вывода
нетнет нетнет естьесть естьесть естьесть естьесть естьесть
14.14. СопроцессорСопроцессор 80878087 80878087 8028780287 8028780287
8038780387
FPUFPU FPUFPU FPUFPU
Поколения процессоров фирмы IntelПоколения процессоров фирмы Intel
Название ядра Версия процессораНазвание ядра Версия процессора
Есть рабочее название ядер процессора (определяется микроархитектурой) и естьЕсть рабочее название ядер процессора (определяется микроархитектурой) и есть
рабочее название версии процессора (определяется, например, техпроцессом илирабочее название версии процессора (определяется, например, техпроцессом или
размером кэша). Иногда они совпадают.размером кэша). Иногда они совпадают.
11 086086
22 286286
33 386386
44 486486
55 P5P5 Pentium (P5)Pentium (P5)
Pentium (P54)Pentium (P54)
Pentium MMX (P55)Pentium MMX (P55)
66 P6P6 Pentium ProPentium Pro
Pentium II (Klamath,Pentium II (Klamath,
Deschutes, Katmai)Deschutes, Katmai)
Celeron (Covington,Celeron (Covington,
Mendocino, Dixon и т.д.)Mendocino, Dixon и т.д.)
Pentium III (Coppermine,Pentium III (Coppermine,
Tualatin)Tualatin) CeleronCeleron
Pentium MPentium M
Core DuoCore Duo
77
P7P7
NetBurstNetBurst Pentium 4 (Willamette)Pentium 4 (Willamette)
Pentium 4 (Northwood)Pentium 4 (Northwood)
Pentium 4 серии 5XX (Prescott)Pentium 4 серии 5XX (Prescott) Celeron D 3XX (Prescott)Celeron D 3XX (Prescott)
Pentium 4 серии 6XX (PrescottPentium 4 серии 6XX (Prescott
2M)2M)
Pentium 4 eXtreme EditionPentium 4 eXtreme Edition
серии 840 (Smithfield)серии 840 (Smithfield)
Pentium eXtreme Edition серииPentium eXtreme Edition серии
9XX (Smithfield)9XX (Smithfield)
Pentium D серии 8XXPentium D серии 8XX
(Smithfield)(Smithfield)
Pentium D серии 9XXPentium D серии 9XX
(Smithfield)(Smithfield)
88
P8P8
Intel CoreIntel Core
Core 2 Duo серии E4300 иCore 2 Duo серии E4300 и
E6XXX (Conroe)E6XXX (Conroe)
Core 2 Extreme X6800 иCore 2 Extreme X6800 и
QX6700 (Conroe)QX6700 (Conroe)
Core 2 Quad (Kentsfield) серииCore 2 Quad (Kentsfield) серии
Q6xxxQ6xxx
ЦП 8086ЦП 8086
Регистры данныхРегистры данных Регистры сегментовРегистры сегментов
Регистры указателиРегистры указатели
АН AL
15 8 7 0
AX
BX
DX
CX
Базовый адрес сегмента кода
Базовый адрес сегмента данных
Базовый адрес сегмента данных
Базовый адрес сегмента стека
CS
DS
ES
SS
015
15 0
SP
BP
SI
DI
Регистр указатель стека
Регистр указатель базы
Индексный регистр (источник)
Индексный регистр
(приемник)
Адресное пространство
CS
DS SS
Счетчик команд
Регистр флагов
IP
FLAGS
Формирование линейного адресаФормирование линейного адреса
Содержимое сегментного регистра сдвигаетсяСодержимое сегментного регистра сдвигается
влево на 4 бита и складывается со смещением, ввлево на 4 бита и складывается со смещением, в
результате чего получается двадцатиразрядныйрезультате чего получается двадцатиразрядный
физический адрес.физический адрес.
+
19 0
15 0
019
0 0 0 0
4
Àíèìàöèÿ.swf
ЦП 80286ЦП 80286
Программная модель:Программная модель:
14 регистров ЦП 8086 + 5 новых:14 регистров ЦП 8086 + 5 новых:
GDTRGDTR – 40-– 40-разрядный (определяет размер иразрядный (определяет размер и
положение (базовый адрес) глобальной дескрипторнойположение (базовый адрес) глобальной дескрипторной
таблицы).таблицы).
LDTRLDTR – 16-разрядный (селектор– 16-разрядный (селектор LDTLDT, определяет, определяет
базовый адрес локальной дескрипторной таблицы).базовый адрес локальной дескрипторной таблицы).
IDTRIDTR –– 40-разрядный (определяет начало и размер40-разрядный (определяет начало и размер
таблицы векторов прерываний).таблицы векторов прерываний).
MSWMSW –– слово состояния (если флагслово состояния (если флаг PE=1PE=1, то, то
процессор переключается в защищенный режим).процессор переключается в защищенный режим).
TRTR –– 16-разрядный (содержит селектор сегмента16-разрядный (содержит селектор сегмента
состояния задачи, используется для многозадачности).состояния задачи, используется для многозадачности).
+ 6 невидимых регистров (они связаны с+ 6 невидимых регистров (они связаны с CS, DS, ES,CS, DS, ES,
SS, GDTR, IDTRSS, GDTR, IDTR))..
ЦП 80286 (режимы работыЦП 80286 (режимы работы))
В процессоре 80286 было реализовано два режимаВ процессоре 80286 было реализовано два режима
функционирования:функционирования:
 режим эмуляции 8086режим эмуляции 8086 (режим реального(режим реального
адреса);адреса);
 защищенный режимзащищенный режим, в котором, в котором
используются все возможности процессора.используются все возможности процессора.
Формирование линейного адреса вФормирование линейного адреса в
защищенном режимезащищенном режиме
ИНДЕКС
01215
RPLRPL
TITI
00 - GDT- GDT
1- LDT1- LDT
Указывает на номерУказывает на номер
записи в дескрипторнойзаписи в дескрипторной
таблицетаблице
Значения, помещаемые в сегментные регистры,Значения, помещаемые в сегментные регистры,
называютсяназываются селекторамиселекторами. Селектор содержит индекс. Селектор содержит индекс
дескриптора в дескрипторной таблице, битдескриптора в дескрипторной таблице, бит
определяющий, к какой дескрипторной таблицеопределяющий, к какой дескрипторной таблице
производится обращение (LDT или GDT), а такжепроизводится обращение (LDT или GDT), а также
запрашиваемые права доступа к сегменту.запрашиваемые права доступа к сегменту.
Формирование линейного адреса вФормирование линейного адреса в
защищенном режимезащищенном режиме
      ДескрипторДескриптор - это 8-байтная единица- это 8-байтная единица
описательной информации, распознаваемаяописательной информации, распознаваемая
устройством управления памятью в защищенномустройством управления памятью в защищенном
режиме, хранящаяся в дескрипторной таблице.режиме, хранящаяся в дескрипторной таблице.
Дескриптор сегмента содержит:Дескриптор сегмента содержит:
базовый адрес описываемого сегмента,базовый адрес описываемого сегмента,
предел (размер) сегментапредел (размер) сегмента
и права доступа к сегменту.и права доступа к сегменту.
Формирование линейного адреса вФормирование линейного адреса в
защищенном режимезащищенном режиме
СуществуютСуществуют две обязательныхдве обязательных
дескрипторных таблицыдескрипторных таблицы -- глобальнаяглобальная (GDT) и(GDT) и
дескрипторнаядескрипторная таблица прерываниятаблица прерывания (IDT),(IDT),
а такжеа также множество локальныхмножество локальных
дескрипторных таблицдескрипторных таблиц (LDT), из которых(LDT), из которых в одинв один
момент времени процессору доступна толькомомент времени процессору доступна только
одна.одна.
Формирование линейного адреса вФормирование линейного адреса в
защищенном режимезащищенном режиме
СелекторСелектор СмещениеСмещение
ДескрипторДескриптор
Логический адресЛогический адрес
Дескрипторная таблица (Дескрипторная таблица (0 – GDT, 1 – LDT)0 – GDT, 1 – LDT)
002323 Физический адресФизический адрес
++
15 0 15 0
Àíèìàöèÿ.swf
Формирование линейного адреса вФормирование линейного адреса в
защищенном режимезащищенном режиме
Расположение дескрипторных таблицРасположение дескрипторных таблиц
определяется регистрами процессораопределяется регистрами процессора GDTR,GDTR,
IDTR, LDTR.IDTR, LDTR.
РегистрыРегистры GDTRGDTR ии IDTRIDTR - содержат базовый- содержат базовый
адрес и предел дескрипторной таблицы.адрес и предел дескрипторной таблицы.
Программно доступная часть регистраПрограммно доступная часть регистра LDTRLDTR --
16 бит, которые являются16 бит, которые являются селектором LDTселектором LDT..
Дескрипторы LDT находятся в GDT.Дескрипторы LDT находятся в GDT.
Шинная архитектура ЦП 80286Шинная архитектура ЦП 80286
Синхро-
генератор
82284
ЦП
80286
CLK
RESET
READY
Шинный
контроллер
82288
S0
S1
L-шина(локальная)
адрес
данные
Буфер
S-шина(системная)
Буфер
Буфер
М-шина(памяти)
ОП
Х-шина(периферий-
ногоустройства)
ПУнаматеринскойплате
управление
Структура микропроцессораСтруктура микропроцессора
Intel 80386Intel 80386
Циклический
сдвигатель,
сумматор
Умножитель/
делитель
Набор
регистров
Декодирование
и упорядочение
Управляющее
ПЗУ
Декодер
команд
Очередь
декодированных
команд
Устройство
предварительной
выборки
16-байтная
очередь
кодов
Трехвходовый
сумматор
Регистры
дескрипторов
ПЛМ границ
и атрибутов
Сумматор
Кэш страниц
ПЛМ управления
и атрибутов
Блок проверки
защиты
Арбитр
запросов
Драйвер
адреса
Управление
размером
шины,
конвейером
Мультиплексор,
приемопере-
датчики
АЛУ
Управление
Предварительное
декодирование
команд
Предварительная
выборка команд
Специализированная шина АЛУ
32
Шина исполнительного адреса
32
Шина исполнительного адреса
32
Внутренняя
шина
управления
Шинасмещений
32
Шиналинейногоадреса
Выборка кодов,
Таблицы страниц
Блок сегментации
Блок разбивки
на страницы
Управление шиной
Управление
Шинафизического
адреса
34
32
32
Регистры ЦП 80386Регистры ЦП 80386
Программно доступные регистры:Программно доступные регистры:
1.1. 8 регистров общего назначения8 регистров общего назначения
EAX, EBX, ECX, EDX, EBP, ESP, ESI, EDI –EAX, EBX, ECX, EDX, EBP, ESP, ESI, EDI –
32-разрядные).32-разрядные).
2.2. Регистр флагов (Регистр флагов (EFLAGS – 32-EFLAGS – 32-разрядный).разрядный).
3.3. Счетчик команд (Счетчик команд (EIP – 32-EIP – 32-разрядный).разрядный).
4.4. 6 сегментных регистров (16-разрядные).6 сегментных регистров (16-разрядные).
Регистры ЦП 80386Регистры ЦП 80386
Системные регистры:Системные регистры:
1.1. 4 регистра4 регистра управления:управления:
 CR0CR0::
• PG (PG (31 бит) – разбиение на страницы;31 бит) – разбиение на страницы;
• TSTS (3 бит) – переключение задач;(3 бит) – переключение задач;
• PEPE (0 бит) – включение защиты;(0 бит) – включение защиты;
 CR1, CR2CR1, CR2 ((сохраняют состояниесохраняют состояние
микропроцессорамикропроцессора));;
 CR3CR3 ((хранится физический адрес текущейхранится физический адрес текущей
таблицы страничных директорийтаблицы страничных директорий))..
2.2. 88 отладочных регистра:отладочных регистра: DR0-DR3, DR6, DR7,DR0-DR3, DR6, DR7,
(DR4, DR5 –(DR4, DR5 – зарезервированные ф.зарезервированные ф. Intel).Intel).
3.3. 4 регистра защищенного режима:4 регистра защищенного режима: GDTR, IDTR –GDTR, IDTR –
48-48-разрядные;разрядные; LDTR, TR –LDTR, TR – 16-разрядные.16-разрядные.
4.4. 2 регистра страничных проверок:2 регистра страничных проверок: TR6, TR7.TR6, TR7.
Режимы работы ЦП 80386Режимы работы ЦП 80386
1.1.Реальный режимРеальный режим или режим реальныхили режим реальных
адресов.адресов.
В реальном режиме МП работает как оченьВ реальном режиме МП работает как очень
быстрый 8086 сбыстрый 8086 с возможностью использования 32-возможностью использования 32-
битных расширений.битных расширений.
2.2.Виртуальный режимВиртуальный режим или режимили режим
виртуального 8086 (виртуального 8086 (VM 86)VM 86)..
3.3.Защищенный режимЗащищенный режим – полностью 32-– полностью 32-
разрядный процессор.разрядный процессор.
4.4.Режим системного управленияРежим системного управления..
Особенности режимаОсобенности режима
системного управлениясистемного управления
Режим системного управления (Режим системного управления (SMM)SMM)
предназначен для выполнения некоторыхпредназначен для выполнения некоторых
действий с возможностью их полнойдействий с возможностью их полной
изоляции от прикладного программногоизоляции от прикладного программного
обеспечения и даже операционной системыобеспечения и даже операционной системы..
Переход в этот режим происходит толькоПереход в этот режим происходит только
аппаратно.аппаратно.
При входе в режим SMM процессор сохраняетПри входе в режим SMM процессор сохраняет
свой контекст в SMRAM (System Managementсвой контекст в SMRAM (System Management
RAM) (контекст сопроцессора не сохраняется!) поRAM) (контекст сопроцессора не сохраняется!) по
адресу SMM Base и передает управлениеадресу SMM Base и передает управление
процедуре, называемой обработчиком Systemпроцедуре, называемой обработчиком System
Management Interrupt.Management Interrupt.
Особенности режимаОсобенности режима
системного управлениясистемного управления
В режиме SMMВ режиме SMM не предусмотрена работа сне предусмотрена работа с
прерываниями и особыми случаямипрерываниями и особыми случаями::
прерывания по IRQ и SMI# замаскированы,прерывания по IRQ и SMI# замаскированы,
пошаговые ловушки и точки останова отключены,пошаговые ловушки и точки останова отключены,
обработка прерывания по NMI откладывается дообработка прерывания по NMI откладывается до
выхода из режима SMM.выхода из режима SMM.
При возврате из SMM (по инструкции RSM)При возврате из SMM (по инструкции RSM)
процессор восстанавливает свой контекст изпроцессор восстанавливает свой контекст из
SMRAM.SMRAM.
ЭтиЭти особенности режима системногоособенности режима системного
управления позволяют использовать его дляуправления позволяют использовать его для
реализации системы управленияреализации системы управления
энергосбережениемэнергосбережением..
Формирование линейного адресаФормирование линейного адреса
без участия селекторовбез участия селекторов
Упрощенная схема формирования линейногоУпрощенная схема формирования линейного
адреса используется:адреса используется:
в режиме реального адреса,в режиме реального адреса,
в режиме системного управления,в режиме системного управления,
для вычисления адресов задачидля вычисления адресов задачи
защищенного режима, находящейся взащищенного режима, находящейся в
состоянии эмуляции 8086состоянии эмуляции 8086 (Virtual 8086 Mode).(Virtual 8086 Mode).
Формирование линейного адресаФормирование линейного адреса
без участия селекторовбез участия селекторов
В этом случаеВ этом случае базовый адрес сегментабазовый адрес сегмента
берется из сегментного регистраберется из сегментного регистра..
Значение в сегментном регистре представляетЗначение в сегментном регистре представляет
собойсобой биты 4-19биты 4-19 базового адреса сегмента. Избазового адреса сегмента. Из
этого следует, что сегменты в этих режимахэтого следует, что сегменты в этих режимах
выровнены по 16-байтной границе и все сегментывыровнены по 16-байтной границе и все сегменты
начинаются в пределах нижнего мегабайтаначинаются в пределах нижнего мегабайта
линейного адресного пространства.линейного адресного пространства.
Предел для всех сегментов одинаковПредел для всех сегментов одинаков..
В режиме реального адресаВ режиме реального адреса ии для задачи вдля задачи в
состоянии VM86состоянии VM86 предел сегмента –предел сегмента – 64 Кбайт64 Кбайт, а, а
вв режиме системного управлениярежиме системного управления – 4 Гбайт.– 4 Гбайт.
Формирование линейного адреса вФормирование линейного адреса в
защищенном режимезащищенном режиме
ЕслиЕсли в регистре управленияв регистре управления CR0CR0 битбит
PGPG - разбиение на страницы не установлен,- разбиение на страницы не установлен,
PGPG=0=0 то полученныйто полученный линейный адреслинейный адрес
является физическимявляется физическим,,
еслиесли PG=1PG=1, то включается, то включается страничнаястраничная
адресация памяти.адресация памяти.
Формирование линейного адреса вФормирование линейного адреса в
защищенном режимезащищенном режиме
В процессе страничной трансляцииВ процессе страничной трансляции адресовадресов
полученныйполученный линейный адрес разбивается налинейный адрес разбивается на
три части.три части.
Старшие десять битСтаршие десять бит линейного адресалинейного адреса
являютсяявляются индексом элемента из каталогаиндексом элемента из каталога
таблицтаблиц.. По этому элементу определяетсяПо этому элементу определяется
физический адрес таблицы страниц.физический адрес таблицы страниц. Биты 21-12Биты 21-12
линейного адреса выбираютлинейного адреса выбирают элемент изэлемент из этойэтой
таблицы страництаблицы страниц. Выбранный элемент. Выбранный элемент
определяет физический адрес страницы.определяет физический адрес страницы.
Младшие 12 битМладшие 12 бит линейного адреса определяютлинейного адреса определяют
смещение от начала страницысмещение от начала страницы..
Сегментная и страничнаяСегментная и страничная
организация памятиорганизация памяти
СелекторСелектор СмещениеСмещение
ДескрипторДескриптор
CRCR33
Линейный адресЛинейный адрес
ЛогическийЛогический
адресадрес
ФизическийФизический
адресадрес
Дескрипторная таблица (Дескрипторная таблица (0 – GDT, 1 – LDT)0 – GDT, 1 – LDT)
ДиректорияДиректория СтраницаСтраница СмещениеСмещение
0011111212212122223131
+
31 015 0
Àíèìàöèÿ.swf
Многозадачность в ЦП 80386Многозадачность в ЦП 80386
МногозадачностьМногозадачность -- это метод управленияэто метод управления
компьютерной системой, когда отдельныекомпьютерной системой, когда отдельные
задачи выполняются так, как если бы онизадачи выполняются так, как если бы они
выполнялись параллельно на отдельныхвыполнялись параллельно на отдельных
процессорах с общей памятью.процессорах с общей памятью.
Задачу составляют два компонента:Задачу составляют два компонента:
адресное пространство задачиадресное пространство задачи ( доступные( доступные
ей сегменты кода, данных и стека) ией сегменты кода, данных и стека) и
сегмент состояния задачи (Task Stateсегмент состояния задачи (Task State
Segment - TSS).Segment - TSS).
Сегмент состояния задачиСегмент состояния задачи
хранит состояние регистровхранит состояние регистров
(контекст) виртуального(контекст) виртуального
процессора каждой задачипроцессора каждой задачи..
Эта информация может бытьЭта информация может быть
разделена на :разделена на :
1)1) динамический набординамический набор::
 состояние сегментных регистровсостояние сегментных регистров
(селекторы сегментов,(селекторы сегментов,
формирующие адресноеформирующие адресное
пространство задачи);пространство задачи);
 состояние регистров общегосостояние регистров общего
назначения;назначения;
ДескрипторДескриптор TSSTSS
GDTGDT
СелекторСелектор БазаБаза ПределПредел
Сегмент состоянияСегмент состояния
задачизадачи TSSTSS
Регистр - TR
невидимая часть
 состояние регистра флагов (EFLAGS);состояние регистра флагов (EFLAGS);
 селектор сегмента TSS предыдущей исполняемой задачи;селектор сегмента TSS предыдущей исполняемой задачи;
2)2) статический наборстатический набор (ЦП его считывает, но не изменяет):(ЦП его считывает, но не изменяет):
 значение регистра CR3 (PDBR);значение регистра CR3 (PDBR);
 значение регистра LDTR;значение регистра LDTR;
 информация о месте расположения стека для каждого уровняинформация о месте расположения стека для каждого уровня
привилегий;привилегий;
 TT-разряд, позволяющий осуществить для целей отладки внутреннее-разряд, позволяющий осуществить для целей отладки внутреннее
прерывание и т.д.прерывание и т.д.
При переключении задачи не сохраняетсяПри переключении задачи не сохраняется
контекст сопроцессораконтекст сопроцессора, т.к., во-первых, сопроцессора, т.к., во-первых, сопроцессора
может вообще не быть, а во-вторых, многие задачиможет вообще не быть, а во-вторых, многие задачи
могут не использовать сопроцессор, а на сохранениемогут не использовать сопроцессор, а на сохранение
/восстановление его контекста уходит много времени./восстановление его контекста уходит много времени.
Процесс переключения задачи состоит вПроцесс переключения задачи состоит в
следующемследующем::
1.1. Производится проверка, допускает ли текущая задачаПроизводится проверка, допускает ли текущая задача
переключение на задачу назначения.переключение на задачу назначения.
2.2. Проверяется, что дескрипторПроверяется, что дескриптор TSSTSS новой задачи есть иновой задачи есть и
имеет правильный предел.имеет правильный предел.
3.3. Сохраняется состояние текущей задачи.Сохраняется состояние текущей задачи.
4.4. Происходит загрузка регистра задачиПроисходит загрузка регистра задачи TRTR селекторомселектором
дескрипторадескриптора TSSTSS переключающей задачи.переключающей задачи.
5.5. Выполняется загрузка состояния переключающейВыполняется загрузка состояния переключающей
задачи из еезадачи из ее TSSTSS и возобновляется работа ЦП.и возобновляется работа ЦП.
Лишь значение первыхЛишь значение первых 68h байт68h байт сегмента состояниясегмента состояния
задачи строго определены. Именнозадачи строго определены. Именно это число являетсяэто число является
минимальным размером TSS.минимальным размером TSS.
Операционная система может по своему усмотрениюОперационная система может по своему усмотрению
устанавливать размер TSS и заполнять сегментустанавливать размер TSS и заполнять сегмент
данными.данными. Кроме того, в TSS может располагатьсяКроме того, в TSS может располагаться
необязательная для задачи структура -необязательная для задачи структура - двоичная картадвоичная карта
разрешения ввода вывода (I/O permission bit map).разрешения ввода вывода (I/O permission bit map). ЕеЕе
адрес задается в последнем обязательном поле TSS.адрес задается в последнем обязательном поле TSS.
Процессор обращается к этой карте, когда IOPL неПроцессор обращается к этой карте, когда IOPL не
позволяет выполнять инструкцию ввода-вывода. Каждыйпозволяет выполнять инструкцию ввода-вывода. Каждый
бит этой карты соответствует одному порту ввода-вывода.бит этой карты соответствует одному порту ввода-вывода.
Если бит сброшен в 0, то операция ввода-выводаЕсли бит сброшен в 0, то операция ввода-вывода
выполняется без нарушения общей защиты, а если битвыполняется без нарушения общей защиты, а если бит
выставлен в 1, то генерируется исключение #13.выставлен в 1, то генерируется исключение #13.
В глобальной дескрипторной таблицеВ глобальной дескрипторной таблице ((GDTGDT))
могут быть:могут быть:
 дескрипторы сегментов кода, данных, стека;дескрипторы сегментов кода, данных, стека;
 дескрипторы сегментовдескрипторы сегментов состояния задачисостояния задачи
TSSTSS;;
 дескрипторы таблицдескрипторы таблиц LDTLDT;;
 системные дескрипторы: шлюзы вызовов исистемные дескрипторы: шлюзы вызовов и
шлюзы задач.шлюзы задач.
При переключении задачи процессор можетПри переключении задачи процессор может
продолжить выполнение новой задачи впродолжить выполнение новой задачи в
особом состоянии - в состоянии эмуляции 8086особом состоянии - в состоянии эмуляции 8086
(VM86).(VM86).
Переход в это состояние инициирует установкаПереход в это состояние инициирует установка
в 1 флажка 17 (Virtual Mode) в регистре EFLAGSв 1 флажка 17 (Virtual Mode) в регистре EFLAGS
при восстановлении контекста процессора из TSS.при восстановлении контекста процессора из TSS.
Для задачи в состоянии VM86 считаетсяДля задачи в состоянии VM86 считается, что, что
CPL=3, код и данные по умолчанию имеютCPL=3, код и данные по умолчанию имеют
размер 16 бит, пределы всех сегментов – 64размер 16 бит, пределы всех сегментов – 64
Кбайт, адресуется только нижний мегабайтКбайт, адресуется только нижний мегабайт
линейного пространства.линейного пространства.
Виртуальный режимВиртуальный режим
ЦП 80ЦП 803386 (переключение режимов)86 (переключение режимов)
Сравнительные характеристикиСравнительные характеристики
режимов работы процессорарежимов работы процессора
ХарактеристикаХарактеристика RMRM PM, VM=0PM, VM=0 PM, VM=1PM, VM=1 SMMSMM
ФормированиеФормирование
линейного адресалинейного адреса
без участиябез участия
селекторовселекторов
черезчерез
селекторы иселекторы и
дескрипторыдескрипторы
без участиябез участия
селекторовселекторов
без участиябез участия
селекторовселекторов
Предел сегментовПредел сегментов 64К64К определяетсяопределяется
дескрипторомдескриптором
64К64К 4Г4Г
МаксимальныйМаксимальный
объем доступнойобъем доступной
памятипамяти
(виртуальной)(виртуальной)
1M+64K-161M+64K-16 64T-2х4Г64T-2х4Г 1M+64K-161M+64K-16 4Г4Г
ЗащитаЗащита НетНет ДаДа Только наТолько на
уровне страницуровне страниц
НетНет
СтраничноеСтраничное
преобразование (впреобразование (в
т.ч. PAE)т.ч. PAE)
НетНет ДаДа ДаДа НетНет
МультизадачностьМультизадачность НетНет ДаДа ДаДа НетНет
ЦП 80386 (формат команды)ЦП 80386 (формат команды)
ПРЕФИКС КОП MOD R/M SIB СМЕЩЕНИЕ ДАННЫЕ
1-2 байта 1-2 байта 0-1 байт 0-1 байт 0,1,2,4 байт 0,1,2,4 байт
Адресная часть
Типы префиксов:Типы префиксов:
замена сегментов;замена сегментов;
размер адреса (16 или 32 бит);размер адреса (16 или 32 бит);
размер операнда;размер операнда;
повторение (используется с командами обработкиповторение (используется с командами обработки
строк);строк);
блокировка.блокировка.
Формат командыФормат команды
КОП -КОП - код операциикод операции..
Байт "Байт "Mod RMod R//MM" определяет" определяет режим адресациирежим адресации, а, а
также иногда дополнительный код операции.также иногда дополнительный код операции.
Необходимость байта "Необходимость байта "Mod RMod R//MM" зависит от типа" зависит от типа
инструкции.инструкции.
БайтБайт SIBSIB ((ScaleScale--IndexIndex--BaseBase) определяет) определяет способспособ
адресацииадресации при обращении к памяти в 32-битном режиме.при обращении к памяти в 32-битном режиме.
Необходимость байтаНеобходимость байта SIBSIB зависит от режима адресации,зависит от режима адресации,
задаваемого полем "задаваемого полем "Mod RMod R//MM".".
Кроме того, инструкция может содержатьКроме того, инструкция может содержать
непосредственный операнд и/или смещение операнданепосредственный операнд и/или смещение операнда
в сегменте данных.в сегменте данных.
На размер инструкции накладывается ограничение в 15На размер инструкции накладывается ограничение в 15
байт. Для совместимости с 16-битными процессорамибайт. Для совместимости с 16-битными процессорами
архитектураархитектура IAIA-32 использует одинаковые коды для инструкций,-32 использует одинаковые коды для инструкций,
оперирующих как с 16-битными, так и 32-битными операндами.оперирующих как с 16-битными, так и 32-битными операндами.
Структура МПСтруктура МП Intel 80486Intel 80486
Шинный интерфейс
Драйверы
адреса
Буферы записи
Приемо-
передатчики
данных
Управление
шиной
Управление
пакетами
Управление
размером
Управление
кэш-памятью
Управление
паритетом
Адрес
Данные
Управление
Кэш-память 8К
Устройство
предвыборки
команд
Очередь
кода 32 байта
32
32
32
Устройство
страничного
преобразования
Ассоциативный
буфер
PCD
PWT
Физи-
ческий
адрес
128
Устройство
сегментации
Регистры
дескрипторов
Контроль предела
и атрибутов
Парал-ный
сдвигатель
Регистры
АЛУ
32
Дешифратор
команд
24
Устройство
управления
Управляющее
ПЗУ
Дешифрированная
команда
Устройство
с плавающей
точкой
Регистры
Микрокоманда
Шина смещения32
База
Команды
Шина линейного адреса32
Шина данных32
Шина данных32
64-битная внутренняя шина
Режим пакетированияРежим пакетирования
ТактТакт КонвейеризацияКонвейеризация
(80286)(80286)
ПакетПакет
(80486)(80486)
11 Адрес 1 словаАдрес 1 слова Адрес 1 словаАдрес 1 слова
22 Передача 1 словаПередача 1 слова --------------------
33 Адрес 2 словаАдрес 2 слова Передача 1 словаПередача 1 слова
44 Передача 2 словаПередача 2 слова Передача 2 словаПередача 2 слова
55 Адрес 3 словаАдрес 3 слова Передача 3 словаПередача 3 слова
66 Передача 3 словаПередача 3 слова Передача 4 словаПередача 4 слова
77 Адрес 4 словаАдрес 4 слова --------------------
88 Передача 4 словаПередача 4 слова --------------------
Средство блочной передачиСредство блочной передачи:: 64 бита за 1 раз64 бита за 1 раз..
Уровни привилегий вУровни привилегий в IAIA--3232
Архитектура защиты МП обеспечиваетАрхитектура защиты МП обеспечивает 44
иерархических уровня привилегийиерархических уровня привилегий, что, что позволяетпозволяет
ограничить задаче доступ к отдельным сегментам вограничить задаче доступ к отдельным сегментам в
зависимости от ее текущих привилегий.зависимости от ее текущих привилегий.
ПривилегииПривилегии -- это свойство (обычноэто свойство (обычно
устанавливаемое при проектировании системы), котороеустанавливаемое при проектировании системы), которое
определяет, какие компьютерные операции разрешаютсяопределяет, какие компьютерные операции разрешаются
в любой момент времени и какие доступы к памятив любой момент времени и какие доступы к памяти
законнызаконны..
Привилегии используются для обеспеченияПривилегии используются для обеспечения
безопасности в компьютерной системебезопасности в компьютерной системе. Привилегии. Привилегии
реализуются путем присвоения значения от 0 до 3реализуются путем присвоения значения от 0 до 3
ключевым объектам, которые опознаются процессором.ключевым объектам, которые опознаются процессором.
Значение 0 соответствует наибольшим привилегиям, тогдаЗначение 0 соответствует наибольшим привилегиям, тогда
как значение 3 - наименьшим.как значение 3 - наименьшим.
В процессоре имеетсяВ процессоре имеется два уровня защиты: защита надва уровня защиты: защита на
уровне сегментов и защита на уровне страниц.уровне сегментов и защита на уровне страниц.
ЦП 80486 (уровни привилегий)ЦП 80486 (уровни привилегий)
0
1
2
3 0 – Ядро ОС; 1 – ОС; 2 – Системы0 – Ядро ОС; 1 – ОС; 2 – Системы
программирования; 3 – Прикладныепрограммирования; 3 – Прикладные
программыпрограммы
В реальных операционных системахВ реальных операционных системах
обычно не используются все четыреобычно не используются все четыре
уровня. UNIX и Windows, например,уровня. UNIX и Windows, например,
используют только два уровня привилегийиспользуют только два уровня привилегий
- 0 (для ядра системы) и 3 (для всего- 0 (для ядра системы) и 3 (для всего
остального), а OS/2 использует уровни 0остального), а OS/2 использует уровни 0
(для ядра системы), 2 (для процедур(для ядра системы), 2 (для процедур
ввода-вывода) и 3 (для прикладныхввода-вывода) и 3 (для прикладных
программ).программ).
НаправлениеНаправление
обращения к даннымобращения к данным
Защита на уровне сегментов представленаЗащита на уровне сегментов представлена
четырьмя уровнями привилегийчетырьмя уровнями привилегий.. ПривилегированныеПривилегированные
команды выполняются только на «0» - уровне привилегий,команды выполняются только на «0» - уровне привилегий,
на всех других уровнях вызывается исключение №13 –на всех других уровнях вызывается исключение №13 –
нарушение общей защиты.нарушение общей защиты.
Защита на уровне сегментовЗащита на уровне сегментов
Защита на уровне сегментов состоит в защите от выполненияЗащита на уровне сегментов состоит в защите от выполнения
привилегированных команд, защите доступа к данным и защитепривилегированных команд, защите доступа к данным и защите
сегментов кода.сегментов кода.
В процессоре есть команды, которые могут кардинально изменитьВ процессоре есть команды, которые могут кардинально изменить
состояние всей системы. Такие команды выполняются только насостояние всей системы. Такие команды выполняются только на
нулевом уровне привилегий, а на всех других уровнях вызываютнулевом уровне привилегий, а на всех других уровнях вызывают
нарушение общей защиты (исключение #13). К этим командамнарушение общей защиты (исключение #13). К этим командам
относятся:относятся:
HLT - останов процессора;HLT - останов процессора;
CLTS - сброс флажка Task Switched (исп. при управленииCLTS - сброс флажка Task Switched (исп. при управлении
мультизадачностью);мультизадачностью);
LIDT, LGDT, LLDT - загрузка регистров дескрипторных таблиц;LIDT, LGDT, LLDT - загрузка регистров дескрипторных таблиц;
LTR - загрузка регистра задачи;LTR - загрузка регистра задачи;
LMSW - загрузка младшего слова регистра CR0;LMSW - загрузка младшего слова регистра CR0;
MOV CRx,reg32 - работа с управляющими регистрами;MOV CRx,reg32 - работа с управляющими регистрами;
MOV DRx,reg32 - работа с регистрами отладки,MOV DRx,reg32 - работа с регистрами отладки,
а также команды работы со специфическими регистрами (TRx - дляа также команды работы со специфическими регистрами (TRx - для
386,486; MCRs - для Pentium и P6; MTRRs - для P6). Следует отметить,386,486; MCRs - для Pentium и P6; MTRRs - для P6). Следует отметить,
что команда POPFD также чувствительна к уровню привилегий. Она нечто команда POPFD также чувствительна к уровню привилегий. Она не
изменяет состояние управляющих флажков IOPL, IF и др., еслиизменяет состояние управляющих флажков IOPL, IF и др., если
выполняется на уровне привилегий, отличном от нулевого.выполняется на уровне привилегий, отличном от нулевого.
Защита на уровне сегментовЗащита на уровне сегментов
CPLCPL –– текущий уровень привилегийтекущий уровень привилегий (Current Privilege(Current Privilege
Level):Level): уровень привилегий, на котором в данныйуровень привилегий, на котором в данный
момент исполняется задачамомент исполняется задача. Значение CPL хранится в. Значение CPL хранится в
поле RPLполе RPL селектора сегмента кода, который помещен вселектора сегмента кода, который помещен в
регистр CSрегистр CS.. Обычно это значение соответствует уровнюОбычно это значение соответствует уровню
привилегий дескриптора исполняемого сегмента кода. Уровеньпривилегий дескриптора исполняемого сегмента кода. Уровень
привилегий меняется, когда управление передается сегменту кода спривилегий меняется, когда управление передается сегменту кода с
другим значением DPL (за исключением подчиняемых сегментовдругим значением DPL (за исключением подчиняемых сегментов
кода).кода).
DPLDPL –– уровень привилегий дескрипторауровень привилегий дескриптора (Descriptor(Descriptor
Privilege Level): наименее привилегированный уровень, наPrivilege Level): наименее привилегированный уровень, на
котором задача может получить доступ к сегменту иликотором задача может получить доступ к сегменту или
шлюзу, связанному с этим дескриптором.шлюзу, связанному с этим дескриптором.
RPLRPL –– запрашиваемый уровень привилегийзапрашиваемый уровень привилегий (Requested(Requested
Privilege Level) используется для временного пониженияPrivilege Level) используется для временного понижения
своего уровня привилегий при обращении к памяти. RPLсвоего уровня привилегий при обращении к памяти. RPL
заносится взаносится в младшие биты селекторамладшие биты селектора..
IOPLIOPL –– уровень привилегий вводауровень привилегий ввода//вывода (вывода (EFLAGSEFLAGS).).
 Доступ к данным разрешенДоступ к данным разрешен, если, если
max(CPL,RPL)<=DPLmax(CPL,RPL)<=DPL, в противном случае генерируется, в противном случае генерируется
нарушение общей защиты.нарушение общей защиты.
 Команды с портами или командыКоманды с портами или команды I/OI/O выполняютсявыполняются
только в том случае еслитолько в том случае если:: CPL<=IOPLCPL<=IOPL..
 Контроль привилегийКонтроль привилегий при доступе к стекупри доступе к стеку
осуществляется при загрузке селектора в регистр SS.осуществляется при загрузке селектора в регистр SS.
Программа должна использовать сегмент стека,Программа должна использовать сегмент стека,
находящийся на том же уровне привилегий, т. е.находящийся на том же уровне привилегий, т. е.
CPL=RPL=DPLCPL=RPL=DPL..
 Для передачи управления на обычный сегментДля передачи управления на обычный сегмент
кодакода его уровень привилегий должен совпадать с текущимего уровень привилегий должен совпадать с текущим
уровнем привилегий. Значение RPL должно быть неуровнем привилегий. Значение RPL должно быть не
больше CPL, чтобы не вызывать исключения, но внебольше CPL, чтобы не вызывать исключения, но вне
зависимости от значения RPL уровень привилегий независимости от значения RPL уровень привилегий не
сменится:сменится: CPL=DPLCPL=DPL..
Правила на основе привилегийПравила на основе привилегий
 Для передачи управления между уровнямиДля передачи управления между уровнями
привилегий используютсяпривилегий используются системные дескрипторысистемные дескрипторы,,
называемыеназываемые шлюзами вызовашлюзами вызова..
Дескриптор шлюза вызоваДескриптор шлюза вызова содержит точку входа всодержит точку входа в
привилегированную процедуру (селектор: смещение) ипривилегированную процедуру (селектор: смещение) и
число передаваемых ей через стек параметров. Длячисло передаваемых ей через стек параметров. Для
передачи управления привилегированной процедурепередачи управления привилегированной процедуре
адресуется не сама процедура, а шлюз к ней. Шлюзыадресуется не сама процедура, а шлюз к ней. Шлюзы
можно адресовать только в команде FAR CALL, т.е.можно адресовать только в команде FAR CALL, т.е.
"насовсем" сменить уровень привилегий таким способом"насовсем" сменить уровень привилегий таким способом
нельзя, всегда предполагается возврат на более низкийнельзя, всегда предполагается возврат на более низкий
уровень привилегий. Правило разрешения вызова черезуровень привилегий. Правило разрешения вызова через
шлюз выглядит так:шлюз выглядит так:
DPLDPLцелицели<=max(CPL,RPL)<=DPL<=max(CPL,RPL)<=DPLшлюзашлюза..
Защита на уровне страницЗащита на уровне страниц
Защита страниц обеспечивается двумя уровнямиЗащита страниц обеспечивается двумя уровнями
привилегий: супервизора и пользователя.привилегий: супервизора и пользователя.
Уровню супервизора соответствуют 0-й, 1-й, 2-й уровниУровню супервизора соответствуют 0-й, 1-й, 2-й уровни
привилегий сегментов, а уровню пользователя - 3-й. Дляпривилегий сегментов, а уровню пользователя - 3-й. Для
каждой страницы указывается (в PDE/PTE), с какогокаждой страницы указывается (в PDE/PTE), с какого
уровня привилегий она доступна.уровня привилегий она доступна.
Правило привилегий таково: с уровня супервизораПравило привилегий таково: с уровня супервизора
доступны все страницы, а с уровня пользователя -доступны все страницы, а с уровня пользователя -
только страницы с битом U/S=1только страницы с битом U/S=1. Кроме того, в PDE/PTE. Кроме того, в PDE/PTE
указывается тип доступа к странице (доступна ли страницауказывается тип доступа к странице (доступна ли страница
для записи): R/W=0 - только чтение, R/W=1 - доступныдля записи): R/W=0 - только чтение, R/W=1 - доступны
чтение и запись. Следует отметить действие бита 16 (Writeчтение и запись. Следует отметить действие бита 16 (Write
Protect) в регистре CR0. Когда этот бит выставлен,Protect) в регистре CR0. Когда этот бит выставлен,
страницы уровня пользователя с пометкой "read-only"страницы уровня пользователя с пометкой "read-only"
защищены от записи при обращениях с уровнязащищены от записи при обращениях с уровня
супервизора.супервизора.

More Related Content

What's hot

Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системpianist2317
 
Строение компьютера
Строение компьютераСтроение компьютера
Строение компьютераRonny_Rosenberg
 
Medical informatics
Medical informaticsMedical informatics
Medical informaticsHelao Silas
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ontico
 
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...Mikhail Kurnosov
 
Лекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и системЛекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и системpianist2317
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Mikhail Kurnosov
 
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)Mikhail Kurnosov
 
43
4343
43JIuc
 
Обзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурОбзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурIoT Community
 
История развития микроконтроллеров
История развития микроконтроллеровИстория развития микроконтроллеров
История развития микроконтроллеровIoT Community
 
лекция 4
лекция 4лекция 4
лекция 4JIuc
 
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Mikhail Kurnosov
 
Процессоры и составляющие системного блока
Процессоры и составляющие системного блокаПроцессоры и составляющие системного блока
Процессоры и составляющие системного блокаWewillneversleep
 
035
035035
035JIuc
 
тест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектурытест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектурыJIuc
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системpianist2317
 

What's hot (20)

Лекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и системЛекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и систем
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и систем
 
Строение компьютера
Строение компьютераСтроение компьютера
Строение компьютера
 
Medical informatics
Medical informaticsMedical informatics
Medical informatics
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
 
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
 
Лекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и системЛекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и систем
 
[DD] 10. Memory
[DD] 10. Memory[DD] 10. Memory
[DD] 10. Memory
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
 
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
 
43
4343
43
 
Обзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурОбзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектур
 
презентация 1
презентация 1презентация 1
презентация 1
 
История развития микроконтроллеров
История развития микроконтроллеровИстория развития микроконтроллеров
История развития микроконтроллеров
 
лекция 4
лекция 4лекция 4
лекция 4
 
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
 
Процессоры и составляющие системного блока
Процессоры и составляющие системного блокаПроцессоры и составляющие системного блока
Процессоры и составляющие системного блока
 
035
035035
035
 
тест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектурытест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектуры
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и систем
 

Similar to Лекция № 2 Организация ЭВМ и систем

Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchipРазработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchipARCCN
 
Лекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системЛекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системpianist2317
 
Смарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаСмарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаPositive Hack Days
 
prezlec_Історія.ppt
prezlec_Історія.pptprezlec_Історія.ppt
prezlec_Історія.pptssusere2bc36
 
Современные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageСовременные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageDEPO Computers
 
Аппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераАппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераstudent_SSGA
 
Scalablehw Лагунцов
Scalablehw ЛагунцовScalablehw Лагунцов
Scalablehw ЛагунцовOntico
 
устройство компьютера.
устройство компьютера.устройство компьютера.
устройство компьютера.Svetlana Belova
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSUlarhat
 
ETegro: решения для ЦОД
ETegro: решения для ЦОДETegro: решения для ЦОД
ETegro: решения для ЦОДMirantis IT Russia
 
подходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших системподходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших системDenis Pavlov
 
34
3434
34JIuc
 
Векторизация кода (семинар 1)
Векторизация кода (семинар 1)Векторизация кода (семинар 1)
Векторизация кода (семинар 1)Mikhail Kurnosov
 
Presentation Amd Cpu
Presentation Amd CpuPresentation Amd Cpu
Presentation Amd Cpuandrei145
 

Similar to Лекция № 2 Организация ЭВМ и систем (20)

4
44
4
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchipРазработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchip
 
Chipset
ChipsetChipset
Chipset
 
Лекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системЛекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и систем
 
apparatnoe_obespechenie
apparatnoe_obespechenieapparatnoe_obespechenie
apparatnoe_obespechenie
 
Смарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаСмарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны Разработчика
 
prezlec_Історія.ppt
prezlec_Історія.pptprezlec_Історія.ppt
prezlec_Історія.ppt
 
Современные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageСовременные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO Storage
 
материнская плата
материнская платаматеринская плата
материнская плата
 
Аппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераАппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютера
 
Scalablehw Лагунцов
Scalablehw ЛагунцовScalablehw Лагунцов
Scalablehw Лагунцов
 
устройство компьютера.
устройство компьютера.устройство компьютера.
устройство компьютера.
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSU
 
ETegro: решения для ЦОД
ETegro: решения для ЦОДETegro: решения для ЦОД
ETegro: решения для ЦОД
 
подходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших системподходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших систем
 
34
3434
34
 
Векторизация кода (семинар 1)
Векторизация кода (семинар 1)Векторизация кода (семинар 1)
Векторизация кода (семинар 1)
 
Efficiency vvv
Efficiency vvvEfficiency vvv
Efficiency vvv
 
Presentation Amd Cpu
Presentation Amd CpuPresentation Amd Cpu
Presentation Amd Cpu
 

Лекция № 2 Организация ЭВМ и систем

  • 1. Организация ЭВМ и систем Тема: Анализ развития процессоров фирмы Intel семейства IA-32 • Инициализация ПЭВМ на базе микропроцессоров IA-32 • Архитектура 16-битных процессоров IA-32 - 8086, 80286: основные регистры, адресация памяти, режимы работы • Архитектура 32-битных процессоров IA-32: - ЦП 80386: основные регистры, режимы работы. - Страничная и сегментная организация памяти. - Многозадачность. Формат команд • ЦП 80486 – режим пакетирования
  • 2. Инициализация ПЭВМИнициализация ПЭВМ Аппаратная часть:Аппаратная часть: 1.1. Системное ядроСистемное ядро ПК включает:ПК включает:  ЦП;ЦП;  2 – 3х-канальных таймера;2 – 3х-канальных таймера;  2 контроллера прерываний с 8-ю уровнями2 контроллера прерываний с 8-ю уровнями каждый;каждый;  2 – 4х-канальных контроллера ПДП;2 – 4х-канальных контроллера ПДП;  порты ввода/вывода;порты ввода/вывода;  CMOSCMOS память;память;  часы реального времени;часы реального времени;  контроллер клавиатуры.контроллер клавиатуры.
  • 3. Инициализация ПЭВМИнициализация ПЭВМ 2.2. Модули расширенияМодули расширения::  Контроллеры накопителей.Контроллеры накопителей.  Накопители.Накопители.  Видеоадаптеры.Видеоадаптеры.  Сетевые карты.Сетевые карты. Программная часть:Программная часть:  BIOSBIOS..  POSTPOST..  BIOS SETUPBIOS SETUP..
  • 4. Алгоритм пробужденияАлгоритм пробуждения (инициализация) ПК(инициализация) ПК 1.1.Включение питания.Включение питания. 2.2.Самодиагностика, идентификация, проверкаСамодиагностика, идентификация, проверка процессора и сопроцессора.процессора и сопроцессора. 3.3.Проверка и инициализация системного ядра.Проверка и инициализация системного ядра. 4.4.Включение механизмаВключение механизма Plug and Play.Plug and Play. 5.5.Проверка и инициализация видеоадаптера.Проверка и инициализация видеоадаптера. 6.6.ПроверкаПроверка CMOSCMOS памяти и часов реального времени.памяти и часов реального времени. 7.7.Определение объема и проверка оперативной памяти.Определение объема и проверка оперативной памяти. 8.8.Проверка клавиатуры и инициализация портовПроверка клавиатуры и инициализация портов (LPT,(LPT, COM).COM). 9.9.Инициализация дисковых накопителей.Инициализация дисковых накопителей. 10.10.Проверка модулей расширенияПроверка модулей расширения BIOSBIOS.. 11.11.Включение механизмаВключение механизма APRAPR.. 12.12.Вызов системного загрузчика.Вызов системного загрузчика. 13.13.Загрузка ОС.Загрузка ОС.
  • 5. Анализ развитияАнализ развития ЦП ф.ЦП ф.IntelIntel семействасемейства IA-32IA-32 Тип ЦПТип ЦП СвойстваСвойства 80868086 80888088 8028680286 8038680386 8048680486 PentiumPentium P6P6 1.1. Год выпускаГод выпуска 19781978 19791979 19821982 19851985 19891989 19931993 19951995 2.2. Проектные нормыПроектные нормы (мкм)(мкм) 33 33 1, 51, 5 11 1 - 0,81 - 0,8 0,8 - 0,60,8 - 0,6 0,6 - 0,350,6 - 0,35 3.3. Кол-во транзисторовКол-во транзисторов 2900029000 2900029000 130000130000 2750027500 00 1млн201млн20 0т0т 3млн103млн10 0т0т 9млн5009млн500 тт 4.4. Разрядность ШДРазрядность ШД//ШАША 16/2016/20 8/208/20 16/2416/24 32/3232/32 32/3232/32 64/3264/32 64/3264/32 (36)(36) 5.5. MaxMax объемобъем физической памятифизической памяти 11 МбМб 1 Мб1 Мб 16 Мб16 Мб 4 Гб4 Гб 4 Гб4 Гб 4 Гб4 Гб 4 Гб (644 Гб (64 Гб)Гб) 6.6. MaxMax объемобъем виртуальной памятивиртуальной памяти 1 Мб1 Мб 1 Мб1 Мб 1Гб1Гб 64 Тб64 Тб 64 Тб64 Тб 64 Тб64 Тб 64 Тб64 Тб 7.7. MaxMax размер сегментаразмер сегмента 64 Кб64 Кб 64 Кб64 Кб 64 Кб64 Кб 64 Кб,64 Кб, 4 Гб4 Гб 64 Кб,64 Кб, 4 Гб4 Гб 64 Кб,64 Кб, 4 Гб4 Гб 64 Кб,64 Кб, 4 Гб4 Гб
  • 6. Тип ЦПТип ЦП СвойстваСвойства 80868086 80888088 8028680286 8038680386 8048680486 PentiumPentium P6P6 8.8. Размер очередиРазмер очереди предвыборки (байт)предвыборки (байт) 66 66 1616 3232 3232 3232 3232 9.9. Размер операндовРазмер операндов (бит)(бит) 8, 168, 16 8, 168, 16 8, 168, 16 8, 16,8, 16, 3232 8, 16,8, 16, 32, 6432, 64 8, 16,8, 16, 32, 6432, 64 8, 16,8, 16, 32, 6432, 64 10.10. Размер регистровРазмер регистров (бит)(бит) 8, 168, 16 8, 168, 16 8, 168, 16 8, 16,8, 16, 3232 8, 16,8, 16, 3232 8, 16,8, 16, 3232 8, 16, 328, 16, 32 11.11. Разбиение наРазбиение на страницыстраницы нетнет нетнет нетнет естьесть естьесть естьесть естьесть 12.12. Рабочая частотаРабочая частота (МГЦ)(МГЦ) 5, 8,5, 8, 1010 5, 8, 105, 8, 10 8, 10,8, 10, 12, 1612, 16 20,20, 25,25, 33, 4033, 40 25 - 13325 - 133 60 - 23360 - 233 166, 180,166, 180, 200200 13.13. Защита памяти иЗащита памяти и ввода/выводаввода/вывода нетнет нетнет естьесть естьесть естьесть естьесть естьесть 14.14. СопроцессорСопроцессор 80878087 80878087 8028780287 8028780287 8038780387 FPUFPU FPUFPU FPUFPU
  • 7. Поколения процессоров фирмы IntelПоколения процессоров фирмы Intel Название ядра Версия процессораНазвание ядра Версия процессора Есть рабочее название ядер процессора (определяется микроархитектурой) и естьЕсть рабочее название ядер процессора (определяется микроархитектурой) и есть рабочее название версии процессора (определяется, например, техпроцессом илирабочее название версии процессора (определяется, например, техпроцессом или размером кэша). Иногда они совпадают.размером кэша). Иногда они совпадают. 11 086086 22 286286 33 386386 44 486486 55 P5P5 Pentium (P5)Pentium (P5) Pentium (P54)Pentium (P54) Pentium MMX (P55)Pentium MMX (P55) 66 P6P6 Pentium ProPentium Pro Pentium II (Klamath,Pentium II (Klamath, Deschutes, Katmai)Deschutes, Katmai) Celeron (Covington,Celeron (Covington, Mendocino, Dixon и т.д.)Mendocino, Dixon и т.д.) Pentium III (Coppermine,Pentium III (Coppermine, Tualatin)Tualatin) CeleronCeleron Pentium MPentium M Core DuoCore Duo
  • 8. 77 P7P7 NetBurstNetBurst Pentium 4 (Willamette)Pentium 4 (Willamette) Pentium 4 (Northwood)Pentium 4 (Northwood) Pentium 4 серии 5XX (Prescott)Pentium 4 серии 5XX (Prescott) Celeron D 3XX (Prescott)Celeron D 3XX (Prescott) Pentium 4 серии 6XX (PrescottPentium 4 серии 6XX (Prescott 2M)2M) Pentium 4 eXtreme EditionPentium 4 eXtreme Edition серии 840 (Smithfield)серии 840 (Smithfield) Pentium eXtreme Edition серииPentium eXtreme Edition серии 9XX (Smithfield)9XX (Smithfield) Pentium D серии 8XXPentium D серии 8XX (Smithfield)(Smithfield) Pentium D серии 9XXPentium D серии 9XX (Smithfield)(Smithfield) 88 P8P8 Intel CoreIntel Core Core 2 Duo серии E4300 иCore 2 Duo серии E4300 и E6XXX (Conroe)E6XXX (Conroe) Core 2 Extreme X6800 иCore 2 Extreme X6800 и QX6700 (Conroe)QX6700 (Conroe) Core 2 Quad (Kentsfield) серииCore 2 Quad (Kentsfield) серии Q6xxxQ6xxx
  • 9. ЦП 8086ЦП 8086 Регистры данныхРегистры данных Регистры сегментовРегистры сегментов Регистры указателиРегистры указатели АН AL 15 8 7 0 AX BX DX CX Базовый адрес сегмента кода Базовый адрес сегмента данных Базовый адрес сегмента данных Базовый адрес сегмента стека CS DS ES SS 015 15 0 SP BP SI DI Регистр указатель стека Регистр указатель базы Индексный регистр (источник) Индексный регистр (приемник) Адресное пространство CS DS SS Счетчик команд Регистр флагов IP FLAGS
  • 10. Формирование линейного адресаФормирование линейного адреса Содержимое сегментного регистра сдвигаетсяСодержимое сегментного регистра сдвигается влево на 4 бита и складывается со смещением, ввлево на 4 бита и складывается со смещением, в результате чего получается двадцатиразрядныйрезультате чего получается двадцатиразрядный физический адрес.физический адрес. + 19 0 15 0 019 0 0 0 0 4 Àíèìàöèÿ.swf
  • 11. ЦП 80286ЦП 80286 Программная модель:Программная модель: 14 регистров ЦП 8086 + 5 новых:14 регистров ЦП 8086 + 5 новых: GDTRGDTR – 40-– 40-разрядный (определяет размер иразрядный (определяет размер и положение (базовый адрес) глобальной дескрипторнойположение (базовый адрес) глобальной дескрипторной таблицы).таблицы). LDTRLDTR – 16-разрядный (селектор– 16-разрядный (селектор LDTLDT, определяет, определяет базовый адрес локальной дескрипторной таблицы).базовый адрес локальной дескрипторной таблицы). IDTRIDTR –– 40-разрядный (определяет начало и размер40-разрядный (определяет начало и размер таблицы векторов прерываний).таблицы векторов прерываний). MSWMSW –– слово состояния (если флагслово состояния (если флаг PE=1PE=1, то, то процессор переключается в защищенный режим).процессор переключается в защищенный режим). TRTR –– 16-разрядный (содержит селектор сегмента16-разрядный (содержит селектор сегмента состояния задачи, используется для многозадачности).состояния задачи, используется для многозадачности). + 6 невидимых регистров (они связаны с+ 6 невидимых регистров (они связаны с CS, DS, ES,CS, DS, ES, SS, GDTR, IDTRSS, GDTR, IDTR))..
  • 12. ЦП 80286 (режимы работыЦП 80286 (режимы работы)) В процессоре 80286 было реализовано два режимаВ процессоре 80286 было реализовано два режима функционирования:функционирования:  режим эмуляции 8086режим эмуляции 8086 (режим реального(режим реального адреса);адреса);  защищенный режимзащищенный режим, в котором, в котором используются все возможности процессора.используются все возможности процессора.
  • 13. Формирование линейного адреса вФормирование линейного адреса в защищенном режимезащищенном режиме ИНДЕКС 01215 RPLRPL TITI 00 - GDT- GDT 1- LDT1- LDT Указывает на номерУказывает на номер записи в дескрипторнойзаписи в дескрипторной таблицетаблице Значения, помещаемые в сегментные регистры,Значения, помещаемые в сегментные регистры, называютсяназываются селекторамиселекторами. Селектор содержит индекс. Селектор содержит индекс дескриптора в дескрипторной таблице, битдескриптора в дескрипторной таблице, бит определяющий, к какой дескрипторной таблицеопределяющий, к какой дескрипторной таблице производится обращение (LDT или GDT), а такжепроизводится обращение (LDT или GDT), а также запрашиваемые права доступа к сегменту.запрашиваемые права доступа к сегменту.
  • 14. Формирование линейного адреса вФормирование линейного адреса в защищенном режимезащищенном режиме       ДескрипторДескриптор - это 8-байтная единица- это 8-байтная единица описательной информации, распознаваемаяописательной информации, распознаваемая устройством управления памятью в защищенномустройством управления памятью в защищенном режиме, хранящаяся в дескрипторной таблице.режиме, хранящаяся в дескрипторной таблице. Дескриптор сегмента содержит:Дескриптор сегмента содержит: базовый адрес описываемого сегмента,базовый адрес описываемого сегмента, предел (размер) сегментапредел (размер) сегмента и права доступа к сегменту.и права доступа к сегменту.
  • 15. Формирование линейного адреса вФормирование линейного адреса в защищенном режимезащищенном режиме СуществуютСуществуют две обязательныхдве обязательных дескрипторных таблицыдескрипторных таблицы -- глобальнаяглобальная (GDT) и(GDT) и дескрипторнаядескрипторная таблица прерываниятаблица прерывания (IDT),(IDT), а такжеа также множество локальныхмножество локальных дескрипторных таблицдескрипторных таблиц (LDT), из которых(LDT), из которых в одинв один момент времени процессору доступна толькомомент времени процессору доступна только одна.одна.
  • 16. Формирование линейного адреса вФормирование линейного адреса в защищенном режимезащищенном режиме СелекторСелектор СмещениеСмещение ДескрипторДескриптор Логический адресЛогический адрес Дескрипторная таблица (Дескрипторная таблица (0 – GDT, 1 – LDT)0 – GDT, 1 – LDT) 002323 Физический адресФизический адрес ++ 15 0 15 0 Àíèìàöèÿ.swf
  • 17. Формирование линейного адреса вФормирование линейного адреса в защищенном режимезащищенном режиме Расположение дескрипторных таблицРасположение дескрипторных таблиц определяется регистрами процессораопределяется регистрами процессора GDTR,GDTR, IDTR, LDTR.IDTR, LDTR. РегистрыРегистры GDTRGDTR ии IDTRIDTR - содержат базовый- содержат базовый адрес и предел дескрипторной таблицы.адрес и предел дескрипторной таблицы. Программно доступная часть регистраПрограммно доступная часть регистра LDTRLDTR -- 16 бит, которые являются16 бит, которые являются селектором LDTселектором LDT.. Дескрипторы LDT находятся в GDT.Дескрипторы LDT находятся в GDT.
  • 18. Шинная архитектура ЦП 80286Шинная архитектура ЦП 80286 Синхро- генератор 82284 ЦП 80286 CLK RESET READY Шинный контроллер 82288 S0 S1 L-шина(локальная) адрес данные Буфер S-шина(системная) Буфер Буфер М-шина(памяти) ОП Х-шина(периферий- ногоустройства) ПУнаматеринскойплате управление
  • 19. Структура микропроцессораСтруктура микропроцессора Intel 80386Intel 80386 Циклический сдвигатель, сумматор Умножитель/ делитель Набор регистров Декодирование и упорядочение Управляющее ПЗУ Декодер команд Очередь декодированных команд Устройство предварительной выборки 16-байтная очередь кодов Трехвходовый сумматор Регистры дескрипторов ПЛМ границ и атрибутов Сумматор Кэш страниц ПЛМ управления и атрибутов Блок проверки защиты Арбитр запросов Драйвер адреса Управление размером шины, конвейером Мультиплексор, приемопере- датчики АЛУ Управление Предварительное декодирование команд Предварительная выборка команд Специализированная шина АЛУ 32 Шина исполнительного адреса 32 Шина исполнительного адреса 32 Внутренняя шина управления Шинасмещений 32 Шиналинейногоадреса Выборка кодов, Таблицы страниц Блок сегментации Блок разбивки на страницы Управление шиной Управление Шинафизического адреса 34 32 32
  • 20. Регистры ЦП 80386Регистры ЦП 80386 Программно доступные регистры:Программно доступные регистры: 1.1. 8 регистров общего назначения8 регистров общего назначения EAX, EBX, ECX, EDX, EBP, ESP, ESI, EDI –EAX, EBX, ECX, EDX, EBP, ESP, ESI, EDI – 32-разрядные).32-разрядные). 2.2. Регистр флагов (Регистр флагов (EFLAGS – 32-EFLAGS – 32-разрядный).разрядный). 3.3. Счетчик команд (Счетчик команд (EIP – 32-EIP – 32-разрядный).разрядный). 4.4. 6 сегментных регистров (16-разрядные).6 сегментных регистров (16-разрядные).
  • 21. Регистры ЦП 80386Регистры ЦП 80386 Системные регистры:Системные регистры: 1.1. 4 регистра4 регистра управления:управления:  CR0CR0:: • PG (PG (31 бит) – разбиение на страницы;31 бит) – разбиение на страницы; • TSTS (3 бит) – переключение задач;(3 бит) – переключение задач; • PEPE (0 бит) – включение защиты;(0 бит) – включение защиты;  CR1, CR2CR1, CR2 ((сохраняют состояниесохраняют состояние микропроцессорамикропроцессора));;  CR3CR3 ((хранится физический адрес текущейхранится физический адрес текущей таблицы страничных директорийтаблицы страничных директорий)).. 2.2. 88 отладочных регистра:отладочных регистра: DR0-DR3, DR6, DR7,DR0-DR3, DR6, DR7, (DR4, DR5 –(DR4, DR5 – зарезервированные ф.зарезервированные ф. Intel).Intel). 3.3. 4 регистра защищенного режима:4 регистра защищенного режима: GDTR, IDTR –GDTR, IDTR – 48-48-разрядные;разрядные; LDTR, TR –LDTR, TR – 16-разрядные.16-разрядные. 4.4. 2 регистра страничных проверок:2 регистра страничных проверок: TR6, TR7.TR6, TR7.
  • 22. Режимы работы ЦП 80386Режимы работы ЦП 80386 1.1.Реальный режимРеальный режим или режим реальныхили режим реальных адресов.адресов. В реальном режиме МП работает как оченьВ реальном режиме МП работает как очень быстрый 8086 сбыстрый 8086 с возможностью использования 32-возможностью использования 32- битных расширений.битных расширений. 2.2.Виртуальный режимВиртуальный режим или режимили режим виртуального 8086 (виртуального 8086 (VM 86)VM 86).. 3.3.Защищенный режимЗащищенный режим – полностью 32-– полностью 32- разрядный процессор.разрядный процессор. 4.4.Режим системного управленияРежим системного управления..
  • 23. Особенности режимаОсобенности режима системного управлениясистемного управления Режим системного управления (Режим системного управления (SMM)SMM) предназначен для выполнения некоторыхпредназначен для выполнения некоторых действий с возможностью их полнойдействий с возможностью их полной изоляции от прикладного программногоизоляции от прикладного программного обеспечения и даже операционной системыобеспечения и даже операционной системы.. Переход в этот режим происходит толькоПереход в этот режим происходит только аппаратно.аппаратно. При входе в режим SMM процессор сохраняетПри входе в режим SMM процессор сохраняет свой контекст в SMRAM (System Managementсвой контекст в SMRAM (System Management RAM) (контекст сопроцессора не сохраняется!) поRAM) (контекст сопроцессора не сохраняется!) по адресу SMM Base и передает управлениеадресу SMM Base и передает управление процедуре, называемой обработчиком Systemпроцедуре, называемой обработчиком System Management Interrupt.Management Interrupt.
  • 24. Особенности режимаОсобенности режима системного управлениясистемного управления В режиме SMMВ режиме SMM не предусмотрена работа сне предусмотрена работа с прерываниями и особыми случаямипрерываниями и особыми случаями:: прерывания по IRQ и SMI# замаскированы,прерывания по IRQ и SMI# замаскированы, пошаговые ловушки и точки останова отключены,пошаговые ловушки и точки останова отключены, обработка прерывания по NMI откладывается дообработка прерывания по NMI откладывается до выхода из режима SMM.выхода из режима SMM. При возврате из SMM (по инструкции RSM)При возврате из SMM (по инструкции RSM) процессор восстанавливает свой контекст изпроцессор восстанавливает свой контекст из SMRAM.SMRAM. ЭтиЭти особенности режима системногоособенности режима системного управления позволяют использовать его дляуправления позволяют использовать его для реализации системы управленияреализации системы управления энергосбережениемэнергосбережением..
  • 25. Формирование линейного адресаФормирование линейного адреса без участия селекторовбез участия селекторов Упрощенная схема формирования линейногоУпрощенная схема формирования линейного адреса используется:адреса используется: в режиме реального адреса,в режиме реального адреса, в режиме системного управления,в режиме системного управления, для вычисления адресов задачидля вычисления адресов задачи защищенного режима, находящейся взащищенного режима, находящейся в состоянии эмуляции 8086состоянии эмуляции 8086 (Virtual 8086 Mode).(Virtual 8086 Mode).
  • 26. Формирование линейного адресаФормирование линейного адреса без участия селекторовбез участия селекторов В этом случаеВ этом случае базовый адрес сегментабазовый адрес сегмента берется из сегментного регистраберется из сегментного регистра.. Значение в сегментном регистре представляетЗначение в сегментном регистре представляет собойсобой биты 4-19биты 4-19 базового адреса сегмента. Избазового адреса сегмента. Из этого следует, что сегменты в этих режимахэтого следует, что сегменты в этих режимах выровнены по 16-байтной границе и все сегментывыровнены по 16-байтной границе и все сегменты начинаются в пределах нижнего мегабайтаначинаются в пределах нижнего мегабайта линейного адресного пространства.линейного адресного пространства. Предел для всех сегментов одинаковПредел для всех сегментов одинаков.. В режиме реального адресаВ режиме реального адреса ии для задачи вдля задачи в состоянии VM86состоянии VM86 предел сегмента –предел сегмента – 64 Кбайт64 Кбайт, а, а вв режиме системного управлениярежиме системного управления – 4 Гбайт.– 4 Гбайт.
  • 27. Формирование линейного адреса вФормирование линейного адреса в защищенном режимезащищенном режиме ЕслиЕсли в регистре управленияв регистре управления CR0CR0 битбит PGPG - разбиение на страницы не установлен,- разбиение на страницы не установлен, PGPG=0=0 то полученныйто полученный линейный адреслинейный адрес является физическимявляется физическим,, еслиесли PG=1PG=1, то включается, то включается страничнаястраничная адресация памяти.адресация памяти.
  • 28. Формирование линейного адреса вФормирование линейного адреса в защищенном режимезащищенном режиме В процессе страничной трансляцииВ процессе страничной трансляции адресовадресов полученныйполученный линейный адрес разбивается налинейный адрес разбивается на три части.три части. Старшие десять битСтаршие десять бит линейного адресалинейного адреса являютсяявляются индексом элемента из каталогаиндексом элемента из каталога таблицтаблиц.. По этому элементу определяетсяПо этому элементу определяется физический адрес таблицы страниц.физический адрес таблицы страниц. Биты 21-12Биты 21-12 линейного адреса выбираютлинейного адреса выбирают элемент изэлемент из этойэтой таблицы страництаблицы страниц. Выбранный элемент. Выбранный элемент определяет физический адрес страницы.определяет физический адрес страницы. Младшие 12 битМладшие 12 бит линейного адреса определяютлинейного адреса определяют смещение от начала страницысмещение от начала страницы..
  • 29. Сегментная и страничнаяСегментная и страничная организация памятиорганизация памяти СелекторСелектор СмещениеСмещение ДескрипторДескриптор CRCR33 Линейный адресЛинейный адрес ЛогическийЛогический адресадрес ФизическийФизический адресадрес Дескрипторная таблица (Дескрипторная таблица (0 – GDT, 1 – LDT)0 – GDT, 1 – LDT) ДиректорияДиректория СтраницаСтраница СмещениеСмещение 0011111212212122223131 + 31 015 0 Àíèìàöèÿ.swf
  • 30. Многозадачность в ЦП 80386Многозадачность в ЦП 80386 МногозадачностьМногозадачность -- это метод управленияэто метод управления компьютерной системой, когда отдельныекомпьютерной системой, когда отдельные задачи выполняются так, как если бы онизадачи выполняются так, как если бы они выполнялись параллельно на отдельныхвыполнялись параллельно на отдельных процессорах с общей памятью.процессорах с общей памятью. Задачу составляют два компонента:Задачу составляют два компонента: адресное пространство задачиадресное пространство задачи ( доступные( доступные ей сегменты кода, данных и стека) ией сегменты кода, данных и стека) и сегмент состояния задачи (Task Stateсегмент состояния задачи (Task State Segment - TSS).Segment - TSS).
  • 31. Сегмент состояния задачиСегмент состояния задачи хранит состояние регистровхранит состояние регистров (контекст) виртуального(контекст) виртуального процессора каждой задачипроцессора каждой задачи.. Эта информация может бытьЭта информация может быть разделена на :разделена на : 1)1) динамический набординамический набор::  состояние сегментных регистровсостояние сегментных регистров (селекторы сегментов,(селекторы сегментов, формирующие адресноеформирующие адресное пространство задачи);пространство задачи);  состояние регистров общегосостояние регистров общего назначения;назначения; ДескрипторДескриптор TSSTSS GDTGDT СелекторСелектор БазаБаза ПределПредел Сегмент состоянияСегмент состояния задачизадачи TSSTSS Регистр - TR невидимая часть  состояние регистра флагов (EFLAGS);состояние регистра флагов (EFLAGS);  селектор сегмента TSS предыдущей исполняемой задачи;селектор сегмента TSS предыдущей исполняемой задачи; 2)2) статический наборстатический набор (ЦП его считывает, но не изменяет):(ЦП его считывает, но не изменяет):  значение регистра CR3 (PDBR);значение регистра CR3 (PDBR);  значение регистра LDTR;значение регистра LDTR;  информация о месте расположения стека для каждого уровняинформация о месте расположения стека для каждого уровня привилегий;привилегий;  TT-разряд, позволяющий осуществить для целей отладки внутреннее-разряд, позволяющий осуществить для целей отладки внутреннее прерывание и т.д.прерывание и т.д.
  • 32. При переключении задачи не сохраняетсяПри переключении задачи не сохраняется контекст сопроцессораконтекст сопроцессора, т.к., во-первых, сопроцессора, т.к., во-первых, сопроцессора может вообще не быть, а во-вторых, многие задачиможет вообще не быть, а во-вторых, многие задачи могут не использовать сопроцессор, а на сохранениемогут не использовать сопроцессор, а на сохранение /восстановление его контекста уходит много времени./восстановление его контекста уходит много времени. Процесс переключения задачи состоит вПроцесс переключения задачи состоит в следующемследующем:: 1.1. Производится проверка, допускает ли текущая задачаПроизводится проверка, допускает ли текущая задача переключение на задачу назначения.переключение на задачу назначения. 2.2. Проверяется, что дескрипторПроверяется, что дескриптор TSSTSS новой задачи есть иновой задачи есть и имеет правильный предел.имеет правильный предел. 3.3. Сохраняется состояние текущей задачи.Сохраняется состояние текущей задачи. 4.4. Происходит загрузка регистра задачиПроисходит загрузка регистра задачи TRTR селекторомселектором дескрипторадескриптора TSSTSS переключающей задачи.переключающей задачи. 5.5. Выполняется загрузка состояния переключающейВыполняется загрузка состояния переключающей задачи из еезадачи из ее TSSTSS и возобновляется работа ЦП.и возобновляется работа ЦП.
  • 33. Лишь значение первыхЛишь значение первых 68h байт68h байт сегмента состояниясегмента состояния задачи строго определены. Именнозадачи строго определены. Именно это число являетсяэто число является минимальным размером TSS.минимальным размером TSS. Операционная система может по своему усмотрениюОперационная система может по своему усмотрению устанавливать размер TSS и заполнять сегментустанавливать размер TSS и заполнять сегмент данными.данными. Кроме того, в TSS может располагатьсяКроме того, в TSS может располагаться необязательная для задачи структура -необязательная для задачи структура - двоичная картадвоичная карта разрешения ввода вывода (I/O permission bit map).разрешения ввода вывода (I/O permission bit map). ЕеЕе адрес задается в последнем обязательном поле TSS.адрес задается в последнем обязательном поле TSS. Процессор обращается к этой карте, когда IOPL неПроцессор обращается к этой карте, когда IOPL не позволяет выполнять инструкцию ввода-вывода. Каждыйпозволяет выполнять инструкцию ввода-вывода. Каждый бит этой карты соответствует одному порту ввода-вывода.бит этой карты соответствует одному порту ввода-вывода. Если бит сброшен в 0, то операция ввода-выводаЕсли бит сброшен в 0, то операция ввода-вывода выполняется без нарушения общей защиты, а если битвыполняется без нарушения общей защиты, а если бит выставлен в 1, то генерируется исключение #13.выставлен в 1, то генерируется исключение #13.
  • 34. В глобальной дескрипторной таблицеВ глобальной дескрипторной таблице ((GDTGDT)) могут быть:могут быть:  дескрипторы сегментов кода, данных, стека;дескрипторы сегментов кода, данных, стека;  дескрипторы сегментовдескрипторы сегментов состояния задачисостояния задачи TSSTSS;;  дескрипторы таблицдескрипторы таблиц LDTLDT;;  системные дескрипторы: шлюзы вызовов исистемные дескрипторы: шлюзы вызовов и шлюзы задач.шлюзы задач.
  • 35. При переключении задачи процессор можетПри переключении задачи процессор может продолжить выполнение новой задачи впродолжить выполнение новой задачи в особом состоянии - в состоянии эмуляции 8086особом состоянии - в состоянии эмуляции 8086 (VM86).(VM86). Переход в это состояние инициирует установкаПереход в это состояние инициирует установка в 1 флажка 17 (Virtual Mode) в регистре EFLAGSв 1 флажка 17 (Virtual Mode) в регистре EFLAGS при восстановлении контекста процессора из TSS.при восстановлении контекста процессора из TSS. Для задачи в состоянии VM86 считаетсяДля задачи в состоянии VM86 считается, что, что CPL=3, код и данные по умолчанию имеютCPL=3, код и данные по умолчанию имеют размер 16 бит, пределы всех сегментов – 64размер 16 бит, пределы всех сегментов – 64 Кбайт, адресуется только нижний мегабайтКбайт, адресуется только нижний мегабайт линейного пространства.линейного пространства. Виртуальный режимВиртуальный режим
  • 36. ЦП 80ЦП 803386 (переключение режимов)86 (переключение режимов)
  • 37. Сравнительные характеристикиСравнительные характеристики режимов работы процессорарежимов работы процессора ХарактеристикаХарактеристика RMRM PM, VM=0PM, VM=0 PM, VM=1PM, VM=1 SMMSMM ФормированиеФормирование линейного адресалинейного адреса без участиябез участия селекторовселекторов черезчерез селекторы иселекторы и дескрипторыдескрипторы без участиябез участия селекторовселекторов без участиябез участия селекторовселекторов Предел сегментовПредел сегментов 64К64К определяетсяопределяется дескрипторомдескриптором 64К64К 4Г4Г МаксимальныйМаксимальный объем доступнойобъем доступной памятипамяти (виртуальной)(виртуальной) 1M+64K-161M+64K-16 64T-2х4Г64T-2х4Г 1M+64K-161M+64K-16 4Г4Г ЗащитаЗащита НетНет ДаДа Только наТолько на уровне страницуровне страниц НетНет СтраничноеСтраничное преобразование (впреобразование (в т.ч. PAE)т.ч. PAE) НетНет ДаДа ДаДа НетНет МультизадачностьМультизадачность НетНет ДаДа ДаДа НетНет
  • 38. ЦП 80386 (формат команды)ЦП 80386 (формат команды) ПРЕФИКС КОП MOD R/M SIB СМЕЩЕНИЕ ДАННЫЕ 1-2 байта 1-2 байта 0-1 байт 0-1 байт 0,1,2,4 байт 0,1,2,4 байт Адресная часть Типы префиксов:Типы префиксов: замена сегментов;замена сегментов; размер адреса (16 или 32 бит);размер адреса (16 или 32 бит); размер операнда;размер операнда; повторение (используется с командами обработкиповторение (используется с командами обработки строк);строк); блокировка.блокировка.
  • 39. Формат командыФормат команды КОП -КОП - код операциикод операции.. Байт "Байт "Mod RMod R//MM" определяет" определяет режим адресациирежим адресации, а, а также иногда дополнительный код операции.также иногда дополнительный код операции. Необходимость байта "Необходимость байта "Mod RMod R//MM" зависит от типа" зависит от типа инструкции.инструкции. БайтБайт SIBSIB ((ScaleScale--IndexIndex--BaseBase) определяет) определяет способспособ адресацииадресации при обращении к памяти в 32-битном режиме.при обращении к памяти в 32-битном режиме. Необходимость байтаНеобходимость байта SIBSIB зависит от режима адресации,зависит от режима адресации, задаваемого полем "задаваемого полем "Mod RMod R//MM".". Кроме того, инструкция может содержатьКроме того, инструкция может содержать непосредственный операнд и/или смещение операнданепосредственный операнд и/или смещение операнда в сегменте данных.в сегменте данных. На размер инструкции накладывается ограничение в 15На размер инструкции накладывается ограничение в 15 байт. Для совместимости с 16-битными процессорамибайт. Для совместимости с 16-битными процессорами архитектураархитектура IAIA-32 использует одинаковые коды для инструкций,-32 использует одинаковые коды для инструкций, оперирующих как с 16-битными, так и 32-битными операндами.оперирующих как с 16-битными, так и 32-битными операндами.
  • 40. Структура МПСтруктура МП Intel 80486Intel 80486 Шинный интерфейс Драйверы адреса Буферы записи Приемо- передатчики данных Управление шиной Управление пакетами Управление размером Управление кэш-памятью Управление паритетом Адрес Данные Управление Кэш-память 8К Устройство предвыборки команд Очередь кода 32 байта 32 32 32 Устройство страничного преобразования Ассоциативный буфер PCD PWT Физи- ческий адрес 128 Устройство сегментации Регистры дескрипторов Контроль предела и атрибутов Парал-ный сдвигатель Регистры АЛУ 32 Дешифратор команд 24 Устройство управления Управляющее ПЗУ Дешифрированная команда Устройство с плавающей точкой Регистры Микрокоманда Шина смещения32 База Команды Шина линейного адреса32 Шина данных32 Шина данных32 64-битная внутренняя шина
  • 41. Режим пакетированияРежим пакетирования ТактТакт КонвейеризацияКонвейеризация (80286)(80286) ПакетПакет (80486)(80486) 11 Адрес 1 словаАдрес 1 слова Адрес 1 словаАдрес 1 слова 22 Передача 1 словаПередача 1 слова -------------------- 33 Адрес 2 словаАдрес 2 слова Передача 1 словаПередача 1 слова 44 Передача 2 словаПередача 2 слова Передача 2 словаПередача 2 слова 55 Адрес 3 словаАдрес 3 слова Передача 3 словаПередача 3 слова 66 Передача 3 словаПередача 3 слова Передача 4 словаПередача 4 слова 77 Адрес 4 словаАдрес 4 слова -------------------- 88 Передача 4 словаПередача 4 слова -------------------- Средство блочной передачиСредство блочной передачи:: 64 бита за 1 раз64 бита за 1 раз..
  • 42. Уровни привилегий вУровни привилегий в IAIA--3232 Архитектура защиты МП обеспечиваетАрхитектура защиты МП обеспечивает 44 иерархических уровня привилегийиерархических уровня привилегий, что, что позволяетпозволяет ограничить задаче доступ к отдельным сегментам вограничить задаче доступ к отдельным сегментам в зависимости от ее текущих привилегий.зависимости от ее текущих привилегий. ПривилегииПривилегии -- это свойство (обычноэто свойство (обычно устанавливаемое при проектировании системы), котороеустанавливаемое при проектировании системы), которое определяет, какие компьютерные операции разрешаютсяопределяет, какие компьютерные операции разрешаются в любой момент времени и какие доступы к памятив любой момент времени и какие доступы к памяти законнызаконны.. Привилегии используются для обеспеченияПривилегии используются для обеспечения безопасности в компьютерной системебезопасности в компьютерной системе. Привилегии. Привилегии реализуются путем присвоения значения от 0 до 3реализуются путем присвоения значения от 0 до 3 ключевым объектам, которые опознаются процессором.ключевым объектам, которые опознаются процессором. Значение 0 соответствует наибольшим привилегиям, тогдаЗначение 0 соответствует наибольшим привилегиям, тогда как значение 3 - наименьшим.как значение 3 - наименьшим. В процессоре имеетсяВ процессоре имеется два уровня защиты: защита надва уровня защиты: защита на уровне сегментов и защита на уровне страниц.уровне сегментов и защита на уровне страниц.
  • 43. ЦП 80486 (уровни привилегий)ЦП 80486 (уровни привилегий) 0 1 2 3 0 – Ядро ОС; 1 – ОС; 2 – Системы0 – Ядро ОС; 1 – ОС; 2 – Системы программирования; 3 – Прикладныепрограммирования; 3 – Прикладные программыпрограммы В реальных операционных системахВ реальных операционных системах обычно не используются все четыреобычно не используются все четыре уровня. UNIX и Windows, например,уровня. UNIX и Windows, например, используют только два уровня привилегийиспользуют только два уровня привилегий - 0 (для ядра системы) и 3 (для всего- 0 (для ядра системы) и 3 (для всего остального), а OS/2 использует уровни 0остального), а OS/2 использует уровни 0 (для ядра системы), 2 (для процедур(для ядра системы), 2 (для процедур ввода-вывода) и 3 (для прикладныхввода-вывода) и 3 (для прикладных программ).программ). НаправлениеНаправление обращения к даннымобращения к данным Защита на уровне сегментов представленаЗащита на уровне сегментов представлена четырьмя уровнями привилегийчетырьмя уровнями привилегий.. ПривилегированныеПривилегированные команды выполняются только на «0» - уровне привилегий,команды выполняются только на «0» - уровне привилегий, на всех других уровнях вызывается исключение №13 –на всех других уровнях вызывается исключение №13 – нарушение общей защиты.нарушение общей защиты.
  • 44. Защита на уровне сегментовЗащита на уровне сегментов Защита на уровне сегментов состоит в защите от выполненияЗащита на уровне сегментов состоит в защите от выполнения привилегированных команд, защите доступа к данным и защитепривилегированных команд, защите доступа к данным и защите сегментов кода.сегментов кода. В процессоре есть команды, которые могут кардинально изменитьВ процессоре есть команды, которые могут кардинально изменить состояние всей системы. Такие команды выполняются только насостояние всей системы. Такие команды выполняются только на нулевом уровне привилегий, а на всех других уровнях вызываютнулевом уровне привилегий, а на всех других уровнях вызывают нарушение общей защиты (исключение #13). К этим командамнарушение общей защиты (исключение #13). К этим командам относятся:относятся: HLT - останов процессора;HLT - останов процессора; CLTS - сброс флажка Task Switched (исп. при управленииCLTS - сброс флажка Task Switched (исп. при управлении мультизадачностью);мультизадачностью); LIDT, LGDT, LLDT - загрузка регистров дескрипторных таблиц;LIDT, LGDT, LLDT - загрузка регистров дескрипторных таблиц; LTR - загрузка регистра задачи;LTR - загрузка регистра задачи; LMSW - загрузка младшего слова регистра CR0;LMSW - загрузка младшего слова регистра CR0; MOV CRx,reg32 - работа с управляющими регистрами;MOV CRx,reg32 - работа с управляющими регистрами; MOV DRx,reg32 - работа с регистрами отладки,MOV DRx,reg32 - работа с регистрами отладки, а также команды работы со специфическими регистрами (TRx - дляа также команды работы со специфическими регистрами (TRx - для 386,486; MCRs - для Pentium и P6; MTRRs - для P6). Следует отметить,386,486; MCRs - для Pentium и P6; MTRRs - для P6). Следует отметить, что команда POPFD также чувствительна к уровню привилегий. Она нечто команда POPFD также чувствительна к уровню привилегий. Она не изменяет состояние управляющих флажков IOPL, IF и др., еслиизменяет состояние управляющих флажков IOPL, IF и др., если выполняется на уровне привилегий, отличном от нулевого.выполняется на уровне привилегий, отличном от нулевого.
  • 45. Защита на уровне сегментовЗащита на уровне сегментов CPLCPL –– текущий уровень привилегийтекущий уровень привилегий (Current Privilege(Current Privilege Level):Level): уровень привилегий, на котором в данныйуровень привилегий, на котором в данный момент исполняется задачамомент исполняется задача. Значение CPL хранится в. Значение CPL хранится в поле RPLполе RPL селектора сегмента кода, который помещен вселектора сегмента кода, который помещен в регистр CSрегистр CS.. Обычно это значение соответствует уровнюОбычно это значение соответствует уровню привилегий дескриптора исполняемого сегмента кода. Уровеньпривилегий дескриптора исполняемого сегмента кода. Уровень привилегий меняется, когда управление передается сегменту кода спривилегий меняется, когда управление передается сегменту кода с другим значением DPL (за исключением подчиняемых сегментовдругим значением DPL (за исключением подчиняемых сегментов кода).кода). DPLDPL –– уровень привилегий дескрипторауровень привилегий дескриптора (Descriptor(Descriptor Privilege Level): наименее привилегированный уровень, наPrivilege Level): наименее привилегированный уровень, на котором задача может получить доступ к сегменту иликотором задача может получить доступ к сегменту или шлюзу, связанному с этим дескриптором.шлюзу, связанному с этим дескриптором. RPLRPL –– запрашиваемый уровень привилегийзапрашиваемый уровень привилегий (Requested(Requested Privilege Level) используется для временного пониженияPrivilege Level) используется для временного понижения своего уровня привилегий при обращении к памяти. RPLсвоего уровня привилегий при обращении к памяти. RPL заносится взаносится в младшие биты селекторамладшие биты селектора.. IOPLIOPL –– уровень привилегий вводауровень привилегий ввода//вывода (вывода (EFLAGSEFLAGS).).
  • 46.  Доступ к данным разрешенДоступ к данным разрешен, если, если max(CPL,RPL)<=DPLmax(CPL,RPL)<=DPL, в противном случае генерируется, в противном случае генерируется нарушение общей защиты.нарушение общей защиты.  Команды с портами или командыКоманды с портами или команды I/OI/O выполняютсявыполняются только в том случае еслитолько в том случае если:: CPL<=IOPLCPL<=IOPL..  Контроль привилегийКонтроль привилегий при доступе к стекупри доступе к стеку осуществляется при загрузке селектора в регистр SS.осуществляется при загрузке селектора в регистр SS. Программа должна использовать сегмент стека,Программа должна использовать сегмент стека, находящийся на том же уровне привилегий, т. е.находящийся на том же уровне привилегий, т. е. CPL=RPL=DPLCPL=RPL=DPL..  Для передачи управления на обычный сегментДля передачи управления на обычный сегмент кодакода его уровень привилегий должен совпадать с текущимего уровень привилегий должен совпадать с текущим уровнем привилегий. Значение RPL должно быть неуровнем привилегий. Значение RPL должно быть не больше CPL, чтобы не вызывать исключения, но внебольше CPL, чтобы не вызывать исключения, но вне зависимости от значения RPL уровень привилегий независимости от значения RPL уровень привилегий не сменится:сменится: CPL=DPLCPL=DPL.. Правила на основе привилегийПравила на основе привилегий
  • 47.  Для передачи управления между уровнямиДля передачи управления между уровнями привилегий используютсяпривилегий используются системные дескрипторысистемные дескрипторы,, называемыеназываемые шлюзами вызовашлюзами вызова.. Дескриптор шлюза вызоваДескриптор шлюза вызова содержит точку входа всодержит точку входа в привилегированную процедуру (селектор: смещение) ипривилегированную процедуру (селектор: смещение) и число передаваемых ей через стек параметров. Длячисло передаваемых ей через стек параметров. Для передачи управления привилегированной процедурепередачи управления привилегированной процедуре адресуется не сама процедура, а шлюз к ней. Шлюзыадресуется не сама процедура, а шлюз к ней. Шлюзы можно адресовать только в команде FAR CALL, т.е.можно адресовать только в команде FAR CALL, т.е. "насовсем" сменить уровень привилегий таким способом"насовсем" сменить уровень привилегий таким способом нельзя, всегда предполагается возврат на более низкийнельзя, всегда предполагается возврат на более низкий уровень привилегий. Правило разрешения вызова черезуровень привилегий. Правило разрешения вызова через шлюз выглядит так:шлюз выглядит так: DPLDPLцелицели<=max(CPL,RPL)<=DPL<=max(CPL,RPL)<=DPLшлюзашлюза..
  • 48. Защита на уровне страницЗащита на уровне страниц Защита страниц обеспечивается двумя уровнямиЗащита страниц обеспечивается двумя уровнями привилегий: супервизора и пользователя.привилегий: супервизора и пользователя. Уровню супервизора соответствуют 0-й, 1-й, 2-й уровниУровню супервизора соответствуют 0-й, 1-й, 2-й уровни привилегий сегментов, а уровню пользователя - 3-й. Дляпривилегий сегментов, а уровню пользователя - 3-й. Для каждой страницы указывается (в PDE/PTE), с какогокаждой страницы указывается (в PDE/PTE), с какого уровня привилегий она доступна.уровня привилегий она доступна. Правило привилегий таково: с уровня супервизораПравило привилегий таково: с уровня супервизора доступны все страницы, а с уровня пользователя -доступны все страницы, а с уровня пользователя - только страницы с битом U/S=1только страницы с битом U/S=1. Кроме того, в PDE/PTE. Кроме того, в PDE/PTE указывается тип доступа к странице (доступна ли страницауказывается тип доступа к странице (доступна ли страница для записи): R/W=0 - только чтение, R/W=1 - доступныдля записи): R/W=0 - только чтение, R/W=1 - доступны чтение и запись. Следует отметить действие бита 16 (Writeчтение и запись. Следует отметить действие бита 16 (Write Protect) в регистре CR0. Когда этот бит выставлен,Protect) в регистре CR0. Когда этот бит выставлен, страницы уровня пользователя с пометкой "read-only"страницы уровня пользователя с пометкой "read-only" защищены от записи при обращениях с уровнязащищены от записи при обращениях с уровня супервизора.супервизора.