ARM IHI0069F GIC architecture specification (7)

3.1 GIC逻辑组件

GICv3体系结构由一组逻辑组件组成:
    •Distributor。
    •每个受支持的PE都有一个Redistributor。
    •支持的每个PE都有一个CPU interface。
    •中断翻译服务组件(ITS),支持将事件翻译为LPI。
Distributor, Redistributor和ITS统称为IRI。
    a.ITS是可选的,IRI中可能有多个ITS。
    b.每个PE有一个Redistributor。
    c.每个PE有一个CPU interface。

CPU interface处理所有实现的异常级别的物理中断:
    •可选择通过ITS将转换为LPI的中断路由至Redistributor和CPU interface
    •PPI直接从源路由到本地Redistributor。
    •SPI从源通过分发服务器路由到目标Redistributor和相关的CPU interface
    •SGI由软件通过CPU interface和Redistributor生成。然后通过Distributor路由到到一个或多个目标Redistributor和相关联的CPU interface。

在GICv3中,ITS是一个可选组件,可将事件转换为物理LPI。该体系结构还支持不需要使用ITS的直接LPI。如果支持LPI,可以通过下面两个方式中的任意一个来实现:
    •通过访问Redistributers中的寄存器来支持直接LPI。
    •LPI支持由ITS提供。
一个实现必须只支持其中一种方法。

在GICv4中,必须包含至少一个ITS,以提供对虚拟LPI直接注入的支持。

ITS和Redistributor之间的通信机制由具体实现定义的。

CPU interface 和 Redistributor 之间的通信机制由具体实现定义的。

以下列表更详细地描述了上面第一张图所示的组件:

Distributor

Distributor执行中断优先级排序,并将SPIs和SGI分配给PE的Redistributor和CPU interface。
GICD_CTLR为以下各项提供全局设置:
    •启用亲和路由。
    •禁用安全性。
    •启用安全和非安全组1中断。
    •启用组0中断。
对于SPI,分发服务器为以下各项提供编程接口:
    •启用或禁用SPI。
    •设置每个SPI的优先级。
    •每个SPI的路由信息。
    •将每个SPI设置为电平敏感型或边缘触发型。
    •生成基于消息的SPI。
    •将每个SPI分配给一个中断组。
    •控制SPI的挂起状态和活动状态。
分发服务器寄存器由GICD_前缀标识。
有关详细信息,请参阅第2章中断的分布和路由。

ITS

ITS是GICv3体系结构中的一种可选硬件机制,用于将LPI路由到适当的Redistributor。软件使用命令队列来配置ITS。存储器中与ITS相关联的表结构将与设备相关联的EventID转换为PE的未决INTID。
ITS在GICv4中不是可选的,并且所有GICv4实现必须至少包括一个ITS。
有关更多信息,请参阅第5-85页的中断翻译服务。
Redistributor Redistributr是IRI中连接到PE的CPU interface的部分
Redistributor使用内存中的数据结构来保存所有物理LPI的控制、优先级和挂起信息。Redistributor中的两个寄存器指向以下数据结构:
    •GICR_PROPBASER。
    •GICR_PENDBASER。
在GICv4中,Redistributor还包括用于处理虚拟LPI的寄存器,这些虚拟LPI由ITS转发到Redistributer并直接转发到VM,而不涉及系统管理程序。这被称为将虚拟中断直接注入到VM中。
在GICv4中,Redistributers使用内存中的数据结构共同托管所有虚拟LPI的控制、优先级和挂起信息。Redistributor中的两个寄存器指向以下数据结构:
    •GICR_VPROPBASER。
    •GICR_VPENDBASER。
在支持LPI但不包括ITS的实现中,GICR_*寄存器包含一个简单的内存映射接口,用于信号和控制物理LPI。
Redistributers提供了一个编程接口,用于:
    •识别、控制和配置支持的功能,以启用实施的中断和中断路由。
    •启用或禁用SGI和PPI。
    •设置SGI和PPI的优先级。
    •将每个PPI设置为水平敏感型或边缘触发型。
    •将每个SGI和PPI分配给一个中断组。
    •控制SGI和PPI的未决状态。
    •控制SGI和PPI的活动状态。
    •为连接的PE提供电源管理支持。
    •在支持LPI的情况下,内存中支持相关中断属性及其挂起状态的数据结构的基地址控制。
    •在支持GICv4的情况下,内存中支持相关虚拟中断属性及其挂起状态的数据结构的基地址控制。
Redistributor寄存器由GICR_前缀标识。
有关Redistributor的更多信息,请参阅第2-35页的Affinity routing和第2-30页的The Distributor and Redistributers。

CPU interface

GIC体系结构支持CPU interface,该接口为系统中的PE提供寄存器接口。每个CPU interface提供一个编程接口,用于:
    •一般控制和配置,以根据实施的安全状态和遗留支持要求实现中断处理。
    •确认中断。
    •执行优先级下降。
    •中断的停用。
    •为PE设置中断优先级掩码。
    •定义PE的抢占策略。
    •确定PE的最高优先级未决中断。
CPU interface有几个组件:
    •一种允许软件监控级别控制物理中断处理的组件。与此相关联的寄存器由ICC_前缀标识。
    •一种允许软件监控级别控制虚拟中断处理的组件。与此相关联的寄存器由ICV_前缀标识。
    •允许系统管理程序控制一组挂起中断的组件。与此相关联的寄存器由ICH_前缀标识。


CPU interface中的系统寄存器与在物理域中处理中断的软件相关联,或者与作为VM一部分的非安全EL1的执行相关联。HCR_EL2的配置确定访问是对物理资源还是对虚拟资源。
在EL2可访问的系统寄存器,用于控制PE的活动、挂起、活动和挂起虚拟中断的列表,由ICH_前缀标识。
有关处理物理中断的更多信息,请参阅第4章物理中断处理和优先级。
有关处理虚拟中断的更多信息,请参阅第6章虚拟中断处理和优先级。

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
### 回答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、付费专栏及课程。

余额充值