计算机系统介绍

可能这里不会非常细致地介绍计算机的组成,只是简单介绍一下。有些内容也是吸取了参考资料里的内容。

先来一张计算机的组成图:

中央处理器:就是我们俗之的CPU,其职责是解释计算机指令并处理程序中的数据。 主要由运算器、控制器、寄存器组和内部总线等构成。 而寄存器又分为数字寄存器,指令寄存器,指令地址寄存器。

CPU clock负责控制整个执行的节奏。

CPU执行代码的过程为:fetch(获取指令)-Decode(解码)-Exeute(执行)。我们的程序就是不断地重述这个动作。

简单地分析一下这个过程:

1、获取指令

当我们启动电脑时,所有的寄存器都从零开始。假设内存存放了一个简单的计算机程序,CPU操作的第一阶段为“取指令”,也就是我们获得第一个指令的过程。

首先,指定地址寄存器连到内存,寄存器的值为零。内存返回地址0中的值00101110。

2、解码

上面取到的值会被放到寄存器中,寄存器负责解析。前4位是OP code操作码。 地址是后4位1110,即14.

接下来找到地址是14的数据,并放到寄存器中。

现在关掉所有的线,准备从内存中读取下一条指令。指令地址增加1,内存返回地址1的值00011111,复制到指令寄存器。再到解码的过程,通过指定集,指定前四位0001,它表示读内存存储到寄存器B中,这次内存地址是1111,对应十进制尾数为15,到执行的过程,开启内存读取线,找到内存15地址,读取该地址的值。并通过数据线把该值00001110存储到寄存器B中,最后将指定地址寄存器增加1,关闭所有的线。

现在内存返回地址2的值10000100放入指令寄存器CPU从指定集开始解码,操作码1000是加法指令。添加两个寄存器存储到第二个存储器中。

3、执行

将寄存器A、B连接到运算器的输入端,运算器执行加法运算,关闭运算器输出的结果保存在寄存器A中。 00010001就是输入的值是3和14两个值的和等于17,接下来指定地址增加1,完成这个过程,找到内存地址3的值。

我们打开指令集开始解码,0100表示读A寄存器到内存,1101对应内存地址是13,然后将寄存器A的值,通过数据线送到内存13的地址上。

系统总线主要分为数据总线、地址总线以及控制总线。

数据总线用于传送数据信息。数据总线是双向总线,即它既可以把 CPU 的数据传送到存储器或 I O 接口等其他部件,也可以将其他部件的数据传送到 CPU

地址总线是专门用来传送地址的,由于地址只能从 CPU 传向外部存储器或 I O 端口,所以地址总线总是单向的,这与数据总线不同。地址总线的位数决定了 CPU 可直接寻址的内存空间大小,比如 8 位微机的地址总线为 16 位,则其最大可寻址空间为 2 16 64KB 16 位微型机的地址总线为 20 位,其可寻址空间为 2 20 1MB 。一般来说,若地址总线为 n 位,则可寻址空间为 2 n 字节。有的系统中,数据总线和地址总线是复用的,即总线在某些时刻出现的信号表示数据而另一些时刻表示地址,而有的系统则是分开的。

控制总线用来传送控制信号。控制信号中,有的是微处理器送往存储器和 I O 接口电路的,如读/写,中断响应信号等;也有是其他部件反馈给 CPU 的,比如:中断申请、复位、总线请求、设备就绪等。因此,控制总线的传送方向由具体控制信号而定,一般是双向的,控制总线的位数要根据系统的实际控制需要而定。实际上控制总线的具体情况主要取决于 CPU

寄存器是CPU的一部分,主要存储指令和数据,容量较小。

存储器是一个统称,其实也包括CPU的寄存器,还包括RAM,ROM以及外部存储器。

RAM是随机存取存储器(random access memory,RAM),又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。

无论是手机还是电脑上的内存(DRAM,动态RAM),都是RAM的一种(显存也是DRAM的一种)。内存的作用就是个暂存数据交换的场所,通电即可读写,断电暂存数据丢失。而且,RAM的读写速度非常快,远非ROM可比。简言之,就是临时存储交换数据的池子。

注:DDR3/4之类的内存是DRAM内存的一种技术形态。

ROM存储器,全称是Read Only Memory,即只读存储器。它的特性是一旦存储数据就无法再将之改变或删除,且内容不会因为电源关闭而消失。哎?为什么是只读,明明可以写入啊?

我们日常使用的手机、电脑使用的存储器多为闪存或者磁盘,其实不应该简单称其为ROM。电脑用于引导开机的BIOS储存地EPROM/EEPROM、手机引导开机的固化模块是ROM,而用于手机电脑存储的闪存Flash memory是ROM中的一种,电脑上的磁盘甚至完全不属于ROM。

电脑和手机的存储设备,更应该叫做外部存储。

参考资料:

CPU是如何工作的

CPU的工作过程

CPU是如何做到数据通信的

--------EOF---------
微信分享/微信扫码阅读