存储器和存储体系.ppt
2023/9/25,南理工紫金学院,1,第3章 存储器和存储体系,存储器概述半导体随机存取存储器半导体只读存储器主存储器的组织并行存储器高速缓冲存储器虚拟存储器存储体系的层次结构,2023/9/25,南理工紫金学院,2,3.1 存储器概述,、存储器分类1按与CPU的连接和功能分类主存储器(主存、内存)CPU能够直接访问的存储器。辅助存储器(辅存、外存)CPU不能直接访问的存储器。高速缓冲存储器(Cache)是一种介于主存与CPU之间用于解决CPU与主存间速度匹配问题的高速小容量的存储器。Cache用于存放CPU立即要运行或刚使用过的程序和数据。,用于存放当前运行的程序和数据。,存放当前不参加运行的程序和数据。,当需要运行程序和数据时,将它们成批调入内存供CPU使用。,2023/9/25,南理工紫金学院,3,2按存取方式分类随机存取存储器(RAM,Random Access Memory)存储器任何单元的内容均可按其地址随机地读取或写入,且存取时间与单元的物理位置无关。RAM主要用于组成主存。只读存储器(ROM,Read Only Memory)存储器的内容只能随机地读出而不能随便写入和修改。ROM可作为主存的一部分,用于存放不变的程序和数据。ROM还可用作其它固定存储器,如存放微程序的控制存储器、存放字符点阵图案的字符发生器等。,2023/9/25,南理工紫金学院,4,顺序存取存储器(SAM,Sequential Access Memory)存储器所存信息的排列、寻址和读写操作均是按顺序进行的,没有唯一对应的地址,并且存取时间与信息在存储器中的物理位置有关。如磁带存储器。直接存取存储器(DAM,Direct Access Memory)介于RAM和SAM之间的存储器。也称半顺序存储器。典型的DAM如磁盘,当进行信息存取时,先进行寻道,属于随机方式,然后在磁道中寻找扇区,属于顺序 方式。,2023/9/25,南理工紫金学院,5,3按存储介质分类磁存储器 由磁性材料制成的存储器。利用磁性材料的两个不同剩磁状态表示二进制的“0”和“1”。早期有磁芯存储器。现多为磁表面存储器,如磁盘、磁带等。半导体存储器 用半导体器件组成的存储器。根据工艺不同,可分为双极型和MOS型。光存储器 利用光学原理制成的存储器。通过激光束照在基体表面引起物理或化学的变化,记忆二进制信息。如光盘。,2023/9/25,南理工紫金学院,6,4.按信息的可保存性分类易失性存储器 电源掉电后,信息自动丢失。非易失性存储器 电源掉电后,信息仍能继续保存。,2023/9/25,南理工紫金学院,7,二、主存的组成与操作1.几个概念存储元件(存储元、存储位)能够存储一位二进制信息的物理器件。存储元是存储器中最小的存储单位。作为存储元的条件:有两个稳定状态,对应二进制的“0”、“1”。在外界的激励下,可写入“0”、“1”。能够识别器件当前的状态。即可读出所存的“0”、“1”。,2023/9/25,南理工紫金学院,8,存储单元 由一组存储元件组成,可以同时进行读写。存储体(存储阵列)把大量存储单元电路按一定形式排列起来,即构成存储体。存储体一般排列成阵列形式,所以又称存储阵列。存储单元的地址 存储体中每个存储单元被赋予的一个唯一的编号,该编号就是存储单元的地址。当访问某存储单元时,必须首先给出该存储单元的地址。,2023/9/25,南理工紫金学院,9,存储单元的编址 按字节编址:相邻的两个单元是两个字节。按字编址:相邻的两个单元是两个字。,2023/9/25,南理工紫金学院,10,2.主存的基本组成,2023/9/25,南理工紫金学院,11,2023/9/25,南理工紫金学院,12,、存储器的主要性能指标1存储容量:存储容量的表示:在以字节为编址单位的机器中,常用字节表示存储容量。例如:4MB表示主存可容纳4兆个字节信息。对于存储器芯片,用存储单元数每个单元的位数表示。例如:512k16位,表示主存有512k个单元,每个单元为 16位。,存储器所能存储的二进制信息总量。,2023/9/25,南理工紫金学院,13,存储容量的主要计量单位:1K 1M 1G容量与存储器地址线的关系:1K 需要 根地址线 1M 需要 根地址线 256M 需要 根地址线,2101024,220 210K1048576,230 210M1073741824,10,210,220,20,228,28,2023/9/25,南理工紫金学院,14,2速度 访问时间TA(读写时间、存取时间)从启动一次存储器存取操作到完成该操作所需的时间。读出时间:从存储器接到有效地址开始到产生有效输出所需的时间。写入时间:从存储器接到有效地址开始到数据写入被选中单元为止所需的时间。存取周期TM(存储周期、读写周期)存储器相邻两次存取操作所需的最小时间间隔。,2023/9/25,南理工紫金学院,15,带宽Bm(存储器数据传输率、频宽)存储器单位时间内所存取的二进制信息的位数。W:存储器总线的宽度。对于单体存储器,W就是数据总线的根数。带宽的单位:KB/s,MB/s提高存储器速度的途径 提高总线宽度 W,如采用多体交叉存储方式。减少TM,如引入Cache。,2023/9/25,南理工紫金学院,16,3.2 半导体随机存取存储器,一、半导体存储器的分类,SRAM(静态随机存取存储器),DRAM(动态随机存取存储器),TTL型、ELL型、I2L型,固定掩膜ROM,可编程ROM(PROM),可擦除可编程ROM(EPROM),电可擦除可编程ROM(EEPROM),闪烁存储器(闪存,Flash Memory),2023/9/25,南理工紫金学院,17,3.2.1 静态随机存取存储位元,分类及特点双极型半导体存储器TTL、发射极耦合电路存储器ECL其特点:速度高、驱动能力强,但集成度低、功耗大、价格高,一般用于小容量的高速存储器。MOS场效应晶体管存储器(分动态、静态两种)其特点:集成度高、功耗小、工艺简单、成本低,但速度相对较低一般用于大容量存储器,2023/9/25,南理工紫金学院,18,每一个存储单位都由一个触发器构成,可以存储一个二进制位,每个触发器由6个MOS管构成。存储原理:用晶体管导通与 截止来表示0和1。存储0:T0导通、T1截止存储1:T0截止、T1导通工作原理:写入操作保持状态读出操作,2023/9/25,南理工紫金学院,19,存储原理:双稳态触发器,T0、T1组成触发器T2、T3门控管T4、T5负载管存储0:T0导通、A点电位接地,为低电平存储1:T0截止、A点电位接Vcc,为高电平T1相反,字线W,Vcc,D,D,A,B,T2,T3,T4,T5,T0,T1,2023/9/25,南理工紫金学院,20,读出操作:W高,D读出数据,W高电平,T2导通位线D与A点连接读0:A为低电平,D输出低电平读1:A为高电平,D输出高电平T1相反,字线W,Vcc,D,D,A,B,T2,T3,T4,T5,T0,T1,2023/9/25,南理工紫金学院,21,高电平,导通,导通,地,高电平,读出,非破坏性读出,2023/9/25,南理工紫金学院,22,写入操作:W高,D写入数据,W高电平,T2导通位线D与A点连接写0:D输入低电平,A点电位下降,T0导通,存储位元变为0写1:D输入高电平,A点电位上升,T0截止,存储位元变为1T1相反,字线W,Vcc,D,D,A,B,T2,T3,T4,T5,T0,T1,2023/9/25,南理工紫金学院,23,写入(以写“0”为例),高电平,导通,导通,地,高电平,地,高电平,2023/9/25,南理工紫金学院,24,保持状态:W低,内部稳定,W低电平,T2截止位线D与A点断开只要Vcc不断电,原有信息保持不变,字线W,Vcc,D,D,A,B,T2,T3,T4,T5,T0,T1,2023/9/25,南理工紫金学院,25,保持,地,断开,断开,地,高电平,2023/9/25,南理工紫金学院,26,3.2.2 动态随机存取存储位元,存储原理:利用电容Cs存储电荷存储信息电容Cs充有电荷表示1,电容Cs没有电荷表示0。,2023/9/25,南理工紫金学院,27,读取,高电平,导通,高电平,读取过程中,Cs的电平最终会变为中间电平,即原来存储的数据丢失,需要将读出的数据重新写入,称为再生,中间电平,电压上升,2023/9/25,南理工紫金学院,28,写入,高电平,导通,高电平,高电平,2023/9/25,南理工紫金学院,29,保持,由于电容存在漏电,经过一段时间后,Cs上的电荷会全部泄漏,为了保持数据的正确性,必须隔一段时间,进行一次刷新操作(Refresh),地,断开,高电平,2023/9/25,南理工紫金学院,30,刷新:SRAM是靠_存储信息的,所存的信息表现为双稳态电路的电平,所以不需要刷新。DRAM是靠_存储信息的,所存信息表现为电容上的电荷。由于电路中存在一定的漏电流,致使电容慢慢放电,导致所存信息丢失。因此必须在电容放电到一定程度前,重新写入信息,这一过程称为刷新。,触发器电路,电容,2023/9/25,南理工紫金学院,31,2.动态存储器的刷新刷新最大周期 设存储电容为C,其两端电压为u,电荷QCu,则泄漏电流为:刷新间隔为:若C0.2pf,u1V,I0.1nA,则刷新间隔为t就是刷新最大间隔,即刷新最大周期。,2023/9/25,南理工紫金学院,32,刷新基本方法 按行进行刷新,每次由刷新地址计数器给出刷新行地址,每刷新1行,地址计数器自动加1。刷新方式 设刷新周期为2ms,存储体排成6464阵列,需要刷新64行。每读/写一次或刷新一行的时间为200ns。有下列几种刷新方式:集中式刷新 分散式刷新 异步式刷新,2023/9/25,南理工紫金学院,33,集中式刷新在允许的最大刷新间隔(2ms)内,按照存储器芯片容量的大小集中安排刷新时间。假设存储周期为200ns,在2ms的时间内完成10000次存储操作,即10000个存储周期。例如对4k1位芯片,存储矩阵为6464,每个存储单元电路都刷新一次需64个周期,因此在2ms内,留出64个周期专用于刷新。,2023/9/25,南理工紫金学院,34,刷新方式,集中刷新方式优点:控制简单,速度快缺点:有“死区”,2023/9/25,南理工紫金学院,35,刷新方式,分散刷新方式优点:控制简单,无明显“死区”缺点:速度慢,存储器速度较快时,存在时间上的浪费,2023/9/25,南理工紫金学院,36,刷新方式,异步刷新方式优点:无明显“死区”,无时间上的浪费缺点:控制复杂2ms/64=31.25us,每隔31us刷新一次,2023/9/25,南理工紫金学院,37,3.2.3 半导体随机存取存储芯片,1、地址译码驱动方式一维译码方式二维译码方式二维译码方式的字选方式,2023/9/25,南理工紫金学院,38,(1)一维译码方式的存储器芯片(648位),1,1,1,1,1,1,2023/9/25,南理工紫金学院,39,(2)二维结构的存储器芯片(4K1位),双译码方式、位片方式,0,0,0,0,0,0,0,0,0,0,0,1,2023/9/25,南理工紫金学院,40,(3)二维地址译码的字选方式(5128位=6464),改成每次读出一个字,就是字选方式。,优点:译码电路简单,且同一个字在同一块芯片中。,1,1,1,0,0,0,2023/9/25,南理工紫金学院,41,2.静态SRAM芯片举例-Intel 2114芯片(1K4位),10根地址线,用于寻址1024个存储单元,4根双向数据线,读/写控制线,片选信号线,2023/9/25,南理工紫金学院,42,Intel 2114内部结构图,2023/9/25,南理工紫金学院,43,SRAM的工作时序,读周期时序,写周期时序,2023/9/25,南理工紫金学院,44,3、DRAM芯片实例 2164,基本特征64K*1位=4*(128*128)存取时间为150ns或200ns;每2ms需刷新一遍,每次同时刷新512个存储单元,2ms内需有128个刷新周期。引脚地址线复用A0A7行地址选通RAS列地址选通CAS,也起片选作用分开的输入Din和输出数据线Dout,2023/9/25,南理工紫金学院,45,2164内部结构示意图,2023/9/25,南理工紫金学院,46,DRAM读写时序,Review 2164,2023/9/25,南理工紫金学院,47,DRAM刷新时序,RAS only refresh在DRAM芯片外部设置专门的刷新计数器来产生行地址只送行地址,不送列地址,Hidden refreshDRAM芯片内部提供刷新计数器刷新分散在每次的读或写操作之后,2023/9/25,南理工紫金学院,48,静态存储器 vs 动态存储器,SRAMStatic集成度较低(六管),单片容量较小不需要刷新速度快,曾在Pentium主板上用作二级高速缓存(图)通常是字选方式,DRAMDynamic集成度高(单管),单片容量较大需要定时刷新速度较低,多用作主存储器通常是位选方式,2023/9/25,南理工紫金学院,49,用作L2 Cache的SRAM,2023/9/25,南理工紫金学院,50,3.2.4 高级DRAM,FPM(Fast Page Mode,快页型)DRAM 快速页突发模式,2023/9/25,南理工紫金学院,51,EDO DRAM(扩展数据输出),可以在输出一个数据的过程中准备下一个数据的输出,2023/9/25,南理工紫金学院,52,SDRAM(Synchronous DRAM)同步型RAM,其地址信号和数据信号由同一个时钟驱动。clock同步是指内存能够与CPU同步存取资料,可以取消等待周期,减少数据传输的延迟,因此可提升计算机的性能和效率,2023/9/25,南理工紫金学院,53,DDR SDRAM(Synchronous DRAM),即同步动态RAMDDR SDRAM不仅能在时钟脉冲的上升沿读出数据而且还能在下降沿读出数据 等效传输频率是工作频率的两倍 DDR的标准DDR266、DDR333和DDR400DDR对应的规范 PC2100/PC2700/PC3200工作电压2.5v,2023/9/25,南理工紫金学院,54,DDRII,DDRIII,DDRII(Double Data Rate Synchronous DRAM,第二代同步双倍速率动态随机存取存储器)4bit数据预读取 工作电压采用1.8v DDRIII8bit数据预读取 点对点的拓扑架构 P2P、P22P 工作电压降为1.5v,2023/9/25,南理工紫金学院,55,RDRAM(Rambus DRAM,高频动态随机存取存储器),Rambus公司独立设计完成的一种内存模式,速度一般可以达到500530MB/s,是DRAM的10倍以上。,184个接触点,目前的RDRAM内存只能以双数条形式存在,而且由于RDRAM采用了串联的设计,因此所有未用的RIMM插槽都必须用一个被称作“连通器”的电路板占用.,RIMM(RAMBUS In-line Memory Module),2023/9/25,南理工紫金学院,56,3.3 半导体只读存储器ROM的特点,特性:正常工作时只能读出信息,而不能写入的随机存储器。信息的写入是通过特殊方法。与RAM相比:速度相当、结构简单、集成度高、造价低、功耗小、可靠性高、无掉电信息丢失、无读出信息破坏、不需要刷新。与外存相比:都具有掉电信息不丢失的特点,但速度高。,2023/9/25,南理工紫金学院,57,半导体只读存储器ROM的应用,应用:(主要用来存放不需要改变的信息)存放软件 如引导程序存放微程序存放特殊编码 如字符点阵,2023/9/25,南理工紫金学院,58,3.3.1 掩模只读存储器MROM,特点:存储的信息在芯片制时最后一道掩模(MASK)工艺由连线决定“0”和“1”;生产周期长;可靠性高,信息永不丢失。适用场合:大批量生产。,MOS只读存储器结构:,负载管,无管子的位线为高,称为存储0,有管子的位线为低,称为存储1,2023/9/25,南理工紫金学院,59,3.3.2 一次性可编程只读存储器PROM,熔丝,2023/9/25,南理工紫金学院,60,特点:使用专用设备(编程器),用户一次性写入,故称为可编程(Programmable)。不可恢复,信息永久保存。适用于:小批量生产。,2023/9/25,南理工紫金学院,61,3.3.3 可擦除的只读存储器EPROM,基本结构写“1”:保持原状态,浮栅上不带电荷。写“0”:源极(S)和漏极(D)之间加高电压,使PN结处于反偏状态,发生瞬间击穿。浮栅上积累了负电荷,形成了带正电的P沟道,管子导通。,2023/9/25,南理工紫金学院,62,3.3.3 可擦除的只读存储器EPROM,擦除(Erasable):紫外线照射,浮栅上的电子获得能量,穿越绝缘层泄放掉电荷。特点:可多次擦除,通常有数千次擦除寿命 外形上有玻璃 窗,避免日光或荧光灯照射。,2023/9/25,南理工紫金学院,63,EPROM擦除器,2023/9/25,南理工紫金学院,64,3.3.4 电擦除只读存储器EEPROM,特点:隧道效应内置升压电路,电信号擦除(Electrically Erasable)先擦后写 写入速度较慢,写一个数据的大约时间在2-10ms之间。,结构:,应用:取代EPROM,擦除方便,但成本较高。小容量串行接口的E2PROM,保存系统设置等参数。,2023/9/25,南理工紫金学院,65,3.3.5 闪速存储器(Flash Memory),特点:高速 高集成度、低成本.整片电擦除或按块电擦除,可擦除100万次结构:,存储原理具有两种状态:1.未写入状态:浮空栅极无电子,栅极电压大于1V就开始导通。2.已写入状态:浮空栅极布满电子,栅极电压大于5V才开始导通。,2023/9/25,南理工紫金学院,66,3.3.5 闪速存储器(Flash Memory),写入:控制栅极和漏极都加上高电压,电子由源极向漏极移动,在漏极附近产生的热电子可以越过硅表面到SiO2 膜的顶峰,在控制栅极高电压的吸引下能够注入到浮空栅极。,2023/9/25,南理工紫金学院,67,3.3.5 闪速存储器(Flash Memory),擦除:控制栅极接地,漏极开路,源极加高电压,则浮空栅极上累积的电子逃逸。(增强FN隧道注入方式),正脉冲,2023/9/25,南理工紫金学院,68,3.3.5 闪速存储器(Flash Memory),应用可升级BIOS(右图)U盘数码相机掌上电脑MP3随身听,2023/9/25,南理工紫金学院,69,编程器,全自动IC通用编程器,通用编程器,2023/9/25,南理工紫金学院,70,铁电存储器(FRAM,FeRAM),Ferroelectric random access memory 利用铁电晶体的铁电效应实现数据存储,特点速度快,能够像RAM一样操作;读写功耗极低。FRAM仍有最大访问次数的限制,目前最大访问次数是100亿次(10 10),超过这个次数之后,它仅仅是没有了非易失性,仍可像普通RAM一样使用。,2023/9/25,南理工紫金学院,71,磁性随机存储器MRAM,Magnetoresistive Random Access Memory 基于半导体和磁通道(magnetic tunnel junction-MTJ)技术的固态存储介质,属于非挥发性芯片。擦写次数高于现有的不挥发存储器,可达1015;读写时间可达70nS正在开发阶段,主要开发厂商有IBM、Infineon、Cypress和Motorola。,2023/9/25,南理工紫金学院,72,3.4 主存储器的组织,3.4.1 主存储器容量的扩充由于一块存储器芯片的容量总是有限的,因此一个存储器总是由一定数量的存储器芯片构成。要组成一个存储器,需要考虑的问题:,2023/9/25,南理工紫金学院,73,如何选择芯片 根据存取速度、存储容量、电源 电压、功耗及成本等方面的要求进行芯片的选择。所需的芯片数量,2023/9/25,南理工紫金学院,74,例:用2114芯片(1K4位)组成32K8位的存储器,所需芯片数为:如何把许多芯片连接起来 通常存储器芯片在单元数和位数方面都与实际存储器要求有很大差距,所以需要在字方向和位方向两个方面进行扩展。按扩展方向可分为:位扩展、字扩展、字和位同时扩展。,2023/9/25,南理工紫金学院,75,1.位扩展存储器芯片的字数和存储器的字数一致,只在位数方向扩展(扩字长)。例:用2114芯片构成1K8位的存储器。,2023/9/25,南理工紫金学院,76,2023/9/25,南理工紫金学院,77,位扩展的连接方法:将各存储器芯片的地址线、片选线和读/写线并联。将各存储器芯片的数据线分别接到数据总线的对应位上。,2023/9/25,南理工紫金学院,78,2.字扩展存储器芯片的位数与存储器的位数一致,只在字数方向扩展(扩字数)。例:用16K8位的芯片构成64K8位的存储器,并写出各芯片的地址范围。,2023/9/25,南理工紫金学院,79,16K8,16K8,16K8,16K8,2023/9/25,南理工紫金学院,80,64K8位的存储器需要16位地址线A15A0,而16K8位的芯片的片内地址线为14根,所以用16位地址线中的低14位A13A0进行片内寻址,高两位地址A15、A14用于选择芯片,即选片寻址。,2023/9/25,南理工紫金学院,81,设存储器从0000H开始连续编址,则四块芯片的地址分配:第一片地址范围为:0000H3FFFH 第二片地址范围为:4000H7FFFH 第三片地址范围为:8000HBFFFH 第四片地址范围为:C000HFFFFH,2023/9/25,南理工紫金学院,82,2023/9/25,南理工紫金学院,83,2023/9/25,南理工紫金学院,84,字扩展的连接方式:将所有芯片的地址线、数据线、读/写控制线并联。由片选信号区分被选芯片。各芯片的片选信号分别接到存储器高位地址译码器的输出端的相应位上。,2023/9/25,南理工紫金学院,85,3.字和位同时扩展按位扩展和字扩展的方法分别在位方向和字方向扩展。例:用2114(1K4位)芯片构成4K8位的存储器。,2023/9/25,南理工紫金学院,86,2023/9/25,南理工紫金学院,87,字和位同时扩展的连接方式:所有芯片的片内地址线、读/写控制线并联。不同地址区域内(组间),同一位芯片的数据线对应地并接在一起,连接到数据总线的对应位上。不同位芯片的数据线分别连接到数据总线的不同位上。同一地址区域内(组内),不同芯片的片选信号连在一起,接到片选译码器的同一输出端;不同地址区域内的芯片的片选信号分别接到片选译码器的不同输出端。,2023/9/25,南理工紫金学院,88,例1:用512K*1位的存储器芯片构成2MB的存储器(存储器按字节编址),则共需选_块芯片。在这些芯片中,其中_块芯片的A1地址线应对应地接在一起;_块芯片的读写控制线应接在一起;每_块芯片的片选信号线应接在一起;每_块芯片的数据输入线DIN应接在一起。该存储器地址总线至少_位,其中_位用于选片寻址,_位用于片内寻址。若存储器按芯片容量划分若干个地址区域且从0连续编址,则第一个地址区域的最后一个地址为_H,最后一个地址区域的第一个地址为_H。该存储器应选择具有_个输入_个输出的译码器用于选片,一个输出端控制_块芯片的_信号。,32,32,32,8,4,21,2,19,07FFFF,180000,2,4,8,片选,2023/9/25,南理工紫金学院,89,例2:用256K*1位的存储器芯片构成16MB的存储器(存储器按字节编址),则共需选_块芯片。在这些芯片中,其中_块芯片的A1地址线应对应地接在一起;_块芯片的读写控制线应接在一起;每_块芯片的片选信号线应接在一起;每_块芯片的数据输入线DIN应接在一起。该存储器地址总线至少_位,其中_位用于选片寻址,_位用于片内寻址。若存储器按芯片容量划分若干个地址区域且从0连续编址,则第一个地址区域的最后一个地址为_H,最后一个地址区域的第一个地址为_H。该存储器应选择具有_个输入_个输出的译码器用于选片,一个输出端控制_块芯片的_信号。,512,512,512,8,64,24,6,18,03FFFF,FC0000,6,64,8,片选,2023/9/25,南理工紫金学院,90,例3:某微机系统有16根地址线,8根数据线,地址空间安排为:16KB系统程序存储区,用ROM芯片,安排在地址最低区;接着留出16KB的设备地址空间;其后的32KB作为用户程序区,采用RAM芯片。给定芯片如下,请画出连线图,给出各存储区的地址范围。,2023/9/25,南理工紫金学院,91,ROM区:16K8位,需1片16K8位ROM芯片RAM区:32K8位,需2片16K8位RAM芯片I/O区:16K8位,主存不应使用,ROM,D7D0,A13,A0,RAM,D7D0,A13,A0,2023/9/25,南理工紫金学院,92,2023/9/25,南理工紫金学院,93,ROM,A13A0,RAM,D7D0,A15,A14,RAM,地址译码器,2023/9/25,南理工紫金学院,94,例4已知某模型机地址总线为17位(A 160),数据总线8位(D70)(双向),MREQ为访存请求信号(低电位有效),R/W为读写控制信号(低电位写,高电位读)。已知存储器地址分配如下:最低16K为系统程序区,用ROM芯片构成,接着是48K的备用区,暂不连接芯片,60K为用户程序区,用RAM芯片构成。最后4K为I/O设备区。现给定下列芯片,试画出存储器连接图和地址分配表。,2023/9/25,南理工紫金学院,95,3.4.2 存储器的编址方式,按字编址假设字长32位指令中操作数的单位是“字”,不能按字节操作,2023/9/25,南理工紫金学院,96,按字节编址既有按“字”操作的指令,也有按字节操作的指令。字地址和字节地址,2023/9/25,南理工紫金学院,97,3.5 并行存储器,除了选择高速器件之外,并行读写是提高存储器性能的一个有效手段之一。基本思想:通过重复设置硬件为代价,实现并行存取来换取速 度的提高。分类:双端口存储器多模块存储器相联存储器,2023/9/25,南理工紫金学院,98,3.5.1 双端口存储器,基本思想:有两个访问端口,可以“同时”接受来自两方面的访问内存请求,从而实现并行。对用户透明:两个访问端口独立工作,对任何一方来说,不需要考虑另一方的存在。,仲裁逻辑:当两个端口试图在同一时间内访问同一地址单元时,由仲裁逻辑决定首先为哪一方服务,2023/9/25,南理工紫金学院,99,存储体,译码器,MAR,MDR,AB,DB,CB,译码器,MAR,MDR,仲裁、读写逻辑,AB,CB,DB,2023/9/25,南理工紫金学院,100,3.5.2 多模块存储器,基本思想:并行设置多个存储模块,在一个存取周期内,多个存储模块同时存取多个字以提高整体速度。分类:单体多字和多体单字两种方式。1单体多字存储器,只有一套地址寄存器和地址译码器,有N个容量相同的存储模块,字长扩大N倍,2023/9/25,南理工紫金学院,101,2023/9/25,南理工紫金学院,102,2、多体单字交叉存取方式,多个模块有各自独立的MAR和MDR,可以同时工作,系统需要的字长是一个模块的字长,交叉编址:连续的地址被分布在不同的模块中,2023/9/25,南理工紫金学院,103,2023/9/25,南理工紫金学院,104,重叠访问:当访问连续的地址单元时,有效存储周期缩小到每个模块存储周期的1/N(N是模块数)。各模块的访问周期重叠。4模块重叠访问示意图:,2023/9/25,南理工紫金学院,105,2023/9/25,南理工紫金学院,106,3.5.3 相联存储器,CAM(Content Addressable Memory)按内容查找。常规存储器:地址内容;相联存储器:内容地址。随机查找:按指定内容一次找出其所在位置,与所存位置无关,时间相同。,2023/9/25,南理工紫金学院,107,相联存储器结构框图:,检索寄存器,屏蔽寄存器M,比较器,2mN,存储体,代码寄存器,地址寄存器,地址译码器,符合寄存器,2m1,2m1,N1,N1,N1,0,0,m,0,0,0,0,N1,0,相联存储器的核心,提供常规的按地址查找。,2023/9/25,南理工紫金学院,108,3.6 高速缓冲存储器(Cache),3.6.1 基本原理避免 CPU“空等”现象CPU 和主存(DRAM)的速度差异基于程序访问的局部性原理,容量小速度高,容量大速度低,2023/9/25,南理工紫金学院,109,主存和缓存按块存储 块的大小相同,B 为块长,3.6.2 地址映像主存和缓存的编址,2023/9/25,南理工紫金学院,110,1.直接映射,每个缓存块 i 可以和 若干 个 主存块 对应,每个主存块 j 只能和 一 个 缓存块 对应,i=j mod C,2023/9/25,南理工紫金学院,111,2.全相联映射,主存 中的 任一块 可以映射到 缓存 中的 任一块,2023/9/25,南理工紫金学院,112,某一主存块 j 按模 Q 映射到 缓存 的第 i 组中的 任一块,i=j mod Q,3.组相联映射,2023/9/25,南理工紫金学院,113,小结,某一 主存块 只能固定 映射到 某一 缓存块,某一 主存块 能 映射到 任一 缓存块,某一 主存块 只能 映射到 某一 缓存 组 中的 任一块,不灵活,成本高,2023/9/25,南理工紫金学院,114,例1:假设主存容量为 512 KB,Cache 的容量为 4KB,每个字块为16 个字,每个字 32 位。(1)Cache 地址有多少位?可容纳多少块?(2)主存地址有多少位?可容纳多少块?(3)在直接映射方式下,主存的第几块映射到 Cache 中的第5 块(设起始字块为第 1 块)?(4)画出直接映射方式下主存地址字段中各段的位数,2023/9/25,南理工紫金学院,115,例2:假设主存容量为512K*16位,Cache的容量为4096*16位,块长为4个16位的字,访存地址为字地址。(1)在直接映像方式下,设计主存的地址格式。(2)在全相联映像方式下,设计主存的地址格式。(3)在二路组相联映像方式下,设计主存的地址格式。(4)若主存容量为512K*32位,块长不变,在四路组相联映像方式下,设计主存的地址格式。,2023/9/25,南理工紫金学院,116,3.6.3 替换算法(Replacement Algorithms),替换算法:当引起对Cache块的位置争用时,更换块的算法。只有相联映像才需要替换算法,2023/9/25,南理工紫金学院,117,常用替换算法:先进先出算法FIFO(First In First Out)对进入Cache的块按先后顺序排队,先淘汰最早进入的块。最近最少使用算法LRU(Least Recently Used)保留最近被访问的块,淘汰较长时间没有访问的块 最少使用频度法LFU(Least Frequently Used)被访问次数最少的块最先淘汰。有可能最新装入的块被替换出去。随机法(Random),2023/9/25,南理工紫金学院,118,最近最少使用算法LRU,块号放在表中排队。刚访问到的块号移到表首,其余块号下移。表尾是近期最少访问的块。例:每组4块(4-way组相联)的块号表,已替换新内容,2023/9/25,南理工紫金学院,119,最久未使用算法LRU,四路组相联LRU算法的另一种实现:每块用一个2位的计数器表示被访问的时间。每次访问到的块的计数器清0,同组中计数值比该页原计数值低的计数器加1。调入新块时,替换计数值最大的块。可以证明,4块的计数值各不相同。,2023/9/25,南理工紫金学院,120,2023/9/25,南理工紫金学院,121,Pentium CPU Cache组织两路组相联映像的LRU算法:每个Cache块设置一个USE位,当某个Cache块被访问,该块的USE位被置为1,同组的另一块USE位被置为0。淘汰时,淘汰USE为0的块。,2023/9/25,南理工紫金学院,122,3.6.4 Cache的读写策略,DB,MM,CPU,AB,Cache块号,块内地址,块内地址,主存块地址,地址变换,替换算法部件,Cache存储器,多字高速总线,不命中(已满),不命中(未满),命中,2023/9/25,南理工紫金学院,123,Cache存放当前最活跃的程序和数据。大部分情况下,CPU访问的是Cache而不是主存,提高了CPU访存的速度。,2023/9/25,南理工紫金学院,124,命中、不命中、命中率,Cache命中(hit)CPU欲访问的数据已在Cache中。Cache不命中(miss)CPU欲访问的数据不在Cache内。命中率CPU 欲访问的信息在 Cache 中的比率。,2023/9/25,南理工紫金学院,125,Cache 的读写操作,读操作:,2023/9/25,南理工紫金学院,126,如果Cache命中,会遇到如何保持Cache与主存中的内容一致的问题。写直达法:写操作时间就是访问主存的时间,读操作时不涉及对主存的写操作,更新策略较容易实现。写回法:写操作时间就是访问 Cache 的时间,读操作 Cache 失效发生数据替换时,被替换的块需写回主存,增加了 Cache 的复杂性。如果Cache不命中,就直接把信息写入主存,而与Cache无关。,处理的方法有:,即同时写入主存和高速存储器。,只写入高速存储器并标记该组修改过。,当淘汰该组时需将内容写回主存储器。,写操作:,2023/9/25,南理工紫金学院,127,Cache的性能分析,1.命中率CPU 欲访问的信息在 Cache 中的 比率。设Nc为访问Cache的总命中次数,Nm为访问主存的总次数,则 Cache 命中率 为:,2023/9/25,南理工紫金学院,128,影响Cache命中率的因素,Cache容量Cache的命中率随它的容量的增加而提高,随着Cache容量的增加,命中率提高的速度逐渐降低。,2023/9/25,南理工紫金学院,129,块长当块由小到大增长时,由于程序的局部性原理,同一块中数据的利用率比较高,因此,Cache的命中率增加。这种增加趋势在某一个最佳块大小处达到最大值。在这一点以后,命中率随着块大小的增加反而减小。,2023/9/25,南理工紫金学院,130,组数当Cache的容量一定时,在采用组相联映象和变换方式的Cache中,随着组数的增加,主存中的某一块可以映象到Cache中的块数就将减少,从而导致命中率下降。,2023/9/25,南理工紫金学院,131,2.平均访问时间设 tc 为命中时的Cache访问时间,tm 为未命中时的主存访问时间,则Cache 主存系统的 平均访问时间 为:平均访问时间 ta 与 命中率 有关,2023/9/25,南理工紫金学院,132,3.访问效率,访问效率 e 与 命中率 有关,设 Cache 命中率 为 h,访问 Cache 的时间为 tc,访问 主存 的时间为 tm,2023/9/25,南理工紫金学院,133,例:假设CPU执行某段程序时,共访问Cache命中2000次,访问主存50次。已知Cache的存取周期为50ns,主存的存取周期为200ns。求Cache-主存系统的命中率、效率和 平均访问时间。,2023/9/25,南理工紫金学院,134,3.7 虚拟存储器(Virtual Memory),虚拟存储在主存与辅存之间,增加必要的硬件支持,经过操作系统的存储管理软件的管理,使主、辅存之间的信息交换,程序的再定位,地址的转换都能自动进行,使两者形成一个有机的整体。从而得到一个足够大的主存空间由于程序员可以用到的空间远远大于主存的实际空间,但实际上不存在这么大的主存,故称“虚拟