Рефераты. Выполнение арифметических операций в АЛУ

êmXú < 1,

т.е. в двоичной системе счисления старший разряд мантиссы отличен от нуля. В процессе вычислений может получиться ненормализованное число. В этом случае ЭВМ, если это предписано командой, автоматически нормализует его («нормализация результата» операции).

Пусть мантисса S-ричного числа содержит в r старших разрядах нули. Тогда нормализация заключается в сдвиге мантиссы на r разрядов влево и уменьшении порядка на r единиц, при этом в младшие r разрядов мантиссы записывается 0. При нулевой мантиссе нормализация невозможна.

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

Существуют следующие форматы представления чисел с плавающей запятой: число с плавающей запятой одинарной точности (32 бита; порядок – 8 бит, мантисса – 23 бита), число с плавающей запятой двойной точности (64 бита; порядок – 11 бит, мантисса – 52 бита), число с плавающей точкой повышенной точности (80 бит; порядок – 15 бит, мантисса – 64 бита).

Пример. Пусть X = 24,5. Перевести число X в формат числа с плавающей запятой, .

Для модуля порядка выделим 7 разрядов (разряды [1¸7]), а для мантиссы выделим 10 разрядов (разряды [8¸17]). Нулевой разряд является знаковым для числа, а первый разряд является знаковым для порядка. Так как нулевой и первый разряды определяют соответственно знак мантиссы и знак порядка, то разряды [2¸7] будут определять модуль порядка, а разряды [8¸17] - модуль мантиссы. Формат данного числа изображен на рис. 1.4.

разряды

[0]

[1]

[2¸7]

[8¸17]

биты

x

x

x x x x x x

x x x x x x x x x x

 

зн. мант.

зн. пор.

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

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

Рис. 1.4. Формат представления числа с плавающей

запятой с несмещённым порядком

Определим мантиссу числа mX . Для этого представим в двоичном виде целую и дробную части числа. Алгоритм перевода целого десятичного числа в двоичный вид широко описан в технической литературе и в данном пособии не приводится. Целая часть (24) в десятичном виде соответствует двоичному числу 11000 b. Для отображения целой части X необходимо 5 битов. Результат целой части числа занесём в соответствующие разряды мантиссы mX. Определим двоичный вид дробной части числа X с помощью ниже приведенного алгоритма.

В общем случае алгоритм преобразования дробной части числа к двоичному виду можно разбить на следующие этапы:

1.              Вычесть из исходного числа его целую часть. Результат занести в число R.

2.              Умножить число R на 2.

3.              Если R ³ 1, то:

а) очередная цифра дробной части в двоичном виде равна 1;

б) из числа R вычесть 1.

Если же R < 1, то очередная цифра дробной части в двоичном виде равна 0.

4.              Пункты 2 и 3 повторяются до получения необходимого числа разрядов.

Итак, представим двоичный вид дробной части числа X согласно вышеприведенному алгоритму, описанному выше:

1.         R = 24,5 – 24 = 0,5.

2.         R = R ´ 2 = 0,5 ´ 2 = 1.

3.         Так как R ³ 1, то:

a)          очередная цифра дробной части в двоичном виде равна 1;

б) R = R – 1 = 1 – 1 = 0.

2.         R ´ 2 = 0 ´ 2 = 0.

3.         Так как R < 1, то очередная цифра дробной части в двоичном виде равна 0.

2.         R ´ 2 = 0 ´ 2 = 0.

3.         Так как R < 1, то очередная цифра дробной части в двоичном виде равна 0.

2.         R ´ 2 = 0 ´ 2 = 0.

3.         Так как R < 1, то очередная цифра дробной части в двоичном виде равна 0.

2.          R ´ 2 = 0 ´ 2 = 0.

3.         Так как R < 1, то очередная цифра дробной части в двоичном виде равна 0.

Согласно алгоритму преобразования, дробная часть числа X в двоичном виде представляется как 0,10000 b. Количество итераций алгоритма (количество полученных цифр дробной части) зависит от разрядности мантиссы. Для данного примера разрядность мантиссы равна 10. Для целой части числа X необходимо 5 битов, на дробную часть числа X также выделяется 5 разрядов. Дробная часть числа в двоичном виде дописывается в мантиссу mX после разрядов целой части числа. Таким образом, мантисса числа X имеет вид mX = 1100010000 b.

Определим порядок числа pX. В общем случае порядок pX равен числу разрядов, использовавшихся для представления целой части числа. То есть pX = 5, или в двоичном виде в данной разрядной сетке pX = 0000101 b.

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

X = mX ´ = 0,1100010000 ´ 25,

где mX – нормализованная мантисса числа, представленная как число с запятой перед старшим разрядом, mX = 1100010000;

pX = 5 – порядок числа.

Число X с фиксацией запятой после целой части будет иметь следующий двоичный вид: 11000,10000.

Чтобы убедиться в правильности представления числа в формате с плавающей запятой, произведём обратное преобразование с учетом весов разрядов целой и дробной части числа:

11000,10000 = 1 ´ 24 + 1 ´ 23 + 0 ´ 22 + 0 ´ 21 +
+ 0
´ 20 + 1 ´ 2-1 + 0 ´ 2-2 + 0 ´ 2-3 + 0 ´ 2-4 + 0 ´ 2-5 = 24,5.

Представим порядок pX как смещённый порядок. Для этого к порядку pX прибавим целое число – смещение N = 2q, где q – число двоичных разрядов, используемых для модуля порядка (см. рис. 1.4). В данной разрядной сетке q = 6, Следовательно, N =26 = 64 (N = 1000000 b). Таким образом, смещённый порядок числа X равен: pXсм = 1000101 b.

Так как число X положительное, то его знаковый разряд равен 0. Число X в формате с плавающей запятой со смещенным порядком приведено на рис. 1.5.

Веса разрядов

26

25

24

23

22

21

20

24

23

22

21

20

2-1

2-2

2-3

2-4

2-5

0

1

0

0

0

1

0

1

1

1

0

0

0

1

0

0

0

0

знак

смещённый порядок

мантисса

Рис. 1.5. Формат представления числа X = 24,5 в формате с плавающей запятой со смещённым порядком






















Глава 2. Арифметико-логические устройства

2.1. Классификация АЛУ

Арифметико-логическое устройство (АЛУ) служит для выполнения арифметических и логических преобразований над словами, называемыми в этом случае операндами. Выполняемые в АЛУ операции можно разделить на следующие группы:

-         операции двоичной арифметики для чисел с фиксированной запятой;

-         операции двоичной арифметики для чисел с плавающей запятой;

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.