Смекни!
smekni.com

80386 процессор (стр. 1 из 5)

Содержание

1.Введение

2.Режимы процессора

2.1.Реальный режим

2.2.Защищенный режим

3.Типы данных

4.Регистры

4.1.Регистры общего назначения

4.2.Регистр системных флагов

4.3.Регистры сегментов

4.4.Регистры управления сегментированной памятью

4.5.Указатель команд

4.6.Регистры управления

4.7.Регистры отладки

4.8.Буфер ассоциативной трансляции

5.Система команд

5.1.Формат команд

5.2.Описание обозначения

5.3.Список команд

1. Введение

МП 80386 вышел на рынок с уникальным преимуществом. Он является единственным 32-разрядным МП, для которого пригодно существующее прикладное програмное обеспечение, написанное для МП предыдущих моделей от 8086/88 до 80286. Любые программы, написанные для этих МП могут выполняться на 80386 без всяких исправлений и дополнений, лишь только с увеличением скорости их выполнения. Это свойство МП называется совместимостью снизу вверх. Также, дополнительными преимуществами этого МП являются многозадачность, встроенное управление памятью, виртуальная память с разделением на страницы, защита программ и большое адресное пространство. Аппаратная совместимость с предыдущими моделями сохранена посредством динамического изменения разряд­ности магистрали.

МП 80386 выполнен на основе технологии CHMOS III фирмы Intel, которая вобрала в себя быстродействие технологии HMOS (МДП высокой плотности) и малое потребление мощности техноло­гии CMOS (КМДП). МП 80386 предусматривает переключение прог­рамм, выполняемых под управлением различных операционных систем, таких как MS-DOS и UNIX. Это свойство позволяет разра­ботчикам программ включать стандартное прикладное программное обеспечение для 16-разрядных МП непосредственно в 32-разрядную систему. Процессор определяет адресное пространство как один или несколько сегментов памяти любого размера в диапазоне от 1 байт до 4 Гбайт. Эти сегменты могут быть индивидуально защище­ны уровнями привилегий и таким образом избирательно разде­ляться различными задачами.

2. Режимы процессора

Для более полного понятия системы команд МП 80386 необхо­димо предварительно описать общую схему его работы и архитек­туру.

В данном реферате не раскрывается более подробно значения некоторых специфических слов и понятий, считая, что читатель предварительно ознакомился с МП 8086 и МП 80286 и имеет представление о их работе и архитектуре. Описываются только те функции МП 80386, которые отсутствуют или изменены в предыду­щих моделях МП.

МП 80386 имеет два режима работы: режим реальных адресов, называемый реальным режимом, и защищенный режим.

2.1. Реальный режим

При подаче сигнала сброса или при включении питания уста­навливается реальный режим, причем МП 80386 работает как очень быстрый МП 8086, но, по желанию программиста, с 32-разрядным расширением. В реальном режиме МП 80386 имеет такую же базовую архитектуру, что и МП 8086, но обеспечивает доступ к 32-раз­рядным регистрам. Механизм адресации, размеры памяти и обра­ботка прерываний МП 8086 полностью совпадают с аналогичными функциями МП 80386 в реальном режиме.

Единственным способом выхода из реального режима является явное переключение в защищенный режим. В защищенный режим МП 80386 входит при установке бита включения защиты (РЕ) в нуле­вом регистре управления (CR0) с помощью команды пересылки (MOV to CR0). Для совместимости с МП 80286 с целью установки бита РЕ может быть также использована команда загрузки слова состо­яния машины LMSW. Процессор повторно входит в реальный режим в том случае, если программа командой пересылки сбрасывает бит РЕ регистра CR0.

2.2. Защищенный режим

Полные возможности МП 80386 раскрываются в защищенном ре­жиме. Программы могут исполнять переключение между процессами с целью входа в задачи, предназначенные для режима виртуально­го МП 8086. Каждая такая задача проявляет себя в семантике МП 8086 (т.е. в отношениях между символами и приписываемыми им значениями независимо от интерпретирующего их оборудования). Это позволяет выполнять на МП 80386 програмное обеспечение для МП 8086 - прикладную программу или целую операционную систему. В то же время задачи для виртуального МП 8086 изолированы и защищены как друг от друга, так и от главной операционной системы МП 80386.

3. Типы данных

МП 80386 подразделяет память на 8-разрядные байты, 16-разрядные слова и 32-разрядные двойные слова. Дополнительно МП 80386 поддерживает также следующие дополнительные типы дан­ных.

