Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Организация вычислительных систем на базе микропроцессоров с архитектурой x86. Учебное пособие
.pdf
61
0 или 1 байт
0 или 1 байт
0 или 1 байт
0 или 1 байт
Префикс повторения команды
Префикс размера адреса
Префикс размера
операнда
Префикс замены
сегмента
1 или 2 байта
0 или 1 байт
0 или 1 байт
0, 1, 2, 4 байта
0, 1, 2, 4 байта
КОП
MOD R/M
SIB
disp
data
mod
reg/КОП
r/m
SS
index
base
пример, МП I80286), выполняются без изменений на 32-разрядных МП.
Входящие в систему МП I80286 дескрипторы, исполняемые сегменты,
шлюзы и таблицы локальных дескрипторов используются как в МП
I80286, так и в 32-разрядных МП. Просто работая с дескрипторами, МП
анализирует последние 32 разряда. Если обнаруживает в них нули, то рассматривает дескриптор как принадлежащий МП 80286. Все задачи работают в этом режиме с сегментами состояния задачи TSS МП I80286. Отличие TSS МП I80286 от TSS 32-разрядных МП рассмотрено выше. Таким
образом, МП с архитектурой х86/32 в этом режиме функционирует как быстрый МП с архитектурой х86/16.
Защищенный 32-разрядный режим. В этом режиме логические адреса задаются как 16-разрядный селектор:32-разрядное смещение. Это позволяет обрабатывать 32-разрядные операнды и генерировать 32разрядные линейные адреса. Кроме использования дополнительных регистров, при переключении задач в этом режиме используется расширенный
формат сегмента состояния задачи TSS. В него вводится бит ловушки Т,
используемый при отладке программного обеспечения. Сюда также записывается содержимое регистра управления CR3, которое используется
только при страничной организации памяти. Два последних бита обязательной части TSS определяют относительный адрес начала битовой кар-
ты ввода-вывода (БКВВ). Каждый бит БКВВ соответствует однобайтовому порту ввода-вывода. При записи в соответствующем бите БКВВ 0 разрешается при CPL>IOPL обращении напрямую к порту ввода-вывода, номер которого соответствует порядковому номеру данного бита в карте
ввода-вывода. Используется в служебных и отладочных целях.
4.6. Команды микропроцессоров с архитектурой x86/32
Команды МП с архитектурой х86/32 имеют следующую структуру:
префиксы замены; код операции; постбайт режима адресации; байт масштаба-индекса-базы; смещение; непосредственный операнд. Все поля,
кроме КОП, являются необязательными. Размер команд может составлять
от 1 до 11 байт. Общий формат команды представлен на рис. 4.12.
Рис. 4.12

62
В таких командах префиксы – один или несколько байтов, предшест-
вующие команде и модифицирующие операцию этой команды. Префикс
повторение команды используется с командами обработки строк. Заставляет команду воздействовать на каждый элемент строки. Префикс размер
адреса переключает разрядность адреса, определяя образование 32- или 16разрядных адресов. Префикс размер операнда переключает разрядность
операндов, устанавливая их 32- или 16-разрядными. Префикс замена сегмента в явной форме указывает, какой сегментный регистр должна использовать команда.
Байт SIB включает три поля: SS – поле шкалы (scale), задающее
масштабный коэффициент при обращении к многобайтным массивам данных; index - поле, задающее номер индексного регистра; base - поле, задающее номер базового регистра. Для 32-битного микропроцессора в качестве базового и индексного регистров может использоваться любой 32битный РОН. Эффективный адрес EA с использованием этих полей вычисляется следующим образом: EA = base + index scale (SS) + disp. В связи с
введением поля SS появились дополнительные виды адресации: масштабированная базовая индексная адресация; масштабированная базовая индексная адресация со смещением.
По сравнению с МП с архитектурой х86/16 в 32-разрядные МП доба-
вились две функциональные группы команд: команды манипуляции битами и команды поддержки зашиты страниц, а также префиксы изменения
разрядности.
Таким образом, в систему команд с МП с архитектурой х86/32 наря-
ду с собственными командами входят команды реального режима и защищенного 16-разрядного режима, предназначенные для организации защиты
и управления многозадачной работой МП (загрузка системных регистров,
команды изменения уровня привилегий, прав доступа и границ сегментов
и т.д.).
ЗАКЛЮЧЕНИЕ
Современный этап развития микропроцессорной техники характери-
зуется дальнейшим развитием архитектуры x86 в направлениях увеличения разрядности обрабатываемых данных и расширения адресного пространства. На сегодняшний момент существуют две архитектуры МП,
имеющие обратную совместимость с архитектурой х86: Intel64, AMD64. К
основным достоинствам этих архитектур можно отнести следующее: 64разрядное адресное пространство; расширенный набор регистров; привычный для разработчиков набор команд; возможность запуска старых 32разрядных приложений в 64-разрядной операционной системе; возможность использования 32-разрядных операционных систем.

