CN111158636B - 可重构计算结构及计算处理阵列的路由寻址方法、装置 - Google Patents

可重构计算结构及计算处理阵列的路由寻址方法、装置 Download PDF

Info

Publication number
CN111158636B
CN111158636B CN201911220379.6A CN201911220379A CN111158636B CN 111158636 B CN111158636 B CN 111158636B CN 201911220379 A CN201911220379 A CN 201911220379A CN 111158636 B CN111158636 B CN 111158636B
Authority
CN
China
Prior art keywords
ram
unit
multiply
data
accumulate
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
CN201911220379.6A
Other languages
English (en)
Other versions
CN111158636A (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.)
Information Technology Innovation Center Of Tianjin Binhai New Area
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Technology Innovation Center Of Tianjin Binhai New Area
Information Engineering University of PLA Strategic Support Force
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 Information Technology Innovation Center Of Tianjin Binhai New Area, Information Engineering University of PLA Strategic Support Force filed Critical Information Technology Innovation Center Of Tianjin Binhai New Area
Priority to CN201911220379.6A priority Critical patent/CN111158636B/zh
Publication of CN111158636A publication Critical patent/CN111158636A/zh
Application granted granted Critical
Publication of CN111158636B publication Critical patent/CN111158636B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Abstract

本发明提供了一种可重构计算结构及乘累加计算处理阵列的路由寻址方法、装置。该结构中,可重构计算模块包括至少一个乘累加计算处理阵列,每个乘累加计算处理阵列包括ram单元和算式生成器,每个ram单元由四个ram块拼接而成,每个ram单元均由相应的计算算粒与其对应,用来完成典型的乘累加运算,每个算式生成器有四个接口,可通过接口与周边的ram单元连接。本发明提出的可重构计算结构,通过构建包含ram单元和算式生成器的乘累加计算处理阵列,每个阵列内部和阵列之间可通过算式生成器将各个ram单元互联,进而将将若干个乘累加计算处理阵列形成网状结构,相比传统的总线型或crossbar型互联结构而言,本互联结构逻辑电路设计简单。

Description

