大学计算机组成原理--第6章、中央控制器_第1页
大学计算机组成原理--第6章、中央控制器_第2页
大学计算机组成原理--第6章、中央控制器_第3页
大学计算机组成原理--第6章、中央控制器_第4页
大学计算机组成原理--第6章、中央控制器_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

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

文档简介

1、1 第六章、中央控制器outlineo CPU的功能和组成o 控制器控制原理o 指令周期()o 时序产生器和控制方式o 硬布线控制器o 微程序控制器()o 流水线处理器2CPU的组成和功能o CPU的组成o CPU的功能o CPU中的主要寄存器o 操作控制器o 时序产生器3CPU的组成o运算器n 算术运算/逻辑运算o控制器n 从内存取出一条指令,并指出下条指令的地址n 对指令进行译码,产生相应的控制信号n 产生执行部件的运行所需要的控制信号n 指挥并控制CPU,内存和I/O设备之间的数据传送4CPU的功能o 取出指令并执行指令的部件-CPUn 数据加工 -ALU. 算术/逻辑运算;n 指令控制

2、:指令执行的顺序控制;n 操作控制: 产生各种操作信号;n 时间控制: 控制操作信号的发生时间;5CPU中的主要寄存器o PC(Program Counter)-程序计数器o AR(Address Register)-地址寄存器o DR(Data Register)-数据缓冲寄存器o IR(Instruction Register)-指令寄存器o AC(Accumulate Count)-累加寄存器o PSW (Program Status Word)程序状态字6控制器基本组成o PC (Program Counter)-程序计数器o IR (Instruction Register)-指令寄

3、存器o ID (Instruction Decoder)-指令译码器o OC (Operate Controller)-操作控制器o TG (Timer Generator) -时序发生器7指令译码器o 对指令进行分段(操作码、地址码)译码,指出指令的操作方式、寻址方式o 为操作控制器提供输入信号8操作控制器o 根据指令操作码和时序信号,产生各种控制信号 ,以便建立正确的数据通路,从而完成取指令和执行指令的控制。n 硬布线控制器 (时序逻辑型) (硬件实现)n 微程序控制器 (存储程序型) (软件实现)o 数据通路-多寄存器间传送信息的通路。9时序产生器o 产生各种时序信号(电位,脉冲);o

4、对各种操作实施时间上的控制。10ALU运算器结构PSWAXBXCXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YCLAADD 30STA 40NOPJMP 21000 004000 0062021222324304011CLAADD 30STA 40NOPJMP 21000 004000 00620212223243040ALUADD AX,BXPSWAX=2BX=4CXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YAX=612CLAADD 30STA 40NOPJMP 21000 004000 00620212223243040ALUADD A

5、X,30PSWAX=2BX=4CXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YAX=6DR=413CLAADD 30STA 40NOPJMP 21000 006000 00420212223243040ALU指令译码器000 000程序计数器PCAR地址寄存器ARDR缓冲寄存器DRAC累加器ACIR指令寄存器IR操作控制器OC时序产生器TG执行指令控制地址总线ABUS数据总线DBUSCPU基本结构PSWPSWCPU14主机基本组成15本章主要内容o CPU的功能和组成o 控制器控制原理o 指令周期()o 时序产生器和控制方式o 硬布线控制器o 微程序控制器()o 流水

6、线处理器16指令周期()o 指令周期基本概念o CLA指令周期o ADD指令周期o STA指令周期o NOP指令周期o JMP指令周期17指令周期基本概念o时钟周期:T,节拍脉冲oCPU 周期:机器周期,从内存读出一条指令的最短时间o指令周期:从内存取一条指令并执行该指令所用的时间。由若干个CPU周期组成。一个CPU周期又包含若干个时钟周期(节拍脉冲) T周期T1T2T3T4T1T2T3T4机器周期(取指令)指令周期机器周期(执行指令)18指令周期基本概念()o 取指令周期o 取操作数周期 (可无)o 执行周期 取指令PC+1执行指令开始19CLA指令周期(累加器清0)取指令PC+1指令译码执

