# 第三节 计算机理论体系
大道至简,任何计算机及程序只做三种操作:输入、计算、输出。
比如一台笔记本电脑,鼠标、键盘、麦克风是输入,显示器和扬声器是输出,移动U盘包含输入和输出(读取文件以及拷贝文件进去)。
再比如一个软件,微软办公套件之一,Windows Office Word,打开一个文档文件对于这个程序来说是输入,通过键鼠增删文档内容是输入,通过屏幕展示给用户是输出,保存新文档文件是输出。
是不是 so easy? 麻麻再也不用担心我的学习了。
# 计算机理论体系时间线
- 世界上第一个程序员Ada(1815~1852)
- 英国诗人拜伦之女
- 在可编程计算机发明之前就开始编写“程序”,梳理程序逻辑
- 1936年图灵提出图灵机
- 现代计算机理论基石
- 如果一个编程语言能模拟出单带图灵机,那么可以说这种语言图灵完备
- 二战期间冯·诺依曼提出冯诺依曼结构
- 一种将指令存储器与数据存储器合并的结构
- 原理:输入程序或数据,执行程序的指令,并做一些运算操作,最终将结果输出
- 截止现在,几乎所有通用型计算机都使用冯·诺依曼结构
# 计算机执行代码的原理
- 程序首先从硬盘里读入内存中
- CPU开始读取内存中的程序代码,根据程序执行位置不断调整读取内容
- 根据程序代码,控制输入输出设备(比如响应键鼠、输出到屏幕或扬声器等)
经典顺序式CPU:
在较老型号的CPU中使用,执行方式如下:
- 将内存程序代码移入高速缓存
- 将高速缓存中的代码移入待执行区
- 从待执行区中将指令移入ALU并执行(这就是那一堆与或非门组合而成的算术运算单元)
- 执行期间可能访问寄存器等数据缓存单元
- 运算指令将执行算术运算
- 输入指令将对设备进行读操作
- 输出指令将对设备进行写操作
- 跳转指令将修改下一个待执行指令位置,并重置待执行区
- 执行完毕,处理下一条指令
# 外部资料
CPU预测执行:https://zhuanlan.zhihu.com/p/157233356 (opens new window)