您好, 访客   登录/注册

一种FPGA的远程编程方法研究和实现

来源:用户上传      作者: 王锴

  摘 要
  在嵌入式系统中,尤其是多目的平台上,对计算能力的需求多样性。这主要依靠于在平台上面运行应用的种类同时包含限制条件,例如实时约束或是正在处理数据的数量。这些因素在系统的生命周期甚至在运行期间都可以改变。一个高适应性计算平台让人满意的,比如准确的提供计算能力和使用最少资源在任何特别的时间满足任何特殊的任务需求。本文主要作用在于讨论了一个高度可伸缩的由最小尺寸处理器组成的多处理器系统。拟提议的架构是用于密集计算应用,例如在线路由选择、FPGA放置或是在加密领域的应用。该架构中FPGA使用最少资源的同时,还在计算能力上提供了许多余地,从而为运行在并行多处理器系统的运用释放了硬件资源。
  【关键词】FPGA 适用性 处理系统
  1 介绍
  由摩尔定律可知,微电子学的快速发展使得复杂计算系统可以集中在单芯片上。需要该结构的任务可以被映射到更小的硬件资源形成片上系统。这些平台要保持搞可适应性以处理不断变化的限制,例如交流标准、实时限制、多媒体应用的代码以及其他方面。上述的限制通常没有使用的平台更持久。
  使用微处理器可以通过更新硬件的固件来考虑到一个片的功能的适应性,从而让系统保持到一定程度以处理这些一直不断变化的要求。同时,片上面积是以系统表现为代价而最小化。在满足实时限制,微处理器有时也不高效。然而专一和高特殊性硬件模块通常是必须的,尤其是在加速单任务上面以及同时提供较多平行的可能性。一种硬件的劣势在于自制造后不能被改变。
  对于该问题的解决方案在于可重构硬件上面,例如逻辑可编程门序列。这些有助于硬件实现上述的变化且不需要重新构造完成的设备即SoC,同时提供硬件完成所有的优点。FPGA在不同时间随着完全实施不同任务的时候进行重构。
  2 现行微处理器系统
  许多不同种类的多处理器系统可提高和在使用。甚至两个主要的通用处理器的半导体公司已经公开的建议大规模多处理器芯片的益处。将多处理器系统的主要资源集中到性能上面,而不是伴随的能量消耗。
  现行的图形处理单元包含了多处理器设计。例如,英伟达一款新型GPU包含了128个渲染处理单元。这些单元都是特别设计来处理渲染算法以及在相同图形内的并行计算。许多同时发生的图形计算都是可能的,然后速度就会提升起来。
  同时一款新的微单元处理器(Cell processor)有IBM,Sony和TOshiba共同研究研发出来。该微型处理器由8个Synergistic Processing Elements(SPE)和一个PowerPC Processing Element(PPE)组成。每个SPE支持一个独立处理单元(ALU)。PPE用来作为中央控制处理器(PPE)而且已IBM的64位PowerPC结构。通过耦合每个处理器的总线接口,它们可以进行交流和交互。微处理器的设计很明确的一种高度平行化。
  3 MultiBlaze系统设计
  该设计是基于Xillinx的PicoBlaze核心。该核心是一个8位微处理器,此微处理器优化非常适合Xilinx的物理FPGA设计。为了实现该目的,该核心仅仅提供有限的处理资源和存储。在设计该核心的基本理念是使用一个非常容易建立并使用最少资源的模型来代替庞大的FSM。尽管该核心如同FSM一样性能偏慢,但是该核心每片的性能比更高效。所以该核心能够很好的满足设计需求。
  4 设计的可扩展性
  该MultiBlaze系统中设计阶段的可扩展性非常好。提供的主从式内存模块,最小的系统是由PicoBlaze模块、中断器 和大量的从属部分。通过增加从属设备,该系统可以很方便的扩充以适应更多的并发任务系统。这种能力是在VHDL代码设计中通过简单地举例相对应的从属模块以及赋予它们唯一的ID地址,通过分配对于的值到从属模块。需要注意的是,主模块需要在限制时间内能够支持所有的从属模块。
  在使用记忆共享方法论的时候,可扩展性进一步的受限于有记忆控制器所提供的接口,这是因为几个从属模块可能在同一时间访问它们相对应的存储空间。然后记忆存储器就会强制做一个存储分配并且也可能拖延从属任务。
  5 设计的工艺过程
  使用PicoBlaze核心,要回到可利用的结构和工具流。对于专属的系统设计来说是一个非常明显的优势。汇编语言包括一个处理器的合适编译器,并且是尝试过和测试过的。硬件系统可以很容易地随着Xilinx标准工具进行调整和适应。该编译器不支持所有的C语言编译器。
  因此没有需求去创造一个专属该系统的工具链。任务分配到处理核心同分配的挑战仍然存在。
  6 结论
  MultiBlaze平台上一种可扩展性和高度适应性的基于最小尺寸处理器核心的在Xilinx FPGA上使用的多处理器结构。
  使用模块从属同时包含额外的专用的硬件模块,MultiBlaze系统中设计期内可以特别的进行修剪来适应一款应用。通过给特别的应用提高准确的计算能力,该系统可以给许多可能的应用提供最佳的硬件结构。
  对于一些应用,可以使用带有小字符大小的处理器来实现以使用更少的系统开销,例如,处理83位矢量。当将一个j位的数据集分解n个小数据集,即分配到n个处理器核心,其中 在寄存器和数据存储单元中未使用的位和一个处理器核心未使用的总线。这种更优的使用硬件资源的方法可以提高每片的计算能力。
  对每个单独的核心而使用的软件设计可以很容易使用现有的工具和编译器。同专属和固定的硬件结构相比较而言,该软件设计师的该系统更加的多样化,尽管专属的硬件核心如果需要可以很容易的添加到MultiBlaze系统里面。通过重新加载单从属核心的个指令存储,众多不同任务可以映射到硬件核心上,既可以在设计过程中也可以在运行过程中。
  参考文献
  [1]赖凡,徐学良,蔡明理.试析"超越摩尔定律"的技术[J].微电子学,2012,42(5):706-709.
  [2]NCIDIA Corporation.http://www.nvidia.com,2007.
  [3]IBM Corporation.http://www.ibm.com,2007.
  [4]李欣.SoC系统功耗管理的研究和开发[J].浙江大学硕士论文,2006,(5).
  作者简介
  王锴(1986-),男,河北省人。硕士学历。研究方向为FPGA嵌入式容错、软件容错。
  作者单位
  安徽理工大学 安徽省淮南市 232001
转载注明来源:https://www.xzbu.com/1/view-5971813.htm