CN113741567B - 矢量加速器及其控制方法、装置 - Google Patents

矢量加速器及其控制方法、装置 Download PDF

Info

Publication number
CN113741567B
CN113741567B CN202111310588.7A CN202111310588A CN113741567B CN 113741567 B CN113741567 B CN 113741567B CN 202111310588 A CN202111310588 A CN 202111310588A CN 113741567 B CN113741567 B CN 113741567B
Authority
CN
China
Prior art keywords
vector
data
accelerator
instruction
execution unit
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.)
Active
Application number
CN202111310588.7A
Other languages
English (en)
Other versions
CN113741567A (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.)
Guangzhou New Generation Chip Technology Co ltd
Original Assignee
Guangdong Communications and Networks Institute
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
Application filed by Guangdong Communications and Networks Institute filed Critical Guangdong Communications and Networks Institute
Priority to CN202111310588.7A priority Critical patent/CN113741567B/zh
Publication of CN113741567A publication Critical patent/CN113741567A/zh
Application granted granted Critical
Publication of CN113741567B publication Critical patent/CN113741567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D13/00Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover
    • G05D13/62Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover characterised by the use of electric means, e.g. use of a tachometric dynamo, use of a transducer converting an electric value into a displacement

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Advance Control (AREA)

Abstract

本申请公开了一种矢量加速器及其控制方法、装置,矢量加速器包括矢量超前运行单元和矢量执行单元,所述矢量超前运行单元预取所述矢量执行单元进行矢量运算的矢量数据,所述矢量加速器的控制方法包括:在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据;将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。解决了矢量加速器进行矢量运算时的耦合度较高的技术问题,提高了矢量加速器进行矢量运算的速度。

Description

