2017年3月12日16:33:54
介绍CPU、内存、硬盘、指令、以及它们之间的关系。
CPU:
中央处理器(英语:Central Processing Unit,缩写:CPU),由寄存器、运算器、控制器和时钟组成,是计算机的主要设备之一,功能主要是解释计算机指令以及处理计算机软件中的数据。计算机的可编程性主要是指对中央处理器的编程。
寄存器:用来暂存指令、数据等处理对象,可以视为内存的一种。根据种类的不同,一个CPU内部会有多个寄存器。
控制器:负责将内存上的指令、数据等读取到寄存器内,并根据指令的执行结果来控制整个计算机。调用指令分为三步:取指令,分析指令,执行指令。
运算器:负责运算从内存读入寄存器的数据。
时钟:负责发出CPU开始计时的时钟信号。不过,也有些计算机的时钟位于CPU外。
内存:
访问速度快,只是用来暂时存放CPU所要执行的程序和数据,一旦关闭电源或者发生断电,其中的程序和数据就会丢失。
硬盘:
磁盘的一种,容量大,但是访问速度不快,因此一般作为外存来使用。磁盘可以用来长时间存储数据,在断电的情况下不会丢失数据。
指令:
操作码和地址码组成,由二进制组成。
操作码:
用来指明该指令所要完成的操作。
长度可以是固定的也可以是变化的,前者将操作码集中放在指令字的一个字段内,这种格式便与硬件设计,
指令译码时间短,广泛用于字长较长的、大中型见算计和超级小型计算机一级RISC中,例如:ibm 370和 VAX-11系列机中。
而后者的操作码则分散在指令字的不同字段中,这种格式可以有效地压缩操作码的平均长度,在字长较短的微型计算机中被广泛使用。
例如:PDP-11、Intel 8086/80386等。
地址码:
用来指出该指令的源操作数的地址、结果的地址以及下一条指令的地址。
这里的地址可以是主存的地址,也可以是寄存器的地址,甚至可以使I/O设备的地址。
寻址方式:指令寻址和数据寻址两类。
指令寻址:
1>顺序寻址
2>跳跃寻址。
数据寻址:
1>立即寻址
2>直接寻址
3>隐含寻址
4>间接寻址
5>寄存器寻址
6>寄存器间接寻址
7>基址寻址
8>变址寻址
9>相对寻址
总体流程:
当用户对CPU发出指令,CPU所要执行的指令和所要使用到的数据就会从磁盘加载到内存中。在CPU空闲的时候,控制器从内存中读取指令和数据,(按照操作系统的说法,就是按照一定的个算法从外存也就是磁盘上的作业后备队列中选取出来若干个作业,每个作业都被分配好内存以及所需要的资源后,将这些作业调入内存,分别为它们建立进程,插入到进程就绪队列。
若CPU空闲了,就会按照一定的算法从进程的就绪队列中选出一个进程进行执行。)在CPU没有完成所有指令的时候,CPU与内存之间始终存在着信息交换,CPU将计算中间的只保存在内存上,
这时候如果内存不足,则会从外存-硬盘上划分一部分空间作为虚拟内存使用,但是访问速度会大大降低。
CPU与指令关系:
CPU通过控制器来对指令进行取指令,分析指令,执行指令三步操作。
硬盘与指令关系:
指令在没被执行时存储在硬盘中。
内存与指令关系:
当用户发出命令之后,指令和数据一同存储在内存中,等待CPU的调用。
CPU与内存关系:
当CPU在执行指令时,中间过程的数据主要存储在内存中。
内存与硬盘关系:
硬盘用来存储长时间需要保存的程序和数据。
内存只有暂时存储功能。
当CPU需要执行某条指令时,程序和数据从硬盘存储到内存,供CPU调用。当内存不够时,可能会划分出来一部分硬盘作为虚拟内存使用,但速度会降低。
注:别人推荐的《程序是怎样跑起来的》和《深入理解计算机系统》还没抽出时间来看,有空看完之后再修改下。
参考文献:
汤小丹,梁红兵等 计算机操作系统. 4版 西安:西安电子科技大学出版社, 2014
唐朔飞 计算机组成原理. 2版 北京:高等教育出版社, 2008