一、CPU的整体结构
CPU是由控制器和运算器两大部分组成,控制器是整个系统的指挥中心,在控制器的控制之下,运算器、存储器和输入输出设备等部件构成了一个整体。
1.1、CPU的功能
计算机的工作过程就是计算机中程序的执行过程,首先将程序和原始数据预先通过输入设备送到主存储器中存储起来,执行时计算机按顺序逐条取出指令、分析指令、执行指令并自动转入下条指令。计算机一条一条地执行指令,实现预先设计的程序控制,直到程序规定的任务完成。
1、程序控制
程序是指令的有序集合,指令的相互顺序不能任意交换,必须严格按照程序规定的顺序执行,CPU程序控制的任务就是保证程序是按一定顺序的执行程序。
2、操作控制
一条指令的功能往往由若干个操作信号的组合实现,所以CPU管理并产生每条指令的操作信号,把操作信号送往相应部件,从而控制这些部件按指令的要求进行操作。
3、时间控制
时间控制是对各种操作实施时间上进行控制,一方面是各种指令的操作信号均受到时间的严格控制,另一方面是一条指令的整个执行过程也受到时间的严格控制。
4、数据加工
数据加工是对数据进行算术运算、逻辑运算或进行数据传递处理,数据加工主要由运算器完成。
控制器的基本功能是负责指令的读出、识别和解释,并指挥协调各功能部件执行指令。
控制器的逻辑结构主要有三种组织方法:硬布线控制逻辑法(组合逻辑法)、可编程逻辑阵列法(PLA法)、微程序控制逻辑法
1.2、CPU的组成
1、指令部件
程序计数器(PC)
程序计数器用来指出在内存中存放指令的单元地址,标识当前指令在主存储器中的单元地址。程序执行之前将程序的首地址存入PC,当执行指令时,CPU能自动修改PC的内容。
由于程序大部是顺序执行且指令是顺序存放的,所以将PC中的内存送到主存的地址寄存器(MAR)去读取指令后,PC的内容会自动递增,为取下一条指令做好准备。
指令寄存器(IR)
指令寄存器存放当前指令的代码,在执行任何一条指令时,根据当前PC的指向,先将指令从内存中取到内存数据寄存器中,然后再传到指令寄存器。
指令译码器(ID)
指令译码器对来自指令寄存器对操作码部分OC进行译码,也叫做操作码译码器,用来产生操作性质的控制电位,并将其送到微操作控制线路上,在时序部件定时信号作用下,产生具体的控制操作信号。
程序状态寄存器(PSW)
程序状态字用来表示当前运算的状态及程序的工作方式,存放这些状态字的寄存器称为程序状态寄存器(PSW),不同机器的PSW包含的内容各不相同。
地址形成部件
地址形成部件是根据寻址方式不同,用来形成操作数有效地址的功能部件,控制器中有专门的地址形成逻辑,通过运算器来计算有效地址。
地址寄存器(AR)
地址寄存器用来保存CPU当前所访问的内存单元的地址,由于在CPU和内存之间存在操作速度的差异,所以必须使用地址寄存器来保存内存的地址信息,直到内存存取操作完成为止。
累计寄存器(AC)
累加寄存器通常简称累加器,当运算器ALU执行算术运算或逻辑运算时,它为ALU提供一个工作区,用来暂存一个操作数或运算结果,当运算器中只有一个累加器时称为单累加器结构,否则称为多累加器结构。
数据缓冲寄存器(DR)
数据缓冲寄存器主要作为CPU和主存、外设之间信息传输的中转站,用以补偿CPU和主存、外设之间操作速度上的差异,另外在单累加器结构中,缓冲寄存器也可以兼作操作数寄存器使用。
2、时序部件
时序部件用来产生各种部件所需的定时控制信号的部件,时序信号一般由工作周期、工作节拍及工作时标脉冲三级时序信号构成
3、微操作控制逻辑
微操作是计算机中最基本操作,微操作控制逻辑用来产生机器所需的全部微操作信号。作用是把操作码译码输出的控制电位、时序信号以及各种控制条件进行组合,按一定顺序产生并发出一系列微操作控制信号,以完成指令规定的全部操作。
4、中断控制逻辑
中断控制逻辑用来控制中断处理的硬件逻辑,响应各种部件或设备发出的错误中断请求,控制器响应中断请求并进行处理。
CPU的各个寄存器之间传输信息的通路称为数据通路,主要由操作控制器完成。操作控制器的功能就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确建立数据通路,完成取指令和执行指令的控制。
二、指令的执行
计算机能够自动工作是因为CPU能从存放程序的内存中取出一条一条指令并执行,CPU是不断的取出指令、解析指令并执行指令,是一个不断循环的过程。
指令周期:CPU完成一个取出指令、解析指令并最终执行指令的过程称为一个指令周期
CPU周期:也叫机器周期,指令周期中涉及取指令、解析指令和执行指令,每一个步骤就是一个CPU周期,不过由于解析指令和执行指令很快,而从内存中读取指令比较慢,所以一个CPU周期通常就是一个从内存取指令的时长。
时钟周期:也叫做主频或节拍脉冲,是CPU处理操作的基本单位,一个时钟周期就是一个脉冲逻辑0状态与逻辑1状态来回切换一次的时间,基本上上纳秒级别。
一个指令周期至少包含两个及以上的CPU周期,一个CPU周期包含了多个时钟周期
CPU执行指令的过程如下:
1、读取指令
读取指令阶段是将现行指令从主存中取到指令寄存器IR的过程,步骤如下:
1.1、将PC中的内存发送到存储器的地址存储器MAR,并对存储器发出控制读命令;
1.2、利用指令尚未读出的时间,控制器将PC的内存递增,为取下一条指令做好准备;
1.3、在存储器中进行读操作,将MAR所指定的地址单元的内存读出,送到数据寄存器MDR中,并发出MFC信号通知控制器,表示存储器的读操作功能已完成;
1.4、把存放在MDR中的指令代码送到指令寄存器IR中,随后指令译码器对操作码字段OC进行译码
2、解析指令
取出指令后立即进行分析阶段,指令译码器识别和区分不同的指令类型及各种获取操作数的方法,得到指令类型和操作数
3、执行指令
根据指令类型具体实现指令的功能,需要有各种控制信号在不同时刻来执行各个最基本的控制操作,单靠一个是不可能完成指令所要求的功能,需要将多个各种控制编排成有序的序列。
三、控制器的逻辑结构
3.1、微程序控制器
微程序控制器是用程序设计的思想方法来组织操作控制逻辑。将微操作控制信号按一定规则进行信息编码,形成控制字。一条机器指令的执行过程就是对若干控制字进行程序设计,一条指令对应一道程序,此程序存放在专门存储器中,存放微程序的存储器称为控制存储器(CM),简称为控存。
微程序控制方式中,一条机器指令的执行过程就是其微程序的执行过程,类似于一般程序的执行,控制器中需要增设一个微指令计数器。
3.2、硬布线控制器
硬布线控制器是早期设计计算机的方法,把控制部件看作是产生专门固定时序控制信号的逻辑电路,此逻辑电路以使用最少元件和取得最高操作速度作为设计目的。一旦控制部件构成后,除非重新设计和物理上对它重新连线,否则想要增加新的控制功能是无法实现的。
当执行不同的机器指令后,通过激活一系列不相同的控制信号来实现对指令的解释。
3.3、门阵列(PLA)控制器
PLA控制器又称为可编程逻辑阵列,实际上是由一个与阵列和一个或阵列组成,具有与、或、非的逻辑控制都可以由PLA结构实现。PLA实现微操作信号时,把操作码、时序信号和状态条件作为PLA的输入,按一定的与、或关系编排后,其输出便是微操作控制信号。
PLA控制器也是一种组合逻辑控制器,但是与常规的硬线组合控制器不同的是它是可编程的,不需要把一系列门电路和触发器状态靠硬连线来实现。
标签:控制,控制器,--,软考,指令,处理器,信号,执行,CPU From: https://www.cnblogs.com/jackion5/p/17294222.html