Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ОКО-2015.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5.69 Mб
Скачать

2.2 Представление числовых данных в микропроцессорных системах

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

Пояснение: для любого вещественного числа существует бесконечно много чисел, которые больше или меньше его, и между любыми двумя вещественными числами находится также бесконечно много чисел.

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

На рис. 2.29 схематически представлена система микропроцессорных чисел, где ( ) и ( ) – соответственно максимально и минимально представимые числа, между которыми находится конечное множество допустимых чисел.

Рисунок 2.29 – Система микропроцессорных чисел

Если результат операции по модулю превышает | |, то возникает переполнение (overflow). Если модуль результата | |<| |, фиксируется антипереполнение (underflow).

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

– с фиксированной точкой (фиксированной точкой – fixed point) – естественная форма;

– с плавающей точкой (плавающей точкой – floating point) – альтернативные названия – нормальная, экспоненциальная, научная запись или полулогарифмическая.

Например, пусть задано число:

,

где – некоторое число; – цифры слева от запятой; – цифры справа от запятой.

В позиционной системе счисления с основанием (2) его можно записать в виде:

,

где: – некоторое число; – мантисса; 2 – основание системы счисления;  – порядок.

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

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

В первом случае микропроцессорная система оперирует с числами, которые по абсолютной величине меньше единицы, то есть, с правильными дробями. Если количество разрядов для представления мантиссы равно ( ), то: ( ).

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

Если каждому числу ( ) однозначно соответствует пара ( ) и ( ), то такое представление называют формой с плавающей точкой. Следует иметь ввиду, что положение точки в реальной разрядной сетке микропроцессорной системы физически никак не указывается, а только «подразумевается» и само число можно записать в виде:

;

;

где – некоторое число; – мантисса числа ( ); – разделитель мантиссы и порядка числа ( ); – порядок числа ( ).

Для однозначного представления числа в нормальной форме принято, что мантисса должна удовлетворять условию:

,

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

С учетом рассмотренных ранее структурных единиц информации, в микропроцессорных системах различают следующие форматы: слово, полуслово (байт), двойное слово (doubleword), учетверенное слово (quadword).

В соответствии с перечисленными форматами различают базовые типы целочисленных данных:

    • слово – 8 бит;

    • целое слово – 16 бит;

    • короткое целое слово – 32 бит;

    • длинное целое слово – 64 бит.

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

В двоичной системе счисления приянто знак положительного числа обозначать «0», а знак отрицательного числа – «1» (обычно это крайний левый бит в представлении числа), как показано на рис. 2.30.

Рисунок 2.30 – Формат числа в двоичной системе счисления со знаковым битом

Будем обозначать целые знаковые числа в виде:

,

а правильные дроби:

.

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

Рассмотрим три наиболее распространенных кода, которые применяются на практике:

        • прямой код;

        • обратный код;

        • дополнительный код.

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

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

К кодам выдвигаются следующие требования:

а) разряды числа в коде жестко связаны с определенной разрядной сеткой;

б) для записи кода знака в разрядной сетке отводится фиксированный, строго определенный разряд.

  1. Прямой код.

Наиболее естественный код. Формируется следующим образом: в знаковый бит ( ) числа помещают знак числа (0 – если число положительное и 1 – если число отрицательное), а остальные биты используют для абсолютного значения (модуля) числа. Правило преобразования чисел в прямом коде можно записать так:

.

где – вес страшего разряда в – разрядной сетке, .

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

Рисунок 2.31 – Отображение -битных наборов двоичных чисел на числовую ось данных прямого кода

Например:

Десятичное

число

Двоичное

число

Прямой

код

Комментарии

(0(10))

0000(2)

0,000

положительный (0)

(0(10))

0000(2)

1,000

отрицательный (0)

(4(10))

0100(2)

0,100

положительная (4)

(- 4(10))

1100(2)

1,100

отрицательная (4)

(3(10))

0011(2)

0,011

положительная (3)

(- 3(10))

1011(2)

1,011

отрицательная (3)

Диапазон представимых чисел: .

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