ARM IHI0069F GIC architecture specification (3)

1.2 术语
本手册中的架构描述使用与 Armv8 架构相同的术语。 有关此术语的更多信息,请参阅 Arm® 架构参考手册 Armv8 A 部分的介绍,了解 Armv8-A 架构配置文件。
此外,在适当的情况下使用 AArch64 系统寄存器名称,而不是同时列出 AArch32 和 AArch64 系统寄存器名称。 AArch64 寄存器名称上的 ELx 后缀表示可以访问寄存器的最低异常级别。 
各个 AArch64 系统寄存器描述包含对提供相同功能的 AArch32 系统寄存器的引用。
以下部分定义了本手册中使用的架构术语:
• 中断类型。
• 第1-21 页的中断状态。
• 第1-21 页的处理中断的模型。
• 第1-22 页的附加条款。

1.2.1 中断类型

实现GIC架构的设备可以控制外设中断。 外设中断通常由发送到 GIC 的物理信号来断言。 GIC架构定义了以下类型的外设中断:
局部特定外设中断 (LPI)
LPI 是一个目标外设中断,它被路由到关联层次结构中的特定 PE:
• 在启用两种安全状态的系统中,LPI 始终是非安全组 1 中断。
• LPI 具有边沿触发行为。
• LPI 可以使用ITS 进行路由。
• LPI 没有活动状态,因此不需要显式停用。
• LPI 始终是基于消息的中断。
有关详细信息,请参阅第 5-78 页的 LPI。

私有外设中断 (PPI)
这是一个针对单个特定PE的外设中断,不同的PE可以使用相同的中断号来指示不同的事件:
• PPI 可以是组0 中断、安全组1 中断或非安全组1 中断。
• PPI 可以支持边沿触发或电平敏感行为。
• PPI 绝不会使用ITS 进行路由。
• PPI 处于活动状态,因此需要显式停用。

注:
通常,期望 PPI 由每个 PE 上同一中断源的不同实例使用,从而允许将公共中断号用于 PE 特定事件,例如
来自私有定时器的中断。

共享外设中断 (SPI)
这是一个外设中断,分发器可以将其路由到可以处理中断的指定 PE,或者路由到系统中已配置为接受此类中断的一组 PE 之一的 PE:
• SPI 可以是组0 中断、安全组1 中断或非安全组1 中断。
• SPI 可以支持边沿触发或电平敏感行为。
• SPI 绝不会使用ITS 进行路由。
• SPI 具有活动状态,因此需要显式停用。
有关详细信息,请参阅第 4-56 页的共享外设中断。 有关分发器的更多信息,请参阅第 3 章 GIC 分区。

软件生成中断 (SGI)
SGI 通常用于处理器间通信,并通过写入 GIC 中的 SGI 寄存器来生成:
• SGI 可以是组0 中断、安全组1 中断或非安全组1 中断。
• SGI 具有边沿触发行为。
• SGI 绝不会使用ITS 进行路由。
• SGI 具有活动状态,因此需要显式停用。
有关详细信息,请参阅第 4-55 页的软件生成的中断。
边沿触发的中断具有以下属性:
• 在检测到中断信号的上升沿时将其置位,然后无论信号状态如何,它都会保持置位状态,直到软件确认中断为止。
有关边沿触发的基于消息的中断的信息,请参阅基于消息的中断。
电平敏感的中断具有以下属性:
• 当中断信号电平有效时,它被置为有效;当中断信号电平不有效时,它被置为无效。
• 它被软件明确地置为无效。

1.2.2 中断状态
以下状态适用于 GIC 和连接的 PE 之间的每个接口:
     不活跃
         未激活或未决的中断。
     待办的
         被识别为在硬件中断言或由软件生成的中断,并等待目标 PE 处理。
     积极的
         已被 PE 确认并正在处理的中断,因此同一中断的另一个断言不会作为中断呈现给 PE,直到初始中断不再处于活动状态。
         LPI 没有活动状态,并在被 PE 确认后转换为非活动状态。
     有效和待处理
         一种中断,在中断的一次断言后处于活动状态,并在后续断言后处于挂起状态。
         LPI 没有活动和挂起状态,并在被 PE 确认后转换为非活动状态。
GIC 维护每个支持的中断的状态。 状态机定义了中断状态之间可能的转换,以及对于每种中断类型,导致转换的条件。 有关详细信息,请参阅第 4-51 页的中断处理状态机。

1.2.3 处理中断的模型

在多处理器实现中,存在以下用于处理中断的模型:
定向分销模式
     该模型适用于所有 PPI 和所有 LPI。 它还适用于:
     • 非传统操作期间的SPI,如果GICD_IROUTER<n>.Interrupt_Routing_Mode == 0。
     • 在传统操作期间,当 GICD_CTLR.ARE_* == 0 时,如果相应 GICD_ITARGETSR<n> 字段中只有一位 == 1。
     由软件指定的目标PE接收中断。
目标列表模型
     该模型仅适用于 SGI。 多个PE独立接收中断。 当 PE 确认中断时,仅该 PE 的中断挂起状态被清除。 中断对于每个 PE 独立地保持待处理状态,直到它被 PE 确认为止。
