计算机组成原理第三章多层次存储器课件

上传人:94****0 文档编号:242640314 上传时间:2024-08-30 格式:PPT 页数:134 大小:4.10MB
返回 下载 相关 举报
计算机组成原理第三章多层次存储器课件_第1页
第1页 / 共134页
计算机组成原理第三章多层次存储器课件_第2页
第2页 / 共134页
计算机组成原理第三章多层次存储器课件_第3页
第3页 / 共134页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1,第三章 多层次的存储器,3.1存储器概述,3.2SRAM存储器,3.3DRAM存储器,3.4只读存储器和闪速存储器,3,.5并行存储器,3,.6Cache存储器,3.7虚拟存储器,3.8奔腾系列机的虚存组织,返回,1第三章 多层次的存储器3.1存储器概述返回,1,2,3.1 存储器概述,3.1.1 存储器的分类,3.1.2 存储器的分级,3.1.3 主存储器的技术指标,返回,23.1 存储器概述3.1.1 存储器的分类返回,2,3.1.1 存储器的分类,一个双稳态半导体电路或一个晶体管或一个磁性材料的存储元可以存储一位二进制代码。,这个二进制代码位是存储器中的最小存储单元,称作存储位元。,一个存储单元由多个存储位元组成,存储器由多个存储单元组成,3.1.1 存储器的分类 一个双稳态半导体电路或一个晶体,3,4,3.1.1 存储器的分类,按存储介质分类:磁表面/半导体存储器,按存取方式分类:随机/顺序存取,随机存取:存储内容能被随机读取,存取时间与物 理位置无关(半导体),顺序存取:存储内容只能按顺序访问(磁带),磁盘结构:(柱面 磁道 扇区) 半顺序存储器,按读写功能分类:ROM,RAM,RAM:双极型/MOS,ROM:MROM/PROM/EPROM/EEPROM,按信息的可保存性分类:永久性和非永久性的,按存储器系统中的作用分类:主/辅/缓,43.1.1 存储器的分类按存储介质分类:磁表面/半导体存储,4,5,磁表面存储器的读写原理,写操作:当写线圈中通过一定方向的脉冲电流时,铁芯内就产生一定方向的磁通。,读操作:当磁头经过载磁体的磁化元时,由于磁头铁芯是良好的导磁材料,磁化元的磁力线很容易通过磁头而形成闭合磁通回路。不同极性的磁化元在铁芯里的方向是不同的。,5磁表面存储器的读写原理,5,磁盘结构,盘片的上下两面都能记录信息,通常把磁盘片表面称为记录面。记录面上一系列同心圆称为磁道。每个盘片表面通常有几百到几千个磁道,每个磁道又分为若干个扇区,从图中看出,外面扇区比里面扇区面积要大。磁盘上的这种磁道和扇区的排列称为格式。,磁盘地址由记录面号、磁道号、扇区号三部分组成。为进行读写操作,要求定出磁道的起始位置,称为“索引”,索引标志在传感器检索下可产生脉冲信号,再通过磁盘控制器处理,便可定出磁道起始位置。磁盘读写操作以扇区为单位一位一位串行进行,每个扇区记录一个数据块。,磁盘结构 盘片的上下两面都能记录信息,通常把磁盘片表面称,6,磁盘上信息的分布,磁盘上信息的分布,7,8,磁盘上信息的分布,空白段:留出时间作为磁盘控制器的读写时间,序标: 磁盘控制器的同步定时信号,校验字:用来校验磁盘读出的数据是否正确,8磁盘上信息的分布空白段:留出时间作为磁盘控制器的读写时间,8,9,3.1.2 存储器的分级,目前存储器的特点是:,速度快的存储器价格贵,容量小;,价格低的存储器速度慢,容量大。,在计算机存储器体系结构设计时,我们希望存储器系统的性能高、价格低,那么在存储器系统设计时,应当在存储器容量,速度和价格方面的因素作折中考虑,建立了分层次的存储器体系结构如下图所示。,93.1.2 存储器的分级目前存储器的特点是:,9,10,3,.1.2 存储器的分级,高速缓冲存储器简称cache,它是计算机系统中的一个高速小容量半导体存储器。,主存储器简称主存,是计算机系统的主要存储器,用来存放计算机运行期间的大量程序和数据。,外存储器简称外存,它是大容量辅助存储器。,CAI,103.1.2 存储器的分级高速缓冲存储器简称cache,,10,外存-主存-Cache-CPU,读取时间依次为:ms 200ns 20ns 10ns,CPU能直接访问内存,不能直接访问外存,主存-Cache: 主存与CPU速度匹配问题,外存-主存: 容量,外存-主存-Cache-CPU读取时间依次为:ms 20,11,12,3,.1.3主存储器的技术指标,字存储单元:存放一个机器字的存储单元,相应的单元地址叫字地址。,字节存储单元:存放一个字节的单元,相应的地址称为字节地址。,一个机器字可以包含多个字节,例如一个16位的二进制存储单元可以存放两个字节,可以按字编址,也可以按字节编址。,存储容量:指一个存储器中可以容纳的存储单元总数。存储容量越大,能存储的信息就越多。,存取时间又称存储器访问时间:指一次读操作命令发出到该操作完成,将数据读出到数据总线上所经历的时间。通常取写操作时间等于读操作时间,故称为存储器存取时间。,存储周期:指连续启动两次读操作所需间隔的最小时间。通常,存储周期略大于存取时间,其时间单位为ns。,存取周期=存取时间+恢复时间,存储器带宽:单位时间里存储器所存取的信息量,通常以位/秒或字节/秒做度量单位。存取周期500ns,每个存取周期可访问16位,带宽是16/(500*10,-9,)=32*10,6,位/秒,123.1.3主存储器的技术指标字存储单元:存放一个机器字的,12,13,3.2 SRAM存储器,3.2.1 基本的静态存储元阵列,3.2.2 基本的SRAM逻辑结构,3.2.3 读/写周期波形图,133.2 SRAM存储器3.2.1 基本的静态存储元阵列,13,14,3.2 SRAM存储器,主存(内部存储器)是半导体存储器。根据信息存储的机理不同可以分为两类:,静态读写存储器,(SRAM):触发器,存取速度快,存储容量不如DRAM大。,动态读写存储器(DRAM):电容,143.2 SRAM存储器主存(内部存储器)是半导体存储器。,14,15,3.2.1 基本的静态存储元阵列,1、存储位元,2,、三组信号线,地址线,数据线,行线,列线,控制线,R/W,高电平读,低电平写,CAI,153.2.1 基本的静态存储元阵列1、存储位元CAI,15,16,3.2.2 基本的SRAM逻辑结构,SRAM芯大多采用双译码方式,以便组织更大的存储容量。采用了二级译码:将地址分成x向、y向两部分如图所示。,读入时,G1关闭,G2打开,8输入缓冲器关闭,8输出缓冲器打开。,写入时,G1打开,G2关闭,8输入打开,8输出关闭。,CAI,163.2.2 基本的SRAM逻辑结构SRAM芯大多采用双译,16,17,3.2.2 基本的SRAM逻辑结构,存储体(2561288,),通常把各个字的同一个字的同一位集成在一个芯片(,32K1)中,32K位排成256128的矩阵。8个片子就可以构成32KB,。,地址译码器,采用双译码的方式(减少选择线的数目)。,A0A7为行地址译码线,A8A14为列地址译码线,173.2.2 基本的SRAM逻辑结构存储体(256128,17,18,3.2.2 基本的SRAM逻辑结构,读与写的互锁逻辑,控制信号中CS是片选信号,CS有效时(低电平),门G1、G2均被打开。OE为读出使能信号,OE有效时(低电平),门G2开启,当写命令WE=1时(高电平),门G1关闭,存储器进行读操作。写操作时,WE=0,门G1开启,门G2关闭。注意,门G1和G2是互锁的,一个开启时另一个必定关闭,这样保证了读时不写,写时不读。,183.2.2 基本的SRAM逻辑结构读与写的互锁逻辑,18,19,3.2.3 读/写周期波形图,读周期,读出时间,Taq,读周期时间Trc,Teq:片选有效,Tgq:,读出使能有效,写周期,写周期时间,Twc,写时间twd,Thd,维持时间,存取周期,读周期时间,Trc,=写时间twc,CAI,193.2.3 读/写周期波形图读周期CAI,19,20,例1:图3.5(a)是SRAM的写入时序图。其中R/W是读/写命令控制线,当R/W线为低电平时,存储器按给定地址把数据线上的数据写入存储器。请指出图3.5(a)写入时序中的错误,并画出正确的写入时序图。,CAI,20例1:图3.5(a)是SRAM的写入时序图。其中R/W是,20,21,3,.3 DRAM存储器,3.3.1 DRAM存储位元的记忆原理,3.3.2 DRAM芯片的逻辑结构,3.3.3 读/写周期、刷新周期,3.3.4 存储器容量的扩充,3.3.5 高级的DRAM结构,3.3.6 DRAM主存读/写的正确性校验,213.3 DRAM存储器3.3.1 DRAM存储位元的记忆,21,22,3.3.1 DRAM存储位元的记忆原理,SRAM存储器的存储位元是一个触发器,它具有两个稳定的状态。而DRAM存储器的存储位元是由一个MOS晶体管和电容器组成的记忆电路,如图3.6所示。,223.3.1 DRAM存储位元的记忆原理SRAM存储器,22,23,3.3.1 DRAM存储位元的记忆原理,CAI,233.3.1 DRAM存储位元的记忆原理CAI,23,24,3.3.2 DRAM芯片的逻辑结构,下面我们通过一个例子来看一下动态存储器的逻辑结构如图。,图3.7(a)示出1M4位DRAM芯片的管脚图,其中有两个电源脚、两个地线脚,为了对称,还有一个空脚(NC)。,图3.7(b)是该芯片的逻辑结构图。与SRAM,不同的是:,(,1)增加了行地址锁存器和列地址锁存器。由于DRAM存储器容量很大,地址线宽度相应要增加,因此增加了芯片地址线的管脚数目。为避免这种情况,采取的办法是分时传送地址码。若地址总线宽度为10位,先传送地址码A0A9,由行选通信号RAS打入到行地址锁存器;然后传送地址码A10A19,由列选通信号CRS打入到列地址锁存器。芯片内部两部分合起来,地址线宽度达20位,存储容量为1M4位。,(2)增加了刷新计数器和相应的控制电路。DRAM读出后必须刷新,而未读写的存储元也要定期刷新,而且要按行刷新,所以刷新计数器的长度等于行地址锁存器。刷新操作与读/写操作是交替进行的,所以通过2选1多路开关来提供刷新行地址或正常读/写的行地址。,243.3.2 DRAM芯片的逻辑结构下面我们通过一个例子来,24,25,3.3.2 DRAM芯片的逻辑结构,CAI,253.3.2 DRAM芯片的逻辑结构CAI,25,26,3.3.3 读/写周期、刷新周期,1、读/写周期,读周期、写周期的定义是从行选通信号RAS下降沿开始,到下一个RAS信号的下降沿为止的时间,也就是连续两个读周期的时间间隔。通常为控制方便,读周期和写周期时间相等。,CAI,263.3.3 读/写周期、刷新周期1、读/写周期CAI,26,27,3.3.3 读/写周期、刷新周期,2、 刷新周期,刷新周期:DRAM,存储位元是基于电容器上的电荷量存储,这个电荷量随着时间和温度而减少,因此必须定期地刷新,以保持它们原来记忆的正确信息。,刷新操作有两种刷新方式:,集中式刷新,:DRAM的所有行在每一个刷新周期中都被刷新。,例如刷新周期为8ms的内存来说,所有行的集中式刷新必须每隔8ms进行一次。为此将8ms时间分为两部分:前一段时间进行正常的读/写操作,后一段时间(8ms至正常读/写周期时间)做为集中刷新操作时间。,273.3.3 读/写周期、刷新周期2、 刷新周期,27,3.3.3 读/写周期、刷新周期,分散式刷新:每一行的刷新插入到正常的读/写周期之中。,例如p70图3.7所示的DRAM有1024行,如果刷新周期为8ms,则每一行必须每隔8ms1024=7.8us,进行一次。,3.3.3 读/写周期、刷新周期分散式刷新:每一行的刷新插入,28,动态 RAM 和静态 RAM 的比较,DRAM(主存) SRAM(Cache),存储原理 电容 触发器,存储容量 大 小,功耗 低 高,价格 低 高,速度 慢 快,刷新 有 无,动态 RAM 和静态 RAM 的比较,29,30,3.3.4 存储器容量的扩充,1、字长位数扩展,给定的芯片字长位数较短,不满足设计要求的存储器字长,此时需要用多片给定芯片扩展字长位数。三组信号线中,地址线和控制线公用而数据线单独分开连接。,d=设计要求的存储器容量/选择芯片存储器容量,例2 利用1K4位的SRAM芯片,设计一个存储容量为1K8位的SRAM存储器。,解:所需芯片数量=(1K8)/(1K4)=2片,设计的存储器字长为8位,存储器字数不变。连接,三组信号线,即地址线、控制线公用,数据线分高4位、低4位,但数据线是双向的,与SRAM芯片的I/O端相连接。见书上图3.9所示。,303.3.4 存储器容量的扩充1、字长位数扩展,30,D,D,D,0,4,7,9,A,A,0,SRAM,SRAM,CS,WE,4.2,DDD0479AA0SRAMSRAMCSWE4.,31,32,3.3.4 存储器容量的扩充,2、字存储容量扩展,给定的芯片存储容量较小(字数少),不满足设计要求的总存储容量,此时需要用多片给定芯片来扩展字数。三组信号组中给定芯片的地址总线和数据总线公用,控制总线中R/W公用,使能端EN不能公用,它由地址总线的高位段译码来决定片选信号。所需芯片数仍由(d=设计要求的存储器容量/选择芯片存储器容量)决定。,例3利用1K8位的DRAM芯片设计2K8位的DRAM存储器,解:所需芯片数d=(2K8)/(1K8)=2(片),设计的存储器见书上图3.10所示。字长位数不变,地址总线,A,0,A,9,同时连接到2片DRAM的地址输入端,地址总线最高位有A,10,、A,10,,分别作为两片DRAM的片选信号,两个芯片不会同时工作。,323.3.4 存储器容量的扩充2、字存储容量扩展,32,1,K,8位,1,K,8位,D,7,D,0,WE,A,1,A,0,A,9,CS,0,A,10,1,CS,1,1K 8位1K 8位D7D0,33,3.字,位同时扩展,1K 4位 存储芯片组成 4K 8位 的存储器,WE,A,8,A,9,A,0,.,D,7,D,0,A,11,A,10,CS,0,CS,1,CS,2,CS,3,片选,译码,1,K4,1,K,4,1,K,4,1,K,4,1,K,4,1,K,4,1,K,4,1,K,4,3.字,位同时扩展1K 4位 存储芯片组成 4K ,34,35,3.3.4 存储器容量的扩充,3、存储器模块条,存储器通常以插槽用模块条形式供应市场。这种模块条常称为内存条,它们是在一个条状形的小印制电路板上,用一定数量的存储器芯片,组成一个存储容量固定的存储模块。如图所示。,内存条有30脚、72脚、100脚、144脚、168脚等多种形式。,30脚内存条设计成8位数据线,存储容量从256KB32MB。,72脚内存条设计成32位数据总线,100脚以上内存条既用于32位数据总线又用于64位数据总线,存储容量从4MB512MB。,353.3.4 存储器容量的扩充3、存储器模块条,35,36,3.3.5 高级的DRAM结构,1、FPM DRAM:,快速页模式动态存储器,它是根据程序的局部性原理来实现的。读周期和写周期中,为了寻找一个确定的存储单元地址,首先由低电平的行选通信号RAS确定行地址,然后由低电平的列选信号CAS确定列地址。下一次寻找操作,也是由RAS选定行地址,CAS选定列地址,依此类推,如下图所示。,CAI,363.3.5 高级的DRAM结构1、FPM DRAM:CA,36,37,3.3.5 高级的DRAM结构,2、CDRAM,CDRAM称为带高速缓冲存储器(cache)的动态存储器,它是在通常的DRAM芯片内又集成了一个小容量的SRAM,从而使DRAM芯片的性能得到显著改进。如图所示出1M4位CDRAM芯片的结构框图,其中SRAM为5124位。,CAI,373.3.5 高级的DRAM结构2、CDRAMCAI,37,38,3.3.5 高级的DRAM结构,3、SDRAM,SDRAM称为同步型动态存储器。计算机系统中的CPU使用的是系统时钟,SDRAM的操作要求与系统时钟相同步,在系统时钟的控制下从CPU获得地址、数据和控制信息。换句话说,它与CPU的数据交换同步于外部的系统时钟信号,并且以CPU/存储器总线的最高速度运行,而不需要插入等待状态。其原理和时序关系见下一页图和动画。,383.3.5 高级的DRAM结构3、SDRAM,38,39,CAI,39CAI,39,40,3.3.5 高级的DRAM结构,例4 CDRAM内存条组成实例。,一片CDRAM的容量为1M4位,8片这样的芯片可组成1M32位4MB的存储模块,其组成如下图所示。,CAI,403.3.5 高级的DRAM结构例4 CDRAM内存条,40,41,3.3.6 DRAM主存读/写的正确性校验,DRAM通常用做主存储器,其读写操作的正,确性与可靠性至关重要。为此除了正常的数据位,宽度,还增加了附加位,用于读/写操作正确性,校验。增加的附加位也要同数据位一起写入,DRAM中保存。其原理如图所示。,CAI,413.3.6 DRAM主存读/写的正确性校验 D,41,42,3.4 只读存储器和闪速存储器,3.4.1 只读存储器ROM,3.4.2 FLASH存储器,423.4 只读存储器和闪速存储器3.4.1 只读存储器RO,42,43,3.4.1 只读存储器ROM,ROM,叫做只读存储器。顾名思义,只读的意思是在它工作时只能读出,不能写入。然而其中存储的原始数据,必须在它工作以前写入。只读存储器由于工作可靠,保密性强,在计算机系统中得到广泛的应用。主要有两类:,掩模,ROM:掩模ROM实际上是一个存储内容固定的ROM,由生产厂家提供产品。,可编程ROM:用户后写入内容,有些可以多次写入。,一次性编程的PROM,多次编程的EPROM和E,2,PROM。,433.4.1 只读存储器ROM ROM叫,43,44,3.4.1 只读存储器ROM,1、掩模ROM,(1)掩模ROM的阵列结构和存储元,CAI,443.4.1 只读存储器ROM1、掩模ROMCAI,44,45,3.4.1 只读存储器ROM,1、掩模ROM,(2)掩模ROM的逻辑符号和内部逻辑框图,CAI,453.4.1 只读存储器ROM1、掩模ROMCAI,45,46,3.4.1 只读存储器ROM,2、可编程ROM,EPROM叫做光擦除可编程可读存储器。它的存储内容可以根据需要写入,当需要更新时将原存储内容抹去,再写入新的内容。,现以浮栅雪崩注入型MOS管为存储元的EPROM为例进行说明,结构如右图所示。,463.4.1 只读存储器ROM2、可编程ROM,46,47,3.4.1 只读存储器ROM,2、可编程ROM,E,2,PROM存储元,EEPROM,叫做电擦除可编程只读存储器。其存储元是一个具有两个栅极的NMOS管,如图(a)和(b)所示,G1是控制栅,它是一个浮栅,无引出线;G2是抹去栅,它有引出线。在G1栅和漏极D之间有一小面积的氧化层,其厚度极薄,可产生隧道效应。如图(c)所示,当G2栅加20V正脉冲P1时,通过隧道效应,电子由衬底注入到G1浮栅,相当于存储了“1”。利用此方法可将存储器抹成全“1”状态。,473.4.1 只读存储器ROM2、可编程ROME2PRO,47,48,3.4.2 FLASH存储器,FLASH存储器也翻译成闪速存储器,它是高密度非失易失性的读/写存储器。高密度意味着它具有巨大比特数目的存储容量。非易失性意味着存放的数据在没有电源的情况下可以长期保存。总之,它既有RAM的优点,又有ROM的优点,称得上是存储技术划时代的进展。,483.4.2 FLASH存储器FLASH存储器也翻译成,48,49,3.4.2 FLASH存储器,1、FLASH存储元,在EPROM存储元基础上发展起来的,由此可以看出创新与继承的关系。,如右图所示为闪速存储器中的存储元,由单个MOS晶体管组成,除漏极D和源极S外,还有一个控制栅和浮空栅。,CAI,493.4.2 FLASH存储器1、FLASH存储元CAI,49,50,3.4.2 FLASH存储器,2、FLASH存储器的基本操作,编程操作、读取操作、擦除操作,如图(a)表示编程操作时存储元写0、写1的情况。实际上编程时只写0,不写1,因为存储元擦除后原始状态全为1。要写0,就是要在控制栅C上加正电压。一旦存储元被编程,存储的数据可保持100年之久而无需外电源。,CAI,503.4.2 FLASH存储器2、FLASH存储器的基本操,50,51,3.4.2 FLASH存储器,3、FLASH存储器的阵列结构,FLASH存储器的简化阵列结构如右图所示。在某一时间只有一条行选择线被激活。读操作时,假定某个存储元原存1,那么晶体管导通,与它所在位线接通,有电流通过位线,所经过的负载上产生一个电压降。这个电压降送到比较器的一个输入端,与另一端输入的参照电压做比较,比较器输出一个标志为逻辑1的电平。如果某个存储元原先存0,那么晶体管不导通,位线上没有电流,比较器输出端则产生一个标志为逻辑0的电平,。,CAI,513.4.2 FLASH存储器3、FLASH存储器的阵列结,51,52,3,.5 并行存储器,3.5.1 双端口存储器,3.5.2多模块交叉存储器,523.5 并行存储器3.5.1 双端口存储器,52,53,3,.5 并行存储器,由于CPU和主存储器之间在速度上是不匹配的,这种情况便成为限制高速计算机设计的主要问题。为了提高CPU和主存之间的数据传输率,除了主存采用更高速的技术来缩短读出时间外,还可以采用并行技术的存储器。,533.5 并行存储器由于CPU和主存储器之间在速度上,53,54,3.5.1 双端口存储器,1,、双端口存储器的逻辑结构,双端口存储器由于同一个存储器具有两组相互独立的读写控制电路而得名。由于进行并行的独立操作,因而是一种高速工作的存储器,在科研和工程中非常有用。 举例说明,双端口存储器,IDT7133的逻辑框图 。如下页图。,543.5.1 双端口存储器1、双端口存储器的逻辑结构,54,55,3.5.1 双端口存储器,CAI,553.5.1 双端口存储器CAI,55,56,3.5.1 双端口存储器,2,、无冲突读写控制,当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。当任一端口被选中驱动时,就可对整个存储器进行存取,每一个端口都有自己的片选控制,(CE)和输出驱动控制(OE)。读操作时,端口的OE(低电平有效)打开输出驱动器,由存储矩阵读出的数据就出现在I/O线上。,3,、有冲突读写控制,当两个端口同时存取存储器同一存储单元时,便发生读写冲突。为解决此问题,特设置了,BUSY标志。在这种情况下,片上的判断逻辑可以决定对哪个端口优先进行读写操作,而对另一个被延迟的端口置BUSY标志(BUSY变为低电平),即暂时关闭此端口。,563.5.1 双端口存储器2、无冲突读写控制,56,57,3.5.1 双端口存储器,有冲突读写控制判断方法,(1)如果地址匹配且在CE之前有效,片上的控制逻辑在CEL和CER之间进行判断来选择端口(CE判断)。,(2)如果CE在地址匹配之前变低,片上的控制逻辑在左、右地址间进行判断来选择端口(地址有效判断)。,无论采用哪种判断方式,延迟端口的BUSY标志都将置位而关闭此端口,而当允许存取的端口完成操作时,延迟端口BUSY标志才进行复位而打开此端口。,573.5.1 双端口存储器有冲突读写控制判断方法,57,58,3,.5.1双端口存储器,CAI,583.5.1双端口存储器CAI,58,59,3,.5 并行存储器,1、存储器的模块化组织,一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中如何安排,有两种方式:一种是顺序方式,一种是交叉方式,CAI,593.5 并行存储器1、存储器的模块化组织一个由若干个,59,60,3.5.2 多模块交叉存储器,1、顺序方式,例,M0,M3,共四个模块,则每个模块,8,个字,顺序方式:,M0,:,0,7,M1,:,8,15,M2,:,16,23,M3,:,24,31,5,位地址组织如下:,X X,X X X,高位选模块,低位选块内地址,特点:某个模块进行存取时,其他模块不工作,优点是某一模块出现故障时,其他模块可以照常工作,通过增添模块来扩充存储器容量比较方便。缺点是各模块串行工作,存储器的带宽受到了限制。,603.5.2 多模块交叉存储器1、顺序方式,60,61,3.5.2 多模块交叉存储器,例,M0,M3,共四个模块,则每个模块,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,高位选块内地址,低位选模块,特点:连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。优点是对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。使用场合为成批数据读取。,613.5.2 多模块交叉存储器例M0M3共四个模块,,61,62,3.5.2 多模块交叉存储器,2、,多模块交叉存储器的基本结构,右图为四模块交叉存储器结构框图。主存被分成4个相互独立、容量相同的模块M0,M1,M2,M3,每个模块都有自己的读写控制电路、地址寄存器和数据寄存器,各自以等同的方式与CPU传送信息。在理想情况下,如果程序段或数据块都是连续地在主存中存取,那么将大大提高主存的访问速度。,CPU同时访问四个模块,由存储器控制部件控制他们分时使用数据总线进行信息传递。对每一个模块来说,从CPU给出访存命令直到读出信息仍然使用了一个存取周期,对CPU来说,它可以在一个存取周期内连续访问四个模块,各模块读写重叠进行。所以多模块交叉存储器是一种并行存储结构。,CAI,623.5.2 多模块交叉存储器2、多模块交叉存储器的基本结,62,63,3.5.2 多模块交叉存储器,通常在一个存储器周期内,m个存储体必须分时启动,则各个存储体的启动间隔为t=T/m (m为交叉存取度),连续读取m个字所需时间分别是,CAI,633.5.2 多模块交叉存储器通常在一个存储器周期内,m个,63,64,例5 设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。若连续读出4个字,问顺序存储器和交叉存储器的带宽各是多少?,解:顺序存储器和交叉存储器连续读出m=4个字的信息总量都是:,q=64b4=256b,顺序存储器和交叉存储器连续读出4个字所需的时间分别是:,t2=mT=4200ns=800ns=810,-7,s,t1=T+(m-1)t=200ns+150ns=350ns=3.510,-7,s,顺序存储器和交叉存储器的带宽分别是:,W2=q/t2=256b(810,-7,)s=320Mb/s,W1=q/t1=256b(3.510,-7,)s=730Mb/s,64例5 设存储器容量为32字,字长64位,模块数m=4,分,64,65,3、二模块交叉存储器举例,3.5.2,多模块交叉存储器,CAI,65 3、二模块交叉存储器举例3.5.2 多模块交,65,66,3、二模块交叉存储器举例,3.5.2,多模块交叉存储器,CAI,66 3、二模块交叉存储器举例3.5.2 多模块交,66,67,3.6 cache存储器,3.6.1 cache基本原理,3.6.2 主存与cache的地址映射,3.6.3替换策略,3.6.4 cache的写操作策略,3.6.5Pentium4的cache组织,3.6.6使用多级cache减少缺失损失,673.6 cache存储器3.6.1 cache基本原理,67,68,3.6.1 cache基本原理,1、cache的功能,解决CPU和主存之间的速度不匹配问题,基于程序运行的空间局部性和时间局部性原理。时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。空间局部性是指一旦程序访问了某个存储单元,则不久之后,其附近的存储单元也将被访问。,683.6.1 cache基本原理1、cache的功能,68,69,3.6.1 cache基本原理,CACHE,是介于主存与,CPU,之间的小容量存储器,一般采用高速的,SRAM,构成。,Cache,典型值是几百,KB,,,Cache,能向,CPU,高速提供指令和数据,加快程序执行速度,CPU,和主存之间的速度差别很大采用两级或多级,Cache,系统,早期的一级,Cache,在,CPU,内,二级在主板上,现在的,CPU,内带,L1 Cache,和,L2 Cache,,片内,Cache,速度接近,CPU,全由硬件调度,对用户透明,693.6.1 cache基本原理CACHE是介于主存与CP,69,70,3.6.1 cache基本原理,当,CPU,读取内存中的一个字时,便发出该字的内存地址到,Cache,和主存。,Cache,控制逻辑根据地址判断此字当前是否在,Cache,中,若是,此字立即传送给,Cache,若不是,则用主存读周期把此字从主存读出送到,CPU,,与此同时,把含有这个字的整个数据块从主存读出送到,Cache,中,2,、,cache,基本原理,CPU-Cache,以字为单位,,Cache-,主存以块为单位,一个块由若干个字组成是定长的,图中,Cache,分成,4,行,每行,4,个字,(W),,分配给,Cache,的地址存放在一个相联存储器,CAM,中,当,CPU,执行访存指令时,把所需访问字的地址放到,CAM,如果,W,不在,Cache,中,则将,W,从主存传送到,Cache,。与此同时,把包含,W,的前后相继的,4,个字所在的一行数据放到,Cache,。,703.6.1 cache基本原理当CPU读取内存中的一个字,70,71,3.6.1 cache基本原理,3、 Cache的命中率,从CPU来看,增加一个cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的读出时间。,为了达到这个目的,在所有的存储器访问中由cache满足CPU需要的部分应占很高的比例,即cache的命中率应接近于1。由于程序访问的局部性,实现这个目标是可能的。,713.6.1 cache基本原理3、 Cache的命中率,71,72,3.6.1 cache基本原理,3、cache命中率公式,命中率,Cache/,主存系统的平均访问时间,访问效率,Cache,与内存的速度比,723.6.1 cache基本原理3、cache命中率公式命,72,73,例6,CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。,解:,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,73例6 CPU执行一段程序时,cache完成存取的次数为1,73,74,3.6.2,主存与Cache的地址映射,无论选择那种映射方式,都要把主存和cache,划分为同样大小的,“,块,”,。,选择哪种映射方式,要考虑:,硬件是否容易实现,地址变换的速度是否快,主存空间的利用率是否高,主存装入一块时,发生冲突的概率,以下我们介绍三种映射方法,743.6.2主存与Cache的地址映射无论选择那种映射方式,74,75,1、全相联的映射方式,(1)将地址分为两部分(块号和字),在内存块写入Cache时,同时写入块号标记;主存的一个块可以映射到Cache任意一行,(2)CPU给出访问地址后,也将地址分为两部分(块号和字),比较电路块号与Cache 表中的标记进行比较,相同表示命中,访问相应单元;如果没有命中访问内存,CPU 直接访问内存,并将被访问内存的相对应块写入Cache。,3.6.2,主存与,cache,的地址映射,751、全相联的映射方式3.6.2 主存与cache的地址映,75,76,1,、全相联的映射方式,CAI,761、全相联的映射方式CAI,76,77,3.6.2 主存与cache的地址映射,1,、全相联的映射方式,转换公式,主存地址长度,(s+w),位寻址单元数,2,w,个字或字节块大小,行大小,2,w,个字或字节主存的块数,2,s,标记大小,s,位cache的行数,不由地址格式确定,773.6.2 主存与cache的地址映射1、全相联的映射方,77,78,3.6.2 主存与cache的地址映射,1,、全相联的映射方式,特点:,优点:冲突概率小,,Cache,的利用高。,缺点:比较器难实现,需要一个访问速度很快代价高的相联存储器,应用场合:,适用于小容量的,Cache,783.6.2 主存与cache的地址映射1、全相联的映射方,78,79,3.6.2 主存与cache的地址映射,2、直接映射方式,映射方法(多对一)如:,i= j mod m(m是Cache总行数),主存第j块内容拷贝到Cache的i行,一般I和m都是2,N,级,例cache容量16字,主存容量256字,则地址2,18,34.242等都存放在cache的地址2内,如果第一次2在cache中,下次访问34内容,则不管cache其他位置的内容访问情况,都会引起2块内容的替换,793.6.2 主存与cache的地址映射2、直接映射方式,79,80,2、,直接映射,方式,2、基本原理,利用行号选择相应行;,把行标记与CPU访问地址进行比较,相同表示命中,访问Cache;,如果没有命中,访问内 存,并将相应块写入Cache,CAI,802、直接映射方式2、基本原理CAI,80,81,3.6.2 主存与cache的地址映射,2、直接映射方式,转换公式,主存地址长度,(s+w),位寻址单元数,2,s+w,个字或字节,块大小,行大小,2,w,个字或字节主存的块数,2,s,cache的行数,m,2,r,标记大小,(s-r),位,813.6.2 主存与cache的地址映射2、直接映射方式,81,82,3.6.2 主存与cache的地址映射,2、直接映射方式,特点,优点:比较电路少,m倍线路,所以硬件实现简单,Cache地址为主存地址的低几位,不需变换。,缺点:冲突概率高,若块号相距m整数倍的两个块存于同一Cache行时就要发生冲突。解决的办法是将原来存入的行换出去,但可能过段时间又要换入。频繁的置换会使Cache,的效率下降(抖动),应用场合,适合大容量,Cache,采用更多的行可以减少冲突,823.6.2 主存与cache的地址映射2、直接映射方式,82,83,3.6.2 主存与cache的地址映射,3、,组相联映射方式,全相联:存放位置灵活,命中率高,直接映射:比较器电路和硬件实现简单,组相联是前两者的组合,Cache分组,组间采用直接映射方式,组内采用全相联的映射方式,Cache分组U,组内容量V行,映射方法(一对多),q= j mod u,主存第j块内容拷贝到Cache的q组中的某行,地址变换,设主存地址x,看是不是在cache中,先,y= x mod u,则在y组中一次查找,833.6.2 主存与cache的地址映射3、组相联映射方式,83,84,3.6.2 主存与cache的地址映射,3、组相联映射方式,分析:比全相联容易实现,冲突低,v=1,则为直接相联映射方式,u=1,则为全相联映射方式,v的取值一般比较小, 一般是2的幂,称之为v路组相联cache,.,843.6.2 主存与cache的地址映射3、组相联映射方式,84,85,CAI,85CAI,85,86,3.6.2 主存与cache的地址映射,3、组相联映射方式,转换公式,主存地址长度,(s+w),位寻址单元数,2,s+w,个字或字节块大小,行大小,2,w,个字或字节主存的块数,2,s,每组的行数,k,每组的v,2,d,cache的行数,kv,标记大小,(s-d),位,863.6.2 主存与cache的地址映射3、组相联映射方式,86,87,3.6.2 主存与cache的地址映射,例,7,直接映射方式的内存地址格式如下所示,标记,s-r,行,r,字地址,w,8,位,14,位,2,位,若主存地址用十六进制表示,BBBBBB,,用十六进制格式表示直接映射方式,Cache,的标记 ,行,字地址的值,解,:,(BBBBBB)16=(1011 1011 1011 1011 1011 1011 1011)2,标记,s-r =(1011 1011),2,=(BB),16,行,r= (1011 1011 1011 10),2,=(2EEE),16,字地址,w=(11),2,=(3),16,873.6.2 主存与cache的地址映射例7 直接映射方式,87,88,3.6.2 主存与cache的地址映射,例8:一个组相联cache由64个行组成,每组4行。主存包含4K个块,每块128字。请表示内存地址的格式。,解:块大小行大小2,w,个字1282,7, w7每组的行数k4cache的行数kvK2,d,42,d,64 d4组数v2,d,2,4,16主存的块数2,s,4K2,2,2,10,2,2, s12标记大小(s-d)位12-48位主存地址长度(s+w)位12+719位主存寻址单元数2,s+w,2,19,故 k4各组相联的内存地址格式如下所示:,标记s-d,组号d,字号w,8位,4位,7位,883.6.2 主存与cache的地址映射例8:一个组相联c,88,3.6.2 主存与cache的地址映射,例9有一个处理器,主存容量是1MB,字长1B,块大小16B,Cach容量64KB,采用全相联映射,对内存地址B0010给出相应的标记和字号。,解:块大小=行大小=16B=2,4,所以W=4位,主存寻址单元数2,s+w,=1M=1,20,s+w=20,s=16位,内存地址格式 标记s 字地址w,16位 4位,内存地址B0010= 1011 0000 0000 0001 0000,标记s=(1011 0000 0000 0001),2,字地址=(0000),2,3.6.2 主存与cache的地址映射例9有一个处理器,主存,89,3.6.2 主存与cache的地址映射,例10假设主存容量是512KB,Cache容量是4KB,每块16个字,每个字32位。,(1) Cache 地址多少位? 可容纳多少块?,(2) 主存地址多少位? 可容纳多少块?,(3) 在直接映射方式下。主存的第几块映射到Cache中的第5块(设起始块为第一块)?,(4) 画出直接映射方式下主存地址格式,3.6.2 主存与cache的地址映射例10假设主存容量是5,90,3.6.2 主存与cache的地址映射,解答:(1) Cache容量是4KB(2,12,=4K),cache地址12位,cache块数=4KB/(16*4B)=64,(2) 主存容量512KB(2,19,=512K),主存地址19位,主存块数=512KB/(16*4B)=8192,(3) 在直接映射方式下,cache64块,所以主存的5,64+5,2*64+5,.2,13,-64+5块映射到cache的第5块,(4) 标记 块地址 字地址,7 6 6,3.6.2 主存与cache的地址映射解答:(1) Cach,91,3.6.2 主存与cache的地址映射,例11设某机主存容量是16MB,cache容量是8KB。每块8个字,每字32位,设计一个四路组相连映射的cache组织。,(1)画出主存地址各字段的位数,(2)设cache状态为空,CPU依次从主存第0,1,2,。99号单元读出100个字(主存一次读出一个字),并重复此程序读10次,求命中率,(3)若cache的速度是主存速度的5倍,有cache和无cache相比,速度提高多少倍?,(4)系统的效率是多少?,3.6.2 主存与cache的地址映射例11设某机主存容量是,92,3.6.2 主存与cache的地址映射,解答,(1) 每个块有8个字,每字32b=4B,块内字地址5位,Cache组数8KB/(8*32/8*4B)=64组,组地址6位,主存容量16MB=2,24,B,主存地址24位,标记位24-6-5=13位,标记 组地址 字地址,13 6 5,(2)由于每个块有8个字,而且Cache初态为空,因此cpu读0号单元未命中,必须访问主存,同时将该字所在的主存块调入cache第0组的任一块内,接着读1-7号单元均命中。同理CPU读第8,16,。96号单元均未命中。可见CPU在连续读100个字共有13次未命中,而后9次循环读100个字全部命中,,命中率=(100*10-13)/(100*10)=0.987,3.6.2 主存与cache的地址映射解答(1) 每个块有8,93,3.6.2 主存与cache的地址映射,(3)设主存存取周期是5t,cache存取周期是t,没有cache的访问时间是5t*1000,有cache的访问时间是t(1000-13)+5t*13,速度提高倍数是,5t*1000/(t(1000-13)+5t*13) -1=3.75,(4) e=t/(0.987*t +(1-0.987)*5t)=95%,3.6.2 主存与cache的地址映射(3)设主存存取周期是,94,95,3.6.3 替换策略,直接映射:一个主存块只有一个特定位置存放,全相联和组相联:从允许存放新主存块的若干行选择一行,LFU(,最不经常使用,):将一段时间内被访问次数最少的行换出。每行设置一个计数器,新行建立后从0开始计数,每访问一次,被访问的行计数器增加1。替换时,对特定行的计数值进行比较,换值小的行,同时将这些特定行的计数器清零。该算法将计数周期限定在对特定行两次替换之间的间隔时间内,不能反映近期cache的访问情况。,LRU(,近期最少使用),:近期内长久没被访问的行换出。每行也设置一个计数器,Cache命中时被访问的行计数器置0,其他的计数器增加1。替换时,换值大的行。保护了刚拷贝到Cache中的新数据行,符合cache的工作原理,使Cache有较高的工作效率。,随机替换:,随机替换策略实际上是不要什么算法,从特定的行位置中随机地选取一行换出即可。这种策略在硬件上容易实现,且速度也比前两种策略快。缺点是随意换出的数据很可能马上又要使用,从而降低命中率和cache工作效率。但这个不足随着cache容量增大而减小。随机替换策略的功效只是稍逊于前两种策略。,953.6.3 替换策略直接映射:一个主存块只有一个特定位置,95,96,3.6.4 写操作策略,由于cache的内容只是主存部分内容的拷贝,它应当与主存内容保持一致。而CPU对cache的写入更改了cache,的内容。如何与主存内容保持一致,可选用如下三种写操作策略。,写回法:,CPU写Cache命中时,只修改Cache的内容,不立即写入主存。只有当此行被换出时才写回主存。对一个Cache行的多次写命中都在Cache中完成,只是需要替换的时候才写回速度较慢的主存,减少了访问主存的次数。实现时,每行设置一个修改位,反映此行是否被CPU修改过。换出时,对行的修改位进行判断,决定是写回还是简单舍掉。如果CPU写Cache未命中,为了包含欲写字的主存块在Cache分配一行,将此块整个拷贝到Cache后再进行修改。对主存的读写操作统一保留到换出时进行。写Cache与写主存是异步的方式,减少了访问主存的次数,但是存在不一致性的隐患。,963.6.4 写操作策略由于cache的内容只是主存部分内,96,3.6.4 写操作策略,全写法:写Cache命中时,Cache与内存一起写,维护了主存与Cache的一致性。当写Cache未命中时,只能向主存直接写入。 是否将修改过的主存块取到Cache,有两种方法。WTWA:取主存块到Cache. WTNWA:不取主存块到Cache. 优点是每行不需要设置修改位和逻辑判断。缺点是:Cache对CPU向主存的写操所无高速缓存的功能,降低了Cache的功效。,写一次法:与命中与写未命中时与写回法一致,但是第一次Cache命中时采用全写法,写入主存。因为第一次写Cache命中时,CPU要在总线上启动一个写周期,其他Cache监听到此主存块及写信号后,即可拷贝该块或者及时作废,以便维护系统全部Cache的一致性。,3.6.4 写操作策略全写法:写Cache命中时,Cache,97,98,3.6.5,Pentium 4的Cache组织,主要包括四个部分:,取指/译码单元:顺序从L2cache中取程序指令,将它们译成一系列的微指令,并存入L1指令cache中。,乱序执行逻辑:依据数据相关性和资源可用性,调度微指令的执行,因而微指令可按不同于所取机器指令流的顺序被调度执行。,执行单元:它执行微指令,从L1数据cache中取所需数据,并在寄存器组中暂存运算结果。,存储器子系统:这部分包括L2cache、L3cache和系统总线。当L1、L2cache未命中时,使用系统总线访问主存。系统总线还用于访问I/O资源。,不同于所有先前Pentium模式和大多数处理器所采用的结构,Pentium 4的指令cache位于指令译码逻辑和执行部件之间。其设计理念是:Pentium 4将机器指令译成由微指令组成的简单RISC类指令,而使用简单定长的微指令可允许采用超标量流水线和调度技术,从而增强机器的性能。,983.6.5 Pentium 4的Cache组织主要包括,98,99,3.6.5,Pentium 的Cache组织,基本原理见下图,CAI,993.6.5 Pentium 的Cache组织基本原理见,99,100,3.6.6 使用多级cache减少缺失损失
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!