4 总结
打孔卡,其实就是一种存储程序型计算机。
只是这整个程序的机器码,不是通过计算机编译出来的,而是由程序员的人脑“编译”成一张张卡片的
对应的程序,也不是存储在设备里,而是存储成一张打好孔的卡片
但是整个程序运行的逻辑和其他CPU的机器语言没有什么分别,也是处理一串“0”和“1”组成的机器码而已。
我们看到了一个C语言程序,是怎么被编译成为汇编语言,乃至通过汇编器再翻译成机器码的。
除了C这样的编译型的语言之外,不管是Python这样的解释型语言,还是Java这样使用虚拟机的语言,其实最终都是由不同形式的程序,把我们写好的代码,转换成CPU能够理解的机器码来执行的。
只是解释型语言,是通过解释器在程序运行的时候逐句翻译,而Java这样使用虚拟机的语言,则是由虚拟机对编译出来的中间代码进行解释,或者即时编译成为机器码来最终执行。
5 推荐阅读
- 了解Intel CPU的指令集参看
《计算机组成与设计:软/硬件接口》第5版的2.17小节
参考
深入浅出计算机组成原理