63
В регистровую модель 64-разрядной архитектуры МП входят: шестнадцать целочисленных 64-разрядных регистра общего назначения (RAX,
RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 - R15), в которых подрегистры
ЕAX, ЕBX, ЕCX, ЕDX, ЕBP, ЕSI, ЕDI, ЕSP поддерживают архитектуру
х86/32; восемь 80-разрядных регистров с плавающей точкой (R0 – R7); восемь 64-разрядных регистров MMX (MM0-MM7), которые имеют общее
пространство с регистрами R0 – R7); шестнадцать 128-разрядных регистров SSE (XMM0 - XMM15); 64-разрядный регистр указателя команд RIP
(подрегистр EIP поддерживает архитектуру х86/32); 64-разрядный регистр
флагов RFLAGS.
Основными отличительными особенностями указанных архитектур
являются поддержка 64-разрядных регистров общего назначения, 64разрядных виртуальных адресов и наличие 64-разрядных арифметических
и логических операций над целыми числами. Для адресации новых регистров в командах введены так называемые «префиксы расширения регистра».
В 64-разрядном режиме размер адресов по умолчанию составляет 64
разряда, однако они могут иметь и меньший размер. Размер операнда по
умолчанию – 32 бита. Для большинства инструкций размер операнда по
умолчанию может быть изменён с использованием префикса команд типа
REX. В этом режиме адресация осуществляется с использованием 64разрядного регистра указателя команд RIP, что существенно расширяет
пространство доступной памяти для размещения программ.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Гуров В.В. Архитектура микропроцессоров. М.: Бином. Лабора-
тория знаний, 2010. 272 с.
2. Гуров В.В. Микропроцессорные системы. М.: Инфра-М, 2016.
336 с.
3. Костров Б.В., Ручкин В.Н. Архитектура микропроцессорных сис-
тем. М.: Издательство Диалог-МИФИ, 2007. 304 с.
4. Костров Б.В., Ручкин В.Н. Микропроцессорные системы и мик-
роконтроллеры. М.: ТехБук, 2007. 320 с.
5. Таненбаум Э., Остин Т. Архитектура компьютера. СПб.: Питер,
2013. 816 с.

64
ВВЕДЕНИЕ……………………………………………………..…………......
3
1. ОРГАНИЗАЦИЯ МПС НА ОСНОВЕ МИКРОПРОЦЕССОРОВ
С АРХИТЕКТУРОЙ х86/16. РЕАЛЬНЫЙ РЕЖИМ……………………..
4
1.1. Структурная модель МП с архитектурой х86/16
при работе в реальном режиме……………………………………...
4
1.2. Организация регистров в реальном режиме…………………………
6
1.3. Организация памяти и ввода/вывода в МПС на основе
микропроцессоров с архитектурой х86………………………………
8
1.4. Форматы команд микропроцессора…………………………………..
10
1.5. Виды адресации микропроцессора…………………………………...
13
1.5.1. Виды адресации данных………………………………………..
13
1.5.2. Виды адресации переходов…………………………………….
16
2. ОРГАНИЗАЦИЯ МПС С МАТЕМАТИЧЕСКИМ
СОПРОЦЕССОРОМ……………………………………………………….
19
2.1. Общая характеристика и форматы данных сопроцессора………….
19
2.2. Программная модель математического сопроцессора……………...
22
2.3. Форматы команд математического сопроцессора…………………..
27
3. ОРГАНИЗАЦИЯ МПС НА ОСНОВЕ МИКРОПРОЦЕССОРОВ
С АРХИТЕКТУРОЙ х86/16. ЗАЩИЩЕННЫЙ РЕЖИМ……………….
29
3.1. Структурная организация микропроцессора
в защищенном 16-разрядном режиме………………………………..
29
30
3.2.1. Основные функциональные регистры ………………………...
30
3.2.2. Системные регистры…………………………………………….
32
3.3. Управление памятью МПС в защищенном
шестнадцатиразрядном режиме………………………………………
33
3.4. Организация защиты в микропроцессоре……………………………
36
3.5. Мультизадачность и переключение задач …………………..............
41
3.6. Прерывания и исключения в микропроцессоре………………..........
44
3.6.1. Организация таблиц прерываний……………………………...
45
3.6.2. Типы шлюзов дескрипторной таблицы прерываний ………...
46
4. ОРГАНИЗАЦИЯ МПС НА ОСНОВЕ МИКРОПРОЦЕССОРОВ
С АРХИТЕКТУРОЙ х86/32……………………………………………….
47
4.1. Развитие микропроцессоров с архитектурой x86/32………………..
47
4.2. Регистровая организация МП с архитектурой x86/32………………
52
4.3. Страничная организация памяти……………………………………..
55
4.4. Организация кэш-памяти …………………………………………….
58
4.5. Режимы работы 32-разрядного микропроцессора…………………..
60
4.6. Команды микропроцессоров с архитектурой x86/32 ……………….
61
ЗАКЛЮЧЕНИЕ………………………………………………………….........
62
БИБЛИОГРАФИЧЕСКИЙ СПИСОК..……………………………………...
63
ОГЛАВЛЕНИЕ
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
