[发明专利]分形计算装置、方法、集成电路及板卡有效
申请号: | 202010339611.4 | 申请日: | 2020-04-26 |
公开(公告)号: | CN111860805B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 请求不公布姓名 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/08 |
代理公司: | 北京维昊知识产权代理事务所(普通合伙) 11804 | 代理人: | 李波;孙新国 |
地址: | 100191 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 装置 方法 集成电路 板卡 | ||
1.一种根据输入指令计算数据的分形计算装置,包括多层计算单元,每层计算单元包括:
指令译码模块,用于将所述输入指令译码处理,获得对应的本地指令、分形指令及直接存储器存取指令;
串行分解模块,用于接收来自上层计算单元的上层分形指令,并将所述上层分形指令分解为多个串行子指令;其中,所述串行子指令为所述指令译码模块的输入指令;
数据加载模块,用于根据所述直接存储器存取指令,将所述数据的子数据自上层计算单元的存储器加载至本地存储器;
操作执行模块,用于根据所述分形指令,执行所述子数据对应的任务,以产生计算结果;
操作归约模块,用于根据所述本地指令,对所述计算结果进行归约;以及
数据写回模块,将归约后的计算结果写回所述上层计算单元的存储器;
所述指令译码模块包括:译码器、并行分解器;
所述译码器,用于对所述串行子指令进行译码处理, 产生下层指令及所述直接存储器存取指令;
所述并行分解器,用于将所述下层指令并行分解为所述本地指令及所述分形指令,再将分形指令发送给操作执行模块。
2.根据权利要求1所述的分形计算装置,其中所述每层计算单元为五级的流水线,每级对应一个模块,同时间各模块响应不同输入指令运作。
3.根据权利要求2所述的分形计算装置,其中所述子数据在下层计算单元的流水线中计算。
4.根据权利要求3所述的分形计算装置,其中所述串行子指令进入子指令队列。
5.根据权利要求4所述的分形计算装置,其中所述串行分解模块根据所述上层分形指令需要的内存容量、当前层计算单元的内存容量,对所述上层分形指令进行串行分解得到串行子指令。
6.根据权利要求5所述的分形计算装置,其中所述上层分形指令需要的内存容量根据存储所述上层分形指令的操作数需要的内存容量、以及存储所述上层分形指令的操作符对操作数进行处理后的中间结果需要的内存容量确定。
7.根据权利要求6所述的分形计算装置,其中所述串行分解模块在所述串行子指令之间存在输入依赖关系的情况下生成反映依赖关系的中间数据。
8.根据权利要求7所述的分形计算装置,其中所述译码器根据指令对应的操作数的存储需求为串行子指令分配当前层计算单元的存储区域的内存空间,并将分配的内存空间的地址绑定到指令中,实现译码处理。
9.根据权利要求8所述的分形计算装置,其中所述译码器还进一步用于根据不同所述串行子指令间的操作数的依赖度来运行所述流水线。
10.根据权利要求9所述的分形计算装置,其中所述译码器还进一步用于判断所述依赖度是否为写后读关系,如是,则暂停运行所述流水线,直到所述写后读关系结束。
11.根据权利要求1所述的分形计算装置,其中每层计算单元还包括张量置换表,用于存储所述子数据在所述上层计算单元的存储区域及所述本地存储器的地址对照表,所述译码器根据所述张量置换表查找本地地址。
12.根据权利要求1所述的分形计算装置,其中所述分形计算装置还包括:
本地存储器;其中,所述本地存储器包括:
静态内存段,用以存储中间数据;以及
循环内存段,用以存储执行所述串行子指令所需的子数据,及所述子数据在每层计算单元为五级的流水线中计算所产生的各阶段数据;其中,所述子数据为所述数据的一部分。
13.根据权利要求12所述的分形计算装置,其中所述中间数据是依序从所述静态内存段的两端往中间存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010339611.4/1.html,转载请声明来源钻瓜专利网。