只读存储器和闪速存储器
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•(1)一个主存地址有多少们位?
•(2)主存地址字段如何划分?各字段各需要多少位? •2、 已知某计算机的Cache存储器容量为2K字,分成 128块,每块16字。设主存为64K字。问:
•(1)若采用直接映像方式,主存地址分哪几部分, 各多少位?
•(2)若采用组相联映像方式,主存地址分哪几部分, 各多少位?
5、多模块交叉存储器流水方式存取示意图: 图3.31 假设模块存取一个字的存储周期为T,总线传送周期为τ,存储器的 交叉模块数为m,那么为了实现流水线方式存取,应当满足 T=mτ即成块传送可按τ间隔 流水方式进行,也就是每经τ 时间延迟后启动下一个模块。
示出了m=4的流水线方式存 字 模块 取示意图。
•这种算法保护了刚拷贝到cache中的新数据行,有较高 的命中率。
•(3)随机替换 •随机替换策略从特定的行位置中随机地选取一行换出 。 •在硬件上容易实现,且速度也比前两种快。 •缺点是降低了命中率和cache工作效率。
• 练习:
• 1、某程序对主存块要求的序列为 B3B4B2B6B4B3B7B4B3B6B3B4B8B4B6。设cache容量 为3块,求LRU替换算法的命中率(假设开始 时CACHE为空)。
2、cache存储器的基本原理 •CPU与cache之间的数据交换是以字为单位,而cache与 主存之间的数据交换是以块为单位。一个块由若干字组 成,是定长的。 •当CPU读取主存中一个字时,便发 出此字的内存地址到cache和主存。
•此时cache控制逻辑依据地 址判断此字当前是否在 cache中: •若是,此字立即传送给CPU; •若非,则用主存读周期把此 字从主存读出送到CPU, •与此同时,把含有这个字的 整个数据块从主存读出送到 cache中。
• 这种方法可使主存的一个块直接拷贝到cache中的任 意一行上,非常灵活。
• 它的主要缺点是比较器电路难于设计和实现,因此只 适合于小容量cache采用。
全相联映射示意图
全相联cache的检索过程
2.直接映射方式
• 这也是一种多对一的映射关系,但一个主存 块只能拷贝到cache的一个特定行位置上
写入新的数据
可以根据用户需 要编程
只能一 次性改 写
可以多次改写 ROM中的内容
2.光擦可编程只读存储器(EPROM)
• (1)基本存储元电路
•
P沟道EPROM的基本电路结构示意图演示
•(2)EPROM实例 • 2716的内部结构图演示
[例3]: 已知CPU的地址总线16根( A15-A0 ,A0为低位),
• 这种方式是前两种方式的折衷方案。 • 它将cache分成u组,每组v行,主存块存放到
哪个组是固定的,至于存到该组哪 一行是灵 活的.
• 有如下函数关系:m=u×v • 组号 q=j mod u • 组相联映射方式中的每组行数v一般取值较小 • 这种规模的v路比较器容易设计和实现。 • 而块在组中的排放又有一定的灵活性,冲突减
连续读取m个字所需的时间 为:t1=T+(m-1)τ 而顺 序方式存储器连续读取m个 字所需时间为: t2=mT 从以上定量分析可知,由于
t1 < t2,交叉存储器的带宽 确实大大提高了。
W4 M0 W3 M3 W2 M2 W1 M1
W0 M0
Tτ
时间
[例4]设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和 交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总 线传送周期τ = 50ns。问顺序存储器和交叉存储器的带宽各是多少?
因而较好地维护了cache与主存的内容的一致性。 • 当写cache未命中时,直接向主存进行写入。是否将
此块取到cache,分为取和不取两种方法。 • cache中每行无需设置一个修改位以及相应的判断逻
辑。 • 缺点是降低了cache的功效。 • 写一次法 • 是基于写回法并结合全写法的一种写策略 • 写命中与写未命中的处理方法与写回法基本相同,
3.5.3.替换策略
• 常用算法有三种:最不经常使用(LFU)算法、近期最 少使用(LRU)算法、随机替换。
• (1)最不经常使用(LFU)算法 • LFU算法将一段时间内被访问次数最少的那行数据换
出。 • 每行设置一个计数器。从0开始计数,每访问一次,
被访行的计数器增1。 • 当需要替换时,将计数值最小的行换出,同时将这些
设r=tm/tc表示主存慢于cache的倍率,e表示访问 效率,则有
e tc
tc
1
1
ta htc (1 h)tm h (1 h)r r (1 r)h
由表达式看出,为提高访问效率,命中率h越接 近1越好,r值以5-10为宜,不宜太大。
命中率h与程序的行为、 cache的容量、组织方式、 块的大小有关.
3.3 只读存储器和闪速存储器 3.3.1只读存储器 1.ROM的分类
• 根据编程方式不同,ROM通常分为三类
只读存 储器
定
义
优点
缺点
掩模式 数据在芯片制造过 可靠性和集成度 不能重
程中就确定
高,价格便宜 写
一次编 用户可自行改变产
程
品中某些存储元
可以用紫外光照
多次编 射或电擦除原来的
程
数据,然后再重新
访问效率 e= tc /ta = 50/60=83.3%
3.5.2.主存与cache的地址映射
• 地址映射即是应用某种方法把主存地址定位到cache 中。
• 地址映射方式有全相联方式、直接方式和组相联方 式三种
• 1.全相联映射方式 • 主存中一个块的地址与块的内容一起存于cache的行
中,其中块地址存于cache行的标记部分中。
8192 24K(SRAM) 32768=32×1024=32K , 32-8=24K
32767
30K(空)
63487 65535
2K(SRAM)
65536=64×1024=64K=216
主存储器的组成与CPU连接逻辑图如图3.24所示。
D0 D7
CPU
R/W A0 AAAAAA111111102345
解:设顺序存储器和交叉存储器连续读出4个字,则信息总量都是: q=64位× 4=256位
顺序存储器和交叉存储器连续读出4个字所需的时间分别是: t2=mT=4 × 200ns=800ns=8 × 10-7 s t1=T+(m-1)τ= 200ns +3 × 50ns=350ns=3.5 × 10-7 s
EPROM:8K × 8位(控制端仅有CS) SRAM:16K × 1位, 2K × 8位, 4K × 8位, 8K × 8位
请从上述芯片中选择适当芯片设计该计算机主存储 器,画出主存储器逻辑框图,注意画出选片逻辑 (可选用门电路及3:8译码器74LS138) 与CPU的连接,说明选哪些存储器芯片,选多少片。
2、 cache的命中率 在一个程序执行期间,设Nc表示cache完成存取的总次 数,Nm表示主存完成存取的总次数,h定义为命中率, 则有:
若tc表示命中时的cache访问时间,tm表示未命中的主 存访问时间,1-h表示未命中率,则cache/主存系统的 平均访问时间ta为:
ta=htc+(1-h)tm 我们追求的目标是,以较小的硬件代价使cache/主存系 统的平均访问时间ta 越接近tc 越好。
CS D7 D0 CS D7 D0 CS D7 D0 CS D7 D0 CS D7 D0
EPROM
SRAM
SRAM
SRAM
SRAM
8KB
A0 A12
8KB
A0 A12
8KB
A0 A12
8KB
A0 A12
8KB
A0 A10
MREQ
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
A BC
74LS138
主存储器组成与CPU的连接图
少。
组相联映射的示意图
组相联映射cache的检索过程
• 例:某Cache与主存采用组相联映像方式, Cache存储器容量为32字块,分为8组, 主存容量为4096字块,每块64字。
• (1)主存地址有多少位?
• (2)主存地址字段如何划分?各字段各 需要多少位?
•1、 一个组相联映像Cache由64个存储块构成,每组 包含4个存储块。主存包含4096个存储块,每块由128 字组成。问:
[例5]CPU执行一段程序时, cache完成存取的次数为 1900次,主存完成存取的次数为100次,已知cache存 取周期为50ns,主存存取周期为250ns,求cache/主存 系统的效率和平均访问时间。 解: 命中率h=Nc/(Nc+Nm)
=1900/(1900+100)=0.95
平均访问时间 ta=htc+(1-h) tm =0.95*50+(1-0.95)*250=60ns
§3.4 高速存储器
1、双端口存储器:具有两组相互独立的读写控制线路。见图
2、多模块交叉存储器: 顺序方式:设容量32字,分四模块,每块存储8个字。访问地址
按顺序分配给一个模块后,接着又按顺序为下一模块分配访问地址。
3、多模块交叉存储器: 交叉方式。见图3.29b
4、多模块交叉存储器的基本结构框图:
• 2、设一个直接相联的cache中有4个块,访问 的块号序列是0、13、12、4、7、10、12、2、 10、3,指出每次访问后cache中块分配的情 况。
3.5.4 cache的写操作策略
• CPU对cache的写入更改了cache的内容。可选用写操作 策略使cache内容和主存内容保持一致
• 主要有三种写操作策略:写回法、全写法、写一次法 • 写回法 • 当CPU写cache命中时,只修改cache的内容,而不立即
写入主存;只有当此行被换出时才写回主存。 • 当写cache未命中时 ,将此块拷贝到cache后进行修改。
当此行被换出时才写回主存。 • 这种方法减少了访问主存的次数,但是存在不一致性的
隐患。 • 实现这种方法时,每个cache行必须配置一个修改位,
以反映此行是否被CPU修改过。
• 全写法 • 当写cache命中时,cache与主存同时发生写修改,
行的计数器都清零。 • 这种算法将计数周期限定在对这些特定行两次替换之
间的间隔时间内,不能严格反映近期访问情况。
•(2)近期最少使用(LRU) •LRU算法将近期内长久未被访问过的行换出。 •每行也设置一个计数器,cache每命中一次,命中行计 数器清零,其它各行计数器的带宽分别是: W2= q / t2=256 ÷(8 × 10-7 )=32 × 107 [位/s] W1= q / t1=256 ÷(3.5 × 10-7 )=73 × 107 [位/s]
6、二模块交叉存储器举例:每个模块的容量为256K×32位,由8 片256K×4位的DRAM芯片组成。存储器的总容量为2MB(512K ×32位)。数据总线宽度为32位,地址总线宽度为24位。
解:主存地址空间分布如下图所示。
根据给定条件,选用EPROM:8K × 8位芯片 1 片。 SRAM: 8K × 8位芯片3片, 2K × 8位芯片 1 片。 3:8译码器仅用Y0,Y1,Y2,Y3,和Y7输出端,且对最后的 2K × 8位芯片还需加门电路译码。
0 8191
8K(EPROM) 8192=8×1024=8K
7、相联存储器: 不是按地址而是按内容访问的存储器。见图3.34
§ 3.5 cache存储器: 3.5.1 cache的基本原理 1、cache的功能
是一种高速缓冲存储器,是为了解决CPU和主存 之间速度不匹配而采用的一项重要技术。
是介于CPU和主存之间的小容量存储器,但存取 速度比主存快。
由高速的SRAM组成, 管理功能也是由硬件实现, 对程序员是透明的。
• cache的行号i和主存的块号j有如下函数关系: i=j mod m (m为cache中的总行数)
• 直接映射方式的优点是硬件简单,成本低。 缺点是每个主存块只有一个固定的行位置可 存放,容易产生冲突。
• 适合大容量cache采用
直接映射方式的示意图
直接映射cache的检索过程
3.组相联映射方式
双向数据总线8根(D7-D0),控制总线中与主存有关的信 号有MREQ(允许访存,低电平有效),R/W(高电平为读 命令,低电平为写命令)。
主存地址空间分配如下:0-8191为系统程序区,由只 读存储芯片组成;8192-32767为用户程序区;最后(最大 地址)2K地址空间为系统程序工作区。上述地址为十进制, 按字节编址。现有如下存储器芯片:
•(2)主存地址字段如何划分?各字段各需要多少位? •2、 已知某计算机的Cache存储器容量为2K字,分成 128块,每块16字。设主存为64K字。问:
•(1)若采用直接映像方式,主存地址分哪几部分, 各多少位?
•(2)若采用组相联映像方式,主存地址分哪几部分, 各多少位?
5、多模块交叉存储器流水方式存取示意图: 图3.31 假设模块存取一个字的存储周期为T,总线传送周期为τ,存储器的 交叉模块数为m,那么为了实现流水线方式存取,应当满足 T=mτ即成块传送可按τ间隔 流水方式进行,也就是每经τ 时间延迟后启动下一个模块。
示出了m=4的流水线方式存 字 模块 取示意图。
•这种算法保护了刚拷贝到cache中的新数据行,有较高 的命中率。
•(3)随机替换 •随机替换策略从特定的行位置中随机地选取一行换出 。 •在硬件上容易实现,且速度也比前两种快。 •缺点是降低了命中率和cache工作效率。
• 练习:
• 1、某程序对主存块要求的序列为 B3B4B2B6B4B3B7B4B3B6B3B4B8B4B6。设cache容量 为3块,求LRU替换算法的命中率(假设开始 时CACHE为空)。
2、cache存储器的基本原理 •CPU与cache之间的数据交换是以字为单位,而cache与 主存之间的数据交换是以块为单位。一个块由若干字组 成,是定长的。 •当CPU读取主存中一个字时,便发 出此字的内存地址到cache和主存。
•此时cache控制逻辑依据地 址判断此字当前是否在 cache中: •若是,此字立即传送给CPU; •若非,则用主存读周期把此 字从主存读出送到CPU, •与此同时,把含有这个字的 整个数据块从主存读出送到 cache中。
• 这种方法可使主存的一个块直接拷贝到cache中的任 意一行上,非常灵活。
• 它的主要缺点是比较器电路难于设计和实现,因此只 适合于小容量cache采用。
全相联映射示意图
全相联cache的检索过程
2.直接映射方式
• 这也是一种多对一的映射关系,但一个主存 块只能拷贝到cache的一个特定行位置上
写入新的数据
可以根据用户需 要编程
只能一 次性改 写
可以多次改写 ROM中的内容
2.光擦可编程只读存储器(EPROM)
• (1)基本存储元电路
•
P沟道EPROM的基本电路结构示意图演示
•(2)EPROM实例 • 2716的内部结构图演示
[例3]: 已知CPU的地址总线16根( A15-A0 ,A0为低位),
• 这种方式是前两种方式的折衷方案。 • 它将cache分成u组,每组v行,主存块存放到
哪个组是固定的,至于存到该组哪 一行是灵 活的.
• 有如下函数关系:m=u×v • 组号 q=j mod u • 组相联映射方式中的每组行数v一般取值较小 • 这种规模的v路比较器容易设计和实现。 • 而块在组中的排放又有一定的灵活性,冲突减
连续读取m个字所需的时间 为:t1=T+(m-1)τ 而顺 序方式存储器连续读取m个 字所需时间为: t2=mT 从以上定量分析可知,由于
t1 < t2,交叉存储器的带宽 确实大大提高了。
W4 M0 W3 M3 W2 M2 W1 M1
W0 M0
Tτ
时间
[例4]设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和 交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总 线传送周期τ = 50ns。问顺序存储器和交叉存储器的带宽各是多少?
因而较好地维护了cache与主存的内容的一致性。 • 当写cache未命中时,直接向主存进行写入。是否将
此块取到cache,分为取和不取两种方法。 • cache中每行无需设置一个修改位以及相应的判断逻
辑。 • 缺点是降低了cache的功效。 • 写一次法 • 是基于写回法并结合全写法的一种写策略 • 写命中与写未命中的处理方法与写回法基本相同,
3.5.3.替换策略
• 常用算法有三种:最不经常使用(LFU)算法、近期最 少使用(LRU)算法、随机替换。
• (1)最不经常使用(LFU)算法 • LFU算法将一段时间内被访问次数最少的那行数据换
出。 • 每行设置一个计数器。从0开始计数,每访问一次,
被访行的计数器增1。 • 当需要替换时,将计数值最小的行换出,同时将这些
设r=tm/tc表示主存慢于cache的倍率,e表示访问 效率,则有
e tc
tc
1
1
ta htc (1 h)tm h (1 h)r r (1 r)h
由表达式看出,为提高访问效率,命中率h越接 近1越好,r值以5-10为宜,不宜太大。
命中率h与程序的行为、 cache的容量、组织方式、 块的大小有关.
3.3 只读存储器和闪速存储器 3.3.1只读存储器 1.ROM的分类
• 根据编程方式不同,ROM通常分为三类
只读存 储器
定
义
优点
缺点
掩模式 数据在芯片制造过 可靠性和集成度 不能重
程中就确定
高,价格便宜 写
一次编 用户可自行改变产
程
品中某些存储元
可以用紫外光照
多次编 射或电擦除原来的
程
数据,然后再重新
访问效率 e= tc /ta = 50/60=83.3%
3.5.2.主存与cache的地址映射
• 地址映射即是应用某种方法把主存地址定位到cache 中。
• 地址映射方式有全相联方式、直接方式和组相联方 式三种
• 1.全相联映射方式 • 主存中一个块的地址与块的内容一起存于cache的行
中,其中块地址存于cache行的标记部分中。
8192 24K(SRAM) 32768=32×1024=32K , 32-8=24K
32767
30K(空)
63487 65535
2K(SRAM)
65536=64×1024=64K=216
主存储器的组成与CPU连接逻辑图如图3.24所示。
D0 D7
CPU
R/W A0 AAAAAA111111102345
解:设顺序存储器和交叉存储器连续读出4个字,则信息总量都是: q=64位× 4=256位
顺序存储器和交叉存储器连续读出4个字所需的时间分别是: t2=mT=4 × 200ns=800ns=8 × 10-7 s t1=T+(m-1)τ= 200ns +3 × 50ns=350ns=3.5 × 10-7 s
EPROM:8K × 8位(控制端仅有CS) SRAM:16K × 1位, 2K × 8位, 4K × 8位, 8K × 8位
请从上述芯片中选择适当芯片设计该计算机主存储 器,画出主存储器逻辑框图,注意画出选片逻辑 (可选用门电路及3:8译码器74LS138) 与CPU的连接,说明选哪些存储器芯片,选多少片。
2、 cache的命中率 在一个程序执行期间,设Nc表示cache完成存取的总次 数,Nm表示主存完成存取的总次数,h定义为命中率, 则有:
若tc表示命中时的cache访问时间,tm表示未命中的主 存访问时间,1-h表示未命中率,则cache/主存系统的 平均访问时间ta为:
ta=htc+(1-h)tm 我们追求的目标是,以较小的硬件代价使cache/主存系 统的平均访问时间ta 越接近tc 越好。
CS D7 D0 CS D7 D0 CS D7 D0 CS D7 D0 CS D7 D0
EPROM
SRAM
SRAM
SRAM
SRAM
8KB
A0 A12
8KB
A0 A12
8KB
A0 A12
8KB
A0 A12
8KB
A0 A10
MREQ
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
A BC
74LS138
主存储器组成与CPU的连接图
少。
组相联映射的示意图
组相联映射cache的检索过程
• 例:某Cache与主存采用组相联映像方式, Cache存储器容量为32字块,分为8组, 主存容量为4096字块,每块64字。
• (1)主存地址有多少位?
• (2)主存地址字段如何划分?各字段各 需要多少位?
•1、 一个组相联映像Cache由64个存储块构成,每组 包含4个存储块。主存包含4096个存储块,每块由128 字组成。问:
[例5]CPU执行一段程序时, cache完成存取的次数为 1900次,主存完成存取的次数为100次,已知cache存 取周期为50ns,主存存取周期为250ns,求cache/主存 系统的效率和平均访问时间。 解: 命中率h=Nc/(Nc+Nm)
=1900/(1900+100)=0.95
平均访问时间 ta=htc+(1-h) tm =0.95*50+(1-0.95)*250=60ns
§3.4 高速存储器
1、双端口存储器:具有两组相互独立的读写控制线路。见图
2、多模块交叉存储器: 顺序方式:设容量32字,分四模块,每块存储8个字。访问地址
按顺序分配给一个模块后,接着又按顺序为下一模块分配访问地址。
3、多模块交叉存储器: 交叉方式。见图3.29b
4、多模块交叉存储器的基本结构框图:
• 2、设一个直接相联的cache中有4个块,访问 的块号序列是0、13、12、4、7、10、12、2、 10、3,指出每次访问后cache中块分配的情 况。
3.5.4 cache的写操作策略
• CPU对cache的写入更改了cache的内容。可选用写操作 策略使cache内容和主存内容保持一致
• 主要有三种写操作策略:写回法、全写法、写一次法 • 写回法 • 当CPU写cache命中时,只修改cache的内容,而不立即
写入主存;只有当此行被换出时才写回主存。 • 当写cache未命中时 ,将此块拷贝到cache后进行修改。
当此行被换出时才写回主存。 • 这种方法减少了访问主存的次数,但是存在不一致性的
隐患。 • 实现这种方法时,每个cache行必须配置一个修改位,
以反映此行是否被CPU修改过。
• 全写法 • 当写cache命中时,cache与主存同时发生写修改,
行的计数器都清零。 • 这种算法将计数周期限定在对这些特定行两次替换之
间的间隔时间内,不能严格反映近期访问情况。
•(2)近期最少使用(LRU) •LRU算法将近期内长久未被访问过的行换出。 •每行也设置一个计数器,cache每命中一次,命中行计 数器清零,其它各行计数器的带宽分别是: W2= q / t2=256 ÷(8 × 10-7 )=32 × 107 [位/s] W1= q / t1=256 ÷(3.5 × 10-7 )=73 × 107 [位/s]
6、二模块交叉存储器举例:每个模块的容量为256K×32位,由8 片256K×4位的DRAM芯片组成。存储器的总容量为2MB(512K ×32位)。数据总线宽度为32位,地址总线宽度为24位。
解:主存地址空间分布如下图所示。
根据给定条件,选用EPROM:8K × 8位芯片 1 片。 SRAM: 8K × 8位芯片3片, 2K × 8位芯片 1 片。 3:8译码器仅用Y0,Y1,Y2,Y3,和Y7输出端,且对最后的 2K × 8位芯片还需加门电路译码。
0 8191
8K(EPROM) 8192=8×1024=8K
7、相联存储器: 不是按地址而是按内容访问的存储器。见图3.34
§ 3.5 cache存储器: 3.5.1 cache的基本原理 1、cache的功能
是一种高速缓冲存储器,是为了解决CPU和主存 之间速度不匹配而采用的一项重要技术。
是介于CPU和主存之间的小容量存储器,但存取 速度比主存快。
由高速的SRAM组成, 管理功能也是由硬件实现, 对程序员是透明的。
• cache的行号i和主存的块号j有如下函数关系: i=j mod m (m为cache中的总行数)
• 直接映射方式的优点是硬件简单,成本低。 缺点是每个主存块只有一个固定的行位置可 存放,容易产生冲突。
• 适合大容量cache采用
直接映射方式的示意图
直接映射cache的检索过程
3.组相联映射方式
双向数据总线8根(D7-D0),控制总线中与主存有关的信 号有MREQ(允许访存,低电平有效),R/W(高电平为读 命令,低电平为写命令)。
主存地址空间分配如下:0-8191为系统程序区,由只 读存储芯片组成;8192-32767为用户程序区;最后(最大 地址)2K地址空间为系统程序工作区。上述地址为十进制, 按字节编址。现有如下存储器芯片: