全美达改写规则
当 Linus Torvalds 加入了秘密初创公司全美达公司时,他不能告诉任何人他在做什么。现在,一项革命性的新想法揭开了面纱:一种芯片,它结合了 RISC 芯片的低功耗和 x86 处理器的软件通用性。这种结合使得新一类更轻、续航时间更长的移动设备成为可能,并且与 PC 兼容,是的,其中一些设备运行 Linux。这款新芯片(见图 1),以著名的旅行家 Crusoe 命名,实现了 RISC 或 x86 硬件所不具备的功能组合。相反,它在 VLIW(超长指令字)硬件上运行所谓的代码变形软件,以执行标准 PC 软件。这种独特的组合提供了移动 PC 或便携式网络平板电脑所需的低成本、低功耗和软件兼容性。
Dave Ditzel(见图 2)曾是贝尔实验室和 Sun 的 CPU 架构师,于 1995 年创立了全美达公司,旨在寻求一种新颖的 x86 微处理器设计方法。英特尔和 AMD 采用功耗大的台式 PC 处理器,并对其进行阉割以适应笔记本电脑,而全美达则决定从头开始设计一款新的移动 x86 处理器。因此,该公司的 Crusoe 芯片的功耗仅为英特尔移动奔腾 III 的五分之一。为了最大限度地降低功耗,Crusoe 使用了一种简单而强大的 VLIW 架构,该架构所需的晶体管远少于奔腾 III 或 AMD 的 Athlon。这些传统芯片一次执行多条指令以提高性能。然而,标准的 x86 程序假定处理器一次执行一条指令。因此,奔腾 III 或 Athlon 芯片的很大一部分致力于检查和排列指令,以便它们可以安全地一起执行。
像 Crusoe 这样的 VLIW 设计避免了这种开销。每条 Crusoe 指令都包含相当于四条 x86 指令的内容,所有指令都经过预先排列以实现最佳执行。由于没有检查或重新排序逻辑,处理器可以一次执行所有四条指令,并立即开始下一组四条指令。因此,Crusoe 中的处理逻辑所需的晶体管比奔腾 III 中少 75%。这种差异带来了几个优势。芯片上的每个晶体管都会消耗电力;由于晶体管数量大大减少,Crusoe 运行所需的功耗更低。缺失的晶体管也使 Crusoe 的建造成本低于奔腾 III。更简单的芯片需要的设计时间更少,并且更易于测试——对于像全美达这样的小公司来说,这些都是重要的问题。
单独来看,VLIW 芯片无法运行为 x86 处理器设计的程序。但是 Crusoe 芯片与全美达的专利代码变形软件 (CMS) 配对使用,该软件将 x86 程序转换为芯片可以理解的 VLIW 指令。尽管全美达是一家芯片公司,但开发此软件比开发芯片本身更具挑战性。
CMS 由 Torvalds 帮助开发,它分析 x86 程序并将相应的 VLIW 指令馈送到处理器。这种转换是即时完成的,并且对用户不可见。CMS 仅转换正在使用的程序部分;例如,当执行 Microsoft Word 时,“邮件合并”模块除非被调用,否则不会被转换。
翻译后的代码块保存在翻译缓存中;在后续迭代中,无需重新翻译。由于程序经常重复执行相同的循环和子例程,因此翻译缓存非常有效。但是 CMS 有一个奇怪的特性,即它在开始时执行程序相对较慢,但随着时间的推移会越来越快。当用户退出应用程序时,翻译不会保存,因此每次启动应用程序时,学习过程都会重新开始。代码变形的开销降低了 VLIW 引擎的原始性能,但随着时间的推移,这种开销会在频繁使用的代码块的多次迭代中摊销。全美达公司产品开发副总裁 Doug Laird 声称,667MHz 的 Crusoe 芯片的性能将与 500MHz 的奔腾 III 相媲美,尽管该公司尚未发布基准数据来支持这一说法。
许多流行的 PC 基准测试非常短暂地使用应用程序的特定功能,然后继续进行,从而降低了翻译缓存的优势。这个问题使得测量 Crusoe 芯片的性能变得困难。相比之下,实际用户通常会一遍又一遍地使用相同的功能。为了让全美达能够与英特尔良好竞争,最终用户必须感觉到 Crusoe 与奔腾 III 一样快。
处理器设计师和软件设计师通常为不同的公司工作。如果他们在同一家公司工作,他们也很少屈尊与对方交谈。在全美达,这些工程师携手合作。硬件和代码变形软件的独特结合使他们能够以其他公司无法做到的方式解决问题。
这是因为 CMS 是唯一使用 Crusoe 的 VLIW 指令的代码;该芯片的所有其他软件都是用 x86 代码编写的。因此,处理器设计师摆脱了维护兼容性的负担;事实上,前两款全美达芯片甚至彼此不兼容!每款芯片都使用其自身的 CMS 版本,并且都通过代码变形与所有 x86 程序完全兼容。如果硬件团队想要为芯片添加一项可以提高性能或降低成本的功能,他们只需要与 CMS 领域的同事沟通清楚,就可以进行更改。相反,硬件设计中的错误通常可以通过告诉 CMS“不要这样做”来解决,从而避免了芯片的代价高昂且耗时的重新设计。
英特尔 CPU 工程师最担心的是他们的设计会出现一个错误,阻止某些应用程序正确运行。1995 年,臭名昭著的奔腾浮点错误使该公司损失了数亿美元。相比之下,如果 CMS 未能正确执行 x86 应用程序,CMS 通常可以在几天内进行修补和重新发布。Crusoe 可能是第一个可以在现场升级的微处理器。CMS 工程师还要求并获得了加速 x86 执行的硬件更改。以前在软件中实现 x86 兼容性的尝试,例如 Sun 的 WABI(SPARC 上的 x86)和 Digital 的 FX!32(Alpha 上的 x86),都失败了,因为它们没有提供 100% 兼容性和有竞争力的性能的正确组合。SPARC 和 Alpha 都没有为硬件中的 x86 提供任何支持,而 Crusoe 芯片包含小的但重要的电路,这些电路使代码变形软件的速度超过了以前的努力。
凭借其低功耗和 x86 兼容性,Crusoe 非常适合笔记本电脑。该处理器运行 Microsoft Windows 和标准 PC 软件,就像使用英特尔或 AMD 处理器的系统一样。它的低功耗延长了电池续航时间,并减少了处理器散发的热量。有了更冷的芯片,笔记本电脑制造商可以取出增加重量、消耗电力和产生噪音的风扇和散热器。全美达不满足于其 VLIW 设计的固有优势,还开发了 LongRun 技术,以进一步降低 Crusoe 的功耗。在运行过程中,CMS 监视处理器的负载并动态调整其时钟速度以匹配。与其他芯片不同,Crusoe 可以降低其电压和时钟速度;由于 CMOS 功耗等于 cv<+>2<+>f,因此在 50% 的负载下,芯片需要的功率不到其峰值功率的 20%。
LongRun 是在英特尔的 SpeedStep 技术发布后的第二天发布的,SpeedStep 技术也改变了移动系统中的时钟速度和电压。当笔记本电脑插入墙壁电源时,SpeedStep 处理器运行速度更快,但 SpeedStep 在电池模式下无效。相比之下,LongRun 可以节省电量,延长笔记本电脑用户外出时的电池续航时间。Crusoe 的低功耗将延长传统笔记本电脑的电池续航时间,但在大多数情况下只能延长 30% 左右。这是因为 CPU 通常消耗电池输出的四分之一左右,其余大部分用于显示器背光、硬盘驱动器和 CD-ROM 驱动器。全美达喜欢关注 DVD 等 CPU 密集型应用程序,这些应用程序在 Crusoe 上具有更大的优势。但是,仅仅将 Crusoe 添加到今天的笔记本电脑中并不会带来八小时的电池续航时间。
Crusoe 的功耗优势在便携式网络设备的新兴市场中更为关键。在没有驱动器的无线网络平板电脑中(见图 3),CPU 是功耗预算的很大一部分。英特尔建议其 Celeron 处理器用于这些设备,但 Celeron 的功耗对于延长电池续航时间来说太大了。英特尔的 StrongArm 芯片的功耗甚至低于 Crusoe,但不提供 x86 兼容性。

图 3. 使用 Crusoe 芯片的原型网络平板
为什么 x86 兼容性如此重要?毕竟,这些设备不运行 Windows 或 Windows 软件;它们使用嵌入式操作系统,在某些情况下是新的移动 Linux,以及专门为内部处理器编译的浏览器。
全美达指出,许多浏览器插件都是用 x86 代码编写的。为了获得完整的网络体验,网络平板电脑必须能够下载和执行新的插件。如果没有这些插件,某些网页将根本无法工作。为了为 StrongArm 网络平板电脑提供相同的体验,系统供应商必须资助将每个新插件移植到 StrongArm 指令集。
相反,Crusoe 提供了与所有网络内容的开箱即用兼容性。此外,它还使系统制造商可以选择 Linux、Windows CE 或任何其他已在 x86 平台上运行的操作系统。Crusoe 还支持所有流行的 x86 软件开发工具。该芯片的低功耗和 x86 兼容性使其在该细分市场中具有明显的优势。
坏消息是,网络平板电脑市场基本上不存在,限制了全美达的潜在销量。Crusoe 的功耗对于当今最流行的便携式网络设备 Palm VII 来说太大了。但是这个市场在未来五年内可能会增长到数千万台,全美达有望随之增长。
通过大胆地以新的方式结合硬件和软件,全美达构建了一款在功耗和兼容性方面具有明显优势的处理器。如果全美达兑现其性能承诺,Crusoe 应该会推出一类新的设备,让您可以随时随地访问互联网。凭借其代码变形软件,Crusoe 设备几乎可以运行任何操作系统。但正如全美达的 Torvalds 微笑着说,它们运行 Linux 会更好一点。
Linley Gwennap (linley@linleygroup.com) 是 Linley Group (http://www.linleygroup.com/) 的创始人兼首席分析师,该公司是一家位于加利福尼亚州山景城的技术分析公司。他曾担任《Microprocessor Report》的主编。