广告

运用可扩展多核处理器满足嵌入式应用日益增长的性能需求

2020-12-15 Michael Thompson, 新思科技高级产品营销经理 阅读:
下一代嵌入式应用需要对大型CPU集群和专用硬件加速器提供可扩展的支持,以实现所需的性能。大型多核处理器需要新的架构方法来提供更高的性能,并且不会给嵌入式设计者带来其他实现和时序收敛问题。

引言

由于工艺节点从云端拓展到互联网边缘与端点,高端嵌入式应用也随之发生转变。性能需求迅速演进,并改变了处理器架构及其在设计中的实现方式。这是增加多核处理器的应用以提供更高性能的背后原因。目前大多数高端处理器都支持双核和四核配置。有些处理器最多支持8个CPU核心,但即便如此无法满足存储、汽车、网络和5G等新兴应用的性能需求。下一代嵌入式应用需要对大型CPU集群和专用硬件加速器提供可扩展的支持,以实现所需的性能。大型多核处理器需要新的架构方法来提供更高的性能,并且不会给嵌入式设计者带来其他实现和时序收敛问题。IFHednc

嵌入式性能面临的挑战

毋庸讳言,先进工艺节点已无法像从前那样提供更高时钟频率和更低功耗。各代工艺节点的逻辑速度在持续增长,但内存访问时间却没有变化(图1)。处理器中的限速路径几乎总是经过内存。由于半导体物理学的真正局限性,这类情况在未来工艺节点上也不太可能发生转变。IFHednc

图1:嵌入式存储器性能差距IFHednc

同时,嵌入式应用的最高时钟频率已达到1GHz–2GHz范围(图2)。诚然,有些时钟频率高于2GHz,但这是例外。对于多数应用而言,这是无法实现的。功耗和面积都是有限的,这两者都会随着时钟频率迅速增加。大多数嵌入式设计的时钟频率都低于1GHz。未来这一趋势不会改变。就多数嵌入式设计而言,通过增加时钟频率来提高性能是不现实的。IFHednc

问题在于针对嵌入式应用的性能需求在不断增多。这是由竞争、新特性的添加和应用空间需求的变化所造成的。例如,更大容量和更高访问速度的需求使得SSD驱动器的尺寸迅速增大。此外,计算机储存和AI功能也被添加至嵌入式应用中,以延长驱动器寿命和提升数据访问性能。因此上述综合因素都对SSD控制器以及用于实现新功能的处理器提出了更高的性能需求。 IFHednc

IFHednc

图2:嵌入式处理器的最高速度为2GHzIFHednc

提高处理器性能

许多方法已经用于提高处理器性能。多年来,增加流水线级数一直被用于解决内存限速问题。例如,DesignWare® ARC® HS处理器具有10级流水线,两个周期的内存访问,能够在16FFC工艺中提供1.8GHz的时钟频率(最差情况下)。嵌入式设计的时钟频率是有限制的,因此在处理器的流水线上增加更多的处理级别并不会带来什么改善。今后这一情况可能会改变,但现如今10级流水线是嵌入式设计的最佳选择。 IFHednc

就性能增益与增加的面积和功耗对比而言,超标量实现是一个很好的折衷方案。从单一发射架构转变至双发射架构能够在面积和功耗有限增加的情况下将RISC性能提升40%。对于嵌入式处理器来说,这是一个很好的折衷方案。采用三发射或四发射架构将会进一步增加CPU面积与功耗,且性能提升幅度较小。以任何代价提高性能从来都不是嵌入式处理器的目标。IFHednc

添加乱序(OoO)执行可以提高嵌入式应用的性能,且不会增加时钟频率。通常,支持完整乱序的CPU会给嵌入式应用带来适得其反的效果。而采用有限乱序的方法可以在不增加处理器面积的情况下获得最佳性能提升。有限乱序通常用于高端嵌入式处理器。IFHednc

缓存的目的是为了让内存更加靠近处理器,从而提高性能。缓存支持处理器的单周期数据存取。将处理器所需信息存放于缓存中能够提升性能。经常使用的代码和数据保存在一级缓存中。使用较少的代码和数据保存在访问速度较慢的二级缓存或外部内存中,并在需要时进行读取。对于多核处理器来说,保持一级数据缓存之间的一致性也可以提高性能。一级缓存和一致性在嵌入式处理器中很常见,而二级缓存(和三级缓存)仅用于高端应用。IFHednc

