1、第5章 中央处理器计算机组成原理计算机组成原理 Slide 2 本章主要内容o CPU的功能和组成o 控制器控制原理o 指令周期()o 时序产生器和控制方式o 硬布线控制器o 微程序控制器()o 流水线处理器计算机组成原理 Slide 3 5.1 CPU的功能和组成o CPU的功能o CPU的组成o CPU中的主要寄存器o 操作控制器o 时序产生器计算机组成原理 Slide 4 CPU的基本功能o 取出指令并执行指令的部件CPUo CPU( Central Processing Unit)n数据加工:算术/逻辑运算;(ALU )n指令控制:指令执行的顺序控制;(PC,JMP)n操作控制: 产生
2、各种操作信号;(微操作信号 )n时间控制: 控制操作信号的发生时间;(时序信号发生器 )o 包括控制器(CU)和运算器(ALU) 计算机组成原理 Slide 5 CPU的组成o运算器n算术运算/逻辑运算o控制器:指挥计算机各部件按指令要求进行操作的部件 n控制取出、解释和执行指令o从内存中取指,并提供下一条指令地址o对指令进行译码/测试,产生相应的操作控制信号o产生执行部件的运行所需要的控制信号n指挥并控制CPU,内存和I/O设备之间的数据传送o存储器与控制器之间的信息流动指令流;o存储器与运算器之间的信息流动数据流。n中断控制对异常情况和外部请求的处理计算机组成原理 Slide 6 典型计算
3、机主机框图 计算机组成原理 Slide 7 CPU中的主要寄存器o PC程序计数器:Program Countero AR地址寄存器:Address Register o DR数据缓冲寄存器:Data Register o IR指令寄存器:Instruction Register o AC累加寄存器:Accumulate Count o PSW 程序状态字:Program Status Word计算机组成原理 Slide 8 控制器基本组成o PC (Program Counter)-程序计数器o IR (Instruction Register)-指令寄存器o ID (Instruction
4、 Decoder)-指令译码器o OC (Operate Controller)-操作控制器o TG (Timer Generator) -时序发生器计算机组成原理 Slide 9 指令译码器?o 对指令进行分段(操作码、地址码)译码,指出指令的操作方式、寻址方式o 为操作控制器提供输入信号计算机组成原理 Slide 10 操作控制器?o 根据指令操作码和地址码、时序信号,产生各种控制信号序列 ,建立正确的数据通路,从而完成取指令和执行指令的控制。n 硬布线控制器 (时序逻辑型) (硬件实现)n 微程序控制器 (存储程序型) (软件实现)o 数据通路执行部件间(寄存器)传送信息的通路。计算机组
5、成原理 Slide 11 时序产生器?o 产生各种时序信号(电位,脉冲);o 对各种操作实施时间上的控制。ALU运算器结构PSWAXBXCXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YCLAADD 30STA 40NOPJMP 21000 004000 00620212223243040CLAADD 30STA 40NOPJMP 21000 004000 00620212223243040ALUADD AX,BXPSWAX=2BX=4CXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YAX=6CLAADD 30STA 40NOPJMP 21000
6、 004000 00620212223243040ALUADD AX,30PSWAX=2BX=4CXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YAX=6DR=4CLAADD 30STA 40NOPJMP 21000 006000 00420212223243040ALU指令译码器000 000程序计数器PCAR地址寄存器ARDR缓冲寄存器DRAC累加器ACIR指令寄存器IR操作控制器OC时序产生器TG执行指令控制地址总线ABUS数据总线DBUSCPU基本结构PSWPSWCPU主机基本组成计算机组成原理 Slide 17 本章主要内容o CPU的功能和组成o 控制器控制
7、原理o 指令周期()o 时序产生器和控制方式o 硬布线控制器o 微程序控制器()o 流水线处理器计算机组成原理 Slide 18 5.2 指令周期()o 指令周期基本概念o CLA指令周期o ADD指令周期o STA指令周期o NOP指令周期o JMP指令周期计算机组成原理 Slide 19 指令周期基本概念o时钟周期:T,节拍脉冲oCPU 周期:机器周期,从内存读出一条指令的最短时间p指令周期:从内存取一条指令并执行该指令所用的时间。u由若干个CPU周期组成,u一个CPU周期又包含若干个时钟周期(节拍脉冲) T周期T1T2T3T4T1T2T3T4机器周期(取指令)指令周期机器周期(执行指令)
8、将指令周期划分为若干个相对独立的操作阶段。 例如:取指令周期(IF),取(源、目的)操作数周期(SOF、DOF),执行周期(EXE)等。计算机组成原理 Slide 20 指令周期基本概念()o 取指令周期o 取操作数周期 (可无)o 执行周期 取指令PC+1执行指令开始计算机组成原理 Slide 21 典型指令程序:程序: 助记符助记符 机器指令机器指令 地址地址 CLA 250 000 020 ADD 30 030 030 021 STA 40 020 040 022 NOP 000 000 023 JMP 21 140 021 024 数数 000 006 030 据据 000 040 0
9、31 和数和数 040CLAADD 30STA 40NOPJMP 21000 006000 00420212223243040计算机组成原理 Slide 22 CLA指令周期 取指令PC+1指令译码执行指令取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始将累加器AC清0DRCLAADD 30STA 40NOPJMP 21000 006000 00420212223243040ALUAC000 020ARCLAIR指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000 020CLA
10、000000000CLA指令000 021+1PCARABUSRAMDBUSDRIRPC+1计算机组成原理 Slide 24 CLA执行过程的操作o PCARo PC+1PCo AR ABUSRAMDBUSDRo DRIRo 0ACAC计算机组成原理 Slide 25 ADD指令周期取指令PC+1指令译码取操作数取下条指令PC+1取指令阶段1个CPU周期1个CPU周期开始送操作数地址执行指令阶段1个CPU周期执行加法操作ADD 30;(AC)+(30)AC取操作数周期CLACLAADD 30STA 40NOPJMP 21000 006000 00420212223243040ALU000 02
11、1000 020ADD 30CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000 021ADD 30000000000ADD指令000 022+1PCARABUSRAMDBUSDRIRPC+1CLACLAADD 30STA 40NOPJMP 21000 006000 00420212223243040ALU000 021000 021ADD 30CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000
12、 030ADD 30000000000ADD指令000 022+1000 006IRARABUSRAMDBUSDRALUALUAC006计算机组成原理 Slide 28 ADD执行过程的操作o PCARo PC+1PCo AR ABUSRAMDBUSDRo DRIR o IR(A)ARABUSRAMo DBUSDRALUo ALUAC DR+ACAC计算机组成原理 Slide 29 STA 指令周期取指令PC+1指令译码送操作数取下条指令PC+1取指令阶段1个CPU周期1个CPU周期开始送操作数地址执行指令阶段1个CPU周期执行写存操作STA 40;(AC)(40)CLACLAADD 30ST
13、A 40NOPJMP 21000 006000 00420212223243040ALU000 021000 030ADD 30CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000 040STA 40STA指令000 023+1000 004000 006000 006000 006IR(A)ARABUSACDRDRDBUSRAM计算机组成原理 Slide 31 STA执行过程的操作o PCARo PC+1PCo AR ABUSRAMDBUSDRo DRIR o IR(A)ARABUSo ACD
14、Ro DRDBUSRAM计算机组成原理 Slide 32 NOP指令周期取指令PC+1指令译码空操作等待一个周期取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始计算机组成原理 Slide 33 JMP 21指令周期取指令PC+1指令译码送转移地址取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始CLACLAADD 30STA 40NOPJMP 21000 006000 00420212223243040ALU000 025000 024JMP 21CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR
15、执行指令控制地址总线ABUS数据总线DBUS000 021JMP 21JMP 21指令000 021+1000 006000 006000 022IRPCNext command计算机组成原理 Slide 35 JMP执行过程中的操作o PCARo PC+1PCo AR ABUSRAMDBUSDRo DRIR o IR(A)PCo Next command计算机组成原理 Slide 36 方框图语言 在进行计算机设计时,可以采用方框图语言方框图语言来表示一条指令的指令周期。p 方框: 代表一个CPU周期,方框中的内容表示数据通路的 操作或某种控制操作。 u菱形: 通常用来表示某种判别或测试,在
16、时间上它依附于 紧接它的前面一个方框的CPU周期,而不单独占用 一个CPU周期。方框图表示0ACIR(A)ARIR(A)ARIR(A)PCARRAMACDRDRDBUSCLAADDSTAJMPNOP取指令执行指令下一条指令译码测试公操作PCARRAMDBUSDRIRPC+1ARRAMDBUSDR DRALUDR+ACAC计算机组成原理 Slide 38 例(1)“ADD R2,R0”指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序列,假设该指令的地址已放入PC中。 (2)“SUB R1,R3”指令完成(R3)-(R1)R3的操作,画出其指令期流程图,
17、并列出相应的微操作控制信号序列。计算机组成原理 Slide 39 PC-ARM-DRDR-IRR2-YR0-XR0+R2-R0PC-ARM-DRDR-IRR3-YR1-XR3-R1-R3取指操作取指操作计算机组成原理 Slide 40 公操作o 一条指令执行完后,CPU所进行的一些操作。o 对外设请求的处理(中断,通道)o 若无外设请求的处理,CPU则转而取下条指令。o 由于取指令是每条指令都有的,所以,取指令也是公操作。计算机组成原理 Slide 41 其他指令o LAD R0,(80)o ADD R0,(81)o JO 75o STA(R1),R0o HALT主机基本组成取指控制信号PCA
18、RPCBUSLDAR取指控制信号READ MEMARABUSRDLDDR取指控制信号DRBUSLDIRDRIR执行指令过程o ADD R0 ADD R0,(,(8181)执行指令过程o ADD R0 ADD R0,(,(8181)执行指令过程LAD R0LAD R0,(,(8080)执行指令过程oJO 75JO 75执行指令过程oSTA(R1),R0 开始 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
19、Y M1 M2 M3 M4 IRIRiPCARR0R1R2R3MDRXGYPCiARiDRiIRoPCoARoRWDRoR0oR0iR3oR3iXiYiA总线B总线+-双总线结构机器的数据通路IRIRiPCARR0R1R2R3MDRXYPCiARiDRiIRoPCoARoRWDRoR0oR0iR3oR3iXiYiA总线B总线+-执行指令GADD R0,R2IRIRiPCARR0R1R2R3MDRXYPCiARiDRiIRoPCoARoRWDRoR0oR0iR3oR3iXiYiGA总线B总线+-单总线结构机器IRIRPCARR0R1R2R3MDRXYPCARDRRWR0R3XYA总线+-单总线结
20、构机器操作控制器取指周期T3周期T4周期T2周期T1执行PCAR译码测试MDRDRIRR2YR0XR0+R2R0PCo,G,ARiRW=RDRo,G,IRiR2o,G,YiR0o,G,Xi+, G, R0iCPU周期计算机组成原理 Slide 57 控制方式o 同步控制方式 已定的指令在执行时所需的机器周期数 和时钟周期数都是固定不变的。o 异步控制方式: 每条指令或操作控制信号需要多少时间 就占用多少时间。o 联合控制方式计算机组成原理 Slide 58 本章主要内容o CPU的功能和组成o 控制器控制原理o 指令周期()o 时序产生器和控制方式o 硬布线控制器o 微程序控制器()o 流水线
21、处理器计算机组成原理 Slide 59 指令周期基本概念o时钟周期:T,节拍脉冲oCPU 周期:机器周期,从内存读出一条指令的最短时间o指令周期:从内存取出一条指令并执行该指令所用的时间。由若干个CPU周期组成。一个CPU周期又包含若干个时钟周期(节拍脉冲) T周期T1T2T3T4T1T2T3T4机器周期(取指令)指令周期机器周期(执行指令)计算机组成原理 Slide 60 指令周期 o 指令周期是指取指令、分析指令到执行完该指令所需的全部时间。o 指令周期不尽相同:各种指令的操作功能不同,有的简单,有的复杂。计算机组成原理 Slide 61 机器周期o 机器周期通常又称CPU周期,通常把一条
22、指令划分为若干个机器周期,每个机器周期完成一个基本操作。o 一般的CPU周期有:取指周期、取数周期、执行周期、中断周期等。所以有: 指令周期=i机器周期o 一般情况下,一条指令所需的最短时间为两个机器周期:取指周期和执行周期。计算机组成原理 Slide 62 节拍o 一个机器周期内,要完成若干个微操作;o 有的微操作可以同时执行,有的需要按先后次序串行执行;o 把一个机器周期分为若干个相等的时间段,每一个时间段对应一个电位信号,称为节拍电位信号节拍的宽度取决于节拍的宽度取决于CPU完成一次基本操作的时间,完成一次基本操作的时间,如:如:CPU完成一次正确的运算;寄存器间的一次完成一次正确的运算
23、;寄存器间的一次传送等。传送等。计算机组成原理 Slide 63 工作脉冲o 在节拍中执行的有些操作需要同步定时脉冲如:将稳定的运算结果打入寄存器,又如周期状态切换等o 节拍内设置一个或几个工作脉冲,作为各种同步脉冲的来源;p 工作脉冲的宽度只占节拍电位宽度的1/n,并处于节拍的末尾(只要能保证所有触发器都可靠、稳定地翻转就可以了)o多个脉冲的节拍常见于某些小型计算机中; 在只设置机器周期和时钟周期的微型机中,一般不再设置工作脉冲(因为时钟周期既可以作为电位信号,其前后沿又可以作为脉冲触发信号)计算机组成原理 Slide 64 附:三级时序o CPU周期(机器周期) 将指令周期划分为若干个相对
24、独立的操作阶段,称为CPU周期。o 节拍电位CPU 周期包括若干个完成微操作的节拍电位。o 节拍脉冲与节拍电位相配合完成数据加工与传送。计算机组成原理 Slide 65 小型机的三级时序典型机器三级的时序体制说明:FETCH取指周期W0,W1节拍m工作脉冲m*预置脉冲mRC外设工作脉冲微型机与小型机不同,常采用两级时序系统,此时节拍就是脉冲,被称之为时钟周期或T状态,为计时最小单位。W0FETCHmRCW1m*m计算机组成原理 Slide 66 时序发生器-1 时序信号的作用和体制o 作用:为计算机各部分的协调工作提供时序标志。o 体制:电位-脉冲制 Q QCP D计算机组成原理 Slide
25、67 电位-脉冲制o 电位-脉冲制是时序信号最基本的体制。o 当实现寄存器之间的数据传送时,数据必须以电位电位形式加在触发器的数据输入端,而数据输入的控制信号可选用脉冲。o 数据必须先送到触发器的数据输入端,并且表示数据的电位一定要保持在控制脉冲的作用下被触发器记忆为止,这段时间较长,所以数据需要用电位表示。o 而输入脉冲的时间宽度只需要保证数据从触发器的输入端稳定在输出端的时间。计算机组成原理 Slide 68 时序发生器-2三级时序系统的组成 CPU周期信号发生器三级时序系统组成框图取指周期晶 振S启动取数周期执行周期节拍周期信号发生器T1T2Tn节拍脉冲信号发生器P1P2PnRQ停止计算
26、机组成原理 Slide 69 o CPU周期信号发生器:产生CPU周期信号。 *通常,机器运行期间,任一个时刻仅处于一个CPU周期状态。o 节拍周期信号发生器:产生节拍电位T1T4。*在定长CPU周期中,每个CPU周期含有相同的节拍电位数 o 节拍脉冲信号发生器:产生节拍脉冲信号P1P4. *节拍电位和节拍脉冲时间关系固定。 下图中,每个节拍电位包含一个脉冲。时间利用率高,控制较复杂 计算机组成原理 Slide 70 时序产生器时钟脉冲计算机组成原理 Slide 71 时序发生器-3 组成与原理 启停控制逻辑 启动 节拍脉冲和读/写时序产生逻辑 脉冲发生器 时钟源 停机 RD WE T1 T2
27、 T3 T4 RD WE RD0 WE0 T1 0 T2 0 T3 0 T4 0 计算机组成原理 Slide 72 时钟源时钟源o 为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号;o 通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成o 假定此时时钟源输出50MHz(脉冲周期20ns)的时钟信号。计算机组成原理 Slide 73 环形脉冲发生器环形脉冲发生器p 产生一组有序的间隔相等或不等的脉冲序列,通常采用循环移位寄存器形式。p 由循环移位寄存器和译码器组成。 计算机组成原理 Slide 74 环形脉冲发生器与译码逻辑& 脉冲时钟源 RD T4 0 T1 0 RD0 T2 0 T
28、3 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 f计算机组成原理 Slide 75 电路说明o 4个触发器输入输出串联构成循环移位电路o D触发器R/S端分别为Reset和Seto C1 C2 C3 时钟信号为上跳沿o C4 时钟信号为下跳沿计算机组成原理 Slide 76 循环移位寄存器工作过程: o总清信号CLR*使C4置1,打开与非门3。o1上升边经与非门3反相将C1C3清“0”。o1*上升边使C4打入0,关闭与非门3。o2*的下降边即2的上升边使C1C3打入100。o同理34使C1C3打
29、入110和111。o当C3=1时,4*使C4=1,5又使C1C3清0。o在6时又重复2开始的过程。脉冲时钟源 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 上跳沿C3C2C1C4ffn C4只有在下降延变化,C1-3只有在上升沿变化n C4为0时 与门2通,3不通;否则,相反n 2通时,C1-3状态迁移计算机组成原理 Slide 78 节拍脉冲和读节拍脉冲和读/写时序的译码写时序的译码o 假设一个CPU周期中包括4个等间隔的节拍信号T
30、10T40o 节拍译码逻辑: T10= C1C2, T20= C2C3 T30= C3 , T40= C1 机器运行时,由T10T40产生T1T4。 计算机组成原理 Slide 79 节拍脉冲和读节拍脉冲和读/写时序的译码写时序的译码o 假设一个节拍含一个节拍脉冲o 节拍脉冲译码逻辑: P1=T1, P2=T2, P3=T3, P4=T4, 10430332022101CTCTCCTCCTEWCWEDRCRD3020时钟源频率50MHz,周期T=20ns,脉冲宽度为10ns。 12345678910C4C1C2C3T4T3T2T1CPU周期CPU周期与节拍电位的关系图 计算机组成原理 Slid
31、e 82 启停控制逻辑o 启停控制逻辑用来控制原始节拍脉冲T10 T40的输出,产生CPU工作所需的节拍脉冲T1 T4。o 同理,对读/写时序逻辑也要加以控制。 计算机组成原理 Slide 83 对启停电路的要求p 计算机的启动和停机是随机的,要求p 计算机启动时,一定要从第一个节拍脉冲的前沿开始工作;p 在停机时,一定要在第四个节拍脉冲后沿结束后关闭时序产生器;p 要求第一个脉冲和最末一个脉冲是完整的脉冲。计算机组成原理 Slide 84 启停控制逻辑 T1 Q D Cr Q R 启动 停机 CLR & T4& T4 0 T1 0 RD & RD0 T3& T3 0 WE & WE0 T2
32、& T2 0 T4 0 & & 运行标志触发器CrRS触发器计算机组成原理 Slide 85 启停电路说明o运行标志触发器CrnCr=0封锁原始信号nCr=1使上述原始信号变为CPU所需的时序信号o总清信号CLR*使Cr=0o启动:启动信号为低电平时,在T40*的后沿把Cr打入1;o停机:停机信号为低电平时,在T40*的后沿把Cr打入0 。LDAR RD M LDDRLDIRPC+1T1T2T3T4CPU周期取指执行CPU周期时序图状态周期电位节拍电位节拍脉冲LDAR RD M LDDRLDIRPC+1T1T2T3T4CPU周期取指CPU周期状态周期电位节拍电位节拍脉冲LDARRD MLDDR
33、LDIR PC+1LDAR RD M LDDRLDIRPC+1T2T3T4CPU周期取指T1CPU周期状态周期电位节拍电位节拍脉冲LDARLDAR=lDAR*T1RD=RD*T2LDAR RD M LDDRLDIRPC+1CPU周期取指CPU周期状态周期电位节拍脉冲LDARRD MLDDRLDIR PC+1LDARRDLDDRLDIR计算机组成原理 Slide 90 控制器基本控制方式 o控制方式:形成控制不同操作序列的时序信号的方法o三种基本控制方式: 同步控制方式 异步控制方式 联合控制方式计算机组成原理 Slide 91 同步控制方式 o 每一步操作均由统一的时序信号来控制o 特点:具有
34、统一的时钟信号o 对指令周期的控制:n 定长指令周期n 不定长指令周期、定长CPU周期n 变长CPU周期、定长节拍电位含义:每条指令含有相同的CPU周期数,每个CPU周期含有相同的节拍电位。特点:时序简单,但时间利用率低含义:按指令需要确定CPU周期,但每个CPU周期时间相同。特点:时间利用率较高 含义:指令周期和CPU周期不固定,但CPU周期含有的节拍电位按需要确定 特点:时间利用率高,但控制电路复杂 计算机组成原理 Slide 92 异步控制方式 o 按实际需要确定每条指令,每个操作所需要的时间,称为异步控制方式。o 做法:由前一微操作执行完毕时产生的“结束”信号作为下一微操作的“起始”信
35、号。o 特点:时间利用率高,但控制结构复杂,用器件多。计算机组成原理 Slide 93 联合控制方式 o 是同步和异步控制方式的结合。o 将各种指令可公共起来的微操作安排在固定的周期、节拍中,对难以公共的微操作信号,则以执行部件的“回答”信号作为本次操作的结束,部分统一,部分区别对待。计算机组成原理 Slide 94 本章主要内容o CPU的功能和组成o 控制器控制原理o 指令周期()o 时序产生器和控制方式o 硬布线控制器o 微程序控制器()o 流水线处理器计算机组成原理 Slide 95 硬布线控制器Hardwired control -基本原理o 由门电路和触发器构成的复杂树形网络,用以
36、产生执行指令的一系列微操作信号;n 组成器件:门电路,触发器n 将控制器看成产生固定时序控制信号的逻辑电路n 输入信号:指令系统,时序信号,反馈信号n 输出信号:计算机所需要的所有的控制信号n 设计目标:用最少的元件,取得最高速度。n 理论基础:布尔代数。计算机组成原理 Slide 96 硬布线控制器(组合逻辑控制器)组合逻辑线路指令译码器节拍电位/脉冲发生器微操作控制信号指令寄存器IR结果反馈信息M1MiT1TkI1ImC1CnB1Bj启动/停止时钟/复位计算机组成原理 Slide 97 组合逻辑线路的输入信号o 指令译码器的输出:Im 不同指令操作码和寻址方式决定应执行的微操作。o 时序产
37、生器输出的节拍电位/节拍脉冲 :Mi,Tk 使微操作信号按时序要求产生。 o 结果的反馈信息 :Bj 条件码(如N、V、C、Z等)影响指令,不同状态条件而产生不同的执行结果,即需不同的微操作信号。0ACIRARIRARIRPCPCARRDDBUSDR DRALUDR+ACACRDACDRDRDBUSCLAADDLDAJMPNOP取指令公操作启动M1M2M3LDAR T1RD T2LDDR T3LDIR T4PCARRAMDBUSDRIRPC+1计算机组成原理 Slide 99 组合逻辑线路的输出信号微操作控制信号的函数表达式: C=C= (I (ImmMMi iT Tk kB Bj j) )
38、例:读主存信号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)计算机组成原理 Slide 100 硬布线控制器基本原理微操作控制信号的函数表达式: immjkinIBTMC)(计算机组成原理 Slide 101 组合逻辑控制器的设计步骤 o根据CPU的结构,画出所有指令操作流程图;o找出产生同一微操作控制信号的条件o编排指令操作时间表; 即把指令操作流程图中的微操作落实到不同的
39、CPU周期和节拍中。 o综合、化简微操作逻辑式,并画出逻辑控制电路写出各微操作控制信号的布尔表达式;化简各表达式;利用电路或门阵列实现计算机组成原理 Slide 102 硬布线控制器特点o 组成的网络复杂; o 无规则;o 设计和调试困难;o 不可改变指令系统和指令功能o 适用于VLSIo 速度快计算机组成原理 Slide 103 本章主要内容o CPU的功能和组成o 控制器控制原理o 指令周期()o 时序产生器和控制方式o 硬布线控制器o 微程序控制器()o 流水线处理器计算机组成原理 Slide 104 微程序控制器的基本原理 o 指令执行的阶段性:取指令,分析指令,执行指令等;o 将所需
40、微操作信号以二进制编码形式存入存储器;o 按序依次读出执行,即可实现指令的功能。计算机组成原理 Slide 105 基本概念微命令和微操作o 控制部件与执行部件 二者通过控制线,反馈线联系o 微命令 控制部件(如CU)通过控制线向执行部件(如ALU、M、GRS等)发出的各种控制命令.o 微操作 执行部件接受微命令后进行的操作。计算机组成原理 Slide 106 基本概念微命令和微操作o 打开或者关闭控制门的控制信号为微命令o 微命令是控制信号最小,最基本的单位o 微命令带来的执行部件的动作称为微操作o 互斥性微命令: o 相容性微命令 计算机组成原理 Slide 107 基本概念微指令和微程序
41、o 微指令在一个CPU周期中,一组实现一定操作功能的微命令的组合。o 微程序由若干条微指令组成的、用以实现指令功能的程序 计算机组成原理 Slide 108 微指令的基本格式 o 操作控制字段用于产生微命令。o 顺序控制字段用于确定下一条微指令地址。P字段下址字段操作控制顺序控制计算机组成原理 Slide 109 微指令基本格式举例 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 P
42、C1 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 计算机组成原理 Slide 110 微程序控制概念microprogramming controlo 一条指令的处理包含许多微操作序列o 这些操作可以归结为信息传递、运算o 将这些操作所需要的控制信号以多条微指令表示o 执行一条微指令就给出一组微操作控制信号o 执行一条指令也就是执行一段由多条微指令组成的微程序计算机组成原理 Slide 111 微指令基本格式 1 2 3 4 5 6 7
43、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 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 计算机组成原理 Slide 112 微程序控制概念o 将指令系统功能实现所需的控制信号以微指令为单位存储。微指令中的每一位对应一根控制信号线o 每条指令对应
44、一段微程序o 微程序由若干条微指令构成o 机器执行指令时逐条取出微指令执行,使得相应部件执行规定的操作,执行完微程序,也就给出了该指令所需要的全部控制信号,从而完成一条指令的执行。计算机组成原理 Slide 113 微指令与微程序 微指令 1 2 3 4 5 6 7 8 9 实现加法指令的微程序 实现存数指令的微程序 实现转移指令的微程序 实现第 n 条指令的微程序 ALU运算器结构PSWAXBXCXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YCLAADD 30STA 40NOPJMP 21000 004000 00620212223243040ALU简单运算器数据通
45、路图Cy操作数X操作数Y左路开关选择R1R2R3DR123468579-M+微命令o 1: LDR1 o 2: LDR2o 3: LDR3o 4: R1Xo 5: R1Yo 6: R2Xo 7: R2Yo 8: DRXo 9: R3YALUCy操作数X操作数YR1R2R3DR123468975-M+微命令o 10: +o 11: -o 12: Mo 13: RDo 14: LDDRo 15: LDIRo 16: LDARo 17: PC+1ALUCy操作数X操作数YR1R2R3DR123468579-M+计算机组成原理 Slide 118 所有的微命令o 1: LDR1 o 2: LDR2o
46、3: LDR3o 4: R1Xo 5: R1Yo 6: R2Xo 7: R2Yo 8: DRXo 9: R3Yo 10: +o 11: -o 12: Mo 13: RDo 14: LDDRo 15: LDIRo 16: LDARo 17: PC+1计算机组成原理 Slide 119 微指令格式.123456789 10 11 12 13 14 15 16 17 18 19 20 21 22 23操作控制顺序控制LDR1LDR2LDR3R1XR1YR2XR2YDRXR3Y+M-RDLDDRLDIRLDARPC+1P1 P2直接地址计算机组成原理 Slide 120 微指令格式o 操作控制字段n
47、操作控制字段直接给出多种微操作的控制信号o 顺序控制字段n 用于控制微程序的执行顺序n 包括判断逻辑字段(P)和直接地址字段n 直接地址字段存放下一条微指令的地址n 判断逻辑非零,则按约定好的规则,根据状态修正直接地址字段,从而得到下一条微指令的地址计算机组成原理 Slide 121 微指令基本格式 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 PC1 LDIR RD LDAR L
48、DDR P1 控制字段 顺序控制 L R1 L R2 bus L L bus bus BUS BUS bus BUS ALU BUS PC BUS DR DR(D) BUS 计算机组成原理 Slide 122 控制字段测试字段下址字段 微指令周期 微取指令 微取指令 执行微指令 执行微指令 T1 T2 T3 T4 T1 T2 T3 T4 微指令周期 微指令周期 o 执行一条微指令和取出下一条微指令所用的时间,称为微周期。计算机组成原理 Slide 123 取第i条(a) 串行执行方式第i微指令周期执行第i条取第i+1条执行第i+1条第i+1微指令周期取第i条(b) 并行执行方式第i微指令周期执
49、行第i条取第i+2条执行第i+2条第i+1微指令周期取第i+1条执行第i+1条第i+2微指令周期第i+3微指令周期计算机组成原理 Slide 124 微程序控制器组成原理框图控制存储器地址译码微地址寄存器OP地址转移逻辑P字段控制字段微命令信号微命令寄存器指令寄存器IR状态条件AR IR 计算机组成原理 Slide 125 微程序控制器的框图说明o控制储存器CM 存放实现机器指令系统功能的微程序,由高速ROM构成。 * CM的字长就是微指令字长; CM是控制器的一部分,位于CPU中 ; 高速可靠,读出周期短 。o微指令寄存器MIR 寄存现行微指令。o地址转移逻辑 按要求修改形成下一条微指令的地
50、址。o微地址寄存器AR 寄存访问CM的微指令地址。计算机组成原理 Slide 126 取指令微程序o 取指令o 取指令的微指令(简称取指微指令)地址送AR,并自动启动控制存储器进行读操作,将读出的微指令送IR,执行微指令,读取指令到IR计算机组成原理 Slide 127 执行指令微程序o 执行指令:o 根据IR中指令的功能,产生该指令微程序入口地址,微程序入口地址送入AR,读CS,读出的微指令送IR、(下址字段送AR),o 控制字段的微命令控制完成一组微操作o 同时由微地址产生逻辑或微指令下址字段形成下条微指令地址,按取微指令,执行微指令过程重复执行完微程序实现指令的功能计算机组成原理 Sli