58
第 6 第 第第第第第 中中中中中 (CPU)= 中中中 (ALU)+ 中中中 (CU) §6.1 CPU 中中中中中中 §6.2 CPU 中中中中中中 §6.3 CPU 中中中中 §6.4 中中中中中中 §6.5 中中中中中中中 §6.6 中中中中 §6.7 中中中中中中中中中中

第 6 章 中央处理器

  • Upload
    burt

  • View
    235

  • Download
    0

Embed Size (px)

DESCRIPTION

第 6 章 中央处理器. 中央处理器 (CPU)= 运算器 (ALU)+ 控制器 (CU) 。. §6.1 CPU 的组成与操作 §6.2 CPU 时序控制方式 §6.3 CPU 控制流程 §6.4 控制器的组成 §6.5 指令的执行过程 §6.6 指令流水 §6.7 操作控制信号形成部件. §6.1 CPU 的组成与操作. 1 、 CPU 的组成 2 、 CPU 的四种基本功能 3 、从内存读取一个字 4 、把一个字写入主存 5 、通用寄存器之间传送数据 6 、完成算术、逻辑运算. §6.1 CPU 的组成与操作. 1 、 CPU 的组成:. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 6 章 中央处理器

第 6章 中央处理器

中央处理器 (CPU)= 运算器 (ALU)+ 控制器 (CU) 。

§6.1 CPU 的组成与操作

§6.2 CPU 时序控制方式

§6.3 CPU 控制流程

§6.4 控制器的组成

§6.5 指令的执行过程

§6.6 指令流水

§6.7 操作控制信号形成部件

Page 2: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

1 、 CPU 的组成

2、 CPU 的四种基本功能

3、从内存读取一个字

4、把一个字写入主存

5、通用寄存器之间传送数据

6、完成算术、逻辑运算

Page 3: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

1 、 CPU 的组成:

PC 程序计数器

IR 指令寄存器

指令译码器

内部总线

存储器数据寄存器 MDR存储器地址寄存器 MAR

算数逻辑运算单元 ALU通用寄存器 R0 到 R(n-1)

暂存寄存器 Y、 Z

Page 4: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

地址线

指令译码器

MDR

MAR

PC

IR

数据线存储器总线

R0

Y

R(n-1)

Z

ALU

加减1→ C0

ALU控制

6.1 CPU图 内部单总线组织的数据通路

...

Page 5: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

R(n-1)

Y

...

Yin

A BALU

Z

Zout

Yout

R(n-1)out

Zin

6.2 图 寄存器的输入门和输出门

...

R(n-1)in

Page 6: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

2 、 CPU 的四种基本功能 :

( 1)、读取某一主存单元的内容,并将其装入某一个 CPU 寄存器;

( 2)、把一个数据字从某一个 CPU 寄存器存入某个给定的主存单元中;

( 3)、把一个数据字从某一个 CPU 寄存器送到另一个寄存器或者 ALU ;

( 4)、进行一个算术运算或逻辑运算,将结果送入某一个 CPU 寄存器。

Page 7: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

3 、从内存读取一个字:

举例:假设要访问的主存单元地址放在寄存器 R1中,并且要求把读出的内容装入寄存器R2。

( 1)、 MAR←[R1] (R1out, MARin)

( 2)、 Read

( 3)、 WMFC ;等待 MFC 信号( Wait MFC )

( 4)、 R2←[MDR] (MDRout, R2in)

Page 8: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

地址线

指令译码器

MDR

MAR

PC

IR

数据线存储器总线

R0

Y

R(n-1)

Z

ALU

加减1→ C0

ALU控制

6.1 CPU图 内部单总线组织的数据通路

...( 1)、 MAR←[R1] (R1out, MARin)

( 2)、 Read

( 3)、 WMFC ;等待 MFC 信号( Wait MFC )

( 4)、 R2←[MDR] (MDRout, R2in)

Page 9: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

4 、把一个字写入主存 :

举例:假设要写入的数据字放在 R2中,存储单元的地址放在 R1中。

( 1)、 MAR←[R1] (R1out, MARin)

( 2)、 MDR←[R2] (R2out, MDRin)

( 3)、 Write

( 4)、 WMFC

Page 10: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

