# 第三节 计算机理论体系

大道至简,任何计算机及程序只做三种操作:输入、计算、输出。

比如一台笔记本电脑,鼠标、键盘、麦克风是输入,显示器和扬声器是输出,移动U盘包含输入和输出(读取文件以及拷贝文件进去)。

再比如一个软件,微软办公套件之一,Windows Office Word,打开一个文档文件对于这个程序来说是输入,通过键鼠增删文档内容是输入,通过屏幕展示给用户是输出,保存新文档文件是输出。

是不是 so easy? 麻麻再也不用担心我的学习了。

# 计算机理论体系时间线

  • 世界上第一个程序员Ada(1815~1852)
    • 英国诗人拜伦之女
    • 在可编程计算机发明之前就开始编写“程序”,梳理程序逻辑
  • 1936年图灵提出图灵机
    • 现代计算机理论基石
    • 如果一个编程语言能模拟出单带图灵机,那么可以说这种语言图灵完备
  • 二战期间冯·诺依曼提出冯诺依曼结构
    • 一种将指令存储器与数据存储器合并的结构
    • 原理:输入程序或数据,执行程序的指令,并做一些运算操作,最终将结果输出
    • 截止现在,几乎所有通用型计算机都使用冯·诺依曼结构

# 计算机执行代码的原理

  1. 程序首先从硬盘里读入内存中
  2. CPU开始读取内存中的程序代码,根据程序执行位置不断调整读取内容
  3. 根据程序代码,控制输入输出设备(比如响应键鼠、输出到屏幕或扬声器等)

经典顺序式CPU:

在较老型号的CPU中使用,执行方式如下:

  1. 将内存程序代码移入高速缓存
  2. 将高速缓存中的代码移入待执行区
  3. 从待执行区中将指令移入ALU并执行(这就是那一堆与或非门组合而成的算术运算单元)
    • 执行期间可能访问寄存器等数据缓存单元
    • 运算指令将执行算术运算
    • 输入指令将对设备进行读操作
    • 输出指令将对设备进行写操作
    • 跳转指令将修改下一个待执行指令位置,并重置待执行区
  4. 执行完毕,处理下一条指令

# 外部资料

CPU预测执行:https://zhuanlan.zhihu.com/p/157233356 (opens new window)