41,228
次編輯
變更
二级缓存容量
,無編輯摘要
|
[[File:Src=http-% 2F% 2Fimage.mamicode.com% 2Finfo% 2F202003% 2F20200318000204381253.png&refer=http-% 2F% 2Fimage.mamicode.jpg|缩略图|居中|[https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimage.mamicode.com%2Finfo%2F202003%2F20200318000204381253.png&refer=http%3A%2F%2Fimage.mamicode.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629860908&t=0fd7ddaa5c7c9e85aa961607f2964766 原图链接][https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%BE%AE%E5%A4%84%E7%90%86%E5%99%A8&step_word=&hs=0&pn=82&spn=0&di=149820&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=2119783506%2C4100576592&os=1372297503%2C1321388723&simid=4267292709%2C731726676&adpicid=0&lpn=0&ln=799&fr=&fmq=1627268867519_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=https%3A%2F%2Fgimg2.baidu.com%2Fimage_search%2Fsrc%3Dhttp%3A%2F%2Fimage.mamicode.com%2Finfo%2F202003%2F20200318000204381253.png%26refer%3Dhttp%3A%2F%2Fimage.mamicode.com%26app%3D2002%26size%3Df9999%2C10000%26q%3Da80%26n%3D0%26g%3D0n%26fmt%3Djpeg%3Fsec%3D1629860908%26t%3D0fd7ddaa5c7c9e85aa961607f2964766&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bvgks52f_z%26e3Bv54AzdH3F555ewsAzdH3FrAzdH3F8dc89cmd_z%26e3Bip4s&gsm=51&rpstart=0&rpnum=0&islist=&querylist=&nojc=undefined 来自 百度 搜狗 的图片]]]
|-
|}
所谓 ''' 处理器缓存 ''' ,通常指的是二级高速缓存,或外部高速缓存。即高速缓冲存储器,是位于CPU和主存储器DRAM(Dynamic RAM)之间的规模较小的但速度很高的存储器,通常由SRAM(静态随机存储器)组成。
=='''简介'''==
CPU缓存(Cache Memory)位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与缓存间的带宽引起的。CPU在缓存中找到有用的数据被称为命中,当缓存中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有二级缓存的CPU中,读取一级缓存的命中率为80%。也就是说CPU一级缓存中找到的有用数据占数据总量的80%,剩下的20%从二级缓存中读取。由于不能准确预测将要执行的数据,读取二级缓存的命中率也在80%左右(从二级缓存读到有用的数据占总数据的16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。较高端的CPU中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。
=='''评价'''==
处理器缓存的基本思想是用少量的SRAM作为CPU与DRAM存储系统之间的[[缓冲]]区,即Cache系统。80486以及更高档微处理器的一个显著特点是处理器芯片内集成了SRAM作为Cache,由于这些Cache装在芯片内,因此称为片内Cache。486芯片内Cache的容量通常为8K。高档芯片如Pentium为16KB,Power PC可达32KB。Pentium微处理器进一步改进片内Cache,采用数据和双通道Cache技术,相对而言,片内Cache的容量不大,但是非常灵活、方便,极大地提高了微处理器的性能。片内Cache也称为一级Cache。由于486,586等高档处理器的时钟频率很高,一旦出现一级Cache未命中的情况,性能将明显恶化。在这种情况下采用的办法是在处理器芯片之外再加Cache,称为二级Cache。二级Cache实际上是CPU和主存之间的真正缓冲。由于系统板上的响应时间远低于CPU的速度,如果没有二级Cache就不可能达到486,586等高档处理器的理想速度。二级Cache的容量通常应比一级Cache大一个数量级以上。在系统设置中,常要求用户确定二级Cache是否安装及尺寸大小等。二级Cache的大小一般为128KB、256KB或512KB。在486以上档次的微机中,普遍采用256KB或512KB同步Cache。所谓同步是指Cache和CPU采用了相同的时钟周期,以相同的速度同步工作。相对于异步Cache,性能可提高30%以上。最早先的CPU缓存是个整体的,而且容量很低,英特尔公司从Pentium时代开始把缓存进行了分类。当时集成在CPU内核中的缓存已不足以满足CPU的需求,而制造工艺上的限制又不能大幅度提高缓存的容量。因此出现了集成在与CPU同一块电路板上或主板上的缓存,此时就把 CPU内核集成的缓存称为一级缓存,而外部的称为二级缓存。一级缓存中还分数据缓存(Data Cache,D-Cache)和指令缓存(Instruction Cache,I-Cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被CPU访问,减少了争用Cache所造成的冲突,提高了处理器效能。英特尔公司在推出Pentium 4处理器时,用新增的一种一级追踪缓存替代指令缓存,容量为12KμOps,表示能存储12K条微指令。<ref>[https://baike.baidu.com/reference/757860/1067RJdLe8f5fhzJhp-xGRdyBd178vQgibEDvxIl7PLuvxs6eK4br_Zc6O3Tl79B7utlaR99EClz8PQ-hqS0LK5QhA--zoPqjIji 二级缓存容量] 百度搜狗</ref>
=='''参考文献'''==
[[Category:470 製造總論]]