Обзор x86 процессоров
Величина отклонения может иметь
разрядность 8 или 32 бит и интерпретируется процесспром как величина со
знаком в дополнительном коде.
Разумные комбинации базы, индекса и отклонения дают следующие способы
адресации памяти 80386:
- прямая: используется только отклонение;
- регистривая косвенная: используется только база;
- базовая: используется база + отклонение;
- индексная: используется индекс (в масштабе);
- индексная с отклонением: используется индекс (в
масштабе)+отклонение;
- базовая индексная: используется база + индекс (в масштабе);
- базовая индексная с отклонением: используется база + индекс
(в масштабе) + отклонение;
3.7 Главные типы данных
В табл. 3.7.1 перечислены типы данных и команды, обеспечиваемые
процессором 80386. В этой таблице приведены только наиболее употребимые
команды. Варианты команд, такие как (в случае циклического сдвига)
циклический сдвиг вправо и циклический сдвиг через перенос, также опущены.
Таблица 3.7.1
Главные типы данных и команды
| Тип | Разрядность|Команды |
|Целое, | 8, 16, 32 |Пересылка,обмен, |
| |бит |преобразование, проверка, |
|порядковое | |сравнение,перевод, сдвиг, |
| | |двойной сдвиг, циклический |
| | |сдвиг, отрицание, логическое|
| | |"и", "или", исключающее |
| | |"или". |
| | |Сложение, вычитание, |
| | |умножение, деление, |
| | |увеличение на 1, уменьшение |
| | |на 1, перевод (пересылка с |
| | |расширением знака/ноля) |
|Неупакованное| 1 цифра |Коррекция для сложения, |
| | | |
|десятичное | |вычитания, умножения,деления|
|Упакованное | 2 цифры |Коррекция для сложения, |
| | | |
|десятичное | |вычитания |
|Строка | 0-4гбайт |Пересылка, загрузка, |
| |слов, | |
|(байтов,слов,|двойных слов|запоминание, сравнение, |
| | | |
|двойных слов)| |просмотр, повтор |
|Строка бит | 1-4гбит |Проверка, проверка и |
| | |установ- |
| | |ка, проверка и гашение, |
| | |про- |
| | |верка и дополнение, |
| | |просмотр, |
| | |вставление, изъятие |
|Локальный | 32 бит | (см. Порядковое) |
| | | |
|указатель | | |
|Глобальный | 48 бит | Загрузка |
| | | |
|указатель | | |
Примечание.
Локальный указатель - 32 битное смещение в сегменте,
определенном одной из регистрированных пар сегмента/дескриптора. Глобальный
указатель - это полный логический адрес, состоящий из селектора и
смещения.
Многобайтные элементы могут размещаться с любого адреса байта в
зависимости от структуры магистрали, для обращения к операндам,
размещенным по адресу, не кратным длине операнда в байтах, могут
потребоваться дополнительные магистральные циклы. Поэтому для высокой
производительности, не зависящей от структуры магистрали, большинство
программ ориентируют словные операнды из двойных слов на границах двойных
слов и т.п.
3.7.1 Типы данных математического сопроцессора
Математический сопроцессор 80287 или 80387 добавляют к типам данных и
командам процессора 80386 свои, приведенные в табл.3.7.1.1 В большинстве
прикладных задач входные величины и получаемые результаты хранятся в виде
типов целых, действительных или упакованных десятичных, а для
промежуточных величин имеется тип данных промежуточное действительное,
расширенный диапазон и точность которого в сложных вычислениях сводят к
минимуму ошибки округления, переполнения и исчезновения порядка. В
соответствии с такой моделью математический сопроцессор производит
большую часть вычислений над промежуточными величинами, хранящимися в его
регистрах. При загрузке
любого типа данных в регистровый стек, этот тип автоматически меняется на
промежуточный действительный. Промежуточная действительная величина в
регистре, в свою очередь, может быть
переведена в любой другой тип с помощью команды запоминания.
Таблица 3.7.1.1
Главные типы данных и команды математического сопроцессора
|Команды | Тип | Разрядность |
|Загрузка, запоминание, |Целое | 16,32,64 бит |
|сравнение, сложение, вычитание, | | |
|умножение, деление | | |
|Загрузка, запоминание |Упакованное | 18 цифр |
| | | |
| |десятичное | |
|Загрузка, запомонание, сравнение |Действительное| 32,64 бит |
|сложение, вычитание, умножение, | | |
|деление | | |
|Сложение, вычитание, умножение, |Промежуточное | 80 бит |
|деление, извлечение квадратного | | |
|корня, масштабирование остатка, |действительное| |
|вычисление части целого, смена | | |
|знака, вычисление абсолютной | | |
|величины, выделение порядка и | | |
|мантиссы, сравнение, осмотр, | | |
|проверка, обмен, арктангенс, 2-1,| | |
|Y*LOG(X+1), Y*LOG(X), загрузка | | |
|константы (0.0, П, и т.д.) (80387| | |
|добавляет синус, косинус, синус и| | |
|косинус, неупорядоченное | | |
|сравнение). | | |
| | | |
| | | |
ЗАключение
Изобретение процессоров i80386 и i80286 было большим шагом в
улучшении архитектуры и производительности процессоров фирмы Intel, сейчас
эти процессоры морально устарели и в основном используются о контроллерах,
а так же в бытовой технике.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. В.Л. ГРИГОРЬЕВ “Микропроцессор i80486” БИНОМ Москва 1993
2. М. ГУК “Аппаратные средства IBM PC” Питер Санкт-Петербург 1997
| | скачать работу |
Обзор x86 процессоров |