7、行指令取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始20DRCLAADD 30STA 40NOPJMP 21000 006000 00420212223243040ALUAC000 020ARCLAIR指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000 020CLA000000000CLA指令000 021+1PCARABUSRAMDBUSDRIRPC+121执行过程的操作o PCARo PC+1PCo AR RAMDBUSDRo DRIRo 0ACAC22ADD指令周期取

8、指令PC+1指令译码取操作数取下条指令PC+1取指令阶段1个CPU周期1个CPU周期开始送操作数地址执行指令阶段1个CPU周期执行加法操作23CLACLAADD 30STA 40NOPJMP 21000 006000 00420212223243040ALU000 021000 020ADD 30CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000 021ADD 30000000000ADD指令000 022+1PCARABUSRAMDBUSDRIRPC+124CLACLAADD 30STA 4

9、0NOPJMP 21000 006000 00420212223243040ALU000 021000 021ADD 30CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000 030ADD 30000000000ADD指令000 022+1000 006IRARABUSRAMDBUSDRALUALUAC00625ADD执行过程的操作o PCARo PC+1PCo AR RAMDBUSDRo DRIRo IR(A)ARABUSRAM DBUSDRALUo ALUAC26STA 40 指令周期取指令

10、PC+1指令译码送操作数取下条指令PC+1取指令阶段1个CPU周期1个CPU周期开始送操作数地址执行指令阶段1个CPU周期执行写存操作27CLACLAADD 30STA 40NOPJMP 21000 006000 00420212223243040ALU000 021000 030ADD 30CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000 040STA 40STA指令000 023+1000 004000 006000 006000 006IRARABUSACDRDRDBUSRAM28执行

11、过程的操作o PCARo PC+1PCo AR RAMDBUSDRo DRIRo IR(A)ARABUSo ACDRo DRDBUSRAM29NOP指令周期取指令PC+1指令译码空操作等待一个周期取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始30JMP 21指令周期取指令PC+1指令译码送转移地址取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始31CLACLAADD 30STA 40NOPJMP 21000 006000 00420212223243040ALU000 025000 024JMP 21CLA指令译码器操作控制器时序产生器程序计数

12、器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000 021JMP 21JMP 21指令000 021+1000 006000 006000 022IRPCNext command32执行过程中的操作o PCARo PC+1PCo AR RAMDBUSDRo DRIRo IR(A)PCo Next command33方框图表示0ACIR(A)ARIR(A)ARIR(A)PCARRAMACDRDRDBUSCLAADDSTAJMPNOP取指令执行指令下一条指令译码公操作PCARRAMDBUSDRIRPC+1ARRAMDBUSDR DRALUA

13、LUAC34公操作o 一条指令执行完后,CPU所进行的一些操作。o 对外设请求的处理(中断,通道)o 若无外设请求的处理,CPU则转而取下条指令。o 由于取指令是每条指令都有的,所以,取指令也是公操作。35一段程序o LAD R0,(80)o ADD R0,(81)o JO 75o STA(R1),R0o HALT36取指控制信号PCARPCBUSLDAR37READ MEMARABUSRDLDDR取指控制信号38DRBUSLDIRDRIR取指控制信号39执行指令过程o ADD R0,(81)40执行指令过程o ADD R0,(81)41LAD R0,(80)42oJO 7543oSTA(R1

14、),R044 开始 PCAR MMDR DRIR RD PC1 IR(A)AR RD MMDR DRR0 R0LA IR(A)AR RD MMDR DRLB ADD ALUR0 R1AR R0DR WR IR(A)PC 溢出 LAD ADD STA JO N Y M1 M2 M3 M4 45控制方式-如何给出指令处理所需的时间o 同步控制方式 指令在执行时所需的机器周期数和时钟周期数都是固定不变的。o 异步控制方式: 每条指令或操作控制信号需要多少时间 就占用多少时间。o 联合控制方式46本章主要内容o CPU的功能和组成o 控制器控制原理o 指令周期()o 时序产生器和控制方式o 硬布线控制

