ARM CoreLink NIC-400最佳应用实践

快速链接:
.
个人博客笔记导读目录(全部)

  • 付费专栏-付费课程 【购买须知】:
  • 【精选】ARMv8/ARMv9架构入门到精通-[目录]
  • 联系方式-加入交流群 ----联系方式-加入交流群

在这里插入图片描述


AMBA、AXI、AHB、APB、ACE、CHI、ACE-Lite、AXI-Stream、CCI、CMN、CCN、CN、CI、NIC、NOC、NIC-400、CCI-500、CMN-600、CI-700、NI-700、总线互联、一致性总线、AXI协议

充分利用 ARM CoreLink NIC-400

 

在今年的 ARM® TechCon™ 上,Carbon Design Systems 与 ARM 联合发表了题为“充分利用 ARM CoreLink™ NIC-400”的演讲。在这篇博客中,我将对我们所展示的内容进行高度概述,并提供下载白皮书的机会,其中包含更多详细信息。

介绍

ARM CoreLink NIC-400网络互连是一款极其通用的 IP,能够最大限度地提高高吞吐量应用的性能、最大限度地降低移动设备的功耗并保证一致的服务质量。为了实现这种多功能性,IP 具有高度可配置性。为了帮助您找到适合您的特定应用程序的正确配置,我们引入了虚拟原型设计的概念、NIC-400 建模以及如何驱动和分析通过它的流量。本文重点介绍了 NIC-400 的主要特性以及基于真实系统流量和软件的方法,用于做出最佳设计决策。

ARM CoreLink NIC-400 概述

CoreLink NIC-400 网络互连提供高度可配置的互连交换机和网桥网络,可在单个 NIC-400 实例中将多达 128 个 AXI 或 AHB-Lite 主站连接到多达 64 个 AXI、AHB-Lite 或 APB 从站。

NIC-400 是 ARM 的第四代 AXI 互连,作为 AMBA AXI3 和/或 AXI4 互连的基础产品提供,具有三个可选的、许可证管理的高级功能: QoS-400 高级服务质量,可动态调节进入网络的流量。网络; QVN-400 QoS 虚拟网络,防止仲裁点阻塞;和 TLX-400 细链路,以减少布线拥塞并简化长路径的时序收敛。
ARM CoreLink NIC-400最佳应用实践_第1张图片

 
 
设计人员可以选择交换机网络的拓扑,以通过多种方式提高互连效率。来自多个主站的流量流可以组合起来,以提高线路利用率,减少拥塞。按位置对主机进行分组可以缩短 IP 块和交换机之间的路径。将大型交换机划分为多个较小的交换机可以提高频率并为关键路径(例如 CPU 和 DDR 主存储器之间的路径)提供低延迟。

每个开关都可以选择适当的数据宽度和时钟频率来满足性能目标,同时最大限度地减少功耗和面积。不同的交换机可以放置在不同的域中,允许分层时钟门控,以在每个域空闲时降低功耗。

NIC-400 交换机和网桥支持 AMBA AXI3 和新的 AMBA 4 AXI4,电线更少(无 WID)并增强了流性能(更长的突发支持)。AXI4 和 AXI3 之间的所有桥接均由 NIC-400 无缝处理。APB 支持已扩展到 AMBA 4 APB4,具有新的写入选通和 TrustZone 信号。

配置 NIC-400

设计人员使用易于驱动的AMBA Designer工具来配置 NIC-400。用户首先定义系统中的主站和从站、各自使用的总线协议、总线宽度和时钟,并填写所需的主从连接矩阵。然后,设计人员根据需要设置每个主设备的地址映射和全局地址映射以及任何重新映射选项。

最后,设计者在实现视图中建立所有主站和所有从站之间的连接拓扑。这使得设计人员能够最大限度地减少关键主设备和从设备之间(例如CPU 和主存储器之间)的延迟,并将组件组合在一起以节省电线和门。然后,GUI 允许设计人员选择缓冲区深度、注册选项、QoS 调节器和其他特性的配置选项。然后,该工具将自动满足 RTL 中所需的主/从接口、交换矩阵和桥接,并生成随附的 IP-XACT 描述。

NIC-400 建模

创建NIC-400精确模型的挑战之一是管理其可配置性。给定可能的连接矩阵、连接类型、协议、QoS 等,就有数十亿种可能的独特模型可能性。使用 AMBA Designer 配置互连后,您可以将 IP-XACT 文件上传到Carbon IP Exchange,后者将为您编译模型并可供下载。编译后,可以使用相同的门户来管理模型,IP-XACT 文件甚至存储在那里,以防您想稍后返回并修改模型或将其分配给团队成员。

创建后,NIC-400 模型可以轻松地与流量生成器一起执行,以快速开始收集数据。这种使用流量生成器来生成和消耗流量的方法并不是以验证 NIC-400 为目标,因为这被认为是正确的。相反,这种方法的目标是在模型运行时测量模型的性能特征。流量可以参数化以模仿系统 IP 的行为,并且可以参数化以扫描一系列不同的选项,包括突发长度、优先级、地址等。
ARM CoreLink NIC-400最佳应用实践_第2张图片

