您的位置 首页 > 数码极客

【冯诺依曼计算机的五大部件】从二进制、布尔逻辑、图灵机、冯·诺依曼计算机模型到现代计算机

1数据的表达——扔掉“10”选择“2”的神的笔

二进制数是0和1的两个数字(“通过”和“断开”两种状态),可以使用开关进行信号输入,晶体三极管由于开关属性非常快、体积非常小,只要断电就能保持状态稳定,可以用于“记录”。

不同位数的二进制可以用不同个数的晶体管组合表示,由此,晶体管就成了组成计算机的基本元器件。

同时,二进制的运算规则也很简单,逻辑运算也非常方便,特别地,人们利用特殊的技术把减法、乘法、除法等运算都可以转换成加法运算来做。

2 符号的表示-编码

对于特定的英文字符、汉字、特殊符号等,统一用二进制代码来表示。在输出时,为了让大家看到字符的开关,又编制了相应的字型码(即字模)如下图:

3 从数量逻辑到逻辑电路

1848年,英国人乔治·布尔出版了《逻辑的数学分析,论演绎推理的演算法》,把逻辑学和数学结合起来,创建了数理逻辑。

我们知道,电子线路以电子信号为处理对象,也叫逻辑电路,因为数字电路是建立在逻辑代数的基础上的。用来实现基本逻辑关系的电路是逻辑电路中的基本单元,通常称为门(Gate)电路,门电路具有打开、关闭的功能和状态,正好与逻辑代数中的逻辑值(真与假)相对应,逻辑与、或、非,就有相应的与门、或门、非门。

理论上,只要能够用逻辑代数把人类思维表示出来,就可以用门电路构成的“机器”进行计算。

4 图灵机模型

1900年,德国数学家希尔伯特提出了23个重要的数学问题,其中包括“数学是可判定的吗?”也就是说,能够找到一种方法,仅仅通过机械化的计算,就能判定某个数学命题是对是错?数学的证明过程能否机械化?

英国数学家图灵认真观察、分析和研究了人类自身如何运用纸和笔等工具进行数学计算的全过程,该过程可以大致地描述如下:

I 根据计算需求在纸上写下相应的公式或符号;

II 根据眼睛所观察到的纸上的符号,在脑中思考相应的计算方法;

III 用笔在纸上写上或擦去一些符号;

IV 改变自己的视线,又会有新的发现;

V 转到第II步,如此继续,直到认为计算结束为止。

在此情况下,图灵于1936年提出了一种抽象的计算模型-图灵机。用来模拟人类“计算”过程的图灵机由以下几个部分组成:一条两端可无限延长的纸带,一个读写头,以及一个可以控制读写头工作的控制器;控制器是一个有限状态自动机,拥有预定的有限个互不相同的状态并能根据输入改变自身的状态(即从一种状态转换成另一种状态)。任何时候,它只能处于这些状态中的一种。当然,控制器还可控制读写头左右移动并读写,如下图:

尽管纸带可以无限长,但写进纸带方格里面的符号不可能无限多,通常是一个有穷的字母表。控制器的状态有若干种,可用集合来表示。控制器的状态也就是图灵机的状态,通常有一个初始状态和一个结束状态。

我们平时用笔在纸上做乘法运算的过程与一台图灵机的运转是非常相似的-在每个时刻,我们只将注意力集中在一个地方,根据已经读到信息移动笔尖,在纸上写下符号,而指示我们写什么怎么写的,则是早已背好的九九乘法表和简单的加法。如果将一个用纸笔做乘法的人看成一台图灵机,纸带就是用于记录的纸张,读写头就是这个人和他手上的笔,读写头的状态就是大脑的精神状态,而状态转移表则是笔算的规则,包括九九表、列式的方法等。

一个图灵机拥有若干个不同的状态(其中一个为初态,一个为终态),状态之间可以相互转换,也就是说,图灵机可以从一种状态转换到另一种状态。状态转移的条件有两个:图灵机的当前状态、当前读入的符号。状态转移的结果有三个:一是图灵机状态发生了变化,二是在带子上写入了新的符号,三是向左或向右移动了读/写头。状态转移的依据自然是状态转移指令,如下图:

图灵机的计算能力与现有的高级语言等价。

图灵机如何完成给定的计算呢?为了讲解方便,我们假设图灵机只能接收两个符号:空白字符(用符号b表示)和数字1。以下是计算“4+3”的过程。

5 冯·诺依曼计算机的组成和工作原理

图灵机的出现为现代计算机的发明提供了重要的思想。在图灵等人工作的影响下,1946年6月,冯·诺依曼及其同事完成了《关于电子计算装置逻辑结构设计》的研究报告,具体介绍了制造电子计算机和程序设计的新思想,确定了现代存储式电子数字计算机的基本结构与工作原理,给出了由控制器、运算器、存储器、输入和输出设备五大部件组成的被称为冯·诺依曼型计算机或存储程序式计算机的体系结构,如下图所示,为现代计算机的研制奠定了基础。

由于电子学以及电子工业的迅速发展,早已经把控制器和运算器做到了一起(集成在一块集成电路上),通常称之为中央处理器,如下图所示:

随着技术的发展,计算机的体系结构逐渐从CPU为中心转变为以存储器为核心。其原因如下:

I 存储器资源非常有限,且常常为多个任务(程序)所共享;

II CPU的工作频率比存储器高得多,存储器总是跟不上“趟”,一定程度上造成了“瓶颈”效应;

III 让输入输出设备直接与存储器打交道,明显可以提高传输效率;

IV 现代高性能计算机系统采取并行计算,一台计算机中拥有多达几百个、几千个甚至上万个CPU。

关于作者: admin

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