当前位置:首页 >> 农林牧渔 >>

一级缓存和二级缓存


一级缓存可分为一级指令缓存和一级数据缓存。一级指令缓存用于暂时存储并向 CPU 递送各 类运算指令;一级数据缓存用于暂时存储并向 CPU 递送运算所需数据,这就是一级缓存的作 用 那么,二级缓存的作用又是什么呢?简单地说,二级缓存就是一级缓存的缓冲器:一级缓存 制造成本很高因此它的容量有限,二级缓存的作用就是存储那些 CPU 处理时需要用到、一级 缓存又无法存储的数据。 为了分清

这两个概念,我们先了解一下 RAM 。RAM 和 ROM 相对的,RAM 是掉电以后,其中的 信息就消失那一种,ROM 在掉电以后信息也不会消失那一种。 RAM 又分两种,一种是静态 RAM,SRAM;一种是动态 RAM,DRAM。前者的存储速度要 比后者快得多,我们现在使用的内存一般都是动态 RAM。 有的菜鸟就说了,为了增加系统的速度,把缓存扩大不就行了吗,扩大的越大,缓 存的数据越多, 系统不就越快了吗?缓存通常都是静态 RAM, 速度是非常的快, 但是静态 RAM 集成度低(存储相同的数据,静态 RAM 的体积是动态 RAM 的 6 倍) 价格高(同容量的静态 , RAM 是动态 RAM 的四倍) 由此可见,扩大静态 RAM 作为缓存是一个非常愚蠢的行为, 但是 , 为了提高系统的性能和速度,我们必须要扩大缓存, 这样就有了一个折中的方法,不扩大原 来的静态 RAM 缓存, 而是增加一些高速动态 RAM 做为缓存, 这些高速动态 RAM 速度要比常规 动态 RAM 快,但比原来的静态 RAM 缓存慢, 我们把原来的静态 ram 缓存叫一级缓存,而把后 来增加的动态 RAM 叫二级缓存。 一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品 (映射) 它们 , 的存在都是为了减少高速 CPU 对慢速内存的访问。 通常 CPU 找数据或指令的顺序是: 先到一 级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了。 着 CPU 制造工艺的发展,二级缓存也能轻易的集成在 CPU 内核中,容量也在逐年提升。现在 再用集成在 CPU 内部与否来定义一、二级缓存,已不确切。而且随着二级缓存被集成入 CPU 内核中, 以往二级缓存与 CPU 大差距分频的情况也被改变, 此时其以相同于主频的速度工作, 可以为 CPU 提供更高的传输速度。 二级缓存是 CPU 性能表现的关键之一,在 CPU 核心不变化的情况下,增加二级缓存 容量能使性能大幅度提高。而同一核心的 CPU 高低端之分往往也是在二级缓存上有差异,由 此可见二级缓存对于 CPU 的重要性。 CPU 在缓存中找到有用的数据被称为命中,当缓存中没有 CPU 所需的数据时(这时 称为未命中) ,CPU 才访问内存。从理论上讲,在一颗拥有二级缓存的 CPU 中,读取一级缓存 的命中率为 80%。也就是说 CPU 一级缓存中找到的有用数据占数据总量的 80%,剩下的 20%从 二级缓存中读取。由于不能准确预测将要执行的数据,读取二级缓存的命中率也在 80%左右 (从二级缓存读到有用的数据占总数据的 16%) 。那么还有的数据就不得不从内存调用,但这 已经是一个相当小的比例了。目前的较高端的 CPU 中,还会带有三级缓存,它是为读取二级 缓存后未命中的数据设计的—种缓存,在拥有三级缓存的 CPU 中,只有约 5%的数据需要从内 存中调用,这进一步提高了 CPU 的效率。 为了保证 CPU 访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种

