34
计计计计计计计 计计计计计计计 计计计计 计计计计 计计计计 计计计计计 计计计计 计计计计计 CPU CPU

计算机组成原理 考研辅导

Embed Size (px)

DESCRIPTION

计算机组成原理 考研辅导. 第五部分 中央处理器 CPU. 第五部分 中央处理器 CPU. ( 一 ) CPU 的功能和基本结构 ( 二 ) 指令执行过程 ( 三 ) 数据通路的功能和基本结构 ( 四 ) 控制器的功能和工作原理 ( 五 ) 指令流水线. CPU 的功能: 指令控制 操作控制 时间控制 处理中断 数据加工. 控制器的功能 取指令 分析指令 执行指令 处理异常情况和特殊请求 运算器的功能 实现算术运算和逻辑运算. ( 一 ) CPU 的功能和基本结构. 指令控制. 操作控制. 时间控制. 数据加工. 处理中断. - PowerPoint PPT Presentation

Citation preview

Page 1: 计算机组成原理 考研辅导

计算机组成原理计算机组成原理考研辅导考研辅导

第五部分 中央处理器第五部分 中央处理器 CPUCPU

Page 2: 计算机组成原理 考研辅导

第五部分 中央处理器第五部分 中央处理器 CPUCPU

(一) CPU的功能和基本结构(二) 指令执行过程(三) 数据通路的功能和基本结构(四) 控制器的功能和工作原理(五) 指令流水线

Page 3: 计算机组成原理 考研辅导

(( 一一 ) CPU) CPU 的功能和基本结构的功能和基本结构CPUCPU 的功能:的功能:

– 指令控制指令控制– 操作控制操作控制– 时间控制时间控制– 处理中断处理中断– 数据加工数据加工

控制器的功能控制器的功能– 取指令取指令– 分析指令分析指令– 执行指令执行指令– 处理异常情况和特殊请求处理异常情况和特殊请求

运算器的功能运算器的功能– 实现算术运算和逻辑运算实现算术运算和逻辑运算

Page 4: 计算机组成原理 考研辅导

CPUCPU 与总线连接与总线连接PC IR指令控制

操作控制时间控制数据加工处理中断

ALU 寄存器中断系统

CU 时序电路

寄存器ALU

中断 系统 CU

CPU

控制总

线 数据总

线 地址总

线

Page 5: 计算机组成原理 考研辅导

CPUCPU 的内部结构的内部结构

算术和布尔逻辑

取反

移位

状态标志 内部

数据总

线寄存器

CU

中断系统

ALU

控制信号…

C P

U

1.1. 寄存器寄存器2.CU2.CU3.ALU3.ALU4.4. 中断系统中断系统

Page 6: 计算机组成原理 考研辅导

可见不可更改

1.1. 寄存器寄存器(( 11 )用户可见寄存器:)用户可见寄存器:用指令可以访

问到的寄存器– 通用寄存器– 状态寄存器:条件码寄存器、 PSW

(( 22 )用户不可见寄存器:)用户不可见寄存器:无法用指令访问的寄存器(但硬件设计者可见)– 控制寄存器: PC 、 IR 、 MAR 、 MDR– 暂存器: ALU 中使用的暂存器

Page 7: 计算机组成原理 考研辅导

2.CU2.CU

功能:产生全部指令的微操作命令序列实现:

– 组合逻辑电路:硬布线控制器– 存储逻辑电路:微程序控制器

组合逻辑控制器常规逻辑控制器

Page 8: 计算机组成原理 考研辅导

(( 二二 ) ) 指令执行过程指令执行过程 一条指令的执行过程包括取指令、执行指令取指令、执行指令两

大阶段 取指令取指令:根据 PC 的值(指令地址)到存储器

读出指令,送 IR ; PC 自动 +1 。– 执行存储器的读操作;地址是由 PC 指出;读出的

数据送到 IR 。 执行指令执行指令:操作控制信号形成部件根据指令译

