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

智能logo设计网站wordpress版本

智能logo设计网站,wordpress版本,南昌英文网站建设,wordpress简单么GIC起源 上一节中#xff0c;粗略讲了hylicos上用的armv7上的一个通用中断控制器#xff0c;其只支持60个中断源。但现代SoC上#xff0c;中断系统正变得越来越复杂#xff0c;旧的中断控制器已经无法胜任这些系统#xff0c;主要体现在以下几点上#xff1a; 中断源越…GIC起源 上一节中粗略讲了hylicos上用的armv7上的一个通用中断控制器其只支持60个中断源。但现代SoC上中断系统正变得越来越复杂旧的中断控制器已经无法胜任这些系统主要体现在以下几点上 中断源越来越多有的系统中断源有几百个甚至上千个。中断类型越来越多比如普通外设中断软件触发中断CPU Core之间的中断还有类似于PCIe上的基于消息传递的中断等虚拟化技术的引入主要开始支持虚拟中断 针对这些需求arm开发了GIC专门管理中断。这里以GIC-V2作例子讲解GIC-V2已经支持虚拟化典型的IP核心为GIC-400。 中断状态触发方式硬件中断号 每一个中断支持的状态有 不活跃状态(inactive) 中断处于无效状态等待状态(pending)中断处于有效状态但是等待CPU响应该中断活跃状态(active)CPU已经响应该中断活跃并等待(active and pending)CPU正在处理该中断但是该中断源又发了中断过来。 针对外设中断有两种触发方式 边沿触发电平触发 GIC会为每一个硬件外设也就是每一个硬件中断源都分配一个中断号即硬件中断号。 中断类型中断号范围SGI0 ~ 15PPI16 ~ 31SPI32 ~ 1019 GIC-V2 以ARM Vexpress V2P-CA15_CA7为例子GIC和core cluster之间的关系 GIC-400同时支持两个cpu cluster GIC-400支持多种中断类型 SGI - 软件触发中断通常用于多核之间的通信。 GIC-V2最多支持16个SGI中断中断号范围为0~15。SGI通常在linux内核中被用作处理器之间的中断(Inter-Processor Interrupt IPI)被送达指定CPU上。PPI - 私有外设中断每个处理器内核私有的中断。 最多吃吃16个PPI16 ~ 31。PPI会被送达到指定的CPU上处理典型的CPU的local timer interrupt就是PPI的。SPI - 共享外设中断所有处理器共享的中断。可以支持988个外设中断。32 ~ 1019. GIC 组成 主要由分发器(distributor)和CPU接口组成。 分发器主要用于仲裁和分发中断请求给CPU 全局中断使能每个中断的使能中断的优先级中断的分组中断的目的core中断触发方式对于SGI中断传输中断到指定的core每个中断的状态管理 提供软件可以修改中断的pending状态 CPU接口负责与CPU内核连接通过nIRQ和nFIQ与CPU Core交流 将中断请求发送给cpu对中断进行认可acknowledging an interrupt中断完成识别(indicating completion of an interrupt)设置中断优先级屏蔽定义中断抢占策略决定当前处于pending状态最高优先级中断 中断流程 GIC 检测当前的中断流程如下 当GIC检测到一个中断发生时会将该中断标记为pending对于每一个pending状态的中断分发器负责为其确定目标CPU将请求发送到该CPU对于每个CPU分发器会从众多pending状态的中断中选择一个优先级最高的中断请求发送到与目标CPU对接的CPU接口。CPU接口会决定这个中断是否可以发送给目标CPU。如果优先级满足GIC会发送一个中断请求给目标CPU。GIC进入中断异常读取GICC_IAR来响应这个中断(由软件的异常处理程序负责这个过程也被叫做中断认可)。GICC_IAR里保存的是硬件中断号。对于SGI来说返回源CPI的ID。GIC在感知到软件读取该寄存器后会做如下处理 a. 如果中断处于pending则pending -- active b. 如果中断重新产生则pending -- active and pending c. 如果中断处于active则active -- active and pending处理器执行完中断的处理发送一个EOI信号给GIC。 GIC-V2寄存器 寄存器也分为两部分 分发器的寄存器包括中断的设置和配置CPU接口的寄存器CPU相关的特殊设置 GIC-V2的寄存器名称以n结尾的有n个。比如GICD_ISENABLERn寄存器有n个。这些寄存器每个寄存器上的每一个bit都用于描述一个中断源是否使能因为中断源非常多因此需要很多个这样的寄存器。GIC-V2支持1020个中断号所以需要1020/32即32个这样的寄存器每个寄存器占用4字节偏移所以其地址空间是0x100 ~ 0x100 0x4*31(0x7c)。 对于中断号m来说要判断其是否使能 n m / 32; off_bit m mod 32;这里n就是它所在寄存器GICD_ISENABLERn名称上的n。以此可以算出GICD_ISENABLERn所在的地址偏移为 0x100 n * 0x4不是每个寄存器都是用1bit来描述一个中断源1bit描述的信息太少有的寄存器需要以多bit来描述一个中断源的信息 GICD_ITARGETSRn用于描述一个中断源所能路由的目标CPU。 类似的n的计算公式 n m / 4;寄存器偏移计算公式 0x800 n * 4distributor部分 CPU Interface部分 中断路由 由于SGI和PPI都是cpu core私有的中断路由只为SPI的中断号工作。分发器来负责中断路由将SPI中断路由到不同的CPU Core上。如何配置路由 GICD_ITARGETSRn就是做路由这件事的通过配置GICD_ITARGETSRn可以指定中断号m配分发到指定的CPU Core上。GICD_ITARGETSRn是个32位的寄存器每8位用于描述可为一个中断源处理的CP有哪些U最多支持描述8个CPU ID每一bit都描述一个CPU ID。某一bit被置位说明对应的中断源可以被分发到以该索引值为CPU ID的cpu core上。 注由于SGI和PPI的目标CPU Core是固定的所以前32个中断源的路由配置是硬件配置死的。33 ~ 1019号中断是可以自由配置的。 GIC-400的配置 GIC-400的初始化流程 设置分发器和CPU接口寄存器组的基地址读取GICD_TYPER计算当前支持最多多少个中断源初始化分发器 a. 关闭分发器 b. 设置SPI比如串口中断的路由 c. 设置SPI的触发类型例如边沿触发 d. 关闭所有中断源 e. 重新打开分发器初始化CPU接口 a. 设置GIC_CPU_PRIMASK寄存器配置优先级 b. 配置GICC_CTLR寄存器打开CPU接口 响应中断的流程 中断发生CPU跳转到异常向量表跳转到GIC中断函数例如gic_handle_irq()函数读取GICC_IAR获取中断号根绝中断号进行相应中断处理例如读取的中断号是30 在树莓派4B上就是PNS定时器触发了中断跳转到定时器中断处理函数处理中断。中断返回。
http://www.zqtcl.cn/news/602676/

