当前位置: 首页 > news >正文

26考研——中央处理器_指令执行过程(5)

408答疑


文章目录

  • 二、指令执行过程
    • 指令周期
      • 定义
      • 指令周期的多样性
      • 指令执行的过程
      • 注意事项
    • 指令周期的数据流
      • 取指周期
      • 间址周期
      • 执行周期
      • 中断周期
    • 指令执行方案
      • 单周期处理器
      • 多周期处理器
      • 流水线处理器
  • 八、参考资料
    • 鲍鱼科技课件
    • 26王道考研书
  • 九、总结


二、指令执行过程

指令周期

定义

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

指令周期的多样性

由于各种指令操作功能不同,所以各种指令的指令周期可能是不同的。

  • 无条件转移指令 JMP X:在执行阶段不需要访问主存,只包含取指阶段(包括取指和分析)和执行阶段,所以其指令周期仅包含取指周期和执行周期,如下图所示。

    • 取指阶段:完成取指令和分析指令的操作,也称取指周期。
    • 执行阶段:完成执行指令的操作,也称执行周期。
      在这里插入图片描述
  • 带有间接寻址的指令:为了取操作数,需要先访问一次主存,取出有效地址,然后访问主存,取出操作数,所以还需包括间址周期。间址周期介于取指周期和执行周期之间,如下图所示。

在这里插入图片描述

  • 带有中断周期的指令:当 CPU 采用中断方式实现主机和 I/O 设备的信息交换时,CPU 在每条指令执行结束前,都要查询中断查询信号,若有中断请求,则 CPU 进入中断响应阶段,也称中断周期。

中断周期的进栈操作是指 SP 减“1”,这和特殊意义的进栈操作相反,原因是计算机中的堆栈都是有低地址向高地址增长的,所以进栈操作变成“1”而不是“1”。

  • 这样,一个完整的指令周期可包括取指、间址、执行和中断 4 个周期,如下图所示。

在这里插入图片描述

指令执行的过程

  • 当 CPU 执行指令时,首先进入取指周期,从 PC 指出的主存储器单元中取出指令,送至指令寄存器,同时 PC 加“1”以作为下一条指令的地址。当遇到转移指令等改变执行顺序的指令时,在 PC 加“1”后会重新计算并更新 PC 值。
  • 然后判断是否有间接寻址,若有,则进入间址周期以获取操作数的有效地址。
  • 之后进入执行周期,完成取操作数、执行运算和存储结果的任务。
  • 执行周期结束后,若 CPU 检测到中断请求,则进入中断周期,此时需要关中断、保存断点,并转至中断服务程序。

注意事项

  • 早期的计算机通常采用机器周期、节拍和脉冲三级时序系统,一个指令周期可分为取指令、取操作数、执行、中断响应等工作周期,称为机器周期。
    • 一个机器周期再划分为若干节拍,一个节拍内再设置一个或多个工作脉冲。
    • 每个指令周期内的机器周期数可以不等,每个机器周期内的节拍数也可以不等。
  • 现在的计算机已不再采用上述三级时序系统,机器周期的概念已逐渐消失,CPU 内部的定时信号就是时钟,一个时钟周期就是一个节拍。

指令周期的数据流

  • 数据流是根据指令要求依次访问的数据序列。
  • 在指令执行的不同阶段,要求依次访问的数据序列是不同的。
  • 而且对于不同的指令,它们的数据流往往也是不同的。

取指周期

  • 取指周期的任务是根据 PC 中的内容从主存储器中取出指令代码并存放在 IR 中。
  • 取指周期的数据流如下图所示。

在这里插入图片描述

  • PC 中存放的是指令的地址,根据此地址从内存单元中取出的是指令,并放在指令寄存器 IR 中,取指令的同时,PC 加 1。

  • 取指周期的数据流如下:

    1. PC − ① → -①\rightarrow MAR − ② → -②\rightarrow 地址总线 − ③ → -③\rightarrow 存储器。
    2. CU 发出读命令 − ④ → -④\rightarrow 控制总线 − ⑤ → -⑤\rightarrow 主存储器。
    3. 主存储器 − ⑥ → -⑥\rightarrow 数据总线 − ⑦ → -⑦\rightarrow MDR − ⑧ → -⑧\rightarrow IR(存放指令)。
    4. CU 发出控制信号 − ⑨ → -⑨\rightarrow PC 加 1。

间址周期

  • 间址周期的任务是取操作数有效地址。
  • 以一次间址为例,如下图所示,将指令中的地址码送到 MAR 并送至地址总线,此后 CU 向主存储器发出读命令,以获取有效地址并存至 MDR。

在这里插入图片描述

  • 间址周期的数据流向如下:
    1. Ad(IR)(或 MDR) − ① → -①\rightarrow MAR − ② → -②\rightarrow 地址总线 − ③ → -③\rightarrow 主存储器。
    2. CU 发出读命令 − ④ → -④\rightarrow 控制总线 − ⑤ → -⑤\rightarrow 主存储器。
    3. 主存储器 − ⑥ → -⑥\rightarrow 数据总线 − ⑦ → -⑦\rightarrow MDR(存放有效地址)。

