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

一级缓存和二级缓存


一级缓存可分为一级指令缓存和一级数据缓存。一级指令缓存用于暂时存储并向 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一级二级三级缓存介绍
计算机 CPU 一级二级三级缓存介绍 一级二级三级缓存谁比较重要 一级最重要,但是现在 CPU 的一级缓存几乎都一样,所以忽略。 二级缓存的话对于 Intel 的 CPU 是...
二级缓存及使用方法
1)二级缓存 默认关闭,属于 sessionFactory 级别缓存,可以被多个不同 Session 对象访问,启用 二级缓存后查找机制; session 查对象-->一级缓存查找(on)-->二级...
2014计算机一级考试题目(附答案)
性能价格比 C. 25、 在计算机系统中,指挥、协调计算机工作的是___。 A. 显示...硬盘 C. 68、 现在一般的微机内部有二级缓存(Cache) ,其中一级缓存位于___...
二级缓存
二级缓存_总结/汇报_实用文档。二级缓存 缓存是指可以进行高速数据交换的存储器,它先于内存与 CPU 交换数据,因此速度很快。L1 Cache(一级缓存)是 CPU 第一层...
Hibernate二级缓存问题
(Department.class, 1); System.out.println(d2.getName()); tx2.commit(); } 分析: 第一次查询时,把数据存放到一级缓存和二级缓存中,但存放形式不一样...
Hibernate二级缓存详解
SessionFactory 的 外置缓存也被称为 Hibernate 的二级缓存。 Hibernate 的二级缓存的实现原理与一级缓存是一样的,也是通过以 ID 为 key 的 Map 来实现对对 象...
Hibernate缓存机制
二级 缓存,Hibernate 在运行时才会把它的实 例加入到二级缓存中 用户管理缓存的方式 一级缓存的物理介质为内存, 由于内存的 二级缓存的物理介质可以使内存和硬盘...
Hibernate二级缓存攻略
Hibernate 二级缓存攻略 我的经验主要来自 hibernate2.1 版本,基本原理和 3.0、3.1 是一样的,请原谅我的顽 固不化。 hibernate 的 session 提供了一级缓存,每个...
Struts 2 二级缓存
一级和二级的各有优差 二级缓存配置设置好后吧,不必再进行多余的调用,程序自动的调用非常的方便, 一级缓存不需进行任何的配置,用时则调用相应的方法,也是较为方...
多大缓存够用_图文
这样的设计利弊都很明显,有利的是降低处理器的生产难度和成本(一级缓 存的生产成本比二级缓存更高)。弊端同样明显,因为一级缓存容量有限,并不能满足 CPU 的读取...
更多相关标签: