表2.1IEEE754标准单精度与双精度数据特征 非规格化数 字长 特征 单精度 双精度 据和正负零的隐含 位是0,而不是1 符号位 阶码位 8 11 IEEE754单精度和 尾数位 双精度数据的特征 总位数 64 如表2.1所示。下面 移码值 127 1023 阶码取值范围 -126~+127 1022~+1023 举例说明IEEE754 最小规格化数 2-1022 标准浮点数据的表 最大规格化数 2+1024 十进制数范围 10-38~10+38 10-308~10+308 最小非规格化数 1045
非规格化数 据和正负零的隐含 位是0,而不是1。 IEEE 754单精度和 双精度数据的特征 如表2.1所示。下面 举例说明IEEE 754 标准浮点数据的表 示。 表2.1 IEEE 754标准单精度与双精度数据特征 字长 特征 单精度 双精度 符号位 1 1 阶码位 8 11 尾数位 23 52 总位数 32 64 移码值 127 1023 阶码取值范围 -126~+127 -1022~+1023 最小规格化数 2 -126 2 -1022 最大规格化数 2 +128 2 +1024 十进制数范围 10-38~10+38 10-308~10+308 最小非规格化数 10-45 10-324
【例2.3】用IE754标准格式表示十进制数9。 解:首先把十进制数9转换为二进制数,即1001;由此得M0.001, E=10000010,S=0;按照IEE754标准格式得 01000001000100000000000000000000 用十六进制表示为4110000H。下面再转换成十进制: N=(-1)S×2E-127×(1.M=(-1)0×2130-127×(1.125) 1.125×8=9 说明:M=二进制(0.001)=十进制(0125) 【例2.4】把IE巧54标准格式的数据C0A00000H转换成十进制数。 解:C0A00000H=1100000010100000000000000000000B。 由此得S=1,E=(1000000)2=12910,M=(0.01)2=(0.25)10;则: N=(-1)S×2E-127×(1M)=(-1)1×2129-127×(1.25) -1.25×22=-5
【例2.3】用IEEE 754标准格式表示十进制数9。 解:首先把十进制数9转换为二进制数,即1001;由此得M=0.001, E=10000010,S=0;按照IEEE 754标准格式得: 0100 0001 0 00 1 0000 0000 0000 0000 0000, 用十六进制表示为41100000H。下面再转换成十进制: N = (-1)S×2E-127× (1.M) = (-1)0×2130-127×(1.125) = 1.125×8 = 9 说明:M = 二进制(0.001) =十进制 (0.125) 【例2.4】把IEEE 754标准格式的数据C0A00000H转换成十进制数。 解:C0A00000H=1100 0000 1010 0000 0000 0000 0000 0000B。 由此得S=1,E= (10000001)2 = 12910,M = (0.01)2 = (0.25)10;则: N =(-1)S×2E-127×(1.M) =(-1)1×2129-127×(1.25) =-1.25×22 =-5
2.1.4向量数据表示 1向量数据表示 在科学计算中,向量运算是一种经常遇到的数值计算。在 非向量计算机中,对于向量运算一般是通过循环程序来实现的 例如向量加法计算 C1=a1+b,i=4,5 11 用 FORTRAN语言编写DO循环程序如下 DO10I=4,11 10C(I)=A(I)+B(I-8) 若在向量机上实现并行运算,数据表示必须满足并行运算 的需要。为了实现向量数据表示,必须为每一个向量设置必要 的参数,即基地址、位移量和向量长度,其示意如图2.3所示
2.1.4 向量数据表示 1.向量数据表示 在科学计算中,向量运算是一种经常遇到的数值计算。在 非向量计算机中,对于向量运算一般是通过循环程序来实现的 。例如向量加法计算: ci = ai+bi-8 , i = 4,5,…,11 用FORTRAN语言编写DO循环程序如下: DO 10 I = 4,11 10 C(I) = A(I)+B(I﹣8) 若在向量机上实现并行运算,数据表示必须满足并行运算 的需要。为了实现向量数据表示,必须为每一个向量设置必要 的参数,即基地址、位移量和向量长度,其示意如图2.3所示
一基地址 AAAA 位移量 向量长度 起始地址 AAA 567 (基地址+位移量) 有效长度 图23向量数据
图2.3 向量数据
在设计指令时,既要说明指令的功能,又要指出必要的参数。 指令格式如下 向量加XA C 其中X、¥、示三个寄存器,分别存放源向量A和目的向量C 的位移量;ABC字段分别存放三个向量的基地址和各向量的长度。 设向量存放如图24际示,其中A、B、C分别表示三个向量的基地 址,A、B、C表示参加运算的向量元素的位移量。参加运算的向量起 始地址=基地址+位移量,分别用A、B、C表示;参加运算的向量有效 长度=向量长度-位移量,分别用A、B、C表示。这样,在X孕字 段所指示的寄存器中存放的内容应当为4,-4和4;在AB和C字段中存 放的向量长度分别为12、4和12。整个运算只要一条向量指令就可以实现, 指令如下: C(4:11)=A(4:11)+B(-4:3)
在设计指令时,既要说明指令的功能,又要指出必要的参数。 指令格式如下: 向量加 X A Y B Z C 其中X、Y、Z表示三个寄存器,分别存放源向量A、B和目的向量C 的位移量;A、B、C字段分别存放三个向量的基地址和各向量的长度。 设向量存放如图2.4所示,其中Ab、Bb、Cb分别表示三个向量的基地 址,Ad、Bd、Cd表示参加运算的向量元素的位移量。参加运算的向量起 始地址=基地址+位移量,分别用As、Bs、Cs表示;参加运算的向量有效 长度=向量长度-位移量,分别用Ae、Be、Ce表示。这样,在X、Y、Z字 段所指示的寄存器中存放的内容应当为4,﹣4和4;在A、B、和C字段中存 放的向量长度分别为12、4和12。整个运算只要一条向量指令就可以实现, 指令如下: C(4:11) = A(4:11)+B(﹣4:3)