矢量加速器及其控制方法、装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种矢量加速器及其控制方法、装置。
背景技术
随着人工智能的快速发展,许多应用程序都包含了比较高百分比的矢量运算,在运行应用的过程中,运算器需要执行大量的矢量运算。目前的矢量运算器,如Cray-1型的矢量加速器,向量数据访问和向量执行之间的解耦度不高,降低了矢量加速器的运算速度。
发明内容
本申请实施例通过提供一种矢量加速器及其控制方法、装置,旨在降低矢量加速器进行矢量运算时的耦合度。
为实现上述目的,本申请一方面提供一种矢量加速器的控制方法,所述矢量加速器包括矢量超前运行单元和矢量执行单元,所述矢量超前运行单元预取所述矢量执行单元进行矢量运算的矢量数据,所述矢量加速器的控制方法包括:
在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据;
将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。
可选地,所述从矢量超前运行单元获取目标矢量数据的步骤之前,还包括:
接收矢量加速器配置指令,基于所述矢量加速器配置指令配置向量长度以及寄存器数量;
接收启动矢量运算指令,基于所述启动矢量运算指令获取缓存区中缓存的数据获取指令;
根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据;
将所述矢量数据存储于所述矢量超前运行单元。
可选地,所述根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据的步骤包括:
获取所述缓存区中缓存的所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息;
根据所述地址信息、所述寄存器信息以及所述数据长度信息从所述缓存区中获取所述矢量数据。
可选地,所述获取所述缓存区中缓存的所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息的步骤,包括:
解析所述缓存区中缓存的所述数据获取指令得到所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息。
可选地,所述在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据的步骤,包括:
在矢量运行的过程中,根据矢量运算的进程确定从所述矢量超前运行单元缓存的矢量数据中获取执行所述进程的目标矢量数据。
可选地,所述将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算的步骤之前,包括:
接收中央处理器的配置指令;
根据所述配置指令设置所述矢量加速器的寄存器个数。
可选地,所述将所述目标矢量数据发送至矢量执行单元的步骤之后,还包括:
获取所述矢量执行单元执行所述矢量运算的执行进程,根据所述执行进程确定发送至所述矢量执行单元的目标矢量数据的数据量。
此外,为实现上述目的,本发明还提出一种矢量加速器的控制装置,包括:
获取模块,用于在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据;
发送模块,用于将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。
此外,为实现上述目的,本发明还提出一种矢量加速器,所述矢量加速器包括矢量加速器、存储器以及存储在所述存储器上并可在所述矢量加速器上运行的矢量加速器的控制程序,所述矢量加速器的控制程序被所述矢量加速器执行时实现如上述任一项矢量加速器的控制方法的步骤。
可选地,所述矢量加速器与中央处理器建立连接,接收所述中央处理器的指令,执行所述指令对应的控制操作。
在本实施例中,矢量处理器在执行矢量运算时,在矢量加速器进行运算的过程中,从矢量超前运行单元获取目标矢量数据,并将目标矢量数据发送至矢量执行单元,以供矢量执行单元接收目标矢量数据后执行矢量运算。在矢量加速器进行矢量运算时,矢量超前运行单元能够提前从矢量超前运行单元中预取矢量执行单元进行矢量运算的目标矢量数据,并发送至矢量执行单元。矢量执行单元直接接收矢量超前运行单元发送的目标矢量数据即可,即,将矢量数据的获取与矢量运算分开执行,通过降低了矢量加速器进行矢量运算的耦合性的方式,提高了矢量加速器进行矢量运算的效率。
附图说明
图1为本申请实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本申请矢量加速器的控制方法一实施例的流程示意图;
图3为本申请矢量加速器的控制方法矢量加速器的结构示意图;
图4为本申请矢量加速器的控制方法矢量超前运行单元的结构示意图;
图5为本申请矢量加速器的控制方法功能模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
作为一种实现方案,请参照图1,图1可以是本发明实施例方案涉及的终端设备的硬件架构示意图,如图1所示,该终端设备可以包括矢量加速器101,例如GPU,存储器102,通信总线103,其中,通信总线103用于实现这些模块之间的连接通信。
存储器102可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。如图1所示,作为一种可读存储介质的存储器102中可以包括矢量加速器的控制程序;而矢量加速器101可以用于调用存储器102中存储的矢量加速器的控制程序,并执行以下操作:
在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据;
将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。
进一步地,矢量加速器101可以用于调用存储器102中存储的矢量加速器的控制程序,并执行以下操作:
接收矢量加速器配置指令,基于所述矢量加速器配置指令配置向量长度以及寄存器数量;
接收启动矢量运算指令,基于所述启动矢量运算指令获取缓存区中缓存的数据获取指令;
根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据;
将所述矢量数据存储于所述矢量超前运行单元。
进一步地,矢量加速器101可以用于调用存储器102中存储的矢量加速器的控制程序,并执行以下操作:
获取所述缓存区中缓存的所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息;
根据所述地址信息、所述寄存器信息以及所述数据长度信息从所述缓存区中获取所述矢量数据。
进一步地,矢量加速器101可以用于调用存储器102中存储的矢量加速器的控制程序,并执行以下操作:
解析所述缓存区中缓存的所述数据获取指令得到所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息。
进一步地,矢量加速器101可以用于调用存储器102中存储的矢量加速器的控制程序,并执行以下操作:
在矢量运行的过程中,根据矢量运算的进程确定从所述矢量超前运行单元缓存的矢量数据中获取执行所述进程的目标矢量数据。
进一步地,矢量加速器101可以用于调用存储器102中存储的矢量加速器的控制程序,并执行以下操作:
接收中央处理器的配置指令;
根据所述配置指令设置所述矢量加速器的寄存器个数。
进一步地,矢量加速器101可以用于调用存储器102中存储的矢量加速器的控制程序,并执行以下操作:
获取所述矢量执行单元执行所述矢量运算的执行进程,根据所述执行进程确定发送至所述矢量执行单元的目标矢量数据的数据量。
参考图2,图2为本申请矢量加速器的控制方法一实施例的流程示意图。
本申请实施例提供了矢量加速器的控制方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
矢量加速器的控制方法包括:
步骤S10,在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据;
步骤S20,将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。
由于现有的矢量运算器,如Cray-1型的矢量加速器,向量数据访问和向量执行之间的解耦度不高,降低了矢量加速器的运算速度。
在本实施例中,矢量加速器接收从中央处理器(CPU)发送的指令,解析接收到的指令,执行与所述指令对应的操作。
参照图3,图3为本申请矢量处理器的结构示意图。在本申请中,矢量处理器包括缓存区,其中所述缓存区为矢量加速器的外部缓存区(外部缓存区L1、外部缓存区L2,其中,外部缓存区L1和外部缓存区L2可进行数据交互),矢量超前运行单元、以及矢量执行单元。其中,矢量超前运行单元提前从外部缓存区L1或外部缓存区L2中获取矢量执行单元需要进行矢量运算的数据,并在矢量执行单元执行矢量运算时,在矢量数据中获取目标矢量数据从矢量超前运行单元发送至矢量执行单元。
可选地,矢量超前运行单元通过在接收到加载指令把目标矢量数据发送至矢量执行单元的寄存器中,以供矢量执行单元在执行矢量运算时,通过获取寄存器中存储的目标数据进行矢量运算。
将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算的步骤之前,矢量加速器接收CPU的配置指令,根据所述配置指令设置所述矢量加速器的寄存器个数。
进一步地,参照图4,图4为本申请矢量超前运行单元的结构示意图,在本实施例中,矢量超前运行单元包括节流管理器。所述节流管理器控制从矢量超前运行单元发送至矢量执行单元的目标矢量数据的数据量,对发送至矢量执行单元的数据量进行管理,能够防止矢量执行单元中的矢量数据堆积,影响矢量执行单元计算速度。即,在矢量加速器执行矢量运算时,矢量超前运行单元的节流管理器获取矢量执行单元执行矢量运算的执行进程,根据执行进程确定发送至矢量执行单元的目标矢量数据的数据量。
在本实施例中,矢量处理器在执行矢量运算时,矢量运行单元将从矢量超前运行单元获取矢量数据,并将目标矢量数据发送至矢量执行单元,以供矢量执行单元接收目标矢量数据后执行矢量运算。在矢量加速器进行矢量运算时,矢量超前运行单元能够提前从矢量超前运行单元中预取矢量执行单元进行矢量运算的目标矢量数据,并发送至矢量执行单元。矢量执行单元不需要从矢量超前运行单元中获取进行矢量计算的目标矢量数据,直接接收矢量超前运行单元发送的目标矢量数据即可,即,将矢量数据的获取与矢量运算分开执行,通过降低了矢量加速器进行矢量运算的耦合性的方式,提高了矢量加速器进行矢量运算的效率。
进一步地,提出本申请矢量加速器的控制方法另一实施例。所述从矢量超前运行单元获取目标矢量数据的步骤之前,还包括:
步骤S1,接收矢量加速器配置指令,基于所述矢量加速器配置指令配置向量长度以及寄存器数量;
步骤S2,接收启动矢量运算指令,基于所述启动矢量运算指令获取缓存区中缓存的数据获取指令;
步骤S3,根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据;
步骤S4,将所述矢量数据存储于所述矢量超前运行单元。
在本实施例中矢量超前运行单元接收矢量加速器配置指令,基于所述矢量加速器配置指令配置向量长度以及寄存器数量,并在接收到启动矢量运算指令(例如,VectorFetch指令)时,基于接收到的启动矢量运算指令,从缓存区(外部缓存区L1或外部缓存区L2)中获取数据获取指令,根据得到的数据获取指令获取在缓存区中缓存的矢量数据,将矢量数据存储于矢量超前运行单元的缓存区中,以在矢量执行单元执行矢量运算时,根据矢量运算的进程确定从所述矢量超前运行单元缓存的矢量数据中获取执行所述进程的目标矢量数据。
在本实施例中,矢量超前运行单元能够提前从外部缓存中提前获取需要执行矢量计算的矢量数据,缓存至矢量超前运行单元的缓存区中,提高了矢量超前运行单元将目标矢量数据发送至矢量执行单元的速度。
所述根据所述数据获取指令获取缓存区的矢量数据的步骤包括:
步骤S31,获取所述缓存区中缓存的所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息;
步骤S32,根据所述地址信息、所述寄存器信息以及所述数据长度信息从所述缓存区中获取所述矢量数据。
在本实施例中,矢量加速器获取所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息,根据所述寄存器信息以及所述数据长度信息从所述缓存区中获取所述矢量数据。
可选地,在本实施例中,矢量超前运行单元的命令解码模块解析所述缓存区中缓存的数据获取指令得到所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息。
在本实施例中通过矢量超前运行单元的命令解码模块解析所述缓存区中缓存的数据获取指令得到矢量数据,提高了矢量数据获取的准确性。
在本实施例中,矢量超前运行单元基于启动矢量运算指令中的地址获取目标指令。其中,所述目标指令即为启动获取矢量数据的首条执行。例如,向量a和向量b相加时,目标指令即为获取向量a的指令。并基于所述目标指令获取所述目标矢量数据的地址信息以及所述目标矢量数据的数据长度,根据所述地址信息以及所述数据长度从所述缓存区中获取所述目标矢量数据。
在本实施例中,矢量超前运行单元在接收到目标指令(例如,VLW指令),解析向量配置指令以及向量长度配置指令得到目标矢量数据的地址信息以及所述目标矢量数据的数据长度,根据解析得到的地址信息以及数据长度,提前从外部缓存中获取矢量数据。
在本实施例中,能够提前从外部缓存中获取矢量数据,并存储至矢量超前运行单元,提高了获取矢量数据的速度。
为了更清楚的描述本发明的技术方案,下面通过一具体的例子对本发明的技术方案进行说明。例如,向量a=[a0,a1,a2,a3,……,a254,a255];b=[b0,b1,b2,b3,……,b254,b256],求向量 a + b的运算结果。
其执行过程为:先配置矢量处理器,在取出运算所需要的数据,对数据进行运算。
首先cpu会发出VSETCFG(向量配置命令)命令来配置矢量寄存器vcfg,来设置使用寄存器的个数。其中,VSETCFG(向量配置命令)命令通过向量/向量超前队列传递到矢量处理器。
CPU会发出 VSETVL(向量长度配置指令)指令。该指令会设置向量长度寄存器vlen的值,这个信息会通过向量/向量超前队列传递到矢量处理器记录下来。在本例子中,设置的长度值为256,即是rs1地址中包含的值为256,同时cpu会把r1中的值写到rd寄存器中。
31 25 24 20 19 15 14 12 11 7 6 0
0000000 00000 rs1 110 rd 0001011
VMCA(数据移动到向量地址寄存器指令)指令把a向量的首个元素的地址信息和b向量的首个元素的地址信息分别移动到两个向量地址寄存器中(交底书提到的地址寄存器)。
如: vmca va0,t0;
vmca va1,t1。
该控制执行通过命令队列传递到标量单元和矢量超前运行单元。
cpu发出vf指令,通过vf 指令中的r1里的值和立即数imm相加得到了取指令的地址。
31 25 24 20 19 15 14 12 11 7 6 0
imm[11:5] 10000 rs1 010 imm[4:0] 0101011
比如:imm[11:0] = 1001_0010_0000(十六进制为0x920),rs1 = 01010。
31 25 24 20 19 15 14 12 11 7 6 0
1001001 10000 01010 010 00000 0101011
其中rs1=01010这个地址中存放的数据是0x80001000,标量处理器将会通过外部缓存区L1从地址0x80001000 + 0x920 = 0x80001920中取第一条指令。0x80001920的地址中包含的指令是取a向量数据的VLW(单位跨步向量符号扩展加载字指令)指令,该指令会被标量单元解码(标量单元不执行该指令),送到矢量执行单元执行。矢量超前运行单元从外部缓存区L1中获得指令,解码该加载指令,并且使用VMCA(数据移动到向量地址寄存器指令)收集的地址信息,VSETVL(向量长度配置指令)指令搜集的向量长度信息,矢量超前指令运算单元直接向外部缓存区L2或外部缓存区L1发出预取指令,以预测由向量通道发出的取数据负载(即是提前取出矢量运算需要的运算数据)。其中,as1就是上述的va1。
63 48 47 45 44 42 41 40 33 32 31 24 23 16 15 12 11 0
000000000000000 000 010 0 00000000 1 as1 vd p 101100111111
接着取第二条指令,第二指令也是VLW(单位跨步向量符号扩展加载字指令)指令,用来加载b向量数据的。取下一条矢量相加指令,预取的目标矢量数据传到向量执行单元就行计算,结果通过存储控制器写回内存。
在本实施例中,矢量处理器在执行矢量运算时,在矢量加速器进行运算时,矢量运行单元将从矢量超前运行单元获取矢量数据,并将目标矢量数据发送至矢量执行单元,以供矢量执行单元接收目标矢量数据后执行矢量运算。在矢量加速器进行矢量运算时,矢量超前运行单元能够提前从矢量超前运行单元中预取矢量执行单元进行矢量运算的目标矢量数据,并发送至矢量执行单元。矢量执行单元不需要从矢量超前运行单元中获取进行矢量计算的目标矢量数据,直接接收矢量超前运行单元发送的目标矢量数据即可,即,将矢量数据的获取与矢量运算分开执行,通过降低了矢量加速器进行矢量运算的耦合性的方式,提高了矢量加速器进行矢量运算的效率。
此外,参照图5,图5为本申请矢量加速器的控制装置的结构示意图。为实现上述目的,本发明还提出一种矢量加速器的控制装置,包括:
获取模块10,用于在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据;
发送模块20,用于将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。
此外,为实现上述目的,本发明还提出一种矢量加速器,所述矢量加速器包括矢量加速器、存储器以及存储在所述存储器上并可在所述矢量加速器上运行的矢量加速器的控制程序,所述矢量加速器的控制程序被所述矢量加速器执行时实现如上述任一项矢量加速器的控制方法的步骤。
此外,为实现上述目的,本发明还提出一种矢量加速器,所述矢量加速器与中央处理器建立连接,接收所述中央处理器的指令,执行所述指令对应的控制操作。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (9)