码信息和时序周期信号,发出该指令所需的所有部件的有一定时序关系的控制信号序列,完成指令的执行。– 执行指令的具体操作取决于指令的功能和寻址方式,

不同的指令或不同的寻址方式,其执行指令阶段也是不同的。

Page 9: 计算机组成原理 考研辅导

(( 三三 ) ) 数据通路的功能和基本结构数据通路的功能和基本结构总线结构和非总线结构总线结构和非总线结构单总线和双总线结构单总线和双总线结构形式多样,变化多端形式多样,变化多端基本操作:基本操作:

– 1.1. 访存操作访存操作– 2.2. 运算操作运算操作– 3.3. 总线传送总线传送

基本原则:基本原则:– 总线的分时享用总线的分时享用

Page 10: 计算机组成原理 考研辅导

CU

IR

PC

MAR

MDR

AC

Y

ALU

Z

…控制信号

CPU 内 部 总 线

时钟

控制信号 …

MDRO

MDRi

IRi

PCi

PCO

MARi

ACi

ACO

Yi

ALUi

ZO

A M

D

Page 11: 计算机组成原理 考研辅导

(( 四四 ) ) 控制器的功能和工作原控制器的功能和工作原理理

控制器的功能控制器的功能– 取指令取指令– 分析指令分析指令– 执行指令执行指令– 处理异常情况和特殊请求处理异常情况和特殊请求

控制器的组成控制器的组成– 程序计数器 PC 、指令寄存器 IR 、指令译码器 ID– 时序系统、操作控制信号形成部件( CU )

Page 12: 计算机组成原理 考研辅导

硬布线控制器的结构硬布线控制器的结构

Page 13: 计算机组成原理 考研辅导

微程序控制器的结构微程序控制器的结构

微地址 形成部件

顺序逻辑

CMAR

地址译码控制存储器

标志CLK

下地址CMDR

至 CPU 内部和系统总线的控制信号 OP IR

顺序控制操作控制微指令基本格式

μIR

ID

Page 14: 计算机组成原理 考研辅导

硬布线控制器与微程序控制器的硬布线控制器与微程序控制器的比较比较

比较内容 微程序控制器 硬布线控制器

工作原理

微操作控制信号事先以微程序的形式存放在控存中,执行指令

时读出即可

微操作控制信号由组合逻辑电路根据当前的指令码、状态和时序,即时产生

执行速度 慢 快规整性 较规整 繁琐、不规整应用场合 CISC CPU RISC CPU

易扩充性 易扩充修改 困难

Page 15: 计算机组成原理 考研辅导

(( 五五 ) ) 指令流水线指令流水线一、提高计算机速度的方法一、提高计算机速度的方法二、系统的并行性二、系统的并行性三、指令流水原理三、指令流水原理四、影响指令流水线性能的因素四、影响指令流水线性能的因素五、流水线性能五、流水线性能六、流水线的多发技术六、流水线的多发技术七、流水线结构七、流水线结构

Page 16: 计算机组成原理 考研辅导

一、提高计算机速度的方法一、提高计算机速度的方法1. 提高访存速度

2. 提高 I/O 和主机之间的传送速度

• 提高整机处理能力

高速芯片 Cache 多体并行

I/O 处理机DMA 多总线通道

高速器件 改进系统结构 开发系统的并行性

中断

3. 提高运算器速度

高速芯片 改进算法 快速进位链

Page 17: 计算机组成原理 考研辅导

时间上互相重叠

2. 并行性的等级

指令级(指令之间)   (指令内部)

过程级(程序、进程)

两个或两个以上事件在 同一时刻 发生

两个或两个以上事件在 同一时间段 发生并行

1. 并行的概念

粗粒度 软件实现

细粒度 硬件实现

并发

同时

二二 、系统的并行性、系统的并行性

Page 18: 计算机组成原理 考研辅导

取指令 3 执行指令 3

2. 指令的二级流水

1. 指令的串行执行

取指令 取指令部件 完成 总有一个部件 空闲

指令预取若 取指 和 执行 阶段时间上 完全重叠指令周期 减半 速度提高 1 倍

