MicroBlaze v5.0软处理器内核:针对性能而优化

技术分类: 嵌入式系统  | 2008-04-09
来源:Xilinx公司MicroBlaze内核产品线营销经理 Rey Archidé

  新版MicroBlaze内核集性能和灵活性于一身

  嵌入式处理器应用是完全嵌入或包含在控制设备内的特殊系统。与通用PC不同,嵌入式系统要执行预定任务,因此有一些特殊要求。

  当今的系统设计人员面临许多挑战,特别是面临加快差异化产品上市速度的压力。此外,在高度竞争的全球市场环境中,提供更强大的功能和降低材料清单成本是关键。快速配置处理器及子系统单元的能力可帮助加快系统处理创新并克服许多设计障碍。

  对于采用赛灵思FPGA的专用处理解决方案来说,首先要选择处理器。由于每个应用都有独特要求,因此处理器及相关系统的可配置能力对于嵌入式处理器设计非常关键。那么到底是需要软件处理器内核还是硬处理器呢?

       图 1.MicroBlaze处理器构建模块

  在FPGA内晶体管级实现的硬处理器具有许多优点,包括速度和性能。Xilinx Virtex®系列中的一些产品中提供了PowerPC®405硬处理器。

  MicroBlaze® 或 PicoBlaze® 等软处理器内核是采用HDL语言编写并利用可用的FPGA资源实现的。软处理器内核也具有许多优点,特别是可移植性和可配置能力。32位RISC MicroBlaze软处理器内核可在Spartan® 和 Virtex系列器件中实现。 

  使用MicroBlaze软件处理器内核,可以对其进行定制来满足目标应用要求。有两种版本的MicroBlaze软处理器内核可供选择:较小的三级流水线MicroBlaze v4.0内核对于成本敏感的应用非常理想,而新的五级流水线MicroBlaze 5.0内核则针对注重性能的系统。

  考虑到嵌入式处理的重要性,赛灵思公司的创新体现在多个层面。例如,Virtex-5中的六输入LUT等结构可帮助提高频率、降低功耗并提高逻辑密度。新的MicroBlaze 5.0架构则可帮助获得更高的性能水平。可选的外设和存储器控制器能够优化数据流。由紧密链接的编译器、调试器、仿真器、配置器(profiler)、库,以及来自越来越多合作伙伴的实时操作系统组成的套件为嵌入系统开发提供了全面支持。

  MicroBlaze 5.0内核简介

  第五代五级流水线MicroBlaze内核针对基于Virtex FPGA的高性能而优化。该内核与前一代保持二进制兼容。赛灵思在这一新版本中增加了更多选项,性能和灵活性都提高到了一个新的水平。

  处理器子系统的拓扑是区分嵌入式设计的主要标志。赛灵思的MicroBlaze内核提供了足够的灵活性,允许用户定制内核本身、接口、外设和存储器资源。MicroBlaze内核提供了功能强大的基础架构和丰富的可配置选项,如图1所示。白色模块是基本处理器功能,是基本指令集架构的关键单元。灰色模块代表了可选功能,如FPU、除法器、乘法器以及桶式移位器等。同时还提供大多数应用通用的其它可选可配置单元(如缓存大小)。

  二进制后向兼容能力很重要。每个MicroBlaze内核版本都建立在其前一代处理器的同一指令集架构(ISA)之上,因此软件移植所需要的工作量很少。保持二进制代码兼容性和编程模型,同时增加下一代功能,对于保护并维持用户在应用代码方面的投资非常关键。

  那么新的MicroBlaze 5.0处理器流水线级对IP和接口有什么作用?答案就是遗留IP被保持,IP驱动程序没有受到影响。

  更顺畅的流水线

  五级流水线MicroBlaze内核填补了三级流水线MicroBlaze v4.0处理器和功能更强大的PowerPC 405处理器之间的差距。当针对高性能而配置时,MicroBlaze 5.0嵌入式处理器在Virtex-5 LX器件上的运行速度为210 MHz。为了获得更快的速度或减少每条指令执行所需要的时钟周期数(CPI),赛灵思将通常采用的三级流水线扩展为五级流水线,如图2所示。这一变化使得MicroBlaze 5.0内核可将CPI降低到1.25,比先前的版本提高了25%。

  为了获得更低的CPI数值和更高的时钟频率,必须扩展流水线。前一版本MicroBlaze软处理器内核中拥挤的三级流水线在MicroBlaze 5.0内核流水线中扩展到执行、存储器读取和写回等过程。三级流水线MicroBlaze内核仍然是不错的软处理器引擎,但更适用于成本敏感的应用。五级流水线的新版MicroBlaze内核稍微变大了一些,但执行代码效率更高,更适用于要求高性能的应用。

  更长的流水线级可以获得更大的指令吞吐能力。对三级流水线MicroBlaze内核,加载、存储、桶式移位、乘法、快速单向链路(FSL)PUT以及GET等功能就使三级流水线不堪重负了,从而必需要两或三个周期才能完成操作。而在五级流水的MicroBlaze 5.0内核中,加载和存储成为单周期指令,而其它多周期操作,如果不依赖于未结束的计算结果,没有资源冲突或访问冲突的话,也可以在单个周期内完成。当然,无论流水线长度如何,真正多周期的运算操作,如FPU或除法指令,仍然需要多个时钟周期来完成,对这些指令无法加速。

1】【2】【3

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

;