赛灵思FPGA:面向动态应用的灵活操作系统
件计算模型的做法。 采用中间件在硬件和软件间建立抽象层,并提供同构编程模型,可以很好地解决这一问题。中间件实现了一组虚拟通道,可以在不必理会线程的实现区域的情况下进行线程间通信。这些服务跨平台分布,提供了一个灵活的可扩展抽象层,让 FOSFOR 构想臻于完善。 性能加速 构建硬件操作系统的主要原因出于性能和灵活性方面的考虑。该操作系统本可以采用纯软件或纯硬件。由于每次调用操作系统原语都会涉及开销,即线程等待时间,操作系统速度越快,浪费的时间就越少。为了评估开销,我们必须就硬件操作系统的时序和原始的软件操作系统 RTEMS 做一比较。 硬件本地运行只需要数十个周期,而为了访问共享存储器,硬件全局运行需要数百个周期。经我们评估,与软件操作系统的运行结果相比,本地创建-删除操作速度提高了 60 倍,其它操作速度也提高了约 50 倍。 硬件操作系统的资源使用(表 1)相差较大,这主要取决于激活的服务的数量及功能,比如我们为每项服务选择对象(信号量、线程等)的数量。我们使用赛灵思 Virtex-5 FX100T 来实现系统。表中列出了硬件操作系统使用的资源。余下的资源可用于实现其它系统组件及硬件线程自身。 实现的结构数量 8 16 32 CLB Slice 2,408 (15%) 3,151 (20%) 4,327 (27%) D 触发器 5,498 (8.5%) 6,650 (10.4%) 8,918 (13.9%) BRAM 8 (3.5%) 16 (7%) 32 (14%) 表 1 — 硬件操作系统 (Virtex-5 FX100) 的资源使用情况 对于网络性能,在 DRAFT 连接 8 个32 位字宽、缓冲深度为 4 个字,频率为100MHz 的组件的配置下,片上网络可使每个连接的组件的最大数据速率高达 1,040Mbps。网络的拓扑和路由协议保证不会出现争用和拥堵现象。在两个互连的组件间,至少一直保留着一条通信路径。数据通过 DRAFT 的平均时延接近 45 个时钟周期(450 纳秒),这符合许多应用的要求。 展望 我们提议采用一种创新型的操作系统,可以在由多个处理器和动态可重配置硬件 IP 模块构成的异构多核架构上提供基于多线程的同构执行模型。硬件操作系统负责管理硬件线程,一般用于线程创建和抑制,以及信息量和消息队列服务。在通信方面,我们建议改进用于数据交换的胖树拓扑片上网络、用于硬件线程管理的专用总线以及为实现操作系统间同步的通信层。 从行业角度来看,下一步是演示为确保执行模型的同构性而添加的硬件的功能,这可以真正提升编程效率,同时还能在专用 IP 模块上保持较低性能开销。 我们将在一个代表性的、基于搜索跟踪算法的泰雷兹公司应用上演示我们的方法。跟踪线程将被映射到可重配置分区,并根据目标探测情况动态地创建。
- 可扩展的嵌入式网络平台(07-07)
- 基于赛灵思Spartan-3A DSP的安全视频分析(02-17)
- 如何快速启动嵌入式系统开发(01-06)
- 利用XPS工具快速生成Virtex FPGA的板级支持包(03-18)
- 设计可靠性: MTBF—这只是开始!(09-17)
- 将SoC平台设计与DSP系统生成器相集成(07-01)