浅析CPU二级缓存容量对CPU性能的影响
互联网 发布时间:2009-04-21 01:31:51 作者:佚名 我要评论
现代桌面级PC的CPU二级缓存容量大多数在64KB到2MB之间。因为CPU二级缓存容量对CPU性能有不小的影响,所以低端CPU和中高端CPU在物理结构上的差异主要就是二级缓存容量的大小。那么二级缓存容量为什么如此重要?它对CPU性能有什么
现代桌面级PC的CPU二级缓存容量大多数在64KB到2MB之间。因为CPU二级缓存容量对CPU性能有不小的影响,所以低端CPU和中高端CPU在物理结构上的差异主要就是二级缓存容量的大小。那么二级缓存容量为什么如此重要?它对CPU性能有什么样的影响呢?
CPU二级缓存作为一级缓存的“后备仓库”,用于为一级缓存存储更多的数据,减少CPU直接访问内存 的次数。理论上,CPU访问并调用缓存的数据所占的比重越大,则CPU访问并调用内存的数据所占的比重就越小,那么因访问内存而耽误的时间 就越少。所以缓存的容量越大,CPU的实际效率也就越高,性能就越强。
实际上,在脚本之家上讲到,现在Intel和AMD处理器在一级缓存的逻辑结构设计上有所不同,所以二级缓存对CPU性能的影响也不尽相同。因为CPU读取的 数据(包括指令)中有80%的数据来自一级缓存,所以一级缓存的逻辑结构决定了CPU二级缓存容量对CPU性能的影响。Intel的Pentium 4及Celeron系列处理器的一级数据缓存被称为“数据代码指令追踪(读写)缓存”;AMD的Athlon 64/Athlon XP/Sempron/Duron系列处理器 的一级数据缓存叫作“实数据读写缓存”。
这两类CPU一级缓存不同的逻辑结构有什么不同?下面,我用一个例子来描述。
假设有一个运算任务,要从“1”一直递加到“999999”。在传统的“实数据读写缓存”架构下,这一系列数据中最先用到的数据(如 “1、2……449、450”)将存储在CPU一级数据缓存中,更多的数据(如“451、452……899999、900000”)存储在CPU二级缓存中,其余的数 据(如“900001、999002……999998、999999”)暂存在内存中,CPU将按照一级数据缓存、二级缓存和内存的顺序读取这些数据。
传统的一级数据缓存的存储方式
但是在“数据代码指令追踪缓存”架构的CPU中,一级数据缓存并不存储这些最先用到的数据(“1、2……449、450”),而是将这些 数据存储到二级缓存中,一级数据缓存仅仅存储这些数据在二级缓存中的起止地址(又称为:指令代码)。例如,数据“1、2……449、450” 顺序存储在二级缓存中,数据“1”所在地址为“00001F”,数据“450” 所在地址为“00451F”,实际上一级数据缓存只需要存储“00001F”和“00451F”这两个地址就可以了,而不需要存储大量的数据。
“数据代码指令追踪缓存”架构的一级数据缓存的存储方式
但是由于其一级数据缓存不存储数据,数据存储在二级缓存中,因此对二级缓存容量的依赖非常大,所以CPU需要更大的二级缓存容量 才能发挥出应有的性能。在实际应用中,CPU处理的数据中大多数都是0KB~128KB大小的数据,128KB~256KB的数据约有10%,256KB~512KB的 数据有5%,512KB~1MB的数据仅有3%左右。所以对于这种CPU来说,二级缓存容量从0KB增加到256KB对CPU性能的提高几乎是直线性的;增加 到512KB对CPU性能的提高稍微小一些;从512KB增加到1MB,普通用户就很难体会到CPU性能有提高了。正因为如此,大家能感受到Pentium 4 C(512KB二级缓存)与Celeron(128KB二级缓存)的性能差异,却很难感受到Pentium 4 C(512KB二级缓存)与Pentium 4 E(1MB二级缓存)的性能差异了。
CPU二级缓存作为一级缓存的“后备仓库”,用于为一级缓存存储更多的数据,减少CPU直接访问内存 的次数。理论上,CPU访问并调用缓存的数据所占的比重越大,则CPU访问并调用内存的数据所占的比重就越小,那么因访问内存而耽误的时间 就越少。所以缓存的容量越大,CPU的实际效率也就越高,性能就越强。
实际上,在脚本之家上讲到,现在Intel和AMD处理器在一级缓存的逻辑结构设计上有所不同,所以二级缓存对CPU性能的影响也不尽相同。因为CPU读取的 数据(包括指令)中有80%的数据来自一级缓存,所以一级缓存的逻辑结构决定了CPU二级缓存容量对CPU性能的影响。Intel的Pentium 4及Celeron系列处理器的一级数据缓存被称为“数据代码指令追踪(读写)缓存”;AMD的Athlon 64/Athlon XP/Sempron/Duron系列处理器 的一级数据缓存叫作“实数据读写缓存”。
这两类CPU一级缓存不同的逻辑结构有什么不同?下面,我用一个例子来描述。
假设有一个运算任务,要从“1”一直递加到“999999”。在传统的“实数据读写缓存”架构下,这一系列数据中最先用到的数据(如 “1、2……449、450”)将存储在CPU一级数据缓存中,更多的数据(如“451、452……899999、900000”)存储在CPU二级缓存中,其余的数 据(如“900001、999002……999998、999999”)暂存在内存中,CPU将按照一级数据缓存、二级缓存和内存的顺序读取这些数据。
传统的一级数据缓存的存储方式
但是在“数据代码指令追踪缓存”架构的CPU中,一级数据缓存并不存储这些最先用到的数据(“1、2……449、450”),而是将这些 数据存储到二级缓存中,一级数据缓存仅仅存储这些数据在二级缓存中的起止地址(又称为:指令代码)。例如,数据“1、2……449、450” 顺序存储在二级缓存中,数据“1”所在地址为“00001F”,数据“450” 所在地址为“00451F”,实际上一级数据缓存只需要存储“00001F”和“00451F”这两个地址就可以了,而不需要存储大量的数据。
“数据代码指令追踪缓存”架构的一级数据缓存的存储方式
但是由于其一级数据缓存不存储数据,数据存储在二级缓存中,因此对二级缓存容量的依赖非常大,所以CPU需要更大的二级缓存容量 才能发挥出应有的性能。在实际应用中,CPU处理的数据中大多数都是0KB~128KB大小的数据,128KB~256KB的数据约有10%,256KB~512KB的 数据有5%,512KB~1MB的数据仅有3%左右。所以对于这种CPU来说,二级缓存容量从0KB增加到256KB对CPU性能的提高几乎是直线性的;增加 到512KB对CPU性能的提高稍微小一些;从512KB增加到1MB,普通用户就很难体会到CPU性能有提高了。正因为如此,大家能感受到Pentium 4 C(512KB二级缓存)与Celeron(128KB二级缓存)的性能差异,却很难感受到Pentium 4 C(512KB二级缓存)与Pentium 4 E(1MB二级缓存)的性能差异了。
相关文章
- CPU型号、主频、缓存、插槽接口类型等参数怎么查看?对于购买电脑的朋友,这些都要查看,那么怎么查看呢?下面小编就为大家详细介绍一下,一起来看看吧2015-11-05
- 一级缓存都内置在CPU内部并与CPU同速运行,可以有效的提高CPU的运行效率,下面为大家介绍下一级缓存的分类及数据缓存设计,感兴趣的朋友可以参考下哈,希望对你有所帮助2013-05-08
- 三级缓存是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率,下面为大家介绍下其分类及性2013-05-08
- 最近有网友询问CPU的三级缓存是什么意思,有什么用呢?针对此类细节问题,下面小编与大家做个简单介绍,感兴趣的你可不要错过了哈,希望本文知识点可以帮助到你2013-02-22
- CPU缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当C2012-12-27
- 本文详细的介绍了CPU三级缓存的作用2012-11-17
- 一客户送修一台电脑,配置如下:赛扬800MHz的CPU,QDI693A主板,HY128MB内存,迈拓20GB硬盘。故障现象表现为开机自检完成后无法进入操作系统,即电脑显示“Verifying2010-09-08
- 在电脑城看到了一颗叫BE 2300的AMD X2 CPU,问老板他也说不出什么所以然来,请问这块CPU的型号是怎么回事,有什么特别的地方吗? 【答】:BE-2300是Athlon X22009-04-21
- 处理器要想发挥出优异的性能,除了与核心架构有关之外,缓存的作用也是功不可没。那什么是CPU的缓存呢?其实很好解释,CPU缓存(Cache Memoney)就是位于CPU与内存之间2009-04-21
- 说到CPU,不得不说的就是CPU缓存,目前CPU的缓存已经成了衡量CPU性能的一个必要指标,那么CPU缓存到底对CPU性能的影响有多大呢? 我们知道,CPU执行指令时,会将执行结果2009-04-21
最新评论