高速缓冲存储器部件结构及原理解析

高速缓存 CACHE用途设置在 CPU 和 主存储器之间,完成高速与 CPU交换信息,尽量避免 CPU不必要地多次直接访问慢速的主存储器,从而提高计算机系统的运行效率。

高速缓存 CACHE实现原理把CPU最近最可能用到的少量信息(数据或指令)从主存复制到CACHE中,当CPU下次再用到这些信息时,它就不必访问慢速的主存,而直接从快速的CACHE中得到,从而提高了速度。

评价CACHE性能的关键指标要有足够高的命中率,当CPU需用主存中的数据时,多数情况下可以直接从CACHE中得到,尽量少读主存储器。称二者之比为命中率。

一、CACHE的基本运行原理

1、 CACHE的存储单元的组成

CACHE的存储单元是由三部分组成的

1位有效位:“0”表示该单元尚未使用,“1”表示数据有效

(1) CACHE单元不一定以字为单位与主存实现相互对应,因为存储一个完整的主存地址占用位数太多。

(2) CACHE与主存交换信息时,不一定每次以一个主存字为单位进行交换,常用的是以字块的形式(cache line size)进行数据传送。

二、CACHE的3种映像方式

地址映像:把主存地址的数据复制到cache时,还要把该主存的地址经过某种函数关系处理后写进CACHE的标志字段,这一过程称为CACHE的地址映像。

地址变换:在程序执行时,要把主存地址变换为访问CACHE的地址,这一过程称为CACHE的地址变换。

这二者的处理方案是密切相关的。

1、全相联映像方式

全相联映像方式的优缺点

地址映像:写入CACHE时,要将主存的全部地址写入CACHE的标志字段

地址变换:用读主存的整个地址去与CACHE中的每一个单元的标志字段进行比较。

优点:使用灵活、方便

缺点:比较地址字段必须与整个CACHE中每一个单元的标志字段都进行比较,所以线路复杂,成本太高,难以实现,只是适用于容量小的CACHE。

2、直接映射方式

直接映射方式

地址映像:写入CACHE时,仅将主存的区段号写入CACHE的标志字段

地址变换:要将读主存地址中的区段内偏移地址去访问CACHE的一个单元,只需用主存地址的区段号与标志字段内容进行比较。

3、多路(两路)组相联方式

多路(两路)组相联方式实现原理

把 CACHE存储器组织为同等容量的多体结构,例如2个存储体。主存仍然划分成容量等于每个CACHE存储体的多个区段。

主存地址格式如下:

区段号

区段内的偏移量

多路(两路)组相联方式

地址映像:写入CACHE时,仅将主存的区段号写入CACHE的标志字段

地址变换:要将读主存地址中的区段内偏移地址去访问每一个CACHE体的一个单元,只需用主存地址的区段号与标志字段内容进行比较。

三、 CACHE存储器实用中的几个问题

CACHE存储器的重要技术指标是它的命中率,影响 CACHE 命中率的因素有:

1.CACHE 的容量与命中率的关系

虽然容量大一些好,但CACHE 容量达到一定大小之后,再增加其容量对命中率的提高并不明显。

2、 Cache Line Size ( CACHE每次与内存交换信息的单位量)与命中率的关系:

每次交换信息的单位量适中,不是以一个字为单位,而是以几个字(称为CACHE行容量,通常为4~32个字节)在主存与CACHE之间实现信息传送。

3、多级的CACHE结构与命中率的关系:

4.CACHE的不同映像方式与命中率的关系:

全相联映像方式不适用

直接映像方式命中率低

多路组相联方式性能/价格比更好

直接映像方式中CACHE容量为8K字,被分成1024组,每组8个字,同时,主存也分成8个字的组,1024组构成一页。主存的0组只能映射到CACHE的0组,主存的1组只能映射到CACHE的1组,依次类推。地址结构如下:

5、写CACHE的策略和对系统的影响

(1)一个外设向主存写入了一个数据,该主存单元原先的副本在CACHE中,出现不一致,此时最简单的办法就是把CACHE中相应单元的有效位清除掉,当CPU再次需这一主存单元时,只能从主存重新取得而不会使用CACHE中的旧值。

(2)改写主存储器的策略

若CPU改写了 CACHE 一单元内容后且尚未改变主存相应单元内容,则出现数据不一致性。两种解决办法:

第1.接下来直接改写主存单元内容。简便易行, 但可能带来系统运行效率不高的问题,该后未被使用。

第2.拖后改写主存单元内容,一直拖到有另外的设备要读该内容过时的主存单元时。首先停止这一读操作,接下来改写主存内容,之后再起动已停下来的读操作,否则不必改写。

矛盾是如何检查是否应该改写,通过监视地址总线完成,记下无效单元地址用于比较。 控制复杂些,但可以提供更高系统的运行效率。

