一种可移动人工智能辅助计算设备转让专利

申请号 : CN202110777201.2

文献号 : CN113487006B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梁龙飞陈小刚阿西木约麦尔

申请人 : 上海新氦类脑智能科技有限公司

摘要 :

本发明涉及一种可移动人工智能辅助计算设备,包括USB连接器、控制器芯片和至少1个智能芯片;USB连接器通过USB总线与控制器芯片连接,控制器芯片通过智能存储总线与智能芯片连接;智能芯片是具有智能存储器接口的人工神经网络计算芯片,智能芯片内的配置资源统一编址,并通过智能存储器接口进行读写访问。与现有技术相比,本发明将AI芯片所需关键数据如网络结构和权值阵列的访问以及AI芯片计算资源管理纳入标准的存储模型中,以存储系统标准访问方式实现物联网前端设备与AI芯片的交互,在物联网边缘和前端计算应用场景中进行市场导入时有明显的低代价优势。

权利要求 :

1.一种可移动人工智能辅助计算设备,其特征在于,包括:USB连接器(1)、控制器芯片(2)和至少1个智能芯片(3);

所述USB连接器(1)通过USB总线(4)与控制器芯片(2)连接,所述控制器芯片(2)通过智能存储总线(5)与所述智能芯片(3)连接;

所述智能芯片(3)是具有智能存储器接口的人工神经网络计算芯片,所述智能芯片(3)内的配置资源统一编址,并通过智能存储器接口对智能芯片(3)进行读写访问;

所述智能芯片(3)内的配置资源包括:计算加速单元的分割信息、计算加速阵列之间的连接信息、计算加速阵列内的权值信息、人工神经网络的输入输出数据和芯片配置信息;

所述控制器芯片(2)作为USB device连接到物联网前端设备,在USB总线(4)枚举时以大容量存储设备的方式提供可移动人工智能辅助计算设备的设备信息,从而虚拟出一个可被物联网前端设备读写访问的虚拟存储设备(6),所述控制器芯片(2)将物联网前端设备对虚拟存储设备(6)的读写访问转换为对智能芯片(3)的配置资源的读写访问。

2.根据权利要求1所述的一种可移动人工智能辅助计算设备,其特征在于,所述智能存储总线(5)是具有通用的非易失存储芯片接口的总线,所述智能存储总线(5)上非易失存储芯片接口的数量至少为1个,所述非易失存储芯片接口的类型至少为1种。

3.根据权利要求2所述的一种可移动人工智能辅助计算设备,其特征在于,所述非易失存储芯片接口的类型包括ONFI、Toggle DDR、eMMC、SDIO中的一个或多个。

4.根据权利要求1所述的一种可移动人工智能辅助计算设备,其特征在于,所述智能芯片(3)内的配置资源具体为:计算加速单元的分割信息是智能芯片(3)内部存算一体器件的分割信息,在所述智能芯片(3)中包括多个存算一体器件,每个存算一体器件即一个计算加速单元,所述计算加速单元根据所述计算加速单元的分割信息被分割为不同的计算加速单元阵列;

计算加速阵列之间的连接信息是智能芯片(3)内部存算一体器件分割形成的阵列之间的连接信息,不同的计算加速阵列之间根据所述计算加速阵列之间的连接信息实现级联,前级阵列的输出端连接后级阵列的输入端;

计算加速阵列内的权值信息是每个计算加速单元的权值信息,计算加速阵列中每一个存算一体器件的状态根据所述计算加速阵列内的权值信息进行设定;

所述人工神经网络的输入输出数据包括输入人工神经网络的输入数据和由人工神经网络输出的输出数据;

所述芯片配置信息包括:芯片型号信息、芯片内配置资源的容量信息和芯片内配置资源的地址信息。

5.根据权利要求4所述的一种可移动人工智能辅助计算设备,其特征在于,所述智能芯片(3)内的配置资源以阵列或表格形式表达,不同类型的配置资源映射至不同的地址段。

