当前位置:首页 > EDA > 电子设计自动化
[导读] 在可编程技术发展的最初阶段,可编程能力出现了两个极端。一个极端的代表是单核CPU和DSP单元。这些器件使用含有一系列可执行指令的软件来进行编程。对于编程人员,在概念上以连续的方式来开发这些指令,而高级处理器

 在可编程技术发展的最初阶段,可编程能力出现了两个极端。一个极端的代表是单核CPU和DSP单元。这些器件使用含有一系列可执行指令的软件来进行编程。对于编程人员,在概念上以连续的方式来开发这些指令,而高级处理器能够对指令重新排序,在运行时从这些连续程序中提取出指令级并行处理操作。作为对比,可编程技术另一极端的代表是FPGA。通过开发可配置硬件电路对这些器件编程,完全并行执行。使用FPGA的设计人员实际上是大规模开发粒度非常精细的并行应用。多年以来,这两个极端同时存在,每一类型的可编程功能适用于不同的应用领域。但是,最近的技术发展趋势表明,有更好的技术同时实现了可编程和并行处理操作。

软件可编程器件的第二种趋势是复杂硬件的出现,从顺序程序中提取出指令级并行处理操作。单核体系结构输入指令流,在器件中执行它们,这些器件会有很多并行功能单元。处理器硬件的很大一部分必须专门用于从顺序代码中动态提取出并行处理操作。此外,硬件还会尝试去补偿存储器延时。一般而言,编程人员开发程序时没有考虑处理器的底层存储器结构,好像只有大规模的统一快速存储器。相比较而言,处理器必须处理实际延时,以及与外部存储器的有限带宽链接。为保持功能单元能够传送数据,处理器必须从外部存储器中预先获取数据,放入片内高速缓存中,这样,数据更接近要进行计算的地方。使用这些技术,性能经过多年的提高后,这类体系结构的改动已经不大了。

图1.可编程和并行技术最近的发展趋势

在传统处理器体系结构上,这两种趋势的优势日益减小,我们开始寻找各种软件可编程器件,这些器件的发展非常快,如图1所示。重点是从运行时自动提取指令级并行处理操作,发展到在编码时明确的找到线程级并行处理操作。开始出现高度并行的多核器件,一般趋势是含有多个简单处理器,很多晶体管专门用于计算,而不是采用高速缓存,提取并行处理操作。这些器件一般包括含有2、4或者8个内核的多核CPU,以及含有数百个适用于数据并行计算的简单内核的GPU等。为能够在这些多核器件上实现高性能,编程人员必须以并行方式清晰的对实际应用进行编程。每一内核都必须分配一定的工作,这样,所有内核能够协同工作,执行某一计算。这也是FPGA设计人员在开发其高级系统体系结构时所做的工作。

考虑到多核新时代开发并行程序的需求,开发了OpenCL (开放计算语言),以便开发跨平台并行编程标准。OpenCL标准还能够自然的描述在FPGA中实现的并行算法,其抽象级要比VHDL或者Verilog等硬件描述语言(HDL)高得多。虽然有很多高级综合工具能够实现高等级的抽象功能,但是都存在同样的基本问题。这些工具会采用连续C程序,产生并行HDL实现。在开发HDL时,困难还不是很明显,但是,提取出线程级并行处理操作在FPGA中实现以提高性能时,困难却非常大。而FPGA的并行功能非常强大,与其他器件相比,在尽可能提取并行功能时出现任何失败的后果都非常严重。OpenCL标准能够解决很多这类问题,它支持编程人员明确的设定并控制并行处理操作。与纯C语言描述的连续程序相比,OpenCL标准能够更自然的匹配FPGA的高度并行特性。

OpenCL应用程序含有两部分。OpenCL主程序是纯软件例程,以标准C/C++编写,可以运行在任何类型的微处理器上。例如,这类处理器可以是FPGA中的嵌入式软核处理器、硬核ARM处理器或者外置x86处理器。

在这一主软件例程执行期间的某一点,某一功能有可能需要进行大量的计算,这就可以受益于并行器件的高度并行加速功能,例如CPU、GPU、FPGA等器件。要加速的功能被称为OpenCL内核。采用标准C编写这些内核;但是,采用结构对其进行注释,以设定并行处理操作和存储器等级。图2中的例子对两个数组a和b进行矢量加法,将结果写回输出数组应答中。矢量的每一元素都采用了并行线程,当采用像FPGA这类具有大量精细粒度并行单元的器件进行加速时,能够很快的计算出结果。主程序使用标准OpenCL API,支持将数据传送至FPGA,调用FPGA内核,传回得到的数据。

