欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 201710007021X
申请人: 阜阳师范大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-08-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.结构量计算机的MSD乘法计算的方法,其特征在于:包括以下步骤,步骤一、表示数据:三值光学计算机采用改良符号数字系统(Modified Signed Digit,MSD)表示数据,即:n位的MSD数字A(an…ai…a1)和m位的B(bm…bj…b1)相乘,ai,bj∈{ī,0,

1},运算关系表示为:

计算步骤为,

第1步:计算部分积Sj。将A与B的每一位形成的n位数据(bj…bj…bj)(j=1,2,...,m),送至M变换器上,实施M变换,得到Sj;

第2步:计算和数项Pj。为保证位数的对齐,将Sj高位附加m-j个零,末位附加j-1个零,得到Pj;

第3步:计算∑Pj。将相邻奇偶和数项两两分组,送至三步式MSD加法器依次实施T与W、T'与W'及T2变换(真值表如表1),得到的求和结果又称为部分和,将作为下一轮加法器的输入进行回馈运算,直到得到最终结果;

步骤二、并行加速算法:乘法算法是一个循环计算过程,乘法计算例程利用更多的光学处理器数据位数资源,构造出q个M变换器和r个MSD三步式加法器,将内部步骤尽可能作并行处理,用较少运算周期就可以快速获得计算结果;

加速策略描述如下:第1步同时并行实施q组M变换,全部M变换运算分 个批次完成;

第2步可并行对Sj实施补零得到Pj;第3步,第 次迭代时,相邻

P2j-1和 分配到r个三步式加法器并行实施求和,全部求和分

个批次完成;

步骤三、不对称光路结构改良M变换:三值光学处理器由主光路和控制光路组成,结构上保持着不对称性;

一次光运算是输入光信号a和b,得到变换结果c的过程,其运算时间由公式T=TSY+Tg+TCG+TLC+TC        (2)

得到;

三态光发生器SY1和SY2将输入信号编制成三态光,产生TSY;感光管g转换三态光为电信号,产生Tg;电信号穿过重构电路CG的反应时间为TCG;CG产生的信号控制液晶LC改变旋光状态,产生TLC;a依次穿过SY2、偏振片P2、LC、P3生成c,产生TC;在这5个时间里,Tg、TCG以及TLC与控制光路密切相关,并且TLC是最耗时的部分,约为其他部分的几十倍以上。如果输入b不变,从第二次运算开始,电信号、重构电路以及液晶状态都保持不变,TSY+TC后就可以得到变换结果c,可以缩减一半的处理器运算时间;乘法算法计算部分积时,每次都是将A(an…ai…a1)和(bj…bj…bj)送入M变换器,有一路输入数据A始终保持不变,故可以合理分配数据A至控制光路,以缩短处理器计算延时;

步骤四、构造例程专用的结构量处理器:

Ⅰ按位分配数据位资源:用户调用乘法例程时,输入运算请求和原始数据A、B的同时,需要一并给出两个乘法因子的数字位数n、m,作为分配数据位资源、构造结构量处理器的依据;

计算部分积时,n位的A(an…ai…a1)和(bj…bj…bj)实施M变换生成n位的Sj,需要M变换器的规模为:VM=n               (3)

Sj补零生成n+m-1位的Pj,对Pj进行二叉迭代求和时,每轮迭代输出结果的数量会减半,根据三步式MSD加法器的运算规律可知,每轮迭代所需加法器的数据规模增加两位,位数分析如图5;

为避免重复构造运算器,以迭代过程中需要加法器的最多位数为准,故加法器的规模为:三值逻辑变换器的每一位都要占用光学处理器的一个数据位,M变换器共计占用q×VM个数据位,一个VA位的三步式MSD加法器占用5VA+4个数据位。故并行乘法计算例程需要光学处理器的数据位数总量为:VT=q×VM+r×(5VA+4)          (5)

结构量计算机的光学处理器运算位数众多,但毕竟计算资源是有限的,目前最新应用实验系统SD11可供分配和使用的数据位数可扩展至16384位,要根据乘法例程的计算要求,再结合结构量计算机的具体配置来设计光学处理器的构造方案;