地址线

指令译码器

MDR

MAR

PC

IR

数据线存储器总线

R0

Y

R(n-1)

Z

ALU

加减1→ C0

ALU控制

6.1 CPU图 内部单总线组织的数据通路

...

( 1)、 MAR←[R1] (R1out, MARin

)

( 2)、 MDR←[R2] (R2out, MDRin

)

( 3)、 Write

( 4)、 WMFC

Page 11: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

5 、通用寄存器之间传送数据 :

举例:将寄存器 R1的内容传送到 R4 。

R1out , R4in

Page 12: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

地址线

指令译码器

MDR

MAR

PC

IR

数据线存储器总线

R0

Y

R(n-1)

Z

ALU

加减1→ C0

ALU控制

6.1 CPU图 内部单总线组织的数据通路

...

R1out , R4i

n

Page 13: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

6 、完成算术、逻辑运算 :

举例:完成寄存器 R1的内容与寄存器 R2的内容相加,并将结果送入寄存器 R3 。

( 1)、 R1out , Yin

( 2)、 R2out , Add , Zin

( 3)、 Zout , R3in

Page 14: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

地址线

指令译码器

MDR

MAR

PC

IR

数据线存储器总线

R0

Y

R(n-1)

Z

ALU

加减1→ C0

ALU控制

6.1 CPU图 内部单总线组织的数据通路

...

( 1)、 R1out , Yin ( 2)、 R2out , Add ,Zin

( 3)、 Zout , R3in

Page 15: 第 6 章 中央处理器

§6.1 CPU 的组成与操作接通三态门的时间

总线传输时间

通过 ALU 的延时

建立时间

保持时间

有效数据进入寄存器 Z

准备下一操作的控制信号

下一操作开始

R2out

t0 t1 t2 t3 t4 t5

Zin

图 6.3 加法操作期间控制信号的时序

R2out , Add ,Zin

Page 16: 第 6 章 中央处理器

§6.2 CPU 时序控制方式

1 、同步控制方式

2、异步控制方式

3、联合控制方式

Page 17: 第 6 章 中央处理器

§6.2 CPU 时序控制方式

1、同步控制方式: 系统有一个统一的时钟,所有控制信号均来自这个统一的时钟信号。

指令周期: CPU 每取出并执行一条指令所需要的全部时间。

工作周期(机器周期):指令运行过程中相对独立的阶段。一般把指令的运行过程分为取指令、读取操作数及执行 (包括写结果 )等三个基本工作周期。

Page 18: 第 6 章 中央处理器

§6.2 CPU 时序控制方式

时钟周期: 在一个机器周期里可以完成若干个微操作,每个微操作都需一定的时间,可用时钟信号来控制产生每一个微操作命令。因此,一个机器周期内包含若干个时钟周期(又称节拍或状态)。 在每个节拍内机器可完成一个或几个需同时执行的微操作。

Page 19: 第 6 章 中央处理器

§6.2 CPU 时序控制方式

Page 20: 第 6 章 中央处理器

§6.2 CPU 时序控制方式

2 、异步控制方式 :

没有基准时钟信号,没有固定的周期节拍和严格的时钟同步,执行每条指令和每个操作需要多少时间就占用多少时间。

这种方式微操作的时序由专门的应答线路控制,即当 CU发出执行某一微操作的控制信号后,等待执行部件完成了该操作后发回“回答”(或“结束” )信号,再开始新的微操作,使 CPU 没有空闲状态,但因需要采用各种应答电路,故其结构比同步控制方式复杂。

Page 21: 第 6 章 中央处理器

§6.2 CPU 时序控制方式

3 、联合控制方式:

所谓联合控制方式是同步和异步控制方式的结合。

对于不同的操作序列以及其中的每个操作,实行部分统一、部分区别对待的方式。

Page 22: 第 6 章 中央处理器

§6.3 CPU 控制流程

程序执行完了吗?

取出指令

启动

分析指令

执行指令

是否有中断请求?

转中断处理程序

返回

6.5 CPU图 控制流程

等待

程序 :能完成某个确定算法的指令序列。 计算机进行信息处理的过程就是不断地取指令、分析指令和执行指令这样一个周而复始的过程。1、取指令 : 由程序计数器( PC)指出当前指令地址,通过执行“MAR←( PC )”和“ Read”命令,从主存中取出指令。

