zoukankan      html  css  js  c++  java
  • Rocket

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

     

    简单介绍FPU相关的代码概要。目前主要处理较高层次上的模块关系,暂时不涉及具体模块逻辑的实现。

     

     

    1. FPUParams/FPConstants

     

    定义FPU相关的参数和常量:

    暂时不涉及具体参数的含义。

     

    2. HasFPUCtrlSigs

     

    这是一个特征(trait),定义了解码FPU指令产生的相关信号:

     

    3. FPUCtrlSigs

     

    HasFPUCtrlSigs本身不可以实例化,FPUCtrlSigs作为类引入(mix-in)了HasFPUCtrlSigs,从而可以实例化,进而产生相关的解码信号:

     

    4. FPUDecoder

     

    FPUDecoder是FPU指令的解码器:

     

    1) io

     

    定义解码器的输入输出端口:

    其中:

    a. inst:输入的32位指令;

    b. sigs:输出的解码信号;

    c. 需要注意的是,这里并没有使用IO(...)包裹。也就是说,虽然名字为io,却并不会为之做模块IO相关的处理;

     

    2) default

     

    默认的解码信号值:

     

    3) f

     

    定义float相关的指令的解码信号值:

    List中信号的顺序,与HasFPUCtrlSigs中定义的信号顺序一致。

     

    4) d

     

    定义double相关指令的解码信号值:

    List中信号的顺序,与HasFPUCtrlSigs中定义的信号顺序一致。

     

    5) insns

     

    根据fLen是32位还是64位来确定是否支持double相关的指令:

     

    6) decoder

     

    decoder是解码出来的信号:

     

    7) sigs

     

    其中:

    a. s是io.sigs的引用,就是写代码的时候简单一些,并不存在逻辑结构上的连接;

    b. sigs是把s中的信号成员按顺序逐个取出组成列表;

    c. 然后与decoder也就是解码出来的信号,按顺序逐个连接到一起;

    d. 从而使得解码信号从io.sigs中输出;

     

    5. FPUCoreIO

     

    定义FPU与核心之间的接口:

     

    6. FPUIO

     

    定义FP请求和响应结果:

    其中:

    a. FPInput是请求输入:

    b. FPResult是响应结果输出:

     

    7. FType

     

    定义浮点类型相关的参数及方法:

     

    object FType中定义浮点类型相关的常量:

     

    8. HasFPUParameters

     

    定义FPU相关参数:

     

    9. FPUModule

     

    定义浮点模块的抽象父类,引入了浮点模块相关的参数,简化子类实现:

     

    10. FPToInt/IntToFP/FPToFP

     

    定义浮点转整型、整型转浮点、浮点转浮点功能模块:

     

    11. MulAddRecFNPipe/FPUFMAPipe

     

    定义两个流水线用于计算:

     

    12. FPU

     

    把多个模块组合到一起,实现FPU的功能:

                 

  • 相关阅读:
    我败在了盲目和没有计划
    跟我一起学.NetCore目录
    跟我一起学.NetCore之依赖注入作用域和对象释放
    跟我一起学.NetCore之Asp.NetCore启动流程浅析
    std::unordered_map
    Android apps for “armeabi-v7a” and “x86” architecture: SoC vs. Processor vs. ABI
    android studio 配置相关问题
    shell script
    vscode配置
    linux常用命令笔记
  • 原文地址:https://www.cnblogs.com/wjcdx/p/13287006.html
Copyright © 2011-2022 走看看