← 返回计算机组成原理目录
计算机组成原理中央处理器#620

指令周期

935
目录 · 6 个章节

定义与层次

指令周期 是 CPU 从主存取出一条指令并执行完该指令所需的全部时间。

概念含义粒度
时钟周期CPU 时钟的一个节拍最小
机器周期完成一个基本操作所需时间,如取指、访存中等
指令周期完成一条完整指令所需时间最大

关系:指令周期由若干机器周期组成,机器周期由若干时钟周期组成。

指令周期的组成

一条指令通常按阶段执行:取指令 → 分析指令 → 取操作数 → 执行 → 写回 → 检查中断。

周期作用是否每条指令都有
取指周期从主存取出指令并送入 IR一定有
间址周期间接寻址时,再访存取得有效地址不一定有
执行周期完成指令规定的操作一定有
中断周期响应中断,保存断点并转入中断服务程序不一定有

完整顺序:取指周期 → 间址周期(可选)→ 执行周期 → 中断周期(可选)。

取指与间址

取指周期取出的是 指令本身,不是操作数。典型微操作:

PC -> MAR
Read
M[MAR] -> MDR
MDR -> IR
PC + 1 -> PC

其中 Read 是读主存控制信号,不是寄存器传送;PC + 1 是抽象写法,实际增量取决于编址方式和指令长度。取指周期是 每条指令执行过程的开始阶段,核心是取出指令;更新 PC 只是取指周期中的一个微操作。

间址周期只在 间接寻址 时出现。若 Ad(IR) 给出的不是操作数地址,而是“操作数地址的地址”,则需要再次访存:Ad(IR) -> MAR,读出 M[MAR],得到有效地址。

RTL 与微操作

RTL(Register Transfer Language,寄存器传送语言) 用简洁符号描述 CPU 内部的数据传送和运算动作。RTL 写的是“内容传送”,不是寄存器本体移动。

符号含义例子
A -> BA 的内容送入 BPC -> MAR
M[MAR]主存中由 MAR 指定地址处的内容M[MAR] -> MDR
+ALU 执行加法PC + 1 -> PC
Ad(IR)IR 中的地址字段Ad(IR) -> MAR
OP(IR)IR 中的操作码字段控制器对 OP(IR) 译码

微操作 是 CPU 内部在很小时间步内完成的基本操作;一组微操作组合起来完成取指、间址、执行等机器周期。

执行与中断

执行周期差异最大,取决于指令类型:

  • 寄存器加法:主要使用 ALU 和寄存器,可能不访存。
  • LOAD / STORE:需要通过 MARMDR 访问主存。
  • 转移指令:修改 PC,改变下一条指令地址。

中断周期不是每条指令都有。CPU 通常在一条指令执行结束后检查中断请求;若响应中断,需要保存断点(通常是当前 PC,即下一条指令地址),再把中断服务程序入口地址送入 PC

考点与易错点

  • 每条指令一定有取指周期和执行周期;不一定有间址周期、中断周期。
  • 指令周期不一定等长:访存、间接寻址、中断响应都会增加时间。
  • 执行周期不等于指令周期;指令周期至少包含取指和执行。
  • PC 在取指阶段通常会更新,但加多少由题目条件决定。
  • PC -> MAR 表示把 PC 内容复制到 MAR,不会清空 PC
  • M[MAR] -> MDR 表示访问主存,把 MAR 指向的存储单元内容送入 MDR;不是把 MAR 本身送入 MDR
  • 判断微操作顺序时,先区分寄存器传送和控制信号:ReadWrite 不是数据通路传送。

讨论

0 条评论

登录后参与讨论

登录后可以发布评论、回复和点赞。

暂无评论。

x1a0Y4NGren's Blog

一个计算机学生的学习记录、算法题解与个人知识管理。

RSS