1、封面
欢迎参加 Keystone 多核导航仪培训。本培训由三部分组成。
这是第一部分,介绍了 Multicore Navigator 组件。
2、概述导览
这篇概述主要看两个方面--什么是 Navigator,以及 Navigator 能做什么?第一部分,什么是Navigator,将提供 Navigator 本身的定义,看一下架构,主要集中在它的两个主要组件--队列管理子系统和包 DMA--我们还将看一下描述符和队列。至于 Navigator 能做什么,我们将看一下三个功能--数据移动、内部处理器通信和作业管理。
3、什么是多核导航器?
让我们先来看看什么是多核导航仪?首先,让我们看一下多核导航仪的定义。
3.1 定义
顾名思义,多核导航仪是一个组件的集合,旨在促进数据的移动,以及控制 Keystone 设备内的多个核心。在 Navigator 域内有几个主要组件。其中包括一个队列管理器,一系列被称为包 DMA 的专门的包 DMA,描述包的数据结构,被称为描述符,以及一组 API 和寄存器,可以用来在硬件中操作描述符。
Navigator 是数据在 Keystone 设备中移动的主要方式。它被设计成一个点燃和遗忘系统。当我们说火力全开时,我们的意思是,在前面,你做了大量的工作来配置和初始化系统。在运行时,你推送和弹出描述符,系统会处理其余的事情,不需要任何 CPU 干预。
3.2 多核导航器架构
3.2.1 多核导航器架构:PKTDMA
现在,让我们看一下 Navigator 的架构,从左下角的块开始,即数据包 DMA。正如你所看到的,有多个实例的包 DMA 显示在这里。原因是包 DMA 是一个分布式系统,存在于Keystone设备的多个 IP 中。在数据包 DMA 中,我们可以把功能大致分为三个部分。首先,是发送,然后是接收端,然后是流媒体接口控制。
在发送端,当外部 IP 将描述符推入对应于发送通道的正确队列时,发送时间表控制器被激活。当这种情况发生时,队列管理器激活对应于将描述符推入队列的 IP 的队列挂起信号。一旦数据包 DMA 通道被激活,发送调度控制就会激活发送核心,开始将数据从内存中穿过总线缓冲到发送通道 FiFo。有效载荷数据停留在这些 FiFos 中,直到 IP 控制块与 FiFo 控制正确握手,允许数据从 FiFo 控制传输到 IP 块,在我们通过这个培训时,我们会更详细地讨论这个过程。
现在,让我们看一下接收端。在接收端涉及的第一个组件是 FiFos 中的 Rx 通道控制器,它从FiFo 接口接收数据包。 Rx 核心负责将数据包从 FiFo 传送回内存, Rx 一致性单元的责任是确保在 Rx 核心发送最终目标描述符之前完成所有的内存权限。数据包 DMA 的第三个要素是流媒体接口。流媒体接口有两条 128 位总线。每个总线都有一个发送端和一个接收端。
进入 IP 的数据要经过传输端--也就是说&#x