中文引用格式: 刘红伟,周宇,李茂娇,等. 一种基于FPGA资源的并行计算系统设计及实现[J]. 电子技术应用,2025,51(12):8-13.
英文引用格式: Liu Hongwei,Zhou Yu,Li Maojiao,et al. Design and implementation of a parallel system based on FPGA resources[J]. Application of Electronic Technique,2025,51(12):8-13.
引言
随着电子工业水平的发展,FPGA的性能不断提升,FPGA已经有足够的能力将某个问题的完整算法配置在其中,结合FPGA并行计算与可重构特性,可将FPGA划分为多个可重构区域进行并行计算实现高性能计算。在航空航天、通信服务、医疗、智能终端中,高性能嵌入式计算起了至关重要的作用[1]。Sun公司提出了SPARC高性能嵌入式计算平台,在电信服务、医疗成像方面已经得到了广泛的应用。高性能FPGA资源设备广泛应用的同时,高性能系统的编译也是重要的一部分,传统的编译方法在应对大规模的单元时总是会显得力不从心,效率低下,传统的FPGA设计流程(综合->布局布线)在面对数百万乃至上千万个逻辑单元的大规模设计时,编译时间(尤其是布局布线阶段)可能长达数十小时。这不仅严重拖慢了开发迭代速度,也极大地限制了FPGA在需要快速重构的场景中的应用。迫切需要研究出合适的嵌入式FPGA资源系统架构,提升资源的利用效率。
如今,将FPGA作为主要计算器件成为高性能智能计算平台的一部分与其他类型计算资源协同工作已经成为研究的热点之一[2-4],但是适应高性能计算的软件系统发展还远远达不到需求,可重构高性能嵌入式多FPGA并行计算系统成为嵌入式高性能智能计算平台里的软件系统的重要组成部分[5-7]。
可重构系统的早期研究[8]中实现了针对传统的操作系统的扩展,该操作系统虽然支持多任务、多线程,但是每个任务的线程只能按照设计好的调度流程顺序执行,而不能做到并行执行,所以该系统并不是具有实际意义的多任务、多线程操作系统。IMEC(Inter University Micro Electronic Center)的研究人员[9]提出了一个可重构操作系统(Operating System for Reconfigurable Systems,OS4RS),该系统可以实现多任务的创建、执行、删除,多任务间的数据通信,不同任务间的动态切换等。同时该系统可以实时跟踪各任务的执行状态。复旦大学的研究人员以 μC/OS-II 实时操作系统为原型[10],提出了SHUM UCOS(Software-Tasks Hardware-Tasks Uniform Management UCOS),该操作系统可以进行统一的多线程编程模型,支持可重构的实时操作系统。该操作系统在管理硬件线程和软件线程时使用统一的平台,这样将可以极大地缩短线程调度的时间。它还可以实时跟踪和管理可重构硬件资源的使用情况, 可根据硬件线程所需资源进行预配置,从而有效地提高资源利用率。虽然在μC/OS-II基础上有些提升,但是该系统只支持全局静态可重构。总体来说,国内在可重构系统的研究上还是处于起步阶段,还在奋力地追赶中,但是与可重构计算系统相关应用的研究也在同步开展。
本文结合FPGA实时操作系统和高性能计算平台调度系统用来实现FPGA硬件资源合理划分,应用功能灵活部署,通过FPGA实时操作系统中的可重构计算单元针对动态区资源灵活调度,控制计算单元的起停,使得计算单元功能算法可独立脱耦设计。同时,动态区资源的分割,接口界面清晰,能够实现不同团队同时独立为不同的可重配置区域进行设计、编译和验证,将一个巨大的编译任务拆分成多个小型编译任务,编译时间从O(n²)降低到接近O(n),极大提升系统功能开发和集成效率。
本文详细内容请下载:
https://www.chinaaet.com/resource/share/2000006870
作者信息:
刘红伟1,2,周宇1,2,李茂娇1,2,
潘灵1,2,贾明权1,2,张昊1,2
(1.西南电子技术研究所,四川 成都 610036;
2.敏捷智能计算四川省重点实验室,四川 成都 610036)

