计算机并不是新东西,大魔导师莱布尼茨几百年前就用齿轮做出过一台原始型手动版。当法拉第发现了电磁原理,人们当然想把手动版改成电动版,用继电器来代替齿轮。直到20世纪发明了电子管,人们发现用电子管表达0和1比齿轮和继电器更好用。现代魔导师冯.诺伊曼40年代再次改进了计算机的结构,引进了程序的概念,这是一个非常天才的构想。至今我们绝大部分电脑依然是冯机结构。
原始的计算机,一旦设计好了,制造出来了,就只能按照设计出来的魔法口诀放魔法,要想改变它的魔法是很困难的,你得重新设计,并去改动一堆齿轮或电子管之间的关系。冯诺伊曼提出了通用计算机的概念,把魔法口诀本身用二进制存储起来,使口诀的修改变得容易,比如用某个二进制数表示加法,另一个表示减法,加上一些流程控制判断及转移复制数据的指令,只需要1个byte就能表示256条指令,这可能就是最原始的指令集了。这个巨大进步使程序这个东西独立出来,变成软件,程序员不再拿着钳子扳手去改齿轮或插电子管,而是拿支笔写代码,感觉就高大上了起来。也使全球几千万人有了新职业:程序员。也造成了几百种计算机语言,无数学生老师靠它混饭吃。
后来,晶体管发明了,再后来有了集成电路,计算机时钟频率越来越快,越来越多的晶体管(7nm工艺能在1平方厘米硅片里刻上几亿个晶体管),但这个体系一直没有大改变。
集成电路是什么?从魔法的角度来说,就是在一块硅片上刻上阵法,使它能放魔法。早期也就能刻十几个几百个二极管三极管,甚至用手工都能画阵法图。在硅片上涂上光敏层再用紫外线把画好的阵法图刻上去,然后用化学药品把不需要的部分洗掉,再经过物理化学处理,原子轰击(曝光的部分被轰击,制造出P结和N结)一个刻画了魔法阵法的芯片就这样出来了,能做成各种功能强大的法宝。
Intel 4004是Intel于1971年制造的一款微处理器,片内集成了2250个晶体管,还真不多,电路图也不复杂。晶体管之间的距离是10微米(手工强点的雕刻师能在胶片上刻出来吧),能够处理4bit的数据,每秒运算6万次,频率为108KHZ,前端总线为0.74MHz (4bit)。这款芯片卖了几十年,用在很多不需要复杂运算的设备上。
现代工艺当然复杂得多,设计多达几亿个晶体管的阵法图,用几纳米的激光刻在硅片上,涉及到光学、化学、物理各种魔法分科,所以,指甲盖大小的TF卡就能有128GB。这真是个魔法时代啊。