初探计算机

小熊:计算机里藏着什么呢?
小燕:星辰大海。
小狸:好吃的。

现在计算机大多是冯.诺依曼计算机的组织结构,虽有些改进,但还没超出冯·诺依曼型结构。那冯·诺依曼结构是什么呢?

1945年,冯·诺依曼提出了“存储程序”的概念,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式存储,确定了存储程序计算机的五大组成部分和基本工作方法。后来,人们把利用这种概念设计的电子计算机系统统称为“冯·诺依曼型结构”计算机。

“冯·诺依曼型结构”计算机有五大组成部分:
–运算器+控制器(CPU),存储器(内存),输入设备,输出设备。

CPU

CPU 即 Central Processing Unit (中央处理器) 相当于计算机的大脑,是计算机的运算核心和控制核心。它的内部由数百千万乃至数亿个晶体管构成,可以让计算机的各个部件顺利工作,起到协调和控制作用。

CPU 从外部看是由许多晶体管组成的电子部件,好像没什么区别。不过从功能方面来看,CPU 的内部由寄存器、控制器、运算器和时钟四个部件组成。

寄存器可用来暂时储存指令、数据等处理对象,根据种类不同,又可以分为 eax、ebp 等若干种,一个 CPU 内部又包含20~100个寄存器。

控制器将内存上的指令、数据等读入寄存器,根据指令的执行结果来控制计算机。

运算器负责运算从内存读取至寄存器的数据。

时钟负责发出 CPU 开始计时的时钟信号。

CPU 运行时,根据时钟信号,控制器从内存读取指令和数据。通过对这些指令加以解释运行,运算器则对数据进行运算,控制器再根据运算结果来控制计算机。

存储器

存储器是具有“记忆”功能的设备,能存取各种数据。根据与 CPU 的接近程度,存储器分为内存储器和外存储器,简称内存和外存。内存属于主机的组成部分,而外存属于外部设备,如硬盘。

内存:负责硬盘等硬件上的数据与CPU之间数据交换处理; 缓存系统中的临时数据。需要注意的是,内存断电后数据会丢失。

硬盘:存储资料等数据的设备,其容量大,造价便宜,而且断电后数据不会丢失。


计算机里 CPU 与内存、硬盘是怎样的关系?

让我们来看一个例子,编写一个程序,将 123 和 456 两个数值相加,并将结果输出到显示器上。

int a;
a = 123 + 456;
printf("%d",a);

当我们运行程序的时候,CPU 取指令,之后 CPU 告诉硬盘,我要运行你存储的程序A,你把程序A送到内存去。CPU 对内存说,我让硬盘把程序A送到你这里来了,你保存一下。 等程序A被完整的送到内存之后。CPU 就开始执行程序A。

过程就像上面说的,我们举一个接近我们生活的例子。

如果说把硬盘看作一个大仓库,CPU 是加工车间,那么内存就是一个临时仓库。从距离上来说, 相比内存到 CPU 的距离和硬盘到内存的距离,内存和 CPU 的距离更短。所以先将常用的材料放在临时仓库,即用即取。如果需要的材料在临时仓库没找到,就向大仓库抽调,将材料从大仓库移到临时仓库去,之后才将材料从临时仓库送到加工车间加工。这个过程中,材料会存放在临时仓库一段时间,以防再次抽调,节约时间和资源。

让我们再深入一点,看看 CPU 是如何统筹控制的。

依上言,存储指令和数据的内存是通过地址来划分的。CPU 的核心是一个被称作程序计数器(PC)的字大小的储存器。在任何一个时间点上,PC 都指向内存种的某条指令。一个指令和数据通常被储存在多个地址上,但为了方便说明,下图将指令、数据分配在一个地址种。

地址 0100 是程序开始的地方。计算机将程序从硬盘读入内存,计数器定位程序至地址 0100。CPU 每执行一个指令,程序计数器的值就会自动加1。之后,CPU 的控制器依值读取执行命令。

从计算机通电开始,CPU 一直在不知疲倦地重复执行相同的操作:从 PC 指向的存储器读指令,分析解释指令中的操作码和操作数,执行指令指示的操作,然后更新程序计数器,使之指向下一条指令,重复操作。


计算机各部件又是怎么连接起来的?

贯穿整个系统的是一组电子管道,称作总线。它负责在各个部件间传递信息。I/O (输入/输出)设备则是系统与外界沟通的通道。如我们常见的输入设备是鼠标、键盘,输出设备则是显示器。每个 I/O 设备都是通过一个控制器或适配器和 I/O 总线连接起来的。

Paste_Image

首先,CPU 执行程序指令,等待我们输入数据。当我们在键盘键入字符串,如“hello world”,程序逐一读取字符到寄存器,再把它存放在主存储器中。

当我们敲下回车键时,程序知晓输入结束。然后系统执行一系列指令,这些指令将数据从磁盘拷贝到内存,从而执行指令。数据最终将被输出至显示屏,打印出“hello world”。

至此,计算机主要部件功能及联系介绍完毕。有些不全面的地方,下次分部件深入介绍内部结构。

你可能感兴趣的:(初探计算机)