其中,Ad(IR) 表示取出 IR 中存放的指令字的地址字段。

执行周期

  • 执行周期的任务是取操作数,并根据 IR 中的指令字的操作码通过 ALU 操作产生执行结果。
  • 不同指令的执行周期操作不同,因此没有统一的数据流向。

中断周期

  • 中断周期的任务是处理中断请求。
  • 假设程序断点存入堆栈中,并用 SP 指示栈顶地址,而且进栈操作是先修改栈顶指针,后存入数据,数据流如下图所示。

在这里插入图片描述

  • 中断周期的数据流如下:
    1. CU 控制将 SP 减 1,SP − ① → -①\rightarrow MAR − ② → -②\rightarrow 地址总线 − ③ → -③\rightarrow 主存储器。
    2. CU 发出写命令 − ④ → -④\rightarrow 控制总线 − ⑤ → -⑤\rightarrow 主存储器。
    3. PC − ⑥ → -⑥\rightarrow MDR − ⑦ → -⑦\rightarrow 数据总线 − ⑧ → -⑧\rightarrow 主存储器(程序断点存入主存储器)。
    4. CU(中断服务程序的入口地址) − ⑨ → -⑨\rightarrow PC。

指令执行方案

  • 一个指令周期通常要包括几个执行步骤,每个步骤完成指令的一部分功能,几个依次执行的步骤完成这条指令的全部功能。
  • 不同的处理器采用不同的方案来安排指令的执行步骤。

单周期处理器

  • 单周期处理器对所有指令都选用相同的执行时间来完成。
  • 此时每条指令都在一个时钟周期内完成( C P I = 1 CPI=1 CPI=1),指令之间串行执行,即下一条指令只能在前一条指令执行结束后才能启动。因此,指令周期取决于执行时间最长的指令的执行时间。
  • 对于那些本来可以在更短时间内完成的指令,仍要在这个较长的周期内完成,会降低整个系统的运行速度。

多周期处理器

  • 多周期处理器对不同类型的指令选用不同的执行步骤。
  • 指令需要几个周期就为其分配几个周期,因此可选用不同个数的时钟周期来完成不同指令的执行过程( C P I > 1 CPI>1 CPI>1),不再要求所有指令占用相同的执行时间。
  • 多指令周期方案中指令之间仍是串行执行的。

流水线处理器

  • 流水线处理器采用指令之间并行执行的方案,其追求的目标是力争在每个时钟周期完成一条指令的执行过程(只在理想情况下才能达到该效果,此时 C P I = 1 CPI = 1 CPI=1)。
  • 这种方案通过在每个时钟周期启动一条指令,尽量让多条指令同时运行,但各自处在不同的执行步骤中。

八、参考资料

鲍鱼科技课件

b站免费王道课后题讲解:
在这里插入图片描述

网课全程班:
在这里插入图片描述

26王道考研书


九、总结

相关文章:

  • 【 SVG动态拼接】前端生成阻抗电路图
  • 仁合医疗核心产品:引领医疗科技新潮流
  • LLM量化方法:ZeroQuant、LLM.int8()、SmoothQuant、GPTQ、AWQ
  • CRC 循环冗余校验
  • Vue3 + Element Plus 动态表单实现
  • vscode离线安装python插件
  • git高效杀器——cz-customizable 搭配 commitlint
  • 抖音到店摸着京东外卖过河
  • 树初步 #1(插排串联 - 辽宁省2024CCPC)
  • 【八股消消乐】你在项目中如何优化垃圾回收机制?
  • 动态规划之背包问题:组合优化中的经典NP挑战
  • 基于vue框架的电子商城m8qu8(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • WPDRRC 模型:构建动态闭环的信息安全防御体系
  • 【RAG】重点部分 RAG-Fusion, Decomposition, HyDE 和 Routing
  • apipost快捷使用实例
  • 耳机插进电脑只有一边有声音怎么办 解决方法分享
  • Java——包装类
  • 【大模型面试每日一题】Day 13:数据并行与模型并行的区别是什么?ZeRO优化器如何结合二者?
  • MLX-Audio:高效音频合成的新时代利器
  • 依赖关系-根据依赖关系求候选码
  • 外交部发言人就印巴局势升级答记者问
  • “苏河超级管”调研:桥下公园“留白”很好,指引差点
  • 黄玮接替周继红出任国家体育总局游泳运动管理中心主任
  • 吴清:推动公募基金高质量发展的行动方案今天将会发布
  • 李云泽:支持小微企业、民企融资一揽子政策将从增供给、降成本、提效率、优环境4个方面发力
  • 潘功胜:将创设科技创新债券风险分担工具