计算机组成与结构课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机组成与结构课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 结构 课件
- 资源描述:
-
1、计算机组成与结构 参考书计算机组成与结构 王爱英 清华大学出版社计算机组成原理(第四版)白中英 科学出版社计算机组成与系统结构 李亚民 清华大学出版社计算机组织与结构性能设计William Stallings 清华大学出版社计算机系统体系结构 Morris Mano 清华大学出版社第一章第一章 计算机系统概论计算机系统概论 第一节第一节 计算机语言计算机语言计算机语言与计算机执行程序之间的关系汇编语言指令的格式汇编语言程序例子第一章 计算机系统概论 第二节 计算机硬件 计算机硬件的构成输入设备输出设备运算器控制器存储器第一章 计算机系统概论1.计算机由五大部件组成计算机由五大部件组成3.指令和
2、数据用二进制表示指令和数据用二进制表示4.指令由操作码和地址码组成指令由操作码和地址码组成6.以运算器为中心以运算器为中心2.指令和数据以同等地位存于存储器指令和数据以同等地位存于存储器 可按地址寻访可按地址寻访5.存储程序存储程序一、冯冯诺依曼计算机的特点诺依曼计算机的特点5.存储程序存储程序第一章 计算机系统概论 第二节 计算机硬件(三总线结构)CPU存储器输入/输出输入/输出数据总线地址总线控制总线第一章 计算机系统概论PC机结构框图CPUCPU clock(2x-5x system clock)CPU to PCI bridgePCI to ISA bridgeAGPMemory co
3、ntrollerL2 CacheIDEserialparallelKey boardaudioFDCSuper I/OMemorySystem busPCI busISA busPCI slotAGP slot第一章 计算机系统概论 计算机应用:燕大计算机系主要研究方向:数据库及数据挖掘(分布式数据库,空间数据库,网格技术等);机器人、计算机仿真、可视分析与可视化(河北省系统集成及计算机虚拟仿真重点实验室);电子商务及环保、生物分析方向;并行计算;计算机网络方向(网络安全,网络数据库,入侵检测,移动网络等);。图图2.6 全加器的功能表及逻辑图全加器的功能表及逻辑图第二章 计算机的逻辑部件第二
4、章 计算机的逻辑部件加法器的构成:Fn=XnYnCn-1+XnYnCn-1+XnYnCn-1+XnYnCn-1 Cn=XnYnCn-1+XnYnCn-1+XnYnCn-1+XnYnCn-1化简以后得:Fn=Xn异或Yn异或Cn-1 Cn=XnYn+(Xn+Yn)Cn-1第二章 计算机的逻辑部件 超前进位的原理C1=X1Y1+(X1+Y1)C0C2=X2Y2+(X2+Y2)C1C3=X3Y3+(X3+Y3)C2C4=X4Y4+(X4+Y4)C3令:Pi=Xi+Yi Gi=XiYi 将P20公式2.16-2.19化简得2.22-2.25式,转换成与非式得2.26-2.29式。P21图2.8第二章
5、计算机的逻辑部件 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*4G PG PG PG P G0 P0 Gn+x G1 P1 Gn+y G2 P2 Gn+z G3 P3 CnCn74182图2.13 二输入四输出译码器图图2.15 双四通道选一数据选择器双四通道选一数据
6、选择器图图2.21 四四D寄存器寄存器第三章 运算方法和运算器 第一节 数据的表示方法和转换计算机中涉及到的数据有:数值数据;特殊符号数据;中文;英文。数值型数据的表示和转换(数制)1.二进制与十进制之间得转换2.二进制与八进制、十六进制之间得转换3.二进制小数与十进制小数之间得转换第三章 运算方法和运算器 第一节 数据的表示方法和转换数值型数据的编码和计算(有权码BCD码、无权码余3码、格雷码)BCD码:二进制表示的十进制数。运算调整规则:运算结果大于9或有进位时+6调整(加法)。运算结果大于9或有借位时6调整(减法)。余3码、格雷码(P63 表3.3)数字串在计算机中的表示。(用ASCII
7、码表示数字、符号)第三章 运算方法和运算器 第二节 带符号数在计算机中的表示方法及加减运算原码、反码、补码的表示及计算。(图3.1解释)溢出的判断及解决方法。(1.符号原则:正+正=正,负+负=负 2.双符号位原则,运算结果只能为00或11。3.溢出=最高符号位进位与最高数值位进位的异或。)计算机实现加减运算要解决的问题:溢出、多个寄存器、结果的移位、运算结果影响标志位。定点数和浮点数的概念。(单精度浮点数、双精度浮点数、临时浮点数。浮点数的隐藏位,浮点数的规格化)移码的概念第三章 运算方法和运算器 第三节 二进制乘法运算定点原码一位乘(手工实现乘法与计算机实现乘法的区别?符号问题、乘数的存放
8、及乘数最低位的判断、部分积的右移实现数位对齐、每次只能两个数据相加。P73 图3.5的解释)原码一位乘:设X=0.1101,Y=0.1011,求X*Y=?第三章 运算方法和运算器 部分积 乘数 说明 00 0000 1011 初始 乘数最低位为1,加被乘数 +00 1101 00 1101 部分积和乘数共同右移一位 00 0110 1 101 1 移出部分丢失,此时乘数最低位为1,+被乘数 +00 1101 01 0011 部分积和乘数共同右移一位 00 1001 11 10 1 移出部分丢失,此时乘数最低位为0,+0 +00 0000 00 1001 11 10 部分积和乘数共同右移一位 0
9、0 0100 111 1 移出部分丢失,此时乘数最低位为1,+被乘数 00 1101 01 0001 111 1 部分积和乘数共同右移一位 P0=0P1=(P0+XYn)2-1P2=(P1+XYn-1)2-1Pi+1=(Pi+XYn-i)2-1Pn=(Pn-1+XY1)2-1 Pn为乘积。式中的2-1表示二进制数据右移一位,相当于乘以2-1。图3.6 乘法运算的控制流程 补码一位乘 将前述补码乘法公式进行变换,可得出另一公式,是由布斯(Booth)提出的,又称为“布斯公式”。XY补=X补(-Y0+Yi2-i)=X补-Y0+Y12-1+Y22-2+Yn2-n=X补-Y0+(Y1-Y12-1)+(
10、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。ni 1ni 1第三章 运算方法和运算器定点补码一位乘(Booth 方法)(续)P0补=0P1补=P0补+(Yn+1-Yn)X补2-1P2补=P1补+(Yn-Yn-1)X补2-1P3补=P2补+(Yn-1-Yn-2)X补2-1Pn补=Pn-1补+(Y2-Y1)X补2-1Pn+1补=Pn补+(Y1-Y0)X补=X*Y补第三章 运算方法和运算
11、器 定点补码两位乘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-2 Yn-i-1)X补2-2根据三位的组合得表3.5,进行补码两位乘。表3.5 组合值Yn-i-1、Yn-i、Yn-i+1与Pi+2补的关系 Yn-i-1Yn-iYn-i+1组合值组合值Pi+2补补0000Pi补补+02-20011Pi补补+X补补2-20101Pi补补+X补补2-20112Pi补补+2X补补2-2100-2Pi补补+2-X补补2-2101-1Pi补补+-X补补2-2110-1Pi
12、补补+-X补补2-21110Pi补补+02-2硬件实现乘法-阵列乘法器 第三章 运算方法和运算器 第四节 二进制除法运算定点原码一位除法(手工实现除法与计算机实现除法的区别:够减不够减问题,是商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,
13、余数大于0时-Y。第三章 运算方法和运算器 第五节 浮点数的运算方法 浮点数的加减运算(对阶、尾数相加减、规格化、舍入、溢出检查)浮点数的乘除运算(阶码的加减运算、尾数的乘除运算、规格化、舍入、溢出判断)规格化规则 规格化操作的规则是:如果结果的两个符号位的值不同,表示加/减运算尾数结果溢出,此时将尾数结果右移1位,阶码E+1,称为“向右规格化”,简称“右规”。如果结果的两个符号位的值相同,表示加/减运算尾数结果不溢出。但若最高数值位与符号位相同,此时尾数连续左移,直到最高数值位与符号位的值不同为止;同时从E中减去移位的位数,这称之为“向左规格化”,简称“左规”。浮点运算举例 例例3.45 两
14、浮点数相加,求两浮点数相加,求X+Y。已知:已知:X=2010*0.11011011,Y=2100*(-0.10101100)解解:计算过程:计算过程:对阶操作对阶操作 阶差阶差E=EX补补+-EY补补=00010+11100=11110 X阶码小,阶码小,MX右移右移2位,保留阶码位,保留阶码E=00100。MX补补=00 00 110 110 11 下划线上的数是右移出去而保留的附加位。下划线上的数是右移出去而保留的附加位。尾数相加尾数相加 MX补补+MY补补=000011011011+1101010100=1110001010 11浮点运算举例 规格化操作规格化操作 左规,移左规,移1位
15、,结果位,结果=1100010101 10;阶码阶码-1,E=00011。舍入舍入 附加位最高位为附加位最高位为1,在所得结果的最低位,在所得结果的最低位+1,得新结果:得新结果:M补补=1100010110,M=-0.11101010。判溢出判溢出 阶码符号位为阶码符号位为00,故不溢出,最终结果为:,故不溢出,最终结果为:X+Y=2011(-0.11101010)第三章 运算方法和运算器 第六节 数据校验奇偶校验奇校验:当数据位1的个数为偶数时,校验位为1,当数据位1的个数为奇数时,校验位为0。偶校验:当数据位1的个数为偶数时,校验位为0,当数据位1的个数为奇数时,校验位为1。(包括交叉校
16、验,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的位置上,数据
17、位依次从低到高排列。2)海明码的每一位Hi由多个校验位校验,被校验的每一位的位号要等于校验它的校验位的位号之和。例如:8个数据位,5个校验位的海明码:H13H12H11H3H2H1表3.8 数据位k与校验位r的对应关系 k 值最 小 的 r 值14451151226627577581208海明编码规律 若海明码的最高位号为m,最低位号为1,即HmHm-1H2H1,则此海明码的编码规律通常是:(1)校验位与数据位之和为m,每个校验位Pi在海明码中被分在位号2i-1的位置,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。(2)海明码的每一位码Hi(包括数据位和校验位本身)由多个校验位
18、校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。这样安排的目的,是希望校验的结果能正确反映出出错位的位号。每个字节由8个二进制位组成,此处的k为8,按式(3.19)求出校验位的位数r应为5,故海明码的总位数为13,可表示为H13H12H11H3H2H1 5个校验位P5P1对应的海明码位号应分别为H13,H8,H4,H2和H1。P5只能放在H13一位上,它已经是海明码的最高位了,其他4位满足Pi的位号等于2i-1的关系。其余为数据位Di,则有如下排列关系:P5D8D7D6D5P4D4D3D2P3D1P2P1 按前面讲的,每个海明码的位号,要等于参与校验它的几个校验位的位号之和的
19、关系,可以给出如表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=P5D8D7D6D5P4D4D3D2P3D1P2P1 P5 D8 D7 D6 D5 P4 D4 D3 D
20、2 P3 D1 P2 P1 H13 H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1S5 1 1 1 1 1 1 1 1 1 1 1 1 1S4 0 1 1 1 1 1 0 0 0 0 0 0 0 S3 0 1 0 0 0 0 1 1 1 1 0 0 0S2 0 0 1 1 0 0 1 1 0 0 1 1 0S1 0 0 1 0 1 0 1 0 1 0 1 0 1 第三章 运算方法和运算器 循环冗余校验(CRC):设被校验的数据信息代码M(X)是n位的二进制信息,将M(X)左移K位后被一个约定的生成多项式G(x)相除,生成多项式是K+1位的二进制数,相除后得到K位余
21、数就是校验位。校验位拼接到原信息位的后面形成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=
22、3,将M(x)左移3位,成为1101000,除以生成多项式1001,得校验位100。第三章 运算方法和运算器CRC校验:1100 1001 1101000 1001 1000 1001 0010 0000 0100 0000 100 校验位 CRC码=1101 100CRC的译码与纠错 将收到的循环校验码用约定的生成多项式G(x)去除,如果码字无误则余数应为0,如有某一位出错,则余数不为0,不同位数出错余数不同。更换不同的待测码字可以证明:余数与出错位的对应关系是不变的,只与码制和生成多项式有关。因此表3.10给出的关系可作为(7,4)码的判别依据。对于其他码制或选用其他生成多项式,出错模式将
23、发生变化。表3.10(7,4)循环码的出错模式(生成多项式G(x)=1011)A1A2A3A4A5A6A7余数出错位正 确11000100 0 0无错 误11000110 0 1711000000 1 0611001101 0 0511010100 1 1411100101 1 0310000101 1 1201000101 0 11关于生成多项式 并不是任何一个(r+1)位多项式都可以作为生成多项式的。从检错及纠错的要求出发,生成多项式应能满足下列要求:(1)任何一位发生错误都应使余数不为0。(2)不同位发生错误应当使余数不同。(3)对余数继续作模2除,应使余数循环。将这些要求反映为数学关系
24、是比较复杂的,对一个(n,k)码来说,可将(xn-1)分解为若干质因子(注意是模2运算),根据编码所要求的码距选取其中的因式或若干因式的乘积作为生成多项式。表3.11 生成多项式 nk码距dG(x)多项式G(x)二进制码743G1(x)=(x3+x+1)或(x3+x2+1)1011110134G2(x)=(x3+x+1)(x+1)或(x3+x2+1)(x+1)111011011115 117 35(x4+x+1)(x4+x+1)(x4+x3+x2+x+1)1001111101000131 2621 35(x5+x2+1)(x5+x2+1)(x5+x4+x3+x2+1)1001011110110
25、100163 5751 35(x4+x+1)(x4+x+1)(x6+x4+x+1)1000011101000011010110411024(x16+x15+x2+1)11000000000000101习题 3.27 设某运算器只由一个加法器和A,B两个D型边沿寄存器组成,A,B均可接收加法器输出,A还可接收外部数据,如图。问:(1)外部数据如何才能传送到B?(2)如何实现A+BA和A+BB?(3)如何估算加法执行时间?(4)若A,B均为锁存器,实现A+BA和A+BB有何问题?习题 3.28 今有一串行加法器,计算两个n位数据之和,已知相加两数存放在A,B寄存器中,请画出能实现(A)+(B)A的
展开阅读全文