您好,欢迎访问三七文档
计算机学院第六章中央处理器熟练掌握CPU的功能、组成;指令执行的周期、时序、控制方式;微命令、微操作、微指令、微程序、水平型微指令和垂直型微指令的概念;熟练掌握指令执行的流程图及相应的微操作序列;熟练掌握微命令的编码方法;熟练掌握微地址的设计技术;灵活运用控制器的设计技术进行组合逻辑控制器的设计和微程序控制器的设计。了解流水线的基本工作原理学时:12计算机学院6.1中央处理器的功能和组成1.中央处理器的功能中央处理器简称CPU,它具有如下四方面的功能:(1)程序的顺序控制。(2)操作控制产生取出并执行指令的微操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。(3)时间控制对各种操作实施时间上的控制。(4)数据加工对数据进行算术运算和逻辑运算处理。计算机学院6.1中央处理器的功能和组成2.中央处理器的组成中央处理器由控制器、运算器和总线组成。(1)控制器控制器是全机的指挥中心,其基本功能就是执行指令。控制器由程序计数器PC、指令寄存器IR、地址寄存器(AR)、数据寄存器(DR)、指令译码器、时序系统和微操作信号发生器组成。计算机学院6.1中央处理器的功能和组成①程序计数器PC用以指出下条指令在主存中的存放地址,CPU根据PC的内容去主存取得指令。因程序中指令是顺序执行的,所以PC有自增功能。②指令寄存器(IR):用来保存当前正在执行的一条指令的代码。③地址寄存器(AR):用来存放当前CPU访问内存单元的地址。④数据寄存器(DR):用来暂存由内存储器中读出或写如入内存的指令或数据。计算机学院6.1中央处理器的功能和组成⑤指令译码器:分别对操作码字段、寻址方式字段、地址码字段进行译码,向控制器提供操作的特定信号。⑥时序部件:用来产生各种时序信号,时序信号可分为CPU周期信号、节拍周期信号和节拍脉冲信号,它们都是由统一时钟CLOCK分频得到。⑦微操作形成部件:根据IR的内容(指令)、PSW的内容(状态信息)以及时序线路三方面的内容,产生控制整个计算机系统所需的各种控制信号。其结构有组合逻辑型和存储逻辑型。计算机学院6.1中央处理器的功能和组成(2)运算器运算器由算术逻辑单元(ALU)、通用寄存器、程序状态字寄存器、数据暂存器、移位器等组成。它接收从控制器送来的命令并执行响应的动作,负责对数据的加工和处理。各组成部件的作用是:①算术逻辑单元(ALU):用以进行双操作数的算术逻辑运算。②通用寄存器组:用来存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息等。③暂存器:用来暂存从主存储器读出的数据,这个数据是不能存放在通用寄存器中,否则会破坏其原有的内容。计算机学院6.1中央处理器的功能和组成④程序状态字寄存器(PSW)保留由算术逻辑运算指令或测试指令的结果建立的各种状态信息。⑤移位器在ALU输出端设暂存器用来存放运算结果,它具有对运算结果进行移位运算的功能。计算机学院控制器的组成图6.3是控制器基本组成的逻辑框图。计算机学院组成控制器的基本电路一类是具有记忆功能的触发器以及由它组成的寄存器、计数器和存储单元等。其特点是:当输入信号消失后,原信息仍保留其中。图6.4即是这样的电路。该图表示在时间J2时,将A触发器的内容传送到B触发器中,在时间t3以后,A触发器在其他信号作用下变为“0”,但B触发器仍保持不变。计算机学院组成控制器的基本电路另一类是没有记忆功能的门电路及由它组成的加法器、算术逻辑运算单元(ALU)和各种逻辑电路等。特点是:当输入信号改变后,输出跟着变化。图6.5为加法器电路,对A、B进行加法运算,设A=1,B=0,则“和”S=1,该值仅在A,B保持不变时才成立,若在t2时间A变为“0”,则S立即发生变化(如果忽略电路延迟时间),也变为“0”,而与原来的状态无关,所以这种电路没有记忆作用。计算机学院6.1中央处理器的功能和组成(3)总线与数据通路结构①内部总线CPU内部连节各寄存器的总线。②系统总线系统总线是CPU与主存储器MM、外部设备接口相联的总线,它包括地址总线、数据总线和控制总线。CPU向地址总线提供访问主存单元或I/O接口的地址。CPU向数据总线发送或接收数据,以完成与主存单元或I/O接口之间的数据传送,主存M和I/O设备之间也可以通过数据总线传送数据。CPU通过控制总线向主存或I/0设备发出有关控制信号,或接收控制信号;I/O没备也可以向控制总线发出控制信号。算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC存储器I/OCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制ccccc缓冲寄存器DR计算机学院6.2指令的执行1.指令执行的周期(1)取指周期取指周期要解决两个问题:一是CPU到哪个存储单元去取指令;二是如何形成后继指令地址。指令地址由PC给出,取出指令后PC内容递增;当出现转移情况时,指令地址在执行周期被修改。计算机学院6.2指令的执行(2)取操作数周期取操作数周期要解决的问题是,计算操作数地址并取出操作数。操作数有效地址的形成由寻址方式确定。寻址方式不同,有效地址获得的方式、过程不同,提供操作数的途径也不同。因此,取操作数周期所进行的操作对不同的寻址方式是不相同的。(3)执行周期执行周期的主要任务是完成由指令操作码规定的动作,包括传送结果及记录状态信息。操作结果送到什么地方由寻址方式确定;状态信息,主要是条件码,记录在PSW中。若程序出现转移时,则在执行周期内还要决定转移地址。因此,执行周期的操作对不同指令也不相同。计算机学院6.2指令的执行指令周期:CPU从内存取出一条指令并执行完这条指令的时间总和机器周期:又称CPU周期(总线周期),CPU访问内存所花的时间较长,因此用CPU从内存读取一条指令字的所需的最短时间来定义时钟周期:通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期T相互关系:1个指令周期=若干个机器周期1个CPU周期=若干T周期取指时间+执行指令时间计算机学院6.2指令的执行一个指令周期由若干个机器周期组成,每个机器周期又由若干个时钟周期组成。一个机器周期内包含的时钟周期个数决定于该机器周期内完成的动作所需的时间。一个指令周期包含的机器周期个数亦与指令所要求的动作有关,如单操作数指令,只需要一个取操作数周期,而双操作数指令需要两个取操作数周期。时钟周期T机器周期M1机器周期M2机器周期M3机器周期M4指令周期计算机学院6.2指令的执行2.指令的执行(1)指令的执行过程①取指令根据指令计数器PC提供的地址从主存储器中读取现行指令,送到主存数据缓冲器MDR中。然后再送往CPU内的指令寄存器IR中。同时改变指令计数器的内容,使之指向下一条指令地址或紧跟现行指令的立即数或地址码。计算机学院6.2指令的执行②取操作数如果是无操作数指令则可直接进入下一个过程。如果需要操作数则根据寻址方式计算地址,然后到存储器中去取操作数。如果是双操作数指令则需两个取数周期;③执行操作根据操作码完成相应的操作并根据目的操作数的寻址方式存结果。(2)指令之间的衔接方式指令之间的衔接方式有:串行的顺序执行方式、并行的重叠处理方式和流水执行方式。计算机学院6.2控制器的组成【例如】一段简单的汇编源程序如下所示,分析其执行过程。020CLA;累加器清0021ADD30;(AC)+(30)→AC022STA40;(AC)→(40)023NOP;空操作024JMP21;21→PC…030000006;数据…040存和数;数据指令的执行过程如下:计算机学院6.2控制器的组成(1)CLA指令的指令周期一个机器周期一个机器周期取指令阶段执行指令阶段开始取指令PC+1对指令译码执行指令取下条指令PC+1计算机学院取出CLA指令算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+1000020202122232430CLAADD30STA40NOPJMP21000006000020CLACLA000021计算机学院算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+1202122232430CLAADD30STA40NOPJMP21000006000020CLACLA000021000000执行CLA指令计算机学院6.2控制器的组成(2)ADD指令的指令周期一个机器周期一个机器周期取指令阶段执行指令阶段开始取指令PC+1对指令译码送操作数地址取下条指令PC+1取出操作数执行加操作一个机器周期计算机学院算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006取出并执行ADD指令计算机学院6.2控制器的组成(3)STA指令的指令周期计算机学院算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006取出并执行STA指令计算机学院6.2控制器的组成(4)NOP指令和JMP指令的指令周期计算机学院算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+1202122232430CLAADD30STA40NOPJMP21000006000024JMP21JMP21000024000021000006000025000021取出并执行JMP指令计算机学院6.2指令的执行一条加法指令的执行过程假设运算器的框图如图6.6所示。计算机学院6.2指令的执行计算机学院6.2控制器的组成运算器由8个通用寄存器GR及一个算逻运算部件ALU组成,并有4个记忆运算结果状态的标志触发器N,Z,V和C。其中:N(负数):当运算结果为负数时,置“1”,否则为“0”。Z(零):当运算结果为零时,Z=1,否则Z=0。V(溢出):当运算结果溢出时,V=1,否则V=0。C(进位):当加法运算产生进位信号或减法运算产生借位信号时,C=1,否则C=0。图6.6中的“•”表示两线相接,小圆圈“O”表示受控制的“与”门,带*号的是控制命令,各控制命令均来自控制器,其功能在图上已标明。图6.7是加法指令的操作时序图:计算机学院6.2指令的执行计算机学院6.2指令的执行图中CLK为时钟,假设一个基本操作需要2个时钟(T1和T2)才能完成。在一般情况下,当控制命令为1(高电平)时,将受控门打开(例如PC→AB等);控制命令为0(低电平)时,将门关闭。而在控制命令(或回答信号)的上面有符号“一”时,其作用相反。例如,ADS当其为高电位时,表示向存储器送去了一个读/写启动命令,存储器根据另一控制命令W/R来决定进行写操作还是读操作。当W/R=1时,进行写操作;当W/R=0时,进行读操作。本例中,存储器和I/O设备中的寄存器是统一
本文标题:第6章中央处理器.
链接地址:https://www.777doc.com/doc-2110956 .html