Обзор х86 процессоров

работы: режим реальной адресации, совместимый с микропроцессором i8086, и режим защищенной виртуальной адресации.

2.1 Режим реальной адресации

В режиме реальной адресации физическая память микропроцессора представляет собой непрерывный массив объемом до одного мегабайта. Микропроцессор обращается к памяти, генерируя 20-разрядные физические адреса. 20-разрядный адрес сегмента памяти состоит из двух частей: старшей 16-разрядной переменной части и младшей 4-разрядной части, которая всегда равна нулю. Таким образом, адреса сегментов всегда начинаются с числа, кратного 16. В режиме реальной адресации каждый сегмент памяти имеет размер 64 Кбайта и может быть считан, записан или изменен. Если операнды данных или команд попытаются выполнить циклический возврат к концу сегмента, может произойти прерывание или возникнуть исключительная ситуация; например, если младший байт слова смещен на FFFF, а старший байт равен 0000. Если в режиме реальной адресации информация, содержащаяся в сегменте, не использует все 64 КБайт, неиспользуемое пространство может быть предоставлено другому сегменту в целях экономии физической памяти.

2.2 Режим защиты

Режим защиты предусматривает расширенное адресное пространство физической и виртуальной памяти, механизмы защиты памяти, новые операции по поддержке операционных систем и виртуальной памяти. Режим защиты обеспечивает виртуальное адресное пространство на 1 гигабайт для каждой задачи в физическом адресном пространстве на 16 Мегабайт. Виртуальное пространство может быть больше физического, т.к. любое использование адреса, который не распределен в физической памяти, вызывает возникновение исключительной ситуации, требующей перезапуска.

Как и режим реальной адресации, режим защиты использует 32-разрядные указатели, состоящие из 16-разрядного искателя и компонентов смещения. Искатель, однако, определяет индекс в резидентной таблице памяти, а не старшие 16 разрядов адреса реальной памяти. 24-разрядный базовый адрес желаемого сегмента памяти получают из таблиц памяти. Для получения физического адреса к базовому адресу сегмента добавляется 16-разрядное смещение. Микропроцессор автоматически обращается к таблицам, когда в регистр сегмента загружается искатель. Все команды, выполняющие загрузку регистра, обращаются к таблицам памяти без дополнительной программной поддержки. Таблицы памяти содержат 8-байтовые значения, называемые описателями.

2.3 Сопроцессор i80287

Математический сопроцессор i80287 позволяет ему выполнять скоростные арифметические и логарифмические операции, а также тригонометрические функции с высокой точностью. Сопроцессор работает параллельно с микропроцессором, это сокращает время вычислений, позволяя сопроцессору выполнять математические операции, в то время как микропроцессор занимается выполнением других функций. Сопроцессор работает с семью типами числовых данных, которые делятся на следующие три класса:

- двоичные целые числа (3 типа);

- десятичные целые числа (1 тип);

- действительные числа (3 типа).

2.3.1 Условия программирования i80287

Сопроцессор предлагает расширенный набор регистров, команд и типов данных для микропроцессора. Сопроцессор имеет восемь 80-разрядных регистров, которые эквивалентны емкости сорока 16-разрядных регистров в микропроцессоре. В регистрах можно хранить во время вычислений временные и постоянные результаты, что сокращает расход памяти, повышает быстродействие, а также улучшает возможности доступа к шине.

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

ТИПЫ ДАННЫХ

Тип данных

Число битов

Число верных значащих цифр

Целое слово

16

4

Короткое целое

32

9

Длинное целое

64

19

Упакованное десятичное короткое

80

18

Действительное длинное

32

6-7

Действительное временное

64

15-16

Действительное

80

19

3. Основные характеристики i80386

Микропроцессор 80386 дает разработчику систем большое

число новых и эффективных возможностей, включая производительность от 3 до 4 миллионов операций в секунду, полную 32-битную архитектуру, 4 гигабитное (2 байт) физическое адресное пространство и внутреннее обеспечение работы со страничной виртуальной памятью.

Несмотря на введение в него последних достижений микропроцессорной техники, 80386 сохраняет совместимость по объектному коду с программным обеспечением, в большом количестве

написанным для его предшественников, 8086 и 80286. Особый интерес представляет такое свойство 80386, как виртуальная машина, которое позволяет 80386 переключаться в выполнении программ, управляемых различными операционными системами, например, UNIX и MS-DOS. Это свойство позволяет производителям оригинальных систем непосредственно вводить прикладное программное обеспечение для 16-битных машин в системе на базе 32-битных микропроцессоров.

Объединяя в себе производительность супермини ЭВМ и низкую стоимость и функциональную гибкость микропроцессора, 80386 может открыть новые рынки для микропроцессорных систем.

Применения, недопустимые прежде из-за невысокого быстродействия микропроцессоров или не экономности использования супермини ЭВМ, стали теперь практически осуществимы благодаря 80386. Такие новейшие применения, как машинное зрение, распознавание речи, интеллектуальные работы и экспертные системы, бывшие до недавнего времени в основном на стадии эксперемента, теперь могут быть предложены на рынке.

Для тго, чтобы удовлетворить требованиям будущих применений, мало иметь 32-битные регистры, команды и шины. Эти основные свойства являются лишь отправной точкой для 80386.

3.1 32-битная архитектура

32-битная архитектура 80386 обеспечивает программные ресурсы, необходимые для поддержки "больших " систем, характеризуемых операциями с большими числами, большими структурами данных, большими программами (или большим числом программ) и т.п. Физическое адресное пространство 80386 состоит из 2 байт или 4 гбайт; его логическое адресное пространство состоит из 2 байт или 64 терабайт (тбайт). Восемь 32-битных общих регистров 80386 могут быть взаимозаменяемо использованы как операнды команд и как переменные различных способов адресации.


Страница: