Вы находитесь на странице: 1из 7

Лекция №4

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

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


Формат включает три поля: Знак (S), Порядок и Мантисса (рис.
2.3). Поле мантиссы содержит значащие биты числа, а поле порядка
содержит степень 2 и определяет масштабирующий множитель для
мантиссы.
Форматы данных поддерживаются блоком обработки чисел с
плавающей точкой (FPU).
31 22 0 Одинарная
S Порядок 8 Мантис точность
бит са
Двойная
63 51 0 точность
S Порядок 11 бит Мантис
са Расширенная
79 63 (увеличенная)
0 точность
S Порядок 15 бит Мантис
са
Рис. 2.3. Форматы данных с плавающей точкой

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


На рис. 2.4 приведены форматы двоично-десятичных данных.
7 3 0
Цифра Неупакованные BCD –
одна цифра
7 0
Цифра Цифра Упакованные BCD –
две цифры
79 72 71 0
80-разрядное
Игнорируется Цифры
упакованное BСD в блоке FPU

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


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

Символьные данные
Поддерживаются строки символов в коде ASCII и арифметические
операции (сложение, умножение) над ними (рис. 2.6). Поддержка
осуществляется блоком АLU.
7 +N 0 7 +1 0 7 0 0
Символ N … Символ 1 Символ 0 ASCI
I
AS ASCII AS
CII CII

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

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


Указатель содержит величину, которая определяет адрес фрагмента
данных. Поддерживается два типа указателей, приведенных на рис. 2.7.
4 7 +5 +4 + +2 +1 0 0
3
Длинный указатель (дальний)

селектор 16 смещение 32 р.
р.
3 1 +2 +1 0 0
+3
Короткий указатель (ближний)

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

Векторные данные AVX-расширния


На рис. 2.11. показаны два формата упакованных в 256 бит чисел с
плавающей запятой одинарной и двойной точности.
255 191 127 63 0
Упакованные 8 чисел с плавающей
запятой одинарной точности
Упакованные
Данные 4 числа с плавающей
Данные Данныезапятой двойной точности
Данные
3 2 1 0
Рис. 2.11. Данные для AVX, AVX2-расширения

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

81 63 0

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

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


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

б
А L/X У
К

Рис. 2.15. Структура описания данных:


а – с теговой организацией памяти; б – дескриптор данных
Дескриптор содержит сведения о размере массива данных, его
местоположении (в ОП или внешней памяти), адресе начала массива,
типе данных, режиме защиты данных (например, запрет записи в ячейки
массива) и некоторых других параметрах данных. Отметим, что
задание в дескрипторе размера массива позволяет контролировать
выход за границу массива при индексации его элементов. На рис. 2.15,
б в качестве примера представлен один из видов дескрипторов –
дескриптор данных.
Дескриптор содержит: А – адрес начала массива данных; L – длину
массива; Х – индекс; Ук – группу указателей (атрибутов).
Использование в архитектуре ЭВМ дескрипторов подразумевает,
что обращение к информации в памяти производится через
дескрипторы, которые при этом можно рассматривать как дальнейшее
развитие аппарата косвенной адресации. Адресация информации в
памяти может осуществляться с помощью цепочки дескрипторов, при
этом реализуется многоступенчатая косвенная адресация. Более того,
сложные многомерные массивы данных (таблицы и т.п.) эффективно
описываются древовидными структурами дескрипторов.

2.1. Структура и форматы команд ЭВМ


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

В свою очередь, эти части, что особенно характерно для адресной


части, могут состоять из нескольких полей.
Операционная часть содержит код операции (КОП), который задает
вид операции (сложение, умножение и др.). Адресная часть содержит
информацию об адресах операндов и результате операции.
Структура команды определяется составом, назначением и
рас положением полей в команде.
Форматом команды называют ее структуру с разметкой номеров
разрядов (бит), определяющих границы отдельных полей команды, или
с указанием числа бит в определенных полях.
Важной и сложной проблемой при проектировании ЭВМ является
выбор структуры и форматов команды, т.е. ее длины, назначения и
размерности отдельных ее полей. Естественно стремление
разместить в команде в возможно более полной форме информацию о
предписываемой командой операции. Однако в условиях, когда в
современных ЭВМ значительно возросло число выполняемых
различных операций и соответственно команд (в системе команд х86
более 500 команд) и значительно увеличилась емкость адресуемой
основной памяти (4 Гбайт, 6 Гбайт), это приводит к недопустимо
большой длине формата команды.
Действительно, число двоичных разрядов, отводимых под код
операции, должно быть таким, чтобы можно было представить все
выполняемые машинные операции. Если ЭВМ выполняет М различных
операций, то число разрядов в коде операции
nкоп  log2 М; например, при М = 500 nкоп = 9.
Если основная память содержит S адресуемых ячеек (байт), то для
явного представления только одного адреса необходимо в команде
иметь адресное поле для одного операнда с числом разрядов
nА  log2 S; например, при S = 4 Гбайт nА = 32
2.2. Способы адресации информации в ЭВМ
Существует два различных принципа поиска операндов в памяти:
ассоциативный и адресный. Ассоциативный поиск предполагает одно
временный просмотр содержимого всех ячеек памяти для выявления
кода, содержащего заданной командой ассоциативный признак. Этот
код и выбирается из памяти в качестве искомого операнда. В
современных компьютерах ассоциативная выборка используется в
кэш-памяти.
Адресный код – это информация об адресе операнда, содержащаяся в
команде. Исполнительный адрес – это номер ячейки памяти, к которой
производится фактическое обращение. В современных ЭВМ адресный
код, как правило, не совпадает с исполнительным адресом. Таким
образом, способ адресации можно определить, как способ
формирования исполнительного адреса операнда АИ по адресному коду
команды АК.
Способов адресации существует много. Параметры процесса
обработки информации существенно зависят от выбранного способа
адресации. Одни способы адресации позволяют увеличить объём
адресуемой памяти без удлинения команды, но снижают скорость
выполнения операции, другие ускоряют операции над массивами
данных, третьи – упрощают работу с подпрограммами и т.д.
В системах команд современных ЭВМ часто предусматривается
возможность использования нескольких способов адресации операндов
для одной и той же операции. Для указания способа адресации вводятся
дополнительные разряды в поле кода операции, длина которого при
этом возрастает. Адресация операнда в команде может быть явной или
неявной. При явной адресации в команде есть поле адреса операнда, в
котором задается адресный код АК. Большинство методов адресации
являются явными. При неявной адресации адресное поле в команде
отсутствует, адрес операнда подразумевается кодом операции. Метод
неявной адресации операндов используется во всех процессорах.
Основное его назначение – уменьшение длины команды за счет
исключения части адресов. При этом методе код операции точно задает
адрес операнда. Например, из команды исключается адрес приемника
результата. При этом подразумевается, что результат в этой команде
помещается на место второго операнда.
Способы формирования адресов ячеек памяти (А И) можно разделить на
абсолютные и относительные.2.

Вам также может понравиться