首页 《计算机组成原理》考试复习重点笔记

《计算机组成原理》考试复习重点笔记

举报
开通vip

《计算机组成原理》考试复习重点笔记考试复习重点资料(最新版)封面第1页资料见第二页计算机组成原理【考查目标】1.理解单处理器计算机系统中各部件的内部工作原理,组成结构以及相互连续方式,具有完整的计算机系统的整机概念.2.理解计算机系统层次化结构概念,熟悉硬件与软件间的界面,掌握指令集体系结构的基本知识和基本实现方法3.能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算,分析,并能对一些基本部件进行简单设计.一,计算机系统概述(一)计算机发展历程第一台电子计算机ENIAC诞生于1946年美国宾夕法尼亚大学ENIAC...

《计算机组成原理》考试复习重点笔记
考试复习重点资料(最新版)封面第1页资料见第二页计算机组成原理【考查目标】1.理解单处理器计算机系统中各部件的内部工作原理,组成结构以及相互连续方式,具有完整的计算机系统的整机概念.2.理解计算机系统层次化结构概念,熟悉硬件与软件间的界面,掌握指令集体系结构的基本知识和基本实现方法3.能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算,分析,并能对一些基本部件进行简单设计.一,计算机系统概述(一)计算机发展历程第一台电子计算机ENIAC诞生于1946年美国宾夕法尼亚大学ENIAC用了18000电子管,1500继电器,里30吨,占地170m飞耗电140kw,每秒计算5000次加法.冯·诺依曼(VanNeumann)首次提LH存储程序概念,将数据和程序一起放在存储器,使编程更加方便.50年来,虽然对冯·诺依受机进行很多改革,但结构变化不大,仍称冯·诺依曼机一般把计算机的发展分为五个阶段-发展阶段时间硬件技术速度/(次/秒)第一代1946-1957电子管计算机时代40000第二代1958-1964晶体管计算机时代200000第三代1965-1971中小规模集成电路计算机时代1000000第四代1972-1977大规模集成电路计算机时代10000000第五代1978-现在超大规模集成电路计算机时代100000000ENIAC(ElectronicNumericalIntegratorAndComputer)电子数字积分机和计算机EDVAC(ElectronicDiscreteVariableAutomaticComputer)电子离散变盘计算机组成原理是讲硬件结构的系统结构是讲结构设计的尔定律微芯片上的集成管数目每3年翻两番.处理器的处理速度每18个月增长一倍.每代芯片的成本大约为前一代芯片成本的两倍新摩尔定律全球入网盘每6个月翻一番.数学家冯·诺依虽(vonNeumann)在研究EDVAC机时提出了“储存程序”的概念.以此为基础的各类计算机通称为冯·诺依曼机.它有如下特点:①计算机囱运算器,控制器,存储器,输入和输出五部分组成②指令和数据以同等的地位存放于存储器内,并可按地址寻访③指令和数据均用二进制数表示@指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位明⑤指令在存储器内按顺序存放@机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成图中各部件的功能·运算器用来完成算术运算和逻辑运算并将的中间结.-但啼控制线和反馈线果暂存在运算器内·存储器用来存放数据和程序典型的冯·诺侬是计算机硬件框图以存储棉为中心的计算机硬件框国制器用来控制,指挥程序和数据的输入,运行以及处理运行结果1litr入设备用米将人们熟悉的信息转换为机器识别的信息·输出设备将机器运算结果转为人熟悉的信息形式现代计算机硬件框图存储体一存储单元一存储元件(0/1)大楼一房间一床位〈无人/有人〉存储单元存放-$二进制代码νo存储单元中二进制代码的组合存储字存储字长存储单元中二进制代码的位数同山回罕!~曰:;凸[l徨刽i」一~|单元I~~二」::运衍器;:控制葛每个存储单元赋予一个地址号细化的it篝机也咸阳按地址寻访运算器最少包括3个寄存器(现代计算机内部往往设有通用寄存器)和一个算术逻辑单元(ALUArithmeticLogicUnit).其中ACC(Accumulator);为累加器,MQ(Mu1tiplier-QuotientRegister)为乘商寄存器,X为操作数寄存器,这3个寄存器在完成不同运算时,说存放的操作数类别也各不相同.(1)存储器的基本组成。)运算榻的基本组成反操作过程~J.AR存储量是地址帘'(f.""反映存储均1元的个d..10.111被i\'lDR存储密数据帘:fi-器反映存储字vy设》队R=4位沁IDR=8位存钻单元个数16:(f.储字“民自...①加法操作过程指令被减数xl\({叫一减指令flj态3、I[.\'(]一一加7态也J-(X)一{人l1[X]…一总辛辛2l被除数ιrr·,L二!]÷rxl-:-.1余数拍:AC〔'.\l]-一除A韧态指令‘、,-4俨’’’民@除法操作过运~~③乘法操作过ALMJ一-~·iQl一-x。一-A敏..1乘指令111态(3)控制器的基本组成一一一「完成f取指令PC)产一一-,INI}取指访存IcuII一列分析指令IRJI-~Il指令|」一__JIL执行指令cu执行访存PC存放当前欲执行指令的地址,因回|具有计数功能阳叫-P囚存放当前欲执行的指令计算机的主要硬件指标1.机器字长CPU一次能处理数据的位数与CPU中的寄存器位数有关r主频|吉普森法TM=‘fit;.运算速度〈飞同lMIPS每秒执行百万条指令ICPI执行一条指令所需时钟周期数\.FLOPS每秒浮点运算次数3.存储容盘存放二进制信息的总位数存…×存储字长如MAR.MDR容1081K×8位163264K×32位字节数住E如213=lKB气~主存容辅存容字节数80GB飞~1G=1024M=2'0×io=io(4.a)主机完成一条指令的过程一一以取数指令为例存储体~L斗iiL一」||:运算器止控幅|-储器9(4.b)主机完成一条指令的过程一一以存数指令为例m设备!山::][1;运算器!~-控制器|存储体m设备8存储器(二)计算机系统层次结构1.计算机硬件的基本组成计算机硬件主要指计算机的实体部分,通常有运算器,控制器,存储器,输入和输出五部分.CPU是指将运算器和控制器集成到一个电路芯片中.2.计算机软件的分类计算机软件按照面向对象的不同可分两类:系统软件:用于管理整个计算机系统,合理分配系统资源,确保计算机正常高效地运行,这类软件面向系统(包括:MATCH_ word word文档格式规范word作业纸小票打印word模板word简历模板免费word简历 _1713583817287_0程序库,语言处理程序,OS,服务程序,数据库管理系统,网络软件)应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求.3.计算机的工作过程(1)计算机的工作过程就是执行指令的过程指令由操作码和操作数组成:操作码指明本指令完成的操作|操作码|地址码|地址码指明本指令的操作对象(2)指令的存储指令按照存储器的地址顺序连续的存放在存储器中.(3)指令的读取为了纪录程序的执行过程,需要一个 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 读取指令地址的寄存器,称为指令地址寄存器,或者程序计数器.指令的读取就可以根据程序计数器所指出的指令地址来决定读取的指令,由于指令通常按照地址增加的顺序存放,故此,每次读取一条指令之后,程序计数器加一就为读取下一条指令做好准备.(4)执行指令的过程在控制器的控制下,完成以下三个阶段任务:1)取指令阶段按照程序计数器取出指令,程序计数器加一2)指令译码阶段分析操作码,决定操作内容,并准备操作数3)指令执行阶段执行操作码所指定内容(三)计算机性能指标1.吞吐量,响应时间(1)吞吐量:单位时间内的数据输出数ω·(2)响应时间:从事件开始到事件结束的时间,也称执行时间.2.CPU时钟周期,主频,CPI,CPU执行时间(1)CPU时钟周期:机器主频的倒数,Tc(2)主频.CPU工作主时钟的频率,机器主频Re(3)CPI:执行一条指令所需要的平均时钟周期(4)CPU执行时间TCPO=In×CPI×TrIn执行程序中指令的总数CPI执行每条指令所榻的平均时钟周期数Tc时钟周期时间的长度3.MIPS,盯LOPS(1)MIPS:(Mi11ionInstructionsPerSecond)指令条数In时钟频率InRe=执行时间×106=王言τ(lb=CPT王τQb=InXCPIXTcX10。=CPI言王FTe:执行该程序的总时间=指令条数/(MIPS×106)In:执行该程序的总指令数Re:时钟周期Tc的到数MIPS只适合评价标盘机,不适合评价向盘机标盘机执行一条指令,得到一个运行结果而向母机执行一条指令,可以得到多个运算结果.(2)MFLOPS:(MillionFloatingPointOperationsPerSecond)MFLOPS=Ifn/(Te×10")Ifn:程序中浮点数的运算次数MFLOPS测量单位比较适合子衡盘向盘机的性能.一般而言,同一程序运行在不同的计算机上时往往会执行不同数盘的指令数,但所执行的浮点数个数常常是相同的.特点:1.MFLOPS取决于机器和程序两方面,不能反映整体情况,只能反映浮点运算情况2.同一机器的浮点运算具有一定的同类可比性,而非同类浮点操作仍无可比性当前微处理器的发展重点①进一步提高复杂度来提高处理器性能②通过线程进程级的我发性提高处理器性能③1寄存储器集成到处理器芯片来提高处理器性能④发展嵌入式处理器软件开发有以下几个特点1)开发周期长2)制作成本昂贵3)检测软件产品质量的特殊性计算机的展望一、计算机具有类似人脑的一些超级智能功能要求计算机的速度达1015/秒二、芯片集成度的提高受以下三方面的限制芯片集成度受物理极限的制约按几何级数递增的制作成芯片的功耗、散热、线延迟计算机辅助设计CAD计算机辅助制造CAM计算机辅助工艺规划ComputerAidedProcessPlanningCAPP计算机辅助工程ComputerAidedEngineeringGAE计算机辅助教学ComputerAssistedInstructionCAI科学计算和数据处理工业控制和实时控制网络技术应用虚拟现实办公自动化和管理信息系统IComputerAidedDesignCAD.CAMCIMS才ComputerAidedMam」factur1n多媒体投术lComputerIntegratedMa『】ufacturingSystem人工智能模式识别.文字/语音识别.语言翻译,专家系统,机器人…一数据的表示和运算(一)数制与编码1.进位计数制及其相互转换1)进位计数制进位计数制是指按照进位制的方法表示数,不同的数制均涉及两个基本概念:基数和权.基数:进位计数制中所拥有数字的个数.权:每位数字的值等于数字乘以所在位数的相关常敛,这个常数就是权.任意一个R迸制数X,设整数部分为n位,小数部分为m位,则X可表示为:.-1.-2X=ar+ar-In2(X)r=LK,r’2)不同数制间的数据转换。,,+…+ar+ar。-I(1)二,八,十六进制数转换成十进制数_,+ar+…+ar_,-·利用上面讲到的 公式 小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载 :(N)2=LDi·2i,(N)8=LDi·8i,(N)l6=LDi·l6i,进行计算.(2)十进制数转换成二进制数通常妥对一个数的整数部分和小数部分分别进行处理,各自得出结果后再合并.•对整数部分,一般采用除2取余数法,其规则如下:将十进制数除以2,所得余数(0或1)即为对应二进制数最低位的值.然后对上次所得商除以2,所得余数即为二进制数次低位的值,如此进行下去,直到商等于O为止,最后得的余数是所求二进制数最高位的值.4’对小数部分,一般用乘2取整数法,其规则如下:将十进制数乘以2,所得乘积的整数部分即为对应二进制小数最高位的值,然后对所余数的小数部分部分乘以2,所得乘积的整数部分为次高位的值,如此进行下去,直到乘积的小数部分为0,或结果己满足所需精度要求为止.(3)二进制数,八进制数和十六进制数之间的转换八进制数和十六进制数是从二进制数演变而来的:由3位二进制数组成l位八进制数,由4位二迸制数组成l位十六进制数.对一个兼有整数和小数部分的数以小数点为界,小数点前后的数分别分组进行处理,不足的位数用0补足.对整数部分将0补在数的左侧,对小数部分将O补在数的右侧这样数值不会发生差错.2_真值和机器数J'i值:数据的数值通常以正(+)负(-)号后跟绝对值米表示,称之为“真值”机器数:在计算机中正负号也需要数字化,一般用0表示正号,l表示负号.把符号数字化的数成为机器数.3.BCD码(BinaryCodedDecimal以二进制编码的十迸制码)在计算机中采用4位二进制码对每个十进制数位进行编码4位二进制码有16利’不同的组合,从中逃出10利’米表示十进制数位的O~9,用0000,0001,…,1001分别表示0,1,…,9,每个数位内部满足二进制规则,而数位之间满足十进制规则,故称这种编码为“以二进制编码的十进制(binarycodeddecimal,简称BCD)码’\在计算机内部实现BCD码算术运算,要对运算结果进行修正,对加法运算的修正规则是:如果两个一位BCD码相加之和小于或等于(1001)2,即(9)10,不需要修正.如相加之和大子或等于(1010)2,或者产生进位,要进行加6修正,如果有进位,要向高位进位-4.字符与字符串在计算机中要对字符进行识别和处理,必须通过编码的方法,按照一定的规则将字符用一组二进制数编码表示.字符的编码方式有多种,常见的编码有ASCII码,EBCDIC码等.1)ASCII码(AmericanStandardCodeforInformationInterchange美国信息交换标准码)ASCII码用7位二进制表示一个字符,总兵128个字符元素,包括10个十进制数字(0-9),52个英文字母(A-Z和a-z),34专用符号和32控制符号2)EBCDIC码为ExtendedBinaryCodedDecimalInterchangeCode的简称,它采用8位来表示一个字符-3)字符串的存放向fit存储法:字符串存储时,字符事中的所有元素在物理上是邻接的.串表存fi古法:字符串的每个字符代码后面设置一个链接字,用于指出下一个字符的存储单元的地址.5.校验码CheckDigit数据校验码是一种’后用的带有发现某些错误或自动改铺能力的数据编码方法其实现原理,是加进一些冗余码佼合法数据编码出现某些储误时,就成为非法编码这样,可以通过检测编码的合法性米达到发现错误的目的.合理地安排非法编码数盘和编码规则,可以提高发现错误的能力,或达到自动改正错误的目的.码距:码距根据任意两个合法码之间至少有几个二进制位不相同而确定的,仅有一位不同,称其码距为l.1)奇偶校验码(ParityBit)旦旦(开销最小.能发现数据代码中一位出错情况的编码.常用于存储器读写检查或ASCII字符或其它类型的信息传输的检查)P216它的实现原理,是使码距出l增加到2.若编码中有1位二进制数出错了,~D出l变成0,或者出0变成l.这样:l:l错的编码就成为非法编码,就可以知道出现了错误.在原有的编码之上再增加一位校验位,原编码n位,形成新的编码为n+l位.增加的方法有2种:奇校验:增加位的0或1要保证整个编码中1的个数为奇数个.偶校验·增加位的0!ilZl要保证整个编码中l的个数为偶数个.2)海明校验码(H卸rningCode)P100实现原理,在数据中加入几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中.当某一位L8错就会引起有关的几个校验组的侦发生变化,这不但可以发现出错,还能指出是哪一位出错,为自动纠铺提供了依据.假设校验位的个数为r,则它能表示zr个信息,用其中的一个信息指出“没有错误\其余zr_1个信息指出错误发生在哪一位.然而错误也可能发生在校验位,因此具有k=2r_l-r个信息能用于纠正被传送数据的位数,也就是说要满足关系:zr?!k+r+l3)CRC校验码(CycIicRedundancyCheck循环冗余校验)P144CRC校验码一般是指k位信息之后拼接r位校验码.关键问题是如何从k位信息方便地得到r位校验码,以如何从位k+r信息码判断是否出错.将带编码的k位有效信息位组表达为多项式:M(x)=ck-1xk-1+ck-~k-2+…+Ci~:1+C1x+C0式Ci中为0或1.若将信息位左移r位,则可表示为多项式M(x).xr.这样就可以空出r位,以便拼接r位校验位.-~RC码是用多项式M(x).xr除以生成多项式G(x)所得的余数作为校验码的.为了得主ljr位余数,G(x)必须是r+l'I主设所得的余数表达式为R(x),商为Q(x).将余数拼接在信息位组左移r位空出的r位上,就构成了CRC码,这个码的可用多项式表达为:M(x)•xr+R(x)=[Q(x)•G(x)+R(x)]+R(x)=[Q(x)•G(x)]+[R(x)+R(x)]=Q(x)•G(x)因此,所得CRC码可被G(x)表示的数码除尽将收到的CRC码用约定的生成多项式G(x)去除,如果无错,余数应为0,有某一位出错,余数不为0.(二)定点数的表示和运算1.定点数的表示1)无符号数的表示无符号数就是指正整数,机器字氏的全部位数均用来表示数值的大小,相当于数的绝对值.对于字长为n+l位的无符号数的表示范围为-。可2口+1_12)带符号数的表示(真值范围-n-1,.,,n)带符号数是指在计算机中将数的符号数码化.在计算机中,一般规定二进制的最高位为符号位,最高位为,。”表示该数为正,为“l”表示该数为负这种在机器中使用符号位也被数码化的数称为机器数根据符号位和数值位的编码方法不同,机器数分为原码,补码和反码.(1)liR码表示法机器数的最高位为符号位,O表示正数,1表示负数,数值跟随其后,并以绝对值形式给山.这是与其值最接近的一种表示形式原码的定义:l沁Osx<1[X]:={•"ll-x=1+IXI;-1<xs:;D(2)补码表示法机器数的最高位为符号位,O表示正敛,l表示负敛,其定义如下:|元O~X<1[X].={•l2十X=Z-IXI;一1<x三0(3)反码表示法机器数的最高位为符号,0表示jf数,i表示负数.反码的定义:rX;闵c={O~X<1"'l2-z-a十x=2-rxr;-1<x主0原码补码反码整_{O,~~zu>x~0[x]=-2°-xO~x>-2百{归zu>x'.'.:'.0[x]h=zn+1+xO主x>-2°fO,x2°>x>0[x)三(2目+1-l)+xO兰x二-20数(modz0+L)(mod(2°+1-1))[工]~{1~xl>耳〉。[xJ,~=f2飞xl>x二E00>x;主-1。>x~-1fNl>X2:0[x]fi=(2-2-勺+xD>工运-1数(mod2)(mod(2-Z-0))。[十O]-=O.0000手卜。]-=l.0000'"",;;.[十OJ.;~=[-0]谷=0.0000(+0]~=0.0000手(-OJ支=l.1111负数原码求反+l负数每位求反移码Mg=2°+x(2°>x兰一2n)移码表示中零也是唯一的真值的移码和补码仅差一个符号位.若将补码的符号位由0改为l或从l改为O即可得到真值的移码乘法运算可用移码和加法来实现,两个n位数相乘,总共要进行n次加法运算和n次移位运算二种机器数的特点可以归纳为:·三种机器数的最高位均为符号位.符号位和数值位之间可用”.”(对于小数)或“,”(对于整数)隔开.当其值为正时,原码,补码和反码的表示形式均相同,即符号位用“。”表示,数值部分与A值部分相同·当其值为负时,原码,补码和反码的表示形式不同,其它符号位都用“1"表示,而数值部分有这样的关系,即盐虽是原码的“求反加1”,反码是原码的“每位求反”-2.定点数的运算1)定点数的位移运算左移,绝对值扩大;右移,绝对值缩小.算术移位规则符号位不变码制添补代码正数。原。负数补右移添0左移添l反算术移位和逻辑移位的区别:算术移位:带符号数移位;逻辑移位.无符号数移位;2)原码定点数的加/减运算;对原码表示的两个操作数进行加减运算时,计算机的实际操作是加还是喊,不仅取决指令中的操作码,还取决于两个操作数的符号.而且运算结果的符号判断也较复杂.例如,加法指令指示做(+A)+(-B)由于一操作数为负,实际操作是做减法(+A)-(+B),结果符号与绝对值大的符号相同-同理,在减法指令中指示做(+A)一(-B)实际操作做加法(+A)+(+B),结果与被减数符号相同.由于原码加减法比较繁琐,相应地需要出复杂的硬件逻辑才能实现,因此在计算机中很少被采用.3)补码定点数的加/减运算;(1)加法整数[A]n+[BJn=[A+B]补(modzn+1)小数[A]n+[的n=[A+B]外(mod2)(2)减法整数[A]n-[BJ俨[A+(-B)Ju=[A]u+[-BJ孙(modzn+1)小数[AJn-[B]if=[A+(-B)Jif=[A]~f+[-的忡(mod2)无需符号判定,连同符号位一起相加,符号位产生的进位自然丢掉补码加减法的硬件配耶A、X均n+l位用诚法标记Gs控制求补逻衍4)定点数的乘/!涂运算囚IGs(l)一位乘法(1)原码定点一位乘法两个原码数相乘,其乘积的符号为相乘两数的异或值,数值两数绝对值之积.设[X]皿=XOXlX2…Xn[Y]皿=YOYIY2…Yn[X•Y]原=[X]皿.[Y]皿=(XOEBYO)I(X1X2…Xn)•(YlY2…Yn)符号|表示把符号位和数值邻接起米.(1)原码一位乘运算规则(2)原码一位乘递推公式以小数为例x*.y*=x*(O.Y1Y2...y.)=设[x]§=斗X内…凡lYl.!li=y。·Yi.Yz…y.~\'.•Y]r.1=(\:oE9J'o).(O.X内…x.)(O.J'i.Y2…y.)=("l:oE9Yo)·x*y*=1·•(y...℃*+2-•(y丢芷*+•••z·•(y,τ*+0)···))式中.沪=O..℃内…凡为x的绝对值y*=O.yi.1’2…)'.为y的绝对值乘积的符号位单独处理xβy。数值部分为绝对值相乘x*•y*σ)原码一位乘的硬件配。~n]~豆三〕囚囚、A、0均n+l位移位和加受末位乘数控制(3)原码一位乘的硬件配。11]~囚囚A、文、0均,,+1位移位和加受末位乘数控制原码两位乘和原码一位乘比较原码一位乘原码两位乘符号位XoffiYoXoffiYo操作数绝对值绝对值的补码移位逻辑右移算术右移移位次数n~(11为偶数〉Zo=OZ1=2·1(y,.x*+zo)Z2=2·1(y•..x:*+zi)z.=2·1u1.x:*+z•.1)(4)原码两位乘」丁~z”原码乘符号位和数值位部分分开运算两位乘每次用乘数的Z位判断原部分积是否加和如何加被乘数乘数J’”’1J’”新的部分积。。加u。”-201加1倍的被乘数-21011?4100先减1倍的被乘数3.二L二且主再加4倍的被乘数311最多加法次数n号+1(11为偶数〉<2>定点补码一位乘法有的机器为方便加减法运算,数据以补码形式存放.乘法直接用补码进行,减少转换次数.具体规则如下:[X•Y]lf=[Xh(-YO+0.YlY2…Yn)以小数为例设被乘数[x)补=x0.x内…x.致[}如=Yo·Yi.Y2…Y.①被乘数任意,乘数为正同原码乘但加和移位按补码规则运算积的符号自然形成②被乘数任意,乘数为负乘数[y)补’去掉符号位,操作同①最后加[-x]补’校正<3>布斯法③Booth算法(被乘数、乘敖符号任意〉设[xh~=均工卢2…x,,[Fl补=Yo.Yi.Yi···Y.[x·y]补二,d-[x]补=+[-x]补l=[.xfa(O.y1…Y.)-[x补·Yo=fxfoCY12"1+y2Z-2+··ry.z-")-[x]补y。[2·1=20-z-l]④Booth算法递推公工1[lo]排=O[zd协=2-1{CY.+1-Y.)~·τ]补+[zo]补})1....1,。[z.J协=2飞CYrJIJ[x]t~+[z川]补}=件]补(-ya+Y12~'.)'22气…切2η[z-2=2I_z-2]=[xh~f-yo+CY1-Y12叮+(y22"1-Y2Z-2)+…+(y.2-<"·1>-y.2可]=[xh~f(y「:)lo)+()lrY1)2·1+…+()'.-:儿,1)2伽i>+(O寸,i.)2’”)][x-y]俨[z.h~+(y「:Ya)[xh~最后一步不移位如何实现)I;Yi+IYi+I-Yi操。。。一1=[x]t~[()11-Yo)+kFr)l1)2匀…+tv....讥如叮闹加L二1Y川-)I;?011+[x]孙-110-1+[气τ]杯,--1.v.i-1+…+几r·σ)Booth算法的硬件配置「τ=-i乘法 小结 学校三防设施建设情况幼儿园教研工作小结高血压知识讲座小结防范电信网络诈骗宣传幼儿园师德小结 n+ltt+2位细法音量徨刽门数乘法与小数乘法完全相同可用逗号代替小数点〉原码乘符号位单独处理补码乘符号位自然形成11。xn+IE翌丑囚》原码乘去掉符号位运算即为无符号数乘法A、X、Q均JI+2位移位和加受末两位乘数控制〉不同的乘法运算需有不同的硬件支持“布斯公式”:在乘数Yn后添加Yn+l=O.按照Yn+l,Yn相邻两位的三利1情况,其运算规则如下:(1)Yn刊,Yn=O(Yn+lYn=00或l1),部分积加0,右移l位;(2)Yn+l,Yn=l(Yn+lYn=10),部分积加[X]忡,右移1位;(3)Yn刊,Yn=-1(Yn+lYn=Ol),部分积加[-X]补,右移l位(2)两位乘法<l>原码两位乘法,因此实际操作用Yi寸,Yi,C三位来控制,运算规则如下Yi-1Yic操作。。。+O,右移2位0•C。。1+X,右移2位O•C。。+X,右移2位。一C。1+ZX,右移2位。一C1。。+ZX,右移2位0•C1。-x,右移2位l•C11。-X,右移2位l一C11+O,右移2位l一C最后一步不移位.一1<2>补码两位乘法恨据前述的布斯算法,将两步合并成一步,即可推导出补码两位乘的公式.Yn-i-1Yn-iYn-i+l[Pi+2]补。。。+O,右移2位。。1+[X]忡,右移2位。。+[X]抖’右移2位。11+2[X]n,右移2位1。。。-2[X]忡,右移2位l。-[X]忡’右移2位-[X]忡’右移2位+O,右移2位求部分积的次数和右移操作的控制问题.当乘数由l位符号位和以n(奇数)位数据位组成时,求部分积的次数为(l+n)/2,而且最后一次的右移操作只右移一位.若数值位本身为倘数n,可采用下述两种方法之一:①可在乘数的最后一位补一个0,乘数的数据位就成为奇数,而且其值不变,求部分积的次数为1+(n+1)/2,!l.Pn/2+1,最后一次右移操作也只右移一位②乘数增加一位符号位,使总位数仍为偶数,此时求部分积的次数为n/2+1,而且最后一次不再执行右移操作.乘法运算可用加和移位实现11=4,加4次,移4次由乘数的末位决定被乘数是否与原部分积相加,然后一1位形成新的部分积,同时乘数-1位(末位移丢〉,空出高位存放部分积的低位.被乘数只与部分积的高位相加硬件3个寄存器,具有移位功能1个全加器(3)补码除法笔算除法和机器除法的比较笔算除法商符单独处理心算上商余数不动低位补“。”1在右移一位的除数2倍字长加法器上商位置不固定(1)定点原码一位除法1〉恢复余数法机器除法符号位异或形成lxl-IYI>O上上商商1lxl-IYI<OO余数左移一位低位补"。”减除数1倍字长加法器在寄存器最末位上商被除数(余数)减去除数,如果为0或者为正值时,上商为l,不恢复余数;如果结果为负,上商为0,再将除数加到余数中,恢复余数.余数左移l位.2>加减交替法当余数为正时,陶上l,求下一位荫的办法,余数左移一位,再减去除数.当余数为负时,朗上0,求下一位商的办法,余数左移一位,再加上除数.<2>定点补码一位除法(加减交替法)1)如果被除数与除数同号,用被除数减去除数:若两数异号,被除数加上除数.如果所得余数与除数同号商j上l,否则,尚上0,该商为结果的符号位.2)求商的数值部分.如果上次商上l,将除数左移一位后减去除数.如果上次商上0,将余数左移一位后加除数.然后判断本次操作后的余数,如果余数与除数同号商上l,如果余数与除数异号商上。如此重复执行n-1次(设数值部分n位).3)商的最后一位一般采用恒El的办法,并省略了最低刊的操作.此时最大的误差为z-n.(1)恢复余数法例6.24x•-0.1011y--0.川1求[安l解:[啪(x1Ell.1]•1E!l1-。@被除数〈余敛〉|商说0.0000明+1.0011+[-y*]外1.1110。余数为负,上商。+0.1101恢复余敖+(>叫铃。。-1+1.0011+-严0.1001l逻锅左移1i.001001余数为正,上商101-1+1.00110.010101ll逻领左移~0.1010]011+l.0011l.1101。11001100110+1.00110.0111I01101-y:=0.1101上商5次二I予l!:i=0.1101第一次上商判溢出余数为正上商1移4次余数为负上商0,恢复余数(3)原码加减交替除法硬件配置。徨制门~囚囚曰、A、Q均n+l位用Qn控制加减交除数不能为04.补码除法(1)商值的确定①比校被除数和除数绝对值的大小工与y同号x•0.1011y-0.0011(xJn•0.1011(xJn•0.1011x*>y*例外刊QJJOll+[-J']n-1.1101IR伽与协同号[R;Jn:@lOOOx--0.0011~'"h~·1.1101[x],,’l.1101x*<y*y--0.1011[J'h~-(Dl101+[寸’Jn•0.1011IRJ,,与[Jfo异号(R;Jn-{Q)000“不够诚”3.原码除法以小数为例[x]画=x。.x内…x.(YJi:i=Yo·Yt.Y2···y.i安l!:i=问EBy,).声式中x"•O.X1X2…x.为x的绝对值y"-O.yi.n…y.为y的绝对值商的符号位单独处理λ:oEBYo数值部分为绝对值相除其约定小数定点除注x"<y*整数定点除法x*>J卢被除数不等子。除数不能为0(均不恢复余数法(加减交替法)·恢复余数法运算规则余数R;>O上商“1"•2R;-y*余数R;<O上商u。”,R;+y*恢复余部2(R;+y*)-y*=2R1+y*·不恢复余数法运算规则上商气”2R1-y*上商“O"2R;+y*加减交替x与y异号x•0.1011~l"]lf•0.1011[x]外-01011y’-0.0011l.rln-[).101+[y]俨l.1101[R;)n~包JOOOx•-0.0011仁x]n•l.1101[xj孙-1.1101y-0.1011Crin-[)on+胁,-0.1011[R,j孙‘巴:).000小结x*>y*IRJ,,与例,+异号“M减”x*<y*IRJ,,与[>j孙同号“不够诚’[x)协和[y)i~求(R;}n[R1J”与(J')n同号[xhf-[yl孙同号,“修源”异号~\'.]孙+Crin异号,“够派”②商值的确定末位恒置气”法×.XXXXl!xln与[)']u问号。.x三X兰1按原码上商“移诚’上气’正商贩码’不够减’上•o•(2)商符的形成除法过程中自然形成~'<]U与[)fo~号1.X~~兰3负商反码小结(xhf与b’h’au商上上VU阴晴U原r,两次umf•怨“肌叫乞比陶厅”除.号号数一同异小孙hu份忖俨号同创仲M|lll和kau---上上浓浓移精商上码反忡扭同号商[R;],,与时,,商值够诫〈问号〉1原码上商正不够诫〈异号〉。够减〈异号〉。反网上商负不惨诫〈同号〉I商值商上LF』-WM民部!V反叮和+议川rιr校尸肌明LI比做何.除-号号放一异同小’hU+孙x号异商-mE[和收异号简化为②商值的确定[xJu与例“同号正商[x]孙与的科异号负商小结件l孙与Mn同号负商(2)商符的形成除法过程中自然形成×.XX××10.×xXXlt1i原码上商“够诚’上“1·原码‘不够以”上“o•1.~羊三』核反码上商可派”上飞’反码“不移减”上‘1’I.XI”和[y]lf同号一-一[x]孙-Mn-一一比校[R1],,和[J'hf同号(够)“1”原网上商异号{不均小钱除法第一次“不惨’上’。”正商商[Rd,,与b’}钟商值够诫〈同号〉1原码上商正不够减〈开号〉。够减〈异号〉。反码上商负|不够诫{同号〉1商值仗队和[y]lf并号一一-~τl言,+fy]孙一一-比钱[R1]协和CYln异号{钧、”反码上商同号(不栩小故除法第一次“不够”上’1’异号负商(3)新余数的形成力日减交替(R1],,和[J'hf同号异号(5)补码除和原码除(加减交替法〉比较厂一商符x.e』’。自然形成作数绝对值补码补码上商原则余数的正负比校余数和除致的符号上商次数n+1n+I加法次敛II+1,,移位逻辑左移逻缉左移移位~数n,,第一步操作i沪hf-[y•j协同号!xlrlYlif简化为[R;Jn与例,,问号商-10'1li余数2(Rihf+(-y]外2[Ri)n+[yJn'.f(4)小结〉补码除法共上商11+1汰〈末位值置。第一次为商符〉第一次商可;l'.IJ溢出〉加,g~移,E汰~用移位的lX数判断除法是否结〉稍l吏误差最大为γ5)溢出概念和判别方法当远算结果超出机器数所能表示的范围时,称为溢出.显然,两个异号数相加或两个同号数相喊,其结果是不会溢:H的.仅当两个同号数相加或者两个异号数相减时,才有可能发溢山的情况,一旦溢出,运算结果就不正确了,因此必须将溢;IJ的情况检查Ill来-步lj别方法有三种:1)当符号相同的两数相加时,如果结果的符号与加数(或被加数)不相同,则为溢山2)当任意符号两数相加时,如果C=Cf,运算结果正确,其中C为数值最高位的进位,Cf为符号位的进位.如果C:;t:Cf,贝lj为溢巾,所以溢山条件=CEBCf.3)采用双符号fs2fs1·正数的双符号位为00,负数的双符号位为11.符号位参与运算,当结果的两个符号位币和乙不相同时,为溢出.所以溢出条件=fs2EBfs1,或者溢出条件=fs2fsl+fs2fsl溢出判断(1)一位符号位判溢出参加操作的两个数(减法时即为被减敢和“求补n以后的减敖〉符号相同,其结果的符号与原操作致的符号不同,RP;为溢出件实现最高有效位的进位@符号位的进位=1溢出如;:::;}有溢出::::;}无溢出3.算术移位的硬件实现c9Fl[9Fl四Flc9Fl自『田间@EJl@『。)两位符号位判溢出件h←.=-fx1>吨。"L+xO>x三-1(mod4)[x]补·+lYln·=[x+yJ补.(mod4)[x-y]补·=[x)补,+[-y]补.(mod4)结果的双符号位相同禾溢出00,xxxxx11,xxxxx结果的双符号位不同溢出10,xxxxx01,xxxxx最高符号位代表其真正的符号4.算术移位和逻辑移位的区别算术移位有符号数的移位逻辑移位符号致的移位逻辑左移低位添0,高位移丢r1=三丑lo逻辑右移高位添0,低位移丢。严三:Ji例如0101001110110010逻街左移10100110算术左移00100110商位1移丢卧才010100111’i’i、J··aElωω闷-o一’A1A马千-tA一币1’且,、-’-nunu-唱』-’A唱A-nu-01-o一-’A-移移-o一右右户H」辑逻阳〕(三)浮点数的表示和运算1.浮点数的表示1)浮点数的表示范围;浮点数是指小数点位置可浮动的数据,通常以下式表示:N=M×RE其中,N为浮点敛,M(Mantissa)为尾数(可正可负),E(Exponent)为阶码(可正可负),R(Radix)称为“阶的基数(底)”,而且R为一常数,一般为2,8或16.在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来.因此,浮点数的机内表示一般采用以下形式:浮点数的机内表示一般采用以下形式:IMsIEIMi位n+l位m位Ms是尾数的符号位,设置在最高位上.E为阶码(移码),有n+l位,一般为整数,其中有一位符号位,设置在E的最高位上,用来表正阶或负阶.M为尾数(原码),有m位,由Ms和M组成一个定点小数.Ms=O,表示正号,Ms=l,表示负为了保证数据精度属数通常用规格化形式表示当R=2,且尾数值不为0时,其绝对值大子或等于(0.5)10.对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求/sS1S1S2…···Sn符阶阶码的数符尾敬的数值部分数值部分小数点位浮点数的表示范围以通式N=M×RE设浮点数阶码的数值位取m位,尾数的数值位驭n位之则负散区!下l溢|正舰队••o••-P'"-均1-2-")-2伊-1h-~2-(r-lh_A2<2”-1>xo-2·勺浮点戴在搬轴上的囊示范围2)IEEE754标准(InstituteofElectricalandElectronicsEni;rineers美国响气和电子工程协会)sI阶码(含阶符)尼数数目符小数』点位置模据’IEEE754国际标准,俑’用的浮点数有三种格式.目符号位SI阶码|尾数|总位数短实数IlIsI23I32长实数|lIl1Is2I64临时实数|iIisI64Iso单精度格式32位,阶码为8位,尾数为23位.另有一位符号位S,处在最高位.由于IEEE754标准约定在小数点左部有一位隐含位,从而实际有做位数为24位.这样使得尾数的有效值变为LM例如,最小为x1.0…o,,最大为xl.l…L规格化表示.故小数点左边的位横为l,可省去.阶码部分采用移码表示,移码值127,1到254经移码为-126到+127.s(1位)E(8位)M(23位)N(共32位)符号位。。。符号位。不等于0(-l)S•2-126•(0.M)为非规格化数符号位l到254之间(-1)S·2E-127·(1.M)为规格化数符号位255不等于ONaN(非数值)符号位255。无穷大。有了精确的表示,无穷大也明确表示.对于绝对值较小的数,可以采用非规格化数表示,减少下溢精度损失非规格化数的隐含位是0,不是l.2.浮点数的加/减运算加减法执行下述五步完成运算:1)“对阶”操作比较两浮点数阶码的大小,求出其差AE,保留其大值E,E=『nax(Ex,Ey).当AE:;t:O时,将阶码小的尾数右移AE位,并将其阶码加上AE,使两数的阶码值相等.2)尾数加减运算3)规格化操作执行对阶之后,两尾数进行加减操作.规格化的目的是使得尾数部分的绝对值尽可能以最大值的形式出现.4)舍入在执行右规或者对阶时,尾数的低位会被移掉,使数值的精度受到影响,常用“。”合“l”入法.当移掉的部分最高位为1时,在尾数的末尾加l,如果加l后又使得尾数溢出,则要再进行一次右规.5)检查阶码是否溢出阶码溢出表示浮点数溢出.在规格化和舍入时都可能发生溢出,若阶码正常,加/减运算正常结束.若阶码下溢,则设置机器运算结果为机器与章,若上溢,则设置溢Hl标志.定点数和浮点数可从如下几个方面进行比较①当浮点机和定点机中的位数相同时,浮点数的表示范围比定点数大得多②当浮点数位规格化数时,其相对绝对远比定点数高③浮点数运算要分阶码部分和尾数部分,而且运算结果都要求规格化,故浮点运算步骤比定点运算的步骤多,运算速度比定点运算的低,运算线路比定点运算的复杂④在溢出的判断方法上,浮点数是对规格化的阶码进行判断,而定点数是对数值本身进行判断总之,浮点数在数的表示范固,数的精度,溢出处理和程序编程方面(不取比例因子)均优于定点数.但在运算规则即硬件成本方面又不如定点数例如x=0.1101×2°1y=(-0.1010)×211求x勺’解:[.耳l忡=00,01i00.1101[J’比=00,11;11.01101.对阶2.尾数求和①求阶差阳ih~-VJ怜-V,I孙-oo,01+ll,01[Szlw=00.0011对阶后的(S,)w+[S,)忡=11.0110阶差为负(-2).二s,,-2J,+111.1001.·.伊+yJi~=00,11;11.1001②对阶[xJw=00,11;00.001I(3)左规4.合入尼数左移一位,阶码减1,直到数符和第一数位不同为止在对阶和右视过程中,可能出现尾数来位丢失上例L廿y]协=00,11;11.1001左规后归:i·h~=00,10;11.0010二x+y=(-0.1110)x2"(4)右规w尾数溢出(>I)时,部右规引起误差,韬考虑合入(l}0舍1入法(l)恒登气’法即应数出现0I.×X···X或10.xx…x时路数右移一位,阶码加1例x=0.1101×210y=0.1011×201x+y<除阶符、数符外,阶码取3位,解:[x]n-00,01O;00.110100②尾(J']n-00,001;00.101100①对阶取6位〉和[S.J”-00.11010001-1汁’A’·-AVSLHYnu’A-nv.nυAV-A-nu噜A’AO-u-md一’川!JStn肌孤”·.nu协e。’A-向υ’”10.,“+0川拍俨M肌-U01.001010对阶后叫s,.Jn·尾敛溢出稽右规+(S,,Jw-oo.OlOJlO@右规[x勺’如=UO,01υ;0l.UUlUlO右奴后~\:+y]补=00,OU;00.100101·.x+y=0.100101×2u一、浮点加减运算x=S,,·沪y=乓.'1!13.规格化特例(1)规格化致的定义s=-...!....=-0.100…or=2专三间<I(2)规格化数的判断[SJ1:1=1.100…。>O规格化形式S<O规格化形式[呵,卢ooo…o其值0.1××···X其值-o.:xx···x.·.[-午]协不是规格化的数原码o.@××…x原码咀X比..x•补码圄××···X补码也们…x反码。.1×X···X反码l.OXX…x原码不论正数、负敛,第一数位为1[呵协=k.创00…oS=-11.对阶(1)求阶-r-oi.-11己对齐Irx向y着齐s,•,Irl...J.>01.>}斗’以=;,,-j,=寸•F飞y向x看齐./s,-1,11+1Irx向y看齐Js,-』,J,+1\.<0j,<J,iy向二看齐号→,Jrl(1)对阶原则小阶向大阶看齐5.溢出判断补码符号位和第一数位不同二、浮点乘除运算.[-lh,是规格化的数设机器数为补码,尾数为规格化形式,并假设阶符取2位,阶码的数值部分取7位,数符取2位,尾数取n位,则该补码在数轴上的表示为x=S,,·'J!xy=S,.·'1111.乘法X•y=(S,,·S,.)xix+J,vS._,I4二=-二XJ:"’,ys,.阶码阶码10,XX00·X按
本文档为【《计算机组成原理》考试复习重点笔记】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥12.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
a谷雨c燕
擅长CFD模拟仿真、考研、模板
格式:pdf
大小:20MB
软件:PDF阅读器
页数:69
分类:工学
上传时间:2019-03-16
浏览量:70