第2章 运算方法及运算器_第1页
第2章 运算方法及运算器_第2页
第2章 运算方法及运算器_第3页
第2章 运算方法及运算器_第4页
第2章 运算方法及运算器_第5页
已阅读5页,还剩141页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章第二章 运算方法和运算器运算方法和运算器 n计算机中使用的数据可分成两大类:计算机中使用的数据可分成两大类: n符号数据符号数据:非数字符号的表示(非数字符号的表示(ASCII、汉、汉字、图形等)字、图形等) n数值数据数值数据:数字数据的表示方式(定点、浮数字数据的表示方式(定点、浮点)点)n编码:用少量、简单的基本符号,选择合适编码:用少量、简单的基本符号,选择合适的规则表示尽量多的信息,同时利于信息处的规则表示尽量多的信息,同时利于信息处理(速度、方便)理(速度、方便) 2.1 2.1 数据与文字的表示方法数据与文字的表示方法 2.1.1 2.1.1 数据格式数据格式 2.1 2.

2、1 数据与文字的表示方法数据与文字的表示方法一、定点表示法一、定点表示法 所有数据的小数点位置固定不变所有数据的小数点位置固定不变 n理论上位置可以任意,但实际上将数据表示理论上位置可以任意,但实际上将数据表示有两种方法:有两种方法: n纯小数纯小数 n纯整数纯整数2.1.1 2.1.1 数据格式数据格式2.1 2.1 数据与文字的表示方法数据与文字的表示方法一、定点数的表示方法一、定点数的表示方法1、定点纯小数、定点纯小数 2.1.1 2.1.1 数据格式数据格式2.1 2.1 数据与文字的表示方法数据与文字的表示方法2 2、纯小数的表示范围、纯小数的表示范围 2.1.1 2.1.1 数据格

3、式数据格式2.1 2.1 数据与文字的表示方法数据与文字的表示方法3 3、定点纯整数、定点纯整数2.1.1 2.1.1 数据格式数据格式定点数小结:定点数小结:n定点数表示数的范围受字长限制,表定点数表示数的范围受字长限制,表示数的范围有限;示数的范围有限; n定点表示的精度有限。定点表示的精度有限。 2.1 2.1 数据与文字的表示方法数据与文字的表示方法2.1.1 2.1.1 数据格式数据格式2.1 2.1 数据与文字的表示方法数据与文字的表示方法二、浮点数的表示方法二、浮点数的表示方法例:十进制数中任何一个数都可以通过移例:十进制数中任何一个数都可以通过移动小数点表示成如下方式:动小数点

4、表示成如下方式:2.1.1 2.1.1 数据格式数据格式2.1 2.1 数据与文字的表示方法数据与文字的表示方法因此任意一个十进制数因此任意一个十进制数N都可以写成:都可以写成:二、浮点数的表示方法二、浮点数的表示方法在计算机中任意一个在计算机中任意一个R进制数进制数N都可以写成:都可以写成:其中:其中:R为基数,为基数,E为浮点数的指数(阶码),为浮点数的指数(阶码), M为浮点数的尾数。为浮点数的尾数。二、浮点数的表示方法二、浮点数的表示方法浮点表示:小数点位置随阶码不同而浮动。浮点表示:小数点位置随阶码不同而浮动。 指数指数E基数基数R,取固定值取固定值,如如10或或2,隐含表示隐含表示

5、尾数尾数M2.1 2.1 数据与文字的表示方法数据与文字的表示方法按按IEEE754标准,标准,32位浮点数和位浮点数和64位浮点数位浮点数的标准格式为:的标准格式为:二、浮点数的表示方法二、浮点数的表示方法(阶码(阶码E用移码表示)用移码表示)IEEE754标准标准 :n为便于软件的移植,浮点数的表示格式应该为便于软件的移植,浮点数的表示格式应该有统一标准(定义)。有统一标准(定义)。1985年年IEEE(Institute of Electrical and Electronics Engineers)提出了)提出了IEEE754标准。该标准标准。该标准规定基数为规定基数为2,阶码阶码E用

6、移码表示用移码表示,尾数,尾数M用用原码表示,根据二进制的规格化方法,原码表示,根据二进制的规格化方法,最高最高数字位总是数字位总是1,该标准将这个,该标准将这个1缺省存储缺省存储,使,使得尾数表示范围比实际存储的多一位。得尾数表示范围比实际存储的多一位。 移码:移码:P222.1 2.1 数据与文字的表示方法数据与文字的表示方法注意:浮点数的规格化表示(注意:浮点数的规格化表示(P17)。)。2.1 2.1 数据与文字的表示方法数据与文字的表示方法2.1 2.1 数据与文字的表示方法数据与文字的表示方法2.1 2.1 数据与文字的表示方法数据与文字的表示方法(1)字符串形式:一个字节存放一个

7、十进制的)字符串形式:一个字节存放一个十进制的数位或符号位。数位或符号位。(2)压缩的十进制数串形式:一个字节存放两)压缩的十进制数串形式:一个字节存放两个十进制的位数。个十进制的位数。符号位的表示:符号位的表示:12(C)表示正号,)表示正号,13(D)表)表示负号,且符号位在数字位之后。示负号,且符号位在数字位之后。规定:数位加符号位之和必须为偶数,当和不为规定:数位加符号位之和必须为偶数,当和不为偶数时,在最高数字位之前补一个偶数时,在最高数字位之前补一个0。三、十进制数串的表示方法三、十进制数串的表示方法 1 2 3 C(+123) 0 1 2 D(-12)2.1 2.1 数据与文字的

8、表示方法数据与文字的表示方法n真值真值:一般书写的数一般书写的数 n机器码机器码:机器中表示的数,机器中表示的数, 要解决在计算机要解决在计算机内部数的正、负符号和小数点运算问题。内部数的正、负符号和小数点运算问题。 n原码原码 n反码反码 n补码补码 n移码移码2.1.2 2.1.2 数的机器码表示数的机器码表示2.1 2.1 数据与文字的表示方法数据与文字的表示方法1.定点整数的原码表示为:定点整数的原码表示为:一、原码表示法一、原码表示法 则其原码表示的定义为:则其原码表示的定义为:(上式中(上式中x为真值)为真值)2.1 2.1 数据与文字的表示方法数据与文字的表示方法2.定点整数的原

9、码举例:定点整数的原码举例:【例】【例】x=+11001110 , y=-11001110 x=+11001110 , y=-11001110 2.1 2.1 数据与文字的表示方法数据与文字的表示方法n说明:说明: n原码原码0有正有正0和负和负0之分之分 n范围范围 n表示简单,易于同真值之间进行转换,实表示简单,易于同真值之间进行转换,实现乘除运算规则简单。现乘除运算规则简单。 n进行加减运算十分麻烦。进行加减运算十分麻烦。n原码表示规则:原码表示规则:“0”表示正号,表示正号,“1”表示负表示负号,有效部分用二进制的绝对值表示。号,有效部分用二进制的绝对值表示。定点整数的原码小结:定点整

10、数的原码小结:2.1 2.1 数据与文字的表示方法数据与文字的表示方法2.2.定点小数的原码表示定点小数的原码表示2.1 2.1 数据与文字的表示方法数据与文字的表示方法二、反码二、反码反码的定义:反码的定义:正数的反码正数的反码表示与原码相同;表示与原码相同;负数的反码负数的反码符号位为符号位为1,数值位是将原码的数值按位取反。,数值位是将原码的数值按位取反。2.1 2.1 数据与文字的表示方法数据与文字的表示方法n生活例子:现为北京时间下午生活例子:现为北京时间下午4 4点,但钟表显示为点,但钟表显示为7 7点。点。有两种办法校对:有两种办法校对:(1) (1) 做减法做减法 7-3 =

11、4 ( (逆时针退逆时针退3 3格格) )(2) (2) 做加法做加法 7+9 = 16 ( (顺时针进顺时针进9 9格格) )16 (mod 12) = 16-12 = 4 ( (以以1212为模,变成为模,变成4) 4) 二、补码表示法二、补码表示法 结论:本例中结论:本例中7-3 和和7+9(mod 12)等价)等价重要启示:重要启示:负数用补码表示时,可以将减法负数用补码表示时,可以将减法转化为加法。转化为加法。2.1 2.1 数据与文字的表示方法数据与文字的表示方法1.定点整数的补码表示:定点整数的补码表示: 2.1 2.1 数据与文字的表示方法数据与文字的表示方法2. 补码与真值的

