计算机组成原理_白中英_教案_第1页
计算机组成原理_白中英_教案_第2页
计算机组成原理_白中英_教案_第3页
计算机组成原理_白中英_教案_第4页
计算机组成原理_白中英_教案_第5页
已阅读5页,还剩575页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录,第一章计算机系统概论第二章运算方法和运算器第三章存储系统第四章指令系统第五章中央处理器第六章总线系统第七章外围设备第八章输入输出系统,第一章计算机系统概论,1.1计算机的分类和应用1.2计算机的硬件1.3计算机的软件1.4计算机系统的层次结构,1.1计算机的应用和分类,1.1.1计算机的分类模拟计算机和数字计算机数字计算机又分为通用机专用机(DSP、IOP、工控机)去年最快的计算机目前最快的计算机,返回,通用计算机分类,返回,今年最快的计算机(2003),日本富士通公司超级高速电子计算机。HPC2500最大扩展能力可将16384个中央处理器连接起来进行计算,其理论演算速度为每秒钟85.1万亿次(太拉FLOPS),比目前世界上运算速度最快的超级计算机还要快1倍多。太拉FLOPS:运算单位,表示每秒运算1012浮点运算太拉1012T,返回,去年最快的计算机(2002),日本宇宙开发事业团、日本原子能研究所及海洋科学技术中心地球模拟器地球模拟器配备有5120个处理器,理论峰值运算性能可达40太拉FLOPS,是一台处理能力惊人的超级计算机。其性能可与10万20万台个人电脑相匹敌。,返回,1.1.2计算机的应用,科学计算自动控制测量和测试信息处理教育和卫生家用电器*人工智能,返回,1.2计算机的硬件,一般的计算机结构框图(存储器为中心),总线相连的计算机模块,1.运算器,算术运算和逻辑运算在计算机中参与运算的数是二进制的运算器的长度一般是8、16、32或64位,2.存储器,存储器存储数据和程序)容量(存储单元、存储单元地址、容量单位)分类内存(ROM、RAM)、外存存储器单位:,210byte1K210K1M210M1G210G1T,计算机存储体系示意图,计算机存储体系示意图,3、控制器,控制器指令和程序(计算机工作原理)指令的形式(操作和地址码、存储程序的概念、指令中程序和数据的存放、指令系统)控制器的基本任务:按照一定的顺序一条接着一条取指令、指令译码、执行指令。取指周期和执行周期指令流和数据流4、适配器与I/O设备计算机的发展(系统结构1.2doc),返回,手工模仿计算机工作(1),手工模仿计算机工作(2),加法001减法010乘法011除法100取数101存数110打印111停机000,1.3计算机的软件,分类系统软件操作系统各种服务程序语言程序数据库管理系统应用软件,返回,发展演变(以系统软件为例),手编程序汇编程序算法语言操作系统BPOSTSOSRTOSNWOS,返回,1.4计算机系统的层次结构,多级组成的计算机系统,软件与硬件逻辑等价性,任何操作可以由软件来实现也可以有硬件来实现(设计计算机系统时,应考虑各个方面的因素)实体硬件机功能的扩大固件的概念(功能上是软件,形态上是硬件),返回,第二章运算方法和运算器,信息在计算机中的表示(数字、字符、汉字)定点运算方法(加减乘除)以及定点运算器的组成浮点运算方法、浮点运算器的组成,2.1信息在计算机中的表示,2.1.1数据格式2.1.2数的机器码表示2.1.3字符的表示2.1.4汉字的表示2.1.5校验码,2.1.1数据格式,补充知识10进制和R进制之间的转换R进制到10进制:10进制到R进制:整数部分:除r取余,r为进制基数小数部分:乘r取整,2.1.1数据格式,选用数据格式(定点格式、浮点格式)考虑的因素类型范围数值精度硬件代价,1、定点格式,所有数据的小数点位置固定不变理论上位置可以任意,但实际上将数据表示成为纯小数或纯整数(目前常用)定点数可以表示带符号数和不带符号数,定点纯小数,x0 x1x2x3xn-1xn表示数的范围是0|12n(最小数、最大数、最接近0的正数、最接近0的负数),符号,量值,小数点固定于符号位之后,不需专门存放位置,纯小数的表示范围,定点纯整数,x0 x1x2x3xn-1xn表示数的范围是0|2n1?:最小数、最大数、最接近0的正数、最接近0的负数呢,符号,量值,小数点固定于最后一位之后,不需专门存放位置,说明:定点数表示数的范围受字长限制,表示数的范围有限机器中,常用定点纯整数表示实际表示的精度也有限,如果用定点整数,则如何表示小数呢?(引入浮点),2、浮点格式,浮点格式(小数点位置随阶码不同而浮动)格式:N=Re.m机器中表示,指数,基数,取固定的值,比如10,2等,尾数,阶符阶码数符尾数,IEEE754标准,IEEE754标准(规定了浮点数的表示格式,运算规则)规则规定了单精度(32)和双精度(64)的基本格式.规则中,尾数用原码,指数用移码(便于对阶和比较),IEEE754标准,按照移码的定义应为E=e+128,为什么书上?原因:规格化的32位浮点数尾数第一位应为1如数+0.111*220(规格化数)由于尾数扩大了,为了保持值不变,所以.,020+128111.,最高有效为1,这1位可以不存储,认为隐藏在小数点左边,020+12711.,3、十进制数串的表示,字符串形式BCD(压缩)编码方式有权码:(8421码、2421码、5211码)无权码:(余三码、格雷码)自定义数据表示,返回,2.1.2数的机器码表示,数的机器码表示真值和机器码原码补码,1、原码表示法,定点小数x0.x1x2xnx1x00,正x原=符号1-x0x-11,负数有正0和负0之分范围2-n-11-2-n例:x=+0.11001110x原=0.11001110-x原=1.11001110,1、原码表示法,定点整数X0X1X2Xnx2nx00,正数x原=符号2n-x0x-2n1,负数说明:有正0和负0之分范围1-2n2n1例:x=+11001110x原=011001110-x原=111001110,2、补码表示法,计算机运算受字长限制,属于有模运算.定点小数x0.x1x2.xn溢出量为2,以2为模定点整数x0 x1x2.xn溢出量为2,以2n+1为模定义定点小数x0.x1x2xnx1x00,正数x补=符号2+x0x-11,负数,2、补码表示法,例:x=-0.1011x补=10+x=10.0000-0.1011=1.0101y=-0.01111y补=10+y=10.00000-0.01111=1,10001定点整数x0 x1x2xnx2nx00,正数,0x补=符号2n+1+x0x-2n1,负数,2、补码表示法,补码性质高位表明正负正数补码,尾数与原码相同范围-2n2n-1(定点整数)变相补码为了防止溢出而设定,3、反码表示法,对尾数求反,它跟补码的区别在于末位少加一个1,所以可以推出反码的定义定点小数x0.x1x2xnx1x0x反=2+x2-n0x-1证明见书有正0和负0之分例子,3、反码表示法,x补=x反+2-n这样解决了前边的问题(求补码还要减法)定点整数的反码定义见书,4、移码表示法,4、移码表示法(用在阶码中)定点整数定义x移=2n+x2nx-2n例+1011111原码为01011111补码为01011111反码为01011111移码为11011111,4、移码表示法,例-1011111原码为11011111补码为10100001反码为10100000移码为00100001特点:移码和补码尾数相同,符号位相反例3和例4,返回,2.1.3字符和字符串的表示方法,字符表示方法ASCII:用一个字节来表示,低7位用来编码(128),最高位为校验位字符串的存放方法,返回,2.1.4汉字的存放,汉字的表示方法(一级汉字3755个,二级汉字3008个)输入码国标码一级(1655)*94二级(5687)*94图形符号(682个)(0109)*94拼音、五笔汉字内码:汉字信息的存储,交换和检索的机内代码,两个字节组成,每个字节高位都为1(区别于英文字符),2.1.4汉字的存放,汉字字模码:汉字字形点阵汉字库,返回,2.1.5校验码,校验码(只讲奇偶校验码)引入:信息传输和处理过程中受到干扰和故障,容易出错。解决方法:是在有效信息中加入一些冗余信息(校验位)奇偶校验位定义只能检查出奇数位错;不能纠正错误。例7其它还有Hamming,CRC,返回,2.2定点加法、减法运算,2.2.1补码加减法2.2.2溢出检测2.2.3基本的加法和减法器2.2.4十进制加法器,2.2.1补码加减法,补码加法公式:x+y补=x补+y补补码减法为了将减法转变为加法,需证明公式:x-y补=x补+-y补(证明)为了求得同时-y补,需要证明-y补=乛y补+2-n(意义是-y补等于y补取反,末位加1),2.2.1补码加减法,如:y=0.0111y补=0.0111-y补=1.1001,从右边到左边,除了第一个1和右边的0保持不变以外,其它按位取反,很重要哟!,2.2.1补码加减法,例1:x=-0.1011,y=0.0111x补=1.0101y补=0.0111x+y补=x补+y补=1.0101+0.0111=1.1100 x+y=-0.0100例2:x=+0.11011,y=-0.11111x补=0.11011y补=1.00001-y补=0.11111x-y补=x补+-y补=1.11010,返回,2.2.2溢出的检测,溢出的检测可能产生溢出的情况两正数加,变负数,上溢(大于机器所能表示的最大数)两负数加,变正数,下溢(小于机器所能表示的最小数),2.2.2溢出的检测,例3:0.1011,0.1001,求例4:0.1101,0.1011,求,2.2.2溢出的检测,检测方法1、双符号位法(参与加减运算的数采用变形补码表示)x2x0x补=4+x0x-2Sf1SF200正确(正数)01上溢10下溢11正确(负数)Sf1表示正确的符号,逻辑表达式为V=Sf1Sf2,可以用异或门来实现,2.2.2溢出的检测,检验举例:0.1100,0.1000,求0.1100,-0.1000,求结果出现了01或10的情况就为溢出,2.2.2溢出的检测,2、单符号位法CfC000正确(正数)01上溢10下溢11正确(负数)V=CfC0其中Cf为符号位产生的进位,C0为最高有效位产生,返回,2.2.3基本的加法和减法器,基本的加法和减法器半加器HiAiBi不考虑进位全加器考虑低位进位Ci-1和向高位的进位Ci11+111(Ci)1(Ci+1)01,一位全加器真值表,FA逻辑方程,逻辑方程见下,FA逻辑方程,因为,FA逻辑电路和框图,FA(全加器)逻辑电路图FA框图,n位行波进位加法器,n位行波加法器框图,返回,2.2.4十进制加法器,校正方法当Xi+Yi+Ci=10时,Si=S+6,例如:A=0101B=0111A+B=0101+0111=1100(结果不是BCD码)1100011010010(1为进位,构成12的BCD码,所以正确),2.2.4十进制加法器,校正因子生成方法,若相加结果大于等于16,小于19,若相加结果大于9,小于16,2.2.4十进制加法器,返回,2.定点乘除法运算,2.3.1定点原码乘法2.3.2定点补码乘法2.3.3定点除法运算2.3.4并行除法器,2.3.1定点原码乘法,乘法实现方法在现有的加法和减法器的基础上增加适当的以为线路及控制逻辑可以实现用LSI和VLSI工艺实现专用的乘法器编制子程序(单片机中),1、定点原码乘法原理,x原=xf.xn-1x1x0y原=yf.yn-1y1y0x.y原=(xfyf)+(0.xn-1x1x0).(0.yn-1y1y0)尾数乘法如下:设0.1101,0.1011.0.1101()0.1011()11011101000011010.10001111(),1、定点原码乘法原理,n位乘n位积可能为2n位.乘积的最后是所有部分积之和,有n个数相加,而FA只有两个输入端所以需要改造方法一:硬件实现方法(串行的“加法和移位”),硬件结构简单,速度太慢(时间延迟太长).方法二:不带符号位的阵列乘法器,2、不带符号位的阵列乘法器,2、不带符号位的阵列乘法器,不带符号阵列乘法器逻辑图,3、带符号位的阵列乘法器,原理:算前求补原码乘法算后求补求补电路:,3、带符号的阵列乘法器,E=0时,输入和输出相等E=1时,则从数最右端往左边扫描,直到第一个1的时候,该位和右边各位保持不变0A=A,左边各数值位按位取反1A=乛A可以用符号作为E的输入原:1.11110补:1.00010时间延迟分析:转换n+1位带符号的时间延迟为t=n*2T+5T,其中n*2T为或门延迟时间,5T为最高位与门和异或门的时延。,不变,左边数值位取反,3、带符号的阵列乘法器,返回,2.3.2直接补码并行乘法,1、补码与真值的转换补码与真值转换公式IF:N补=an-1an-2a1a0例x补=10110,则x=-1*24+1*22+1*21=-10-x=-(1-1)*24+(1-0)23+(1-1)22+(1-1)*21+(1-0)*20+1=10,2、一般化的全加器,一般化的全加器的形式常规的没有负权输入和输出0和3类的逻辑方程一致1和2类的逻辑方程一致,3、带负权的运算规则,带负权的运算规则:(0)(0)(0)(0)(1)(1)(1)(0)(1)(1)(1)(1)(0)1(1)00(1)(1)1(0)10(0)0结果处理:从带负权位开始的几位,取反加1,4、并行补码乘法器,5*5带符号补码的乘法演示(括号表示负数)(1)0110-负13*(0)1101-正10(1)0110(0)0000(1)0110(1)0110+0(0)(0)(0)(0)0(1)(1)111110(1)101111110(转化以后结果),该位是符号位,后边共8位,4、并行补码乘法器,即运算的结果补码为101111110验算:(-1)*28+26+25+24+23+22+21=-130(正确)练习:x补=01111,y补=11101,采用上述方法求x和y的积,直接补码阵列乘法器原理图,返回,2.3.3定点除法运算,0.1101商q0.10110.10010(r0)被除数0.0101121除数右移1位,减除数0.001110r1得余数r10.00101122除数右移1位,减除数0.0000110r2得余数r20.000101123除数右移1位,不减除数0.00001100r3得余数r30.0000101124除数右移1位,减除数0.00000001r4得余数r4,商0还是商1人可以比较后确定,计算机如何确定?余数末位补0后,减去除数右移后的值,导致加法器尾数逐渐增多,最后要求加法器的位数必须位被除数的两倍,定点原码一位除法实现方案(手工),2、不恢复余数的除法,加减交替法(不恢复余数法)当i-1次求商的余数为正时,下一次求商的办法是Ri=2Ri-Y若RiE;若EE。当EE时,要通过尾数的移动以改变E或E,使之相等。,原则:设E0,表示EE,则移动y的尾数,M右移E位,问题:为什么要小阶向大阶看齐?阶差=Ex-Ey=00010-00100=11110即阶差为-2,Mx右移两位,Ex加2x=00100,0.00110110(11),2.5.1浮点加法、减法运算,3、尾数相加00.00110110(11)+11.01010100=11.10001010(11)4、结果规格化1、在浮点加减运算时,尾数求和的结果也可以得到01.或10.,即两符号位不等,此时将运算结果右移以实现规格化表示,称为向右规格化。规则:尾数右移1位,阶码加12、结果是00.0.01.或11.1.10.时,则向左规格化规则:尾数左移1位,阶码减1,直到规格化右规,阶码加1,左规,阶码减1刚才例子左规为11.00010101(10),阶码减1为00011练习:01.110110.000111.1001,2.5.1浮点加法、减法运算,舍入处理(对阶和向右规格化时)0舍1入恒置1法刚才例子若采用0舍1入法为11.00010110溢出判断和处理阶码上溢,一般将其认为是和。阶码下溢,则数值为0尾数上溢,两个同符号位的数相加。处理方法是尾数右移,阶码加1。尾数下溢。尾数右移时,最低位从最右端流出。进行要进行舍入处理。,2.5.1浮点加法、减法运算,课堂练习:x=0.1101*201y=-0.1010*211尾数和阶符都采用补码表示,都采用双符号位表示法。求x+y,2.5.1浮点加法、减法运算,x浮=0001,00.1101y浮=0011,11.0110阶差=1110即为-2Mx应当右移2位,x浮=0011,00.0011(01)尾数和为11.1001(01)左规11.0010(10),阶码减1为0010舍入(0舍1入)11.0011x+y=-0.1101*210,返回,2.5.2浮点乘法和除法运算,设有两个浮点数和:2EM2EM2(EE)(MM)2(EE)(MM)乘除运算分为四步0操作数检查阶码加减操作尾数乘除操作结果规格化和舍入处理,2.5.2浮点乘法和除法运算,浮点数的阶码运算(移码的运算规则),原因是什么呢?,2.5.2浮点乘法和除法运算,移码采用双符号位,为了对溢出进行判断01为正00为负10上溢11下溢例26的验证x补=00011y移=01110-y移=00010x+y移=x补+y移=00011+01110=10001(上溢)x-y移=x补+-y移=00011+00010=00101和书上的结果完全一致。,2.5.2浮点乘法和除法运算,尾数处理截断舍入尾数用原码表示时只要尾数最低为1或者移出位中有1数值位,使最低位置10舍1入尾数用补码表示时(例27)丢失的位全为0,不必舍入。丢失的最高位为0,以后各位不全为0时;或者最高为1,以后各位全为0时,不必舍入。丢失的最高位为1,以后各位不全为0时,则在尾数的最低位入1的修正操作。,2.5.2浮点乘法和除法运算,练习:x=0.1001101*23y=-0.1110010*2-5求x*y,2.5.2浮点乘法和除法运算,实现的逻辑框图,返回,2.5.3浮点运算流水线,浮点运算流水线提高并行性的渠道空间并行性(多操作部件处理机和超标量处理机)时间并行性(流水线技术),流水技术原理在流水线中必须是连续的任务,只有不断的提供任务才能充分发挥流水线的效率把一个任务分解为几个有联系的子任务。每个子任务由一个专门的功能部件实现在流水线中的每个功能部件之后都要有一个缓冲寄存器,或称为锁存器流水线中各段的时间应该尽量相等,否则将会引起“堵塞”和“断流”的现象流水线需要有装入时间和排空时间,只有当流水线完全充满时,才能充分发挥效率,1、流水线原理,设过程段Si所需的时间为i,缓冲寄存器的延时为l,线性流水线的时钟周期定义为maxilml流水线处理的频率为f1/。,1、流水线原理,一个具有k级过程段的流水线处理n个任务需要的时钟周期数为Tkk(n1),所需要的时间为:TTk而同时,顺序完成的时间为:Tnkk级线性流水线的加速比:CkTLnkTkk(n1),2、流水线浮点运算器,Aa2P,Bb2q在4级流水线加法器中实现上述浮点加法时,分为以下操作:(1)求阶差(2)对阶(3)相加(4)规格化,3、浮点运算器实例,浮点运算器实例CPU之外的浮点运算器(数学协处理器)如80287完成浮点运算功能,不能单用。可以和80386或80286异步并行工作。高性能的80位字长的内部结构。有8个80位字长以堆栈方式管理的寄存器组。浮点数格式完全符合IEEE标准。CPU之内的浮点运算器(486DX以上),返回,第三章存储系统,3.1存储器概述3.2随机读写存储器3.3只读存储器和闪速存储器3.4高速存储器3.5Cache存储器3.6虚拟存储器3.7存储保护,第三章存储系统,存储器使计算机具有记忆功能存储器是在争取扩大容量,加快速度,缩小体积,降低成本的过程中发展的。存储单元存储器的体系结构,本章内容,RAM(SRAM,DRAM)ROM(EPROM,闪速存储器)高速存储器(双端口存储器,多模块交叉存储器,相联存储器)Cache(原理、地址映射关系、替换和写操作策略)虚拟存储器(基本概念、页、段和段页式虚拟存储器地址变换,替换算法)存储器保护,3.1存储器概述,3.1.1分类3.1.2分级3.1.3性能指标,返回,3.1.1分类,存储介质:磁表面/半导体存储器存取方式:随机/顺序存取(磁带)读写功能:ROM,RAMRAM:双极型/MOSROM:MROM/PROM/EPROM/EEPROM信息的可保存性:永久性和非永久性的作用:主/辅/缓/控,3.1.1分类,返回,3.1.2存储器分级结构,存储器的的分级结构目前的计算机系统,为什么要采用多种类型的存储器?为什么存储结构要采用分级体系结构?,原因:目前存储器的特点是:速度快的存储器价格贵,容量小;而价格低的存储器速度慢,容量大。所以,在计算机存储器体系结构设计时,应当在存储器容量,速度和价格方面的因素作折中考虑,建立了分层次的存储器体系结构,3.1.2存储器分级结构,3.1.2存储器分级结构,3.1.2存储器分级结构,主-辅存存储层次:整体上看,速度接近于的速度,价格接近于的价格,容量接近于的容量。当然,它要通过软硬件的结合来实现。比如磁盘Cache和虚拟存储技术。Cache-主存存储层次:整体上看,速度接近于的速度,价格接近于的价格,容量接近于的容量。它要通过辅助硬件来实现。,返回,3.1.3存储器技术指标,空间:存储容量时间:存取时间、存取周期、存储器带宽,返回,3.2随机读写存储器,3.2.1SRAM存储器3.2.2DRAM存储器3.2.3高性能的主存储器,返回,3.2.1SRAM存储器,1、基本存储单元,原理T1、T2为工作管T3、T4为负载管T5T8为控制管或开门管存储信息的方法:两个稳定的状态T1截止,T2导通,A点高电位,B点低电位T2截止,T1导通,B点高电位,A点低电位,1、基本存储单元,写操作通过X和Y地址译码线输入高电平,打开T5T8,写1,只需要在I/O线上输入高电位,使A为高,B为低,输入信号和地址选择信号消失以后,T5T8截止,存储单元保持一个稳定的状态1。在写操作的过程中,只有X和Y选择线同时为1时,才能进行写操作。,读操作X和Y地址译码线输入高电平,打开T5T8,2、SRAM的组成,2、SRAM的组成,存储体(4096*16)通常把各个字的同一个字的同一位集成在一个芯片(4096*1)中,4096位排成64*64的矩阵。16个片子就可以构成(4096*16)。地址译码器单译码方式和双译码的方式(减少选择线的数目)。A0A5为X地址译码线A6A11为Y地址译码线,2、SRAM的组成,单译码方式和双译码的方式,2、SRAM的组成,驱动器I/O电路:在被选择和数据总线之间,控制被选择单元读出和写入,具有信息放大的作用。片选和读写控制电路输出驱动电路,3、SRAM的实例,Intel2114介绍,3、SRAM的实例,读与写的互锁逻辑,4、存储器和CPU的连接,存储器和CPU的连接(地址、数据、控制)目前生产的存储芯片的容量有限,另外,在字长和位长与实际的存储器都有一定的差距。位扩展法没有选片要求字扩展法地址线:片内地址线;用作片选地址空间分配表字位同时扩展法,位扩展法,字扩展法,字位同时扩展法,4、存储器和CPU的连接,设有一个具有24位地址和8位字长的存储器,问:该存储器能够存储多少字节的信息?如果存储器由4M*1位的RAM组成,需要多少片?需要多少位地址线作芯片选择?,4、存储器和CPU的连接,总共224单元,能存放16MB的信息共需要16/4*8=32(片)片内地址线22位,可用2位作片选,4、存储器和CPU的连接,5、存储器的读写周期,读周期读出时间Ta读周期Trc,5、存储器的读写周期,写周期Twc,返回,3.2.2DRAM存储器,1、四管动态存储单元T1、T2为工作管T5T8为控制管或开门管,2、单管动态存储元,3、DRAM实例,Intel2116,16K*1位,4、DRAM的刷新,通常在刷新过程中只改变行选择线的地址,每次再生一行。刷新周期:从上一次对整个存储器刷新结束到下一次刷新结束时,这段时间间隔为刷新周期。比如2116的刷新周期为2ms。,4、DRAM的刷新,刷新方式集中式:刷新时间集中,刷新操作一气呵成。时间利用充分;3872/4000用与存储器读写。但每2ms都有一个集中的128/4000*2ms的等待时间。在该等待时间内,不能对DRAM进行存取。,4、DRAM的刷新,分散式:存储器的系统工作周期分为两个部分:前半部分用于读写或保持,后半部分,用于再生一行。存储器的刷新周期缩短了。由2ms变成了128us不存在停止读写的死时间整个系统的速度降低了。耗费增大了(50%),4、DRAM的刷新,异步式刷新:前边两种方法的结合。在2ms中把128行分散的刷新一遍,4、DRAM的刷新,刷新方法:只用RAS(RowAddressSelect)消耗的电流小,但需要刷新地址计数器CAS(ColumnAddressSelect)在RAS之前的刷新不需要外加的刷新地址计数器例2,5、存储器控制电路,由刷新计数器、仲裁电路、刷新定时器定时发生器地址多路开关组成。,SRAM/DRAM的区别前者以6管作为基本存储电路,后者以4管或单管作为基本存储电路前者集成度低于后者,但高于双极型半导体存储器。前者不需要刷新,后者需要。前者的功耗高于后者,但低于双极型半导体存储器。后者价格便宜。,返回,3.2.3高性能的主存储器,SDRAM(SynchronousDynamic)RAMRDRAM(RambusDRAM)FPM(FastPageMode)RAMEDROM(ExtendedDynamicRandomAccessMemory)扩展DRAMEDO(ExtendedDataOut)RAMDDR(DoubleDataRate),3.2.3高性能的主存储器,EDRAM集成了一个小容量的高速的SRAM,可以暂时保存最近访问的一行。地址分行地址和列地址分时的传送支持猝发式存取读SRAM的同时可以对DRAM进行刷新输出路径和输入路径分开EDRAM内存条,内存模块的封装,SIMM(singlein-linememorymodule)DIMM(dualin-linememorymodule)SODIMM(smalloutlinedualin-linememorymodule),SIMM,DIMM,SODIMM,返回,3.3只读存储器和闪速存储器,3.3.1只读存储器3.3.2闪速存储器,返回,3.3.1只读存储器,1、分类MROMPROMEPROM(E2PROM),2、光可擦除可编程只读存储器(EPROM),3、EPROM实例,Vpp25、Vcc5V、CS1、PD/PGM由低到高脉冲,VppVcc5V、CS0、PD/PGM0,数据读出,VppVcc5V、CS1、PD/PGM无关,数据线高阻,PD/PGM1,VppVcc5V、CS无关,数据线高阻,编程(写数据)读(正常工作)未选中功率下降模式,4、存储器综合例子,例3(P93),空间分布,译码,补充例题(不讲),设CPU共有16根地址线,8根数据线,并用作为控制信号,用作为读写控制信号,现有下列芯片1K*4RAM,4K*8RAM,2K*8ROM以及74LS138(译码器)等多种门电路,画出CPU与存储器的连接图。要求:(1)主存地址空间分配:A000HA777H为系统程序区,A800HAFFFH为用户程序区合理选用上述芯片,说明用多少片详细画出芯片的片选逻辑,3.3.2闪速存储器,Intel公司1988年推出的,是在EPROM和EEPROM的基础上发展起来的,集中了两者的优点,既具有传统的热电子隧道效应的变成机制,又具有EEPROM的F-N隧道效应的擦除特点。存储单元比EEPROM小10倍,塑料封装现广泛运用于掌上电脑,数码相机、MP3随身听等各种数码产品中Flash比SRAM成本低,比SRAM集成度高,且信息具有不易失性,3.3.2闪速存储器,闪速存储器是目前唯一的具有大容量、非易失性、低价格、可在线改写、和较高速度几个特性共存的存储器。称为FLASH,是因为擦除速度快,擦除整个存储矩阵所花时间,与EEPROM擦除一个地址的时间相同可以取代DRAM吗?擦写次数106而DRAM可读写次数为1015次速度:45ns而DRAM在10ns以内,3.3.2闪速存储器,闪速存储器的逻辑结构工作原理工作模式与CPU的连接,3.4高速存储器,现代计算机都以存储器为中心例:一台速度为1GIPS的计算机,假设:CPU取指令:1GW/S(每条指令长度为一个字)CPU取操作数和存运算结果2GW/S(平均每条指令访问两个操作数)各种输入和输出设备访问存储器10MW/S,3.4高速存储器,三项相加,要求存储器的确带宽为3010MW/S,若存储总线宽度为W,要求存储器的确访问周期0.332ns而现在的内存的访问时间几个ns,远远不能达到上述要求目前,主存的速度还跟不上CPU的速度,所以,主存的存取周期仍然是计算机系统的瓶颈之一。,3.4高速存储器,解决途径多个存储器并行工作并行访问和交叉访问设置各种缓冲器通用寄存器采用存储系统Cache(第5节)虚拟存储系统(第6节),3.4高速存储器,3.4.1双端口存储器3.4.2多模块交叉存储器3.4.3相联存储器,返回,3.4.1双端口存储器,3.4.1双端口存储器,逻辑结构两个独立的端口,都有各自的地址线、数据线和控制线无冲突的读写控制由来实现有冲突的读写控制(两个端口同时存取同一单元时)用判别逻辑来实现,返回,3.4.2多模块交叉存储器,假设有n个存储体,每个存储体的容量为m个存储单元顺序方式:,1、顺序方式,例如:M0M3共四个模块,则每个模块8个字,顺序方式:M0:07M1:815M2:1623M3:24315位地址组织如下:XXXXX高位选模块,低位选块内地址,特点:某个模块进行存取时,其他模块不工作,优点:某一模块出现故障时,其他模块可以照常工作,通过增添模块来扩充存储器容量比较方便。缺点:各模块串行工作,存储器的带宽受到了限制。,2、交叉方式,(可以实现多模块流水式并行存取),2、交叉方式,交叉方式:M0:0,4,.除以4余数为0M1:1,5,.除以4余数为1M2:2,6,.除以4余数为2M3:3,7,.除以4余数为35位地址组织如下:XXXXX高位选块内地址,低位选模块,特点:连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。优点:对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。,3.多模块交叉存储器的基本结构,3.多模块交叉存储器的基本结构,通常在一个存储器周期内,n个存储体必须分时启动,则各个存储体的启动间隔为(n为交叉存取度)整个存储器的存取速度有望提高n倍例4(见书),返回,3.4.3相联存储器,原理:按内容存取的存储器,可以选择记录(关键字)的一个字段作为地址组成:主要用于虚拟存储器中存放段表、页表和快表,也可以作Cache的行地址,3.4.3相联存储器,3.4.3相联存储器,返回,3.5Cache存储器,功能:解决CPU和主存之间的速度不匹配问题一般采用高速的SRAM构成。CPU和主存之间的速度差别很大采用两级或多级Cache系统早期的一级Cache在CPU内,二级在主板上现在的CPU内带L1Cahe和L2Cahe全由硬件调度,对用户透明,3.5Cache存储器,3.5Cache存储器,3.5Cache存储器,3.5.1cache基本原理3.5.2主存与cache的地址映射3.5.3替换策略3.5.4cache的写操作策略3.5.5奔腾PC机的cache,返回,3.5.1cache基本原理,Cache仅仅用在CPU中吗?工作原理Cache的设计依据:CPU这次访问过的数据,下次有很大的可能也是访问附近的数据。CPU与Cache之间的数据传送是以字为单位主存与Cache之间的数据传送是以块为单位CPU读主存时,便把地址同时送给Cache和主存,Cache控制逻辑依据地址判断此字是否在Cache中,若在,否则,。,3.5.1cache基本原理,Cache时必须做到以下两点:保证访问Cache有较高的命中率;访问Cache与访问下级存储器的方式不变、容量不减。要做到上述两点,则必须考虑以下问题:如何把主存地址空间映射到Cache地址空间,使得主存的每个部分都能够在需要时调入Cache。采用何种替换策略、使得cache的命中率最高;采用什么方法使得Cache和下级存储器的数据具有致性。,3.5.1cache基本原理,命中率公式,命中率Cache/主存系统的平均访问时间访问效率Cache与内存的速度比,返回,3.5.2主存与Cache的地址映射,无论选择那种映射方式,都要把主存和cache划分为同样大小的“块”。选择哪种映射方式,要考虑:硬件是否容易实现地址变换的速度是否快主存空间的利用率是否高主存装入一块时,发生冲突的概率,1、全相联的映射方式,映射方法(多对多)主存内容可以拷贝到任意行地址变换标记实际上构成了一个目录表。优点:冲突概率小,Cache的利用高。缺点:比较器难实现需要一个访问速度很快代价高的相联存储器,我要取青霉素3#,链霉素,柴胡,四环素,青霉素,药房,大家都比比看,我中了!,如果药房找不到呢?那还是到药库去取,顺便多拿点来放在药房里并替换掉那些老掉牙的烂药吧!,1、全相联的映射方式,2、直接映射方式,映射方法(一对多)如:i=jmodm主存第j块内容拷贝到Cache的i行一般I和m都是2N级优点:硬件实现简单,Cache地址为主存地址的低几位,不需变换。缺点:冲突概率高(抖动),如:cache容量16字,主存容量256字,则地址2,18,34.242等都存放在cache的地址2内,如果第一次2在cache中,下次访问34内容,则不管cache其他位置的内容访问情况,都会引起2块内容的替换,2、直接映射方式,3、组相联映射方式,前两者的组合Cache分组,组间采用直接映射方式,组内采用全相联的映射方式Cache分组U,组内容量V映射方法(一对多)q=jmodu主存第j块内容拷贝到Cache的q组中的某行地址变换设主存地址x,看是不是在cache中,先y=xmodu,则在y组中一次查找,3、组相联映射方式,分析:比全相联容易实现,冲突低v=1,则为直接相联映射方式u=1,则为全相联映射方式v的取值一般比较小,一般是2的幂,称之为v路组相联cache.,返回,3.5.3替换策略,LFU(最不经常使用),不能反映近期cache的访问情况被访问的行计数器增加1,换值小的行LRU(近期最少使用),被访问的行计数器置0,其他的计数器增加1,换值大的行,符合cache的工作原理随机替换先进现出(FIFO)不科学,但是实现简单,因为最早装入的有可能频繁使用。,3.5.3替换策略,例子:设cache有1、2、3、4共4个块,a、b、c、d等为主存中的块,访问顺序一次如下:a、b、c、d、b、b、c、c、d、d、a,下次若要再访问e块。问,采用LFU和LRU算法替换结果是不是相同?,返回,3.5.4写操作策略,目的:保持cache与CPU数据一致性写回法:换出时,对行的修改位进行判断,决定是写回还是舍掉。全写法:写一次法,返回,3.5.5PentiumPC的Cache,2级cache结构L2内容是主存的子集L1内容是L2的子集L1分成8K的指令cache和8K的数据cache指令cache是单端口256位,只读数据cache是双端口(每个32位),读写,采用2路组相联结构128组*2行/组*32字节/行=8KB字节,3.5.5PentiumPC的Cache,存储器读写总线周期256为淬发式传送64位传送数据一致性的保持L1采用写一次法L2采用写回法,返回,3.6虚拟存储器,3.6.1虚拟存储器的基本概念3.6.2页式虚拟存储器3.6.3段式虚拟存储器3.6.4段页式虚拟存储器3.6.5替换算法3.6.6虚拟存储器实例,返回,3.6.1虚拟存储器的基本概念,1961年由曼彻斯特大学Kilbrn等提出。由主存和联机工作的外存共同组成。模型:外存的容量和价格,主存的速度它以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间,此时的地址为虚拟地址

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论