如果今天的智能手机能够和经典的诺基亚6210手机一样工作数天甚至数周,那么用户必然会欣喜若狂。现如今,智能手机功能堪比个人电脑,顶级的智能手机大多配备高通Snapdragon 600处理器,其时钟频率比诺基亚6210手机那一时代的PC处理器奔腾4还高。但是这些智能手机顶多使用一两天就必须要充电,如果满负荷工作,则只能够工作几个小时。用户对此深恶痛绝,其实这也并不是移动设备生产商和移动处理器厂商所愿意见到的。
处理器制造商的比赛
几乎所有处理器厂商都希望能够优化处理器的制造工艺与设计,实现更高的性能并尽可能地降低能耗。为此,加入ARM指令集的Snapdragon处理器能够通过对核心分别管理,动态地调整功率以实现节能的目的。而目前Nexus 10和部分Galaxy S4配备的三星Exynos 5处理器虽然不能够这样控制核心,但却也另辟蹊径,尝试将不同的核心捆绑在一起,以求处理器能够具有更高的性能和较佳的节能效果。英特尔则希望在2013年的年底在移动处理器方面实现一些技术创新,在新的Silvermont微架构下,英特尔Atom处理器的性能将比目前的处理器提升3倍以上,并且在相同性能水准下,功耗将降低至五分之一。
下面,我们将为大家介绍这些技术的进展,并且在文章的最后部分,我们还会为大家介绍一些相关的Android应用程序,这些应用程序能够通过对移动设备模块的控制,帮助用户轻松实现节能的目的。
制程:越小越好
对于处理器来说,晶体管自然是越小越好,但是晶体管的小型化必须克服许多困难。
处理器厂商改善处理器最有效的方法是缩小晶体管,处理器的晶体管越小、密度越高,需要的电压也就越低,并且速度也就更快。但是随之而来的问题是,晶体管越小,漏电的问题也会越严重,在不改变结构的情况下,将晶体管的尺寸从30nm降低到20nm,泄漏的电流功率将达到功耗的一半左右。
晶体管中源极和漏极之间存在着绝缘层,用于确保在晶体管关闭时两极间没有电流通过,按照经典力学,绝缘层似乎是不可逾越的。但是根据量子力学,微观粒子具有波的性质,而且有不为零的机率穿过势垒,也就是说两极间没有电流通过是不可能的。而晶体管越小,绝缘层也就越薄。电流通过的机率也就会越高,漏电流的问题自然就越严重。为了避免这种情况,英特尔和三星尝试在晶体管中不再使用二氧化硅的栅极绝缘层,转而使用高介电值(High-K)材料,如氧化铪,以求在不降低晶体管开关速度的情况下,降低漏电率。目前,最新的高通Snapdragon 800和英伟达Tegra 4处理器采用的就是High-K材料的晶体管。
减少漏电流的新技术
然而,在单个栅极负责控制源极和漏极的沟道时,由于栅极不具备良好的静电场控制能力,因此即使栅极处于关闭状态,源极和漏极之间也可能存在漏电流。并且在晶体管越小的情况下,阻力越小。为此,英特尔第三代酷睿(Ivy Bridge)处理器和未来Silvermont微架构下的Atom处理器将采用FinFET晶体管(被称为三栅极晶体管,Tri-Gate transistors)。FinFET晶体管将不再有任何平面的通道,沟道垂直于衬底的鳍片(Fin),栅极三面包围着沟道。按照行话说,这种栅可以完全耗尽载流子沟道,从而实现对沟道更好的静电控制,因此也具备更好的电气特性。按照英特尔的介绍,理想情况下,FinFET元件比传统的晶体管速度快37%且能耗低50%
另一种解决问题的方法是意法半导体(ST Microelectronics)希望2013年年底引入的FD-SOI晶体管,这种晶体管虽然也是平面的,但是降低厚度的沟道层与硅衬底被完全隔离开来,和FinFET晶体管一样,沟道被完全耗尽。因而,FD-SOI和FinFET晶体管有着类似的开关特性,并且两者也都明显比传统的晶体管更有优势,为未来几年继续降低晶体管尺寸创造了条件。
架构:灵活、高效
新的处理器能够在各个核心之间灵活地分配任务及关闭芯片中未使用的区域。
目前,移动处理器架构方面的争论主要是两种使用同一指令集(ARM v7)的架构:高通的Krait和ARM的Cortex。Krait可以在多核心系统中单独调整各个核心的电压,按照高通的说法,这将能够比Cortex核心节省25%~40%的能耗。当然处理器中不同核心之间数据传递与时钟频率同步时必然会产生一定的性能损耗。
Krait进一步节省能源的方法是采用相对较短的流水线,它的整数流水线仅有11级,而ARM的顶级模型Cortex-A15有15~24级整数流水线。处理器通过流水线将指令分解成较小的层次并行加以执行,这种策略能够在一定程度上提高性能,因为处理器通常在每个时钟周期完成流水线的N个序列,所以工作时流水线必须始终填满,如果缺少后续的数据或者程序指令,则必将牺牲一定的性能。不过,Krait灵活的无序架构和Cortex-A15在必要时改变命令序列的技术虽然能够加速代码的执行,但是如果处理器偶尔错误地关闭了一个长流水线的指令,那么就需要清空整个流水线,从头开始执行,这将浪费一定的能源。同时,乱序执行需要增加额外的芯片切换电路,这也同样会产生功耗。
节约能源的迷你内核
Cortex-A15的性能非常高,但是功耗也同样很高,因而,ARM芯片的制造商将Cortex-A15与较低主频的Cortex-A7捆绑在一起,设计成“big.LITTLE”处理器。Cortex-A7只有8级流水线,并且只采用简单的顺序流水线。不过,根据ARM的介绍,它仅有Cortex-A15的五分之一面积,速度约为Cortex-A15的一半,能源效率则是Cortex-A15的3倍。
第一批“big.LITTLE”处理器将会是三星的Exynos 5 Octa和英伟达的Tegra 4,它们捆绑了4个Cortex-A15核心和4个Cortex-A7核心。不过,对于操作系统来说,这些处理器只是一个四核处理器,因为Cortex-A15和Cortex-A7核心逻辑上是一个核心,所以只有一个可以被激活。
首先由Cortex-A7核心开始加载任务,如果它的负载接近极限,则会将线程转移给所关联的Cortex-A15核心。类似的切换除了核心的能源管理需要进行相应的处理外,操作系统也需要有一些必要的改变。而根据ARM的介绍,千兆赫兹时钟频率下线程切换的周期大约是30 000到50 000,也就是说切换只需30μs~50μs,基本上察觉不到。切换速度可以如此之快,是因为这两种核心使用相同的指令集,完全兼容对方。
通过电源门控(Powergating)关闭处理器中未使用的核心可以充分地节省电力,一旦整个捆绑的核心空闲下来,处理器甚至还可以分离各自的L2高速缓存供其他核心使用。但是类似的操作同样需要耗费电力,因此ARM想到了一个更有效的方法,就是所谓的“big.LITTLE MP”。ARM希望未来这种处理器可以任意地组合核心,例如两个Cortex-A15核心和4个Cortex-A7核心,这将可以实现更灵活的性能与功耗之间的微调,此外,任务管理器还应该能够提前将任务分配给合适的核心。不过如此复杂的线程和核心管理,ARM必须先想办法让操作系统能够相应地进行修改方可。
英特尔也希望能够在手机和平板电脑处理器市场站稳脚跟。目前Saltwell架构的Atom正被用于Motoralas Razr i和华硕的Fonepad,对于英特尔来说这可以算是值得庆祝的成功,因为这些设备给出了一个经得起考验的成绩单。它们不仅具有良好的性能,同时还可以提供较长的续航时间。获得如此优秀成绩的原因是英特尔在节能模式SOi1和SOi3使用了电源门控。与完全切断处理器供电的节能模式不同,电源门控技术只是调整了未使用电路的电压,芯片的其余部分仍然正常工作。因而,它能够在节能的同时,确保重要的关键性功能不受影响,同时又能够从待机模式中迅速地被唤醒。如果用户将设备放在桌子上,闲置一会儿处理器将进入到S0i1模式,显示屏将被关闭,接下来如果长时间闲置处理器则将会转到深度睡眠模式S0i3,此时应用程序将可以继续同步数据,这一点不同于普通电脑的S3节能模式。
Saltwell的继任者Silvermont将在2013年年底进入市场,新的处理器将能够更高效地工作,因为该处理器将采用22nm的FinFET元件并支持乱序执行。因此,Silvermont架构的处理器比当前的ARM处理器速度更快,并且在相同性能的情况下,能源效率是其4倍。
节省电力的Android应用程序
除了处理器之外,显示屏和移动通讯芯片也是耗能大户,因此Android系统将在空置时自动转入待机模式、关闭屏幕和降低处理器工作频率。通过所谓的“唤醒锁”,应用程序可以在后台运行,继续使用其他系统资源。这样可以防止深度睡眠影响正常的功能,例如中断下载或者停止音乐播放等。但“唤醒锁”状态下不允许灵活地操作无线网络和移动通讯。要想保证功能完整且节省更多的电力,我们必须使用一些节能软件。例如,高通公司的Android应用程序BatteryGuru可以对用户的使用行为进行分析,然后确定什么时候应该激活应用程序,什么时候可以同步数据,又应该在什么时候关闭移动数据或者无线网络模块。未来,手机厂商也将会重视软件节能的方案,通过操作系统提供类似的功能,确保在维持手机高性能运转的情况下,能够有足够的续航时间。