12、关系:补码与真值的关系: 解:解:2.1 2.1 数据与文字的表示方法数据与文字的表示方法n补码最大的优点就是将减法运算转换成加法运算。补码最大的优点就是将减法运算转换成加法运算。n0的补码是唯一的,即的补码是唯一的,即n通常不按表达式求补码,而通过反码来得到。通常不按表达式求补码,而通过反码来得到。n即补码表示规则:即补码表示规则: 正数的补码与原码相同;正数的补码与原码相同; 负数的补码符号是负数的补码符号是“1”,数值部分,数值部分“求反加求反加1”。 补码小结:补码小结: 2.1 2.1 数据与文字的表示方法数据与文字的表示方法四、移码四、移码 2.1 2.1 数据与文字的表示方法数据

13、与文字的表示方法2.1 2.1 数据与文字的表示方法数据与文字的表示方法例例6 以定点整数为例以定点整数为例,用数轴形式说明原码、用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。反码、补码表示范围和可能的数码组合情况。 2.1 2.1 数据与文字的表示方法数据与文字的表示方法例例7 将十进制真值将十进制真值(127,1,0,1,127)列表列表表示成二进制数及原码、反码、补码、移码值。表示成二进制数及原码、反码、补码、移码值。 2.1 2.1 数据与文字的表示方法数据与文字的表示方法2.1 2.1 数据与文字的表示方法数据与文字的表示方法n字符表示方法字符表示方法ASCII码码:见

14、下页图见下页图n字符串的存放方法字符串的存放方法 2.1.3 2.1.3 字符与字符串的表示方法字符与字符串的表示方法 IF AB THEN REDA(C)ASCII码(部分)码(部分)2.1 2.1 数据与文字的表示方法数据与文字的表示方法1.汉字的输入编码:数字编码(区位码)、拼汉字的输入编码:数字编码(区位码)、拼音码、字形码等。音码、字形码等。2.汉字内码汉字内码 国标码:用于编码国标码:用于编码 机内码:用于实际存储机内码:用于实际存储3.汉字字模码:汉字字形汉字字模码:汉字字形 2.1.4 2.1.4 汉字的表示方法汉字的表示方法 国标码(部分)国标码(部分)2.1 2.1 数据与

15、文字的表示方法数据与文字的表示方法字模举例:字模举例: 2.1 2.1 数据与文字的表示方法数据与文字的表示方法n引入:信息传输和处理过程中受到干扰和故障,容易出错。引入:信息传输和处理过程中受到干扰和故障,容易出错。 n解决方法:是在有效信息中加入一些冗余信息(校验位)解决方法:是在有效信息中加入一些冗余信息(校验位) n最简单最常用的是奇偶校验。最简单最常用的是奇偶校验。n奇校验:奇校验:所有二进制位的编码中所含所有二进制位的编码中所含“1”的个数为奇数。的个数为奇数。n偶校验:偶校验:所有二进制位的编码中所含所有二进制位的编码中所含“1”的个数为偶数。的个数为偶数。n在逻辑电路中可用按位

16、加(异或)来实现在逻辑电路中可用按位加(异或)来实现n只能检查出奇数位错;不能纠正错误。只能检查出奇数位错;不能纠正错误。2.1.5 2.1.5 校验码校验码 2.1 2.1 数据与文字的表示方法数据与文字的表示方法奇偶校验码奇偶校验码2.1 2.1 数据与文字的表示方法数据与文字的表示方法奇偶校验码举例:奇偶校验码举例: 【例【例10】 数据数据偶校验编码偶校验编码C奇校验编码奇校验编码C10101010010101000000000001111111111111112.2 2.2 定点加法、减法运算定点加法、减法运算2.2.12.2.1补码加法补码加法2.2 2.2 定点加法、减法运算定点

