GIC400简介
GIC400是arm公司的中断控制IP,提供axi4接口,主要功能:
1)中断的使能(enable,mask); 中断的优先级(poriority); 中断的触发条件(level-sensitive, edge-triggered);
2)单独分为两个Group,来支持secure, non_secure的中断; Group0通常只能secure axi访问, 接口连接至CPU的FIQ中断; Group1通常只能
none_secure访问, 接口连接至CPU的IRQ中断。
3)对multi-core和virtualized interrupt的支持。GIC400最多支持8核。
GIC400实现的中断类型有:
1) 16个software Generated Interrupts (SGIs);
SGI并没有外部的中断输入信号,每个target cpu都可以通过配置寄存器GICD_SGIR来直接产生中断,最多16个,ID0--ID15。
2) 6 external Private Periphaeral Interrupts (PPIs); 1 internal PPI
每个target cpu都有这么一组PPI; 信号具体分为:Legacy IRQ signal/Legacy FIQ signal/Non-secure physical timer/Secure physical timer
Virtual timer/Hypervisor timer/Virtual mainenance interrupt
所有的PPI interrupt只能是active-low触发。 通过外部引脚采样中断,nLEGACYIRQ[NUM_CPUS-1:0]、nLEAGCYFIQ[NUM_CPUS-1:0]、
nCNTPNSIRQ[NUM_CPUS-1:0]、nCNTPSIRQ[NUM_CPUS-1:0];
nCNTVIRQ[NUM_CPUS-1:0]、nCNTHPIRQ[NUM_CPUS-1:0]。
3) Configurable number of Shared Peripheral Interrupt (SPIs);
由所有的CPU共享,最多支持480个中断源,以32为步进。
每一个中断可以通过寄存器配置Group/Priority/target-cpu;通过配置寄存器GICD_IGROUPR/GICD_IPRIORITYR/GICD_ITARGETSR等。
每个寄存器32位,共16个。通过外部pin IRQS[NUM_SPIS-1:0]来输入。
GIC在Secure state支持32个level的Priority,在non_secure state最多支持16个level的Priority。当两个中断有相同的Priority时,按ID来选择,
越小的ID拥有越高的优先级(SGI,PPI,SPI的顺序)。在multi_core中,如果ID也相同,则按CPUID来排序,ID越小,优先级越高。
GIC400默认如果最高优先级的interrupt在一个disable的group中,那么GIC不会再将任何的中断发送给CPU,所以ARM建议,
将Group0的优先级设置比Group1要高,这样不会因为non_secure的中断挂起而影响secure的中断。
GIC400到CPU的中断signals有:
1) Physical interrupts; nFIQCPU[NUM_CPUS-1:0]; nIRQCPU[NUM_CPUS-1:0];
2) Virtual interrupts; nVFIQCPU[NUM_CPUS-1:0]; nVIRQCPU[NUM_CPUS-1:0];
两个唤醒信号:nFIQOUT[NUM_CPUS-1:0]; nIRQOUT[NUM_CPUS-1:0]。
GIC400包含一个AXI4 slave接口,支持32bit的位宽, 来配置寄存器,寄存器主要分为4大类:
1)Distributor registers; 主要设置寄存器的enable,mask,Priority,core,等 前缀:GICD_
其中一些寄存器GICD_CTRL, GICD_IGROUPR只能在secure下来访问。
2)CPU interface register; 主要设置寄存器的Priority mask, 从中断信号输入到相应CPU的propagated, 返回响应。
3)还有两个virtual interrupt的register:不了解先不介绍。
GIC400简介的更多相关文章
- ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Cassandra简介
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...
- REST简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- Microservice架构模式简介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...
- const,static,extern 简介
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...
- HTTPS简介
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- Cesium简介以及离线部署运行
Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...
随机推荐
- 使用DnsCat反弹shell
DnsCat技术特点 Dns隧道反弹shell DnsCat服务器的安装 #git clone https://github.com/iagox86/dnscat2.git #cd dnscat2 # ...
- Unity3D 面试三 ABCDE
说说AB两次面试: “金三银四” 三月份末又面试过两家:共和新路2989弄1号1001这家找了我半天,哇好漂亮的办公大楼!问了保安才知道,这个地址是小区地址.另一家也是创业公司面试我的自称是在腾讯做过 ...
- 使用SQL手动创建数据库并创建一个具有该数据库所有权限的用户
$ mysql -u adminusername -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. ...
- c++中inline函数的意义
inline C++关键字,在函数声明或定义中函数返回类型前加上关键字inline,即可以把函数指定为内联函数.关键字inline必须与函数定义放在一起才能使函数成为内联,仅仅将inline放在函数声 ...
- 三维重建项目:Photo Tourism: Exploring Photo Collections in 3D
项目地址:http://phototour.cs.washington.edu/ Photo Tourism是华盛顿大学的SFM重建的过程 Paper:Photo Tourism: Exploring ...
- numpy的文件存储 .npy .npz 文件
1)Numpy能够读写磁盘上的文本数据或二进制数据.将数组以二进制格式保存到磁盘np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 ...
- 维基百科 请求流 webrequest_flow
Logstash - Wikitech https://wikitech.wikimedia.org/wiki/Logstash
- Zhu and 772002---hdu5833(高斯消元解求异或方程组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5833 题意:给n个数,选择一些数字乘积为平方数的选择方案数. 分析:每一个数字分解质因数.比如4, 6 ...
- mybatis之入门
一.mybatis介绍 是apache旗下的一个开源的顶级ORM框架(做dao层的操作) 开始叫ibatis在2010年经过升级后发布到google code上就改名为mybatis 定位:1.是一个 ...
- div+css网页标准布局实例教程(一)
今天学习<十天学会web标准(div+css)>的最后一个章节,本章节把前面学习的零碎内容串联起来,组织成一个网站,将根据本人这些年来的从业经验,从建立站点到一个完整的div+css网页的 ...