当前位置:首页 > EDA > 电子设计自动化
[导读] 现代SoC软件通常包括多种应用,从汽车发动机控制等硬件实时应用,到HD视频流等大吞吐量应用。随着现代SoC向大吞吐量系统的快速发展,处理器内核数量不断增加,宽带互联也越来越多,导致混合系统设计成为挑战。在这类

 现代SoC软件通常包括多种应用,从汽车发动机控制等硬件实时应用,到HD视频流等大吞吐量应用。随着现代SoC向大吞吐量系统的快速发展,处理器内核数量不断增加,宽带互联也越来越多,导致混合系统设计成为挑战。在这类系统中实现硬件实时—μs量级响应,抖动不到1μs,需要仔细的综合考虑分析和系统划分。随着SoC的复杂度越来越高,将来的验证策略也必须纳入考虑范围。

这类系统设计主要有三种方法—非对称多处理(AMP)、管理程序,以及支持内核隔离的对称多处理(SMP)(主要的对比见表1),系统设计人员可以从中选择一种方法来优化混合SoC系统。

非对称多处理

AMP实际是基于物理上不同的处理器内核的多操作系统(OS)端口。一个例子是,在第一个内核上运行专门用于处理实时任务的裸金属OS,在其他内核上运行嵌入式Linux等完整的OS。很多时候,最初将OS导入到内核中非常简单,但是,在启动代码和资源管理上很容易出错,例如,存储器、高速缓存和外设等。当多个OS访问相同的外设时,行为会是不确定的,调试起来可能非常耗时。通常要求仔细的保护ARM TrustZone等体系结构不受影响。

更复杂的是,在OS之间传递消息要求存储器共享,一起采用其他保护手段进行管理。不同的OS之间通常不会共享高速缓存。要通过非高速缓存区来传递消息,对于总体性能而言,增加了延时和抖动。从可扩展角度看,随着内核数量的增加,需要进行多次重新导入,使软件体系结构较差。

监控程序

管理程序是直接在硬件上运行的底层软件,在其上可管理多个独立的OS。最初的导入与AMP相似,而其优势在于管理程序隐藏了资源管理和消息传递中不重要的细节。缺点是由于吞吐量和实时性能要求,增加了额外的软件层,导致出现性能开销。

对称多处理

支持内核隔离的SMP在多个内核上运行一个OS,支持在内部划分内核。一个例子是让SMP OS在第一个内核上分配实时应用程序,在其他的内核上运行非实时应用程序。随着内核数量的增加,SMP OS可以设计无缝导入,因此,这一方法的可扩展性比较好。所有内核都是由一个OS管理的,因此,内核之间可以在L1数据高速缓存级上传递消息,通信速度更快,抖动 更低。

通过内核隔离,可以保留一个内核用于硬件实时应用,以屏蔽其他大吞吐量内核的影响,保持了低抖动和实时数据响应。这样,设计人员可以考虑使用哪一个OS,而不用重新设计容易出错的底层软件来管理多个OS。因此,这一般是很好的软件体系结构决定。如果从多个OS开始,最初的导入会需要一些付出。但是,从一个SMP体系结构开始会省很多事。

通过SMP优化大吞吐量、实时SoC

基于对各种方法的分析,支持内核隔离的SMP是最好的体系结构,优化了大吞吐量、实时SoC系统。我们考虑的体系结构与图3的系统相似,其中,I/O数据输入到SoC中,处理器对其进行计算,送回至I/O,满足低抖动和低延时实时响应要求。此外,SoC包括了多个内核,可同时运行其他吞吐量较大的应用程序。

首先,需要理解一个实时响应(循环时间)由哪些组成:

1.从一个I/O,将新数据传送至系统存储器(DMA)。

2.处理器探测系统存储器中的新数据 (内核隔离)。

3.将数据复制到私有存储器(memcpy)。

4.对数据进行计算。

5.将结果复制回系统存储器(memcpy)。

6.将结果传送回I/O(DMA)。

抖动和延时是6个步骤的累积,因此,需要优化每一个步骤。采用支持内核隔离的VxWorks等RTOS,可以在纳秒范围内完成轮询/中断响应(步骤2)。数据计算也是专用的,具有很好的可预测性(步骤4)。因此,我们的重点是综合考虑直接存储器访问(DMA)和memcpy(步骤1/3/5/6)。主要有两种方法来传送数据:高速缓存连续传送,以及不支持高速缓冲连续的传送。这两种方法在DMA和memcpy上的响应有很大的不同。如图1所示,虽然高速缓存连续传送(使用ARM高速缓存连续端口(ACP))导致DMA需要较长的通路,但处理器只需要访问L1高速缓存就可以获得所传送的数据。因此,使用高速缓存连续传送的memcpy时间要少很多,但是DMA性能会有些劣化。对于设计人员而言,由于是直接高速缓存访问,因此,高速缓存连续传送的延时更短,抖动 更小。

案例研究:SoC设计最佳实践

可以使用Cyclone V SoC FPGA开发套件,通过参考设计来演示一个完整的系统。器件在一个芯片中包括了一个双核32ARM Cortex-A9内核子系统(HPS)和一个28nm FPGA。下面总结了硬件和软件体系结构,如图2所示。

硬件体系结构

·两个DMA,将数据从FPGA I/O传送至ARM处理器,反之亦然。

·两个DMA都连接至ACP,实现数据在ARM处理器高速缓存的直接传送。

·实时控制单元IP,以尽可能快的方式启动ARM处理器和DMA引擎之间的消息传递。

·抖动监视器直接探测DMA信号,采集实时性能和抖动,精度在±6.7ns以内。

软件体系结构

·在双核ARM处理器上的VxWorks实时OS运行在SMP模式下。

·内核隔离,用于在第一个内核上分配实时应用程序,在第二个内核上分配其他的非 实时应用程序。

·实时应用程序连续从I/O读取数据,计算,然后将结果发送回I/O。

·当连续运行FTP传输并对数据加密时,非实时应用程序加重了对ARM内核和其它 I/O性能的要求。

结果

在长度不同的数据上运行实验,长度从32 字节直至2,048字节。为了采集循环时间的直方图,来分析抖动(最大和最小循环时间之间的不同),每一长度都要运行数百万次。如图3所示,即使是在第二个内核上运行数据流负载很大的FTP,经过数百万次的测试,延时也在微秒级,而抖动不到300ps。长度不同,会有些抖动摆动,但是可控制在200ps内,并不明显。

相同的FTP应用程序也运行在VxWorks SMP上,使用了两个内核,速度提高了近2倍。因此,这一方法并没有劣化吞吐量,是吞吐量和硬件实时应用程序的折中选择。但是,由于对内核进行了硬件划分,不能够灵活的增加内核数,因此,AMP解决方案也同样有一些劣化。

结论

设计一个支持大吞吐量和实时应用程序的均衡SoC系统需要进行很多综合考虑,例如:

·DMA数据传送。

·连续高速缓存。

·处理器内核与DMA之间的消息传递。

·OS划分。

·软件能够随着处理器内核数量的增加而进行扩展。

在此次实验中,我们展示了一个“最佳实践”系统设计,它使用了支持内核隔离和高速缓存连续传送的SMP,实现了低延时、低抖动实时性能,同时软件能够扩展应用到未来几代的SoC产品中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