第五章 中央处理器[二]
计算机组成原理教案(第五章)

(1) I1: ADD R1,R2,R3 ; I2: SUB R4,R1,R5 ;
3.联合控制方式
此为同步控制和异步控制相结合的方式。 情况(1) 大部分操作序列安排在固定的机器周 期中,对某些 时间难以确定的操作则以执行部件的“回答”信号作为本次操 作的结束; 情况(2) 机器周期的节拍脉冲数固定,但是各条指令周期的 机器周期数不固定。
5.4 微程序控制器
5.4.1 微命令和微操作
控 制 字 段 判别测试字段
下地址字段
按照控制字段的编码方法不同,水平型微指令又分为三种:
I. 全水平型(不译法)微指令 II. 字段译码法水平型微指令 III. 直接和译码相混合的水平型微指令。
2.垂直型微指令
微指令中设置微操作码字段,采用微操作码编译法,由 微操作码规定微指令的功能 ,称为垂直型微指令。
下面举4条垂直型微指令的微指令格式加以说明。设微指 令字长为16位,微操作码3位。
(1)寄存器-寄存器传送型微指令 (2)运算控制型微指令
(3)访问主存微指令 (4)
3.水平型微指令与垂直型微指令的比较
(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微 指令则较差。
(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间 长。
5.8.3 流水线中的主要问题
流水过程中通常会出现以下三种相关冲突,使流水线断流。
1. 资源相关
资源相关是指多条指令进入流水线后在同一机器时钟周 期内争用同一个功能部件所发生的冲突。
2. 数据相关
在一个程序中,如果必须等前一条指令执行完毕后,才能 执行后一条指令,那么这两条指令就是数据相关的。
5.8 流水CPU
5.8.1 并行处理技术
王道计组第五章中央处理器思维导图脑图

处理取指周期、间址周期、中断周期的微指令序列通常是公用的。执行周期的微 指令序列各不相同
工作原理
取指周期的微指令序列固定从#0 开始存放。执行周期的微指令序列的存放根据指 令操作码确定
程序vs微程序﹔指令vs微指令;主存储器vs控制器存储器(CM);MAR vs CMAR;MDR vsCMDR;PCvs uPC;lR vs ulR
1.后一相关指令暂停一周期 2.资源重复配置:数据存储器+指令存储器
解决办法
1.结构因素(资源冲突)
数据相关指在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的 情况,则这两条指令即为数据相关
1.把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,直到数据相关 问题消失后再继续执行。可分为硬件阻塞(stall)和软件插入“NOP”两种方法。
取指周期
将MAR所指主存中的内容经数据总线送入MDR,记做M(MAR)→MDR
将MDR中的内容(此时是指令)送入IR,记做:(MDR)→IR
CU发出控制信号,形成下一条指令地址,记做(PC)+1→PC
垂直型微指令
微指令的格式
优点:微指令短,简单,规整,便于编写微程序
缺点:微程序长,执行速度慢,工作效率低
在垂直型基础上增加一些不太复杂的并行操作 微指令较短,仍便于编写;微程序也不长,执行速度加快
第五章中央处理器习题参考答案1.请在括号内填入适当答案。在CPU中

第五章中央处理器习题参考答案1.请在括号内填入适当答案。
在CPU中:(1) 保存当前正在执行的指令的寄存器是(指令寄存器IR);(2) 保存当前正在执行的指令地址的寄存器是(程序计数器AR);(3) 算术逻辑运算结果通常放在(通用寄存器)和(数据缓冲寄存器DR)。
2.参见下图(课本P166图5.15)的数据通路。
画出存数指令"STA R1 ,(R2)"的指令周期流程图,其含义是将寄存器R1的内容传送至(R2)为地址的主存单元中。
标出各微操作信号序列。
解:"STA R1 ,(R2)"指令是一条存数指令,其指令周期流程图如下图所示:3.参见课本P166图5.15的数据通路,画出取数指令"LDA(R3),RO"的指令周期流程图,其含义是将(R3)为地址的主存单元的内容取至寄存器R0中,标出各微操作控制信号序列。
5.如果在一个CPU周期中要产生3个脉冲 T1 = 200ns ,T2 = 400ns ,T3 = 200ns,试画时序产生器逻辑图。
解:节拍脉冲T1 ,T2 ,T3 的宽度实际等于时钟脉冲的周期或是它的倍数,此时T1 = T3 =200ns ,T2 = 400 ns ,所以主脉冲源的频率应为 f = 1 / T1 =5MHZ 。
为了消除节拍脉冲上的毛刺,环型脉冲发生器可采用移位寄存器形式。
下图画出了题目要求的逻辑电路图和时序信号关系。
根据关系,节拍脉冲T1 ,T2 ,T3 的逻辑表达式如下:T1 = C1·, T2 = , T3 =6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。
已知微指令长度为32位,请估算控制存储器容量。
解:微指令条数为:(4-1)×80+1=241条取控存容量为:241×32/8=964B7. 某ALU器件使用模式控制码M,S3,S2,S1,C来控制执行不同的算术运算和逻辑操作。
计算机组成原理第6版(白中英)第5章中央处理器

5.2.1 指令周期的基本概念
也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位。 在一个CPU周期内,要完成若干个微操作。这些微操作有的 可以同时执行,有的需要按先后次序串行执行。因而需要把 一个CPU周期分为若干个相等的时间段,每一个时间段称为 一个节拍脉冲或T周期。 时钟周期通常定义为机器主频的倒数。
10
5.2.1 指令周期的基本概念
CPU执行程序是一个“取指令—执行指令”的循环过程。
CPU从内存中取出一条指令,并执行这条指令的时间总和; 指令周期常用若干个CPU周期来表示。 又称机器周期,一般为从内存读取一条指令字的最短时间; 一个CPU周期可以完成CPU的一个基本操作。 一个CPU周期包含若干时钟周期。
3
3
5.1.2 CPU的基本组成
现代的CPU的组成
冯·诺依曼机的定义
• 运算器、控制器 、片内Cache;
控制器的主要功能
• 从内存中取出一条指令,并指出下条指令的存放位置;PC、IR
• 对指令进行译码,产生相应的操作控制信号;
ID、时序电路、操 作控制器
• 控制CPU、内存和输入/输出设备之间数据流动;
12
5.2.1 指令周期的基本概念
定长CPU周期的指令示意图:
单周期CPU:在一个时钟周期内完成从指令取出到得到结果的工作,
以最长指令为准,效率低,目前较少采用。
多周期CPU:将指令的执行分成多个阶段,每个阶段在一个时钟周期
内完成,因而时钟周期段,不同指令所用的周期数不同。以下仅讨论多周 期CPU。
求操作数 有效地址
14
5.2.1 指令周期的基本概念 一个简单的程序
地址 指令
说明
100
计算机组成原理第5章 中央处理器

19
第二节 一、指令执行分析 任何一条指令的执行都要经过读取指令、分析 指令和执行指令三个阶段。指令执行过程一般可分 为:1)取指令 2 3 4 5
20
图5.5
流水处理
21
二、 计算机的功能是执行程序。执行程序时,计算 机操作由一系列指令周期组成,每个周期执行一条 机器指令,而每个指令周期又由若干个机器周期组 成,一种通常的办法是分解成取指、取操作数、执 行和中断,只有取指和执行周期总是必有的。 1 2 图
10
二、时序控制方式 计算机的基本任务是执行指令。执行一条指令 的过程是分为若干步来实现的,每一步对应某些微 操作。由于不同指令所对应的微操作及繁简程度大 不相同,因而每条指令和每个微操作所需的执行时 间也不相同,这就需要引入时序信号来对这些微操 作进行定时控制。时序控制方式,就是指微操作与 时序信号之间采取何种关系。按照同步或非同步的 关系,可将时序控制方式分为同步控制和异步控制
13
计算机从取指令到执行完指令所需要的时间称 为指令周期。不同的指令,其功能不同,其指令周 期长短也就可以不同。在系统中,通常不为指令周 期设置时间标志信号,因而也不将其作为时序的一 级。时序信号通常划分为三级,即机器周期、节拍
14
图5.2
时序系统结构框图
15
3) 异步控制方式中没有统一的时钟信号,各部件 按自身固有的速度工作,通过应答方式进行联络, 常见的应答信号有准备好(READY)或等待( WAIT
16
图5.3 多级时序
17
图5.4
异步应答流程
18
在CPU中,控制器的任务是决定在什么时间、 根据什么条件、发什么命令、做什么操作。因此, 产生微命令的基本依据是时间、指令代码、状态、 外部请求等。这些信息或作为逻辑变量,经组合逻 辑电路产生微命令序列;或形成相应的微程序地址, 通过执行微指令直接产生微命令序列。按照微命令 的产生方式,可将控制器分为组合逻辑控制器和微
第五章中央处理器2-2

特点
①能以较短的顺序控制字段配合, 实现多路并行转移; ②灵活性好,速度较快; ③转移地址逻辑需要用组合逻辑方法设计。
14
【例3】微地址寄存器有6位(μA5-μA0),当需 要修改其内容时,可通过某一位触发器的强置端S 将其置“ 1 ”。现有三种情况:( 1 )执行“取指” 微指令后,微程序按IR的OP字段(IR3-IR0)进行 16路分支;(2)执行条件转移指令微程序时,按 标志 C 的状态进行路分支;( 3 )执行控制台指令 微程序时,按 IR4,IR5 的状态进行 4 路分支。请按 多路转移方法设计微地址转移逻辑。
空间S
WB EX ID I1 I1 I2 I1 I2 I1 I2 I3 I3 I4 I5 I4 I5 I5 I2
I3
I4
IF
I1 图5.38 I2 流水计算机的时空图 I4 I5 (c)标量流水线时空图 I3 1 2 3 4 5 6 7 8 时间T
45
比较:
流水计算机在8个单位时间中执行了5条指令,
25
5.5.4 动态微程序设计
微程序设计技术
静态微程序设计 动态微程序设计
静态微程序设计
对应于一台计算机的机器指令只有一组微 程序,微程序设计好之后,不好改变,这 种微程序设计技术称为静态微程序设计。
26
动态微程序设计
当采用 EPROM 作为控制存储器时,可以通过 改变微指令和微程序来改变机器的指令系统, 这种微程序设计技术称为动态微程序设计。
译码
字段1
字段2 顺序控制
……
P字段
下一个微地址 顺序控制
图5.30
段直接译码法
10
(3)混合表示法
混合表示法:
把直接表示法与字段编码法混合使用 ,综合 考虑微指令字长、灵活性、执行微程序速度等 方面的要求。 在微指令中可附设一个常数字段。 该常数可 作为操作数送入 ALU 运算,也可作为计数器初 值用来控制微程序循环次数。
第5章 5.1--5.3中央处理器(白中英)

控制器主要功能有: 控制器主要功能有: 主要功能有 (1)从内存中取出一条指令,并指出下一条指令 从内存中取出一条指令, 从内存中取出一条指令 在内存中的位置; 在内存中的位置; (2)对指令进行译码或测试,并产生相应的操作 对指令进行译码或测试, 对指令进行译码或测试 控制信号,以便启动规定的动作; 控制信号,以便启动规定的动作; (3)指挥并控制 指挥并控制CPU、内存和输入 输出设备之间 指挥并控制 、内存和输入/输出设备之间 数据流动的方向。 数据流动的方向。
第5章 中央处理器 章
内容提要: 内容提要: CPU是计算机硬件 是计算机硬件 组成的核心部分。 组成的核心部分。本章 将详细介绍CPU的功能 将详细介绍 的功能 及基本组成,指令周期, 及基本组成,指令周期, 时序信号发生器, 时序信号发生器,组合 逻辑控制器, 逻辑控制器,微程序控 制器及其设计技术, 制器及其设计技术,并 行处理技术和典型CPU 行处理技术和典型 的结构等。 的结构等。 CPU的基本功能和组成 5.1 CPU的基本功能和组成 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器 5.5 硬连线控制器 5.6 传统CPU 传统CPU 5.7 流水CPU 流水
5.1.2 CPU的组成 的组成
CPU的基本部分由运算器、cache和控制器三大部分组成。 的基本部分由运算器、 和控制器三大部分组成 的基本部分由运算器 和控制器三大部分组成。 运算器的组成 由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状 由算术逻辑单元 、累加寄存器、 态条件寄存器组成,是数据加工处理部件。 态条件寄存器组成,是数据加工处理部件。 相对控制器而言, 相对控制器而言,运算器接受控制器的命令而进行动作 , 即运算器所进行的全部操作都是由控制器发出的控制信号来指 挥的,所以它是执行部件。 挥的,所以它是执行部件。 运算器主要功能: 运算器主要功能: 主要功能 (1)执行所有的算术运算; 执行所有的算术运算; 执行所有的算术运算 (2)执行所有的逻辑运算,并进行逻辑测试,如两个数值比较。 执行所有的逻辑运算,并进行逻辑测试,如两个数值比较。 执行所有的逻辑运算
第五章 中央处理器new

(5)STA Z: Z →AR, AC (4)ADD Y: Y →AR →M →DR
→DR →M
→ALU →ADD →AC
思考
用二进制码表示的指令和数据都放在内存里,那 么CPU 是怎样识别出它们是数据还是指令呢?
从时间上来说,取指令事件发生在指令周期的第一个 CPU周期中,即发生在“取指令”阶段,而取数据事件 发生在指令周期的后面几个CPU周期中,即发生在“执 行指令”阶段。
Q
Q
D
CP
节拍电位
逻辑电路
逻辑电路
节拍脉冲
信息 节拍电位 打入条件 节拍脉冲
节拍的选取
由于不同的机器周期内需要完成的微操作内容和 个数是不同的,因此,不同机器周期内所需要的 节拍数也不同。节拍的选取有几种方法:
统一节拍法
以最复杂的机器周期为准定出节拍数。这种方法采 用统一的、具有相等时间间隔和相同数目的节拍, 使得所有的机器周期长度是相等的,因此称为定长 CPU周期。
节拍 电位
在各条不同指令的不同机器周期的不同节拍中应产 生什么微操作控制信号是由指令操作流程图严格规 定的,所以时序部件 实质上只需要产生各个机器周 期中的节拍信息。
节拍脉冲
所有的操作是按节拍进行的,在节拍电位有效期间产生 的脉冲叫做“节拍脉冲”。一个节拍中可产生多个节拍 脉冲。
节拍 电位
m
节拍
1
B
D
+1
状态寄存器 操作控制器
主存储器M
A
AC ALU
状态寄存器
B 操作控制器
例题1 (2)取指令的数据通路:
PC →AR →M →DR
C
→IR
D
+1 (3)LDA X的数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
R2o, R2o,G,ARi R1o, R1o,G,DRi
(DR)→R0
例:在上例给出的条件下,写出完成下述四条单 在上例给出的条件下, 字长指令的操作流程及相应的控制信号. 字长指令的操作流程及相应的控制信号. (1) MOV R1,R0 (R0) →R1 (2) MOV @R1,R0 (R0) →(R1) (3) MOV R3,@R2 ((R2)) →R3 (4) MOV @R3,@R2 ((R2)) → (R3) 指令格式如下,其中Xd Rd分别为目的操作数 Xd和 指令格式如下,其中Xd和Rd分别为目的操作数 和源操作数的寻址方式特征位. 和源操作数的寻址方式特征位.
M → DR (DR) →IR (PC)+1→ PC
取 指
M→ DR (DR)→ IR (PC)+1→ PC
+1
R2o, R2o,G,Yi R0o, R0o,G,Xi +,G,R0i
(R2)→ Y (R0) →X
(R0)+(R2)→R0
(R3) →Y (R1 )→X
(R3)(R3)-(R1) →R3
5.2.8 指令的微操作序列
控制器在实现一条指令功能时, 控制器在实现一条指令功能时,总要将每条 指令分解为一系列时间上有先后次序的最基 最简单的微操作,即微操作序列。 本、最简单的微操作,即微操作序列。 微操作序列是与CPU CPU的内部数据通路密切 微操作序列是与CPU的内部数据通路密切 相关的,相同的指令在不同的数据通路( 相关的,相同的指令在不同的数据通路(如 专用数据通路结构、总线结构) 专用数据通路结构、总线结构) 中有不同的 微操作序列。 微操作序列。
IRi PCi ARi
( R1 ) → AR ( R0 ) → DR ( MDR ) → M
R/W
略
R/W=W
xi X + _
DRi
A总线
控 制 器
IRo
IR
PC
AR
M
DR R0 R1 R2 R3 G DRo yi Y
PCo
B总线
(3) MOV R3,@R2 ((R2)) →R3 该指令取值阶段操作流程及相应的控制信号同(1) 解:该指令取值阶段操作流程及相应的控制信号同(1)的取 该指令取值阶段操作流程及相应的控制信号同(1)的取 值部分.执行阶段的操作流程及相应的控制信号如下 相应的控制信号如下: 值部分.执行阶段的操作流程及相应的控制信号如下 略 ( R2) → AR 执 R/W=R M→ DR 行
R3o, R3o,G,Yi R1o, R1o,G,Xi -,G,R3i
图5.16
加法与减法指令周期流程图与微命令序列
2、 P.209 2、3题
2、参见图5.15的数据通路。画出存数指令 参见图5.15的数据通路。 5.15的数据通路 R1,(R2)”的指令周期流程图 的指令周期流程图, “STA R1,(R2) 的指令周期流程图,其含义 是将寄存器R1的内容传送至(R2) R1的内容传送至(R2)为地址的主 是将寄存器R1的内容传送至(R2)为地址的主 存单元中。标出各微操作信号序列。 存单元中。标出各微操作信号序列。 参见图5.15的数据通路。 5.15的数据通路 3、参见图5.15的数据通路。画出取数指令 (R3),R0”的指令周期流程图 的指令周期流程图, “LDA (R3),R0 的指令周期流程图,其含 义是将(R3) (R3)为地址的主存单元的内容取至寄 义是将(R3)为地址的主存单元的内容取至寄 存器R0 R0中 标出各微操作控制信号序列。 存器R0中,标出各微操作控制信号序列。
假设某机数据通路如图5.15所示。 假设某机数据通路如图5.15所示。规定各部件用大写 5.15所示 字母表示,字母加下标in表示该部件的接收控制信号, in表示该部件的接收控制信号 字母表示,字母加下标in表示该部件的接收控制信号,实 际上就是该部件的输入开门信号( PCin); 际上就是该部件的输入开门信号(如PCin);字母加下标 out表示该部件的发送控制信号 表示该部件的发送控制信号, out表示该部件的发送控制信号,实际上就是该部件的输 出开门信号( PCout)。未标注字符的线为直通线, 出开门信号(如PCout)。未标注字符的线为直通线,不受 控制。 控制。
A总线
IRi PCi ARi R/W DRi X xi + _
CU
IRo
IR
PC
AR
M
DR R0 R1 R2 R3 Y
G
PCo
DRo
yi
图5.15 双总线结构机器的数据通路 B总线
试画出执行以下不同指令时的指令周期流程图, 试画出执行以下不同指令时的指令周期流程图,并列 指令周期流程图 出相应微操作控制信号序列 微操作控制信号序列。 出相应微操作控制信号序列。 R2, (1)ADD R2,R0; (R0)+(R2)→R0 (R3)(2)SUB R1,R3; (R3)-(R1)→ R1, R3
取 (1) MOV R0,#N ; N →R0 指 指令执行阶段的操作流程 图如下: 图如下:
(MDR)→ R0 MDRo,G,R0i
(PC)+1→ PC
指令MOV @R1,#N; →(R1)的执 解 (2) : 指令MOV @R1,#N; N →(R1)的执 行阶段操作流程如下: 行阶段操作流程如下:
8 OP 2 Xd 2 Rd 2 Xs 2 Rs
N
对于双字长指令, 解: 对于双字长指令,完成 取指令操作要访问两次存 储器,其操作流程及相应的 储器 其操作流程及相应的 控制信号如右所示。 控制信号如右所示。
( PC ) → AR M→ DR (DR)→ IR (PC)+1→ PC ( PC ) → AR M→ DR
( MDR ) → R3
IRi PCi ARi R/W xi X IR PC AR + _
DRi
A总线
控 制 器
IRo
M
DR R0 R1 R2 R3 G DRo yi Y
PCo
B总线
(4) MOV @R3,@R2 ((R2)) →(R3) 该指令取值阶段操作流程及相应的控制信号同(1) 解:该指令取值阶段操作流程及相应的控制信号同(1)的取 该指令取值阶段操作流程及相应的控制信号同(1)的取 值部分.执行阶段的操作流程及相应的控制信号如下 相应的控制信号如下: 值部分.执行阶段的操作流程及相应的控制信号如下
时序(信号) 5.3 时序(信号)产生器和控制器的控制方式 5.3.1 时序信号的作用和体制 1、作用 计算机的控制器必须提供一个时序系统, 计算机的控制器必须提供一个时序系统,由它产 生一组时序信号送到操作控制器, 生一组时序信号送到操作控制器,为每个微操作 带上时间标志,再输出到全机, 带上时间标志,再输出到全机,控制完成指令所 规定的动作。CPU执行指令的过程就是 执行指令的过程就是时序控制 规定的动作。CPU执行指令的过程就是时序控制 的过程。 的过程。 2、计算机中时序信号的体制 (1)计算机中的时序信号通常采用 电位—脉冲 计算机中的时序信号通常采用“ 脉冲” (1)计算机中的时序信号通常采用“电位 脉冲” 是由计算机中所使用的逻辑器件的特性决定的。 制;是由计算机中所使用的逻辑器件的特性决定的。
xi X + _
+1
IRi PCi ARi
R/W
DRi
A总线
控 制 器
IRo
IR
PC
AR
M
DR R0 R1 R2 R3 G DRo yi Y
PCo
B总线
(2) MOV @R1,R0 (R0) →(R1) 该指令取值阶段操作流程及相应的控制信号同(1) 解:该指令取值阶段操作流程及相应的控制信号同(1)的取 该指令取值阶段操作流程及相应的控制信号同(1)的取 值部分.执行阶段的操作流程及相应的控制信号如下 相应的控制信号如下: 值部分.执行阶段的操作流程及相应的控制信号如下 执 行
2、
START (PC)→AR M→DR (DR)→IR (PC)+1→ PC DECODE (R2)→AR (R1)→DR (DR)→M
3、 P.209 2、3题解答 2、
PCo, PCo,G,ARi R/W*=R (RD M) DRo, DRo,G,IRi +1
(取指部分略) 取指部分略) .. …….. .. .. (R3)→AR M→DR
例如,触发器使用电位 例如,触发器使用电位— Q Q* Ti 脉冲工作方式, 脉冲工作方式,节拍电位 D CP Pi 控制信息送到D 控制信息送到D触发器的 输入端, D输入端,工作脉冲送到 逻辑电路 逻辑电路 CP输入端 输入端。 CP输入端。节拍电位和 信息 节拍电 打入 工作脉 工作脉冲配合关系如图 位Ti 条件 冲Pi 5.17所示 所示。 5.17所示。 图5.17 节拍电位和工作脉冲的配合关系 (2)三级时序系统和二级时序系统 (2)三级时序系统和二级时序系统 三级时序系统: 三级时序系统:硬布线控制器常采用 状态周期电位—节拍电位 节拍(工作) 节拍电位—节拍 (主)状态周期电位 节拍电位 节拍(工作)脉冲 二级时序系统: 二级时序系统:微程序控制器常采用 节拍电位—节拍脉冲 节拍电位 节拍脉冲 由于指令周期不作为时序的一级, 由于指令周期不作为时序的一级,下图反映了 机器周期、时钟周期、 机器周期、时钟周期、时钟脉冲三级时序信 号的关系。 号的关系。
IRi PCi ARi R/W DRi X IR PC AR xi + _
A总线
G
控 制 器
IRo
M
DR R0 R
yi
图5.15 双总线结构机器的数据通路 B总线
( PC ) → AR
PCo, PCo,G,ARi (PC )→ AR R/W=R DRo, DRo,G,IRi