本申请实施例涉及数据处理领域,尤其涉及一种数据处理装置、数据处理系统及芯片。
背景技术:
1、随着技术的不断进步,一些新兴应用场景也给mcu(microcontroller unit,微控制单元)提出了新的要求,需要具备一定的ai(artificial intelligence,人工智能)功能。基于mcu平台运行人工智能和机器学习,发展性能更高、功耗更低的边缘计算,正在成为行业热点。例如,在mcu中集成npu(neuralnetwork processing unit,神经网络处理单元),来提高ai处理能力。但这样异构计算的方式,增加了软件实现的复杂度,软件与硬件的协同能力不足。
技术实现思路
1、有鉴于此,本申请实施例提供一种数据处理装置、数据处理系统及芯片。
2、一方面,本申请实施例提供一种数据处理装置,包括:
3、译码模块,用于接收基于risc-v(reduced instruction set computer-five,开源指令集架构)的扩展指令;其中,所述扩展指令包括:数据搬移指令和配置指令;
4、数据搬移模块,用于接收来自所述译码模块的所述数据搬移指令,并基于所述数据搬移指令访问相应的数据传输接口,进行数据传输;
5、配置模块,用于接收来自所述译码模块的所述配置指令,并基于所述配置指令进行参数配置;
6、数据处理模块,用于根据所述数据搬移指令和所述配置指令进行数据运算处理;
7、一个或多个数据传输接口,分别连接所述数据处理模块和所述数据搬移模块,用于根据所述数据搬移指令传输对应的数据。
8、在一些实施例中,所述数据处理模块,包括多个数据处理单元,所述多个数据处理单元中的不同数据处理单元用于对数据进行不同的所述数据运算处理。
9、在一些实施例中,所述数据处理装置还包括:
10、数据运算模块,连接所述数据处理模块,用于执行所述数据处理模块的所述数据运算处理中的数据运算。
11、在一些实施例中,所述数据运算模块包括以下一种或多种单元:
12、乘阵列单元,用于实现所述数据运算中的乘法运算;
13、加阵列单元,用于实现所述数据运算中的加法运算;
14、格式转换单元,用于实现所述数据的格式转换。
15、在一些实施例中,所述数据运算模块包括:复用cpu(central processingunit,中央处理器)中的alu(arithmetic and logic unit,算术逻辑单元)。
16、在一些实施例中,所述数据处理模块包括以下一种或多种数据处理单元:
17、反量化单元,用于通过所述数据传输接口读取数据和控制信息,并请求使用所述数据运算模块进行数据运算;
18、点积单元,用于接收所述反量化单元提供的数据和所述控制信息,通过所述数据传输接口读取使能信号,并请求使用所述数据运算模块进行数据运算;
19、累加单元,用于接收所述点积单元提供的数据和所述控制信息,根据所述控制信息读取缓存,并请求使用所述数据运算模块进行数据运算;
20、偏置单元,用于接收所述累加单元提供的数据和所述控制信息,根据所述控制信息通过所述数据传输接口读取使能信号,并请求使用所述数据运算模块进行数据运算;
21、激活单元,用于接收所述偏置单元提供的数据和所述控制信息,并根据所述控制信息进行激活处理;
22、量化单元,用于接收所述激活单元提供的数据和所述控制信息,请求使用所述数据运算模块进行数据处理,并将处理后的数据通过所述数据传输接口输出值所述数据搬移模块。
23、在一些实施例中,所述数据传输接口包括:
24、连接所述数据搬移模块与所述反量化单元的第一接口;
25、连接所述数据搬移模块与所述点积单元的第二接口;
26、连接所述数据搬移模块与所述偏置单元的第三接口;
27、连接所述数据搬移模块与所述量化单元的第四接口;
28、连接所述数据搬移模块与所述量化单元的第五接口;
29、以及连接所述数据搬移模块的第六接口。
30、在一些实施例中,所述第一接口、第二接口、第三接口、第四接口以及第六接口分别用于通过所述数据搬移模块读取外部存储器上的第一数据;所述第五接口用于将所述量化单元处理后的第二数据通过所述数据搬移模块写入到所述外部存储器上。
31、在一些实施例中,所述第一数据包括以下一种或多种:
32、地址参数;特征值参数;权重参数;偏置参数;量化系数;以及所述数据处理的操作数据。
33、在一些实施例中,所述数据运算模块进行数据处理的过程中,所述权重参数、所述偏置参数或所述量化系数在预设时长内保持不变。
34、在一些实施例中,所述数据搬移模块加载所述特征值参数采用广播或行滑动的方式;
35、其中,所述广播的方式包括:加载相同的特征值参数至所述数据处理模块的多个数据处理单元;
36、所述行滑动的方式包括:依次加载顺移指定位数的特征值参数至不同的所述数据处理单元。
37、另一方面,本申请实施例还提供一种数据处理系统,包括:
38、基于risc-v的cpu;
39、与所述cpu连接的npu;其中,所述npu包括:上述任一数据处理装置。
40、在一些实施例中,所述数据处理系统还包括:
41、连接所述cpu以及所述npu的总线单元;
42、连接所述总线单元的存储器;其中,所述存储器包括:片上存储器和/或片外存储器。
43、在一些实施例中,所述npu包括:
44、vcu(vector computing unit,向量计算单元);
45、lsu(lift station unit,数据搬运单元);以及
46、tcu(卷积计算处理单元);其中,所述tcu包括所述数据处理装置。
47、在一些实施例中,所述npu还包括:
48、译码器;高速缓冲存储器;以及缓存。
49、另一方面,本申请实施例还提供一种芯片,该芯片包含上述任一所述的数据处理系统。
50、本申请实施例利用risc-v扩展指令,实现数据搬移以及参数配置,利用数据处理模块的硬件结构实现数据的运算处理,并通过一个或多个数据传输接口实现数据处理模块与数据搬移模块之间的数据传输。一方面,risc-v扩展指令具有高效,可扩展能力强以及适用范围广的特点,因此可以有效提升了软件与硬件的协同能力,提升指令效率,简化软硬件接口。另一方面,通过上述数据传输接口以及数据搬移模块的硬件实现,能够有效提升数据搬移以及计算效率并且提升计算资源的复用率。
1.一种数据处理装置,其特征在于,包括:
2.根据权利要求1所述的数据处理装置,其特征在于,所述数据处理模块,包括多个数据处理单元,所述多个数据处理单元中的不同数据处理单元用于对数据进行不同的数据运算处理。
3.根据权利要求1或2所述的数据处理装置,其特征在于,还包括:
4.根据权利要求3所述的数据处理装置,其特征在于,所述数据运算模块包括以下一种或多种单元:
5.根据权利要求3或4所述的数据处理装置,其特征在于,所述数据运算模块包括:复用中央处理器cpu中的算术逻辑单元alu。
6.根据权利要求3所述的数据处理装置,其特征在于,所述数据处理模块包括以下一种或多种数据处理单元:
7.根据权利要求6所述的数据处理装置,其特征在于,所述数据传输接口包括:
8.根据权利要求7所述的数据处理装置,其特征在于,所述第一接口、所述第二接口、所述第三接口、所述第四接口以及所述第六接口分别用于通过所述数据搬移模块读取外部存储器上的第一数据;所述第五接口用于将所述量化单元处理后的第二数据通过所述数据搬移模块写入到所述外部存储器上。
9.根据权利要求8所述的数据处理装置,其特征在于,所述第一数据包括以下一种或多种:
10.根据权利要求9所述的数据处理装置,其特征在于,所述数据运算模块进行数据处理的过程中,所述权重参数、所述偏置参数或所述量化系数在预设时长内保持不变。
11.根据权利要求9所述的数据处理装置,其特征在于,所述数据搬移模块加载所述特征值参数采用广播或行滑动的方式;
12.一种数据处理系统,其特征在于,包括:
13.根据权利要求12所述的数据处理系统,其特征在于,还包括:
14.根据权利要求12所述的数据处理系统,其特征在于,所述npu包括:
15.根据权利要求12所述的数据处理系统,其特征在于,所述数据处理系统为芯片。