cache结构与操作

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

存储器的字位扩展(存储器组织) 74LS138的综合应用: 1.存储器芯片的地址范围 2.地址线的连接(片内地址,片外地 址) 3.数据线的连接 4.控制线的连接(片选信号CE,写信 号WE,输出信号OE等,以上信号都为 低电平)
Cache的组织方式分为 全相联映射方式 直接映射方式 组相联映射方式
1.全相联映射方式
任一主存块能映射到Cache中任意行(主存块的容量等 于Cache行的容量)见图
映射过程
① 存入Cache:块表标记中存放主存的块号 ② 检索:访问主存地址的块号与所有Cache行标记比较(图2阴影 区) ·符合, 即数据在Cache中,形成访问Cache的地址(地址映射) 访问Cache; ·不符合:访问主存,并将该块调入Cache。
半导体存储器的性能指标: 1.存储容量 2.存取速度(用两个时间参数表示:存取 时间,存取周期) 3.可靠性 4.性能/价格比 实现片选控制的三种方法: 1.全译码 2.部分译码(可能会产生地址重叠) 3.线选法 地址重叠----多个地址指向同一存储单元
存储器芯片同CPU连接时应注意的问题: 1. CPU总线的负载能力问题; 2. CPU的时序同存储器芯片的存取速度的配合问题; 16位微机系统中,内存储器芯片的奇偶分体: 1. 1M字节分成两个512K字节(偶存储体,奇存储体) 2.偶存储体同低8位数据总线(D7 ~ D0)相连接,奇存 储体同高8位数据总线(D15 ~ D8)相连接 3. CPU的地址总线A19 ~ A1同两个存储体中的地址线 A18 ~ A0相连接,CPU地址总线的最低位A0和BHE(低 电平)用来选择存储体 4.要访问的16位字的低8位字节存放在偶存储体中, 称为对准字,访存只需要一个总线周期;要访问的16 位字的低8位字节存放在奇存储体中,称为未对准字 ,访存需要两个总线周期

