[发明专利]计数装置及计数方法在审
申请号: | 201710264686.9 | 申请日: | 2017-04-21 |
公开(公告)号: | CN108733408A | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F7/501 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 201203 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计数单元 寄存器单元 存储单元 计数装置 给定条件 计数指令 计算效率 统计 | ||
本公开提供了一种计数装置,包括:寄存器单元、计数单元和存储单元;计数单元与寄存器单元连接;存储单元与计数单元连接。本公开还提供了一种计数方法。本公开根据计数指令统计输入数据中满足给定条件的元素的个数,能够有效提高计算效率。
技术领域
本公开总体上涉及计算机领域,具体地涉及一种计数装置和计数方法。
背景技术
在当前计算机领域,有很多算法都需要统计输入数据中满足给定条件的元素个数(例如统计0/1向量中1的个数)。以人工神经网络算法为例,在神经网络算法中通常使用稀疏矩阵来减少计算量,其中就要通过统计向量中非零元的个数来确定矩阵的稀疏度。
在现有的通用处理器中,没有用于统计元素个数的指令,所以每次都需要编程实现。这样的方法不仅代码量大、效率低,而且受限于片间通讯、片上缓存不够、支持的数据长度不够灵活等问题。
发明内容
(一)要解决的技术问题
鉴于上述技术问题,本公开提供了一种计数装置及计数方法,以解决上述技术问题。
(二)技术方案
根据本公开的一个方面,提供了一种计数装置,包括:寄存器单元、计数单元和存储单元,其中,寄存器单元用于存储待计数的输入数据在存储单元中存储的地址;计数单元与寄存器单元连接,用于获取计数指令,根据计数指令在寄存器单元中读取的输入数据的存储地址,在存储单元中获取相应的待计数的输入数据,并对输入数据中满足给定条件的元素个数进行统计计数,得到计数结果;存储单元与计数单元连接,用于存储待计数的输入数据以及用于存储所述的计数结果。
优选的,所述存储单元为主存或者暂存型存储器。
优选的,所述存储单元为高速暂存存储器,能够灵活有效地支持不同大小的输入数据。
优选的,所述计数单元包括:输入输出模块、运算模块、累加器模块,输入输出模块用于输入从存储单元中获取的待计数的输入数据;运算模块与输入输出模块连接,用于对输入的待计数的输入数据进行运算;累加器模块与运算模块连接,用于累加运算模块输出的运算结果,得到计数结果;其中,输入输出模块又与累加器模块连接,用于输出计数结果至存储单元。
优选的,对待计数的输入数据,所述输入输出模块每次取固定长度的一段数据,输入到运算模块进行运算,运算模块运算完成后,输入输出模块继续取固定长度的下一段数据,直到取完待计数的输入数据的所有元素。
优选的,所述计数单元为多流水级结构,所述输入输出模块中取待计数的输入数据操作处于第一流水级,所述运算模块处于第二流水级,所述累加器模块处于第三流水级。
优选的,所述运算模块包括加法器。
优选的,所述加法器的结构是全加器或者超前进位加法器。
优选的,所述加法器的结构包括n层,其中:第一层有l个全加器、第二层有个全加器、……、第m层有个全加器,第n层有一个超前进位加法器;其中,l、m、n为大于1的整数,m为大于1小于n的整数,表示对数据x做取上整操作。
优选的,每条计数指令包括:操作码和操作域,操作码用于指示该条计数指令的功能,计数单元通过识别该操作码进行计数运算;操作域用于指示该条计数指令中待计数的输入数据的地址信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710264686.9/2.html,转载请声明来源钻瓜专利网。