首页 > 范文大全 > 正文

Intel和AMD的CPU缓存有啥不一样

开篇:润墨网以专业的文秘视角,为您筛选了一篇Intel和AMD的CPU缓存有啥不一样范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

通常衡量一款CPU性能的标准是主频、功耗,其次就是缓存。而在intelamd两大阵型中,同等性能的cpu缓存却有较大的区别,比如Intel Core 2 Duo E4400和AMD Athlon64 X2 5000+的性能基本相同,但前者二级缓存是后者的两倍,而一级缓存则只有后者的一半,为何会这样呢?

缓存有啥

要理解两者的区别,我们得先谈谈什么是CPU缓存。CPU缓存,英文叫Cache Memory,是位于CPU与内存之间的临时存储器,设计在CPU的内部,它的容量比内存小但交换速度快。缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。

在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成既有高速度又有大容量的存储系统。缓存对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与缓存间的带宽引起的。

一级、二级缓存是什么

为了大家更加容易理解,举个简单的例子:比如仓库中有一个临时堆放货物的区域,当货物从运输车辆上放下时临时堆放在这个地方,然后再搬到规定的位置存放。货物在这个临时地方存放的时间很短,可以把它看成是一个临时货场,它就相当于我们所说的CPU缓存。

说白了,缓存就是一个临时的货物堆放地。最初,CPU需要处理的数据比较少,所以缓存只需要一级,后来随着处理器速度提升,一级缓存就开始不够用了,于是就添加了二级缓存。通常,我们将更加靠近CPU核心的缓存称为一级缓存,而靠近内存的缓存区域称为二级缓存。前者的容量小于后者,但是速度更快。

为何AMD的二级缓存小,一级缓存大

说到这里,我们回到文章开头所提出的疑问。简单地说,两者的根本区别源自于架构的不同,即处理器的一二级缓存工作方式是不一样

AMD的处理器一二级缓存是直接存储和读取数据的,比如“AMD”三个字母,可以直接写在一级缓存上,如果一级缓存只够存储“AM”,而不够存储“D”,那么D就存储到二级缓存里。这也是目前AMD处理器一级缓存较大,二级缓存较小,但性能并不弱的一个原因。

为何Intel的二级缓存大,一级缓存小

相比之下,Intel通常都需要将处理器的二级缓存设计得很大,比如Intel四核的处理器的二级缓存已经达到8MB了,而同等级AMD处理器最大的才2MB。

原因在于,Intel处理器采用的是数据缓存+指令追踪缓存数据的工作方式。传统的指令缓存暂存的是正在执行的指令信息,而追踪缓存记录的则是过去若干周期指令执行状况,相当于提供一个指针功能。比如Intel的处理器的二级缓存要存储“I love Intel”这句话,那么这句话的所有单词都存储在二级缓存中,而一级缓存只存储一些符号例如每个单词的开头代码“I、L、I”,当系统需要读取这段话时得先从一级缓存中找到这三个字母,然后再从二级缓存里调取整句话。

打个比方,如果Intel处理器的二级缓存是一本书,那么一级缓存就是书的目录。当用户需要看书时,只要查看一下目录就可以找到相应的内容。而AMD处理器的缓存则是一大一小两个仓库,一级缓存是离处理器核心比较近的小仓库,而二级缓存是稍远的大仓库。当处理器要存放货物时,不管什么都先放到小仓库,小仓库放不下了就往更大的仓库里扔。

也就是说,在信息容量上,Intel处理器对二级缓存的依赖高于对一级缓存的依赖,而AMD处理器对于一二级缓存的依赖没有这样的区别。