计算机术语中cache代表缓存 计算机中cache长什么模样
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
最近在看多线程的内存模型,看的一头雾水,里面的底层硬件绕不开cache,这里对cache好好的捋一下,我们这里讲的概念是狭隘的cache, 就是指计算机cpu里的cache, 其实广义的cache可以是硬盘,内存都行。
一开始是没有cache一说的,那时候cpu需要数据的话就直接去内存中取就行了,拆过电脑的同学都知道cpu和内存条是两个独立的硬件,他们都插在主板上通过主板上的线路沟通,所以取一次数据需要花一定的时间,比如1ms。现在需要做一个a+b的计算,那么总时间就是两次取数时间和一次加法时间,比如一次加法时间只要1us, 总时间=2ms+1us, 那么可以看出耗时都在取数上了?怎么办?
解决方法就是在cpu里面搞一块cache内存,比如32k大小,每次取数去cache上看看有没有,没有的话先把数据从内存上读取到cache中,然后再从cache中取数到cpu,假如cache到cpu的时间是10us, 那么这个计算时间就是2ms+1us+20us, 可以看到耗时比原来多20us, 但是假如a+b要做两次,那么第二次的时间只有1us+20us.
总结一下可以看到,cache其实只有在第二次以后才有效果,但是在计算机中基本大部分数据都会被多次使用,根据上面的时间可以看到加速效果明显。
- 在cpu内部,简单理解就是数据传输距离都变近了,对比内存条的话
- 空间很小,可以理解房子很小,找东西起来就比较快,整个大别墅要找半天
- cache的成本高
- cache不易修建太大,因为空间太大找东西不方便
- 小的cache基本够用了
就是一个个单元格,每个单元格叫做cache line, 这里一个cache line的大小是64字节。
什么是cache命中率,还是刚才的加法例子,比如这个加法做100次循环,变量a需要有99次在cache中拿到了值,那么命中率就是99%。
- 当cache中存在该数据
- Write-through: 顾名思义就是cache和内存都改好
- write-behind(write-back) :顾名思义就是一开始先在cache改,后面有空在更新到内存上
- 当cache中不存在该数据
- Write allocate: 先把原始数据从内存拉到cache中,然后执行当cache中存在该数据的策略
- No-write allocate :不需要先拉数据到cache, 直接写到内存里 一般cpu会采用2+3的方式组合,或者1+4的策略。下面图展示了write-behind + Write allocate
上面我们知道a+b需要取两次从内存到cache, 但是实际可能只取一次,原因是:cache每次可以拉取64字节的数据过来,假如a,b都在一个cache line中,那么当访问b的时候,发现cache中已经有了,这就是预取策略,说白了就是我猜你后面会用,所以在拿数据a的时候顺道把b也拿到cache中。这里有个前提是数据a不能超过64字节,不然压根没有位置留给b搭顺风车,第二是b在a旁边,不然还要单独去接b也不可能。
命令:sudo dmidecode -t cache
记录仪的sd卡怎么在电脑上格式化 行车记录仪取出内存卡还能记录吗
记录仪的sd卡怎么在电脑上用,记录仪sd卡怎么插,记录仪内存卡电脑打开教程,记录仪内存卡怎么在电脑看视频文件亲亲,您好。很高兴为您解答:行车记录仪2个月前的记录不可以恢复的哦。这种情况可以说是不能恢复,因为行车记录仪采用的是循环记录的方式,当内存卡存满了之后,新的数据会自动覆盖之前的内容,长时间录制,也许之前的数据已经被覆盖过多次,这样情况恢复的几率就更加渺茫了。所以行车记录仪2个月前的记录不可以恢复的哦。行车记录仪即记录车辆行驶途中的影像及声音相关资讯的仪器。安装行车记录仪后,能够记录汽车行驶全过程的视频图像和声音,可为交通事故提供证据。