Ⅱ构造M变换器和MSD三步式加法器:对于一个被乘数为n位、乘数为m位的MSD乘法计算例程,要根据位数信息计算处理器的重构参数VM和VA,并提交给三值光学计算机的监控程序。监控程序根据结构量计算机的计算资源使用情况,确定q、r和VT,并提交相应的重构计算要求。数据位管理模块负责寻找空闲的数据位区段h~h+VT-1,重构模块负责配置该数据位区段的计算功能,构造出多个M变换器和MSD三步式加法器[13-14],即构造例程专用的结构量处理器,在一个指令下并行实施乘法算法。

以用户提交64位的乘法运算为例说明数据位的分配和重构策略,此时VM=64,M变换器占用64q个数据位数,VA=137,加法器占用689r个数据位数,VT=64q+689r,VT≤16384,一种数量足够、运算规模合适的光学处理器构造方案是取q=8,r=16,VT=11536,重构示意图如图5;

串行实现64位乘法计算时,M变换耗用时钟周期为64个,和数项求和耗用时钟周期为3×(32+16+...+1)=189个,共计253个;而在该重构方案下,每次可并行执行8组M变换,再借助处理器的不对称结构,全部M变换耗用的时钟周期为1+0.5×7=4.5个;和数项求和时,第

1次迭代求和分2个批次完成,耗用3×2=6个时钟周期,第2~6次迭代求和可全并行实施,耗用时钟周期为3×5=15个,共计25.5个时钟周期,大约可以缩减串行乘法89.9%的计算耗时;

步骤五、MSD乘法例程的实施:使用三值光学计算机完成乘法运算时,在内部乘法计算例程被激活后,通过协调监控程序的任务调度模块、数据位管理分配模块、重构模块以及底层控制软件等资源来完成运算,数据流图如图6,实施步骤如下,

1.用户通过输入界面,输入操作数,选择运算规则,点击“确定”按钮;

2.三值光学计算机自动生成内部专用的输送信息和命令的文件(San Zhi Guang,SZG);

3.监控程序的任务调度模块解析SZG文件,获取A、B的MSD数据和位数信息n、m,根据公式(3)、(4)确定结构量处理器的构造参数VM和VA;

4.监控程序的数据位管理模块查询光学处理器的空闲数据位数,根据公式(5)确定参数q和r,并分配数据位区段h~h+VT-1。

5.重构模块生成重构命令编码,任务调度模块生成操作数编码,并执行格式化操作,然后由任务调度模块将数据位序、数据和命令等发送至底层控制软件;

6.重构器执行底层控制软件发送的重构命令,构造出乘法例程专用的结构量处理器;

7.实施乘法迭代运算。

7-1.底层控制软件获取操作数据,完成迭代变量的定义、初始化等操作;

7-2.M变换的数据准备。底层控制软件复制A和B的每一位,将(an…ai…a1)送入编码器生成M变换器的控制光路编码信息,将(bj…bj…bj)(j=1,...,m)送入编码器生成M变换器的主光路编码信息;

7-3.实施M变换。将数据编码信息同时送入q组M变换器运算,解码器获取变换结果,重复操作该步骤直到m组M变换全部完成,得到所有的部分积Sj。

7-4.解码器对Sj(j=1,2,...,m)高位附加m-j个零,末位附加j-1个零,得到Pj;

7-5.和数项迭代求和。

7-5-1.初始化。计算和数项二叉迭代求和的迭代次数,记入变量times,k赋值1;

7-5-2.执行判断语句 若不满足,则需要增加一个值为0的和数项;

7-5-3.将全部和数项送至编码器,奇数项和数项P2j-1生成加法器的主光路编码信息,偶数项和数项P2j生成加法器的控制光路编码信息,

7-5-4.将相邻和数项P2j-1和P2j作为一组,同时送入r组加法器运算,解码器获取运算结果,并记入Pj,重复操作该步骤直到 组加法运算全部完成。

7-5-5.k增加1,解码器将上一轮迭代得到的部分和作回馈处理,重复步骤7-5-2~7-5-

4直到k=times,最终结果记入变量C;

8.运算结果送交用户,任务调度模块将乘积C写入SZG结果文件,经过文件解析后数据转化为十进制,返回给用户,本次运算完成。