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

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

Данные, размещаемые в устройствах ЭВМ, могут иметь различные форматы, как показано на рис. 1.2. В этих форматах могут находиться числа, указатели адреса и закодированные символы. Числа часто представляются как целые в разрядной сетке 8, 16, 32, 64 бита, где они размещаются в форме с фиксированной запятой после младшего разряда со знаком (S) или без знака. Если число занимает 16 бит, то это целое слово (ЦС), если 32 бита, то оно имеет фор­мат короткого целого (КЦ) – двойное слово; и если оно за­нимает формат в 64 бита, то это – длинное целое (ДЦ).

В формате двоичных целых чисел без знака все разряды счита­ются значащими и представление чисел лежит в диапазоне от 0 до 255 (байт), до 65535 (ЦС), 4Г-1 (КЦ) и 264-1 (ДЦ) соответственно десятичной системе счисления. Двоичные числа со знаком представ­ляются в дополнительном коде, и их величина лежит в диапазоне

-2m X  +(2m -1),

где m = 7 (байт), 15 (ЦС), 31 (КЦ), 63 (ДЦ) при представлении в форматах байт, слово, двоичное слово и в разрядной сетке 64 бита. Так, в формате “слово” мантиссу числа можно представлять с абсолютной точностью в интервале -32768 до +32767(10) в дополнительном коде с фиксиро­ванной запятой после младшего разряда. Числа с плавающей запятой могут иметь в ОЗУ два формата: ве­щественное с одинарной точностью (ОТ) или вещественное с двойной точностью (ДТ). В этих форматах знак мантиссы числа не­пременно размещается в старшем разряде старшего байта, за ним располагается смещенный беззнаковый порядок Е (Exponent) размер­ностью 8 бит (ОТ) или 11 бит (ДТ). В оставшихся младших разрядах размещается в прямом коде нормализован­ная мантисса с весами зна­чащих цифр от 2-1 до 2-23 или 2-52 (ДТ). Величина Е (характеристика) определяется по формуле

E = p +  pmax,

где p – истинный порядок, целое число в прямом коде со знаком; |pmax| – величина смещения, для соответствующих форматов рав­ная

+127, +1023, +16383(10).

Так, если в формате ОТ размещать истинный порядок со знаком, то представление порядка лежит в диапазоне 1.1111111  0.1111111 (-127  +127). При этом минимальный порядок будет равен -127, а максимальный +127(10). Отсюда, с учетом смещения, характеристика числа лежит в диапазоне Emin Emax или 0000 0000  1111 1111, где код 0…0 = Emin соответствуют наибольшему отрицательному порядку, а код 1…1 = Emax наибольшему положительному порядку. В МП код 0…0 используется для представления нуля, для которого и все разряды мантиссы (М) также принимаются равными нулю, а код 1…1 используется для представления , у которой мантисса, с учетом левого сдвига, равна 1,0…0, а знак S указывает на +(S = 0) или -(S = 1) бесконечность. Поэтому диапазон представления чисел, от­личных от нуля и бесконечности, определяется характеристикой, лежащей в интервале 00000001  11111110 в формате ОТ или 00000000001  11111111110 в формате ДТ. Смещенный порядок на­много упрощает выполнение операций сравнения и “больше-меньше” чисел с плаваюшей запятой.

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

 2,23  10-308 до  1,79  10308.

Для представления десятичных чисел в двоичной системе счисления (BCD) используется код 8, 4, 2, 1, в котором каждой де­сятичной цифре отводится тетрада с весами в разрядах 23, 22, 21, 20, т.е. 8, 4, 2, 1. Такое кодирование в прямом коде позволяет предста­вить десятичные цифры Цi 0,1,2, …,9 кодами 0000, 0001, …,1001. Если десятичные цифры кодировать для целых чисел, то младшая тетрада будет соответствовать цифре (Ц0) с весом 100, более старшая (Ц1) с весом 10+1 и т.д. В формате один байт могут быть закодированы только две десятичные цифры без знака - упакованный формат (УПК) или одна цифра Ц01=0) - неупакованный формат (НУПК). Арифметические операции с числами BCD можно осуществлять только в целочисленном устрой­стве. В сопроцессоре формат УПК из 18 десятичных цифр и одного бита знака в старшем байте используется в операциях за­грузки, сохранения и передачи последовательности символов для печати.

Указатели используются для определения адреса команд или опе­рандов в сегментных (близкий) или межсегментных (далекий) передачах. Близкий указатель содержит величину смещения, которая суммируется с базовым адресом сегмента. Далекий указатель загружает селектор в соответствующий сегментный регистр, и уже к новому адресу сегмента суммируется смещение, которое и яв­ляется линейным адресом операнда или команды. В цепочки объединяются данные, хранящиеся по соседним адресам. Элемен­тами цепочек могут быть биты, байты, слова или двойные слова. Цепочки используются для пересылки части файлов из одной области памяти в другую, поиска конкретных значений внутри цепочки, сравнений цепочек и других операций преобразования баз данных. Длина цепочки может быть практически любой, размещаемой внутри области памяти ЭВМ.

При работе с числами и при ошибках программирования могут возникнуть особые случаи прерывания вычислений ЭВМ по следую­щим причинам:

- в формате присутствует денормализованное вещественное число, при котором Е = Еmin и мантисса не равна нулю;

- в формате присутствуют не числа, когда Е = Еmax, а мантисса равна любому значению кроме 1,0 … 0 (например, результат, полученный от деления на нуль);

- результат операции не размещается в разрядной сетке ЭВМ (переполнение) или результат слишком мал (антипереполнение);

- результат не может быть представлен точно в предписанном формате (например, деление на 1/3).

Соседние файлы в папке Дубинин Н.М. Организация ЭВМ и Систем