GIC700概述

news2025/6/8 16:16:16

GIC-700是用于处理外设与处理器核之间,以及核与核之间中断的通用中断控制器。GIC-700支持分布式微体系结构,其中包含用于提供灵活GIC实现的几个独立块。

GIC700支持GICv3、GICv3.1、GICv4.1架构。

该微体系结构规模可从单核到互联多chip环境,最高支持16个chip,每个chip最多包含512个核。

所有的GIC -700模块都通过完全信任的AXI5-Stream接口通道进行通信。这意味着接口仅对其ic ready信号施加瞬态反压,使数据包能够在任何自由流动的互连上路由。通道可以通过专用的AXI5-Stream总线路由,也可以通过系统中任何可用的自由传输层路由。如果该通道上的所有事务完成而不依赖于任何其他事务,则该通道描述为自由流动。

1. 组件概述

GIC700包含几个重要的块,它们组合在一起工作,在系统中创建一个体系结构兼容GICv3、GICv3.1、GICv4的实现。

GIC700有如下的块:

  • Distributor(GICD):gicd是GIC交互以及实现SPIs和LPIs功能的中心组件。它对除了GITS- TRANSLATER寄存器的整个GIC编程模型负责。在支持GICv4.1架构的实现中,gicd还会管理vSGIs和vPEs。gicd还维护multichip下有关SPI一致性的寄存器空间。chip上所有核的LPI功能都被组合到gicd内的单个cache中。
  • GIC Cluster Interface(GCI):gci维护一组指定核的的PPIs和SGIs。一个gci组件可以支持1-64个核的规模。最好将其放置在处理器核旁边以减少它与核之间的连线。gci也被称为Redistributor。GICv3和GICv4.1架构指出一个redistributor的地址空间,在GICv3中被分为两部分,而在GICv4.1中被分为四部分。用于SGI功能的部分被放置在redistributor中,剩余的三个部分则放置在distributor中。GIC700支持从distributor分别下电gci以及和它关联的核。
  • Interrupt Translation Service(ITS):ITS翻译基于消息的中断和消息信号中断(MSI/MSIx),它们源于外部PCI Express (PCIe)根复核(RC),或其他来源。ITS还在核心电源管理期间管理lpi。GIC700最多支持32个ITS模块。
  • MSI-64 Encapsulator:MSI-64封装器是一个小组件,它将写入GITS_TRANSLATER寄存器所需的DeviceID (DID)组合到单个内存访问中。
  • SPI Collator:GIC700支持最多1984个SPIs。SPI collator将SPIs转换为消息转发给gicd。这让gicd可以使用分层的时钟门控并且可以使用更激进的低功耗状态。GIC700最多可以包含32个SPI collator。1984个SPIs分配给32个SPI collator,每个SPI collator最多支持1024个SPIs。
  • Wake Request:Wake Request组件包含了架构定义的每一个核的wake request信号。它是一个分离的组件,可以放置在远离gicd的位置,例如放置在SCP旁。
  • GIC interconnect:该组件是一组组件的集合,用于在不同组件之间使用AXI5-Stream接口进行路由。
  • Top level:顶层没有特定的接口,而是将时钟域或电源域内其他模块的接口组合在一起,以减少域桥接的数量。

在这里插入图片描述

2. 功能

GIC700提供中断服务和屏蔽,寄存器和编程接口,中断分组,安全,性能监控和错误修正

  • 中断服务和中断屏蔽:
    • 支持以下中断类型
      • 最多56000个物理的LPIs。在GIC700中,一个外设通过写一个内存映射的寄存器来产生LPIs。
      • 当支持GICv4.1架构时,每一个vPE最多可以支持56000个直接注入的vLPIs。
      • 最多支持1984个SPIs。
      • 每一个核最多支持48个PPIs,并且可以通过编程控制为边沿触发还是电平触发。
      • 最多支持16个SGIs。
      • 当支持GICv4.1架构时,每一个vPE最多可以支持16个直接注入的vSGIs
    • 最多支持32个ITS。用于为基于消息的中断提供设备隔离以及ID转换。并且支持VM虚拟机直接访问设备。
    • 中断屏蔽和32个级别的中断优先级,每一个中断优先级有5bit
  • 寄存器和编程接口:
    • 使用MPIDR寄存器中的地址,实现灵活的亲和路由,支持四级亲和路由
    • 每个芯片上的单个ACE5-Lite从属接口,用于在非单片配置中编程所有寄存器,但不包括GITS_TRANSLATER寄存器。每个ITS都有一个可选的ACE5-Lite从属接口,用于编程GITS_TRANSLATER寄存器。
    • 在multichip下SPI寄存器数据的一致性视角
  • 安全:
    • 全局禁用安全的信号。gicd_ctlr_ds信号用于禁用系统的安全状态
    • 中断分组(group0、group1ns、group1s)让中断路由到目标异常等级
  • 性能监控
    • GIC700提供PMU(performance monitoring unit)计数器,并且包含快照功能
  • 错误修正和控制
    • ARMv8.2 RAS(reliability accessibility serviceability)兼容架构错误上报:
      • 软件访问错误
      • ITS命令和转换错误
      • 错误纠正码ECC(error correcting code)错误
    • 错误中断控制,允许软件修复错误
    • 软件机制可以触发和测试错误修复功能

