表2示出了将一个包处理器设计从 MICroBlaze v6移植到v7后的结果—吞吐率改善了3倍以上,从约70Mb/s提升到250Mb/s 。不过,要注意这一对比并未将设计中的每个变量的变化所带来的影响隔离开。特别是,升级的设计版本中Ethernet控制器的速度要快得多。无论如何,这一对比展示了可以实现的性能水平。提升一个系统的最大理论带宽,并不一定能确保获得更高的吞吐率,而MicroBlaze v7的一个功能特色是为TEMAC提供更好的CoreConnect支持,而该功能是以硬连线方式融入Virtex-5 LXT芯片中。
表2 MicroBlaze v6和v7的性能对比
竞争对手 ARM
从2006年起MicroBlaze v7是 Xilinx 今年推出的处理器的第三个新版本。改进步伐的加快可能是由于一个全新的竞争者的到来:ARM的Cortex-M1。
Cortex-M1是第一种批准用于在 FPGA 中的ARM处理器内核,而且它针对FPGA的可编程逻辑架构进行了优化。较早时,ARM允许获得授权者在FPGA上对其设计进行测试,但不能在芯片中采用最终的设计。推动ARM对其经营路线进行变革的部分原因是ASIC的设计和制造成本的不断上升,而另一部分原因是Xilinx MicroBlaze和ALTEra Nios II内核的流行。Xilinx和Altera在其处理器方面已经售出了几万个使用许可。
第一家宣布支持Cortex-M1的厂商是规模远远小于Altera或者Xilinx的Actel。Actel与ARM达成了特别的协议,让客户在采购Cortex-M1 FPGA时,无需再购买一个ARM许可证或者向ARM交付使用费。这一交易大大地降低了应用一个基于ARM的设计成本。Xilinx尚未发布一个类似的协议,但是笔者估计在未来很可能会宣布达成协议。虽然Cortex-M1和MicroBlaze处理器看上去将ARM和Xilinx变为两个相互竞争的对手,但它们的关系中的合作性仍然超过竞争性。ARM认为MicroBlaze主要是一种用于吸引客户的特价商品,Xilinx研制它主要是为了能卖出更多的FPGA。一个MicroBlaze v7的许可证售价仅为495美元,因此芯片,而不是许可证才是真正带来赢利的产品。Xilinx同样欣喜地看到客户购买其FPGA后与Cortex-M1一起使用。
即使是这样,虽然ARM和Xilinx的握手可谓真诚,但MicroBlaze v7还是给了Cortex-M1当头一击。与Xilinx用来吸引顾客的特价品一比高下,这一全新的ARM处理器可就吃了亏。虽然MicroBlaze v7定价低廉,但令人难堪的是,它却拥有大量Cortex-M1所不具备的功能,例如一个可任选的FPU、MMU/MPU、32bit 驱动器和指令/数据高速缓存。除此之外,MicroBlaze所能实现的时钟频率也要高于Cortex-M1的。ARM的最大一个卖点是Cortex-M1来自ARM。ARM架构本身几乎都已成为业界标准,而且它得到了数以吨计的各种外设IP、开发工具和软件的支持。
正如表3所示的那样,Altera的Nios II与MicroBlaze更为匹配,虽然它从2004年后没有得到较大幅度的升级。MMU/MPU选项是MicroBlaze v7超越Nios II的第一个巨大优势巨大优势。不过,Altera也拥有一项优势:可以由用户配置的指令集架构。Nios II开发者可以开发定制化的指令集来加速特定的应用,这将极大地提升性能。为了达到类似的效果,MicroBlaze开发者可以在可编程逻辑架构中实现协处理器。
请注意这些处理器之间存在的价格差异正在缩小。在Cortex-M1出现以前,由FPGA厂商发放的处理器内核使用许可与由ARM发放的处理器内核使用许可相比,其价格差异达到了4个数量级:一个MicroBlaze或者Nios II约为500美元,而一个ARM核则要价高达几百万美元。在Cortex-M1推出后,ARM已经一改过去长期以来不透露其许可收费情况的做法。虽然一个Cortex-M1许可的确切价格仍未公布,但ARM宣称它将愿意做不到十万美元的生意,这在价格方面是一个巨大的突破。而且,正如上面曾经提到的那样,Actel可以出售预先被配置了Cortex-M1内核的FPGA,而用户无需获得一个来自于ARM的许可。由于Altera和Xilinx事实上在赠送各自可以直接用于FPGA上的处理器内核产品,ARM不得不修正自己的许可证模式,以便让Cortex-M1更具竞争力。
针对FPGA的CPU的未来发展前景
随着FPGA报价出现下滑,而ASIC的成本在不断上升,以可编程逻辑来实现一片SoC的方法也变得越来越有吸引力。正如笔者曾经指出过的那样,FPGA实现方法在经济性上超过ASIC实现方法时,所对应的制造批量点将向着有利于FPGA的方面倾斜,我们尚未发现今后哪些因素会改变这一发展趋势。正因为如此,MicroBlaze(和Nios II)的未来似乎一片光明。
不过,可能发生变动的一个因素,是开发者在采取FPGA实现方法时所选用的CPU架构。就目前而言,MicroBlaze和Nios II是到目前为止应用最为欢迎,因为它们得到了各自的FPGA厂商的大力推销,而且实际上是免费提供的。
如果其他CPU架构也可以为FPGA所用而且价格可以接受的话,则届时FPGA厂商自己的架构的魅力必然会减退。虽然Altera和Xilinx已经售出的CPU许可证数量大大超出了ARM计划售出的数量,那些认真考虑要大批量制造基于FPGA的SoC的公司,可能更愿意使用一种得到广泛支持的架构,如MicroBlaze和Nios II。
即使出现这种情况,Altera和Xilinx处理器也将达到其目标。它们卖出了更多的FPGA,它们播下了基于FPGA的SoC市场的种子,而且它们正在定义出专门用于FPGA的处理器应该具有的功能特性和优化。无论MicroBlaze和Nios II是否长寿而且兴旺发达,对于各自的厂商而言,它们都是明智的投资。