我们知道计算机的计算数据需要从磁盘调度到内存,然后再调度到L2 Cache,再到L1 Cache,最后进CPU寄存器进行计算。给老婆在电脑城买本本的时候向电脑推销人员问到这些参数,老婆听不懂,让我给她解释,解释完后,老婆说,“原来电脑内部这么麻烦,怪不得电脑总是那么慢,直接操作内存不就快啦”。我是那个汗啊。
我只得向她解释,这样做是为了更快速的处理,她不解,于是我打了下面这个比喻——这就像我们喂宝宝吃奶一样,
CPU就像是已经在宝宝嘴里的奶一样,直接可以咽下去了。需要1秒钟
L1缓存就像是已冲好的放在奶瓶里的奶一样,只要把孩子抱起来才能喂到嘴里。需要5秒钟。
L2缓存就像是家里的奶粉一样,还需要先热水冲奶,然后把孩子抱起来喂进去。需要2分钟。
内存RAM就像是各个超市里的奶粉一样,这些超市在城市的各个角落,有的远,有的近,你先要寻址,然后还要去商店上门才能得到。需要1-2小时。
硬盘DISK就像是仓库,可能在很远的郊区甚至工厂仓库。需要大卡车走高速公路才能运到城市里。需要2-10天。
所以,在这样的情况下——
我们不可能在家里不存放奶粉。试想如果得到孩子饿了,再去超市买,这不更慢吗?
我们不可以把所有的奶粉都冲好放在奶瓶里,因为奶瓶不够。也不可能把超市里的奶粉都放到家里,因为房价太贵,这么大的房子不可能买得起。
我们不可能把所有的仓库里的东西都放在超市里,因为这样干成本太大。而如果超市的货架上正好卖完了,就需要从库房甚至厂商工厂里调,这在计算里叫换页,相当的慢。
我讲完后,老婆看似有些明白了,然后对我说,“明白了,我就说最近衣服有点跟不上,原来是L1(衣柜)里的衣服跟不上了,老公什么时候去买衣服啊……”。我晕!
(以上故事,完全是我的亲身经历)