一 绪论
1.1 图灵模型
- Alan Turing(艾伦-图灵)1937年首次提出通用计算设备的设想:
- 所有的计算都可能在一种特殊的机器上执行。是一种数学上的描述
- 不是一台真实的机器
1.1.2 图灵模型
图灵机,又称图灵计算机指一个抽象的机器,是英国数学家艾伦・麦席森・图灵(1912―-1954年)于1936年提出的一种抽象的计算模型,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人类进行数学运算。 [2] 它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。
运行方式 :输入———>计算机———>输出
1.1.3 可编程数据处理器
图灵模型添加了一个额外元素,也就是程序。
程序:就是告诉计算机对数据处理的指令集合
程序是一个指令序列。
程序就如同以英语(程序设计语言)写作的文章,要让一个懂得英语的人(编译器)同时也会阅读这篇文章的人(结构体系)来阅读、理解、标记这篇文章。一般的,以英语文本为基础的计算机程序要经过编译、链接而成为人难以解读,但可轻易被计算机所解读的数字格式,然后放入运行。
在该模型中,输出数据是由两个维度进行控制--输入数据和程序
- 相同数据,不同程序;输出数据不同
- 不同数据,相同程序;输出数据不同
- 相同输入,相同程序;输出数据相同
1.2 冯诺依曼模型
由科学家冯-诺依曼提出的模型理论
基于通用图灵机建造的计算机都是在存储器(内存/寄存器)上存储数据
鉴于程序和数据在逻辑上是相同的,因此 程序也能存储在计算机的存储器中
存储器为核心
1.2.1 计算机之父——冯·诺依曼(1903--1957)
犹太人,著名的数学家、计算机学家、物理学家、化学家。出身于匈牙利首都“布达佩斯”。
他的主要身份还是“数学家”,其他方面的成就皆得益于其数学功底——
1.他创立了现代数学的一个分支——算子代数,也被称为“冯·诺伊曼代数”;
2.他写了《量子力学的数学基础》,对原子物理学发展起到了极大作用;
3.他写了《博弈论与经济行为》,创立“博弈论”,本属于“应用数学”,但被广泛应用于经济学、生物学、政治学等领域。
4.作为爆破专家,他参与了对德战争,后来又以顾问的身份,参与了第一颗原子弹的研制
因为其广博的知识,在原子弹研制的过程中,冯诺依曼经常给数学家解释物理化学,给化学家解释数学物理,给物理学家解释数学化学。
而他的英年早逝,也是由于工作中受到了核辐射。在计算机领域,他提出了三点开创性理论:
1.确定了计算机的体系结构——即“冯诺依曼结构”; 计算机结构
2.提出计算机应采用二进制编码(之前采用十进制); 计算机存储方式
3.提出计算机需要存储程序、按照程序进行工作(这是软件编程的理论基础,而之前让计算机工作是通过插拔电线)。 程序存储在计算机 编程
——软件、硬件、底层实现全是按照他的指示,当之无愧的“计算机之父
1.2.1 4个子系统
基于冯.诺依曼模型建造的计算机有4个子系统:存储器、算术逻辑单元、控制器、输入/输出单元
存储器: 用于存储数据和程序的区域
算术逻辑单元(ALU): 用来计算和逻辑运算的地方
控制器: 对存储器、算术逻辑单元、输入输出等子系统进行控制操作
输出/输出单元:
输入子系统负责从计算机外部接收输入数据;
输出子单元负责将计算机处理结果输出到计算机外部
1.2.2 存储程序概念
冯.诺依曼模型要求 程序也必须存储在存储器(内存)中
现代计算机的存储单元用来存储程序和数据,这意味着 程序和数据应该有相同的格式,
实际上它们都是以 位模式(0和1序列)存储在内存中
1.2.4 指令执行顺序
冯-诺依曼模型中的一段程序是由一组数量有限的指令组成。
控制单元从内存中提取一条指令,解释指令,接着执行指令,
也就是说指令是一条接着一条顺序执行的。
1.3 计算机组成部分
计算机由计算机硬件、数据、计算机软件三部分组成
1.3.1 计算机硬件
1.3.2 数据
冯.诺依曼模型是基于通用图灵模型进行定义的,在图灵模型中,计算机被定义为了一个数据处理机。
它接收输入数据、处理数据,然后输出数据
1.存储数据: 计算机是一台电子设备,最好的存储数据方式是电子信号
以 电子信号的出现与消失(位模式) 来存储数据,也就是以两种状态之一来存储数据。
日常生活中的数据,都不是以位模式存储,要存储到计算机中需要将其转换为位模式来存储。2.组织数据: 在数据存储到计算机之前,需要合理有序的组织成不同的格式。
将数据从计算机中输出也需要表现不同的形式。
1.3.3 计算机软件
图灵或冯·诺依曼模型的主要特征是程序的概念。在早期的计算机并没有在计算机的存储器中
存储程序,但它们还是使用了程序的概念。编程在早期的计算机中体现为一系列开关的打开或
闭合以及配线的改变。编程在数据实际开始处理之前是由操作员或工程师完成的一项工作。
1.4 历史
1.机械计算机器
2.电子计算机
3.计算机诞生
1.5 社会问题和道德问题
1.5.1 社会问题
- 依赖: 对计算机的过渡依赖,离开计算机什么事也做不了。
- 社会公正: 作者从计算机的设备花费昂贵等,说明只有有钱人能使用计算机,
- 但是随着计算机科学的发展,计算机越来越便宜,计算机使用的公正问题正在减小。数字化分裂: