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

旋风男孩11


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

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

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

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

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

希望能帮到你。


大学生编程指南


不考虑经济性也就是钱的问题,以现在的技术能力,确实可以制造出能装下系统的CPU缓存,但是请相信我,你把系统装进CPU缓存后,结果会让你怀疑人生。

先说缓存(Cache)。缓存是分级的,在手机SOC芯片的CPU中,一般有三级缓存,分别是L1、L2、L3,都是由晶体管构成,区别在于晶体管的多少、大小和复杂程度,但肯定是速度快的缓存,晶体管数量更少、复杂程度更高,更耗电。

那么SOC芯片中,缓存有多大呢?下图是骁龙845的内核X光照片,CPU的三级缓存也就是L3 Cache被我圈出来了,面积占了整个芯片的大约1/70,容量有2MB。

我们假设都将安卓8.0系统装到L3 Cache中。安卓8.0系统大约有1.8GB左右,也就是1800MB,是骁龙845的CPU的L3 Cache的900倍,而L3 Cache的面积大约是整个845芯片的1/70,也就是0.34平方毫米(估算,数字不一定精确,见谅),容量扩大到1.8GB的话,面积大约为304平方毫米,相当于长3.04厘米,宽1厘米,不算夸张啊。考虑到手机还要装应用,流畅运行还要有空闲空间,因此缓存容量至少还要再加1.8GB,总容量达到3.6GB,面积大约为608平方毫米,相当于长3.04厘米,宽2厘米。

芯片封装后才能使用,封装后的面积至少要增加50%,也就是说3.6GB的缓存封装后的总面积至少为912平方毫米,相当于长3厘米,宽3.04厘米,这个面积,现在的手机也能比较轻松装下。

但是由于缓存速度很快,我们都知道,马儿能跑必然能吃,换句话说,3.6GB的缓存耗电量也是上千倍增加,手机估计一会儿就成电炉子了。

即使你解决散热问题,这颗带着超大号缓存的骁龙845速度会不会快到飞起呢?答案令人沮丧,它会从兔子变成乌龟。因为缓存做到这么大,CPU要在一个时钟内访问所有缓存单元,CPU内核不得不降速,而且是好几个数量级的降速,结果就是手机卡顿明显。

花了大笔钱,动用海量技术资源,得到的是一部运行慢吞吞的手机,所以一味增大缓存并不能提高性能,这也是多年来,CPU内核速度在提升,但缓存容量增加缓慢的原因。


段马乐咨询


cpu行不行不知道 我见过装到内存条的 速度超快 就是别关机


123ddc


这个问题很有意思,所以不请自来答一发。先说能不能把系统装进缓存。我的看法是,把系统装进CPU缓存里的想法完全可行,因为以现有的技术手段,可以在PC的CPU上做出容量大到装下系统的缓存,但在手机CPU上则不行,至于为什么,后面再说。

CPU和硬盘之间隔着内存和缓存(Cache),速度从大到小依次为CPU/一级缓存>二级缓存>三级缓存>内存>硬盘(备注:二级缓存在CPU内时,运行速度与主频相同,在CPU外时,运行速度降为主频一半,这里假定二级缓存在CPU外)。

各级存储之间的关系可以打个粗浅的比方:硬盘相当于快递仓库,内存相当于快递营业部,二/三级缓存相当于快递三轮车货箱,一级缓存相当于盛着货物(数据)的快递箱。比方不一定精确,能理解就好。

题主的想法是把系统装进缓存,相当于直接把货物放到三轮车货箱,不经过仓库和快递营业部。只要“三轮车货箱”(二/三级缓存)够大,完全可以装下庞大的“货物”(系统)。而以目前的芯片制程工艺,是可以将二/三级缓存做到32个GB,并把它集成到CPU内核外。

一条笔记本用的普通的32GB内存条如下,如果去除封装、周围电路和PCB板,实际芯片面积可能只有整个板子的1/6大。

考虑到缓存是SRAM(Static RAM),属于静态存储器,结构比内存条采用的DRAM(随机动态存储器)复杂,体积是DRAM的6倍,所以32GB容量的SRAM芯片体积差不多就是一根32GB笔记本内存条大小,集成到CPU内核外围后,体积不会太夸张。

我们看到的CPU尤其是电脑CPU,之所以看起来体积不算小,主要是因为封装和引脚撑大了体积,真正的芯片仅比成人指甲盖略大,如上图红框内部分。所以CPU加上32GB二/三级缓存后,整个体积可能并不比下图的“白金至强”大(注意比较至强和人手的大小)。不过这个体积对手机来说还是太大了,能耗也会高到吓人,所以在手机SOC芯片上没有实际操作性。

前面有回答说缓存太大的话,成本会太高。这也不是问题,SRAM仅比DRAM贵4倍,这点开销对土豪来说真不算啥,一般烧友咬咬牙、跺跺脚就能承受。

一句话,在CPU上(CPU内核外)集成能装下系统的缓存,从技术上说可行,从成本上看也并非高不可攀,简单说可以操作。

问题又来了,既然可行,为啥不见英特尔、AMD推出这种产品呢?

答案是,缓存用的SRAM和内存用的DRAM都是易失性存储,一断电,数据清零,你还得重新装操作系统,烦不烦?

有人说,我24小时供电,像服务器那样,应该没问题了吧。

答案是,仍然有问题,CPU每次运算时,并不会用到全部系统代码(实际上也不可能),只会用到很少一部分,换句话说,把系统都装进缓存并不会提升运算速度和数据传输速度,反而会造成资源浪费。

