Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.04.2024

Просмотров: 199

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

чения 0 и 1. Набор таких устройств, предназначенный для представления в машине многоразрядного числа (слова), называется регистром. На рис. 2-1 схематично представлена структура такого регистра для представ­ ления п-разрядного двоичного числа. Отдельные запо­ минающие элементы регистра пронумерованы на рисун­ ке цифрами от 0 до п—1 (всего п разрядов).

Требования к точности вычислений определяют выбор числа разрядов. Вообще говоря, в ЦВМ путем соответст­ вующего увеличения числа разрядов может быть получе­ на любая точность вы­

 

 

1

числений,

однако это

10

12 3

п-2 п-/,

сопряжено

с

увеличе­

нием количества

аппа­

 

п элементов

ратуры.

Хотя

обычно

Рис. 2-1. Структура двоичного

точность в

7—8 деся­

тичных

разрядах

до­

 

регистра.

статочна для представ­

ных

расчетов,

 

ления

исходных

дан­

вычисления на ЦВМ выполняются с 9—

10, а в ряде случаев с 15—16 десятичными разрядами для уменьшения потери точности от ошибок округления.

В ЦВМ применяют две формы представления чисел: представление чисел с фиксированной запятой («естест­ венная форма») и представление чисел с плавающей за­ пятой («полулогарифмическая форма»).

При представлении чисел с фиксированной запятой положение запятой закрепляется в определенном месте

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

Для кодирования знака числа используется «знако­ вый» разряд (нулевой на рис. 2-1). Нуль в этом разряде соответствует плюсу, а единица — минусу.

На рис. 2-2 в качестве примера показана разрядная сетка машины («формат данных») для представления 32-разрядных (включая знак) чисел с фиксированной за­ пятой для случаев закрепления запятой перед старшим и после младшего разряда.

На разрядной сетке указан вес каждого разряда. На­

58



ибольшее положительное число, представимое в разряд­ ной сетке, показанной на рис. 2-2, а, равно:

0,1 1 ... 1 = 1 — 2"31,

31единица

анаименьшее число:

 

 

 

0,00 •• -01

=

2—ЗІ.

 

 

 

 

30 нулей

 

 

 

 

 

1 2~7 2~г 2-J

 

 

 

 

 

 

 

а'г *3

 

 

 

^ЗО s

 

Zs0 Z29 2ZS

 

 

 

г1

б)

a o *1

a 2 a s

 

Ц В М с

ОС:зо ОС;■31

Рис. 2-2. Разрядная сетка

фиксиро­

дом; 6 —

 

ванной запятой.

 

а

— запятая

фиксирована

перед

старшим разря­

 

 

запятая фиксирована

после

младшего

 

 

 

разряда.

 

 

 

В разрядной сетке (рис. 2-2, а) могут быть представ­ лены числа в диапазоне

от — (і — 2-31) до — 2~31 и от + 2-31 до + (і — 2-31),

Кроме того, в разрядной сетке могут быть представ­ лены также коды «положительного» и «отрицательного» нуля (см. § 2-4). Числа

М < 2 -31

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

С другой стороны, все числа

М > 1

также не могут быть представлены в принятой разряд­ ной сетке. Такое число «выходит из сетки влево» («пере­

59


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

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

1 <

|*| <

231,

а также число нуль.

 

 

Все числа

 

 

О <

|*| <

1

не могут быть представлены в этой разрядной сетке и принимаются равными нулю («число выходит за разряд­ ную сетку вправо»).

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

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

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

Использование представления чисел с фиксированной запятой позволяет упростить схемы машины, повысить

60

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

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

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

Представление числа с плавающей запятой в общем

случае имеет вид:

 

* = S P? ; M < 1 ,

(2-5)

где q — мантисса числа х; S ? — характеристика

числа х;

р — порядок; 5 — основание характеристики.

 

Обычно число 5 совпадает с основанием или целой степенью основания системы счисления, которая исполь­ зуется для представления в ЦВМ мантиссы q.

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

Мантисса q — обычно правильная двоичная дробь. Поэтому распространена следующая форма представле­

ния чисел с плавающей запятой

(5 = 2):

 

x = 2pq - \q \< \.

(2-6)

Порядок р, как и матисса,

представляется

в двоич­

ной системе.

 

 

61


Рассмотрим в качестве примера машину, в которой слова имеют длину 32 двоичных разряда. Пусть число х — 2Pq изображается в машине двоичным словом

«oßo ßi - - -

Ре

а24>

которому соответствует формат данных, показанный на рис. 2-3, а.

Разряды ßoßx ... ß6 отводятся под изображение по­ рядка числа р, при этом разряд ß0 изображает знак по-

Ja a /c м а а т и ссь/

/( числа)

сс

 

4|л 4 4 4 Л

се

СС

оС,

а) О

ßd

и/

г

24

 

\

Модуль порядка

М о д у л ь

ляаппписоь/

11

Зная мантиссы

У

QL*

ßo ßi.

ßz

 

ßz

ß4 ßs \ß6

*1

a2

 

0

 

 

*56

 

 

§1

Модуль порядка

Модуль мантиссы

 

 

 

 

 

 

 

 

 

Рис. 2-3. Разрядная сетка Ц В М с плавающей запятой в форма­

 

 

те слова

(а)

и двойного

слова

(б).

 

 

 

 

 

 

 

 

 

рядка,

а

разряды

ßi ... ß6 — модуль

порядка. Напри­

мер, порядок — 5 представляется в виде

1000101.

Остальные разряды

слова ао аі

... <224 отводятся под

изображение мантиссы q числа. Разряд ао служит для

представления

знака

мантиссы (числа),

а разряды си ...

... сб24 — модуля мантиссы.

нормализован­

Двоичное

число

х= 2 р^ называется

ным, если мантисса

q удовлетворяет неравенству

 

 

\ > \ q \ > \ .

(2-7)

Неравенство показывает, что двоичное число нор­ мализовано, если в старшем разряде мантиссы стоит единица.

62