在嵌入式设计中采用多个处理器的趋势正不断演进。几年前,一个典型的片上系统(SoC)只包含一到两个处理器。如今,即便是低端设计,处理器数量也超过5个,而且还在不断增加。为了支撑这一转变,中高端嵌入式应用的处理器提供了多核实现方式。支持两个、四个和八个CPU核心的处理器已经推出。程序员可以使用Linux或其他操作系统在CPU内核之间顺畅地进行操作,同时平衡执行以提高性能。IFHednc

硬件加速器正越来越多地应用于嵌入式设计。它们以最小的功耗和面积提供高性能,同时减轻处理器的负担。硬件加速器的主要缺点是它们的不可编程性。添加加速器使之与处理器并行工作可以缓解这种情况。然而,现有处理器只能有限度地支持硬件加速器,有的甚至无法提供支持。有些处理器(如ARC处理器)支持自定义指令,允许用户向处理器流水线添加硬件。尽管自定义指令很诱人,但硬件加速器也带来了其他好处,与处理器并行使用时,可以显著提高性能。IFHednc

嵌入式应用的处理器性能提升存在许多挑战。处理器已经支持更深层次的流水线技术,超标量实现和乱序功能能够有所帮助,但也只能到此为止。缓存技术已经非常丰富,一致性也是如此,因此不太可能取得进一步的进展。在设计中采用更多的CPU核心数与硬件加速器是嵌入式设计人员正采取的更高性能实现途径。IFHednc

下一代嵌入式处理器架构

下一代处理器将支持大型多核实现和硬件加速(图3)。处理器供应商要做的不仅仅是向现有处理器添加接口。支持4个或8个CPU内核的处理器已经达到了最大频率限制,并且在时序收敛方面可能会出现重大问题。增加更多的内核只会让这一问题变得更糟糕。下一代处理器必须从内部处理器互连的完全重构开始,改进时序收敛,解决速度限制,并增加内部带宽。外部接口的带宽也必须增加,以支持数据进出处理器。IFHednc

IFHednc

图3:下一代嵌入式处理器架构IFHednc

服务质量(QoS)技术在片上网络(NOC)中得到了广泛的应用,但在多核处理器中的应用却很有限。这种情况将在下一代处理器中发生改变,让程序员能够管理每个CPU核心和加速器的内部带宽,从而最大限度地提高性能。这取决于应用,虽然并非每个设计都需要服务质量技术,但在其他设计中,它对于确保可预测性能至关重要。IFHednc

大型处理器集群的优势

大型多核处理器比小型多核处理器具有优势。采用一个具有12个CPU核心的处理器,而不是使用具有4个CPU核心的三个处理器集群,将减少CPU核心之间的延迟,并支持对内核的直接窥探。大型处理器集群的另一个优势是能提供更优越的软件扩展性。具有12个CPU核心的处理器为程序员提供了更大的软件分区灵活性,用于处理任务的核心数量可以根据需要的性能动态进行分配。在多个处理器集群中,由于缺乏CPU内核之间的统一访问,因此很难获得这种级别的软件性能控制。IFHednc

大型多核处理器也将从与硬件加速器的紧密耦合中获得优势。将硬件加速器接口移动到处理器内部,而不是通过SoC总线连接它们,将减少SoC总线上的延迟和流量,同时提高数据共享和系统性能。采用共享用户寄存器也可以提高加速器上可编程控制的效率。IFHednc

ARC HS5x/HS6x

新思科技公司(Synopsys)下一代DesignWare ARC HS5x和ARC HS6x处理器IP利用前面描述的许多方法来提高处理器性能。这些处理器具有高速10级、双发射流水线,在功耗和面积有限的情况下提高了功能单元的利用率。ARC 64位 HS6x处理器具有完整的64位流水线和寄存器文件,支持64位虚拟地址空间和52位物理地址空间,可以直接寻址当前和未来的大内存,并支持128位加载和存储,以实现高效的数据移动。IFHednc

IFHednc

图4:DesignWare ARC HS5x/HS6x处理器IP框图IFHednc

