[A-28]ARMv8/v9-GIC中断信号的路由机制与策略

ver0.1

前言

我们已经讲了GIC的系统架构、GIC支持的中断类型、GIC的核心组件的系统架构,相信大家对GIC的硬件框架已经有了起码的了解。到这一站,我们要向GIC的深水区挺近。我们在介绍GIC核心组件的编程接口的时候提过一个观点,GIC各个组件编程的过程其实就是配置的过程,配置的核心目的就是为了解决:中断信号的路由问题、中断信号的优先级问题、中断信号的处理状态问题。本文我们先来聊聊第一个课题中断的路由这个课题。
本文涉及到的一些背景知识,关于ARM的Exception机制我们是做过专门讨论的,但是关于ARM的安全机制,我们还没有成文,只在部分文章中作为背景知识做过简要介绍。这里洗完大家能够谅解,毕竟我们是票友,不是专业写课件做培训的大神,精力实在是有限,不过后面我们会慢慢都会研究成文的,这里可以先看下前序文章顶一顶:
(1) [V-05] 虚拟化基础-异常模型(Exception)(AArch64)
(2) [A-09]ARMv8/ARMv9-Memory-内存地址空间(Translation Regimes) .
(3) [A-26]ARMv8/v9-GIC的中断类型
(4) [A-27]ARMv8/v9-GIC的核心组件(中断编程的基础组件)

正文

1.1 路由的概念

路由(routing)这个概念在计算机网络中比较常见,一般是指将数据从一个网络节点传输到另一个网络节点的过程。路由机制主要用于在不同的网络(如局域网、广域网)或者子网之间转发数据包,使得数据能够准确地到达目的地。就像现实生活中在一个复杂的交通网络中,车辆(数据包)需要通过一系列的道路(网络链路)和交叉路口(路由器等网络设备)才能到达目的地,路由就是规划这些车辆行驶路线的过程。
GIC也一样要面对这个问题,一方面要介绍大量来自外设和系统内部产生的中断信号,另外一方面也要思考如何最大效率而又不影响系统性能的情况下将这些中断信号进行妥善的处理。现代处理器CPU微架构,基于功耗、基于性能、基于工作场景的考虑已经变得越来越复杂,但是无论怎么呢变化都有一个共同的特点,那就是他们都是PE-Cores(如图1-1),每个PE-Core都可以完成独立的任务,最终实现并发的效果。
1-1

图1-1 DSU Cluster

中断的路由配置就是要为每一个中断信号找到合适的PE-Core进行相应中断的处理,这个过程就是配置一条PATH(Distributor->Redistributor->CPU-Interfaces),如图1-2所示。
1-1

图1-2 SPI中断路由示例

上图可以看出SPI信号(64)和(68)通过路由的规则被分配给了PE-Core(0)和PE-Core(1)进行处理。这个事儿还没完,因为PE-Core的执行是有状态限制

armv8armv9是英国ARM公司推出的两个处理器架构,用于移动设备、嵌入式设备和服务器等领域。在这两个架构中,异常中断GIC (Generic Interrupt Controller) 是非常重要的主题。 异常中断是指当系统发生某种事件时,处理器暂停当前任务,转而处理优先级较高的任务。异常中断包括两种类型:同步异常和中断异常。同步异常是由指令执行时产生的,如除零异常、非法指令异常等。中断异常是由外部事件触发的,如定时器中断、外设中断等。 在armv8armv9架构中,异常的处理是通过异常向量表实现的。异常向量表是一个固定大小的表格,其中包含不同类型异常的处理函数的地址。当发生异常时,处理器会根据异常类型在异常向量表中查找相应的处理函数,并跳转到该函数执行异常处理。 GIC是一个用于处理中断的控制器,它负责管理和分发中断信号给相应的处理器核心。在多核处理器中,GIC可以实现中断的负载均衡和处理器间的中断共享。GIC具有多个中断输入通道,每个通道对应一个中断引脚。当外部设备发生中断时,通过相应的中断引脚将中断信号发送给GIC,然后GIC中断信号分发给对应的处理器核心。 armv8armv9架构中的GIC支持多种中断处理模式,包括中断屏蔽、中断优先级配置和中断传递方式等。GIC还可以实现中断的共享和抢占,以提高中断的处理效率和可靠性。 总而言之,armv8armv9架构中的异常中断GIC是处理器架构中非常重要的专题。通过学习异常中断的处理和GIC的功能,可以更好地理解和掌握armv8armv9架构中断处理机制,提高系统的可靠性和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值