计算机组成原理第六章中央处理器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2009.7.2
计算机组成原理
29
3.水平型微指令与垂直微指令的比较 (1)水平型微指令并行操作能力强,效率高,灵 活性强,垂直型微指令则差。 (2)水平型微指令执行一条指令的时间短,垂直 型微指令执行时间长。 (3)由水平型微指令解释指令的微程序,具有微 指令字比较长,但微程序短的特点。垂直型微指令则相反,微 指令字比较短而微程序长。 (4)水平型微指令用户难以掌握,而垂直型微指 令与指令格式比较相似,相对来说,比较容易掌握。 水平型微指令与机器指令差别很大,一般需要对机器的结 构、数据通路、时序系统以及微命令很精通才能设计。
2009.7.2
计算机组成原理
30
6.5 组合逻辑的控制器
6.5.1 组合逻辑控制器的基本结构 如图6-19所示为组合逻辑控制器的结构框图。
操作控制信号 … 指 令 寄 存 器 指 令 译 码 器 S1(状态) 操作控制器 (组合逻辑线路) S2(状态)
…
… 时序产生器 图6-19 组合逻辑控制器结构框图
2009.7.2
计算机组成原理
12
第一个CPU周期仍然是取指令阶段 。 第二个CPU周期为执行阶段。
下图给出了JMP指令执行阶段的数据通路:
2009.7.2
计算机组成原理
13
5.4 微程序控制器
5.4.1 微程序控制器的基本概念 微程序控制器的基本思想概括起来说有如 下两点: (1)将控制器所需的微命令以代码形式编成微指 令,存入一个用ROM构成的控制存储器(CM)中。 在CPU执行程序时,从控制存储器中取出微指令,其 中包含了微命令控制的有关操作。与组合逻辑控制方 式不同,它由存储逻辑事先存储与提供微命令。这一 思想的关键就是将存储逻辑引入了CPU。
2009.7.2
计算机组成原理
15
微程序控制器中要用到的一些基本概念 : (1)微命令:构成控制信号序列的最小单位称为 微命令,又称微信号,通常是指那些直接作用于部件 或控制门电路的命令,例如打开或关闭某传送通路的 电位命令,或是对触发器或寄存器进行同步打入、置 位、复位的控制脉冲。 (2)微操作:由微命令控制实现的最基本的操作 称为微操作,如开门、关门、选择、打入等。机器指 令操作码所表示的往往是一种相对大一些的操作(宏 观一些),如加法运算。它的实现要依靠建立相应的 数据通路,如打开一些门、发出相应的打入脉冲等, 即分割为一些更基本的微操作。
5.3 指令周期
5.3.1指令周期的基本概念 计算机之所以能自动地工作,是因为CPU能从存放程 序的内存里取出一条指令并执行这条指令,并且能够连续地取 指令,执行指令……如此周而复始,构成了一个封闭的循环。 这个循环将一直继续下去,直到遇到停机指令才能停止,如图 6-6所示。
开始
取一条指令
执行该指令
图6-6 取指令-执行指令序列
计算机组成原理
2009.7.2
1
1.指令周期 2.机器周期 3.时钟周期(节拍) 一个指令周期由若干个机器周期组成,所有指令 的第一个CPU周期一定是取指周期,每个机器周期又 由若干个时钟周期组成。根据指令动作的复杂程度不 同,有的指令周期包含的CPU周期较多,有的则较少。 它们之间的关系如图6-7所示。
图6-16
2009.7.2
计算机组成原理
17
(5)微程序:一系列微指令的有序集合称为微程 序,用来解释执行机器指令。因此,一段微程序对应 一条机器指令。 (6)控制存储器:存放微程序的只读存储器称为 微指令存储器。由于它主要存放控制命令(信号)和 下一条要执行的微指令地址,因此又称控制存储器。 计算机的指令系统是固定的,实现这个指令系统的微 程序也是固定的,所以控制存储器采用只读存储器。
2009.7.2
计算机组成原理
5
1.取指令阶段 第一条指令的取指阶段如图6-9所示
CPU 算术逻辑单元 状态条件寄存器 000 006 累加器 操作控制器 时序发生器 指令译码器 程序计数器 000 020 +1 CLA 地址寄存器 000 020 CLA 指令寄存器 时钟 状态反馈
地址总线
地址 020 021 022 … 040 …
程序计数器
000 021 CLA 指令寄存器
地址寄存器
000 020
CLA
地址总线
地址 020 021 022 … 040 …
存储器 指令/数据 CLA ADD 40 JMP 21 … 000 006 … 图6-10 执行CLA指令
数据总线
2009.7.2
计算机组成原理
7
在此阶段,CPU的动作如下: (1)操作控制器送CLA相应的控制信号给算术逻 辑单元ALU; (2)ALU响应该信号,将累加寄存器AC内容全 部清零,从而执行了CLA指令。
开始 取指令 PC+1 指令译码 第一个CPU周期 取指与译码 第二个CPU周期 执行指令 执行指令 取下一条指令
图6-8 CLA指令的指令周期
2009.7.2
计算机组成原理
4
在第一个CPU周期,即取指令阶段,CPU完成三 件事: (1)从内存取出指令; (2)程序计数器PC加1,以便为取下一条指令做 好准备; (3)对指令操作码进行译码或测试,以确定进行 什么操作。 在第二个CPU周期,即执行指令阶段。
2009.7.2
计算机组成原理
34
2009.7.2
计算机组成原理
35
将处理指令的过程进一步细化,就可以形成更多 段的流水线。例如,一条五段指令流水线可由如下5个部件组成: – S1,取指令(IF):由Cache或主存取指令; – S2,指令译码(ID):生成指令将要完成的操作; – S3,取操作数(OF):确定操作数地址,读取存储器 操作数或寄存器操作数; – S4,执行(EX):对操作数完成指定操作; – S5,写回(WB):修改目标操作数。
2009.7.2
计算机组成原理
8
5.3.3 访存(ADD)指令周期 程序的第二条指令是“ADD 40”指令,这是一条 直接访问内存的指令。执行这条指令需完成三个CPU周期,如 图6-11所示。
开始 取指令 地址译码 PC+1 指令译码 第一个CPU周期 取指与译码 送操作数地址
取出操作数
执行操作
取下一条指令
2009.7.2
计算机组成原理
16
(3)微周期:从控制存储器读取一条微指令并执 行相应的一步操作所需的时间称为微周期或微指令周 期。通常一个时钟周期为一个微周期。 (4)微指令:从展开的角度来讲,每个微周期的 操作所需的微命令(全部或大部分)组成一条微指令。 从控制存储器的组织角度讲,每个单元存放一条微指 令。图6-16所示为微指令格式的例子。
2009.7.2
计算机组成原理
2
T周期
T1
T2
T3
T4
T1
T2
T3
T4
CPU周期(取指令) 指令周期
CPU周期(执行指令)
图6-7 指令周期示意图
2009.7.2
计算机组成原理
3
5.3.2 非访存(CLA)指令周期 程序的第一条指令“CLA”是一条非访存指令,执行非访 存指令需要两个CPU周期,其中取指令阶段一个CPU周期,执行 指令阶段一个CPU周期。其指令周期如图6-8所示。
2009.7.2
计算机组成原理
18
5.4.2 微程序控制器的组成 1.程序控制器的组成 微程序控制器的逻辑组成框图如图6-17所示。
微命令系列 IR PSW PC 微地址 形成逻辑 … ID … ID
…
顺 序 控 制 方 式
微 地 址 给 定 部 分
微操作控制字段
顺序控制字段
μ IR
……
μ AR
ROM
2009.7.2
计算机组成原理
32
6.5.3 组合逻辑控制器和微程序控制器的比较 组合逻辑控制和微程序控制之间的最显著 差异可归结为两点 : 1.实现 2.性能
2009.7.2
计算机组成原理
33
6.6 流水线技术 6.6.1 基本概念 一条指令的执行过程大体上可分为去指令和执行 指令两个阶段。假定Fi和Ei分别表示指令Ii的取指令和 执行指令周期,图6-20(a)显示的是按取指令、执行 指令的顺序执行程序的过程。现在将处理器的指令部 件分成两个独立的硬件单元,一个用来取指令,另一 个用来执行指令,如图6-20(b)所示。取指令单元将 从存储器取回的指令存放在一个临时存储缓冲器B1中 直到该指令被执行完成,执行单元将结果存放在指令 指明的目的地。为简单起见,假定取指令周期和执行 指令周期都在一个时钟周期内完成。图6-20(c)显示 了流水线技术的指令执行过程。
2009.7.2
计算机组成原理
23
2.微地址的形成方法 产生后继微指令地址可有以下三种方式: (1)计数器方式 (2)断定方式 (3)增量方式与断定方式结合
2009.7.2
计算机组成原理
24
6.4.4 微指令格式 微指令格式大体上可分成两类:一是水平型微指 令;二是垂直型微指令。 1.水平型微指令 水平型微指令的特点是在一条微指令中定义并执 行多个并行微操作命令。在实际应用中,直接表示法 和编码表示法经常应用在同一条水平型微指令中。从 速度来看,直接表示法最快,字段编译法要经过译码, 所以会增加一些延迟时间。
2009.7.2
计算机组成原理
31
6.5.2 组合逻辑控制器的设计原理 组合逻辑控制器是根据指令功能要实现的 微操作序列设计的,它的设计过程可归纳为:首先给 定指令系统中每条指令功能实现的流程图,继而细化 它,得到各指令的微操作序列,即各操作控制命令应 该在什么时间执行;然后对各操作控制命令进行逻辑 综合得到逻辑表达式;最后用逻辑门电路或可编程逻 辑阵列实现操作控制信号的逻辑表达式功能。 逻辑综合的含义是,某一控制命令在哪些 指令中被使用?在一条指令中使用了几次?在指令周 期中的什么时间使用?将这些归并在一起就形成该控 制命令的逻辑表达式。
2009.7.2
计算机组成原理
25
2.垂直微指令 在微指令中设置有微操作码字段,采用微操作码 编译法,由微操作码规定微指令的功能,成为垂直型 的微指令。其特点是不强调实现微指令的并行控制功 能,通常一条微指令只要求就能控制实现一二种微操 作。 (1)寄存器-寄存器传送型微指令 微指令格式:
2009.7.2
2009.7.2
计算机组成原理
14
(2)将各种机器指令的操作分解成若干个 微操作序列。每条微指令包含的微命令控制实现一步 操作。若干条微指令组成一小段微程序,解释执行一 条机器指令。针对整个指令系统的需要,编制出一套 完整的微程序,事先存入控制存储器中。这一思想是 利用程序技术去编排指令的解释与执行,也就是将程 序技术引入CPU的构成级。
2009.7.2
计算机组成原理
21
6.4.3 微程序控制器的设计技术 1.微指令编码
…… 操作控制字段 顺序控制字段
μ IR
(a)直接表示方法
译码
译码
……
译码
字段1 字段2
……
字段n
顺序控制字段
μ IR
(b)编码表示方法 图6-18 微指令编码图解
2009.7.2
计算机组成原理
22
微指令编码方式由多种,在这里主要介绍常用的 三种 : (1)直接表示法。 (2)编码表示法。 (3)混合表示法。
第二个CPU周期 第三个CPU周期 执行指令 图6-11 ADD指令的指令周期
2009.7.2
计算机组成原理
9
1.送操作数的地址 第二个CPU周期主要完成送操作数地址,其数据通路如 下图所示。
2009.7.2
计算机组成原理
10
2.两操作数相加
2009.7.2
计算机组成原理
11
5.3.3 控制指令(JMP)周期 JMP指令的指令周期仅由两个CPU周期组成,如下图所示。
计算机组成原理
26
(2)运算控制型微指令 微指令格式:
(3)移位控制型微指令 微指令格式:
2009.7.2
计算机组成原理
27
(4)访问主存微指令 微指令格式:
(5)无条件转移微指令 微指令格式:
2009.7.2
计算机组成原理
Βιβλιοθήκη Baidu28
(6)条件转移微指令 微指令格式:
(7)其它 还有110和111两种操作码,可以用来定义输入/输 出微操作或其它难以归类的杂操作,第3-15位可以根 据需要定义各种相应的微命令字段。
……
控制存储器CM 图6-17 微程序控制器的组成框图
2009.7.2
计算机组成原理
19
微程序控制器的核心部件 : (1)控制存储器CM (2)微指令寄存器μIR (3)微地址形成电路 (4)微地址寄存器μAR
2009.7.2
计算机组成原理
20
2.机器指令的读取与执行 在微程序控制器中,通过读取微程序与执行它所 包含的微命令去解释执行机器指令。
存储器 指令/数据 CLA ADD 40 JMP 21 … 000 006 … 图6-9 取出CLA指令
数据总线
2009.7.2
计算机组成原理
6
2.执行指令阶段 CLA指令的执行阶段如图6-10所示。
CPU
清AC 算术逻辑单元 状态条件寄存器 000 000 累加器
指令执行控制 操作控制器 时序发生器 指令译码器 时钟 状态反馈