收藏 分享(赏)

实时监控与任务调度下内核的调度3.docx

上传人:yjrm16270 文档编号:6800014 上传时间:2019-04-22 格式:DOCX 页数:8 大小:392.93KB
下载 相关 举报
实时监控与任务调度下内核的调度3.docx_第1页
第1页 / 共8页
实时监控与任务调度下内核的调度3.docx_第2页
第2页 / 共8页
实时监控与任务调度下内核的调度3.docx_第3页
第3页 / 共8页
实时监控与任务调度下内核的调度3.docx_第4页
第4页 / 共8页
实时监控与任务调度下内核的调度3.docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、Zynq UltraScale + MPSoC 器件的主要组件之间的关系通常被认为是“不对称”的。也就是说,每个 APU,RPU,PL 和 GPU 都具有不同的功能和约束,它们不一定共享一个通用的操作系统,这些块之间的工作负载也就不可以无缝地移动。 相反,想要为某一工作负载使用这些组件之一的设计人员必须为该组件专门定制该工作负载。 这就是所谓的非对称多处理(AMP) 。互连:互联交换机: Zynq UltraScale + MPSoC 器件的互连基于 ARM 高级微控制器总线架构(AMBA)4.0规范的高级可扩展接口(AXI ) ,并结合了许多其他相关的 ARM 技术。主机和从站很少直接连接。

2、 相反,几个交换机位于 Zynq UltraScale + MPSoC 器件的战略点,使各种模块能够彼此连接,同时保持 Zynq UltraScale + MPSoC 器件对电源管理,安全性,隔离和整体灵活性的重视。CCI: Cache-Coherent Interconnect(缓存相干互连)服务质量(QoS)系统中有两部分参与了 QoS,互连交换机和 CCI。基于交换机的 QoS大多数交换机都包括 QoS-400 功能。 QoS-400 是用于其交换机互连的 Zynq UltraScale + MPSoC 器件使用的 CoreLink NIC-400 标准的 ARM 加法。 为互连中的大多

3、数 AXI 主设备分配了 QoS-400 稳压器。Note:QoS-400“调节器”是 ARM 文档中用于描述块的术语与 AXI 主人关联以控制他们的行为。该调节器允许为每个 AXI 主站限制以下内容:任何一次可能的最大交易数量命令发布率基于 CCI 的 QoSZynq UltraScale + MPSoC 器件中使用的CCI-400 具有 QoS 虚拟网络(QVN)功能,可用于避免在由两个不同的流量优先级类别生成的请求的存储器访问期间发生行前阻止(HOLB )效应。在这种情况下,通过 CCI 的一个流量被标记为低延迟,而另一个被标记为最佳努力。 如果较低优先级的流量,即最大努力,将从更高优先

4、级的流量即低延迟“保持行” (即,DDR 端口) ,将出现 HOLB。 QVN 使用不同的队列和令牌仲裁两个 DDR端口之间的流量,并避免 HOLB 引起的延迟。这在 APU 的情况下是有用的,因为它不限于使用单个预分配的 DDR 端口,而是连接在附接到 APU 本身附接到的 CCI-400的两个 DDR 端口之间切换。由于 APU 的流量通常是低延迟,大多数其他流量共享 CCI 是最好的努力,所以使用 QVN 如刚才所述,确保 APU 获得适当的 QoS 用于其内存访问。QoS 定制在绝大多数情况下,无需修改 Zynq UltraScale + MPSoC 器件默认使用的 QoS 设置。但是

5、,如果您有问题,并希望可能调整某些 QoS-400 监管机构,请首先使用前面提到的 APM 和 ATM 所实现的内置数据收集功能。中断:Zynq UltraScale + MPSoC 设备上有两个中断控制器,一个用于 APU,另一个用于 RPU。 APU 的中断控制器实现了 ARM 全局中断控制器版本 2(GICv2)规范,而 RPU 的中断控制器基于 ARM GICv1 规范。 前者的一个主要优点是可以在 APU 上实现中断虚拟化。下图说明了 Zynq UltraScale + MPSoC 器件的中断路由:标有 GIC-400 的块是 APU 的 GICv2 中断控制器,标记为 GIC(PL

6、390 )的块是 RPU 的GICv1 中断控制器。APU 中断控制器每个 Cortex-A53 处理器都有四条中断线作为输入:nIRQ 是正常优先级中断nFIQ 是高优先级或快速中断nVIRQ 是普通优先级的虚拟中断,用于 APU 上的虚拟化支持nVFIQ 是高优先级的虚拟中断,用于 APU 上的虚拟化支持APU 的中断控制器处理 Cortex-A53 处理器的中断如下图所示:中断控制器分为两部分。分销商负责注册入站中断,并在将其分配给正确的目标 CPU之前对其进行优先级排序。中断控制器的第二部分与每个 CPU 的中断线接口,以触发相关Cortex-A53 处理器上的实际中断。中断控制器处理

7、 3 种类型的中断:1. 16 个软件产生中断( SGI) ,用于在内核之间发送中断2. 专用外设中断(PPI )7 针对单个 Cortex CPU 内核3. 92 所有 APU 和 RPU 内核共享的共享外设中断(SPI)APU 中断虚拟化当 APU 运行虚拟机管理程序时接收到中断时,管理程序将与 APU 的中断控制器进行接口,以生成客户机操作系统的虚拟中断,如下所示。这些中断将直接发送到将处理和清除的客户操作系统。如果中断不是要到达客人,管理程序可以在本地处理和清除中断。RPU 中断控制器RPU 的 GICv1 中断连接到 Cortex-R5 处理器,如下所示。 它类似于 APU 的中断控

