打印

小话SH88F5*与传统51单片机指令执行速度

[复制链接]
2684|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yirongfu|  楼主 | 2010-12-20 00:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
中颖的SH88F5*系列51内核单片机,采用基于8051兼容的流水指令,“在同样振荡频率下,较之传统的8051芯片它具有运行更快速,性能更优越的特性”,最近使用SH88F54,在采用软件延时功能时,略微对比了一下F5*与传统8051的指令,在此罗列几点实验所得,与朋友们分享。
1. F5*的CPU机器周期为单振荡周期,而8051的机器周期为12个振荡周期。
2. F5*的系统时钟不直接从振荡器引入,而是通过所谓的“系统时钟模块”获得,频率可以通过相应的寄存器CLKCON进行分频设置的,传统8051则无此功能。需要注意的是,上电复位后,F5*默认对振荡器进行12分频,即类似8051模式,这个跟宏晶的单片机有些类似。
3. 同样的指令,F5*的指令周期与8051并不完全一样。以CJNE为例,8051需要24个振荡周期,也就是2个机器周期,而F5*发生转移需要6个机器周期,不发生转移需要4个机器周期(有点类似PIC系列单片机的RISC架构指令系统中的跳转指令)。假设外接的振荡器频率为xMHz,那么执行CJNE指令时,8051需要2*12/x(us),12分频的F5*至少需要4*12/x(us),在这种情况下,比传统8051是要慢得多的。当然,可以设置分频值,最快可以提高到4/x(us)。类似地,其他比较转移指令也要分转移和不转移两种情况。所以,在使用F5*时,如果是将程序从其他的51单片机移植而来,在比较严格的时序控制场合,应该注意指令的机器周期的差异以及系统时钟分频设置。
沙发
bananarer| | 2010-12-20 08:50 | 只看该作者
赞你一下

使用特权

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

本版积分规则

99

主题

909

帖子

2

粉丝