The present disclosure provides a counting device, including a register unit, a counting unit and a storage unit; a counting unit is connected with a register unit; and a storage unit is connected with a counting unit. The present disclosure also provides a counting method. The present disclosure can effectively improve calculation efficiency by counting the number of elements satisfying given conditions in input data according to counting instructions.
【技术实现步骤摘要】
计数装置及计数方法
本公开总体上涉及计算机领域,具体地涉及一种计数装置和计数方法。
技术介绍
在当前计算机领域,有很多算法都需要统计输入数据中满足给定条件的元素个数(例如统计0/1向量中1的个数)。以人工神经网络算法为例,在神经网络算法中通常使用稀疏矩阵来减少计算量,其中就要通过统计向量中非零元的个数来确定矩阵的稀疏度。在现有的通用处理器中,没有用于统计元素个数的指令,所以每次都需要编程实现。这样的方法不仅代码量大、效率低,而且受限于片间通讯、片上缓存不够、支持的数据长度不够灵活等问题。
技术实现思路
(一)要解决的技术问题鉴于上述技术问题,本公开提供了一种计数装置及计数方法,以解决上述技术问题。(二)技术方案根据本公开的一个方面,提供了一种计数装置,包括:寄存器单元、计数单元和存储单元,其中,寄存器单元用于存储待计数的输入数据在存储单元中存储的地址;计数单元与寄存器单元连接,用于获取计数指令,根据计数指令在寄存器单元中读取的输入数据的存储地址,在存储单元中获取相应的待计数的输入数据,并对输入数据中满足给定条件的元素个数进行统计计数,得到计数结果;存储单元与计数单元连 ...
【技术保护点】
1.一种计数装置,包括:寄存器单元、计数单元和存储单元,其特征在于,寄存器单元,用于存储待计数的输入数据在存储单元中存储的地址;计数单元,与寄存器单元连接,用于获取计数指令,根据计数指令在寄存器单元中读取的输入数据的存储地址,在存储单元中获取相应的待计数的输入数据,并对输入数据中满足给定条件的元素个数进行统计计数,得到计数结果;存储单元,与计数单元连接,用于存储待计数的输入数据以及用于存储所述的计数结果。
【技术特征摘要】
1.一种计数装置,包括:寄存器单元、计数单元和存储单元,其特征在于,寄存器单元,用于存储待计数的输入数据在存储单元中存储的地址;计数单元,与寄存器单元连接,用于获取计数指令,根据计数指令在寄存器单元中读取的输入数据的存储地址,在存储单元中获取相应的待计数的输入数据,并对输入数据中满足给定条件的元素个数进行统计计数,得到计数结果;存储单元,与计数单元连接,用于存储待计数的输入数据以及用于存储所述的计数结果。2.根据权利要求1所述的计数装置,其特征在于,所述存储单元为主存或者暂存型存储器。3.根据权利要求2所述的计数装置,其特征在于,所述存储单元为高速暂存存储器,能够灵活有效地支持不同大小的输入数据。4.根据权利要求1所述的计数装置,其特征在于,所述计数单元包括:输入输出模块,用于输入从存储单元中获取的待计数的输入数据;运算模块,与输入输出模块连接,用于对输入的待计数的输入数据进行运算;累加器模块,与运算模块连接,用于累加运算模块输出的运算结果,得到计数结果;其中,输入输出模块与累加器模块连接,用于输出计数结果至存储单元。5.根据权利要求4所述的计数装置,其特征在于,对待计数的输入数据,所述输入输出模块每次取固定长度的一段数据,输入到运算模块进行运算,运算模块运算完成后,输入输出模块继续取固定长度的下一段数据,直到取完待计数的输入数据的所有元素。6.根据权利要求4所述的计数装置,其特征在于,所述计数单元为多流水级结构,所述输入输出模块中取待计数的输入数据操作处于第一流水级,所述运算模块处于第二流水级,所述累加器模块处于第三流水级。7.根据权利要求4所述的计数装置,其特征在于,所述运算模块包括加法器。8.根据权利要求7所述的计数装置,其特征在于,所述加法器的结构是全加器或者超前进位加法器。9.根据权利要求7所述的计数装置,其特征在于,所述加法器的结构包括n层,其中:第一层有l个全加器、第二层有个全加器、……、第m层有个全加器,第n层有一个超前进位加法器;其中,l、m、n为大于1的整数,m为大于1小于n的整数,表示对数据x做取上整操作。10.根据权利要求1-9任一项所述的计数装置,其特征在于,每条计数指令包括:操作码,用于指示该条计数指令的功能,计数单元通过识别该操作码进行计数运算;操作域,用于指示该条计数指令中待计数的输入数据的地址信息。11.根据权利要求1-10任一项所述的计数装置,其特征在于,还包括:指令存储器,用于存储计数指令;指令处理单元,与指令存储器连接,用于从指令存储器中获取计数指令,并对计数指令进行处理;指令缓存单元,与指令处理单元连接,用于顺序存储待执行和执行过程中的计数指令;还与计数单元和存储单元连接,用于将执行完的计数指令和计数结果提交到存储单元;依赖关系处理单元,与指令处理单元连接,用于在计数单元获取计数指令前,判断该计数指令所需输入数据是否为最新,若是,直接将计数指令提供给所述计数单元;否则,将该计数指令存储在依赖关系...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。