前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如果CPU缓存足够大的话,是不是可以把系统装进缓存里?

如果CPU缓存足够大的话,是不是可以把系统装进缓存里?

作者头像
程序员互动联盟
发布2019-07-04 14:43:32
7560
发布2019-07-04 14:43:32
举报

从事软件开发多年,这是一个非常有意思的话题,理论上是可行的但起码要满足两个条件,有这么容量的缓存其实就是不计代价,其二默认的操作系统可以针对缓存进行移植对接。这种想法只是在适用于理想状态下,真是状态下意义不是很大,毕竟成本因素占比还是非常大。未来科技的发展不排除有这种设想,主要因素还是成本方面的问题,现在配置电脑都会带着ssd硬盘,而且ssd硬盘在诞生之初价格也是高的吓人,随着技术的成熟以及产业链的成熟慢慢,成本逐渐下来了。

现在讲下缓存的原理,缓存就是数据交换区,计算机的工作原理是CPU访问的数据都是放置在内存区,如果需要保存操作硬盘来完成,现在常说的运行的程序文件存储在硬盘上,运行的时候在内存上,为了提升效率专门在cpu上集成一个缓冲区,就是我们说到的缓存,cpu的缓存作用就是数据交换区,cpu在访问数据的时候第一优先级先把缓存里面的数据取出来,如果没有再从内存中获取,但这个效率就会下降很多,大家都知道缓存是个好东西,但由于其材质等方面的因素价格要比普通的内存多上好几倍,而且为了不影响cpu的性能体积还不能太大,所以常见的缓存一般都设置的很小,即使很小性能上也会提升许多。

其实这种方式在软件上利用空间换时间的方式,有些大块头的软件为了提升运行的效率提前分配一块内存运行,这样运行的时候直接运行内存中程序,效率就会提升许多,所以无论硬件还是软件都有想通之处,现在的缓存技术已经升级到二级,三级的水准,道理还是相似,就是起到数据缓冲区的作用,而且这里面涉及到一个非常重要的概念,由于数据交换的频度或者调用的次数不一样,对于缓冲区数据的交换需要按照一定的算法规则来实现,不同的缓冲区可能采用不同的算法,不要觉得CPU里面的编程就变少了,只能讲软件无处不在。

多级缓存的原理如果再次深入学习的话,会变得十分复杂,缓存之间还需要固定的通讯格式,如果再加上多核cpu复杂度又是数量级的提升,所以芯片这块国内还是非常大的弱项,主要这项技术需要一个长时间的积累,不是单靠拿出几年的时间就能突击出来的,现在国内能做出来的基本上属于底端芯片,华为的麒麟芯片算是比较高端的了,也是经历多少年的打磨,在技术上距离顶端的还是存在一定的距离,不过随着时间的推移国人早晚会拥有属于自己的芯片技术,毕竟落后的太多了。

所以我们平时在买电脑的时候,一旦想追求点高速度就需要有大的缓存,而且增加一点很小的缓存就能增加不少金钱,所以缓存技术算是cpu里面一项非常重要的技术创新

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档