Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    D1-H 有哪些CSR 地址是怎么分布的?

    MR Series
    2
    2
    1456
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      AdrianYu LV 2 last edited by

      /*enable theadisaee*/
      li t1, EN_THEADISAEE
      csrs 0x7c0, t1 /* mxstatus */
      

      mxstatus 代表什么意思? 在手册和spec里面没有找到。

      #define CSR_MCOR 0x7c2
      #define CSR_MHCR 0x7c1
      #define CSR_MCCR2 0x7c3
      #define CSR_MHINT 0x7c5
      #define CSR_MXSTATUS 0x7c0
      #define CSR_PLIC_BASE 0xfc1
      #define CSR_MRMR 0x7c6
      #define CSR_MRVBR 0x7c7

      这些地址是怎么哪里来的?

      1 Reply Last reply Reply Quote Share 0
      • Y
        YterAA LV 7 last edited by YterAA

        MXSTATUS 是机器模式扩展状态寄存器
        64ba4f58-fe96-40b4-9d79-9d26ed7b1769-image.png

        地址定义:
        490a6343-234e-4b41-a2ce-3a42045ef849-image.png

        其设置方法如下:

        (0:1) CACHE_SEL=2’b11时,选中指令和数据高速缓存
        (4) INV=1时高速缓存进行无效化
        (16) BHT_INV=1时分支历史表内的数据进行无效化
        (17) TB_INV=1时分支目标缓冲器内的数据进行无效化
        csr_write(CSR_MCOR, 0x70013);

        (0) IE=1时Icache打开
        (1) DE=1时Dcache打开
        (2) WA=1时数据高速缓存为write allocate模式 (c906不支持)
        (3) WB=1时数据高速缓存为写回模式 (c906固定为1)
        (4) RS=1时返回栈开启
        (5) BPE=1时预测跳转开启
        (6) BTB=1时分支目标预测开启
        (8) WBR=1时支持写突发传输写 (c906固定为1)
        (12) L0BTB=1时第一级分支目标预测开启
        csr_write(CSR_MHCR, 0x11ff);

        (15) MM为1时支持非对齐访问,硬件处理非对齐访问
        (16) UCME为1时,用户模式可以执行扩展的cache操作指令
        (17) CLINTEE为1时,CLINT发起的超级用户软件中断和计时器中断可以被响应
        (21) MAEE为1时MMU的pte中扩展地址属性位,用户可以配置页面的地址属性
        (22) THEADISAEE为1时可以使用C906扩展指令集
        csr_set(CSR_MXSTATUS, 0x638000);

        (2) DPLD=1,dcache预取开启
        (3,4,5,6,7) AMR=1,时,在出现连续3条缓存行的存储操作时后续连续地址的存储操作不再写入L1Cache
        (8) IPLD=1ICACHE预取开启
        (9) LPE=1循环加速开启
        (13,14) DPLD为2时,预取8条缓存行
        csr_write(CSR_MHINT, 0x16e30c);

        这些C906核心的寄存器资料均位于《Xuantie_C906_R1S0_User_Manual.pdf》 文档中,可以前往平头哥开源芯片平台下载。

        1 Reply Last reply Reply Quote Share 0
        • 1 / 1
        • First post
          Last post

        Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

        行为准则 | 用户协议 | 隐私权政策