[发明专利]一种用于执行向量四则运算的装置和方法在审
申请号: | 202010613576.0 | 申请日: | 2016-04-26 |
公开(公告)号: | CN111651203A | 公开(公告)日: | 2020-09-11 |
发明(设计)人: | 陶劲桦;支天;刘少礼;陈天石;陈云霁 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F17/16 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100191 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 执行 向量 四则运算 装置 方法 | ||
本发明提供了一种执行向量四则运算的装置及方法,用于配合一套相应的指令集,执行向量四则运算,装置包括存储单元、寄存器单元和向量四则运算单元,存储单元中存储有向量,寄存器单元中存储有向量存储的地址,向量四则运算单元根据配套指令在寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量四则运算,得到运算结果。本发明将参与计算的向量数据暂存在高速暂存存储器上,使得向量四则运算过程中可以更加灵活有效地支持不同宽度的数据,提升包含大量向量四则运算应用的执行性能。
技术领域
本发明涉及一种向量四则运算装置及方法,用于根据向量四则运算指令高效灵活地执行向量四则运算,能够很好地解决当前计算机领域越来越多的算法包含大量向量四则运算的问题。
背景技术
在已有的计算机领域应用中,与向量运算相关的应用十分普遍。以目前的热门应用领域人工智能中的主流算法机器学习算法为例,几乎所有已有的经典算法中都含有大量的向量四则运算。向量四则运算是指对向量的对应分量进行加减乘除这四种运算。具体来说,对于两个向量a=[a1,a2,…,an]和b=[b1,b2,…,bn],向量加法定义为:a+b=[a1+b1,a2+b2,…,an+bn],向量减法定义为:a-b=[a1-b1,a2-b2,…,an-bn],向量乘法定义为:[a1*b1,a2*b2,…,an*bn]向量除法定义为:[a1/b1,a2/b2,…,an/bn]。
在现有技术中,一种进行向量四则运算的已知方案是使用通用处理器,该方法通过通用寄存器堆和通用功能部件来执行通用指令,从而执行向量四则运算。然而,该方法的缺点之一是单个通用处理器多用于标量计算,在进行向量四则运算时运算性能较低。而使用多个通用处理器并行执行时,通用处理器之间的相互通讯又有可能成为性能瓶颈。在另一种现有技术中,使用图形处理器(GPU)来进行向量计算,其中,通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来进行向量四则运算。然而,上述方案中,GPU片上缓存太小,在进行大规模向量四则运算时需要不断进行片外数据搬运,片外带宽成为了主要性能瓶颈。在另一种现有技术中,使用专门定制的向量四则运算装置来进行向量计算,其中,使用定制的寄存器堆和定制的处理单元进行向量四则运算。然而,目前已有的专用向量四则运算装置受限于寄存器堆,不能够灵活地支持不同长度的向量四则运算。
发明内容
(一)要解决的技术问题
本发明的目的在于,提供一种向量四则运算装置及方法,解决现有技术中存在的受限于片间通讯、片上缓存不够、支持的向量长度不够灵活等问题。
(二)技术方案
本发明提供一种向量四则运算装置,用于根据向量四则运算指令执行向量四则运算,包括:
存储单元,用于存储向量;
寄存器单元,用于存储向量地址,其中,向量地址为向量在存储单元中存储的地址;
向量四则运算单元,用于获取向量四则运算指令,根据向量四则运算指令在寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量四则运算,得到向量四则运算结果。
(三)有益效果
本发明提供的向量四则运算装置及方法,将参与计算的向量数据暂存在高速暂存存储器(Scratchpad Memory)上。在仅发送同一条指令的情况下,向量四则运算单元中可以更加灵活有效地支持不同宽度的数据,并可以解决数据存储中的相关性问题,从而提升了包含大量向量计算任务的执行性能,本发明采用的指令具有精简的格式,使得指令集使用方便、支持的向量长度灵活。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010613576.0/2.html,转载请声明来源钻瓜专利网。