计算系统概论
冯诺依曼计算机组成部分:
- 存储器(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」就缺乏可计算性。