当前位置: 首页 > news >正文

计算机算术6-SRT2除法

1. 简介

SRT 算法目的在于加速非恢复二进制除法,在商数选择集中引入了0,且将商选函数(QDS)修改如下:
w[j+1] = 2w[j] -dq[j+1]
将w[j+1]看作纵坐标,2w[j]看作横坐标x;
则y=x-d
q[j+1]; 当q[j+1] = -1时, y=x+d; 当q[j+1]=0 时, y=x; 当q[j+1] =1时,y=x-d
截屏2025-08-17 15.14.54.png

2. SRT2 算法

基2 SRT将0引入到商集中,部分迭代则可只需移位操作,减少了除法模块的平均延时。但它与非恢复余数法的问题依旧是2w[j]与-d和+d的比较需要全精度才能得出q值。所以将除数d归一化小数表示至区间[1/2, 1), 引入新的分界点-1/2和1/2来替代-d和+d, 下式可以说明-d和+d的小数取值:
截屏2025-08-17 15.20.24.png

d属于[1/2, 1), 因此与x轴的交点d,在0.5之后的某一点。部分和w[j+1]被限制在[-1/2, 1/2]区间内,2w[j]被归一化且其二进制补码表示如下:
$ 2w_j = u_0.u_{-1}u_{-2} … u_{-(n+1)} $, 其中u_0 为符号位。因此,在{-1, 0, 1} 三个可能的值中选取合适的商值,QDS函数只需要将移位的部分和2w[j]的最高2/3bit与-1/2和1/2比较即可
截屏2025-08-17 15.21.57.png

#2. 基2 SRT除法例子
假设z=69, d=10, 求q和rem

  1. 将除数归一化[1/2, 1), 将被除数归一化[-1/2, 1/2]
  2. 将2*w[j]和-1/2, 1/2进行比较,最高2bit是01, 则q=1, 最高2bit是10,则q=-1, 其它(11, 00)则q=0
  3. 计算w[j+1] = 2w[j] - qd, 然后继续判断2*w[j+1],进行选商。
  4. 根据最后余数的正负进行纠错,如果是负数, q= q+1; rem = rem +d
  5. 这里还是有个问题: 每一轮计算w[j+1]时都是完整的计算2w[j]+d 或者计算2w[j]-d, 然后进行和常数进行大小比较, 但我们用carry/sum计算的时候,只用高2/3bit的运算。
  6. 2*w[j]和-1/2, 1/2进行比较, 也即w[j]和-1/4, 1/4进行比较
    截屏2025-08-17 15.41.31.png
    其中q=0101=6, 余数rem=1001=9, 与预期一致

3. 小结

SRT2除法主要是一个商选函数,和选完之后,求取下一个余数。一般用CSA来完成,不会做完整的加减法.其中选商主要和1/2进行比较,一般用取余数的2bit或者3bit来选择。有些在具体实现过程中,我们是拿w[j],而不是2*w[j]来进行选商,这样的话它就是和1/4进行比较了,因此就需要3bit进行判断,同时运算的时候,我们是计算(w[j]-d/2)。

http://www.dtcms.com/a/335772.html

相关文章:

  • Linux817 shell:until,nfs,random
  • TypeScript中的import语法详解
  • 6.Ansible自动化之-管理变量和事实
  • 关于第一次接触Linux TCP/IP网络相关项目
  • 牛客周赛 Round 105
  • Java -- 坐标体系--绘图方法
  • 《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
  • Originality AI:原创度和AI内容检测工具
  • thingsboard 服务器在2核CPU、2G内存资源配置下如何调优提速,适合开发/演示
  • 飞算JavaAI赋能高吞吐服务器模拟:从0到百万级QPS的“流量洪峰”征服之旅
  • C#读取文件, IO 类属性及使用示例
  • [GLM-4.5] GLM-4.5模型 | Claude Code服务集成
  • Qt 5.5 的安装与配置(使用 VSCode编辑)
  • React 基础实战:从组件到案例全解析
  • Talk2BEV论文速读
  • 什么叫作数据处理?数据处理和数据治理是什么关系
  • Java StringBuffer使用详解
  • Spring MVC 九大组件源码深度剖析(四):HandlerMapping - 请求映射的玄机
  • 电力设备状态监测与健康管理:基于多源异构数据融合的技术实现
  • 【龙泽科技】汽车车身测量与结构件更换仿真教学软件【GEELY+CHIEF】
  • Wasserstein GAN:如何解决GANS训练崩溃,深入浅出数学原理级讲解WGAN与WGAN-GP
  • (机器学习)监督学习 vs 非监督学习
  • 机器学习05-朴素贝叶斯算法
  • Elasticsearch 在向量捜索中使用 Direct I0
  • java-maven
  • 佳文赏读 || (CVPR 2025新突破) Robobrain:机器人操作从抽象到具体的统一大脑模型(A Unified Brain Model)
  • 【教程】笔记本安装FnOS设置合盖息屏不休眠
  • Pulsar存储计算分离架构设计之存储层BookKeeper(上)
  • Android 组件封装实践:从解耦到架构演进
  • JavaWeb前端(HTML,CSS具体案例)