CN106873942B - 结构量计算机的msd乘法计算的方法 - Google Patents

结构量计算机的msd乘法计算的方法 Download PDF

Info

Publication number
CN106873942B
CN106873942B CN201710007021.XA CN201710007021A CN106873942B CN 106873942 B CN106873942 B CN 106873942B CN 201710007021 A CN201710007021 A CN 201710007021A CN 106873942 B CN106873942 B CN 106873942B
Authority
CN
China
Prior art keywords
data
multiplication
msd
adder
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710007021.XA
Other languages
English (en)
Other versions
CN106873942A (zh
Inventor
王先超
张冕
高珊
韩波
赵佳
柏春松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Xizheng Digital Technology Co., Ltd
Original Assignee
Fuyang Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuyang Normal University filed Critical Fuyang Normal University
Priority to CN201710007021.XA priority Critical patent/CN106873942B/zh
Publication of CN106873942A publication Critical patent/CN106873942A/zh
Application granted granted Critical
Publication of CN106873942B publication Critical patent/CN106873942B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

结构量计算机的MSD乘法计算的方法,涉及计算机精密计算技术领域,其特征在于:包括以下步骤,表示数据、并行加速算法、不对称光路结构改良M变换、构造例程专用的结构量处理器、MSD乘法例程的实施。本发明方法合理、操作方便、计算精准。

Description

结构量计算机的MSD乘法计算的方法
技术领域:
本发明涉及计算机精密计算技术领域,具体涉及结构量计算机的MSD乘法计算的方法。
背景技术:
传统电子计算机中的乘法运算面临着计算精度低、延时长等问题。
乘法运算是最常用的基础运算之一,广泛应用于工程技术和科学计算的各个领域,是影响应用算法实现效率的关键路径。长期以来,研究学者们致力于乘法的计算方法和实现过程的优化技术研究。在气象预测、军事通信、密码学等应用领域里,随着问题规模的不断膨大,乘法运算面临着响应速度缓慢、计算精度有限等问题。传统电子计算机受到位数固定的电子处理器的制约,不能满足设计高效乘法器的需要,超级计算机计算能力强大,但是伴随着处理器数量的增加,大量计算资源消耗于通信和协调操作。于是人们开始关注各种新形式的计算机,而三值光学计算机是目前最接近实际应用的代表。
发明内容:
本发明所要解决的技术问题在于克服现有的技术缺陷提供一种方法合理、操作方便、计算精准的结构量计算机的MSD乘法计算的方法。
本发明所要解决的技术问题采用以下的技术方案来实现:
结构量计算机的MSD乘法计算的方法,其特征在于:包括以下步骤,
步骤一、表示数据:三值光学计算机采用改良符号数字系统(Modified SignedDigit,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步,第k(k=1,2,...,)次迭代时,相邻P2j-1和P2j(j=1,2,...,)分配到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三步式加法器,即构造例程专用的结构量处理器,在一个指令下并行实施乘法算法。
以用户提交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 ZhiGuang,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生成加法器的控制光路编码信息,j=1,2,...,
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结果文件,经过文件解析后数据转化为十进制,返回给用户,本次运算完成。
本发明的有益效果为:1、借助三值光学计算机的应用特征研究了乘法计算例程的并行优化算法,设计了结构量处理器的构造方案,详细描述了实施步骤,并通过模拟实验对例程进行了严格的验证。
2、该研究丰富了三值光学计算机的关键软件模块,提高了三值光学计算机高性能计算的能力,加速推进了三值光学计算机应用进程的发展。
附图说明:
图1为本发明的表示数据的示意图。
图2为本发明的并行实施M变换的流程图。
图3为本发明的并行实施和数项求和的流程图。
图4为本发明的步骤三的示意图。
图5为本发明的步骤四的重构示意图。
图6为本发明的步骤五的数据流图。
具体实施方式:
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
如图1-6所示,结构量计算机的MSD乘法计算的方法,其特征在于:包括以下步骤,
步骤一、表示数据:三值光学计算机采用改良符号数字系统(Modified SignedDigit,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步:计算∑jPj。将相邻奇偶和数项两两分组,送至三步式MSD加法器依次实施T与W、T'与W'及T2变换(真值表如表1),得到的求和结果又称为部分和,将作为下一轮加法器的输入进行回馈运算,直到得到最终结果;
步骤二、并行加速算法:乘法算法是一个循环计算过程,乘法计算例程利用更多的光学处理器数据位数资源,构造出q个M变换器和r个MSD三步式加法器,将内部步骤尽可能作并行处理,用较少运算周期就可以快速获得计算结果;
加速策略描述如下:第1步同时并行实施q组M变换,全部M变换运算分个批次完成;第2步可并行对Sj实施补零得到Pj;第3步,第k(k=1,2,...,)次迭代时,相邻P2j-1和P2j(j=1,2,...,)分配到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加法器的运算规律可知,每轮迭代所需加法器的数据规模增加两位;
为避免重复构造运算器,以迭代过程中需要加法器的最多位数为准,故加法器的规模为:
三值逻辑变换器的每一位都要占用光学处理器的一个数据位,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,重构示意图如图6;
串行实现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生成加法器的控制光路编码信息,j=1,2,...,
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结果文件,经过文件解析后数据转化为十进制,返回给用户,本次运算完成。
本发明的有益效果为:1、借助三值光学计算机的应用特征研究了乘法计算例程的并行优化算法,设计了结构量处理器的构造方案,详细描述了实施步骤,并通过模拟实验对例程进行了严格的验证。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (1)

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位数据(anbj,an-1bj......a1bj)(j=1,2,...,m),送至M变换器上,实施M变换,得到Sj
第2步:计算和数项Pj;为保证位数的对齐,将Sj高位附加m-j个零,末位附加j-1个零,得到Pj
第3步:计算∑Pj;将相邻奇偶和数项两两分组,送至三步式MSD加法器依次实施T与W、T'与W'及T2变换,得到的求和结果称为部分和,将作为下一轮加法器的输入进行回馈运算,直到得到最终结果;
步骤二、并行加速算法:乘法算法是一个循环计算过程,乘法计算例程利用光学处理器数据位数资源,构造出q个M变换器和r个MSD三步式加法器,将能用于并行处理的内部步骤作并行处理,获得计算结果;
加速策略描述如下:第1步同时并行实施q组M变换,全部M变换运算分个批次完成;第2步可并行对Sj实施补零得到Pj;第3步,第次迭代时,相邻P2j-1和P2j(j=1,2,...,分配到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)和(bm…bj…b1)送入M变换器,有一路输入数据A始终保持不变,故可以合理分配数据A至控制光路,以缩短处理器计算延时;
步骤四、构造例程专用的结构量处理器:
Ⅰ按位分配数据位资源:用户调用乘法例程时,输入运算请求和原始数据A、B的同时,需要一并给出两个乘法因子的数字位数n、m,作为分配数据位资源、构造结构量处理器的依据;
计算部分积时,n位的A(an…ai…a1)和(bm…bj…b1)实施M变换生成n位的Sj,需要M变换器的规模为:
VM=n (3)
Sj补零生成n+m-1位的Pj,对Pj进行二叉迭代求和时,每轮迭代输出结果的数量会减半,根据三步式MSD加法器的运算规律可知,每轮迭代所需加法器的数据规模增加两位;
为避免重复构造运算器,以迭代过程中需要加法器位数的最大值为准,故加法器的规模为:
三值逻辑变换器的每一位都要占用光学处理器的一个数据位,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三步式加法器,即构造例程专用的结构量处理器,在一个指令下并行实施乘法算法;
步骤五、MSD乘法例程的实施:使用三值光学计算机完成乘法运算时,在内部乘法计算例程被激活后,通过协调监控程序的任务调度模块、数据位管理分配模块、重构模块以及底层控制软件来完成运算,实施步骤如下,
1.用户通过输入界面,输入操作数,选择运算规则,点击“确定”按钮;
2.三值光学计算机自动生成内部专用的输送信息和命令的文件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结果文件,经过文件解析后数据转化为十进制,返回给用户,本次运算完成。
CN201710007021.XA 2017-01-05 2017-01-05 结构量计算机的msd乘法计算的方法 Active CN106873942B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710007021.XA CN106873942B (zh) 2017-01-05 2017-01-05 结构量计算机的msd乘法计算的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710007021.XA CN106873942B (zh) 2017-01-05 2017-01-05 结构量计算机的msd乘法计算的方法

Publications (2)

Publication Number Publication Date
CN106873942A CN106873942A (zh) 2017-06-20
CN106873942B true CN106873942B (zh) 2019-03-15

Family

ID=59165640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710007021.XA Active CN106873942B (zh) 2017-01-05 2017-01-05 结构量计算机的msd乘法计算的方法

Country Status (1)

Country Link
CN (1) CN106873942B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388372B (zh) * 2018-10-19 2023-04-07 华东交通大学 一种基于最小模块的三值光学处理器msd乘法计算方法
CN110502064B (zh) * 2019-08-20 2023-03-31 阜阳师范大学 基于neh算法的三值光学计算机任务调度方法及系统
CN115344236B (zh) * 2022-10-19 2023-03-24 无锡沐创集成电路设计有限公司 多项式乘法运算方法、多项式乘法器、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942027A (zh) * 2014-04-16 2014-07-23 哈尔滨工业大学深圳研究生院 一种可重构的快速并行乘法器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942027A (zh) * 2014-04-16 2014-07-23 哈尔滨工业大学深圳研究生院 一种可重构的快速并行乘法器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种实现平衡三进制向量矩阵乘法的光学方法;李梅等;《计算机应用研究》;20091015;第26卷(第10期);全文
一种新的光学向量-矩阵乘法;王先超等;《计算机工程与应用》;20110214;第47卷(第6期);全文
三值光学计算机的多位数MSD乘法算法及运算分析;李梅;《西安工业大学学报》;20151231;第35卷(第12期);全文

Also Published As

Publication number Publication date
CN106873942A (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
Chen et al. A bi-layered parallel training architecture for large-scale convolutional neural networks
Li et al. A parallel dynamic programming algorithm for multi-reservoir system optimization
CN102495719B (zh) 一种向量浮点运算装置及方法
CN111767236A (zh) 用于可配置空间加速器中的存储器接口电路分配的装置、方法和系统
CN102043761B (zh) 一种基于可重构技术的傅立叶变换的实现方法
CN106873942B (zh) 结构量计算机的msd乘法计算的方法
Meher et al. Low-Latency, Low-Area, and Scalable Systolic-Like Modular Multipliers for $ GF (2^{m}) $ Based on Irreducible All-One Polynomials
Zhou et al. Multi-GPU implementation of a 3D finite difference time domain earthquake code on heterogeneous supercomputers
US20220350662A1 (en) Mixed-signal acceleration of deep neural networks
Kim FPGA based neural network accelerators
Haris et al. SECDA-TFLite: A toolkit for efficient development of FPGA-based DNN accelerators for edge inference
Tortorella et al. RedMule: A mixed-precision matrix–matrix operation engine for flexible and energy-efficient on-chip linear algebra and TinyML training acceleration
Chen et al. Exploiting on-chip heterogeneity of versal architecture for GNN inference acceleration
Yanamala et al. A high-speed reusable quantized hardware accelerator design for CNN on constrained edge device
Pajuelo-Holguera et al. Recommender system implementations for embedded collaborative filtering applications
Anumandla et al. Field programmable gate arrays‐based differential evolution coprocessor: a case study of spectrum allocation in cognitive radio network
Yang et al. Parallel algorithm design and optimization of geodynamic numerical simulation application on the Tianhe new-generation high-performance computer
Lu et al. SparseNN: A performance-efficient accelerator for large-scale sparse neural networks
Yoshii et al. A hardware co-design workflow for scientific instruments at the edge
León-Vega et al. An exploration of accuracy configurable matrix multiply-addition architectures using HLS
Joseph et al. Performance-driven LSTM accelerator hardware using split-matrix-based MVM
Lu et al. Morphling: A reconfigurable architecture for tensor computation
Song et al. Algorithm on higher-order derivative based on ternary optical computer
Mousouliotis et al. SqueezeJet-3: an HLS-based accelerator for edge CNN applications on SoC FPGAs
Park et al. Designing Low-Power RISC-V Multicore Processors With a Shared Lightweight Floating Point Unit for IoT Endnodes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201201

Address after: Unit 601, unit 2, No.20, Donghai 1st Road, Shinan District, Qingdao City, Shandong Province

Patentee after: Qingdao Xizheng Digital Technology Co., Ltd

Address before: 236000 Qinghe Road, Fuyang, Anhui, Fuyang

Patentee before: FUYANG NORMAL College