二级缓存大小对CPU性能有何影响?
常见电脑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”这两个地址就可以了,而
[1] [2]
关键词:二级缓存大小对CPU性能有何影响?