CPU缓存有什么作用
答案:1 悬赏:0 手机版
解决时间 2021-05-04 04:31
- 提问者网友:记得曾经
- 2021-05-03 05:47
CPU缓存有什么作用
最佳答案
- 五星知识达人网友:天凉才是好个秋
- 2021-05-03 07:03
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.
当然对于不同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.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