上文中(操作系统系列(2):操作系统发展历史),我们谈了操作系统的发展历程,它伴随着硬件的发展而发展。本文,我们将一起探讨一下计算机模型的发展过程。在上文中我们说了在手工操作时期开始,内存的存在方式是纸带,将所需存放的内容以0、1的方式存放于纸带上,然后配合打孔机进行内存中内容的读写,计算结果,将返回结果写入到纸带上。
接下来,我们分三部分讲述计算机模型的发展,其中包括从白纸到图灵机、从图灵机到通用图灵机、从通用图灵机到冯诺依曼模型,冯诺伊曼模型就是我们现在所使用的一种现代计算机模型。
1. 从白纸到图灵机
1936年,英国数学家A.C.图灵提出了一种模型。
该模型便是图灵机,它是受人使用笔去运算数学题的例子启发的,下图中的人就相当于控制器,笔相当于人具有运算返回结果的能力,纸表示存放待解决问题和记录结果的地方,相当于内存。
下面是图灵机进行运算的一个例子。
1)控制器在纸带上读入3,然后在纸带上读入2,再在纸带上读入
2)控制器查它内部事先建好的映射表,知道3 2的结果是5。
3)在纸带上写下5。
上述的图灵机模型中的控制器有运算逻辑,但是只有加法的逻辑,它内部有一张计算结果对应表,比如读入3、2就知道结果为5,读入3、5得到结果为8。因此,加法图灵机,控制器只有一套逻辑。
2.从图灵机到通用图灵机
上述的图灵机有一个问题就是它只会做加法运算,控制器只有加法运算这一套逻辑,这就好比一个只会做一道菜的厨师,只会做加法运算这道菜。
细想一下,要是把这个只会做一道菜的厨师升级为一个能看懂菜谱的厨师,那该多好啊!
要是菜谱上写着一道减法运算题目,控制器能识别出这是在做减法运算,然后控制器进行减法运算返回结果;
要是菜谱上写着一道乘法运算题目,控制器也能识别出这是在做乘法运算,然后控制器进行乘法运算并返回结果。
同理,除法运算也是如此。
如此,便产生了通用图灵机的概念。
下面是图灵机和通用图灵机的形象比较。
图灵机好比一个只会做一道菜的厨师,只会根据某一特定的菜谱而出做出那一道菜。
通用图灵机好比一个能看懂菜谱的厨师,给定不同的菜谱,能自动识别菜谱内容而去做出不同的菜肴。
3.从通用图灵机到冯诺依曼机
1944年,一个伟大的思想被提了出来...
1944年,美籍匈牙利数学家冯·诺依曼提出计算机基本结构和工作方式的设想,为计算机的诞生和发展提供了理论基础。时至今日,尽管计算机软硬件技术飞速发展,但计算机本身的体系结构并没有明显的突破,当今的计算机仍属于冯·诺依曼架构。
人们把该设计思想称为冯诺依曼存储程序思想。
冯诺依曼存储程序思想理论要点:
1)存储程序的主要思想——将程序和数据存放到计算机内部的存储器中,计算机在程序的控制下一步一步进行处理。
2)计算机硬件设备由存储器、运算器、控制器、输入设备和输出设备5部分组成。
存储器中存放着是指令,IP是指令指针寄存器,可以理解为它的作用是指示当前执行的指令所在的内存地址,然后读取指令,放到IR(指令寄存器)分析取到的指令,译码,然后在运算器、控制器中运行该条得到结果。