The Basic Concepts of Memory

见过最多的,也最可悲的是—— 永远不相信自己所有的问题就出在自己从来都不肯耐心把最基础的东西弄清楚弄明白。[1]

通俗计算机工作原理

首先,我们从计算机工作原理谈起。

在启动Excel程序之前,Excel程序以可执行文件的形式存储在计算机硬盘里,这时候它什么也做不了,只是计算机硬盘里的二进制代码而已,就像密封在魔瓶里的小怪兽,等待着拔开魔瓶盖子的那个人。

那么,谁是那个打开魔瓶盖子的人呢?这个人就是作为Excel使用者的我们!我们双击Excel图标启动Excel,就相当于打开魔瓶盖子,Excel小怪兽从计算机硬盘加载到计算机内存中,小怪兽获得了自由,而计算机内存就是Excel小怪兽施展本领的地方。

可以这样比喻:Excel程序启动之前存在于计算机硬盘中时,它是扁平的、僵硬的、毫无生命的二进制代码,但是,当Excel程序启动并加载到计算机内存以后,它就变成了立体的、鲜活的、有生命的Excel程序。

内存是计算机的重要组成部分,我们可以把它想象成工作台边上的一排排立体货架,程序从计算机硬盘加载到内存的过程就相当于把货物从“紧锁的”库房(计算机硬盘)中取出,摆放到工作台边的一排排货架(内存)上,以方便计算机中央处理器(又称为CPU)随时加工取用。

为了更清楚地说明问题,我们用Excel工作表模拟计算机的内存结构。假设图1-2所示的工作表就是计算机内存,工作表中的每个单元格相当于计算机内存中的一个存储位置,我们发现计算机内存中已经加载了如下数据:

内存B2位置(B2单元格)存储了一个数值12;

内存B3位置(B3单元格)存储了一个数值5;

内存B5位置(B5单元格)存储了一个字符”Jack”;

内存B6位置(B6单元格)存储了一个字符串”Lin”;

内存B10:H19位置存储了一个Excel工作簿WorkBook(1)。

还有很多已经加载到计算机内存中的其他各种内容。

像车间工作台旁边的货架一样,计算机内存中的每个存储位置都有一个位置坐标(或者称作“存储地址”),比如位置B2就是数值12存储的地址;位置B5就是字符串”Jack”存储的地址。

简单地了解了计算机内存后,我们再来了解另一个重要的计算机部件的功用,那就是:计算机中央处理器,也叫CPU。

当我们双击Excel图标启动Excel时,是谁把Excel加载到计算机内存中的一个个存储位置上的呢?具体做这件事的人是我们吗?不是,我们只是双击了一下Excel图标,给计算机发出了一个启动Excel程序的命令而已,具体做这件事的是计算机中央处理器(CPU)。

计算机中央处理器是计算机中最勤劳的部件,计算机的绝大部分工作都由它来完成,比如,把Excel程序从计算机硬盘加载到计算机内存中;执行VBA程序等。

Reference

[1]everyone-can-use-english
[2]通俗计算机工作原理