一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种AI计算系统及方法与流程

2022-05-21 02:59:55 来源:中国专利 TAG:

一种ai计算系统及方法
技术领域
1.本发明实施例涉及数据处理技术,尤其涉及一种ai计算系统及方法。


背景技术:

2.市场上的芯片架构主要分为指令集架构和数据流架构。指令集架构主要包括x86架构、arm架构、精简指令集运算risc-v开源架构,以及simd架构。传统的指令集架构采用冯诺依曼计算方式,通过指令执行次序控制计算顺序,并通过分离数据搬运与数据计算提供计算通用性。与上述四者不同,数据流架构采用了数据流引擎的计算架构,它的显著特点就是能够大幅提高芯片利用率。
3.为提升数据读取效率,基于数据流架构的加速器中往往存在一个片上缓存器。待处理数据先从ddr读取到片上缓存器,在进行运算时,直接从片上缓存器中读取数据。但片上缓存器容量较小,某些应用场景只能存储部分待处理数据。如果当前运算所需的数据没有在片上缓存器时,加速器将不能正常工作。


技术实现要素:

4.本发明提供一种ai计算系统及方法,以实现保证加速器能及时获取待处理数据,正常工作,提高计算速度的效果。
5.第一方面,本发明实施例提供了一种ai计算系统,包括ai处理模块和外部处理模块,所述ai处理模块包括计算单元、片上缓存器和地址生成器,所述外部处理模块包括处理器和片外缓存器:
6.所述片外缓存器用于缓存待处理数据块;
7.所述地址生成器根据取数规则产生目标待处理数据块中每个目标待处理数据的读地址;并根据所述每个目标待处理数据的读地址判断读地址对应的数据是否在所述片上缓存器中;
8.所述处理器用于将所述待处理数据块传输至所述片上缓存器进行保存;并根据所述地址生成器的判断结果控制所述计算单元从所述片上缓存器或所述片外缓存器中获取目标待处理数据块;
9.所述计算单元用于获取所述目标待处理数据块后进行计算。
10.可选的,所述处理器还用于根据待处理数据的大小与所述片上缓存器的大小确定待处理数据块。
11.可选的,所述ai处理模块还包括数据选择器,所述数据选择器用于根据所述处理器的控制指令选择所述片上缓存器或所述片外缓存器中的所述目标待处理数据块传输至所述计算单元。
12.可选的,所述处理器用于在所述读地址对应的数据在所述片上缓存器中时,控制所述数据选择器根据所述读地址选择所述片上缓存器中的所述目标待处理数据块传输至所述计算单元。
13.可选的,所述地址生成器用于在判断所述读地址对应的数据不在所述片上缓存器中时,产生中断信号;所述处理器用于根据所述中断信号和所述读地址控制所述数据选择器选择所述片外缓存器中的所述目标待处理数据块传输至所述计算单元。
14.第二方面,本发明实施例提供了一种ai计算方法,应用于如第一方面中任一所述的ai计算系统,包括:
15.处理器将待处理数据块从片外缓存器传输至片上缓存器进行保存;
16.地址生成器根据取数规则产生目标待处理数据块中每个目标待处理数据的读地址,并判断读地址对应的数据是否在所述片上缓存器中,得到判断结果;
17.处理器根据所述判断结果控制计算单元从所述片上缓存器或所述片外缓存器中获取目标待处理数据块;
18.计算单元根据获取的所述目标待处理数据块进行计算。
19.可选的,在所述处理器将待处理数据块从片外缓存器传输至片上缓存器进行保存之前,还包括:
20.处理器判断待处理数据的大小与片上缓存器的大小划分待处理数据块。
21.可选的,所述处理器将待处理数据块从片外缓存器传输至片上缓存器进行保存,包括:
22.将一个待处理数据块传输至片上缓存器,并进行保存;
23.在所述片上缓存器保存的待处理数据块被取出后,从片外缓存器中取出的下一个所述待处理数据块传输至所述片上缓存器,并进行保存。
24.可选的,所述地址生成器根据取数规则产生目标待处理数据块中每个待处理数据的读地址,并判断读地址对应的数据是否在所述片上缓存器中,得到判断结果,包括:
25.所述地址生成器判断读地址对应的数据在所述片上缓存器中,产生命中信号;
26.所述地址生成器判断读地址对应的数据不在所述片上缓存器中,产生中断信号。
27.可选的,所述处理器根据所述判断结果控制计算单元从所述片上缓存器或所述片外缓存器中获取目标待处理数据块包括:
28.所述处理器根据所述命中信号控制计算单元通过数据选择器从所述片上缓存器中获取目标待处理数据块;
29.所述处理器根据所述中断信号控制计算单元通过数据选择器从片外缓存器中获取目标待处理数据块。
30.本发明通过一种ai计算系统,包括ai处理模块和外部处理模块,ai处理模块包括计算单元、片上缓存器和地址生成器,外部处理模块包括处理器和片外缓存器:片外缓存器用于缓存待处理数据块;地址生成器根据取数规则产生目标待处理数据块中每个待处理数据的读地址;并根据每个待处理数据的读地址判断读地址对应的数据是否在片上缓存器中;处理器用于将待处理数据块传输至片上缓存器进行保存;并根据地址生成器的判断结果控制计算单元从片上缓存器或片外缓存器中获取目标待处理数据块;计算单元用于获取目标待处理数据块后进行计算。解决当前运算所需的数据没有在片上缓存器时,加速器将不能正常工作的问题,实现保证加速器能及时获取待处理数据,正常工作,提高计算速度的效果。
附图说明
31.图1为本发明实施例一提供的一种ai计算系统的结构示意图;
32.图2为本发明实施例二提供的一种ai计算方法的流程示意图。
具体实施方式
33.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
34.实施例一
35.图1为本发明实施例一提供的一种ai计算系统的结构示意图,本实施例可适用于片上缓存器无法完整保存所有待处理数据,加速器无法获取缓存数据从而无法正常工作的情况,该ai计算系统上应用一种ai计算方法。
36.如图1所示,一种ai计算系统,包括ai处理模块10和外部处理模块20,ai处理模块10包括计算单元11、片上缓存器12和地址生成器13,外部处理模块20包括处理器21和片外缓存器22。
37.片外缓存器22用于缓存待处理数据块。
38.地址生成器13根据取数规则产生目标待处理数据块中每个目标待处理数据的读地址;并根据每个目标待处理数据的读地址判断读地址对应的数据是否在片上缓存器12中。
39.处理器21用于将待处理数据块传输至片上缓存器12进行保存;并根据地址生成器的判断结果控制计算单元从片上缓存器12或片外缓存器22中获取目标待处理数据块。
40.计算单元11用于获取目标待处理数据块后进行计算。
41.如图1所示,处理器21与片外缓存器22连接和地址生成器13连接,片外缓存器22还与片上缓存器12连接,地址生成器13和片上缓存器12连接,计算单元11与片上缓存器12和片外缓存器22连接。
42.片外缓存器22内部为一个存储阵列,本实施例中,片外缓存器22指双倍速率同步动态随机存储器(double data rate,ddr),获取片外缓存器22的待处理数据时,和表格的检索原理一样,先指定一个行,再指定一个列,根据地址进行寻址获取得到。
43.地址生成器13用来生成片上缓存器的读写地址。地址生成(address generation,简称ag)是一种寻址技术,有助于大容量存储器的寻址和动态程序浮动的实现。将基址寄存器、变址寄存器和位移字段的内容相加便可得到主存的有效地址。根据控制器的要求,地址生成器13需要从0向上计数到16(滤波器阶数)。地址生成器13是一个简单的计数寄存器,当禁用时,计数寄存器的值保持,当启用时,向上计数。计数器由两个控制信号控制,这两个信号由控制器生成。对于地址计数器,当到达范围的最大值时,不需要停止计数;完成乘法累加计算后,计数停止。
44.片上缓存器12,为嵌入式的片上存储设备,提供较快的读写访问速度,存储容量较低。
45.本实施例应用于ai芯片计算中,ai芯片计算的待处理数据包括需要进行ai识别的图像、声音等数据。现有技术中,通常将待处理数据保存在片外缓存器22上,每次计算均需
要从片外缓存器22上获取一个数据,且每个数据需要一个时钟周期。为了提高数据计算速度,将计算机的片外缓存器22中的待处理数据传输到片上缓存器12,进行保存,运算时直接从片上缓存器12获取待处理数据。在待处理数据的大小大于片上缓存器12的存储容量时,片上缓存器12仅能存储部分待处理数据。
46.在现有技术中,如果当前运算所需的数据没有在片上缓存器12时,加速器将不能正常工作。本实施例提供的技术方案,在待处理数据的大小大于片上缓存器的存储容量时,将待处理数据分成不同的待处理数据块,处理器21用于将部分待处理数据块传输至片上缓存器12进行保存,另外的待处理数据块保存在片外缓存器22上。其中,可选的,处理器21还用于根据待处理数据的大小与片上缓存器12的大小确定待处理数据块。处理器21将待处理数据按片上缓存器12的内存大小切分为多个待处理数据块,每个待处理数据块包含至少一个完整的区块数据,包括至少一个数据。在加速器进行计算之前,处理器21需要获取目标待处理数据块传输至计算单元11,地址生成器13根据取数规则产生目标待处理数据块中每个待处理数据的读地址,地址生成器13根据每个目标待处理数据的读地址判断读地址对应的数据是否在片上缓存器12中,若在片上缓存器12中,则处理器21从片上缓存器12中取出目标数据块传输至计算单元,若在片外缓存器22中,则处理器21从片外缓存器22中取出目标数据块传输至计算单元11,计算单元11根据目标待处理数据块进行计算。
47.本发明提供的实施例通过一种ai计算系统,包括ai处理模块和外部处理模块,ai处理模块包括计算单元、片上缓存器和地址生成器,外部处理模块包括处理器和片外缓存器:片外缓存器用于缓存待处理数据块;地址生成器根据取数规则产生目标待处理数据块中每个待处理数据的读地址;并根据每个待处理数据的读地址判断读地址对应的数据是否在片上缓存器中;处理器用于将待处理数据块传输至片上缓存器进行保存;并根据地址生成器的判断结果控制计算单元从片上缓存器或片外缓存器中获取目标待处理数据块;计算单元用于获取目标待处理数据块后进行计算。解决当前运算所需的数据没有在片上缓存器时,加速器将不能正常工作的问题,实现保证加速器能及时获取待处理数据,正常工作,提高计算速度的效果。
48.在上述技术方案的基础上,如图1所示,可选的,ai处理模块10还包括数据选择器14,数据选择器14用于根据处理器21的控制指令选择片上缓存器12或片外缓存器22中的目标待处理数据块传输至计算单元11。
49.数据选择器14根据给定的输入地址代码,从一组输入信号中选出指定的一个送至输出端的组合逻辑电路。有时也把它叫做多路选择器或多路调制器(multiplexer)。数据选择器经过选择,把多个通道的数据传送到唯一的公共数据通道上去,实现数据选择功能的逻辑电路。
50.数据选择器14分别与片上缓存器12、片外缓存器22和计算单元11连接,通过片上缓存器12或片外缓存器22接收处理器21的控制指令。处理器21根据判断结果选择片上缓存器12或片外缓存器22接入计算单元11,数据选择器14在处理器21的选择信号的控制下,从多路数据中选择一路数据作为输出信号,即从片上缓存器12或片外缓存器22中选择一路作为输出,将对应的目标待处理数据块传输至计算单元11。
51.可选的,处理器21用于在读地址对应的数据在片上缓存器12中时,控制数据选择器14根据读地址选择片上缓存器12中的目标待处理数据块传输至计算单元11。
52.当地址生成器13判断读地址对应的待处理数据在片上缓存器12中时,处理器21根据读地址生成数据选择信号,控制数据选择器14选择片上缓存器12中读地址对应的目标待处理数据块传输至计算单元11。其中,目标待处理数据块包含多个目标待处理数据时,数据选择器14分别根据每个目标待处理数据的读地址获取目标待处理数据。
53.可选的,地址生成器13用于在判断读地址对应的数据不在片上缓存器12中时,产生中断信号;处理器21用于根据中断信号和读地址控制数据选择器14选择片外缓存器22中的目标待处理数据块传输至计算单元11。
54.当地址生成器13判断读地址对应的待处理数据不在片上缓存器12中时,即待处理数据在片外缓存器22中,地址生成器13产生中断信号;处理器21根据中断信号和读地址生成数据选择信号,控制数据选择器14选择从片外缓存器22中读地址对应的目标待处理数据块传输至计算单元11。
55.保证了计算所需的待处理数据无论是保存在片上缓存器上还是片外缓存器,均能及时获取到,保证了加速器的正常工作。
56.实施例二
57.图2为本发明实施例二提供的一种ai计算方法的流程示意图。
58.如图2所示,一种ai计算方法,应用于实施例一中任一的ai计算系统,包括:
59.步骤210、处理器将待处理数据块从片外缓存器传输至片上缓存器进行保存。
60.步骤220、地址生成器根据取数规则产生目标待处理数据块中每个目标待处理数据的读地址,并判断读地址对应的数据是否在片上缓存器中,得到判断结果。
61.步骤230、处理器根据判断结果控制计算单元从片上缓存器或片外缓存器中获取目标待处理数据块。
62.步骤240、计算单元根据获取的目标待处理数据块进行计算。
63.其中,可选的,在步骤210之前,还包括:
64.步骤200、处理器判断待处理数据的大小与片上缓存器的大小划分待处理数据块。
65.在待处理数据的大小大于片上缓存器的存储容量时,将待处理数据分成不同的待处理数据块,处理器用于将部分待处理数据块传输至片上缓存器进行保存,另外的待处理数据块保存在片外缓存器上。处理器将待处理数据按片上缓存器的内存大小切分为多个待处理数据块,每个待处理数据块包含至少一个完整的区块数据,包括至少一个数据。在加速器进行计算之前,处理器需要获取目标待处理数据块传输至计算单元,地址生成器根据取数规则产生目标待处理数据块中每个待处理数据的读地址,地址生成器根据每个目标待处理数据的读地址判断读地址对应的数据是否在片上缓存器中,若在片上缓存器中,则处理器从片上缓存器中取出目标数据块传输至计算单元,若在片外缓存器中,则处理器从片外缓存器中取出目标数据块传输至计算单元,计算单元根据目标待处理数据块进行计算。
66.本发明提供的实施例通过一种ai计算系统,包括ai处理模块和外部处理模块,ai处理模块包括计算单元、片上缓存器和地址生成器,外部处理模块包括处理器和片外缓存器:片外缓存器用于缓存待处理数据块;地址生成器根据取数规则产生目标待处理数据块中每个待处理数据的读地址;并根据每个待处理数据的读地址判断读地址对应的数据是否在片上缓存器中;处理器用于将待处理数据块传输至片上缓存器进行保存;并根据地址生成器的判断结果控制计算单元从片上缓存器或片外缓存器中获取目标待处理数据块;计算
单元用于获取目标待处理数据块后进行计算。解决当前运算所需的数据没有在片上缓存器时,加速器将不能正常工作的问题,实现保证加速器能及时获取待处理数据,正常工作,提高计算速度的效果。
67.在上述实施例的技术方案的基础上,可选的,步骤210包括:
68.步骤211、将一个待处理数据块传输至片上缓存器,并进行保存。
69.步骤212、在片上缓存器保存的待处理数据块被取出后,从片外缓存器中取出的下一个待处理数据块传输至片上缓存器,并进行保存。
70.由于处理器将待处理数据按片上缓存器的内存大小切分为多个待处理数据块,因此,片上缓存器仅能保存一个待处理数据块的数据,在计算单元从片上缓存器中取出保存的数据块之后,处理器才能将下一个待处理数据块的数据传输至片上缓存器进行保存。
71.在上述实施例的技术方案的基础上,可选的,步骤220包括:
72.步骤221、地址生成器判断读地址对应的数据在片上缓存器中,产生命中信号。
73.步骤222、地址生成器判断读地址对应的数据不在片上缓存器中,产生中断信号。
74.可选的,步骤230包括:
75.步骤231、处理器根据命中信号控制数据选择器从片上缓存器中获取目标待处理数据块。
76.步骤232、处理器根据中断信号控制数据选择器从片外缓存器中获取目标待处理数据块。
77.当地址生成器判断读地址对应的待处理数据在片上缓存器中时,处理器根据读地址生成数据选择信号,控制数据选择器选择片上缓存器中读地址对应的目标待处理数据块传输至计算单元。具体的,读地址对应的数据在片上缓存器中时,即数据缓存器命中,地址生成器产生命中信号,处理器根据命中信号和读地址生成数据选择信号,处理器控制数据选择器从片上缓存器中获取读地址对应的目标待处理数据块,传输至计算单元进行计算;读地址对应的数据不在片上缓存器中时,即数据缓存器缺失,地址生成器产生中断信号,处理器根据中断信号和读地址生成数据选择信号,控制数据选择器选择片外缓存器中读地址对应的目标待处理数据块,传输至计算单元进行计算。
78.保证了计算所需的待处理数据无论是保存在片上缓存器上,还是片外缓存器,均能及时获取到,保证了加速器的正常工作。
79.本发明实施例所提供的ai计算系统可执行本发明任意实施例所提供的ai计算方法,具备执行方法相应的功能模块和有益效果。
80.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献