您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 计算机组织与结构课件第7章CPU组织与结构.
公司徽标第7章CPU组织与结构本章结构17.1CPU的功能和组成37.3时序产生器和控制方式57.5微程序控制器77.7典型CPU及主要技术27.2指令周期47.4控制部件的硬布线实现67.6微程序设计技术7.1CPU的功能和组成CPU-CentralProcessUnit,中央处理器,是计算机中最核心的部件。本节主要讲述CPU的主要功能和基本组成结构。1、CPU的功能计算机是通过完成人们编制的程序来实现相应的功能的程序是由指令和数据构成的并且事先存放在存储器中指令又可分解为若干操作步总的讲,CPU需完成从取指令到执行指令的全过程的控制。具体讲,包括以下几个方面:指令控制操作控制时间控制数据处理2、CPU的基本组成在早期的计算机当中,CPU被分成运算器和控制器两个部分。随着超大规模集成电路技术的发展,许多早期放在CPU外部的逻辑功能部件(如:Cache,浮点运算器等)被集成到CPU内部,使得CPU的内部结构越来越复杂。通常,我们认为目前的CPU由运算器、控制器和Cache三大部分组成。运算器由算术逻辑单元(ALU)、累加寄存器、数据寄存器和状态条件寄存器等组成,通常还包括一个寄存器组。相对控制器而言,运算器是执行部件,它接受控制器的命令进行数据加工处理等工作。运算器有两个主要功能:执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器等组成,它完成协调和指挥整个计算机系统的操作。主要功能有:从内存中取出一条指令,并指出下一条指令在对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作;指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。控制器核心部件-操作控制时序产生器功能:根据指令译码的结果和程序及机器当前的状态,按照一定的时序要求产生指令执行过程中所需的所有操作控制信号。Cache为了进一步提高CPU的运行效率,目前的CPU内部通常会内置高速缓冲存储器。内置Cache的容量和结构对CPU的性能影响较大,一般容量越大越好。在许多高性能处理器内部,一级缓存通常设置为两个,一个指令Cache,一个数据Cache,以减少取指令和读操作数的访问冲突,这种结构也叫哈佛结构。两种设计方法:硬布线设计法(又称组合逻辑设计法),采用组合逻辑思想设计;微程序设计法,采用存储逻辑思想设计。7.2指令周期本节首先介绍几个时间概念,然后通过几条典型指令的流程讲述计算机指令的执行过程。1、几个时间概念指令周期-CPU从内存取出一条指令并执行这条指令的时间总和。CPU周期-又称总线周期、机器周期,是指CPU进行一次总线操作所需要的时间。包括CPU访存、访I/O和中断响应等。时钟周期-又称为T周期,是指CPU工作时钟的一个周期时间。几个时间之间的关系一个指令周期由若干个总线周期组成;一个总线周期由若干个T周期组成。2、典型指令的指令周期下面通过几条常用的典型指令的指令周期构成进一步讲述指令周期的概念和指令的执行过程。典型指令组成的一个简单程序十六进制数地址十六进制数代码助记符指令功能说明00103E00LDA00HAC←00H001118E0ADD[E0H]AC←(AC)+(00E0H)001210F0STR[F0H]00F0H←(AC)00136011JMP11HPC←0011H…………00E00005数据00E10020……00F0存放和数LDA指令的指令周期LDA00H是一条数据传送指令,将0传送给AC内容清。它需要两个CPU周期,其中取指令阶段需要一个CPU周期,执行指令阶段需要一个CPU周期。如图示:取指令周期(1)程序计数器PC的内容0010H被装入地址寄存器AR;(2)程序计数器内容加1,变成0011H,为取下一条指令做好准备;(3)(4)所选存储器单元0010H的内容经过数据总线,传送到数据缓冲寄存器DR;(5)数据缓冲寄存器的内容传送到指令寄存器IR(6)(7)CPU识别出是指令LDA,至此,取指令阶段即告结束。③⑥时钟状态反馈取指令微操作地址总线ABUSCPU数据总线DBUS+1ACCCCC指令译码器操作控制器时序产生器操作控制器时序产生器ALUALUI/O状态条件寄存器LDA00HLDA00H0010H0010HARIR⑤④①②DRPC主存地址LDA00H指令内容ADD[E0H]JMP11HSTR[F0H]0010001100120013存放和数……00E0000500E10020……00F0图7-7LDA00H的取指周期操作执行指令周期(1)经译码后知道LDA00H指令采用立即寻址方式,操作数跟在操作码之后,已经存放在指令寄存器IR中,操作控制器送出控制信号,在IR与数据缓冲寄存器DR之间建立数据通路,把立即数打入DR;(2)操作控制器再送出控制信号在DR与ALU之间建立数据通路,把立即数送到ALU的输入端;(3)ALU响应传送操作控制信号,将输入ALU的数据送到累加寄存器AC,从而执行了LDA00H指令。①③时钟状态反馈指令执行微操作地址总线ABUSCPU数据总线DBUS+1ACCM(传送)指令译码器操作控制器时序产生器操作控制器时序产生器ALUALUI/O状态条件寄存器0000HLDA00H0011H0010HARIR①②DRPC主存地址LDA00H指令内容ADD[E0H]JMP11HSTR[F0H]0010001100120013存放和数……00E0000500E10020……00F00000H图7-8LDA指令执行阶段ADD指令的指令周期ADD是一条加法指令,将AC的内容与一个存储器操作数相加,结果送AC。它需要三个CPU周期:取指令周期、取操作数周期和执行加法周期。如图示:取指令PC+1指令译码开始送操作数地址取操作数执行加法一个CPU周期一个CPU周期一个CPU周期取指令阶段执行阶段取指令周期同LDA指令取操作数周期(1)IR中的操作数地址00E0H送地址寄存器AR;(2)AR中的内容00E0H送地址总线,读存;(3)00E0H单元的内容0005经数据总线读取到数据缓冲寄存器DR中。③时钟状态反馈指令执行微操作地址总线ABUSCPU数据总线DBUS+1ACC指令译码器操作控制器时序产生器操作控制器时序产生器ALUALUI/O状态条件寄存器0005HADD[E0H]0012H00E0HARIR①②DRPC主存地址LDA00H指令内容ADD[E0H]JMP11HSTR[F0H]0010001100120013存放和数……00E0000500E10020……00F00000H图7-10ADD指令的取操作数阶段执行加法周期(1)DR和AC中的内容分别送运算器的两个输入端;(2)ALU执行加法运算,结果0005送AC。时钟状态反馈指令执行微操作地址总线ABUSCPU数据总线DBUS+1ACC指令译码器操作控制器时序产生器操作控制器时序产生器ALUALUI/O状态条件寄存器0005HADD[E0H]0012H00E0HARIR①A②DRPC主存地址LDA00H指令内容ADD[E0H]JMP11HSTR[F0H]0010001100120013存放和数……00E0000500E10020……00F00000H①BC(加法)图7-11ADD指令的加法操作阶段STR指令的指令周期STR指令是将AC的内容存入存储器单元(F0H)中。STR指令需两个CPU周期:取指令周期和存数周期。如图示:取指令PC+1指令译码开始送操作数地址存操作数一个CPU周期一个CPU周期取指令阶段执行阶段取指令周期同LDA指令执行存操作数周期(1)AC中的内容0005送数据寄存器DR;(2)IR中的存储单元地址00F0H送地址寄存器AR(3)AR中的内容00F0H送地址总线,DR中的内容送数据总线;(4)执行写操作,则将AC中的内容0005写入内存单元00F0H中。时钟状态反馈指令执行微操作地址总线ABUSCPU数据总线DBUS+1ACC指令译码器操作控制器时序产生器操作控制器时序产生器ALUALUI/O状态条件寄存器0005HSTR[[F0H]0013H00F0HARIR①②DRPC主存地址LDA00H指令内容ADD[E0H]JMP11HSTR[F0H]0010001100120013存放和数……00E0000500E10020……00F00005H③④图7-13STR[F0H]指令的执行阶段JMP指令的指令周期JMP是一条跳转指令。它由两个CPU周期组成:取指令周期和执行跳转周期。如图示:取指令PC+1指令译码开始送转移数地址一个CPU周期一个CPU周期取指令阶段执行阶段取指令周期同LDA指令执行转移周期CPU把指令寄存器IR中地址码部分0011H送到程序计数器,从而用新内容0011H代替PC原先的内容0014H。这样,下一条指令将不从0014H单元读出,而是从内存0011H单元开始读出并执行,从而改变了程序原先的执行顺序。JMP指令执行阶段的操作如图7-15所示。时钟状态反馈指令执行微操作地址总线ABUSCPU数据总线DBUS+1ACC指令译码器操作控制器时序产生器操作控制器时序产生器ALUALUI/O状态条件寄存器JMP11HJMP11H0011H0013HARIR①②DRPC主存地址LDA00H指令内容ADD[E0H]JMP11HSTR[F0H]0010001100120013存放和数……00E0000500E10020……00F00005H图7-15JMP11H的执行阶段3、用方框图语言描述指令周期在进行CPU的操作控制和时序产生器的设计时,常采用一种方框图语言对全部指令的指令周期进行描述,以此按时序关系产生每条指令的操作控制信号。将以上5条指令用方框图语言描述如下:x开始AR←PC,PC+1;ABUS←AR;DR←DBUS;IR←DR译码或测试DR←IRALU←DRAC←ALUPC←IRAR←IRDR←ACABUS←ARDBUS←DR,WRALU←DR,ALU←ACADDAC←ALUAR←IRABUS←AR,RDDR←DBUSLDASTRADDJMP图7-16用方框图语言表示的指令周期举例【例1】如图为双总线结构机器的数据通路,IR、PC、AR、DR分别为指令寄存器、程序计数器、地址寄存器和数据缓冲寄存器,M为主存,G控制一个门电路的打开。另外,线上标注的小圈表示有控制信号。(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的操作,画出其指令周期流程图,并列出相应的微操作控制信号。(2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,画出其指令周期流程图,并列出相应的微操作控制信号。IRPCARDRR0R1R2R3MXYALUIRiIRoPCiARiR/WDRiR0iR3iPC0DR0R00R30XiYi+-GA总线B总线(1)“ADDR2,R0”PC→ARM→DRDR→IRR2→YR0→XR0+R2→R0PC0,G,ARiR/W=RDR0,G,IRiR20,G,YiR0O,G,Xi+,G,R0i(2)“SUBR1,R3”PC→ARM→DRDR→IRR3→YR1→XR3-R1→R3PC0,G,ARiR/W=RDR0,G,IRiR30,G,YiR1O,G,Xi-,G,R3i7.3时序产生器和控制方式由于执行指令的各步操作是有先后次序的,并且许多控制信号的长短也有严格的时间限制,这就需要引入时序信号对它们进行定时控制。时序系统是控制器的心脏,其功能是为指令的执行提供各种定时信号。一、时序系统一个机器周期内要完成若干微操作,其中有的可并行执行,有的要求顺序操作。因此,需要把一个机器周期分为若干个相等的时间段,每一时间段对应一个节拍信号,称为节拍脉冲信号。节拍的宽度取决于CPU完成一次基本操作的时间,如ALU完成一次正确的运算,寄存器间的一次传送等。定长机器周期以最复杂的机器周期为准来定出节拍数,每一节拍时间的长短也以最繁的微操作为准。
本文标题:计算机组织与结构课件第7章CPU组织与结构.
链接地址:https://www.777doc.com/doc-2044458 .html