执行指令 执行指令部件 完成

取指令 1 执行指令 1

取指令 2 执行指令 2

取指令 3 执行指令 3

取指令 2 执行指令 2取指令 1 执行指令 1

三、指令流水原理三、指令流水原理

Page 19: 计算机组成原理 考研辅导

必须等 上条 指令执行结束,才能确定 下条 指令的地址,

造成时间损失

3. 影响指令流水效率加倍的因素

(1) 各流水段时间不均衡(执行时间 > 取指时间)

(2) 条件转移指令 对指令流水的影响

解决办法 ?

取指令部件

指令部件缓冲区

执行指令部件

猜测法

Page 20: 计算机组成原理 考研辅导

4. 指令的六级流水举例

六级流水 14 个时间单位串行执行 6 × 9 = 54  个时间单位

完成 一条指令 6 个时间单位

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

指令 1

指令 2

指令 3

指令 4

指令 5

指令 6

指令 7

指令 8

指令 9

1 2 3 4 5 6 7 8 9 10 11 12 13 14

t

取指令

指令译码

计算地址

取操作数

执行指令

写结果

Page 21: 计算机组成原理 考研辅导

四、影响指令流水线性能的因素四、影响指令流水线性能的因素

相关性:程序的相近指令之间出现某种关联,使指令流水出现停顿,影响流水线效率

三类相关:– 结构相关– 数据相关– 控制相关

Page 22: 计算机组成原理 考研辅导

指令 1 与指令 4 冲突指令 2 与指令 5 冲突

指令 1 、指令 3 、指令 6 冲突…

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

CO FO EI WODIFI

指令 1

指令 2

指令 3

指令 4

指令 5

指令 6

指令 7

指令 8

指令 9

1 2 3 4 5 6 7 8 9 10 11 12 13 14

t

1. 1. 结构相关结构相关 不同指令争用同一功能部件产生资源冲突

解决办法 • 停顿• 指令存储器和数据存储器分开• 指令预取技术 (适用于访存周期短的情况)

四、影响指令流水线性能的因素四、影响指令流水线性能的因素

Page 23: 计算机组成原理 考研辅导

22. . 数据相关数据相关不同指令因重叠操作,可能改变操作数的 读 /写 访问顺序

• 采用 旁路技术解决办法

• 写后读相关( RAW )SUB R1 , R2 , R3

ADD R4 , R5 , R1

;( R2 ) ( R3 ) R1

;( R5 ) + ( R1 ) R4

• 读后写相关( WAR )STA M , R2

ADD R2 , R4 , R5

;( R2 ) M 存储单元;( R4 ) + ( R5 ) R2

• 写后写相关( WAW )

• 后推法

MUL R3 , R2 , R1

SUB R3 , R4 , R5

;( R2 ) × ( R1 ) R3

;( R4 ) ( R5 ) R3

Page 24: 计算机组成原理 考研辅导

3. 3. 控制相关控制相关

BNE 指令必须等CPX 指令的结果才能判断出是转移还是顺序执行

LDA # 0

LDX # 0

INX

CPX # N

BNE M

DIV # N

STA ANS

ADD X, DM:

由转移指令引起

Page 25: 计算机组成原理 考研辅导

3. 3. 控制相关控制相关

WOEIFOCODI

WOEIFODIFI

FI

DIFI

COFI

FOCODIFI

WOEIFOCODIFI

DI FO EI WO

EIFO

CO

FI

DI

CO WODIFI

COFI

指令 1

指令 2

指令 3

指令 4

指令 5

指令 6

指令 7

指令 15

指令 16

1 2 3 4 5 6 7 8 9 10 11 12 13 14

转移损失

t

设 指令 3 是转移指令

•解决办法:解决办法:•猜测法猜测法•加快和提前形成条件码 加快和提前形成条件码 •采用优化延迟转移技术采用优化延迟转移技术

Page 26: 计算机组成原理 考研辅导

1. 1. 吞吐率 吞吐率