可重构计算结构及计算处理阵列的路由寻址方法、装置
技术领域
本发明涉及可重构计算技术领域,尤其涉及一种可重构计算结构及乘累加计算处理阵列的路由寻址方法、装置。
背景技术
在大众已经习惯的计算模式中,处理器和专用集成电路(ASIC)一直是两大主流。伴随着应用领域特别是嵌入式环境对系统的性能、能耗、上市时间等指标需求的不断提高,传统的计算模式暴露出了种种弊端。可重构计算技术集中了处理器和专用集成电路的优势,能够提供高效灵活的计算能力。在传统可重构计算中,可重构计算单元主要由基本计算算粒、算式生成器、ram等模块组成,将多个可重构计算单元组成一个大规模的矩阵,通过矩阵中各计算单元的相互协作,实现可重构计算的计算任务。对于矩阵的互联,常见的互联结构有总线结构、mesh结构(2D-mesh)和crossbar结构。其中,总线结构和mesh结构灵活性较差;crossbar结构的互联可以实现灵活的交换,但硬件代价高。此外,2D-Mesh的互联实现的是邻域互联,且通常是相邻的同等处理部件间的互联,需要考虑路由、拥塞、队列调度等复杂的问题(例如,计算机应用杂志2016年第5期胡哲琨等人提出的“2Dmesh片上网络分区容错路由算法”)。
发明内容
针对可重构计算中,传统的互联结构存在硬件代价高或者灵活性差的问题,本发明提供一种可重构计算结构及乘累加计算处理阵列的路由寻址方法、装置,采用局部ram端口共享的方式,简化了片上网络的设计,可满足大多数围绕在ram周边进行计算的数据访问需求,也能照顾到个别对远距离ram中数据进行访问的需要。
第一方面,本发明提供一种可重构计算结构,包括:包括控制器模块和可重构计算模块,所述可重构计算模块包括至少一个乘累加计算处理阵列,所述乘累加计算处理阵列包括若干个ram单元和若干个算式生成器,算式生成器的数量大于ram单元的数量;
所述ram单元,用于存储待计算数据或计算结果;所述ram单元由四个ram块拼接而成,且每个ram单元均对应有用于完成乘累加运算的计算算粒;
所述算式生成器,用于对待计算数据进行寻址和访问;所述算式生成器包括四个接口,每个算式生成器通过接口与周边的ram单元相连接。
进一步地,若干个所述乘累加计算处理阵列形成网状结构。
进一步地,所述乘累加计算处理阵列中,位于边缘处的算式生成器的空闲接口用于扩展和/或与接口控制器模块连接。
第二方面,本发明提供一种可重构计算中乘累加计算处理阵列的路由寻址方法,包括:
步骤1:预先对乘累加计算处理阵列中的数据按照预设编址格式进行编址,所述预设编址格式为:i.j.p.ofst格式,i表示数据所在的ram单元在乘累加计算处理阵列中的行号,j表示数据所在的ram单元在乘累加计算处理阵列中的列号,p表示数据所在的ram块在ram单元中的序号,ofst表示数据在ram块中的偏移地址;
步骤2:对每个ram单元或算式生成器的四个通道进行设置:设定每个ram单元或算式生成器的四个通道分别为左上方通路、右上方通路、左下方通路、右下方通路;
步骤3:每个ram单元或算式生成器接收读写访问请求,获取发起所述访问请求的源的位置信息i_s.j_s.p_s.ofst_s和待访问的目标数据的位置信息i_d.j_d.p_d.ofst_d;
步骤4:每个ram单元或算式生成器根据其自身的位置信息i_c.j_c和目标数据的位置信息i_d.j_d.p_d.ofst_d确定是否将所述访问请求转发至其他ram单元或算式生成器;
步骤5:若需要转发,每个ram单元或算式生成器根据源的位置信息i_s.j_s.p_s.ofst_s和目标数据的位置信息i_d.j_d.p_d.ofst_d确定转发通道。
进一步地,步骤4中,若i_d与i_c相等,则表示目标数据存储在当前的ram单元,无需转发;若j_d与j_c不相等,则表示需要将所述访问请求转发至其他ram单元或算式生成器。
进一步地,步骤5具体为:
步骤5.1:判断不等式i_d>i_c是否成立:若成立,则判断结果记为1;否则为0;判断不等式j_d>j_c是否成立:若成立,则判断结果记为1;否则为0;
步骤5.2:将两个不等式的判断结果按照先后顺序进行组合,得到组合值;
步骤5.3:根据组合值确定转发通道,具体为:00表示所述访问请求从左上方通路转发出去;01表示所述访问请求从右上方通路转发出去;10表示所述访问请求从左下方通路转发出去;11表示所述访问请求从右下方通路转发出去。
进一步地,在任务分配时优先将相关的数据就近放置。
第三方面,本发明提供一种可重构计算中乘累加计算处理阵列的路由寻址装置,包括:
编址单元,用于对乘累加计算处理阵列中的数据按照预设编址格式进行编址,所述预设编址格式为:i.j.p.ofst格式,i表示数据所在的ram单元在乘累加计算处理阵列中的行号,j表示数据所在的ram单元在乘累加计算处理阵列中的列号,p表示数据所在的ram块在ram单元中的序号,ofst表示数据所在的ram块中的偏移地址;
通路设置单元,用于对每个ram单元或算式生成器的四个通道进行设置:设定每个ram单元或算式生成器的四个通道分别为左上方通路、右上方通路、左下方通路、右下方通路;
位置信息获取单元,用于每个ram单元或算式生成器接收到读写访问请求时,获取发起所述访问请求的源的位置信息i_s.j_s.p_s.ofst_s和待访问的目标数据的位置信息i_d.j_d.p_d.ofst_d;
判断单元,用于每个ram单元或算式生成器根据其自身的位置信息i_c.j_c和目标数据的位置信息i_d.j_d.p_d.ofst_d确定是否将所述访问请求转发至其他ram单元或算式生成器;
转发通道确定单元,用于每个ram单元或算式生成器根据源的位置信息i_s.j_s.p_s.ofst_s和目标数据的位置信息i_d.j_d.p_d.ofst_d确定转发通道。
进一步地,所述判断单元具体用于:
当i_d与i_c相等时,表示目标数据存储在当前的ram单元,指示当前的ram单元无需转发;当j_d与j_c不相等时,则指示当前的ram单元或算式生成器将所述访问请求转发至其他算式生成器或ram单元。
进一步地,所述转发通道确定单元具体用于:
判断不等式i_d>i_c是否成立:若成立,则判断结果记为1;否则为0;判断不等式j_d>j_c是否成立:若成立,则判断结果记为1;否则为0;
将两个不等式的判断结果按照先后顺序进行组合,得到组合值;
根据组合值确定转发通道,具体为:00表示所述访问请求从左上方通路转发出去;01表示所述访问请求从右上方通路转发出去;10表示所述访问请求从左下方通路转发出去;11表示所述访问请求从右下方通路转发出去;
优选地,还包括优先分配单元,用于在任务分配时优先将相关的数据就近放置。
本发明的有益效果:
(1)本发明提出的可重构计算结构,通过构建包含ram单元和算式生成器的乘累加计算处理阵列,每个阵列内部和阵列之间可通过算式生成器将各个ram单元互联,进而将将若干个乘累加计算处理阵列形成网状结构,相比传统的总线型或crossbar型互联结构而言,本互联结构逻辑电路设计简单。且位于阵列边缘处的算式生成器的空闲接口可用于扩展和/或与接口控制器模块连接,增强了可重构计算结构的扩展性和适用性。
(2)本发明提出的可重构计算中乘累加计算处理阵列的路由寻址方法和装置,通过将乘累加计算处理阵列中的各个ram单元或者算式生成器编号为i.j.p的格式,并用算式生成器将各个ram单元互联成一个网络,在网络中的每个节点上按照统一的路由规则,实现了对ram中的数据访问,路由规则简单,无需配置路由表就可根据ram单元的位置实现路由转发。
(3)本发明的互联结构适合于以存储为中心新型计算结构。
附图说明
图1为本发明实施例提供的一种可重构计算结构的示意图;
图2为本发明实施例提供的一种一种可重构计算结构连接外设的示意图;
图3为本发明实施例提供的一种可重构计算中乘累加计算处理阵列的路由寻址方法的流程示意图;
图4为本发明实施例提供的一种可重构计算中乘累加计算处理阵列的路由寻址装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种可重构计算结构,包括控制器模块和可重构计算模块,所述可重构计算模块包括至少一个乘累加计算处理阵列,所述乘累加计算处理阵列包括若干个ram单元和若干个算式生成器,算式生成器的数量大于ram单元的数量;所述ram单元,用于存储待计算数据或计算结果;所述ram单元由四个ram块拼接而成,且每个ram单元均对应有用于完成乘累加运算的计算算粒;
所述算式生成器,用于对待计算数据进行寻址和访问;所述算式生成器包括四个接口,每个算式生成器通过接口与周边的ram单元相连接。
如图1所示,若干个所述乘累加计算处理阵列形成网状结构。图1中,方框表示ram单元,每个ram单元由四个ram块拼接而成;每个ram单元均由相应的计算算粒与其对应,用来完成典型的乘累加运算。
圆圈表示算式生成器,位于阵列中部的每个算式生成器有四个接口与周边的ram单元连接;在阵列边缘的算式生成器空闲的链接用于扩展或与接口控制器模块链接。
图1中的数字表示ram单元或算式生成器的位置编号,因算式生成器的数量要多于ram单元,因此部分算式生成器的位置编号存在负1这样的编号方式。
如图2所示,所述乘累加计算处理阵列中,位于边缘处的算式生成器的空闲接口用于扩展和/或与接口控制器模块连接。
如图3所示,本发明实施例还提供一种可重构计算中乘累加计算处理阵列的路由寻址方法,包括以下步骤:
S101:预先对乘累加计算处理阵列中的数据按照预设编址格式进行编址,所述预设编址格式为:i.j.p.ofst格式,i表示数据所在的ram单元在乘累加计算处理阵列中的行号,j表示数据所在的ram单元在乘累加计算处理阵列中的列号,p表示数据所在的ram块在ram单元中的序号,ofst表示数据在ram块中的偏移地址;
S102:对每个ram单元或算式生成器的四个通道进行设置:设定每个ram单元或算式生成器的四个通道分别为左上方通路、右上方通路、左下方通路、右下方通路;
S103:每个ram单元或算式生成器接收读写访问请求,获取发起所述访问请求的源的位置信息i_s.j_s.p_s.ofst_s和待访问的目标数据的位置信息i_d.j_d.p_d.ofst_d;
S104:每个ram单元或算式生成器根据其自身的位置信息i_c.j_c和目标数据的位置信息i_d.j_d.p_d.ofst_d确定是否将所述访问请求转发至其他ram单元或算式生成器;
具体地,若i_d与i_c相等,则表示目标数据存储在当前的ram单元,无需转发;若j_d与j_c不相等,则表示需要将所述访问请求转发至其他ram单元或算式生成器。
S105:若需要转发,每个ram单元或算式生成器根据源的位置信息i_s.j_s.p_s.ofst_s和目标数据的位置信息i_d.j_d.p_d.ofst_d确定转发通道。具体包括以下子步骤:
S1051:判断不等式i_d>i_c是否成立:若成立,则判断结果记为1;否则为0;判断不等式j_d>j_c是否成立:若成立,则判断结果记为1;否则为0;
S1052:将两个不等式的判断结果按照先后顺序进行组合,得到组合值;
S1053:根据组合值确定转发通道,具体为:00表示所述访问请求从左上方通路转发出去;01表示所述访问请求从右上方通路转发出去;10表示所述访问请求从左下方通路转发出去;11表示所述访问请求从右下方通路转发出去。
接着以图1所示的实施例进行说明,为了表述方便,把ram单元简写为R,把算式生成器简写为G,则ram单元02可简写为R02,算式生成器21可简写为G21。
ram单元中存储了待计算数据或某次计算的计算结果,算式生成器主要是根据上位机软件的控制,完成对待计算数据的寻址和访问。在进行某次计算时,需要算式生成器将待计算数据从相应的ram单元中读出,并送到相应的计算算粒中;待计算完成后,再将计算结果送到相应的ram单元中存储。
为了提高计算效率,可以将待计算数据存放在R01和R02位置,启动G01工作,将待计算数据从R01和R02中读取并送入到与R11相对应的计算算粒中,待计算完成后,计算结果经过G11存入到R12中。
但在某些个别场景下,算式生成器需要的数据存放在一个比较远的位置上,比如算式生成器G02需要访问ram单元R31,此时就需要经过多个算式生成器或ram单元才能访问到,因此需要设计一种寻址方法。
而本发明通过设计乘累加计算处理阵列和算式生成器矩阵,并对每个ram单元和算式生成器进行了二维编址,基于该编址格式提出了上述路由寻址方法,实质上相当于设计了一个简化版路由规则,通过该路由寻址方法无需配置路由表即可实现对ram的访问。
在上述实施例的基础上,该路由寻址方法还包括:在任务分配时优先将相关的数据就近放置。计算任务的分配指用户将待计算的任务映射到硬件资源上的过程。例如,包括将待计算输入放置在哪块ram中,以及乘加算粒从事哪种计算等内容。本发明实施例在进行任务分配时,将相关数据优先放置相邻或相近的ram中。
举例说明该路由寻址的过程:如图1所示,当有一个数据的位置在3.1.1.0,访问从算式生成器G02发起,访问乘累加计算处理阵列中的R31时,则需要经过如下步骤:
1、算式生成器G02中,i_c.j_c的值为0.2,目标位置i_d.j_d的值为3.1,判断3>0,1>2,得出10,则选择左下通路将请求转发出去。
2、在R12中,目标位置同样是3.1,R12的自身坐标是1.2,因此需要判断3>1,1>2得出10,同理可判断选择左下通路。
3、在算式生成器G11中,判断3>1,1>1得出10,可判断选择左下通路。
4、在ram阵列R21中,判断3>2,1>1得出10,选择左下通路。
5、在算式生成器G20中,判断3>2,1>0得出11,选择右下通路。
6、在ram阵列R31中,判断目标位置与R31的自身坐标相等,说明待访问的数据就存在R31的某块ram中,继而完成了数据的访问。
在乘累加计算处理阵列的接口上,可利用矩阵周边的算式生成器与外设连接。比如,当乘累加计算处理阵列需要通过SRIO与上位机通信,并需要访问DDR存储时,一种可能的逻辑结构如图2所示。图2中,乘累加计算处理阵列需要与两个SRIO控制器和两个DDR接口控制器连接,其中算式生成器G0-1,G-10,G2-1,G30,G32,G23,G03,G-12同时与DDR接口控制器和SRIO控制器连接,其他边缘的算式生成器与对应的接口控制器模块连接。
需要说明的是,上述仅以四行四列乘累加计算处理阵列进行举例,实际ram的行数和列数可根据具体应用场景进行裁剪。
如图4所示,本发明实施例还提供一种可重构计算中乘累加计算处理阵列的路由寻址装置,包括:编址单元401、通路设置单元402、位置信息获取单元403、判断单元404和转发通道确定单元405;其中:
编址单元401用于对乘累加计算处理阵列中的数据按照预设编址格式进行编址,所述预设编址格式为:i.j.p.ofst格式,i表示数据所在的ram单元在乘累加计算处理阵列中的行号,j表示数据所在的ram单元在乘累加计算处理阵列中的列号,p表示数据所在的ram块在ram单元中的序号,ofst表示数据所在的ram块中的偏移地址;
通路设置单元402用于对每个ram单元或算式生成器的四个通道进行设置:设定每个ram单元或算式生成器的四个通道分别为左上方通路、右上方通路、左下方通路、右下方通路;
位置信息获取单元403用于每个ram单元或算式生成器接收到读写访问请求时,获取发起所述访问请求的源的位置信息i_s.j_s.p_s.ofst_s和待访问的目标数据的位置信息i_d.j_d.p_d.ofst_d;
判断单元404用于每个ram单元或算式生成器根据其自身的位置信息i_c.j_c和目标数据的位置信息i_d.j_d.p_d.ofst_d确定是否将所述访问请求转发至其他ram单元或算式生成器;
具体地,所述判断单元具体用于:当i_d与i_c相等时,表示目标数据存储在当前的ram单元,指示当前的ram单元无需转发;当j_d与j_c不相等时,则指示当前的ram单元或算式生成器将所述访问请求转发至其他算式生成器或ram单元。
转发通道确定单元405用于每个ram单元或算式生成器根据源的位置信息i_s.j_s.p_s.ofst_s和目标数据的位置信息i_d.j_d.p_d.ofst_d确定转发通道。
具体地,所述转发通道确定单元具体用于:首先,判断不等式i_d>i_c是否成立:若成立,则判断结果记为1;否则为0;判断不等式j_d>j_c是否成立:若成立,则判断结果记为1;否则为0。然后,将两个不等式的判断结果按照先后顺序进行组合,得到组合值。最后,根据组合值确定转发通道,具体为:00表示所述访问请求从左上方通路转发出去;01表示所述访问请求从右上方通路转发出去;10表示所述访问请求从左下方通路转发出去;11表示所述访问请求从右下方通路转发出去。
在上述实施例的基础上,该路由寻址装置还包括:优先分配单元,用于在任务分配时优先将相关的数据就近放置。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种可重构计算结构,包括控制器模块和可重构计算模块,其特征在于,所述可重构计算模块包括至少一个乘累加计算处理阵列,所述乘累加计算处理阵列包括若干个ram单元和若干个算式生成器,算式生成器的数量大于ram单元的数量;
所述ram单元,用于存储待计算数据或计算结果;所述ram单元由四个ram块拼接而成,且每个ram单元均对应有用于完成乘累加运算的计算算粒;
所述算式生成器,用于对待计算数据进行寻址和访问;所述算式生成器包括四个接口,每个算式生成器通过接口与周边的ram单元相连接。
2.根据权利要求1所述的可重构计算结构,其特征在于,若干个所述乘累加计算处理阵列形成网状结构。
3.根据权利要求2所述的可重构计算结构,其特征在于,所述乘累加计算处理阵列中,位于边缘处的算式生成器的空闲接口用于扩展和/或与接口控制器模块连接。
4.一种可重构计算中乘累加计算处理阵列的路由寻址方法,其特征在于,包括:
步骤1:预先对乘累加计算处理阵列中的数据按照预设编址格式进行编址,所述预设编址格式为:i.j.p.ofst格式,i表示数据所在的ram单元在乘累加计算处理阵列中的行号,j表示数据所在的ram单元在乘累加计算处理阵列中的列号,p表示数据所在的ram块在ram单元中的序号,ofst表示数据在ram块中的偏移地址;
步骤2:对每个ram单元或算式生成器的四个通道进行设置:设定每个ram单元或算式生成器的四个通道分别为左上方通路、右上方通路、左下方通路、右下方通路;
步骤3:每个ram单元或算式生成器接收读写访问请求,获取发起所述访问请求的源的位置信息i_s.j_s.p_s.ofst_s和待访问的目标数据的位置信息i_d.j_d.p_d.ofst_d;
步骤4:每个ram单元或算式生成器根据其自身的位置信息i_c.j_c和目标数据的位置信息i_d.j_d.p_d.ofst_d确定是否将所述访问请求转发至其他ram单元或算式生成器;具体包括:若i_d与i_c相等,则表示目标数据存储在当前的ram单元,无需转发;若j_d与j_c不相等,则表示需要将所述访问请求转发至其他ram单元或算式生成器;
步骤5:若需要转发,每个ram单元或算式生成器根据源的位置信息i_s.j_s.p_s.ofst_s和目标数据的位置信息i_d.j_d.p_d.ofst_d确定转发通道;具体包括:步骤5.1:判断不等式i_d>i_c是否成立:若成立,则判断结果记为1;否则为0;判断不等式j_d>j_c是否成立:若成立,则判断结果记为1;否则为0;
步骤5.2:将两个不等式的判断结果按照先后顺序进行组合,得到组合值;
步骤5.3:根据组合值确定转发通道,具体为:00表示所述访问请求从左上方通路转发出去;01表示所述访问请求从右上方通路转发出去;10表示所述访问请求从左下方通路转发出去;11表示所述访问请求从右下方通路转发出去。
5.根据权利要求4所述的方法,其特征在于,在任务分配时优先将相关的数据就近放置。
6.一种可重构计算中乘累加计算处理阵列的路由寻址装置,其特征在于,包括:
编址单元,用于对乘累加计算处理阵列中的数据按照预设编址格式进行编址,所述预设编址格式为:i.j.p.ofst格式,i表示数据所在的ram单元在乘累加计算处理阵列中的行号,j表示数据所在的ram单元在乘累加计算处理阵列中的列号,p表示数据所在的ram块在ram单元中的序号,ofst表示数据在ram块中的偏移地址;
通路设置单元,用于对每个ram单元或算式生成器的四个通道进行设置:设定每个ram单元或算式生成器的四个通道分别为左上方通路、右上方通路、左下方通路、右下方通路;
位置信息获取单元,用于每个ram单元或算式生成器接收到读写访问请求时,获取发起所述访问请求的源的位置信息i_s.j_s.p_s.ofst_s和待访问的目标数据的位置信息i_d.j_d.p_d.ofst_d;
判断单元,用于每个ram单元或算式生成器根据其自身的位置信息i_c.j_c和目标数据的位置信息i_d.j_d.p_d.ofst_d确定是否将所述访问请求转发至其他ram单元或算式生成器;具体用于:当i_d与i_c相等时,表示目标数据存储在当前的ram单元,指示当前的ram单元无需转发;当j_d与j_c不相等时,则指示当前的ram单元或算式生成器将所述访问请求转发至其他算式生成器或ram单元;
转发通道确定单元,用于每个ram单元或算式生成器根据源的位置信息i_s.j_s.p_s.ofst_s和目标数据的位置信息i_d.j_d.p_d.ofst_d确定转发通道;具体用于:判断不等式i_d>i_c是否成立:若成立,则判断结果记为1;否则为0;判断不等式j_d>j_c是否成立:若成立,则判断结果记为1;否则为0;将两个不等式的判断结果按照先后顺序进行组合,得到组合值;根据组合值确定转发通道,具体为:00表示所述访问请求从左上方通路转发出去;01表示所述访问请求从右上方通路转发出去;10表示所述访问请求从左下方通路转发出去;11表示所述访问请求从右下方通路转发出去。
7.根据权利要求6所述的装置,其特征在于,还包括优先分配单元,用于在任务分配时优先将相关的数据就近放置。
CN201911220379.6A 2019-12-03 2019-12-03 可重构计算结构及计算处理阵列的路由寻址方法、装置 Active CN111158636B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911220379.6A CN111158636B (zh) 2019-12-03 2019-12-03 可重构计算结构及计算处理阵列的路由寻址方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911220379.6A CN111158636B (zh) 2019-12-03 2019-12-03 可重构计算结构及计算处理阵列的路由寻址方法、装置