总之,把系统装进缓存,技术可操作,成本也不是问题,唯一的问题是没实用性,这也是芯片大厂们没有推出相关产品的原因。



魔铁的世界


当然可以,但是有难度。首先要了解缓存、内存、硬盘的各种作用。

打个比方:一级缓存就像你吃饭的筷子,二三级缓存就像碗,内存就像大锅,硬盘就像冰箱。筷子能把你想吃的食物直接放进嘴里,嘴的大小限制了你只能用筷子往嘴里运送少量的食物,但是筷子上的食物能直接放到嘴里。从碗里那食物肯定要比筷子上的慢,锅里的更慢。当然冰箱里的是最慢的,但是能长久存放。

那么你想要用筷子把一锅的食物都夹起来就需要有足够大的筷子,但是筷子做大了随之而来的一个问题就是筷子上有我不想吃的食物也有我想吃的食物,那么寻找我想吃的食物就要花费时间寻找,造成了我反而吃的比较慢。而且要用大筷子吃饭就要手一直用大力拿着它,这又增加了体力支出,产生热量会增大。

最主要的是嘴的咀嚼能力有限,这么多的食物不可能全部放进嘴里,也不可能一直用筷子夹着,能吃了的先放在碗里,做好了的就放在锅里,不吃也不用的就放在冰箱里。



文姜泉


真是闲人瞎操心,AMD和因特尔想把缓存扩大装系统那是分分钟的事,只不过都镶嵌进去不是有太多厂家倒闭,太多工人失业,赛扬和奔腾还有酷睿其实成本差不多,为什么还要分369等,就是套路多要多挣钱也给更多人就业机会


Zzpy


把系统放进CPU缓存是不可能的,因为CPU中的一二三级缓存是SRAM存储结构,这也属于一种RAM随机存取存储器,SRAM只要通电里边的数据就一直会在,但是一旦断电以后里面的数据也没了,这样只要电脑断电或者关机操作系统的文件就会被彻底删除,下次开机也就无法使用系统了。

CPU缓存使用的SRAM的特点就是速度快,而且从一级缓存到三级缓存速度依次递减,容量依次增大,但是CPU缓存最大的缺点就是结构复杂,成本高,占用面积大(一个SRAM需要六个MOSFET),因此我们看到CPU发展几十年来,一二级缓存的容量都保持的非常小,尽管现在有了更大的三级缓存,但是加起来最多也就几十Mb,远远放不下一个操作系统。

当然,为了保证CPU的速度,CPU内部缓存的速度都是非常快的,属于目前速度最快的存储介质,如果能把操作系统安装在缓存里可以获得非常快的运行速度,可惜无论是技术原理还是容量上都无法做到,即使是在未来许多年以后也做不到,所以目前提高系统性能最好的办法还是把系统安装在SSD固态硬盘里,期待未来闪存芯片的性能可以提高到内存的水平吧!


嘟嘟聊数码


不请自来,知识有限,请谅解。

第一缓存断电就会清空,你必须想办法解决。

第二cpu的缓存(或者其他形式的存储单位)足够装下系统,cpu架构和能耗都会有很大的改变。

第三你这种想法下,既有的电脑架构应该也会变,就是不再会有主板,cpu,硬盘等等配件,很可能会高度集成到一起,需要的话进行扩展。

理论上感觉可行,但从生产完装上系统开始CPU必须不能断电,一断电全没了……

大部分人应该用windos的休眠功能,休眠的时候一部分服务是活动的,在内存里,虽然不在缓存,但实际概念差不多

你还可以了解一下量子计算机,我也是刚刚开始了解这个方向,量子计算机的整体设计思路应该会颠覆现存的电脑架构。用该会很好玩。

技术是拿来用的,问题是拿来解决的。别守着现有的技术说一切猜想是不能!还在用翻盖手机的时候,乔布斯已经在研究触屏手机了!


每日一囧嗷呜


如果缓存做到足够大的话,而且大到可以把操作系统放进高速缓存的话,那是不是说明,那个时候的技术可以把缓存作小但是速度进一步的提高十倍、百倍?而且成本还可以下降几倍!这样的话,CPU的主频就可以进一步提高十倍、百倍,那么问题来了,到时候你是想要一个性能不错的开机1秒的操作系统放进高速缓存的电脑呢?还是需要一个价格便宜数倍,计算性能算法效率比前者高数十倍、但是开机需要十秒的电脑?嘿嘿,事实证明,没有所谓的单项技术产品的进步,只有整个系统的协同进步,达到效率最高和系统成本最低,因此即使技术再进步,你所说的能够把操作系统放进缓存的电脑都不会成为主流,因为无论是综合性能还是性价比它都不是最高的,工程、产品就是这样,一定要综合地来看待问题。


撸猫撩妹任逍遥


存储器集成电路分为ROM和RAM,RAM的主要特性:读写速度快,掉电后数据不能保存,地址总线和数据总线全部是并行接口可以直接连接在CPU的地址总线和数据总线上运行程序。分为静态RAM和动态RAM,静态RAM容量小,成本高,读写速度是存储器中最快的,所以在CPU中作为指令缓存器。动态RAM容量大,但是数据一段时间后有电也会丢失,所以动态RAM里有个刷新电路,每隔一段时间就会对数据重新写一遍,PC机中内存就是动态RAM.

因为RAM的地址总线是并行的,所以CPU可以快速的对RAM的任一地址单元进行读写,如果掉电后数据不丢失,那RAM就是完美的数据,程序存储器。

如果容量再大,那就完全可以把系统装进去。


分享到:


相關文章: