计算机组成与结构.ppt

上传人:本田雅阁 文档编号:2634983 上传时间:2019-04-25 格式:PPT 页数:139 大小:631.51KB
返回 下载 相关 举报
计算机组成与结构.ppt_第1页
第1页 / 共139页
计算机组成与结构.ppt_第2页
第2页 / 共139页
计算机组成与结构.ppt_第3页
第3页 / 共139页
亲,该文档总共139页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《计算机组成与结构.ppt》由会员分享,可在线阅读,更多相关《计算机组成与结构.ppt(139页珍藏版)》请在三一文库上搜索。

1、计算机组成与结构,燕山大学计算机系,参考书,计算机组成与结构 王爱英 清华大学出版社 计算机组成原理 白中英 科学出版社 计算机组成与系统结构 李亚民 清华大学出版社 计算机组织与结构性能设计(第四版) William Stallings 清华大学出版社 计算机系统体系结构 第三版 Morris Mano 清华大学出版社,第一章 计算机系统概论,第一节 计算机语言 计算机语言与计算机执行程序之间的关系 汇编语言指令的格式 汇编语言程序例子,第一章 计算机系统概论,第二节 计算机硬件 计算机硬件的构成,第一章 计算机系统概论,1. 计算机由五大部件组成,3. 指令和数据用二进制表示,4. 指令由

2、操作码和地址码组成,6. 以运算器为中心,5. 存储程序,一、冯诺依曼计算机的特点,5. 存储程序,第一章 计算机系统概论,第二节 计算机硬件(三总线结构),CPU,存储器,输入/输出,输入/输出,数据总线,地址总线,控制总线,第一章 计算机系统概论,PC机结构框图,CPU,CPU clock(2x-5x system clock),CPU to PCI bridge,PCI to ISA bridge,AGP,Memory controller,L2 Cache,IDE,serial,parallel,Key board,audio,FDC,Super I/O,Memory,System b

3、us,PCI bus,ISA bus,PCI slot,AGP slot,第二章 计算机的逻辑部件,加法器的构成: 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)C0 C2=X2Y2+(X2+Y2)C1 C3=X3Y3+(X3+Y3)C2 C4=X4Y4+(X4+Y4)C3 令:Pi=Xi+Yi Gi=XiYi 将P20公

4、式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),G P,Cn,G P,G P,G P,Cn,Cn,Cn,G0 P0 Gn+x G1 P1 Gn+y G2 P2

