- •3.1 Представление данных в алгоритме.
- •3.2 Представление данных в программе
- •3.3 Представление данных в цпос
- •3.5. Форматы данных
- •3.7.3. Представление вещественных чисел
- •3. 7. 4. Шестнадцатеричный эквивалент представления данных
- •3. 7. 5. Целочисленная и дробная арифметики
- •3.7.6. Коды чисел
- •Прямой код
- •Дополнительный код
- •Двойное слово
- •Msp lsp
- •Ext msp lsp
- •3. 7.7. Представление данных
- •Сложение и вычитание
- •Умножение
- •Замечание
- •3.7.10. Преобразование форматов в цпос с фиксированной точкой
- •3.7.11. Диапазон, динамический диапазон
- •3.7.12. Увеличение динамического диапазона
- •3. 8. 2. Форма представления данных с плавающей точкой
- •3.8.4. Преобразование форматов в цпос с плавающей точкой
- •3.8.5. Нормализованные числа j
- •3,8.6. Специально данные
- •3.8.7. Арифметические операции над данными с плавающей точкой
- •3.8.8. Диапазон, динамический диапазон и точность представления чисел с плавающей точкой
- •3.9. Сравнение цпос с фиксированной и плавающей точками
- •3.10. Организация обработки данных с плавающей точкой в цпос с фт
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. Основные форматы данных
Формат является важнейшей характеристикой представления данных. Базовым форматом в процессоре считаетсяслово, его длина определяет диапазон и точность представления данных, объем памяти, разрядность шины данных и т.д. Пользователю, выбирающему процессор для конкретного приложения, желательно оценить минимально—достаточную длину слова.
Формы представления данных
Формат данных определяет длину последовательности из нулей и единиц – количество битов в последовательности битов.Такие последовательности могут рассматриваться как данные в операциях
бит – манипуляций (в операциях с отдельными битами) или как данные логического типа в логических операциях
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плавающей точкой (ПТ).
Замечание
Терминология “фиксированная точка” (ФТ) и “плавающая точка” (ПТ), пришедшая из алгоритмических языков программирования, тождественна по смыслу “фиксированной запятой ”(ФЗ) и “ плавающей запятой ”(ПЗ).
Данные целого типа (целые двоичные числа ) предствляются в процессорах только в форме с (ФТ).
Данные вещественноготипа могут представляться в форме с фиксированной или с плавающей точкой.
ЦПОС с фиксированной точкой;
ЦПОС с плавающей точкой.
Рассмотрим подробнее представление данных с ФТ и ПТ.
Представление данных с фиксированной точкой
Представление данных вещественного типа (вещественных двоичных чисел) в форме с ФТ означает, что в рамках заданного формата для всех вещественных чисел логически фиксируется одинаковое местоположение точки, разделяющей целую и дробные части числа.
Представление целых двоичных чисел в форме с ФТ означает, что в рамках заданного формата для всех целых чисел точка логически фиксируется за правой границей формата, т.е. по существу отсутствует.
В дальнейшем для краткости вместо “числа, представленные в форме с ФТ или с ПТ” будем говорить “числа с ФТ” или “ числа с ПТ”.
Прежде чем обсуждать особенности представления целых и вещественных чисел в формате с ФТ, необходимо познакомиться с внутренней структурой тех форматов, в которых эти числа представляются.
Структура двойного и расширенного слова при представлении чисел с ФТ
Структура двойного и расширенного слова при представлении чисел с ФТ приведена на рис.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слов при представлении целых и вещественных чисел.
Представление целых чисел
Представление целых чисел в форме с ФТ в форматах словоидвойное словопредполагает следующее
функциональное распределение битов:
старший бит 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
В дальнейшем, говоря о целых числах, будем подразумевать целые со знаком, а беззнаковые числа оговаривать особо.