17、加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算2.2.2 2.2.2 补码减法补码减法2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算n溢出的概念溢出的概念 :P28n可能产生溢出的情况可能产生溢出的情况 n两正数加,变负数,正溢(大于机器所两正数加,变负数,正溢

18、(大于机器所能表示的最大数)能表示的最大数)n两负数加,变正数,负溢(小于机器所两负数加,变正数,负溢(小于机器所能表示的最小数)能表示的最小数)2.2.3 2.2.3 溢出概念与检测方法溢出概念与检测方法2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点加法、减法运算定点加法、减法运算2.2.4 2.2.4 基本的二进制加法基本的二进制加法/ /减法器减法器与与AB

19、或或非非与非与非或非或非异或异或异或非异或非(同或门)(同或门)2.2 2.2 定点加法、减法运算定点加法、减法运算单符号位法的溢出检测:单符号位法的溢出检测:Cn=Cn-1运算无溢出;运算无溢出;CnCn-1运算有溢出。运算有溢出。2.2 2.2 定点加法、减法运算定点加法、减法运算2.2 2.2 定点乘法运算定点乘法运算1、人工算法与机器算法的同异性、人工算法与机器算法的同异性 2.3.1 2.3.1 原码并行乘法原码并行乘法2.2 2.2 定点乘法运算定点乘法运算nn位乘位乘n位积可能为位积可能为2n位位. n乘积的最后是所有部分积之和采用流水式乘积的最后是所有部分积之和采用流水式n阵列

20、乘法器,取代串行方案阵列乘法器,取代串行方案2.3.1 2.3.1 原码并行乘法原码并行乘法2.2 2.2 定点乘法运算定点乘法运算2.2 2.2 定点乘法运算定点乘法运算3、带符号的阵列乘法器、带符号的阵列乘法器 2.2 2.2 定点乘法运算定点乘法运算2.4 2.4 定点除法运算定点除法运算n人工除法时,人可以比较被除数(余数)和除人工除法时,人可以比较被除数(余数)和除数的大小来确定商数的大小来确定商1(够减)或商(够减)或商0(不够减)(不够减) n机器除法时,余数为正表示够减,余数为负表机器除法时,余数为正表示够减,余数为负表示不够减。不够减时必须恢复原来余数,才能示不够减。不够减时

21、必须恢复原来余数,才能继续向下运算。这种方法叫继续向下运算。这种方法叫恢复余数法恢复余数法,控制,控制比较复杂。比较复杂。 n不恢复余数法(加减交替法)不恢复余数法(加减交替法)余数为正,商余数为正,商1,下次除数右移做减法;,下次除数右移做减法;余数为负,商余数为负,商0,下次除数右移做加法。,下次除数右移做加法。控制简单,有规律。控制简单,有规律。分析:分析: n在计算机中,小数点是固定的,不能简单地在计算机中,小数点是固定的,不能简单地采用手算的办法,为便于机器操作,除数采用手算的办法,为便于机器操作,除数y固定不动(小数点固定),使被除数和余数固定不动(小数点固定),使被除数和余数进行

22、左移(相当于乘进行左移(相当于乘2),其效果与笔算相),其效果与笔算相同。同。例子如下:例子如下:恢复余数求除法举例:恢复余数求除法举例:1、可控加法、可控加法/减法减法(CAS)单元单元原理:采用不恢复余数原理:采用不恢复余数(加减交替加减交替)法法nP=0,作加法运算,作加法运算 nP=1,作减法运算,作减法运算AB10010010101010100101100001不恢复余数法(加减交替法):不恢复余数法(加减交替法): 第第1步先做减法,其余的按下面方法来做:步先做减法,其余的按下面方法来做:余数为正,商余数为正,商1,下次除数右移做减法;,下次除数右移做减法;余数为负,商余数为负,商

23、0,下次除数右移做加法。,下次除数右移做加法。2.5 2.5 定点运算器的组成定点运算器的组成 1、逻辑非运算、逻辑非运算 2.5 2.5 定点运算器的组成定点运算器的组成2、逻辑加运算、逻辑加运算2.5 2.5 定点运算器的组成定点运算器的组成3 3、逻辑乘运算、逻辑乘运算2.5 2.5 定点运算器的组成定点运算器的组成4 4、逻辑异运算、逻辑异运算2.5 2.5 定点运算器的组成定点运算器的组成每一位的进位公式:每一位的进位公式:该式表明,第该式表明,第0位的进位输入可以直接传送到最高进位位的进位输入可以直接传送到最高进位位上去,因而可以实现高速运算。位上去,因而可以实现高速运算。000

