1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,存储器原理及相关技术,1,1,概述,1.1,存储系统的分级结构,1.2,半导体存储器的分类,1.3,存储技术的发展,2,内存储器的构成原理,2.1,存储器芯片的接口特性,2.2,内存储器的设计,3,内存条及其相关技术,3.1,概述,3.2,内存条的主要性能指标,3.3,内存条的双通道技术,3.4,主流内存条简介,2,4,虚拟存储器及存储管理,4.1,虚拟存储器的基本概念,4.2 80486,的段式存储器,4.3 80486,的页式存储器,4.4 80486,的段页式存储器,5,高速缓冲存储器,5.1,高速
2、缓存的工作原理,5.2,地址映像,5.3,替换算法和写策略,5.4 80486,微处理器的高速缓存,3,1,概述,1.1,存储系统的分级结构,目前的微型计算机大都采用分级结构的存储系统,如图,1,所示。整个存储系统从内到外分为,4,级:,CPU,内部寄存器组、高速缓冲存储器、内存储器和外存储器。,图,1,存储系统的分级结构示意图,4,1,概述,1.2,半导体存储器的分类,半导体存储器按存取方式不同,又可分为随机存取存储器(,Random Access Memory,RAM,)和只读存储器(,Read Only Memory,ROM,)两大类。,1,RAM,随机存取存储器,RAM,可进一步分为静
3、态,RAM,(,Static RAM,SRAM,)和动态,RAM,(,Dynamic RAM,DRAM,)两大类。,SRAM,访问速度明显快于,DRAM,,但需要,6,个晶体管才能存储并访问一位二进制数据,电路比,DRAM,复杂,集成度低,且价格较高。,DRAM,的优点是结构简单,只需要一个晶体管和一个电容就可以存储一位二进制信息,但,DRAM,需要定时刷新。,5,2,ROM,ROM,存储器有多种类型,按照技术发展的进程,主要有以下几种:,掩膜式,ROM,(,mask ROM,),可编程,ROM,(,Programmable ROM,PROM,),可擦除可编程,ROM,(,Erasable P
4、rogrammable ROM,EPROM,),电可擦除可编程,ROM,(,Electrically-Erasable Programmable ROM,EEPROM,),闪存(,Flash ROM,),1.3,存储技术的发展,存储技术的发展可以从两个方面来看,一是具体存储技术的发展,例如容量更大,速度更快,价格更低,体积更小等;另一方面是存储方式的重大变革。,云计算,(cloud computing),的核心思想是通过网络实现对大量资源的统一管理和调度,用户可以根据自身的需求获得服务,实现按需分配。,6,一般认为云计算包括以下三个层次的服务:基础设施级服务,平台级服务和应用级服务,如图,2,
5、所示。,图,2,云计算层次示意图,7,2,内存储器的构成原理,2.1,存储器芯片的接口特性,了解各种常用存储器芯片的接口特性是设计或扩展微型计算机存储系统的基础,而了解存储器芯片的接口特性,实质上就是了解它有哪些信号线,以及这些信号线与总线的连接方法。,1,EPROM,的接口特性,典型的,EPROM,芯片有,Intel,公司的,2716,、,2732,、,2764,、,27128,、,27256,、,27512,等,容量分别为,2K,8,位、,4 K,8,位、,8 K,8,位、,16 K,8,位、,32 K,8,位和,64K,8,位。它们的外接信号线如图,3,所示。,8,图,3,典型,EPRO
6、M,芯片的外接信号线,9,2,EEPROM,的接口特性,EEPROM,的突出特点是可以在线进行以字节为单位的读写。常用的,EEPROM,芯片有,Intel,公司的,2816,、,2817,和,2816A,、,2817A,、,2864A,等。,图,4,给出了,2816A,和,2817A,的引脚排列及功能,两者的差别在于,2817A,比,2816A,多了一根说明存储芯片状态的信号线。,图,4,常用,EEPROM,的外接信号线,10,3,SRAM,的接口特性,常用的,SRAM,芯片有,2K,8,位、,4K,8,位、,8K,8,、,32K,8,位和,64K,8,位等。图,5,给出了,2KB,、,4KB
7、和,8KB SRAM,芯片的引脚配置。,图,5,常用,SRAM,的外部信号线,11,4,DRAM,的接口特性,常用的,DRAM,芯片有,64K,l,位、,64K,4,位、,256K,l,位、,256K,4,位、,1M,1,位、,1M,4,位和,4M,l,位等。图,6,给出了,64K,l,位,DRAM,芯片,4564,的引脚和结构示意图。,图,6 4564,的引脚配置与内部结构,12,5,单列直插式,DRAM,存储器的接口特性,微型计算机一般采用单列直插封装(,SIMM,)的内存条来构成具有,32,位或,64,位数据总线宽度的内存。,内存条按容量分有,256MB,、,512MB,、,1GB,等
8、多种。,按内存条上所装存储器的位数分有,9,位和,8,位两种。,9,位的内存条带有奇偶校验位,功能全,对硬件的适应性好;而,8,位的内存条无奇偶校验位,成本相对较低。,按电路板的引脚数又可分为,30,线和,72,线两种通用标准。,13,2,内存储器的构成原理,2.2,内存储器的设计,内存储器的设计一般包括以下三个步骤:存储器结构的确定,存储器芯片的选择,存储器的连接。,1,存储器结构的确定,存储器结构的确定主要指采用单存储体结构还是多存储体结构。,外部数据总线为,8,位的微处理器,其存储器只需用单体结构;外部数据总线为,16,位的微处理器,一般采用双体结构,即两个,8,位的存储体;,80486
9、等,32,位的微处理器一般采用,4,体结构。,14,图,7 80286,存储器结示意图构,图,8 80386/80486,存储器结构示意图,15,2,存储器的片选方法,存储芯片的地址线与,CPU,的低位地址总线直接相连,,CPU,的高位地址信号线通过译码产生存储芯片的片选控制信号。高位地址信号线的译码方式有线选法、局部译码法和全译码法三种片选方法。,图,9,存储器的片选信号产生方法,16,3,存储器连接,存储器连接通常可按下列步骤进行:,(,1,)根据系统实际装机存储容量,确定存储器在整个存储空间中的地址。,(,2,)选择合适的存储芯片。,(,3,)根据地址分配图表以及选用的译码器件,画出相
10、应的地址位图,以此确定片选和片内单元选择的地址线,进而画出片选译码电路。,(,4,)画出存储器的连接图。,17,例,1,:为地址总线为,20,位的,8088,微处理器设计一个容量为,256 KB,的存储 模块,要求,EPROM,区为,128 KB,,地址从,80000H,开始,用,2,片,27512,芯片实现;,RAM,区为,128 KB,,地址从,A0000H,开始,用,2,片,74512,芯片实现。,分析:,地址分配表见表,1,所示。,18,由于采用的存储芯片,27512,和,74512,的存储容量相同,译码电路比较简单,用一个,74LS138,译码芯片就可以实现。,图,10,存储器接口电
11、路,19,3,内存条及其相关技术,3.1,概述,大多数内存条采用的都是,DRAM,存储芯片,目前,PC,机大多采用,Synchronous DRAM,(,SDRAM,),即同步动态内存。,习惯上内存的访问时间以纳秒为单位,但同步动态内存的工作频率受时钟信号控制,即随着时钟信号的节拍进行读写操作,因此同步动态内存的访问延迟时间(,Latency,)是时钟周期的(,1,n,)倍。,3.2,内存条的主要性能指标,衡量内存条好坏的主要性能指标有容量、延迟时间以及内存带宽等。,1,容量,内存最小的存储单位为二进制位,最基本的存储单位为字节(,byte,),常用的数量级有千字节,KB,(,1KB=1024
12、B,)、兆字节,MB,(,1MB=1024KB,)、吉字节,GB,(,1GB=1024MB,)。,20,2,CAS,延迟时间,tCL,列地址选通(,Column Address Strobe,,,CAS,)延迟时间,tCL,是反映内存读写速度最重要的性能指标,指从控制器发出列地址选通命令给内存,到内存开始提供数据之间的时间延迟。,3,RAS,到,CAS,延迟时间,tRCD,行地址选通到列地址选通延迟时间,tRCD,(,RAS-to-CAS Delay,,,RCD,),指发出行地址选通,RAS,命令到发出列地址选通,CAS,命令之间的最小等待时间。,4,行预充电时间,tRP,行预充电(,RAS
13、Precharge,RP,)时间,tRP,。在对一行的访问期间要访问另一行时,需要关闭当前打开的行,再打开另一行,所需的时间即为行预充电时间。,5,行激活时间,tRAS,行激活时间(,Row Active Time,),tRAS,。,DDR SDRAM,内存一般设为,tCL+tRCD+2,。,21,6,内存带宽,(Memory Bandwidth),内存带宽是衡量内存吞吐率的性能指标,带宽越大越好。,7,串行存在探测,SPD,串行存在探测,(Serial Presence Detect,,,SPD),是让计算机能够自动获取内存条相关配置信息的一种技术。,对于支持,SPD,的内存条,计算机就能够
14、从内存条中读出参数设置,进而自动完成内存的参数设置,达到最稳定的性能。,3.3,内存条的双通道技术,确切地说,双通道技术并不是内存技术,而是一种内存控制和管理技术,该技术采用两个,64,位的内存控制器,理论上能够用两条同等规格的内存使内存带宽增长一倍。,22,前端总线是,CPU,与外界进行数据交换的最主要通道。外频是,CPU,与主板之间的同步运行频率,也是整个计算机系统的基准频率。英特尔,Pentium 4,采用了四倍速率传输(,Quad Data Rate,QDR,)技术,大大提高了前端总线的传输带宽,使得内存传输带宽成为限制系统性能的,“,瓶颈,”,。双通道技术则很好地解决这个问题。,双通
15、道技术的实现首先要求主板支持双通道,其次内存条也需要成对配置,一般都采用相同的内存条,这样有利于达到最佳效果。,3.4,主流内存条简介,1,SDR SDRAM,SDR,是,“,Single Data Rate,”,的缩写,即,“,单倍速率,”,。,“,单倍速率,”,指在一个时钟周期内只能完成一次数据传输,其传输带宽为,内存核心频率,64/8 MB/s,23,2,DDR SDRAM,DDR,是,“,Double Data Rate,”,的缩写,即,“,双倍速率,”,,在每个时钟周期可以完成两次读写操作,即在时钟信号的上升沿和下降沿都可以读写数据,该技术被称为,“,双泵,”,(,double pu
16、mping,)。,术语,“,等效频率,”,说明指一秒钟内完成的数据传输次数,单位应该是,MT/s,,但由于等效频率是核心频率乘以相应的倍数得到的,所以常常也就用,MHz,作为单位。,DDR,内存的等效频率是核心频率的两倍,传输带宽为,核心频率,2,64/8 MB/s,3,DDR2 SDRAM,DDR2,内存同样采用了,“,双泵,”,技术,其内部,I/O,总线频率为内存核心频率的两倍,两者结合起来,使得,DDR2,的等效频率是核心频率的,4,倍,也就是所谓的,“,4,位预取,”,(,4-bit prefetch,)技术,所以,DDR2,内存传输带宽的计算公式为:,核心频率,2,(,I/O,总线频
17、率倍增),2,(双倍速率),64/8 MB/s,24,DDR2,内存、,DDR,内存以及,SDR,内存的频率对比如图,11,所示。,图,11 DDR2,、,DDR,和,SDR,内存的性能对比示意图,25,4,DDR3 SDRAM,DDR3,内存不但明显降低了工作电压和能耗,而且进一步提升了数据传输率,,达到了,“,8,位预取,”,,其等效频率为核心频率的,8,倍,传输带宽计算公式为,核心频率,4,(,I/O,总线频率倍增),2,(双倍速率),64/8 MB/s,4,虚拟存储器及存储管理,4.1,虚拟存储器的基本概念,虚拟存储器技术是为满足用户希望增大内存容量的需求而提出来的。虚拟存储器由主存和
18、辅存组成,辅存作为主存的扩充,由硬件和操作系统自动实现存储信息的调度和管理。对程序员来说,好像微型计算机有一个容量很大的主存。,1.,地址空间及地址,虚拟地址空间,又称为虚存地址空间;,主存地址空间,又称为实地址空间;,辅存地址空间,也就是磁盘存储器的地址空间。,26,2.,工作原理,虚拟存储器的工作过程如图,12,所示,调度管理由硬件和操作系统自动实现,整个过程对于程序员来说是透明的。,虚拟存储器的管理方式分为段式管理、页式管理和段页式管理。,图,12,虚拟存储器的工作过程,27,4.2 80486,的段式存储器,段式管理根据程序需要将存储器划分为大小不同的块,称为段。使用虚拟存储器后需要通
19、过地址映像和地址变换将虚拟地址变换为主存的物理地址,才能访问主存单元。,80486,的虚拟空间有,64TB,,在虚拟空间中编程用的逻辑地址为,46,位,其中低,32,位是偏移量,段寄存器中,D2,D15,位为逻辑地址的高,14,位,如图,13,所示。,根据逻辑地址的高,14,位选择段描述符表中的段描述符,将段描述符中,32,位的段基址与逻辑地址中,32,位的偏移量相加得到,32,位的线性地址。,在段式存储器管理模式中,线性地址就是,CPU,可直接访问的物理地址。,28,图,13,线性地址的生成,4.3 80486,的页式存储器,在页式存储器中,,80486,微处理器把主存和辅存空间都分别划分为
20、4KB,的页。虚拟地址空间中的页称为虚页,主存地址空间中的页称为实页。,1,地址映像与地址转换,80486,页式存储器通过页转换逻辑把线性地址转换为物理地址,页地址转换涉及三个概念:页目录表、页表和物理存储页。,29,(,1,)页目录表,页目录表位于主存中,占用一个,4KB,的物理存储页。页目录表中最多包含,1024,项,每项,4,个字节,其中包含一个页转换表的物理地址,如图,14,所示。,图,14,页目录项,(,2,)页表,页表本身也是一页,存放在主存中。一个页表中包含,1024,项,每项占,4,个字节,其中高,20,位(即实页号),212,即为物理页的首地址。,页目录表最多可以完成,2,
21、10,个页表的映射,每个页表完成,2,10,个页的映射,每页固定为,4KB,,因此通过页目录表和页表可以实现,4GB,的地址映射。线性地址转换成物理地址的地址转换过程如图,15,所示。,30,图,15,页式存储器的地址变换,31,2,旁路转换缓冲区,80486,设有一个称为旁路转换缓冲区(,Translation Loop-aside Buffer,TLB,)的高速缓存,其中保存了,32,个最近使用过的页转换地址。这意味着若要访问相同的存储区域,其物理地址已经在,TLB,中,就不必访问页目录表和页表,其地址变换速度快,所以又把,TLB,称为快表,而存于主存中的页表称为慢表。,据统计,对于一般程
22、序来说,,80486,微处理器的,TLB,的命中率约为,98%,,也就是说,需要访问主存中二级页表的情况只占,2%,。由此可见,,TLB,极大地提高了页式存储器的性能。,32,4.4 80486,的段页式存储器,段页式存储器把主存空间分成固定大小的页,程序按模块分段,每个段再分成若干个页。段页式存储器的地址变换如图,16,所示。,段页式存储器尤其适用于多用户系统,逻辑结构清晰,每个用户都有一个逻辑名(用户号),程序可按程序段编写,每个程序段又可分为多个页,系统效率较高。,图,16,段页式存储器的地址变换,33,5,高速缓冲存储器,高速缓冲存储器(,Cache,)是位于,CPU,与主存之间的一种
23、存储器,容量比主存小,速度比主存快。,CPU,需要数据时首先在,Cache,中查找,,Cache,中没有才从主存中读取。,据统计,CPU 90%,以上的存储器访问都发生在,Cache,中,只有不到,10%,的几率需要访问主存,即命中率可达,90%,以上,因此少量,Cache,可以极大地提高存储系统的访问速度。,现在,CPU,一般都集成有一级高速缓存,L1,和二级高速缓存,L2,,高端的工作站或家用,PC,机还可能配置三级高速缓存,L3,,存储容量逐级增大,存取速度逐级降低。,此外,CPU,内部还有一个专门用于地址转换的,Cache,,即快表,TLB,。,TLB,中存放操作系统页表的一部分,通过
24、它可以提高虚地址转换为实地址的地址转换速度。,CPU,中完成地址转换的部件称为,“,存储器管理单元,”,(,Memory Management Unit,MMU,)。,34,5.1,高速缓存的工作原理,当,CPU,需要读写主存单元时,首先检查,Cache,中是否有所需数据,如果有就直接访问,Cache,,称为,“,命中,”,;如果没有就访问主存,并将主存单元所在的块调入,Cache,。如果,Cache,中没有空闲的块,还需要根据替换算法找出某个,Cache,块,将其写回主存,并从主存调入新的块。,Cache,块的大小是固定的,类似于虚拟存储器中的页,但,Cache,块的大小比页小得多。,Cac
25、he,块结构如图,17,所示。,图,17 Cache,块结构图,标签是存储单元地址的一部分,存储单元的地址从高到低划分为标签、索引和块内偏移,如图,18,。,图,18 Cache,块结构图,35,5.2,地址映像,主存和,Cache,都划分为多个大小固定的块,由于,Cache,的容量远远小于主存,因此一个,Cache,块要对应多个主存块,按某种规则将主存块调入,Cache,块中,称为,“,相联,”,(,Associativity,)。,1,全相联(,Fully Associative,)映像,主存中的块可装入,cache,中的任意块位置称为全相联。全相联方式具有块冲突低,空间利用率高的优点,但
26、无法根据索引值定位,Cache,块,需要检查所有,Cache,块的标签,标签位数增大,查找时间长,地址变换速度慢,需要较复杂的硬件支持。,2,直接映像,(Direct Mapped),主存中每一块只能装入到,Cache,中唯一的特定块位置的方法称为直接映射。直接映射中主存块与,Cache,块之间为,N:1,的映射关系,具有地址变换速度快实现简单的优点,但块冲突率高,空间使用效率低。,36,3,N,路组相联映像,为了克服直接映射的缺点,把,Cache,划分为多个组,每组有,N,个块,主存块与,Cache,组之间采用直接映像方式,与组内的,Cache,块之间采用全相联映像方式。图,19,显示了,2
27、路组相联的地址映像情况。,图,19 2,路组相联,37,5.3,替换算法和写策略,Cache,未命中且,Cache,已满时,需要根据某种规则找到一个,Cache,块,将待访问的主存块调入,替换选中的,Cache,块。替换算法有,先进先出算法(,First In First Out,FIFO,),最久未使用算法(,Least Recently Used,LRU,),最近使用算法(,Most Recently Used,MRU,),随机替换算法(,Random Replacement,RR,),修改,Cache,块数据时需要保持内存块数据与,Cache,块数据的一致性。写策略决定何时将,Cach
28、e,块数据写回主存。写策略有,通写(,Write-Through,),回写(,Write-Back,),38,5.4 80486,微处理器的高速缓存,80486,微处理器带有,8 KB,的一级高速缓存,L1,和,256 KB,的二级高速缓存,L2,。,L2,集成在主板上,,L1,集成在,CPU,内部。,这时,L1,没有区分指令缓存和数据缓存。一个数据量较大的程序会很快占满高速缓存,导致没有空间用于缓存指令,因此后来的微处理器通常将一级高速缓存分为指令缓存和数据缓存。,1,片内,Cache,的结构,80486,微处理器的片内,Cache,既可以存放指令代码,又可以存放数据。,8KB,的片内,Cache,采用,4,路组相联结构,每组包含,4,个,Cache,块,每块可存放,16,字节的数据。,2,工作过程,CPU,需要访问某个主存单元时,首先根据主存地址中的索引位确定该主存块对应的组,然后用主存地址中的标签与组中各,Cache,块的标签进行比较,若匹配,意味着,Cache,“,命中,”,,否则需要将主存块调入该组某个,Cache,块。,39,