Publications (2)

Publication Number Publication Date
CN111158636A CN111158636A (zh) 2020-05-15
CN111158636B true CN111158636B (zh) 2022-04-05

Family

ID=70556345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911220379.6A Active CN111158636B (zh) 2019-12-03 2019-12-03 可重构计算结构及计算处理阵列的路由寻址方法、装置

Country Status (1)

Country Link
CN (1) CN111158636B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101086699A (zh) * 2007-07-12 2007-12-12 浙江大学 基于单fpga的矩阵乘法器装置
CN108400866A (zh) * 2018-03-01 2018-08-14 中国人民解放军战略支援部队信息工程大学 一种粗粒度可重构密码逻辑阵列
CN108595149A (zh) * 2018-04-28 2018-09-28 天津芯海创科技有限公司 可重构乘加运算装置
CN110149802A (zh) * 2015-04-23 2019-08-20 谷歌有限责任公司 用于在虚拟图像处理器指令集架构(isa)与具有二维移位阵列结构的目标硬件之间进行转译的编译器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127482B2 (en) * 2001-11-19 2006-10-24 Intel Corporation Performance optimized approach for efficient downsampling operations
CN100594491C (zh) * 2006-07-14 2010-03-17 中国电子科技集团公司第三十八研究所 可重构数字信号处理器
CN104461779B (zh) * 2014-11-28 2018-02-23 华为技术有限公司 一种分布式数据的存储方法、装置及系统
US10019234B2 (en) * 2015-10-05 2018-07-10 Altera Corporation Methods and apparatus for sequencing multiply-accumulate operations
CN107491416B (zh) * 2017-08-31 2020-10-23 中国人民解放军信息工程大学 适用于任意维数卷积需求的可重构计算结构及计算调度方法和装置
CN108089839A (zh) * 2017-10-11 2018-05-29 南开大学 一种基于fpga实现互相关运算的方法
CN108090029B (zh) * 2018-01-04 2021-11-05 天津芯海创科技有限公司 矩阵求逆中的算粒调度装置
CN109031213B (zh) * 2018-06-04 2022-05-13 中国电子科技集团公司第十四研究所 普适性动态可重构数字波束形成方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101086699A (zh) * 2007-07-12 2007-12-12 浙江大学 基于单fpga的矩阵乘法器装置
CN110149802A (zh) * 2015-04-23 2019-08-20 谷歌有限责任公司 用于在虚拟图像处理器指令集架构(isa)与具有二维移位阵列结构的目标硬件之间进行转译的编译器
CN108400866A (zh) * 2018-03-01 2018-08-14 中国人民解放军战略支援部队信息工程大学 一种粗粒度可重构密码逻辑阵列
CN108595149A (zh) * 2018-04-28 2018-09-28 天津芯海创科技有限公司 可重构乘加运算装置

