- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于异构多核H.264编码器研究与实现
基于异构多核H.264编码器研究与实现
摘要:随着信息社会的迅猛发展,传统的单核处理器及同构多核已难以满足大数据处理的高性能需求,采用ARM和FPGA构建异构多核系统,以FPGA上的IP核作为硬件加速器,ARM提供通用计算成了高性能计算领域的重要发展趋势。本文针对当前应用最广泛的H.264视频编码算法,构建了ARM-FPGA异构多核系统,提出了基于共享内存和AXI总线的高带宽通信方法。将编码算法中耗时较多的模块负载到FPGA上运行,利用FPGA丰富的逻辑资源和并行性加速编码,移植嵌入式Linux到ARM上并开发相关驱动,实验数据表明H.264编码算法在ARM-FPGA异构多核系统中效果较好,编码速度明显加快,且有很好的扩展性和灵活性。
关键词:视频编码;异构多核;FPGA;H.264
中图分类号:TP37
文献标识码:A
0 引言
随着科学技术的创新,云计算和移动互联网的迅猛发展使得各领域对海量数据的处理能力要求越来越迫切。传统的单核处理器已满足不了当下的计算要求,为此,人们提出了多核处理器解决方案。多核处理器共有两种架构,同构多核架构(Homogeneous MPSoc)和异构多核架构(Heterogeneous)。同构多核系统由功能相近的处理器构成,如Intel系列,ARM Cortex-A9系列。异构多核系统是由功能相异的处理器构成,如IBM的Cell处理器,AMD的APU等。H.264是由ISO/IEC与ITUT合作成立的联合视频专家组(JVT:Joint Video Team)于2003年制定的视频编解码标准,其主要包括视频编码层(VCL:Video Coding Layer)和网络适应层(NAL:Network Adaptation Layer)。
纪芳提出了一种基于FPGA同构多核处理器的AVS视频编码算法实现方案,使用Xilinx官方提供的MicroBlaze软核构建同构多核系统,其中一个软核作为主核,负责线程调度任务和任务分配,剩余的软核作为协处理器负责执行具体某些编码算法模块。优点是充分利用了FPGA逻辑资源丰富的特点,适合运行并行算法,缺点是系统的流程控制和数据运算都由FPGA实现,硬件描述语言开发难度大。
江辉提出了一种基于CPU-GPU的异构多核架构的H.264编码算法实现方案,在该架构中GPU作为CPU的协处理器,CPU串行执行任务,而GPU并行执行CPU分配的任务。CPU和GPU各自有自己的专用的存储器以及数据访问通路,因此相较于同构多核处理器有更大的存储器带宽和计算性能,缺点是GPU开发使用的CUDA是设备相关的,可扩展性较差。
本文在前人研究基础上,结合Zynq开发板单芯片集成了双核ARM和FPGA的特点,提出了一种基于ARM-FPGA的异构多核高性能架构,设计了一种异构多核间高带宽通信方式,移植了嵌入式Linux并开发相关软核的驱动,在该架构实现了优化后的H.264编码算法,实验数据表明,该架构下的算法相比同构多核架构具有很大性能的提升。
1 基于Zynq的异构多核系统总体设计
1.1异构多核系统的硬件架构设计
本文使用的硬件平台是Xilinx Zynq-7000 SOC,在单芯片集成了具有丰富特点的双核ARM Cortex-A9处理器的处理系统和Xilinx可编程逻辑,整个异构多核系统的硬件架构设计如图1所示。
处理系统不仅包括ARM Cortex-A9双核处理器,还包括Cache,DDR控制器,DMA控制器等。可编程逻辑采用Xilinx 7系列的FPGA技术,它包含大量不同类型的资源,主要包括块存储器(Block RAM),时钟管理单元(Clock Management Tiles),可配置逻辑块(Configurable Logic Block)等。ARM Cortex-A9双核处理器和Xilinx7系列FPGA集成到单芯片中构成了本文所介绍的异构多核处理器系统。由于Zynq既有通用处理器的灵活性和可扩展性,又有具有可编程逻辑处理器的高性能,可重构性,因此本文在此硬件平台上构建了异构多核的处理器系统,完成了H.264编码算法在异构多核系统上的优化实现。
1.2异构多核系统的软件架构设计
为了在异构多核系统上运行H.264编码算法,本文将嵌入式Linux系统移植到Zynq开发板,并开发相关驱动。在Zynq异构多核硬件系统上移植Linux系统的步骤如图2所示。
在异构多核硬件系统搭建完毕及嵌入式Linux移植完成后,本文将在软件层实现H.264编码算法。
如图3所示,运行过程中以下文详述的ARM-FPGA高速通信方法及FPGA硬件加速算法的调用为基础,将编码算法中耗时最多的任务负载到FP
您可能关注的文档
最近下载
- 专题5.3主视图、左视图、俯视图【七大题型】(举一反三)(苏科版)(原卷版+解析).docx VIP
- 系统稳定性优化方案.docx VIP
- 飞行器制造工程专业职业生涯规划书.pptx
- 东北大学大学物理课件-第八章电磁感应电磁场.ppt VIP
- 电大一网一《Java语言程序设计》山东开放大学形成性考核一-100分.doc VIP
- 美团_W-市场前景及投资研究报告:本地生活领先者,组织改革,AI赋能,饿了么.pdf
- 思想道德与法治第三章.pptx VIP
- 核物理与辐射安全智慧树知到期末考试答案章节答案2024年哈尔滨工程大学.docx
- Unit 9考点梳理-九年级英语全一册(人教版).docx
- 2015汽车nvh技术.ppt VIP
文档评论(0)