有了内存 为啥还要有 cache(一级、二级、三级)以及寄存器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有了内存 为啥还要有 cache(一级、二级、三级)以及寄存器相关的知识,希望对你有一定的参考价值。

计算机 有了内存 为什么还有有 cache 而且还有一级 二级 三级 ,更不解的是有还有要有寄存器!? 期待高手详细通俗解释! 感激不尽!

cache是CPU的技术,跟内存条不一样。

L1 Cache(一级缓存)
L1 CPU缓存
Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般服务器CPU的L1缓存的容量通常在32—256KB。
L2 Cache(二级缓存)
L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容量最大的是4MB,而服务器和工作站上用CPU的L2高速缓存更高达2MB—4MB,有的高达8MB或者19MB。
L3 Cache(三级缓存)
L3 C CPU缓存
ache(三级缓存),分为两种,早期的是外置,现在的都是内置的。而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力对游戏都很有帮助。而在服务器领域增加L3缓存在性能方面仍然有显著的提升。比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。 其实最早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。在只能够和系统总线频率同步的L3缓存同主内存其实差不了多少。后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。接着就是P4EE和至强MP。Intel还打算推出一款9MB L3缓存的Itanium2处理器,和以后24MB L3缓存的双核心Itanium2处理器。 但基本上L3缓存对处理器的性能提高显得不是很重要,比方配备1MB L3缓存的Xeon MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。
参考技术A cache是高速缓冲存储器 cpu在处理数据时 首先从硬盘中调取 放到内存中(RAM)等待cpu处理 这个工作形式好比流水线作业 分工明确 硬盘相当于存放原料和成品的仓库 而内存的工作是为了减少大的工作量 把需要的原料数据从硬盘取出 以备cpu加工处理 内存与cpu工作相当密切 已达到快速传输 而不用老远的去上硬盘中寻找数据 高速缓冲存储器要比他俩的传输数率还要快 把内存中需要频繁使用的数据 在一步提取到自己本身中来 以便不必再调用内存 同样 这样做的目的就是让cpu高效的进行工作 ! 工作速度关系:cache >内存 >硬盘 ! 相反也是一样的 cpu在cache中找 没找到 会到内存(RAM)中寻找数据 最后到硬盘调用 CPU工作时(L1速度最快 > 其次是L2 > 最后为L3 > 然后是内存 > 硬盘)L1 L2 L3分别集成在cpu中 从这也可以看出高速缓存越高 也是衡量一个处理器性能关键 L3有些还集成在主板北桥芯片中 希望可以帮助你! 参考技术B 先说寄存器吧。寄存器是特殊的存储空间,不知道你有没有学过单片机,对于MCS-51来说,你对P0这个寄存器赋值,那么P0的I/O口电平就会相应的发生变化。也就是说,寄存器是用来执行一些特殊功能的。
CPU的缓存是用来提高系统运行速度的。CPU的数据处理速度要比内存的读写速度快很多,因此对于一些经常需要访问的数据,如果保存在内存中供CPU访问的话,会浪费很多时间。因此,CPU会设置缓存。CPU的缓存的容量非常小(一级缓存通常只有几十kB),但速度却非常快,可以与CPU同步运行,把那些经常需要使用的数据存放在缓存中,可以大大系统运行效率。一级缓存是CPU最常访问的缓存,最最常用的数据就放在一级缓存中,它的容量通常最小,但对速度的影响最大。二级缓存其次。三级缓存对性能也有一定的提高,但不如一级缓存和二级缓存的影响大。
参考技术C 百度百科 缓存 寄存器 一目了然

硬件 - CPU 为什么要分一级二级三级缓存

文章目录

硬件 - CPU 为什么要分一级二级三级缓存


1、为什么要给 CPU 设置缓存

由于数据的局限性,CPU往往需要在短时间内重复多次读取数据,内存的运行频率自然是远远跟不上CPU的处理速度的
所以有了缓存,L1 Cache 的命中率大概在 80% 左右
配合三级缓存之后,CPU 的缓存命中率大约为 95% 左右

2、L1 Cache、L2 Cache、L3 Cache

L1 Cache、L2 Cache、L3 Cache  都是集成在 CPU 内部的物理缓存

L1 Cache  速度最快
L2 Cache  速度较快
L3 Cache  速度较慢

L1 Cache

一级缓存因为容量和结构问题会对 CPU 的性能造成较大影响,另外一方面考虑到成本因素,导致一级缓存容量比较小,一般只能做

以上是关于有了内存 为啥还要有 cache(一级、二级、三级)以及寄存器的主要内容,如果未能解决你的问题,请参考以下文章

硬件 - CPU 为什么要分一级二级三级缓存

mybatis自带一级和二级缓存,为啥还要用redis

一级数据缓存,一级指令缓存和二级缓存有啥区别?

什么是一级缓存,什么是二级缓存?

什么是缓存?一级缓存?二级缓存?

简述Cpu与cache.主存和外存的关系?