如何采用FPGA协处理器实现算法加速.doc
《如何采用FPGA协处理器实现算法加速.doc》由会员分享,可在线阅读,更多相关《如何采用FPGA协处理器实现算法加速.doc(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、如何采用如何采用 FPGA 协处理器实现算法加速协处理器实现算法加速当今的设计工程师受到面积、功率和成本的约束,不能采用 GHz 级的计算机实 现嵌入式设计。在嵌入式系统中,通常是由相对数量较少的算法决定最大的运 算需求。使用设计自动化工具可以将这些算法快速转换到硬件协处理器中。然 后,协处理器可以有效地连接到处理器,产生“GHz”级的性能。 本文主要研究了代码加速和代码转换到硬件协处理器的方法。我们还分析了通 过一个涉及到基于辅助处理器单元(APU)的实际图像显示案例的基准数据均衡 决策的过程。该设计使用了在一个平台 FPGA 中实现的一个嵌入式 PowerPC 。 协处理器的意义协处理器的
2、意义 协处理器是一个处理单元,该处理单元与一个主处理单元一起使用来承担通常 由主处理单元执行的运算。通常,协处理器功能在硬件中实现以替代几种软件 指令。通过减少多种代码指令为单一指令,以及在硬件中直接实现指令的方式 ,从而实现代码加速。 最常用的协处理器是浮点单元(FPU),这是与 CPU 紧密结合的唯一普通协处理 器。没有通用的协处理器库,即使是存在这样的库,将依然难以简单地将协处 理器与一个 CPU(例如 Pentium 4)连接。Xilinx Virtex-4 FX FPGA 拥有一个或 两个 PowerPC,每个都有一个 APU 接口。通过在 FPGA 中嵌入一个处理器, 现在就有机会
3、在单芯片上实现完整的处理系统。 带 APU 接口的 PowerPC 使得在 FPGA 中得以实现一个紧密结合的协处理器。 因为频率的需求以及管脚数量的限制,采用外部协处理器不大可行。因此可以 创建一个直接连接到 PowerPC 的专用应用协处理器,大大地提高了软件速度 。因为 FPGA 是可编程的,你可以快速地开发和测试连接到 CPU 的协处理器 解决方案。 协处理器连接模型协处理器连接模型 协处理器有三种基本的形式:与 CPU 总线连接的、与 I/O 连接的和指令流水线 连接(Instruction Pipeline Connection)。此外,还存在一些这些形式的混合形 式。 1. CP
4、U 总线连接 处理器总线连接加速器需要 CPU 在总线上移动数据以及发送命令。通常,单 个数据处理就需要很多的处理器时钟周期。因为总线仲裁以及总线驱动的时钟 是处理器时钟的分频,所以会降低数据处理速度。一个与总线连接的加速器可以包含一个存储器存取(DMA)引擎。在增加额外的逻辑情况下,DMA 引擎允许 协处理器工作在位于连接到总线的存储器上的数据块,独立于 CPU。 2. I/O 连接 与 I/O 连接的加速器直接连接到一个专用的 I/O 端口。通常通过 GET 或 PUT 函数提供数据和控制。因为缺少了仲裁、控制复杂度降低以及连接器件较少, 因此这些接口的驱动时钟通常比处理器总线更快。这种接
5、口的一个较好的例子 如 Xilinx Fast Simplex Link(FSL)。FSL 是一种简单的 FIFO 接口,可以连接 到 Xilinx MicroBlaze 软核处理器或 Virtex-4 FX PowerPC。与处理器总线接口 中的数据移动相比,通过 FSL 移动的数据具有较低的延时和更高的数据速率。 3. 指令流水线连接 指令流水线连接加速器直接连接到 CPU 的计算内核。通过与指令流水线连接 ,CPU 不能识别的指令可以由协处理器执行。操作数、结果以及状态直接从数 据执行流水线向外传递,或接收。单个运算可以实现两个操作数的处理,同时 返回一个结果和状态。 作为一个直接连接的
6、接口,连接道指令流水线的加速器可以用比处理器总线更 快的时钟驱动。Xilinx 通过 APU 接口实现这种协处理器连接模型,对于典型的 双操作数指令,在数据控制和数据传输上可以缩减 10 倍的时钟周期。APU 控 制器还连接到数据缓存控制器,通过它可以执行数据加载/存储操作。因此,A PU 接口能在每秒内移动数百兆字节,接近 DMA 速度。 I/O 连接加速器或指令流水线连接加速器可以与总线连接加速器结合起来。在增 加额外的逻辑条件下,可以创建一个加速器,这个加速器运行在一个位于总线 连接存储器上的数据块上,通过一个快速、低延时的接口接收命令并返回状态 。 在本文中介绍的 C-HDL 工具组可
7、以实现总线连接和 I/O 连接加速器,它还能实 现连接到 PowerPC 的 APU 接口的加速器。尽管 APU 连接是基于指令流水线 的,C-HDL 工具组实现了一种 I/O 流水线接口,该接口具有 I/O 连接加速器的 典型性能。 FPGA/PowerPC/APU 接口接口 FPGA 允许硬件设计工程师利用单芯片上的处理器、解码逻辑、外设和协处理 器实现一个完整的计算系统。FPGA 可以包含数千到数十万的逻辑单元,可以 从这些逻辑单元实现一个处理器,如 Xilinx PicoBlaze 或 MicroBlaze 处理器, 或者可以是一个或者更多的硬逻辑单元(如 Virtex-4 FX Po
8、werPC)。大量的逻 辑单元使你可以实现数据处理单元,这些单元与处理器系统一起工作,由处理 器对其进行控制或监控。 FPGA 作为一种可重复编程的单元,允许你在设计过程中进行编程并对其进行 测试。如果你发现了一个设计缺陷,你可以立即对其进行重新编程设计。FPG A 还允许你实现硬件运算功能,而这在以前的实现成本是很高的。CPU 流水线 与 FPGA 逻辑之间紧密结合,这样就可以创建高性能软件加速器。 图 1 的模块框图显示了 PowerPC、集成的 APU 控制器以及一个与之相连的协 处理器。来自高速缓存或存储器中的指令可以立即出现在 CPU 解码器和 APU 控制器上,如果 CPU 能识别
9、指令,则运行这些指令。否则,APU 控制器或用 户创建的协处理器可以对指令做出应答并执行指令。一个或者两个操作数被传 递到协处理器,并返回一个结果或状态。APU 接口还支持用一个指令发送一个 数据单元。数据单元的大小范围从一个字节到 4 个 32 位的字。 图1:PowerPC、集成的APU控制器和协处理器 通过一个结构协处理器总线(FCB),可以将一个或多个协处理器连接到 APU 接 口。连接到总线的协处理器范围包括现存的内核(例如 FPU)到用户创建的协处 理器。一个协处理器可以连接到 FCB 用于控制和状态运算,并连接到一个处理 器总线,实现直接存储器数据块访问以及 DMA 数据传递。一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 采用 采取 采纳 fpga 处理器 实现 算法 加速
限制150内