超出预期的第二集团军 MIPS I6400在中端市场引入64位结构

Jim Turley编写

“二分”这个词,您可能并非经常使用。然而,在我们行业里,这是一个非常熟悉的概念。手机操作系统已经一分为二,主要在Android和iOS之间进行选择。而在桌面市场,则是Windows或者MacOS。Verizon或AT&T。Home Depot 或Lowes。ARM或x86。

在所有这些情况下,大饼图非常平均分配到两个主要参与者之间,“其他”只占据薄薄一小条。在桌面环境下,饼图的“其他”片段包括Linux:它的确存在,但没有正常人真正使用它,因此无法在真正意义上同Windows或MacOS形成竞争。在移动操作系统市场,“其他”则包括黑莓和Windows Phone等等,但在生活大宴会中他们会被挤到孩子们桌上。

在微处理器领域,看起来也开始趋于两强之争。如果您需要PC或Windows兼容性,您可以使用x86芯片,而在其它场景下您选择ARM。可以肯定的是,有几十个“其他”微处理器选择摆在那里,但又何必提及他们呢!

好吧,因为这些“其他”供应商可能会给你两个主要参与者提供不了的一些东西,这就是他们存在的原因。尽管高端32位/64分之CPU市场已经二分,但所有其他填补空白的架构也值得一看。“其他”CPU家族中重要的一个是MIPS。

MIPS一直被认为是ARM的主要竞争对手,这也确实有几分道理。在表象之下,这两个体系结构大体相似,年龄相仿,都基于类似RISC的设计原则。他们俩都以IP核方式授权给第三方供应商,这意味只要您有钱,您就可以制造属于您自己的基于ARM或MIPS的处理器;如果您没钱,可以买现成的。

ARM公司作为功耗效率的领先者赢得了巨大声誉——电池寿命影响时会需要这种CPU——但这一地位值得商榷。许多其他CPU,包括MIPS,至少在节约能源上表现同样出色(严格的数字对比很难给出现,因为我们谈论的是IP设计文件,而非硅硬件)。 然而,MIPS是一个值得尊敬的对手,这场搏斗值得观看。

本周有一个重要消息:MIPS产品家族出现了一个新成员。这就是所谓的I6400,它完美地融入了该品牌的高端嵌入式处理器产品线。打头的“I”意味着它是一个中端CPU核心(相应地,其低端为M-系列,其高端为P-系列)。但是,“中端”在这里可能用词不当,因为名字中的6400意味着它是一个64位设计。

如果您考虑ARM术语中的所有CPU核心,以ARMv8为例——换句话说,也就是64位版本,比如Cortex-A53或-A57。这是MIPS量产中的64位产品,定位稍微低于我们去年晚些时候见到的P5600。

但是别急 - 难道P5600不是一款32位CPU,而新款I6400不是一款64位设计?是的,但这正是Imagination Technologies公司(MIPS公司的母公司)希望的。虽然I6400在这方面来说“更大”,但它适度缩小了芯片尺寸并降低了功耗。作为该公司最新款CPU核心,它负责领导全面转向64位领域。一个全新时代已经来临。

I6400还拥有同时多线程属性,MIPS曾经在一些核心上提供了该功能 —— 但ARM不曾在任何配置中提供该功能。 MIPS很久以前就将多线程作为一个差异化特征,但ARM公司的工程师们一直选择不跟随该思路,尽管早些时候有传ARMv8可能会走上这条路。

I6400同时还提供了硬件虚拟化功能,支持多达15个“客户”操作系统或应用。虚拟化正成为一个大问题,因为嵌入式系统变得越来越大,开发者需要将实时操作系统和负责控制用户界面或支持第三方应用的更友好的操作系统混合起来。硬件支持可以帮助虚拟机监视器保证任务之间的独立性。

而且,I6400配备了128位SIMD,同时支持整数和浮点数据。SIMD引擎之前MIPS也曾提供过一段时间,但这是首次出现在相对实惠的CPU核心中。从现在开始,期待它成为一个标配功能。

与以往有些不同的是,I6400并非像Core i7-4770或一ARM7TDMI那样是一个特定的处理器实现。相反,“I6400”仅类似于占位符名称,而其余空白条目则代表一系列具体的衍生设计,这些设计可能拥有不同数量的集群CPU核心、不同的缓存大小,等等。由于授权的CPU内核并非真正的零售业务(“您好,我想要一个价值约120万美元的CPU。外卖带走”。)因此没有必要为某个单一实现专门宣布或宣传。有兴趣的客户知晓如何与Imagination Technologies公司联系,并获得可用的内部消息。其他人远离并只能猜测其细节。

回到64位相关的事情上来,I6400可以同时运行64位代码和32位二进制文件。不需要涉及模式转换,也没有任何独立指令集。早期的MIPS内核(或更早的ARM内核)经常使用“原生”或者“压缩”两种格式来区分不同的指令集,但这种老式做法已经被新型、合并指令集所替代。

这是一个很好的思路,但它仍有代价。在I6400中(可能未来64位MIPS内核也一样),这意味着该公司必须在操作码格式上做一些改动。换句话说:他们废除了一些已有指令并重新分配了操作码。这意味着I6400并非与其它MIPS处理器二进制文件严格兼容。假设不首先摒除一些旧格式的话,在旧有的操作码格式中已经没有空间用来简单地添加新SIMD或虚拟化指令;因此这种做法将与传统产生决裂,兼容性也会有些问题。

为降低影响,该公司表示,去掉的是那些很少用的指令,所以很少有程序员会知道其中的差别。前几年,他们经历了ISA的过度增长,现在他们需要回到现实中来。事实上,颇具讽刺的是,“精简指令集计算机”拥有太多条指令了。在任何情况下,程序员可以使用最新的编译器简单地重新编译他们的代码,任何旧版操作码将被替换为相应的新版本。然而十有八九的,不需要发生任何变化。但是如果你不能重新编译,可能需要经常仿真、打补丁或产生陷阱。

I6400为MIPS CPU设计的金子塔设立了一个新的高度。这是一个带有浮点、SIMD、电源管理以及多线程的64位合理设计,它将衍生出现一系列具体实现。特别说明的是,多线程技术,让他们有别于来自剑桥的竞争对手。取决于您所使用的基准测试程序,使能双路多线程技术相较于相同代码在单线程模式下将获得30%至50%的性能提升。打开四路多线程,性能可能会提升更多。正如所有芯片设计师都需要面对的,这是典型的性能与面积的折衷,它是MIPS让您来控制的一个开关,但ARM不曾提供过。现在,它已经足以使MIPS与ARM区分开来。您可以说,这是一个二分的开始。

原文链接:
http://www.eejournal.com/archives/articles/20140903-mips/

声明:
本文为原创文章,转载需注明出处及原文链接,否则,本网站将保留追究其法律责任的权利

--电子创新网--
粤ICP备12070055号