主页
网络日志
AR1688
English
AR1688 Z80性能
2008年12月2日
在写完
Z80速度
10个月后,我们已经积累了很多有关AR1688 Z80性能和网络电话系统限制的经验。
慢的2x16 LCD控制器是导致Z80不能跑48MHz以上的最常见原因。也很好解决,换一个快的就行。市场上其实有很多快的控制器,那些慢的仅仅只是因为太古老。点阵显示的LCD控制器全部都很快,从来没有出过类似问题。
接在Z80数据总线上的程序存储器不够快是另外一个原因。幸运的是我们发现程序存储器只是在写入的时候不够快。这样我们可以在写程序存储器的时候让Z80跑24MHz,其它绝大多数时间系统都能够跑高速。
网络芯片是最后一个接在Z80数据总线上的,解决了LCD和程序存储器问题后,就由它决定AR1688网络电话到底能跑多快。
接最常用的
RTL8019AS
,Z80能跑60MHz。
Micrel
KSZ8842
不如RTL8019AS,接它的时候Z80只能跑45MHz。
单纯从速度上考虑,Davicom
DM9003
是最好的,接它的时候Z80能跑AR1688芯片的设计极限72MHz。
Z80性能到底重要在什么地方?
即使Z80跑24MHz,
AR1688
网络电话也能处理1Mbps的UDP数据。大约10倍于普通的VoIP流量。因此Z80性能跟网络性能关系不大。
当考虑周期性的重新注册消息对语音产生的抖动影响(
Rtp优先
),Z80性能就重要了,因为我们用它计算MD5。做少于56字节的单次加密计算时,48MHz需要4.7毫秒、60MHz需要3.7毫秒、72MHz需要3.0毫秒。
由于软件接口不同,上面链接中描述的"Rtp优先"策略只能用在RTL8019AS上。对KSZ8842和DM9003就需要让MD5计算越快越好了。除了让Z80跑更高频率,我们也在计划对MD5算法做更多的汇编优化。
Z80性能也会影响"实际"
DSP
运算能力。在Z80和DSP交换数据的时候,我们会把DSP放在一个只能进中断处理的循环中等待。Z80读写DSP数据越快,DSP等待时间就越少,实际运算能力就越高。
为什么我一直在谈论性能和优化?可能这是我唯一知道自己能做好的事情吧。
"We should forget about small efficiencies, say about 97% of the time:
premature optimization is the root of all evil." - Donald Knuth "Structured
Programming with go to Statements" Computing Surveys, Vol. 6, No. 4,
December, 1974, page 268.
本页面尚无任何评论。
有话想说?请先
登录
或者
注册
。