一.概述
1.私有,共享,软件中断
每个 CPU 都有一组私有的外围中断(PPIs),这些外围中断的访问使用的是 banked 寄存器
组。PPIs 包括全局定时器,私人看门狗定时器,私人定时器,和来自 PL 的 FIQ/IRQ。软件生
成的中断(SGIs)被路由到一个或两 CPU。SGIs 通过写入到 ICDSGIR 寄存器而产生。共享的外围
中断(SPIs)是由 PS 和 PL 中的各种各样的 I/O 和内存控制器产生,它们被路由到一个或者两个
CPU。来自 PS 外围设备的 SPI 中断也被路由到 PL。
2.通用终端控制器
通用中断控制器(GIC)是一个具有“中央集权”的资源,它用于将来自 PS 和 PL 端的中断
发送到 CPU,控制器可以启用、禁用、“遮掩”, 优先级排序这些中断资源,并将它们以编
程方式作为 CPU 接口接收的下一个中断发送给选定的 CPU(或 CPU)。此外,控制器支持实现
安全感知系统的安全扩展。
控制器基于 ARM 通用中断控制器架构版本 1.0 (GIC v1),非向量中断
通过 CPU 专用总线访问寄存器,这样可以在互连中避免临时阻塞或其他瓶颈,以便快
速读/写。
中断分发服务器集中所有的中断源,然后再将优先级最高的中断源调度分配给单独的一
个 CPU。针对多个 CPU 的中断,在同一时间只能一次占用一个 CPU。所有中断源都由一个
唯一的中断 ID 号来标识。所有中断源都有自己的可配置优先级和目标 CPU 列表。
3.复位和时钟
复位子系统通过在 SLCR 中的 A9_CPU_RST_CTRL 寄存器中写入 PERI_RST 位,来实现复位
中断控制器的。相同的复位信号也会重置 CPU 私有计时器和私有看门狗计时器(AWDT)。
中断控制器使用 CPU_3x2x 时钟(CPU 频率的一半)运行。
4.框图
共享的外围中断是由各种系统的子系统生成的,这些子系统包括在 PL 中的 PS 和逻辑中
评论1