cpu操作做系统理论- cpu3级缓存,空间局部性

1:一个电脑可以安装多个cpu,  根据电脑主板是否支持。   

2:每个cpu有多个核,多个核提升cpu并行的处理能力

3:cpu有三级缓存,镶嵌在cpu中,解决内存性能跟不上的问题

4:一个cpu有多个核,  每一个核处理一个线程。  l1,l2缓存是每个核独有的,l3缓存是多个核共享的。

5:当加cpu的和处理 处理一段加法运算。先从l1缓存找数据,没有依次从l2,l3找,都找不到,去内存中加载数据,依次在l3,l2,l1中复制该数据

6:l1,l2,l3  最小存储单位是缓存行,64字节(byte)

7: cpu的空间局部性,当cpu在一个内存中加载数据到缓存中,它会把该数据周围连续的数据加载缓存中去。

8:cpu的时间局部性,当一个数据被加载,cpu会认为一段时间,该数据还会被使用,不会立马清除

9:例子:一个long类型的二维数组,数据相加   =====      long[ 1024 ] [ 6 ]

       一维数组是1024个数据,二维是6个数据,要把1024*6相加。

第一种方式:先加二维数组6个数据

第二种方式:先加一维数组1024个数据

=================================================================

先从内存中加载  [0][1] 到内存中去,根据cpu空间局部性,会把[0][1]这个数据的连续数据加载到内存中去。

          如果按照第一种方式,它会把[0][1],[0][2],[0][3],[0][4],[0][5],[0][6]同时加载到内存中去

           如果按照第二种方式,它会只把[0][1]加载到内存中去,其它的连续数据在其它维度里。不相邻

所以第一种方式,cpu请求内存1024次。第二种方式1024*6次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值