欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    白中英组成原理第四版课件chp3.ppt

    • 资源ID:3499224       资源大小:3.83MB        全文页数:102页
    • 资源格式: PPT        下载积分:10
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要10
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    白中英组成原理第四版课件chp3.ppt

    1,第三章 内部存储器,3.1存储器概述 3.2SRAM存储器 3.3DRAM存储器 3.4只读存储器和闪速存储器 3.5并行存储器 3.6Cache存储器,返回,2,3.1存储器概述,一、分类 按存储介质分类:磁表面/半导体存储器 按存取方式分类:随机/顺序存取(磁带) 按读写功能分类:ROM,RAM RAM:双极型/MOS ROM:MROM/PROM/EPROM/EEPROM 按信息的可保存性分类:永久性和非永久性的 按存储器系统中的作用分类:主/辅/缓/控,3,3.1存储器概述,二、存储器分级结构 1、目前存储器的特点是: 速度快的存储器价格贵,容量小; 价格低的存储器速度慢,容量大。 在计算机存储器体系结构设计时,我们希望存储器系统的性能高、价格低,那么在存储器系统设计时,应当在存储器容量,速度和价格方面的因素作折中考虑,建立了分层次的存储器体系结构如下图所示。,4,3.1.2 存储器分级结构,2、分级结构 高速缓冲存储器简称cache,它是计算机系统中的一个高速小容量半导体存储器。 主存储器简称主存,是计算机系统的主要存储器,用来存放计算机运行期间的大量程序和数据。 外存储器简称外存,它是大容量辅助存储器。,5,3.1.2 存储器分级结构,分层存储器系统之间的连接关系,6,3.1.3主存储器的技术指标,字存储单元:存放一个机器字的存储单元,相应的单元地址叫字地址。 字节存储单元:存放一个字节的单元,相应的地址称为字节地址。 存储容量:指一个存储器中可以容纳的存储单元总数。存储容量越大,能存储的信息就越多。 存取时间又称存储器访问时间:指一次读操作命令发出到该操作完成,将数据读出到数据总线上所经历的时间。通常取写操作时间等于读操作时间,故称为存储器存取时间。 存储周期:指连续启动两次读操作所需间隔的最小时间。通常,存储周期略大于存取时间,其时间单位为ns。 存储器带宽:单位时间里存储器所存取的信息量,通常以位/秒或字节/秒做度量单位。,7,3.2 SRAM存储器,主存(内部存储器)是半导体存储器。根据信息存储的机理不同可以分为两类: 静态读写存储器(SRAM):存取速度快 动态读写存储器(DRAM):存储容量不如DRAM大。,8,3.2 SRAM存储器,一、基本的静态存储元阵列 1、存储位元 2、三组信号线 地址线 数据线 行线 列线 控制线,9,SRAM芯片的结构和工作原理 1内部存储单元 SRAM的一个存储单元可以用来保存一 位数据,即可保存一个“0”或一个“1”。电路如图4-2所示。图4-2 SRAM内部存储单元 电路中使用的T1、T2、T3、T4均是NMOS管。X是单元行地址选择线,Y是单元列地址选择线。作为存储单元电路,该电路至少应该有保持、写入和读出三种状态。,10,3.2 SRAM存储器,二、基本的SRAM逻辑结构 SRAM芯大多采用双译码方式,以便组织更大的存储容量。采用了二级译码:将地址分成x向、y向两部分如图所示。,11,3.2 SRAM存储器,存储体(256×128×8) 通常把各个字的同一个字的同一位集成在一个芯片(32K×1)中,32K位排成256×128的矩阵。8个片子就可以构成32KB。 地址译码器 采用双译码的方式(减少选择线的数目)。 A0A7为行地址译码线 A8A14为列地址译码线,12,3.2 SRAM存储器,读与写的互锁逻辑 控制信号中CS是片选信号,CS有效时(低电平),门G1、G2均被打开。OE为读出使能信号,OE有效时(低电平),门G2开启,当写命令WE=1时(高电平),门G1关闭,存储器进行读操作。写操作时,WE=0,门G1开启,门G2关闭。注意,门G1和G2是互锁的,一个开启时另一个必定关闭,这样保证了读时不写,写时不读。,13,3.2 SRAM存储器,三、存储器的读写周期 读周期 读出时间Taq 读周期时间Trc 写周期 写周期时间Twc 写时间twd 存取周期 读周期时间Trc=写时间twd,14,例1P70:图3.5(a)是SRA的写入时序图。其中R/W是读/写命令控制线,当R/W线为低电平时,存储器按给定地址把数据线上的数据写入存储器。请指出图3.5(a)写入时序中的错误,并画出正确的写入时序图。,解:点击上图,15,3.3 DRAM存储器,一、DRAM存储位元的记忆原理 SRAM存储器的存储位元是一个触发器,它具有两个稳定的状态。而DRAM存储器的存储位元是由一个MOS晶体管和电容器组成的记忆电路,如图3.6所示。,16,3.3 DRAM存储器,1、MOS管做为开关使用,而所存储的信息1或0则是由电容器上的电荷量来体现当电容器充满电荷时,代表存储了1,当电容器放电没有电荷时,代表存储了0。,2、图(a)表示写1到存储位元。此时输出缓冲器关闭、刷新缓冲器关闭,输入缓冲器打开(R/W为低),输入数据DIN=1送到存储元位线上,而行选线为高,打开MOS管,于是位线上的高电平给电容器充电,表示存储了1。,3、图(b)表示写0到存储位元。此时输出缓冲器和刷新缓冲器关闭,输入缓冲器打开,输入数据DIN=0送到存储元位线上;行选线为高,打开MOS管,于是电容上的电荷通过MOS管和位线放电,表示存储了0。,4、图(c)表示从存储位元读出1。输入缓冲器和刷新缓冲器关闭,输出缓冲器/读放打开(R/W为高)。行选线为高,打开MOS管,电容上所存储的1送到位线上,通过输出缓冲器/读出放大器发送到DOUT,即DOUT=1。,5、图(d)表示(c)读出1后存储位元重写1。由于(c)中读出1是破坏性读出,必须恢复存储位元中原存的1。此时输入缓冲器关闭,刷新缓冲器打开,输出缓冲器/读放打开,DOUT=1经刷新缓冲器送到位线上,再经MOS管写到电容上。注意,输入缓冲器与输出缓冲器总是互锁的。这是因为读操作和写操作是互斥的,不会同时发生。,17,3.3 DRAM存储器,二、DRAM芯片的逻辑结构 下面我们通过一个例子来看一下动态存储器的逻辑结构如图。 图3.7(a)示出1M×4位DRAM芯片的管脚图,其中有两个电源脚、两个地线脚,为了对称,还有一个空脚(NC)。 图3.7(b)是该芯片的逻辑结构图。与SRAM不同的是: (1)增加了行地址锁存器和列地址锁存器。由于DRAM存储器容量很大,地址线宽度相应要增加,这势必增加芯片地址线的管脚数目。为避免这种情况,采取的办法是分时传送地址码。若地址总线宽度为10位,先传送地址码A0A9,由行选通信号RAS打入到行地址锁存器;然后传送地址码A10A19,由列选通信号CRS打入到列地址锁存器。芯片内部两部分合起来,地址线宽度达20位,存储容量为1M×4位。 (2)增加了刷新计数器和相应的控制电路。DRAM读出后必须刷新,而未读写的存储元也要定期刷新,而且要按行刷新,所以刷新计数器的长度等于行地址锁存器。刷新操作与读/写操作是交替进行的,所以通过2选1多路开关来提供刷新行地址或正常读/写的行地址。,18,3.3 DRAM存储器,19,3.3 DRAM存储器,三、读/写周期 读周期、写周期的定义是从行选通信号RAS下降沿开始,到下一个RAS信号的下降沿为止的时间,也就是连续两个读周期的时间间隔。通常为控制方便,读周期和写周期时间相等。,20,3.3 DRAM存储器,21,3.3 DRAM存储器,四、 刷新周期 刷新周期:DRAM存储位元是基于电容器上的电荷量存储,这个电荷量随着时间和温度而减少,因此必须定期地刷新,以保持它们原来记忆的正确信息。 刷新操作有两种刷新方式: 集中式刷新:DRAM的所有行在每一个刷新周期中都被刷新。 例如刷新周期为8ms的内存来说,所有行的集中式刷新必须每隔8ms进行一次。为此将8ms时间分为两部分:前一段时间进行正常的读/写操作,后一段时间(8ms至正常读/写周期时间)做为集中刷新操作时间。 分散式刷新:每一行的刷新插入到正常的读/写周期之中。 例如p72图3.7所示的DRAM有1024行,如果刷新周期为8ms,则每一行必须每隔8ms÷1024=7.8us进行一次。,22,3.3 DRAM存储器,五、存储器容量的扩充 1、字长位数扩展 给定的芯片字长位数较短,不满足设计要求的存储器字长,此时需要用多片给定芯片扩展字长位数。三组信号线中,地址线和控制线公用而数据线单独分开连接。 d=设计要求的存储器容量/选择芯片存储器容量 例2 利用1M×4位的SRAM芯片,设计一个存储容量为1M×8位的SRAM存储器。 解:所需芯片数量=(1M×8)/(1M×4)=2片,23,24,3.3 DRAM存储器,2、字存储容量扩展 给定的芯片存储容量较小(字数少),不满足设计要求的总存储容量,此时需要用多片给定芯片来扩展字数。三组信号组中给定芯片的地址总线和数据总线公用,控制总线中R/W公用,使能端EN不能公用,它由地址总线的高位段译码来决定片选信号。所需芯片数仍由(d=设计要求的存储器容量/选择芯片存储器容量)决定。 例3利用1M×8位的DRAM芯片设计2M×8位的DRAM存储器 解:所需芯片数d=(2M×8)/(1M×8)=2(片),25,线选法字扩展,26,线选法字扩展,27,数字逻辑法字扩展,28,译码法 字扩展,29,数字逻辑法、译码法 字扩展,30,3.3 DRAM存储器,3、存储器模块条 存储器通常以插槽用模块条形式供应市场。这种模块条常称为内存条,它们是在一个条状形的小印制电路板上,用一定数量的存储器芯片,组成一个存储容量固定的存储模块。如图所示。 内存条有30脚、72脚、100脚、144脚、168脚等多种形式。 30脚内存条设计成8位数据线,存储容量从256KB32MB。 72脚内存条设计成32位数据总线 100脚以上内存条既用于32位数据总线又用于64位数据总线,存储容量从4MB512MB。,31,3.3 DRAM存储器,六、高级的DRAM结构 FPM DRAM:快速页模式动态存储器,它是根据程序的局部性原理来实现的。读周期和写周期中,为了寻找一个确定的存储单元地址,首先由低电平的行选通信号RAS确定行地址,然后由低电平的列选信号CAS确定列地址。下一次寻找操作,也是由RAS选定行地址,CAS选定列地址,依此类推,如下图所示。,32,3.3 DRAM存储器,CDRAM带高速缓冲存储器(cache)的动态存储器,它是在通常的DRAM芯片内又集成了一个小容量的SRAM,从而使DRAM芯片的性能得到显著改进。如图所示出1M×4位CDRAM芯片的结构框图,其中SRAM为512×4位。,33,3.3 DRAM存储器,SDRAM同步型动态存储器。计算机系统中的CPU使用的是系统时钟,SDRAM的操作要求与系统时钟相同步,在系统时钟的控制下从CPU获得地址、数据和控制信息。换句话说,它与CPU的数据交换同步于外部的系统时钟信号,并且以CPU/存储器总线的最高速度运行,而不需要插入等待状态。其原理和时序关系见下一页图和动画。,34,35,3.3 DRAM存储器,例4 CDRAM内存条组成实例。 一片CDRAM的容量为1M×4位,8片这样的芯片可组成1M×32位4MB的存储模块,其组成如下图所示。,36,3.3 DRAM存储器,七、DRAM主存读/写的正确性校验 DRAM通常用做主存储器,其读写操作的正确性与可靠性至关重要。为此除了正常的数据位宽度,还增加了附加位,用于读/写操作正确性校验。增加的附加位也要同数据位一起写入DRAM中保存。其原理如图所示。,37,3.4 只读存储器和闪速存储器,一、只读存储器 ROM叫做只读存储器。顾名思义,只读的意思是在它工作时只能读出,不能写入。然而其中存储的原始数据,必须在它工作以前写入。只读存储器由于工作可靠,保密性强,在计算机系统中得到广泛的应用。主要有两类: 掩模ROM:掩模ROM实际上是一个存储内容固定的ROM,由生产厂家提供产品。 可编程ROM:用户后写入内容,有些可以多次写入。 一次性编程的PROM 多次编程的EPROM和E2PROM。,38,3.4 只读存储器和闪速存储器,1、掩模ROM掩模ROM的阵列结构和存储元,39,3.4 只读存储器和闪速存储器,2、掩模ROM的逻辑符号和内部逻辑框图,40,3.4 只读存储器和闪速存储器,3、可编程ROM EPROM叫做光擦除可编程可读存储器。它的存储内容可以根据需要写入,当需要更新时将原存储内容抹去,再写入新的内容。 现以浮栅雪崩注入型MOS管为存储元的EPROM为例进行说明,结构如右图所示。,41,3.4 只读存储器和闪速存储器,现以浮栅雪崩注入型MOS管为存储元的EPROM为例进行说明,结构如图(a)所示,图(b)是电路符号。 若在漏极D端加上约几十伏的脉冲电压,使得沟道中的电场足够强,则会造成雪崩,产生很多高能量电子。此时,若在G2栅上加上正电压,形成方向与沟道垂直的电场,便可使沟道中的电子穿过氧化层而注入到G1栅,从而使G1栅积累负电荷。 由于G1栅周围都是绝缘的二氧化硅层,泄漏电流极小,所以一旦电子注入到G1栅后,就能长期保存。,42,3.4 只读存储器和闪速存储器,当G1栅有电子积累时,该MOS管的开启电压变得很高,即使G2栅为高电平,该管仍不能导通,相当于存储了“0”。反之,G1栅无电子积累时,MOS管的开启电压较低,当G2栅为高电平时,该管可以导通,相当于存储了“1”。图(d)示出了读出时的电路,它采用二维译码方式:x地址译码器的输出xi与G2栅极相连,以决定T2管是否选中;y地址译码器的输出yi与T1管栅极相连,控制其数据是否读出。当片选信号CS为高电平即该片选中时,方能读出数据。,43,3.4 只读存储器和闪速存储器,这种器件的上方有一个石英窗口,如图(c)所示。当用光子能量较高的紫外光照射G1浮栅时,G1中电子获得足够能量,从而穿过氧化层回到衬底中,如图(e)所示。这样可使浮栅上的电子消失,达到抹去存储信息的目的,相当于存储器又存了全“1”。,44,3.4 只读存储器和闪速存储器,这种EPROM出厂时为全“1”状态,使用者可根据需要写“0”。写“0”电路如图(f)所示,xi和yi选择线为高电位,P端加20多伏的正脉冲,脉冲宽度为0.11ms。EPROM允许多次重写。抹去时,用40W紫外灯,相距2cm,照射几分钟即可。,45,3.4 只读存储器和闪速存储器,E2PROM存储元 EEPROM,叫做电擦除可编程只读存储器。其存储元是一个具有两个栅极的NMOS管,如图(a)和(b)所示,G1是控制栅,它是一个浮栅,无引出线;G2是抹去栅,它有引出线。在G1栅和漏极D之间有一小面积的氧化层,其厚度极薄,可产生隧道效应。如图(c)所示,当G2栅加20V正脉冲P1时,通过隧道效应,电子由衬底注入到G1浮栅,相当于存储了“1”。利用此方法可将存储器抹成全“1”状态。,46,3.4 只读存储器和闪速存储器,这种存储器在出厂时,存储内容为全“1”状态。使用时,可根据要求把某些存储元写“0”。写“0”电路如图(d)所示。漏极D加20V正脉冲P2,G2栅接地,浮栅上电子通过隧道返回衬底,相当于写“0”。E2PROM允许改写上千次,改写(先抹后写)大约需20ms,数据可存储20年以上。 E2PROM读出时的电路如图(e)所示,这时G2栅加3V电压,若G1栅有电子积累,T2管不能导通,相当于存“1”;若G1栅无电子积累,T2管导通,相当于存“0”。,47,3.4 只读存储器和闪速存储器,4、闪速存储器 FLASH存储器也翻译成闪速存储器,它是高密度非失易失性的读/写存储器。高密度意味着它具有巨大比特数目的存储容量。非易失性意味着存放的数据在没有电源的情况下可以长期保存。总之,它既有RAM的优点,又有ROM的优点,称得上是存储技术划时代的进展。,48,3.4 只读存储器和闪速存储器,FLASH存储元在EPROM存储元基础上发展起来的,由此可以看出创新与继承的关系。 如右图所示为闪速存储器中的存储元,由单个MOS晶体管组成,除漏极D和源极S外,还有一个控制栅和浮空栅。,49,3.4 只读存储器和闪速存储器,“0”状态:当控制栅加上足够的正电压时,浮空栅将储存许多电子带负电,这意味着浮空栅上有很多负电荷,这种情况我们定义存储元处于0状态。 “1”状态:如果控制栅不加正电压,浮空栅则只有少许电子或不带电荷,这种情况我们定义为存储元处于1状态。 浮空栅上的电荷量决定了读取操作时,加在栅极上的控制电压能否开启MOS管,并产生从漏极D到源极S的电流。,50,3.4 只读存储器和闪速存储器,编程操作:实际上是写操作。所有存储元的原始状态均处“1”状态,这是因为擦除操作时控制栅不加正电压。编程操作的目的是为存储元的浮空栅补充电子,从而使存储元改写成“0”状态。如果某存储元仍保持“1”状态,则控制栅就不加正电压。 如图(a)表示编程操作时存储元写0、写1的情况。实际上编程时只写0,不写1,因为存储元擦除后原始状态全为1。要写0,就是要在控制栅C上加正电压。一旦存储元被编程,存储的数据可保持100年之久而无需外电源。,51,3.4 只读存储器和闪速存储器,读取操作:控制栅加上正电压。浮空栅上的负电荷量将决定是否可以开启MOS晶体管。如果存储元原存1,可认为浮空栅不带负电,控制栅上的正电压足以开启晶体管。如果存储元原存0,可认为浮空栅带负电,控制栅上的正电压不足以克服浮动栅上的负电量,晶体管不能开启导通。 当MOS晶体管开启导通时,电源VD提供从漏极D到源极S的电流。读出电路检测到有电流,表示存储元中存1,若读出电路检测到无电流,表示存储元中存0,如图(b)所示。,52,3.4 只读存储器和闪速存储器,擦除操作:所有的存储元中浮空栅上的负电荷要全部洩放出去。为此晶体管源极S加上正电压,这与编程操作正好相反,见图(c)所示。源极S上的正电压吸收浮空栅中的电子,从而使全部存储元变成1状态。,53,3.4 只读存储器和闪速存储器,FLASH存储器的阵列结构 FLASH存储器的简化阵列结构如右图所示。在某一时间只有一条行选择线被激活。读操作时,假定某个存储元原存1,那么晶体管导通,与它所在位线接通,有电流通过位线,所经过的负载上产生一个电压降。这个电压降送到比较器的一个输入端,与另一端输入的参照电压做比较,比较器输出一个标志为逻辑1的电平。如果某个存储元原先存0,那么晶体管不导通,位线上没有电流,比较器输出端则产生一个标志为逻辑0的电平。,54,3.5 并行存储器,由于CPU和主存储器之间在速度上是不匹配的,这种情况便成为限制高速计算机设计的主要问题。为了提高CPU和主存之间的数据传输率,除了主存采用更高速的技术来缩短读出时间外,还可以采用并行技术的存储器。,55,3.5 并行存储器,解决途径 多个存储器并行工作 并行访问和交叉访问 设置各种缓冲器 通用寄存器 采用分层的存储系统 Cache(第6节) 虚拟存储系统(第9章),56,3.5 并行存储器,一、双端口存储器 1、双端口存储器的逻辑结构 双端口存储器由于同一个存储器具有两组相互独立的读写控制电路而得名。由于进行并行的独立操作,因而是一种高速工作的存储器,在科研和工程中非常有用。 举例说明,双端口存储器IDT7133的逻辑框图 。如下页图。,57,3.5 并行存储器,58,3.5 并行存储器,2、无冲突读写控制 当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。当任一端口被选中驱动时,就可对整个存储器进行存取,每一个端口都有自己的片选控制(CE)和输出驱动控制(OE)。读操作时,端口的OE(低电平有效)打开输出驱动器,由存储矩阵读出的数据就出现在I/O线上。 3、有冲突读写控制 当两个端口同时存取存储器同一存储单元时,便发生读写冲突。为解决此问题,特设置了BUSY标志。在这种情况下,片上的判断逻辑可以决定对哪个端口优先进行读写操作,而对另一个被延迟的端口置BUSY标志(BUSY变为低电平),即暂时关闭此端口。,59,3.5 并行存储器,4、有冲突读写控制判断方法 (1)如果地址匹配且在CE之前有效,片上的控制逻辑在CEL和CER之间进行判断来选择端口(CE判断)。 (2)如果CE在地址匹配之前变低,片上的控制逻辑在左、右地址间进行判断来选择端口(地址有效判断)。 无论采用哪种判断方式,延迟端口的BUSY标志都将置位而关闭此端口,而当允许存取的端口完成操作时,延迟端口BUSY标志才进行复位而打开此端口。,60,3.5.1双端口存储器,61,3.5 并行存储器,二、多模块交叉存储器:一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中如何安排,有两种方式:一种是顺序方式,一种是交叉方式,62,3.5 并行存储器,假设有n个存储体,每个存储体的容量为m个存储单元 顺序方式:,63,3.5 并行存储器,1、顺序方式 例M0M3共四个模块,则每个模块8个字 顺序方式: M0:07 M1:815 M2:1623 M3:2431 5位地址组织如下: X X X X X 高位选模块,低位选块内地址 特点:某个模块进行存取时,其他模块不工作,优点是某一模块出现故障时,其他模块可以照常工作,通过增添模块来扩充存储器容量比较方便。缺点是各模块串行工作,存储器的带宽受到了限制。,64,3.5 并行存储器,2、交叉方式 (可以实现多模块流水式并行存取),65,3.5 并行存储器,例M0M3共四个模块,则每个模块8个字 交叉方式: M0:0,4,.除以4余数为0 M1:1,5,.除以4余数为1 M2:2,6,.除以4余数为2 M3:3,7,.除以4余数为3 5位地址组织如下: X X X X X 高位选块内地址,低位选模块 特点:连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。优点是对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。使用场合为成批数据读取。,66,3.5 并行存储器,3、多模块交叉存储器的基本结构 右图为四模块交叉存储器结构框图。主存被分成4个相互独立、容量相同的模块M0,M1,M2,M3,每个模块都有自己的读写控制电路、地址寄存器和数据寄存器,各自以等同的方式与CPU传送信息。在理想情况下,如果程序段或数据块都是连续地在主存中存取,那么将大大提高主存的访问速度。,67,3.5 并行存储器,通常在一个存储器周期内,n个存储体必须分时启动,则各个存储体的启动间隔为 (n为交叉存取度) 整个存储器的存取速度有望提高n倍,68,例5 设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。若连续读出4个字,问顺序存储器和交叉存储器的带宽各是多少?,解:顺序存储器和交叉存储器连续读出m=4个字的信息总量都是: q=64b×4=256b 顺序存储器和交叉存储器连续读出4个字所需的时间分别是: t2=mT=4×200ns=800ns=8×10-7s t1=T+(m-1)=200ns+150ns=350ns=3.5×10-7s 顺序存储器和交叉存储器的带宽分别是: W2=q/t2=256b÷(8×10-7)s=320Mb/s W1=q/t1=256b÷(35×10-7)s=730Mb/s,69,二模块交叉存储器举例,70,二模块交叉存储器举例,71,3.5 并行存储器,相联存储器 原理:按内容存取的存储器,可以选择记录(关键字)的一个字段作为地址 组成:见下一页图 主要用途:在虚拟存储器中存放段表、页表和快表,也可以作Cache的行地址,72,3.5 并行存储器,73,3.6 Cache存储器,1、基本原理 (1)功能:解决CPU和主存之间的速度不匹配问题 一般采用高速的SRAM构成。 CPU和主存之间的速度差别很大采用两级或多级Cache系统 早期的一级Cache在CPU内,二级在主板上 现在的CPU内带L1 Cahe和L2 Cahe 全由硬件调度,对用户透明,74,3.6 Cache存储器,75,3.6 Cache存储器,(2)cache基本原理 地址映射; 替换策略; 写一致性; 性能评价。,76,3.6 Cache存储器,cache基本原理小结: cache是介于CPU和主存M2之间的小容量存储器,但存取速度比主存快。主存容量配置几百MB的情况下,cache的典型值是几百KB。cache能高速地向CPU提供指令和数据,从而加快了程序的执行速度。从功能上看,它是主存的缓冲存储器,由高速的SRAM组成。为追求高速,包括管理在内的全部功能由硬件实现,因而对程序员是透明的。 Cache的设计依据:CPU这次访问过的数据,下次有很大的可能也是访问附近的数据。 CPU与Cache之间的数据传送是以字为单位 主存与Cache之间的数据传送是以块为单位 CPU读主存时,便把地址同时送给Cache和主存,Cache控制逻辑依据地址判断此字是否在Cache中,若在此字立即传送给CPU ,否则,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。,77,3.6 Cache存储器,(3) Cache的命中率 从CPU来看,增加一个cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的读出时间。为了达到这个目的,在所有的存储器访问中由cache满足CPU需要的部分应占很高的比例,即cache的命中率应接近于1。由于程序访问的局部性,实现这个目标是可能的。,78,3.6 Cache存储器,在一个程序执行期间,设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有 h=Nc/(Nc+Nm) 若tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则cache/主存系统的平均访问时间ta为: ta=h*tc+(1-h)tm 我们追求的目标是,以较小的硬件代价使cache/主存系统的平均访问时间ta越接近tc越好。 设r=tm/tc表示主存慢于cache的倍率,e表示访问效率,则有 e=tc/ta=tc/(h*tc+(1-h)*tm =1/(h+(1-h)*r=1/(r+(1-r)*h 由表达式看出,为提高访问效率,命中率h越接近1越好,r值以510为宜,不宜太大。 命中率h与程序的行为、cache的容量、组织方式、块的大小有关。,79,例6CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。,公式,命中率 Cache/主存系统的平均访问时间 访问效率 Cache与内存的速度比,80,例6解:,h=Nc/(Nc+Nm)=1900/(1900+100)=0.95 r=tm/tc=250ns/50ns=5 e=1/(r+(1-r)h)=1/(5+(1-5)×0.95=83.3% ta=tc/e=50ns/0.833=60ns,81,3.6.2主存与Cache的地址映射,无论选择那种映射方式,都要把主存和cache划分为同样大小的“块”。 选择哪种映射方式,要考虑: 硬件是否容易实现 地址变换的速度是否快 主存空间的利用率是否高 主存装入一块时,发生冲突的概率 以下我们介绍三种映射方法,82,一、全相联的映射方式,映射方法(多对多) 主存内容可以拷贝到任意行 地址变换 标记实际上构成了一个目录表。,83,一、全相 联的 映射方式,84,一、全相联的映射方式,1、将地址分为两部分(块号和字),在内存块写入Cache时,同时写入块号标记; 2、CPU给出访问地址后,也将地址分为两部分(块号和字),比较电路块号与Cache 表中的标记进行比较,相同表示命中,访问相应单元;如果没有命中访问内存,CPU 直接访问内存,并将被访问内存的相对应块写入Cache。,85,一、全相联的映射方式,3、特点: 优点:冲突概率小,Cache的利用高。 缺点:比较器难实现,需要一个访问速度很快代价高的相联存储器 4、应用场合: 适用于小容量的Cache,86,二、直接映射方式,1、映射方法(一对多)如: i= j mod m 主存第j块内容拷贝到Cache的i行 一般I和m都是2N级 例cache容量16字,主存容量256字,则地址2,18,34242等都存放在cache的地址2内,如果第一次2在cache中,下次访问34内容,则不管cache其他位置的内容访问情况,都会引起2块内容的替换,87,二、直接映射方式,2、基本原理 利用行号选择相应行; 把行标记与CPU访问地址进行比较,相同表示命中,访问Cache; 如果没有命中,访问内 存,并将相应块写入Cache,88,二、直接映射方式,3、特点 优点:比较电路少m倍线路,所以硬件实现简单,Cache地址为主存地址的低几位,不需变换。 缺点:冲突概率高(抖动) 4、应用场合 适合大容量Cache,89,三、组相联映射方式,前两者的组合 Cache分组,组间采用直接映射方式,组内采用全相联的映射方式 Cache分组U,组内容量V 映射方法(一对多) q= j mod u 主存第j块内容拷贝到Cache的q组中的某行 地址变换 设主存地址x,看是不是在cache中,先y= x mod u,则在y组中一次查找,90,3、组相联映射方式,分析:比全相联容易实现,冲突低 v=1,则为直接相联映射方式 u=1,则为全相联映射方式 v的取值一般比较小, 一般是2的幂,称之为v路组相联cache.,91,92,3.6.3替换策略,LFU(最不经常使用 ):被访问的行计数器增加1,换值小的行,不能反映近期cache的访问情况, LRU(近期最少使用) :被访问的行计数器置0,其他的计数器增加1,换值大的行,符合cache的工作原理 随机替换:随机替换策略实际上是不要什么算法,从特定的行位置中随机地选取一行换出即可。这种策略在硬件上容易实现,且速度也比前两种策略快。缺点是随意换出的数据很可能马上又要使用,从而降低命中率和cache工作效率。但这个不足随着cache容量增大而减小。随机替换策略的功效只是稍逊于前两种策略。,93,3.6.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算法替换结果是不是相同?,94,95,3.6.4写操作策略,由于cache的内容只是主存部分内容的拷贝,它应当与主存内容保持一致。而CPU对cache的写入更改了cache的内容。如何与主存内容保持一致,可选用如下三种写操作策略。 写回法:换出时,对行的修改位进行判断,决定是写回还是舍掉。 全写法:写命中时,Cache与内存一起写 写一次法:与写回法一致,但是第一次Cache命中时采用全写法。,96,3.6.5 Pentium PC的Cache,1、主要包括四个部分: 取指/译码单元:顺序从L2cache中取程序指令,将它们译成一系列的微指令,并存入L1指令cache中。 乱序执行逻辑:依据数据相关性和资源可用性,调度微指令的执行,因而微指令可按不同于所取机器指令流的顺序被调度执行。 执行单元:它执行微指令,从L1数据cache中取所需数据,并在寄存器组中暂存运算结果。 存储器子系统:这部分包括L2cache、L3cache和系统总线。当L1、L2cache未命中时,使用系统总线访问主存。系统总线还用于访问I/O资源。 不同于所有先前Pentium模式和大多数处理器所采用的结构,Pentium 4的指令cache位于指令译码逻辑和执行部件之间。其设计理念是:Pentium 4将机器指令译成由微指令组成的简单RISC类指令,而使用简单定长的微指令可允许采用超标量流水线和调度技术,从而增强机器的性能。,97,3.6.5 Pentium PC的Cache,基本原理见下图,98,3.6.5 Pentium PC的Cache,2级cache结构 L2内容是主存的子集 L1内容是L2的子集 L1分成8K的指令cache和8K的数据cache 指令cache是单端口256位,只读 数据cache是双端口(每个32位),读写,采用2路组相联结构128组*2行/组*32字节/行=8KB字节,99,3.6.5 Pentium PC的Cache,存储器读写总线周期 256为淬发式传送 64位传送 数据一致性的保持 L1采用写一次法 L2采用写回法,返回,100,本 章 小 结,对存储器的要求是容量大、速度快、成本低。为了解决了这三方面的矛盾,计算机采用多级存储体系结构,即cache、主存和外存。CPU能直接方问内存(cache、主存),但不能直接访问外存。存储器的技术指标有存储容量、存取时间、存储周期、存储器带宽。 广泛使用的SRAM和DRAM都是半导体随机读写存储器,前者速度比后者快,但集成度不如后者高。二者的优点是体积小,可靠性高,价格低廉,缺点是断电后不能保存信息。,101,本 章 小 结,只读存储器和闪速存储器正好弥补了SRAM和DRAM的缺点,即使断电也仍然保存原先写入的数据。特别是闪速存储器能提供高性能、低功耗、高可靠性以及移动性,是一种全新的存储器体系结构。 双端口存储器和多模块交叉存储器属于并行存储器结构。前者采用空间并行技术,后者采用时间并行技术。这两种类型的存储器在科研和工程中大量使用。,102,本 章 小 结,cache是一种高速缓冲存储器,是为了解决CPU和主存之间速度不匹配而采用的一项重要的硬件技术,并且发展为多级cache体系,指令cache与数据cache分设体系。要求cache的命中率接近于1。主存与cache的地址映射有全相联、直接、组相联三种方式。其中组相联方式是前二者的折衷方案,适度地兼顾了二者的优点又尽量避免其缺点,从灵活性、命中率、硬件投资来说较为理想,因而得到了普遍采用。,返回,

    注意事项

    本文(白中英组成原理第四版课件chp3.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开