问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是缓存怎么缓存

发布网友 发布时间:2022-04-23 17:42

我来回答

2个回答

热心网友 时间:2023-07-10 15:41

缓存是为了解决CPU速度和内存速度的速度差异问题
内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不经常到象“蜗牛”一样慢的内存中去取数据了,CPU只要到缓存中去取就行了,而缓存的速度要比内存快很多
这里要特别指出的是:
1.因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。
2.因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的
3.关于一级缓存和二级缓存
为了分清这两个概念,我们先了解一下RAM
ram和ROM相对的,RAM是掉电以后,其中才信息就消失那一种,ROM在掉电以后信息也不会消失那一种
RAM又分两种,
一种是静态RAM,SRAM;一种是动态RAM,DRAM。前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM。
有的菜鸟就说了,为了增加系统的速度,把缓存扩大不就行了吗,扩大的越大,缓存的数据越多,系统不就越快了吗
缓存通常都是静态RAM,速度是非常的快,
但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍),
价格高(同容量的静态RAM是动态RAM的四倍),
由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为,
但是为了提高系统的性能和速度,我们必须要扩大缓存,
这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM做为缓存,
这些高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢,
我们把原来的静态ram缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存。
一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品(映射),它们的存在都是为了减少高速CPU对慢速内存的访问。
通常CPU找数据或指令的顺序是:先到一级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了

热心网友 时间:2023-07-10 15:41

缓存是为了解决CPU速度和内存速度的速度差异问题
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
mrna转录试剂盒 windows7应用程序损坏或丢失怎么办? 联想windows7怎么恢复不小心删除的应用 Win7电脑图标不见了如何恢复解决Win7电脑图标丢失问题的有效方法_百 ... 美女主播软件有哪些 什么软件看美女直播? 什么视频直播软件可以免费看女神直播? 钣金工业设计 钣金灰本段用途 关于刮胡子的相关问题 文件io和标准io有什么区别 请问缓存区像文件一样,有读写打开关闭的方法吗?就是想文件一样可以追加读写,有没有相应的缓存区内指针 标准io自动创建的缓冲区怎么用 linux中line buffered和fully buffered的区别 C语言中缓冲区的问题,到底什么是全缓冲和行缓冲?? 劳动节前夕周六日不休息吗? 劳动节国家规定放假多少天? 五一节怎么放假 问五一怎么放假国家法定节假日怎么安 劳动节股市休假多少天 现在国家规定劳动节放假几天? 五一劳动节股市休市几天 你好,我梦见路过人家门口人家狗咬我 梦见别人狗咬自己 手机WPS图片编辑 如何使用 spring boot&47;spring cloud 实现微服务应用 如何使用 spring boot&47;spring cloud 实现微服务应用 为什么选择Spring Boot作为微服务的入门 为什么选择spring boot作为微服务的入门级微框架许二虎 Spring Boot 是什么,有什么用 为什么选择Spring Boot作为微服务的入门级 缓冲IO和非缓冲IO的区别 文件IO函数和标准IO库的区别 缓存的缓存映射 全缓冲DIMM与12个DIMM有什么区别? stdout是行缓冲还是全 '\n‘如果成功被printf成功输出了,那么输出缓冲区就会被清除,对吗? 单元行缓存为空是什么意思 谁有雪中悍刀行txt文档全部缓存完的 volitate 原理 D盘多了一个全是缓存的文件夹 怎么把电脑隐藏文件显示出来? 电脑隐藏的文件怎么显示出来 怎么把电脑里面隐藏的文件显示出来 steam钱包的钱怎么转到微信? steam阿根廷怎么用微信 淘宝买的港区steam怎么绑定微信? 为什么steam没有微信支付了? steam平台上支持微信付款吗? 怎么把steam截图发到微信 微信公众号怎么用steam登录永劫无间