您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机组成燕山大学的
计算机组成与结构燕山大学计算机系参考书《计算机组成与结构》王爱英清华大学出版社《计算机组成原理》(第四版)白中英科学出版社《计算机组成与系统结构》李亚民清华大学出版社《计算机组织与结构性能设计》WilliamStallings清华大学出版社《计算机系统体系结构》M.MorrisMano清华大学出版社第一章计算机系统概论•第一节计算机语言计算机语言与计算机执行程序之间的关系汇编语言指令的格式汇编语言程序例子第一章计算机系统概论•第二节计算机硬件计算机硬件的构成输入设备输出设备运算器控制器存储器第一章计算机系统概论1.计算机由五大部件组成3.指令和数据用二进制表示4.指令由操作码和地址码组成6.以运算器为中心2.指令和数据以同等地位存于存储器可按地址寻访5.存储程序一、冯·诺依曼计算机的特点5.存储程序第一章计算机系统概论•第二节计算机硬件(三总线结构)CPU存储器输入/输出输入/输出••••数据总线地址总线控制总线第一章计算机系统概论PC机结构框图CPUCPUclock(2x--5xsystemclock)CPUtoPCIbridgePCItoISAbridgeAGPMemorycontrollerL2CacheIDEserialparallelKeyboardaudioFDC••••SuperI/OMemorySystembusPCIbusISAbusPCIslotAGPslot第二章计算机的逻辑部件加法器的构成:Fn=XnYnCn-1+XnYnCn-1+XnYnCn-1+XnYnCn-1Cn=XnYnCn-1+XnYnCn-1+XnYnCn-1+XnYnCn-1化简以后得:Fn=Xn异或Yn异或Cn-1Cn=XnYn+(Xn+Yn)Cn-1第二章计算机的逻辑部件•超前进位的原理C1=X1Y1+(X1+Y1)C0C2=X2Y2+(X2+Y2)C1C3=X3Y3+(X3+Y3)C2C4=X4Y4+(X4+Y4)C3令:Pi=Xi+YiGi=XiYi将P20公式2.16--2.19化简得2.22--2.25式,转换成与非式得2.26--2.29式。P21图2.8第二章计算机的逻辑部件•SN74181的工作原理(P22图2.9)M=1:执行逻辑运算M=0:执行算术运算门22,门24,门26,门28为G0,P0;G1,P1;G2,P2;G3,P3的求和门,既门22=G0异或P0异或C0。门13,门14,门15,门16,门19为C0,C1,C2,C3,C4。第二章计算机的逻辑部件•16位超前进位加法器工作原理(P24图2.12)CnCnCnCn74181*4GPGPGPGPG0P0Gn+xG1P1Gn+yG2P2Gn+zG3P3CnCn74182第三章运算方法和运算器第一节数据的表示方法和转换计算机中涉及到的数据有:数值数据;特殊符号数据;中文;英文。数值型数据的表示和转换(数制)1.二进制与十进制之间得转换2.二进制与八进制、十六进制之间得转换3.二进制小数与十进制小数之间得转换第三章运算方法和运算器•第一节数据的表示方法和转换数值型数据的编码和计算(有权码BCD码、无权码余3码、格雷码)BCD码:二进制表示的十进制数。运算调整规则:运算结果大于9或有进位时+6调整(加法)。运算结果大于9或有借位时—6调整(减法)。余3码、格雷码(P63表3.3)数字串在计算机中的表示。(用ASCII码表示数字、符号)第三章运算方法和运算器•第二节带符号数在计算机中的表示方法及加减运算原码、反码、补码的表示及计算。(P66图3.1解释)溢出的判断及解决方法。(1.符号原则:正+正=正,负+负=负2.双符号位原则,运算结果只能为00或11。3.溢出=最高符号位进位与最高数值位进位的异或。)计算机实现加减运算要解决的问题:溢出、多个寄存器、结果的移位、运算结果影响标志位。定点数和浮点数的概念。(单精度浮点数、双精度浮点数、临时浮点数。浮点数的隐藏位,浮点数的规格化)移码的概念第三章运算方法和运算器•第三节二进制乘法运算定点原码一位乘(手工实现乘法与计算机实现乘法的区别?符号问题、乘数的存放及乘数最低位的判断、部分积的右移实现数位对齐、每次只能两个数据相加。P73图3.5的解释)原码一位乘:设X=0.1101,Y=0.1011,求X*Y=?第三章运算方法和运算器部分积乘数说明0000001011初始乘数最低位为1,加被乘数+001101001101部分积和乘数共同右移一位00011011011移出部分丢失,此时乘数最低位为1,+被乘数+001101010011部分积和乘数共同右移一位00100111101移出部分丢失,此时乘数最低位为0,+0+0000000010011110部分积和乘数共同右移一位0001001111移出部分丢失,此时乘数最低位为1,+被乘数0011010100011111部分积和乘数共同右移一位P0=0P1=(P0+XYn)2-1P2=(P1+XYn-1)2-1…Pi+1=(Pi+XYn-i)2-1…Pn=(Pn-1+XY1)2-1Pn为乘积。•式中的2-1表示二进制数据右移一位,相当于乘以2-1。补码一位乘•将前述补码乘法公式进行变换,可得出另一公式,是由布斯(Booth)提出的,又称为“布斯公式”。•[X·Y]补=[X]补·(-Y0+Yi·2-i)=[X]补·[-Y0+Y12-1+Y22-2+…+Yn·2-n]=[X]补·[-Y0+(Y1-Y12-1)+(Y22-1-Y22-2)+…+(Yn2-(n-1)-Yn2-n)]=[X]补[(Y1-Y0)+(Y2-Y1)2-1+…+(Yn-Yn-1)2-(n-1)+(0-Yn)2-n]=[X]补(Yi+1-Yi)2-i(3.17)•乘数的最低1位为Yn,在其后面再添加1位Yn+1,其值为0。ni1ni1第三章运算方法和运算器定点补码一位乘(Booth方法)(续)[P0]补=0[P1]补={[P0]补+(Yn+1-Yn)[X]补}2-1[P2]补={[P1]补+(Yn-Yn-1)[X]补}2-1[P3]补={[P2]补+(Yn-1-Yn-2)[X]补}2-1[Pn]补={[Pn-1]补+(Y2-Y1)[X]补}2-1[Pn+1]补={[Pn]补+(Y1-Y0)[X]补}2-1=[X*Y]补•••第三章运算方法和运算器•定点补码两位乘[Pi+1]补={[Pi]补+(Yn-i+1-Yn-i)[X]补}2-1[Pi+2]补={[Pi+1]补+(Yn-i-Yn-i-1)[X]补}2-1将1式代入2式得:[Pi+2]补={[Pi]补+(Yn-i+1+Yn-I-2Yn-i-1)[X]补}2-2根据三位的组合得表3.5,进行补码两位乘。硬件实现乘法-----阵列乘法器第三章运算方法和运算器•第四节二进制除法运算定点原码一位除法(手工实现除法与计算机实现除法的区别:够减不够减问题,是商0还是商1问题;被除数或余数的低位补进问题;商的位置问题;符号问题;商与被除数或余数的低位的存放问题。)恢复余数法:(P83例子)第三章运算方法和运算器•不恢复余数法:在恢复余数法的除法中,第I-1次求商的余数为Ri-1,第I次求商的余数为Ri,则:Ri=2Ri-1-Y当余数〈0时,商0,同时余数+Y,左移一位(乘2)再减Y得Ri+1,既Ri+1=2(Ri+Y)-Y=2Ri+Y既余数小于0时+Y,余数大于0时-Y。第三章运算方法和运算器•第五节浮点数的运算方法浮点数的加减运算(对阶、尾数相加减、规格化、舍入、溢出检查)浮点数的乘除运算(阶码的加减运算、尾数的乘除运算、规格化、舍入、溢出判断)第三章运算方法和运算器•第六节数据校验奇偶校验奇校验:当数据位1的个数为偶数时,校验位为1,当数据位1的个数为奇数时,校验位为0。偶校验:当数据位1的个数为偶数时,校验位为0,当数据位1的个数为奇数时,校验位为1。(包括交叉校验,P96图3.10)第三章运算方法和运算器第六节数据校验(海明校验P99图3.11)原理:在被校验的数据中加入几个校验位,当某一位出错时,可同时在几个校验位上体现出来,这不但可以发现错误还可以指出哪一位出错,为纠正错误提供了依据。设校验位的个数为r,则它有2r种编码,除一种编码代表无错外,其余2r-1种编码可以代表错误发生在哪一位,再去掉r种校验位可能出错,剩下的k=2r-r-1种编码可以代表数据位出错。第三章运算方法和运算器•第六节数据校验(海明校验P99图3.11)发现两位错,并能纠正一位错须满足如下关系:2r-1=k+r海明码编码规律:1)校验位放在2i-1的位置上,数据位依次从低到高排列。2)海明码的每一位Hi由多个校验位校验,被校验的每一位的位号要等于校验它的校验位的位号之和。例如:8个数据位,5个校验位的海明码:H13H12H11•••H3H2H1表3.8数据位k与校验位r的对应关系k值最小的r值1~445~11512~26627~57758~1208海明编码规律•若海明码的最高位号为m,最低位号为1,即HmHm-1…H2H1,则此海明码的编码规律通常是:•(1)校验位与数据位之和为m,每个校验位Pi在海明码中被分在位号2i-1的位置,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。•(2)海明码的每一位码Hi(包括数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。这样安排的目的,是希望校验的结果能正确反映出出错位的位号。•每个字节由8个二进制位组成,此处的k为8,按式(3.19)求出校验位的位数r应为5,故海明码的总位数为13,可表示为H13H12H11…H3H2H1•5个校验位P5~P1对应的海明码位号应分别为H13,H8,H4,H2和H1。P5只能放在H13一位上,它已经是海明码的最高位了,其他4位满足Pi的位号等于2i-1的关系。其余为数据位Di,则有如下排列关系:P5D8D7D6D5P4D4D3D2P3D1P2P1•按前面讲的,每个海明码的位号,要等于参与校验它的几个校验位的位号之和的关系,可以给出如表3.9所示的结果。表3.9出错的海明码位号和校验位位号的关系海明码位号数据位/校验位参与校验的校验位位号被校验位的海明码位号=校验位位号之和H1P111=1H2P222=2H3D11,23=1+2H4P344=4H5D21,45=1+4H6D32,46=2+4H7D41,2,47=1+2+4H8P488=8H9D51,89=1+8H10D62,810=2+8H11D71,2,811=1+2+8H12D84,812=4+8H13P51313=13第三章运算方法和运算器H=P5D8D7D6D5P4D4D3D2P3D1P2P1P5D8D7D6D5P4D4D3D2P3D1P2P1H13H12H11H10H9H8H7H6H5H4H3H2H1S51111111111111S40111110000000S30100001111000S20011001100110S10010101010101第三章运算方法和运算器•循环冗余校验(CRC):设被校验的数据信息代码M(X)是n位的二进制信息,将M(X)左移K位后被一个约定的生成多项式G(x)相除,生成多项式是K+1位的二进制数,相除后得到K位余数就是校验位。校验位拼接到原信息位的后面形成N+K位的循环冗余校验码——CRC码。CRC码能够被生成多项式整除,所以当校验信息位是否出错时,只需将CRC码用多项式相除,如果正好除尽,表明无信息出错,当不能除尽时,说明信息位出错。第三章运算方法和运算器•校验位的计算——模2运算:模2加:0+0=0,0+1=1,1+1=0,1+0=1,模2减:0-0=0,0-1=1,1-0=1,1-1=0模2除:商的原则是当部分余数的首位是1时,商1,反之商0,然后按模2减求的余数,这个余数不记最高位。例:M(X)=1101,生成多项式G(x)=X3+X0=1001,求CRC=?解:因生成多项式是4位=K+1,所以K=3,将M(x)左移3位,成为1101000
本文标题:计算机组成燕山大学的
链接地址:https://www.777doc.com/doc-1218875 .html