的例子就是:“存储器(storage)’与‘内存(memory)’有何区别?”
对于计算机用户而言,这个问题要是搞不清楚,的确“寸步难行”,可以看到,市场上考察个人计算机的存储性能,最主要的就是这两个概念。即便对于最初级的计算机用户来说,他们也一定需要了解到底多少“兆字节”或多少“吉字节”的存储器才能应对运行在其上的程序。如果进一步去思考,这些初级用户或许更加想了解计算机中的“文件”是什么概念,甚至连带这些文件如何从存储器加载进内存,又如何从内存存储到存储器,他们也非常期望学习这些知识。
像这类“存储器-内存”问题的解答大都使用类比法:“内存就好比你的办公桌,而存储器就好比你的文件柜。”就问题本身而言,它的确给出了满意的回答。但我对此答案并不满意,主要原因在于这个答案将计算机的体系结构与办公室的结构等同起来,但是内存与存储器的区别其实是在逻辑层面上的,它体现着计算机体系结构的实际需求与存储器客观性能之间的矛盾,简单地说就是我们找不到一种同时具备这两种存储器所有优点的存储媒介,这些优点就包括存储速度块、存储容量大、非易失性等等。今天的计算机都采用“冯·诺依曼体系结构”五十年来它一直是计算机体系结构的主导,而内存与存储器的区分也正是由于这种体系结构的不足所导致的。
还有一些计算机用户问我这样一个问题:“为什么Macintosh环境下的程序不能在Windows下运行?”我想立刻回答这个问题,但在我刚刚张开嘴的时候就立刻意识到,这个问题涉及太多的技术细节,要想彻底搞清楚,那提问的这位朋友也一定非准备和我来一次“茶话会”不可。
我希望这本书能够成为大家理解这些问题的“助手”,这种理解我希望不是抽象层面上的,而是具有一定深度的,这种深度甚至不逊于“电气工程师”和“程序员”的理解。我同时也非常希望大家能够理解:计算机是二十世纪技术领域的“登峰造极之作”,它是一种值得欣赏、具有“美”学文化底蕴的人类伟大成果,这种“美”不需要明喻与暗喻的额外修饰。
计算机拥有与生俱来的层次化体系结构,这种结构的底层是晶体管,其顶层则是计算机显示器上所呈现的信息。自底向上分析该结构的每一层这也是本书的编写结构其实这一切并没有人们想象中那么难。当然,现代计算机的内部结构不断推陈出新,但其本质上仍然是一些常见且简捷的操作集合。
IX