电子计算机的定义显然不适用于计算机的一般定义,本节介绍计算机的一种形式化定义,并在此基础上给出计算机的分类。
简言之,计算机就是基于具有一定通用性的计算模型,用适应该计算模型的材料研制的机器。或者说,计算机是基于某类材料建立与之相匹配的计算模型,并以此为基础研制的机器。在选定材料与计算模型后,还需为计算机设计一种系统结构,也称体系结构(Architecture)。基于此,给出计算机的一种形式化定义:
计算机=计算模型+实现材料+体系结构
例如,电子计算机的计算模型是图灵机,实现材料是电子元器件(如二极管、三极管、电阻器、电容器等),体系结构为冯·诺依曼体系结构(von Neumann Architecture)。该体系结构由 5 个部分构成:运算器(完成各种算术运算、逻辑运算和数据传送等数据处理工作)、控制器(控制程序的执行)、存储器(存储程序和数据)、输入设备(将数据或程序输入计算机中,如鼠标、键盘等),以及输出设备(将数据或程序的处理结果展示给用户,如显示器、打印机等)。其中,运算器和控制器组成计算机的中央处理器(Central Processing Unit,CPU)。这五大基本组成部件通过指令进行控制,并在不同部件之间进行数据传递。
电子计算机是冯·诺依曼设计的,但当今计算机领域内的最高奖被命名为“图灵奖”,而非“冯·诺依曼奖”。计算模型在计算机中的重要性由此可见一斑。
当前,计算机及计算模型通常是以实现材料或实现材料的尺度来命名的。例如,电子计算机、生物计算机(包括DNA计算机、RNA计算机、蛋白质计算机)是以实现材料命名的,量子计算机则是以实现材料的尺度命名的。而计算机的核心是计算模型,因此,上述计算机的命名似乎不够贴切。遗憾的是,截至本书成稿之日,上述计算机无论是可实用化的,还是在实验室里的,采用的计算模型均为图灵机。从这个角度来讲,基于实现材料或实现材料的尺度命名计算机是合理的。
计算机的计算模型可分为以下4类。
(1)串行计算模型。图灵机就是标准的串行计算模型,其实,早期的机械计算机的计算模型均为串行计算模型。
(2)全并行计算模型。本书第 9 章介绍的探针机就是一种全并行计算模型。此计算模型的一个基本特征是数据维数≥2,一般为三维。
(3)串/并计算模型。人脑信息处理的数学模型就是串/并计算模型。人脑有5个并行的感觉系统,而每个感觉系统在信息处理过程中是串行的,这似乎反映出串/并计算模型的智能化程度。
(4)智能计算模型。采用智能计算模型的计算机称为智能计算机。关于智能计算机,本书不予讨论,这里仅给出其形式化定义:
智能计算机=智能计算模型+体系结构+实现材料+基本智能集