zoukankan      html  css  js  c++  java
  • Rocket

    https://mp.weixin.qq.com/s/FR3yeLLBqy0n-fflw-ATgg

     

    简单介绍TLPLIC的实现。

     

     

    1. GatewayPLICIO

     

    PLIC是Platform-Level Interrupt Controller的缩写:

     

    GatewayPLICIO定义Gateway的IO接口,这是面向PLIC Core的接口:

    其中:

    a. valid:表示是否向PLIC Core产生合法输出;

    b. ready:表示PLIC Core是否可以接收新的中断信号;

    c. complete:表示中断是否处理完成;

     

    2. LevelGateway

     

    LevelGateway定义电平触发中断的Gateway模块:

    1) io

     

    io定义了LevelGateway模块的输入输出接口:

    其中:

    a. interrupt:表示上游中断源的中断输入;

    b. plic:是面向PLIC Core的输入输出接口;

     

    需要注意的是:这里并没有使用IO(...)包裹io定义。

     

    2) inFlight

     

    inFlight是一个寄存器,表示是否已经有中断请求在处理:

    a. 如果有中断信号输入,并且PLIC Core可以接收,则inFlight为true;

    b. 如果处理完成,则inFlight为false;

     

    3) io.plic.valid

     

    io.plic.valid表示是否有中断请求向PLIC Core发起:

    a. 如果已经有中断在处理,则不会发起新的请求;

    b. 如果没有中断信号输入,也不会发起新的请求;

     

    3. PLICConsts

     

    PLICConsts定义PLIC使用到的常量:

    其中:

    a. maxDevices:最多支持多少个设备输入中断信号;

    b. maxHarts:最多支持向多少个核心(interrupt target)发起中断请求;

    c. priorityBase:中断优先级配置寄存器的基地址;

    d. pendingBase:中断等待信号寄存器的基地址;

    e. enableBase:各个核心的中断使能寄存器的基地址;

    f. hartBase:各个核心中断优先级门槛及claim/complete寄存器的基地址;

     

    这里的require的意义在于确保预留的空间足够使用。

     

    4. PLICParams

     

    PLICParams定义PLIC使用的参数:

    其中:

    a. baseAddress:定义PLIC地址空间的基地址;

    b. maxPriorities:定义中断的最大优先级;

    c. intStages:定义中断需要缓存多少个时钟周期;

     

    5. PLICKey

     

    PLICKey是用于查找PLICParams的关键字:

     

    定义示例:

    -----------------------------------------------------------------------------
    这是一篇付费文章,请移步付费阅读全文,谢谢!
    文章链接:https://mp.weixin.qq.com/s/FR3yeLLBqy0n-fflw-ATgg

  • 相关阅读:
    排序应用于链表
    线性时间排序算法
    排序算法
    2017计蒜客蓝桥杯模拟赛5
    第六届河南省赛 River Crossing 简单DP
    POJ 3061 Subsequence 尺取法 POJ 3320 Jessica's Reading Problem map+set+尺取法
    天梯赛 L2-020. 功夫传人 BFS
    天梯赛 L2-019. 悄悄关注 map
    配置在Chrome,Firefox中打开
    http响应状态码大全
  • 原文地址:https://www.cnblogs.com/wjcdx/p/12872969.html
Copyright © 2011-2022 走看看