计算机的概念模型
计算机实际上就是实现了一个图灵机模型。即,输入参数,根据程序计算,输出结果。图灵机模型如图。
Tape是输入数据,Program是针对这些数据进行计算的程序,中间横着的方块表示的是机器的状态。
目前使用的电子计算机都是实现了这样一个抽象模型的产物,只不过物理实现上不一样。
比如,典型的加法运算。
c = a + b
a和b是输入参数,c是加法的输出。
如何实现运算?
设计一台电脑。CPU里面有一个加法器。现在如何实现加法运算,并将结果输出呢?实际上可以采用如下的方式。
- 有一根内存条
- 有一个CPU
- CPU含有3条指令(加法,读取内存,写入内存)
那么如何实现上述的加法运算呢?我们可以采用下面的模式
第一步,将a放入内存
第二步,将b压栈
第三步,CPU从内存读取a和b,并进行加法运算
第四步,将内存中的a和b清空,并将计算后的结果c放入内