较常用的算法是“最近最少使用算法” (LRU 算法) ,它是将最近一段时间内最少被访问过的 行淘汰出局。因此需要为每行设置一个计数器,LRU 算法是把命中行的计数器清零,其他各 行计数器加 1。当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、科学 的算法,其计数器清零过程可以把一些频繁调用后再不需要的数据淘汰出缓存,提高缓存的 利用率。 CPU 产品中, 一级缓存的容量基本在 4KB 到 64KB 之间, 二级缓存的容量则分为 128KB、 256KB、512KB、1MB、2MB、4MB 等。一级缓存容量各产品之间相差不大,而二级缓存容量则 是提高 CPU 性能的关键。二级缓存容量的提升是由 CPU 制造工艺所决定的,容量增大必然导 致 CPU 内部晶体管数的增加,要在有限的 CPU 面积上集成更大的缓存,对制造工艺的要求也 就越高。 现在主流的 CPU 二级缓存都在 2MB 左右,其中英特尔公司 07 年相继推出了台式机 用的 4MB、6MB 二级缓存的高性能 CPU,不过价格也是相对比较高的,对于对配置要求不是太 高的朋友,一般的 2MB 二级缓存的双核 CPU 基本也可以满足日常上网需要了。


相关文章:
二级缓存是什么 二级缓存和三级缓存的区别
CPU 通常有一级缓存、二级缓存以及三级缓存之说,下面我们分别介绍下: 二级缓存(L2 CACHE)出现是为了协调一级缓存与内存之间的速度。最初缓存只有 一级,后来处理器...
认清CPU的二级缓存,别被它的大小忽悠
(见图一) 相比之下,AMD 对一级缓存的定位是“实数据读写缓存” ,即二级缓存中的一部分数据都要在 一定的规则下搬到一级缓存中。对于前面的比方,AMD 老师在...
二级缓存和三级缓存的区别
二级缓存它是比一级缓存的速度相对来说会慢, 但是它比一级缓存的空间容量要大。 主要就是做一级缓存和内存之间数据临时交换的地方用。 三级缓存的话也是一样的...
二级缓存和三级缓存的区别
所谓二级缓存,它是为了协调一级缓存和内存之间的速度。cpu 调用缓存首先是一级缓存, 不够当处理器的速度逐渐提升了,导致一级缓存就供应不了需求 了,这样就提升到...
二级缓存设置及相关解释
该内存区即为缓存: 缓存分为一级缓存和二级缓存, 一级缓存:就是 session 级别的缓存,因为 hibernate 中的 session 存有数据的备份,同一个 session 再次访问该数...
Hibernate 二级缓存总结
Hibernate 提供了两级缓存架构, 第一级缓存是 Session 的缓存, 第二级缓存是一个用户决 定是否使用的缓存,能够借助与第三方的组件实现。Hibernate 则提供了缓存...
CPU一级缓存、二级缓存和三级缓存
一级缓存,二级缓存和三级缓存的作用: CPU 一级缓存,二级缓存和三级缓存的作用: 首先我们来简单了解一下一级缓存. 目前所有主流处理器大都具有一级缓存和二 级...
二级缓存是什么
最初缓存只有一级,二级缓存(L2 CACHE)出现是为了协调一级缓存与内存之间的速度。二级缓存是什么 CPU 缓存(Cache Memory)位于 CPU 与内存之间的临时存储器,它的...
计算机CPU一级二级三级缓存介绍
计算机 CPU 一级二级三级缓存介绍 一级二级三级缓存谁比较重要 一级最重要,但是现在 CPU 的一级缓存几乎都一样,所以忽略。 二级缓存的话对于 Intel 的 CPU 是...
Hibernate二级缓存详解
SessionFactory 的 外置缓存也被称为 Hibernate 的二级缓存。 Hibernate 的二级缓存的实现原理与一级缓存是一样的,也是通过以 ID 为 key 的 Map 来实现对对 象...
更多相关标签:
一级缓存 | 缓存 | 二级缓存 | java一级缓存二级缓存 | 一级缓存 二级缓存 | cpu一级缓存二级缓存 | 一级缓存与二级缓存 | hibernate一级缓存 |