1、3.1 存储器概述,存储器的两大功能:1、 存储(写入Write)2、 取出(读出Read) 三项基本要求:1、大容量 2、高速度 3、低成本,一.存储器的作用,第 四 章 主存储器与存储体系,3.1 存储器概述,一.存储器的作用计算机真正工作的场所是主存(内存),所有驱动程序、操作系统、工作数据、成品/半成品应用程序必须加载到主存中才能由CPU读取。高速缓存的速度比主存储器快,作为CPU与内存的缓冲区,主要起到平衡CPU与主存这间的速度的作用,有效解决了CPU速度与主存速度的不匹配问题。辅助存储器(如硬盘、软盘)也称为外存,用来存放暂时不参加运行的程序和数据,以及永久存储信息。辅助存储器的容
2、量很大,但存取速度慢,并且不能为CPU直接访问,必须先将其中信息调入主存后,才能为CPU所访问。,二.存储器的分类,1.按存储器在计算机系统中的作用分类 (1)高速缓冲存储器(Cache) (2) 主存储器 (3)辅助存储器 2.按存取方式分类 (1)随机存储器 (2)顺序存储器 3.按存储内容可变性分类 (1)只读存储器 (2)随机读写存储器,3.1 存储器概述,4.按存储介质分类 (1)半导体存储器 (2)磁表面存储器 (3)光存储器 5.按信息的可保存性分类 (1)易失性存储器 (2)非易失性存储器,二.存储器的分类,3.1 存储器概述,三. 主存储器,(1)正在运行的程序和数据存放于存
3、储器中。CPU直接从存储器取指令或存取数据。 (2)采用DMA技术或输入输出通道技术,在存储器和输入输出系统之间直接传输数据。 (3)多处理机系统采用共享存储器来存取和交换数据。,3.1 存储器概述,作用,(1)随机存储器RAM(random access memory)(易失性存储器) (2)只读存储器ROM(read-only memory)(非易失性存储器) (3)可编程序只读存储器PROM(programmable ROM):一次写入,不能修改。(非易失性存储器) (4)可擦除可编程序只读存储器EPROM(erasable PROM):可用紫外线擦除,擦除后可再次写入。(非易失性存储器
4、) (5)可用电擦除的可编程序只读存储器E2PROM(electrically EPROM):可用电改写。(非易失性存储器),三. 主存储器,3.1 存储器概述,分类,主要技术指标,(1)存储容量按字节或按字寻址,容量为多少字节,单位:KB(210),MB(220),GB(230);地址线数决定最大直接寻址空间大小(n位地址:2n)。,三. 主存储器,3.1 存储器概述,主存储器的主要性能指标:主存容量、存储器存取时间和存储周期时间。,(2)存取时间(存储器访问时间)(或读/写时间) 指启动一次存储器操作到完成该操作所经历的时间。*读出时间:指从CPU向MEM发出有效地址和读命令开始,直到将被
5、选单元的内容读出为止所用的时间。*写入时间:指从CPU向MEM发出有效地址和写命令开始,直到信息写入被选中单元为止所用的时间。,主要技术指标,三. 主存储器,3.1 存储器概述,(3) 存储周期时间(又称读/写周期,或访问周期)CPU连续启动两次独立的存储器操作所需间隔的最小时间,目前一般存储器可达几纳秒(ns)。,主要技术指标,三. 主存储器,3.1 存储器概述,基本结构,三. 主存储器,3.1 存储器概述,存储器的核心,是存储单元的集合体,而存储单元又是由若干个记忆单元组成的。,包含译码器和驱动器两部分组成。译码器将地址总线输入的地址码转换成与之对应的译码输出线上的有效电平,以表示选中了某
6、一存储单元,然后由驱动器提供驱动电流去驱动相应的读/写电路,完成对被选中存储单元的读/写操作。,用以完成被选中存储单元中各位的读出和写入操作。,基本操作,三. 主存储器,3.1 存储器概述,CPU与主存之间采取异步工作方式,以ready信号表示一次访存操作的结束。,2K字n位,读(取)操作 :从CPU送来的地址所指定的存 储单元中取出信息,再送给CPU。,(1)地址-AR-AB CPU将地址信号送至地址总线。 (2) Read CPU发读命令。 (3)Wait for MFC等待存储器工作完成信号。 (4)(AR)-DB-DR 读出信息经数据总线送至CPU。,写(存)操作 :将要写入的信息存入
7、CPU所指定的存储单元中。,(1)地址-AR-AB CPU将地址信号送至地址总线。 (2)数据-DR-DB CPU将要写入的数据送到数据总线。 (3)WriteCPU发写信号。 (4)Wait for MFC等待存储器工作完成信号。,四. 存储系统层次结构,3.1 存储器概述,高,小,快,存储器三个主要特性的关系,四. 存储系统层次结构,3.1 存储器概述,缓存 主存层次和主存 辅存层次,虚拟存储器,虚地址,逻辑地址,实地址,物理地址,主存储器,(速度),(容量),存储信息原理,动态存储器DRAM(动态MOS型):依靠电容存储电荷的原理存储信息。功耗较小,容量大,速度较快,作主存。,静态存储器
8、SRAM(双极型、静态MOS型)依靠双稳态电路内部交叉反馈的机制存储信息。功耗较大,速度快,作Cache。,SRAM:利用双稳态触发器来保存信息,只要不断电,信息是不会丢失的,因为其不需要进行动态刷新,故称为“静态”存储器。 DRAM:利用MOS电容存储电荷来保存信息,使用时需要给电容充电才能使信息保持,即要定期刷新。,3.2 读/写存储器(随机存储(RAM),3.2 读/写存储器(随机存储(RAM),3.2.1 SRAM,T1T6:构成一个记忆单元的主体,能存储一位二进制信息。,T1T4构成基本RS触发器,用来存储一位二进制信息。,T5、T6:构成读写控制门,用来传送读写信号。,一条字线,用
9、来选择这个记忆单元。,两条位线,用来传送读写信号。,字选择线,位线2,位线1,Vss,T1,T2,T6,T5,T3,T4,VGG,VDD,A,B,3.2 读/写存储器(随机存储(RAM),3.2.1 SRAM,1,0,通,止,A1,B0:T1止,T2通,记忆单元存储“0”,字选择线,位线2,位线1,Vss,T1,T2,T6,T5,T3,T4,VGG,VDD,A,B,3.2 读/写存储器(随机存储(RAM),3.2.1 SRAM,0,1,止,通,A0,B1:T1通,T2止,记忆单元存储“1”,字选择线,位线2,位线1,Vss,T1,T2,T6,T5,T3,T4,VGG,VDD,A,B,3.2 读
10、/写存储器(随机存储(RAM),3.2.1 SRAM,0,止,止,字线“0”,记忆单元未被选中,T5、T6止,触发器与位线断开,原存信息不会丢失,称保持状态。,字选择线,位线2,位线1,Vss,T1,T2,T6,T5,T3,T4,VGG,VDD,A,B,3.2 读/写存储器(随机存储(RAM),3.2.1 SRAM,1,通,通,字线“1”,记忆单元被选中,T5、T6通,可进行读、写操作。,字选择线,位线2,位线1,Vss,T1,T2,T6,T5,T3,T4,VGG,VDD,A,B,读操作,字线“1”,记忆单元被选中,T5、T6通,可进行读、写操作。,1,T5、T6通,则A、B点与位线1、位线2
11、相连。,若记忆单元为“1”,即A0,B1,则T1通,T2止,在位线1产生负脉冲。,位线先充电至高电平,然后字线加正脉冲,字选择线,位线2,位线1,Vss,T1,T2,T6,T5,T3,T4,VGG,VDD,A,B,读操作,字线“1”,记忆单元被选中,T5、T6通,可进行读、写操作。,1,T5、T6通,则A、B点与位线1、位线2相连。,若记忆单元为“0”,即A1,B0,则T1止,T2通,在位线2产生负脉冲。,位线先充电至高电平,然后字线加正脉冲,字选择线,位线2,位线1,Vss,T1,T2,T6,T5,T3,T4,VGG,VDD,A,B,写操作,字线“1”,记忆单元被选中,T5、T6通,可进行读
12、、写操作。,写入“1”,则使位线1输入“0”,位线2输入“1”,它们分别通过T5、T6管迫使T1通、T2止A0,B1,使记忆单元内容变成“1”,完成写“1”操作。,0,1,止,通,1,0,字选择线,位线2,位线1,Vss,T1,T2,T6,T5,T3,T4,VGG,VDD,A,B,写操作,字线“1”,记忆单元被选中,T5、T6通,可进行读、写操作。,写入“0”,则使位线1输入“1”,位线2输入“0”,它们分别通过T5、T6管迫使T1止、T2通A1,B0,使记忆单元内容变成“0”,完成写“0”操作。,0,1,通,止,1,0,在该记忆单元未被选中或读出时,电路处于双稳态,触发器工作状态由电源VDD
13、不断给T1、T2供电,以保持信息,但是只要电源被切断,原存信息便会丢失,这就是半导体存储器的易失性。,静态 RAM 基本电路的 读 操作,静态 RAM 基本电路的 写 操作,静态 RAM 芯片举例, Intel 2114 外特性,存储容量 1K4位,3.2 读/写存储器(随机存储(RAM),3.2.1 SRAM, Intel 2114 RAM 矩阵 (64 64) 读, Intel 2114 RAM 矩阵 (64 64) 读, Intel 2114 RAM 矩阵 (64 64) 读, Intel 2114 RAM 矩阵 (64 64) 读, Intel 2114 RAM 矩阵 (64 64)
14、读, Intel 2114 RAM 矩阵 (64 64) 读, Intel 2114 RAM 矩阵 (64 64) 读, Intel 2114 RAM 矩阵 (64 64) 读, Intel 2114 RAM 矩阵 (64 64) 读, Intel 2114 RAM 矩阵 (64 64) 写, Intel 2114 RAM 矩阵 (64 64) 写, Intel 2114 RAM 矩阵 (64 64) 写, Intel 2114 RAM 矩阵 (64 64) 写, Intel 2114 RAM 矩阵 (64 64) 写, Intel 2114 RAM 矩阵 (64 64) 写, Intel 2
15、114 RAM 矩阵 (64 64) 写, Intel 2114 RAM 矩阵 (64 64) 写, Intel 2114 RAM 矩阵 (64 64) 写,地址有效,地址失效,数据稳定,高阻,静态 RAM 读 时序,静态 RAM (2114) 写 时序,3.2 读/写存储器(随机存储(RAM),3.2.2 DRAM,三管动态存储单元,定义: “0”C上有足够的电荷,T1导通。 “1”-C上无电荷或电荷很少,不能使T1导通。,3.2 读/写存储器(随机存储(RAM),3.2.2 DRAM,三管动态存储单元,预充电信号预充电至“1”。,读选择线“1”,T3导通。,若C上充有电荷,T1导通,读出数
16、据线经T1、T3接地,读出电压为“0”。,读出数据线至“1”,若C上无电荷,T1截止,读出数据为“1”。,3.2 读/写存储器(随机存储(RAM),3.2.2 DRAM,三管动态存储单元,特点:三管单元布线较复杂,所用元件较多,但电路稳定。,写选择线“1”,T2导通。,若T2截止,C的电压保持不变。,写入数据线加载写入信号,C随写入信号而充电或放电(“0”放电,“1”充电)。,3.2 读/写存储器(随机存储(RAM),3.2.2 DRAM,单管动态存储单元,读出时数据线有电流 为 “1”,T,无电流,有电流,读出过程:字线高电平,T导通,若CS有电荷,则放电,在数据线上产生电流,视为读出“1”
17、;若CS无电荷,在数据线上不产生电流,视为读出“0”;,3.2 读/写存储器(随机存储(RAM),3.2.2 DRAM,单管动态存储单元,写入时CS充电 为 “1” 放电 为 “0”,T,写入过程:字线为高电平,T导通, 若数据线为高电平,经T管对CS充电;若数据线为低电平,CS经T放电。写入数据与原数据相同,CS电荷不变。,动态 RAM 芯片举例, 三管动态 RAM 芯片 (Intel 1103) 读,读 写 控 制 电 路, 三管动态 RAM 芯片 (Intel 1103) 写, 三管动态 RAM 芯片 (Intel 1103) 写, 三管动态 RAM 芯片 (Intel 1103) 写,
18、 三管动态 RAM 芯片 (Intel 1103) 写, 三管动态 RAM 芯片 (Intel 1103) 写, 三管动态 RAM 芯片 (Intel 1103) 写, 三管动态 RAM 芯片 (Intel 1103) 写,读 写 控 制 电 路, 三管动态 RAM 芯片 (Intel 1103) 写,读 写 控 制 电 路, 三管动态 RAM 芯片 (Intel 1103) 写,读 写 控 制 电 路, 单管动态 RAM 4116 (16K 1位) 外特性, 4116 (16K 1位) 芯片 读 原理,63,0,0,0, 4116 (16K 1位) 芯片 写 原理,63,0,t1行地址建立时
19、间, t3行地址保持时间。,t2列地址建立时间, t4列地址保持时间。,DRAM 时序,3.2 读/写存储器(随机存储(RAM),3.2.2 DRAM,DRAM 时序,行、列地址分开传送,写时序,数据 DOUT 有效,数据 DIN 有效,读时序,3.2 读/写存储器(随机存储(RAM),3.2.2 DRAM,DRAM 的刷新,3.2 读/写存储器(随机存储(RAM),3.2.2 DRAM,DRAM采用“读出”方式进行再生。由于DRAM每列都有自己的读出放大器(再生放大器),因此,只要依次改变行地址,轮流对存储矩阵的每一行所有单元同时进行读出,当把所有行全部读出一遍时,就完成了对存储器的再生(这
20、种再生称行地址再生)。,在电荷漏掉以前就进行充电,以恢复原来的电荷。 把这一充电过程称为再生,或称为刷新。,刷新与行地址有关,“死时间率” 为 32/4000 100% = 0.8%,“死区” 为 0.5 s 32 = 16 s,以 32 32 矩阵为例,DRAM 的刷新,tC = tM + tR,无 “死区”, 分散刷新(存取周期为1s),(存取周期为 0.5 s + 0.5 s),以 32 32 矩阵为例,DRAM 的刷新, 分散刷新与集中刷新相结合,对于 32 32 的存储芯片(存取周期为 0.5s),将刷新安排在指令译码阶段,不会出现 “死区”,“死区” 为 0.5 s,若每隔 2 m
21、s 集中刷新一次,“死区” 为 16 s,DRAM 的刷新,3.2.3 DRAM 和SRAM 的比较,存储原理,集成度,功耗,价格,速度,刷新,3.2 读/写存储器(随机存储(RAM),3.2.4 DRAM的发展,3.2 读/写存储器(随机存储(RAM),2.cache DRAM(CDRAM),EDRAM的存取时间和周期时间比普通DRAM减少一半,在芯片中集成了小容量SRAM cache。,其原理与EDRAM相似,其主要差别是SRAM cache的容量较大,且与真正的cache 原理相同。,扩充数据输出(extended data out,简称EDO)。它在完成当前内存周期前即可开始下一内存周
22、期的操作,因此能提高数据带宽或传输率。,3. EDO DRAM,1.增强型DRAM(EDRAM),3.2.4 DRAM的发展,3.2 读/写存储器(随机存储(RAM),6.集成随机存储器(IRAM):将整个DRAM系统集成在一个芯片内。,4.同步FRAM(SDRAM) :读写周期快。,5. Rambus DRAM(RDRAM):高速度。,7. ASIC RAM :专用存储器芯片,以RAM为中心。,3.3 非易失性半导体存储器(只读存储器ROM),根据半导体制造工艺的不同,可将存储器分为:,1.只读存储器(ROM),2.可编程序的只读存储器(PROM),3.可擦除可编程序只读存储器(EPROM)
23、,存储内容之能读不能写。,客户根据自己的需要写存储器的内容,写好之后内容不能修改。,存储单元由一个管子组成。管子上多加一个浮置栅,信息内容电荷保存此处,即使掉电,信息仍然需保留。当要修改内容时,先将其内容擦除(紫外线使浮置栅上的电荷泄露),然后编程。编程次数不受限制。,4.快擦除读写存储器(Flash Memory),3.可电擦可编程序只读存储器( E2PROM ),E2PROM编程原理与EPROM相同,但擦除原理不同,它具有电擦除功能。其重复改写的次数有限,一般为10万次。,它与EPROM一样用单管储存信息,与E2PROM相同用电来擦除。但能擦除整个区或整个器件。其特点:兼有ROM和RAM两
24、者性能,具有存储量大、非易失性、可在线改写和高速读的特性。,3.3 非易失性半导体存储器(只读存储器ROM),3.3 非易失性半导体存储器(只读存储器ROM),几种存储器的主要应用,存储器 应用SRAM cache(高速缓存器)DRAM 计算机主存储器ROM 固定程序,该程序控制存储器PROM 用户自编程序。用于工业控制机或电器中EPROM 用户编写并可修改程序或试制阶段编程序E2PROM IC卡上存储信息Flash Memory 固态盘,IC卡,3.4 半导体存储器的组成与控制,常用的半导体存储器芯片有多字一位片和多字多位(4位、8位)片,如16M位容量的芯片可以有16M l位和4M 4位等
25、种类。,位扩展概念:位扩展指的是用多个存储器器件对字长进行扩充。方法:位扩展的连接方式是将多片存储器的地址、片选CS、读写控制端RW相应并联,数据端分别引出。,3.4.1 存储器容量扩展,用 2片 1K 4位 存储芯片组成 1K 8位 的存储器,3.4 半导体存储器的组成与控制,3.4.1 存储器容量扩展,位扩展,字扩展,概念:字扩展指的是增加存储器中字的数量。方法:静态存储器进行字扩展时,将各芯片的地址线、数据线、读写控制线相应并联,而由片选信号来区分各芯片的地址范围。动态存储器一般不设置CS端,但可用RAS端来扩展字数。只有当RAS由“1”变“0”时,才会激发出行时钟,存储器才会工作。,3
26、.4 半导体存储器的组成与控制,3.4.1 存储器容量扩展,用 2片 1K 8位 存储芯片组成 2K 8位 的存储器,字扩展,字位扩展,实际存储器往往需要字向和位向同时扩充。一个存储器的容量为M N位,若使用L K位存储器芯片,那么,这个存储器共需要 个存储器芯片。,3.4 半导体存储器的组成与控制,3.4.1 存储器容量扩展,例:由Intel2114(1K 4位)芯片组成容量为4K 8位的主存储器的逻辑框图,说明地址总线和数据总线的位数,该存储器与8位字长的CPU的连接关系。,解:此题所用芯片是同种芯片。 (1)片数=存储器总容量(位)/芯片容量(位)=4K*8/(1K*4)=8(片) (2
27、)CPU总线(由存储器容量决定)地址线位数=log2(字数)=log2(4K)=12(位)数据线位数=字长=8(位),(3)芯片总线(由芯片容量决定)地址线=log2(1K)=10(位)数据线=4(位) (4)分组(组内并行工作,CS连在一起,组间串行工作,CS分别连接译码器的输出)组内芯片数=存储器字长/芯片字长=8/4=2(片)组数=芯片总数/组内片数=8/2=4(组) (5)地址分配与片选逻辑,需12位地址寻址:,4KB,A15A12A11 A10 A9 A0,A11A0,0 0 0 0,任意值,0 0 1 1,0 1 1 1,1 0 1 1,0 1 0 0,1 0 0 0,1 1 0
28、0,1 1 1 1,片选,芯片地址,低位地址分配给芯片,高位地址形成片选逻辑。,芯片 芯片地址 片选信号 片选逻辑,1K,1K,1K,1K,A9A0 A9A0 A9A0 A9A0,CS0 CS1 CS2 CS3,A11A10,A11A10,A11A10,A11A10,(6)连接方式:扩展位数,扩展单元数,连接控制线,例:某半导体存储器,按字节编址。其中: 0000H07FFH为ROM区、选用EPROM芯片(2KB/片); 0800H13FFH为RAM区、选用RAM芯片 (2KB/片和1KB/片)。 地址总线A15A0(低)。给出地址分配和片选逻辑。,1.计算容量和芯片数,ROM区:2KB RA
29、M区:3KB 共3片,存储空间分配:,先安排大容量芯片(放地址低端),再安排小容量芯片。,便于拟定片选逻辑。,A15 A14 A13 A12 A11 A10 A9A0,0 0 0 0 0 0 0,0 0 0 0 0 1 1,0 0 0 0 1 1 1,0 0 0 1 0 0 1 1,0 0 0 0 1 0 0,0 0 0 1 0 0 0 0,低位地址分配给芯片,高位地址形成片选逻辑。,芯片 芯片地址 片选信号 片选逻辑,2K,2K,1K,A10 A0,A10 A0,A9 A0,CS0,CS1,CS2,A12A11,A12A11,A12A11,5KB需13位地址寻址:,ROM,A12A0,RAM
30、,A10,A15A14A13为全0,计算机在运行过程中,主存储器要和CPU、各种外围设备频繁地高速交换数据。由于结构、工艺和元件质量等种种原因,数据在存储过程中有可能出错,所以,一般在主存储器中设置差错校验线路。实现差错检测和差错校正的代价是信息冗余。早期的计算机多采用奇偶校验电路,只有一位附加位,但这只能发现一位错而不能纠正。由于大规模集成电路的发展,主存储器的位数可以做得更多,使多数计算机的存储器有纠正错误代码的功能(ECC)。一般采用的海明码校验线路可以纠正一位错。,3.4 半导体存储器的组成与控制,3.4.2 存储器校验,3.5 提高存储器性能技术,速度和容量是存储器的两大主要课题,计
31、算机的发展对存储器不断地提出更高速度和更大容量的要求。除去存储器制造技术在不断发展外,在单机系统中,提高存储器性能的技术还有:双端口存储器、并行主存储器、高速缓冲存储器、虚拟存储器等。,一.存储器制造技术的发展,1.FPM DRAMFPM DRAM(Fast Page Mode DRAM):快速页面模式DRAM。,2.EDO DRAMEDO DRAM(Extended Data Out DRAM):扩展数据输出DRAM。,FPM DRAM,以4字节突发模式传送数据,这4个字节来自同一列或者说同一页。,FPM DRAM,EDO DRAM,4.DDR DRAMDDR DRAM(Double Dat
32、a Rata DRAM):双速率SDRAM。,5.RDRAMRDRAM(Rambus DRAM):内部总线DRAM。,3.SDRAM DRAMSDRAM DRAM(Synchronous DRAM):同步主存。,6.VCMVCM又称虚拟通道内存(Virtual Channel Memory)。,3.5 提高存储器性能技术,一.存储器制造技术的发展,SDRAM,二.双端口存储器,双端口存储器具有两个彼此独立的读/写口,每个读/写口都有一套独立的地址寄存器和译码电路,可以并行地独立工作。两个读/写口可以按各自按收的地址,同时读出或写入,或一个写入而另一个读出。与两个独立的存储器不同,两套读/写口的
33、访存空间相同,可以访问同一存储单元。通常使双端口存储器的一个读/写口面向CPU,另一个读/写口则面向外设或输入输出处理机。,3.5 提高存储器性能技术,三.并行主存器,并行主存有单体多字方式和多体并行和多体交叉方式。 1.单体多字方式多个并行工作的存储器共有一套地址寄存器和译码电路,按同一地址并行地访问各自的对应单元。例:CPU送出地址A,则n个存储器中的所有A单元同时被选中。若每个存储器的字长为W位,则同时访问nW 位,即可以将n 个存储器看作一个大存储器,一次访问n个字,称为单体多字方式。,3.5 提高存储器性能技术,.多体并行方式,n个并行的存储器具有各自的地址寄存器、读/写电路和数据寄
34、存器,称为存储模块。它们能各自以同等的方式与CPU传递信息,形成可以同时工作又独立编址且容量相同的n个分存储体,这就是多体方式。,主存地址寄存器的高位表示模块号,低位表示块内地址。,三.并行主存器,3.5 提高存储器性能技术,多体交叉存储器,计算机中大容量的主存,可由多个存储体组成,每个体都具有自己的读写线路、地址寄存器和数据寄存器,称为“存储模块”。这种多模块存储器可以实现重叠与交叉存取。如果在M个模块上交叉编址(M=2m),则称为模M交叉编址。,三.并行主存器,3.5 提高存储器性能技术,(1) 高位交叉,各个体并行工作,多体交叉存储器,(2) 低位交叉,各个体轮流编址,多体交叉存储器,低
35、位交叉的特点,在不改变存取周期的前提下,增加存储器的带宽,启动存储体 0,启动存储体 1,启动存储体 2,启动存储体 3,多体交叉存储器,3.6 高速缓冲存储器,问题的提出,避免 CPU “空等” 现象,CPU 和主存(DRAM)的速度差异,容量小 速度高,容量大 速度低,程序访问的局部性原理,3.6.1 Cache 的工作原理,主存和缓存的编址,主存和缓存按块存储 块的大小相同,B 为块长,命中与未命中,M C,主存块 调入 缓存,主存块与缓存块 建立 了对应关系,用 标记记录 与某缓存块建立了对应关系的 主存块块号,主存块与缓存块 未建立 对应关系,主存块 未调入 缓存,3.6.1 Cac
36、he 的工作原理,Cache 的命中率,CPU 欲访问的信息在 Cache 中的 比率,命中率 与 Cache 的 容量 与 块长 有关,一般每块可取 4 至 8 个字,块长取一个存取周期内从主存调出的信息长度,CRAY_1 16体交叉 块长取 16 个存储字,IBM 370/168 4体交叉 块长取 4 个存储字,(64位4 = 256位),3.6.1 Cache 的工作原理,Cache 的基本结构,由 CPU 完成,3.6.1 Cache 的工作原理,Cache 的读写操作,写,Cache 和主存的一致性,读,3.6.1 Cache 的工作原理,全相联映象,主存 中的 任一块 可以映象到
37、缓存 中的 任一块,任何主存地址可映象到任何Cache地址的方式。在这种方式下,主存中存储单元的数据可调入到Cache中的任意位置。只有在Cache中的块全部装满后才会出现块冲突。,3.6.2 Cache 主存的地址映象,3.6.2 Cache 主存的地址映象,直接映象,经主存和Cache机械分块后,将主存再按Cache大小分区,让主存中每一区中的各个块均只能一一对应装入Cache中的相应块位置。若这个位置已有数据,则产生冲突,原来的块将被替换出去。,组相联映象,经主存和Cache机械分块并将主存分区后,再将Cache和主存中的每一区都等分成大小相同的组,让主存中各区中某一组中的任何一块均可直
38、接映象到Cache中对应组的任何一块位置上。各组之间是直接映象,而组内各块之间则是全相联映象。,3.6.2 Cache 主存的地址映象,3.6.3 替换算法,1. 先进先出 ( FIFO )算法,2. 近期最少使用法( LRU)算法,小结,某一 主存块 只能固定 映射到 某一 缓存块,某一 主存块 能 映射到 任一 缓存块,某一 主存块 能 映射到 某一 缓存 组 中的 任一块,不灵活,成本高,3.7 虚拟存储器,虚拟存贮器:因为贮存容量满足不了要求提出来的,在主存和辅存之间增加辅助软硬件,让它们构成一个整体,从CPU看,速度接近于主存的,容量是辅存的,每位的价格接近于辅存的价格。应用程序员可
39、直接用机器指令的地址码对整个程序统一编址,虚拟存贮空间比实际主存空间大得多。,3.7.1 段式管理,将程序按逻辑意义分成段,按段进行调进、调出和管理。,+,+,6.5k,A、将程序按模块分段,每段起始地址为0,长度不定。,B、设置段表,记录程序中各段是否已装入主存,每个程序有一个段表。,C、设置段表基地址寄存器,记录各程序段表的在主存的起始位置。,D、用户虚地址。,E、地址变换。,工作过程:,3.7 虚拟存储器,将主存空间和程序空间都机械等分成相同大小的页面,让程序的起点必须处在主存中某一个页面位置的起点上。,工作过程:,1.5k,0,+,A、将程序和主存分页,B、设置页表,记录程序中各页是否
40、已装入主存,每个程序有一个页表。,D、设置页表基地址寄存器,记录各程序页表在主存的起始位置。,E、用户虚地址、主存实地址。,F、地址变换。,C、地址映象,3.7.2 页式管理,3.7 虚拟存储器,例:某虚拟存储器的用户编程空间共有32个页面,每页1KB,主存为16KB。假定某时刻该用户页表已调入主存时页面的虚页号和实页号对照下表所示。问与虚地址0A5CH、1A5CH相对应的主存实地址是多少?,已装入主存的部分虚、实页对照表,3.7.2 页式管理,3.7 虚拟存储器,例:某虚拟存储器的用户编程空间共有32个页面,每页1KB,主存为16KB。假定某时刻该用户页表已调入主存时页面的虚页号和实页号对照
41、下表所示。问与虚地址0A5CH、1A5CH相对应的主存实地址是多少?,虚页号Nv(5),页内偏移Nr (10),单用户虚地址,3.7.2 页式管理,3.7 虚拟存储器,已装入主存的部分虚、实页对照表,已装入主存的部分虚、实页对照表,1001011100,00010,虚页号Nv(5),页内偏移Nr (10),单用户虚地址,主存实地址,实页号nv (4),页内偏移nr (10),0100,虚地址0A5CH,1001011100,查表(已装入),直接,实地址125CH,3.7.2 页式管理,3.7 虚拟存储器,已装入主存的部分虚、实页对照表,1001011100,00110,虚页号Nv(5),页内偏
42、移Nr (10),单用户虚地址,主存实地址,实页号nv (4),页内偏移nr (10),虚地址1A5CH,查表(未装入),直接,页面实效,无主存实地址,3.7.2 页式管理,3.7 虚拟存储器,将程序按逻辑意义先分段,再让各段和主存都机械等分成相同大小的页面,每道程序通过一个段表和一个页表来进行程序在主存中的定位。,3.7.3 段页式管理,3.7 虚拟存储器,工作过程:,3.7.3 段页式管理,3.7 虚拟存储器,组相联Cache存储器中,Cache共有4块,采用的是LRU替换算法,*表示即将替换出Cache的主存块。,(1)画出主存块地址流使用Cache情况如表所示。命中率是多少? (2)画出主存与Cache各块空间对应关系。 (3)指出发生块失效同时又发生块冲突的时刻t。,问:,组相联Cache存储器中,Cache共有4块。主存块地址流使用Cache情况如表所示。,*表示即将替换出Cache的主存块。,(1)它采用的是什么替换算法?命中率是多少? (2)画出主存与Cache各块空间对应关系。 (3)指出发生块失效同时又发生块冲突的时刻t。,问:,