计算机的组成原理

可以说计算机是模仿人体的各个器官而被研制出来的。它包括相当于“大脑”的运算、控制、存储设备,相当于“眼睛”和“耳朵”的输入设备,相当于“嘴巴”和“手脚”的输出设备,以及相当于“神经”和“血管”的传输设备。将这些设备组装在一起就构成了计算机。

人所做的所有活动都是由大脑控制的,比如妈妈做很好吃的红烧肉就是这样的。首先妈妈大脑中已经有了如何做红烧肉的食谱,大脑控制妈妈双手按食谱来准备各种食材,然后根据食谱所示步骤一步步地做出好吃的红烧肉来。

计算机的组成部分

美国科学家约翰·冯·诺依曼(John von Neumann)就是受此启发提出了计算机的工作原理——存储程序和程序控制,并且明确了计算机的 5 个组成部分(见图 1)。
  1. 控制器(相当于大脑)
  2. 运算器(相当于大脑)
  3. 存储器(相当于大脑)
  4. 输入设备(相当于眼睛和耳朵)
  5. 输出设备(相当于嘴巴和手脚)

计算机由控制器、运算器、存储器、输入设备、输出设备5个功能部件组成
图 1:计算机由控制器、运算器、存储器、输入设备、输出设备 5 个功能部件组成
 
如果要让计算机算出 x×(y+z) 的值,事先就要把计算方法(比如先算括号内的加法,再做乘法)转化为计算机可以识别的一条条的指令(程序),并把这些指令保存在计算机的存储器中(即存储程序)。

接下来我们用键盘把 x、y、z 的值输入计算机并且也保存在存储器(内存)中,然后计算机的控制器就会发出已经存储好的指令给运算器,通知它从存储器中取出 x、y、z 的值,并按照事先已经保存在存储器中的指令来完成这个运算,最后把运算结果也保存在存储器(内存)中并且把它用输出设备(显示器)显示出来,告诉我们运算结果。

这里的从键盘接收输入的数据、运算器执行运算以及输出运算结果都是由事先已经存储在存储器中的程序来控制完成的(即程序控制),由此你会发现,计算机实际上就是只会执行输入、运算、输出 3 种操作的机器(见图 2)。

计算机是只会执行输入、运算、输出3种操作的机器
图 2:计算机是只会执行输入、运算、输出 3 种操作的机器

中央处理器

在计算机中把负责控制功能的控制器和负责计算功能的运算器合称为中央处理器(Central Processing Unit,CPU)。

存储器

负责存储功能的存储器有两种:内存储器和辅助存储器。

1) 内存储器(内存,Memory)

也称为主存储器,包括随机存储器(RAM)、只读存储器(ROM),以及高速缓存(CACHE)。
  • 我们通常讲的内存指的是随机存储器(RAM),它是计算机中必须有的,而且只有在计算机接通电源开机以后它才能保存内容,计算机关机或断电以后它里面保存的内容也就消失了。
  • 只读存储器(ROM)里面保存的内容是固定的,只能读取,不能再往里面保存新的内容,而且即使计算机关闭或断电它里面保存的内容也不会消失。
  • 高速缓存(CACHE)是为了提高计算机的处理速度而设置的,它相当于是在中央处理器和内存之间架设的一座桥梁,能使得 CPU 更快速地获得需要处理的数据。

2) 辅助存储器

也称为外存储器(外存)。计算机即使没有辅助存储器也可以运行。

辅助存储器可以长时间甚至永久性地保存内容,而且计算机关机或断电以后,保存在它里面的内容依然存在。硬盘、光盘(CD、VCD、DVD)、USB 存储器(优盘)等都属于辅助存储器。

输入设备

输入设备就是计算机的“眼睛”和“耳朵”,它们负责把外部信息输入到计算机。键盘、鼠标、触摸屏、扫描仪、摄像头、录音话筒等都是输入设备。

输出设备

输出设备就是计算机的“嘴巴”和“手脚”,它们负责把计算机内部的信息和处理结果表达出来,能让我们看到或听到。显示器、打印机、音箱、耳机等都是输出设备。

除了以上 5 个功能部件外,计算机中还有大量的数据线,被称为数据总线(Bus)。它们把计算机的各个部件连接起来,并在这些部件之间传输各种信号(数据、指令等),类似于人体中的“神经”和“血管”。

如果将计算机比作人,那么在计算机中,负责指令和运算的 CPU 和负责存储的内存就相当于人的大脑。思考、想象、记忆与回忆……像这些人类大脑的“思考”行为,只要有 CPU 和内存,计算机就能够实现。但是无论计算机内部能够得出多么好的“思考”结果(计算结果等),如果不将这些结果表现出来就起不到作用。

人类是通过语言或者手脚的动作(比如用手写等)把自己的想法表达出来的。计算机也一样,为了把 CPU 和内存的处理结果表达出来,就需要输出设备。计算机毕竟只是一种电子工具,是需要人来操作的,想要计算机的 CPU 和内存进行“思考”,我们必须得先把“思考”所用的各种指令和数据事先输入计算机(存储程序),这就需要输入设备。

输入设备有键盘、鼠标、扫描仪等;输出设备有显示器、打印机等;既可以输入数据又可以输出数据的设备有硬盘、USB 存储器(优盘)、网卡等。我们把这些设备统称为外部设备。

外部设备和 CPU 之间是通过输出输入接口来连接并传输数据的(见图 3)。我们通常用的连接打印机的 RS-232C 数据接口、连接优盘和鼠标的 USB 接口、连接摄像机的 IEEE 1394 接口以及连接硬盘的串行 ATA 数据接口等都是输出输入接口。

CPU、内存和外部设备的关系
图 3:CPU、内存和外部设备的关系

计算机在运行时,会在计算机各功能部件内部和与计算机连接的设备之间进行指令和数据的传输(交换)。计算机内部传输信息所用的公共通道就是总线。总线分为串行总线和并行总线(见图 4)。串行总线只有一根数据线(电线丝),逐位依次传输,一次只能传输一位数据;并行总线有 2 根以上的数据线,一次能够同时传输多位(如 8 位、16 位、32 位)数据。计算机内部的这些数据线实际上都是电线丝,通过给这些电线丝通电或者不通电来表示和传递信息。

串行总线和并行总线
图 4:串行总线和并行总线

总结

  1. 计算机由 CPU 进行控制和运算。
  2. 输出输入接口是外部设备与 CPU 的连接桥梁。
  3. 外部设备是为了与计算机外部交换信息的设备。
  4. 我们将在各个功能部件之间传输信息的通道称为总线。
  5. 计算机是只会执行输入、运算、输出 3 种操作的机器。
  6. 计算机由控制器、运算器、存储器、输入和输出设备 5 个功能部件组成。
  7. 计算机的基本工作原理是存储程序和程序控制,它是由世界著名的科学家冯·诺依曼提出的。他因此被称为“计算机之父”。