微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 面向动态应用的灵活操作系统

面向动态应用的灵活操作系统

时间:08-31 来源:互联网 点击:
性能加速

构建硬件操作系统的主要原因出于性能和灵活性方面的考虑。该操作系统本可以采用纯软件或纯硬件。由于每次调用操作系统原语都会涉及开销,即线程等待时间,操作系统速度越快,浪费的时间就越少。为了评估开销,我们必须就硬件操作系统的时序和原始的软件操作系统 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 模块上保持较低性能开销。

我们将在一个代表性的、基于搜索跟踪算法的泰雷兹公司应用上演示我们的方法。跟踪线程将被映射到可重配置分区,并根据目标探测情况动态地创建。

来源:赛灵思Xcell杂志

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top