• Rocket core IDecode


    https://mp.weixin.qq.com/s/mTHnVCxOk04nDQbqpr5xnw

     

    简单介绍IDecode的实现。

     

     

    1. DecodeConstants

     

    定义了解码相关的常量,也就是每条指令对应的解码信号的值。这些是在指令集编码设计的时候确定的,所以落实到代码中是常量。

     

    2. IntCtrlSigs

     

    定义指令解码信号:

     

    default是解出信号的默认值:

     

    decode是解码方法:

    这在之前已经做过介绍了。

     

    3. IDecode

     

    Base Integer Instruction Set中指令的解码信息:

     

    4. FenceIDecode

     

    定义FENCE.I指令的解码信息:

     

    5. CFlushDecode

     

    定义CFLUSH指令的解码信息:

     

    6. SDecode

     

    定义supervisor特有指令的解码信息:

     

    7. DebugDecode

     

    定义调试指令的解码信息:

     

    8. I32Decode

     

    定义RV32I中SLLI等指令的解码信息:

     

    9. I64Decode

     

    定义RV64I新增指令的解码信息:

     

    10. MDecode

     

    定义32位乘除法相关指令的解码信息:

     

    11. M64Decode

     

    定义64位乘除法相关指令的解码信息:

     

    12. ADecode

     

    定义32位原子操作相关指令的解码信息:

     

    13. A64Decode

     

    定义64位原子操作相关指令的解码信息:

     

    14. FDecode

     

    定义浮点运算相关指令的解码信息:

     

    15. DDecode

     

    定义双精度浮点运算相关指令的解码信息:

     

    16. F64Decode

     

    定义64位浮点运算相关指令的解码信息:

     

    17. D64Decode

     

    定义64位双精度浮点运算相关指令的解码信息:

     

    18. SCIEDecode

     

    定义扩展指令(SCIE: Simple Custom Instruction Extention)相关解码信息:

     

    19. RoCCDecode

     

    定义自定义协处理器(RoCC: Rocket Custom Coprocessor)相关指令的解码信息:

     

  • 相关阅读:
    TCP/IP协议栈与数据包封装+TCP与UDP区别
    MySQL数据库优化总结
    MySQL存储引擎,锁,优化简述
    java实现常见查找算法
    Java的几种常见排序算法
    UML类图学习
    高性能的RTC服务器OpenFire
    常用的设计模式
    Swing JInternalFrame的使用
    Qt 模态与非模态
  • 原文地址:https://www.cnblogs.com/wjcdx/p/16041074.html
Copyright © 2020-2023  润新知