您的位置:首页 > 理论基础

计算机系统—CPU结构和内部工作

2014-04-24 13:18 369 查看
http://blog.csdn.net/akkzhjj/article/details/24383809


一、计算机系统硬件组成

  计算机系统的基本组成由:计算器、控制器、存储器、输入和输出设备这5大核心部件组成。

  运算器和控制器等继承在一起成为CPU,下面通过这张图可以很清晰的表达计算机系统,先从全局上对CPU的位置和作用有一定认识。






二、CPU和内存之间的工作

 (1)计算机的工作由程序控制,程序是一个指令序列,指令是能被计算机理解和执行的操作命令;

 (2)程序(指令)和数据均以二进制编码表示,均存放在存储器中;

 (3)存储器中存放的指令和数据按地址进行存取;

 (4)指令是由CPU一条一条顺序执行的。

由此可见,CPU的主要任务是执行指令,并按指令的规定对数据进行操作。正如下图所示:



  指令也就是命令,用来规定CPU执行什么操作。CPU控制器靠指令指挥机器工作,人们用指令表达自己的意图,并交给控制器执行。

  指令是构成程序的基本单位,程序是由一连串指令组成的。指令采用二进位表示,大多数情况下,指令由两个部分组成:

 操作码
操作数地址
  操作码:指出CPU应执行何种操作的一个命令词,例如加、减、乘、除、取数、存数等

  操作数地址:指出该指令所操作(处理)的数据或者数据所在位置


三、CPU的结构和内部工作

CPU是计算机的运算和控制核心,主要由运算器、控制器、寄存器组和内部总线等部件组成。

运算器:用于对数据执行运算

算术逻辑单元(ALU):负责处理数据

累加寄存器(AC):为ALU提供一个工作区

数据缓冲寄存器(DR):作为CPU和内存、外部设备之间数据传送的中转站和操作速度上的缓冲。

状态条件寄存器(PSW):存放当前指令执行结果的各种状态信息,控制信息。

控制器:控制整个CPU工作,使计算机运行过程自动化

指令寄存器(IR):CPU执行指令时,先从DR中把指令送入IR暂存,然后指令译码器根据IR的内容产生各种微指令。

程序计数器(PC):具有寄存信息和计数的功能。每读一条指令装入IR,然后PC+1

地址寄存器(AR):AR保存当前CPU所访问的内存单元的地址,知道内存的读/写完成。

指令译码器(ID):ID对指令中的操作码字段进行分析解释,也就是来识别指令规定的操作,识别后向操作控制器发出具体的控制信号,控制各部件工作,以完成所需的功能。

寄存器组:

专用寄存器:运算器和控制器中的寄存器是专用寄存器,其作用是固定的。

通用寄存器(GPR):参加ALU运算的操作数通常来自GPR,运算结果也送回GPR。

  可由程序员规定其用途。

内部总线:

  通过内部总线将CPU内部的所有结构单元内部相连。就如铁轨一样,火车必须行驶在铁轨上。


四、一条指令在cpu中的执行流程

5个阶段:取指、指令译码、执行指令、访存取数、结果写回。

 如下例:

地址
op码
地址码
103
ADD
R1,R2
说明:R1=100,R2=20;ADD指令即做R1+R2操作;

执行过程:

  取指:程序计数器PC装入所要执行的指令的地址。通过指令总线装入指令寄存器IR,程序计数器PC指令地址+1,为下一条指令做准备。  

  指令译码:指令译码器ID对指令寄存器IR中的指令进行译码,识别出指令类型。

  执行指令:操作控制器存储送出控制信号到通用寄存器,选择R1,R2,通过ALU处理数据进行R1+R2,完成后通过内部总线传送操作,将R1+R2的结果120打入缓冲寄存器DR,并将进位信号保存在状态条件寄存器PSW。

  结果写回:将DR中的结果120打入通用寄存器R2中,替换掉原来R2的值。

再多的文字性描述,总是不比图更容易理解,如下图能清楚的明白指令执行中各个寄存器执行的时间和发挥的作用。



图总是死的,不能清楚地知道指令的执行顺序,想要动态的学习指令的执行过程,请见此教程演示,非常好!

指令执行过程演示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: