arm资料收集

1. 主要讲解了arm中的硬件结构流程,

ARM GIC(四) gicv3架构基础【转】 - sky-heaven - 博客园

2. 不通过中断线,而是通过往特定的地址发送消息产生终端

ARM GIC(六)gicv3架构-LPI | 骏的世界

3。 中断及cpu的不同器件分属于不同的 电源域,分开进行控制。

ARM GIC(七)gicv3架构-power控制 | 骏的世界4

4。基本的架构和EL级别
ARMv8架构简介 | 骏的世界

5。 中断线的映射,不同模式下

ARM GIC(十一) gicv3架构-two secure state | 骏的世界

6. 中断的分组

ARM GIC(九) gicv3的中断分组 | 骏的世界

7。 软中断 用于core之间的互相通信,明确是从CPU0发送到CPUx的。这个和内核的软中断不是一个概念。

ARM GIC(十) GICv3软中断 | 骏的世界

8. 介绍IRQ  FIQ的基本概念   问题: 两者分别针对什么设备

ARM GIC(一) cortex-A 处理器中断简介 | 骏的世界

9. arm dts 语法介绍

Device Tree: DTS/DTB/FDT

linux设备树笔记--dts基本概念及语法  一步步具了例子,相对比较容易理解

dts https://cloud.tencent.com/developer/article/1709004  中断的配置,讲的比较清晰。主要配置中断的拓扑结构 以及中断号和中断触发类型

PE  processing element

一个大的uniform register file文件。

load、store架构,数据处理仅操作寄存器里面的内容,不直接操作内存。

简单地址模式,load/store地址被从寄存器内容和指令字段仅仅。

架构定义了PE和内存(包括caches  内存翻译系统 ),也描述了多个PE之间彼此交互的方式。

实现大小,性能。

armv8一个重要的特征是向后兼容性。

  1. bit 执行态

    

两个执行态 SIMD 和浮点指令

  • A模式  application profile

支持基于 MMU的 VMSA  virtual memoory system architecture

支持A64 A32 T32指令集

  • R模式  实时模式

支持基于MPU memory protection unit的PMSA 保护的内存系统架构

支持A32 T32指令集

  • M模式

  实现低延迟中断处理,硬件栈寄存器

  • 基本概念

Execution state

   定义了PE 执行的环境。

针对aarch64和aarch32分别定义了不同的值, 包括:

寄存器的宽度;指令集。

   ---异常模型  (Exception levels  EL0-EL3)

   --- VMSA   (提供64位的虚拟地址)

   ---开发者模型  (定义进程状态 Process state PSTATE),

  在aarch64和aarch32的execution states进行转换控制的行为被称为interprocessing

armv8指令集

   

系统寄存器

系统寄存器提供了架构相关的控制和状态寄存器信息。

系统寄存器使用标准的名字格式: register_name.bit_field_name 来标识特定的寄存器以及寄存器中的某个控制、状态位。

位 也可以被他们在寄存器中的位置来描述。例如: register_name[x:y] .

除此之外,在64位态时,大多数寄存器的名字包括 可以访问这个寄存器最低的Exception level,作为寄存器名字的后缀。

 寄存器由以下几类寄存器构成:

 ----通用的系统控制寄存器

 ----debug 寄存器

----- 通用的Timer寄存器

---可选的,性能监控寄存器 performance Monitor 寄存器。

---可选的,Activity 监控寄存器,activity monitor registers.

----可选的,下列一组或者多组寄存器:

     --Trace System register

     --Scalable Vector Extension

  • arm debug

ARM GICv3中断控制器(转) - 二虎 - 博客园 (cnblogs.com)

GICv3-4宏观视图 - 程序员大本营 (pianshen.com)

 

arm GIC介绍之二 - 小黑电脑 (xiaoheidiannao.com)

 

是在实际中,我们不需要这么多的级别范围255,我们需要32个级别,或者64个级别就可以了,这就需要对级别LEVEL进行优化,可以忽略其低位的BIT,现在使用的X20上每个LEVEL的STEP是8,忽略低3位,这是ARM寄存器设计的写入忽略原则,以及读取为0原则。途中右下部分,我们做的简单实验,对优先级寄存器里面写入0b:11111111,但是都出来的是0b:11111000,也就是最低3位被忽略了。那么LEVEL_0是从0~7,LEVEL_1是从8~15,

所以:原先IRQ_34的优先级别值为0b:10100000,IRQ_33的优先级别值为0b:10100001,IRQ_34的值比IRQ_33小1,

但是实际能够配置到寄存器里面的值都是0b:10100000。优先级别是一样的

 第二十八期-ARM64体系的异常与中断(2) - 知乎 (zhihu.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

proware

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值