意法爱立信移动平台多核处理技术(二)
我们对手机的其它重要应用软件进行了类似的测试,例如,视频游戏、程序启动时间和多媒体功能,每次都取得相似的结果:在频率相同的条件下,CPU 从双核进化到四核,性能提升很小或根本没有提升;当速度相差15-20%时,速度较快的双核总能击败速度较慢的四核。
从正面看,智能手机搭载四核处理器应当会刺激软件开发人员更有效地利用四核处理器,希望比PC 业在最近10 年做得更成功。智能手机的可用资源比PC 机的可用资源更敏感,即使移动处理器无限接近PC 处理器,两者之间还有很大差距。在软件方面,在移动移动平台上运行级的应用软件还有很大的压力,综合以上,再加上更低的功耗限制和更激烈的市场竞争环境,这些应该给软件开发人员足够的动机,投入更多的资源提高多核处理器的利用率。
多媒体是一个令人关注的领域,这个领域通常对处理性能要求严格,多媒体软件自然适合并行化。扩增实境、计算摄影学、手势识别等令人兴奋的新应用领域都将应用并行处理技术,因为这些功能的稳定性不适合硬件加速。在这些应用领域,多核处理器也有竞争技术,通用图形处理器(GPGPU)同样是可编程多核处理器解决方案,不同的是,GPGPU 将代码映射到GPU 而不是CPU。目前,GPGPU 的编程难度比多核CPU 更大,但是GPU 硬件发展速度很快,编程模型和工具也取得很大进展,因此,目前发展趋势还不明朗。
异构多核处理技术
移动异构多核处理器的设计原理是,使用高性能但功耗高的处理器执行要求严格的应用任务,使用速度慢但高能效的处理器运行要求不高的任务。目前市场上已经有异构四核处理器平台,例如,NVIDIA 的 Tegra 3 采用的Variable SMP [6]技术,采用 ARM big.LITTLE[7]解决方案的异构多核处理器预计不久就会上市。这个想法当然很好,但是成功还需要一些时间;像比较双核与四核处理器一样,简单的解决方案只要可行,总是被优先选用,特别是涉及复杂的软件修改时,简单的解决方案总是胜出。我们稍后将分析如何利用 FD-SOI 硅技术以更简单、更有效的方式达到同样的效果。
异构多核处理器使软硬件都变得十分复杂,图6 所示是ARM big.LITTLE 硬件解决方案。
硬件变复杂的主要原因是,处理器高速缓存只有保持一致性,才能用于智能手机操作系统假设的共享存储器系统,为此,AMR 在互联线上引入了ARM ACE 接口技术,但这却提高了硬件复杂程度,导致缓存一致性流量增加。
在软件方面,如果把架构的全部潜力都发挥出来,系统异质管理对于操作系统可能是一件非常复杂的任务。理论上,操作系统应该有足够高的智能,能够区别要求条件不同的应用任务,将其分配给大处理器或小处理器执行。为限制在昂贵的集群器间移植软件,这些决策应该相对稳定。同时,应用软件可能会突然改变行为,系统必须能够迅速做出响应,这需要提高动态电压和频率,而且在两个集群器上单独进行,增加要考虑的功率状态的数量。不仅今天的操作系统无法提供发挥多核处理器的全部潜能所需的先进复杂技术,而且错误的决策在实际应用中可能会适得其反,大量的软件移植会引起用户可见的系统故障,错误决策引起性能降低或浪费电能。
完美地支持异构多核处理器需要多年的研发活动和优调技术。
为了限制系统做出错误决策的风险,研发人员开发出了中间解决方案,但是,该解决办法需要以降低多核处理器潜能利用率为代价。例如,某个解决方案通过专属方式使用大小 集群器,即不是并行处理,而是根据系统总体负荷从一个集群器切换至另一个集群器,以避免智能映射每个独立软件线程变得更加复杂,这种方法的缺点是没有并行使用集群器,所以没有发挥多核处理器的全部潜能。
另一个最新的方法是把大小处理器整合成一对固定的处理器,操作系统负责管理每个大小处理器,将其视为一个电压/频率工作点扩展的单一抽象处理器,这种方法的缺点是在集群器之间频繁移植软件具有一定的风险,抽象处理器的工作模式配对不是原生的,因为在硬件上,工作点是由集群器实现的,而非大小处理器对。
评论