计算机高速缓冲存储器工作原理,高速缓冲存储器部件结构及原理解析相关推荐

  1. c语言冯诺依曼原理,详解冯诺依曼结构运行原理

    计算机硬件发展 介绍冯诺依曼结构之前,我们先来介绍一下计算机硬件的发展过程,第一代的计算机主要以电子管作为逻辑原件,汞延迟线,磁鼓作为内存,穿孔纸片,纸带作为外存. 第二代计算机步入晶体管时代,以晶体 ...

  2. 打印机结构、原理及特点

    打印机结构.原理及特点 打印机结构及原理 打印机是一种复杂而精密的机械电子装置,而无论那种打印机,其结构基本上都可分为机械装置和控制电路两部分,这两部分是密切相关的.机械装置包括打印头.字车机构.走纸 ...

  3. 计算机存储程序原理是谁提出来的,计算机的存储程序工作原理是谁提出来的

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 计算机的存储程序工作原理是由美籍匈牙利数学家冯・诺依曼于1946年提出的,把程序本身当作数据来对待,程序和该程序处理的数据用同样的 ...

  4. 计算机主板的工作原理,计算机主板的工作原理.doc

    计算机主板的工作原理 计算机主板构造和工作原理 主板通常拥有多种不同的内置功能,并且可以直接影响计算机的功能和升级潜力.在本文中,我们将了解一下主板的通用部件.随后,我们将仔细研究显著影响计算机性能的 ...

  5. 自动化C语言第一次月考试卷,145班《计算机组成与工作原理》第一次月考试卷...

    怀宁县职教中心2016~2017学年度第一学期九月份摸底考试 145班<计算机组成与工作原理>试卷 命题人:徐志清 班级:姓名:得分: 一.选择题(每题1分,共30分) 1.通常所说的MP ...

  6. 公开课计算机原理,《计算机的基本工作原理》公开课材料

    <<计算机的基本工作原理>公开课材料>由会员分享,可在线阅读,更多相关<<计算机的基本工作原理>公开课材料(11页珍藏版)>请在人人文库网上搜索. 1. ...

  7. 计算机主板的工作原理,求计算机主板工作原理??

    引言 计算机主板工作原理 如果您打开过计算机的机箱,您会看到有一个部件将所有部件连接在一起,那就是主板. 通过主板,计算机的所有部件可以得到电源并相互通信. 在过去二十年中主板已经取得了长足进展.第一 ...

  8. 计算机软件工作的原理,计算机的基本工作原理

    <计算机的基本工作原理>由会员分享,可在线阅读,更多相关<计算机的基本工作原理(16页珍藏版)>请在人人文库网上搜索. 1.计算机的基本工作原理,思考问题,1.计算机中包含哪些 ...

  9. 计算机工作原理 公开课,《计算机的基本工作原理》公开课材料(11页)-原创力文档...

    <计算机系统的组成>教学设计 教师:吴军 一.学习者分析 初一的学生,具有活泼好动的特点,怀着对初中生活的憧憬来到 一个新的环境里,对每样事物都充满着好奇,都想去探个究竟.随着 社会的进步 ...

最新文章

  1. uni上传图片跨域_uni-app的项目实践心得
  2. 【MongoDB】NoSQL Manager for MongoDB 教程(基础篇)
  3. html5 canvas实现图片玻璃碎片特效
  4. 张开双臂迎接“云时代“的到来
  5. 重写equals()时为什么也得重写hashCode()之深度解读equals方法与hashCode方法渊源
  6. java+@api_java 常用API
  7. 微信雄踞,头条社交梦破碎?| 畅言
  8. 网页特效代码大全网址
  9. mysql查询字段信息
  10. widi软件|widi音频转换软件
  11. Yocto系列讲解[理论篇]26 - BitBake全过程(4)
  12. 从实体密保卡到动态口令令牌
  13. 微贷七年之痒:重线下、追科技、争存量,能否赢未来?
  14. Word 2007 XML 解压缩格式
  15. 使用Arduino开发板进行语音识别
  16. h5 微信公众号获取当前位置
  17. Altium Designer生成Gerber文件的设置(嘉立创建议 )
  18. 计算两个时间戳之间的自然天数
  19. ubuntu18.04显卡和触摸板驱动的问题
  20. 研究计算机如何自动获取知识和技能的学科,在人工智能中有一个研究领域,主要研究计算机如何自动获取知识和技能,实现自我完善,这门研究分支学科叫( )...

热门文章

  1. 【python】matplotlib 实现双(多)Y轴图
  2. 【JavaScript】toString()和toLocalString()有何区别???
  3. 神机百炼1.5-二分
  4. JS学习笔记十——时间常用方法
  5. 最新手机号码正则表达式
  6. Handlebar如何多条件判断
  7. centos7安装frpc
  8. js手机号码正则判断
  9. 态势感知与安全运营平台详细介绍
  10. etcd-03 _ etcdctl:客户端操作 etcd 服务端的工具