5、 Gn+z G3 P3 Cn,Cn,74182,74181*4,第三章 运算方法和运算器,第一节 数据的表示方法和转换 数值型数据的表示和转换(数制) 1.二进制与十进制之间得转换 2.二进制与八进制、十六进制之间得转换 3.二进制小数与十进制小数之间得转换,第三章 运算方法和运算器,第一节 数据的表示方法和转换 数值型数据的编码和计算(有权码BCD码、无权码余3码、格雷码) BCD码:二进制表示的十进制数。运算调整规则:运算结果大于9或有进位时+6调整(加法)。运算结果大于9或有借位时6调整(减法)。 余3码、格雷码(P63 表3.3) 数字串在计算机中的表示。(用ASCII码表示数字、符号

6、),第三章 运算方法和运算器,第二节 带符号数在计算机中的表示方法及加减运算 原码、反码、补码的表示及计算。(P66图3.1解释) 溢出的判断及解决方法。(1.符号原则:正+正=正 ,负+负=负 2.双符号位原则,运算结果只能为00或11。 3.溢出=最高符号位与最高数值位的异或。) 计算机实现加减运算要解决的问题:溢出、多个寄存器、结果的移位、运算结果影响标志位。 定点数和浮点数的概念。(单精度浮点数、双精度浮点数、临时浮点数。浮点数的隐藏位,浮点数的规格化),第三章 运算方法和运算器,第三节 二进制乘法运算 定点原码一位乘(手工实现乘法与计算机实现乘法的区别?符号问题、乘数的存放及乘数最低

7、位的判断、部分积的右移实现数位对齐、每次只能两个数据相加。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 部分积和乘数共同右移一位

8、00 0100 111 1 移出部分丢失,此时乘数最低位为1,+被乘数 00 1101 01 0001 111 1 部分积和乘数共同右移一位,3.3.1 定点数一位乘法 1. 定点原码一位乘,规则:在机器中采用A,B,C寄存器来分别存放部分积,被乘数和乘数 (1)在机器内一次加法操作只能求出两数之和,因此每求得一个相加数时,就得与上次部分积相加。 (2)人工计算时,相加数逐次向左偏移一位,由于最后的乘积位数是乘数(或被乘数)的两倍.由于在求本次部分积时,前一次部分积的最低位,不再参与运算,因此可将其右移一位。相加数可直送而不必偏移,于是用N位加法器就可实现两个N位数相乘。 (3)部分积右移时乘

9、数寄存器同时右移一位,这样可以用乘数寄存器的最低位来控制相加数(取被乘数或零),同时乘数寄存器的最高位可接收部分积右移出来的一位,因此,完成乘法运算后,A寄存器中保存乘积的高位部分,乘数寄存器C中保存乘积的低位部分。,例:设X=0.1101,Y=0.1011,求XY. 其中寄存器B=X ,Cd=4.流程图3.6 计算过程如下:,1(丢失) 1(丢失) 0(丢失) 1(丢失),XY=0.10001111,注意: 两操作数的绝对值相乘, 符号位单独处理。 寄存器A.B均设置双符号位,第1符号位始终是部分积符号,决定在右移时第1符号位补0 操作步数由乘数的尾数位数决定,用计数器Cd来计数。即作n次累

10、加和移位。 最后是加符号位,根据SxSy决定。,2.定点补码一位乘法,实现补码乘法有两种方法,现在广泛使用的是Booth算法,也称为比较法。这种方法在机器实现中要在乘数末位Yi之后再增加一个附加位Yi+1,并令其初始值为0。然后根据比较Yi、 Yi+1的值决定下一步操作,规则如下:(部分积初始为0) Yi Yi+1 操 作 0 0 原部分积右移一位 0 1 原部分积加X补后再右移一位 1 0 原部分积加-X补后再右移一位 1 1 原部分积右移一位,第三章 运算方法和运算器,定点补码一位乘(Booth 方法) X*Y补=X补*-Y0+Y12-1+Y22-2+Yn2-n =X补*-Y0+(Y1-Y

11、12-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,第三章 运算方法和运算器,定点补码一位乘(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

12、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,进行补码两位乘。,初始值与符号位:A寄存器存放部分累加和,初始为0,采用双符号位。第1符号位指示累加和的正负,以控制右移时补0或补1。B中存放被乘数的补码,双符号位。 基本操作:用C寄存器最末两位作判断位,决定下一步的操作。 移位:在右移时,第2符号位值移入位数的最高位,第1符号位值不变且移入第2符号位,而A寄存器末位移入C寄存器。 步数与最后一步操作:乘数有效位是4位,共作5步。注意,最后一步不移位因为这一

13、步是用来处理符号位的。,3.4.1 定点除法运算,1.定点原码一位除法 有恢复余数法和不恢复余数法(加减交替法),计算机中常用后者。因为它的操作步骤少,而且也不复杂。其处理思想是:先减后判,如减后发现不够减,则在下一步改作加除数操作。这样操作步骤固定易于编程。其要点如下: (1)要求被除数|X|除数|Y|,并取原码尾数的绝对值相除;符号位单独处理,商的符号为相除两数符号的半加和。 (2)被除数的位数可以是除数的两倍,其低位的数值部分开始时放在商寄存器中。运算中,放被除数和商的A、C寄存器同时移位,并将商寄存器C中最高位移到被除数寄存器A的最低位中。 (3)每步操作后,可根据余数Ri符号来判断是

14、否够减:Ri位正表明够减,上商Q为1。Ri为负表明不够减,上商Q为0。 (4)基本操作可用通式描述为:Ri=2Ri+(1-2Qi)Y (5原码除的思想是先当成正数相除,若最后一步所得余数为负,则应恢复余数,但不移位,以保持Ri为正。 举例如下:,A寄存器中开始时存放被除数的绝对值,以后将存放各次余数,取双符号位。B寄存器存放除数的绝对值,取双符号位。C寄存器同来存放商,取单符号位。 第一步操作:将被除数X视为初始余数R0,根据R0符号位正(绝对值),令商符为0,正是的商符以后再置入。第一步为-Y。 商值则根据余数R0的符号来决定,正则商上1,求下一位商的办法是余数左移一位再减去除数;当余数为负

15、则商上0,求下一位商的办法是余数左移一位再加上除数。左移位时末位补0。 操作步数与最后一步操作:如果要求得n位商(不含符号位),则需作n步“左移-加减”循环;若第n步余数为负,则需增加一步恢复余数,这增加的一步不移位。,2.定点补码一位除法(加减交替法),补码除法规则表:X补、Y补、r补分别为被除数、除数和余数,以上是在|X|Y|即不溢出的前提下; (1)第一步如果被除数与除数同号,用被除数减去除数;若两数异号,用被除数加上除数。如果所得余数与除数同号上商1,若余数与除数异号,上商0,该商即为结果的符号位。 (2)求商的数值部分 如果上次上商1,将余数左移一位后减去除数;如果上次上商0,将余数

16、左移一位后加上除数。然后判断本次操作后的余数,如果余数与除数同号上商1;若余数与除数异号上商0。如此重复执行 n-l次(设数值部分有n位)。 (3)商的最后一位一般采用恒置1的办法,井省略了最低位+1的操作,此时最大误差为士2-n.如果对商的精度要求较高则可按规则(2)再进行一次操作以求得商的第n位。当除不尽时若商为负,要在商的最低一位加 1,使商从反码值转变成补码值;若商为正最低位不需要加1。,例3.40:设X补=1.0111,Y补=0.1101,求X/Y补. -Y补=11.0011,计算过程如下:,X/Y补=1.0101,例3.40最低位恒置1,余数不正确。 A寄存器存放被除数(补码),以

17、后存放余数,取双符号位。B寄存器存放除数(补码),双符号位。C寄存器存放商,初始值为0(未考虑商符之前),单符号位。 如余数为0,则表示除尽。例3.41如采用商的最低位恒置1的方法,其误差为2-n=2-4。 补码除法规则表补充说明:1、表中i=0n-1. 2、上采用末位恒置1的方法,操作简便。如要提高精度,则要提高精度,则按上述规则多求一位,再采用以下方法对商进行处理:两数能除尽时,如除数为正,商不必加2-n, 如除数为负,商加2-n;两数除不尽时,如商为正,商不必加2-n, 如商为负,商加2-n 。,例3.42 X补=1.0111, Y补=1.0011, 则-Y补 =0.1101。求X/Y补

18、=? 被除数(余数) 商 操作说明 11。0111 + 00。1101 两数同号,+-Y补 00。0100 0 余数与除数异号,商0 左移 00。1000 + 11。0011 +Y补 11。1011 01 同号,商1 左移 11。0110 + 00。1101 +-Y补 00。0011 010 异号,商0 左移 00。0110 + 11。0011 +Y补 11。1001 0101 同号,商1 左移 11。0010 + 00。1101 +-Y补 11。1111 01011 同号,商1 X/Y补=0.1011 余数补=1。1111x2-4,3.5 浮点数的运算方法,浮点数的表示形式(以2为底): N

19、 = M 2E 其中,M为浮点数的尾数,一般为绝对值小于1的规格化二进制小数用原码或补码形式表示;E为浮点数的阶码,一般是用移码或补码表示的整数。 阶码的底除了2以外,还有用8或16表示的,这里先以2为底进行讨论。然后再简介以8或16为底的数的运算。,1. 加、减法运算,两数首先均为规格化数,在进行规格化浮点数的加减运算需经过五步完成: 对阶操作:低阶向高阶补齐,使阶码相等; 尾数运算:阶码对齐后直接对尾数运算; 结果规格化:对运算结果进行规格化处理; (使补码尾数的最高位和尾数符号相反) 如溢出则需左规,如不是规格化时应右规。 舍入操作:丢失位进行0舍1入或恒置1处理; 判断溢出:判断阶码是

20、否溢出,下溢则将运 算结果置0,上溢则中断。,具体说明如下:,对阶运算(小阶向大阶对齐) 尾数为原码时,尾数右移,符号位不动,最高位补0 尾数为补码时,尾数右移,符号也移位,最高位补符号位 例如: 求 =? 小阶对大阶 舍掉的是 如大阶对小阶 则舍掉的是,规格化:原码尾数高位为1,补码与符号相反 舍入操作:0舍1入 或 恒置1 例1:求 =? 0舍1入后为 恒置1 例2:求 =? 0舍1入后为 恒置1 判断结果的正确性(即结果的阶码是否溢出),例:假设 其中指数和小数均为二进制真值,求X+Y=? 其阶码4位(含阶符),补码表示;尾数6位,补码表示,尾数符号在最高位,尾数数值5位。,解: 尾符

21、阶码 尾数5位 X浮=0 0010 11010 Y浮=1 0011 00010 对阶 X浮=0 0011 01101 尾数求和 00.01101+11.00010=11.01111 X浮+ Y浮=1 0011 01111 规格化、舍入操作、阶码溢出判断,最后: X+Y真=,例:假设 其中指数和小数均为二进制真值,求X-Y。其阶码4位(含阶符),补码表示;尾数6位,补码表示,尾数符号在最高位,尾数数值5位,解: 尾符 阶码 尾数 X浮=0 0010 11010 Y浮=1 0011 00010 对阶 X浮=0 0011 01101 尾数求差: X尾-Y 尾补=X 尾补+-Y 尾补 =00.0110

22、1+00.11110=01.01011 规格化处理、舍入操作均不需要,阶码溢出检查:尾数符号位为01,尾数发生上溢出,做规格化处理 尾数连同符号右移一位00.101011,阶码加1至0100 舍入操作恒置1后:X浮- Y浮=0 0100 10101 X-Y真=,3.5.2 浮点数的乘、除法运算,两浮点数相乘其乘积的阶码为相乘两数阶码之和,其尾数应为相乘两数的尾数之积。 两个浮点数相除,商的阶码为被除数的阶码减去除数的阶码得到的差,尾数为被除数的尾数除以除数的尾数所得的商。 参加运算的两个数都为规格化浮点数,乘除运算都可能出现结果不满足规格化要求的问题,因此也必须进行规格化、舍入和判溢出等操作。

23、规格化时要修改阶码。,运算部件,1.定点运算部件 定点运算部件由算术逻辑运算部件ALU、若干个寄存器、移位电路、计数器、门电路等组成。ALU部件主要完成加减法算术运算及逻辑运算(其功能可参考 2 4 2节),其中还应包含有快速进位电路。 2.浮点运算部件 通常由阶码运算部件和尾数运算部件组成。其各自的结构与定点运算部件相似。但阶码部分仅执行加减法运算。其尾数部分则执行加减乘除运算,左规时有时需要左移多位。为加速移位过程,有的机器设置了可移动多位的电路。,第三章 运算方法和运算器,硬件实现乘法-阵列乘法器 (P82 图3.7),第三章 运算方法和运算器,第六节 数据校验 奇偶校验 奇校验:当数据

24、位1的个数为偶数时,校验位为1,当数据位1的个数为奇数时,校验位为0。 偶校验:当数据位1的个数为偶数时,校验位为0,当数据位1的个数为奇数时,校验位为1。 (包括交叉校验,P96图3.10),第三章 运算方法和运算器,第六节 数据校验(海明校验 P99图3.11) 原理:在被校验的数据中加入几个校验位,当某一位出错时,可同时在几个校验位上体现出来,这不但可以发现错误还可以指出哪一位出错,为纠正错误提供了依据。设校验位的个数为r,则它有2r 种编码,除一种编码代表无错外,其余2r-1种编码可以代表错误发生在哪一位,再去掉r种校验位可能出错,剩下的k=2r-r-1种编码可以代表数据位出错。,第三

25、章 运算方法和运算器,第六节 数据校验(海明校验 P99图3.11) 发现两位错,并能纠正一位错须满足如下关系:2r-1=k+r 海明码编码规律:1) 校验位放在2i-1的位置上,数据位依次从低到高排列。2) 海明码的每一位Hi由多个校验位校验,被校验的每一位的位号要等于校验它的校验位的位号之和 。例如:8个数据位,5个校验位的海明码:H13H12H11H3H2H1,海明码校验表,各校验位形成公式: P1=D0D1D3D4D6D8D10 (1) P2=D0D2D3D5D6D9D10 (2) P3=D1D2D3D7D8D9D10 (3) P4=D4D5D6D7D8D9D10 (4) 按上述方式P

26、i的取值是采用偶校验时的取值,当采用奇校验时,Pi则取反。这样Pi连同数据位一起形成了海明码的各位。,检查纠错(以四个校验位进行说明),海明码数据传送到接收方后,再将各校验 位的值与它所参与校验的数据位的异或结果进 行异或运算。 运算结果称为校验和。校验和共 有四个。 对偶校验来说,如果校验和不为零则传输 过程中间有错误。而错误的具体位置则由四个 校验和依序排列后直接指明。如果四个校验和 S4S3S2S1 依序排列后等于(1001)2=(9)10 时,就 表明海明码的第九位也就是D4发生了错误,此 时只要将D4取反,也就纠正了错误。,校验和Si的表达式: S1 =D0D1D3D4D6D8D10

27、 P1 S2 = D0D2D3D5D6D9D10 P2 S3 =D1D2D3D7D8D9D10 P3 S4 =D4D5D6D7D8D9D10 P4 当采用偶校验方式其传送数据正确时,校验和 S1 S4的值分别都为0;当采用奇校验方式其传送数据正确时,校验和 S1 S4的值分别都为1。当不为上述值时,传送就发生了错误。,解:已知D10D9D8D7D6D5D4D3D2D1D0=10110100110 由于被校验位的位号等于校验它的各校验位位号 之和以及各校验位的取值等于它参与校验的数据位取 值的异或。所以校验位的取值以及所求海明码为: P1=D0D1 D3 D4 D6 D8 D10=1 P2=D0

28、 D2 D3 D5 D6 D9 D10=1 P3=D1 D2 D3 D7 D8 D9 D10=1 P4=D4 D5 D6 D7 D8 D9 D10=0 D10D9D8D7D6D5D4P4D3D2D1P3D0P2P1=101101000111011 传送正确时校验和的值为0,如果不等于0,则是几就是 第几位出错,是7则是第7位D3出错,此时将其取反即可 纠正错误。,例题:采用4位校验位、偶校验方式, 写出10110100110的海明码。,第三章 运算方法和运算器,H=P5D8D7D6D5P4D4D3D2P3D1P2P1 P5 D8 D7 D6 D5 P4 D4 D3 D2 P3 D1 P2 P1

29、 H13 H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1 S5 1 1 1 1 1 1 1 1 1 1 1 1 1 S4 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 0 S2 0 0 1 1 0 0 1 1 0 0 1 1 0 S1 0 0 1 0 1 0 1 0 1 0 1 0 1,3.7.3 循环冗余校验方法(CRC码),循环冗余校验方式:通过某种数学公式建立信息位和校验位之间的约定关系能够校验传送信息的对错,并且能自动修正错误。广泛用于通信和磁介存储器中。 CRC编码格式是在k位信息后加r位检验码

30、。 N N-1 2 1 信息位(k位) 校验位(r位),C1 C2 . C K r 1 r 2 r i,1、CRC码的编码方法,CRC整个编码长度为 n=k+r 位,故CRC码又叫 (n,k)码。其编码方法如下: 假设被传送的k位二进制信息位用C(x)表示, 系统选定的生成多项式用G(X)表示,将C(x)左移 G(X)的最高次幂(即等于需要添加的校验位的位数r),写作 C(x) 2 r 然后将其C(x) 2 r除以生成多项式G(x),所得商用Q(x)表示,余数用R(x)表示。则: 两边同时乘以G(x)并左移 R(x) 得到:,故有: 上式中,等式左边即为所求的n位CRC码,其 中余数表达式R(

31、x)就是校验位(r位)。且等式两 边都是G(x)的倍数。 发送信息时将等式左边生成的n位CRC码送给对 方。当接收方接到n位编码后,同样除以G(x),如 果传输正确则余数为0,否则则可以根据余数的数值确定是哪位数据出错。,由于CRC编码采用的加、减法是按位加减法, 即不考虑进位与借位,运算规则为: 00=0,01=1,10=1,11=0,例:有一个(7,4)码(即CRC码为7位,信息码为4位),已确定生成多项式为: G(X)=X3+X+1= 1011 被传输的信息C(x)=1001,求C(x)的CRC码。,解:C(x)左移 r = nk = 3 位 即: 将上式模2采用除法 除以给定的 G(x

32、)=1011: 1001000/1011=1010+110/1011 得到余数表达式:R(x) =110 所求CRC码为:,(A),(B),2、CRC码的查错表,收到的CRC码除以约定的生成多项式G(x),如果余数为0则传输无误,否则传输错误,根据所得余数值就可找出错误并取反纠正。 上表详细说明了CRC码1001110在传送时某一位出 错后的判断与纠正方法 C(X) = 1001、 G (x) =1011 。,3、生成多项式G(x)的确定,G(x)是一个约定的除数,用来产生校验码。 从检错和纠错的要求出发,它并不是随意 选择的,它应满足下列要求: 任何一位发生错误都应使余数不为0 不同位发生错

33、误应使余数不同 余数继续模2 除,应使余数循环,4. CRC的译码与纠错 将收到的循环校验码用约定的生成多项式G(x)去除,如果码字无误则余数应为0,如有某一位出错,则余数不为0,不同位数出错余数不同。通过例 3.49求出其出错模式如表 3.10所示、更换不同的待测码字可以证明:余数与出错位的对应关系是不变的,只与码制和生成多项式有关、因此表 3.10给出的关系可作为(7,4)码的判别依对于其他码制或选用其他生成多项式,出错模式将发生变化。 如果循环码有一位出错,用G(x)作模2除将得到一个不为0的余数、如果对余数补1个0继续除下去我们将发现一个现象;各次余数将按表3.10顺序循环、例如第七位

34、出错,余数将为OO1,补0后再除,第二次余数为010,以后依次为100,011,.,反复循环,这是一个有价值的特点。如果我们在求出余数不为0后,一边对余数补0继续做模2除,同时让被检错的校验码字循环左移。表 3.10说明当出现余数(101)时,出错位也移到A1位置、对通过异或门将它纠正后在下一次移位时送回A1。继续移满一个循环(对74码共移七次),就得到一个纠正后的码字。这样我们就不必像海明校验那样用译码电路对每一位提供纠正条件、当位数增多时循环码校验能有效地降低硬件代价。,第四章 主存储器,第一节 主存储器在PC机中处的位置(以主存储器为中心、以CPU为中心、单总线结构),第四章 主存储器,

35、第一节 主存储器在PC机中处的位置(以主存储器为中心、以CPU为中心、单总线结构),第四章 主存储器,第一节 主存储器在PC机中处的位置(以主存储器为中心、以CPU为中心、单总线结构),第四章 主存储器,第二节 主存储器的分类(按存储介质分为:半导体存储器、磁存储器、光存储器。按存取方式分为:随机存取存储器RAM、只读存储器ROM、顺序存取存储器SAM、直接存取存储器DAM。按信息的可保护性分类分为易失性(静态和动态RAM)和非易失性(ROM)。按所处的位置分为Cache、主存、辅存) 存储器的性能指标:存储容量、存取时间(存取周期)、可靠性、性能/价格比。,第四章 主存储器,PC机的存储体系

36、结构。(Cache主存层次、主存辅存层次),第四章 主存储器,主存储器的基本操作:取指、读、写。 (P107 图4.1主存储器与CPU的联系),字选择线,位线2,位线1,T4,T3,T6,T2,T1,T5,VSS,VDD,VGG,静态存储单元工作原理,第四章 主存储器,第五节 随机存取存储器RAM构成 P108图4.3,4.4解释) 动态RAM的工作原理,读出数据线,写入选择线,读出选择线,写入数据线,C,T3,T1,T2,读出时,读出数据线预充致高电位, 然后读出选择线来高电位,使T3导通, 若C上有电荷,则T2导通,读出数据 线通过T2,T3接地,读出电压位地。 若C上无电荷,则T2不导通

37、,读出数 据线的电压无变化。写入时,在写入 数据线上加写入信号,在写入选择线 上加高电位,则T1导通,C随写入信 号而充电或放电。若T1截止,则C的 电压保持不变。,第四章 主存储器,动态存储器单管存储单元工作原理,数据线(位线),字线,CD,CS,VDD,T,第四章 主存储器,第八节 半导体存储器的组成与控制 存储器的构成(位扩展、字扩展、字位扩展) 位扩展 例如:16K*4的芯片构成16K*8的存储器。(P120图4.18)地址线:14根A0-A13,数据线8位,每块芯片4位,控制线:只画出2根,片选和读写线。 字扩展 例如:16K*8的芯片构成64K*8的存储器。(P120图4.19)地

38、址线:每块芯片需地址14根,覆盖16K的存储空间。共4组,所以还需要2根地址用于选择不同的芯片,共需16根地址。数据线8位,连到每一块芯片,控制线一根,读写控制。,第四章 主存储器,字位扩展 例如:用1K*4的芯片构成4K*8的存储器(P121图4.20)。地址线:每块芯片容量1K,所以需地址线10根,整个存储器分成4组,所以译码信号需2根,共需地址线12根。数据线:每块芯片数据位4位,每组两块芯片构成存储单元的8位。控制线:读写控制线和内存请求(其中内存请求用于译码器的控制端)。,第四章 主存储器,存储控制(P122图4.21) 存储校验 多体交叉存储器的工作原理。,第六章 中央处理部件CP

39、U,指令执行工作过程:,寄存器BX,地址寄存器AR,控制信号发生器,指令译码器ID,指令寄存器IR,程序计数器PC,运算器,程序计数器PC,寄存器AX,内存,第六章 中央处理部件CPU,第一节:计算机的硬件系统(计算机的工作过程 Intel80386的系统构成(P163图6.1),时钟 发生器,80287或 80387,总线 控制逻辑,总线 控制逻辑,准备好 逻辑,中断 控制器,存储器,输入输出 设备,80386 微处理器,DMA 控制器,中断设备,总线,RESET,CLK2,CLK,第六章 中央处理部件CPU,Intel80386的管脚连线(165图6.2) D0-D31:32位双向数据线。

40、 A0-A31:单向32位地址总线,在CPU内部,A0-A1转换为BE0#-BE3#,以确定所读范围: 读一个字:A31-A2有效,同时BE0#-BE3#有效。 读半个字:A31-A2有效,BE0#,BE1#有效,读低半 字。 A31-A2有效,BE2#,BE3#有效,读高半字。 读字节: A31-A2有效,BE0#有效,读最低字节。以此类推。,第六章 中央处理部件CPU,W/R#,D/C#,M/IO#,LOCK#:总线周期定义信号 W/R# D/C# M/IO# 读周期 0 1 1 写周期 1 1 1 读指 0 0 1 IO读 0 1 0 IO写 1 1 0,第六章 中央处理部件CPU,AD

41、S#,NA#,BS16#,READY#:总线控制信号 ADS#:地址状态信号,输出低有效。 NA#:输入低有效,当一个总线周期没有完成时,可以通知CPU开始下一个总线周期的操作。(地址和控制信号的输出) BS16#:输入低有效,表示被访问的存储器或IO是16位的数据宽度。即386即可以进行32位也可以进行16数据操作。 READY#:输入低有效,表示存储器或IO已经完成CPU要求的操作,或达到CPU要求的状态进行下面的工作。,第六章 中央处理部件CPU,HOLD,HLDA 总线仲裁信号:主设备、从设备的概念,当从设备要求使用总线进行数据传送时,必须向主设备提出请求即HOLD,主设备同意请求时,

42、发出回答信号即HLDA。 INTR,NMI 可屏蔽中断和不可屏蔽中断信号 PEREQ,BUSY#,ERROR 协处理器接口信号:PEREQ:协处理器请求信号,要求CPU传送一个数据到FPU。 BUSY#:协处理器忙信号。 ERROR:协处理器出错信号。,第六章 中央处理部件CPU,第二节 控制器的组成 控制器控制程序的执行,它具有的功能: 取指、分析指令、执行指令、控制程序的输入、数据的输入、结果的输出、对异常情况和特殊要求的处理。 控制器的组成:程序计数器PC,指令寄存器IR,指令译码器ID,脉冲源及启停电路,时序控制信号形成部件。(P169图6.3),第六章 中央处理部件CPU,1,存储器

43、,I/O设备,状态寄存器,程序计数器,时序控制 信号形成部件,指令译码器,地址码,操作码,启停线路,脉冲源,运 算 器,CLK,DB,CB,AB,数据,操作数 地址,指令 地址,地址码,+1,转移地址,指令,RESET,第六章 中央处理部件CPU,第二节 控制器的组成-指令执行过程 指令格式: 指令:ADD AX,dispbx 执行过程:分为4个机器周期:取指、计算地址、取数、相加。(P170 图6.6,6.7),第六章 中央处理部件CPU,第二节 控制器的组成 取指机器周期所用控制信号: PC AB, W/R#=0, M/IO#=1, DB IR, PC+1 计算地址机器周期所用控制信号:rs1 GR, (rs1) ALU, disp ALU, “+”, ALU AR 存储器取数机器周期所用控制信号:AR AB, W/R#=0 , M/IO#=1, DB DR 相加机器周期所用控制信号:rs GR, (rs) ALU, DR ALU, “+”, rd GR, ALU rd , 置状态标志N,Z,V,C。,第六章 中央处理部件CPU,第二节 控制器的组成 指令举例: ADD AX,BX 它由两个机器周期构成:取指、相加。 取指机器周期所用控制信号: PC AB, W/R#=0, M/IO#=1, DB IR, PC+1 相加机器周期所用控制信号: r

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1