Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОЭВМ_met_ч2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.53 Mб
Скачать

Задание.

Составить программу для FPU с минимальным количеством обращений к ОЗУ, для вычислений по формуле, приведенной в табл. 8.6 в соответствии с вариантом задания. В отчете, кроме варианта задания и текста программы, указать в качестве комментария значение вершины стека после выполнения каждой команды.

Таблица 8.6. Варианты заданий к лабораторной работе №8

№ вар.

Вычислить

При исходных данных

1

a =12; b =26; x =8

2

а =10; b =14; с =19

3

x =28; y =18; z =13

4

x =21; y =20; z =16

5

f =31; g =22; h =14

6

p =11; m =20; q =9

7

а =29; b =14; с =17

8

x =7; y =14; z =15

9

r =9; t =12; f =18

10

а =17; b =16; с =11

11

k =7; m =12; n =14

12

f =12; g =21; h =17

13

а =14; b =16; с =18

14

а =8; b =11; с =9

15

x =17; y =18; z =23

Лабораторная работа № 9 Представление данных в математическом сопроцессоре

Все данные, которые обрабатываются на ЭВМ, имеют определенную область допустимых значений. Это относится к целым числам для центрального процессора (ЦП) и вещественным для FPU.

Внутреннее представление чисел в FPU – 80-битное представление с расширенной точностью. Нормализованным здесь является число, у которого в целом разряде единица, причем этот разряд в мантиссе представлен явно. Но для сокращения объема используемой памяти и соответствия стандарту IEEE854, в памяти вещественные числа так же могут храниться с одинарной (4 байта) и двойной (8 байт) точностью. Кроме этого, данные можно хранить и как целые двоичные, и как целые десятичные двоично-кодированные, см. рис. 9.1-9.3.

Одинарная

31

8 бит

23 бита

0

точность

S

Порядок

Мантисса

4 байта

Двойная

63

11бит

52 бита

0

точность

S

Порядок

Мантисса

8 байт

Расширенная

79

15 бит

64 бита

0

точность

S

Порядок

Мантисса

10 байт

Рис. 9.1. Форматы вещественных чисел.

Разряд знака числа (поля мантиссы) находится в самом старшем разряде. Порядок представлен с фиксированным смещением, разным для разных представлений точности: 127, 1023 или 16383 (в десятичной системе счисления). Мантисса для одинарной и двойной точности имеет скрытый бит: единица в старшем разряде только указывается, но не хранится. При этом точность представления числа увеличивается на один двоичный разряд. Для расширенной точности старший бит мантиссы указывается явно.

Таким образом, значения чисел с плавающей точкой следующие:

(-1)S (1.b1b2…b23)  2 (E-127)  (одинарная точность)

(-1)S (1.b1b2…b52)  2 (E-1023)  (двойная точность)

(-1)S (b1.b2b3…b64)  2 (E-16383)  (расширенная точность)

где S – значение, находящееся в знаковом бите (0/1);

b1…bn – биты поля мантиссы;

Е – значение поля порядка.

15

0

S

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

2 байта: целое число

31

0

S

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

4 байта: короткое целое

63

0

S

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

8 байт: длинное целое

Рис. 9.2. Форматы целых двоичных чисел.

При записи в ОЗУ или загрузке происходит преобразование из вещественного в целое (или наоборот) в соответствии с режимом округления. Число хранится в памяти со знаком в дополнительном коде.

79

7 бит

72 бита

0

S

0000000

d17

d16

d1

d0

10 байт

по 4 бита

Рис. 9.3. Формат целого десятичного числа.

Десятичные числа представлены как двоично-кодирован­ные, упакованные (BCD): по тетраде на один десятичный разряд. В десяти байтах находится 18 десятичных разрядов целой части числа.

Все форматы чисел, поддерживаемых сопроцессором при хранении в ОЗУ в нормализованном виде, представлены в табл. 9.1.

Таблица 9.1. Форматы чисел, поддерживаемых FPU

Тип

Дли­на, бит

Точность, разрядов

Диапазон

Двоичная

Десятичная

Двоичный

Десятичный

Вещественные числа

Одиночные (single)

32

24

7

2-126…2127

1.18·10-38… 3.4·1038

Двойные (double)

64

53

15-16

2-1022…21023

2.23·10-308… 1.79·10308

Расширенные (extended)

80

64

19

2-16382…216383

3.37·10-4932… 1.18·104932

Двоичные целые числа

Слова (word)

16

15

4

-215…215-1

-32768…32767

Короткие (short)

32

31

9

-231…231-1

-2.14·109… 2.14·109

Длинные (long)

64

63

18

-263…263-1

-9.22·18… 9.22·1018

Упакованное двоично-десятичное целое число

BCD

80

18

-

-1018+1…1018-1