[发明专利]一种用于执行向量最大值最小值运算的装置和方法有效
申请号: | 201610266872.1 | 申请日: | 2016-04-26 |
公开(公告)号: | CN107315567B | 公开(公告)日: | 2020-08-07 |
发明(设计)人: | 支天;刘少礼;郭崎;陈天石;陈云霁 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 执行 向量 最大值 最小值 运算 装置 方法 | ||
1.一种向量最大值或最小值运算装置,包括:
存储单元,用于存储向量;
寄存器单元,用于存储向量地址,其中,向量地址为向量在存储单元中存储的地址;
向量最大值或最小值运算单元,用于获取向量最大值或最小值运算指令,根据向量最大值或最小值运算指令在寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量最大值或最小值运算,得到向量中最大值元素和最小值元素,其中,所述最大值或最小值运算指令包括:
向量最大值指令VMAX,包括一个操作码和三个操作域,其中,所述操作码用于指示该向量最大值运算指令的功能,操作域用于指示该向量最大值运算指令的数据信息,所述数据信息为寄存器单元编号,所述向量最大值或最小值运算单元根据该寄存器 单元编号访问对应的寄存器 单元,并获取向量地址,三个操作域分别对应指定地址、指定大小和输出值,所述VMAX用于从存储单元的所述指定地址取出指定大小的向量数据,从中选出最大的元素作为结果,并将结果写回至寄存器单元;
向量最小值指令VMIN,包括一个操作码和三个操作域,其中,所述操作码用于指示该向量最小值运算指令的功能,操作域用于指示该向量最小值运算指令的数据信息,所述数据信息为寄存器单元编号,所述向量最大值或最小值运算单元根据该寄存器单元编号访问对应的寄存器单元,并获取向量地址,三个操作域分别对应指定地址、指定大小和输出值,所述VMIN用于从存储单元的所述指定地址取出指定大小的向量数据,从中选出最小的元素作为结果,并将结果写回至寄存器单元的指定地址。
2.根据权利要求1所述的向量最大值或最小值运算装置,其特征在于,还包括:指令缓存单元,用于存储待执行的向量最大值或最小值运算指令。
3.根据权利要求2所述的向量最大值或最小值运算装置,其特征在于,还包括:指令处理单元,用于从指令缓存单元获取向量最大值或最小值运算指令,并对该向量最大值或最小值运算指令进行处理后,提供给所述向量最大值或最小值运算单元。
4.根据权利要求3所述的向量最大值或最小值运算装置,其特征在于,所述指令处理单元包括:
取指模块,用于从指令缓存单元中获取向量最大值或最小值运算指令;
译码模块,用于对获取的向量最大值或最小值运算指令进行译码;
指令队列,用于对译码后的向量最大值或最小值运算指令进行顺序存储。
5.根据权利要求1所述的向量最大值或最小值运算装置,其特征在于,还包括:
依赖关系处理单元,用于在所述向量最大值或最小值运算单元获取向量最大值或最小值运算指令前,用于在向量最大值或最小值运算单元获取向量最大值或最小值运算指令前,判断该向量最大值或最小值运算指令与前一向量最大值或最小值运算指令是否访问相同的向量,若是,将该向量最大值或最小值运算指令存储在一存储队列中,待前一向量最大值或最小值运算指令执行完毕后,将存储队列中的该向量最大值或最小值运算指令提供给所述向量最大值或最小值运算单元;否则,直接将该向量最大值或最小值运算指令提供给所述向量最大值或最小值运算单元。
6.根据权利要求1所述的向量最大值或最小值运算装置,其特征在于,所述存储单元还用于存储求得的最大值元素和最小值元素。
7.根据权利要求6所述的向量最大值或最小值运算装置,其特征在于,还包括:
输入输出单元,用于将向量存储于所述存储单元,或者,从所述存储单元中获取最大值元素和最小值元素。
8.根据权利要求6所述的向量最大值或最小值运算装置,其特征在于,所述存储单元为高速暂存存储器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610266872.1/1.html,转载请声明来源钻瓜专利网。