第三章 存储系统
3.1.1 存储器分类存储元,一个双稳态半导体电路或一个 CMOS晶体管或磁性材料。
存储单元存储器存储器有各种不同的分类方法
★ 按存储介质分半导体存储器,用半导体器件组成的存储器。
磁表面存储器,用磁性材料做成的存储器
★按存储方式分随机存储器,任何存储单元的内容都能被随机存取
,且存取时间和存储单元的物理位置无关。
顺序存储器,只能按某种顺序来存取,存取时间和存储单元的物理位置有关。
★ 按存储器的读写功能分只读存储器 (ROM),存储的内容是固定不变的,只能读出而不能写入的半导体存储器。
随机读写存储器 (RAM),既能读出又能写入的半导体存储器。
★ 按信息的可保存性分非永久记忆的存储器,断电后信息即消失的存储器。
永久记忆性存储器,断电后仍能保存信息的存储器。
★ 按在计算机系统中的作用分根据存储器在计算机系统中所起的作用,可分为 主存储器,辅助存储器,高速缓冲存储器,控制存储器 等。
3.1.2 存储器的分级结构
CAI演示
3.1.3主存储器的技术指标字存储单元字地址和字节地址主存储器的主要几项技术指标指标 含 义 表现 单位存储容量在一个存储器中可以容纳的存储单元总数存储空间的大小字数,
字节数存取时间启动到完成一次存储器操作所经历的时间主存的速度 ns
存储周期连续启动两次操作所需间隔的最小时间主存的速度 ns
存储器带宽单位时间里存储器所存取的信息量,
数据传输速率技术指标位 /秒,字节 /秒
3.2.1 SRAM存储器
1.基本存储元六管 SRAM存储元的电路图及读写操作图
2.SRAM存储器的组成
SRAM存储器的组成框图存储器对外呈现三组信号线,即 地址线,数据线,读 /写控制线地址译码器,单译码和 双译码
3.SRAM存储器芯片实例
2114存储器芯片的逻辑结构方框图由于读操作与写操作是分时进行的,读时不写,写时不读,
因此,输入三态门与输出三态门是互锁的,数据总线上的信息不致于造成混乱。
4.存储器与 CPU连接
(2) 存储器速度与容量的解决存储器芯片的容量是有限的,为了满足实际存储器的容量要求,
需要对存储器进行扩展。主要方法有:
(1) 工作原理
★位扩展法,只加大字长,而存储器的字数与存储器芯片字数一致,对片子没有选片要求,
例,使用 8K× 1的 RAM存储器芯片,组成 8K× 8位的存储器
★字扩展法,仅在字向扩充,而位数不变,需由片选信号来区分各片地址。
例,用 16K× 8位的芯片采用字扩展法组成 64K× 8位的存储器
★字位同时扩展法
5.存储器的读、写周期例 1】 下图是 SRAM的写入时序图。其中 R/W是读 /写命令控制线,当 R/W线为低电平时,存储器按给定地址把数据线上的数据写入存储器。请指出下图写入时序中的错误,并画出正确的写入时序图
3.2.2 DRAM存储器
1.四管动态存储元四管的动态存储电路 是将六管静态存储元电路中的负载管 T3,T4去掉而成的
2.
单管存储元电路和四管存储元电路对比名 称 优 点 缺 点四管存储元电路外围电路比较简单,
刷新时不需要另加外部逻辑管子多,占用的芯片面积大单管存储元电路元件数量少,集成度高需要有高鉴别能力的读出放大器配合工作外围电路比较复杂。
3,DRAM存储芯片实例下图是 16K× 1位的 DRAM存储器片 2116的逻辑结构示意图。
读写周期时序图
P82
4.DRAM的刷新动态 MOS存储器采用“读出”方式进行刷新。从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔叫 刷新周期 。
常用的刷新方式有三种,
一种是 集中式另一种是 分散式第三种是 异步式集中式分散刷新方式异步式刷新 方式是前两种方式的结合刷新周期为 2ms,完成 128行的所有存储元刷新则需要 2000us / 128 = 15.5us
标准的刷新方式两种
1、只用 RAS信号的刷新
2,CAS在 RAS之前的刷新
【例 2】 说明 1M× 1位 DRAM片子的刷新方法,刷新周期定为 8ms
如果选择一个行地址进行刷新,刷新地址为 A0— A8,因此这一行上的 2048个存储元同时进行刷新,
即在 8ms内进行 512个周期的刷新。按照这个周期数,
512× 2048= 1 048 567,即对 1M位的存储元全部进行刷新。
刷新方式可采用:在 8ms中进行 512次刷新操作的集中刷新方式,
或按 8ms÷ 512= 15.5μs刷新一次的异步刷新方式 。
5.
DRAM存储器 的刷新需要有硬件电路的支持,包括刷新计数器、刷新 /访存裁决、刷新控制逻辑等。
这些控制线路形成 DRAM控制器,它将 CPU的信号变换成适合 DRAM片子的信号。
3.2.3主存储器组成实例
W4006AF构成的 80386主存储器简图
(1)W4006AF的外特性
① 可以控制两个存储体交叉访问;
② 可以对 256KB— 16MB的 DRAM片子进行访问;
③ 最多可控制 128个 DRAM片子;
④ 采用 CAS在 RAS之前的刷新方式。
(2)主存储器组成有 4 个存储模块,每个模块存储容量为 1M× 32位
3.2.4高性能的主存储器
1.EDRAM芯片
EDRAM芯片又称增强型 DRAM芯片,它在 DRAM
芯片上集成了一个 SRAM实现的小容量高速缓冲存储器
,从而使 DRAM芯片的性能得到显著改进。
1M× 4位 EDRAM芯片的结构框图以 SRAM保存一行内容的办法,对成块传送非常有利。如果连续的地址高 11位相同,意味着属于同一行地址,那么连续变动的 9位列地址就会使 SRAM中相应位组连续读出,这称为猝发式读取。
EDRAM的这种结构还带来另外两个优点:
● 在 SRAM读出期间可同时对 DRAM阵列进行刷新。
● 芯片内的数据输出路径与输入路径是分开的,允许在写操作完成的同时来启动同一行的读操作。
2.EDRAM内存条一片 EDRAM的容量为 1M× 4位,8片这样的芯片可组成 1M× 32
位的存储模块。
8个芯片共用片选信号 Sel,行选通信号 RAS,刷新信号
Ref和地址输入信号 A0— A10。
3.主存物理地址的存储空间分布以奔腾 PC机主存为例,说明主存物理地址的存储空间概念
3.3.1只读存储器
1.ROM的分类只读存储器简称 ROM,它 只能读出,不能写入 。它的最大优点是具有 不易失性 。
根据编程方式不同,ROM通常分为三类:
只读存储器 定 义 优 点 缺 点掩模式 数据在芯片制造过程中就确定可靠性和集成度高,价格便宜 不能重写一次编程 用户可自行改变产品中某些存储元 可以根据用户需要编程 只能一次性改写多次编程可以用紫外光照射或电擦除原来的数据,然后再重新写入新的数据可以多次改写 ROM中的内容
2.光擦可编程只读存储器 (EPROM)
(1) EPROM基本存储元电路
(2)EPROM实例 -2716的内部结构图工 作 模 式 选 择
PD/PGM CS Vpp Vcc 数据输出读 低 低 +5V +5V 输出未选中 无关 高 +5V +5V 高阻功率下降 高无关 +5V +5V 高阻编程 由低到高脉冲 高 +25V +5V 输入例 3】 CPU的地址总线 16根 (A15— A0,A0为低位 ),双向数据总线
8根 (D7— D0),控制总线中与主存有关的信号有 MREQ(允许访存,
低电平有效 ),R/W(高电平为读命令,低电平为写命令 )。主存地址空间分配如下,0— 8191为系统程序区,由只读存储芯片组成;
8192— 32767为用户程序区;最后 (最大地址 )2K地址空间为系统程序工作区。上述地址为十进制,按字节编址。现有如下存储器芯片:
EPROM,8K× 8位 (控制端仅有 CS);SRAM,16K× 1位,2K× 8位,
4K× 8位,8K× 8位,请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑 (可选用门电路及 3∶ 8译码器 74LS138)与 CPU 的连接,说明选哪些存储器芯片,选多少片。
主存地址空间分布如图所示。
3.3.2闪速存储器
1.什么是闪速存储器闪速存储器是一种高密度、非易失性的读 /写半导体存储器
2.闪速存储器的逻辑结构
28F256A的逻辑方框图
3.闪速存储器的工作原理闪速存储器是在 EPROM功能基础上增加了电路的电擦除和重新编程能力。
28F256A引入一个 指令寄存器 来实现这种功能。其作用是:
(1)保证 TTL电平的控制信号输入;
(2)在擦除和编程过程中稳定供电;
(3)最大限度的与 EPROM兼容。
VPP引脚不加高电压时,它只是一个只读存储器。
当 VPP引脚加上高电压时,除实现 EPROM通常操作外,通过指令寄存器,可以实现存储器内容的变更。
当 VPP=VPPL时,指令寄存器的内容为读指令,使 28F256A成为只读存储器,称为写保护。
4
P97 表 3.4 28F256A 工作模式读操作,片选信号 CE是供电控制端,输出允许信号 OE用于控制数据从输出引脚的输出。只有这两个信号同时有效时,才能实现数据输出。
输出禁止操作,当输出允许控制端 OE处于高电平时,
28F256A
等待操作,当片选信号 CE处于逻辑高电平时,等待操作抑制了 28F256A的大部分电路,减少器件功耗。
写操作,当 VPP为高电压时,通过指令寄存器实现器件的擦除和编程 。当 CE=0且 WE=0时,通过写周期对指令寄存器进行写入
5.闪速存储器与 CPU的连接
CPU与闪速存储器进行连接的逻辑框图
3.4 高速存储器
3.4.1双端口存储器
1.双端口存储器的逻辑结构双端口存储器是指同一个存储器具有两组相互独立的读写控制线路,是一种高速工作的存储器。
2K× 16位双端口存储器 IDT7133的逻辑功能方框图
2.无冲突读写控制
P99 表 3.8 无冲突读写控制
3.有冲突的读写控制
1.CE判断,如果地址匹配且在 CE之前有效,片上的控制逻辑在 CEL和 CER
2.地址有效判断,如果 CE在地址匹配之前变低,片上的控制表 3.9 左、右端口读写操作的功能判断
3.4.2多模块交叉存储器
1.
个由若干个模块组成的主存储器是线性编址,
这些地址在各模块有两种安排方式:一种是 顺序方式,一种是 交叉方式 。
如图演示
2.多模块交叉存储器的基本结构四模块交叉存储器结构框图我们认为模块字长等于数据总线宽度,模块存取一个字的存储周期为 T,总线传送周期为 τ,存储器的交叉模块数为 m,
为了实现流水线方式存取,应当满足
T=mτ ( m=T/τ称为交叉存取度)
交叉存储器要求其模块数必须大于或等于 m,以保证启动某模块后经 mτ时间再次启动该模块时,它的上次存取操作已经完成。这样,
连续读取 m 个字所需的时间为
t1=T+(m-1)τ
m=4的流水线方式存取示意图如下而顺序方式存储器连续读取 m个字所需时间为
t2=mT.
【例 4】 设存储器容量为 32字,字长 64位,模块数 m=4,分别用顺序方式和交叉方式进行组织。存储周期 T=200ns,数据总线宽度为
64位,总线传送周期 τ=50ns。 问顺序存储器和交叉存储器的带宽各是多少?
顺序存储器和交叉存储器连续读出 4个字所需的时间分别是:
t2=mT=4× 200ns=800ns=8× 10-7s;
t1=T+(m-1)=200ns+3× 50ns=350ns=3.5× 10-7s
顺序存储器和交叉存储器连续读出 m=4个字的信息总量都是:
q=64位× 4=256位顺序存储器和交叉存储器的带宽分别是:
W2=q/t2=256÷ (8× 10-7)=32× 107[ 位 /s] ;
W1=q/t1=256÷ (3.5× 10-7)=73× 107[ 位 /s]
3.二模块交叉存储器举例
DRAM芯片二模块交叉存储器方框图无等待状态成块存取示意图
3.4.3相联存储器
1.相联存储器的基本原理相联存储器是指其中任一存储项内容作为地址来存取的存储器。选用来寻址存储器的子段叫做 关键字 。
存放在相联存储器中的项可以看成具有 KEY,DATA这样的格式。其中 KEY是地址,DATA是被读写信息。
2.相联存储器的组成相联存储器框图在计算机系统中,相联存储器主要用于虚拟存储器中存放分段表、
页表和快表;
在高速缓冲存储器中,相联存储器作为存放 cache的行地址之用。这
3.5 cache存储器
3.5.1 cache基本原理
1.cache的功能
2,cache的基本原理
3.cache
Nc表示 cache完成存取的总次数,Nm表示主存完成存取的总次数,
h定义为命中率,则有若 tc表示命中时的 cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则 cache/主存系统的平均访问时间 ta为:
ta=htc+(1-h)tm ( 3.5)
设 r表示主存慢于 cache的倍率,e表示访问效率,则有,
r=tm/tc ( 3.6)
为提高访问效率,命中率 h越接近 1越好,r值以 5— 10为宜,不宜太大。命中率 h与程序的行为,cache的容量、组织方式、块的大小有关。
【例 5】 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
3.5.2.主存与 cache的地址映射映射方式有 全相联方式,直接方式 和 组相联方式 三种
1.全相联映射 方式这种方法可使主存的一个块直接拷贝到 cache中的任意一行上,
非常灵活。
它的主要缺点是比较器电路难于设计和实现,因此只适合于小容量 cache采用。
2.直接映射 方式直接映射方式的优点是硬件简单,成本低。
缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。因此适合大容量 cache采用。
3.组相联映射 方式组相联映射方式中的每组行数 v一般取值较小,这种规模的
v路比较器容易设计和实现。
而块在组中的排放又有一定的灵活性,冲突减少。
3.5.3.替换策略对直接映射的 cache来说,只要把此特定位置上的原主存块换 cache即可。
对全相联和组相联 cache来说,就要从允许存放新主存块的若干特定行中选取一行换出
★最不经常使用 (LFU)算法
LFU算法将一段时间内被访问次数最少的那行数据换出。每行设置一个计数器。从 0开始计数,每访问一次,被访行的计数器增
1。当需要替换时,将计数值最小的行换出,同时将这些行的计数器都清零。
这种算法将计数周期限定在对这些特定行两次替换之间的间隔时间内,不能严格反映近期访问情况。
★近期最少使用 (LRU)
LRU算法将近期内长久未被访问过的行换出。每行也设置一个计数器,cache每命中一次,命中行计数器清零,其它各行计数器增 1。当需要替换时,将计数值最大的行换出。
这种算法保护了刚拷贝到 cache中的新数据行,有较高的命中率。
★随机替换随机替换策略从特定的行位置中随机地选取一行换出。在硬件上容易实现,且速度也比前两种策略快。
缺点是降低了命中率和 cache工作效率。
3.5.4 cache的写操作策略
CPU对 cache的写入更改了 cache的内容。可选用写操作策略使
cache内容和主存内容保持一致。
★写回法当 CPU写 cache命中时,只修改 cache的内容,而不立即写入主存;只有当此行被换出时才写回主存。
当 CPU写 cache未命中时这种方法减少了访问主存的次数,但是存在不一致性的隐患
。
实现这种方法时,每个 cache行必须配置一个修改位,以反映此行是否被 CPU修改过。
★全写法当写 cache命中时,cache与主存同时发生写修改,因而较好地维护了 cache与主存的内容的一致性。当写 cache未命中时,直接向主存进行写入 (2方法 )。 cache中每行无需设置一个修改位以及相应的判断逻辑。
缺点是降低了 cache的功效。
★写一次法基于写回法并结合全写法的写策略,写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。这便于维护系统全部 cache
3.5.5 奔腾 PC机的 cache
奔腾 PC机采用两级 cache结构。安装在主板上的 2级
cache(L2)采用 2路组相联映射方式,集成在 CPU内的 1级
cache(L1)也采用 2路组相联映射方式,
奔腾 PC机的 cache工作环境数据 cache采用 2路组相联结 P113 图 3。 40
L2级 cache采用的是写回法,L1级数据 cache采用的是写一次法。为了维护 cache的一致性,L1和 L2均采用 MESI协议,
即要求每个 cache行有两个状态位,用以描述该行当前是处于修改态、专有态、共享态或者无效态中的哪种状态,
从而决定对它的读 /写操作行为。
3.6.1虚拟存储器的基本概念
1.什么是虚拟存储器虚拟存储器 只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。
它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。
它指的是主存 -外存层次。以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。
物理地址 和 虚拟地址主存 -外存层次 和 cache-主存层次 用的地址变换映射方法和替换策略是相同的:
①把程序中最近常用的部分驻留在高速的存储器中。
②一旦这部分变得不常用了,把它们送回到低速的存储器中。
③这种换入换出是由硬件或操作系统完成的,对用户是透明的。
④力图使存储系统的性能接近高速存储器,价格接近低速存储器 。
区别,在虚拟存储器中未命中的性能损失要远大于 cache
系统中未命中的损失
2.主存 -外存层次的基本信息传送单位主存 -外存层次的基本信息传送单位可采用几种不同的方案:
段、页或段页 。
段是按照程序的逻辑结构划分成的多个相对独立部分,作为独立的逻辑单位。
段优点 是段的逻辑独立性使它易于编译、管理、修改和保护,
也便于多道程序共享;某些类型的段具有动态可变长度,
允许自由调度以便有效利用主存空间。
缺点 是因为段的长度各不相同,起点和终点不定,给主存空间分配带来麻烦,而且容易在段间留下许多空余的零碎存储空间,造成浪费。
页是主存物理空间中划分出来的等长的固定区域。
页优点 是页面的起点和终点地址是固定的,方便造页表,新页调入主存也很容易掌握,比段式空间浪费小。 缺点 是处理、保护和共享都不及段式来得方便。
段页式管理采用分段和分页结合的方法。
段页式程序按模块分段,段内再分页,进入主存以页为基本信息传送单位,用段表和页表进行两级定位管理。
3.6.2页式虚拟存储器页式管理的地址变换快表与慢表实现内部地址变换的方式
3.6.3
虚存地址向实存地址的变换过程
3.6.4 段页式虚拟存储器在段页式虚拟存储系统中,每道程序是通过 一个段表 和 一组页表 来进行定位的。段表中的每个表目对应一个段,每个表目有一个指向该段的 页表起始地址 及该段的控制保护信息。
由页表指明该段 各页在主存中的位置 以及是否已装入、已修改等状态信息。
如果有多个用户在机器上运行多道程序的每一道需要一个 基号,由它指明该道程序的 段表起始地址 。
虚拟地址格式如下:
基号 段号 页号 页内地址
【例 6】 假设有三道程序 (用户标志号为 A,B,C),其基址寄存器内容分别为 SA,SB,SC,逻辑地址到物理地址变换过程
3.6.5 替换算法虚拟存储器中的替换策略一般采用 LRU算法,LFU
算法 FIFO算法,或将两种算法结合起来使用对于将被替换出去的页面,假如该页调入主存后没有被修改,就不必进行处理,否则就把该页重新写入外存,以保证外存中数据的正确性。为此,在页表的每一行应设置一 修改位 。
【例 7】 假设主存只有 a,b,c三个页框,组成 a进 c出的 FIFO队列,
进程访问页面的序列是 0,1,2,4,2,3,0,2,1,3,2号。
若采用① FIFO算法,② FIFO算法 +LRU算法,用列表法分别求两种替换策略情况下的命中率。
页面访问序列 0 1 2 4 2 3 0 2 1 3 2
命中率
FIF
O
算法
a 0 1 2 4 4 3 0 2 1 3 3
2/11
=
18.2
%
b 0 1 2 2 4 3 0 2 1 1
c 0 1 1 2 4 3 0 2 2
命中命中
FIF
O+
LR
U
算法
a 0 1 2 4 2 3 0 2 1 3 2
3/11
=
27.3
%
b 0 1 2 4 2 3 0 2 1 3
c 0 1 1 4 2 3 0 2 1
命中命中命中
3.6.6 虚拟存储器实例
1.奔腾 PC的虚地址模式腾 PC的存储管理部件 MMU包括分段部件 SU和分页部件 PU两部份分段不分页模式:
虚拟地址由一个 16位的段参照和一个 32位的偏移组成。分段部件 SU将二维的分段虚拟地址转换成一维的 32位线性地址。
优点是无需访问页目录和页表,地址转换速度快。对段提供的一些保护定义可以一直贯通到段的单个字节级。
分段分页模式:
在分段基础上增加分页存储管理的模式。即将 SU部件转换后的 32位线性地址看成由页目录、页表、页内偏移三个字段组成,再由 PU部件完成两级页表的查找,将其转换成 32位物理地址。兼顾了分段和分页两种方式的优点。
不分段分页模式,
这种模式下 SU不工作,只是分页部件 PU工作。程序也不提供段参照,寄存器提供的 32位地址被看成是由页目录、页表、页内偏移三个字段组成。由 PU完成虚拟地址到物理地址的转换。这种模式减少了虚拟空间,但能提供保护机制,
比分段模式具有更大的灵活性。
2.保护模式的分页地址转换奔腾机 4MB分页方式地址
3.7.1 存储区域保护当多个用户共享主存时,应防止由于一个用户程序出错而破坏其他用户的程序和系统软件,以及一个用户程序不合法地访问不是分配给它的主存区域。
在虚拟存储系统中,通常采用 页表保护,段表保护 和键式保护 方法。
1,页表保护和段表保护段表保护方式演示
2,键保护方式键保护方式
3,环保护方式环保护方式
3.7.2 访问方式保护对主存信息的使用可以有三种方式,读 (R),写 (W)和执行 (E),相应的访问方式保护就有 R,W,E三种方式形成的逻辑组合,这些访问方式保护通常作为程序状态寄存器的保护位,并且和区域保护结合起来实现。
本 章 小 结
SRAM和 DRAM
只读存储器和闪速存储器双端口存储器和多模块交叉存储器相联存储器
cache
主存与 cache的地址映射有全相联、直接、组相联 三种方式虚拟存储器 指的是主存 -外存层次虚拟存储器有页式、段式、段页式三类存储区域保护和访问方式保护作业
P125 2,3,6
3.1.1 存储器分类存储元,一个双稳态半导体电路或一个 CMOS晶体管或磁性材料。
存储单元存储器存储器有各种不同的分类方法
★ 按存储介质分半导体存储器,用半导体器件组成的存储器。
磁表面存储器,用磁性材料做成的存储器
★按存储方式分随机存储器,任何存储单元的内容都能被随机存取
,且存取时间和存储单元的物理位置无关。
顺序存储器,只能按某种顺序来存取,存取时间和存储单元的物理位置有关。
★ 按存储器的读写功能分只读存储器 (ROM),存储的内容是固定不变的,只能读出而不能写入的半导体存储器。
随机读写存储器 (RAM),既能读出又能写入的半导体存储器。
★ 按信息的可保存性分非永久记忆的存储器,断电后信息即消失的存储器。
永久记忆性存储器,断电后仍能保存信息的存储器。
★ 按在计算机系统中的作用分根据存储器在计算机系统中所起的作用,可分为 主存储器,辅助存储器,高速缓冲存储器,控制存储器 等。
3.1.2 存储器的分级结构
CAI演示
3.1.3主存储器的技术指标字存储单元字地址和字节地址主存储器的主要几项技术指标指标 含 义 表现 单位存储容量在一个存储器中可以容纳的存储单元总数存储空间的大小字数,
字节数存取时间启动到完成一次存储器操作所经历的时间主存的速度 ns
存储周期连续启动两次操作所需间隔的最小时间主存的速度 ns
存储器带宽单位时间里存储器所存取的信息量,
数据传输速率技术指标位 /秒,字节 /秒
3.2.1 SRAM存储器
1.基本存储元六管 SRAM存储元的电路图及读写操作图
2.SRAM存储器的组成
SRAM存储器的组成框图存储器对外呈现三组信号线,即 地址线,数据线,读 /写控制线地址译码器,单译码和 双译码
3.SRAM存储器芯片实例
2114存储器芯片的逻辑结构方框图由于读操作与写操作是分时进行的,读时不写,写时不读,
因此,输入三态门与输出三态门是互锁的,数据总线上的信息不致于造成混乱。
4.存储器与 CPU连接
(2) 存储器速度与容量的解决存储器芯片的容量是有限的,为了满足实际存储器的容量要求,
需要对存储器进行扩展。主要方法有:
(1) 工作原理
★位扩展法,只加大字长,而存储器的字数与存储器芯片字数一致,对片子没有选片要求,
例,使用 8K× 1的 RAM存储器芯片,组成 8K× 8位的存储器
★字扩展法,仅在字向扩充,而位数不变,需由片选信号来区分各片地址。
例,用 16K× 8位的芯片采用字扩展法组成 64K× 8位的存储器
★字位同时扩展法
5.存储器的读、写周期例 1】 下图是 SRAM的写入时序图。其中 R/W是读 /写命令控制线,当 R/W线为低电平时,存储器按给定地址把数据线上的数据写入存储器。请指出下图写入时序中的错误,并画出正确的写入时序图
3.2.2 DRAM存储器
1.四管动态存储元四管的动态存储电路 是将六管静态存储元电路中的负载管 T3,T4去掉而成的
2.
单管存储元电路和四管存储元电路对比名 称 优 点 缺 点四管存储元电路外围电路比较简单,
刷新时不需要另加外部逻辑管子多,占用的芯片面积大单管存储元电路元件数量少,集成度高需要有高鉴别能力的读出放大器配合工作外围电路比较复杂。
3,DRAM存储芯片实例下图是 16K× 1位的 DRAM存储器片 2116的逻辑结构示意图。
读写周期时序图
P82
4.DRAM的刷新动态 MOS存储器采用“读出”方式进行刷新。从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔叫 刷新周期 。
常用的刷新方式有三种,
一种是 集中式另一种是 分散式第三种是 异步式集中式分散刷新方式异步式刷新 方式是前两种方式的结合刷新周期为 2ms,完成 128行的所有存储元刷新则需要 2000us / 128 = 15.5us
标准的刷新方式两种
1、只用 RAS信号的刷新
2,CAS在 RAS之前的刷新
【例 2】 说明 1M× 1位 DRAM片子的刷新方法,刷新周期定为 8ms
如果选择一个行地址进行刷新,刷新地址为 A0— A8,因此这一行上的 2048个存储元同时进行刷新,
即在 8ms内进行 512个周期的刷新。按照这个周期数,
512× 2048= 1 048 567,即对 1M位的存储元全部进行刷新。
刷新方式可采用:在 8ms中进行 512次刷新操作的集中刷新方式,
或按 8ms÷ 512= 15.5μs刷新一次的异步刷新方式 。
5.
DRAM存储器 的刷新需要有硬件电路的支持,包括刷新计数器、刷新 /访存裁决、刷新控制逻辑等。
这些控制线路形成 DRAM控制器,它将 CPU的信号变换成适合 DRAM片子的信号。
3.2.3主存储器组成实例
W4006AF构成的 80386主存储器简图
(1)W4006AF的外特性
① 可以控制两个存储体交叉访问;
② 可以对 256KB— 16MB的 DRAM片子进行访问;
③ 最多可控制 128个 DRAM片子;
④ 采用 CAS在 RAS之前的刷新方式。
(2)主存储器组成有 4 个存储模块,每个模块存储容量为 1M× 32位
3.2.4高性能的主存储器
1.EDRAM芯片
EDRAM芯片又称增强型 DRAM芯片,它在 DRAM
芯片上集成了一个 SRAM实现的小容量高速缓冲存储器
,从而使 DRAM芯片的性能得到显著改进。
1M× 4位 EDRAM芯片的结构框图以 SRAM保存一行内容的办法,对成块传送非常有利。如果连续的地址高 11位相同,意味着属于同一行地址,那么连续变动的 9位列地址就会使 SRAM中相应位组连续读出,这称为猝发式读取。
EDRAM的这种结构还带来另外两个优点:
● 在 SRAM读出期间可同时对 DRAM阵列进行刷新。
● 芯片内的数据输出路径与输入路径是分开的,允许在写操作完成的同时来启动同一行的读操作。
2.EDRAM内存条一片 EDRAM的容量为 1M× 4位,8片这样的芯片可组成 1M× 32
位的存储模块。
8个芯片共用片选信号 Sel,行选通信号 RAS,刷新信号
Ref和地址输入信号 A0— A10。
3.主存物理地址的存储空间分布以奔腾 PC机主存为例,说明主存物理地址的存储空间概念
3.3.1只读存储器
1.ROM的分类只读存储器简称 ROM,它 只能读出,不能写入 。它的最大优点是具有 不易失性 。
根据编程方式不同,ROM通常分为三类:
只读存储器 定 义 优 点 缺 点掩模式 数据在芯片制造过程中就确定可靠性和集成度高,价格便宜 不能重写一次编程 用户可自行改变产品中某些存储元 可以根据用户需要编程 只能一次性改写多次编程可以用紫外光照射或电擦除原来的数据,然后再重新写入新的数据可以多次改写 ROM中的内容
2.光擦可编程只读存储器 (EPROM)
(1) EPROM基本存储元电路
(2)EPROM实例 -2716的内部结构图工 作 模 式 选 择
PD/PGM CS Vpp Vcc 数据输出读 低 低 +5V +5V 输出未选中 无关 高 +5V +5V 高阻功率下降 高无关 +5V +5V 高阻编程 由低到高脉冲 高 +25V +5V 输入例 3】 CPU的地址总线 16根 (A15— A0,A0为低位 ),双向数据总线
8根 (D7— D0),控制总线中与主存有关的信号有 MREQ(允许访存,
低电平有效 ),R/W(高电平为读命令,低电平为写命令 )。主存地址空间分配如下,0— 8191为系统程序区,由只读存储芯片组成;
8192— 32767为用户程序区;最后 (最大地址 )2K地址空间为系统程序工作区。上述地址为十进制,按字节编址。现有如下存储器芯片:
EPROM,8K× 8位 (控制端仅有 CS);SRAM,16K× 1位,2K× 8位,
4K× 8位,8K× 8位,请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑 (可选用门电路及 3∶ 8译码器 74LS138)与 CPU 的连接,说明选哪些存储器芯片,选多少片。
主存地址空间分布如图所示。
3.3.2闪速存储器
1.什么是闪速存储器闪速存储器是一种高密度、非易失性的读 /写半导体存储器
2.闪速存储器的逻辑结构
28F256A的逻辑方框图
3.闪速存储器的工作原理闪速存储器是在 EPROM功能基础上增加了电路的电擦除和重新编程能力。
28F256A引入一个 指令寄存器 来实现这种功能。其作用是:
(1)保证 TTL电平的控制信号输入;
(2)在擦除和编程过程中稳定供电;
(3)最大限度的与 EPROM兼容。
VPP引脚不加高电压时,它只是一个只读存储器。
当 VPP引脚加上高电压时,除实现 EPROM通常操作外,通过指令寄存器,可以实现存储器内容的变更。
当 VPP=VPPL时,指令寄存器的内容为读指令,使 28F256A成为只读存储器,称为写保护。
4
P97 表 3.4 28F256A 工作模式读操作,片选信号 CE是供电控制端,输出允许信号 OE用于控制数据从输出引脚的输出。只有这两个信号同时有效时,才能实现数据输出。
输出禁止操作,当输出允许控制端 OE处于高电平时,
28F256A
等待操作,当片选信号 CE处于逻辑高电平时,等待操作抑制了 28F256A的大部分电路,减少器件功耗。
写操作,当 VPP为高电压时,通过指令寄存器实现器件的擦除和编程 。当 CE=0且 WE=0时,通过写周期对指令寄存器进行写入
5.闪速存储器与 CPU的连接
CPU与闪速存储器进行连接的逻辑框图
3.4 高速存储器
3.4.1双端口存储器
1.双端口存储器的逻辑结构双端口存储器是指同一个存储器具有两组相互独立的读写控制线路,是一种高速工作的存储器。
2K× 16位双端口存储器 IDT7133的逻辑功能方框图
2.无冲突读写控制
P99 表 3.8 无冲突读写控制
3.有冲突的读写控制
1.CE判断,如果地址匹配且在 CE之前有效,片上的控制逻辑在 CEL和 CER
2.地址有效判断,如果 CE在地址匹配之前变低,片上的控制表 3.9 左、右端口读写操作的功能判断
3.4.2多模块交叉存储器
1.
个由若干个模块组成的主存储器是线性编址,
这些地址在各模块有两种安排方式:一种是 顺序方式,一种是 交叉方式 。
如图演示
2.多模块交叉存储器的基本结构四模块交叉存储器结构框图我们认为模块字长等于数据总线宽度,模块存取一个字的存储周期为 T,总线传送周期为 τ,存储器的交叉模块数为 m,
为了实现流水线方式存取,应当满足
T=mτ ( m=T/τ称为交叉存取度)
交叉存储器要求其模块数必须大于或等于 m,以保证启动某模块后经 mτ时间再次启动该模块时,它的上次存取操作已经完成。这样,
连续读取 m 个字所需的时间为
t1=T+(m-1)τ
m=4的流水线方式存取示意图如下而顺序方式存储器连续读取 m个字所需时间为
t2=mT.
【例 4】 设存储器容量为 32字,字长 64位,模块数 m=4,分别用顺序方式和交叉方式进行组织。存储周期 T=200ns,数据总线宽度为
64位,总线传送周期 τ=50ns。 问顺序存储器和交叉存储器的带宽各是多少?
顺序存储器和交叉存储器连续读出 4个字所需的时间分别是:
t2=mT=4× 200ns=800ns=8× 10-7s;
t1=T+(m-1)=200ns+3× 50ns=350ns=3.5× 10-7s
顺序存储器和交叉存储器连续读出 m=4个字的信息总量都是:
q=64位× 4=256位顺序存储器和交叉存储器的带宽分别是:
W2=q/t2=256÷ (8× 10-7)=32× 107[ 位 /s] ;
W1=q/t1=256÷ (3.5× 10-7)=73× 107[ 位 /s]
3.二模块交叉存储器举例
DRAM芯片二模块交叉存储器方框图无等待状态成块存取示意图
3.4.3相联存储器
1.相联存储器的基本原理相联存储器是指其中任一存储项内容作为地址来存取的存储器。选用来寻址存储器的子段叫做 关键字 。
存放在相联存储器中的项可以看成具有 KEY,DATA这样的格式。其中 KEY是地址,DATA是被读写信息。
2.相联存储器的组成相联存储器框图在计算机系统中,相联存储器主要用于虚拟存储器中存放分段表、
页表和快表;
在高速缓冲存储器中,相联存储器作为存放 cache的行地址之用。这
3.5 cache存储器
3.5.1 cache基本原理
1.cache的功能
2,cache的基本原理
3.cache
Nc表示 cache完成存取的总次数,Nm表示主存完成存取的总次数,
h定义为命中率,则有若 tc表示命中时的 cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则 cache/主存系统的平均访问时间 ta为:
ta=htc+(1-h)tm ( 3.5)
设 r表示主存慢于 cache的倍率,e表示访问效率,则有,
r=tm/tc ( 3.6)
为提高访问效率,命中率 h越接近 1越好,r值以 5— 10为宜,不宜太大。命中率 h与程序的行为,cache的容量、组织方式、块的大小有关。
【例 5】 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
3.5.2.主存与 cache的地址映射映射方式有 全相联方式,直接方式 和 组相联方式 三种
1.全相联映射 方式这种方法可使主存的一个块直接拷贝到 cache中的任意一行上,
非常灵活。
它的主要缺点是比较器电路难于设计和实现,因此只适合于小容量 cache采用。
2.直接映射 方式直接映射方式的优点是硬件简单,成本低。
缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。因此适合大容量 cache采用。
3.组相联映射 方式组相联映射方式中的每组行数 v一般取值较小,这种规模的
v路比较器容易设计和实现。
而块在组中的排放又有一定的灵活性,冲突减少。
3.5.3.替换策略对直接映射的 cache来说,只要把此特定位置上的原主存块换 cache即可。
对全相联和组相联 cache来说,就要从允许存放新主存块的若干特定行中选取一行换出
★最不经常使用 (LFU)算法
LFU算法将一段时间内被访问次数最少的那行数据换出。每行设置一个计数器。从 0开始计数,每访问一次,被访行的计数器增
1。当需要替换时,将计数值最小的行换出,同时将这些行的计数器都清零。
这种算法将计数周期限定在对这些特定行两次替换之间的间隔时间内,不能严格反映近期访问情况。
★近期最少使用 (LRU)
LRU算法将近期内长久未被访问过的行换出。每行也设置一个计数器,cache每命中一次,命中行计数器清零,其它各行计数器增 1。当需要替换时,将计数值最大的行换出。
这种算法保护了刚拷贝到 cache中的新数据行,有较高的命中率。
★随机替换随机替换策略从特定的行位置中随机地选取一行换出。在硬件上容易实现,且速度也比前两种策略快。
缺点是降低了命中率和 cache工作效率。
3.5.4 cache的写操作策略
CPU对 cache的写入更改了 cache的内容。可选用写操作策略使
cache内容和主存内容保持一致。
★写回法当 CPU写 cache命中时,只修改 cache的内容,而不立即写入主存;只有当此行被换出时才写回主存。
当 CPU写 cache未命中时这种方法减少了访问主存的次数,但是存在不一致性的隐患
。
实现这种方法时,每个 cache行必须配置一个修改位,以反映此行是否被 CPU修改过。
★全写法当写 cache命中时,cache与主存同时发生写修改,因而较好地维护了 cache与主存的内容的一致性。当写 cache未命中时,直接向主存进行写入 (2方法 )。 cache中每行无需设置一个修改位以及相应的判断逻辑。
缺点是降低了 cache的功效。
★写一次法基于写回法并结合全写法的写策略,写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。这便于维护系统全部 cache
3.5.5 奔腾 PC机的 cache
奔腾 PC机采用两级 cache结构。安装在主板上的 2级
cache(L2)采用 2路组相联映射方式,集成在 CPU内的 1级
cache(L1)也采用 2路组相联映射方式,
奔腾 PC机的 cache工作环境数据 cache采用 2路组相联结 P113 图 3。 40
L2级 cache采用的是写回法,L1级数据 cache采用的是写一次法。为了维护 cache的一致性,L1和 L2均采用 MESI协议,
即要求每个 cache行有两个状态位,用以描述该行当前是处于修改态、专有态、共享态或者无效态中的哪种状态,
从而决定对它的读 /写操作行为。
3.6.1虚拟存储器的基本概念
1.什么是虚拟存储器虚拟存储器 只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。
它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。
它指的是主存 -外存层次。以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。
物理地址 和 虚拟地址主存 -外存层次 和 cache-主存层次 用的地址变换映射方法和替换策略是相同的:
①把程序中最近常用的部分驻留在高速的存储器中。
②一旦这部分变得不常用了,把它们送回到低速的存储器中。
③这种换入换出是由硬件或操作系统完成的,对用户是透明的。
④力图使存储系统的性能接近高速存储器,价格接近低速存储器 。
区别,在虚拟存储器中未命中的性能损失要远大于 cache
系统中未命中的损失
2.主存 -外存层次的基本信息传送单位主存 -外存层次的基本信息传送单位可采用几种不同的方案:
段、页或段页 。
段是按照程序的逻辑结构划分成的多个相对独立部分,作为独立的逻辑单位。
段优点 是段的逻辑独立性使它易于编译、管理、修改和保护,
也便于多道程序共享;某些类型的段具有动态可变长度,
允许自由调度以便有效利用主存空间。
缺点 是因为段的长度各不相同,起点和终点不定,给主存空间分配带来麻烦,而且容易在段间留下许多空余的零碎存储空间,造成浪费。
页是主存物理空间中划分出来的等长的固定区域。
页优点 是页面的起点和终点地址是固定的,方便造页表,新页调入主存也很容易掌握,比段式空间浪费小。 缺点 是处理、保护和共享都不及段式来得方便。
段页式管理采用分段和分页结合的方法。
段页式程序按模块分段,段内再分页,进入主存以页为基本信息传送单位,用段表和页表进行两级定位管理。
3.6.2页式虚拟存储器页式管理的地址变换快表与慢表实现内部地址变换的方式
3.6.3
虚存地址向实存地址的变换过程
3.6.4 段页式虚拟存储器在段页式虚拟存储系统中,每道程序是通过 一个段表 和 一组页表 来进行定位的。段表中的每个表目对应一个段,每个表目有一个指向该段的 页表起始地址 及该段的控制保护信息。
由页表指明该段 各页在主存中的位置 以及是否已装入、已修改等状态信息。
如果有多个用户在机器上运行多道程序的每一道需要一个 基号,由它指明该道程序的 段表起始地址 。
虚拟地址格式如下:
基号 段号 页号 页内地址
【例 6】 假设有三道程序 (用户标志号为 A,B,C),其基址寄存器内容分别为 SA,SB,SC,逻辑地址到物理地址变换过程
3.6.5 替换算法虚拟存储器中的替换策略一般采用 LRU算法,LFU
算法 FIFO算法,或将两种算法结合起来使用对于将被替换出去的页面,假如该页调入主存后没有被修改,就不必进行处理,否则就把该页重新写入外存,以保证外存中数据的正确性。为此,在页表的每一行应设置一 修改位 。
【例 7】 假设主存只有 a,b,c三个页框,组成 a进 c出的 FIFO队列,
进程访问页面的序列是 0,1,2,4,2,3,0,2,1,3,2号。
若采用① FIFO算法,② FIFO算法 +LRU算法,用列表法分别求两种替换策略情况下的命中率。
页面访问序列 0 1 2 4 2 3 0 2 1 3 2
命中率
FIF
O
算法
a 0 1 2 4 4 3 0 2 1 3 3
2/11
=
18.2
%
b 0 1 2 2 4 3 0 2 1 1
c 0 1 1 2 4 3 0 2 2
命中命中
FIF
O+
LR
U
算法
a 0 1 2 4 2 3 0 2 1 3 2
3/11
=
27.3
%
b 0 1 2 4 2 3 0 2 1 3
c 0 1 1 4 2 3 0 2 1
命中命中命中
3.6.6 虚拟存储器实例
1.奔腾 PC的虚地址模式腾 PC的存储管理部件 MMU包括分段部件 SU和分页部件 PU两部份分段不分页模式:
虚拟地址由一个 16位的段参照和一个 32位的偏移组成。分段部件 SU将二维的分段虚拟地址转换成一维的 32位线性地址。
优点是无需访问页目录和页表,地址转换速度快。对段提供的一些保护定义可以一直贯通到段的单个字节级。
分段分页模式:
在分段基础上增加分页存储管理的模式。即将 SU部件转换后的 32位线性地址看成由页目录、页表、页内偏移三个字段组成,再由 PU部件完成两级页表的查找,将其转换成 32位物理地址。兼顾了分段和分页两种方式的优点。
不分段分页模式,
这种模式下 SU不工作,只是分页部件 PU工作。程序也不提供段参照,寄存器提供的 32位地址被看成是由页目录、页表、页内偏移三个字段组成。由 PU完成虚拟地址到物理地址的转换。这种模式减少了虚拟空间,但能提供保护机制,
比分段模式具有更大的灵活性。
2.保护模式的分页地址转换奔腾机 4MB分页方式地址
3.7.1 存储区域保护当多个用户共享主存时,应防止由于一个用户程序出错而破坏其他用户的程序和系统软件,以及一个用户程序不合法地访问不是分配给它的主存区域。
在虚拟存储系统中,通常采用 页表保护,段表保护 和键式保护 方法。
1,页表保护和段表保护段表保护方式演示
2,键保护方式键保护方式
3,环保护方式环保护方式
3.7.2 访问方式保护对主存信息的使用可以有三种方式,读 (R),写 (W)和执行 (E),相应的访问方式保护就有 R,W,E三种方式形成的逻辑组合,这些访问方式保护通常作为程序状态寄存器的保护位,并且和区域保护结合起来实现。
本 章 小 结
SRAM和 DRAM
只读存储器和闪速存储器双端口存储器和多模块交叉存储器相联存储器
cache
主存与 cache的地址映射有全相联、直接、组相联 三种方式虚拟存储器 指的是主存 -外存层次虚拟存储器有页式、段式、段页式三类存储区域保护和访问方式保护作业
P125 2,3,6