1.一种矢量加速器的控制方法,其特征在于,所述矢量加速器包括矢量超前运行单元和矢量执行单元,所述矢量超前运行单元预取所述矢量执行单元进行矢量运算的矢量数据,所述矢量加速器的控制方法包括:
接收矢量加速器配置指令,基于所述矢量加速器配置指令配置向量长度以及寄存器数量;
接收启动矢量运算指令,基于所述启动矢量运算指令获取缓存区中缓存的数据获取指令;
根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据;
将所述矢量数据存储于所述矢量超前运行单元;
在矢量运算的过程中,从所述矢量超前运行单元获取目标矢量数据;
将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。
2.如权利要求1所述的矢量加速器的控制方法,其特征在于,所述根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据的步骤包括:
获取所述缓存区中缓存的所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息;
根据所述地址信息、所述寄存器信息以及所述数据长度信息从所述缓存区中获取所述矢量数据。
3.如权利要求2所述的矢量加速器的控制方法,其特征在于,所述获取所述缓存区中缓存的所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息的步骤,包括:
解析所述缓存区中缓存的所述数据获取指令得到所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息。
4.如权利要求1所述的矢量加速器的控制方法,其特征在于,所述在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据的步骤,包括:
在矢量运行的过程中,根据矢量运算的进程确定从所述矢量超前运行单元缓存的矢量数据中获取执行所述进程的目标矢量数据。
5.如权利要求1所述的矢量加速器的控制方法,其特征在于,所述将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算的步骤之前,包括:
接收中央处理器的配置指令;
根据所述配置指令设置所述矢量加速器的寄存器个数。
6.如权利要求5所述矢量加速器的控制方法,其特征在于,所述将所述目标矢量数据发送至矢量执行单元的步骤之后,还包括:
获取所述矢量执行单元执行所述矢量运算的执行进程,根据所述执行进程确定发送至所述矢量执行单元的目标矢量数据的数据量。
7.一种矢量加速器的控制装置,其特征在于,包括:
获取模块,用于接收矢量加速器配置指令,基于所述矢量加速器配置指令配置向量长度以及寄存器数量;接收启动矢量运算指令,基于所述启动矢量运算指令获取缓存区中缓存的数据获取指令;根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据;将所述矢量数据存储于矢量超前运行单元;在矢量运算的过程中,从所述矢量超前运行单元获取目标矢量数据;
发送模块,用于将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。
8.一种矢量加速器,其特征在于,所述矢量加速器包括矢量加速器、存储器以及存储在所述存储器上并可在所述矢量加速器上运行的矢量加速器的控制程序,所述矢量加速器的控制程序被所述矢量加速器执行时实现如权利要求1-6任一项矢量加速器的控制方法的步骤。
9.如权利要求8所述的矢量加速器,其特征在于,所述矢量加速器与中央处理器建立连接,接收所述中央处理器的指令,执行所述指令对应的控制操作。
CN202111310588.7A 2021-11-08 2021-11-08 矢量加速器及其控制方法、装置 Active CN113741567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111310588.7A CN113741567B (zh) 2021-11-08 2021-11-08 矢量加速器及其控制方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111310588.7A CN113741567B (zh) 2021-11-08 2021-11-08 矢量加速器及其控制方法、装置

