如果要评选计算机领域最重要的理论发明,我会投票给「冯诺依曼体系结构」(von Neumann architecture)。冯诺依曼体系结构于1945年被数学家、计算机科学家「冯诺依曼」在论文《First Draft of a Report on the EDVAC》中提出,几乎未经修饰地成为了现代计算机的体系结构标准。
冯诺依曼体系结构将计算机分为五大要素:运算器、控制器、存储器、输入设备和输出设备。运算器、控制器和存储器最为核心,构成计算机的大脑,而输入和输出设备是外围,相当于计算机的五官和手足。计算机通过运算器、控制器和存储器完成复杂的计算,通过输入设备从人类接收计算任务,通过输出设备向人类返回计算结果。
现代计算机中,运算器和控制器由晶体管(Transistor)制造,封装在一起形成CPU,而存储器通常由电容器(Capacitor)制造,封装在一起形成内存(Memory)。CPU中集成特殊的控制单元「内存控制器」,用于内存中数据的存取。「CPU+内存」是现代计算机的极简抽象结构。如果制造一台极简的计算机,仅需包含运算单元和控制单元的CPU和内存即可,完全不需要复杂繁多的输入和输出设备。
冯诺依曼体系结构给计算机科学诸多启发。操作系统提供的「进程」抽象,其实是为在多任务多设备复杂运算环境中为程序提供了一个极简的「冯诺依曼」运行环境,使得任意按冯诺依曼体系结构设计的程序均可无需修改运行。处理器设计师通过架构和工艺升级提升CPU和内存的性能,自动实现程序性能提升。并行计算机通过组合更多冯诺依曼计算机,获得线性扩展的整体性能。目前热门的量子计算机,依然无法摆脱冯诺依曼的设计,不过是将内存做成量子比特、将处理器做成量子态控制逻辑。
冯诺依曼体系结构的巨大成功也为计算机系统埋下巨大隐患,且听下回分解。