4 软件程序运行时问估算
软件程序的耗时估算是前期工作不可缺少的一步,大致可分为数据传输耗时和算法运算耗时。
数据传输耗时主要指DMA传输数据的时间,虽然数据可以异地共享,但会额外花费时间,尤其在共享数据量很大的时候。所以对于大数据量,一般采用DMA方式传到各个处理模块的本地存储器,以供它们各自访问。这就涉及到DMA传输数据的耗时估算。经过实测,同一个DMA通道传输数据量与耗时之比是常数,但是启动1个DMA通道的传输耗时与启动多个DMA通道的传输耗时之比不是常数。例如:A处理器启动1个DMA,传输10 MB数据给B处理器,大约需要25.196 ms;而A处理器同时启动3个DMA,分别传输10 MB数据给B、C、D处理器,只需要37.383 ms。从此叮以看出,选择适当的DMA传输方式,可以大大降低传输耗时。
Champ-av3的存储空间构造方式特殊,由于高速缓冲存储器空间远小于存储空间,所以算法的耗时和参与运算的数据量并不成正比。除了了解算法本身的运算时间外,最好充分考虑数据的更新率和运算数据量。如果算法允许,可以将数据拆成小包运算,减少算法耗时。
5 Champ-av3板的应用
图2所示是一则Champ-av3主板的硬件应用实例。它的输入信号是同步数据流,PMC子卡1有64位可用户自定义的IO口,而且接口电平可以有多种选择。数据进入子卡后可以在大容量的FPGA中进行预处理,然后通过PCI总线进入主板。需要注意的是PCI总线是64位的,所以数据在预处理时最好拼接成64位,这样除了可以提高PCI总线传输速率,还便于存储器存放数据。而主板调用这些数据时,由于是C语言编程,可以以C语言允许的数据形式任意调用。
输出信号是异步数据流,PMC子卡2通过PCI总线与主板连接,任何一个处理模块都可以控制它,通过它传输或接收数据。PMC子卡2最多可以有4对双向星形结构连接方式,因此它可以实现点对多传输方式,但在这种传输方式下,传输速率最好不要超过50 MB/s。
由于A处理模块对Flash存储器的特殊控制地位,让它处在主控地位是比较方便的。A处理模块负责所有的控制流程,其他模块可以在A处理模块的控制下运行程序,并行处理数据。
6 结束语
Champ-av3板内部有4片MPC7447/A处理器,每片主频都是1 GHz,所以本板的运算速度很快,可以满足目前大多数数字信号处理的要求。而且它配备各种子卡,有灵活的接口方式,所以是一种功能强大、通用性好的硬件平台,适用于多种数字信号处理方面的开发应用。