计算机组成原理---中央处理器

中央处理器(CPU)由运算器和控制器组成。其中控制器的功能是负责协调并控制计算机各部件执行程序的指令序列,包括取指令,分析指令和执行指令;运算器的功能是对数据进行加工。

CPU的具体功能:

  • 指令控制:完成取指令,分析指令和执行指令的操作,即程序的顺序控制;
  • 操作控制:一条指令的功能往往是由若干操作信号的组合来实现的,CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作;
  • 时间控制:对各种操作加以时间上的控制;
  • 数据加工:对数据进行算术和逻辑运算;
  • 中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理。

中央处理器主要由运算器和控制器两大部分组成。运算器接收从控制器送来的命令并执行相应的动作,对数据进行加工和处理。运算器是计算机对数据进行加工处理的中心。控制器是整个系统的指挥中枢,在控制器的控制下,使运算器,存储器和输入/输出设备等功能部件构成一个有机的整体,根据指令的要求指挥全机协调工作。控制器的基本功能就是执行指令,每条指令的执行是由控制器发出的一组微操作实现的。控制器有硬布线控制器和微程序控制器两种类型。

运算器:

  • 算术逻辑单元:主要功能是进行算术/逻辑运算;
  • 暂存寄存器:用于暂存从主存读来的数据,对应用程序员是透明的;
  • 累加寄存器:是一个通用寄存器,用于暂时存放ALU运算结果信息;
  • 通用寄存器组:用于存放操作数或各种地址信息;
  • 程序状态字寄存器:保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息,用户可见;
  • 移位器:对操作数或运算结果进行移位运算;
  • 计数器:控制乘除运算的操作步数。

控制器:

  • 程序计数器:用于指出下一条指令在主存中的地址;
  • 指令寄存器:用于保存当前正在执行的那条指令;
  • 指令译码器:仅对操作码字段进行译码,向控制器提供特定的操作信号;
  • 存储器地址寄存器:用于存放所要访问主存单元的地址;
  • 存储器数据寄存器:用于存放向主存写入或从主存中读出的信息;
  • 时序系统:用于产生各种时序信号,它们都是由统一时钟(CLOCK)分频得到;
  • 微操作信号发生器:根据IR,PSW,及时序信号,产生控制整个计算机系统所需的各种控制信号,其结构有组合逻辑和存储逻辑两种。

CPU从主存中每取出并执行一条指令所需的全部时间称为指令周期。指令周期常常用若干机器周期来表示,一个机器周期又包含若干时钟周期。对于无条件转移指令JMP,在执行时不需要访问主存,只包含取指阶段和执行阶段,所以其指令周期仅包含取指周期和执行周期。对于间接寻址的指令,为了取操作数,需要先访问一次主存,取出有效地址,然后再访问主存,取出操作数,所以还包括间址周期。当CPU采用中断方式实现主机和I/O设备交换信息时,CPU在每条指令执行结束前,都要发中断查询信号,如果有中断请求,CPU进入中断响应阶段,又称中断周期。这样,一个完整的指令周期应包括取指,间址,执行和中断4个周期。这四个周期都有CPU访存操作,只是访存目的不同,取指周期是为了取指令,间址周期是为了取有效地址,执行周期是为了取操作数,中断周期是为了保存程序断点。

为了区别不同的工作周期,在CPU内设置4个标志触发器FE,IND,EX和INT,分别对应取指,间址,执行和中断周期,并以“1”状态有效。中断周期进栈操作是将SP减一,和传统意义上的进栈操作相反,原因是计算机的堆栈中都是向低地址增加,所以进栈操作是减一,不是加一。

指令周期的数据流:

  • 取指周期:PC--MAR--地址总线--主存;CU发出控制信号--控制总线--主存;主存--数据总线--MDR--IR;CU发出读命令--PC内容加一
  • 间址周期:Ad(IR)--MAR--地址总线--主存;CU发出读命令--控制总线--主存;主存--数据总线--MDR
  • 执行周期:
  • 中断周期:CU控制SP减1--MAR--地址总线--主存;CU发出写命令--控制总线--主存;PC--MDR--数据总线--主存;CU(中断服务程序的入口地址)--PC

指令执行方案可以选用三种:单指令周期,多指令周期,流水线方案。指令之间可以并行执行的方案,称为流水线方案,其追求的目标是力争在每个时钟脉冲周期完成一条指令的执行过程(只有理想状态才能达到这个效果)。

数据通路的功能:数据在功能部件之间传送的路径称为数据通路。运算器与各寄存器之间的传送路径就是中央处理器内部数据通路。

数据通路的基本结构主要有:CPU内部单总线方式,CPU内部三总线方式;专用数据通路方式。内部总线是指同一部件,如CPU内部连接各寄存器及运算器部件之间的总线;系统总线是指同一台计算机系统的各部件,如CPU,内存,通道以及各类I/O接口间互相连接的总线。

硬布线控制器的基本原理是根据指令的要求,当前的时序及外部和内部的状态情况,按照时间的顺序发送一系列微操作控制信号。它由复杂的组合逻辑门电路和一些触发器构成,因此又称组合逻辑控制器。

微程序控制器采用存储逻辑实现,也就是把微操作信号代码化,使每条机器指令转化为一段微程序并存入专门的存储器(控制存储器)中,微操作控制信号由微指令产生。

微程序控制器的的工作原理是微操作控制信号以微程序的形式存放在控制存储器中,执行指令时读出即可,执行速度较慢,较规整,应用于CISC CPU中易于扩充和修改;硬布线控制器的工作原理是微操作控制信号由组合逻辑电路根据当前的指令码,状态和时序,即时产生,执行速度较快,应用于RISC CPU中,难扩充修改。

计算机的流水线是把一个重复的过程分解为若干子过程,每个子过程与其他子过程并行执行,采用流水线技术只需要增加少量硬件就能把计算机的运算速度提高几倍,成为计算机中普遍使用的一种并行处理技术。

一条指令的执行过程可以分为多个阶段。当多条指令在处理器中执行(有取指,分析,执行三个阶段)时,可以采用以下三种方式:顺序执行方式,一次重叠执行方式,二次重叠执行方式。(若每条指令需要4个或5个执行步骤,则可以采取3次或4次重叠执行方式)

流水线中存在一些相关情况,它使下一条指令无法在设计的时钟周期内执行,主要有三种:结构相关(资源冲突),数据相关(数据冲突),控制相关(控制冲突)。

超标量流水线技术:每个时钟周期可并发多条独立指令,即以并行操作方式将两条或多条指令编译并执行,为此需配置多个功能部件。超标量计算机不能调整指令的执行顺序,通过编译优化技术,把可并行执行的指令搭配起来,挖掘更多的指令并行性。

猜你喜欢

转载自blog.csdn.net/object__/article/details/84295346