15、器o 微程序控制器()o 流水线处理器47指令周期基本概念o时钟周期:T,节拍脉冲oCPU 周期:机器周期,从内存读出一条指令的最短时间o指令周期:从内存取出一条指令并执行该指令所用的时间。由若干个CPU周期组成。一个CPU周期又包含若干个时钟周期(节拍脉冲) T周期T1T2T3T4T1T2T3T4机器周期(取指令)指令周期机器周期(执行指令)48电位-脉冲制o 时序信号最基本的体制是电位-脉冲制。o 当实现寄存器之间的数据传送时,数据必须以电位形式加在触发器的数据输入端,而数据输入的控制信号可选用脉冲。o 数据必须先送到触发器的数据输入端,并且表示数据的电位一定要保持在控制脉冲的作用下被触发

16、器记忆为止,这段时间较长,所以数据需要用电位表示。o 而输入脉冲的时间宽度只需要保证数据从触发器的输入端稳定在输出端的时间。49节拍脉冲时序产生器节拍脉冲时钟脉冲50时序产生器 启停控制逻辑 启动 节拍脉冲和读/写时序产生逻辑 脉冲发生器 时钟源 停机 RD WE T1 T2 T3 T4 RD WE RD0 WE0 T1 0 T2 0 T3 0 T4 0 51环形脉冲发生器与读写时序& 脉冲时钟源 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

17、 D Q C3 1 ff Q D Q C2 f52电路说明o 4个触发器输入输出串联构成循环移位电路o D触发器R/S端分别为Reset和Seto C1 C2 C3 时钟信号为上跳沿o C4 时钟信号为下跳沿53脉冲时钟源 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 上跳沿C3C2C1C4ff1. C4只有在下降延变化,C1-3只有在上升沿变化2. C4为0时 与门2通,3不通;否则,相反3. 2通时,C1-3状态迁移5410430

18、332022101CTCTCCTCCTEWCWEDRCRD302055启停控制逻辑 T1 Q D Cr Q R 启动 停机 CLR & T4& T4 0 T1 0 RD & RD0 T3& T3 0 WE & WE0 T2 & T2 0 T4 0 & & 56LDAR RD M LDDRLDIRPC+1T1T2T3T4CPU周期取指执行CPU周期时序图状态周期电位节拍电位节拍脉冲57LDAR RD M LDDRLDIRPC+1T1T2T3T4CPU周期取指CPU周期状态周期电位节拍电位节拍脉冲LDARRD MLDDRLDIR PC

19、+158LDAR RD M LDDRLDIRPC+1T2T3T4CPU周期取指T1CPU周期状态周期电位节拍电位节拍脉冲LDARLDAR=lDAR*T1RD=RD*T259LDAR RD M LDDRLDIRPC+1CPU周期取指CPU周期状态周期电位节拍脉冲LDARRD MLDDRLDIR PC+1LDARRDLDDRLDIR60outlineo CPU的功能和组成o 控制器控制原理o 指令周期()o 时序产生器和控制方式o 硬布线控制器o 微程序控制器()o 流水线处理器61硬布线控制器基本原理Hardwired controlo 将控制器看成产生固定时序控制信号的逻辑电路o 输入信号:指

20、令系统,时序信号,反馈信号o 输出信号:计算机所需要的所有的控制信号o 设计目标:用最少的元件,取得最高速度。o 理论基础:布尔代数。o 组成器件:门电路,触发器62硬布线控制器(组合逻辑控制器)组合逻辑线路指令译码器节拍电位/脉冲发生器微操作控制信号指令寄存器IR结果反馈信息M1MiT1TkI1ImC1CnB1Bj启动/停止时钟/复位630ACIRARIRARIRPCPCARRDDBUSDR DRALUALUACRDACDRDRDBUSCLAADDLDAJMPNOP取指令公操作启动M1M2M3LDAR T1RD T2LDDR T3LDIR T4PCARRAMDBUSDRIRPC+164硬布线

