内存、cache和寄存器之间的关系及区别

我的机器学习教程「美团」算法工程师带你入门机器学习   已经开始更新了,欢迎大家订阅~

任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~

 

cache是一个高速小容量的临时存储器,可以用高速的静态存储器芯片实现,或者集成到CPU芯片内部,存储CPU最经常访问的指令或者操作数据。
而寄存器不同,寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。
三者之间的顺序就是 :内存-cahe-寄存器

此外,寄存器存放的是当前CPU环境以及任务环境的数据,而cahe则存放最近经常访问的指令和数据的.


把CPU比做大脑  寄存器就像你正在思考的问题,而cahe就是你的记忆(临时的)

大脑的其他部分存储了记忆,但是大脑直接处理比较慢则需要一个更加快的地方来临时存放你从大脑其他部分提取的记忆这个地方就是cache
静态存储器芯片实现,或者集成到CPU芯片内部,存储CPU最经常访问的指令或者操作数据。
而寄存器不同,寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。
三者之间的顺序就是 :内存-cahe-寄存器

此外,寄存器存放的是当前CPU环境以及任务环境的数据,而cahe则存放最近经常访问的指令和数据的.


把CPU比做大脑  寄存器就像你正在思考的问题,而cahe就是你的记忆(临时的)

大脑的其他部分存储了记忆,但是大脑直接处理比较慢则需要一个更加快的地方来临时存放你从大脑其他部分提取的记忆这个地方就是cache

更加严格的区别定义如下:
 

1. 寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。 2. 内存包含的范围非常广,一般分为只读存储器(ROM)、随机存储器(RAM)和高速缓存存储器(cache)。

3. 寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。 4. Cache :即高速缓冲存储器是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,Cache中保存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,提高了系统的效率。Cache又分为一级Cache(L1 Cache)和二级Cache(L2 Cache),L1 Cache集成在CPU内部,L2 Cache早期一般是焊在主板上,现在也都集成在CPU内部,常见的容量有256KB或512KB L2 Cache。

总结:大致来说数据是通过内存-Cache-寄存器,Cache缓存则是为了弥补CPU与内存之间运算速度的差异而设置的的部件。

你可能感兴趣的:(***Data,Science***,***系统与网络***,编程之美:C/C++,计算机,C,编程,后端,系统)