计算系统概论

冯诺依曼计算机组成部分:

  • 存储器(Memory)
  • 处理单元(ALU)
  • 控制单元(Control Unit)
  • 输入设备(Input)
  • 输出设备(Output)

存储器

存储器是一种能够存储信息的设备。需要注意的是,计算机内部的存储器通常指内存,计算机硬盘、移动硬盘、软盘、光盘、U 盘等都是外部存储设备。

存储器中存储的内容可以是组成程序的指令,也可以是程序执行所需要的数据。

  • 静态随机存取存储器(SRAM)
  • 动态随机存取存储器(DRAM)

SRAM 与 DRAM 的区别:

  • SRAM 速度快,价格高,集成度低。如 CPU 的高速缓存。
  • DRAM 速度慢,价格低,集成度高。如系统主存。

处理单元

处理单元用于完成计算机内信息的处理,现代计算机的处理单元可以包含许多复杂的功能单元,执行复杂的运算(例如除法、求平方根、矩阵运算等)。

处理单元可以只包含最简单的 ALU(Arithmetic and Logic Unit 算术和逻辑单元),可以进行最基本的算术运算(加法、减法)和逻辑运算(与、或、非)。

通常,计算机会在 ALU 附近提供少量具有非常高读写速度的寄存器(Register),用于临时存储操作数和计算结果,这些存储被称为寄存器堆或寄存器文件(Reg File)。

控制单元

控制单元负责指挥信息的处理。

控制单元中有一个寄存器专门用于记录即将执行的指令所在的位置,被称为程序计数器(Program Counter, PC)。

控制单元可以根据当前指令的信息生成解码后的控制信息,用于控制 ALU 选择哪些操作数,执行何种运算

算法,即讲用自然语言描述的问题转换成一个无歧义的操作步骤,有下面的特点:

  • 有限性(Finiteness):计算过程最终能够结束。
  • 确定性(Definiteness):每个步骤都必须是明确的,不应存在歧义性。例如「A 与一个数相加」就是「不确定」的,因为不知道 A 与哪一个数相加。
  • 有效可计算性(Effective Computability):每个步骤都能被计算机执行。例如「A 除以 0」就缺乏可计算性。