21、控制器基本原理微操作控制信号的函数表达式: C=C=(I (ImmMMi iT Tk kB Bj j) ) 例:读主存信号C3 - (RD) 取指令在M1被激活 或LDA ADD AND M3 C3=MC3=M1 1+M+M3 3(LDA+ADD+ANDLDA+ADD+AND) C3=C3=T T2 2MM1 1+ +T T1 1MM3 3(LDA+ADD+ANDLDA+ADD+AND)65硬布线控制器基本原理微操作控制信号的函数表达式: immjkinIBTMC)(66设计过程1. 列出所有机器指令的流程图;2. 找出产生同一微操作控制信号的条件;3. 写出各微操作控制信号的布尔表达式;4.

22、 化简各表达式;5. 利用电路门阵列实现。67硬布线控制器特点o 组成的网络复杂; o 无规则;o 设计和调试困难;o 不可改变指令系统和指令功能o 适用于VLSIo 速度快68本章主要内容o CPU的功能和组成o 控制器控制原理o 指令周期()o 时序产生器和控制方式o 硬布线控制器o 微程序控制器()o 流水线处理器69微命令和微操作o 控制部件与执行部件 二者通过控制线,反馈线联系o 微命令 控制部件通过控制线向执行部件发出的 各种控制命令o 微操作 执行部件接受微命令后进行的操作。70微命令与微操作o 打开或者关闭控制门的控制信号为微命令o 微命令是控制信号最小,最基本的单位o 微命令

23、带来的执行部件的动作称为微操作o 互斥性微命令o 相容性微命令71微程序控制概念microprogramming controlo 一条指令的处理包含许多微操作序列o 这些操作可以归结为信息传递、运算o 将这些操作所需要的控制信号以多条微指令表示o 执行一条微指令就给出一组微操作控制信号o 执行一条指令也就是执行一段由多条微指令组成的微程序72微指令基本格式 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 R

24、0 LDLB LDR0 PC1 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 73微程序控制概念o 将指令系统功能实现所需的控制信号以微指令为单位存储。微指令中的每一位对应一根控制信号线o 每条指令对应一段微程序o 微程序由若干条微指令构成o 机器执行指令时逐条取出微指令执行,使得相应部件执行规定的操作,执行完微程序,也就给出了该指令所需要的全部控制信号,从而完成一条指令的执行。74微指令与微程序 微指令 1 2 3 4 5 6 7 8 9

25、 实现加法指令的微程序 实现存数指令的微程序 实现转移指令的微程序 实现第 n 条指令的微程序 75ALU运算器结构PSWAXBXCXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YCLAADD 30STA 40NOPJMP 21000 004000 0062021222324304076ALU简单运算器数据通路图Cy操作数X操作数Y左路开关选择R1R2R3DR123468579-M+77微命令o 1: LDR1 o 2: LDR2o 3: LDR3o 4: R1Xo 5: R1Yo 6: R2Xo 7: R2Yo 8: DRXo 9: R3YALUCy操作数X操作数YR

26、1R2R3DR123468975-M+78微命令o 10: +o 11: -o 12: Mo 13: RDo 14: LDDRo 15: LDIRo 16: LDARo 17: PC+1ALUCy操作数X操作数YR1R2R3DR123468579-M+79所有的微命令o 1: LDR1 o 2: LDR2o 3: LDR3o 4: R1Xo 5: R1Yo 6: R2Xo 7: R2Yo 8: DRXo 9: R3Yo10: +o11: -o12: Mo13: RDo14: LDDRo15: LDIRo16: LDARo17: PC+180微指令格式.12345678910 11 12 13

27、14 15 16 17 18 19 20 21 22 23操作控制顺序控制LDR1LDR2LDR3R1XR1YR2XR2YDRXR3Y+M-RDLDDRLDIRLDARPC+1P1 P2直接地址81微指令格式o 操作控制字段n 操作控制字段直接给出多种微操作的控制信号o 顺序控制字段n 用于控制微程序的执行顺序n 包括判断逻辑字段和直接地址字段n 直接地址字段存放下一条微指令的地址n 判断逻辑非零,则按约定好的规则,根据状态修正直接地址字段,从而得到下一条微指令的地址82微指令基本格式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

28、22 23 24 25 26 27 28 29 30 LDLA LDR1 LDPC BUS IR(A) WE P2 下 址 L R0 LDLB LDR0 PC1 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 83控制字段测试字段下址字段 微指令周期 微取指令 微取指令 执行微指令 执行微指令 T1 T2 T3 T4 T1 T2 T3 T4 微指令周期 微指令周期 o 取微指令周期 取指令周期?o 控制存储器与主存速度差异?84微程序控制器组

29、成原理框图控制存储器地址译码微地址寄存器OP地址转移逻辑P字段控制字段微命令信号微命令寄存器指令寄存器IR状态条件AR IR 85取指令微程序o 取指令o 取指令的微指令(简称取指微指令)地址送AR,并自动启动控制存储器进行读操作,将读出的微指令送IR,执行微指令,读取指令到IR86执行指令微程序o 执行指令:o 根据IR中指令的功能,产生该指令微程序入口地址,微程序入口地址送入AR,读CS,读出的微指令送IR、(下址字段送AR),o 控制字段的微命令控制完成一组微操作o 同时由微地址产生逻辑或微指令下址字段形成下条微指令地址,按取微指令,执行微指令过程重复执行完微程序实现指令的功能87执行指

30、令微程序o 采用微程序控制的计算机的工作过程是执行微指令序列的过程。o 微指令控制了取指令操作,o 多条微指令实现了指令的功能。o 而微指令中的微命令使执行部件完成微操作,计算机的工作过程是执行程序的过程,微观看,是执行指令的过程,再微观一点看,是执行部件进行微操作的过程 88微程序存放示意图下址字段地址1000XXXX0111XXXX0110XXXX0101XXXX0100XXXX0011XXXX0010XXXX0001XXXX0000操作控制字段HALT64STA (R1) ,R063JO 7562ADD R0,(81)61LAD R0,(80)60控制存储器CS取指微指令加法微程序取数微

31、程序存数微程序转移微程序0000000001100000000000110010主存储89PCARRAMDBUSDRIR PC+1P1R1+R2R2R2+R3R2R2-R3R2P2Cy=1Cy=0例90第一条微指令o PCARABUSDBUSDRIRo PC+1o LDAR RD LDDR LDIR PC+10000000000001111112345678910 11 12 13 14 15 16 171018 19000020 21 22 23RDLDDRLDIRLDARPC+1P1直接地址91第二条微指令o R1X R2Y X+Y X+YR2o R1X R2Y + LDR20101001

32、001000000012345678910 11 12 13 14 15 16 170018 19100120 21 22 23LDR2 R1X+直接地址R2Y920100010011000000012345678910 11 12 13 14 15 16 170118 19000020 21 22 23LDR2R2XR3Y+P2直接地址o R2X R3Y X+Y X+YR2o R2X R3Y + LDR2第三条微指令930100010010010000012345678910 11 12 13 14 15 16 170018 19000020 21 22 23LDR2R2XR3Y-P1 P2

33、直接地址o R2X R3Y X-Y X-YR2o R2X R3Y - LDR2第四条微指令94机器指令与微指令的关系o 机器指令对应一个微程序,这个微程序由若干微指令组成,一个微指令又包含多个微操作o 机器指令与内存储器有关,微指令与控制存储器有关o 每一个CPU周期对应一条微指令95微指令设计o 有利于缩短微指令字长度o 有利于减少控制存储器容量o 有利于提高微程序执行速度o 有利于对微指令进行修改o 有利于提高微程序设计的灵活性96微命令编码o 直接表示法o 编码表示法o 混合表示法97直接表示方法o 微指令中每一位代表一个微命令o 简单直观,便于输出控制,o 字长太长,控制存储器容量大.

34、12345678910 11 12 13 14 15 16 17 18 19 20 21 22 23操作控制顺序控制LDR1LDR2LDR3R1XR3YR2XR2YDRXR1Y+M-RDLDDRLDIRLDARPC+1P1 P2直接地址98编码表示方法o 字段直接译码法o 字长短,控制存储器容量小,增加了译码电路.12345678910 11 12 13 14 15 16 17 18 19 20 21 22 23操作控制顺序控制直接地址译码.译码.译码.微命令P1 P2 Pn99微地址形成方法o 计数器法 PCo 下地址字段法100微指令格式o 水平型微指令(一次能并行多个微操作的指令)控制字段判别测试字段下地址字段000原寄存器目的寄存器其他001左输入源编址 右输入源编址 ALU010寄存器编址存储器编址读写其他011测试条件o 垂直型微指令寄存器数据传送型运算控制型访问主存型条件转移型101水平型与垂直型微指令比

温馨提示

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

评论

0/150

提交评论