Cache-主存效率问题

作者: Leon_Geo | 来源:发表于2019-10-25 10:00 被阅读0次

本文主要明确在软考中经常遇到的缓存效率问题。

第零,明确一个问题:

如果Cache不命中时,不同的系统有不同的应对策略。
一是直接从主存中拿走待取数据,它的时间消耗仅仅是一个访问主存周期。
二是把待取数据先拿回Cache,然后再从Cache中取走数据。而它的时间消耗不仅是一个主存周期,还包括一个访问Cache周期。

第一,求命中率:

CPU欲访问的信息已经在Cache中的比率称之为命中率。 设程序在执行期间,Cache的命中次数是Nc,访问主存的次数是Nm,则命中率为:H=Nc/(Nc+Nm)

第二,求平均访问时间:

平均访问时间Ta = H⋅Tc+(1−H)⋅Tm.

第三,求Cache-主存系统效率:

Cache-主存系统效率E = Tc / Ta

第四,求存储性能提升倍数:

X = Tm / Ta
此处要注意Ta的两种不同取值。具体见例题分析。

例:假设Cache的访问速度是主存的5t,且Cache的命中率是95%,则采用Cache后,存储器的存储性能提高多少?
解:
(1)同时访存时:Cache存储周期是t,主存的存储周期是5t
则平均访问时间:Ta = 0.95t + 0.05 * 5t = 1.2t
主存性能:5t/1.2t = 4.17倍
(2)不同时访存时,在不命中的时候用时就不是5t,而是6t
于是:Ta = 0.95t + 0.05 * 6t = 1.25t
主存性能:5t/1.25 = 4倍

即不同时访问时,在访问Cache失败时耽误了1t时间,计算不命中的时间时加上访问Cache用时即可。


获取更多知识,请点击关注:
嵌入式Linux&ARM
CSDN博客
简书博客


相关文章

  • Cache-主存效率问题

    本文主要明确在软考中经常遇到的缓存效率问题。 第零,明确一个问题: 如果Cache不命中时,不同的系统有不同的应对...

  • 软件设计师5--OS存储管理

    存储管理 存储管理的对象时主存(内存)。存储管理的主要功能包括回收主存空间、提高主存利用率、扩充主存、对主存信息实...

  • 软件设计师考试 | 第四章 操作系统知识 | 存储管理

    存储管理的对象是主存存储器简称主存或内存。存储管理的主要功能包括主存空间的分配和回收、提高主存的利用率、扩充主存、...

  • 关于主存

    今天看了主存那一节,很多概念没看懂,估计是电子方面的,不过你对存储器的概念更加清晰了。

  • 多线程安全中的Volatile和Synchronized关键字

    内存模型 在Java内存模型中,线程工作在自己的工作内存,他会保留主存的变量拷贝。对于普通变量,为了保证执行效率,...

  • 内存

    内存指的是计算机的主存储器(main memory),简称主存,主存通过控制芯片等与CPU相连,主要负责存储指令和...

  • 主存与主存编号 ->指针与地址

    地址即为指针,是计算机系统提供的一套标记 只有指针存储的内容是放在内存,main memory中的。

  • mata 标签的使用

    1 设置页面编码 2 设置页面缓存方式 中英翻译:cache-<电脑>快速缓冲贮存区 3 页面描述 4 设置关键字...

  • 2019-01-20 CSAPP 第十章

    输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程。 是主存,和外部设备(磁盘、终端、网络)之间的。 主存是...

  • Go bufio

    bufio通过缓存来提高效率,缓存放在主存中。 Golang的bufio包实现了带缓存的I/O读写操作,用来帮助处...

网友评论

    本文标题:Cache-主存效率问题

    本文链接:https://www.haomeiwen.com/subject/kptsvctx.html