6.根据权利要求4所述的一种可移动人工智能辅助计算设备,其特征在于,所述虚拟存储设备(6)的块空间内包括至少1个分区(7),所述分区(7)与智能芯片(3)一一对应,分区(7)的地址空间大小根据该分区(7)所对应的智能芯片(3)的配置资源的数量计算得到;

所述分区(7)包括信息段(7‑1)、缓冲区段(7‑2)和资源段(7‑3),所述信息段(7‑1)用于存储智能芯片(3)的配置资源的数量,所述缓冲区段(7‑2)用于缓冲所述智能芯片(3)的输入数据和输出数据,所述资源段(7‑3)包括多个资源块(7‑3‑1),每个资源块(7‑3‑1)对应智能芯片(3)中计算加速阵列可被分配的最小单位。

7.根据权利要求6所述的一种可移动人工智能辅助计算设备,其特征在于,所述资源块(7‑3‑1)包括输入连接表(T1)、权值表(T2)和输出连接表(T3),所述输入连接表(T1)内的数据描述该资源块(7‑3‑1)的输入接口,所述权值表(T2)为该资源块(7‑3‑1)所对应的计算加速阵列的权值信息,所述输出连接表(T3)内的数据描述该资源块(7‑3‑1)的输出接口。

8.根据权利要求6所述的一种可移动人工智能辅助计算设备,其特征在于,所述控制器芯片(2)包括:USB总线控制器(2‑1)、智能存储总线控制器(2‑2)、微控制器(2‑3)、代码存储区(2‑4)和缓冲存储区(2‑5);所述微控制器(2‑3)与USB总线控制器(2‑1)和智能存储总线控制器(2‑2)连接,所述代码存储区(2‑4)为嵌入式非易失存储器,所述缓冲存储器(2‑5)为嵌入式易失存储器。

9.根据权利要求8所述的一种可移动人工智能辅助计算设备,其特征在于,所述控制器芯片(2)还包括扩展内存控制器(2‑6),所述扩展内存控制器(2‑6)用于扩展外部内存为缓冲存储区。

10.根据权利要求1所述的一种可移动人工智能辅助计算设备,其特征在于,所述可移动人工智能辅助计算设备还包括外壳(9),所述外壳(9)上设有电路板(10),控制器芯片(2)、智能芯片(3)、USB总线(4)和智能存储总线(5)集成在电路板(10)上。

说明书 :

一种可移动人工智能辅助计算设备

技术领域

[0001] 本发明涉及边缘计算技术领域,尤其是涉及一种可移动人工智能辅助计算设备。

背景技术

[0002] 早在上世纪末,物联网的概念就已经提出,在多年的发展中已经产生了大量的产品及使用标准,有无数的专用芯片被开发出来,应对各种各样的应用需求。随着物联网基础设施逐渐成熟,连接到互联网中的设备数量和种类每天都在迅速增加,然而在功耗、体积、成本等各种条件限制下,前端设备常常没有足够的算力来实现神经网络计算,物联网中最常见的场景仍是前端采集数据,上传到云端或者计算中心进行数据处理和分析,也阻挡了人工智能技术进入物联网前端。
[0003] 目前,随着边缘计算技术取得突破,许多控制可以通过物联网前端实现,而无需交由云端,大大提高了处理效率,响应更快,也减轻了云端的负荷。作为数据来源的物联网前端设备对智能的渴求,为人工智能(AI)技术提供了多种应用场景,具有极高计算效率的存算一体AI专用芯片的出现为解决前端计算和边缘计算提供了良好的方案。
[0004] 智能技术是物联网领域普遍需求,如果进行智能升级,直接替换现有设备无疑成本巨大,理想方式是为现有的前端设备进行升级,以减少更新换代的成本,但是,由于前端设备的数量众多、类型多样,导致升级的难度大。一方面,将AI芯片应用于前端设备将面对大量定制化软硬件结构的改造。如在硬件方面,AI芯片需要与不同总线接口、不同频率、不同架构的处理器协同交互,在系统软件方面,需要面对不同类型、版本、剪裁配置的操作系统等等,使得端边设备增加智能计算功能需要付出比云计算设备更大的代价。另一方面,AI芯片的实现方案多种多样,目前没有统一的标准,包括硬件接口标准和软件编程模型,由于不同的AI芯片擅长于面对不同的目的和应用场景,因此很难在前端采用相同的方式在电路板上增加AI芯片设计,再加上新类型的AI芯片产品会不断加入,采用新的AI芯片必将导致系统软硬件在不同程度上重新设计,使得前端设备AI改造过程极为困难。
[0005] 此外,AI芯片与物联网前端设备之间的数据交互也是一个难题,训练后的神经网络数据,包括网络结构和权值阵列需要传递到前端设备中使用,而由于前端系统的情况不同,如何方便地完成传递过程也是需要解决的问题。
[0006] 物联网前端设备的智能技术推广过程如果要造成用户方案的重新设计,特别是硬件系统的更新,将会严重影响技术的市场导入速度。智能技术以何种形式应用到物联网前端计算和边缘计算中,能够既充分发挥智能技术的优点,又能减少技术更新换代的成本,加快更新速度,是即将面对的重要问题。

