The present invention provides an implementation of the vector maximumminimum device and method for the operation, with the corresponding instruction set, calculate the maximum and minimum values of elements of elements in the vector. The device comprises a storage unit, register unit vector and the maximum and minimum value calculation unit, storage unit in vector storage register a unit vector storage address vector, the maximum and minimum value calculation unit according to the instruction fetch address in the register unit vector, then, according to the vector address to get the corresponding vector in the storage unit, then, according to the obtained vector vector maximum and minimum value calculation, computing results. The invention will participate in the calculation of vector data is temporarily stored in the scratchpad memory, making the implementation of vector maximumminimum can support different width more flexibly and effectively in the process of operation data, enhance the vector containing the maximum and minimum value performance computing applications.
【技术实现步骤摘要】
一种用于执行向量最大值最小值运算的装置和方法
本专利技术涉及一种向量最大值最小值运算装置及方法,用于根据向量最大值最小值运算指令执行向量最大值最小值运算,求取向量中的最大值元素和最小值元素。
技术介绍
在计算机领域应用中,与向量运算相关的应用十分普遍。以目前的热门应用领域人工智能中的主流算法机器学习算法为例,几乎所有已有的经典算法中需要求取向量最大值最小值运算。对于求输入向量的最大值,max_out←max(Vector_in[i][v_size]),其中的Vector_in[i]是输入向量的起始地址,v_size是输入向量的长度,max_out是保存最大值的寄存器。指令每一个域只可以是寄存器。对于求输入向量的最小值,max_out←min(Vector_in[i][v_size])其中的Vector_in[i]是输入向量的起始地址,v_size是输入向量的长度,min_out是保存最大值的寄存器。指令每一个域只可以是寄存器。在现有技术中,一种进行向量最大值最小值运算的已知方案是使用通用处理器,该方法通过通用寄存器堆和通用功能部件来执行通用指令,从而执行向量最大值最小值运算。然而,该方法的缺点之一是单个通用处理器多用于标量计算,在进行向量最大值最小值运算时运算性能较低。而使用多个通用处理器并行执行时,通用处理器之间的相互通讯又有可能成为性能瓶颈。在另一种现有技术中,使用图形处理器(GPU)来进行向量计算,其中,通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来进行向量最大值最小值运算。然而,上述方案中,GPU片上缓存太小,在进行大规模向量最大值最小 ...
【技术保护点】
一种向量最大值最小值运算装置,用于根据向量最大值最小值运算指令求取向量中最大值元素和最小值元素,包括:存储单元,用于存储向量;寄存器单元,用于存储向量地址,其中,向量地址为向量在存储单元中存储的地址;向量最大值最小值运算单元,用于获取向量最大值最小值运算指令,根据向量最大值最小值运算指令在寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量最大值最小值运算,得到向量中最大值元素和最小值元素。
【技术特征摘要】
1.一种向量最大值最小值运算装置,用于根据向量最大值最小值运算指令求取向量中最大值元素和最小值元素,包括:存储单元,用于存储向量;寄存器单元,用于存储向量地址,其中,向量地址为向量在存储单元中存储的地址;向量最大值最小值运算单元,用于获取向量最大值最小值运算指令,根据向量最大值最小值运算指令在寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量最大值最小值运算,得到向量中最大值元素和最小值元素。2.根据权利要求1所述的向量最大值最小值运算装置,其特征在于,还包括:指令缓存单元,用于存储待执行的向量最大值最小值运算指令。3.根据权利要求2所述的向量最大值最小值运算装置,其特征在于,还包括:指令处理单元,用于从指令缓存单元获取向量最大值最小值运算指令,并对该向量最大值最小值运算指令进行处理后,提供给所述向量最大值最小值运算单元。4.根据权利要求3所述的向量最大值最小值运算装置,其特征在于,所述指令处理单元包括:取指模块,用于从指令缓存单元中获取向量最大值最小值运算指令;译码模块,用于对获取的向量最大值最小值运算指令进行译码;指令队列,用于对译码后的向量最大值最小值运算指令进行顺序存储。5.根据权利要求1所述的向量最大值最小值运算装置,其特征在于,还包括:依赖关系处理单元,用于在所述向量最大值最小值运算单元获取向量最大值最小值运算指令前,用于在向量最大值最小值运算单元获取向量最大值最小值运算指令前,判断该向量最大值最小值运算指令与前一向量最大值最小值运算指令是否访问相同的向量,若是,将该向量最大值最小值运算指令存储在一存储队列中,待前一向量最大值最小值运算指令执行完毕后,将存储队列中的该向量最大值最小值运算指令提供给所述向量最大值最小值运算单元;否则,直接将该向量最大值最小值运算指令提供给所述向量最大值最小值运算单元。6.根据权利要求1所述的向量最大值最小值运算装置,其特征在于,所述存储单元还用于存储求得的最大值元素和最小值元素。7.根据权利要求6所述的向量最大值最小值运算装置,其特征在于,还包括:输入输出单元,用于将向量存储于所述存储单元,...
【专利技术属性】
技术研发人员:支天,刘少礼,郭崎,陈天石,陈云霁,
申请(专利权)人:北京中科寒武纪科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。