充分发挥多核优势
扫描二维码
随时随地手机看文章
在当今日益复杂的互连世界里,现有应用、不断发展的应用以及新兴应用都将为片上系统 (SoC) 的性能要求造成影响。为满足性能与成本目标要求,功能不断演进,这为设计人员深入探索他们正在思索的多核解决方案架构基础创造了契机。在理想条件下,多核 SoC 架构包含以下特性:
· 支持多种类型的执行引擎(内核),包括数字信号处理器 (DSP)、矢量信号处理(VSP) 以及精简的指令集计算 (RISC);
· 提供全面的多核优势,将器件全部功能用于预期应用实现业界领先的性能;
· 使各种器件实现重复使用;
· 引入软件产业生态系统以减轻编程工作量,缩短开发时间。
本文将介绍 SoC 所需的各种架构元素,帮助用户获得理想的器件特性,实现媒体服务器与无线基带基础设施等高级通信基础设施应用。
多核、多层 SoC 架构
SoC 的概念是指将越来越多的功能集成到给定器件中,使该器件能够执行目标应用所需的近乎全部或全部功能的一种基本方法。SoC 体现在硅芯片器件中,而整体解决方案则往往整合了大量的软件。许多 SoC 设计将 DSP 内核与 RISC 内核配对来满足特定应用处理需求,比如媒体网关中的语音处理及转码,或者无线基础设施中的无线电通道及传输网络处理等。
过去,性能改善是通过工艺节点升级和提高时钟频率实现的。在当前的小型几何构造工艺节点中,提高时钟频率和升级工艺节点在提高性能的同时也会导致成本上升,因而权衡分析更加复杂。
作为替代方法,可实施多重处理内核,在较低时钟频率及较低功耗下,满足所有系统参数要求的同时提供所需的高性能。这种方法已作为多核 SoC 嵌入式应用的优先选择出现。此外,还可整合专用加速技术与协处理器进一步提升性能,降低系统功率。在这种情况下,支持处理资源的并行访问非常重要,这样可全面发挥器件优势。在芯片基础设施中提供相关功能对 SoC 架构而言至关重要,这样互连功能可全面发挥多核优势。对此最直接的方法是大型交叉点矩阵,但这种方法在功耗与成本上不占优势,因为在任何时间点上都有一大部分矩阵,即使在没有使用的情况下都需要供电。更高级的片上网络方法,可为密切相关的处理元素提供本地功能,以及供这些本地化功能互连的共用主干网。
推动摩尔定律发展
采用更高级工艺节点,一直是跟上摩尔定律发展的重要推动力。升级到 40 纳米 (nm) 工艺带来了显著的性能提升,升级到 28 nm 也是如此,但当今应用需求更高。今天,新工艺节点带来的最大优势是,有可能将更多的应用功能集成到单个器件中。因此,它是一项实现 SoC 的关键使能器。利用这种集成潜力提高性能的最明显也是最早的方法是,添加可编程内核。多核器件可分为同质与异质两类。同质指所有处理内核均相同,而异质则指混有各种类型的内核。实际上,几乎所有的应用都要求包括信号处理与控制代码在内的混合处理功能。DSP 内核与 ARM® RISC 内核是这种混合处理的理想选择。德州仪器 (TI) 提供的最新 DSP 内核不但可同时支持定浮点运算,而且还可在高时钟速率下执行 VSP,从而可简化算法的开发与部署。所提供的各种 ARM 内核可帮助 SoC 提供商根据处理要求、功耗以及工艺节点优化 RISC 内核选择。从架构角度上讲,支持同质内核实施很重要。同质器件(所有的 ARM 或所有的 DSP)可通过异质架构创建,但反之如果不严重影响性能,则很难实现。图 1 是 TI 最新 KeyStone 多核架构的示意图,这是异构多核架构的实例。
图 1:TI KeyStone 多核架构
该架构由采用同一方式封装的多个功能元素构成,可提高应用灵活性与可扩展性。
高度灵活的架构经过精心设计,可便捷地根据应用要求添加或移除元素。无线基站与雷达阵列处理等应用具有极其相似的处理与 I/O 需求,但具有极为不同的加速与协同处理需求。1 层 PHY 加速器对无线基站而言是必不可少的,但雷达阵列处理却并不需要。虽然同一机构既开发雷达产品又开发基站产品的可能性不大,不过他们仍可从 SoC 开发商提供的低成本与大容量优势中获益。
在提供各种产品时,SoC 架构的可扩展性对添加或移除处理元素,满足不断变化的需求非常重要。今天,无线基站从小型蜂窝毫微微产品,到大型多蜂窝宏基站应有尽有。同样雷达制造商也需要既有小型产品,也有大型设备。
简化软件产业环境生态系统
多核 SoC 开发商通常提供和预集成大量非差异化软件,即与任何终端设备制造商提供的功能相同的基本软件,包括设备驱动器、实时操作系统 (RTOS) 端口以及针对目标应用的主要标准化算法等。正确实施后,这种软件不但可为应用开发人员充分发挥硅芯片优势,而且还可随时投入生产。除这种多核 SoC 之外,厂商还创建了开发产业环境生态系统,可为应用开发、测试以及电路板设计提供帮助。
图 2:综合多核工具套件示例
对开发人员来说,在为多核环境编写代码,特别是当应用代码需要从小型器件缩放至大型器件时,多核开发会变得具有挑战性。在出现这种情况时,软硬件都要在各种器件中缩放。此时系列间的器件内核数量及硬件加速器,可能存在巨大的差异。
幸运的是,由于软件的复杂性以及多核 SoC 中处理元素的变化,硬件辅助软件已经实现。用于简化多核软件开发的创新新硬件现已嵌入在最新一代多核器件中。该硬件可自动辅助软件缩放,以在源自通用架构的各种器件间使用。
使用硬件辅助软件的前提是软件以小型任务而非独立功能的形式编写,而且硬件设计用于自动管理任务。解决这一问题的一个创新方法是使用与功能描述符相关的大型硬件队列。功能描述符通常可识别所需的处理资源,比如需要 DSP 或 FFT 功能,而不是具体的 DSP 内核 2。将任务与数据列队,然后硬件可自动管理从这里接手的处理工作。这样即使从双内核过渡到八内核 SoC 也不需要修改软件。该列队和描述符系统会自动管理这种过渡。
灵活丰富的软件方法
现有及新兴应用将针对处理元素与内核有不同使用需求。一些应用可独立使用每个内核,而其它应用则希望将一个处理元素用作主控处理器,将其它处理元素指定为从处理器。第三种处理方式则是将所有处理元素当作同级对待,在它们之间动态分配任务。部分应用可能希望将器件当作通过 OpenCL 与 OpenMP 等标准实现的高性能计算 (HPC) 引擎使用。
要应对如此多样化的应用需求,设计人员需要一种可包含和简化使能器软件、开发工具以及操作系统的、能够充分满足各种应用需求的开发工具套件。这种工具套件应随硅芯片的发展而开发,以便能够顺利访问应用开发人员使用的处理内核、加速器以及多层连接层。越来越多的进步 SoC 开发人员,采用基于 Eclipse 的工具,其可帮助他们客户的各个开发人员,根据个人喜好定制开发环境。基于 Eclipse 的工具提供开放式开发平台的最佳特性,以及硅芯片开发人员可最便捷启用的优化方案。
结论
多核处理器正处在高速发展阶段。基础设施市场的领先多核厂商在汲取先导产品经验教训之后,正在推出第二代和第三代产品。此外,满足各种性能及专用需求,并非指定解决方案要求的各产品系列现在也已推出。这些更新颖的产品采用通用架构,可为设备制造商节省开发成本与开发时间。多核架构已在评估竞争产品时占据了有利位置,成为主要的差异化因素。通过发挥多核性能,开发人员不仅可为今天开发令人振奋的新产品,也能为明天乃至未来数年开发出令人振奋的新产品。