01 | 冯·诺依曼体系结构:计算机组成的金字塔
计算机的基本硬件组成
CPU: 通过最基本的与、或、非、异或门这些最基础的门电路组合形成了强大的 CPU。
内存(Memory):你撰写的程序、打开的浏览器、运行的游戏,都要加载到内存里才能运行。程序读取的数据、计算得到的结果,也都要放在内存里。内存越大,能加载的东西自然也就越多。存放在内存里的程序和数据,需要被 CPU 读取,CPU 计算完之后,还要把数据写回到内存。
主板的芯片组(Chipset)和总线(Bus)解决了 CPU和内存之间如何通信的问题。芯片组(它负责将计算机的核心——微处理器和机器的其他部分相连接,是决定主板级别的重要部件)控制了数据传输的流转,也就是数据从哪里到哪里的问题。总线则是实际数据传输的高速公路。因此,总线速度(Bus Speed)决定了数据能传输得多快。
很多网吧的计算机就没有硬盘,而是直接通过局域网,读写远程网络硬盘里面的数据。
显卡之所以特殊,是因为显卡里有除了 CPU 之外的另一个“处理器”,也就是GPU(Graphics Processing Unit,图形处理器),GPU 一样可以做各种“计算”的工作。
南桥”芯片的名字很直观,一方面,它在主板上的位置,通常在主板的“南面”。另一方面,它的作用就是作为“桥”,来连接鼠标、键盘以及硬盘这些外部IO设备和 CPU 之间的通信。“北桥”芯片,用来作为“桥”,连接 CPU 和内存、显卡之间的通信。不过,随着时间的变迁,现在的主板上的“北桥”芯片的工作,已经被移到了 CPU 的内部,所以你在主板上,已经看不到北桥芯片了。
冯·诺依曼体系结构
冯·诺依曼体系结构,也叫存储程序计算机。什么是存储程序计算机呢?这里面其实暗含了两个概念,一个是“可编程”(普通计算器是不可编程的)计算机,一个是“存储”计算机。
任何一台计算机的任何一个部件都可以归到运算器、控制器、存储器、输入设备和输出设备中,而所有的现代计算机也都是基于这个基础架构来设计开发的。
具体来说,学习组成原理,其实就是学习控制器、运算器的工作原理,也就是 CPU 是怎么工作的,以及为何这样设计;学习内存的工作原理,从最基本的电路,到上层抽象给到 CPU 乃至应用程序的接口是怎样的;学习 CPU 是怎么和输入设备、输出设备打交道的。学习组成原理,就是在理解从控制器、运算器、存储器、输入设备以及输出设备,从电路这样的硬件,到最终开放给软件的接口,是怎么运作的,为什么要设计成这样,以及在软件开发层面怎么尽可能用好它。