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

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

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