600 likes | 718 Views
第 6 章 主存储器与存储 系统. 本章主要内容:. 本章讲述 存储器的分类、主存储器的构成和并行主存储器的思想 及 设计方法;存储系统的概念 及 存储系统的构成 。 重点掌握 并行主存储器的构成, Cache 的组成原理与地址映射方式、替换算法 ;掌握段式、页式和段页式虚拟存储器的构成原理、地址映射方式等。. 6.1 存储器分类 6.2 主存储器的主要技术指标 6.3 读写存储器 6.4 非易失性半导体存储器 6.5 主存储器组成 6.6 相联存储器 6.7 存储系统与并行存储器
E N D
本章主要内容: • 本章讲述存储器的分类、主存储器的构成和并行主存储器的思想及设计方法;存储系统的概念及存储系统的构成。 • 重点掌握并行主存储器的构成,Cache的组成原理与地址映射方式、替换算法;掌握段式、页式和段页式虚拟存储器的构成原理、地址映射方式等。
6.1 存储器分类6.2 主存储器的主要技术指标 6.3 读写存储器 6.4 非易失性半导体存储器6.5 主存储器组成 6.6 相联存储器 6.7 存储系统与并行存储器 6.8 高速缓冲器Cache6.9 虚拟存储器原理
6.1 存储器分类 • (1)随机存储器(Random Access Memory,RAM)。 • (2)只读存储器(Read Only Memory,ROM)。 • (3)可编程只读存储器(Programmable ROM,PROM)。 • (4)可擦除可编程只读存储器(Erasable PROM,EPROM)。 • (5)电可擦除可编程只读存储器(Electrically EPROM,E2PROM)。
6.2 主存储器的主要技术指标 • 主存储器的主要性能指标为主存容量、存储器存取时间和存储器存储周期。 • 存储器存取时间(Memory Access Time) • 存储周期(Memory Cycle Time) • 主存储器的速度和容量两项技术指标
6.3 读写存储器 6.3.1 静态RAM 1.静态RAM的基本电路 图6-1 静态MOS 6管基本存储电路
2.静态RAM的结构 • 3.静态RAM芯片实例——Intel 2114 • 4.由2114 SRAM构成规定容量的存储器 图6-5 地址译码电路
6.3.2 动态RAM • 1.动态RAM基本存储电路 图6-6 单管动态RAM的基本存储电路
2.动态RAM的特点及举例 • 3.动态RAM的刷新
6.4 非易失性半导体存储器 6.4.1 只读存储器(ROM) 图6-8 44 MOS ROM
6.4.2 可编程只读存储器(PROM) 图6-9 熔丝式PROM基本存储电路
6.4.3 可擦除可编程只读存储器EPROM) • 1.EPROM的存储电路 图6-10 P沟道FAMOS管基本存储电路及P沟道FAMOS管结构
2.典型EPROM芯片的介绍 按上述原理及工艺制造的EPROM芯片 常用的有27系列,如2708(1K8)、2716 (2K8)、2764(8K8)、27128(16K8) 和27512(64K8)等
6.4.4 电可擦除可编程只读存储器(E2PROM) • 1.E2PROM的特点 E2PROM(Electric Erasable PROM)突出 的优点是可以在线擦除和改写。
2.E2PROM芯片介绍 图6-11 E2PROM管脚图
6.4.5 快速擦写存储器(Flash Memory) • 1.Flash的主要性能特点 • 2.Flash的工作原理
6.4.6 几种新型存储器 • 1.高速缓存动态随机存储器(Cached DRAM,CDRAM) • 2.Direct Rambus接口动态随机存储器(Direct Rambus DRAM,DRDRAM) • 3.双数据传输率同步动态随机存储器(Double Data Rate SDRAM,DDR SDRAM) • 4.同步链动态随机存储器(Synchnonous Link DRAM,SLDRAM)
5.虚拟通道存储器(Virtual Channel Memory,VCM) • 6.快速循环动态存储器(Fast Cycle RAM,FCRAM) • 7.扩展数据输出动态存储器(Extended Data Out DRAM,EDO DRAM)
6.5 主存储器组成 存储器扩展有以下三种方法。 6.5.1 位扩展 指用多个存储器器件对字长进行扩充。位扩展的 一般方法是: • (1)在给定的芯片中选择合适的芯片,并确定使 用数量; • (2)将选中芯片的地址线、读写线、片选线对应 连接; • (3)将数据线单独连接,拼接成要求的数据宽 度。
例如,使用Intel 2114(1K×4)芯片扩展成为 1K×8容量的存储器。根据要求可以选用2片 2114,按如图6-12所示连接。 图6-12 位扩展实例
6.5.2 字扩展 指用多个存储器器件对字数进行扩充。字扩展 的一般方法是: • (1)在给定的芯片中选择合适的芯片,并确定 使用数量; • (2)将选中芯片的低位地址线、读写线、数据 线对应连接; • (3)用高位地址线译码,将输出接至各芯片的 片选端。
例如,使用Intel 2114(1K×4)芯片扩展成为 4K×4容量的存储器。根据要求可以选用4片 2114,按如图6-13所示连接。 图6-13 字扩展实例
6.5.3 字位扩展 如果已有芯片m×n若干块,现在要扩展为 M×N(设M>m,N>n)容量的存储器,则字位扩 展共需要m×n的芯片数量为 : C=
字位扩展的一般方法: (1)选择芯片先进行位扩展,扩展成“组”,使得 “组”的字长达到要求的字长; (2)再用“组”进行字扩展,按照字扩展的方法将 字数增加到目标字数。 举例见例6-2。
6.6 相联存储器 一般的存储器都是按地址访问的,相联存 储器是一种按内容访问的存储器。 一般情况下,相联存储器有两种工作方 式,即相关方式和随机工作方式。
6.7 存储系统与并行存储器 6.7.1 存储系统的概念 存储系统是指两个或两个以上速度、容量 和价格不相同的存储器用硬件、软件、或软 件与硬件相结合的方法连接起来成为一个系 统。
以由两个存储器构成的存储系统为例: • 1.存储容量S • 2.位价格C 整个存储系统的平均位价格可以这样来计算:
3.访问周期T 其中,H表示命中率,在程序执行过程中对M1存 储器的访问次数为N1(N2同理),T表示整个系统的 访问周期。 T=H T1+(1−H) T2
6.7.2 增加存储器的数据宽度 图6-18 宽字存储器
6.7.3 多体交叉存储技术 图6-19 低位交叉访问存储器的结构
6.7.4 一种无冲突访问的存储器 产生访问冲突的根本原因主要有两个, 一个是程序中的转移指令,二是数据的随机 性。 下面以一维数组的无冲突访问存储器为 例介绍。
0号存储体 1号存储体 2号存储体 3号存储体 体内地址0 a0 a1 a2 a3 1 a4 a5 a6 a7 2 a8 a9 a10 a11 3 … … … … 图6-22 一维数组的存储方案
6.8 高速缓冲器Cache Cache是为了解决存储器的速度问题而设 计的 6.8.1 Cache的工作原理 • 1.程序的局部性 在一个较短的时间间隔内,这种对局部范围的存 储器地址的频繁访问,而对此范围以外的地址访问 甚少的现象,称为程序的局部性。
2.Cache的基本结构 图6-27 Cache的基本结构
CPU同时写主存和Cache • 3.Cache的读写过程 (1)写直达法(write-through) (2)回写法(write-back) 将CPU要写的信息暂时只写入Cache,并用 标志将该块加以注明,直到该块从Cache中替换 出去时才一次写回内存。
6.8.2 Cache的地址映像与地址变换 • 1.直接映像及地址变换 直接映像是将主存中的一块唯一映像到Cache 中的一块,而Cache中的一块要对应主存中的若 干块。 设主存中的块号为B、Cache块的块号为b,若 Cache的块数为Cb,则映像关系可以表示为:b=B mod Cb
直接映像方式如下图所示: 图6-28 直接映像方式
直接映像方式的地址变换如下图所示: 图6-29 直接映像地址变换
2.全相联映像及地址变换 全相联映像方式是主存中的任意一块可以映像 到Cache中任意的块位置上。如果Cache的块数 为Cb,主存的块数为Mb,则主存和Cache块之 间的映像关系共有Cb×Mb种。
全相联映像方式如下图所示: 图6-31 全相联映像方式
全相联映像方式地址变换如下图所示: 图6-32 全相联映像方式的地址变换
3.组相联映像及地址变换 组相联映像方式把主存按Cache的容量分区, 主存中的各区和Cache在按同样大小划分成数量 相等的组,组内再划分成块,主存的组到Cache 的组之间采用直接映像方式,对应组内各块之间 采用全相联映像方式。
块0 组0 块0 块Gb-1 块Gb 块Gb-1 组1 块Gb 区0 块2Cb-1 块2Gb-1 块Gb Cg-Gb 组0 组Cg-1 块Cb- Gb=Cg Gb - Gb 块Cb- 1= GbCg-1 组1 块Cb-1= Cg Gb-1 块= GbCg(Me-1) Cache 组Cg(Me-1) 块GbCg (Me-1)+Gb-1 组Cg -1 块GbCg (Me-1)+Gb 组CgMe-Cg+1 区Me-1 块GbCg (Me-1)+2Gb-1 块 Me-Gb= Gb Cg Me-Gb 组CgMe- 1 块Mb-1= Gb Cg Me-1 主存 图6-32 组相联映像方式 组相联映像方式如右图所示:
组相联映像方式的地址变换如下图所示: 图6-34 组相联映像方式的地址变换
6.8.3 替换算法 在采用全相连映像方式和组相连映像方式从内存 向Cache传送一个新块,而Cache中的可用位置已 被占满时,就需要使用替换算法,将Cache中的块 替换出去而调入新块。常用的替换算法有以下几 种。
1.随机(RAND)算法 该算法完全不管Cache块的过去、现在及将来的 使用情况,而是简单地根据一个随机数,选择一块 替换掉。 • 2.先进先出(FIFO)算法 该算法的思想是按调入Cache的先后决定替换的 顺序,即在需要替换时,将最先进入Cache的块作 为被替换的块。
3.近期使用最少(LRU)算法 该算法是根据块的使用状况将CPU近期最少使用 的块作为被替换的块。 • 4.最优化(OPT)算法 OPT算法是一种以将来使用最少作为替换的目标 的一种算法。
6.8.4 Cache的加速比 Cache系统的加速比Sp定义为: 其中,TC为Cache的访存周期,Tm为主存的访问周期,T为Cache系统的等效访问周期,Cache的命中率为H。
6.9 虚拟存储器原理 6.9.1 虚拟存储器的工作原理 • 虚拟存储器主要由软件管理。 • 根据采用的存储映像算法,可以将虚拟存 储器的管理方式分成段式、页式和段页式三 种。
6.9.2 地址映像与变换 在虚拟存储器中,有三种地址空间,第一种是虚 拟地址空间,也称为虚空间或虚拟存储器空间,它 是应用程序员用来编写程序的地址空间;第二种空 间是主存储器的地址空间,也称主存地址空间、主 存物理空间或实存地址空间;第三种是辅存地址空 间。 地址映像就是把虚拟地址空间映像到主存地址 空间。