Page 23: 第 6 章 中央处理器

§6.3 CPU 控制流程

程序执行完了吗?

取出指令

启动

分析指令

执行指令

是否有中断请求?

转中断处理程序

返回

6.5 CPU图 控制流程

等待

2 、分析指令 : 对取出的指令进行分析,指出它执行什么操作,产生相应的操作控制信号。如果参与操作的数据在主存中,则还需要形成操作数地址。3、执行指令 : 根据指令分析得到的“操作命令”和“操作数地址”,按一定的算法形成相应的操作控制命令序列,通过运算器、存储器及外部设备等的具体执行,实现每条指令的功能。

Page 24: 第 6 章 中央处理器

§6.3 CPU 控制流程

程序执行完了吗?

取出指令

启动

分析指令

执行指令

是否有中断请求?

转中断处理程序

返回

6.5 CPU图 控制流程

等待

4 、对异常情况和某些请求的(中断 )处理 : 当机器出现某些异常情况,如算术运算溢出、数据传送奇偶错等;或者某些外来请求, (如磁盘成批数据送存储器结束或程序员从键盘送入命令 )等,此时由这些部件或设备发出“中断请求”信号,待执行完当前指令后, CPU 响应该请求,中止当前执行的程序,转去执行中断服务程序。当处理完毕后,再返回原程序继续运行。

Page 25: 第 6 章 中央处理器

§6.4 控制器的组成

1 、程序计数器( PC) : 又称指令计数器或指令指针( IP),在某些机器中用来存放正在执行的指令地址;在大多数机器中则存放要执行的下一条指令的地址。 指令地址的形成有两种可能: 一是顺序执行的情况,每执行一条指令,程序计数器加“ 1”以形成下条指令的地址。该加“ 1”计数的功能,有的机器是 PC本身具有的,也有的机器是借用运算器完成的。 二是在某些条件下,需要改变程序执行的顺序,这常由转移类指令形成转移地址送到 PC中,作为下条指令的地址。

Page 26: 第 6 章 中央处理器

§6.4 控制器的组成

2 、指令寄存器( IR) :

用以存放现行指令,以便在整个指令执行过程中,实现一条指令的全部功能控制。

3 、指令译码器 :

又称操作码译码器,它对指令寄存器中的操作码部分进行分析解释,产生相应的控制信号提供给操作控制信号形成部件。

Page 27: 第 6 章 中央处理器

§6.4 控制器的组成

4 、脉冲源及启停控制线路 : 脉冲源 :产生一定频率的脉冲信号作为整个机器的时钟脉冲。 启停线路 :在需要的时候保证可靠地开放或封锁时钟脉冲,控制时序信号的发生与停止,实现对机器的启动与停机。5 、时序信号产生部件 : 以时钟脉冲为基础,具体产生不同指令相对应的周期、节拍等时序信号,以实现机器指令执行过程的时序控制。

Page 28: 第 6 章 中央处理器

§6.4 控制器的组成

6 、操作控制信号形成部件 :

综合时序信号、指令译码信息、被控功能部件反馈的状态条件信号等,形成不同指令所需要的操作控制信号序列。

7 、中断机构 :

实现对异常情况和某些外来请求的处理。

8 、总线控制逻辑 :

实现对总线信息传输的控制。

Page 29: 第 6 章 中央处理器

§6.4 控制器的组成

启停控制线

操作控制信号形成部件

时序信号产生部件 指令译码器

指令寄存器

程序计数器脉冲源

状态寄存器

通用寄存器

ALU

总线控制逻辑

中断机构

+"1"

转移 地址地址总线数据总线控制总线

图 6.6 控制器组成框图

Page 30: 第 6 章 中央处理器

§6.5 指令的执行过程

一、加法指令:1、指令: Add R1 ,( R3 ) 该指令的功能是将某存储单元的内容与寄存器 R1的内容相加,结果存入 R1中。存储单元的地址放在寄存器 R3中(寄存器间接寻址)。2 、执行这条指令需要下列动作:( 1)取指令;( 2)取操作数(由 R3所指出的存储单元的内容);( 3)完成加法运算;( 4)结果存入 R1中。

