计算机组成原理课件-CPU_第1页
计算机组成原理课件-CPU_第2页
计算机组成原理课件-CPU_第3页
计算机组成原理课件-CPU_第4页
计算机组成原理课件-CPU_第5页
已阅读5页,还剩164页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章中央处理器计算机组成原理第5章中央处理器计算机组成原理1本章主要内容CPU的功能和组成控制器控制原理指令周期(★★★)时序产生器和控制方式硬布线控制器微程序控制器(★★★)流水线处理器2本章主要内容CPU的功能和组成25.1CPU的功能和组成CPU的功能CPU的组成CPU中的主要寄存器操作控制器时序产生器35.1CPU的功能和组成CPU的功能3CPU的基本功能取出指令并执行指令的部件——CPUCPU(CentralProcessingUnit)数据加工:算术/逻辑运算;(ALU

)指令控制:指令执行的顺序控制;(PC,JMP)操作控制:

产生各种操作信号;(微操作信号)时间控制:

控制操作信号的发生时间;(时序信号发生器)包括控制器(CU)和运算器(ALU)4CPU的基本功能取出指令并执行指令的部件——CPU4CPU的组成运算器算术运算/逻辑运算控制器:指挥计算机各部件按指令要求进行操作的部件

控制取出、解释和执行指令从内存中取指,并提供下一条指令地址对指令进行译码/测试,产生相应的操作控制信号产生执行部件的运行所需要的控制信号指挥并控制CPU,内存和I/O设备之间的数据传送存储器与控制器之间的信息流动——指令流;存储器与运算器之间的信息流动——数据流。中断控制——对异常情况和外部请求的处理5CPU的组成运算器5典型计算机主机框图

6典型计算机主机框图6CPU中的主要寄存器PC—程序计数器:ProgramCounterAR—地址寄存器:AddressRegisterDR—数据缓冲寄存器:DataRegisterIR—指令寄存器:InstructionRegisterAC—累加寄存器:AccumulateCountPSW—程序状态字:ProgramStatusWord7CPU中的主要寄存器PC—程序计数器:ProgramCou控制器基本组成PC(ProgramCounter)---程序计数器IR(InstructionRegister)---指令寄存器ID(InstructionDecoder)---指令译码器OC(OperateController)---操作控制器TG(TimerGenerator)---时序发生器8控制器基本组成PC(ProgramCounter)---指令译码器?对指令进行分段(操作码、地址码)译码,指出指令的操作方式、寻址方式为操作控制器提供输入信号9指令译码器?对指令进行分段(操作码、地址码)译码,指出指令的操作控制器?根据指令操作码和地址码、时序信号,产生各种控制信号序列,建立正确的数据通路,从而完成取指令和执行指令的控制。硬布线控制器(时序逻辑型)(硬件实现)微程序控制器(存储程序型)(软件实现)数据通路—执行部件间(寄存器)传送信息的通路。10操作控制器?根据指令操作码和地址码、时序信号,产生各种控制信时序产生器?产生各种时序信号(电位,脉冲);对各种操作实施时间上的控制。11时序产生器?产生各种时序信号(电位,脉冲);11ALU运算器结构PSWAXBXCXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YCLAADD30STA40NOPJMP21…000004…00000620212223243040ALU运算器结构PSWAXBXCXDXDR左路开关选择右路开CLAADD30STA40NOPJMP21…000004…00000620212223243040ALUADDAX,BXPSWAX=2BX=4CXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YAX=6CLAADD30STA40NOCLAADD30STA40NOPJMP21…000004…00000620212223243040ALUADDAX,[30]PSWAX=2BX=4CXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YAX=6DR=4CLAADD30STA40NOCLAADD30STA40NOPJMP21…000006…00000420212223243040ALU指令译码器000000程序计数器PCAR地址寄存器ARDR缓冲寄存器DRAC累加器ACIR指令寄存器IR操作控制器OC时序产生器TG执行指令控制地址总线ABUS数据总线DBUSCPU基本结构PSWPSWCPUCLAADD30STA40NO主机基本组成主机基本组成本章主要内容CPU的功能和组成控制器控制原理指令周期(★★★)时序产生器和控制方式硬布线控制器微程序控制器(★★★)流水线处理器17本章主要内容CPU的功能和组成175.2指令周期(★★★)指令周期基本概念CLA指令周期ADD指令周期STA指令周期NOP指令周期JMP指令周期185.2指令周期(★★★)指令周期基本概念18指令周期基本概念时钟周期:T,节拍脉冲CPU周期:机器周期,从内存读出一条指令的最短时间指令周期:从内存取一条指令并执行该指令所用的时间。由若干个CPU周期组成,一个CPU周期又包含若干个时钟周期(节拍脉冲)

T周期T1T2T3T4T1T2T3T4机器周期(取指令)指令周期机器周期(执行指令)将指令周期划分为若干个相对独立的操作阶段。例如:取指令周期(IF),取(源、目的)操作数周期(SOF、DOF),执行周期(EXE)等。19指令周期基本概念时钟周期:T,节拍脉冲T周期T1T2T3T4指令周期基本概念(★★★)

取指令周期取操作数周期(可无)执行周期取指令PC+1执行指令开始20指令周期基本概念(★★★)取指令周期取指令执行指令开始20典型指令程序:

助记符机器指令地址

CLA250000020ADD30030030021STA40020040022NOP000000023JMP21140021024

┋┋

数000006030

据000040031

┋┋和数040CLAADD30STA40NOPJMP21…000006…0000042021222324304021典型指令程序:CLAADD30STACLA指令周期取指令PC+1指令译码执行指令取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始将累加器AC清022CLA指令周期取指令指令译码执行指令取下条取指令阶段执行指DRCLAADD30STA40NOPJMP21…000006…00000420212223243040ALUAC000020ARCLAIR指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000020CLA000000000CLA指令000021+1PC→AR→ABUS→RAM→DBUS→DR→IRPC+1DRCLAADD30STA40CLA执行过程的操作PC→ARPC+1→PCAR→ABUS→RAM→DBUS→DRDR→IR0→AC24CLA执行过程的操作PC→AR24ADD指令周期取指令PC+1指令译码取操作数取下条指令PC+1取指令阶段1个CPU周期1个CPU周期开始送操作数地址执行指令阶段1个CPU周期执行加法操作ADD30;(AC)+(30)→AC取操作数周期25ADD指令周期取指令指令译码取操作数取下条取指令阶段1个CPCLACLAADD30STA40NOPJMP21…000006…00000420212223243040ALU000021000020ADD30CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000021ADD30000000000ADD指令000022+1PC→AR→ABUS→RAM→DBUS→DR→IRPC+1CLACLAADD30STA4CLACLAADD30STA40NOPJMP21…000006…00000420212223243040ALU000021000021ADD30CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000030ADD30000000000ADD指令000022+1000006IR→AR→ABUS→RAM→DBUS→DR→ALUALU→AC006CLACLAADD30STAADD执行过程的操作PC→ARPC+1→PCAR→ABUS→RAM→DBUS→DRDR→IR

IR(A)→AR→ABUS→RAM→DBUS→DR→ALUALU→AC[DR+AC→AC]28ADD执行过程的操作PC→AR28STA指令周期取指令PC+1指令译码送操作数取下条指令PC+1取指令阶段1个CPU周期1个CPU周期开始送操作数地址执行指令阶段1个CPU周期执行写存操作STA40;(AC)→(40)29STA指令周期取指令指令译码送操作数取下条取指令阶段1个CCLACLAADD30STA40NOPJMP21…000006…00000420212223243040ALU000021000030ADD30CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000040STA40STA指令000023+1000004000006000006000006IR(A)→AR→ABUSAC→DRDR→DBUS→RAMCLACLAADD30STASTA执行过程的操作PC→ARPC+1→PCAR→ABUS→RAM→DBUS→DRDR→IR

IR(A)→AR→ABUSAC→DRDR→DBUS→RAM31STA执行过程的操作PC→AR31NOP指令周期取指令PC+1指令译码空操作等待一个周期取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始32NOP指令周期取指令指令译码空操作取下条取指令阶段执行指令阶JMP21指令周期取指令PC+1指令译码送转移地址取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始33JMP21指令周期取指令指令译码送取下条取指令阶段执行指令CLACLAADD30STA40NOPJMP21…000006…00000420212223243040ALU000025000024JMP21CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000021JMP21JMP21指令000021+1000006000006000022IR→PCNextcommandCLACLAADD30STAJMP执行过程中的操作PC→ARPC+1→PCAR→ABUS→RAM→DBUS→DRDR→IR

IR(A)→PCNextcommand35JMP执行过程中的操作PC→AR35方框图语言

在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。方框:代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作。菱形:通常用来表示某种判别或测试,在时间上它依附于紧接它的前面一个方框的CPU周期,而不单独占用一个CPU周期。36方框图语言在进行计算机设计时,可以采用方框图语言来表示一方框图表示0→ACIR(A)→ARIR(A)→ARIR(A)→PCAR→RAMAC→DRDR→DBUSCLAADDSTAJMPNOP取指令执行指令下一条指令译码测试公操作PC→AR→RAM→DBUS→DR→IRPC+1AR→RAMDBUS→DRDR→ALUDR+AC→AC方框图表示0→ACIR(A)→ARIR(A)→ARIR(A)例(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序列,假设该指令的地址已放入PC中。(2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。38例(1)“ADDR2,R0”指令完成(R0)+(R2)→RPC->ARM->DRDR->IRR2->YR0->XR0+R2->R0PC->ARM->DRDR->IRR3->YR1->XR3-R1->R3取指操作取指操作39PC->ARM->DRDR->IRR2->YR0->XR0+公操作一条指令执行完后,CPU所进行的一些操作。对外设请求的处理(中断,通道)若无外设请求的处理,CPU则转而取下条指令。由于取指令是每条指令都有的,所以,取指令也是公操作。40公操作一条指令执行完后,CPU所进行的一些操作。40其他指令LADR0,(80)ADDR0,(81)JO75STA(R1),R0HALT41其他指令LADR0,(80)41主机基本组成主机基本组成取指控制信号PC→ARPC→BUSLDAR取指控制信号PC→ARPC→BUS取指控制信号READMEMAR→ABUSRDLDDR取指控制信号READMEMAR→ABUS取指控制信号DR→BUSLDIRDR→IR取指控制信号DR→BUSDR→IR执行指令过程ADDR0,(81)执行指令过程ADDR0,(81)执行指令过程ADDR0,(81)执行指令过程ADDR0,(81)执行指令过程LADR0,(80)执行指令过程LADR0,(80)执行指令过程JO75执行指令过程JO75执行指令过程STA(R1),R0执行指令过程STA(R1),R0计算机组成原理课件-CPUIRIRiPCARR0R1R2R3MDRXGYPCiARiDRiIRoPCoARoRWDRoR0oR0iR3oR3iXiYiA总线B总线ALU+-双总线结构机器的数据通路IRIRiPCARR0R1R2R3MDRXGYPCiARiDIRIRiPCARR0R1R2R3MDRXYPCiARiDRiIRoPCoARoRWDRoR0oR0iR3oR3iXiYiA总线B总线ALU+-执行指令GADDR0,R2IRIRiPCARR0R1R2R3MDRXYPCiARiDRIRIRiPCARR0R1R2R3MDRXYPCiARiDRiIRoPCoARoRWDRoR0oR0iR3oR3iXiYiGA总线B总线ALU+-单总线结构机器IRIRiPCARR0R1R2R3MDRXYPCiARiDRIRIRPCARR0R1R2R3MDRXYPCARDRRWR0R3XYA总线+-单总线结构机器操作控制器ALUIRIRPCARR0R1R2R3MDRXYPCARDRRWR取指周期T3周期T4周期T2周期T1执行PC→AR译码测试M→DRDR→IRR2→YR0→XR0+R2→R0PCo,G,ARiRW=RDRo,G,IRiR2o,G,YiR0o,G,Xi+,G,R0iCPU周期取指周期T3周期T4周期T2周期T1执行PC→AR译码测试M控制方式

同步控制方式

已定的指令在执行时所需的机器周期数和时钟周期数都是固定不变的。异步控制方式:

每条指令或操作控制信号需要多少时间就占用多少时间。联合控制方式57控制方式同步控制方式57本章主要内容CPU的功能和组成控制器控制原理指令周期(★★★)时序产生器和控制方式硬布线控制器微程序控制器(★★★)流水线处理器58本章主要内容CPU的功能和组成58指令周期基本概念时钟周期:T,节拍脉冲CPU周期:机器周期,从内存读出一条指令的最短时间指令周期:从内存取出一条指令并执行该指令所用的时间。由若干个CPU周期组成。一个CPU周期又包含若干个时钟周期(节拍脉冲)

T周期T1T2T3T4T1T2T3T4机器周期(取指令)指令周期机器周期(执行指令)59指令周期基本概念时钟周期:T,节拍脉冲T周期T1T2T3T4指令周期指令周期是指取指令、分析指令到执行完该指令所需的全部时间。指令周期不尽相同:各种指令的操作功能不同,有的简单,有的复杂。60指令周期指令周期是指取指令、分析指令到执行完该指令所需的全机器周期

机器周期通常又称CPU周期,通常把一条指令划分为若干个机器周期,每个机器周期完成一个基本操作。一般的CPU周期有:取指周期、取数周期、执行周期、中断周期等。所以有:

指令周期=i机器周期一般情况下,一条指令所需的最短时间为两个机器周期:取指周期和执行周期。61机器周期机器周期通常又称CPU周期,通常把一条指令划分为若节拍一个机器周期内,要完成若干个微操作;有的微操作可以同时执行,有的需要按先后次序串行执行;把一个机器周期分为若干个相等的时间段,每一个时间段对应一个电位信号,称为节拍电位信号节拍的宽度取决于CPU完成一次基本操作的时间,如:CPU完成一次正确的运算;寄存器间的一次传送等。62节拍一个机器周期内,要完成若干个微操作;62工作脉冲在节拍中执行的有些操作需要同步定时脉冲

如:将稳定的运算结果打入寄存器,又如周期状态切换等节拍内设置一个或几个工作脉冲,作为各种同步脉冲的来源;工作脉冲的宽度只占节拍电位宽度的1/n,并处于节拍的末尾(只要能保证所有触发器都可靠、稳定地翻转就可以了)多个脉冲的节拍常见于某些小型计算机中;在只设置机器周期和时钟周期的微型机中,一般不再设置工作脉冲(因为时钟周期既可以作为电位信号,其前后沿又可以作为脉冲触发信号)63工作脉冲在节拍中执行的有些操作需要同步定时脉冲63附:三级时序CPU周期(机器周期)将指令周期划分为若干个相对独立的操作阶段,称为CPU周期。节拍电位CPU周期包括若干个完成微操作的节拍电位。节拍脉冲与节拍电位相配合完成数据加工与传送。64附:三级时序CPU周期(机器周期)64小型机的三级时序典型机器三级的时序体制说明:FETCH-取指周期W0,W1-节拍m-工作脉冲m*-预置脉冲mRC-外设工作脉冲微型机与小型机不同,常采用两级时序系统,此时节拍就是脉冲,被称之为时钟周期或T状态,为计时最小单位。W0FETCHmRCW1m*m65小型机的三级时序典型机器三级的时序体制说明:FETCH-取指时序发生器-1时序信号的作用和体制作用:为计算机各部分的协调工作提供时序标志。体制:电位-脉冲制

QQCPD66时序发生器-1时序信号的作用和体制作用:为计算机各部分的协电位-脉冲制电位-脉冲制是时序信号最基本的体制。当实现寄存器之间的数据传送时,数据必须以电位形式加在触发器的数据输入端,而数据输入的控制信号可选用脉冲。数据必须先送到触发器的数据输入端,并且表示数据的电位一定要保持在控制脉冲的作用下被触发器记忆为止,这段时间较长,所以数据需要用电位表示。而输入脉冲的时间宽度只需要保证数据从触发器的输入端稳定在输出端的时间。67电位-脉冲制电位-脉冲制是时序信号最基本的体制。67时序发生器-2三级时序系统的组成

CPU周期信号发生器三级时序系统组成框图取指周期晶振S启动取数周期执行周期节拍周期信号发生器T1T2Tn…节拍脉冲信号发生器P1P2PnRQ停止…68时序发生器-2三级时序系统的组成CPU周三级时序系统组成框CPU周期信号发生器:产生CPU周期信号。*通常,机器运行期间,任一个时刻仅处于一个CPU周期状态。节拍周期信号发生器:产生节拍电位T1—T4。*在定长CPU周期中,每个CPU周期含有相同的节拍电位数

节拍脉冲信号发生器:产生节拍脉冲信号P1—P4.*节拍电位和节拍脉冲时间关系固定。下图中,每个节拍电位包含一个脉冲。时间利用率高,控制较复杂69CPU周期信号发生器:产生CPU周期信号。时间利用率高,控制时序产生器时钟脉冲70时序产生器时钟脉冲70时序发生器-3组成与原理

启停控制逻辑

启动

节拍脉冲和读/写时序产生逻辑

脉冲发生器

时钟源

停机

RD¢

WE¢

T1

T2

T3

T4

RD

WE

RD0

WE0

T1

0

T2

0

T3

0

T4

0

71时序发生器-3组成与原理启停控制逻辑启动节拍脉冲和读时钟源为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号;通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成假定此时时钟源输出50MHz(脉冲周期20ns)的时钟信号。72时钟源为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信环形脉冲发生器产生一组有序的间隔相等或不等的脉冲序列,通常采用循环移位寄存器形式。由循环移位寄存器和译码器组成。73环形脉冲发生器产生一组有序的间隔相等或不等的脉冲序列,通常采环形脉冲发生器与译码逻辑&

脉冲时钟源

RD¢

T4

0

T1

0

RD0

T2

0

T3

0

WE0

WE¢

R

+5VSCLR&

&

&

&

&

Q

D

Q

C1

3

2

Q

D

Q

C4

Q

D

Q

C3

1

ff

Q

D

Q

C2

f74环形脉冲发生器与译码逻辑&脉冲时钟源RD¢T40T电路说明4个触发器输入输出串联构成循环移位电路D触发器R/S端分别为Reset和SetC1C2C3时钟信号为上跳沿C4时钟信号为下跳沿75电路说明4个触发器输入输出串联构成循环移位电路75循环移位寄存器工作过程:总清信号CLR*使C4置1,打开与非门3。Φ1上升边经与非门3反相将C1—C3清“0”。Φ1*上升边使C4打入0,关闭与非门3。Φ2*的下降边即Φ2的上升边使C1—C3打入100。同理Φ3—Φ4使C1—C3打入110和111。当C3=1时,Φ4*使C4=1,Φ5又使C1—C3清0。在Φ6时又重复Φ2开始的过程。76循环移位寄存器工作过程:总清信号CLR*使C4置1,打开与脉冲时钟源

R

+5VSCLRQ

D

Q

C1

3

2

Q

D

Q

C4

Q

D

Q

C3

1

f

f

Q

D

Q

C2

0001上跳沿1111下跳沿1110上跳沿0110上跳沿0010上跳沿0000下跳沿0001CLR上跳沿C3C2C1C4ФffC4只有在下降延变化,C1-3只有在上升沿变化C4为0时与门2通,3不通;否则,相反2通时,C1-3状态迁移脉冲时钟源R+5VSCLRQDQC132Q节拍脉冲和读/写时序的译码假设一个CPU周期中包括4个等间隔的节拍信号T10—T40节拍译码逻辑:

T10=C1·C2,T20=C2·C3T30=C3,T40=C1

机器运行时,由T10—T40产生T1—T4。78节拍脉冲和读/写时序的译码假设一个CPU周期中包括4个等间隔节拍脉冲和读/写时序的译码假设一个节拍含一个节拍脉冲节拍脉冲译码逻辑:

P1=T1·φ,P2=T2·φ,

P3=T3·φ,P4=T4·φ,

79节拍脉冲和读/写时序的译码假设一个节拍含一个节拍脉冲79计算机组成原理课件-CPU时钟源频率50MHz,周期T=20ns,脉冲宽度为10ns。

12345678910ΦΦC4C1C2C3T4T3T2T1CPU周期CPU周期与节拍电位的关系图时钟源频率50MHz,周期T=20ns,脉冲宽度为10ns。启停控制逻辑启停控制逻辑用来控制原始节拍脉冲T10~T40的输出,产生CPU工作所需的节拍脉冲T1~T4。同理,对读/写时序逻辑也要加以控制。

82启停控制逻辑启停控制逻辑用来控制原始节拍脉冲T10~T40对启停电路的要求计算机的启动和停机是随机的,要求计算机启动时,一定要从第一个节拍脉冲的前沿开始工作;在停机时,一定要在第四个节拍脉冲后沿结束后关闭时序产生器;要求第一个脉冲和最末一个脉冲是完整的脉冲。83对启停电路的要求计算机的启动和停机是随机的,要求83启停控制逻辑

T1

Q

D

Cr

Q

R

启动

停机

CLR

&

T4&

T4

0

T1

0

RD

&

RD0

T3&

T3

0

WE

&

WE0

T2

&

T2

0

T4

0

&

&

运行标志触发器CrRS触发器84启停控制逻辑T1QDCrQR启动停机CL启停电路说明运行标志触发器CrCr=0—封锁原始信号Cr=1—使上述原始信号变为CPU所需的时序信号总清信号CLR*使Cr=0启动:启动信号为低电平时,在T40*的后沿把Cr打入1;停机:停机信号为低电平时,在T40*的后沿把Cr打入0。85启停电路说明运行标志触发器Cr85LDARRDMLDDRLDIRPC+1ΦT1T2T3T4CPU周期取指执行CPU周期时序图状态周期电位节拍电位节拍脉冲ΦT1T2T3T4CPU周期取指执行CPU周期时序图状态周期LDARRDMLDDRLDIRPC+1ΦT1T2T3T4CPU周期取指CPU周期状态周期电位节拍电位节拍脉冲LDARRDMLDDRLDIRPC+1ΦT1T2T3T4CPU周期取指CPU周期状态周期电位节拍电LDARRDMLDDRLDIRPC+1ΦT2T3T4CPU周期取指T1CPU周期状态周期电位节拍电位节拍脉冲LDARLDAR’=lDAR*T1RD’=RD*T2ΦT2T3T4CPU周期取指T1CPU周期状态周期电位节拍电LDARRDMLDDRLDIRPC+1ΦCPU周期取指CPU周期状态周期电位节拍脉冲LDARRDMLDDRLDIRPC+1LDAR’RD’LDDR’LDIR’ΦCPU周期取指CPU周期状态周期电位节拍脉冲LDARRD控制器基本控制方式控制方式:形成控制不同操作序列的时序信号的方法三种基本控制方式:同步控制方式异步控制方式联合控制方式90控制器基本控制方式控制方式:形成控制不同操作序列的时序信号同步控制方式每一步操作均由统一的时序信号来控制特点:具有统一的时钟信号对指令周期的控制:定长指令周期不定长指令周期、定长CPU周期变长CPU周期、定长节拍电位含义:每条指令含有相同的CPU周期数,每个CPU周期含有相同的节拍电位。特点:时序简单,但时间利用率低含义:按指令需要确定CPU周期,但每个CPU周期时间相同。特点:时间利用率较高

含义:指令周期和CPU周期不固定,但CPU周期含有的节拍电位按需要确定

特点:时间利用率高,但控制电路复杂

91同步控制方式每一步操作均由统一的时序信号来控制含义:每条指异步控制方式按实际需要确定每条指令,每个操作所需要的时间,称为异步控制方式。做法:由前一微操作执行完毕时产生的“结束”信号作为下一微操作的“起始”信号。特点:时间利用率高,但控制结构复杂,用器件多。92异步控制方式按实际需要确定每条指令,每个操作所需要的时间,联合控制方式是同步和异步控制方式的结合。将各种指令可公共起来的微操作安排在固定的周期、节拍中,对难以公共的微操作信号,则以执行部件的“回答”信号作为本次操作的结束,部分统一,部分区别对待。93联合控制方式是同步和异步控制方式的结合。93本章主要内容CPU的功能和组成控制器控制原理指令周期(★★★)时序产生器和控制方式硬布线控制器微程序控制器(★★★)流水线处理器94本章主要内容CPU的功能和组成94硬布线控制器Hardwiredcontrol-基本原理由门电路和触发器构成的复杂树形网络,用以产生执行指令的一系列微操作信号;组成器件:门电路,触发器将控制器看成产生固定时序控制信号的逻辑电路输入信号:指令系统,时序信号,反馈信号输出信号:计算机所需要的所有的控制信号设计目标:用最少的元件,取得最高速度。理论基础:布尔代数。95硬布线控制器Hardwiredcontrol-基本原理由硬布线控制器(组合逻辑控制器)组合逻辑线路指令译码器节拍电位/脉冲发生器微操作控制信号指令寄存器IR结果反馈信息M1MiT1TkI1ImC1CnB1Bj启动/停止时钟/复位96硬布线控制器(组合逻辑控制器)组合逻辑线路指令节拍电位/脉冲组合逻辑线路的输入信号指令译码器的输出:Im

不同指令操作码和寻址方式决定应执行的微操作。时序产生器输出的节拍电位/节拍脉冲:Mi,Tk

使微操作信号按时序要求产生。结果的反馈信息:Bj

条件码(如N、V、C、Z等)影响指令,不同状态条件而产生不同的执行结果,即需不同的微操作信号。97组合逻辑线路的输入信号指令译码器的输出:Im970→ACIR→ARIR→ARIR→PCPC→ARRDDBUS→DRDR→ALUDR+AC→ACRDAC→DRDR→DBUSCLAADDLDAJMPNOP取指令公操作启动M1M2M3LDART1RDT2LDDRT3LDIRT4PC→AR→RAM→DBUS→DR→IRPC+10→ACIR→ARIR→ARIR→PCRDRDCLAADDL组合逻辑线路的输出信号微操作控制信号的函数表达式:

C=ƒ(Im·Mi·Tk·Bj)

例:读主存信号C3------

(RD)

取指令在M1被激活或LDAADDANDM3

C3=M1+M3(LDA+ADD+AND)

C3=T2M1+T1M3(LDA+ADD+AND)想想全加器的设计?99组合逻辑线路的输出信号微操作控制信号的函数表达式:想想全加器硬布线控制器基本原理微操作控制信号的函数表达式:

100硬布线控制器基本原理微操作控制信号的函数表达式:10组合逻辑控制器的设计步骤根据CPU的结构,画出所有指令操作流程图;找出产生同一微操作控制信号的条件编排指令操作时间表;即把指令操作流程图中的微操作落实到不同的CPU周期和节拍中。综合、化简微操作逻辑式,并画出逻辑控制电路 写出各微操作控制信号的布尔表达式; 化简各表达式; 利用电路或门阵列实现101组合逻辑控制器的设计步骤根据CPU的结构,画出所有指令操作硬布线控制器特点组成的网络复杂;无规则;设计和调试困难;不可改变指令系统和指令功能适用于VLSI速度快102硬布线控制器特点组成的网络复杂;102本章主要内容CPU的功能和组成控制器控制原理指令周期(★★★)时序产生器和控制方式硬布线控制器微程序控制器(★★★)流水线处理器103本章主要内容CPU的功能和组成103微程序控制器的基本原理指令执行的阶段性:取指令,分析指令,执行指令等;将所需微操作信号以二进制编码形式存入存储器;按序依次读出执行,即可实现指令的功能。104微程序控制器的基本原理指令执行的阶段性:取指令,分析指令,基本概念—微命令和微操作

控制部件与执行部件二者通过控制线,反馈线联系微命令

控制部件(如CU)通过控制线向执行部件(如ALU、M、GRS等)发出的各种控制命令.

微操作执行部件接受微命令后进行的操作。105基本概念—微命令和微操作控制部件与执行部件105基本概念—微命令和微操作打开或者关闭控制门的控制信号为微命令微命令是控制信号最小,最基本的单位微命令带来的执行部件的动作称为微操作互斥性微命令:

不能同时实现的微命令,例如:+、-、M

相容性微命令可能同时出现的微命令

106基本概念—微命令和微操作打开或者关闭控制门的控制信号为微命令基本概念—微指令和微程序微指令——在一个CPU周期中,一组实现一定操作功能的微命令的组合。微程序——由若干条微指令组成的、用以实现指令功能的程序107基本概念—微指令和微程序微指令——在一个CPU周期中,一组实微指令的基本格式操作控制字段用于产生微命令。顺序控制字段用于确定下一条微指令地址。P字段下址字段操作控制顺序控制……108微指令的基本格式P字段下址字段操作控制顺序控制……108微指令基本格式举例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

LDLA

LDR1

LDPC

BUS

IR(A)

WE¢

P2

L

R0

LDLB

LDR0

PC+1

LDIR

RD¢

LDAR

LDDR

P1

控制字段

顺序控制

L

R1

L

R2

bus

L

L

bus

bus

BUS

BUS

bus

BUS

ALU

BUS

PC

BUS

DR

DR(D)

BUS

109微指令基本格式举例12345678910微程序控制概念microprogrammingcontrol一条指令的处理包含许多微操作序列这些操作可以归结为信息传递、运算将这些操作所需要的控制信号以多条微指令表示执行一条微指令就给出一组微操作控制信号执行一条指令也就是执行一段由多条微指令组成的微程序110微程序控制概念microprogrammingcontro微指令基本格式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

LDLA

LDR1

LDPC

BUS

IR(A)

WE¢

P2

L

R0

LDLB

LDR0

PC+1

LDIR

RD¢

LDAR

LDDR

P1

控制字段

顺序控制

L

R1

L

R2

bus

L

L

bus

bus

BUS

BUS

bus

BUS

ALU

BUS

PC

BUS

DR

DR(D)

BUS

111微指令基本格式123456789101微程序控制概念将指令系统功能实现所需的控制信号以微指令为单位存储。微指令中的每一位对应一根控制信号线每条指令对应一段微程序微程序由若干条微指令构成机器执行指令时逐条取出微指令执行,使得相应部件执行规定的操作,执行完微程序,也就给出了该指令所需要的全部控制信号,从而完成一条指令的执行。112微程序控制概念将指令系统功能实现所需的控制信号以微指令为单位微指令与微程序113微指令与微程序113ALU运算器结构PSWAXBXCXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YCLAADD30STA40NOPJMP21…000004…00000620212223243040ALU运算器结构PSWAXBXCXDXDR左路开关选择右路开ALU简单运算器数据通路图Cy操作数X操作数Y左路开关选择R1R2R3DR123468579-M+ALU简单运算器数据通路图Cy操作数X操作数Y左路开关选择R微命令1:LDR12:LDR23:LDR34:R1→X5:R1→Y6:R2→X7:R2→Y8:DR→X9:R3→YALUCy操作数X操作数YR1R2R3DR123468975-M+微命令1:LDR1ALUCy操作数X操作数YR1R2R3微命令10:+11:-12:M13:RD14:LDDR15:LDIR16:LDAR17:PC+1ALUCy操作数X操作数YR1R2R3DR123468579-M+微命令10:+ALUCy操作数X操作数YR1R2R3DR1所有的微命令1:LDR12:LDR23:LDR34:R1→X5:R1→Y6:R2→X7:R2→Y8:DR→X9:R3→Y10:+11:-12:M13:RD14:LDDR15:LDIR16:LDAR17:PC+1118所有的微命令1:LDR110:+118微指令格式.1234567891011121314151617181920212223操作控制顺序控制LDR1LDR2LDR3R1→XR1→YR2→XR2→YDR→XR3→Y+M-RDLDDRLDIRLDARPC+1P1P2直接地址119微指令格式.123456789101112131415161微指令格式…操作控制字段操作控制字段直接给出多种微操作的控制信号顺序控制字段用于控制微程序的执行顺序包括判断逻辑字段(P)和直接地址字段直接地址字段存放下一条微指令的地址判断逻辑非零,则按约定好的规则,根据状态修正直接地址字段,从而得到下一条微指令的地址120微指令格式…操作控制字段120微指令基本格式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

LDLA

LDR1

LDPC

BUS

IR(A)

WE¢

P2

L

R0

LDLB

LDR0

PC+1

LDIR

RD¢

LDAR

LDDR

P1

控制字段

顺序控制

L

R1

L

R2

bus

L

L

bus

bus

BUS

BUS

bus

BUS

ALU

BUS

PC

BUS

DR

DR(D)

BUS

121微指令基本格式123456789101控制字段测试字段下址字段

微指令周期执行一条微指令和取出下一条微指令所用的时间,称为微周期。122控制字段测试字段下址字段微指令周期执行一条微指令和取出下取第i条(a)串行执行方式第i微指令周期执行第i条取第i+1条执行第i+1条第i+1微指令周期取第i条(b)并行执行方式第i微指令周期执行第i条取第i+2条执行第i+2条第i+1微指令周期取第i+1条执行第i+1条第i+2微指令周期第i+3微指令周期123取第i条(a)串行执行方式第i微指令周期执行第i条取第i+微程序控制器组成原理框图控制存储器地址译码微地址寄存器OP地址转移逻辑P字段控制字段微命令信号微命令寄存器指令寄存器IR状态条件AR

IR

124微程序控制器组成原理框图控制存储器地址译码微地址寄存器OP地微程序控制器的框图说明…控制储存器CM

存放实现机器指令系统功能的微程序,由高速ROM构成。*①CM的字长就是微指令字长;②CM是控制器的一部分,位于CPU中;③高速可靠,读出周期短。微指令寄存器MIR

寄存现行微指令。地址转移逻辑按要求修改形成下一条微指令的地址。微地址寄存器μAR

寄存访问CM的微指令地址。125微程序控制器的框图说明…控制储存器CM125取指令微程序取指令取指令的微指令(简称取指微指令)地址送μAR,并自动启动控制存储器进行读操作,将读出的微指令送IR,执行微指令,读取指令到IR126取指令微程序取指令126执行指令微程序执行指令:根据IR中指令的功能,产生该指令微程序入口地址,微程序入口地址送入AR,读CS,读出的微指令送IR、(下址字段送AR),控制字段的微命令控制完成一组微操作同时由微地址产生逻辑或微指令下址字段形成下条微指令地址,按取微指令,执行微指令过程重复执行完微程序实现指令的功能127执行指令微程序执行指令:127执行指令微程序…采用微程序控制的计算机的工作过程是执行微指令序列的过程。微指令控制了取指令操作,多条微指令实现了指令的功能。而微指令中的微命令使执行部件完成微操作,计算机的工作过程是执行程序的过程,微观看,是执行指令的过程,再微观一点看,是执行部件进行微操作的过程128执行指令微程序…采用微程序控制的计算机的工作过程是执行微指令微程序存放示意图下址字段地址……1000XXXX0111XXXX0110XXXX0101XXXX0100XXXX0011XXXX0010XXXX0001XXXX0000操作控制字段…HALT64STA(R1),R063JO7562ADDR0,(81)61LADR0,(80)60控制存储器CS取指微指令加法微程序取数微程序存数微程序转移微程序0000000001100000000000110010主存储129微程序存放示意图下址字段地址……1000XXXX0111XX十进制加法(例)BCD码完成十进制加法作加法时必须校验:两数之和大于9,需加6调整;8+6=148+2=10两数之和小于9,结果正确;3+6=95+2=78+6+6=20高位进位8+2+6=16>15高位进位3+6+6=15<=15不产生进位5+2+6=13<=15不产生进位130十进制加法(例)BCD码完成十进制加法130PC→AR→RAM→DBUS→DR→IRPC+1P1R1+R2→R2R2+R3→R2R2-R3→R2P2Cy=1Cy=0R3=6PC→AR→RAMP1R1+R2→R2R2+R3→R2R2-第一条微指令PC→AR→ABUS→DBUS→DR→IRPC+1LDARRDLDDRLDIRPC+1000000000000111111234567891011121314151617101819000020212223RDLDDRLDIRLDARPC+1P1直接地址132第一条微指令PC→AR→ABUS→DBUS→DR→IR000第二条微指令R1→XR2→YX+YX+Y→R2R1→XR2→Y+LDR2010100100100000001234567891011121314151617001819100120212223LDR2R1→X+直接地址R2→Y133第二条微指令R1→XR2→YX+YX010001001100000001234567891011121314151617011819000020212223LDR2R2→XR3→Y+P2直接地址R2→XR3→YX+YX+Y→R2R2→XR3→Y+LDR2第三条微指令134010001001100000001234567891011010001001001000001234567891011121314151617001819000020212223LDR2R2→XR3→Y-P1P2直接地址R2→XR3→YX-YX-Y→R2R2→XR3→Y-LDR2第四条微指令135010001001001000001234567891011机器指令与微指令的关系机器指令对应一个微程序,这个微程序由若干微指令组成,一个微指令又包含多个微操作机器指令与内存储器有关,微指令与控制存储器有关每一个CPU周期对应一条微指令136机器指令与微指令的关系机器指令对应一个微程序,这个微程序由若微指令设计有利于缩短微指令字长度有利于减少控制存储器容量有利于提高微程序执行速度有利于对微指令进行修改有利于提高微程序设计的灵活性137微指令设计有利于缩短微指令字长度137微命令编码直接表示法编码表示法混合表示法138微命令编码直接表示法138直接表示方法微指令中每一位代表一个微命令简单直观,便于输出控制,字长太长,控制存储器容量大.1234567891011121314151617181920212223操作控制顺序控制LDR1LDR2LDR3R1→XR3→YR2→XR2→YDR→XR1→Y+M-RDLDDRLDIRLDARPC+1P1P2直接地址139直接表示方法微指令中每一位代表一个微命令.123456789编码表示方法字段直接译码法字长短,控制存储器容量小,增加了译码电路注意译码时,需要多保留一个状态.1234567891011121314151617181920212223操作控制顺序控制直接地址译码.译码.译码.微命令P1P2Pn140编码表示方法字段直接译码法.1234567891011121微地址形成方法计数器法PC下地址字段法141微地址形成方法计数器法PC141微指令格式水平型微指令(一次能并行多个微操作的指令)控制字段判别测试字段下地址字段000原寄存器目的寄存器其他001左输入源编址右输入源编址ALU010寄存器编址存储器编址读写其他011测试条件垂直型微指令寄存器数据传送型运算控制型访问主存型条件转移型142微指令格式水平型微指令(一次能并行多个微操作的指令)控制字段水平型与垂直型微指令比较水平型微指令并行操作能力强,效率高,灵活性强水平型微指令执行一条指令的时间短由水平型微指令指令的微程序,微指令字较长,微程序短,垂直型号字长短,微程序长。水平型不便于用户掌握,垂直型与指令相似,易于掌握。143水平型与垂直型微指令比较水平型微指令并行操作能力强,效率高,微程序控制器特点设计规整,设计效率高易于修改、扩展指令系统功能;结构规整、简洁,可靠性高;速度慢访存频繁执行效率不高用于速度要求不高、功能较复杂的机器中。特别适用于系列机144微程序控制器特点设计规整,设计效率高144硬布线与微程序控制器比较硬布线控制器执行速度快微程序控制器每条微指令都需要从控制存储器中读取一次,大大影响了速度,硬布线控制取决于电路延迟。硬布线控制器设计复杂,代价昂贵微程序控制器设计简单,便于维护修改145硬布线与微程序控制器比较硬布线控制器执行速度快145本章主要内容CPU的功能和组成控制器控制原理指令周期(★★★)时序产生器和控制方式硬布线控制器微程序控制器(★★★)流水线处理器146本章主要内容CPU的功能和组成146流水线原理1.时间并行

把任务分成若干子任务,使子任务在流水线的各阶段并发地执行。--------时间上并行性。2.空间并行

资源重复多处理器系统和多计算机系统3.时间并行+空间并行

时间重叠和资源重复的综合应用。奔腾CPU采用超标量流水技术,可在一个机器周期同时执行两条指令。147流水线原理1.时间并行147指令周期细分

取指令IF(InstructionFetch)

指令译码ID(InstructionDecode)

执行运算EX(Execution)

结果写回WB(WriteBack)148指令周期细分取指令IF(Instr串行执行过程IFIDEXWB149串行执行过程IFIDEXWB149非流水线时空图I1时间TI1I1I1IFIDEXWB空间SI2I2I2I2I1I2150非流水线时空图I1时间TI1I1I1IFIDEXWB空间SI流水线时空图I1时间TI1I1I1IFIDEXWB空间SI2I2I2I2I1I3I3I3I3I4I4I4I4I5I5I5I5I6I6I7I8I7I6I2I3I4I5151流水线时空图I1时间TI1I1I1IFIDEXWB空间SI2超标量流水线时空图时间TIFIDEXWB空

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论