大数据运算加速系统的制作方法

文档序号:18242981发布日期:2019-07-24 09:08阅读:150来源:国知局
大数据运算加速系统的制作方法

本公开涉及集成电路领域,特别是涉及一种大数据运算加速系统。



背景技术:

ASIC(Application Specific Integrated Circuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。

随着科技的发展,越来越多的领域,比如人工智能、安全运算等都涉及大运算量的特定计算。针对特定运算,ASIC芯片可以发挥其运算快,功耗小等特定。同时,对于这些大运算量领域,为了提高数据的处理速度和处理能力,通常需要控制N个运算芯片同时进行工作。随着数据精度的不断提升,人工智能、安全运算等领域需要对越来越大的数据进行运算,例如:现在照片的大小一般为3-7MB,但是随着数码相机和摄像机的精度增加,照片的大小可以达到10MB或者更多,而30分钟的视频可能达到1个多G的数据。而在人工智能、安全运算等领域中要求计算速度快,时延小,因此如何提高计算速度和反应时间一直是芯片设计所要求的目标。由于ASIC芯片搭配的内存一般为64MB或者128MB,而当要处理的数据在512MB以上时,ASIC芯片要多次利用内存存取数据,多次将数据从外部存储空间中搬入或者搬出内存,降低了处理速度。同时,随着数据精度的不断提升,人工智能、安全运算等领域需要对越来越大的数据进行运算,为了存储数据一般需要给ASIC芯片配置多个存储单元,例如一块ASIC芯片要配置4块2G内存;这样N个运算芯片同时工作时,就需要4N块2NG内存。但是,在多运算芯片同时工作时,数据存储量不会超过2个G,这样就造成了存储单元的浪费,提高了系统成本。

在处理大量相关数据的设计中,现有技术中面临两个难题:1、是大幅度提升性能的需求。2、如果是分布式系统,那么还要解决数据相关性问题,即某个子系统中处理完的数据需要呈现给所有其他的子系统中进行确认和再处理。一般通过两种方式减少数据处理耗费的时间,一是加快处理数据逻辑的时钟;二是增加处理数据的并发块数。

在工艺限制下,时钟速率的提升很有限。提升并发数目是更加有效的提升性能的方法。但提升并发数目之后,一般也相应的提高了数据带宽的要求。一般的系统中,如果数据带宽取决于DDR提供的带宽,但DDR的带宽提升并不是线性的。假设初始系统含有DDR一组,提供带宽1x。如果我们需要获得2x的带宽提升,可以实现两组DDR,但如果需要获得16x以上的带宽提升,因为物理尺寸的限制,不可能通过简单的在一个系统中例化16组DDR实现。

如果需要多个ASIC芯片协同工作的话,不能直接将数据分布在不相连的多个系统中进行处理,因为这些数据都是相关的,每份在某个处理单元中完成的数据都必须在其他处理单元中进行确认和再处理,因此如果提高在多个ASIC芯片之间数据传输的速率也是必须要解决多系统互联的问题。



技术实现要素:

本实用新型实施例的目的就是提供一种使用高速接口连接分布式存储的方式,实现多个同构系统并发处理大量相关数据。本实用新型实施例提供一种大数据运算加速系统,该系统中取消了芯片外接内存,将存储单元设置在ASIC芯片内部,减少了ASIC芯片从外部读取数据的时间,加快了芯片运算速度。多个ASIC芯片共享存储单元,这样不仅减少了存储单元的数量,也减少了ASIC运算芯片之间的连接线,简化了系统构造,减低了ASIC芯片的成本。同时,多个运算芯片之间采用serdes接口技术进行数据传输,提高了在多个ASIC芯片之间数据传输的速率。

为达到上述目的,本实用新型实施例提供如下技术方案:

根据本实用新型实施例提供的第一种大数据运算加速系统,包括2个以上运算芯片,所述运算芯片包括N个内核core、N个数据通道(lane)和存储单元,所述数据通道(lane)包括发送接口(tx)和接收接口(rx),所述内核core和数据通道(lane)一一对应,所述内核core通过数据通道(lane)发送和接收数据或者控制指令;所述运算芯片通过所述发送接口(tx)和所述接收接口(rx)进行连接,以便数据或者控制指令传输;所述2个以上运算芯片的存储单元用于分布式存储数据,运算芯片内核core可以从本运算芯片的存储单元获取数据,也可以从其他运算芯片的存储单元获取数据;其中N为大于等于4的正整数。

可选的,所述运算芯片的所述发送接口(tx)和所述接收接口(rx)为serdes接口,所述运算芯片之间通过serdes接口进行通信。

可选的,所述数据通道(lane)进一步包括接收地址判断单元、发送地址判断单元;接收地址判断单元一端连接于接收接口(rx),接收地址判断单元另一端连接于内核core;发送地址判断单元一端连接于发送接口(tx),发送地址判断单元另一端连接于内核core;接收地址判断单元和发送地址判断单元相互连接。

可选的,接收接口(rx)接收相邻一侧运行芯片发送的数据帧,将所述数据帧发送给接收地址判断单元,接收地址判断单元将所述数据帧发送给内核core,同时将所述数据帧发送给发送地址判断单元;发送地址判断单元接收所述数据帧,将所述数据帧发送给发送接口(tx),发送接口将所述数据帧发送给相邻另一侧运行芯片。

可选的,内核core产生数据帧,将所述数据帧发送给发送地址判断单元,发送地址判断单元将所述数据帧发送给发送接口(tx),发送接口(tx)将所述数据帧发送给相邻一侧的运行芯片。

可选的,所述接收地址判断单元和发送地址判断单元通过先进先出存储器进行相互连接。

可选的,所述存储单元包括多个存储器,所述多个存储器连接到至少一个存储控制单元;所述至少一个存储控制单元用于控制所述多个存储器的数据读取或者存储。

可选的,所述存储器包括至少两个存储子单元和存储控制子单元;存储控制子单元通过接口与所述至少一个存储控制单元中的每一个连接,所述存储控制子单元用于控制所述至少两个存储子单元的数据读取或者存储。

可选的,所述存储子单元为SRAM存储器。

可选的,所述2个以上运算芯片连接成环形。

可选的,所述2个以上运算芯片不连接外部存储单元。

可选的,所述运算芯片进一步包括第一数据接口(130)与外部主机相连,用于接收外部数据或者控制指令。

可选的,所述运算芯片将外部数据存储到所述2个以上运算芯片的至少一个存储单元。

可选的,所述第一数据接口为UART控制单元。

可选的,所述N个内核core和所述至少一个存储控制单元中的每一个相连;根据所述N个内核core的操作命令,从所述多个存储器中读写数据。

可选的,内核core将产生的数据发送给所述至少一个存储控制单元,所述至少一个存储控制单元将数据发送给所述存储控制子单元,所述存储控制子单元将数据存储到存储子单元中。

可选的,运算芯片内核core获取其他运算芯片发送的获取数据命令,运算芯片内核core通过数据地址判断数据是否存储在本运算芯片的存储单元中,如果存在则向所述至少一个存储控制单元发送数据读取命令;所述至少一个存储控制单元将数据读取命令发送给对应的存储控制子单元,存储控制子单元从存储子单元获取数据,存储控制子单元将所述获取数据发送给至少一个存储控制单元,至少一个存储控制单元将所述获取数据发送给内核core,内核core将所述获取数据发送给发送地址判断单元,发送地址判断单元将所述获取数据发送给发送接口(tx),发送接口将所述获取数据发送给相邻的运行芯片。

可选的,所述运算芯片用于执行加密运算,卷积计算中的一种或者多种。

可选的,所述运算芯片分别执行独立的运算,每个计算单元分别计算结果。

可选的,所述运算芯片用于执行协同运算,每个运算芯片根据其他运算芯片的计算结果进行运算。

可选的,所述至少一个第一数据接口(130)接收外部指令初始化配置所述2个以上运算芯片的存储单元,对所述2个以上运算芯片的存储单元中的存储子单元进行统一编址。

可选的,所述运算芯片能通过所述至少一个第一数据接口(130)把计算结果向外传输。

可选的,所述内核core用于数据计算,数据存储控制。

根据本实用新型实施例提供的第二种大数据运算加速系统,包括2个以上运算芯片,所述2个以上运算芯片连接成环形;所述运算芯片包括数据发送接口(tx)、数据接收接口(rx)和所述至少一个存储单元,所述数据发送接口(tx)和接收接口(rx)为serdes接口,所述运算芯片之间通过serdes接口进行数据通信;运算芯片的每个内核core能够从所在运算芯片的存储单元获取数据,也能够从其他运算芯片的存储单元获取数据。

根据本实用新型实施例提供的第三种大数据运算加速系统,包括2个以上运算芯片,所述2个以上运算芯片信号连接成环形;所述运算芯片包括数据发送接口(tx)、数据接收接口(rx)和所述至少一个存储单元,所述数据发送接口(tx)和接收接口(rx)为serdes接口,所述运算芯片之间通过serdes接口进行数据通信;所述2个以上运算芯片的所述至少一个存储单元用于分布式存储数据,所述运算芯片不外接内存单元。

根据本实用新型实施例提供的第四种大数据运算加速系统,包括2个以上运算芯片,所述运算芯片包括N个内核core、N个数据通道(lane)和至少一个存储单元,所述数据通道(lane)包括发送接口(tx)和接收接口(rx),所述内核core和数据通道(lane)一一对应,所述内核core通过数据通道(lane)发送和接收数据;所述2个以上运算芯片通过所述发送接口(tx)和所述接收接口(rx)进行连接传输数据;所述至少一个存储单元用于分布式存储数据;其中N为大于等于4的正整数。

本实用新型实施例通过在大数据运算加速系统中设置多个芯片,多个芯片包括多个内核core,每个内核core执行运算和存储控制功能,并且在芯片内部给每个内核core连接至少一个存储单元,这样每个内核通过读取自己连接的存储单元和其他运算芯片内核连接的存储单元中的数据,使得每个内核可以具有大容量内存,减少了数据从外部存储空间中搬入或者搬出内存的次数,加快了数据的处理速度;同时,由于多个内核可以分别独立运算或者协同运算,这样也加快了数据的处理速度。多个ASIC芯片共享存储单元,这样不仅减少了存储单元的数量,也减少了ASIC运算芯片之间的连接线,简化了系统构造,减低了ASIC芯片的成本。

附图说明

为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是示例性的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1说明第一实施例具有M个ASIC芯片的大数据运算加速系统结构的示意图;

图2说明具有4个内核的运算芯片结构示意图;

图3说明数据通道lane的结构示意图;

图4a说明存储单元第一实施例的结构示意图的

图4b说明存储单元第二实施例的结构示意图;

图5说明大数据运算加速系统数据传输过程的示意图;

图6说明第一实施例具有4个内核的运算芯片信号流程示意图的;

图7说明根据本实用新型实施例的数据结构示意图。

具体实施方式

为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。

下面将基于附图具体说明本实用新型的示例性实施方式,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本实用新型,而并非以任何方式限制本实用新型的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

此外,需要说明书的是,各附图中的上、下、左、右的各方向仅是以特定的实施方式进行的例示,本领域技术人员能够根据实际需要将附图中所示的各构件的一部分或全部改变方向来应用,而不会影响各构件或系统整体实现其功能,这种改变了方向的技术方案仍属于本实用新型的保护范围。

多核芯片是具体化在单个大规模集成半导体芯片上的多处理系统。典型地,两个或更多芯片核心可以被具体化在多核芯片芯片上,由总线(也可以在相同的多核芯片芯片上形成该总线)进行互连。可以有从两个芯片核心到许多芯片核心被具体化在相同的多核芯片芯片上,在芯片核心的数量中的上限仅由制造能力和性能约束来限制。多核芯片可以具有应用,该应用包含在多媒体和信号处理算法(诸如,视频编码/解码、2D/3D图形、音频和语音处理、图像处理、电话、语音识别和声音合成、加密处理)中执行的专门的算术和/或逻辑操作。

虽然在背景技术中仅仅提到了ASIC专用集成电路,但是实施例中的具体布线实现方式可以应用到具有多核芯片CPU、GPU、FPGA等中。在本实施例中多个内核可以是相同内核,也可以是不同内核。

图1说明第一实施例具有M个ASIC芯片的大数据运算加速系统结构的示意图。如图1所示,大数据运算加速系统包括M个ASIC运算芯片,其中M为大于等于2的正整数,例如可以是6、10、12等等。所述运算芯片包括多个内核core(core0、core1、core2、core3)、4个数据通道(lane0、lane1、lane2 lane3),所述数据通道(lane)包括发送接口(tx)和接收接口(rx),所述内核core和数据通道(lane)一一对应,例如运算芯片10的内核core0具有数据通道(lane0),数据通道(lane0)具有发送接口(lane0 tx)和接收接口(lane0 rx),数据通道发送接口(lane0 tx)用于内核core0向所述运算芯片10外部发送数据或者控制指令,数据通道接收接口(lane0 rx)用于向内核core0发送所述运算芯片10的外部数据或者控制指令。这样所述M个运算芯片通过所述发送接口(tx)和所述接收接口(rx)进行连接,以便数据或者控制指令传输。M个运算芯片组成一个闭环形。在每个运算芯片中设置存储单元,所述运算芯片中的4个内核core都连接到存储单元,所述M个运算芯片的存储单元用于分布式存储数据,运算芯片内核core可以从本运算芯片的存储单元获取数据,也可以从其他运算芯片的存储单元获取数据。所述运算芯片中的4个内核core都连接到存储单元,通过存储单元也实现了所述运算芯片中的4个内核core数据交互的目的。而本领域技术人员可知,这里选择4个内核为例,只是示例性的说明,内核个数可以是N,其中N为大于等于4的正整数,例如可以是6、10、12等等。在本实施例中多个内核可以是相同内核,也可以是不同内核。

可选的,本实施例提供的系统中,2个以上运算芯片可以不连接外部存储单元。芯片中具有存储单元,可以用来存储数据,芯片无需与外部存储单元进行连接,能够减少芯片从外部读取数据的时间,加快了芯片运算速度。

数据通道(lane)的发送接口(lane tx)和接收接口(lane rx)为serdes接口,所述运算芯片之间通过serdes接口进行通信。serdes是英文SERializer(串行器)/DESerializer(解串器)的简称。它是一种主流的时分多路复用(TDM)、点对点(P2P)的串行通信技术。即在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,提升信号的传输速度,从而大大降低通信成本。当然,这里也可以采用其他的通信接口代替serdes接口,例如:SSI、UATR。芯片之间通过serdes接口进行数据和控制指令传输。

图2说明具有4个内核的运算芯片结构示意图的第一实施例。而本领域技术人员可知,这里选择4个内核为例,只是示例性的说明,运算芯片内核的个数可以是N,其中N为大于等于2的正整数,例如可以是6、10、12等等。在本实施例中运算芯片内核可以是具有相同功能的内核,也可以是不同功能的内核。

4个内核的运算芯片(1)包括4个内核core(core0、core1、core2、core3)、4个数据通道(lane0、lane1、lane2 lane3)和至少一个存储单元、一个数据交换控制单元,具体的数据交换控制单元为UART控制单元,每个数据通道(lane)包括一个发送接口(lane tx)和一个接收接口(lane rx)。

运算芯片(1)的内核core0连接于数据通道的发送接口(lane0 tx)和接收接口(lane0 rx),数据通道发送接口(lane0 tx)用于内核core0向所述运算芯片1连接的运算芯片发送数据或者控制指令,数据通道接收接口(lane0 rx)用于向内核core0发送所述运算芯片(1)连接的运算芯片传输的数据或者控制指令。同理,运算芯片1的内核core1连接于数据通道的发送接口(lane1 tx)和接收接口(lane1 rx);运算芯片1的内核core2连接于数据通道的发送接口(lane2 tx)和接收接口(lane2 rx),运算芯片1的内核core3连接于数据通道的发送接口(lane3tx)和接收接口(lane3rx)。数据通道(lane)的发送接口(lane tx)和接收接口(lane rx)为serdes接口。

一个数据交换控制单元通过总线连接于存储单元和4个内核core(core0、core1、core2、core3),在附图2中总线并未划出。数据交换控制单元可以采用多种协议进行实现,例如UART,SPI,PCIE,SERDES,USB等,在本实施方式中数据交换控制单元为UART(Universal Asynchronous Receiver/Transmitter)控制单元。通用异步收发传输器通常称作UART,是一种异步收发传输器,它将要传输的资料在串行通信与并行通信之间加以转换,UART通常被集成于各种通讯接口的连结上。但是这里只是以UART协议为例进行说,也可以采用其他协议。UART控制单元接受外部数据,根据外部数据地址将外部数据发送给内核core(core0、core1、core2、core3)或者存储单元。UART控制单元也可以接受外部的控制指令,向内核core(core0、core1、core2、core3)或者存储单元发送控制指令;也可以用于运算芯片向其他运算芯片发送内部或者外部控制指令,从其他芯片接受控制指令,以及向外部反馈运算结果或者中间数据等。所述的内部数据或者内部控制指令是指芯片自身产生的数据或者控制指令,所述外部数据或者外部控制指令是指芯片外部产生的数据或者控制指令,例如外部主机、外部网络发送的数据或者控制指令。

内核core(core0、core1、core2、core3)的主要功能是执行外部或者内部控制指令、执行数据计算以及数据的存储控制等功能。所述运算芯片中的内核core(core0、core1、core2、core3)都连接到存储单元,向所述运算芯片的存储单元读取或者写入数据,通过存储单元实现了所述运算芯片中的多个内核core数据交互;也可以向所述运算芯片的存储单元发送控制命令。内核core(core0、core1、core2、core3)根据指令通过serdes接口向其他运算芯片的存储单元写入数据、读取数据或者向其他运算芯片的存储单元发送控制指令;内核core(core0、core1、core2、core3)也可以根据指令通过serdes接口向其他运算芯片的内核core发送数据、读取数据或者向其他运算芯片的内核core发送控制指令。

图3说明数据通道lane的结构示意图的第一实施例。所述数据通道(lane)包括接收接口、发送接口、接收地址判断单元、发送地址判断单元和多个寄存器;接收地址判断单元一端连接于接收接口,接收地址判断单元另一端通过寄存器连接于内核core;发送地址判断单元一端连接于发送接口(tx),发送地址判断单元另一端通过寄存器连接于内核core;接收地址判断单元和发送地址判断单元通过寄存器相互连接;接收地址判断单元和发送地址判断单元还可以通过先进先出存储器进行相互连接,其中,先进先出(FIFO,first-in,first-out)是处理从队列或堆栈发出的程序工作要求的一种方法,它使最早的要求被最先处理。接收接口收到接收接口连接的相邻一侧运行芯片发送的数据帧或者控制指令,将所述数据帧或者控制指令发送给接收地址判断单元,接收地址判断单元将所述数据帧或者控制指令发送给内核core,同时将所述数据帧或者控制指令发送给发送地址判断单元;发送地址判断单元接收所述数据帧或者控制指令,将所述数据帧或者控制指令发送给发送接口(tx),发送接口将所述数据帧或者控制指令发送给发送接口连接的相邻另一侧运行芯片。内核core产生数据帧或者控制指令,将所述数据帧或者控制指令发送给发送地址判断单元,发送地址判断单元将所述数据帧或者控制指令发送给发送接口,发送接口将所述数据帧或者控制指令发送给相邻一侧的运行芯片的接收接口。寄存器的作用是暂存数据帧或者控制指令的。

图4a说明存储单元的结构示意图的第一实施例。每个运算芯片内包含了N个内核core,他们需要并发的随机的存取数据,如果N的数量级达到64以及以上的话,需要运算芯片的内存带宽达到非常高的数量级,即使是GDDR(Graphics Double Data Rate,独立显卡)也很难达到这么高的带宽。因此,在本实用新型实施例中了使用SRAM(Static Random-Access Memory,静态随机存取存储器)阵列和大MUX(multiplexer,数据选择器)路由的方式提供高带宽。如图4a所示系统由两级存储控制单元组成,以减缓实现时候的雍塞问题。所述存储单元(40)可以包括多个存储器,例如可以包括8个存储器(410……417),所述8个存储器(410……417)连接到存储控制单元(420);所述存储控制单元用于控制所述多个存储器的数据读取或者存储。所述存储器(410……417)包括至少两个存储子单元和一个存储控制子单元;存储控制子单元通过接口与所述存储控制单元连接,所述存储控制子单元用于控制所述至少两个存储子单元的数据读取或者存储。所述存储子单元为SRAM存储器。

图4b说明存储单元的结构示意图的第二实施例。在附图4b中存储单元中可以设置多个存储控制单元(420、421、422、423),每个内核core和所述多个存储控制单元(420、421、422、423)中的每一个相连,根据所述N个内核core的操作命令,从所述多个存储器中读写数据。每一个存储控制单元和每一个存储器(410……417)连接。存储器的结构和附图4a中完全相同,这里就不再次描述。

内核core将产生的数据发送给至少一个存储控制单元,所述至少一个存储控制单元将数据发送给所述存储控制子单元,所述存储控制子单元将数据存储到存储子单元中。运算芯片内核core获取其他运算芯片发送的获取数据命令,运算芯片内核core通过数据地址判断数据是否存储在本运算芯片的存储单元中,如果存在则向所述至少一个存储控制单元发送数据读取命令;至少一个存储控制单元将数据读取命令发送给对应的存储控制子单元,存储控制子单元从存储子单元获取数据,存储控制子单元将所述获取数据发送给至少一个存储控制单元,至少一个存储控制单元将所述获取数据发送给内核core,内核core将所述获取数据发送给发送地址判断单元,发送地址判断单元将所述获取数据发送给发送接口(tx),发送接口将所述获取数据发送给相邻的运算芯片。

所述运算芯片用于执行加密运算,卷积计算中的一种或者多种。下面进行示例性的详细描述。

该大数据运算加速系统可以应用到人工智能领域中,运算芯片的UART控制单元将外部主机发送的图片数据或者视频数据通过内核core存储到存储单元中,运算芯片产生神经网络的数学模型,该数学模型也可以由外部主机通过UART控制单元存储到存储单元,由各个运算芯片读取。在运算芯片上运行神经网络第一层数学模型,运算芯片的内核core从本运算芯片的存储单元和/或其他运算芯片的存储单元读取数据进行运算,并将运算结果通过serdes接口存储到其他运算芯片的存储单元中的至少一个存储单元,或者存储到本运算芯片的存储单元。运算芯片(1)通过UART控制单元或者serdes接口向下一个运算芯片(2)发送控制指令,启动下一个运算芯片(2)进行运算。在下一个运算芯片(2)上运行神经网络第二层数学模型,下一个运算芯片的内核core从本运算芯片的存储单元和/或其他运算芯片的存储单元读取数据进行运算,并将运算结果通过serdes接口存储到其他运算芯片的存储单元中的至少一个存储单元,或者存储到本运算芯片的存储单元。每一个芯片执行神经网络中的一层,通过serdes接口从其他运算芯片的存储单元或者本运算芯片的存储单元获取数据进行运算,只到神经网络最后一层计算出运算结果。运算芯片从本地存储单元或者其他运算芯片的存储单元中获取运算结果,通过UART控制单元反馈给外部主机。

大数据运算加速系统可以应用到数字凭证”领域中,运算芯片(1)的UART控制单元将外部主机发送的区块信息存储到多个运算芯片的多个存储单元中的至少一个存储单元。外部主机通过运算芯片(1……M)UART控制单元向M个运算芯片发送控制指令进行数据运算,M个运算芯片启动运算操作。当然也可以外部主机向一个运算芯片(1)UART控制单元发送控制指令进行数据运算,运算芯片(1)依次向其他M-1个运算芯片发送控制指令进行数据运算,M个运算芯片启动运算操作。也可以外部主机向一个运算芯片(1)UART控制单元发送控制指令进行数据运算,第一运算芯片(1)向第二运算芯片(2)发送控制指令进行数据运算,第二运算芯片(2)向第三运算芯片(3)发送控制指令进行数据运算,第三运算芯片(3)向第四运算芯片(4)发送控制指令进行数据运算,M个运算芯片启动运算操作。M个运算芯片通过serdes接口从其他运算芯片的存储单元或者本运算芯片的存储单元获取数据进行运算,M个运算芯片同时进行工作量证明运算,运算芯片(1)从存储单元获取运算结果,通过UART控制单元反馈给外部主机。

图5说明大数据运算加速系统数据传输过程的示意图的第一实施例。所述运算芯片用于执行协同运算,每个运算芯片根据其他运算芯片的计算结果进行运算。例如,系统中共包括N个运算芯片,每个运算芯片完成1/n的工作,每个运算芯片完成其负责的数据之后,因为数据相关性,必须要把其算完的结果传输给其他所有的芯片。运算芯片n-1是数据帧的源头运算芯片,数据通过lane0 tx发送到运算芯片0;在运算芯片0内,数据帧会被分为两路传播,第一路发送给运算芯片0的内核core,外一路在被转发到运算芯片0的lane0 tx通道内,如此该数据帧会被发送到运算芯片1。

源ID机制:每个数据帧都携带了该数据帧的源头的运算芯片ID,每当该数据帧被发送到一个新的运算芯片之后,该运算芯片会检测数据帧内的运算芯片ID,如果发现该运算芯片ID和这个运算芯片所连接的下一个运算芯片的ID相等的时候,那么该数据帧就不会再被转发,也就意味着该数据帧的生命周期在此处终止,也不再占用带宽。运算芯片会检测数据帧内的运算芯片ID可以是在内核core中进行,也可以是在接收地址判断单元中进行。

图6说明第一实施例具有4个内核的运算芯片信号流程示意图的。

所述运算芯片进一步包括第一数据接口(130)与外部主机相连,用于接收外部数据或者控制指令。所述运算芯片将外部数据存储到所述2个以上运算芯片的至少一个存储单元。所述第一数据接口可以是UART控制单元。

所述UART控制单元(130)用于获取芯片外部数据或者控制指令,将外部数据或者控制指令传输给和UART控制单元连接的内核core(110)。内核core(110)将外部数据根据数据地址传输给本芯片的存储单元(120)进行存储,或者内核core(110)根据数据地址将数据通过信号通道lane发送给数据地址对应的其他芯片内核core,其他芯片内核core将数据存储到本地的存储单元中。内核core(110)根据外部控制指令地址由本运算芯片内核core执行或者通过信号通道lane发送给控制指令地址对应的其他芯片内核core执行。如果本运算芯片内核core需要获取数据,则内核core可以从本地存储单元获取数据,也可以从其他运算芯片的存储单元获取数据。当从其他运算芯片的存储单元获取数据时,内核core(110)将获取数据控制指令通过自身连接的serdes接口(150)将获取数据控制指令广播给连接的运算芯片;连接的运算芯片将获取数据控制指令分成两路,一路发送给内核core,另一路向下一个芯片转发。如果连接的运算芯片判断出数据存储在本地存储单元,则内核core从存储单元中读取数据,通过serdes接口发送给发出获取数据控制指令的运算单元。当然,运算芯片之间的控制指令也可以通过UART控制单元进行发送。内核core根据外部控制指令或者内部控制指令将运算结果或者中间数据反馈给外部时,内核core从本运算芯片的存储单元或者通过serdes接口从其他运算芯片的存储单元获取运算结果或者中间数据,将运算结果或者中间数据通过第一数据接口(130)发送给外部,当第一数据接口是UART控制单元时,则通过UART控制单元将运算结果或中间数据发送至外部。这里所述的外部可以是指外部主机、外部网络或者外部平台等。

所述至少一个第一数据接口(130)接收外部指令初始化配置所述2个以上运算芯片的存储单元,对所述2个以上运算芯片的存储单元中的存储子单元进行统一编址。若所述第一数据接口(130)是UART控制单元,则外部主机能通过UART控制单元初始化配置存储单元参数,对多个存储单元进行统一编址。

当然,内核core根据获取的数据进行计算,并将计算结果存储到存储单元中。每个存储单元中设置专有存储区域和共享存储区域;所述专有存储区域用于存储一个运算芯片的临时运算结果,该临时运算结果为所述一个运算芯片继续利用的中间计算结果,而其他运算芯片不会使用的中间计算结果;所述共享存储区域用于存储运算芯片的运算数据结果,该运算数据结果被其他运算芯片使用,或者需要向外部进行反馈传输。

本实用新型实施例通过在芯片中设置多个内核core,每个内核core执行运算和存储控制功能,并且在芯片内部给每个内核core连接至少一个存储单元,这样每个内核通过读取自己连接的存储单元和其他内核连接的存储单元,使得每个内核可以具有大容量内存,减少了数据从外部存储空间中搬入或者搬出内存的次数,加快了数据的处理速度;同时,由于多个内核可以分别独立运算或者协同运算,这样也加快了数据的处理速度。

图7说明根据本实用新型实施例的数据结构示意图。这里所说的数据为命令数据、数值数据、字符数据等多种数据。数据格式具体包括有效位valid、目的地址dst id、源地址src id和data数据。内核可以通过有效位valid来判断该数据包是命令还是数值,这里可以假定0代表数值,1代表命令。内核会根据数据结构判断目的地址、源地址和数据类型。例如在附图1种,内核50向内核10发送数据读取命令,则有效位为1,目的地址为内核10的地址、源地址为内核50的地址和data数据为读取数据命令以及数据类型或者数据地址等。内核10向内核10发送数据,则有效位为0,目的地址为内核50的地址、源地址为内核0的地址和data数据为读取的数据。从指令运行时序上来看,本实施例中采用传统的六级流水线结构,分别为取指、译码、执行、访存、对齐和写回级。从指令集架构上来看,可以采取精简指令集架构。按照精简指令集架构的通用设计方法,本实用新型指令集可以按功能分为寄存器-寄存器型指令,寄存器-立即数指令,跳转指令,访存指令、控制指令和核间通信指令。

作为一个实施例,本实施例提供的系统可以进行的与数字凭证相关的数据处理,所述数字凭证可以通过数据处理得到。

使用本文中提供的描述,可以通过使用标准的编程和/或工程技术将实施例实现成机器、过程或制造品以产生编程软件、固件、硬件或其任何组合。

可以将任何生成的程序(多个)(具有计算机可读程序代码)具体化在一个或多个计算机可使用的介质上,诸如驻留存储设备、智能卡或其它可移动存储设备,或传送设备,从而根据实施例来制作计算机程序产品和制造品。照此,如本文中使用的术语“制造品”和“计算机程序产品”旨在涵盖永久性地或临时性地存在在任何计算机可以使用的非短暂性的介质上的计算机程序。

如上所指出的,存储器/存储设备包含但不限制于磁盘、光盘、可移动存储设备(诸如智能卡、订户身份模块(SIM)、无线标识模块(WIM))、半导体存储器(诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM))等。传送介质包含但不限于经由无线通信网络、互联网、内部网、基于电话/调制解调器的网络通信、硬连线/电缆通信网络、卫星通信以及其它固定或移动网络系统/通信链路的传输。

虽然已经公开了特定的示例实施例,但是本领域的技术人员将理解的是,在不背离本实用新型的精神和范围的情况下,能够对特定示例实施例进行改变。

以上参考附图,基于实施方式说明了本实用新型,但本实用新型并非限定于上述的实施方式,根据布局需要等将各实施方式及各变形例的部分构成适当组合或置换后的方案,也包含在本实用新型的范围内。另外,还可以基于本领域技术人员的知识适当重组各实施方式的组合和处理顺序,或者对各实施方式施加各种设计变更等变形,被施加了这样的变形的实施方式也可能包含在本实用新型的范围内。

本实用新型虽然已详细描述了各种概念,但本领域技术人员可以理解,对于那些概念的各种修改和替代在本实用新型公开的整体教导的精神下是可以实现的。本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本实用新型。可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本实用新型的范围,本实用新型的范围由所附权利要求书及其等同方案的全部范围来决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1