3. GIC700与GIC600对比

功能GIC700GIC600备注
GIC架构版本v3.1, v4.1v3
SPI collator数量
321对于GIC700,一个SPI collator最多可以支持1024个SPIs
SPI数量1984960960是指在不支持GICv3.1扩展的情况下最大SPIs数量
单个核支持的PPI数量16,32,488,12,1616是指在不支持GICv3.1扩展的情况下最大PPIs数量
支持直接注入vLPIs和vSGIs
支持地址空间分区和监控(MPAM memory partitioning and monitoring)
支持地址空间标签扩展(MTE memory tagging extension)
支持领域管理扩展(RME realm management extensions)
软件可以改变GIC安全属性对于GIC600,软件可以修改GICD_CTLR.DS比特位
ACE-Lite版本ACE5-LiteACE-Lite
每一个ITS可编程寄存器空间大小当支持直接注入时4x64KB,否则为2x64KB2x64KB
ITS最大数量3216
chips之间传输LPIs、SGIs、vSGIs的credits数量1-81“Number of credits” 是一个信用系统,它定义了在两个芯片之间发送中断可以有多少未完成的传输。
支持额外的AXI4-Stream接口用于GITS_TRANSLATER寄存器的写事务支持不支持
支持使用比配置更少的gicr支持不支持
GCI处理器接口AXI数据总线宽度16,3216
GCI支持每一个核单独的wake request信号支持不支持
支持的最大multichip数量6315
支持local cross-chip地址支持不支持
支持RAM I/O边带信号支持不支持
支持过滤安全PMU事件支持不支持
支持SPI RAM保留支持不支持
支持不可屏蔽中断NMIs(non- maskable interrupt)支持不支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2404303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

统信桌面专业版如何使用python开发平台jupyter

哈喽呀,小伙伴们 最近有学员想了解在统信UOS桌面专业版系统上开发python程序,Anaconda作为python开发平台,anaconda提供图形开发平台,提供大量的开发插件和管理各种插件的平台,但是存在版权问题,有没有其他工具可以替代Anaconda呢…

什么是预训练?深入解读大模型AI的“高考集训”

1. 预训练的通俗理解:AI的“高考集训” 我们可以将预训练(Pre-training) 形象地理解为大模型AI的“高考集训”。就像学霸在高考前需要刷五年高考三年模拟一样,大模型在正式诞生前,也要经历一场声势浩大的“题海战术”…

鸿蒙仓颉语言开发实战教程:购物车页面

大家上午好,仓颉语言商城应用的开发进程已经过半,不知道大家通过这一系列的教程对仓颉开发是否有了进一步的了解。今天要分享的购物车页面: 看到这个页面,我们首先要对它简单的分析一下。这个页面一共分为三部分,分别是…

OPENCV的AT函数

一.AT函数介绍 在 OpenCV 中,at() 是一个模板成员函数,用于访问和修改矩阵或图像中特定位置的元素。它提供了一种直接且类型安全的方式来操作单个像素值,但需要注意其性能和类型匹配问题 AT函数是OPENCV中重要的函数…

ISO 17387——解读自动驾驶相关标准法规(LCDAS)

Intelligent transport systems — Lane change decision aid systems (LCDAS) — Performance requirements and test procedures(First edition: 2008-05-01) 原文链接:https://cdn.standards.iteh.ai/samples/43654/701fd49bde7b4d3db165444b7c6f0c53/ISO-17387…

智慧零售管理中的客流统计与属性分析

智慧零售管理中的视觉分析技术应用 一、背景与需求 随着智慧零售的快速发展,传统零售门店面临管理效率低、安全风险高、客户体验差等问题。通过视觉分析技术,智慧零售管理系统可实现对门店内人员行为的实时监控与数据分析,从而提升运营效率…

Ps:Adobe PDF 预设

