为什么说cache对程序员是透明的

为什么说cache对程序员是透明的,第1张

透明指的是程序员不需要知道其运行原理。

因为程序员不需要知道cache的缓存机制,直接调用cache接口即可实现cache缓存,所以cache对程序员是透明的。

就是说它实森旁乱际上存在,只不过我们看不到而已,Cache的功能是提高CPU数据输入输出的速率。Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系此档统的性能会大大改善,仿佛其存储系统容量与内存相当而访问速度近似Cache。

扩展资料

当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。但是当Cache已启悄存满数据后,新数据必须替换(淘汰)Cache中的某些旧数据。最常用的替换算法有随机算法、先进先出算法(FIFO)和近期最少使用算法(LRU)。

因为需要保证缓存在Cache中的数据与内存中的内容一致,Cache的写 *** 作比较复杂,常用的有写直达法、写回法和标记法。

参考资料来源:百度百科-CACHE存储器

高速缓冲存储器(Cache)实际上是为了把由DRAM组成的大容量内存储器都看做是高速存储器而设置的小容量局部存储器,岩碧枝一般由高速SRAM构成。这种局部存储器是面向CPU的,引入它是为减小或消除CPU与内存之间的速度差异对系统性能带来的影响。Cache 通常保存着一份内存储器中部分内容的副本(拷贝),该内容副本是最近曾被CPU使用过的数据和程序代码。Cache的有效性是利用了程序对存储器的访问在时间上和空间上所具有的局部区域性,即对大多数程粗敏序来说,在某个时间片内会集中重复地访问某一个特定的区域。如PUSH/POP指令的 *** 作都是在栈顶顺序执行,变量会重复使用,以及子程序会反复调用等,就是这种局部区域性的实际例证。因此,如果针对某个特定的时间片,用连接在局部总线上的Cache代替低速大容量的内存储器,作为CPU集中重复访问的区域,系统的性能就会明显提高。

系统开机或复位时,Cache 中无任何内容。当CPU送出一组地址去访问内存储器时,访问的存储器的内容才被同时“拷贝”到Cache中。此后,每当CPU访问存储器时,Cache 控制器要检查CPU送出的地址,判断CPU要访问的地址单元是否在Cache 中。若在,称为Cache 命中,CPU可用极快的速度对它进行读/写 *** 作;若不在,则称为Cache未命中,这时就需要从内存中访问,并把与本次访问相邻近的存储区内容复制到Cache 中。未命中时对内存访问可能比访问无Cache 的内存要插入更多的等待周期,反而会降低系统的效率。而程序中的调用和跳转慧枯等指令,会造成非区域性 *** 作,则会使命中率降低。因此,提高命中率是Cache 设计的主要目标


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12369126.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存