[发明专利]流水级运算装置、数据处理方法及片上网络芯片有效
申请号: | 201510825061.6 | 申请日: | 2015-11-24 |
公开(公告)号: | CN105468335B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 李震;刘少礼;张士锦;罗韬;钱诚;陈云霁;陈天石 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京律诚同业知识产权代理有限公司11006 | 代理人: | 祁建国,梁挥 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 流水 运算 装置 数据处理 方法 网络 芯片 | ||
1.一种流水级运算装置,用于片上网络芯片,其特征在于,包括:
一级流水模块,具有第一输入缓存寄存器模块、第一流水级模块、和第一输出缓存寄存器模块,所述第一输入缓存寄存器模块设置在所述第一流水级模块的输入端,用于寄存接收的输入数据及控制指令,所述第一流水级模块用于对来自所述第一输入缓存寄存器模块的数据进行向量加法或减法运算,或者根据最大索引值max_index,使当前时钟周期之后的连续N个时钟周期的运算中在第max_index个时钟周期第一输出流水级的输出数据等于输入数据,其余N-1个时钟周期的输出数据为0,其中N和max_index均为正整数且N不小于max_index,所述第一输出缓存寄存器模块设置在所述第一流水级模块的输出端,用于存储所述第一流水级的运算结果和控制指令;
二级流水模块,具有第二流水级模块和第二缓存寄存器模块,所述第二流水级模块用于对来自所述第一输出缓存寄存器模块的运算结果进行导数值的求解以及激活函数的求解,所述第二缓存寄存器模块设置在所述第二流水级模块的输出端,用于存储所述第二流水级的运算结果和控制指令;
三级流水模块,具有第三流水级模块和第三缓存寄存器模块,所述第三流水级模块用于对来自所述第二缓存寄存器模块的运算结果进行乘法与加法的操作,所述第三缓存寄存器模块设置在所述第三流水级模块的输出端,用于存储所述第三流水级的运算结果和控制指令。
2.根据权利要求1所述的流水级运算装置,其特征在于,所述第一流水级模块包括一个加减操作模块和多个最大索引值选择模块;
所述加减操作模块,根据该模块中的控制信号对输入数据进行向量加法或者减法操作,并作为所述第一流水级模块的一个输出;
所述最大索引值选择模块,根据该模块的操作码选择输入信号的最大索引值,并作为所述第一流水级模块的另一个输出;或者根据输入的最大索引值max_index,使当前时钟周期之后的连续N个时钟周期的运算中在第max_index个时钟周期第一输出流水级的输出数据等于输入数据,其余N-1时钟周期的输出数据为0。
3.根据权利要求1所述的流水级运算装置,其特征在于,所述第二流水级模块包括多个线性插值模块和多个抽样器模块;
所述线性插值模块,对输入数据通过线性插值近似求解非线性函数的导数值或激活函数值;
所述抽样器模块,对所述线性插值模块计算的激活函数值与一个随机数产生模块产生的随机值进行比较,如果所述激活函数值大于所述随机值则输出1,否则输出0,其中数值0或1定义32位定点数的输出。
4.根据权利要求3所述的流水级运算装置,其特征在于,所述线性插值模块具有加载插值表模式和线性插值模式;
所述加载插值表模式,根据所述线性插值模块的控制信号,判断正在加载的插值表属于激活函数插值器还是导数插值器,同时根据该控制信号判断正在加载的操作数表示插值表的哪一部分;
所述线性插值模式,使插值器根据输入信号x的操作数选择插值表中的一组斜率a和截距b,然后根据表达式y=a*x+b求得插值结果,其中y表示插值。
5.根据权利要求1所述的流水级运算装置,其特征在于,
所述第三流水级模块根据输入值与对应的操作码,对输入的数据进行向量加、减与乘操作,并输出流水级的结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510825061.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:通过移动终端寻找车辆的方法、系统和移动终端
- 下一篇:独立的浮点转换单元