发明内容

[0007] 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种可移动人工智能辅助计算设备,将AI芯片所需关键数据如网络结构和权值阵列的访问以及AI芯片计算资源管理纳入标准的存储模型中,以存储系统标准访问方式实现物联网前端设备与AI芯片的交互,在物联网边缘和前端计算应用场景中进行市场导入时有明显的低代价优势。
[0008] 本发明的目的可以通过以下技术方案来实现:
[0009] 一种可移动人工智能辅助计算设备,包括:USB连接器、控制器芯片和至少1个智能芯片;
[0010] 所述USB连接器通过USB总线与控制器芯片连接,所述控制器芯片通过智能存储总线与所述智能芯片连接;
[0011] 所述智能芯片是具有智能存储器接口的人工神经网络计算芯片,所述智能芯片内的配置资源统一编址,通过智能存储器接口对智能芯片进行读写访问;
[0012] 所述控制器芯片上设有USB总线接口、智能存储总线接口和扩展内存总线接口,控制器芯片通过USB总线接口连接USB总线,控制器芯片通过智能存储总线接口连接智能存储总线,控制器芯片通过扩展内存总线接口连接扩展内存总线,进而连接外部扩展内存。
[0013] 进一步的,所述智能存储总线是具有通用的非易失存储芯片接口的总线,所述智能存储总线上非易失存储芯片接口的数量至少为1个,所述非易失存储芯片接口的类型至少为1种。
[0014] 更进一步的,所述非易失存储芯片接口的类型可以是ONFI、Toggle DDR、eMMC、SDIO等接口,也可以是其他类似的接口,从而可以在1根智能存储总线上实现多个不同构造的智能芯片同时挂载。
[0015] 进一步的,所述智能芯片内的配置资源包括:计算加速单元的分割信息、计算加速阵列之间的连接信息、计算加速阵列内的权值信息、人工神经网络的输入输出数据和芯片配置信息;
[0016] 计算加速单元是人工神经网络计算加速的核心单元,在存算一体的所述智能芯片中包括多个存算一体器件,每个存算一体器件即一个计算加速单元,大量的存算一体器件组成阵列,并行运行实现乘加计算加速,应对不同的神经网络架构,存算一体器件可以从逻辑上分割为多个不同大小的阵列,多个计算加速单元根据所述计算加速单元的分割信息被分割为不同的计算加速单元阵列;
[0017] 计算加速单元划分为多个不同尺寸的阵列后,不同的计算加速阵列之间根据所述计算加速阵列之间的连接信息实现级联,信号从前级阵列的输出端传送到后级阵列的输入端;
[0018] 权值阵列是人工神经网络的重要数据,在存算一体的智能芯片中,权值阵列代表了每个存算一体器件的状态,计算加速阵列中每一个存算一体器件的状态根据所述计算加速阵列内的权值信息进行设定,通过对权值阵列进行修改来实现人工神经网络算法的修改,通过读出权值阵列来获取当前的人工神经网络算法;
[0019] 对于完成训练的人工神经网络,所述人工神经网络的输入输出数据包括输入人工神经网络的输入数据和由人工神经网络输出的输出数据,按照训练好的人工神经网络写入计算加速单元的分割信息、计算加速阵列之间的连接信息和计算加速阵列内的权值信息,就可以在智能芯片中应用人工神经网络,写入输入数据至智能芯片,智能芯片输出人工神经网络的预测结果或分类结果等;
[0020] 所述芯片配置信息包括:芯片型号信息、芯片内配置资源的容量信息和芯片内配置资源的地址信息,通过芯片配置信息可以获取:芯片厂家、产品型号、芯片类型、芯片内配置资源的类型以及各种配置资源的数量、不同类型的配置资源映射到地址空间中的首地址和结构信息、芯片的状态信息以及少量的控制寄存器等。
[0021] 更进一步的,所述智能芯片内的配置资源以阵列或表格形式表达,不同类型的配置资源映射至不同的地址段。
[0022] 更进一步的,所述控制器芯片作为USB device连接到物联网前端设备,在USB总线枚举时以大容量存储设备的方式提供可移动人工智能辅助计算设备的设备信息,从而虚拟出一个可被物联网前端设备读写访问的虚拟存储设备,所述控制器芯片将物联网前端设备对虚拟存储设备的读写访问转换为对智能芯片的配置资源的读写访问。
[0023] 更进一步的,所述虚拟存储设备的块空间内包括分区表和至少1个分区,所述分区表用于描述分区的信息,所述分区与智能芯片一一对应,分区的地址空间大小根据该分区所对应的智能芯片的配置资源的数量计算得到;
[0024] 所述分区包括信息段、缓冲区段和资源段,所述信息段用于存储智能芯片的配置资源的数量,所述缓冲区段用于缓冲所述智能芯片的输入数据和输出数据,所述资源段包括多个资源块,每个资源块对应智能芯片中计算加速阵列可被分配的最小单位,资源块组成资源行和资源列,以配合进行资源块之间的数据交换。
[0025] 更进一步的,所述资源块包括输入连接表、权值表和输出连接表,所述输入连接表内的数据描述该资源块的输入接口,所述权值表为该资源块所对应的计算加速阵列的权值信息,所述输出连接表内的数据描述该资源块的输出接口。
[0026] 更进一步的,所述控制器芯片包括:USB总线控制器、智能存储总线控制器、微控制器、代码存储区和缓冲存储区;所述微控制器与USB总线控制器和智能存储总线控制器连接,所述代码存储区为嵌入式非易失存储器,所述缓冲存储器为嵌入式易失存储器。
[0027] 更进一步的,所述控制器芯片还包括扩展内存控制器,所述扩展内存控制器用于扩展外部内存为缓冲存储区。
[0028] 进一步的,所述可移动人工智能辅助计算设备还包括外壳,所述外壳上设有电路板,控制器芯片、智能芯片、USB总线和智能存储总线集成在电路板上。
[0029] 与现有技术相比,本发明将AI芯片所需关键数据如网络结构和权值阵列的访问以及AI芯片计算资源管理纳入标准的存储模型中,以存储系统标准访问方式实现物联网前端设备与AI芯片的交互,在物联网边缘和前端计算应用场景中进行市场导入时有明显的低代价优势。

