Download presentation
Presentation is loading. Please wait.
1
版权所有,引用请注明出处 第六章、中央控制器 原著 谭志虎 主讲(改编) 蒋文斌
2
本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★)
流水线处理器
3
CPU的组成和功能 CPU的组成 CPU的功能 CPU中的主要寄存器 操作控制器 时序产生器
4
CPU的组成 运算器 控制器 算术运算/逻辑运算 从内存取出一条指令,并指出下条指令的地址 对指令进行译码,产生相应的控制信号
产生执行部件的运行所需要的控制信号 指挥并控制CPU,内存和I/O设备之间的数据传送
5
CPU的功能 取出指令并执行指令的部件------CPU 数据加工 ----ALU. 算术/逻辑运算; 指令控制:指令执行的顺序控制;
操作控制: 产生各种操作信号; 时间控制: 控制操作信号的发生时间;
6
CPU中的主要寄存器 PC(Program Counter)----程序计数器 AR(Address Register)---地址寄存器
DR(Data Register)----数据缓冲寄存器 IR(Instruction Register)-----指令寄存器 AC(Accumulate Count)---累加寄存器 PSW (Program Status Word)程序状态字
7
控制器基本组成 PC (Program Counter)----程序计数器
IR (Instruction Register)-----指令寄存器 ID (Instruction Decoder)---指令译码器 OC (Operate Controller)---操作控制器 TG (Timer Generator) ---时序发生器
8
指令译码器 对指令进行分段(操作码、地址码)译码,指出指令的操作方式、寻址方式 为操作控制器提供输入信号
9
操作控制器 根据指令操作码和时序信号,产生各种控制信号 ,以便建立正确的数据通路,从而完成取指令和执行指令的控制。
硬布线控制器 (时序逻辑型) (硬件实现) 微程序控制器 (存储程序型) (软件实现) 数据通路------多寄存器间传送信息的通路。
10
时序产生器 产生各种时序信号(电位,脉冲); 对各种操作实施时间上的控制。
11
运算器结构 数据总线DBUS 移位器 ALU PSW CLA ADD 30 STA 40 NOP JMP 21 … 000 004
20 21 22 23 24 30 40 操作数X 操作数Y 左路开关选择 右路开关选择 AX BX CX DX DR 数据总线DBUS
12
ADD AX,BX 移位器 ALU PSW CLA ADD 30 STA 40 NOP JMP 21 … 000 004 000 006
20 21 22 23 24 30 40 操作数X 操作数Y 左路开关选择 右路开关选择 AX=2 AX=6 BX=4 CX DX DR 数据总线DBUS
13
ADD AX,[30] 移位器 ALU PSW CLA ADD 30 STA 40 NOP JMP 21 … 000 004 000 006
20 21 22 23 24 30 40 操作数X 操作数Y 左路开关选择 右路开关选择 AX=2 AX=6 BX=4 CX DX DR=4 DR 数据总线DBUS
14
CPU基本结构 CPU ALU 执行指令控制 PSW 指令译码器 000 000 程序计数器 PC AC 累加器 IR 指令寄存器 AR
操作控制器OC 时序产生器TG 执行指令控制 PSW 指令译码器 程序计数器 PC AC 累加器 IR 指令寄存器 AR 地址寄存器 DR 缓冲寄存器DR CLA ADD STA NOP JMP … 20 21 22 23 24 30 40 地址总线 ABUS 数据总线 DBUS CPU基本结构
15
主机基本组成
16
本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★)
流水线处理器
17
指令周期(★★★) 指令周期基本概念 CLA指令周期 ADD指令周期 STA指令周期 NOP指令周期 JMP指令周期
18
指令周期基本概念 时钟周期:T,节拍脉冲 CPU 周期:机器周期,从内存读出一条指令的最短时间
指令周期:从内存取一条指令并执行该指令所用的时间。由若干个CPU周期组成。一个CPU周期又包含若干个时钟周期(节拍脉冲) T周期 T1 T2 T3 T4 T1 T2 T3 T4 机器周期(取指令) 机器周期(执行指令) 指令周期
19
指令周期基本概念(★★★) 取指令周期 取操作数周期 (可无) 执行周期 取指令 PC+1 执行指令 开始
20
CLA指令周期(累加器清0) 1个CPU周期 1个CPU周期 取指令 PC+1 取下条 指令PC+1 开始 执行指令 指令译码 取指令阶段
执行指令阶段
21
CLA指令 ALU 操作控制器 时序产生器 执行指令控制 指令译码器 程序计数器 PC AC 000000000 000 021
累加器 AC IR CLA 指令寄存器 IR +1 地址寄存器 AR AR CLA DR 缓冲寄存器DR 地址总线 ABUS 20 CLA 数据总线 DBUS 21 ADD 22 STA 23 NOP PC→AR→ABUS→RAM →DBUS→DR→IR PC+1 24 JMP … 30 CLA指令 … 40
22
执行过程的操作 PC→AR PC+1→PC AR →RAM→DBUS→DR DR→IR 0→AC
23
ADD指令周期 1个CPU周期 1个CPU周期 1个CPU周期 取下条 指令PC+1 取指令 PC+1 执行 加法操作 开始 指令译码
送操作数 地址 取操作数 取指令阶段 执行指令阶段
24
ADD指令 ALU 操作控制器 时序产生器 执行指令控制 指令译码器 程序计数器 PC 000000000 000 021 000 022
累加器 AC CLA ADD 指令寄存器 IR +1 地址寄存器 AR CLA ADD 缓冲寄存器DR 地址总线 ABUS 20 CLA 数据总线 DBUS 21 ADD 22 STA 23 NOP PC→AR→ABUS→RAM →DBUS→DR→IR PC+1 24 JMP ADD指令 … 30 … 40
25
ADD指令 ALU 操作控制器 时序产生器 执行指令控制 指令译码器 程序计数器 PC 000000000 000 006 000 021
累加器 AC CLA ADD 指令寄存器 IR +1 地址寄存器 AR 006 CLA ADD 缓冲寄存器DR 地址总线 ABUS 20 CLA 数据总线 DBUS 21 ADD 22 STA 23 NOP IR→AR→ABUS→RAM →DBUS→DR→ALU ALU→AC 24 JMP … 30 ADD指令 … 40
26
ADD执行过程的操作 PC→AR PC+1→PC AR →RAM→DBUS→DR DR→IR IR(A)→AR→ABUS→RAM
→DBUS→DR→ALU ALU→AC
27
STA 40 指令周期 1个CPU周期 1个CPU周期 1个CPU周期 取下条 取指令 执行 指令PC+1 PC+1 写存操作 开始
指令译码 送操作数 地址 送操作数 取指令阶段 执行指令阶段
28
STA指令 ALU 操作控制器 时序产生器 执行指令控制 指令译码器 程序计数器 PC 000 006 000 023 000 021
累加器 AC CLA STA 指令寄存器 IR +1 地址寄存器 AR CLA ADD 缓冲寄存器DR 地址总线 ABUS 20 CLA 数据总线 DBUS 21 ADD 22 STA 23 NOP IR→AR→ABUS AC→DR DR→DBUS→RAM 24 JMP STA指令 … 30 … 40
29
执行过程的操作 PC→AR PC+1→PC AR →RAM→DBUS→DR DR→IR IR(A)→AR→ABUS AC→DR
DR→DBUS→RAM
30
NOP指令周期 1个CPU周期 1个CPU周期 取指令 PC+1 取下条 指令PC+1 开始 空操作 等待 一个周期 指令译码 取指令阶段
执行指令阶段
31
JMP 21指令周期 1个CPU周期 1个CPU周期 取指令 PC+1 取下条 指令PC+1 开始 送 转移地址 指令译码 取指令阶段
执行指令阶段
32
JMP 21指令 ALU 操作控制器 时序产生器 执行指令控制 指令译码器 程序计数器 PC 000 006 000 025 000 021
累加器 AC JMP CLA 指令寄存器 IR +1 地址寄存器 AR CLA JMP 缓冲寄存器DR 地址总线 ABUS 20 CLA 数据总线 DBUS 21 ADD 22 STA 23 NOP IR→PC Next command 24 JMP JMP 21指令 … 30 … 40
33
执行过程中的操作 PC→AR PC+1→PC AR →RAM→DBUS→DR DR→IR IR(A)→PC Next command
34
方框图表示 取指令 执行指令 公操作 下一条指令 PC→AR→RAM →DBUS→DR→IR PC+1 译码 CLA ADD STA JMP
NOP 执行指令 0→AC IR(A)→AR IR(A)→AR IR(A)→PC AR→RAM DBUS→DR DR→ALU ALU→AC AR→RAM AC→DR DR→DBUS 公操作
35
公操作 一条指令执行完后,CPU所进行的一些操作。 对外设请求的处理(中断,通道) 若无外设请求的处理,CPU则转而取下条指令。
由于取指令是每条指令都有的,所以,取指令也是公操作。
36
一段程序 LAD R0,(80) ADD R0,(81) JO 75 STA(R1),R0 HALT
37
PC→AR 取指控制信号 PC→BUS LDAR
38
取指控制信号 READ MEM AR→ABUS RD LDDR
39
DR→IR 取指控制信号 DR→BUS LDIR
40
执行指令过程 ADD R0,(81)
41
执行指令过程 ADD R0,(81)
42
LAD R0,(80)
43
JO 75
44
STA(R1),R0
46
控制方式-如何给出指令处理所需的时间 同步控制方式 指令在执行时所需的机器周期数和时钟周期数都是固定不变的。 异步控制方式:
每条指令或操作控制信号需要多少时间 就占用多少时间。 联合控制方式
47
本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★)
流水线处理器
48
指令周期基本概念 时钟周期:T,节拍脉冲 CPU 周期:机器周期,从内存读出一条指令的最短时间
指令周期:从内存取出一条指令并执行该指令所用的时间。由若干个CPU周期组成。一个CPU周期又包含若干个时钟周期(节拍脉冲) T周期 T1 T2 T3 T4 T1 T2 T3 T4 机器周期(取指令) 机器周期(执行指令) 指令周期
49
电位-脉冲制 时序信号最基本的体制是电位-脉冲制。
当实现寄存器之间的数据传送时,数据必须以电位形式加在触发器的数据输入端,而数据输入的控制信号可选用脉冲。 数据必须先送到触发器的数据输入端,并且表示数据的电位一定要保持在控制脉冲的作用下被触发器记忆为止,这段时间较长,所以数据需要用电位表示。 而输入脉冲的时间宽度只需要保证数据从触发器的输入端稳定在输出端的时间。
50
节拍脉冲 时钟脉冲 时序产生器 节拍脉冲
51
时序产生器 启停控制逻辑 启动 节拍脉冲和读 / 写时序产生逻辑 脉冲发生器 时钟源 停机 RD WE T 1 2 3 4
52
环形脉冲发生器与读写时序 T T RD T T WE & & & & & & RD ¢ WE ¢ Q D C Q D C Q D C R
T T RD T T WE 4 1 2 3 & & & & & & RD WE Q D C 1 Q D C 3 Q D C 2 R +5V f 2 3 f 脉冲时钟源 Q D C 4 1 CLR S f
53
电路说明 4个触发器输入输出串联构成循环移位电路 D触发器R/S端分别为Reset和Set C1 C2 C3 时钟信号为上跳沿
54
C4只有在下降延变化,C1-3只有在上升沿变化 C4为0时 与门2通,3不通;否则,相反
Q D C 1 Q D C 3 Q D C 2 R +5V f 2 3 f f 脉冲时钟源 Q D C 4 1 CLR f S Ф C4 C1 C2 C3 CLR 上跳沿 1 C4只有在下降延变化,C1-3只有在上升沿变化 C4为0时 与门2通,3不通;否则,相反 3. 2通时,C1-3状态迁移 下跳沿 上跳沿 1 上跳沿 1 1 上跳沿 1 1 1 下跳沿 1 1 1 1 上跳沿 1
56
启停控制逻辑 T T T T RD WE & & & & & & T T T T RD WE Q Q C D R T & & CLR 启动
1 2 3 4 & & & & & & T T T T RD WE 1 2 3 4 Q Q C r D R T 4 & & CLR 启动 停机
57
时序图 CPU周期 CPU周期 Φ 取指 执行 T1 T2 T3 T4 节拍脉冲 状态周期电位 节拍电位 LDAR RD M LDDR
LDIR PC+1 CPU周期 CPU周期 节拍脉冲 Φ 状态周期电位 取指 执行 节拍电位 T1 T2 T3 T4
58
CPU周期 CPU周期 Φ 取指 T1 T2 T3 T4 LDAR RD M LDDR LDIR PC+1 节拍脉冲 状态周期电位 节拍电位
59
CPU周期 CPU周期 Φ 取指 T1 T2 T3 T4 LDAR LDAR’=lDAR*T1 RD’=RD*T2 节拍脉冲 状态周期电位
RD M LDDR LDIR PC+1 CPU周期 CPU周期 节拍脉冲 Φ 状态周期电位 取指 节拍电位 T1 T2 T3 T4 LDAR LDAR’=lDAR*T1 RD’=RD*T2
60
CPU周期 CPU周期 Φ 取指 LDAR RD M LDDR LDIR PC+1 LDAR’ RD’ LDDR’ LDIR’ 节拍脉冲
状态周期电位 取指 LDAR RD M LDDR LDIR PC+1 LDAR’ RD’ LDDR’ LDIR’
Similar presentations