在此所示的示例中,一个简单的 NIC-400 配置有两个主设备和两个从设备。主设备被设置为模拟来自 CPU 和 DMA 控制器的数据加载,虚拟目标是以太网 MAC 和 DDR3 内存控制器。当然,由于流量生成器是非常可配置的,因此可以对任意数量的不同源或目标进行建模,我们稍后将对此进行更多介绍。请注意,我们正在分析任何连接上的流量。此处显示的图表跟踪 CPU 接口上的延迟和 DDR 控制器中的队列。然而,所讨论系统的确切指标当然会根据设计目标而有所不同。将多个分析窗口甚至多次运行的数据关联起来也是有益的。

我们在这里所做的重要事情是建立一个框架来开始收集有关 NIC-400 性能的定量数据,以便我们可以跟踪它满足要求的程度。可以对结果进行分析,这可能会导致重新配置、重新编译和重新模拟。只需稍微改变参数即可迭代数百种不同的设计可能性,这并非闻所未闻。改变流量参数以及 NIC 参数非常重要,但正如我们稍后将看到的,NIC-400 以及所有互连 IP 的真实性能将影响整个系统的行为特征。

即使只有 NIC-400 和一些源和消费者,流量生成器方法也可以很好地获得快速、准确的结果。它可以快速设置,并可以轻松测试各种系统可能性,包括使用真实 IP 可能难以设置的极端情况。但它确实有缺点。最终,无论您花费多少时间来组装流量生成方案,它们都不能反映运行真实软件的系统的实际行为,并且这种行为可能会根据系统软件和 IP 配置而有很大差异。即使系统软件调用的轻微重新排序也会对整体系统性能产生很大影响。因此,尽管使用流量生成器来获得系统性能的良好近似值是很好的。验证系统是否真正满足您的性能目标的最佳方法是实际组装系统。值得庆幸的是,使用虚拟原型也可以实现这一点。

验证 NIC-400

系统级虚拟原型可以让您更真实地了解系统内部发生的情况。这对于处理您的流量生成器可能无法像真实 IP 那样正确建模的情况(例如排序、仲裁和未完成交易的数量)显然非常重要。另一件极其重要的事情是连贯性。虽然系统中的大部分相干流量将由 CCI/CCN IP 处理,但它仍然会对系统性能产生影响,并且一些软件调用可以极大地影响系统流量,以保持这种一致性。

从根本上来说,软件会对整个系统的性能产生巨大影响,并且让该软件与真实硬件一起启动并运行将使这两者能够在实际芯片之前得到优化。一个典型的例子是系统级基准测试。这些基准通常用于在 IP 最终确定后对其进行营销。领先的设计团队将在 SoC 的设计过程中使用这些基准测试来驱动系统中的流量,同时调整 IP 的设置以最大限度地提高性能。这有助于确保实际的芯片符合营销规格。
ARM CoreLink NIC-400最佳应用实践_第3张图片

这是一个系统级虚拟原型示例。在本例中,ARM Cortex-A57被用作系统中的主处理器。有一个 CCI-400 和多个 DMC-400 来处理大多数内存访问,NIC-400 挂在 CCI 上来管理对系统其余部分的内存访问。该系统完全能够启动 Linux,然后运行各种系统级基准测试。显然,我们需要添加更多组件(尤其是 GPU)来对前沿 SoC 的功能进行建模,但即使是这个简单的系统模型也足以优化面向计算的基准测试的性能并最​​大限度地提高处理器/内存子系统。我们在 NIC-400 上使用可参数化的内存,为其他组件提供一定的系统级灵活性。大多数系统将使用多个存储器,一个用于每个建模组件,或者如果需要,可以使用实际的 IP 模型。然而,由于它可以启动操作系统,因此该系统级虚拟原型不仅对于验证各种系统组件的性能很有价值,而且还可以用于实现硅前固件开发。

使用上图 CPAK 中描述的系统模型,可以执行真实的系统软件、启动操作系统并执行系统级基准测试,以优化 NIC-400 以及系统中的其他组件。

结论

ARM CoreLink NIC-400 提高了系统级性能的标准,同时还提供了减少面积和功耗的机制。这些新功能与任何互连模块的广泛可配置性相结合,提供了大量的设计选择,可以在将 IP 纳入 SoC 设计时进行选择。使用精确虚拟原型的两步方法可以让设计人员相信他们有能力使用近似流量模型做出设计决策,然后通过运行实际系统软件来验证其结果。

想要更多信息吗?
这篇博文所依据的白皮书长达13 页,对此处介绍的主题进行了更为详细的介绍。它可供下载,我很乐意回答您在阅读后仍然存在的任何问题。

你可能感兴趣的:(ARM,arm开发,NIC400,NOC,NIC,总线互联,armv9)