Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.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 2° |
||
б) |
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