概
基本硬件组成
2000年左右, 要自己组装一台计算机,要先有三大件,CPU、内存和主板。
CPU
CPU (Central Processing Unit) 中央处理器 。 简单来说, CPU是一个超级精细的印刷电路版。
内存
第二个重要的配件,就是 内存(Memory)
程序读取的数据、计算得到的结果,也都要放在内存里
内存通常直接可以插在主板上 。
存放在内存里的程序和数据,需要被CPU读取,CPU计算完之后,还要把数据写回到内存。然而CPU不能直接插到内存上,反之亦然。于是,最后一个大件—— 主板(Motherboard)
主板
主板是一个有着各种各样,有时候多达数十乃至上百个插槽的配件。
CPU要插在主板上,内存也要插在主板上。主板的 芯片组(Chipset)和 总线(Bus)解决了CPU和内存之间如何通信的问题。芯片组控制了数据传输的流转,也就是数据从哪里到哪里的问题。总线则是实际数据传输的高速公路。
因此, 总线速度(Bus Speed)决定了数据能传输得多快。
有了CPU、内存、主板 ,那么只要配上 电 源供电,计算机差不多就可以跑起来了。
但是现在还缺少各类输入(Input)/输出 (Output)设备,也就是我们常说的I/O设备。
显示器我们才能看到计算机输出的各种图像、文字,这就是输出设备。 鼠标和键盘能输入,就是所谓的 输入设备。
最后还要配上一个硬盘。这样各种数据才能持久地保存下来。绝大部分人都会给自己的机器装上一个机箱,配上风扇,解决灰尘和散热的问题。
只不过机箱和风扇,算不上是计算机的必备硬件,拿个纸板或者外面放个电风扇,也一样能用。
冯·诺依曼体系结构
冯·诺依曼提出的 冯·诺依曼体系结构,也叫存储程序计算机。
First Draft of a Report on the EDVAC 描述了他心目中的一台计算机应该长什么样。这篇报告在历史上有个很特殊的简称,叫 First Draft 《第一份草案》。这样,现代计算机的发展就从祖师爷写的一份草案开始了。
首先是一个包含算术逻辑单元(Arithmetic Logic Unit,ALU)和处理器寄存器(Processor Register)的处理器单元(Processing Unit),用来完成各种算术和逻辑运算。因为它能够完成各种数据的处理或者计算工作,因此也有人把这个叫作数据通路(Datapath)或者运算器。
然后是一个包含指令寄存器(Instruction Reigster)和程序计数器(Program Counter)的控制器单元(Control Unit/CU),用来控制程序的流程,通常就是不同条件下的分支和跳转。在现在的计算机里,上面的算术逻辑单元和这里的控制器单元,共同组成了我们说的CPU。
接着是用来存储数据(Data)和指令(Instruction)的内存。以及更大容量的外部存储,在过去,可能是磁带、磁鼓这样的设备,现在通常就是硬盘。
最后就是各种 输入和输出设备,以及对应的输入和输出机制。我们现在无论是使用什么样的计算机,其实都是和输入输出设备在打交道。个人电脑的鼠标键盘是输入设备,显示器是输出设备。我们用的智能手机,触摸屏既是输入设备,又是输出设备。而跑在各种云上的服务器,则是通过网络来进行输入和输出。这个时候,网卡既是输入设备又是输出设备。
任何一台计算机的任何一个部件都可以归到运算器、控制器、存储器、输入设备和输出设备中,而所有的现代计算机也都是基于这个基础架构来设计开发的。
而所有的计算机程序,也都可以抽象为从 输入设备读取输入信息,通过 运算器和 控制器来执行存储在 存储器里的程序,最终把结果输出到 输出设备中。而我们所有撰写的无论高级还是低级语言的程序,也都是基于这样一个抽象框架来进行运作的。