Page 31: 第 6 章 中央处理器

§6.5 指令的执行过程

3 、操作控制序列(微操作序列): (图 6.1 所示的单总线结构)步 动作1 PCout,MARin,Read, Clear Y,1→C0 , Add,Zin ;取指, (PC)+12 Zout,PCin,WMFC ; (PC)+1→PC3 MDRout,IRin ;指令→ IR4 R3out,MARin,Read ;取数据 5 R1out,Yin,WMFC ; (R1)→Y6 MDRout,Add,Zin ;相加7 Zout,R1in,End ;结果→ R1

Page 32: 第 6 章 中央处理器

§6.1 CPU 的组成与操作

地址线

指令译码器

MDR

MAR

PC

IR

数据线存储器总线

R0

Y

R(n-1)

Z

ALU

加减1→ C0

ALU控制

6.1 CPU图 内部单总线组织的数据通路

...

Page 33: 第 6 章 中央处理器

§6.5 指令的执行过程

二、无条件转移指令 (BR) :步 动作1 PCout,MARin,Read,Clear Y, 1→C0 ,Add,Zin

2 Zout,PCin,WMFC3 MDRout,IRin

4 PCout,Yin

5 ( IR 的偏移字段 )out,Add,Zin

6 Zout,PCin,End

Page 34: 第 6 章 中央处理器

§6.5 指令的执行过程

三、条件转移指令: 如果 N 标志等于 1 则转移。 步 动作1 PCout,MARin,Read,Clear Y, 1→C0 ,Add,Zin

2 Zout,PCin,WMFC3 MDRout,IRin

4 If N=0 then End , If N=1 then PCout,Yin

5 ( IR 的偏移字段 )out,Add,Zin

6 Zout,PCin,End

Page 35: 第 6 章 中央处理器

§6.6 指令流水

1 、指令流水原理

2、影响流水线性能的因素

3 、超标量技术

Page 36: 第 6 章 中央处理器

1 、指令流水原理指令的串行执行: 取指令 1 执行指令 1 取指令 2 执行指令 2 取指令 3 执行指令 3

在取指令时,执行部件是空闲的,在执行指令时,取指令部件基本上是空闲的。可以考虑在执行部件执行指令的同时取下一条指令,即两条指令的执行过程在时间上有重叠(即指令流水)。指令的二级流水:

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

取指令 3 执行指令 3取指令 4 执行指令 4

Page 37: 第 6 章 中央处理器

1 、指令流水原理 指令六级流水:取指( FI) 指令译码( DI) 计算操作数地址( CO)取操作数( FO) 执行指令( EI ) 写操作数( WO)

FI DI CO FO EI WO

FI DI CO FO EI WO

FI DI CO FO EI WO

FI DI CO FO EI WO

FI DI CO FO EI WO

FI DI CO FO EI WO

FI DI CO FO EI WO

指令 1指令 2指令 3指令 4指令 5指令 6指令 7指令 8

FI DI CO FO EI WO

t

Page 38: 第 6 章 中央处理器

2 、影响流水线性能的因素

1 、访存冲突:

避免方法:

( 1)设置两个存储器系统分别放置指令和数据。

( 2)采用预取指令技术:设置指令队列,在执行指令过程中利用存储器空闲时间取指令,只要指令队列有空,就可以取下一条指令。

Page 39: 第 6 章 中央处理器

2 、影响流水线性能的因素

Page 40: 第 6 章 中央处理器

2 、影响流水线性能的因素

2 、相关问题 :

( 1)控制相关:

当一条指令需要等到前一条指令(或前几条指令)作出转移方向的决定后才能进入流水线,即产生控制相关。

( 2)数据相关:

指几条指令共用了同一个存储单元(或寄存器)的内容时所发生的关联。

Page 41: 第 6 章 中央处理器

3 、超标量技术

在每个时钟周期内可以同时并发多条独立指令,即以并行操作的方式将两条或两条以上的指令编译并执行。 超标量处理机内部配置有多个功能部件和指令译码电路,以及多个寄存器端口和总线。 条件:并发执行的指令不能相关。

Page 42: 第 6 章 中央处理器

