当前位置: 首页 > news >正文

【ARMv8/v9 GIC 系列 4.2 -- GIC CPU Interface 详细介绍】

文章目录

    • GIC CPU Interface 介绍
      • CPU Interface 主要寄存器

GIC CPU Interface 介绍

A 系列处理器提供 5个管脚来实现中断,分别是:

  • nIRQ:物理普通中断
  • nFIQ:物理快速中断
  • nVIRQ:虚拟普通中断
  • nVFIQ:虚拟快速中断
  • vNMI 不可屏蔽中断

如下图所示:
在这里插入图片描述

图 1-1

其中虚拟中断是为了实现虚拟化而准备的,我们只看物理中断。

Core 提供给中断的物理管脚只有两个,中断会有成百上千个,GIC怎么把这些中断发送给core是一个问题。这时就需要 CPU interface了。CPU interface 将GIC发送的中断信息 通过IRQ/FIQ管脚发送给连接到 Core。

CPU interface 提供了以下的功能:

  • 将中断请求发送给core
  • 中断进行认可
  • 中断完成识别
  • 设置中断优先级屏蔽
  • 定义中断抢占策略
  • 决定当前处于pending状态最高优先级中断

在GICv3架构中,CPU interface被抽离出来,实现在core内部的, 如下图所示

在这里插入图片描述

图 1-2

GIC-600/GIC-700不包含CPU interface。这样做的好处是,可以减少中断响应的时间,并且减少系统总线的占用。对于众核SoC设计来说,其物理设计非常大,CPU interface 实现在core内部,也就意味着某些中断寄存器可以放在其内部,这样core就可以很快的访问到这些寄存器了。对于那些常用的寄存器,core不用跋山涉水的通过系统总线或片上网络去频繁访问GIC了。CPU interface与GIC之间,是通过专用的 AXI-stream 总线来传输信息的。
在这里插入图片描述

图 1-3

CPU Interface 主要寄存器

GIC-700 CPU接口包含多个控制和状态寄存器,用于配置和管理中断。以下是一些主要寄存器的简介:

  1. ICC_SRE_EL1/EL2/EL3(System Register Enable):用于控制系统寄存器接口与内存映射接口之间的选择。当启用系统寄存器接口时,可以通过系统寄存器访问GIC功能,而不是通过传统的内存映射方式。
  2. ICC_CTLR_EL1/EL3(CPU Interface Control Register):提供了控制CPU接口行为的配置选项,包含了如EOImode的设置,这影响了中断结束的信号方式。
  3. ICC_PMR_EL1(Priority Mask Register):定义了一个优先级阈值,只有高于此阈值的中断才能被送达给CPU。这允许操作系统或应用通过提高或降低该阈值来动态控制中断的处理。
  4. ICC_IAR0_EL1/ICC_IAR1_EL1(Interrupt Acknowledge Register):用于接收和确认当前待处理的最高优先级中断的ID,分别用于Group 0和Group 1的中断。
  5. ICC_EOIR0_EL1/ICC_EOIR1_EL1(End of Interrupt Register):用于表明一个中断已经被处理完成,分别用于结束Group 0和Group 1的中断。
  6. ICC_BPR0_EL1/ICC_BPR1_EL1(Binary Point Register):用于设置分组优先级的二进制点位置,决定了优先级字段的分组和子优先级的界限。
  7. ICC_IGRPEN0_EL1/ICC_IGRPEN1_EL1(Interrupt Group Enable Register):用于启用或禁用Group 0和Group 1中断的递送。

推荐阅读
https://www.sohu.com/a/771753252_121124377

相关文章:

【ARMv8/v9 GIC 系列 4.2 -- GIC CPU Interface 详细介绍】

文章目录 GIC CPU Interface 介绍CPU Interface 主要寄存器 GIC CPU Interface 介绍 A 系列处理器提供 5个管脚来实现中断,分别是: nIRQ:物理普通中断nFIQ:物理快速中断nVIRQ:虚拟普通中断nVFIQ:虚拟快速…...

小抄 20240619

1 一个人内心充满恐惧的时候,就会开始信仰一个至高的东西来追求道德上的确定感。 然后会向外看,去指责那些自己不敢做但别人做到的,在他看来不道德的事。 2 之前说租房有不可能三角:房租低,离公司近,住着…...

【06】数据模型和工作量证明-工作量证明

1. 工作量证明的背景 比特币是通过工作量证明来竞争记账权,并获得比特币奖励。简单来讲就是谁能够根据区块数据更快的计算得到满足条件的哈希值,谁就可以胜出,这个块才会被添加到区块链中。我们把这个过程称为挖矿。比特币每10分钟产生1个区块。 2. 工作量证明算法 1. 获…...

VBA递归过程快速组合数据

实例需求:数据表包含的列数不固定,有的列(数量和位置不固定)包含组合数据,例如C2单元格为D,P,说明Unit Config有两种分别为D和P,如下图所示。 现在需要将所有的组合罗列出来,如下所示…...

基于豆瓣电影TOP250的可视化设计

本文要完成的目的,实现豆瓣电影TOP250的可视化 思路 讲解思路,采用倒推的方式, 首先确定可视化图表,也就是最终的效果。这样就能确定需要那些基础数据根据需要的数据进行按需爬取存储。 本篇文章完成前两步。可视化图表设计 和 …...

