服务器 频道

MIPS再发64位处理器:能否拼过ARM架构?

  【IT168 评论】近日,芯片制造商Imagination科技公司公开宣布了其新处理器设计--64位MIPS Warrior I6400。

  这是一个宏伟的应用蓝图,其应用对象遍布于普通的汽车仪表盘、数字电视以及平板电脑(这也是Imagination的擅长领域),乃至高端的数据中心级计算、存储和网络套件。换而言之,这位ARM的主要竞争对手正在试图大肆扩展其应用疆土。

  I6400 CPU更多的其实是去年秋天Imagination公司大肆宣扬的32位Warrior P5600的一个MIPS64版,同时其中也包括了一些额外的功能。

  例如,与Imagination公司32位系统及芯片系列一样,I6400芯片拥有了同步多线程(SMT)技术:该技术从本质上来说就是针对每个物理核进行虚拟化,从而得到两个或四个虚拟核。有一个硬件调度器会把虚拟CPU线程交错添加至处理器的执行队列。

  你可以把SMT理解为超线程,而这正是英特尔对其技术实施的称呼。其基本思想就是通过巧妙的调度指令以确保处理器始终处于满负荷运行状态,从而实现最大限度的性能提升,同时也不会消耗太多的能源。Imagination公司认为,把一个物理I6400核分为两个硬件线程将增加其物理容量空间约10%,同时提升30%至60%的性能。

  I6400可以在每个集群中连贯地处理多达六个物理核--这就是Imagination公司对于在系统级芯片上核组合的一个专用表达而不是机器集群--如果你足够疯狂,每个节点上可至多支持64个集群。

  它还配备了128位的SIMD单元和硬件虚拟化支持,就如同P5600一样。硬件虚拟化技术的工作原理就是为虚拟化客户操作系统和裸机应用程序分配一个四位宽的ID号(从1至15),其中0是为系统管理程序而保留的,然后把这些ID号供剩余的系统级芯片硬件使用。(Imagination告诉Reg,没有什么能够阻止这个ID号的继续扩大。)

MIPS再发64位处理器:能否拼过ARM架构?
▲点击可查看大图

  所以,如果客户/应用程序ID 3访问系统存储器映射的某些部分,那么该ID号就会被嵌入在总线事务中--如果这个程序不应接触到计算机的特定部分,那么系统就会允许外设忽略或放弃该次访问请求。

  如果客户/应用程序ID 3运行网络堆栈,那么它就不需要直接接触板载传感器寄存器。如果你愿意,这个机制可替代传统页表管理而在你的嵌入式小工具中的不同软件组件之间引入防火墙,但如果使用的是ARM的TrustZone和英特尔的SMM,那么其中涉及软件漏洞的硬件隔离并不是绝对可靠的。

  指令集命令

  虽然I6400和P5600之间的主要区别在于前者可以运行MIPS32和MIPS64代码,而后者则只能运行MIPS32--这就使得I6400成为了第一款64位Warrior处理器。Imagination公司表示,MIPS64指令集是对MIPS32 的扩展,而不是替代。

  竞争对手ARM从32位ARMv7到64位ARMv8-a的升级转换将涉及改写其指令集并迫使一些低级别工程师需要重新学习一门新的汇编语言;而MIPS64基本上就是以MIPS32的指令使用64位数据,所以它可以运行MIPS32代码而无需模式转换。

  Imagination公司最出名的产品就是其被应用于iPad和其他类似产品的PowerVR图形芯片,公司希望这意味着如果人们已经熟悉MIPS32那么他们就不会觉得使用MIPS64 是一件苦差事。请记住,MIPS64早在1999年就已问世了。

  具体而言,I6400采用了MIPS64 版本6,其说明文件也是现成的。Imagination公司宣称,MIPS64 版本6包括了“针对提高执行现代软件工作负载的附加指令”--例如:位置无关代码、即时编译引擎以及虚拟机等。El Reg 仍然在阅读相关文档;我们将在不久之后深入研究版本5和版本6.

  具有讽刺意味的是,MIPS和新的ARMv8-a(PDF)的指令集是相当类似的:例如,他们两者都有一个总是包含一个零值的固定寄存器,他们两者都有着大量的通用寄存器,每个指令都具有相同的宽度,程序计数器是不能直接访问的,等等。

  所以,如果你可以熟悉使用MIPS64,那么你就可以自如地使用ARMv8-a,反之亦然。应该说,ARM和Imagination都保留了他们节能的32位架构,特别是针对电池供电的嵌入式计算领域的低端应用。这是他们的看家本领。但是,很显然这对竞争对手现在都在积极针对多核智能手机与平板电脑以及数据中心硬件等应用采用64位RISC设计。

  通过使用64位的体系架构,你能够得到更多的资源空间和虚拟地址空间(Warriors系列处理器芯片能够在相当长的一段时间内支持高达1TB的物理RAM存储器),以及实现更干净和更快速的64位数据处理。这样一个更大的虚拟地址空间更便于在系统管理程序中运行大型应用程序或客户操作系统,这正是服务器的任务。在去年八月,Imagination公司曾暗示64位Warrior芯片即将问世。

  你可以从Imagintaion的角度来看:2012年,这家图形芯片设计公司以一亿美元的架构买下了MIPS技术,这是一个长期存在的32位和64位计算架构,该架构最初出现在Sony公司的PlayStation中,之后被广泛应用于家庭路由器、娱乐设备以及其他装置等。

  “我们买下MIPS技术并不是只是为了好玩,” Imagination公司的CEO Hossein Yassaie在去年和记者开玩笑说。这项技术把Imagination公司带上了追随并赶超嵌入式处理器设计践行者ARM的道路,ARM公司一直致力于ARM自身针对服务器和智能手机应用的64位指令集的开发工作,虽然它与MIPS64 的功能类似,但是两者的底层电子设计则显然是大不相同的。

  Imagination公司处理器营销与业务开发经理Mark Throndson在几天前与The Register谈及MIPS64与ARMv8 语言的相似性。

  “我们的MIPS64与64位ARMv8还是有较大差异的,但是他们说抄袭是最虔诚崇拜的表现。32位ARMv7和64位v8是有较大差异的;那与MIPS也有相当不同的。MIPS64是MIPS32的一个扩展,它问世已有20年了。”

MIPS再发64位处理器:能否拼过ARM架构?
▲点击可查看大图

  I6400的基本配置是由台积电公司生产的,它拥有四核(其中每个核有两个SMT线程),配有32KB数据/指令一级缓存,一个1MB二级缓存,同时每个核都占据了一平方毫米的硅。该项设计授权给了芯片制造商,他们将可在年底生产出正式产品,其时间恰逢AMD公司推出强大的Seattle 64位 ARM系统级芯片。

  如果你等不了那么久,那么PRPL基金会已制造出一个支持MIPS r6的QEMU端口,但是你需要得到r6功能的工具链才能够充分利用更新的指令集。

  如果MIPS32更是你的菜,那么有一款搭载了一个1.2GHz Ingenic JZ4780系统级芯片的新Creator CI20 开发板可供你使用。

  同时,我们被告知一个即将上市支持MIPS64 r6的Android L操作系统的端口也在他们的发布计划中。

1
相关文章