你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

GICv3软件overview手册之GICv3基本功能(3)

2021/12/30 18:00:17

        GICv3使用亲和路由来区分连接的PE,让中断路由到某个PE或某一组PE。PE的亲和性由4个8bit域表示。

<affinity level3>.<affinity level2>.<affinity level1>.<affinity level0>

        在affinity level0处是Redistributor。每个Redistributor连接到一个CPU接口上。Redistributor控制SGI,PPI和LPI。

        亲和性流程与ARMv8-A使用的流程匹配,通过MPIDR_EL1报告PE的亲和性。系统设计必须保证MPIDR_EL1表示的亲和性值与和PE连接的Redistributor 的GICR_TYPER是相同的。

        不同级别的affinity由特定的处理器和SOC决定。下列为例子:

<group of groups>.<group of processor>.<processor>.<core>

<group of processors>.<processor>.<core>.<thread>

         极大不可能所有的node都在一个实现里。比如,用于手机设备的SOC有类似的layout:

0.0.0.[0:3] core 0 to 3 of a Cortex-A53 processor

0.0.0.[0:1] core 0 to 1 of a Cortex-A57 processor

        在ARMv8-A,AArch64状态支持四个级别的亲和性。AArch32和ARMv7只支持三个级别亲和性。这意味着使用AArch32的设计仅限于单个模亲和性级别3(0.x.y.z)。GICD_TYPER.A3V表明是否中断控制器支持多个级别3的结点。

NOTE: 虽然每个级别1结点最好多可以有256个级别0的Redistributor,特别它可能只有16个或更少。这是因为为SGI的目标PE的方式在章节7中。