Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Представление данных.doc
Скачиваний:
45
Добавлен:
16.04.2015
Размер:
713.73 Кб
Скачать

3.5. Форматы данных

Формат данных связан с разрядностью ячеек памяти и регистров, в которых хранятся данные; он определяет возможную длину представления данных в процессоре.

Различают следующие основные форматы представления данных:

Байт;

Полуслово;

Слово;

Двойное слово;

Расширенное слово.

Основными из этих форматов являются: слово, двойное слово и расширенное слово.

Замечание

Формат “двойное слово” часто называют длинным словом, подразумевая тот же смысл, однако

формат “короткое слово”, также используемый для представления данных в процессорах, не

обязательно соответствует полуслову. Короткое слово всегда больше байта и меньше слова.

Cлово отображает содержимое одной изn – разрядных ячеек памяти или одного изn– разрядных регистров,

Поэтому слово обычно характеризует внешнее представление исходных и конечных данных.

Длинасловаnизмеряется в битах и по величине равна разрядности соответствующей ячейки памяти данных или регистра.

Двойное слово отображает содержимое пары соседнихnразрядных ячеек памяти, одного 2n– разрядного регистра или пары соседнихn– разрядных регистров, поэтому двойное слово характеризует представление данных судвоенной точностью;длина двойного слова равна 2n битам.

Расширенное слово отображает содержимоеkразрядного аккумулятора или выходного регистра, и характеризуетвнутреннее представление данных – результатов промежуточных и конечных вычислений.

Длина расширенного слова равна kбитам; в зависимости от архитектуры процессора,формыпредставления данных и назначения регистра, для величиныk выполняется условие:k >2n(в процессорах с фиксированной точкой ) илиn < k < 2n ( в процессорах с плавающей точкой ). Длина расширенного слова всегда больше длины слова, что позволяет повысить точность промежуточных и конечных вычислений.

Содержимое аккумулятора отображается словом аккумулятора, которое, в зависимости от архитектуры процессора, имеет форматдвойного ирасширенногослова.

Байт иполуслово отображают содержимое соответствующих частей ячейки памяти данных или регистров.

Основные форматы (слово, двойное слово и расширенное слово) показаны на рис.3.1

а) слово

n– 1 0

б) двойное слово

2n—1 0

в) расширенное слово k> 2n

k– 1 2n–1 0

г) расширенное слово n<k< 2n

k– 1n– 1 0

Рис. 3.1. Основные форматы данных

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

    1. Формы представления данных

Формат данных определяет длину последовательности из нулей и единиц – количество битов в последовательности битов.Такие последовательности могут рассматриваться как данные в операциях

бит – манипуляций (в операциях с отдельными битами) или как данные логического типа в логических операциях

AND, OR, NOT. Однако для того, чтобы эти последовательности воспринимались как численные данные

(двоичные числа), необходима дополнительная информация:

о функциональном распределении битов в последовательности;

о типе числа, представляемого в заданном формате;

о форме представления числа заданного типа.

При этом именно форма представления является определяющей и для типа числа, и для функционального распределения битов в последовательности.

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

Для записи вещественных и целых чисел в алгебре используют двеформы:

обычную, например:

5000; 5000,0; --3,77; 123; 13,784 и т.п.;

показательную (или полулогарифмическую), например:

5 . 103; 5,0. 103; --0,377. 101; 1,3.102; 137,84.10—1 и т.п.

При этом в записи целых чисел запятая недопустима, т.е. целое число 5000, записанное как 5000,0, считается вещественным.

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

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

Cоответственно двум алгебраическим формам записи вещественных чисел – обычной и показательной – различают две формы представления численных данных в процессорах:

c фиксированной точкой ( ФТ);

cплавающей точкой (ПТ).

Замечание

Терминология “фиксированная точка” (ФТ) и “плавающая точка” (ПТ), пришедшая из алгоритмических языков программирования, тождественна по смыслу “фиксированной запятой ”(ФЗ) и “ плавающей запятой ”(ПЗ).

Данные целого типа (целые двоичные числа ) предствляются в процессорах только в форме с (ФТ).

Данные вещественноготипа могут представляться в форме с фиксированной или с плавающей точкой.

ЦПОС с фиксированной точкой;

ЦПОС с плавающей точкой.

Рассмотрим подробнее представление данных с ФТ и ПТ.

    1. Представление данных с фиксированной точкой

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

Представление целых двоичных чисел в форме с ФТ означает, что в рамках заданного формата для всех целых чисел точка логически фиксируется за правой границей формата, т.е. по существу отсутствует.

В дальнейшем для краткости вместо “числа, представленные в форме с ФТ или с ПТ” будем говорить “числа с ФТ” или “ числа с ПТ”.

Прежде чем обсуждать особенности представления целых и вещественных чисел в формате с ФТ, необходимо познакомиться с внутренней структурой тех форматов, в которых эти числа представляются.

      1. Структура двойного и расширенного слова при представлении чисел с ФТ

