目录
- 图灵模型
- 冯-诺依曼模型
- 计算机三大部分:硬件、数据和软件
- 计算机硬件
- 计算机数据
- 计算机软件
- 计算机简史
- 计算机的社会问题和职业道德问题
1.1 图灵模型
图灵机:什么是图灵机?
- AlanTuring(阿兰-图灵)1937年首次提出通用计算机设想:所有的计算都可能在一种特殊的机器上执行。
- 是一种数学上的描述
- 不是一台真实的机器
数据处理器
首先暂且把计算机可以被看作一种接收数据输入、处理数据并产生数据输出的黑盒。
问题:没有确定计算机能处理的数据是什么。
可编程数据处理器
图灵模型:可编程计算机
程序:告诉计算机对数据处理的指令集合
可编程数据处理器-输出数据
输出数据:根据输入数据+程序,得到输出数据
- 相同程序,不同输入数据:输出数据不同
- 相同输入数据,不同程序:输出数据不同
- 相同输入数据,相同程序:输出数据相同
通用图灵机
通用图灵机是对现代计算机对首次描述,该机器只要提供合适的程序就能做任何运算。
1.2 冯-诺依曼模型
什么是冯-诺依曼模型?
- 由科学家冯-诺依曼提出的模型理论
- 基于通用图灵机建造的计算机都是在存储器(内存/寄存器)上存储数据
- 鉴于程序和数据在逻辑上是相同的,因此程序也能存储在计算机的存储器中
4个子系统
- 存储器:用来存储数据和程序的区域
- 算术逻辑单元(ALU):用来计算和逻辑运算的地方
- 控制单元:对存储器、算术逻辑单元、输入/输出等子系统进行控制操作
- 输入/输出单元:输入子系统负责从计算机外部接收输入数据,输出子系统负责从计算机处理结果输出到计算机外部
存储程序概念
- 冯-诺依曼模型要求程序也必须存储在存储器(内存) 中
- 现代计算机的存储单元用来存储程序和数据,这意味着程序和数据应该有相同的格式,实际上它们都是以位模式(0和1序列)存储在内存中
- 什么是位模式?
指令的顺序执行
- 冯-诺依曼模型中的一段程序是由一组数量有限的指令组成。
- 控制单元从内存中提取一条指令,解释指令,接着执行指令,也就是说指令是一条接着一条顺序执行的
1.3 计算机组成部分
计算机由三大部分组成
- 计算机硬件
- 计算机数据
- 计算机软件
计算机硬件这部分的内容在后面会讲解,我们门先来了解一下数据和软件。
2.数据
冯-诺依曼模型将计算机定义为一台数据处理机,它接收输入数据处理数据,最后输出数据
- 存储数据:计算机是一台电子设备,最好的数据存储方式应该是电子信号,以电子信号的出现和消失(位模式)来存储数据,即以两种状态之一来存储数据。但是日常生活中的数据(文本、图像、声音、视频等)不是以位模式存储的,不能直接存储到计算机中,除非将这类数据转换为位模式。
为什么使用位模式?因为电子设备对位模式的实现简单(通电或不通电,高电压和低电压.)位模型 0 1
- 组织数据:在数据存储到计算机之前,需要合理有序的组织成不同的格式。将数据从计算机中输出也需要表现不同的形式
- 正级 高电位 通电 1;负级 低电位 未通电 0
3.计算机软件
程序必须是存储的
- 存储器中包含程序和数据
指令的序列
- 这个模型还要求程序必须是有序点指令集。每一条指令操作一个或者多个数据项。
- 程序员通过组合这些不同的指令来创建任意数量的程序,每个程序可以是不同指令的不同组合。
算法
- 程序按一系列的指令执行使得编程成为可能,程序员通过指令集中的指令组合完成特定的运算任务,按照有序指令解决问题的的方法就是算法。
语言
- 机器语言:程序员编写位模式(0和1的组合)的指令来完成任务
- 符号语言:随着任务的复杂性越来越高,科学家研究使用符号来表示位模式指令,这样计算机编程语言就诞生了
软件工程
- 软件工程指结构化程序的设计和编写,为高效的程序开发而诞生的一门理论体系,这部分后面会讲到
操作系统
- 这部分内容在后面会讲到
社会问题和道德问题
- 社会问题
- 1.依赖:对计算机的过渡依赖,离开计算机什么事也做不了。
- 2.社会公正:作者从计算机的设备花费昂贵等,说明只有有钱人能使用计算机,但是随看计算机科学的发展,计算机越来越便宜,计算机使用的公正问题正在减小。
- 3.数字化分裂:导致的信息分裂,作者把使用计算机和不使用计算机分为两类人群,一部分人通计算机进行通信,一部分使用传统通信方式。
- 道德问题
- 1. 隐私
- 2.版权
- 3.计算机犯罪
计算机科学作为一门学科
随着计算机的发明,带来了新的学科:计算机科学。如同其他任何学科一样,计算机科学现在被划分成几个领域。我们可以把这些领域归纳为两大类:系统领域和应用领域。系统领域涵盖那些与硬件和软件构成直接有关的领域,例如计算机体系结构、计算机网络、安全问题、操作系统、算法、程序设计语言以及软件工程。应用领域涵盖了与计算机使用有关的领域,例如数据库和人工智能。
1.7课程纲要
在本章之后,本书分为了五大部分。
1.7.1 第一部分:数据的表示与运算
该部分包括第2、3和4章。第2章讨论了数字系统,数量如何能使用符号来表示。第3章讨论了不同的数据如何存储在计算机中。第4章讨论了一些基本的位运算。
1.7.2 第二部分:计算机硬件
这部分包含第5、6章。第5章给出计算机硬件的通用概念,讨论了不同的计算机组成。第6章阐明了不同的单个计算机是如何连接成计算机网络以及互联网的。本章还特别涉及了与互联网及其应用有关的话题。
1.7.3 第三部分:计算机软件
这部分包含第7、8、9和10章。第7章讨论了操作系统,一种用户(人或者应用程序)用来控制硬件访问的系统软件。第8章说明了问题求解是如何归结成为该问题编写算法。第9章是当今程序设计语言之旅。最后,第10章是软件工程的概述,这是软件开发的工程方法。
1.7.4 第四部分:数据组织与抽象
这部分是对第一部分的补充。在计算机科学中,原子数据汇集成记录、文件和数据库。数据抽象使得程序员能创建关于数据的抽象观念。第四部分包含第11、12、13和14章。第11章讨论数据结构,即集合相同或不同类型的数据到一个类属中。第12章讨论抽象数据类型。第13章说明不同文件结构是如何能够用于不同的目的。最后,第14章讨论数据库。
1.7.5 第五部分:高级话题
第五部分给出了高级话题的概要,这些话题是计算机科学专业学生在今后的教育中会遇到的。这部分包含第15、16、17和18章。第15章讨论了数据压缩,这在今天的数据通信中很普遍。第16章探索与安全有关的问题,当我们通过不安全的信道通信时,安全问题变得越来越重要。第17章讨论计算理论,即哪些是可计算的,哪些是不可计算的。最后,第18章给出一些人工智能的观点,在计算机科学中,这是一个日益受到挑战的话题。
小结
- 阿兰·图灵在1937年首次提出了一个通用的计算设备的设想。他设想所有的计算都可能在一种特殊的机器上执行,这就是现在所说的图灵机。
- 基于冯·诺依曼模型建造的计算机分为4个子系统:存储器、算术逻辑单元、控制单元和输入/输出单元。冯·诺依曼模型指出程序必须存储在存储器中。
- 我们可以认为计算机由三大部分组成:计算机硬件、数据和计算机软件。
- 计算和计算机的历史可分为三个阶段:机械计算机器阶段(1930年以前):电子计算机阶段(1930~1950年);以及包括5个现代计算机时代的阶段。
- 计算机科学引发了一些周遭的问题。其中最为普遍的可以归类为社会问题和道德问题。
- 随着计算机的发明,带来了新的学科:计算机科学。如同其他任何学科一样,计算机科学现在被划分成几个领域。