单位时间内 流水线所完成指令 或 输出结果 的 数量

• 最大吞吐率(满载后)

• 实际吞吐率

连续处理 n 条指令的吞吐率为

设 m 段的流水线各段时间为 Δt

Tpmax = Δ1t

Tp =m ·Δ + (n-1) · Δ

nt t

五、流水线性能五、流水线性能

个任务的时间完成完成的任务数

n

nTP

Page 27: 计算机组成原理 考研辅导

2. 2. 加速比 加速比 SSpp

m 段的 流水线的速度 与等功能的 非流水线的速度 之比

设流水线各段时间为 Δt

完成 n 条指令在 m 段流水线上共需

T = m · + (n-1) · t t Δ Δ

完成 n 条指令在等效的非流水线上共需

T ′= nm ·t Δ

Sp =

m · +(n-1) · nm ·

=nm

m + n -1 Δ t

Δ Δt t  则

Page 28: 计算机组成原理 考研辅导

由于流水线有 建立时间 和 排空时间因此各功能段的 设备不可能 一直 处于 工作 状态

流水线中各功能段的 利用率

3. 3. 效率效率

mΔt

31 2 4 5

31 2 4 5

31 2 4 5

31 2 4 5

… … …

… … …

… … …

… … …

n-1 n

n-1 n

n-1 n

n-1 n

T 时间

S 空间

空间

S4

S3

S2

S1

(n-1) Δt

Page 29: 计算机组成原理 考研辅导

m(m + n -1) Δt =

mnΔt

流水线各段处于工作时间的时空区

流水线中各段总的时空区 效率 =

3. 3. 效率效率

mΔt

31 2 4 5

31 2 4 5

31 2 4 5

31 2 4 5

… … …

… … …

… … …

… … …

n-1 n

n-1 n

n-1 n

n-1 n

T 时间

S 空间

空间

S4

S3

S2

S1

(n-1) Δt

流水线中各功能段的 利用率

Page 30: 计算机组成原理 考研辅导

1. 1. 超标量技术 超标量技术 每个时钟周期内可 并发多条独立指令

不能调整 指令的 执行顺序

配置多个功能部件(资源重复)

通过编译优化技术,把可并行执行的指令搭配起来

IF ID EX WR

0 1 2 3 4 5 6 7 8 9 10 11 12 13

时钟周期

指令序列

六、流水线的多发技术六、流水线的多发技术

Page 31: 计算机组成原理 考研辅导

2. 2. 超流水线技术超流水线技术 在 一个时钟周期 内 再分段 ( 3 段)

不能调整 指令的 执行顺序

在一个时钟周期内 一个功能部件使用多次( 3 次)

靠编译程序解决优化问题

流水线速度是原来速度的 3 倍

IF ID EX WR

0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期

指令序列

Page 32: 计算机组成原理 考研辅导

3. 3. 超长指令字技术超长指令字技术

采用 多个处理部件具有 多个操作码字段 的 超长指令字(可达几百位)

由编译程序 挖掘 出指令间 潜在 的 并行性,

将 多条 能 并行操作 的指令组合成 一条

IF ID EX WR

0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期

指令序列

Page 33: 计算机组成原理 考研辅导

1. 指令流水线结构完成一条指令分 7 段, 每段需一个时钟周期

若 流水线不出现断流 1 个时钟周期出 1 结果

不采用流水技术 7 个时钟周期出 1 结果

理想情况下, 7 级流水 的速度是不采用流水技术的 7 倍

地址形成部

件指令译码部

件 取操作数部

件取指令部

件 操作执行部件

回写结果部件

修改指令指针部

锁存 锁存 锁存 锁存 锁存 锁存

七、流水线结构七、流水线结构

Page 34: 计算机组成原理 考研辅导

2. 运算流水线

完成 浮点加减 运算 可分对阶、尾数求和、规格化 三段

分段原则 每段 操作时间 尽量 一致

锁存

器对阶功能部

第一段

尾数加部

件 锁存

第二段

规格化部

件 锁存

第三段