最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

一级缓存、二级缓存、三级缓存区别

IT圈 admin 24浏览 0评论

2024年5月20日发(作者:乐流婉)

一级缓存、二级缓存、三级缓存是什么?作用?区别? 首先简单了解一下一级缓存。

目前所有主流处理器大都具有一级缓存和二级缓存,少数高端处理器还集成了三级缓存。

其中,一级缓存可分为一级指令缓存和一级数据缓存。一级指令缓存用于暂时存储并向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+是值得考虑的。

反观Intel目前主推的P4、赛扬系列处理器,它们都采用了“数据代码指令追踪缓存”架

构,其中Prescott内核的一级缓存中只包含了12KB一级指令缓存和16KB一级数据缓存,

而Northwood内核更是只有12KB一级指令缓存和8KB一级数据缓存。所以P4、赛扬

系列处理器对二级缓存的依赖性是非常大的,赛扬D 320(256KB二级缓存)与赛扬

2.4GHz(128KB二级缓存)性能上的巨大差距就很好地证明了这一点;而赛扬D和P4 E

处理器之间的性能差距同样十分明显。 最后,如果您是狂热的游戏发烧友或者从事多媒体

制作的专业用户,那么具有1MB二级缓存的P4处理器和具有512KB/1MB二级缓存的

Athlon 64处理器才是您理想的选择。因为在高负荷的运算下,CPU的一级缓存和二级缓

2024年5月20日发(作者:乐流婉)

一级缓存、二级缓存、三级缓存是什么?作用?区别? 首先简单了解一下一级缓存。

目前所有主流处理器大都具有一级缓存和二级缓存,少数高端处理器还集成了三级缓存。

其中,一级缓存可分为一级指令缓存和一级数据缓存。一级指令缓存用于暂时存储并向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+是值得考虑的。

反观Intel目前主推的P4、赛扬系列处理器,它们都采用了“数据代码指令追踪缓存”架

构,其中Prescott内核的一级缓存中只包含了12KB一级指令缓存和16KB一级数据缓存,

而Northwood内核更是只有12KB一级指令缓存和8KB一级数据缓存。所以P4、赛扬

系列处理器对二级缓存的依赖性是非常大的,赛扬D 320(256KB二级缓存)与赛扬

2.4GHz(128KB二级缓存)性能上的巨大差距就很好地证明了这一点;而赛扬D和P4 E

处理器之间的性能差距同样十分明显。 最后,如果您是狂热的游戏发烧友或者从事多媒体

制作的专业用户,那么具有1MB二级缓存的P4处理器和具有512KB/1MB二级缓存的

Athlon 64处理器才是您理想的选择。因为在高负荷的运算下,CPU的一级缓存和二级缓

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论