打印
[其他ST产品]

712主频时间问题,为何中断处理时间没有改善

[复制链接]
2626|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
50sh|  楼主 | 2007-5-21 11:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
外部中断处理程序大小在100多个汇编指令,为保证中断处理时间尽量短,采用48兆主频,依然耗时很多,丢中断.请各位高手指教!
相关链接:https://bbs.21ic.com/upfiles/img/20075/2007521114421607.rar
沙发
浪淘沙| | 2007-5-21 11:56 | 只看该作者

48兆主频时具体耗时多少?

100多个汇编指令在48兆主频下的耗时大体能算出来,请问算出来的时间与实测差多少?

使用特权

评论回复
板凳
50sh|  楼主 | 2007-5-21 14:48 | 只看该作者

中断时间问题

100条汇编48兆应该在2*10^(-6)秒,实测在5*10^(-6)秒

使用特权

评论回复
地板
浪淘沙| | 2007-5-21 15:10 | 只看该作者

如果改变了时钟频率后实测运行时间不变,肯定是配置或测

请问你是如何测量的?

另外,计算指令执行时间时要考虑其他一些因素,如中断的响应时间、指令跳转所造成流水线断流的时间,还有存取成组寄存器指令(STM、LDM)的执行时间较长、I/O访问指令被拉长等多种因素。

使用特权

评论回复
5
浪淘沙| | 2007-5-24 11:06 | 只看该作者

根据ARM公司的资料,只有在核心中运算的指令才是单周期的

具体的指令周期数目请看ARM公司的资料,有详细的说明。

所以3楼的实测结果不奇怪。

使用特权

评论回复
6
xzm0662| | 2007-5-25 09:37 | 只看该作者

把代码放在ram执行会快点,另外访问apb上的东西费时间

准确的时间很难算的

使用特权

评论回复
7
ST_ARM| | 2007-5-31 13:44 | 只看该作者

关于STR71x的汇编指令的时间

50sh在上面贴子提到:

     “100条汇编48兆应该在2*10^(-6)秒,实测在5*10^(-6)秒”

ARM内核的指令为单周期,如下图1,故按照STR71x的频率为48M,100条汇编指令为:100×(1/(48×10^(-6))ms,即2.08×10^(-6)s,但是实际上由于ARM的指令在操作中会涉及到内存或外设的读写、跳转的,就会出现ARM内核需要等待内存或外设的数据准备好并写到总线上这样一段时间,或跳转丢弃一些指令而损失一些时间。如下图2、3。

使用特权

评论回复
8
ST_ARM| | 2007-5-31 13:45 | 只看该作者

图2

使用特权

评论回复
9
ST_ARM| | 2007-5-31 13:53 | 只看该作者

图3

由图2、3可以看出,由于对外部RAM或外设数据访问、跳转等操作,使得ARM内核的指令变成多周期指令。这就是STR71x芯片的汇编指令的运行时间超过2.08×10^(-6)s,可能为3、4或5个时钟周期,甚至更长。

使用特权

评论回复
10
mxchip_sh| | 2007-6-1 09:05 | 只看该作者

ARM ATC培训课中有这一部分


参加过Embest ATC的工程师应该明白的,也可以在www.arm.com上找到这一部分的内容。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

1

粉丝