CPU的缓存有什么作用?

[复制链接]
查看11 | 回复3 | 2006-11-6 19:36:25 | 显示全部楼层 |阅读模式
楼上说的太学术,我简单点给你说.看了保证你完全了解什么是缓存和他们的区别cpu缓存现在都分两个级别,一及缓存称L1 cache,二级缓存称为L2 cache.当然对于不同cpu,两及缓存的作用是不同的.但总体来说,缓存是储存cpu急需处理的数据的地方,当cpu要处理东西的时候,缓存中就开始储存这些数据,由于缓存速度非常之高,所以,cpu读取这些数据的速度就相当快.由于缓存容量相当小,但是当缓存中的数据处理完了又没有来得及重新添满的时候,或者是缓存中的数据不是cpu马上要处理的数据的时候,cpu就只有跳过缓存,直接村内存读取,内存的速度要相对慢得多,所以这个时候cpu整体的速度就下降了.当然,AMD和intel在缓存上的结构完全不同,这个造成了为什么intel的主流处理器的L2 cache缓存在2-4Mb,而AMD的L2 cache只有256kb-512kb.这个我们就要说到他们L1 cache的区别了.intel的L1中不储存cpu要处理的实际数据,他储存的都是L2中数据的目录,也就是intel的cpu要处理数据的时候先要访问L1,为的是了解他要储存的实际数据在L2中具体的位置.这个大大减少了cpu寻找L2数据的时间.比喻起来,intel的L2是一个仓库,L1关于就是这个仓库中储存东西具体位置的目录.AMD完全不同,L1中就储存实际数据,L2也储存实际数据,当L1中的数据用完了的时候,或者L1不能装的过大的数据的时候,cpu就直接处理L2中的数据.比喻起来,AMD的L1是个小仓库,L2是个大仓库.然后是为什么他们对L2需求不同.AMD的很好理解,他cpu处理数据的时候是有续处理的,先处理L1,处理完了再处理L2,数据一个接一个.intel采取的是则是乱处理方式,cpu不会衣顺序处理数据,而是随即挑选数据来处理,当他随便挑选的数据在L2中时,他就读取L1了解数据在L2的位置,然后处理这个数据,但是当数据不在L2中时,就读取内存.这个造就了他们L2大小不同,intel的处理方式像是一个人随机的在扔飞标,飞标落在标盘每个地方的几率是相同的,标盘内的红心就是L2的数据,标盘的其他地方是内存.前面说了,L2中数据是高速的,只有处理L2的,才能更快,否则要慢很多。所以,一个随机扔飞标的人为了让飞标落在红心的几率更大,最好的办法就是加大红心的面积,也就是L2.因此为了提高cpu的速度,intel需要很大的红心,也就是L2.AMD则不同,他是一个接一个处理的,不是随机的扔飞标,他要考虑的只是L1和L2中单个数据的大小,因为cpu要处理的数据几乎都在0-2Mb之间,0-128kb的占了50%,128-256kb占了25%,256-512的占了24%,大于512kb的只占了1%.因此,512kb就能满足cpu几乎所有的需求了,只有处理那些1%的大于512kb的数据的时候AMD才会访问内存.因此AMD需求很小的L2.
回复

使用道具 举报

千问 | 2006-11-6 19:36:25 | 显示全部楼层
高速缓存是处理核心(包括CPU与GPU)或者外部储存设备与主内存区间的一个缓冲储存区,所以称为缓存在CPU,GPU等处理核心上,核心计算的临时中间数据和大量需求的数据都优先储存在缓存里,举个例子:CPU计算一个1+1+1的值时,第一次计算前两个数的和的结果2就储存在CPU缓存里,再把结果拿来进行第二次计算,当然,现在的处理器算这个数据不用这么做,只是面对大量数据计算的时候需要这么做在更大量的计算里,处理器会按数据的优先级从低到高分别储存在一级,二级,三级缓存中,再没有空间就会放进内存中,处理器读取数据也是从一级缓存开始,直到内存中,如果内存还没有数据就去硬盘光盘等外部储存设备找,一级缓存速度最快,二级,三级次之在外部储存设备中,比如硬盘和光驱的缓存主要是提高传输速率,增加硬件寿命,你可以从硬盘一个分区复制一堆小文件到另一个分区,你可以发现,复制相同容量的文件速度是大文件快于小文件,因为每个小文件都要进行文件的建立,数据写入与结束写入等过程会耗费很多时间在处理器或者内存向硬盘或者光驱(刻录机)写入的数据都是小文件或者数据而且并不连续,他们都先放在硬盘缓存里,到整个文件结束或者到缓存区容量极限时再一次性写入硬盘,这样可以减少硬盘的读写次数,并且以此写入的速度更快~
回复

使用道具 举报

千问 | 2006-11-6 19:36:25 | 显示全部楼层
就是cachecache n. 高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。存储器的高速缓冲存储器存储了频繁访问的 RAM 位置的内容及这些数据项的存储地址。当处理器引用存储器中的某地址时,高速缓冲存储器便检查是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保存该地址,则进行常规的存储器访问。因为高速缓冲存储器总是比主RAM 存储器速度快,所以当 RAM 的访问速度低于微处理器的速度时,常使用高速缓冲存储器。
回复

使用道具 举报

千问 | 2006-11-6 19:36:25 | 显示全部楼层
对于不同cpu,两及缓存的作用是不同的.但总体来说,缓存是储存cpu急需处理的数据的地方,当cpu要处理东西的时候,缓存中就开始储存这些数据,由于缓存速度非常之高,所以,cpu读取这些数据的速度就相当快. 由于缓存容量相当小,但是当缓存中的数据处理完了又没有来得及重新添满的时候,或者是缓存中的数据不是cpu马上要处理的数据的时候,cpu就只有跳过缓存,直接村内存读取,内存的速度要相对慢得多,所以这个时候cpu整体的速度就下降了.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行