3 、超标量技术

Page 43: 第 6 章 中央处理器

§6.7 操作控制信号形成部件

操作控制信号形成部件:产生指令所需要的操作控制信号序列,用以控制计算机各部分的操作,它是整个控制器的核心,也是最复杂的部件。

一、组合逻辑控制与 PLA 控制

二、微程序控制

Page 44: 第 6 章 中央处理器

一、组合逻辑控制与 PLA 控制

1 、组合逻辑控制

2、 PLA 控制

Page 45: 第 6 章 中央处理器

T1 T2 … TnINS1

INS2

INSm

1 、组合逻辑控制( 1)、组合逻辑控制器框图:

时钟 控制步计数器

步译码器

编码器 标

IR

指令译码器

操作控制信号

Page 46: 第 6 章 中央处理器

1 、组合逻辑控制( 2)、微操作命令的逻辑表达式: Zin = T1 + T6·ADD + T5·BR + … End = T7·ADD + T6·BR +( T6·N + T4·N)·BRN + …

Page 47: 第 6 章 中央处理器

2 、 PLA 控制

可编程逻辑阵列( PLA ):由一个“与”门阵列和一个“或”门阵列构成,它能实现一个多变量组合逻辑电路。

Page 48: 第 6 章 中央处理器

2 、 PLA 控制

F1

F3F2

F4

a

d

c

b

图 6.18 PLA 模型F1= abcd + abcd + bcd + abcd

F2= abcd + abcF3= abcd + abcd + bdF4= bcd + abc + bd

Page 49: 第 6 章 中央处理器

2 、 PLA 控制

AND array

OR array

IR 控制步 计数器

标 志操作控制信号

Page 50: 第 6 章 中央处理器

二、微程序控制

1 、 Wilkes微程序控制

2、基本概念

3 、微指令的格式与编码

4、微指令地址的生成

Page 51: 第 6 章 中央处理器

1 、 Wilkes微程序控制

微程序存储器(控制存储器)

微指令

机器指令

微命令微操作

Page 52: 第 6 章 中央处理器

1 、 Wilkes微程序控制

减少了电路的复杂性和非标准化程度。提供了很大的灵活性,使得设计的变更、修改以及指令系统的扩充都成为不太困难的事情。

微程序控制器的主要缺点是:它要比相同或相近半导体技术的硬布线式控制器 (如 PLA 方式 )慢一些。

Page 53: 第 6 章 中央处理器

§6.5 指令的执行过程

3 、操作控制序列(微操作序列): Add R1 ,( R3 ) 步 动作1 PCout,MARin,Read, Clear Y,1→C0 , Add,Zin ;取指, (PC)+12 Zout,PCin,WMFC ; (PC)+1→PC3 MDRout,IRin ;指令→ IR4 R3out,MARin,Read ;取数据 5 R1out,Yin,WMFC ; (R1)→Y6 MDRout,Add,Zin ;相加7 Zout,R1in,End ;结果→ R1

Page 54: 第 6 章 中央处理器

2 、基本概念

微命令:控制部件向执行部件发出的控制信号。微操作:执行部件接受到微命令后所做的动作。微指令:若干微命令的组合,用于产生一组控制信号,以控制执行一组微操作,完成一个基本的运算或传送功能。有时也将微指令称作控制字(CW),其中每一位代表一个微命令。微程序:完成指定任务的微指令序列。对应于一条机器指令。微程序存储器(控制存储器):存放指令系统所对应的所有微程序的一个专门存储器。一般是只读存储器。

Page 55: 第 6 章 中央处理器

2 、基本概念

Page 56: 第 6 章 中央处理器

2 、基本概念

Page 57: 第 6 章 中央处理器

2 、基本概念

( 1)微程序定义了计算机的指令系统。因此可以借助改变微程序存储器的内容来改变指令系统。这为计算机设计者及用户提供了相当大的灵活性;( 2)一般而言,并不经常改变微程序存储器的内容,所以通常用只读存储器 ROM充当微程序存储器;( 3)任何机器指令的执行都将多次访问控制存储器,因此,此控制存储器的速度在决定计算机总的速度时起着主要的作用。

Page 58: 第 6 章 中央处理器

作业

P177 1、 3、 5