• 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)相关指令的解码信息:

     

  • 相关阅读:
    获取一个数组里面第K大的元素
    小白初识 归并排序(MergeSort)
    小白初识 基数排序(RadixSort)
    memset()的正确用法
    HDU2071(水题)
    HDU 2090
    并查集模板
    HDU 1222
    HDU1084(快速排序)
    HDU 2043
  • 原文地址:https://www.cnblogs.com/wjcdx/p/16041074.html
Copyright © 2020-2023  润新知