Неупакованный двоично-десятичный тип - распакованное бай­товое представление десятичной цифры от 0 до 9. Распакованные десятичные числа хранятся как беззнаковые байтовые значения по одной цифре в каждом байте. Значение цифры определяется млад­шим полубайтом. Старший полубайт должен быть равным нулю при делении и умножении, но может иметь любое значение при вычита­нии или сложении.

Упакованный двоично-десятичный тип - упакованное байтовое представление двух десятичных цифр от 0 до 9. Каждая цифра хранится в своем полубайте. Цифра в старшем полубайте является более значимой. Диапазон упакованного десятичного байта составляет от 0 до 99.

Битовое поле - непрерывная последовательность битов, в которой каждый бит рассматривается как независимая переменная. Битовое поле может начинаться с любого бита любого байта и мо­жет быть длиной до 32 бит.

Битовая строка - подобно битовому полю, битовая строка является непрерывной последовательностью битов. Битовая строка может начинаться с любого бита любого байта и иметь длину до (2Е32-1) бит.

Ближний указатель - 32-разрядный логический адрес, кото­рый представляет собой относительный адрес внутри сегмента. Ближние указатели используются как в сплошной, так и в сегмен­тированной модели памяти.

Дальний указатель - 48-разрядный логический адрес из двух компонентов: 16-разрядного сегмента и 32-разрядного относи­тельного адреса. Дальние указатели используются программистами тольком в том случае, когда конструкторы системы выбирают сег­ментированную организацию памяти.

Целый тип - знаковое двоичное значение, содержащееся в 32-разрядном двойном слове, 16-разрядном слове или 8-разрядном байте. Все операции предполагают представление чисел в допол­нительном коде. Знаковый бит расположен в бите 7 в байте, в бите 15 в слове и в бите 31 в двойном слове. Он равен нулю для положительных чисел и единице для отрицательных. Поскольку этот старший бит используется как знаковый, то 8-разрядное (байт) целое число может изменяться в диапазоне от -128 до +127, 16-разрядное (слово) целое число в диапазоне от -32768 до +32767, а 32-разрядное (двойное слово) целое число в диапа­зоне от -2Е31 до +2Е31-1. Нулевое значение имеет положительный знак.

Обычный тип - беззнаковое двоичное значение, содержащееся в 32-разрядном двойном слове, 16-разрядном слове или 8-разряд­ном байте. Все биты определяют величину числа.

Строка - непрерывная последовательность байтов, слов или двойных слов. Строка может содержать от 0 до 2Е32 -1 байтов или 4 Гбайтов.

4. Регистры

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

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

4.1. Регистры общего назначения

Восемь регистров общего назначения имеют длину в 32 бит и содержат адреса или данные. Они поддерживают операнды-данные длиной 1, 8, 16, 32 и 64 бит; битовые поля от 1 до 32 бит: операнды-адреса длиной 16 и 32 бит. Эти регистры называются EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP.

Доступ к младшим 16 бит этих регистров выполняется неза­висимо. Это делается в большинстве ассемблеров при использова­нии 16-разрядных имен регистров: AX, BX, CX, DX, SI, DI, BP, SP.

4.2. Регистр системных флагов

Регистр EFLAGS управляет вводом-выводом, маскируемыми прерываниями, отладкой, переключением задач и включением исполнения в режиме виртуального МП 8086 в защищенной многоза­дачной среде - все это в дополнение к флагам состояния, кото­рые отражают результат исполнения команды. Младшие 16 бит его представляют собой 16-разрядный регистр флагов и состояния МП 80286, называемый FLAGS, который наиболее полезен при исполне­нии программ для МП 8086 и 80286.

4.2. Регистры сегментов

Шесть 16-разрядных регистров содержат значения селекторов сегментов, которые указывают на текущие адресуемые сегменты памяти. Ниже перечислены эти регистры.

Регистр сегмента программы (CS) - указывает на сегмент, который содержит текущую последовательность исполняемых ко­манд. Процессор выбирает все команды из этого сегмента, используя содержимое счетчика команд как относительный адрес. Содержимое CS изменяется в результате выполнения внутрисег­ментных команд управления потоком, прерываний и исключений. Он не может быть загружен явным способом.

Регистр сегмента стека (SS). Вызовы подпрограмм, записи параметров и активизация процедур обычно требуют области памя­ти, резервируемой под стек. Все операции со стеком используют регистр SS при обращении к стеку. В отличие от регистра CS ре­гистр SS может быть загружен явно с помощью команды программы.

Остальные четыре регистра являются регистрами сегментов данных (DS, ES, FS, GS), каждый из которых адресуется текущей исполняемой программой. Доступ к четырем раздельным областям данных имеет целью повысить эффективность программ, позволяя им обращаться к различным типам структур данных. Содержимое этих регистров может быть заменено под управлением программы.