YOLOv8中的C2f模块

文章目录 一、结构概述二、模块功能 一、结构概述 C2f块:首先由一个卷积块(Conv)组成,该卷积块接收输入特征图并生成中间特征图特征图拆分:生成的中间特征图被拆分成两部分,一部分直接传递到最终的Concat块,另一部分传递到多个Botleneck块进…...

ESP32 双线汽车接口 (TWAI)

一:TWAI概述 双线汽车接口 (TWAI) 是一种适用于汽车和工业应用的实时串行通信协议。它兼容 ISO11898-1 经典帧(CAN2.0),因此可以支持标准帧格式(11 位 ID)和扩展帧格式(29 位 ID&#x…...

docker-compose离线安装harbor

1、下载harbor goharbor下载:Releases goharbor/harbor GitHub harbor-offline-installer-v2.11.0.tgz 2、解压 tar -xvf harbor-offline-installer-v2.11.0.tgz 3、创建一个卷目录,并复制一份配置文件 cd harbor; mkdir data;cp harbor.yml.tmp…...

服务器“雪崩”的常见原因和解决方法 (C++)

在C服务器编程中,"雪崩"现象指的是服务器在高并发请求的情况下,由于资源(如线程、文件描述符、内存等)耗尽或锁争用等问题,导致服务器性能急剧下降,甚至完全失去响应的情况。这种现象会连带影响其…...

详解ES6中的类、对象和类的继承

在ES6(ECMAScript 2015)之前,JavaScript 并没有像其他面向对象的编程语言那样的类(class)的概念。相反,它使用了一种基于原型的继承模型来实现面向对象编程。然而,这种模型对于许多开发者来说可…...

游戏遇到攻击有什么办法能解决?

随着网络技术的飞速发展,游戏行业在迎来繁荣的同时,也面临着日益严峻的网络威胁。黑客攻击、数据泄露、DDoS攻击等安全事件频发,给游戏服务器带来了极大的挑战。面对愈演愈烈的网络威胁,寻找一个能解决游戏行业攻击问题的安全解决…...

【LLM】GLM系列模型要点

note 文章目录 noteGLM一、数据层面1. 预训练数据 二、GLM4模型层面三、GLM-4 All Tools四、GLM的其他技术Reference GLM Paper:https://arxiv.org/abs/2406.12793 GitHub:https://github.com/THUDM HF:https://huggingface.co/THUDM 经过…...

安卓开发,获取本机手机号

用免费云服务器,三丰云记录安卓开发过程 以下是使用 Android 开发获取本机手机号的示例代码(需要相关权限): java 复制 import android.content.Context; import android.content.pm.PackageManager; import android.os.Build; i…...

linux学习week1

linux学习 一.介绍 1.概述 linux的读法不下10种 linux是一个开源的操作系统,操作系统包括mac、windows、安卓等 linux的开发版:Ubuntu(乌班图)、RedHat(红帽)、CentOS linux的应用:linux在服…...

【React篇】父组件渲染时避免重复渲染子组件的3种处理方法

在 React 中,父组件渲染时要避免重复渲染子组件,可以使用以下方法: 使用 React.memo(仅适用于函数式组件)或 PureComponent(适用于类组件): 这些方法可以帮助你创建在接收到新的 pr…...

深度神经网络——决策树的实现与剪枝

概述 决策树 是一种有用的机器学习算法,用于回归和分类任务。 “决策树”这个名字来源于这样一个事实:算法不断地将数据集划分为越来越小的部分,直到数据被划分为单个实例,然后对实例进行分类。如果您要可视化算法的结果&#xf…...

IOPaint前后端框架

IOPaint 前后端框架 IOPaint 是一个图像修复工具,使用了先进的AI模型进行图像编辑。以下是其前后端所使用的框架: 前端框架 IOPaint 的前端使用了 Node.js 和 npm 进行依赖管理和构建。具体步骤如下: 克隆仓库并进入 web_app 目录&#x…...

【Linux】进程间通信_2

文章目录 七、进程间通信1. 进程间通信分类管道 未完待续 七、进程间通信 1. 进程间通信分类 管道 管道的四种情况: ①管道内部没有数据,并且具有写端的进程没有关闭写端,读端就要阻塞等待,知道管道pipe内部有数据。 ②管道内部…...

Linux基础 - 常用命令

目录 零. 简介 一 . 常见 Ubuntu 命令 二. apt-get 下载 三. 网络命令 四. 常用命令的总结 零. 简介 在 Ubuntu 中,命令是用于与操作系统进行交互和执行各种操作的指令。通过在终端中输入命令,可以完成文件管理、系统配置、软件安装、进程管理等各种…...

轻松两步,借助向量数据库 VectorDB 与千帆 Appbuilder 构建个性化本地问答知识库

在我们日常的工作和生活中,经常会遇到需要快速获取和管理大量信息的情况。无论是解答客户的问题,还是整理公司内部的资料,一个高效的知识库系统都能帮我们省下大量时间和精力。 为了帮助大家快速构建 RAG 应用,我们之前发布了一个…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...