IFHednc
32位ARC HS5x和64位HS6x处理器的多核版本都包含一个先进的高带宽内部处理器互连结构,其设计旨在通过异步时钟和高达800 GB/s的内部聚合带宽来简化时序收敛。新款ARC HS处理器的多核版本包括一个创新的互连结构,可连接多达12个核心,支持多达16个硬件加速器的接口。为了进一步简化时序收敛,每个核位于自己的功率域中,并且与其他核具有异步时钟关系。跟所有ARC处理器一样,HS5x和HS6x处理器都高度可配置,并采用ARC Processor Extension(APEX)技术,支持自定义指令,可满足每个嵌入式应用的独特性能、功耗和面积要求。IFHednc

为了加速软件开发,ARC HS5x和HS6x处理器由ARC MetaWare开发工具套件提供支持,可生成高效代码。处理器的开源软件支持包括Zephyr实时操作系统、优化的Linux内核、GNU编译器集合(GCC)、GNU调试器(GDB)和相关的GNU编程实用程序(二进制工具)。 IFHednc

总结

由于嵌入式应用的性能需求将日益增多,嵌入式应用中所采用的处理器也必须随之提高性能。鉴于面积与功耗的有限性,以及处理器性能简易提升已取得进展,这将面临挑战。先进工艺节点不再像以前那样带来性能提升,嵌入式处理器的速度也受到了限制。超标量和乱序功能在高端处理器中很常见,但64位(尽管必要)提供的性能提升有限。新一代多核处理器需要支持8个以上的CPU核心数,并需要采用硬件加速器内部互连结构。新处理器如DesignWare ARC HS5x和HS6x处理器IP将提供可扩展的性能和功能,并让设计师能够解决其嵌入式应用的功耗和面积需求。新款处理器采用先进的架构与高速内部互连结构,不仅满足了当今高端嵌入式应用的性能需求,同时也为未来设计留下了足够空间。  IFHednc

责编:Amy GuanIFHednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 在低压H桥应用中减小布板尺寸和电池消耗的方法 在电机驱动的楼宇自动化和电网基础设施应用(例如智能电表、智能锁、互联网协议(IP)网络摄像头和可视门铃)中,有多种设计低压系统的方法。
  • 多通道RF到数据开发平台助力相控阵原型开发 简介未来天线设计的行业发展趋势是采用相控阵。这种技术趋势加上上市时间压力,造成的开发时间缩短问题,为相控阵系统领域的RF设计人员带来了多项挑战。
  • 如何确保复杂系统运作的可靠度?在芯片内装个“小眼睛” 一家以色列新创公司proteanTecs提出了一种全新解决方案,也就是在芯片电路内投放一个个有如小眼睛的IP,扮演像是感测器的角色,从芯片的设计、制造阶段,到被组装至电路板、系统之后,都能持续监测其内部状况...
  • 拆解OPPO Watch,内部结构配置如何? 目前市场上,入局智能手表的国产手机厂商不在少数,而这其中有不乏几款产品在功能以及外观设计上极为的引人关注,比如圆形表盘的代表华为Watch ,再比如支持eSIM独立通信的OPPO Watch。下面就让我们来看看这款产品的外观设计及内部结构配置吧~
  • EDaaS:EDA芯片设计行业的创新,芯片设计即服务 在软件领域,从传统的CS/BS,到SaaS和PaaS的创新,使全球的软件业得到了进一步的发展,也迎来了软件业的一波高峰。在EDA芯片设计领域,同样将迎来这样的升级与创新:芯华章于今天(6月10日)正式发布EDaaS(Electronic Design as a Service):芯片设计即服务平台,这可能将EDA的发展也推向一个新的高度。
  • 把CPU三级缓存堆到192MB,AMD与台积电的合谋 前不久的 Computex 2021 大会上,AMD 又抛出了几枚足以对 Intel 造成威慑力的炸弹,其中有一个与制造工艺又有很大的关系,即处理器上的 3D V-Cache,让处理器的 L3 cache 能比较容易地堆到 192MB 大小,并且演示借此在游戏上获得 15% 的性能提升。这项技术本质上是 2.5D/3D 封装技术,借此机会也恰好聊聊台积电的 3DFabric 技术,或者说真正用人话来谈谈台积电的 2.5D 和 3D 封装技术……
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了