高性能PCI驱动程序的关键技术
2012-05-04应三丛汪明寅
应三丛,汪明寅,张 行
(1.四川大学 计算机学院,四川 成都610065;2.四川大学 电气信息学院,四川 成都610065)
0 引 言
嵌入式技术的发展导致越来越多的电子设备都采用嵌入式计算机系统来实现,而PowerPC和DSP都属于嵌入式技术的范畴。对于具有视频图像数据处理,以及对处理结果需要存储管理和网络传输的嵌入式技术应用,单纯的选择PowerPC或DSP来实现,都不是一个好的选择,因为PowerPC和DSP都有各自的缺陷。众所周知,DSP作为数字信号处理专用处理器,在视频图像处理等方面有很大的优势,但对诸如文件管理,网络传输等事务性工作的实现存在困难。而PowerPC处理器与DSP专用处理器刚好形成互补,移植在PowerPC处理器上的Linux操作系统则可以根据需要裁减内核,在数据管理、多任务调度和网络传输等方面表现出色。综合二者各自的优点,同时采用Power-PC与DSP技术来实现包含视频图像处理和网络传输的应用是一种最佳方案。采用PowerPC和DSP双核技术时,PowerPC与DSP之间通常存在大量数据需要相互交换,那么,如何实现二者之间数据的高效通信就成了不容忽视的问题。由于PowerPC和DSP处理器都能提供PCI总线接口,并且PowerPC处理器上可以移植嵌入式Linux操作系统,因 此,本 文 采 用 PCI(peripheral component interconnect)作为二者之间大量数据传输的通信接口。在Linux操作系统中,为了保证PCI接口数据传输的高效性,其驱动程序设计是关键。多篇文献[1-4]中都只介绍了通用的PCI驱动程序设计的基本方法,并没有提到如何提高PCI数据传输的技术。在PCI的驱动程序设计中,本文采用了零拷贝技术和直接存储器访问(DMA)技术,并与通常的PCI驱动程序设计进行对比后,明显提高了PowerPC和DSP之间的PCI数据传输能力。……
