原文地址:System IP for 2016 Premium Mobile Systems
原作者:andynightingale
自 2011 年 11 月首次发布以来,ARMv8-A 架构和 Cortex-A57 以及 Cortex-A53 处理器已累计超过50份协议许可 。这一势头在面向智能手机的应用程序处理器制造商中尤显强劲,排名前 10 的制造商均采用 ARMv8-A。随着高端移动设备生产商利用系统架构升级挖掘增长潜力,这一利用率将在 2015 年继续增长。对于消费者而言,这意味着处理现代智能手机和平板电脑所需的全部复杂任务时,设备运行必须流畅且及时响应。
在本篇博文中,我将讨论系统的一些方面,这些方面对于 32 位转换至 64 位带来的性能增长做出了显著贡献。
很多人像我一样,认为高端移动设备市场的主要动因在于客户体验和期望。在设备间连接更紧密的情况下,消费者希望在更高分辨率显示屏上获得更好的用户体验,同时保持流畅的响应,而这意味着消费者们每年都在寻求更好的设备。
最近的记录表明,移动设备成为了计算设备的首选。在可见的将来这种趋势不会改变。
那么,为什么移动设备采用 64 位架构?在市场营销人员看来,这再正常不过了,因为 64 是 32 的两倍,它的性能肯定也是 32 位的两倍吧?不过,支持 64 位设计确实存在大量的技术优势。主要原因在于架构和指令集架构 (ISA) 使得其有所区别。ISA 允许编译器以更智能的方式运行,并且微架构实施将更加有效。以下列出了一些我所想到的 64 位的优势:
简而言之,设计人员将比以往有更多的理由来迁移至 64 位。如果您认为我遗漏了 64 位所带来的任何重要优势,请在以下备注中提出。
高端移动设备的带宽要求预计将在未来几年飙升,并且有数个关键用例来支撑这一趋势。
各类设备的屏幕大小和分辨率增长,每秒显示的帧数也增加了 - 不仅用于消耗内容,而且还用于拍摄内容。随着越来越多的人使用移动设备的摄像头拍摄内容,静态和视频拍摄将需要更高的分辨率:
在 SoC 中使用内存带宽的最大用户之一即是媒体子系统组件 - GPU、视频和显示屏。没有人希望在使用摄像头记录重要时刻时遭遇屏幕冻结,因此拥有最佳的带宽效率至关重要。
尽管我们在帧缓冲压缩技术(如 AFBC)方面取得了进步,但是峰值带宽要求仍在增长。
随着移动设备成为数字生活的重心,这些功能必须搭配能效技术,单次充电即可满足设备一整天的频繁使用。现代移动设计需要致力于最大程度地利用每一毫瓦和每一毫米的硅片。
作为此市场上的工程师和技术人员,我们遭遇了在紧凑能源和散热限制方面交付此移动体验的挑战。
幸运的是,市场青睐一些特定尺寸,从而让我们拥有足够的稳定性,可定义一些 SoC 能源预算,瞄准更清晰的目标。
在 ARM,我们开发了内核、GPU 和系统 IP,旨在在能源或功耗范围内交付最高性能。
从传统的移动电话到智能手机和平板电脑的转换会改变用户行为。我们口袋中的手机现已成为主要计算设备,并且我们使它的需求变得更为复杂。一项关于移动用户花在移动应用程序上花费的时间的调查显示,移动用户将 85% 以上的时间花在三种应用程序上。
有很高比例的时间花在基于 Web 的应用程序(如 Web 浏览和 Facebook)上,紧接其次的是游戏,还有一部分花在音频和视频播放以及实用程序应用(如云存储、备注和日历等)上。
上述图表显示了各类移动设备示例的典型功率剖面图。欲了解这些图表所显示的类似功率剖面图的更多信息,请参阅 Govind Wathan 在 big.LITTLE MP上发布的博文。
值得一提的是,三种最常用任务的功耗方式有很大的差别。毫无疑问的是,当设计可以针对所有用例交付最佳性能的 SoC 时,我们必须记住这些不同的能效剖面图。
big.LITTLE™ 技术是 ARM 的通过硅验证的能源优化解决方案。它包含两组或多组架构相同但容量不同的 CPU:
Big 处理器(蓝色表示)设计用于实现高性能,而 LITTLE 处理器(绿色表示)设计用于实现最高效率。每个 CPU 集群拥有自己的 L2 缓存,其设计和尺寸适合在 Big 集群中获得高性能,在 LITTLE 中获得高效率。
big.LITTLE 支持 ARMv7 处理器(Cortex-A7、Cortex-A15 和 Cortex-A17)以及 ARMv8-A 处理器(Cortex-A53、Cortex-A57 和最近发布的 Cortex-A72)。测量基于 ARMv8 的设备上的常见移动用例时,big.LITTLE 使用异构计算可为额外您节省 40-60% 的能耗。
通过与迁移至 Cortex-A72 和 Cortex-A53 64 位构架的硬件优势结合,big.LITTLE 软件模型允许在所有内核上执行多重处理。
我想要介绍的首个系统 IP 组件为最近推出的 CoreLink™ CCI-500 缓存一致互连,它使 big.LITTLE 计算成为可能。Neil Parris 撰写了一篇精彩博文,深入分析了 CoreLink CCI-500 监听过滤器如何提高系统性能。
CoreLink CCI-500 允许这两组集群查看相同的内存块,从而实现从 Big 集群到 LITTLE 集群的灵活、无缝、快速数据迁移,反之亦然。它还允许每个集群监听其他集群的缓存,从而减少 CPU 暂停时间,提高性能并节省电力。与 CCI-400 相比,CCI-500 提供两倍的峰值系统带宽,对于半导体来说,相当于将一条两车道高速公路升级为四车道,可在交通繁忙时缓解拥挤程度并节省人们的时间。
假设系统内核采用 CCI-500,则可以查找其他与 CCI 协同运行的系统 IP 组件,以帮助 ARM 合作伙伴构建 64 位系统。当您查看高端移动 SoC 的此示例演示时,您可以看到大量执行多个任务的系统 IP。
CoreLink GIC-500 通用中断控制器管理 CPU 之间的中断迁移,并允许在虚拟机监控程序受控系统中执行中断虚拟化。相较于上一代的 GIC-400,GIC-500 支持 8 个以上的 CPU,并且还支持基于消息的中断以及与 ARMv8 Cortex-A72 和 Cortex-A53 系统寄存器接口的直接连接,而非 ARMv7 IRQ 和 FIQ 输入。
CoreLink MMU-500 系统内存管理单元通过共享与 CPU 相同的页表,支持 IO 设备的常见物理内存视图。
CoreLink TZC-400 TrustZone 地址空间控制器和 CoreLink DMC-400 动态内存控制器均用于有效访问 DRAM 内存,该访问支持 TrustZone 内存保护和端对端 QoS。
剩余的 SoC 连接由 CoreLink NIC-400 提供服务,它提供可完全配置的互连解决方案,以便连接子系统,如视频、显示屏和外设。NIC-400 配置允许合作伙伴针对 AMBA® 4 AXI4™、AMBA 3 AXI3™、AHB™-Lite 和 APB™ 组件构建可分层、低延迟、低功率的连接。
事实是,所有这些系统 IP 组件均已经过精心设计,可以使用 ARM Cortex 处理器实施和验证,同时 Mali 媒体库可降低整体系统延迟。通过这些增强功能,64 位计算大大提高了移动设备的性能。
64 位系统的增强处理吞吐量也会给调试解决方案带来影响,尤其是跟踪宏单元的输出带宽将增长。调试和跟踪系统 IP 对于帮助 ARM 合作伙伴调试和优化 64 位系统软件也很重要,这包括:
CoreSight SoC-400 目前为整个系统级芯片 (SoC) 提供最完整的片上调试和实时跟踪解决方案,使得基于 ARM 处理器的 SoC 最易调试和优化。Mayank Sharma 解释了 如何使用 CoreSight SoC-400 为多内核 SoC 构建定制调试和跟踪解决方案,展示了精心设计的调试和跟踪系统可以给所有 SoC 开发阶段带来的价值。
我们已讨论了 64 位移动设备,而消费者期望每年都能看获得新的进步,以实现越来越好的性能。我在本篇博文中介绍了部分重要 IP 组件,其对每年推出速度更快、能效更高的高端设备做出了巨大贡献。得益于 ARM 合作伙伴的出色工作,2015 年将是 64 位移动设备获得广泛采用的一年。构建 64 位 SoC 变得前所未有的容易,而这均受益于所有已针对此目的而进行精心设计和优化的 IP。
随着系统性能的不断增长,对严密控制系统散热和能效范围的需求也会增长。不论处理器是要求最低延迟还是最高带宽,ARM 系统 IP 都将交付出色的效率,兼顾最低功耗和最小面积。