基于OpenCL标准的FPGA设计.doc
《基于OpenCL标准的FPGA设计.doc》由会员分享,可在线阅读,更多相关《基于OpenCL标准的FPGA设计.doc(3页珍藏版)》请在三一文库上搜索。
1、基于OpenCL标准的FPGA设计在可编程技术发展的最初阶段,可编程能力出现了两个极端。一个极端的代表是单核CPU和DSP单元。这些器件使用含有一系列可执行指令的软件来进行编程。对于编程人员,在概念上以连续的方式来开发这些指令,而高级处理器能够对指令重新排序,在运行时从这些连续程序中提取出指令级并行处理操作。作为对比,可编程技术另一极端的代表是FPGA.通过开发可配置硬件电路对这些器件编程,完全并行执行。使用FPGA的设计人员实际上是大规模开发粒度非常精细的并行应用。多年以来,这两个极端同时存在,每一类型的可编程功能适用于不同的应用领域。但是,最近的技术发展趋势表明,有更好的技术同时实现了可编
2、程和并行处理操作。软件可编程器件的第二种趋势是复杂硬件的出现,从顺序程序中提取出指令级并行处理操作。单核体系结构输入指令流,在器件中执行它们,这些器件会有很多并行功能单元。处理器硬件的很大一部分必须专门用于从顺序代码中动态提取出并行处理操作。此外,硬件还会尝试去补偿存储器延时。一般而言,编程人员开发程序时没有考虑处理器的底层存储器结构,好像只有大规模的统一快速存储器。相比较而言,处理器必须处理实际延时,以及与外部存储器的有限带宽链接。为保持功能单元能够传送数据,处理器必须从外部存储器中预先获取数据,放入片内高速缓存中,这样,数据更接近要进行计算的地方。使用这些技术,性能经过多年的提高后,这类体
3、系结构的改动已经不大了。图1.可编程和并行技术最近的发展趋势在传统处理器体系结构上,这两种趋势的优势日益减小,我们开始寻找各种软件可编程器件,这些器件的发展非常快,如图1所示。重点是从运行时自动提取指令级并行处理操作,发展到在编码时明确的找到线程级并行处理操作。开始出现高度并行的多核器件,一般趋势是含有多个简单处理器,很多晶体管专门用于计算,而不是采用高速缓存,提取并行处理操作。这些器件一般包括含有2、4或者8个内核的多核CPU,以及含有数百个适用于数据并行计算的简单内核的GPU等。为能够在这些多核器件上实现高性能,编程人员必须以并行方式清晰的对实际应用进行编程。每一内核都必须分配一定的工作,
4、这样,所有内核能够协同工作,执行某一计算。这也是FPGA设计人员在开发其高级系统体系结构时所做的工作。考虑到多核新时代开发并行程序的需求,开发了OpenCL (开放计算语言),以便开发跨平台并行编程标准。OpenCL标准还能够自然的描述在FPGA中实现的并行算法,其抽象级要比VHDL或者Verilog等硬件描述语言(HDL)高得多。虽然有很多高级综合工具能够实现高等级的抽象功能,但是都存在同样的基本问题。这些工具会采用连续C程序,产生并行HDL实现。在开发HDL时,困难还不是很明显,但是,提取出线程级并行处理操作在FPGA中实现以提高性能时,困难却非常大。而FPGA的并行功能非常强大,与其他器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 OpenCL 标准 FPGA 设计
链接地址:https://www.31doc.com/p-3411431.html