操作系统底层认知

CPU发展中,比较著名的摩尔定律:

       摩尔定律是英特尔创始人之一戈登·摩尔的经验之谈,其核心内容为:集成电路上可以容纳的晶体管数目在大约每经过18个月便会增加一倍。换言之,处理器的性能每隔两年翻一倍。

摩尔定律是内行人摩尔的经验之谈,汉译名为“定律”,但并非自然科学定律,它一定程度揭示了信息技术进步的速度。
 

CPU经过几年的发展,速度已经非常快,而内存虽然经过几年的发展,也比较快,但CPU的性能远远快于内存性能。CPU每次都要去内存中读取数据,内存性能比较慢,效率比较低,而且CPU和内存自主板上是不同的位置,相对于计算机来说,距离也非常远,为了解决这个问题,充分利用CPU的效率,引入了三级缓存

L1缓存速度最快,离CPU内核最近,仅次于嵌在CPU内核上的寄存器,速度比较依次是:寄存器>L1>L2>L3>内存,CPU的速度大概是内存的100倍左右,空间大小比较:寄存器<L1<L2<L3<内存

内存读取的数据先放到L3,接下来L2、L1,最后放到寄存器,CPU只会从寄存器中读取数据,每个CPU都有一个自己独有的寄存器、不会被其他CPU访问到。跨CPU是不能访问对方的缓存的。

L3共享指的是只能被当前CPU上的其他内核访问到,不能被其他的CPU访问到。L1、L2是每个内核独享的.

缓存不能太大的原因:从硬件层面,芯片的大小有限制,越大需要的空间越大

缓存由最小的存储区块->缓存行(cacheline)组成,缓存行大小通常是64byte;4M的空间的缓存行=4*1024*1024/64

当线程需要读取内存的某一个值时,CPU先从L1缓存行找,找不到再从L2缓存行,L2缓存行找不到,再从L3缓存行,L3缓存行找不到,再去内存里找,找到之后并不会直接读到寄存器中,而是复制一份到L3缓存,再一次复制一份到L2、L1。L1的空间最先被使用完,缓存淘汰之后再去L2、L3找。

空间局部性原则:如果一个寄存器的位置被引用,那么将来它附近的位置也有可能被使用。
时间局部性原则:被引用过一次的存储器位置在未来会被多次引用

猜你喜欢

转载自blog.csdn.net/dhj199181/article/details/115273124
今日推荐