版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 计算机中的信息表示计算机中两类信息流:数据流和控制流计算机中两类信息流:数据流和控制流本章考察数据信息和控制信息的表示本章考察数据信息和控制信息的表示第2章 计算机中的信息表示基本知识点:基本知识点:机器数的概念;原码、补码、真值之间的转机器数的概念;原码、补码、真值之间的转换;定点和浮点数的表示、表示范围;指令换;定点和浮点数的表示、表示范围;指令的格式、寻址方式、寻址范围、操作码扩展的格式、寻址方式、寻址范围、操作码扩展技术;指令系统的设计技术;指令系统的设计 第2章 计算机中的信息表示重点:重点:定点、浮点数的表示;操作码扩展技定点、浮点数的表示;操作码扩展技术;指令系统的设计术
2、;指令系统的设计难点:难点:浮点数的浮点数的IEEE754IEEE754格式表示,定点和格式表示,定点和浮点数的表示范围,浮点数的规格化问题,浮点数的表示范围,浮点数的规格化问题,操作码扩展技术,指令系统的设计操作码扩展技术,指令系统的设计第2章 计算机中的信息表示2.1 数值型数据的表示方法数值型数据的表示方法一个数值型数据的完整表示包含如下几个方一个数值型数据的完整表示包含如下几个方面:面:采用何种进位计数制采用何种进位计数制符号位的处理符号位的处理小数点的处理小数点的处理尾数的处理尾数的处理2.1 数值型数据的表示方法2.1.1 进位计数制进位计数制构成进位计数制的基本要素:构成进位计数
3、制的基本要素:基数基数r各数位的权值各数位的权值ri1. 计算机中的常用进位计数制计算机中的常用进位计数制二进制二进制八进制八进制 十六进制十六进制二二 十进制十进制(BCD码码)2.1 数值型数据的表示方法2.1.1 进位计数制进位计数制2. 各种进位计数制间的转换各种进位计数制间的转换 十进制整数十进制整数二进制整数二进制整数减权定位法减权定位法 除基取余法除基取余法 十进制小数十进制小数二进制小数二进制小数减权定位法减权定位法 乘乘除基取整法除基取整法2.1 数值型数据的表示方法2.1.1 进位计数制进位计数制2. 各种进位计数制间的转换各种进位计数制间的转换 二进制整数二进制整数十进制
4、整数十进制整数按权相加法按权相加法 逐次乘逐次乘基相加法基相加法 二进制小数二进制小数十进制小数十进制小数按权相加法按权相加法 逐次除逐次除基相加法基相加法2.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示真值真值用正负符号加绝对值表示数值用正负符号加绝对值表示数值机器数机器数在计算机中使用的连同数符一起数字化了的在计算机中使用的连同数符一起数字化了的数数 2.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示?真值?真值机器数要解决的问题机器数要解决的问题只能采用二进制只能采用二进制符号位的数字化符号位的数字化小数点的处理小数点的处理数值部分的数字化表示数值部
5、分的数字化表示2.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示1. 原码表示法原码表示法( (符号符号-幅值表示法幅值表示法) )约定:约定:数码序列数码序列中的最高位为符号位,符号位为中的最高位为符号位,符号位为0 0表示该数为正,为表示该数为正,为1 1表示该表示该数为负;其余有数为负;其余有效数值部分则用二进制的绝对值表示。效数值部分则用二进制的绝对值表示。 2.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示 定点数原码定义式:定点数原码定义式: 定点小数定点小数 若定点小数的原码序列为若定点小数的原码序列为 X X0 0.X.X1 1X X2 2X
6、 Xn n,则,则 X 1X0X 1X0 1-X=1+|X| 0X-1 1-X=1+|X| 0X-1XX原原= =2.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示 定点数原码定义式:定点数原码定义式: 定点整数定点整数 若定点整数的原码序列为若定点整数的原码序列为 X Xn nX Xn-1n-1X X1 1X X0 0,则,则 X 2X 2n nX0X0 2 2n n-X=2-X=2n n+|X| 0X-2+|X| 0X-2n nXX原原= =2.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示 原码特点原码特点数值数值0 0在原码表示中可以有两种形式,可称
7、在原码表示中可以有两种形式,可称为为 +0+0与与 -0-0,但真值含义相同;,但真值含义相同;符号位不是数值的一部分,是人为约定符号位不是数值的一部分,是人为约定“0 0正正1 1负负”,不能作为数值的一部分直接参加运,不能作为数值的一部分直接参加运算,需要单独处理;算,需要单独处理;对于小数,对于小数,1X-11X-1;对于整数;对于整数2 2n nX-2X-2n n ;用绝对值表示数值,直观,乘除运算简单用绝对值表示数值,直观,乘除运算简单2.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示2. 补码表示法补码表示法 补码定义补码定义通式通式 XX补补=M+X (mod
8、M) =M+X (mod M) 数数X X对模对模M M 的补的补数称作其补码数称作其补码若若X0X0,则模,则模 M M 作为正常溢出量可以舍去。作为正常溢出量可以舍去。因而正数的补码就是其本身,形式上与原码因而正数的补码就是其本身,形式上与原码相同。相同。2.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示2. 补码表示法补码表示法 补码定义补码定义若定点小数的补码序列为若定点小数的补码序列为X X0 0.X.X1 1X X2 2X Xn n, ,则则 X 1X0X 1X0 2+X=2-|X| 0X-12+X=2-|X| 0X-1若定点整数的补码序列为若定点整数的补码序列为
9、X Xn nX Xn-1n-1X X1 1X X0 0, ,则则 X 2X 2n nX0X0 2 2n+1n+1+X=2+X=2n+1n+1-|X| 0X-2-|X| 0X-2n nXX补补= =XX补补= =2.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示2. 补码表示法补码表示法 对补码的一种理解方法:对补码的一种理解方法:值盒子值盒子(value box)(value box)盒子的最右端是盒子的最右端是1(21(20 0) ),往左一个连续位置其,往左一个连续位置其值加倍,直到最左端,但最左端的值是负的值加倍,直到最左端,但最左端的值是负的-128-12864643
10、23216168 84 42 21 1一个一个8位置的位置的2的补码值盒的补码值盒2.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示2. 补码表示法补码表示法 值盒子值盒子(value box)(value box)-128-1286464323216168 84 42 21 11 10 00 00 00 00 01 11 1将二进制将二进制10000011转换成十进制转换成十进制-128 +2 +1 = -125-128 +2 +1 = -125-128-1286464323216168 84 42 21 11 10 00 00 01 10 00 00 0将十进制将十进制-
11、120转换成二进制转换成二进制-120 = -128 +8-120 = -128 +82.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示2. 补码表示法补码表示法 由真值、原码转换为补码由真值、原码转换为补码正数的补码表示与原码相同。正数的补码表示与原码相同。负数方法负数方法1 1:变反加变反加 1 1负数方法负数方法2 2:符号位不变,尾数部分自低符号位不变,尾数部分自低位向高位,第一个位向高位,第一个 1 1 及之后的及之后的 0 0 维持不变,维持不变,其余各位变反。其余各位变反。 由补码表示转换为真值、原码由补码表示转换为真值、原码2.1 数值型数据的表示方法2.1.
12、2 带符号数的表示带符号数的表示2. 补码表示法补码表示法 补码特点补码特点最高位表示数的正负(最高位表示数的正负(0 0正正1 1负);负);能够化减为加(负数映射到正数域);能够化减为加(负数映射到正数域);需要解决负数求补的问题;需要解决负数求补的问题;数数0 0只有一种表示;只有一种表示;表示范围比原码稍宽;表示范围比原码稍宽;位长度扩展:用符号位填充位长度扩展:用符号位填充2.1 数值型数据的表示方法2.1.2 带符号数的表示带符号数的表示3. 反码表示法反码表示法若定点小数的反码序列为若定点小数的反码序列为X X0 0.X.X1 1X X2 2X Xn n, ,则则 X 1X0X
13、1X0 2-2 2-2-n-n+X 0X-1+X 0X-1若定点整数的反码序列为若定点整数的反码序列为X Xn nX Xn-1n-1X X1 1X X0 0, ,则则 X 2X 2n nX0X0 2 2n+1n+1-1+X 0X-2-1+X 0X-2n nXX反反= =XX反反= =2.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示1. 定点表示法定点表示法定点数:定点数:小数点位置固定不变的数小数点位置固定不变的数定点数是各种数据类型中最简单、最基本的定点数是各种数据类型中最简单、最基本的一种数据表示,用于表示二进制形式具有固一种数据表示,用于表示二进制形式
14、具有固定比例换算的量。定比例换算的量。2.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示1. 定点表示法定点表示法分类:分类:小数点固定在最低位右边的数称为小数点固定在最低位右边的数称为定定点整数点整数;小数点固定在最高数据位的左边,;小数点固定在最高数据位的左边,称为称为定点小数定点小数。定点数可以表示为带符号的。定点数可以表示为带符号的或不带符号的数。或不带符号的数。2.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示1. 定点表示法定点表示法 无符号定点整数无符号定点整数设代码序列为:设代码序列为:X Xn nX Xn-1
15、n-1X X1 1X X0 0 ,表示范围:表示范围:0 02n+1-1 ;分辨率:;分辨率:1 1典型值典型值真值真值代码序列代码序列最大正数最大正数2n+1 - 11111非零最小正数非零最小正数 100012.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示 带符号定点整数带符号定点整数设代码序列为:设代码序列为:X Xn nX Xn-1n-1X X1 1X X0 0 ,X Xn n为符号位为符号位典型值典型值原码原码补码补码真值真值代码序列代码序列真值真值代码序列代码序列最大正数最大正数2n-101112n-10111非零最小正数非零最小正数 10001
16、 10001绝对值最大负数绝对值最大负数-(2n-1)1111-2n1000绝对值最小负数绝对值最小负数-11001-1 11112.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示 带符号定点小数带符号定点小数设代码序列为设代码序列为 X X0 0. .X X1 1X X2 2X X1 1X Xn n , X, X0 0为符号位为符号位典型值典型值原码原码补码补码真值真值代码序列代码序列真值真值代码序列代码序列最大正数最大正数1-2-n0.1111-2-n0.111非零最小正数非零最小正数 2-n0.0012-n 0.001绝对值最大负数绝对值最大负数-(1-
17、2-n)1.111-11.000绝对值最小负数绝对值最小负数-2-n1.001-2-n1.1112.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示2. 浮点表示法浮点表示法 浮点数格式浮点数格式( (原理性原理性) ) N N = =R RE EM M 其中:其中: N N :真值:真值 R RE E :比例因子:比例因子 E E :阶码:阶码 R R :阶码的底:阶码的底 M M :尾数:尾数 一般采取一般采取规格化规格化的约定的约定EfE1E2EmMfM2M1Mn阶码阶码尾数尾数阶阶符符数数符符2.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示
18、数的定点表示与浮点表示2. 浮点表示法浮点表示法 移码移码( (增码增码) )设移码序列为设移码序列为X Xm m X Xm-1 m-1 X X1 1 X X0 0 ,则,则 X X移移= 2= 2m m + X -2+ X -2m m X X 22m m2.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示例:真值、原码、补码、移码对照例:真值、原码、补码、移码对照( ( 8 8 位,位,1 1 位符号位位符号位) )十进制十进制真值真值二进制二进制真值真值原码原码补码补码移码移码-128-10000000无无1000000000000000-127-01111
19、111111111111000000100000001-1-00000001100000011111111101111111+0(-0)000000000( (1) )00000000000000010000000+100000001000000010000000110000001+127011111110111111101111111111111112.1 数值型数据的表示方法典型值典型值浮点数代码浮点数代码真值真值最大正数最大正数011, 0.111非零最小正数非零最小正数100, 0.100绝对值最大负数绝对值最大负数011, 1.000绝对值最小负数绝对值最小负数100, 1.1002
20、.1.3 数的定点表示与浮点表示数的定点表示与浮点表示 表示范围与精度表示范围与精度设浮点数格式为:阶码设浮点数格式为:阶码m+1m+1位,含一位阶符,补码位,含一位阶符,补码表示,以表示,以2 2为底;尾数为底;尾数n+1n+1位,含一位数符,补码位,含一位数符,补码表示,规格化。表示,规格化。)2(2)1(2)2(2)21(212121212mmmmn2.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示改变改变 R R 对浮点数特性的影响:对浮点数特性的影响:可表示数的范围可表示数的范围 随 R 的增大而增大可表示数的个数可表示数的个数( (规格化规格化)
21、) 随 R 的增大而增加数在数轴上的分布数在数轴上的分布 R 越大越稀疏2.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示改变改变 R R 对浮点数特性的影响:对浮点数特性的影响:可表示数的精度可表示数的精度 随 R 的增大单调下降运算中的精度损失运算中的精度损失 R 越大损失越小运算速度运算速度 R 越大运算速度越快2.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示 真值与浮点数之间的转换真值与浮点数之间的转换 IEEE754 IEEE754标准浮点格式标准浮点格式最重要的浮点表示法定最重要的浮点表示法定义在义在IEEE75
22、4IEEE754标准中。标准中。开发这个标准是为了便于程序从一类处理器开发这个标准是为了便于程序从一类处理器迁移到另一类处理器上时的迁移到另一类处理器上时的可移植性可移植性,也为,也为了促进研制更为复杂的数了促进研制更为复杂的数值运算程序。值运算程序。2.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示 IEEE754 IEEE754标准浮点格式标准浮点格式IEEEIEEE标准定义了标准定义了3232位的单精度位的单精度和和6464位的双精位的双精度度两种格式及两种格式及8080位的扩展格式位的扩展格式 2.1 数值型数据的表示方法2.1.3 数的定点表示与浮点
23、表示数的定点表示与浮点表示 IEEE754 IEEE754标准浮点格式标准浮点格式单精度浮点数单精度浮点数 真值:真值:注:尾数用原码表示注:尾数用原码表示 1272. 1) 1(esmsem8位阶码位阶码23位尾数位尾数数数符符e取值范围:取值范围:1254真值指数范围:真值指数范围: -126+127754标准浮点数采用:偏移指数,隐含基数,隐含小数点左边的1 的方法2.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示 IEEE754 IEEE754标准浮点格式标准浮点格式双精度浮点数双精度浮点数真值:真值:sem11位阶码位阶码52位尾数位尾数数数符符10
24、232. 1) 1(esme取值范围:取值范围: 12046 真值取值范围:真值取值范围:-1022+10232.1 数值型数据的表示方法2.1.3 数的定点表示与浮点表示数的定点表示与浮点表示 IEEE754 IEEE754标准浮点格式标准浮点格式IEEE754IEEE754浮点数的解释:浮点数的解释:e e 全全0 0,m m 全全0 0:机器:机器0 0e e 全全1 1,m m 全全0 0:无穷大:无穷大e e 全全1 1,m m 不全为不全为0 0:NaNNaNe e 全全0, 0, m m 不全为不全为0 0:反规格化数:反规格化数此外,规格化非零浮点数此外,规格化非零浮点数2.2
25、 算术、逻辑运算部件计算机中的运算部件主要由计算机中的运算部件主要由输入逻辑输入逻辑、算术、算术逻辑运算部件逻辑运算部件ALUALU( (核心核心) )、输出逻辑输出逻辑 3 3 部分部分组成。组成。2.2 算术、逻辑运算部件用硬件实现算术逻辑运算功能涉及到三个问用硬件实现算术逻辑运算功能涉及到三个问题:题:如何构成一位二进制加法单元;如何构成一位二进制加法单元;n n位全加器连同进位信号传送逻辑,构成位全加器连同进位信号传送逻辑,构成一个一个n n位并行加法器;位并行加法器;以加法器为核心,通过输入选择逻辑扩展以加法器为核心,通过输入选择逻辑扩展为具有多种算术、逻辑功能的为具有多种算术、逻辑
26、功能的ALUALU。 2.2 算术、逻辑运算部件2.2.1 加法单元加法单元一位二进制加法单元有三个输入量:操作数一位二进制加法单元有三个输入量:操作数AiAi与与BiBi,低位传来的进位信号,低位传来的进位信号C Ci i-1-1;产生两;产生两个输出量:本位和个输出量:本位和i i,向高位的进位信号,向高位的进位信号C Ci i。现在广泛采用的现在广泛采用的求和逻辑求和逻辑是:用异或逻辑实是:用异或逻辑实现半加,用两次半加实现一位全加。现半加,用两次半加实现一位全加。i i = A = Ai iBBi iCCi-1i-1 C Ci i = A= Ai iB Bi i+(+( A Ai iB
27、Bi i)C)Ci-1i-12.2 算术、逻辑运算部件2.2.2 并行加法器与进位逻辑结构并行加法器与进位逻辑结构如果用如果用n n位全加器一步实现位全加器一步实现n n位相加,即位相加,即n n位位同时相加,这种加法器称为同时相加,这种加法器称为并行加法器并行加法器。加法器的运算速度不仅与全加器速度有关,加法器的运算速度不仅与全加器速度有关,更主要的因素是取决于进位传递速度。更主要的因素是取决于进位传递速度。本质上,进位的产生是从低位开始,逐级向本质上,进位的产生是从低位开始,逐级向高位传播的。进位传递高位传播的。进位传递的逻辑结构形态好像的逻辑结构形态好像链条,因此常将进位传递逻辑称为链条
28、,因此常将进位传递逻辑称为进位链进位链。并行加法器的逻辑结构包含两部分:全加器并行加法器的逻辑结构包含两部分:全加器单元与进位链。单元与进位链。2.2 算术、逻辑运算部件2.2.2 并行加法器与进位逻辑结构并行加法器与进位逻辑结构1. 1. 进位信号的基本逻辑进位信号的基本逻辑假定第假定第i-1i-1位为低位,则第位为低位,则第i i位产生的进位信位产生的进位信号逻辑为:号逻辑为:C Ci i= A= Ai iB Bi i+(+( A Ai iBBi i)C)Ci-1 i-1 或或 C Ci i= A= Ai iB Bi i+(+( A Ai i+B+Bi i)C)Ci-1i-1可将上述逻辑写
29、为通式:可将上述逻辑写为通式: C Ci i= G= Gi i+P+Pi iC Ci-1i-1式中式中G Gi i称为第称为第i i位位进位产生函数进位产生函数,P Pi i称为称为进位进位传递函数传递函数2.2 算术、逻辑运算部件2.2.2 并行加法器与进位逻辑结构并行加法器与进位逻辑结构2. 2. 串行进位串行进位串行进位方式是指:逐级形成各位进位,每串行进位方式是指:逐级形成各位进位,每一级进位直接依赖于前一级进位。一级进位直接依赖于前一级进位。采用串行进位结构的并行加法器,所用元器采用串行进位结构的并行加法器,所用元器件较少,但运算时间较长(件较少,但运算时间较长(进位信号需逐级进位信
30、号需逐级传递传递)。)。2.2 算术、逻辑运算部件2.2.2 并行加法器与进位逻辑结构并行加法器与进位逻辑结构2. 2. 串行进位串行进位串行进位进位信号逻辑式:串行进位进位信号逻辑式: C C1 1 = G = G1 1 + P + P1 1C C0 0C C2 2 = G = G2 2 + P + P2 2C C1 1C C3 3 = G = G3 3 + P + P3 3C C2 2C C4 4 = G = G4 4 + P + P4 4C C3 32.2 算术、逻辑运算部件2.2.2 并行加法器与进位逻辑结构并行加法器与进位逻辑结构2. 2. 串行进位串行进位串行进位的并行加法器逻辑结
31、构:串行进位的并行加法器逻辑结构: An Bn A2 B2 A1 B1 n 2 1 Cn Cn-1 C2 C1 C02.2 算术、逻辑运算部件2.2.2 并行加法器与进位逻辑结构并行加法器与进位逻辑结构3. 3. 并行进位并行进位并行进位的逻辑式如下:并行进位的逻辑式如下:C C1 1 = G= G1 1 + P+ P1 1C C0 0C C2 2 = G= G2 2 + P+ P2 2C C1 1 = G= G2 2 + P+ P2 2G G1 1 + P+ P2 2P P1 1C C0 0C C3 3 = G= G3 3 + P+ P3 3C C2 2 = G= G3 3 + P+ P3
32、3G G2 2 + P+ P3 3P P2 2G G1 1 + P+ P3 3P P2 2P P1 1C C0 0C C4 4 = G= G4 4 + P+ P4 4C C3 3 = G= G4 4 + P+ P4 4G G3 3 + P+ P4 4P P3 3G G2 2 + P+ P4 4P P3 3P P2 2G G1 1 + P+ P4 4P P3 3P P2 2P P1 1C C0 0C Cn n = G= Gn n + P+ Pn nG Gn-1 n-1 + + + +(P Pn nP P1 1)C C0 02.2 算术、逻辑运算部件2.2.3 多功能算术、逻辑运算部件多功能算术、
33、逻辑运算部件教材教材 P281P281P289P2892.2 算术、逻辑运算部件2.2.4 运算器组织运算器组织基本的运算器组织包含如下逻辑组成:基本的运算器组织包含如下逻辑组成:实现基本算术、逻辑运算功能的实现基本算术、逻辑运算功能的ALUALU提供操作数与暂存运算结果的寄存器组提供操作数与暂存运算结果的寄存器组有关的判别逻辑(如结果是否为有关的判别逻辑(如结果是否为0 0,正负,正负,进位,溢出进位,溢出局部控制电路等局部控制电路等将这些功能模块连接成一个整体时,需要解将这些功能模块连接成一个整体时,需要解决一个问题:决一个问题:如何向如何向ALUALU提供操作数提供操作数。2.2 算术、
34、逻辑运算部件2.2.4 运算器组织运算器组织向向ALUALU提供操作数的方法:提供操作数的方法:在在ALUALU输入端加多路选择器,输入端加多路选择器,在在ALUALU输入端加一级锁存器输入端加一级锁存器2.2 算术、逻辑运算部件2.2.4 运算器组织运算器组织另一个问题:寄存器组的结构另一个问题:寄存器组的结构采取独立寄存器结构采取独立寄存器结构 可以同时输入与输出可以同时输入与输出 缺点缺点是集成度低;是集成度低;采取小存储器结构采取小存储器结构 缺点缺点是每次只能有一个输入或输出是每次只能有一个输入或输出2.3 运算方法计算机的运算功能大体上可分为两大类:计算机的运算功能大体上可分为两大
35、类:算术运算算术运算逻辑运算逻辑运算前者是数值运算的基础,后者是非数值运算前者是数值运算的基础,后者是非数值运算的基础。的基础。构成算术、逻辑运算的基本操作有:构成算术、逻辑运算的基本操作有:定点加、减运算,溢出判别,舍入,移位,定点加、减运算,溢出判别,舍入,移位,基本逻辑运算等功能。基本逻辑运算等功能。2.3 运算方法2.3.1 定点加减运算定点加减运算1. 补码加减运算基本关系式补码加减运算基本关系式 x + yx + y补补 = x= x补补 + y+ y补补 x - y x - y补补 = x= x补补 + -y+ -y补补 2.3 运算方法补码加减法的几何描述补码加减法的几何描述2
36、.3 运算方法2.3.1 定点加减运算定点加减运算2. 运算规则运算规则参加运算的操作数用补码表示,符号位参参加运算的操作数用补码表示,符号位参加运算;加运算;若操作码为加,则两数直接相加;若操作码为加,则两数直接相加;若操作码位减,则将减数变补后再与被减若操作码位减,则将减数变补后再与被减数相加。数相加。2.3 运算方法补码加减法硬件框图补码加减法硬件框图2.3 运算方法2.3.2 溢出判断与移位溢出判断与移位1. 1. 溢出判断溢出判断运算结果若超出机器数的表示范围,称为运算结果若超出机器数的表示范围,称为溢溢出出。说一个运算溢出了是指完整的结果不能说一个运算溢出了是指完整的结果不能放到数
37、据类型的字长限制中去。放到数据类型的字长限制中去。两个正数相加结果超出了正数所能表示的最两个正数相加结果超出了正数所能表示的最大正数,称为大正数,称为正溢(上溢)正溢(上溢);两个负数相加结果超出了负数所能表示的最两个负数相加结果超出了负数所能表示的最小负数,称为小负数,称为负溢(下溢)负溢(下溢)。2.3 运算方法2.3.2 溢出判断与移位溢出判断与移位1. 1. 溢出判断溢出判断溢出判别的三种判断方法溢出判别的三种判断方法 _ _ _ _ _ _OVR = SOVR = SA AS SB BS Sf f + S + SA AS SB BS Sf fOVR = COVR = Cf f C C
38、OVR = OVR = 1 1 (变形补码、模(变形补码、模4 4补码)补码)2.3 运算方法2.3.2 溢出判断与移位溢出判断与移位2. 2. 移位操作移位操作算术移位算术移位逻辑移位逻辑移位2.3 运算方法2.3.2 溢出判断与移位溢出判断与移位3. 3. 舍入处理舍入处理常见的舍入方法常见的舍入方法0 0舍舍1 1入法(负数反码:入法(负数反码:1 1舍舍0 0借)借)末位恒置末位恒置1 1法(负数反码:末位恒置法(负数反码:末位恒置0 0)2.3 运算方法2.3.2 溢出判断与移位溢出判断与移位3. 3. 舍入处理舍入处理IEEEIEEE标准给出四种供选择的办法:标准给出四种供选择的办
39、法:就近舍入(缺省舍入方式)就近舍入(缺省舍入方式)最靠近此超精度结果的可表示值将被递交;最靠近此超精度结果的可表示值将被递交;若两个可表示的值是同等的靠近,则最低有若两个可表示的值是同等的靠近,则最低有效位是效位是0 0的那个值被递交的那个值被递交( (强迫结果是偶数强迫结果是偶数) )朝朝0 0舍入(截断法)舍入(截断法)2.3 运算方法2.3.2 溢出判断与移位溢出判断与移位3. 3. 舍入处理舍入处理IEEEIEEE标准给出四种供选择的办法:标准给出四种供选择的办法:朝朝+ + 舍入舍入朝朝- - 舍入舍入上两种方法使用在实现间隔算术(上两种方法使用在实现间隔算术(interval i
40、nterval arithmeticarithmetic)的技术中。)的技术中。2.3 运算方法2.3.3 定点乘法运算定点乘法运算基本实现方法源于基本实现方法源于手算手算的方法,即将手算乘法的的方法,即将手算乘法的运算过程转化为用计算机实现。如下例:运算过程转化为用计算机实现。如下例:0.11010.1101* *0.1011=?0.1011=?0.11010.11010.10110.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.100011112.3 运算方法2.3.3 定点乘法运算定点乘法运算在由手算到机器实现过程中,
41、要解决如下三在由手算到机器实现过程中,要解决如下三个问题:个问题:符号问题符号问题多项部分积相加问题多项部分积相加问题加法器位数增加问题:加法器位数增加问题:对于前者,可采用原码乘法或补码乘法;对对于前者,可采用原码乘法或补码乘法;对于后两个问题,形成了传统乘法器、阵列乘于后两个问题,形成了传统乘法器、阵列乘法器两种方案。法器两种方案。2.3 运算方法2.3.3 定点乘法运算定点乘法运算1. 1. 原码一位乘法原码一位乘法算法依据:手算法算法依据:手算法运算规则运算规则取两操作数绝对值相乘,每步处理一位乘数,取两操作数绝对值相乘,每步处理一位乘数,符号位单独处理(不参加运算)。符号位单独处理(
42、不参加运算)。2.3 运算方法举例举例X = 0.1101X = 0.1101,Y = -0.1011Y = -0.1011,求,求XY = ?XY = ?使用寄存器使用寄存器A A、B B和和C C:A A:存放部分积;:存放部分积;B B存放被乘数;存放被乘数;C C存放乘数存放乘数A = 0.0000A = 0.0000B = | X | = 0.1101B = | X | = 0.1101C = | Y | = .1011C = | Y | = .1011步数步数条件条件操作操作A AC C 0.0000 .101 0.0000 .1011 1C Cn n=1=1+B+B 0.1101
43、 0.1101 0.1101 0.1101 0.0110 1.10 0.0110 1.101 1C Cn n=1=1+B+B 0.1101 0.1101 1.0011 1.0011 0.1001 11.1 0.1001 11.10 0C Cn n=0=0 0.0100 111. 0.0100 111.1 1C Cn n=1=1+B+B 0.1101 0.1101 1.0001 1.0001 0.1000 1111 . 0.1000 1111 .加符号位,得:加符号位,得:XYXY原原 = 1.10001111= 1.10001111,XY = -0.10001111XY = -0.100011
44、112.3 运算方法1. 1. 原码一位乘法原码一位乘法原码一位乘法逻辑框图原码一位乘法逻辑框图2.3 运算方法1. 1. 原码一位乘法原码一位乘法算法过程:算法过程:乘法开始时,乘法开始时,A A清零,作为初始清零,作为初始部分积;被乘数放在部分积;被乘数放在B B中,乘数放在中,乘数放在C C中。中。通过通过AALUAALU和和BALUBALU命令实现部分积和被乘命令实现部分积和被乘数相加。数相加。ALUALU的输出经过移位电路右移一位送入的输出经过移位电路右移一位送入A A中。中。C C最低位用作最低位用作BALUBALU的控制命令。加法器最的控制命令。加法器最低一位的值,右移时移入低一
45、位的值,右移时移入C C最高数值位,使最高数值位,使相乘之积的低位部分保存进相乘之积的低位部分保存进C C寄存器中。寄存器中。乘积的符号位取两数符号位的异或。乘积的符号位取两数符号位的异或。2.3 运算方法1. 1. 原码一位乘法原码一位乘法原码一位乘法递推关系式:原码一位乘法递推关系式:P P0 0 = 0 = 0P P1 1 = (P = (P0 0 + X + XY Yn n)2)2-1-1P P2 2 = (P = (P1 1 + X + XY Yn-1n-1)2)2-1-1P Pi+1i+1 = (P = (Pi i + X + XY Yn-in-i)2)2-1-1P Pn n =
46、(P = (Pn-1n-1 + X + XY Y1 1)2)2-1-12.3 运算方法2.3.3 定点乘法运算定点乘法运算2. 2. 补补码一位乘法码一位乘法算法依据算法依据XYXY补补=X=X补补0.Y0.Y1 1Y Y2 2Y Yn n-X-X补补Y Y0 0 =X =X补补22-1-1Y Y1 1+2+2-2-2Y Y2 2+ +2+2-n-nY Yn n-X-X补补Y Y0 0 =X =X补补(Y(Y1 1-2-2-1-1Y Y1 1) + (2) + (2-1-1Y Y2 2-2-2-2-2Y Y2 2) ) + +(2+(2-n+1-n+1Y Yn n-2-2-n-nY Yn n)
47、-Y)-Y0 0 =X =X补补(Y(Y1 1-Y-Y0 0)+2)+2-1-1(Y(Y2 2-Y-Y1 1)+)+ + 2 2-n+1-n+1(Y(Yn n-Y-Yn-1n-1)+2)+2-n-n(Y(Yn+1n+1-Y-Yn n)2.3 运算方法2.3.3 定点乘法运算定点乘法运算定义定义ZZ0 0 为初始部分积,为初始部分积,ZZ1 1 ,ZZ2 2 ZZn n 依次为各步求得的累加并右移后的部分积,依次为各步求得的累加并右移后的部分积,则上式可改写为如下递推形式:则上式可改写为如下递推形式:ZZ0 0 补补 = 0= 0ZZ1 1 补补 = 2= 2-1-1ZZ0 0 补补 + (Y+
48、 (Yn+1n+1 - Y - Yn n)X)X 补补 ZZ2 2 补补 = 2= 2-1-1ZZ1 1 补补 + (Y+ (Yn n - Y - Yn-1n-1)X)X补补 ZZn n 补补 = 2= 2-1-1ZZn-1n-1 补补 + (Y+ (Y2 2 - Y - Y1 1)X)X补补 XYXY补补 = Z= Zn n 补补 + (Y+ (Y1 1 - Y - Y0 0)X)X补补2.3 运算方法2.3.3 定点乘法运算定点乘法运算2. 2. 补补码一位乘法码一位乘法操作规则操作规则- Y Yn n Y Yn+1n+1 操作操作- 0 0 0 0 原部分积右移一位原部分积右移一位 0
49、1 0 1 原部分积加原部分积加XX补补后,右移一位后,右移一位 1 0 1 0 原部分积加原部分积加-X-X补补后,右移一位后,右移一位 1 1 1 1 原部分积右移一位原部分积右移一位-2.3 运算方法2.3.3 定点乘法运算定点乘法运算运算规则运算规则 被乘数与部分积取双符号位,符号位参加被乘数与部分积取双符号位,符号位参加运算;运算; 乘数取单符号位;乘数取单符号位; 乘数末增设附加位乘数末增设附加位Y Yn+1n+1,初值为,初值为0 0; Y Yn nY Yn+1n+1构成各步运算的判断位构成各步运算的判断位, ,算法如上表算法如上表 按上表算法进行按上表算法进行n+1n+1步,最
50、后一步不移位步,最后一步不移位 按补码移位规则进行右移。按补码移位规则进行右移。2.3 运算方法2.3.3 定点乘法运算定点乘法运算运算举例运算举例X = 0.1101X = 0.1101,Y = -0.1011Y = -0.1011,求,求XY = ?XY = ?使用寄存器使用寄存器A A、B B和和C C:A A:存放部分积;:存放部分积;B B存放存放被乘数;被乘数;C C存放乘数存放乘数 A = 00.0000A = 00.0000 B = 00.1101 B = 00.1101-B = 11.0011-B = 11.0011 C = 1.0101 C = 1.01012.3 运算方法
51、2.3.3 定点乘法运算定点乘法运算运算举例运算举例步数步数 条件条件 操作操作 A CA C YnYn+1 00.0000 1.010 YnYn+1 00.0000 1.0101010 1 0 -B 11.0011 1 0 -B 11.0011 - - 11.0011 11.0011 11.1001 11.01 11.1001 11.010101 0 1 +B 00.1101 0 1 +B 00.1101 - - 00.0110 00.0110 00.0011 011.0 00.0011 011.01010 1 0 -B 11.0011 1 0 -B 11.0011 - - 11.0110
52、11.0110 11.1011 0011. 11.1011 0011.0101 0 1 +B 00.1101 0 1 +B 00.1101 - - 00.1000 00.1000 00.0100 0001 00.0100 00011 1. .0 0 1 0 -B 11.0011 1 0 -B 11.0011 - - 11.0111 0001 11.0111 0001即:即:XYXY补补 = 1.01110001= 1.01110001,XY = -0.10001111XY = -0.100011112.3 运算方法2.3.3 定点乘法运算定点乘法运算3. 3. 快速乘法快速乘法原码两位乘原码两
53、位乘- Y Yi iY Yi+1i+1 CJ CJ 操作操作 CJCJ- 0 0 0 0 0 0 部分积右移两位部分积右移两位 0 0 0 0 1 +X 0 0 1 +X,部分积右移两位,部分积右移两位 0 0 0 1 0 +X 0 1 0 +X,部分积右移两位,部分积右移两位 0 0 0 1 1 +2X 0 1 1 +2X,部分积右移两位,部分积右移两位 0 0 1 0 0 +2X 1 0 0 +2X,部分积右移两位,部分积右移两位 0 0 1 0 1 -X 1 0 1 -X,部分积右移两位,部分积右移两位 1 1 1 1 0 -X 1 1 0 -X,部分积右移两位,部分积右移两位 1 1 1 1 1 1 1 1 部分积右移两位部分积右移两位 1 1-2.3 运算方法2.3.3 定点乘法运算定点乘法运算3. 3. 快速乘法快速乘法补码两位乘补码两位乘ZZi i 补补ZZi+1i+1 补补 = 2= 2-1-1ZZi i 补补+(Y+(Yn+1n+1-Y-Yn n) X) X补补 ZZi+2i+2 补补 = 2= 2-1-1ZZi+1i+1 补补+(Y+(Yn n-Y-Yn-1n-1) X) X补补 = 2 = 2-2-2ZZi i 补补+(Y+(Yn+1n+1+Y+Yn-2n-2Y Yn-1n-1)X)X补补 2.3 运算方法2.3.3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南京2025年江苏南京市梅山第一小学招聘教师笔试历年参考题库附带答案详解
- 保定2025年河北保定易县事业单位招聘160人笔试历年参考题库附带答案详解
- 上饶2025年江西上饶市婺源县城区部分学校遴选教师60人笔试历年参考题库附带答案详解
- 智研咨询-中国云南省肥料行业市场集中度、市场运行态势及未来趋势预测报告
- 耗材供应商关系管理策略
- 企业出借资金制度
- 从检验制度作用、制度检验方法的角度阐述制度
- 学校室内外卫生管理制度
- 制水站卫生管理制度
- 学校门前卫生三包制度
- 导游毕业设计路线方案
- JJG 1148-2022 电动汽车交流充电桩(试行)
- 2025年路由器市场调研:Mesh款需求与全屋覆盖分析
- 周黑鸭加盟合同协议
- 外账会计外账协议书
- 急性呼吸窘迫综合征ARDS教案
- 实验室质量控制操作规程计划
- 骨科手术术前宣教
- 【语文】青岛市小学三年级上册期末试卷(含答案)
- 2025版压力性损伤预防和治疗的新指南解读
- 2025年新疆第师图木舒克市公安局招聘警务辅助人员公共基础知识+写作综合练习题及答案
评论
0/150
提交评论