红石电路吧 关注:32,279贴子:153,430
  • 7回复贴,共1
知道没图你们不会来的


IP属地:广东1楼2020-02-22 14:22回复
    先介绍下浮点运算器一些基本参数吧:
    使用规格化半精度浮点数,最大能表达的数为±65503,最小可表达的非零数为:6.1035*10^-5,有效数字3位。半精度浮点数格式为:1位符号+5位阶码+10位尾数(包含1隐含位)。
    运算器都采用串行运算器进行制作,所以体积都挺小的(虽然说速度挺感人的。。


    IP属地:广东2楼2020-02-22 14:33
    收起回复
      2025-11-26 14:38:42
      广告
      不感兴趣
      开通SVIP免广告
      那么就来先介绍下浮点运算器中最小的一块----浮点乘法器
      用了11位被阉割了的串行乘法器作为尾数运算部分,串行时钟频率0.76Hz,进行一次浮点乘法运算需要约15s
      阶码部分塞了个减法器和加法器,减法器负责还原阶码。
      来随便测试点数据:-58.297*0.83447=-48.6436





      IP属地:广东3楼2020-02-22 14:58
      回复
        接下来是浮点除法器

        体积比浮点乘法稍微大一点点,尾数部分采用被魔改的串行除法,时钟频率为0.91Hz(除法是最后做的,架构优化了点所以比乘法快) 运算需要11s
        就拿上面的数来进行测试了(实际上是懒):-58.297/0.83447=69.875




        (⑧问我为啥这么慢,刚刚捉到只虫子)


        IP属地:广东4楼2020-02-22 15:43
        收起回复
          最后是浮点加减混合--所有浮点运算器里最**的(真·加减比乘除难系列
          主要难点是浮点对齐和规格化,不用桶移的话移位器有点麻烦
          浮点对齐和规格化时钟主频都为2Hz,不过运算速度看阶码差,阶码差大于11不进行运算,直接返回大值
          就上面的数据来说计算用了13s(不排除掉tps的可能

          由于采用源码作为尾数,加减法需要转为补码最后再转会原码,体积就这样上去了(一个加减顶浮点乘除体积之和
          数据还是拿-58.297+0.83447=57.5和-58.297-0.83447=59.125


          以上是加法运算

          最下方亮着的红石灯就是加减模式切换



          IP属地:广东5楼2020-02-22 16:04
          收起回复
            顺带一提,以上数据和浮点乘法的结果都是采用最上面哪台体积等于三台运算器之和的浮点译码器算的,所以译码结果会有些误差,如果要精确数据可以自己译码看看
            具体算法可见这个帖子:https://tieba.baidu.com/p/6376595894


            IP属地:广东6楼2020-02-22 16:11
            回复
              话说,有dalao来尝试下单精度浮点运算器吗 我懒得肝了来白嫖个
              存档等今晚再发


              IP属地:广东来自Android客户端9楼2020-02-22 16:59
              回复
                某东方的神秘链接:
                /s/1cosxxy1qzdk5mqEAyZjffg
                kdsp
                如果存档挂了或有bug请在楼中楼回复,我会在此楼补档


                IP属地:广东13楼2020-02-22 21:51
                收起回复