Publications (2)

Publication Number Publication Date
CN113741567A CN113741567A (zh) 2021-12-03
CN113741567B true CN113741567B (zh) 2022-03-29

Family

ID=78727684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111310588.7A Active CN113741567B (zh) 2021-11-08 2021-11-08 矢量加速器及其控制方法、装置

Country Status (1)

Country Link
CN (1) CN113741567B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2939689A (en) * 1988-01-11 1989-08-01 Digital Equipment Corporation Method for prefetching vector data from memory in a memory system designed for scalar processing
CN1180864A (zh) * 1996-08-19 1998-05-06 三星电子株式会社 多媒体信号处理器中的单指令多数据处理方法及其装置
CN106020773A (zh) * 2016-05-13 2016-10-12 中国人民解放军信息工程大学 异构众核架构中有限差分算法的优化方法
CN110389909A (zh) * 2018-04-16 2019-10-29 三星电子株式会社 使用深度神经网络优化固态驱动器的性能的系统和方法
CN112561197A (zh) * 2020-12-23 2021-03-26 国网江苏省电力有限公司南京供电分公司 一种带有主动防御影响范围的电力数据预取与缓存方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009046876A1 (de) * 2009-03-31 2010-10-07 Advanced Micro Devices, Inc., Sunnyvale Verfahren und System für die Datenvorabholung für Schleifen auf der Basis linearer Induktionsausdrücke
CN109461113B (zh) * 2018-10-11 2021-07-16 中国人民解放军国防科技大学 一种面向数据结构的图形处理器数据预取方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2939689A (en) * 1988-01-11 1989-08-01 Digital Equipment Corporation Method for prefetching vector data from memory in a memory system designed for scalar processing
CN1180864A (zh) * 1996-08-19 1998-05-06 三星电子株式会社 多媒体信号处理器中的单指令多数据处理方法及其装置
CN106020773A (zh) * 2016-05-13 2016-10-12 中国人民解放军信息工程大学 异构众核架构中有限差分算法的优化方法
CN110389909A (zh) * 2018-04-16 2019-10-29 三星电子株式会社 使用深度神经网络优化固态驱动器的性能的系统和方法
CN112561197A (zh) * 2020-12-23 2021-03-26 国网江苏省电力有限公司南京供电分公司 一种带有主动防御影响范围的电力数据预取与缓存方法

