STM32的指令周期[通俗易懂]

STM32的指令周期[通俗易懂]在keil中编程时,写了一行代码,然后就想知道,执行这句C代码需要多长时间。时钟周期在这就不解释了,频率的倒数。指令周期,个人理解就是cpu执行一条汇编指令所需要的时间。我们知道cm3使用的三级流水线,那么到底一条指令的执行需要多少个时钟周期。下面通过keil软件仿真,来计算一个指令所需的时钟周期。 使用STM32F103RC,。配置其主时钟HCLK为72mhz测试代码如下:…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

在keil中编程时,写了一行代码,然后就想知道,执行这句C代码需要多长时间。

时钟周期在这就不解释了,频率的倒数。

指令周期,个人理解就是cpu执行一条汇编指令所需要的时间。

我们知道cm3使用的三级流水线,那么到底一条指令的执行需要多少个时钟周期。下面通过keil软件仿真,来计算一个指令所需的时钟周期。

 

使用STM32F103RC,。配置其主时钟HCLK为72mhz测试代码如下:

STM32的指令周期[通俗易懂]

然后开始仿真

STM32的指令周期[通俗易懂]

编译通过后,点击dbg按钮,调出如下窗口:

STM32的指令周期[通俗易懂]并且设置以上的断点,开始单步调试。并记录时间,

STM32的指令周期[通俗易懂]

单步调试

STM32的指令周期[通俗易懂]

这样便可以计算出执行  MVOS  r1,#0x04 所用的时间视为29.20833-29.19444=0.1389us。使用这种方式便可以测试出每条指令所使用的时间。便有了下面的表。

STM32的指令周期[通俗易懂]

但是,我测试BL.W指令所需要的是8T0,不知道是什么原因,其他指令都是正确的

ARM官方给出的指令周期是

STM32有三级流水线,指令周期不定的,arm给出的是1.25MIPS/Mhz,一个平均执行速度。

个人理解就是1Mhz的频率,每秒钟可以执行1.25M指令。72M,那么就是72*1.25。

而这个最大的应用是通过单周期指令去测试系统时钟是否配置的正确。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182283.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月13日 下午10:00
下一篇 2022年10月13日 下午10:16


相关推荐

  • 哪里有免费的ASP空间?

    哪里有免费的ASP空间?请问哪里有免费的 稳定的 ASP 空间 各位大哥帮帮忙 把你知道的列出下来 谢谢

    2026年3月26日
    3
  • java中finalize()方法

    java中finalize()方法finalize 垃圾回收机器 GarbageColle 也叫 GC 垃圾回收器主要有一下特点 当对象不再被程序所使用的时候 垃圾回收器将会将其回收垃圾回收是在后台运行的 我们无法命令垃圾回收器马上回收资源 但是我们可以告诉他可以尽快回收资源 System gc 和 Runtime getRuntime gc 垃圾回收器在回收某个对象的时候 首先会调用该对象的 finalize 方法 GC 主要针对堆内存单例模式的缺点 finalize 是 Object 里面的一个方法 当一个堆

    2026年3月18日
    2
  • OpenClaw 系统化教程

    OpenClaw 系统化教程

    2026年3月12日
    2
  • javase学习笔记

    javase学习笔记01.01_计算机基础知识(计算机概述)(了解)A:什么是计算机?计算机在生活中的应用举例计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、笔记本计算机、大型计算机等。应用举例1:科学计算2、数据处理3、自动控制4、计算机辅助设计…

    2022年5月13日
    35
  • layer弹出层详解

    layer弹出层详解前言:学习layer弹出框,之前项目是用bootstrap模态框,后来改用layer弹出框,在文章的后面,我会分享项目的一些代码(我自己写的)。layer至今仍作为layui的代表作,她的受众广泛并非偶然,而是这五年多的坚持,不断完善和维护、不断建设和提升社区服务,使得猿们纷纷自发传播,乃至于成为今天的Layui最强劲的源动力。目前,layer已成为国内最多人使用的web弹层组件,GitHub…

    2022年7月13日
    27
  • run-node.mjs 文件详细解析

    run-node.mjs 文件详细解析

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号