误解一:这主频
100M的
CPU只能处理
70%,换
200M主频的就没事了
点评:系统的处理能力牵涉到多种多样的因素,在
通信业务中其瓶颈一般都在存储器上,
CPU再快,外部访问快不起来也是徒劳。
误解二:
CPU用大一点的
CACHE,就应该快了
点 评:
CACHE的增大,并不一定就导致系统性能的提高,在某些情况下关闭
CACHE反而比使用
CACHE还快。原因是搬到
CACHE中的数据必须得到多次 重复使用才会提高系统效率。所以在通信系统中一般只打开指令
CACHE,数据
CACHE即使打开也只局限在部分存储空间,如堆栈部分。同时也要求程序设计 要兼顾
CACHE的容量及块大小,这涉及到关键代码循环体的长度及跳转范围,如果一个循环刚好比
CACHE大那么一点点,又在反复循环的话,那就惨了。
误解三:这么多任务到底是用中断还是用查询呢?还是中断快些吧
点 评:中断的实时性强,但不一定快。如果中断任务特别多的话,这个没退出来,后面又接踵而至,一会儿系统就将崩溃了。如果任务数量多但很频繁的话,
CPU的 很大精力都用在进出中断的开销上,系统效率极为低下,如果改用查询方式反而可极大提高效率,但查询有时不能满足实时性要求,所以最好的办法是在中断中查 询,即进一次中断就把积累的所有任务都处理完再退出。
误解四:存储器接口的时序都是厂家默认的配置,不用修改的
点评:
BSP对存储 器接口设置的默认值都是按最保守的参数设置的,在实际应用中应结合总线工作频率和等待周期等参数进行合理调配。有时把频率降低反而可提高效率,如
RAM的 存取周期是
70ns,总线频率为
40M时,设
3个周期的存取时间,即
75ns即可;若总线频率为
50M时,必须设为
4个周期,实际存取时间却放慢到了
80ns。
误解五:一个
CPU处理不过来,就用两个分布处理,处理能力可提高一倍
点评:对于搬砖头来说,两个人应该比一个人的效率高一倍;对于作画来说,多一个人只能帮倒忙。使用几个
CPU需对业务有较多的了解后才能确定,尽量减少两个
CPU间协调的代价,使
1+1尽可能接近
2,千万别小于
1。
误解六:这个
CPU带有
DMA模块,用它来搬数据肯定快
点 评:真正的
DMA是由硬件抢占总线后同时启动两端设备,在一个周期内这边读,那边些。但很多嵌入
CPU内的
DMA只是模拟而已,启动每一次
DMA之前要做 不少准备工作(设起始地址和长度等),在传输时往往是先读到芯片内暂存,然后再写出去,即搬一次数据需两个时钟周期,比软件来搬要快一些(不需要取指令, 没有循环跳转等额外工作),但如果一次只搬几个字节,还要做一堆准备工作,一般还涉及函数调用,效率并不高。所以这种
DMA只对大数据块才适用。
0