附图说明

[0030] 图1为本发明的结构示意图;
[0031] 图2为虚拟存储设备的块空间结构示意图;
[0032] 图3为控制器芯片的结构示意图;
[0033] 附图标记:
[0034] 1、USB连接器,2、控制器芯片,3、智能芯片,4、USB总线,5、智能存储总线,6、虚拟存储设备,7、分区,8、分区表,9、外壳,10、电路板;
[0035] 2‑1、USB总线控制器,2‑2、智能存储总线控制器,2‑3、微控制器,2‑4、代码存储区,2‑5、缓冲存储区,2‑6、扩展内存控制器,I1、USB总线接口,I2、智能存储总线接口,I3、扩展内存总线接口;
[0036] 7‑1、信息段,7‑2、缓冲区段,7‑3、资源段,7‑3‑1、资源块,7‑3‑2、资源行,7‑3‑3、资源列,T1、输入连接表,T2、权值表,T3、输出连接表。

具体实施方式

[0037] 下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0038] 在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件。
[0039] 实施例1:
[0040] 一种可移动人工智能辅助计算设备,具有与U盘相似的形态与结构,如图1所示,包括:USB连接器1、控制器芯片2和至少1个智能芯片3;USB连接器1通过USB总线4与控制器芯片2连接,控制器芯片2通过智能存储总线5与智能芯片3连接;外壳9上设有电路板10,控制器芯片2、智能芯片3、USB总线4和智能存储总线5集成在电路板10上。
[0041] 智能芯片3是具有智能存储器接口的人工神经网络计算芯片,智能芯片3内的配置资源统一编址,通过智能存储器接口对智能芯片3进行读写访问。
[0042] 现有技术中,由于人工神经网络计算芯片内置核心,能够像计算机CPU处理器一样主动访问外部内存,通常在系统架构中作为一个计算中心,而不是被外部处理器访问。本申请考虑到将智能芯片3作为计算中心连接到物联网前端设备时的难度较高,因此设计了控制器芯片2,将智能芯片3内部的存储资源进行统一编址,通过类似存储访问的接口与控制器芯片2连接,控制器芯片2再通过USB连接器1可以轻松实现与不同类型的物联网前端设备的连接,从而实现物联网前端设备与智能芯片3之间的交互。
[0043] 智能存储总线5是具有通用的非易失存储芯片接口的总线,智能存储总线5上非易失存储芯片接口的数量至少为1个,非易失存储芯片接口的类型至少为1种。非易失存储芯片接口的类型可以是ONFI、Toggle DDR、eMMC、SDIO等接口,也可以是其他类似的接口,从而可以在1根智能存储总线5上实现多个不同构造的智能芯片3同时挂载。
[0044] 作为存算一体的人工神经网络计算芯片,智能芯片3内的配置资源包括:计算加速单元的分割信息、计算加速阵列之间的连接信息、计算加速阵列内的权值信息、人工神经网络的输入输出数据和芯片配置信息。将这些配置资源统一编址后,就可以通过智能存储总线5读写存储的配置资源,不同的分割信息、连接信息、权值信息对应神经网络不同的网络结构和权值阵列,对配置资源进行修改,实现了对智能芯片3内人工神经网络的修改。
[0045] 计算加速单元是人工神经网络计算加速的核心单元,在存算一体的智能芯片3中包括大量存算一体器件,每个存算一体器件即一个计算加速单元,大量的存算一体器件组成阵列,并行运行实现乘加计算加速,以应对不同的神经网络架构,存算一体器件可以从逻辑上分割为多个不同大小的阵列,多个计算加速单元根据计算加速单元的分割信息被分割为不同的计算加速单元阵列;
[0046] 计算加速单元划分为多个不同尺寸的阵列后,不同的计算加速阵列之间根据计算加速阵列之间的连接信息实现级联,信号从前级阵列的输出端传送到后级阵列的输入端;
[0047] 权值阵列是人工神经网络的重要数据,在存算一体的智能芯片3中,权值阵列代表了每个存算一体器件的状态,计算加速阵列中每一个存算一体器件的状态根据计算加速阵列内的权值信息进行设定,通过对权值阵列进行修改来实现人工神经网络算法的修改,通过读出权值阵列来获取当前的人工神经网络算法;
[0048] 对于完成训练的人工神经网络,人工神经网络的输入输出数据包括输入人工神经网络的输入数据和由人工神经网络输出的输出数据,按照训练好的人工神经网络写入计算加速单元的分割信息、计算加速阵列之间的连接信息和计算加速阵列内的权值信息,就可以在智能芯片3中应用人工神经网络,写入输入数据至智能芯片3,智能芯片3输出人工神经网络的预测结果或分类结果等;
[0049] 芯片配置信息包括:芯片型号信息、芯片内配置资源的容量信息和芯片内配置资源的地址信息,通过芯片配置信息可以获取:芯片厂家、产品型号、芯片类型、芯片内配置资源的类型以及各种配置资源的数量、不同类型的配置资源映射到地址空间中的首地址和结构信息、芯片的状态信息以及少量的控制寄存器等。
[0050] 对于不同规模的智能芯片3,其内部的计算加速单元数量规模不同,分割信息、连接信息和权值信息等配置资源会不一样,即使是配置资源情况相同的智能芯片3,因为在每个智能芯片3上分别进行了配置,因此其配置资源的数量也可能会不同,就像同样的U盘上存储的数据也会不同一样,这些信息就通过读取芯片配置信息获取。
[0051] 智能芯片3内的配置资源以阵列或表格形式表达,不同类型的配置资源映射至不同的地址段。配置资源以阵列或表格形式表达,那么就能够把不同类型的配置资源放在同一个二维表格中,在地址空间就表现为,利用高位地址就能够直接判断该地址对应的资源类型,方便硬件进行映射访问。比如说,表格一行为128字节,所有配置资源都放在64行中,其中0‑15行为连接数据,16‑63行为权值数据,那么地址用13位即可,其中高6位为行地址,低7位为列地址,高6位中,高2位为00时为连接数据,不为00则为权值数据,通过两位地址就可以判断配置资源的类型。
[0052] 控制器芯片2作为USB device连接到物联网前端设备,在USB总线4枚举(USB总线枚举是指对USB总线上接入的USB设备进行识别和寻址操作)时以大容量存储设备的方式提供可移动人工智能辅助计算设备的设备信息,从而虚拟出一个可被物联网前端设备读写访问的虚拟存储设备6,控制器芯片2将物联网前端设备对虚拟存储设备6的读写访问转换为对智能芯片3的配置资源的读写访问。
[0053] 在物联网前端设备(计算机或嵌入式处理器)看来,连接可移动人工智能辅助计算设备后,像插入U盘一样看到的是一个可访问的存储设备,在控制器芯片2虚拟出的虚拟存储设备6中,虚拟存储设备6的容量大小与可移动人工智能辅助计算设备内智能芯片3的数量以及每个智能芯片3的配置资源的数量有关。
[0054] 在物联网前端设备看来,在虚拟存储设备6内能够看到多个“分区”,对应多个智能芯片3,能够看到“分区”内的“文件”,对应划分出来的人工神经网络,在物联网前端设备的应用程序看来,分割信息、连接信息、权值信息等都是“文件”中的数据,可以用文件系统api打开“文件”,对这些数据进行读写,能够读出人工神经网络,对分割信息、连接信息、权值信息等的修改会改变智能芯片3中计算加速单元的分割状态、连接关系和权值数据等,从而改变智能芯片3中的人工神经网络。
[0055] 当物联网前端设备对虚拟存储设备6进行读写访问时,控制器芯片2将读写操作转换为对智能芯片3的读写指令,并通过智能存储总线5完成访问,如分割信息更改时,通过对智能芯片3的配置寄存器或配置空间的写入进行更改控制,连接信息更改时,通过对智能芯片3内的交换矩阵的配置进行写入进行连接信息的更改等等。
[0056] 如图2所示,虚拟存储设备6的块空间内包括分区表8和至少1个分区7,分区7与智能芯片3一一对应,分区7的地址空间大小根据该分区7所对应的智能芯片3的配置资源的数量计算得到;分区表8是一个虚拟分区表,满足GPT或MBR格式要求,在物联网前端设备通过USB连接器1读取分区表8块地址时,安装构建的分区表内容进行返回,分区表8被配置为只读模式,以免物联网前端设备改变分区信息。
[0057] 分区表8可以不实际保存,每次上电时,控制器芯片2对智能存储总线5进行枚举,获取智能存储总线5上的智能芯片3数量,以及各个智能芯片3的配置资源状况,计算得到分区表8。
[0058] 分区7内包括多个逻辑扇区,所有的逻辑扇区被分为三段,依次为信息段7‑1、缓冲区段7‑2和资源段7‑3:
[0059] 从起始的逻辑扇区开始的一个或多个逻辑扇区组成信息段7‑1,用于存储智能芯片3的配置资源的数量,供物联网前端设备访问;
[0060] 信息段7‑1后的多个逻辑扇区组成缓冲区段7‑2,缓冲区段7‑2所含的逻辑扇区数量由信息段7‑1定义,用于缓冲智能芯片3的输入数据和输出数据,对智能芯片3的输入数据写入缓冲区段7‑2的输入缓冲区,并被控制器芯片2转发至智能芯片3,而智能芯片3的输出数据将被控制器芯片2读取缓冲,并在物联网前端设备对缓冲区段7‑2的输出缓冲区进行读取时发送给物联网前端设备。
[0061] 缓冲区段7‑2后的逻辑扇区组成资源段7‑3,由多个资源块7‑3‑1组成,每个资源块7‑3‑1对应智能芯片3中计算加速阵列可被分配的最小单位,资源块7‑3‑1包括输入连接表T1、权值表T2和输出连接表T3,输入连接表T1内的数据描述该资源块7‑3‑1的输入接口,权值表T2为该资源块7‑3‑1所对应的计算加速阵列的权值信息,输出连接表T3内的数据描述该资源块7‑3‑1的输出接口。
[0062] 对于不能实现资源块7‑3‑1间数据全交换的智能芯片3可以物理位置相关的方式对资源块7‑3‑1进行标识,常见的如二维网格(2d mesh)排列的资源块7‑3‑1可以行列的方式标识,组成资源行7‑3‑2和资源列7‑3‑3,以配合进行资源块7‑3‑1之间的数据交换。
[0063] 为了实现上述功能,控制器芯片2的内部结构如图3所示,包括:USB总线控制器2‑1、智能存储总线控制器2‑2、微控制器2‑3、代码存储区2‑4和缓冲存储区2‑5;微控制器2‑3与USB总线控制器2‑1和智能存储总线控制器2‑2连接。控制器芯片2内的各个模块采用芯片常见电路设计,根据产业界常识可以完成设计,功能描述如下:
[0064] 微控制器2‑3可采用常见的精简指令集处理器(RISC),如ARM、RISC‑V等,完成可移动人工智能辅助计算设备内的协同控制,以及数据解析、发送、总线访问请求的发生和响应等功能。微控制器2‑3还负责解析物联网前端设备的USB指令,并向物联网前端设备虚拟出一个虚拟存储设备6。
[0065] 智能存储总线控制器2‑2实现与挂载的智能芯片3的总线访问控制,由于智能芯片3目前并没有成熟的接口标准,以定制接口为主,因此此处总线时序依据所选择的智能芯片
3接口定义实现,可供选择的包括类似内存总线的标准,如DDR、SRAM等系列,或类似存储总线的标准,如ONFI、Toggle DDR、eMMC、SDIO等。
[0066] 代码存储区2‑4为嵌入式非易失存储器,为微控制器2‑3提供代码存储功能,可使用OTP、Nor flash、相变存储等各种技术;缓冲存储器2‑5为嵌入式易失存储器,为物联网前端设备访问智能芯片3时提供输入输出数据缓冲,通常采用SRAM技术。
[0067] 控制器芯片2还包括扩展内存控制器2‑6,扩展内存控制器2‑6用于扩展外部内存为缓冲存储区。当缓冲存储器2‑5提供的缓冲存储容量不足时,如在视频识别智能应用中,由于输入数据的数据量较大,因此可能需要外接外部存储设备,用于存储一帧或多帧视频数据输入。
[0068] 控制器芯片2上设有USB总线接口I1、智能存储总线接口I2和扩展内存总线接口I3,控制器芯片2通过USB总线接口I1连接USB总线4,控制器芯片2通过智能存储总线接口I2连接智能存储总线5,控制器芯片2通过扩展内存总线接口I3连接扩展内存总线,进而连接外部扩展内存。
[0069] 本专利通过USB连接器1可以实现即插即用功能,适用于类型众多的物联网前端设备,提出了一种与存储设备兼容的接口技术和访问方法。
[0070] 由于目前主流的观点认为AI芯片属于计算范畴,一般与系统中的处理器形成异构计算模式,共同访问数据实现协同,而异构计算目前并没有适合于物联网前端设备的标准解决方案,通常需要根据实际情况由系统硬件设计者自行设计使用,如华为与寒武纪合作的智能双芯片方案,或更早时候安防领域主处理器和编解码器的双芯片方案等,或是由芯片公司将处理器和AI核心进行整合,由芯片公司自行设计整合后的架构,这些方案个性化很强,需要开发者有针对性的学习和使用,导入代价较高。
[0071] 本申请将AI芯片从逻辑上抽象为类似存储设备的模型,通过分区、文件系统及文件读写操作实现物联网前端设备对智能芯片3的访问,上述分区、读写等操作已经成为嵌入式系统的常规操作,实现代价低,与USB硬件接口结合后,无论是从硬件还是软件上,都为开发者提供了友好的环境,显著降低了智能技术的市场导入代价。
[0072] USB总线枚举和存储系统的访问已经形成了业界统一的标准,本申请插入现有物联网前端设备后,物联网前端设备内的绝大多数系统软件能够直接自动识别并准备好使用,通常不必修改物联网前端设备的操作系统内核或额外安装驱动程序和支持软件包,只需要对物联网前端设备的应用程序做出少量修改即可,而应用程序的升级通常也是物联网前端设备所具备的基本功能,市场导入代价低。
[0073] 对于不同类型的AI芯片,可由控制器芯片2进行总线和协议的转换,从而向物联网前端设备提供相同的访问总线和协议,新的AI芯片只要在控制器芯片2中支持即可,就能够为多数的物联网前端设备提供智能服务,如果需要进行升级,升级过程只需要更换即插即用的可移动人工智能辅助计算设备即可,新技术升级十分方便。
[0074] 神经网络结构和训练过程可以在云端完成,通过普通PC下载至本申请中,然后将本申请插入到物联网前端设备后,即可应用于物联网前端设备,进行预测或在分类,离线训练和传递过程十分方便;也可以添加通信模块,通过网络数据传输从云端下载训练好的人工神经网络,并写入已插入的可移动人工智能辅助计算设备中,即能完成初始化或更新,整个过程全部采用文件系统的常规操作,不需要增加额外的与智能算法相关的技术支持。
[0075] 本申请将AI芯片所需关键数据如网络结构和权值阵列的访问以及AI芯片计算资源管理纳入标准的存储模型中,以存储系统标准访问方式实现物联网前端设备与AI芯片的交互,这与主流惯用的异构计算或辅助计算加速模式有显著的区别(主流方案形式通常为加速卡、定制接口的加速芯片等,通常需要特定总线访问,以及基础软件包和特定驱动支持,用户开发编程时常常需要调用特定的API接口函数以实现计算任务的投送和计算结果的获取),在物联网边缘和前端计算应用场景中进行市场导入时有明显的低代价优势。
[0076] 以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。