咱们先别急着写代码,有个问题你可得想明白,计算机到底由哪些硬件构成?大多数人嘴里蹦出的大概也就是“主机里面有CPU”之类的话。其实冯诺依曼这位老爷子早把复杂的设计拆成了五块关键积木:运算器、控制器、存储器、输入设备和输出设备。这几块凑在一起才搭成了能让程序跑起来的“大脑”。看上面这张图,数据流像是条生产线,原料进去、成品出来,中间的指挥调度全靠控制器说了算。 咱们接着说CPU这块核心硬件。虽然看着就像一小块芯片,但它里面其实装着运算器和控制器这对双胞胎。运算器负责干活,把数据加工成答案;控制器则是发号施令的指挥官。这两个功能打包在一起,才让程序像流水线一样顺畅地执行。 再聊聊存储器这块。冯老把能存东西的都叫存储器,但内存和硬盘分工很明确。内存像是随身带的小包,CPU干完活立马把结果塞回去;硬盘则像资料室,暂时不用的数据先归档,需要的时候再调出来。这两者互补配合,才让电脑既跑得快又能装得下。 鼠标键盘跟显示器就是电脑的嘴巴和眼睛。输入设备负责把人写的指令变成机器能懂的语言;输出设备则把机器算出来的结果翻译成人能看的信号。要是没了这两样东西,电脑就是个哑巴,只能自己跟自己玩。 冯老还给计算机立了条铁规矩——所有的数字和命令都得用二进制来表示。0和1就像“是”与“否”,简单又稳定,电路实现起来也方便,于是成了全球通用的编程语言。 计算机开机以后是怎么干活的呢?它先把程序和数据一股脑儿地装到主存里。接着控制器就像放电影一样开始工作,按照顺序从内存里取指令、翻译指令、执行指令,再把结果写回内存。这个过程重复循环不停歇。 其实早期的计算机就是按照冯诺依曼的架构设计的。后来哈佛结构出现了,它把程序指令和数据分开存放。现在手机芯片普遍用这种方案能省下不少内存带宽。虽然目前的PC电脑还是冯诺依曼体系占主流,但在手机这些嵌入式设备里,哈佛结构早就悄悄成为了主角。多了解一点这两者的差别吧,对你以后优化程序或者选硬件都很有帮助。