当前位置: 华文星空 > 知识

如果硬盘速度足够快,内存这东西是不是就可以取消了?

2012-07-22知识

挖个坟,8102年了,可以部分反对高赞答 @冯东 和 @肖斌 的回答了。

一句话结论,可能会取消DRAM,也可能会取消外存,但不会取消内存。

首先要明确一下内存的定义。我们现在常用的计算机、智能手机都属于冯·诺依曼体系计算机,本文也只讨论在冯·诺依曼机中的情况。 在冯·诺依曼结构中,只有一个存储单元,并没有主辅内外之分。

自从上世纪七十年代初,DRAM(Dynamic random-access memory,动态随机访问存储器)商用后,至今将近半个世纪时间内,几乎所有的计算机都使用DRAM作为计算机的存储器。DRAM可以很好的在容量、速度和成本中取得平衡。然而为了兼顾速度,容量和成本都无法满足实际要求;此外,DRAM是易失性存储器,需要通过不断加电刷新来保持数据,一旦断电就会导致数据丢失。所以才需要引入一种容量大、低成本的非易失性存储器来进行数据的存储。为了与冯·诺依曼结构中的存储单元区分,结构中的存储单元称为主存(Main Memory,或者Primary Memory),这种用于辅助存储的存储器称为辅存(Auxiliary Memory,或者Secondary Memory)。辅存在冯·诺依曼体系结构中,同时作为输入设备和输出设备存在。

辅存有很多种,磁带、软盘、硬盘、光盘、闪存卡、U盘等等都属于辅存,这些介质大部分都在计算机外部,或者在计算机内部读写,存放到外部。即使是硬盘,早期的硬盘有一个冰箱那么大,也是放不进计算机内部的,所以根据存储介质和计算机本身的位置关系,主存又叫内存,辅存也叫外存。又因为将近半个世纪以来,都是用DRAM作为实现内存的介质,所以DRAM和内存往往混用,大家也都不会产生误解。

对于指定的某一台计算机来说,辅存并不是必须的。 如果有另外一种输入/输出设备用于数据和指令的输入/输出,完全可以取代辅存的作用——例如网吧的无盘机,没有安装硬盘而是使用网卡作为输入输出设备。同样的,如果不考虑速度、成本这两个因素中的一个,或者两个因素都不考虑,我们也可以用非易失性的存储介质作为内存,也就没有使用辅存的必要了——这可能需要CPU/操作系统做相应的改动。

所以,如果出现一种新的存储介质,速度和DRAM相近,非易失性,可以做出很大的容量,成本也很低或者说可以接受。那么完全可以替代DRAM作为内存使用,并且无需使用辅存。 此时,这种存储器就是内存本身。所以,会被取消的,只是辅存本身,内存是不会被取消的。

就目前来看,Intel的Optane就有这个倾向。Optan是可以作为内存使用的,诚然现在傲腾的性能还比不上DRAM,价格还很高。但可以设想,如果再过几年,512GB-1TB内存形式傲腾的价格可以控制在500~1000之间(就算现在,只要你可以无视480G Optane 5K的售价——DIMM形式的可能更贵点),如果Optane的速度还能进一步提升甚至超过DRAM则直接使用Optane(即使现在Optane还比不上DRAM的性能,也可以同时搭配16~32GB的DRAM作为Cache)。只要CPU、操作系统都对这种方式进行了必要的改动,那么 有什么理由一定要给电脑装上一块硬盘或者固态硬盘?——这是我反对两位高赞答主 @冯东 @肖斌 的原因。

最后,又因为现代计算机同时属于图灵机,理论上主存的容量是可以无限大的。但主存的容量越大,则需要更多的访问地址进行存储,也就带来寻址时间延迟的问题。从这个角度考虑,限制在一定容量范围内的主存性能会更好。所以也许还是需要有另外一种辅存来存储访问频率很低的数据,例如一些历史数据,需要保存但很少回看的视频照片,备份数据等。但很可能是网盘/分布式存储,而不一定需要使用类似硬盘这样的辅存设备。