论文部分内容阅读
英特尔Atom处理器的“狼子野心”
2005以及2006年的那段时间对英特尔来说显得有一丝苦涩,那个时候英特尔不仅在桌面处理器市场上遭遇AMD强有力的反击,而且苦心经营的Xscale处理器也难以得到业界认同并节节败退。为了扭转颓势,英特尔上演了壮士断腕的一幕,将Xscale以及相关设计专利一并转卖给Marvell,并宣称自此全面退出移动通讯处理器市场……
但“凡事计划没有变化快”,就在Xscale卖给Marvell不到两年的时候,顺利度过困难期的英特尔又对昔日放弃的手持设备市场虎视眈眈。于是乎,一场“出尔反尔”的好戏就此上演……
2008年3月,英特尔向世人宣布重返移动通讯处理器市场,并发布了新处理器Atom,新处理器拥有超过2GHz的工作频率以及对x86指令集的完美兼容,更令人吃惊的是功耗竟然低到“恐怖”的2W。英特尔究竟用了什么魔法做出了Atom这个“鬼怪精灵”?Atom又能否在该领域掀起翻天覆地的变革?本文将就这些问题与大家深入探讨Atom的方方面面,让我们一起把脉移动计算的未来。
Atom是英特尔的下一
棵摇钱树?
早在2007年6月,英特尔CEO欧德宁在接受德国一家报纸采访时就多次强调Silverthorne*的重要性,甚至将其与历史上的8086 CPU以及Pentium处理器相提并论,我们不难看出英特尔想用x86在移动市场上击垮ARM阵营的决心。
*注释:Atom处理器的全称就是“Silverthorne Atom”。
如果我们从产品需求量以及利润方面来分析,就会明白英特尔为何如此看重Atom。由于Atom具备了良好的功耗表现,这对于笔记本电脑等移动设备来说是相当重要的,尤其是目前风行的低价超便携电脑更是如此,包括华硕在内的众多生产商都对Atom抛出了绣球。从分析数据来看,低价超便携电脑的需求量非常可观——据英特尔预计,2008年到2011年,全球市场的总需求大致在一亿台;而华硕所做出的预计则更加细致,2008年全球低价超便携电脑市场需求为一千万台,2009年需求则达到二千万台。当然,英特尔不指望(实际上也不可能)让所有的低价超便携电脑都是用Atom,但只要其中一部分就够了。要知道Atom的舞台绝非仅仅局限与此,UMPC、MID乃至手机等设备都是其大展宏图的地方*。
*注:游戏配套芯片组的原因,现阶段Atom还难以与ARM架构的移动处理器抗衡,后文有介绍。
至于产品利润方面更是惊人。根据英特尔前段时间公布的官方价格来看,AtomZ520/Z530/Z540售价则分别为65美元/95美元/160美元;而国外媒体估计的Atom成本价只有6~8美元,因此即便是更低端的Z500/510(前者售价约45美元),其利润也不会少于37美元。就连小学生也知道“总利润=销售量×单个产品的利润”,我们可以估算一下Atom的“钱景”如何了。
为什么仍然选择做x86
架构?
毫无疑问,Atom的主要舞台是移动设备,而且手机终端肯定也是Atom关注的焦点之一。在目前而言,一方面Atom芯片的功耗与体积对于手机用途来说仍显得有些过大;另一方面,x86架构在移动领域仍然缺少ISV(独立软件供应商)的支持。为什么Intel没有沿用ARM相对成熟的RISC架构,而选择另辟蹊径,使用更为复杂的x86架构呢?
其实“x86,Ever ywhere(x86架构无所不在)”的设想并非是Intel首先提出的,而是其老对头AMD,但将这一想法付诸实践的却是Intel。众所周知,架构对于处理器来说是相当重要的,因为选择了一个架构往往就意味着选择了其所能使用的软件种类。历史上曾经有很多桌面级处理器因为架构的原因导致应用软件匮乏而退出市场,经过多年的发展和积累,基于x86编写的软件已经相当普遍,这也是Intel选择x86的原因之一。
从理论上来说,由于Atom与PC平台的处理器同样基于x86架构,那么能够在PC上运行的程序几乎可以原封不动地搬到Atom平台上。当然这仅仅是理论上而已,实际情况要复杂很多,移动平台没有PC那样强劲的运算能力和富裕的存储空间,所以这就要求很多程序必须优化之后才能在Atom上流畅运行。英特尔在x86处理器设计上长期积累下来的丰富经验也是Atom会选择x86架构的重要原因。
有趣的平衡木游戏:一
边是性能、一边是功耗
经过多年的经验积累,英特尔摸索出一条规律:在微架构不变的情况下,处理器产品每提高1%的性能大约就要付出2%的功耗。对于作为移动处理器的Atom来说,这明显是不可接受的,于是乎Atom诞生在世人眼前时,很多人会觉得这款处理器“稀松平常”,但其真正的亮点是在超低功耗的条件下达到了目前的性能。下面就让我们一起去看看它是如何做到的。
如果各位以前认真关注过Cel l处理器的话,就不会对“2-issue”和“in-order执行”这两个名词感到陌生。简单地说,“2-issue”就是在同一时间给流水线送入两条指令,用并行处理的方式来提高指令处理效率。在Atom处理器中,英特尔配备了两个指令译码器,这两个译码器拥有相同的解码能力,它们能够独立完成从一级缓存中获取指令、编译并告诉CPU下一步该怎么做。“In-order”就意味着处理器执行指令的顺序不能够被破坏,这种设计可以简化电路以及减少数据的相依性检查,而且可以明显降低功耗。
虽然二者有着诸多优点,但是在某些方面的弱点也是相当致命的。比方说在i n-ord e r架构下面,指令执行过程对数据操作的依赖性非常大,这就会导致同时进入处理程序的两条指令不能够很好的并行完成(可能因为等待数据而出现时间差)。为了解决这个问题,英特尔引入了Simultaneous Multi-Threading(并行多线程,后文简称SMT)技术,从而改善CPU在并行处理方面的能力。
节能、节能、再节能
由此我们可以看出Atom设计时的初衷并不是占领性能的制高点,而是力求在性能满足应用的条件下节能、再节能!那它是如何做到的呢?
●简化执行单元的设计Atom的设计者在设计执行单元时作了简化处理,力图构建一个功能完整并且最小化的执行单元集。比如去掉了专门的整数乘法、除法器单元,而后将这一部分的功能放入到SIMD FP单元(一种用单一指令同时控制多个重复处理单元的设计)中进行实现。虽然这样做可能会有小小的性能损失,但却在成本与功耗上得到更多的好处。
●打破常规缓存的结构
在以往的x86处理器中,L1Cache中的指令缓存以及数据缓存都是五五对半开;但在Atom中却首次出现了32KB的指令缓存 以及24KB的数据缓存,怎么会出现这种反常状况?
要解释这个问题,就要从电压说起。众所周知,越低的电压对芯片降低功耗越有利,而且低电压在提高工作稳定性以及提升性能方面也是大有裨益的。传统的L1 Cache中,指令和数据缓存都是由6个晶体管构成的,而且这些晶体管紧密地排列在一起。在设计Atom时,工程师们发现沿用以往的设计会严重制约芯片工作电压的下降。为了追求更低的工作电压,他们便将数据存储单元改为8个晶体管的设计,如此一来就只能削减数据缓存的数量,于是“奇怪”的32KB:24KB就出来了。虽说这样一来会降低缓存的命中率,但是却可以让处理器在更低的电压下冲击更高的性能。
●注重兼容性,目标绝不止MID与UMPC
在以往I nt el所有的处理器产品中,前端总线都使用GTL(Gu n n i ngTransistor Logic,射电收发逻辑)设计。这种设计的好处是能够在非常高的时钟频率下依然保证信号的清晰程度,这对于提高处理器性能非常重要。然而Atom并不是为了追求性能而设计的,它不需要多高的性能,只要满足够用的条件即可,所以FSB只有400MHz或者533MHz的Atom来说,实际上并不需要GTL。
除了GTL,我们还有一种更廉价的解决方案——CMOS电平模式,而且后者的工作电压只要前者的一半左右,所以功耗上更具优势。不过英特尔并没有二者选其一,而是使用开关的方式同时支持这两种模式,为什么要这么做呢?英特尔的如意算盘打得很响,如果Atom应用在MID、手机以及UMPC上面时,CMOS电平模式可以提供更好的能耗比;而当用在像华硕易PC这样的低价超便携产品上时,GTL就为更强大的性能提供了保证……
写在最后:Atom前景
及未来
行文至此,我们突然想到一件有趣的事。早在10年前就有人惊呼x86受限于先天缺陷行将就木。而10年后的今天,在半导体巨人的推动下,x86不仅牢牢的占据着桌面市场,还将触角渗透到了手持设备与图形处理领域。不过以此推断Atom一定会在低价PC以及移动平台大获全胜,就有点武断了—VIA的Nano处理器以及NVIDIA的Tegra都是Atom强硬的对手。
前者与Atom类似,属于低价PC的处理器产品。后者则专门定位移动平台,且超出了单纯图形处理的概念,说它是一颗集CPU、GPU、南北桥芯片乃至音效处理等功能于一身的产品,也不为过;更重要的是Tegra的耗电量只有Atom的1/10,却可以解码高清视频,这让以低功耗自居的Atom都不免有些自惭形秽。
市场的竞争就是这样,按照Intel的计划,基于x86指令集开发的系统
2005以及2006年的那段时间对英特尔来说显得有一丝苦涩,那个时候英特尔不仅在桌面处理器市场上遭遇AMD强有力的反击,而且苦心经营的Xscale处理器也难以得到业界认同并节节败退。为了扭转颓势,英特尔上演了壮士断腕的一幕,将Xscale以及相关设计专利一并转卖给Marvell,并宣称自此全面退出移动通讯处理器市场……
但“凡事计划没有变化快”,就在Xscale卖给Marvell不到两年的时候,顺利度过困难期的英特尔又对昔日放弃的手持设备市场虎视眈眈。于是乎,一场“出尔反尔”的好戏就此上演……
2008年3月,英特尔向世人宣布重返移动通讯处理器市场,并发布了新处理器Atom,新处理器拥有超过2GHz的工作频率以及对x86指令集的完美兼容,更令人吃惊的是功耗竟然低到“恐怖”的2W。英特尔究竟用了什么魔法做出了Atom这个“鬼怪精灵”?Atom又能否在该领域掀起翻天覆地的变革?本文将就这些问题与大家深入探讨Atom的方方面面,让我们一起把脉移动计算的未来。
Atom是英特尔的下一
棵摇钱树?
早在2007年6月,英特尔CEO欧德宁在接受德国一家报纸采访时就多次强调Silverthorne*的重要性,甚至将其与历史上的8086 CPU以及Pentium处理器相提并论,我们不难看出英特尔想用x86在移动市场上击垮ARM阵营的决心。
*注释:Atom处理器的全称就是“Silverthorne Atom”。
如果我们从产品需求量以及利润方面来分析,就会明白英特尔为何如此看重Atom。由于Atom具备了良好的功耗表现,这对于笔记本电脑等移动设备来说是相当重要的,尤其是目前风行的低价超便携电脑更是如此,包括华硕在内的众多生产商都对Atom抛出了绣球。从分析数据来看,低价超便携电脑的需求量非常可观——据英特尔预计,2008年到2011年,全球市场的总需求大致在一亿台;而华硕所做出的预计则更加细致,2008年全球低价超便携电脑市场需求为一千万台,2009年需求则达到二千万台。当然,英特尔不指望(实际上也不可能)让所有的低价超便携电脑都是用Atom,但只要其中一部分就够了。要知道Atom的舞台绝非仅仅局限与此,UMPC、MID乃至手机等设备都是其大展宏图的地方*。
*注:游戏配套芯片组的原因,现阶段Atom还难以与ARM架构的移动处理器抗衡,后文有介绍。
至于产品利润方面更是惊人。根据英特尔前段时间公布的官方价格来看,AtomZ520/Z530/Z540售价则分别为65美元/95美元/160美元;而国外媒体估计的Atom成本价只有6~8美元,因此即便是更低端的Z500/510(前者售价约45美元),其利润也不会少于37美元。就连小学生也知道“总利润=销售量×单个产品的利润”,我们可以估算一下Atom的“钱景”如何了。
为什么仍然选择做x86
架构?
毫无疑问,Atom的主要舞台是移动设备,而且手机终端肯定也是Atom关注的焦点之一。在目前而言,一方面Atom芯片的功耗与体积对于手机用途来说仍显得有些过大;另一方面,x86架构在移动领域仍然缺少ISV(独立软件供应商)的支持。为什么Intel没有沿用ARM相对成熟的RISC架构,而选择另辟蹊径,使用更为复杂的x86架构呢?
其实“x86,Ever ywhere(x86架构无所不在)”的设想并非是Intel首先提出的,而是其老对头AMD,但将这一想法付诸实践的却是Intel。众所周知,架构对于处理器来说是相当重要的,因为选择了一个架构往往就意味着选择了其所能使用的软件种类。历史上曾经有很多桌面级处理器因为架构的原因导致应用软件匮乏而退出市场,经过多年的发展和积累,基于x86编写的软件已经相当普遍,这也是Intel选择x86的原因之一。
从理论上来说,由于Atom与PC平台的处理器同样基于x86架构,那么能够在PC上运行的程序几乎可以原封不动地搬到Atom平台上。当然这仅仅是理论上而已,实际情况要复杂很多,移动平台没有PC那样强劲的运算能力和富裕的存储空间,所以这就要求很多程序必须优化之后才能在Atom上流畅运行。英特尔在x86处理器设计上长期积累下来的丰富经验也是Atom会选择x86架构的重要原因。
有趣的平衡木游戏:一
边是性能、一边是功耗
经过多年的经验积累,英特尔摸索出一条规律:在微架构不变的情况下,处理器产品每提高1%的性能大约就要付出2%的功耗。对于作为移动处理器的Atom来说,这明显是不可接受的,于是乎Atom诞生在世人眼前时,很多人会觉得这款处理器“稀松平常”,但其真正的亮点是在超低功耗的条件下达到了目前的性能。下面就让我们一起去看看它是如何做到的。
如果各位以前认真关注过Cel l处理器的话,就不会对“2-issue”和“in-order执行”这两个名词感到陌生。简单地说,“2-issue”就是在同一时间给流水线送入两条指令,用并行处理的方式来提高指令处理效率。在Atom处理器中,英特尔配备了两个指令译码器,这两个译码器拥有相同的解码能力,它们能够独立完成从一级缓存中获取指令、编译并告诉CPU下一步该怎么做。“In-order”就意味着处理器执行指令的顺序不能够被破坏,这种设计可以简化电路以及减少数据的相依性检查,而且可以明显降低功耗。
虽然二者有着诸多优点,但是在某些方面的弱点也是相当致命的。比方说在i n-ord e r架构下面,指令执行过程对数据操作的依赖性非常大,这就会导致同时进入处理程序的两条指令不能够很好的并行完成(可能因为等待数据而出现时间差)。为了解决这个问题,英特尔引入了Simultaneous Multi-Threading(并行多线程,后文简称SMT)技术,从而改善CPU在并行处理方面的能力。
节能、节能、再节能
由此我们可以看出Atom设计时的初衷并不是占领性能的制高点,而是力求在性能满足应用的条件下节能、再节能!那它是如何做到的呢?
●简化执行单元的设计Atom的设计者在设计执行单元时作了简化处理,力图构建一个功能完整并且最小化的执行单元集。比如去掉了专门的整数乘法、除法器单元,而后将这一部分的功能放入到SIMD FP单元(一种用单一指令同时控制多个重复处理单元的设计)中进行实现。虽然这样做可能会有小小的性能损失,但却在成本与功耗上得到更多的好处。
●打破常规缓存的结构
在以往的x86处理器中,L1Cache中的指令缓存以及数据缓存都是五五对半开;但在Atom中却首次出现了32KB的指令缓存 以及24KB的数据缓存,怎么会出现这种反常状况?
要解释这个问题,就要从电压说起。众所周知,越低的电压对芯片降低功耗越有利,而且低电压在提高工作稳定性以及提升性能方面也是大有裨益的。传统的L1 Cache中,指令和数据缓存都是由6个晶体管构成的,而且这些晶体管紧密地排列在一起。在设计Atom时,工程师们发现沿用以往的设计会严重制约芯片工作电压的下降。为了追求更低的工作电压,他们便将数据存储单元改为8个晶体管的设计,如此一来就只能削减数据缓存的数量,于是“奇怪”的32KB:24KB就出来了。虽说这样一来会降低缓存的命中率,但是却可以让处理器在更低的电压下冲击更高的性能。
●注重兼容性,目标绝不止MID与UMPC
在以往I nt el所有的处理器产品中,前端总线都使用GTL(Gu n n i ngTransistor Logic,射电收发逻辑)设计。这种设计的好处是能够在非常高的时钟频率下依然保证信号的清晰程度,这对于提高处理器性能非常重要。然而Atom并不是为了追求性能而设计的,它不需要多高的性能,只要满足够用的条件即可,所以FSB只有400MHz或者533MHz的Atom来说,实际上并不需要GTL。
除了GTL,我们还有一种更廉价的解决方案——CMOS电平模式,而且后者的工作电压只要前者的一半左右,所以功耗上更具优势。不过英特尔并没有二者选其一,而是使用开关的方式同时支持这两种模式,为什么要这么做呢?英特尔的如意算盘打得很响,如果Atom应用在MID、手机以及UMPC上面时,CMOS电平模式可以提供更好的能耗比;而当用在像华硕易PC这样的低价超便携产品上时,GTL就为更强大的性能提供了保证……
写在最后:Atom前景
及未来
行文至此,我们突然想到一件有趣的事。早在10年前就有人惊呼x86受限于先天缺陷行将就木。而10年后的今天,在半导体巨人的推动下,x86不仅牢牢的占据着桌面市场,还将触角渗透到了手持设备与图形处理领域。不过以此推断Atom一定会在低价PC以及移动平台大获全胜,就有点武断了—VIA的Nano处理器以及NVIDIA的Tegra都是Atom强硬的对手。
前者与Atom类似,属于低价PC的处理器产品。后者则专门定位移动平台,且超出了单纯图形处理的概念,说它是一颗集CPU、GPU、南北桥芯片乃至音效处理等功能于一身的产品,也不为过;更重要的是Tegra的耗电量只有Atom的1/10,却可以解码高清视频,这让以低功耗自居的Atom都不免有些自惭形秽。
市场的竞争就是这样,按照Intel的计划,基于x86指令集开发的系统