Ps菜单:编辑/Adobe PDF 预设 Edit/Adobe PDF Presets 通过“Adobe PDF 预设” Adobe PDF Presets对话框,可以查看 Adobe PDF 预设,了解复杂的 PDF 设置。还可以编辑、新建、删除、载入预设,根据最终用途(如高质量打印、…

靶场(二十)---靶场体会小白心得 ---jacko

老样子开局先看端口,先看http端口 PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS httpd 10.0 |_http-title: H2 Database Engine (redirect) | http-methods: |_ Potentially risky methods: TRACE |_http-server-header:…

​​高频通信与航天电子的材料革命:猎板PCB高端压合基材技术解析​​

—聚酰亚胺/陶瓷基板在5G与航天场景的产业化应用​​ ​​一、极端环境材料体系:突破温域与频率极限​​ ​​聚酰亚胺基板(PI)的航天级稳定性​​ 猎板在卫星通信PCB中采用真空层压工艺处理聚酰亚胺基材(Dk≈10.2)&a…

WPF技术体系与现代化样式

目录 ​​1 WPF技术架构解析​​ ​​1.1 技术演进与定位​​ ​​1.2 核心机制对比​​ ​​2 样式与资源系统​​ ​​2.1 资源(Resource)定义与作用域​​ ​​2.2 样式(Style)与触发器​​ ​​3 开发环境配置(.NET 8)​​ ​​3.1 安装流程​​ ​​3.2 项目结…

【工具教程】PDF电子发票提取明细导出Excel表格,OFD电子发票行程单提取保存表格,具体操作流程

在企业财务管理领域,电子发票提取明细导出表格是不可或缺的工具。 月末财务结算时,财务人员需处理成百上千张电子发票,将发票明细导出为表格后,通过表格强大的数据处理功能,可自动分类汇总不同项目的支出金额&#xff…

基于STM32的DHT11温湿度远程监测LCD1602显示Proteus仿真+程序+设计报告+讲解视频

DHT11温湿度远程监测proteus仿真 1. 主要功能2.仿真3. 程序4. 设计报告5. 资料清单&下载链接 基于STM32的DHT11温湿度远程监测LCD1602显示Proteus仿真设计(仿真程序设计报告讲解视频) 仿真图proteus 8.9 程序编译器:keil 5 编程语言:C…

分类预测 | Matlab实现CNN-BiLSTM-Attention高光谱数据分类预测

分类预测 | Matlab实现CNN-BiLSTM-Attention高光谱数据分类预测 目录 分类预测 | Matlab实现CNN-BiLSTM-Attention高光谱数据分类预测分类效果功能概述程序设计参考资料 分类效果 功能概述 该MATLAB代码实现了一个结合CNN、BiLSTM和注意力机制的高光谱数据分类预测模型&#x…

微软推出SQL Server 2025技术预览版,深化人工智能应用集成

在Build 2025 大会上,微软向开发者社区开放了SQL Server 2025的测试版本。该版本的技术改进主要涵盖人工智能功能集成、系统性能优化与开发工具链升级三个维度,展示了数据库管理系统在智能化演进方向上的重要进展。 智能数据处理功能更新 新版本的技术亮…

RocketMQ入门5.3.2版本(基于java、SpringBoot操作)

一、RocketMQ概述 RocketMQ是一款由阿里巴巴于2012年开源的分布式消息中间件,旨在提供高吞吐量、高可靠性的消息传递服务。主要特点有: 灵活的可扩展性 海量消息堆积能力 支持顺序消息 支持多种消息过滤方式 支持事务消息 支持回溯消费 支持延时消…

使用osqp求解简单二次规划问题

文章目录 一、问题描述二、数学推导1. 目标函数处理2. 约束条件处理 三、代码编写 一、问题描述 已知: m i n ( x 1 − 1 ) 2 ( x 2 − 2 ) 2 s . t . 0 ⩽ x 1 ⩽ 1.5 , 1 ⩽ x 2 ⩽ 2.5 min(x_1-1)^2(x_2-2)^2 \qquad s.t. \ \ 0 \leqslant x_1 \leqslant 1.5,…

【C语言】通用统计数据结构及其更新函数(最值、变化量、总和、平均数、方差等)

【C语言】通用统计数据结构及其更新函数(最值、变化量、总和、平均数、方差等) 更新以gitee为准: gitee 文章目录 通用统计数据结构更新函数附录:压缩字符串、大小端格式转换压缩字符串浮点数压缩Packed-ASCII字符串 大小端转换什…

Spring AI(10)——STUDIO传输的MCP服务端

Spring AI MCP(模型上下文协议)服务器Starters提供了在 Spring Boot 应用程序中设置 MCP 服务器的自动配置。它支持将 MCP 服务器功能与 Spring Boot 的自动配置系统无缝集成。 本文主要演示支持STDIO传输的MCP服务器 仅支持STDIO传输的MCP服务器 导入j…

Sklearn 机器学习 缺失值处理 填充数据列的缺失值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 💡使用 Scikit-learn 处理数据缺失值的完整指南 在机器学习项目中,数据缺失是不可避…

猜字符位置游戏-position gasses

import java.util.*;public class Main {/*字符猜位置游戏;每次提交只能被告知答对几个位置;根据提示答对的位置数推测出每个字符对应的正确位置;*/public static void main(String[] args) {char startChar A;int gameLength 8;List<String> ballList new ArrayList&…