我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:王中王 > 定点运算 >

第2章 运算方法和运算器6(1)pdf

归档日期:07-13       文本归类:定点运算      文章编辑:爱尚语录

  登录成功,如需使用密码登录,请先进入【个人中心】-【账号管理】-【设置密码】完成设置

  简介:本文档为《第2章 运算方法和运算器6(1)pdf》,可适用于自然科学领域

  *若权利人发现爱问平台上用户上传内容侵犯了其作品的信息网络传播权等合法权益时,请按照平台侵权处理要求书面通知爱问!

  关于第2章 运算方法和运算器6(1).pdf文档,爱问共享资料拥有内容丰富的相关文档,站内每天千位行业名人共享最新资料。

  计算机组第二章运算方法和运算器•数制•数据表示•定点运算组成原理•定点运算•定点运算器的构成与实例•浮点数的加减运算计算机组数制与数据表示研究目标•数据在计算机中的表示方法及编码形式•掌握进位计数制和数制之间的转换•掌握数与字符的表示方法及校验方法具体内容包括组成原理具体内容包括:•计数制和数制之间的转换•定点数和浮点数•带符号数的表示方法•字符编码•数据校验码计算机组数制计算机内部采用的二进制表示方式的原因:二进制只有两个数码“”和“”易于用物理器件表示。这些物理状态都是不同的质的变化形象鲜明、易于区别并且数的存储、传送和处理可靠性高。运算规则简单操作实现容易组成原理二进制加、减、乘、除运算可以归结为加、减、移位三种操作。理论和实践证明采用R=e=进制时存储设备最省取比取更节省设备但二进制比三进制易于表示。二进制中的“”和“”与逻辑命题中的“真”、“假”相对应为计算机实现逻辑运算和程序中的逻辑判断创造了良好条件。进位基数和位的权数•基数:计数制中用到的数码的个数用R表示。•位权:以基数为底的指数指数的幂是数位的序号。•对一个数S其基数为R则:对个数S其基数为则:nnmnnnnmmniiim()(KKKKKKKK)(KRKRKRKRKRKR)KRRS计算机常用各种进制数进位制二进制八进制十进制十六进制规则逢二进一逢八进一逢十进一逢十六进一基数R=R=R=R=基本符号AF基本符号,,,,…,,,,…,,,,,A,,F权iiii形式表示BODH数制之间的相互转换•二、八、十六进制数转换为十进制数•十进制数转换为二、八、十六进制数–十进制数转换为二进制进制数转换为进制六进制数–十进制数转换为八进制、十六进制数•二进制数和八进制数、十六进制数的转换–二进制数转换为八、十六进制数–八、十六进制数转换为二进制数二、八、十六进制数转换为十进制数例:将()转换为十进制数解:()=×××××××=()例:将(ACB)转换为十进制数解:(ACB)=×××××=()十进制转换为二进制数任一十进制数NN=N整N小。将这两部分分开转换:•整数部分的转换:采用“除求余法”转换方法为:连续用除求得余数(或)分别为K、K、K、…直到商为所有余数排列KnKn…KKK即为所转换的二进制整数部分。•小数部分的转换:采用“乘取整法”。转换方法为:连续用乘依次求得各整数位(或)K、K、…、Km直到乘积的小数部分为。在小数转换过程中出现Fi恒不为时可按精度要求确定二进制小数的位数。例:求()的二进制表示解:除以商Qi余数KiK=K=K=K=K=K=()=()例:求()的二进制值解:乘以小数Fi整数Ki×K=×K=×K=×K=()=()二进制数与八进制、十六进制数间的转换二进制转化成八(十六)进制•整数部分:从右向左按三(四)位分组不足补零•小数部分:从左向右按三(四)位分组不足补零例()=()例()=(DA)DA八进制、十六进制数与二进制数间的转换•八(十六)进制转化成二进制–一位八进制数对应三位二进制数–一位十六进制数对应四位二进制数例()=()例(FAB)=()计算机组第二章运算方法和运算器•数制•数据表示•定点运算组成原理•定点运算•定点运算器的构成与实例•浮点数的加减运算计算机组数据与文字的表示方法•计算机中使用的数据可分成两大类:–非数值型数据(符号数据):包括字符数据、逻辑数据、图画、声音和活动图像数据等。–数值数据:具有特定值的一类数据可用来表示数量的多少可比较其大小(定点、浮组成原理点)。•计算机数据和字符的表示方法应有利于数据的存储、加工(处理)、传送•编码:用少量、简单的基本符号选择合适的规则表示尽量多的信息同时利于信息处理(速度、方便)。数据表示的发展:数据表示即数据类型不是一开始就有多种多样有一个随应用需要而发展的过程。•早期只有定点表示表示数的范围很有限•为扩大数的表示范围而出现了浮点数表示•计算机应用扩大到商业和事务处理出现了字符串数据•向量数据表示。•多媒体数据一般介绍数值型数据(能进行算术运算能得到明确数值概念的数字数据)非数值型数据(以数字数据形式进入计算机的声音、图像、文字等信息)二进制(定点、浮点)十进制(二十进制)字符型逻辑型数据表示概述一、什么叫数据表示是指能由计算机硬件直接识别的数据类型如定点数、浮点数等。而所谓“由硬件直接识别”意味着某种数据类型可以用计算机硬件直接表示出来并能由计算机指令直接调用该数据类型。二、为什么要研究数据表示问题(重要性)数据是计算机处理加工的对象数据的表示方法直接影响计算机的结构和性能。了解计算机中数据表示是了解计算机各主要部件工作原理的必要基础。“狭义”的数据与“广义”的数据数值型数据的表示方法数值型数据包括无符号数和有符号数两类★无符号数:没有符号的数★有符号数:符号“”或“”在有效数字的前面注意:在相同机器字长的情况下,无符号数与有符号数所对应的数值范围不同一、数的机器码表示真值号值表值★★真值:正负号加绝对值表示的数值★★机器数:因为“”与“”号在计算机中无法识别,故需要把数的符号数码化在计算机中使用的连同数符一起数码化的数称为机器数通常约定二进制数的最高位为符号位,“”代表正号,“”代表负号常见的机器数有原码、反码、补码等例如:若为原码机器数,则其真值为–二、数据格式、定点数(FixPointNumber)•含义:定点、浮点的“点”都指二进制数中的小数点定点指小数点位置固定•小数点不占位,隐含•定点数分为定点小数(纯小数)和定点整数(纯整数)符号位数值部分小数点位置小数点位置符号位数值部分小数点位置小数点位置定点整数定点小数如,在机器中表示为:如,在机器中表示为:三种编码的定义:原码定点小数x原=定点整数x原=反码定点小数Xx≥x=x≥xXnx≥nx=nx≥xnX定点小数x反=定点整数x反=补码定点小数x补=定点整数x补=Xx≥(n)x≥xXnx≥(n)x≥xnXx≥x=x≥x≥Xnx≥nx=nx≥x≥n()定点数常见的三种机器码编码形式例:X=‒Y=X原=Y原=X反=Y反=X补=Y补=()三种编码的比较a)最高位都表示符号位,补码和反码的符号位可作为数值的一部分看待,和数值位一起参加运算但原码的符号位不允许和数值位同等看待,必须分开进行处理b)对于正数,它们的表示形式相同,即符号位为“”,数值部分和真值相同而对于负数各有不同的表示c)不同码制中真值的表示方法不同对于真值原码和反码各有两种不同的表示形式而补码只有唯一的一种表示形式。假设字长为位则:原=原原=补=补=反=反=d)定点数的表示范围原码、反码表示的正、负数范围相对零来说是对称的但补码负数表示范围较正数表示范围宽能多表示一个最负的数(绝对值最大的负数),其个最负的数(绝对值最大的负数),其值等于n(纯整数)或(纯小数)。原因是原码和反码的真值各有两种不同的表示形式而补码只有唯一的一种表示形式。•定点数的表示数的范围(字长为n位)•小数表数范围:–原码–(–n)≤N≤–n–补码–≤N≤–n–反码–(–n)≤N≤–n•整数表数范围:–原码–(n–)≤N≤n––补码–n≤N≤n––反码–(n–)≤N≤n–特别注意补码的最小负数表示•习题:P第、题•、写出下列各数的原码、反码、补码表示(用位二进制数)。其中MSB是最高位(又是符号位)LSB是最低位。如果是小数小数点在MSB之后如果是整数小数点在LSB之后。•()–()()–•()用小数表示–()用整数表示–•解答:()现将写成二进制真值•×=•原码:反码:•补码:•()先将写成二进制真值为•×=•原码:•反码:•补码:•()先将写成二进制真值为•原码:()原码:()•反码:()•补码:()•()用小数表示:原码与反码的小数表示中没有补码表示的小数为•()用整数表示:原码为反码为补码为。•、设X补=aaa···a其中ai取或若要•x〉–求aaa···a的取值。•补充题:将下列数由小到大排序:BQX补=CHX反=BCDX原=X补=X补=•解题要点:•()统一各个数的表示形式一般均表示为十进制()•()所需知识:了解B(binary)、Q(octal)、D(Decimal)、H(Hexadecimal)、BCD(BinaryCodedDecimal,简称BCD,即二十进制编码)含义各种进制数向十进制的转换机器码求真值。•以上十个数由小到大排序结果:•XXXBCD,BQCHXX例已知:机器字长位,定点表示,尾数位,数符位,问:()定点原码整数表示时,最大正数是多少最小负数是多少()定点原码小数表示时,最大正数是多少最小负数是多少解:()定点原码整数表示:最小负整数表示:整()()最小负整数=()=()最大正整数表示:最大正整数=()=()()定点原码小数表示:最大正数值=()=(…)个最小负数值=()=(…)数值型数据的表示方法二、数据格式、定点数(FixPointNumber)、浮点数(FloatPointNumber):小数点位置可以自由浮动,数的范围和精度分别表示浮点数的一般表示格式为:NRE×MN=RE×M其中:R称为浮点数阶码的底或基数二进制时R=E阶码(Exponent),一般为定点整数,决定浮点数的表示范围,常用移码或补码表示M尾数(Mantissa),一般为定点小数,决定浮点数的精度,常用原码或补码表示•例:N=,可将其表示为以下的浮点数形式:•N=x()=×()=×()=…()浮点数的规格化()浮点数的规格化a)规格化的目的:为了提高运算精度,充分利用尾数的有效位数,同时保证浮点数表示形式唯一。b)定义:规定尾数小数点后第一位即尾数数值位的最高有效位(MSB)必须为即尾数满足:=M=例:将下列数表示成规格化的浮点数形式:B,,,DH解:B=B×=B=B×=B=B×=B=B×DH=B=B×c)具体形式若尾数M的基数为,则:在尾数用原码表示时,规格化浮点数的尾数最高数位总等于在尾数用补码表示时,规格化浮点数应满足尾数最高数位与符号位不同(msm=),即在尾数最高数位与符号位同(s),即在≤M<(正数)时,应有××…×的形式当≤M<(负数)时,应有×…×的形式注意:但M=时对于原码来说是一个规格化的数而对补码不是当M=时,对于原码来说不是一个规格化的数而对补码是规格化的数()浮点数与定点数的比较a)当浮点机和定点机中数的位数相同时,浮点数的表示范围比定点数大得多例:假设机器中数据由位二进制数表示(包括符号位),在定点机中,位全部表示有效数字在浮点机中,阶符阶码占位,数符尾数占位(假设只考虑正数)则:虑正数)则:定点机小数表示的数的范围:即‾浮点机表示的数的范围:××即‾()浮点数与定点数的比较b)浮点数规格化后,其相对精度远比定点数高c)浮点数包括阶码和尾数两部分,且结果需要规格化,故运算较复杂,运算速度比定点数慢d)在溢出判断的方法上,浮点数是对阶码进行判断,只有阶码“上溢”时,浮点数溢出定点数是当运算结果超出表示范围即“溢出”()浮点数格式浮点数在机器中有以下两种格式:a)一般形式EEssEEEE……EEmmMMssMMMM……MMnn阶符阶符阶码阶码数符数符尾数尾数例:写出二进制在计算机中的浮点数形式设阶码例:写出二进制在计算机中的浮点数形式设阶码取位补码,尾数是位原码解:=×浮点数形式为阶符阶符尾符尾符b)浮点数的另外一种格式IEEE标准因为在IEEE标准中浮点数的阶码采用了新的机器码移码,故先介绍移码的相关知识①移码(增码)定义通常用于表示浮点数的阶码。X为n位纯整数真值其移码(n位包括位符号位)定义为:x移=偏移值x注意偏移值的选取例如可以选其为n。注意偏移值的选取例如可以选其为。例:n=则X移=X≤X≤②为什么叫做移码(增码):X移X注意:移码的实质是将真值映像到一个正数域故移码的大小可以直观反映真值的大小。图移码和真值的映射图真值X十进制二进制二进制十进制X移X补③移码的性质:表偏移值为的移码、补码和真值之间的关系移码与真值、补码的对应关系┇┇┇┇┇┇┇┇┇┇从表可以得出移码具有以下特点:◎移码中最高位为“”表示负数◎移码全为时,它所对应的真值最小全为时它所对应的真值最大移码的大小直观反映了真值的大小,有助于两个浮点数进行阶码的大小比较(浮点数阶码常采用移码的最主要原因)码常采用移码的最主要原因)◎移码把真值映射到一个正数域所以可以将移码视为无符号数,直接按照无符号数规则比较大小◎对偏移值为n的移码来说同一数值的移码和补码除最高位之外其他各位相同◎真值在移码中的表示形式也是唯一的④移码偏置值的选取移码可以视作无符号数对字长位的移码共有个无符号数:……为使阶码真值的正数和负数分布尽可能均匀可……尽可能均匀可选居于中间的两个数中的一个作为偏移值。注意)对没有明确指出偏移值的移码应选其为n(设字长为n位)()在IEEE标准中短浮点数的偏移值为。b)浮点数的另外一种格式IEEE标准★在IEEE标准中,阶码用移码表示,尾数用原码表示★IEEE单精度即位浮点数格式:对于规格化的二进制浮点数,尾数的最高位总是“”,为使尾数多表示一位有效值,可将这个“”隐去SE(阶码)M(尾数数值部分)()sX(M)XE用移码表示,位数符用移码表,位原码表示,位位隐含位例:将()转换为短浮点数格式解()=()=×s=M=E===故:短浮点数代码为:,,•例:Float型数据通常用IEEE标准的单精度浮点数格式表示。若编译器将Float型变量X分配在一个位浮点寄存器FR中且X=,则FR的内容是:(A)CH(B)CH(B)CH(C)CH(D)CCH答案:A有关IEEE格式的例题请课后自习P【例】、【例】P【例】、【例】作为数的表示范围的例子自习注意其中【例】的格式并不完全等同于IEEE标准。()浮点数表示的范围•【例】:有一个字长为位的浮点数,阶码位用移码表示尾数位用补码表示基数为请用移码表示尾数位,用补码表示基数为。请写出)最大正、负数的二进制表示)最小正、负数的二进制表示)规格化数所能表示的数的范围)最接近于零的正规格化数与负规格化数。•【解】:设浮点数格式为X=E•S首先写出阶码和尾数的范围:•阶码为位移码则阶码的取值范围为‾•尾数是位的补码(其中含符号位位)则尾数最大正数值为Smax=尾数最小正数值为Smin=。尾数最大负值为尾数最小负值为。•)最大数的二进制表示:•正数Xmax=•()•负数Xmax=•()•)最小的二进制表示:•正数Xmin=••负数Xmin=•()•)规格化数所能表示的数的范围:•阶码取值范围还是‾而规格化的浮点数尾数(位补码)的取值范围为•当X时:≤S≤•当X时:≤S或≤S≤()•所以规格化数的取值范围为•当X时:≤X≤•()•当X时:≤X•或•≤X≤•()•)最接近于零的正规格化数与负规格化数。【例】:将下列十进制数表示成浮点规格化数阶码位用补码表示尾数位用补码表示。各包含位符号位在内。•()()•解答()=X=X解()•表示成阶码(补码)、尾码(补码)为:••()=X=X•表示成如下形式为:•数值数据的表示法三、十进制数的编码、编码目的:以机器能表示与识别的二进制形式存在,又比纯二进制数(purebinary)更接近日常所习惯的十进制数、BCD编码:BinaryCodedDecimal,即将十进制数的各位数字变成一组对应的二进制代码,用位二进制数来表示一位十进制数常见种类很多,如Gray码、余码、y码、码等、BCD码:有权码,用四位二进制数表示一位十进制数‾。,…………。注意以后的十进制数的表示。非数值数据的表示非数值型数据,又称为字符数据,通常指字符、字符串、图形符号及汉字等各种数据、字符和字符串的表示()ASCII字符编码字符指字母、符号、控制字符等按什么样的规则把字符表示成形式是人为确定的具体方案有则把字符表示成、形式是人为确定的具体方案有多种,其中流行的是ASCII码,即美国国家信息交换标准码(AmericanStandardCodeforInformationInterchange),含四类种字符在计算机中,通常用一个字节来存放一个字符,一个字节的右边位表示不同的字符代码,最左一位可作为奇偶校验位()字符串的存放字符串指一串连续的字符通常它们在存储器中存放的方式有以下两种:)向量法:字符串在存储器中占用一片连续空间,每个字节存放一个字符代码,字符串的所有字符在物理上是邻近的(例中存储字长为位,每个主存单元存放个字符)EEIFX>THENREAD(C)图字符串的向量存放方案(a)(b))向量法:优点:最简单最节省存储空间缺点:当字符串需进行插入删除操作时,在删除或插入字符后面的子字符串需要全部重新分配存储空间,费时)串表法:字符串的每个字符代码后面有一个链接字,用以指出下一个字符的存储单元地址用指出下个字符的存储单元地优点:在对字符串进行删除和插入操作时,只需要修改相应字符后面的链接字即可缺点:链接字占据了存储单元的大部分空间,主存的有效利用率下降、汉字的表示•一个汉字的编码通常用内码、字模码和外码来描述。•内码:用于汉字的存储、交换等操作的计算机内部代码。一般一个内码占两个字节最高位为。最高位为。•字模码:汉字的输出编码存放在字库中。•外码:即输入码。用来输入汉字的编码。•内码与汉字字符一一对应内码与外码一对多内码与字模码一对多。、逻辑数据不带符号的一位二进制数。只有、两个值代表两种成对的逻辑概念不同于数学中和的数值概念。数学中和的数值概念。一、数据在存取和传输过程中出错的原因、元器件质量不可靠、线路工艺不过关、远距离传输带来的干扰等等二、错误检测与纠正方法有很多常见的一种是对数据信息进行扩充校验码(checkcode)方法有很多,常见的一种是对数据信息进行扩充,加入新代码,使之与原数据共同按某种规律编码后具有发现错误的能力,有些甚至具有指出具体的错误位置并使机器校正的能力我们称之为“校验码”(checkcode)几种常用的校验码包括:奇偶校验码、CRC码、海明码等三、奇偶校验码广泛用于主存的读写校验或ASCII码字符传送过程中的检查、编码方式:在n位有效信息位上加一个二进制位作为校验位P,构成n位的奇偶校验码。校验位P的位置可以在有效信息位的最高位之前,也可在有效信息位的最高位之后。奇校验(odd):编码中含“”的个数(连同校验位)共有奇数个“”奇数个“”偶校验(even):编码中含“”的个数(连同校验位)共有偶数个“”例:信息编码为:B奇校验位奇校验位偶校验位偶校验位若采用偶校验,则校验位P可由下式确定:Peven=DDDDDDDD()若DD中有偶数个,则“偶形成”=若DD中有奇数个,则“偶形成”=若采用奇校验,则校验位P可由下式确定:Podd=Peven()根据式()和()可得到位奇偶校验位P的形成电路,如图示偶校验位形成奇校验位形成PevenPoddDDDDDDDD图奇偶校验位P的形成电路偶校错奇校错、奇偶校验码的校验:位代码与位校验位同时送入奇偶校验逻辑电路对于偶校验若“偶校错”=,表明数据无奇数个错,可视为正确校验位DDDDDDDD图奇偶校验位电路Peven、主存读写过程中的奇偶校验假设CPU准备写入主存某单元的数据为,若采用奇校验,经过奇偶校验电路,形成奇偶校验位,实际写入主存的位数据及校验码为(最高位为校验位)从主存单元读出的位信息首先送入奇偶校验电路,若位信息中“”的个数为奇数个,表示读出信息正确,将校验位去掉后的位数据送CPU否则,表示读出信息确向CPU发出奇校验出错的中断请读出信息不正确,向CPU发出奇偶校验出错的中断请求信号CPU奇偶校验电路主存位位位位图主存读写过程中的奇偶校验计算机组•不同校验方式的检错能力、纠错能力、实现代价各不相同:–检奇数位错误(奇偶检验)–发现一位或多位错误、纠正一位错误(ECC)组成原理第二章运算方法和运算器•数制•数据表示•定点运算•定点运算•定点运算器的构成与实例•浮点数的加减运算定点运算移位运算•无符号数的移位称为逻辑移位•有符号数的移位称为算术移位逻辑移位的规则:逻辑左移时高位丢失低位添逻辑左移时,高位丢失,低位添逻辑右移时,高位添,低位丢失例:寄存器内容为,则:逻辑左移时为逻辑右移时为定点运算移位运算算术移位的规则:移位(相对于小数点)后符号位不变,数值大小发生变化,左移n位相当于该数乘以n,右移n位相当于该数除以n例:X=,y=,则:X右移一位:y右移一位:X左移一位:y左移一位结论:对真值而言,无论正数或负数,在左移或右移时,空出位一律以“”补入•原码移位规则:–不论正数、负数,在左移或右移时,符号位不变,空出位一律补“”•补码移位规则:–正数:符号位不变,不论左移或右移,空出位一律补“”–负数:符号位不变,左移时,空出位补“”右移负数:符号位不变,左移时,空出位补右移时,空出位补“”•反码移位规则:–不论正数、负数,在左移或右移时,符号位不变对于正数,空出位一律补“”对于负数,空出位一律补“”(a)真值为正(b)负数原码(c)负数补码(d)负数反码图实现算术左移和右移操作的硬件示意图定点运算补码加法运算补码加法的公式:x补y补=xy补(mod)补码加法的特点:符号位作为数的一部分一起参加运算在模的意义下相加,超过的进位要丢掉例xy求xy例:x=,y=,求xy解:x补=,y补=x补y补xy补故:xy=进位超过丢掉补码减法运算补码减法的公式:xy补=x补y补=x补y补补码减法的特点:减法运算可以化为加法,可和常规加法运算使用同一加法器电路,从而简化计算机的设计从y补求y补的法则是:对y补包括符号位:“求反且末位加”,即可得y补例:x=,y=,求xy=解:x补=,y补=,y补=y补==xy补=x补y补==所以xy=小结:补码加减法运算基本规则、参加运算的各个操作数均用补码来表示、符号位作为操作数的最高位与数值位同样参与运算减数再求补化减为共用法电路、减数再求补化减为加,共用加法电路、运算结果仍是补码表示、符号位的进位为模值应该丢掉。小数MODn位整数MODn。溢出及其检测定义:运算的结果超出机器所能表示的数据范围分上溢(两正数相加结果符号却为)和下溢(两负数相加结果符号却为)例:x=,y=,求xy注意:补码X补与真值X的转换。当X≥时X补=X当X时X补=MX解:x补=,y补=x补y补xy补注意:只有当两数同号时,才会出现溢出计算机组、几种溢出检测方法()单符号位法(根据两个操作数的符号与结果的符号判别溢出):当操作数中的加数与被加数符号相同时,若结果的符号与操作数的符号不一致,表示溢出组成原理否则,表示无溢出设X的符号位为Xf,Y的符号为Yf,运算结果的符号为Sf,则溢出逻辑表达式:V=XfYfSfXfYfSfV=无溢出V=有溢出()单符号位法(进位判断法):当最高有效位产生进位而符号位无进位时,产生上溢当最高有效位无进位而符号位有进位时,产生下溢其逻辑表达式为:VSCV=SC其中S为符号位产生的进位,C为最高有效位产生的进位()双符号位法(变形补码法):在进行补码加减运算时,如果只使用一个符号位,出现溢出的时候正确的符号位将被数值侵占,符号位含义将发生混乱因此,如果将符号位扩展为两位,即使出现溢出,数值侵占了一个符号位,仍能保持最左边的符号位正确边的符号位正确溢出逻辑表达式为:V=SfSf其中,Sf和Sf分别为最高符号位及第二符号位•变形补码(定点小数):双符号位。正负。两个符号位均参与运算结果符号位出现或则为溢出。Xx≥x=x≥x≥变形补码x补=例:X=Y=,求XY。X补=,Y补=X补Y补X补Y补结果:俩个符号位为“”表示溢出。定点溢出处理中断第二章运算方法和运算器•数据表示•定点运算•定点运算器的构成与实例•定点运算器的构成与实例•浮点数的加减运算基本的二进制加减法器一、回忆加法单元两个一位二进制数所使用的硬件、一位半加器HA(HalfAdder)(逻辑符号、真值表、逻辑式)•ASABSCS=A㊉BASABSCS=A㊉B•BC=ABABA、B:两个一位加数C=ABS:半加和C(Carry):半加进位HA、一位全加器FA(FullAdder):在半加器的基础上考虑进位输入()逻辑符号、真值表、逻辑表达式•AiSiAiBiCiSiCi•BiCi•CiFACi••Si=Ai㊉Bi㊉Ci•Ci=AiBiBiCiCiAi•=AiBi(Ai㊉Bi)CiAiBi:n位加法器第i位的加数CiSiCiSi或或()全加器的硬件实现:电路形式有很多,选两例典型做介绍第一种在教材P图(b)CiAiBiAiBiCi异或异或图全加器的硬件实现()计算全加器电路的时间延迟:从电路的输入产生起直到输出出现所经过的时间,用T的个数表示T叫延迟单位•以此表格为依据可推算出前两种FA的时间延迟•第一例:生成Si的延迟为T生成Ci的延延迟逻辑符号与非门NANDT或非门NORT非门NOTT为T,生成Ci的延迟为T•第二例:生成Si、Ci的延迟均为T•可见同功能不同形式的电路具有不同的时间延迟与门ANDT或门ORT异或门XORT同或门XNORT与或非(接线逻辑)AOITTrc≈T二、由加法单元FA组成加法器(一)加法器类型及进位链、加法器的分类()串行加法器:只有一个全加器,数据逐位串行送入加法器送法器()并行加法器:由多个加法器组成,加法器的个数与操作数的位数相同、并行加法器的进位方式•进位链:进位传递逻辑,分为串行和并行进位两种•基本进位公式设相加的两个操作数为:A=AnAn…Ai…AB=BnBn…Bi…Bnni则进位信号的逻辑式为:Ci=AiBi(Ai㊉Bi)Ci=GiPiCiGi=AiBiPi=Ai㊉Bi其中,Pi称为进位传递函数,Gi称为进位产生函数(二)串行进位的并行加法器:将n个全加器串接起来,可以进行两个n位数相加其中的进位是逐级形成的,每一级的进位直接依赖于前一级的进位串行进位的逻辑表达式为:C=AB(A㊉B)C=GPCC=AB(A㊉B)C=GPC……Cn=AnBn(An㊉Bn)Cn=GnPnCn•串行进位的进位输出信号Ci与低位的进位信号Ci有关•串行进位的并行加法器的总延迟时间与字长成正比例:行波(串行)进位的补码加法减法器:可由n个一位的全加器(FA)联成一个n位的行波进位并行加减器M为方式控制输入线,当M=时,做加法(AB)运算当M=时,做减法(AB)运算,此时,AB运算化为A补B补运算,B补用B补包括符号位“取反末位加”来实现另外,采用单符号位法的溢出检测逻辑:V=CnCn,其中,Cn为符号位,Cn为最高有效位产生的进位XORVSnSnSSCCCCFAFAFAFAXORXORXORXOR…CCCCnCnCn……BnAnBnAn…BABA方式控制线M=加M=减图行波(串行)进位的补码加法减法器(三)并行进位(先行进位、同时进位)的并行加法器并行进位的并行加法器:各进位信号的产生不再与低位的进位信号有关,而只与两个参加运算的数和C有关,即各级进位信号同时生成并行进位的逻辑表达式为:C=AB(A㊉B)C=GPCC=GPC=GP(GPC)()…Ci=GiPiCi=GiPiGiPiPiGi…PiPiPi…PC…Cn=GnPnCn=GnPnGnPnPnGn…PnPnPn…PC以四位并行加法器为例看其内部结构:或或或或CCCCGiAiBiC异或PiAiBiGPGPGPGP图四位先行进位电路CLA(CarrryLookAhead)图中产生C‾C的延时相同,故亦称并行进位(同时进位)或或或或CCCCC异或S异或S异或S异或SGPGPGPGP图具有并行进位的四位加法器逻辑图因为进位信号先由逻辑线路产生,再送去求和,所以常称为先行进位CLA(CarryLookAhead)加法器•虽然并行加法器的运算速度快,但是以增加硬件逻辑线路为代价的•当加法器位数增加时,进位信号Ci的逻辑式会变得愈加复杂,其进位形成逻辑的输入量也增多,以至超出实用器件规定的输入数•常用的方法是:将加法器分成若干组,在组内采用常用的方是将分成若干,在内采用并行进位,组间采用串行进位或并行进位,即:组内并行、组间串行的进位链组内并行、组间并行的进位链、组内并行、组间串行的进位链以位加法器为例,一般可分为个小组,每个小组位,每组内部采用并行进位结构,组间采用串行进位传送结构这种方式虽然每组内是并行的,但对高位小组来说,各进位信号的产生仍依赖于低位小组的最高位进位信号的产生,还存在一定的等待时间FFFFFFFFGGGGPPPP第二组第二组位位…………第一组第一组位位…………第四组第四组位位…………FFFFFFFF第三组第三组位位…………GGGGPPPPGGGGPPPPGGGGPPPPFFFFFFFFFFFFFFFF图图位组间串行进位位组间串行进位(单级先行进位)加法器加法器CCCCCCCCCtd(T)●●●●●●●●●●●●●●●●CCCCCCCCCCCCCCCCCCi图位组间行波进位(单级先行进位)时间图进位产生次序:①同时产生第一小组的C、C、C、C②得到C后经过T延迟同时产生第二小组的C、C、C、C③④类似②。、两级先行进位加法器:在上例组内先行进位基础上,把组间的串行进位改成先行进位•再一次分析进位(组间)逻辑表达式:C=GPGPPGPPPGPPPPCC=GPGPPGPPPGPPPPCC=G………………………PPPPCC=GPPPPCC=G……………………PPPPC再引入两个辅助函数:Gi*=GiPiGiPiPiGiPiPiPiGi(组间进位产生函数)Pi*=PiPiPiPi(组间进位传递函数)i=于是小组间产生四个进位为:C=G*P*CC=G*P*G*P*P*CC=G*P*G*P*P*G*P*P*P*CC=G*P*G*P*P*G*P*P*P*G*P*P*P*P*C与小组内四位进位逻辑式相比较与小组内四位进位逻辑式相比较:•C=GPCC=GPC=GPGPPCC=GPGPPGPPPCC=GPGPPGPPPGPPPPC或或或或CCCCG*P*G*P*G*P*G*P*C图并行计算C、C、C、C的硬件电路或或或或CCCGiAiBiCG*P*异或PiAiBiGPGPGPGP图组间先行进位BCLA(BlockCarryLookAhead)部件产生Gi*和Pi*的进位线路或或或或CCCCGiAiBiC异或PiAiBiGPGPGPGP图四位先行进位电路CLA(CarrryLookAhead)•为产生组间进位函数,需对原CLA电路做如下修改,称为成组先行进位电路BCLA(BlockCarryLookAhead):•第一小组内产生G*,P*,C,C,C,不产生C•第二小组内产生G*,P*,C,C,C,不产生C•第三小组内产生G*,P*,C,C,C,不产生C•第四小组内产生G*,P*,C,C,C,不产生C第四小组内产生G,P,C,C,C,不产生C•注意:位CLA加法器和位BCLA加法器的区别仅在于其中的进位逻辑电路上,前者产生进位输出信号CC,后者产生进位输出信号CC及组间进位产生和传递函数Gi*、Pi*•可选用个BCLA和个CLA组成位的两级先行进位加法器•采用两级先行进位的加法器框图(N=四组每组四位):CLA电路CCCCG*P*G*P*G*P*G*P*S~SS~SS~SS~S四位BCLA加法器四位BCLA加法器四位BCLA加法器四位BCLA加法器CCCCA~AB~BA~AB~BA~AB~BA~AB~B图位两级先行进位加法器•两级先行进位的形成过程进位时间图(仍设四位CLA组内时间延迟为T):td(T)●●●●●●●●●CCCCCCCCCCCCCCCCCCi●●●●●●●图位两级先行进位时间图•位组内并行进位、组间并行进位的并行加法器进位产生次序:–产生第一小组的C、C、C及所有的Gi*、Pi*–产生组间的进位信号C、C、C、CC–产生第二、三、四小组的C、C、C、C、C、C、C、C、C至此进位信号全部形成和数也随之产生。一、进位公式的分析:Ci=GiPiC二、串行进位加法器:速度慢,N越大越明显三、并行(先行)进位加法器、进位均由C同时生成、得到四位并行进位线路、进而得到四位先行进位加法器四、组间串行(行波单级)进位加法器并行加法器进位结构讨论的小结四、组间串行(行波单级)进位加法器、N=为例将四位CLA加法器串接而得、该加法器的进位时间图五、两级先行进位加法器:组间串行改为并行、再次分析进位逻辑表达式(引入两个辅助函数)、得到同时生成C、C、C、C的BCLA、进而得到两级先行进位的加法器(N=位)、两级先行进位形成的进位时间图十进制加法器对BCD码进行加法运算实质是通过二进制运算附加必要的校正逻辑实现一、一位十进制加法运算、码加法运算规则()两个十进制数的码相加时,按“逢二进一”的原则进行()当和≤,无需校正()当和>,则校正,同时产生向上一位的进位码的校正关系如表所示十进制数未修正的和Ci’Si’Si’Si’Si’码CiSiSiSiSi修正法┇┇┇不修正表码校正得:校正函数=Ci’Si’Si’Si’Si且有向上一位的进位Ci=Ci’Si’Si’Si’Si’的校正关系教材P图(b)一位BCD加法器单元的逻辑结构SiSiSiSi十进校正FAFAHA()校正CiCiS’iS’iS’iS’i二C’i进加XiYiXiYiXiYiXiYi法与与FAFAFAFA或图一位码加法器二进制求和•教材P图(a):n位数字的行波进位BCD加法器•SnSS•十进制加法器对BCD码进行加法运算•••CnCnCCC••XnYnXYXY一位BCD加法器单元一位BCD加法器单元一位BCD加法器单元图n位数字的行波进位BCD加法器定点运算器的构成与实例基本的运算器包括:ALU,提供操作数与暂存结果的寄存器组,有关的判别逻辑和控制电路,连接各模块的总线(内部总线)等算术逻辑部件ALU、ALU是运算器的核心,主要作用是进行定点算术运算和逻辑运算还可以作为数据信息的传送通路由于加法和逻辑运算,还可以作为数据信息的传送通路由于加法操作是各种算术运算的基础,因此ALU的核心是加法器ALU的硬件实现涉及三个问题:()如何构成一位二进制加法单元,即全加器()N位全加器连同进位信号传递逻辑,构成一个N位并行加法器()以加法器为核心,通过输入选择逻辑扩展为具有多种算术功能和逻辑功能的ALU(亦称多功能函数发生器)、ALU举例(SN)()SN外特性以一个位ALU芯片SN为例说明ALU的结构。SN能够进行种不同的算术运算和种不同的逻辑运算由功能选择线S、S、S、S和操作方式M控制当M=时,进行算术运算当M=时,进行逻辑运算图中AA、BB为ALU的两个数据输入端,FF为结果输端Cn为ALU最低位进位输入,Cn为ALU产生的最高位输出G、P为输出小组进位辅助函数。CnMSSSSFFFFABABABABCnA=BGPSN位ALU图SN芯片方框图可见,每片可作为一个小组,是一个位先行进位加法器小组间既可以采用串行进位,又可以采用并行进位当组间采用并行进位时,需要增加另外的芯片(先行进位发生器)()•作用:产生组间并行进位,所需要的是每片的最低位进位•的逻辑图。•的逻辑符号图中CnZCnYCnX是三个进位输出信号P**、G**是大组(位)进位产生函数和进位传递函数CnP**G**CnZCnYCnXP*G*P*G*P*G*P*G*()•的进位逻辑CnX=G*(P*C*n)CnY=G*(P*G*(P*C*n))CnZ=G*(P*G*(P*G*(P*C*n)))P**=G*(P*G*)(P*P*G*)(P*P*P*G*)CnP**G**CnZCnYCnXP*G*P*G*P*G*P*G*PG(PG)(PPG)(PPPG)G**=P*P*P*P*•结论:的位作为一个小组小组内是并行进位的(由芯片内部完成),而大组(位)内(小组间)的并行进位可由芯片完成。利用的大组进位产生函数G**和进位传递函数P**可进一步实现大组间的并行进位。()和的配合应用例:利用和组成下列ALU•方法:的位作为一个小组,每四个小组构成一个大组•位行波进位ALU,即小组内并行进位小组间(大组内)P*G*FFFFCnCn并行进位、小组间(大组内)串行进位•位并行ALU,即小组内并行进位、小组间(大组内)并行进位AAAABBBBCnP**G**CnZCnYCnXP*G*P*G*P*G*P*G*()和的配合应用例:利用和组成下列ALU•方法:的位作为一个小组,每四个小组构成一个大组•位并行ALU,分两种情况:即小组内并行进位大组内P*G*FFFFCnCn即小组内并行进位、大组内并行进位、大组间串行(并并串)的位加法器或小组内并行进位、大组内并行进位、大组间并行(并并并)的位加法器AAAABBBBCnP**G**CnZCnYCnXP*G*P*G*P*G*P*G*解答:*用片构成的位行波进位的ALU#CnCn#CnCn#CnCn#CnCnCoutCin图位单级先行进位的ALU称为单级先行进位的ALU只有片内四位为先行进位,用前一级芯片的进位输出作为下一级芯片的进位输入端,片内先行进位,片间串行进位,运算速度慢*用片和片构成的位并行ALUP*G*CnzP*G*CnyP*G*CnxP*G*CinP**G**CnCnCnCnCnCnCnCnCoutCin称为两级先行进位的ALU:每片内部(小组内)为先行进位,四片之间(大组内)也为先行进位,运算速度较快图位两级先行进位的ALU*用片和片构成的位并行ALU(X=X(X))CnzCnyCnxP*G*P*G*P*G*P*G*位并行ALU位并行ALU位并行ALUCoutP**G**P**G**P**G**P**G**CCCCnCnCnCnC位并行ALU两级先行进位的ALU:芯片内部(小组内部)、大组内并行、大组间串行进位C图位两级先行进位的ALU*用片和五片构成的位并行ALU(X=X(X))CinCnzCnyCnx位并行ALU位并行ALU位并行ALUCoutPGCnzPGCnyPGCnxP**G**P**G**P**G**P**G**PGCnzCnyCnxP*G*P*G*P*G*P*G*CnCnCnCnC位并行ALUALUALUALU三级先行进位的ALU:芯片内部(小组内部)、小组(即四片)间并行、大组(即四个位并行的ALU)间均为先行进位速度快,但芯片使用较多图位三级先行进位的ALU总线、定义:总线是计算机系统各部件间的公共信息通路、总线的分类()根据总线所处的位置*内部总线:CPU内各部件的连线*外部总线(系统总线):CPU与存储器、IO系统之间的连线()根据总线的逻辑结构来分*单向传送总线*双向传送总线()总线按其功能分为*数据总线*地址总线*控制总线定点运算器的基本结构运算器包括ALU、输出控制电路、通用寄存器组、状态字寄存器、输入选择电路、数据总线等其中:ALU:对数据进行算术运算和逻辑运算通用寄存器组:暂时存放运算的数据和中间结果状态字寄存器:记录运算的结果状态,如进位或借位标志溢出标志零标志中断标志等志、溢出标志、零标志、中断标志等输入选择电路:选择不同来源的数据(如寄存器组或外部数据),并送到ALU的数据输入端输出控制电路:具有移位功能,并能对输出结果的去向进行控制输出控制电路ALU状态字寄存器M…SS输入选择电路通用寄存器组图定点运算器的基本组成可分为单总线结构、双总线结构、三总线结构计算机组通用寄存器特殊寄存器总线缓冲器组成原理寄存器(b)双总线结构的运算器特殊寄存器总线计算机组通用总线特殊总线组成原理通用寄存器(c)三总线结构的运算器特殊寄存器缓冲器总线ALU第二章运算方法和运算器•数据表示•定点数的加减运算•定点运算器的构成与实例•定点运算器的构成与实例•浮点数的加减运算浮点加减算术运算设有两个浮点数x和y,它们分别为:x=Ex×Mxy=Ey×My浮点加减运算的步骤为:()对阶:浮点数相加减必须小数点位置对齐,而浮点数的小数点位置实际上是由阶码决定的对齐两数的小数点就是使两数的阶码相等,这个齐两数的小数点就是使两数的阶码相等,这个过程称为对阶当ΔE=EXEy≠时,需要对阶处理,其具体步骤为:小阶向大阶看齐,即将阶码小的数的尾数向右移位,每右移一位,阶码加,直到两数的阶码相等为止原因:阶码小的数的尾数右移并增加阶码时,舍去的仅是尾数低位部分,误差较小例:设x=×,y=×(),求xy解:设两数均以补码表示:x补=,y补=,()对阶:ΔE=EXE=≠故需要对阶()对阶:ΔEEXEy≠故需要对阶x的阶码小,Mx右移位,Ex加,有:x补=,()()尾数求和:方法同定点加减运算•()=()()结果规格化:运算结果有两种情况需要规格化,设尾数用双符号位补码表示•左规:浮点规格化的定义是尾数M应满足:½=M=若尾数用补码表示则规格化浮点数:对正数而言,有M=…对负数而言,有M=…若运算结果为或时,需尾数左移(左移一位,阶码减),称为向左规格化右规:当尾数求和的结果为或时,即两个符号位不相等,应将尾数运算结果右移一位,阶码加,称之为向右规格化本题中尾数相加的结果为(),应左规,结果为(),阶码为。()舍入:对阶或向右规格化时,尾数要向右移位,其低位部分要丢掉,从而造成误差,应进行舍入处理常用“舍入”法和“恒置”法常用“舍入”法和“恒置”法①舍入法右移出去的最高位为,直接移出去即可右移出去的最高位为,则移出去后末位加②恒置法(冯诺依曼舍入法)只要有数位移出去,就在末位恒置此例为向左规格化,无舍入问题尾数。()溢出判断(首先回顾浮点数的表示范围):•N=E×M,设阶码的数值位位,尾数的数值位取n位,阶码尾数均用补码表示当浮点数为规格化数时其在数轴上表示的范围为:负数区上溢区下溢区正数区上溢区AabB最小负数A:×()最大负数a:×(n)最大正数B:×(n)最小正数b:×图补码在数轴上的表示()溢出判断(首先回顾浮点数的表示范围):•N=E×M,设阶码的数值位位,尾数的数值位取n位,阶码尾数均用补码表示当浮点数为规格化数时其在数轴上表示的范围为:负数区上溢区下溢区正数区上溢区图中a、b之间部分对应的阶码小于称为浮点数下溢。下溢时浮点数值趋于零将其作为机器零图中A、B两侧部分对应阶码大于称为浮点数上溢机器将作溢出中断处理。AabB图补码在数轴上的表示()溢出判断(回到此题):•当尾数之和出现或时,并不表示溢出•当将此数右规后,再根据阶码判断浮点运算是否溢出•若阶码符号位用双符号位补码表示,E补=,时,表示溢出,E补=,时,按机器零处理•此例无溢出,所以:XY=×()•【例】:设浮点数的阶码和尾数均用补码表示,且位数分别为位和位(均含位符号位)若有两个数X=×,Y=×,则用浮点数加法计算XY的最终结果是:•AB•CD发生溢出•【例】:冯诺依曼计算机中指令和数据均以二进制形【】曼算中制式存放在存储器中,CPU区分它们的依据是:•A指令操作码的译码结果•B指令和数据的寻址方式•C指令周期的不同阶段•D指令和数据所在的存储单元例子:字长位的计算机中运行如下类C语言程序段:unsignedintx=unsignedinty=intm=xintn=yunsignedintZ=xyunsignedintZ=xyintK=mnintK=mn若编译器编译时将个位寄存器R‾R分别分配给变量译译存x,y,m,n,Z,Z,k,k,问:(提示:带符号数用补码表示)()执行上述程序后R,R和R内容分别是多少?(十六进制表示)()执行上述程序后变量m和k的值分别是多少?(十进制表示)()上述程序段涉及带符号数整数加减、无符号整数加减这种运算能否利用同一个加法器辅助电路实现简述理由。()计算机内部如何判断带符号整数加减运算结果是否溢出?上述程序段中哪些带符号整数运算语句的执行结果会溢出?

  学术论文的写作是非常重要的,它是衡量一个人学术水平和科研能力的重要标志。在学术论文撰写中,什么是最重要的呢?学术论文要求、英语学术论文、学术期刊投稿指南又有哪些?无论是否第一次撰写,该学术论文专题将让您轻松掌握撰写技巧。

本文链接:http://brazil-run.com/dingdianyunsuan/826.html