8、制器,但不支持虚拟中断。 它还处理每个前述类型(即 SGI,PPI ,SPI )的更少的中断。安全状态和中断根据 ARM TrustZone 规范,通过互连连接的所有 Zynq UltraScale + MPSoC 器件的块都被分类为安全或非安全。请注意,APU 或 RPU 的中断控制器不区分触发中断的一方是安全还是不安全。按照惯例,APU 上的 FIQ 被发送到安全监视器,但这是软件选择,而不是硬件要求。处理器间中断处理器间中断(IPI)是 Zynq UltraScale + MPSoC 器件中处理块之间通信的基础,为中断远程处理器提供了一个通道,可以携带一定量的有效载荷。例如,IPI 的主

9、要用途之一是电源管理。如果全功率域关闭,可以将 IPI 发送到 PMU,以要求将其重新加电。共有 11 个 IPI 通道,其中 4 个用于与平台管理单元(PMU)进行通信。每个 IPI 通道除了一些与 PMU 通信的通道外,还有两个 32 字节缓冲器和 6 个寄存器,用于源和目标之间的通信。主机使用第一个缓冲区来存储请求,第二个缓冲区被目标用于存储响应。下图说明了主器件如何操作寄存器以触发 IPI,并通过目标来确认和回复中断。OpenAMP开放式不对称多处理(OpenAMP)是一种分层的模块化框架,可提供用于在非对称多处理(AMP )系统(如 Zynq UltraScale + MPSoC 器

10、件)中互连软件组件的通用 API 和方法。它使软件应用程序在这样的异构多处理器系统中运行,其中不同的核心实例可以运行不同的操作系统(例如 HLOS,裸机或实时操作系统,例如 FreeRTOS)来进行通信和协调。更具体地说,OpenAMP 是一个通用的抽象框架,允许在构成系统的异构处理器之间上电,加载固件,断电和共享信息(通信) 。在 AMP 系统中,主处理器通常需要在远程核心上启动软件。核心然后使用处理器间通信(IPC )进行通信,允许主处理器将工作卸载到其他处理器。下图说明了一个非常简单的 AMP 拓扑。在本示例中,Linux 作为 APU 中的主处理器运行,RPU 作为远程处理器运行裸机应

11、用程序。 Linux 负责加载和启动远程处理器。OpenAMP 由两个关键组件组成:Remoteproc:控制生命周期管理(LCM )的管理框架来自主处理器的远程处理器。RPMsg:通过 API 允许 Inter Process 的消息传递框架通信(IPC)在运行在 AMP 的独立核心上的软件之间系统。RemoteprocRemoteproc 通过设备驱动程序实现,并通过 API 指导。 API 可以让 Remoteproc 指示主处理器将代码和数据加载到远程处理器的内存中,启动远程处理器,管理其本身与远程处理器之间的通信通道,并关闭远程处理器。从远程处理器的角度来看,主处理器到 API 的调

12、用可以初始化远程处理器上的Remoteproc 系统,管理远程处理器和主处理器之间的通信通道,并关闭远程处理器上的Remoteproc 系统。RPMsgRPMsg 是处理器之间的消息总线,其中每个处理器是总线上的一个设备。处理器具有作为彼此之间的通信链路的通道,并且在远程处理器启动时被创建。通道的名称由源地址和目标地址标识。RPMsg 使用虚拟 I / O(Virtio)组件。 Virtio 提供虚拟 I / O 服务,以支持主处理器和远程处理器之间的通信。以下是 Virtio 如何适应 OpenAMP 图层的图示:Virtio 使用带,这是 Virtio 使用的 I / O 操作的传输抽象。

13、 带一个环形缓冲区。APIOpenAMP API 在主处理器和远程处理器上均实现。 API 指示 RPMsg 执行以下操作:将消息发送到通道的默认端点发送允许显式源和目标地址的复杂消息阻止选项创建和销毁通道和通道端点接收数据在数据传输过程中识别和使用缓冲区大小以下是 Zynq UltraScale + MPSoC 器件上使用 OpenAMP 启用的内核之间的 API 的示例:应用处理单元 APU Cortex A53 1.5GHz 双/四核 适用:网络通信 可能会需要实时 OS处理器之间的关系有四种形式:SMP:处理 APU 内的内核时,由单个操作系统进行管理AMP:当处理块彼此独立运行时监督

14、:当有一个管理程序协调AMP 块无监督:当 AMP 块之间没有单个仲裁器时异构计算:在同一设备中组合不同的处理器类型SMP 选择低于可用内核数量的数据,并使用底层虚拟机管理程序进行部署,将为其他应用程序(例如通过 Xilinx SDK 创建的自定义裸机应用程序)保留一个或多个内核。AMP可以在 APU 上使用管理程序,以便在可用内核上部署不同的操作系统或裸机工作负载。根据虚拟机管理程序本身和特定的客户需求,通常可以以对所有客户端进行透明(完全虚拟化)或半透明(半虚拟化)的方式来管理资源共享。实时处理单元 RPU Cortex R5 600MHz 双核适用:实时软件Cortex-R5 处理器可以独立运行,必须对 Cortex-R5 处理器进行一致的管理。有两种不同的模式分离模式/无监督 AMP:也称为性能模式,这是 Cortex-R5 的默认模式处理器。在这种模式下,除了中断之外,每个内核都独立运行控制器刚刚解释。锁步模式:也称为安全模式,在这种操作模式下,Cortex-R5 处理器的作用作为单个 CPU 与系统的其余部分。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报