摘要:随着电子产业.工商业以及军事化产业的迅猛发展,越来越多的复杂运算已经无法单纯利用算法上的优化处理来大幅提升执行速度.为了解决日益复杂的计算问题,利用多核处理势必成为一种大势所趋.所以着手从多核和单核对比出发,利用Xilinx 的XUP Virtex-2 Pro建立多核处理平台(基于Shared Memory通信机制)以及单核平台,并将相同的图像处理算法DCT分别运行在所构造的基于FPGA的单核和多核硬件平台上,观察实验结果,比较多核和单核运行所需的时间以及资源的消耗,最终的结果有力的说明多核在图像处理方面的绝对优势。
0 引言基于FPGA的嵌入式应用在近几年来作为一个比较新颖的课题,已经在通信.消费电子.医疗.工业和军事等诸多领域占据了相当重要的地位.相对于其他芯片来说,使用FPGA设计的电路执行速度快.上市时间短.成本低廉.可靠性高以及易于维护升级.正是这些优点才使得FPGA的应用范围越来越广泛,备受各个领域设计师们的青睐.但是有关于它在多核体系上的研究却一直很少有人涉及.本文在研究各种核间通信机制的基础上,提出了一种基于Mailbox核间机制的多核处理系统,在该系统中集成了Xilinx的软核处理器Microblaze,其降低了使用多信号处理板但来的成本问题同时还节省了空间,对更好的发挥多核系统提出了新的解决方案.
1 总线机制与核间通信机制在多核嵌入式系统的设计中,核间通信机制与核间传输总线在选用时很有讲究,常用的总线有:OPB总线.PLB总线.XCL总线.FSL总线.LMB总线,同时多核通信系统中常用的通信机制以及通信手段包括:Mailbox,Mu-tex,Shared Memory,Interrupt,PLBv46_PLBv46 Bridge,FSL互连机制,DMA Controller等.如图1所示。
1.1 PLB总线
PLB 总线(Processor Local Bus)总线包括了一个总线控制单元.一个看门狗定时器以及独立的地址和读/写数据路径单元,另外,还包括了一个可选用的DCR(Device Control Register)从接口以提供对总线错误状态寄存器的访问。
1.2 LMB总线LMB 总线主要用来连接片上BRAM(BlockRAM).为了能在一个时钟周期内完成访问,LMB采用了最少的控制信号和简单协议的方式.它分为指令寄存器DLMB 和数据寄存器ILMB 两类接口,而且这些接口只和BRAM连接。
1.3 Shared Memory通信机制共享内存是一种典型的快速异步通信机制,因其使得零拷贝有可能实现,固非常适用于大于1 000 B的大型数据量共享的情况,共享内存可分为两种:BlockRAM和外部内存DDRR。
2 RGB2YCrCb 算法以及DCT算法介绍RGB,YCrCb是表示颜色时经常用到的两种颜色空间,在应用中经常需要实现它们之间的转换.例如在人脸检测中就常常用到YCrCb空间,因为一般的图像都是基于RGB 空间的,在RGB 空间里人脸的肤色受亮度影响相当大,所以肤色点很难从非肤色点中分离出来,也就是说在此空间经过处理后,肤色点是离散的点,中间嵌有很多非肤色,这为肤色区域标定(人脸标定.眼睛等)带来了难题.如果把RGB转为YCrCb空间的话,可以忽略Y(亮度)的影响,因为该空间受亮度影响很小,肤色会产生很好的类聚。
而DCT 变换是视频压缩编解码器中很重要的一部分,被广泛应用于各种视频格式的编码算法中,例如:
JPEG,MPEG1,MPEG2,H.264等.
DCT 是先将整体图像分为N×N 的像素块,然后对N×N 的像素块逐一进行DCT变换.由于大多数图像的高频分量较小,对应于图像高频分量的系数经常为零,加上人眼对于高频成分的失真不太敏感,所以可以用更粗糙的量化.因此,传送变换系数的数码率要大大小于传送图像像素所用的数码率.图像到达接收端后通过反离散余弦变换回到样值,虽然会有一定的是真,但人眼是可以接受的,公式如下:
式中C(u) 和C(v) 在u.v 为0时等于1 2 ,其他情况下均为1,而x,u = 0,1,2,…,M – 1 ; y,v = 0,1,2,…,N – 1.
3 多核系统设计环境与系统软硬件的设计本文所采用的软件开发环境是Xilinx 公司旗下的ISE 10.1开发套件,硬件开发平台采用的是Xilinx 的XUP Virtex-2 Pro[8-9]开发板,而ISE 10.1开发套件嵌入了EDK 开发包(其集成了Xilinx Platform studio,SoftwareDevelopment,库文件生成器,编译工具等开发模块),这样就大大方便了软硬件的开发.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)