来源:煎蛋
时间:2013-06-13
前两天的世界开发者大会上,苹果强势宣布了新款Macbook的电池续航性能。比如新的13寸Air一次充电能跑满12个小时,比上一代的7小时要 多出一大截,假设实测真情况真是如苹果所说能,续航能扛到程序猿都犯困,那他们是怎么做到的呢?浅显的回答就是新本用了Haswell——但,这只是整个技术改进的一部分。
Intel的Haswell的U所带来的耗电上的改进,只是预料之中的加持。早在1月份,Intel就说新的Haswell将带来“Intel历史 上,对于能耗改进的跨时代的飞跃。”而且还说这块U是他们次专为超极本和平板设计,新CPU运行在更低的时钟频率和更小的功率上。
在发布会上,没能听到关于“小牛”系统在移动使用耗电上的情况,只是在新技术对于改善功耗上提了几句。直到更多的信息在随后披露的,阐述技术细节PDF上,我们才能对“小牛”系统的省电技术一窥究竟。
用电效能的改进,个目标当然就是让电池能撑更久,但苹果还宣称,他们能达到这个目标,却不以损失系统相应速度为代价,通过以下三大技术:
首先:内存压缩技术。和传统思维里的节电技术不一样,苹果的内存压缩技术“自动将近使用的对象,在内存内部进行压缩到原来的一半大小。”当对象需要再次调用的时候,再解压缩对象。
苹果声称,这种内存压缩/解压缩技术,比起硬盘临时交换空间(swap)要快得多,就算是和快的SSD固态硬盘相比也是如此,这必须感谢WKdm快速压缩算法(其结果就是,如果把新的系统装在老款机械硬盘的型号上,其省电效能会更明显)。
一份2003年发表的论文(PDF) 比较了三种实时内存压缩算法的性能,WKdm压缩和解压缩性能无比优秀,比其它两种算法都要快(很多)。这能节省大量内存,并提高速度(和磁盘swap技 术相比),节省磁盘空间。而且苹果还声称:“这能减少系统读写磁盘swap数据的频率,终改善苹果笔记本的耗电表现。”并只占用非常微小的CPU资源来 处理压缩/解压缩的过程。
然后,就是“程序挂起(App Nap)”。这项新的特性强硬限制不在前台操作/可见的程序进入更彻底的挂起状态。(我们一位使用苹果系统的编辑表示,Safari浏览器再后台啥也不干 也要占去15%的CPU资源,所以这部分的耗电还是很可观的。)新的策略是当一个程序的窗口处于不可见的状态,且没有音频播放时(所以程序可以通过出点声 躲过这种监测。),严格限制程序的资源占用。OSX系统限制的是程序计数器,限制后台闲着的程序向CPU发出中断请求,“通过限制程序频繁地资源请求,极 大的改善了CPU的利用效率。”
磁盘和网络活动比起上一版本,有了更严苛的限制。一个被挂起的程序被赋予对网络和磁盘资源访问的“低优先级”,意味着降低磁盘耗电和加快前台程序的相应速度。“I/O限制减少了后台进程的开销”。
“小牛”系统也降低了UNIX进程的优先级,比挂起的程序还低,以减少对CPU资源的占用。总的来说,这些改变将更多地降低后台程序的开销,对于那些设计为后台全速运行的程序来说,系统将给与更加严厉的限制。
后,苹果介绍了一种叫做“时钟调度”(Timer Coalescing)的技术,这种技术只在笔记本处于电池供电的状态下开启。OSX系统将采取“恒定CPU计数器”的策略,包括磁盘和网络资源,以及所 有请求,像DHCP获取、wifi连接到系统升级通知触发(大部分这类请求,用户都不会察觉到。),因为程序之间没有互相协调配合发起请求动作,所以一台 处于闲置状态的macbook可能被各种程序请求骚扰,使得CPU不得不一直处于活动状态,使得CPU和磁盘不能真正进入省电模式。