- 杂志
 搜 索: 
 论坛 » MCU应用 » 请问瑞萨M16C系列如何计算一个空操作指令所用时间
广告招商
版主: renesasstk , QQMCU , renesaschina , l0p0c
 发表新贴 
 发表回复 
 请问瑞萨M16C系列如何计算一个空操作指令所用时间  发表于 2008-10-27 16:42:28 [您是本帖的第214位阅读者]     [1楼] 
呢称:lgnq
加我为好友
我简单测试了一次啊,外部时钟7MHz,PLLx2,所以M16C运行在14MHz,
p11_0=1;
asm("nop");
p11_0=0;
asm("nop");
asm("nop");
asm("nop");

我按照常规计算的话,一个空操作指令用一个机器周期的话,那么一个asm("nop")所用时间
应该就是(1/14)us=71.4ns.
可是我用示波器侧到的情况是
 p11_0高电平时间是706ns
p11_0低电平时间是1.35us

奇怪的是为什么用示波器测到的asm("nop")时间为700ns左右,
为什么低电平时间不是高电平时间的三倍呢?
 
 RE: 请问瑞萨M16C系列如何计算一个空操作指令所用时间  发表于 2008-10-28 15:44:23 [2楼] 
呢称:Serina_xu
加我为好友
M16C族拥有队列缓冲器,不占用总线时,预取指令代码。
软件手册中记载的各条指令的执行数是指令已经预取在队列缓冲器时的值。若未预取指令,则周期数增加。另外,队列缓冲器的状态取决于1条指令的插入或者删除,所以通过计算指令数来计算出程序执行的周期是十分困难的。
准确计算出周期数的最正确的方法是使用仿真器的跟踪功能,计算出周期数。
 
共2条 1/1 1   
   快速回复主题
  用户名 : 匿名不能发帖!请先 [ 登陆 ]
  标 题:
  内 容 :
 
EEPW元器件搜索  强力提供
关于我们 | 广告服务 | 企业会员服务 | 新手上路 | 联系我们 | 友情链接
《电子产品世界》杂志社 版权所有 北京东晓国际技术信息咨询有限公司
Copyright ©2002 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备060382号