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