N 型号中的 1 个
     该模型仅适用于 SPI。 该中断针对一组指定的 PE,并且仅在该组中的一个 PE 上进行。 接受中断的 PE 以实现定义的方式选择。 该架构对可选择的 PE 进行了限制,请参阅第 4-63 页的启用中断分配。
     注
     • Arm GIC 架构保证仅向目标PE 集中列出的一个PE 提供N 中的1 中断。
     • 如果中断不是最高优先级中断,或者中断被ICC_PMR_EL1 屏蔽或在PE 内,则可能会向PE 提供N 中的1 中断。 请参阅第 4-46 页的中断生命周期。
     对于传统操作期间的 SPI,当目标寄存器中指定了多个目标 PE 时,适用此模型。
     如果多个 PE 可以处理中断,则硬件实现一种机制来确定哪个 PE 激活中断。

1.2.4 更多术语
本手册中使用了以下更多术语:

空闲优先级
     在 GICv3 中,空闲优先级 0xFF 是当该接口上没有活动中断时从 CPU 接口上的 ICC_RPR_EL1 读取的运行优先级。 在传统操作期间,从 GICC_RPR 读取的空闲优先级是由实现定义的,如 GICv2 中一样。


中断标识符(INTID)
     唯一标识具有关联事件及其源的中断的数字空间。 然后该中断被路由到一个或多个PE进行处理。 PPI 和 SGI 中断号是每个 PE 本地的。 SPI 和 LPI 具有物理域的全局中断号。 有关详细信息,请参阅第 2-31 页的 INTID。


中断路由基础设施 (IRI)
     分销商、再分销商以及(可选)一个或多个 ITS。 有关详细信息,请参阅第 3-38 页的 GIC 逻辑组件。


基于消息的中断
     基于消息的中断是由于对指定地址的存储器写访问而被置位的中断。 物理中断可以转换为基于消息的中断。 基于消息的中断可以支持电平敏感或边沿触发的行为,尽管 LPI 始终是边沿触发的。
     GICv3 支持两种基于消息的中断机制:
     • 一种用于通信SPI 的机制,其中分配的地址保存在分发器中。 在这种情况下,基于消息的中断可以是电平敏感的或边沿触发的。
     • 一种用于传送LPI 的机制,其中所分配的地址保存在ITS 中(如果实施了ITS),或者保存在再分发器中。
     Arm 建议使用 LPI 在支持 PCIe 的系统中提供对 MSI 和 MSI-X 功能的支持。 有关详细信息,请参阅第 5 章局部特定外设中断和 ITS。 GICv3 还包括使用基于消息的中断对信号 SPI 的架构支持,请参阅第 4-56 页的共享外设中断。

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 阿姆巴总线协议是一种用于芯片间连接的开放式标准,包括阿姆巴总线规范与阿姆巴总线接口规范。阿姆巴总线规范定义了总线的结构、信号传输方式、总线操作,以及总线控制器和可编程逻辑的行为和特性。 amba庐 axi(Advanced eXtensible Interface)和ace(AXI Coherency Extension)协议是阿姆巴总线接口规范的扩展版本,支持高性能和高效的系统互联。axi协议已被广泛采用,被认为是现代SoC设计中的事实标准。 axi协议支持多个主操作总线,并且提供了高度的灵活性和可扩展性,可以满足不同的SoC设计需求。此外,axi协议还提供了流水线传输和乱序传输的支持,可以有效提高数据传输效率。 ace协议是axi协议的扩展版本,提供了高效的数据一致性管理功能。ace协议支持多级缓存一致性,可以减少数据读写冲突和不一致问题,提高系统性能和稳定性。 综上所述,amba庐 axi和ace协议是现代SoC设计中重要的标准,为高性能和高效的系统互联提供了重要支持,是SoC设计工程师必须掌握的技术之一。 ### 回答2: AMBA(Advanced Microcontroller Bus Architecture)是ARM体系结构中用于芯片内部通信的标准总线接口。AMBA包括多个协议,其底层协议称为APB(Advanced Peripheral Bus),高级协议称为AHB(Advanced High-performance Bus)和AXI(Advanced eXtensible Interface)。 AXI是AMBA协议的最新版本。与AHB相比,AXI具有更高的带宽和更低的延迟,以满足系统对高性能和低功耗的要求。AXI协议规范包括AXI4、AXI4-Lite和AXI4-Stream三种。 ACE是AXI协议规范的一种扩展,提供了一种AXI与外部高速缓存(例如L2缓存)之间的接口。ACE协议规范包括ACE-Lite和ACE两种版本。 IHI 0022h是AMBA协议规范的具体文档,其中包含了AHB、APB、AXI和ACE协议的详细说明,以及信号、传输类型、时序和响应等方面的规范。对于以ARM内核为基础的芯片设计者来说,这个文档是设计和开发过程中必不可少的参考文献。 ### 回答3: AMBA是一个总线标准,广泛应用于ARM公司的处理器间的互联。AMBA总线被设计成一个用于系统-on-chip(SoCs)的标准总线,它连接着处理器、外设和存储器,实现了SoC内部的通信。 而AMBA协议中,AXI和ACE协议则是其中两种典型的总线协议。AXI协议被设计为所有AMBA3处理器总线之间的标准接口,包括了高级性能处理器、图像处理器和数字信号处理器等。而ACE协议是架构统一缓存共享扩展协议,为提高AMBA的共享性能和可伸缩性设计,加强了系统内存一致性的控制。这些协议规范中对于各种数据传输的信息进行了详细的描述,包括寻址方式、数据的传输规定等。 ARM iHI 0022h的规范是关于AMBA协议的详细说明,其中包括了AXI和ACE协议的规定。该规范详细描述AMBA协议的各个方面,包括总线结构、传输协议、信号规范和一致性协议等内容。对于SoC设计者和软件开发者来说,理解并实现AMBA协议非常重要,能够帮助优化系统性能和有效管理SoC内部的数据流动,提高其可靠性和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值