当Cache写满时,有新的内容写入,就要替换 老的内容,正确选择替换策略与命中率直接有关。 较为简单的替换算法有FIFO,但其效果不是很 好,不符合程序的访问的局部性原则,经常出现所 谓的"颠簸" 现象。
4.6.3 三种替换策略
1.最不经常使用(LFU)算法
2.近期最少使用(LRU)算法 3.随机替换
4.6 高速缓冲存 储器技术
Cache工作原理 Cache组织方式 写cache的策略与一致性
4.6.1
Cache工作原理
1、存储器系统的层次
80X86 CPU采用了高速缓冲存储器(Cache Memory)技术,习惯上简称高速缓存,或称 Cache。在80386系统中,Cache处于CPU外部 的主机板上,在80486与Pentium系统中,除 了主机板上有第2级Cache(L2)外,CPU内部还 有第1级Cache(L1)。存储器系统的层次关系如 图5-26所示
· 例: 在全相联方式下,访问存储器地址序列为2、11、 2、9、7、6、4、3时,采用LRU方式时,Cache内容 变化情况
3. 随机替换:
• 硬件上容易实现并且速度快,虽然表面看起来是 盲目替换,但实际表明,其性能稍逊于前两种
写cache的策略与 一致性 ·目的:维护Cache、主存数据的一致性。
·主要方式:
4.6.4
3. 写一次法: 上述两种方法的结合,主要用于多个Cache数据不一致 的维护,具体策略可参考体系结构的相关内容。
1、通写法
• 从CPU发出的写信号送Cache的同时也写 入主存。
Cache
CPU
主存
2、回写法
• 数据一般只写到Cache,当Cache中的数据 被再次更新时,将原更新的数据写入主存 相应单元,并接受新的数据。
·优点:灵活,不易产生冲突; 缺点:比较电路难于实现,且效率低,速度慢
• 例:设访问存储器地址的块号序列为22、26、22、 26、16、4、16、18,采用全相联映射方式时, Cache行分配情况
2.直接映射方式
某一主存: i:Cache的行号; j:主存的块号; m:Cache的总行数
1. 不经常使用(LFU)算法
· 方法:每行设置一个计数器:每访问一次加“1”; 替换后清“0”。需替换时,比较各计数器值,将 最小值的行换出。 ·特点:这种算法将计数周期限定在对这些特定行 两次替换之间的时间间隔内,因而不能严格反映 近期访问情况。
2. 近期最少使用(LRU)算法:
·方法:每行设置一个计数器,每命中一次清“0”, 其它计数器加“1”。需替换时,比较各计数器值, 将最大值的行换出 ·特点:合理,符合程序访问的局部性理论。是目 前使用较多的一种策略,能够有效的提高命中率
Nc h Nc Nm
假如tc表示访问Cache一次所花的时间,tm则 为访问主存一次所经历的时间, 1-h 表示未 命中率,则平均访问时间ta定义为:
ta=htc+(1-h)tm (4-2) 那么命中率h又可定义为:
ta tm h tc t m
(4-3)
Cache /主存的平均访问时间 ta越接近 tc越好, 当 ta 接近于 tc,则表示访问效率高,用 e表示 访问效率,则:
CPU
写入
Cache
更新
主存
3、写一次法
写一次法与回写法的写策略基本相同,写一次 法只是在第一次写命中时要同时写入主存。这是 因为CPU第一次写Cache命中时,CPU要在总线上 启动一个存储器写周期,其他Cache监听到此主 存块地址及写信号后,即把他们各自保存的主存 块该保存到主存中就拷贝,该作废的就作无效处 理,以便维护全部Cache与主存的一致性。然后 CPU对Cache的写命中则按照回写法的策略对待, 这可以节省CPU的总线周期,有利于超标量流水 线的进程,有利于提高系统的运行速度
存储器系统的层次 关系
2、Cache命中率
从微机系统来看,增加Cache的目的,
就是要在性能上使主存的平均访问时间
尽可能接近Cache的访问时间,即保证 在大多数情况下,CPU访问Cache,而不 是访问主存。
在 某 一 程 序 执 行 期 间 , 设 Nc 表 示 CPU 访 问 Cache 的总次数, Nm 表示 CPU 访问主存的总 次数,h为命中率,则 (4-1)
3.组相联映射方式
组相联映射方式: 是全相联映射方式和直接相联映射方式的结 合,结合两者的优点 ·方法:把Cache分为若干组,每组含有若干行。 组间直接映射,组内全相联映射。
映射过程
① 存入Cache:快表标记中存放主存地址的区号及块号 (将块地址分为三部分: ·块(行)地址 ·组号 ·标记(区号)) ② 检索: 根据访问主存地址的第二字段(组号),找到Cache 中的相应组,读取该组中的每一行标记字段与主存地址高位 字段(区号)及块号比较 · 符合:即数据在Cache中,形成访问Cache的地址(地址映射), 访问Cache; ·不符合:访问主存,并将该块调入Cache。 ·优点:结合上面两种的优点。 ① 因为组内行数较少,比较器容易实现; ② 组内又有灵活性,冲突大大减少。
tc tc 1 1 e t a htc (1 h)t m h (1 h)r r (1 r )h
(4-4)
其中,r=tm/tc,表示访问主存慢于访问 Cache的倍率。r的取值一般是5-10 。
例【4-1】设CPU执行一般程序时,访问 Cache次数Nc=1500,访问主存次数Nm=90,又假 设访问Cache存取周期为50ns,访问主存存取周期 为300ns,试求h、r、ta以及e的值
解:
Nc 1500 h 0.943 N c N m 1500 90
tm 300ns r 6 tc 50ns
ta=htc+(1-h)tm=0.943×50ns+(1-0.943)×300ns=64.25ns
tc 50ns e 77.82% t a 64.25ns
4.6.2 Cache组织方式
• 例1:设Cache有8个行,分成2个组,设访问存储器地址的块 号序列为22、26、22、26、16、4、16、18,采用组相联映射 方式时,Cache行分配情况
• /~zgchen/zcyl/zjs03 3050.htm#2 • /~zgchen/zcyl/zjs03 3006-1.htm • /~zgchen/zcyl/zjs03 3007-1.htm • /~zgchen/zcyl/zjs03 3008-1.htm
第4章 存储器及其接口内容 半导体存储器分类: 1.随机存取存储器,RAM (1)静态RAM,SRAM (HM6116,2K * 8) (2)动态RAM,DRAM,需要刷新电路(2164,64K * 1) 2.只读存储器,ROM (1) PROM,可编程ROM,一次性写入ROM (2) EPROM,可擦除可编程ROM (INTEL2732A, 4K * 8) (3) EEPROM,电可擦除可编程ROM
直接映射方式
映射过程
① 存入Cache:快表标记中存放主存地址的区号 (将块地址分为二部分:块(行)地址 标记(区号)) ② 检索: 根据访问主存地址的中间字段(行号),找到Cache 快表中的这一行,读取该行中的标记字段与主存地址高位字 段(区号)比较(图5阴影区)
·符合:即数据在Cache中,形成访问Cache的地址(地址映 射),访问Cache; ·不符合:访问主存,并将该块调入Cache 优点:硬件简单,成本低; 缺点:容易产生冲突,易"颠簸",不能有效利用Cache空间
相关文档
最新文档