Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пос Орг ЭВМ для Вер.ЕС.doc
Скачиваний:
27
Добавлен:
19.09.2019
Размер:
2.93 Mб
Скачать
    1. Типы данных

Основными типами данных в компьютерах интеловской архитектуры являются: байт, слово, двойное слово, квадрослово и 128-разрядное слово (см. рис. 2.2).

К

Убран абзац

аждый из представленных на рис. 2.2 типов данных может начинаться с любого адреса: это означает, что слово не обязано начинаться с чётного адреса; двойное слово – с адреса, кратного 4 и т. д. Таким образом достигается максимальная гибкость структур данных и эффективность использования памяти.

Рис.2.2. Основные типы данных

На базе основных типов данных строятся все остальные типы, распознаваемые командами процессора.

Целочисленные данные

Четыре формата данных (байт, слово, двойное слово, учетверенное слово) с фиксированной точкой могут быть как со знаком, так и без знака. Под знак отводится старший бит формата данных. Представление таких данных и выполнение операций в арифметико-логическом устройстве (ALU) производится в дополнительном коде.

Данные в формате с плавающей точкой х87

Формат включает три поля: Знак (S), Порядок и Мантисса (см. рис. 2.3). Поле мантиссы содержит значащие биты числа, а поле порядка содержит степень 2 и определяет масштабирующий множитель для мантиссы. Поддерживаются блоком обработки чисел с плавающей точкой (FPU).

Рис. 2.3. Форматы данных с плавающей точкой

Двоично-десятичные данные (BCD)

На рис. 2.4 приведены форматы двоично-десятичных данных.

Рис.2.4. Форматы двоично-десятичных данных

Данные типа строка

Строка представляет собой непрерывную последовательность бит, байт, слов или двойных слов (см. рис.2.5). Строка бит может быть длиной до 1 Гбита, а длина остальных строк может составлять от 1 байта до 4 Гбайтов. Поддерживается АLU.

Рис.2.5. Данные типа строка

Символьные данные

Поддерживаются строки символов в коде ASCII и арифметические операции (сложение, умножение) над ними (рис.2.6). Поддержка осуществляется блоком АLU.

7 + N 0

7 + 1 0

7 0 0

Символ N

Символ 1

Символ 0

ASCII

ASCII

ASCII

ASCII

Рис.2.6. Символьные данные

Данные типа указатель

Указатель содержит величину, которая определяет адрес фрагмента данных. Поддерживается два типа указателей, приведенных на рис.2.7.

4

7 +5

+ 4

+ 3

+ 2

+ 1

0

0

Длинный указатель (дальний)

селектор 16 р.

смещение 32 р.

3

1 + 3

+ 2

+ 1

0

0

Короткий указатель (ближний)

смещение 32 р.

Рис.2.7. Данные типа указатель

Данные ММХ-технологии

Целочисленные данные могут быть как со знаком, так и без знака (рис.2.8).

Рис.2.8. Данные ММХ-технологии

Данные SSE-расширения

На рис. 2.9 приведен 128-разрядный формат упакованных данных с плавающей точкой одинарной точности.

Рис.2.9. Данные SSE-расширения

Данные расширения SSE2

На рис. 2.10 приведен 128-разрядный формат упакованных данных с плавающей точкой с двойной точностью.

Рис.2.10. Данные SSE2 расширения с плавающей запятой

На рис. 2.11 показаны 4 формата упакованных в 128 бит целочисленных данных, которые могут быть как со знаком, так и без знака.

127

Рис.2.11. Целочисленные данные SSE2 расширения

Данные в IA-64

В IA-64 непосредственно поддерживается 6 типов данных, в том числе три формата, используемых ранее (одинарная точность, двойная точность, расширенная точность), 82-разрядный формат данных с плавающей точкой (рис. 2.12) и 64-разрядные целые – со знаком и без знака.

81

63 0

S

Порядок 17 р.

Мантисса

Рис.2.12. Формат данных с плавающей точкой 82-разрядный

Теги и дескрипторы. Самоопределяемые данные

Одним из эффективных средств совершенствования архитектуры ЭВМ является теговая организация памяти, при которой каждое хранящееся в памяти (или регистре) слово снабжается указателем тегом (рис.2.13, а). Последний определяет тип данных (целое двоичное число, число с плавающей точкой, десятичное число, адрес, строка символов, дескриптор и т. д.), длину (формат) данных и некоторые другие их параметры. Теги формируются компилятором.

В

Убран абзац

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

Дескрипторы – служебные слова, содержащие описание массивов данных и команд.

Рис.2.13. Структура описания данных: а - с теговой организацией памяти; б - дескриптор данных

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

Дескриптор содержит: А – адрес начала массива данных; L – длина массива; Х – индекс; Ук – группа указателей (атрибутов).

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

Адресация информации в памяти может осуществляться с помощью цепочки дескрипторов, при этом реализуется многоступенчатая косвенная адресация. Более того, сложные многомерные массивы данных (таблицы и т. п.) эффективно описываются древовидными структурами дескрипторов.