第六章控制器部件

《第六章控制器部件》由会员分享,可在线阅读,更多相关《第六章控制器部件(62页珍藏版)》请在文档大全上搜索。
1、第六章 中央处理部件CPU主要介绍中央处理器及其控制器的设计原理、控制技术CPU的功能随着集成电路的出现和集成度的提高,出现了微处理器,将运算器和控制器集成在一个芯片上,通常也称为CPU。CPU的功能:1. 指令控制 即对程序运行的控制。程序由一个指令序列构成,这些指令在逻辑上的相互关系不能改变。CPU必须对指令的执行进行控制,保证指令序列执行结果的正确性。2. 操作控制 即对指令内操作步骤的控制。一条指令的功能一般需要几个步骤来实现,CPU必须控制这些操作步骤的实施。 操作控制包括时间控制,即对各种操作进行时间上的控制。因为各种操作信号均受时间的严格限制,必须控制各个信号之间的相互关系。3.
2、 数据运算 即对数据进行算术运算和逻辑运算,这是CPU最基本的功能。主要在运算器中完成。4. 异常处理和中断处理 如运算中的溢出处理、出错情况,以及处理外设的服务请求等。此外,CPU还有存储管理、总线管理、电源管理等扩展功能。存储管理:包括虚拟存储器的管理,以及存储器的保护等;总线管理:对CPU所连接的系统总线的裁决、同步等;电源管理:为了减少CPU的电源消耗以及减少CPU芯片的发热。CPU的基本组成CPU的组成控制器:包括PC、IR、时序产生器、操作控制器以及 一些特殊的寄存器组成。运算器:算术逻辑单元和各种寄存器组成。控制器的功能:协调并控制计算机的各个部件执行程序的指令序列。即正确且自动
3、地连续执行指令,正确地分步完成每一条指令规定的功能。进一步说,就是向计算机各功能部件发出协调运行每一个步骤所需要的控制信号。运算器的功能: 接受控制器的命令进行算术或逻辑运算操作。CPU中的寄存器CPU中有多种寄存器。如在CISC系统中,一般有五种寄存器:(1)指令寄存器IR:存放当前正在执行的指令,为指令译码器提供信息;(2)程序计数器PC:存放下一条要执行指令的地址。一般采用具有计数功能的寄存器作PC寄存器。(3)数据寄存器DR:存放操作数、运算结果和中间结果,或者访存操作的数据。 存放中间结果的数据寄存器,即可放ALU的运算结果,又可向ALU提供操作数,与ALU一起可以进行数据累加,因此
4、又可称为累加器。如果多个数据寄存器都具有累加器功能时,就称为通用寄存器。(4)地址寄存器AR:专门存放操作数的地址。 通用寄存器即可存放操作数,又可存放操作数地址,因此许多设置有通用寄存器的计算机都不设置专门的地址寄存器。(5)状态寄存器SR:存放运算状态以及处理器的状态,这些信息是控制程序的条件。RISC处理器中一般不设置专门的SR,状态都存放在通用寄存器中。控制器分类:微程序控制器和硬布线控制器数据总线数据总线时序控制时序控制信号信号形成部件形成部件译码译码IRPC输出输出设备设备输入输入设备设备主主存存运算器运算器部件部件时序时序启停启停地址寄存器地址寄存器地址总线地址总线控制总线控制总
5、线.控制条件控制条件控制器信号控制器信号主振主振硬布线硬布线方案的方案的控制器控制器6.1 计算机的硬件系统1. Intel 80386微机系统时钟发生器80387协处理器80386微处理器82258DMA控制器总线控制逻辑总线控制逻辑READY逻辑8259A中断控制器存储器输入 输出设备中断设备总线resetCLKCLK22. 80386结构及外部连线Intel 80386包括指令部件、执行部件和存储管理部件等。指令部件完成取指及指令译码功能,并产生控制信号;执行部件包括ALU、乘法部件、寄存器组等;存储管理部件用来确定存储器地址。80386CLK2D0D31数据总线地址总线A2A31BE3
6、#BE2#BE1#BE0#32位地址W/R#D/C#M/IO#LOCK#总线周期定义ADS#NA#BS16#READY#总线控制HOLDHLDA总线仲裁INTRNMIRESET中断VCCGND电源连接PEREQBUSY#ERROR#协处理器信号6.2 控制器的组成(1)取指令 根据PC给出的指令地址,从内存中取得指令,放到IR中。(2)分析指令(译码) 对当前指令进行分析译码,产生相应的操作控制命令。如 果操作数在存储器中,还需要形成操作数地址。(3)执行指令 根据译码时产生的操作命令和操作数地址,形成相应的 操作控制信号序列,通过CPU及输入输出设备的执行,实 现指令的功能,并产生下一条指令
7、的地址。(4)控制程序和数据输入与结果输出 在适当的时候向输入输出设备发出一些相应的命令完成 I/O功能。6.2.1 控制器的功能 协调并控制计算机的各个部件执行程序的指令序列。(5)对异常和某些请求的处理 当机器出现某些异常情况,比如算术运算的溢出、数据传送的奇偶错等;或者出现某种外来请求,比如辅存与主存之间要传送数据、I/O设备与存储器之间要传送数据等,由这些设备或部件发出中断请求信号或者DMA请求信号。 中断请求信号 CPU执行完当前指令后,响应该请求,中止当前执行的程序,转去执行中断处理程序,处理完毕后,再返回原程序继续运行。 DMA信号 等CPU完成当前机器周期操作后,暂停工作,让出
8、总线给I/O设备,在完成I/O设备与存储器之间的数据传送操作后,CPU从中止的机器周期开始继续执行指令。在此期间,不允许改变CPU中任一寄存器的状态。6.2.2 控制器的组成根据控制器的功能,得出其基本组成如下:1. 程序计数器PC 即指令地址寄存器,存放当前正在执行的指令地址。(某些计算机则用来存放即将要执行的下一条指令地址) 有两种途径可以形成指令地址: (1)顺序执行的情况,通过程序计数器加“1”形成下一条指令地址(假如存储器按字节编址,而指令长度为4个字节,则加“4”)。 (2)非顺序执行时,由转移指令形成转移地址送往PC,作为下一条指令的地址。2. 指令寄存器IR 存放当前正在执行的
9、指令。3. 指令译码器 对指令寄存器中的操作码进行分析解析,产生相应的控制信号。4. 脉冲源及启停线路 脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号。 启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号的发生或者停止,从而启动机器或使之停机。5. 时序控制信号形成部件 当机器启动后,在CLK时钟作用下,根据当前正在执行的指令的需要,产生相应的时序控制信号,并根据被控部件的反馈信号调整时序控制信号。运算器存储器I / O时序控制信号形成部件脉冲源启停线路操作码 地址码指令译码器程序计数器状态寄存器数据总线DB地址总线AB控制总线CB数据操作数地址+1指令指令
10、寄存器IRresetCLKPC转移地址地址码指令地址6.2.3 指令执行过程指令周期:从一条指令的启动到下一条指令启动的间隔时间。机器周期:指令执行中每一步操作所需的时间。时钟周期:一般CPU采用一个统一的时钟信号,这个时钟信号 的周期称为时钟周期。指令的执行过程一般包含若干个机器周期,每个机器周期完成一个基本操作步骤。一个机器周期可以由一个或多个时钟周期构成。周期:是指令运行过程中相对独立的阶段。一般把指令的运行过程分为取指令、读操作数和执行(包括写结果)三个基本工作周期。(当然,不是所有的指令都必须包含这三个基本周期)例:加法指令执行过程加法指令功能:将寄存器(rs)中的一个数与存储器中的
11、一个数(其地址为(rs1)+disp)相加,结果放在寄存器rd中。(rs和rd为同一个寄存器)操作码 rs,rd rs1 imm或disp指令格式(1)从存储器中取指令,送入IR,并对操作码进行译码分析; 同时PC+1,为下一条指令做好准备。 控制信号:PC AB, ADS,W/R = 0, M/IO = 1, DB IR, PC+1(2)计算数据地址,将计算得到的有效地址送入AR。 控制信号:rs1 GR, (rs1) ALU, disp ALU, “+” ALU, ALU AR(3)到存储器取数 控制信号:AR AB, ADS, W/R = 0, M/IO = 1, DB DR(4)进行加