【计算机组成原理】 安排微操作时序的三个原则
2026/6/23 20:16:31 网站建设 项目流程

一、背景介绍

在计算机组成原理中,指令的执行过程被分解为一系列微操作(Micro-operation)。如何合理地将这些微操作安排到不同的时钟节拍中,是控制器设计的核心问题之一。本文以取指周期(指令取出阶段)为例,讲解安排微操作时序的三个基本原则。

二、取指周期的微操作序列

取指周期是每条指令执行的第一个阶段,其核心任务是从内存中取出待执行的指令。典型的取指周期包含以下6个微操作:

步骤

微操作

说明

(1)

PC → MAR

将程序计数器(PC)的值送到内存地址寄存器(MAR

(2)

1 → R

向内存发出读命令,此时内存空闲可接收读信号

(3)

M(MAR) → MDR

将内存中由MAR指定地址的数据读入内存数据寄存器(MDR

(4)

MDR → IR

将指令从MDR送入指令寄存器(IR

(5)

OP(IR) → ID

将指令的操作码字段送入指令译码器(ID)进行译码

(6)

(PC) + 1 → PC

程序计数器自加1,指向下一条指令

注意:微操作(2) “1 → R”是向内存发出读命令,此时内存处于空闲状态,可以与其他操作并行。这是考试中常考的易错点。

三、安排微操作时序的三个原则

原则一:微操作的先后顺序不得随意更改

核心要点:如果微操作A的结果是微操作B的前提(即存在数据依赖关系),则A必须在B之前执行,不可交换顺序。

取指周期中的例子:

(1) PC→MAR必须在(3) M(MAR)→MDR之前,因为内存读取需要先确定地址。

(3) M(MAR)→MDR必须在(4) MDR→IR之前,因为必须先读出指令才能送入IR

(4) MDR→IR必须在(5) OP(IR)→ID之前,因为译码需要先获取指令内容。

原则二:被控对象不同的微操作尽量安排在一个节拍内完成

核心要点:如果两个微操作作用的是不同的硬件部件(即被控对象不同),它们可以在同一个时钟节拍内并行执行,从而节省时间。

取指周期中的例子:

(1) PC→MAR操作的被控对象是CPU内部寄存器,而(2) 1→R操作的被控对象是内存控制器。两者互不干扰,可以合并到同一个节拍T0中执行。

原则三:占用时间较短的微操作尽量安排在一个节拍内完成

核心要点:如果某些微操作执行时间很短,可以将它们压缩到同一个节拍内序列执行(允许有先后顺序),只要总时间不超过一个节拍的宽度。

取指周期中的例子:

(4) MDR→IR(5) OP(IR)→ID(6) (PC)+1→PC这三个操作都是CPU内部寄存器之间的传输,耗时极短,可以合并到同一个节拍T2中序列执行。

四、综合应用:取指周期的节拍安排

根据上述三个原则,我们可以将6个微操作压缩到3个节拍中完成:

节拍

微操作

应用的原则

T0

PC → MAR1 → R

原则二:被控对象不同(CPU寄存器vs内存控制器),可并行

T1

M(MAR) → MDR

原刖一:必须等内存读取完成,耗时较长,单独占一个节拍

T2

MDR → IROP(IR) → ID(PC)+1 → PC

原则三:操作耗时短,允许序列执行,压缩到同一节拍

五、三个原则总结对比

下表是三个原则的对比总结,建议记忆:

原则

核心思想

取指周期中的体现

原则一

先后顺序不可更改

PC→MAR必须在M(MAR)→MDR之前;MDR→IR必须在OP(IR)→ID之前

原则二

被控对象不同可并行

PC→MARCPU)与1→R(内存)合并到T0

原则三

短时操作可压缩到同一节拍

MDR→IROP(IR)→ID(PC)+1→PC压缩到T2

六、考试要点速记

序号

考点

1

原则一强调的是数据依赖,有依赖关系的微操作不能交换顺序

2

原则二的关键词是被控对象不同,不同部件可并行工作

3

原则三允许有先后顺序,但总时间不能超过一个节拍宽度

4

“1 → R”表示向内存发读命令,此时内存空闲(常考判断题)

5

取指周期一般压缩为3个节拍:T0T1T2

6

内存读取M(MAR)→MDR耗时最长,必须单独占一个节拍

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询