相关文章:

  • 国内产品网站建设游戏创造器
  • 北京南站到北京站怎么走南宁美丽南方官方网站建设意见
  • 网站建设捌金手指专业5电商运营怎么推广一个新品
  • 医院网站建设企业走廊文化建设图片网站
  • 学网站建设培训机构公司网站建立费用
  • 阜宁网站制作服务商自学网站开发设计
  • 湖南建设监理工程网站设计类招聘网站
  • 门户网站建设的平台搭建长春专业网站建设推广
  • 网站建设宗旨怎么写网站建设公司外链怎么做
  • 绍兴市交通建设检测中心网站seo专业培训网络班
  • 设计国外网站有哪些玉环在哪里做网站
  • 设计网站思路如何写wordpress 修改登录
  • 网站开发php国外设计网站app吗
  • 智能响应式网站淳安县住房和城乡建设局网站
  • 招投标网站开发企业网站建设之后
  • 如何做好集团网站建设怎么做门淘宝网站
  • 医疗协助平台网站建设方案学生个人网页制作html报告
  • 专注于网站营销服务新浪云搭建wordpress
  • 免费自助建站代理鞍山招聘网最新招聘
  • 营销型类型网站有哪些类型php网站后台制作
  • 安全的网站制作公司百度app最新版本
  • 中小企业建站平台耐克网站建设策划方案
  • wordpress 后台加入链接后_网站显示是标签_不是链接wms智能仓储管理系统
  • 网站建设需要什么硬件和软件有哪些中考网络应用服务平台
  • 为什么网站权重会掉房地产开发网站建设
  • 大连seo整站优化酷播wordpress视频插件
  • 好的网页设计网站学编程要什么学历
  • 做网站公司电话福建城乡建设网站查询
  • 郑州做网站哪个公司好做二手市场类型的网站名字
  • 网站建设与维护里面的个人简历选择网站建设公司好