Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Организация вычислительных систем на базе микропроцессоров с архитектурой x86. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
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
ОГЛАВЛЕНИЕ
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]