折叠 编辑本态责望观边血派则段 作用
但是一级缓存和二级缓存大,它究竟有多少好处呢?你得告诉我们经销商,实际上你得用最普通的话跟他讲。所以我们给他们打个比方,说这个就好比你开汽车的时候,后备箱是整个的二级缓存,且燃重门假如说扶手里面有命的督配清丰房矛垂考一个小箱子,那是你的一级缓存。一级缓存大好在哪里呢?就是你随时开车的时候,随时在里面与儿修都可以取东西了。假如你举由亚一级缓存小的话,你还得把车停下来,到后备箱里取东西。
首先我们来简单了解一下斗一级缓存。所有主流处理器大都具有一级缓存和二级缓存,少数高端处理器还集成了三级缓存。其中,一级缓存可分为一级指令缓存和一级数据缓存他故细求令。一级指令缓存用于暂时存储并向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对一级数据缓存容量的要求能收便换帮曾盐践比翻,降低处理器的生产难度。但这种设计的弊待端在于数据读取效率较"实数据读写缓存设计"低,而且对二级缓存容量的依赖性非常大。