Структура двойного и расширенного слова при представлении чисел с ФТ приведена на рис.3.2. В рамках заданных форматов условно выделяют следующие части:

в двойном слове (рис. 3.2, а):

старшее слово – MSP (Most Significant Portion);

младшее слово – LSP (Least Significant Portion);

в расширенном слове (рис.3.2,б):

старшее слово – MSP;

младшее слово – LSP:

расширение – EXT(Extension);

в слове:

старшая часть слова – MSP;

младшая часть слова – LSP.

На рис.3.2.показана сплошная нумерация битов, однако допустима нумерация внутри каждого из слов MSP,

LSP,EXT.

Биты расширения EXTв процессорах называют “защитными ” или “сторожевыми ”(guardbits);смысл этого станет понятным далее из предназначенияEXT.

Длины слов MSPиLSPравны между собой:

MSP=LSP= 1 / 2 длины двойного слова = длине слова.

Длина расширения EXTобычно равна байту, либо половине байта.

Двойное слово и расширенное слово удобно записывать в виде объединения соответствующих частей,

а именно, MSP:LSP– для двойного слова, илиEXT:MSP:LSP– для расширенного слова.

а) двойное слово

2n– 1n– 1 0

MSB

LSB

MSP LSP

MSP:LSP

б) расширенное слово k>2n

k – 1 2n – 1 n –1 0

MSB

LSB

EXT MSP LSP

MSP:LSP

EST: MSP: LSP

Рис.3.2. Структура двойного и расширенного слов при представлении чисел с ФТ

Дополнительно в рамках каждого из форматов обычно именуют два крайних бита:

старший бит – MSB (Most Significant Bit);

младший бит – LSB (Least Significant Bit).

На рис. 3.2. обозначены биты MSBиLSBв двойном и расширенном словах.

Аналогично можно именовать старший и младший биты в рамках каждого из слов MSP,LSPи

EXT.

Рассмотрим назначение MSP,LSPиEXTслов при представлении целых и вещественных чисел.

      1. Представление целых чисел

Представление целых чисел в форме с ФТ в форматах словоидвойное словопредполагает следующее

функциональное распределение битов:

старший бит MSBиспользуется:

как знаковый при представлениицелых чисел со знаком; значениеMSB= 0 соответствует положительному знаку, аMSB= 1 – отрицательному знаку; ноль считается положительным; остальные биты

являются значащими;

как старший значащий при представлениибеззнаковыхчисел; беззнаковыми называются целые числа, имеющие положительный знак по умолчанию;

все биты, кроме знакового, считаются значащими; они выравниваются поправомукраю формата, т.е.

младший бит LSBсоответствует младшему разряду целого двоичного числа; в “лишних” старших битах

целого со знаком происходитрасширение знака; это говорит о том, что все “лишние” старшие биты автоматически заполняются значением старшего знакового битаMSB; ”лишние” старшие битыбезнакового

целого обнуляются.

Операция “расширение знака” весьма широко используется в сигнальных процессорах. Подробно она рассматривается ниже, после знакомства с дополнительным кодом.

На рис.3.3, а, б приведены примеры представления целых чисел со знаком в формате “ слово” длиной 8 битов,

а на рис.3.3, в – пример без знакового числа в том же формате; указаны веса битов и дано правило перевода

двоичного целого числа в десятичное.

а) положительное число

7 6 5 4 3 2 1 0

0

0

1

0

0

1

0

1

Веса битотв Знак 26 252423222120

Десятичный эквивалент

+ ( 25 + 22+ 20) = 37

б) отрицательное число

7 6 5 4 3 2 1 0

0

0

1

0

0

1

0

1

Веса битов Знак 26252423222120

--( 25– 22 – 20 ) = --37

в) беззнаковое число

7 6 5 4 3 2 1 0

0

0

1

0

0

1

0

1

Веса битов Знак 26252423222120

Десятичный эквивалент

27 + 25 + 22+ 20= 165

Рис. 3.3.Примеры представления целых чисел

При представлении целых чисел со знаком в формате “ расширенное слово “ происходит следующее:

функциональное распределение битов в слове MSP:LSPсохраняется таким же, как и для двойного слова

( старший бит MSB– знаковый, остальные – значащие с выравниванием поправому краю);

в расширении EXTпроисходитрасширение знака; это означает, что все битыEXTавтоматически

заполняются значением старшего знакового бита MSBсловаMSP:LSP.

На рис.3.4 приведен пример расширенного слова – слова аккумулятора длиной 56 битов в процессорах

DSP5600xфирмыMotorola, где расширениеEXTзаполнено нулями – значением 47-го знакового бита.

55 48 47 24 23 0

0

0

0

0

1

0

Расширение S Старшее словоMSP Младшее слово LSP

EXT

Двойное слово

MSP:LSP

Расширенное слово

EXT : MSP : LSP

Sзнак

Рис. 3. 4. Слово аккумулятора в процессорахDSP5600xфирмыMotorola

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