Also Published As

Publication number Publication date
CN113741567A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
KR101817397B1 (ko) 하나의 아키텍처의 코드 모듈이 다른 아키텍처의 라이브러리 모듈을 사용할 수 있게 하는 아키텍처 간 호환성 모듈
US7577826B2 (en) Stall prediction thread management
US6785772B2 (en) Data prefetching apparatus in a data processing system and method therefor
US7234025B2 (en) Microprocessor with repeat prefetch instruction
KR101572770B1 (ko) 벡터 로드-op/저장-op에 스트라이드 기능을 제공하는 명령어 및 로직
CN107766079B (zh) 处理器以及用于在处理器上执行指令的方法
KR20010030587A (ko) 데이터 처리장치
US7823140B2 (en) Java bytecode translation method and Java interpreter performing the same
JPS62245442A (ja) 情報処理装置
CN104978284A (zh) 处理器子程序高速缓冲存储器
CN107544926B (zh) 处理系统及其访存方法
US10732978B2 (en) Data processing systems
US20230273797A1 (en) Processor with adaptive pipeline length
US6205544B1 (en) Decomposition of instructions into branch and sequential code sections
US20120324195A1 (en) Allocation of preset cache lines
CN110806900B (zh) 一种访存指令处理方法及处理器
US9710269B2 (en) Early conditional selection of an operand
JP3749233B2 (ja) パイプラインでの命令実行方法及び装置
US9817763B2 (en) Method of establishing pre-fetch control information from an executable code and an associated NVM controller, a device, a processor system and computer program products
JP2004529405A (ja) 依存性を決定するためのコンテンツ・アドレス指定可能メモリを実装したスーパースケーラ・プロセッサ
US7555609B2 (en) Systems and method for improved data retrieval from memory on behalf of bus masters
CN113741567B (zh) 矢量加速器及其控制方法、装置
CN109144572B (zh) 指令执行方法和处理器
WO2023237084A1 (zh) 一种数据预取方法、编译方法及相关装置
CN116821008B (zh) 具有提高的高速缓存命中率的处理装置及其高速缓存设备

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
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Zhu Fusheng

Inventor after: Liu Yujia

Inventor after: Chen Qinshu

Inventor after: Zhu Xiaoming

Inventor after: Lu Hua

Inventor before: Liu Yujia

Inventor before: Chen Qinshu

Inventor before: Zhu Fusheng

Inventor before: Zhu Xiaoming

Inventor before: Lu Hua

CB03 Change of inventor or designer information
TR01 Transfer of patent right

Effective date of registration: 20231229

Address after: Building A, Runhui Science and Technology Park, No. 18 Shenzhou Road, Huangpu District, Guangzhou City, Guangdong Province, 510663 (self numbered 301, 3rd floor)

Patentee after: Guangzhou New Generation Chip Technology Co.,Ltd.

Address before: No.18, Shenzhou Road, Huangpu District, Guangzhou, Guangdong 510656

Patentee before: GUANGDONG NEW GENERATION COMMUNICATION AND NETWORK INNOVATION INSTITUTE

TR01 Transfer of patent right