Also Published As

Publication number Publication date
CN111158636A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
US20200150958A1 (en) Processor and control method for processor
JPH06509894A (ja) 超並列コンピュータ・システムの入出力構成
JPH0425586B2 (zh)
CN110728364A (zh) 一种运算装置和运算方法
JPH0766718A (ja) プログラム可能論理用ウェファ・スケール構造
US20070165547A1 (en) Integrated data processing circuit with a plurality of programmable processors
US20220382707A1 (en) Partitionable Networked Computer
KR20100004605A (ko) 네트워크 시스템 상에서의 작업 노드 선택방법 및 그시스템
CN103914556A (zh) 大规模图数据处理方法
CN114564434B (zh) 一种通用多核类脑处理器、加速卡及计算机设备
Concepcion A hierarchical computer architecture for distributed simulation
CN108304261B (zh) 一种基于6D-Torus网络的作业调度方法和装置
KR20200138413A (ko) 네트워크 온칩 데이터 처리 방법 및 장치
CN111158636B (zh) 可重构计算结构及计算处理阵列的路由寻址方法、装置
US20220277125A1 (en) Initializing on-chip operations
CN105373492A (zh) 一种面向任务流的基于寄存器文件的快速数据交换结构
WO2020112992A1 (en) Reconfigurable fabric configuration using spatial and temporal routing
CN113347029B (zh) 基于拓扑重构和路径规划的Torus网络容错方法
EP3839717B1 (en) High bandwidth memory system with crossbar switch for dynamically programmable distribution scheme
CN114239816B (zh) 一种卷积神经网络-图卷积神经网络可重构硬件加速架构
CN113159302B (zh) 一种用于可重构神经网络处理器的路由结构
CN113487020A (zh) 用于神经网络计算的参差存储结构及神经网络计算方法
Soto et al. A self-adaptive hardware architecture with fault tolerance capabilities
CN114258538A (zh) 片上操作的显式调度
CN106383791B (zh) 一种基于非统一内存访问架构的内存块组合方法及装置

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