CN106990940A - 一种向量计算装置 - Google Patents

一种向量计算装置 Download PDF

Info

Publication number
CN106990940A
CN106990940A CN201610039216.8A CN201610039216A CN106990940A CN 106990940 A CN106990940 A CN 106990940A CN 201610039216 A CN201610039216 A CN 201610039216A CN 106990940 A CN106990940 A CN 106990940A
Authority
CN
China
Prior art keywords
vector
instruction
vector operation
unit
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610039216.8A
Other languages
English (en)
Other versions
CN106990940B (zh
Inventor
陈天石
张潇
刘少礼
陈云霁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongke Cambrian Technology Co Ltd
Original Assignee
Nanjing Aixi Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN202010318480.1A priority Critical patent/CN111580865B/zh
Application filed by Nanjing Aixi Information Technology Co Ltd filed Critical Nanjing Aixi Information Technology Co Ltd
Priority to CN201610039216.8A priority patent/CN106990940B/zh
Priority to CN202010318173.3A priority patent/CN111580864B/zh
Priority to CN202010317170.8A priority patent/CN111580863B/zh
Priority to CN202010318896.3A priority patent/CN111580866B/zh
Priority to EP16885912.2A priority patent/EP3407182B1/en
Priority to KR1020187015435A priority patent/KR20180100550A/ko
Priority to KR1020207013258A priority patent/KR102304216B1/ko
Priority to KR1020197017258A priority patent/KR102185287B1/ko
Priority to PCT/CN2016/078550 priority patent/WO2017124648A1/zh
Publication of CN106990940A publication Critical patent/CN106990940A/zh
Priority to US16/039,803 priority patent/US10762164B2/en
Application granted granted Critical
Publication of CN106990940B publication Critical patent/CN106990940B/zh
Priority to US16/942,482 priority patent/US11734383B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

本发明提供了一种向量计算装置,包括存储单元、寄存器单元和向量运算单元,存储单元中存储有向量,寄存器单元中存储有向量存储的地址向量运算单元根据向量运算指令在寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量运算,得到向量运算结果。本发明将参与计算的向量数据暂存在高速暂存存储器上,使得向量运算过程中可以更加灵活有效地支持不同宽度的数据,提升包含大量向量计算任务的执行性能。

Description

一种向量计算装置
技术领域
本发明涉及一种向量运算装置,用于根据向量运算指令执行向量运算,能够很好地解决当前计算机领域越来越多的算法包含大量向量运算的问题。
背景技术
当前计算机领域有越来越多的算法涉及到向量运算,以人工神经网络算法为例,多种神经网络算法中都含有大量的向量运算。在神经网络中,输出神经元的运算表达式为y=f(wx+b),其中w是矩阵,x、b是向量,计算输出向量y的过程为矩阵w与向量x相乘,加上向量b,然后对得到的向量进行激活函数运算(即对向量中的每个元素进行激活函数运算)。因此,向量运算成为目前各种计算装置在设计之初都需要考虑的一个重要问题。
在现有技术中,一种进行向量运算的已知方案是使用通用处理器,该方法通过通用寄存器堆和通用功能部件来执行通用指令,从而执行向量运算。然而,该方法的缺点之一是单个通用处理器多用于标量计算,在进行向量运算时运算性能较低。而使用多个通用处理器并行执行时,通用处理器之间的相互通讯又有可能成为性能瓶颈。
在另一种现有技术中,使用图形处理器(GPU)来进行向量计算,其中,通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来进行向量运算。然而,上述方案中,GPU片上缓存太小,在进行大规模向量运算时需要不断进行片外数据搬运,片外带宽成为了主要性能瓶颈。
在另一种现有技术中,使用专门定制的向量运算装置来进行向量计算,其中,使用定制的寄存器堆和定制的处理单元进行向量运算。然而,目前已有的专用向量运算装置受限于寄存器堆,不能够灵活地支持不同长度的向量运算。
发明内容
(一)要解决的技术问题
本发明的目的在于,提供一种向量运算装置,解决现有技术中存在的受限于片间通讯、片上缓存不够、支持的向量长度不够灵活等问题。
(二)技术方案
本发明提供一种向量运算装置,用于根据向量运算指令执行向量运算,包括:
存储单元,用于存储向量;
寄存器单元,用于存储向量地址,其中,向量地址为向量在存储单元中存储的地址;
向量运算单元,用于获取向量运算指令,根据向量运算指令在寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量运算,得到向量运算结果。
(三)有益效果
本发明提供的向量运算装置,将参与计算的向量数据暂存在高速暂存存储器上(Scratchpad Memory),使得向量运算过程中可以更加灵活有效地支持不同宽度的数据,提升包含大量向量计算任务的执行性能,本发明采用的指令具有精简的格式,使得指令集使用方便、支持的向量长度灵活。
附图说明
图1是本发明提供的向量运算装置的结构示意图。
图2是本发明提供的指令集的格式示意图。
图3是本发明实施例提供的向量运算装置的结构示意图。
图4是本发明实施例提供的向量运算装置执行向量点积指令的流程图。
图5为本发明实施例提供的向量运算单元的结构示意图。
具体实施方式
本发明提供一种向量计算装置,包括存储单元、寄存器单元和向量运算单元,存储单元中存储有向量,寄存器单元中存储有向量存储的地址向量运算单元根据向量运算指令在寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量运算,得到向量运算结果。本发明将参与计算的向量数据暂存在高速暂存存储器上,使得向量运算过程中可以更加灵活有效地支持不同宽度的数据,提升包含大量向量计算任务的执行性能。
图1是本发明提供的向量运算装置的结构示意图,如图1所示,向量运算装置包括:
存储单元,用于存储向量,在一种实施方式中,该存储单元可以是高速暂存存储器,能够支持不同大小的向量数据;本发明将必要的计算数据暂存在高速暂存存储器上(Scratchpad Memory),使本运算装置在进行向量运算过程中可以更加灵活有效地支持不同宽度的数据。
寄存器单元,用于存储向量地址,其中,向量地址为向量在存储单元中存储的地址;在一种实施方式中,寄存器单元可以是标量寄存器堆,提供运算过程中所需的标量寄存器,标量寄存器不只存放向量地址,还存放有标量数据。当涉及到向量与标量的运算时,向量运算单元不仅要从寄存器单元中获取向量地址,还要从寄存器单元中获取相应的标量。
向量运算单元,用于获取向量运算指令,根据向量运算指令在所述寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量运算,得到向量运算结果,并将向量运算结果存储于存储单元中。向量运算单元包含包括向量加法部件、向量乘法部件、大小比较部件、非线性运算部件和向量标量乘法部件,并且,向量运算单元为多流水级结构,其中,向量加法部件和向量乘法部件处于第一流水级,大小比较部件处于第二流水级,非线性运算部件和向量标量乘法部件处于第三流水级。这些单元处于不同的流水级,当连续串行的多条向量运算指令的先后次序与相应单元所在流水级顺序一致时,可以更加高效地实现这一连串向量运算指令所要求的操作。向量运算单元负责装置的所有向量运算,包括但不限于向量加法操作、向量加标量操作、向量减法操作、向量减标量操作、向量乘法操作、向量乘标量操作、向量除法(对位相除)操作、向量与操作和向量或操作,向量运算指令被送往该运算单元执行。
根据本发明的一种实施方式,向量运算装置还包括:指令缓存单元,用于存储待执行的向量运算指令。指令在执行过程中,同时也被缓存在指令缓存单元中,当一条指令执行完之后,如果该指令同时也是指令缓存单元中未被提交指令中最早的一条指令,该指令将背提交,一旦提交,该条指令进行的操作对装置状态的改变将无法撤销。在一种实施方式中,指令缓存单元可以是重排序缓存。
根据本发明的一种实施方式,向量运算装置还包括:指令处理单元,用于从指令缓存单元获取向量运算指令,并对该向量运算指令进行处理后,提供给所述向量运算单元。其中,指令处理单元包括:
取指模块,用于从指令缓存单元中获取向量运算指令;
译码模块,用于对获取的向量运算指令进行译码;
指令队列,用于对译码后的向量运算指令进行顺序存储,考虑到不同指令在包含的寄存器上有可能存在依赖关系,用于缓存译码后的指令,当依赖关系被满足之后发射指令。
根据本发明的一种实施方式,向量运算装置还包括:依赖关系处理单元,用于在向量运算单元获取向量运算指令前,判断该向量运算指令与前一向量运算指令是否访问相同的向量,若是,将该向量运算指令存储在一存储队列中,待前一向量运算指令执行完毕后,将存储队列中的该向量运算指令提供给所述向量运算单元;否则,直接将该向量运算指令提供给所述向量运算单元。具体地,向量运算指令访问高速暂存存储器时,前后指令可能会访问同一块存储空间,为了保证指令执行结果的正确性,当前指令如果被检测到与之前的指令的数据存在依赖关系,该指令必须在存储队列内等待至依赖关系被消除。
根据本发明的一种实施方式,向量运算装置还包括:输入输出单元,用于将向量存储于存储单元,或者,从存储单元中获取向量运算结果。其中,输入输出单元可直接存储单元,负责从内存中读取向量数据或写入向量数据。
根据本发明的一种实施方式,用于本发明装置的指令集采用Load/Store结构,向量运算单元不会对内存中的数据进行操作。本指令集采用精简指令集架构,指令集只提供最基本的向量运算操作,复杂的向量运算都由这些简单指令通过组合进行模拟,使得可以在高时钟频率下单周期执行指令。另外,本指令集同时采用定长指令,使得本发明提出的向量运算装置在上一条指令的译码阶段对下一条指令进行取指。
图2是本发明提供的指令集的格式示意图,如图2所示,向量运算指令包括一操作码和至少一操作域,其中,操作码用于指示该向量运算指令的功能,向量运算单元通过识别该操作码可进行不同的向量运算,操作域用于指示该向量运算指令的数据信息,其中,数据信息可以是立即数或寄存器号,例如,要获取一个向量时,根据寄存器号可以在相应的寄存器中获取向量起始地址和向量长度,再根据向量起始地址和向量长度在存储单元中获取相应地址存放的向量。
指令集包含有不同功能的向量运算指令:
向量加法指令(VA)。根据该指令,装置从高速暂存存储器的指定地址处分别取出两块指定大小的向量数据,在向量运算单元中进行加法运算,并将结果写回至高速暂存存储器的指定地址;
向量加标量指令(VAS)。根据该指令,装置从高速暂存存储器的指定地址取出指定大小的向量数据,从标量寄存器堆的指定地址取出标量数据,在标量运算单元中将向量的每一个元素加上该标量值,并将结果写回至高速暂存存储器的指定地址;
向量减法指令(VS)。根据该指令,装置从高速暂存存储器的指定地址处分别取出两块指定大小的向量数据,在向量运算单元中进行减法运算,并将结果写回至高速暂存存储器的指定地址;
标量减向量指令(SSV)。根据该指令,装置从标量寄存器堆的指定地址取出标量数据,从高速暂存存储器的指定地址取出向量数据,在向量计算单元中用该标量减去向量中的相应元素,并将结果写回高速暂存存储器的指定地址;
向量乘法指令(VMV)。根据该指令,装置从高速暂存存储器的指定地址分别取出指定大小的向量数据,在向量计算单元中将两向量数据对位相乘,并将结果写回高速暂存存储器的指定地址;
向量乘标量指令(VMS)。根据该指令,装置从高速暂存存储器的指定地址取出指定大小的向量数据,从标量寄存器堆的指定地址取出指定大小的标量数据,在向量寄存单元中进行向量乘标量运算,并将结果写回高速暂存存储器的指定地址;
向量除法指令(VD)。根据该指令,装置从高速暂存存储器的指定地址取出分别取出指定大小的向量数据,在向量运算单元中将两向量对位相除,并将结果写回至高速暂存存储器的指定地址;
标量除向量指令(SDV)。根据该指令,装置从标量寄存器堆的指定位置取出标量数据,从高速暂存存储器的指定位置取出指定大小的向量数据,在向量计算单元中用标量分别除以向量中的相应元素,并将结果写回至高速暂存存储器的指定位置;
向量间与指令(VAV)。根据该指令,装置从高速暂存存储器的指定地址取出分别取出指定大小的向量数据,在向量运算单元中将两向量对位相与,并将结果写回至高速暂存存储器的指定地址;
向量内与指令(VAND)。根据该指令,装置从高速暂存存储器的指定地址取出指定大小的向量数据,在向量运算单元中向量中每一位相与,并将结果写回至标量寄存器堆的指定地址;
向量间或指令(VOV)。根据该指令,装置从高速暂存存储器的指定地址取出分别取出指定大小的向量数据,在向量运算单元中将两向量对位相或,并将结果写回至高速暂存存储器的指定地址;
向量内或指令(VOR)。根据该指令,装置从高速暂存存储器的指定地址取出指定大小的向量数据,在向量运算单元中向量中每一位相或,并将结果写回至标量寄存器堆的指定地址;
向量指数指令(VE)。根据该指令,装置从高速暂存存储器的指定地址取出指定大小的向量数据,在向量运算单元中向量中对每一元素进行指数运算,并将结果写回至标量寄存器堆的指定地址;
向量对数指令(VL)。根据该指令,装置从高速暂存存储器的指定地址取出指定大小的向量数据,在向量运算单元中向量中对每一元素进行对数运算,并将结果写回至标量寄存器堆的指定地址;
向量大于判定指令(VGT)。根据该指令,装置从高速暂存存储器中的指定地址分别取出指定大小的向量数据,在向量运算单元中将两向量数据对位比较,前者大于后者在输出向量相应位中置1,否则置0,并将结果写回至高速暂存存储器的指定地址;
向量等于判定指令(VEQ)。根据该指令,装置从高速暂存存储器中的指定地址分别取出指定大小的向量数据,在向量运算单元中将两向量数据对位比较,前者等于后者在输出向量相应位中置1,否则置0,并将结果写回至高速暂存存储器的指定地址;
向量非指令(VINV)。根据该指令,装置从高速暂存存储器的指定地址取出指定大小的向量数据,将该向量按位取非,并将结果存回至高速暂存存储器的指定地址;
向量选择合并指令(VMER)。根据该指令,装置从高速暂存存储器的指定地址分别取出指定大小的向量数据,包括选择向量和被选择向量一以及被选择向量二。向量计算单元根据选择向量的元素为1或0从被选择向量一或被选择向量二中选取相应元素作为输出向量里该位置的元素,并将结果写回至高速暂存存储器的指定位置;
向量最大值指令(VMAX)。根据该指令,装置从高速暂存存储器的指定地址取出指定大小的向量数据,从中选出最大的元素作为结果,并将结果写回至标量寄存器堆的指定地址;
标量扩展指令(STV)。根据该指令,装置从标量寄存器堆的指定地址取出标量数据,在向量运算单元中,将标量扩展成指定长度的向量,并将结果写回至标量寄存器堆;
标量替换向量指令(STVPN)。根据该指令,装置从标量寄存器堆的指定地址取出标量,从高速暂存存储器的指定地址取出指定大小的向量数据,在向量计算单元中将向量中的指定位置的元素替换成该标量值,并将结果写回至高速暂存存储器的指定地址;
向量替换标量指令(VPNTS)。根据该指令,装置从标量寄存器堆的指定地址取出标量,从高速暂存存储器的指定地址取出指定大小的向量数据,在向量计算单元中用向量中的指定位置的元素替换该标量值,并将结果写回至标量寄存器堆的指定地址;
向量检索指令(VR)。根据该指令,装置从高速暂存存储器的指定地址取出指定大小的向量数据,在向量计算单元中根据指定位置取出向量中的相应元素作为输出,并将结果写回至标量寄存器堆的指定地址;
向量点积指令(VP)。根据该指令,装置分别从高速暂存存储器的指定地址取出指定大小的向量数据,在向量计算单元中将两向量进行点积运算,并将结果写回至标量寄存堆得指定地址;
随机向量指令(RV)。根据该指令,装置在向量计算单元中生成范围从0到1的服从均匀分布的随机向量,并将结果写回至高速暂存存储器的指定地址;
循环移位指令(VCS)。根据该指令,装置从高速暂存存储器的指定地址取出指定大小的向量数据,在向量计算单元中将该向量按照指定步长进行循环移位,并将结果写回至高速暂存存储器的指定地址;
向量加载指令(VLOAD)。根据该指令,装置从指定外部源地址载入指定大小的向量数据至高速暂存存储器的指定地址;
向量存储指令(VS)。根据该指令,装置将高速暂存存储器的指定地址的指定大小的向量数据存至外部目的地址处;
向量搬运指令(VMOVE)。根据该指令,装置将高速暂存存储器的指定地址的指定大小的向量数据存至高速暂存存储器的另一指定地址处。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图3是本发明实施例提供的向量运算装置的结构示意图,如图3所示,装置包括取指模块、译码模块、指令队列、标量寄存器堆、依赖关系处理单元、存储队列、重排序缓存、向量运算单元、高速暂存器、IO内存存取模块;
取指模块,该模块负责从指令序列中取出下一条将要执行的指令,并将该指令传给译码模块;
译码模块,该模块负责对指令进行译码,并将译码后指令传给指令队列;
指令队列,考虑到不同指令在包含的标量寄存器上有可能存在依赖关系,用于缓存译码后的指令,当依赖关系被满足之后发射指令;
标量寄存器堆,提供装置在运算过程中所需的标量寄存器;
依赖关系处理单元,该模块处理处理指令与前一条指令可能存在的存储依赖关系。向量运算指令会访问高速暂存存储器,前后指令可能会访问同一块存储空间。为了保证指令执行结果的正确性,当前指令如果被检测到与之前的指令的数据存在依赖关系,该指令必须在存储队列内等待至依赖关系被消除。
存储队列,该模块是一个有序队列,与之前指令在数据上有依赖关系的指令被存储在该队列内直至存储关系被消除;
重排序缓存,指令在执行过程中,同时也被缓存在给模块中,当一条指令执行完之后,如果该指令同时也是重排序缓存中未被提交指令中最早的一条指令,该指令将背提交。一旦提交,该条指令进行的操作对装置状态的改变将无法撤销;
向量运算单元,该模块负责装置的所有向量运算,包括但不限于向量加法操作、向量加标量操作、向量减法操作、向量减标量操作、向量乘法操作、向量乘标量操作、向量除法(对位相除)操作、向量与操作和向量或操作,向量运算指令被送往该运算单元执行;
高速暂存器,该模块是向量数据专用的暂存存储装置,能够支持不同大小的向量数据;
IO内存存取模块,该模块用于直接访问高速暂存存储器,负责从高速暂存存储器中读取数据或写入数据。
图4是本发明实施例提供的向量运算装置执行向量点积指令的流程图,如图4所示,执行向量点积指令(VP)的过程包括:
S1,取指模块取出该条向量点积指令,并将该指令送往译码模块。
S2,译码模块对指令译码,并将指令送往指令队列。
S3,在指令队列中,该向量点积指令需要从标量寄存器堆中获取指令中四个操作域所对应的标量寄存器里的数据,包括向量vin0的起始地址、向量vin0的长度、向量vin1的起始地址、向量vin1的长度。
S4,在取得需要的标量数据后,该指令被送往依赖关系处理单元。依赖关系处理单元分析该指令与前面的尚未执行结束的指令在数据上是否存在依赖关系。该条指令需要在存储队列中等待至其与前面的未执行结束的指令在数据上不再存在依赖关系为止。
S5:依赖关系不存在后,该条向量点积指令被送往向量运算单元。向量运算单元根据所需数据的地址和长度从数据暂存器中取出需要的向量,然后在向量运算单元中完成点积运算。
S6,运算完成后,将结果写回至高速暂存存储器的指定地址,同时提交重排序缓存中的该向量点积指令。
图5为本发明实施例提供的向量运算单元的结构示意图,如图5所示,向量运算单元内包含向量加法运算单元、大小比较单元、非线性运算单元、向量标量乘法单元等。并且,向量运算单元为多流水级结构,其中,向量加法部件和向量乘法部件处于流水级1,大小比较部件处于流水级2,非线性运算部件和向量标量乘法部件处于流水级3。这些单元处于不同的流水级,当连续串行的多条向量运算指令的先后次序与相应单元所在流水级顺序一致时,可以更加高效地实现这一连串向量运算指令所要求的操作。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种向量运算装置,用于根据向量运算指令执行向量运算,其特征在于,包括:
存储单元,用于存储向量;
寄存器单元,用于存储向量地址,其中,所述向量地址为向量在所述存储单元中存储的地址;
向量运算单元,用于获取向量运算指令,根据向量运算指令在所述寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量运算,得到向量运算结果。
2.根据权利要求1所述的向量运算装置,其特征在于,还包括:
指令缓存单元,用于存储待执行的向量运算指令。
3.根据权利要求2所述的向量运算装置,其特征在于,还包括:
指令处理单元,用于从所述指令缓存单元获取向量运算指令,并对该向量运算指令进行处理后,提供给所述向量运算单元。
4.根据权利要求3所述的向量运算装置,其特征在于,所述指令处理单元包括:
取指模块,用于从所述指令缓存单元中获取向量运算指令;
译码模块,用于对获取的向量运算指令进行译码;
指令队列,用于对译码后的向量运算指令进行顺序存储。
5.根据权利要求1所述的向量运算装置,其特征在于,还包括:
依赖关系处理单元,用于在所述向量运算单元获取向量运算指令前,判断该向量运算指令与前一向量运算指令是否访问相同的向量,若是,则等待前一向量运算指令执行完毕后,将该向量运算指令提供给所述向量运算单元;否则,直接将该向量运算指令提供给所述向量运算单元。
6.根据权利要求5所述的向量运算装置,其特征在于,当该向量运算指令与前一向量运算指令访问相同的向量时,所述依赖关系处理单元将该向量运算指令存储在一存储队列中,待前一向量运算指令执行完毕后,将存储队列中的该向量运算指令提供给所述向量运算单元。
7.根据权利要求1所述的向量运算装置,其特征在于,所述存储单元还用于存储所述向量运算结果。
8.根据权利要求6所述的向量运算装置,其特征在于,还包括:
输入输出单元,用于将向量存储于所述存储单元,或者,从所述存储单元中获取向量运算结果。
9.根据权利要求6所述的向量运算装置,其特征在于,所述存储单元为高速暂存存储器。
10.根据权利要求1所述的向量运算装置,其特征在于,所述向量运算指令包括一操作码和至少一操作域,其中,所述操作码用于指示该向量运算指令的功能,操作域用于指示该向量运算指令的数据信息。
11.根据权利要求1所述的向量运算装置,其特征在于,所述向量运算单元包含包括向量加法部件、向量乘法部件、大小比较部件、非线性运算部件和向量标量乘法部件。
12.根据权利要求11所述的向量运算装置,其特征在于,所述向量运算单元为多流水级结构,其中,所述向量加法部件和向量乘法部件处于第一流水级,大小比较部件处于第二流水级,非线性运算部件和向量标量乘法部件处于第三流水级。
CN201610039216.8A 2016-01-20 2016-01-20 一种向量计算装置及运算方法 Active CN106990940B (zh)

Priority Applications (12)

Application Number Priority Date Filing Date Title
CN201610039216.8A CN106990940B (zh) 2016-01-20 2016-01-20 一种向量计算装置及运算方法
CN202010318173.3A CN111580864B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
CN202010317170.8A CN111580863B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
CN202010318896.3A CN111580866B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
CN202010318480.1A CN111580865B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
KR1020187015435A KR20180100550A (ko) 2016-01-20 2016-04-06 벡터 연산 장치 및 방법
EP16885912.2A EP3407182B1 (en) 2016-01-20 2016-04-06 Vector computing device
KR1020207013258A KR102304216B1 (ko) 2016-01-20 2016-04-06 벡터 계산 장치
KR1020197017258A KR102185287B1 (ko) 2016-01-20 2016-04-06 벡터 연산 장치
PCT/CN2016/078550 WO2017124648A1 (zh) 2016-01-20 2016-04-06 一种向量计算装置
US16/039,803 US10762164B2 (en) 2016-01-20 2018-07-19 Vector and matrix computing device
US16/942,482 US11734383B2 (en) 2016-01-20 2020-07-29 Vector and matrix computing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610039216.8A CN106990940B (zh) 2016-01-20 2016-01-20 一种向量计算装置及运算方法

Related Child Applications (4)

Application Number Title Priority Date Filing Date
CN202010318896.3A Division CN111580866B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
CN202010318173.3A Division CN111580864B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
CN202010317170.8A Division CN111580863B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
CN202010318480.1A Division CN111580865B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法

Publications (2)

Publication Number Publication Date
CN106990940A true CN106990940A (zh) 2017-07-28
CN106990940B CN106990940B (zh) 2020-05-22

Family

ID=59361389

Family Applications (5)

Application Number Title Priority Date Filing Date
CN202010317170.8A Active CN111580863B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
CN202010318173.3A Active CN111580864B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
CN202010318896.3A Active CN111580866B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
CN201610039216.8A Active CN106990940B (zh) 2016-01-20 2016-01-20 一种向量计算装置及运算方法
CN202010318480.1A Active CN111580865B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN202010317170.8A Active CN111580863B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
CN202010318173.3A Active CN111580864B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法
CN202010318896.3A Active CN111580866B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010318480.1A Active CN111580865B (zh) 2016-01-20 2016-01-20 一种向量运算装置及运算方法

Country Status (4)

Country Link
EP (1) EP3407182B1 (zh)
KR (3) KR20180100550A (zh)
CN (5) CN111580863B (zh)
WO (1) WO2017124648A1 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107833176A (zh) * 2017-10-30 2018-03-23 上海寒武纪信息科技有限公司 一种信息处理方法及相关产品
CN107861757A (zh) * 2017-11-30 2018-03-30 上海寒武纪信息科技有限公司 运算装置以及相关产品
CN107957976A (zh) * 2017-12-15 2018-04-24 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108037908A (zh) * 2017-12-15 2018-05-15 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN109032669A (zh) * 2018-02-05 2018-12-18 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量最小值指令的方法
CN109754062A (zh) * 2017-11-07 2019-05-14 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
CN110502278A (zh) * 2019-07-24 2019-11-26 福州瑞芯微电子股份有限公司 基于RiscV扩展指令的神经网络协处理器及其协处理方法
CN110941789A (zh) * 2018-09-21 2020-03-31 北京地平线机器人技术研发有限公司 张量运算方法和装置
CN111079913A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111078282A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111079909A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111078281A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111290788A (zh) * 2018-12-07 2020-06-16 上海寒武纪信息科技有限公司 运算方法、装置、计算机设备和存储介质
CN111290789A (zh) * 2018-12-06 2020-06-16 上海寒武纪信息科技有限公司 运算方法、装置、计算机设备和存储介质
CN111399905A (zh) * 2019-01-02 2020-07-10 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
US11990137B2 (en) 2018-09-13 2024-05-21 Shanghai Cambricon Information Technology Co., Ltd. Image retouching method and terminal device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109754061B (zh) * 2017-11-07 2023-11-24 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
US11494734B2 (en) * 2019-09-11 2022-11-08 Ila Design Group Llc Automatically determining inventory items that meet selection criteria in a high-dimensionality inventory dataset
CN112633505B (zh) * 2020-12-24 2022-05-27 苏州浪潮智能科技有限公司 一种基于risc-v的人工智能推理方法和***

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1349159A (zh) * 2001-11-28 2002-05-15 中国人民解放军国防科学技术大学 微处理器向量处理方法
CN102043723A (zh) * 2011-01-06 2011-05-04 中国人民解放军国防科学技术大学 用于通用流处理器的可变访存模式的片上缓存结构
CN102163140A (zh) * 2011-02-28 2011-08-24 孙瑞琛 一种数据的重排方法及重排装置
CN102200964A (zh) * 2011-06-17 2011-09-28 孙瑞琛 基于并行处理的fft装置及其方法
US20130212353A1 (en) * 2002-02-04 2013-08-15 Tibet MIMAR System for implementing vector look-up table operations in a SIMD processor
CN103699360A (zh) * 2012-09-27 2014-04-02 北京中科晶上科技有限公司 一种向量处理器及其进行向量数据存取、交互的方法
CN104699458A (zh) * 2015-03-30 2015-06-10 哈尔滨工业大学 定点向量处理器及其向量数据访存控制方法
US20150248290A1 (en) * 2014-02-28 2015-09-03 International Business Machines Corporation Virtualization in a bi-endian-mode processor architecture
CN105009075A (zh) * 2013-03-15 2015-10-28 高通股份有限公司 具有水平置换的向量间接元素垂直寻址模式

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541046A (en) * 1981-03-25 1985-09-10 Hitachi, Ltd. Data processing system including scalar data processor and vector data processor
JP3317985B2 (ja) * 1991-11-20 2002-08-26 喜三郎 中澤 擬似ベクトルプロセッサ
US5669013A (en) * 1993-10-05 1997-09-16 Fujitsu Limited System for transferring M elements X times and transferring N elements one time for an array that is X*M+N long responsive to vector type instructions
US5689653A (en) * 1995-02-06 1997-11-18 Hewlett-Packard Company Vector memory operations
JPH09325888A (ja) * 1996-06-04 1997-12-16 Hitachi Ltd データ処理装置
US6665790B1 (en) * 2000-02-29 2003-12-16 International Business Machines Corporation Vector register file with arbitrary vector addressing
JP4349265B2 (ja) * 2004-11-22 2009-10-21 ソニー株式会社 プロセッサ
JP4282682B2 (ja) * 2006-04-12 2009-06-24 エヌイーシーコンピュータテクノ株式会社 情報処理装置及びそれに用いるベクトルレジスタアドレス制御方法
US8108652B1 (en) * 2007-09-13 2012-01-31 Ronald Chi-Chun Hui Vector processing with high execution throughput
JP5573134B2 (ja) * 2009-12-04 2014-08-20 日本電気株式会社 ベクトル型計算機及びベクトル型計算機の命令制御方法
CN101833441B (zh) * 2010-04-28 2013-02-13 中国科学院自动化研究所 并行向量处理引擎结构
CN101876892B (zh) * 2010-05-20 2013-07-31 复旦大学 面向通信和多媒体应用的单指令多数据处理器电路结构
JP5658945B2 (ja) * 2010-08-24 2015-01-28 オリンパス株式会社 画像処理装置、画像処理装置の作動方法、および画像処理プログラム
CN102156637A (zh) * 2011-05-04 2011-08-17 中国人民解放军国防科学技术大学 向量交叉多线程处理方法及向量交叉多线程微处理器
CN102262525B (zh) * 2011-08-29 2014-11-19 孙瑞玮 基于矢量运算的矢量浮点运算装置及方法
CN102495721A (zh) * 2011-12-02 2012-06-13 南京大学 一种支持fft加速的simd向量处理器
CN102750133B (zh) * 2012-06-20 2014-07-30 中国电子科技集团公司第五十八研究所 支持simd的32位三发射的数字信号处理器
US9098265B2 (en) * 2012-07-11 2015-08-04 Arm Limited Controlling an order for processing data elements during vector processing
US9632781B2 (en) * 2013-02-26 2017-04-25 Qualcomm Incorporated Vector register addressing and functions based on a scalar register data value
KR20150005062A (ko) * 2013-07-04 2015-01-14 삼성전자주식회사 미니-코어를 사용하는 프로세서
CN104699465B (zh) * 2015-03-26 2017-05-24 中国人民解放军国防科学技术大学 向量处理器中支持simt的向量访存装置和控制方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1349159A (zh) * 2001-11-28 2002-05-15 中国人民解放军国防科学技术大学 微处理器向量处理方法
US20130212353A1 (en) * 2002-02-04 2013-08-15 Tibet MIMAR System for implementing vector look-up table operations in a SIMD processor
CN102043723A (zh) * 2011-01-06 2011-05-04 中国人民解放军国防科学技术大学 用于通用流处理器的可变访存模式的片上缓存结构
CN102163140A (zh) * 2011-02-28 2011-08-24 孙瑞琛 一种数据的重排方法及重排装置
CN102200964A (zh) * 2011-06-17 2011-09-28 孙瑞琛 基于并行处理的fft装置及其方法
CN103699360A (zh) * 2012-09-27 2014-04-02 北京中科晶上科技有限公司 一种向量处理器及其进行向量数据存取、交互的方法
CN105009075A (zh) * 2013-03-15 2015-10-28 高通股份有限公司 具有水平置换的向量间接元素垂直寻址模式
US20150248290A1 (en) * 2014-02-28 2015-09-03 International Business Machines Corporation Virtualization in a bi-endian-mode processor architecture
CN104699458A (zh) * 2015-03-30 2015-06-10 哈尔滨工业大学 定点向量处理器及其向量数据访存控制方法

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062607A (zh) * 2017-10-30 2018-12-21 上海寒武纪信息科技有限公司 机器学习处理器及使用处理器执行向量最小值指令的方法
CN109062606B (zh) * 2017-10-30 2021-09-21 上海寒武纪信息科技有限公司 机器学习处理器及使用处理器执行向量缩放指令的方法
CN109062606A (zh) * 2017-10-30 2018-12-21 上海寒武纪信息科技有限公司 机器学习处理器及使用处理器执行向量缩放指令的方法
CN109063830A (zh) * 2017-10-30 2018-12-21 上海寒武纪信息科技有限公司 机器学习处理器及使用处理器执行向量范数指令的方法
CN108874444A (zh) * 2017-10-30 2018-11-23 上海寒武纪信息科技有限公司 机器学习处理器及使用处理器执行向量外积指令的方法
CN108874445A (zh) * 2017-10-30 2018-11-23 上海寒武纪信息科技有限公司 神经网络处理器及使用处理器执行向量点积指令的方法
CN108958801A (zh) * 2017-10-30 2018-12-07 上海寒武纪信息科技有限公司 神经网络处理器及使用处理器执行向量最大值指令的方法
CN109034383B (zh) * 2017-10-30 2021-09-21 上海寒武纪信息科技有限公司 神经网络处理器及使用处理器执行矩阵相乘指令的方法
CN109034383A (zh) * 2017-10-30 2018-12-18 上海寒武纪信息科技有限公司 神经网络处理器及使用处理器执行矩阵相乘指令的方法
CN109062539A (zh) * 2017-10-30 2018-12-21 上海寒武纪信息科技有限公司 人工智能处理器及使用处理器执行向量乘加指令的方法
CN111160549A (zh) * 2017-10-30 2020-05-15 上海寒武纪信息科技有限公司 互连电路的数据处理装置以及方法
CN107833176A (zh) * 2017-10-30 2018-03-23 上海寒武纪信息科技有限公司 一种信息处理方法及相关产品
CN109086074A (zh) * 2017-10-30 2018-12-25 上海寒武纪信息科技有限公司 机器学习处理器及使用处理器执行向量复制指令的方法
US11922132B2 (en) 2017-10-30 2024-03-05 Shanghai Cambricon Information Technology Co., Ltd. Information processing method and terminal device
CN111160548A (zh) * 2017-10-30 2020-05-15 上海寒武纪信息科技有限公司 计算装置以及计算方法
CN111160548B (zh) * 2017-10-30 2024-01-12 上海寒武纪信息科技有限公司 计算装置以及计算方法
CN109117184A (zh) * 2017-10-30 2019-01-01 上海寒武纪信息科技有限公司 人工智能处理器及使用处理器执行平面旋转指令的方法
US11762631B2 (en) 2017-10-30 2023-09-19 Shanghai Cambricon Information Technology Co., Ltd. Information processing method and terminal device
CN109754062B (zh) * 2017-11-07 2024-05-14 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
CN109754062A (zh) * 2017-11-07 2019-05-14 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
CN107861757A (zh) * 2017-11-30 2018-03-30 上海寒武纪信息科技有限公司 运算装置以及相关产品
CN107861757B (zh) * 2017-11-30 2020-08-25 上海寒武纪信息科技有限公司 运算装置以及相关产品
CN108037908A (zh) * 2017-12-15 2018-05-15 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN107957976A (zh) * 2017-12-15 2018-04-24 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN109062611B (zh) * 2018-02-05 2023-05-23 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量缩放指令的方法
CN109165041B (zh) * 2018-02-05 2023-06-30 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量范数指令的方法
US11836497B2 (en) 2018-02-05 2023-12-05 Shanghai Cambricon Information Technology Co., Ltd Operation module and method thereof
CN109165041A (zh) * 2018-02-05 2019-01-08 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量范数指令的方法
CN109032669B (zh) * 2018-02-05 2023-08-29 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量最小值指令的方法
CN109189474B (zh) * 2018-02-05 2023-08-29 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量加和指令的方法
CN109101273B (zh) * 2018-02-05 2023-08-25 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量最大值指令的方法
CN109032669A (zh) * 2018-02-05 2018-12-18 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量最小值指令的方法
CN109101273A (zh) * 2018-02-05 2018-12-28 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量最大值指令的方法
CN109165732A (zh) * 2018-02-05 2019-01-08 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量乘加指令的方法
CN109165732B (zh) * 2018-02-05 2022-05-31 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量乘加指令的方法
CN109062611A (zh) * 2018-02-05 2018-12-21 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量缩放指令的方法
CN109189474A (zh) * 2018-02-05 2019-01-11 上海寒武纪信息科技有限公司 神经网络处理装置及其执行向量加和指令的方法
US11990137B2 (en) 2018-09-13 2024-05-21 Shanghai Cambricon Information Technology Co., Ltd. Image retouching method and terminal device
US11996105B2 (en) 2018-09-13 2024-05-28 Shanghai Cambricon Information Technology Co., Ltd. Information processing method and terminal device
CN110941789A (zh) * 2018-09-21 2020-03-31 北京地平线机器人技术研发有限公司 张量运算方法和装置
CN110941789B (zh) * 2018-09-21 2023-12-15 北京地平线机器人技术研发有限公司 张量运算方法和装置
CN111079909A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111079913B (zh) * 2018-10-19 2021-02-05 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111079909B (zh) * 2018-10-19 2021-01-26 安徽寒武纪信息科技有限公司 运算方法、***及相关产品
CN111079913A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111078282A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111078281A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111290789B (zh) * 2018-12-06 2022-05-27 上海寒武纪信息科技有限公司 运算方法、装置、计算机设备和存储介质
CN111290789A (zh) * 2018-12-06 2020-06-16 上海寒武纪信息科技有限公司 运算方法、装置、计算机设备和存储介质
CN111290788A (zh) * 2018-12-07 2020-06-16 上海寒武纪信息科技有限公司 运算方法、装置、计算机设备和存储介质
CN111399905A (zh) * 2019-01-02 2020-07-10 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
CN110502278A (zh) * 2019-07-24 2019-11-26 福州瑞芯微电子股份有限公司 基于RiscV扩展指令的神经网络协处理器及其协处理方法

Also Published As

Publication number Publication date
KR20200058562A (ko) 2020-05-27
CN111580866A (zh) 2020-08-25
EP3407182B1 (en) 2022-10-26
KR102185287B1 (ko) 2020-12-01
CN106990940B (zh) 2020-05-22
CN111580864B (zh) 2024-05-07
CN111580863B (zh) 2024-05-03
KR102304216B1 (ko) 2021-09-23
CN111580866B (zh) 2024-05-07
CN111580863A (zh) 2020-08-25
CN111580865B (zh) 2024-02-27
KR20180100550A (ko) 2018-09-11
KR20190073593A (ko) 2019-06-26
EP3407182A1 (en) 2018-11-28
CN111580864A (zh) 2020-08-25
CN111580865A (zh) 2020-08-25
WO2017124648A1 (zh) 2017-07-27
EP3407182A4 (en) 2020-04-29

Similar Documents

Publication Publication Date Title
CN106990940A (zh) 一种向量计算装置
CN106991077A (zh) 一种矩阵计算装置
KR102142889B1 (ko) 스파스 연결용 인공 신경망 계산 장치와 방법
CN107315715A (zh) 一种用于执行矩阵加/减运算的装置和方法
CN107844322A (zh) 用于执行人工神经网络正向运算的装置和方法
WO2017185389A1 (zh) 一种用于执行矩阵乘运算的装置和方法
CN109542515A (zh) 运算装置及方法
CN107305538A (zh) 一种子矩阵运算装置及方法
CN107315718A (zh) 一种用于执行向量内积运算的装置和方法
CN107329734A (zh) 一种用于执行卷积神经网络正向运算的装置和方法
CN107315716A (zh) 一种用于执行向量外积运算的装置和方法
CN107315717A (zh) 一种用于执行向量四则运算的装置和方法
CN107329936A (zh) 一种用于执行神经网络运算以及矩阵/向量运算的装置和方法
CN109032668A (zh) 具有高带宽和低功率向量寄存器堆的流处理器
CN107315563A (zh) 一种用于执行向量比较运算的装置和方法
CN107315568A (zh) 一种用于执行向量逻辑运算的装置
CN109213527A (zh) 具有重叠执行的流处理器
CN107315567A (zh) 一种用于执行向量最大值最小值运算的装置和方法
CN107305486A (zh) 一种神经网络maxout层计算装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180503

Address after: 100190 room 644, research complex, 6 South Road, Haidian District Science Academy, Beijing.

Applicant after: Beijing Zhongke Cambrian Technology Co., Ltd.

Address before: 210049 18 Xianlin Road, Ma Qun street, Qixia District, Nanjing, Jiangsu.

Applicant before: NANJING AIXI INFORMATION TECHNOLOGY CO., LTD.

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant after: Zhongke Cambrian Technology Co., Ltd

Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant