cpu主频是多少 cpu主频是( 三 )


那么 , 二级缓存的作用又是什么呢?简单地说 , 二级缓存就是一级缓存的缓冲器:一级缓存制造成本很高因此它的容量有限 , 二级缓存的作用就是存储那些CPU处理时需要用到、一级缓存又无法存储的数据 。 同样道理 , 三级缓存和内存可以看作是二级缓存的缓冲器 , 它们的容量递增 , 但单位制造成本却递减 。 需要注意的是 , 无论是二级缓存、三级缓存还是内存都不能存储处理器操作的原始指令 , 这些指令只能存储在CPU的一级指令缓存中 , 而余下的二级缓存、三级缓存和内存仅用于存储CPU所需数据 。
根据工作原理的不同 , 目前主流处理器所采用的一级数据缓存又可以分为实数据读写缓存和数据代码指令追踪缓存2种 , 它们分别被AMD和Intel所采用 。 不同的一级数据缓存设计对于二级缓存容量的需求也各不相同 , 下面让我们简单了解一下这两种一级数据缓存设计的不同之处 。
一、AMD一级数据缓存设计
AMD采用的一级缓存设计属于传统的“实数据读写缓存”设计 。 基于该架构的一级数据缓存主要用于存储CPU最先读取的数据;而更多的读取数据则分别存储在二级缓存和系统内存当中 。 做个简单的假设 , 假如处理器需要读取“AMD ATHLON 64 3000+ IS GOOD”这一串数据(不记空格) , 那么首先要被读取的“AMDATHL”将被存储在一级数据缓存中 , 而余下的“ON643000+ISGOOD”则被分别存储在二级缓存和系统内存当中
需要注意的是 , 以上假设只是对AMD处理器一级数据缓存的一个抽象描述 , 一级数据缓存和二级缓存所能存储的数据长度完全由缓存容量的大小决定 , 而绝非以上假设中的几个字节 。 “实数据读写缓存”的优点是数据读取直接快速 , 但这也需要一级数据缓存具有一定的容量 , 增加了处理器的制造难度(一级数据缓存的单位制造成本较二级缓存高) 。
二、Intel一级数据缓存设计
自P4时代开始 , Intel开始采用全新的“数据代码指令追踪缓存”设计 。 基于这种架构的一级数据缓存不再存储实际的数据 , 而是存储这些数据在二级缓存中的指令代码(即数据在二级缓存中存储的起始地址) 。 假设处理器需要读取“INTEL P4 IS GOOD”这一串数据(不记空格) , 那么所有数据将被存储在二级缓存中 , 而一级数据代码指令追踪缓存需要存储的仅仅是上述数据的起始地址(如下图所示) 。
由于一级数据缓存不再存储实际数据 , 因此“数据代码指令追踪缓存”设计能够极大地降CPU对一级数据缓存容量的要求 , 降低处理器的生产难度 。 但这种设计的弊端在于数据读取效率较“实数据读写缓存设计”低 , 而且对二级缓存容量的依赖性非常大 。
在了解了一级缓存、二级缓存的大致作用及其分类以后 , 下面我们来回答以下硬件一菜鸟网友提出的问题 。
从理论上讲 , 二级缓存越大处理器的性能越好 , 但这并不是说二级缓存容量加倍就能够处理器带来成倍的性能增长 。 目前CPU处理的绝大部分数据的大小都在0-256KB之间 , 小部分数据的大小在256KB-512KB之间 , 只有极少数数据的大小超过512KB 。 所以只要处理器可用的一级、二级缓存容量达到256KB以上 , 那就能够应付正常的应用;512KB容量的二级缓存已经足够满足绝大多数应用的需求 。
这其中 , 对于采用“实数据读写缓存”设计的AMD Athlon 64、Sempron处理器而言 , 由于它们已经具备了64KB一级指令缓存和64KB一级数据缓存 , 只要处理器的二级缓存容量大于等于128KB就能够存储足够的数据和指令 , 因此它们对二级缓存的依赖性并不大 。 这就是为什么主频同为1.8GHz的Socket 754 Sempron 3000+(128KB二级缓存)、Sempron 3100+(256KB二级缓存)以及Athlon 64 2800+(512KB二级缓存)在大多数评测中性能非常接近的主要原因 。 所以对于普通用户而言754 Sempron 2600+是值得考虑的 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。