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

指令的执行过程

指令周期

cpu从主存中每取出一条指令所需要的全部时间

开始->取指令->对指令译码->执行指令->取下一条指令pc+1

指令周期常常使用若干个机器周期来表示,机器周期又叫cpu周期

一个机器周期包含若干个时钟周期(也被称作节拍,t周期,cpu时钟周期 也是cpu操作的基本单位)

主频3.0Ghz 代表每秒钟会有3.0G个节拍

每个指令周期内机器周期数可以不等,每个机器周期内节拍周期也可以不等

空指令NOP

指令周期只包含取址周期

加法指令ADD

包含取址周期执行周期

乘法指令MUL

包含取址周期执行周期,需要比加法指令,使用更多的时间来执行指令,因为乘法本质上就是加法和移位

具有间接寻址的指令

包含取址周期间址周期执行周期

带有中断周期的指令

包含取址周期间址周期执行周期以及最后的中断周期

四个工作阶段都需要访存操作

指令周期数据流-取址周期

1.将指令地址pc传输到mar

2.cu发出控制信号,经过控制总线传输到主存,是一个读信号,计作1->R # R=【read】

3.将mar所指的主存中的内容经过总线送入mdr,计作M(MAR-)>MDR #M=memory

4.将MDR中的内容(此时是指令)送入IR,计作(MDR->IR)

5.CU发出控制信号,形成下一条指令地址计作:PC+1->PC

指令周期数据流-间址周期

1.将指令的地址吗送入mar,计作Ad(IR)->MAR 或者Ad(MDR)->MAR

2.cu发出控制信号,启动主存做读操作,计作1->R

3.将mar所指主存中的内容经过数据总线送入M(MAR)->MDR

4.将有效地址送入指令地址吗字段计作(MDR)->Ad(IR)

指令周期的数据流-执行周期

执行周期任务是根据ir中的指令字的操作码和操作数通过alu操作产生执行结果

不同指令的操作周期操作不同,因此没有统一的数据流向

指令周期的数据流-中断周期

中断:暂停执行当前程序,转而去执行其他程序,为了可以恢复当前的任务,需要保存断点

一般使用堆栈保存断点,一般用sp表示栈顶地址,假设sp指向栈顶元素,进栈操作是先修改指针后存入数据

1.cu控制将sp-1,修改后的地址送入mar 计作(sp)-1 ->sp, (sp)->mar

本质上是将断电存入某个存储单元,假设其地址为a,可以计作 a->mar 【准备写操作的地址信息】

2.cu发出控制信号,启动主存做写操作,计作1->w #w=write 为了把pc的值写入到栈顶 【准备写操作】

3.将断点pc送入mdr,计作(pc)->mdr 【准备写操作的数据信息】

3.cu将中断控制服务程序的入口地址送入pc 计作:向量地址->pc

指令执行方案

1.单指令方案

对所有指令都选用相同的执行时间来完成。指令之间串形执行;指令周期取决于执行时间最长的指令的执行时间

对于那些本来只需要很短的时间就能完成的指令来说,使用这个会需要较长的时间来完成,会降低整个系统的运行速度

2.多指令周期

对不同类型的指令选用不同的执行步骤来完成,指令之间串行执行,可选用不同个数的时钟周期来完成不同指令的执行过程

需要更复杂的硬件设计

3.流水线方案

在每一个时钟周期启动一条指令,尽量让多条指令同时运行,单各自处在不同的执行步骤中,指令之间并行执行

【类似于低位交叉编址】

http://www.wxhsa.cn/company.asp?id=7863

相关文章:

  • ALINX 助力希腊 SpaceDot AcubeSAT 卫星任务,2026 将入太空
  • Ubuntu 安装JDK8
  • 负载均衡层详解part 4
  • 重磅!中国科学引文数据库(CSCD)收录期刊(2025-2026)目录公布!共收录1464种期刊!
  • Flash Attenion算法原理
  • 电流探头消磁失败的原因与解决策略
  • 【算法】双指针(四)-盛最多水的容器 - 实践
  • 程序设计小学期小计
  • 3dma渲染噪点成因排查及优化方案 - 详解
  • hadoop配置日志聚集
  • vxe-tree-select 树形下拉框当使用懒加载数据时如何回显
  • GPT PMBR 大小不符解决方法
  • CodeFormer一款既能图像修复、还能视频增强去码的AI软件(下载介绍)
  • PCB的导线电阻阻抗批量自动计算EXCEL表格工具 公式
  • 微信协议开发个微API
  • Milvus Lite
  • 如何解除 pip install 安装报错 ModuleNotFoundError: No module named ‘win32api’ 问题
  • hbase学习一
  • 【光照】[漫反射diffuse]以UnityURP为例
  • OI线下比赛注意事项
  • n8n实践-使用n8n搭建一个定时发送天气预报邮件的工作流
  • Cython-编程学习指南第二版-全-
  • 印度尼西亚股票数据API对接实现
  • OpenBMB 发布无分词器 TTS VoxCPM;儿童口语硬件 Dex 融资 480 万美元:拍摄真实物体,对话学习外语丨日报
  • 一天一款实用的AI工具,第1期,AI标题生成工具
  • 重组蛋白表达避坑指南
  • 易被忽略的vim中视图模式
  • 电商核心业务 - 指南
  • 一言
  • ai