ARM公司发布预料之中的Cortex A8 CPU内核时并未引起很大惊异。但该产品的推出确实引发了两个重要的问题:谁真的需要1GHz通用CPU内核?如果有人需要,谁有能力实现它?
尽管两个问题都不能立即得到直截了当的答案,但行业观察家认为超高速CPU内核将会找到正在等待它的应用。确实,至少有另外两家芯片制造商PMC-Sierra和Intrinsity已经实现了运行频率在1GHz范围左右的分立MIPS微处理器,并且至少已经有一家系统级芯片(SoC)制造商-Raza微电子公司(RMI)为高性能联网推出了一种自行开发的最高频率为1.5GHz的90纳米嵌入式MIPS内核。
事实上,甚至ARM公司对制造问题也很谨慎。“我认为,我们的硅芯片合作伙伴中至少有5家可以实现600MHz内核。”Cortex产品营销经理Kerry McGuire说,“我们将会看到Cortex系列覆盖更宽广的功率和性能范围。”
“同过去相比,这样的内核要求设计小组更加贴近工艺技术,”TI公司蜂窝系统集团主管Avner Goren说。
图1: ARM Cortex A8内核设计不仅复杂而且频率比ARM-11更高。 |
对于Cortex A8的性能,ARM公司处理器营销副总裁John Cornish说:“这是目前适于移动和消费电子应用的速度最快的处理器内核。它可在能耗低于300毫瓦的情况下实现至少600MHz的运行速度。”
ARM的合作伙伴在时钟频率方面显得更加乐观和自信。由于三星在130纳米ARM-11内核上已经达到800MHz的速度,该公司LSI分部SoC研发副总裁Sung-bae Park表示,他们有信心在2007年量产采用更先进工艺(但未详细说明)的1GHz Cortex A8内核。
在ARM预想的移动和消费媒体应用中真的需要这样的高性能通用CPU内核吗?要回答这个问题,第一步是了解目前在这些领域的现行架构。如今,移动和消费媒体应用中的系统级芯片主要以两种方式使用通用CPU内核:其一是用于控制功能,其二是用于实现可能大幅度变化但对性能要求不严格的信号处理功能。任何稳定性不很确定且要求强大处理能力的内部环路可以被映射到可编程DSP内核(这种方式运行速度更快且通常更高效)或硬件加速器(这种方式可以得到能效和速度的最优组合)。
“对于易于通过单一算法来实现的功能,我们希望有某种专用硬件与Cortex A8联用,” Cornish说。
“但在市场上存在许多种可以与这样的内核联用的或紧或松耦合的加速器。”McGuire说,“除其它方面的差别之外,具体实现方式依赖于SoC设计者的技巧。”
一些架构工程师认为,更大CPU功率的可行性问题不会降低此类CPU+加速器组合的吸引力。“我们相信使用多个专用内核的架构可以提供低功耗方案,且这样的方案不久就会出现,”TI公司的Goren说,“专用硬件总是可以提供更高的能效。”
但Goren还提到了即使在移动系统中也同样重要的第二种考虑:因为专用任务处理器性能高且在其上运行的任务不会互相竞争,所以同把所有任务都放到非常高速的CPU内核中相比,专用任务处理器可以向系统提供更好的QoS和更快的响应。
不过,Goren细心地指出,他所说的“专用”不等于“硬连线”。考虑到灵活性和易重复使用性,他相信即使最专用的加速器也可以不同程度地从可编程性中获益。
那么,既然各种硬任务可以被卸载,我们还需要如此高性能的CPU内核吗?Goren的回答是,仍然需要。
首先,他注意到,在低端系统中,即使付出缩短电池寿命的代价也应该使用高速CPU内核,因为让CPU承担更高比例的任务负载能换取更小的裸片面积。这可以使产品线基于单一SoC设计(或许需要多次出带),并具有更大范围的性价比。
此外,Goren指出,CPU和加速器具有大量的处理余量可以为突发事件提供安全保障。
他说:“突发事件可能有两种情况:其一是由于产品定义的变化所带来的未预料到的新任务,其二是已知任务的未预见到的工作负载爆发。
“如果有更多的处理余量,你就有更大的能力来动态地管理负载。1GHz CPU可以提供足够的预留能力,以便使现今的新产品在整个生命周期内具有所需的灵活性。”他说。
ARM公司的Cornish提出了一个同样令人关注的观点。当任务不明确且可能频繁改变算法时(编解码器研发的早期似乎都是如此,包括标准的编解码器在内),我们最开始总是采用软件来实现,仅当它们变得足够稳定从而可以大大降低出带风险时才把它们转移到硬件中。
但如果CPU速度更快,我们则可以继续用软件来实现更多的应用系统而只把少数内部环路交给加速器。如果采用这种方式并在加速器中更灵巧地使用编程能力或配置能力,我们就可以很快把一个应用系统转换成SoC实现。这样做可能需付出更高的功耗代价,但可以缩短上市时间。
但是如果有人希望在SoC中使用1GHz CPU,有公司有能力制造它吗?对于这个问题,人们的看法差别更大。“既要提高性能而又不能损害动态或漏电功耗,所面临的设计挑战是非常严峻的,”TI公司的Goren说, “我相信,随着时间的推移,将会出现解决这些难题的工具和库,但现在设计小组将不得不熟悉这些工艺的能力和存在的问题,而以某种方式同晶圆厂保持密切联系的团队将具有优势。”
如Goren所指出的,该问题的一个方面是电源管理。Cortex A8是在假设使用ARM的动态电压岛技术的条件下构建的。该技术已经得到在设计中必不可少的Artisan库的支持,但依然比主流EDA工具落后一代。
“如何实现该内核由合作伙伴自己选择,”ARM公司的McGuire说,“我们的任务是提供一种可以定义自然边界的架构,该架构反过来以一种有益的方式定义电压岛。”
该问题的另一方面是如何达到这种高时钟频率所必需的延迟预算。“600MHz要求一种将传统的RTL与预结构化的网表以及一些硬模块混合的设计方法,”McGuire说,“该设计依然主要是基于单元的,但在时序要求更苛刻的部分可以采用一些结构化的网表。”
“你也可以采用一些定制模块,”Cornish说,“例如,采用一些基于阵列的结构,它们可以实现类似于转换后备缓冲器(TLB)的东西。如果你确实要求高性能,你可以在主高速缓存中使用一组物理层IP来实现基本的RAM模块。”
对于这样的设计,在可制造性设计方面也是一个严重的问题。在1GHz,我们将必须尽可能减小影响时序的工艺变异以免对良品率造成实质性影响。TI公司的Goren指出,这将要求设计小组具有不同寻常的技巧,而且设计工程师和工艺工程师之间必须达成非常充分的沟通。
在数年内,工具和库有希望赶上设计的需要。“我们正在按部就班地定义设计流程和一组可交付使用的产品,将使广大用户能够使用该内核的性能,”Cornish说。
对于先驱者而言,这将不是一件容易的事。但如果这样的CPU性能意味着系统能率先上市或系统性能将显著提升,那么,就值得下注一博。
作者:张国勇