计算机科学导论 -- 第一章 绪论

一 本章内容

本章讲述了 图灵模型 冯.诺依曼模型 计算机组成部分 历史
社会问题和道德问题

1.1 图灵模型

  1. Alan Turing(阿兰-图灵)1937年首次提出通用计算设备的设想:
    所有的计算都可能在一种特殊的机器上执行。

  2. 是一种数学上的描述

  3. 不是一台真实的机器

通用图灵机是对现代计算机的首次描述,该机器只要提供合适的程序就能做任何运算

1.1.1 数据处理器

首先,将计算机定义为数据处理器。也就是接收数据、处理数据并产生输出数据的黑盒。

该模型存在一个问题,就是没有说明基于该模型能够完成处理类型和数量。

1.1.2 可编程数据处理器

图灵模型添加了一个额外元素,也就是程序。程序:就是告诉计算机对数据处理的指令集合
计算机科学导论 -- 第一章 绪论_第1张图片

在该模型中,输出数据是由两个维度进行控制–输入数据和程序

  • 相同数据,不同程序;输出数据不同
  • 不同数据,相同程序;输出数据不同
  • 相同输入,相同程序;输出数据相同

计算机科学导论 -- 第一章 绪论_第2张图片

1.2 冯.洛伊曼模型

  • 由科学家冯-诺依曼提出的模型理论

  • 基于通用图灵机建造的计算机都是在存储器(内存/寄存器)上存储数据

  • 鉴于程序和数据在逻辑上是相同的,因此 程序也能存储在计算机的存储器中

1.2.1 4个子系统

基于冯.诺依曼模型建造的计算机有4个子系统:存储器、算术逻辑单元、控制器、输入/输出单元
计算机科学导论 -- 第一章 绪论_第3张图片

  • 存储器: 用于存储数据和程序的区域

  • 算术逻辑单元(ALU): 用来计算和逻辑运算的地方

  • 控制器: 对存储器、算术逻辑单元、输入输出等子系统进行控制操作

  • 输出/输出单元:

    • 输入子系统负责从计算机外部接收输入数据;
    • 输出子单元负责将计算机处理结果输出到计算机外部

1.2.2 存储程序概念

  • 冯.诺依曼模型要求 程序也必须存储在存储器(内存)中

  • 现代计算机的存储单元用来存储程序和数据,这意味着 程序和数据应该有相同的格式
    实际上它们都是以 位模式(0和1序列)存储在内存中

1.2.4 指令执行顺序

  • 冯-诺依曼模型中的一段程序是由一组数量有限的指令组成。

  • 控制单元从内存中提取一条指令,解释指令,接着执行指令,
    也就是说指令是一条接着一条顺序执行的。

1.3 计算机组成部分

计算机由计算机硬件、数据、计算机软件三部分组成

1.3.1 计算机硬件

1.3.2 数据

冯.诺依曼模型是基于通用图灵模型进行定义的,在图灵模型中,计算机被定义为了一个数据处理机。
它接收输入数据、处理数据,然后输出数据

  1. 存储数据: 计算机是一台电子设备,最好的存储数据方式是电子信号
    电子信号的出现与消失(位模式) 来存储数据,也就是以两种状态之一来存储数据。
    日常生活中的数据,都不是以位模式存储,要存储到计算机中需要将其转换为位模式来存储。

  2. 组织数据: 在数据存储到计算机之前,需要合理有序的组织成不同的格式。
    将数据从计算机中输出也需要表现不同的形式。

1.3.3 计算机软件

图灵或冯·诺依曼模型的主要特征是程序的概念。在早期的计算机并没有在计算机的存储器中
存储程序,但它们还是使用了程序的概念。编程在早期的计算机中体现为一系列开关的打开或
闭合以及配线的改变。编程在数据实际开始处理之前是由操作员或工程师完成的一项工作。

  1. 程序必须是存储的

    在冯·诺依曼模型中,这些程序被存储在计算机的存储器中,存储器中不仅要存储数据,
    还要存储程序

  2. 指令有序

    这个模型还要求程序必须是有序的指令集。每一条指令操作一个或者多个数据项。
    因此,一条指令可以改变它前面指令的作用

  3. 算法

    程序要求包含一系列指令使得编程变得可能,程序员不仅要了解每条指令所完成的任务,
    还要知道怎样将这些指令结合起来完成一些特定的任务。对于一些不同的问题,
    程序员首先应该以循序渐进的方式来解决问题,接着尽量找到合适的指令(指令序列)来解决问题。
    这种 按步骤解决问题的方法就是所谓的算法

  4. 语言

    • 机器语言: 程序员依靠写指令的方式(使用位模式)来解决问题。但是随着程序越来越大,
      采用这种模式来编写很长的程序变得单调乏味。

    • 符号语言:随着任务的复杂性越来越高,科学家研究使用符号来表示位模式指令,
      这样计算机编程语言就诞生了

  5. 软件工程

    软件工程指结构化程序的设计和编写,为高效的程序开发而诞生的一门理论体系

  6. 操作系统

1.4 历史

  1. 机械计算机器

  2. 电子计算机

  3. 计算机诞生

1.5 社会问题和道德问题

1.5.1 社会问题

  1. 依赖: 对计算机的过渡依赖,离开计算机什么事也做不了。

  2. 社会公正: 作者从计算机的设备花费昂贵等,说明只有有钱人能使用计算机,
    但是随着计算机科学的发展,计算机越来越便宜,计算机使用的公正问题正在减小。

  3. 数字化分裂: 导致的信息分裂,作者把使用计算机和不使用计算机分为两类人群,
    一部分人通计算机进行通信,一部分使用传统通信方式。

1.5.2 道德问题

  • 隐私
  • 版权
  • 计算机犯罪

1.6 计算机作为一门学科

随着计算机的发明,带来了新的学科:计算机科学。如同其他任何学科一样,
计算机科学现在被划分成几个领域。我们可以把这些领域归纳为两大类:系统领域和应用领域。

  • 系统领域涵盖那些与硬件和软件构成直接有关的领域

    例如计算机体系结构、计算机网络、安全问题、操作系统、算法、程序设计语言以及软件工程。

  • 应用领域涵盖了与计算机使用有关的领域

    例如数据库和人工智能。本书对所有这些领域采用广度优先的方式介绍。学完本书之后,读者应该有足够的信息来选择专业方向。

你可能感兴趣的:(计算机科学导论)