Featured image of post FoCS 01 - 绪论

FoCS 01 - 绪论

或许书也没有想到:过了 8 年我才想起它

封面故事:ENIAC,人类制造的第一台计算机

# 闲言碎语

正如描述中所说的那样,这是一本 2015 年买的书,到 2023 年才开始看。 原书名为《计算机科学导论》,一本非常经典的计算机入门书籍,想当年是买来给大学入学做准备的,没想到竟然从一所大学等到了另一所大学。

言归正传,开个新坑,名为 FoCS (Foundations of Computer Science),在这个系列中,我会把从本书学到的内容用我自己的语言复述一遍,用于将来快速复习。

# 图灵模型

众所周知,艾伦·图灵 来自英国的世界闻名的计算机科学家,图灵模型就是他设想的一种计算机理论模型(在那时计算机还只是一个概念)。

# 计算机黑盒

为了方便理解,不妨先想象有这么一个黑盒:它能将 你的输入 通过 某种计算 得到 结果并输出

1
输入数据 ----> 黑盒 ----> 输出数据

或许你看这个东西看得很眼熟,这好像就是 函数

1
x ----> function ----> f(x)

# 可编程的计算机黑盒

接下来,黑盒变得稍微高级了一些,它能够替换 内部的执行规则,从而实现更多的功能,那么就会变成这个样子:

1
2
3
4
5
输入数据1 ----> 黑盒(规则1) ----> 输出数据1
输入数据2 ----> 黑盒(规则1) ----> 输出数据2

输入数据1 ----> 黑盒(规则2) ----> 输出数据3
输入数据2 ----> 黑盒(规则2) ----> 输出数据4

就和函数一样,函数值 会因为 自变量函数体 的变化而变化
自变量函数体 一致的情况下,函数值 应该是唯一且确定的

1
2
3
4
5
x1 ----> f(x1)
x2 ----> f(x2)

x1 ----> g(x1)
x2 ----> g(x2)

上面黑盒中的 内部的执行规则 我们称之为 程序,它是一组有限的操作指令的集合。

# 通用图灵机

通用图灵机便是上面这样的一个可以替换内部执行规则的黑盒,只要我们能够为它提供 输入数据合适的程序,那么它就能进行任何计算

# 冯·诺伊曼模型

冯·诺伊曼 是来自美国的世界闻名的计算机科学家,被誉为现代计算机之父

# 模型组成

模型由以下四个部分组成

  • 算术逻辑单元:模型中用于对数据进行处理的部分
  • 输入输出单元:模型中用于对数据输入和输出的部分
  • 存储器:用于存储 输入输出的数据和程序
  • 控制单元:用于对上述所有的单元进行控制

# 和 图灵模型 的区别

与 图灵模型 相同,冯·诺伊曼模型也是一种通用计算计算机模型,可以从上面的模型组成看出两者的区别

  1. 在图灵模型中没有 控制单元和存储器
  2. 在冯·诺伊曼模型中首次提出 程序也可以存储 的概念

# 现代计算机都有啥

简单说,现代计算机包含:计算机硬件,数据和计算机软件

# 计算机硬件

即使过去这么多年,不论计算机如何变化,它们依然都基于 冯·诺伊曼模型
尽管可以有不同类型的 输入/输出设备和控制单元等,但是它们都仍然属于以上四部分之一

# 数据

# 数据存储

至今为止,所有的计算机都是二进制计算机,计算机只能识别 0 和 1,我们所有的数据都是通过不同的 0 和 1 来表达的
根据存储介质的不同,0 和 1 的体现方式也有所不同:

  • 在电路中,通过断开和连接表示 0 和 1
  • 机械硬盘中,通过磁极来表示 0 和 1

# 组织数据

尽管所有的数据对于计算机来说都是 0 和 1,但在计算机外部却可以表现为不同的形式(就像不同的语言都能表达相同的意思)

# 计算机软件

计算机软件又称程序,它又包括以下概念:

  1. 和数据一样,程序也是可以存储的
  2. 程序是一组有限的指令集合,会将程序常用的指令提取出来,方便重用
  3. 算法:按步骤解决问题的方法就是算法,算法会是程序的一部分
  4. 编程语言:用于编写计算机程序的语言
  5. 软件工程:将软件的开发工作 规范化,流程化
  6. 操作系统:操作系统也是程序,可以看作应用软件和硬件的中间层,为应用软件调用硬件提供支持

# 计算机发展史

# 真空管计算机

又称为第一代计算机(1950-1965),使用真空管作为电子开关,体积庞大,功耗和发热量巨大,只有大的机构才负担得起。

# 晶体管计算机

又称为第二代计算机(1959-1965),使用晶体管替代真空管,减小了体积和发热,中小企业也能负担得起,与此同时也出现了 FORTRAN 和 COBOL 两种编程语言,能用于操作计算机解决实际问题。

# 集成电路计算机

又称为第三代计算机(1965-1975),将晶体管,导线和其他部件做到一块芯片上,进一步降低了成本和大小,许多小型公司也能负担得起,与此同时软件工业也就此诞生。

# 微型计算机

又称为第四代计算机(1975-1985),电子工业发展允许将整个计算机子系统做到单块的电路板上,与此同时还出现了计算机网络。

# 现代计算机

又称为第五代计算机(1985-至今),掌上计算机和台式计算机开始诞生和兴起,伴随着的还有各种多媒体和虚拟现实技术的诞生。

comments powered by Disqus
Hosted by Cloudflare
使用 Hugo 构建
主题 StackJimmy 设计