图2.在FPGA上实现的OpenCL例子

在FPGA中,可以把内核功能传送到专用深度流水线硬件电路中,它使用了流水线并行处理概念,在本质上就是多线程的。这些流水线的每一条都可以复制多次,与一条流水线相比,提供更强的并行处理功能。

在FPGA上实现OpenCL标准的优势

使用OpenCL描述来开发FPGA设计,与基于HDL设计的传统方法相比,具有很多优势。开发软件可编程器件的流程一般包括进行构思、在C等高级语言中对算法编程,然后使用自动编译器来建立指令流。面向OpenCL的Altera SDK提供了设计环境,很容易在FPGA上实现OpenCL应用。如图3所示。

图3.面向OpenCL的Altera SDK简介

可以把这一方法与传统的FPGA设计方法相比较,在传统方法中,设计人员的主要工作是对硬件按照每个周期进行描述,用于实现其算法。传统流程涉及到建立数据通路,通过状态机来控制这些数据通路,使用系统级工具连接至底层IP内核,由于必须要满足外部接口带来的约束,因此,需要处理时序收敛问题。面向OpenCL的Altera SDK帮助设计人员自动完成所有这些步骤,使他们能够集中精力定义算法,而不是重点关注乏味的硬件设计。以这种方式进行设计,设计人员很容易移植到新FPGA,性能更好,功能更强,这是因为OpenCL编译器将相同的高级描述转换为流水线,从而发挥了FPGA新器件的优势。

在FPGA上使用OpenCL标准,与目前的硬件体系结构(CPU、GPU,等)相比,能够大幅度提高性能,同时降低了功耗。此外,与使用Verilog或者VHDL等底层硬件描述语言(HDL)的传统FPGA开发方法相比,使用OpenCL标准、基于FPGA的混合系统(CPU + FPGA)具有明显的产品及时面市优势。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在这篇文章中,小编将为大家带来Linux内核的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 嵌入式 Linux 内核

以下内容中,小编将对嵌入式linux内核移植实现方案的相关内容进行着重介绍和阐述,希望本文能帮您增进对嵌入式的了解,和小编一起来看看吧。

关键字: 嵌入式 Linux 内核

上海2022年11月29日 /美通社/ -- 2022年11月4日至6日,具有国际影响力的金融科技经纪商ATFX参加且赞助了2023年“爱丁堡公爵杯”预选赛。此次预选赛是在墨西哥金塔纳罗奥州坎昆月亮宫酒店球场(Hotel...

关键字: 内核 进程 TE SE

据业内信息报道,近日半导体封测大厂日月光已从高通公司获得Oryon芯片的封测大单。

关键字: 高通 内核 Oryon 封测 日月光

据业内消息,在近日举办的Snapdragon技术峰会中,高通公司公布了新一代定制ARM内核Oryon。

关键字: 高通公司 ARM 内核 Oryon

北京2022年11月15日 /美通社/ -- "双十一"当天,思享无限正式推出拾遗计划,聚焦非遗文化的传播与传承,将传统文化与直播新的媒介语境相融合,让非遗传承者、非遗爱好者在直播平台上共同参与、共同...

关键字: 互联网 内核 数字化

Arasan发布一款全新版本的MIPI CSI IP,其符合CSI-2 v2.1规范,支持FPGA设计高达8Gbps(用于1通道)的C-PHY v2.0速度。该IP设计用于满足FPGA计时限制,以在较低频率下运行,同时仍...

关键字: MIPI AN FPGA设计 GBPS

高德智感推出PT系列红外热像仪新品,内核搭载1280x1024非制冷氧化钒红外探测器,率先拥有百万像素的红外热像仪产品。同时测温精度高达正负1摄氏度,热灵敏度NETD不超过55mK,可辨识微小的热差异,并自动追踪全屏最高...

关键字: 红外热像仪 NET NFC 内核

2022北京马拉松于11月6日开跑。本次北马采用集“数字化注册”、“人脸识别核验”、“AI测温”以及“北京健康宝健康码状态、全程新冠疫苗接种和24小时内核酸检测阴性证明”多验合一的物联网智能终端——声智科技IDA数字哨点...

关键字: 人脸识别 内核 数字化 智能终端

上海2022年11月1日 /美通社/ -- 近日,由上海勃林格殷格翰药业有限公司与华东理工大学药学院合作编写的高等学校通识课精品教材《质量文化导论》正式出版发行。这也是国内首门质量文化课程配套教材。该书的出版有望助力全国...

关键字: 内核 编写
关闭
关闭