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), каждый из которых адресуется текущей исполняемой программой. Доступ к четырем раздельным областям данных имеет целью повысить эффективность программ, позволяя им обращаться к различным типам структур данных. Содержимое этих регистров может быть заменено под управлением программы.

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


Информация о работе «80386 процессор»
Раздел: Компьютерные науки
Количество знаков с пробелами: 44298
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
38039
3
0

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

Скачать
82626
0
0

... шине данных процессора и посылает слово данных в процессор. Наоборот, выходной порт представляет собой приемник данных ( например, регистр), который избирательным образом подключается к шине данных процессора. Будучи выбран, выходной порт принимает слово данных из микропроцессора. Процессор должен иметь возможность координировать скорость своей работы со скоростью работы ...

Скачать
132006
3
0

... преодолеть присущие архитектуре х86 ограничения (различная длина инструкций). В случае использования ин­струкций различной длины, чипы 4-го поколения могут одновременно об­рабатывать 1 команду, процессоры 5-го поколения (Pentium) - 2 коман­ды. И только микропроцессор AMD5k86 способен обрабатывать до 4 ин­струкций за такт. Использование раздельного КЭШа инструкций и данных (объем КЭШа инструкций ...

Скачать
51860
5
5

... Особенность однокристального микропроцессора – наличие внутренней шины, по которой происходит обмен информацией между устройствами микропроцессора. По функциональным возможностям микропроцессор соответствует процессору ЭВМ, выполненному на 20-40 ИС малой и средней степени интеграции, но обладает большим быстродействием, существенно меньшими размерами, массой, потребляемой мощностью и стоимостью. ...

0 комментариев


Наверх