24、01000 01000 1000 0101010101011111000100100110011000000010100 001 00 010 00 01000 001101010100000000001111111100001片片74181ALU的正逻辑框图:的正逻辑框图:741814位位ALUB3B2B1B0A3A2A1A0CnS0S1S2S3MGPA=BCn+4F0F1F2F3若想组成若想组成16的的ALU则需要则需要4片的片的74181组成:组成:n问题:片内进位是快速的,但片间进位是逐片问题:片内进位是快速的,但片间进位是逐片传递的,因此总的形成时间还是比较长的。传递的,因此总的形成

25、时间还是比较长的。n改进:把改进:把 16位位 ALU 中的每四位作为一组,中的每四位作为一组,用类似位间快速进位的方法来实现用类似位间快速进位的方法来实现 16位位 ALU (四片(四片 ALU 组成),那么就能得到组成),那么就能得到 16位快位快速速 ALU 。 1、单总线结构的运算器、单总线结构的运算器 2、双总线结构的运算器、双总线结构的运算器 3、三总线结构的运算、三总线结构的运算 2.6 2.6 浮点运算方法和浮点运算器浮点运算方法和浮点运算器为何要为何要“小阶向大阶看齐小阶向大阶看齐 ”?(4) (4) 结果规格化;结果规格化;浮点规格化定义中,尾数浮点规格化定义中,尾数M应满

26、足:应满足:若尾数用补码表示:若尾数用补码表示: 对于正数,对于正数,M=00.1XXXM=00.1XXX 对于负数,其补码形式为:对于负数,其补码形式为:M=11.0XXXM=11.0XXX当进行补码浮点加减运算时,当进行补码浮点加减运算时,只要对运算结果的符号位只要对运算结果的符号位和小数点后的第一位进行比较和小数点后的第一位进行比较:如果它们不等,即为:如果它们不等,即为00.1XXX00.1XXX或或11.0XXX11.0XXX,就的规格化数;如果它们相等,就的规格化数;如果它们相等,即即00.0XXX00.0XXX或或11.1XXX11.1XXX,就不是规格化数,在这种情,就不是规格

27、化数,在这种情况下需要尾数左移以实现规格化的过程,叫做况下需要尾数左移以实现规格化的过程,叫做向左规格向左规格化化。规则是:尾数左移。规则是:尾数左移1 1位,阶码减位,阶码减1 1。由此可知补码规格化的条件是:由此可知补码规格化的条件是:(A A)若和或差的尾数两符号位相等且与尾数第一位若和或差的尾数两符号位相等且与尾数第一位相等,则需向左规格化。相等,则需向左规格化。即将和或差的尾数左移,即将和或差的尾数左移,每移一位,和或差的阶码减一,直至尾数第一位与每移一位,和或差的阶码减一,直至尾数第一位与尾符不等时为止。尾符不等时为止。(B B)若和或差的尾数两符号位不等,)若和或差的尾数两符号位

28、不等,即即01.xxx01.xxx或或10.xxx10.xxx形式形式, ,表示尾数求和表示尾数求和( (差差) )结果绝对值大于结果绝对值大于。此时应该将和。此时应该将和( (差差) )的尾数右移的尾数右移1 1位,阶码加,位,阶码加,即进行向右规格化。即进行向右规格化。即即“右移右移1 1位,阶码加位,阶码加1”1”。尾数处理尾数处理 :n截断截断 n舍入舍入 n尾数用原码表示时尾数用原码表示时 n只要尾数最低为只要尾数最低为1或者移出位中有或者移出位中有1数值数值位,使最低位置位,使最低位置1 n0舍舍1入入 1.、提高并行性的两个渠道:、提高并行性的两个渠道: n空间并行性:增加冗余部件,如增加空间并行性:增加冗余部

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论