当前位置:
文档之家› 北航 计算机组成原理 第五部分:CPU控制单元设计
北航 计算机组成原理 第五部分:CPU控制单元设计
IBMDR、MDRDB
DBMER、MERIB
31
2.3 数据通路设计 (11.内部数据缓存)
控制总线(CB) 数据总线(DB) 地址总线(AB)
MAR 内部总线(IB)
MER
MDR
R0 R1 R2 R3
CPU内部
D ALU A
C
存储器
❖ ALU结果保存:增加寄 存器A
PC
❖ ALU数据输入缓存:增 加寄存器D
❖MIPS:百万指令每秒
➢MIPS:Million Instruction Per Second ➢不同指令集的MIPS比较没有实际意义 ➢即使同一台机器,用不同的测试程序测出来的MIPS值也可能不一样。
❖MFLOPS:百万浮点数操作每秒
➢MFLOPS: Million Floating point Operations Per Second ➢可以比较不同机器的浮点运算能力, 但有局限性 ➢MFLOPS不仅和机器有关, 也和所用测试程序有关 ➢MFLOPS与整数. 浮点操作的比例有关
移量(16位)
19
2.2 模型机的指令系统
❖指令类型
➢ 传送类指令:MOV指令,16位或32位指令 ▪ 4种传送类型:立即数寄存器,寄存器寄存器,寄存器 存储器,存储器寄存器
➢ 运算类指令:算术和逻辑运算, 16位或32位指令,RR型指令或 RS型指令,4种类型(以加法运算为例) ▪ 立即数 + 寄存器 寄存器 ▪ 寄存器 + 寄存器 寄存器 ▪ 寄存器 + 存储器 寄存器 ▪ 寄存器 + 寄存器 存储器
➢ 转移类指令 ▪ 条件/非条件转移、转子程序:32位指令,采用相对寻址 ▪ 子程序返回:16位指令
➢ 其它指令:16位指令
20
2.3 数据通路设计 (1.指令相关—组成部件)
控制总线(CB) 数据总线(DB) 地址总线(AB)
CPU内部
存储器
PC
❖ 存储器:存储指令和 数据
IR
❖ PC:当前指令地址
❖CPI:指令平均执行时钟周期数
➢CPI:Clock cycles Per Instruction。 ➢不同指令功能不同,所需时间也不同,CPI只是某一机器中一个程序或
程序片段每条指令所用时钟周期的平均值。 ➢不同指令集的CPI比较没有实际意义。 ➢程序的执行时间称为CPU时间,则有:
13
几个与指令相关的CPU性能指标
地址总线(AB)
R0 R1 R2 R3
CPU内部
存储器
PC
❖ 通用寄存器:R0、
R1、R2、R3
ALU
IR
❖ 算术逻辑运算单元
ALU
23
2.3 数据通路设计 (4.寄存器/ALU数据通路-寄存器输入)
控制总线(CB) 数据总线(DB)
地址总线(AB)
R0 R1 R2 R3
CPU内部
存储器
PC
❖ 存储器到寄存器:
18
2.2 模型机的指令系统
❖指令格式
➢ 操作码位数:固定8位 ➢ 指令长度:16位或32位 ➢ 寻址方式:5种寻址方式,立即数、寄存器直接、寄存器间接
、基址寻址、相对寻址(只用于转移类指令)
Opcode (8)
Ms Rs Mt Rt (2) (2) (2) (2)
16位长度指令格式
Opcode (8)
制信号,分组合逻辑和微程序两种实现方式。
❖中断系统
➢检查中断信号,中断CPU的正常程序执行,处理异常事务。
8
1.2 指令周期
❖指令周期基本概念(一般意义上的概念)
➢CPU取出并执行一条机器指令所需的全部时间称为指令周期。 ➢取指周期:完成取指令操作和分析指令操作所需的时间; ➢执行周期:完成指令所规定的功能所需要的时间。 ➢不同指令的指令周期不同
IR
❖ CPU内部数据暂存:增 加寄存器C
32
2.3 数据通路设计 (12.状态寄存器FR通路)
控制总线(CB) 数据总线(DB) 地址总线(AB)
IR
❖ 寄存器间接寻址:
GPRsAB
❖ 寄存器运算: GPRsALU
25
2.3 数据通路设计 (6.寄存器/ALU数据通路-ALU输入)
控制总线(CB) 数据总线(DB) 地址总线(AB)
R0 R1 R2 R3
CPU内部
存储器
❖ 寄存器运算:
PC
GPRsALU
ALU
❖ 存储器:
IR
➢ 运算
➢ 寻址计算
部计算出来的地址
IBAB
30
2.3 数据通路设计 (10.系统总线接口)
控制总线(CB) 数据总线(DB) 地址总线(AB)
MAR 内部总线(IB)
MER
MDR
R0 R1 R2 R3
CPU内部
ALU
存储器
❖ IB与AB之间:
地址缓存MAR
PC
IBMAR、MARAB
IR
❖ IB与DB之间:
数据缓存MDR、MER
❖ 转移地址计算: ALUPC
27
2.3 数据通路设计 (8.寄存器/ALU数据通路改进)
控制总线(CB) 数据总线(DB) 地址总线(AB)
存储器
PC
❖R0数据通路连接关系复杂
R1
ALU
❖R2引入内部总线
IR
R3 ➢GPRs、ALU、PC 之间的传送通过内部总线
CPU内部
➢GPRs、ALU、PC、IR 与 DB、AB 之间的传送通过内部总 线
3
1.1 CPU的功能与组成
➢CPU内部结构(内部 单总线结构) ➢执行单元(EU) ➢控制单元(CU) ➢寄存器单元 ➢中断系统 ➢内部总线
ALU
A
B
EU
GR
MAR MBR PC
微操作控制信号
微操作信号 发生器
ID
CPU
中 断 系 统
IR CU
Internal BUS
Data Bus Ctrl Bus Add Bus
2
1.1 CPU的功能与组成
❖CPU的组成
➢运算单元:算术逻辑运算单元(ALU) ➢寄存器:通用寄存器组(GPRs),标志寄存器(FR
,又称程序状态字PSW),临时寄存器(TR) ➢控制单元(CU):
▪ 指令地址部件:程序计数器(PC) ▪ 指令寄存部件:指令寄存器(IR) ▪ 译码部件:指令译码器(ID) ▪ 控制部件:微操作控制信号产生部件 ▪ 时序部件:产生时序信号 ➢内部总线:CPU内部数据通路(Internal Bus)
❖ IR:存储当前指令
21
2.3 数据通路设计 (2.指令相关—取指数据通路)
控制总线(CB) 数据总线(DB) 地址总线(AB)
CPU内部
存储器
PC
❖ 送地址:
PCABMem
❖ 读指令,
IR
MemDBIR
❖ 修改PC
22
2.3 数据通路设计 (3.寄存器/ALU相关—组成部件)
控制总线(CB) 数据总线(DB (2)
Data / Offset (16)
32位长度指令格式
Opcode:操作码(8位) Ms:源操作数寻址方式(2位) Rs:源寄存器(2位) Mt:目的操作数寻址方式(2位) Rt:目的寄存器(2位) Data:立即数(16位) Offset:基址寻址或相对寻址的位
9
1.2 指令周期
❖具有间接寻址的指令周期
➢取指周期:完成取指令操作和分析指令操作所需的时间; ➢间址周期:访问存储器,取出(或计算)有效地址所需时间; ➢执行周期:完成指令所规定的功能所需要的时间。
10
1.2 指令周期
❖取指周期数据流
➢1. PCMAR (指令地址送存储器地址寄存器MAR) ➢2. MARAdd Bus (MAR送地址总线) ➢3. 控制单元向存储器发出读命令(读取指令) ➢4. 指令从存储器读出经数据总线送到MDR ➢5. MDRIR(指令送指令寄存器IR,开始译码) ➢6. 调整PC以指向下一条指令
❖执行单元(EU-Execution Unit)
➢执行单元的核心:算术逻辑运算单元(ALU),完成算术运算、 逻辑运算、移位运算等操作;
➢寄存器:提供数据缓冲;
❖控制单元(CU-Control Unit)
➢指令寄存器IR ➢指令译码器ID(Instruction Decoder) ➢时序部件:提供各种时序信号 ➢控制信号生成部件:产生计算机其他部件所需要的所有微操作控
28
2.3 数据通路设计 (9.CPU内部总线)
控制总线(CB) 数据总线(DB) 地址总线(AB)
内部总线(IB)
R0 R1 R2 R3
CPU内部
ALU
存储器
❖ IB与GPRs之间:
PC
GPRsIB、
IBGPRs
❖ IB与ALU之间:
IR
ALUIB、IBALU
❖ IB与PC之间: IBPC、PCIB
MemDBGPRs
ALU
❖ 保存ALU结果:
IR
ALUGPRs
❖ 寄存器间传送: GPRsGPRs
24
2.3 数据通路设计 (5.寄存器/ALU数据通路-寄存器输出)
控制总线(CB) 数据总线(DB)
地址总线(AB)
R0 R1 R2 R3
CPU内部
存储器
PC
❖ 保存寄存器内容:
GPRsDBMem
ALU
4
1.1 CPU的功能与组成
❖CPU内部的寄存器
➢通用寄存器(General Register):用户可见(汇编语言可使用) ▪ 数据寄存器、基址寄存器、变址寄存器、堆栈指针、标志寄存 器等