买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:北京比特大陆科技有限公司
摘要:本发明提供一种大数据运算加速系统以及芯片,通过在芯片中设置多个内核core,每个内核core执行运算和存储控制功能,并且在芯片外部给每个内核core连接至少一个存储单元。采用本发明的技术方案,使得每个内核通过读取自己连接的存储单元和其他内核连接的存储单元,达到每个内核可以具有大容量内存的技术效果,减少了数据从外部存储空间中搬入或者搬出内存的次数,加快了数据的处理速度;同时,由于多个内核可以分别独立运算或者协同运算,这样也加快了数据的处理速度。
主权项:1.一种大数据运算加速系统,包括至少一个运算芯片和多个存储单元;所述芯片包括N个内核core,其中N为大于等于4的正整数,每个内核core分别包括存储控制单元和计算单元;存储控制单元通过总线分别连接至少一个存储单元;所述N个内核core通过总线互相连接;所述芯片包括数据交换控制单元,用于将芯片外部数据或者指令发送给内核core或者存储单元,并且从内核core或者存储单元获取数据或者指令;所述计算单元用于对获取的数据进行计算,其中,所述获取的数据包括:所述计算单元的内核连接的至少一个存储单元的部分或者全部数据;或者,其他内核连接的至少一个存储单元的部分或者全部数据;或者,设置所述计算单元的内核连接的至少一个存储单元的部分或者全部数据和其他内核连接的至少一个存储单元的部分或者全部数据的组合;其中,所述其他内核连接的至少一个存储单元的部分或者全部数据具体为,所述计算单元通过总线向其他计算单元发送获取数据命令,其他计算单元向其他计算单元连接的存储控制单元发送获取数据命令,其他计算单元连接的存储控制单元从连接的至少一个存储单元获取部分或者全部所述的数据,将获取部分或者全部所述的数据发送给其他计算单元,其他计算单元将获取部分或者全部所述的数据发送给所述计算单元。
全文数据:大数据运算加速系统和芯片技术领域[0001]本发明涉及集成电路领域,特别是涉及一种大数据运算加速系统和芯片。背景技术[0002]ASICApplicationSpecificIntegratedCircuits即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。[0003]随着科技的发展,越来越多的领域,比如人工智能、安全运算等都涉及大运算量的特定计算。针对特定运算,ASIC芯片可以发挥其运算快,功耗小等特定。同时,对于这些大运算量领域,为了提高数据的处理速度和处理能力,通常需要控制N个运算芯片同时进行工作。随着数据精度的不断提升,人工智能、安全运算等领域需要对越来越大的数据进行运算,例如:现在照片的大小一般为3-7MB,但是随着数码相机和摄像机的精度增加,照片的大小可以达到10MB或者更多,而30分钟的视频可能达到1个多G的数据。而在人工智能、安全运算等领域中要求计算速度快,时延小,因此如何提高计算速度和反应时间一直是芯片设计所要求的目标。由于ASIC芯片搭配的内存一般为64MB或者128MB,而当要处理的数据在512MB以上时,ASIC芯片要多次利用内存存取数据,多次将数据从外部存储空间中搬入或者搬出内存,降低了处理速度。发明内容[0004]本发明提供一种大数据运算加速系统以及芯片,通过在芯片中设置多个内核core,每个内核core执行运算和存储控制功能,并且在芯片外部给每个内核core连接至少一个存储单元,这样每个内核通过读取自己连接的存储单元和其他内核连接的存储单元,使得每个内核可以具有大容量内存,减少了数据从外部存储空间中搬入或者搬出内存的次数,加快了数据的处理速度;同时,由于多个内核可以分别独立运算或者协同运算,这样也加快了数据的处理速度。[0005]为达到上述目的,本发明提供如下技术方案:[0006]根据本发明的第一方面,提供一种大数据运算加速系统,包括至少一个运算芯片和多个存储单元;所述芯片包括N个内核core,其中N为大于等于4的正整数,每个内核core分别包括存储控制单元和计算单元;存储控制单元通过总线分别连接至少一个存储单元;所述N个内核core通过总线互相连接;所述芯片包括UART控制单元,用于将芯片外部数据或者指令发送给内核core或者存储单元,并且从内核core或者存储单元获取数据或者指令。[0007]优选地,所述至少一个存储单元为DDR系列存储单元。[0008]优选地,所述存储控制单元用于控制所述存储控制单元连接至少一个存储单元的数据读写操作。[0009]优选地,所述数据读写操作是针对至少一个存储单元的部分或者全部存储空间的操作。[0010]优选地,所述计算单元用于对获取的数据进行计算。[0011]优选地,所述获取的数据可以为设置所述计算单元的内核连接的至少一个存储单元的部分或者全部数据,或者其他内核连接的至少一个存储单元的部分或者全部数据,或者设置所述计算单元的内核连接的至少一个存储单元的部分或者全部数据和其他内核连接的至少一个存储单元的部分或者全部数据的组合。[0012]优选地,所述获取的数据可以为设置所述计算单元的内核连接的至少一个存储单元的部分或者全部数据具体为,[0013]所述计算单元通过连接的存储控制单元获得至少一个存储单元的部分或者全部数据。[0014]优选地,所述其他内核连接的至少一个存储单元的部分或者全部数据具体为,[0015]所述计算单元通过总线向其他计算单元发送获取数据命令,其他计算单元向其他计算单元连接的存储控制单元发送获取数据命令,其他计算单元连接的存储控制单元从连接的至少一个存储单元获取部分或者全部所述的数据,将获取部分或者全部所述的数据发送给其他计算单元,其他计算单元将获取部分或者全部所述的数据发送给所述计算单元。[0016]优选地,所述计算单元可以执行加密运算,卷积计算中的一种或者多种。[0017]优选地,所述计算单元分别执行独立的运算,每个计算单元分别计算结果。[0018]优选地,所述计算单元可以执行协同运算,每个计算单元根据其他计算单元的计算结果进行运算。[0019]优选地,所述存储控制单元用于从计算单元获取数据,将所述获取数据存储到相连的至少一个存储单元。[0020]优选地,所述UART控制单元接收外部指令初始化配置所述至少一个存储单元,对多个所述至少一个存储单元进行统一编址。[0021]优选地,通过所述UART控制单元读写多个所述至少一个存储单元。[0022]优选地,通过所述UART控制单元向多个所述计算单元广播数据。[0023]优选地,多个所述计算单元能通过串行总线把计算结果通过所述UART控制单元向外传输。[0024]优选地,所述UART控制单元包括UART接口,第一AI单元,第二AH单元,AHB接口、数据校对单元和数据产生单元。[0025]优选地,所述UART接口用于获取芯片外部数据或者指令。[0026]优选地,所述数据产生单元用于产生GAD或者网络模型参数。[0027]优选地,所述第一AXI单元包括第一接口(M0、第二接口(Ml、N个第三接口(S0至S和第四接口(S8;第一接口(M0和第二接口(Ml分别连接数据产生单元和UART接口,N个第三接口(S0至S7分别连接N个数据校对单元,第四接口连接所述第二AXI单元。[0028]优选地,所述第二AXI单元包括一个第一接口⑽和N个第二接口(S;第一接口M接收所述第一AXI单元发送的数据,N个第二接口(S分别连接N个AHB接口。[0029]优选地,所述第一AXI单元用于向所述至少一个存储单元发送512比特的数据或者命令。[0030]优选地,所述第二AXI单元用于向所述至少一个存储单元发送32比特的数据或者命令。[0031]优选地,通过所述第一AXI单元的第四接口(S8和所述第二AXI单元的第一接口⑽进行格式转换。_[0032]优选地,所述AHB接口和所述数据校对单元连接所述至少一个存储单元。[0033]优选地,所述数据校对单元用于对存储到所述至少一个存储单元中的数据进行校对。[0034]根据本发明的第二方面,提供一种大数据运算加速芯片,所述芯片包括N个内核core,其中N为大于等于4的正整数,和所述N个内核中的每个内核通过总线分别连接至少一个存储单元;所述N个内核core通过总线互相连接;其特征在于:所述芯片包括UART控制单元,所述UART控制单元包括UART接口,第一AXI单元,第二AH单元,AHB接口、数据校对单元和数据产生单元。[0035]优选地,所述UART接口用于获取芯片外部数据或者指令。[0036]优选地,所述数据产生单元用于产生GAD或者网络模型参数。[0037]优选地,所述第一AXI单元包括第一接口(M0、第二接口(Ml、N个第三接口(S0至S和第四接口(S8;第一接口⑽和第二接口Ml分别连接数据产生单元和UART接口,N个第三接口(S0至S7分别连接N个数据校对单元,第四接口连接所述第二AXI单元。[0038]优选地,所述第二ACI单元包括一个第一接口⑽和N个第二接口⑸;第一接口⑽接收所述第一An单元发送的数据,N个第二接口⑸分别连接N个AHB接口。[0039]优选地,所述第一AH单元用于向所述至少一个存储单元发送512比特的数据或者命令。[0040]优选地,所述第二AXI单元用于向所述至少一个存储单元发送32比特的数据或者命令。[0041]优选地,通过所述第一AXI单元的第四接口(S8和所述第二AXI单元的第一接口进行格式转换。[0042]优选地,所述AHB接口和所述数据校对单元连接所述至少一个存储单元。[0043]优选地,所述数据校对单元用于对存储到所述至少一个存储单元中的数据进行校对。[0044]本发明实施例通过在芯片中设置多个内核core,每个内核core执行运算和存储控制功能,并且在芯片外部给每个内核core连接至少一个存储单元,这样每个内核通过读取自己连接的存储单元和其他内核连接的存储单元,使得每个内核可以具有大容量内存,减少了数据从外部存储空间中搬入或者搬出内存的次数,加快了数据的处理速度;同时,由于多个内核可以分别独立运算或者协同运算,这样也加快了数据的处理速度。附图说明[0045]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是示例性的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0046]图1说明第一实施例具有8个内核芯片的大数据运算加速系统结构的示意图;[0047]图2说明第二实施例具有8个内核芯片的大数据运算加速系统结构的示意图;[0048]图3说明第三实施例具有6个内核芯片的大数据运算加速系统结构的示意图;[0049]图4说明第四实施例的大数据运算加速系统内部连接和数据走向示意图;[0050]图5说明根据本发明的数据结构示意图;[0051]图6说明第五实施例具有S个内核芯片的大数据运算加速系统结构的示意图。具体实施方式[0052]下面将基于附图具体说明本发明的示例性实施方式,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。[0053]此外,需要说明书的是,各附图中的上、下、左、右的各方向仅是以特定的实施方式进行的例示,本领域技术人员能够根据实际需要将附图中所示的各构件的一部分或全部改变方向来应用,而不会影响各构件或系统整体实现其功能,这种改变了方向的技术方案仍属于本发明的保护范围。[0054]多核芯片是具体化在单个大规模集成半导体芯片上的多处理系统。典型地,两个或更多芯片核心可以被具体化在多核芯片芯片上,由总线(也可以在相同的多核芯片芯片上形成该总线进行互连。可以有从两个芯片核心到许多芯片核心被具体化在相同的多核芯片芯片上,在芯片核心的数量中的上限仅由制造能力和性能约束来限制。多核芯片可以具有应用,该应用包含在多媒体和信号处理算法诸如,视频编码解码、2D3D图形、音频和语音处理、图像处理、电话、语音识别和声音合成、加密处理)中执行的专门的算术和或逻辑操作。[0055]虽然在背景技术中仅仅提到了ASIC专用集成电路,但是实施例中的具体布线实现方式可以应用到具有多核芯片CPU、GPU、FPGA等中。在本实施例中多个内核可以是相同内核,也可以是不同内核。[0056][实施方式1][0057]为了方便说明,以下将以图2中存在的8个内核的芯片为例进行说明,而本领域技术人员可知,这里选择8个内核为例,只是示例性的说明,内核个数可以是N,其中N为大于等于4的正整数,例如可以是6、10、12等等。在本实施例中多个内核可以是相同内核,也可以是不同内核。[0058]图1说明第一实施例具有8个内核芯片的大数据运算加速系统结构的示意图。如图1所示,大数据运算加速系统包括至少一个具有8个内核的运算芯片和多个存储单元,8个内核的运算芯片包括8个内核core10……17,每个内核core分别包括存储控制单元11〇……117和计算单元(120……127;存储控制单元(110……117通过数据总线分别连接4个存储单元200,201,202,203……270,271,272,273。上述所述8个内核core10……17通过总线连接单元30互相连接,可以相互之间传输数据或者命令;数据交换控制单元通过总线连接单元30与8个内核core10……17相连,并且通过总线与32个存储单元200,201,202,203……270,271,272,273相连。[0059]数据交换控制单元可以采用多种协议进行实现,例如UART,SPI,PCIE,SERDES,USB等,在本实施方式中数据父换控制单兀为UARTUniversalAsynchronousReceiverTransmitter控制单元40。通用异步收发传输器通常称作UART,是一种异步收发传输器,它将要传输的资料在串行通信与并行通信之间加以转换,UART通常被集成于各种通讯接口的连结上。但是这里只是以UART协议为例进行说,也可以采用其他协议。UARTUniversalAsynchronousReceiverTransmitter控制单元40通过总线连接单元30与8个内核core10……17相连,并且通过总线与32个存储单元200,201,202,203……270,271,272,273相连。[0060]存储单元可能为DDR、SDDR、DDR2、DDR3、DDR4、GDDR5、GDDR6、HMC、HBM等高速外部存储器。在这里存储单元优选的选择DDR系列内存,DDRDualDataRate内存即双倍速率同步动态随机存储器。DDR运用了同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,又保持与CPU完全同步;DDR使用了DLLDelayLockedLoop,延时锁定回路提供一个数据滤波信号)技术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器模块的数据。DDR内存的频率可以用工作频率和等效频率两种方式表不,工作频率是内存颗粒实际的工作频率,但是由于DDR内存可以在脉冲的上升和下降沿都传输数据,因此传输数据的等效频率是工作频率的两倍。DDR2DoubleDataRate2内存是由JEDEC电子设备工程联合委员会进行开发的新生代内存技术标准,DDR2内存每个时钟能够以4倍外部总线的速度读写数据,并且能够以内部控制总线4倍的速度运行。00??3、001?4、6001^5、^顶6、册:、冊1!内存都是现有技术,这里就不详细介绍。存储控制单元(110……117通过DDR总线分别于4个存储单元200,201,202,203……270,271,272,273连接。在本实施方式中每个存储单元至少为512MB以上的内存,其存储容量可以为1G、2G或者更多。[0061]32个存储单元200,201,202,203……270,271,272,273用于存储原始数据或者待处理的数据,例如:图像数据、视频数据、待加密数据等。也可以存储经过计算单元120......127计算结果,通过。32个存储单元进行统一分配地址,32个存储单元的存储空间地址连续且不相同。[0062]存储控制单元(110……117用于控制连接的存储单元200,201,202,203……270,271,272,273中数据的读取或者存储。例如,存储控制单元110可以从其连接的存储单元200,201,202,203中读取部分或者全部原始数据或者待处理的数据,并将所读取部分或者全部原始数据或者待处理的数据发送给存储控制单元110连接的计算单元120。[0063]计算单元(120……127用于向其连接的存储控制单元(110……117发送获取数据命令,存储控制单元(110……117根据命令获取其控制的存储单元(200,201,202,203……270,271,272,273中的数据,并将获取的数据发送给计算单元120……127。计算单元也可以向其他计算单元发送获取数据命令,其他计算单元向其他计算单元连接的存储控制单元发送获取数据命令,其他计算单元连接的存储控制单元从其控制的存储单元获取部分或者全部所述的原始数据或者待处理的数据,将获取部分或者全部所述的原始数据或者待处理的数据发送给其他计算单元,其他计算单元将获取部分或者全部所述的原始数据或者待处理的数据发送给计算单元。[0064]例如,计算单元(120向其连接的存储控制单元(110发送获取数据命令,存储控制单元(110根据获取数据命令获取其控制的存储单元200,201,202,203中的部分或者全部所述的原始数据或者待处理的数据,并将获取的数据发送给计算单元(120。计算单元120也可以向计算单元(121……127发送获取数据命令,计算单元(121……127向自身连接的存储控制单元111……117发送获取数据命令,计算单元121……127自身连接的存储控制单元(111……117从其控制的存储单元(210,211,212,213……270,271,272,273获取部分或者全部所述的原始数据或者待处理的数据,将获取部分或者全部所述的原始数据或者待处理的数据发送给计算单元121……127,计算单元121……127将获取部分或者全部所述的原始数据或者待处理的数据发送给计算单元120。[0065]计算单元(120……127也可以向自身连接的存储控制单元(110……117发送写入数据命令,存储控制单元110……117根据命令将计算单元120……127中的计算结果写入其控制的存储单元200,201,202,203……270,271,272,273中。[0066]计算单元(120……127从本内核连接的存储单元(200,201,202,203……270,271,272,273获取部分或者全部所述的原始数据或者待处理的数据,以及从其他内核连接的存储单元200,201,202,203……270,271,272,273获取部分或者全部所述的原始数据或者待处理的数据,并且对上述数据进行计算,得到运算结果;所述计算单元可以执行SHA256运算,卷积计算等。[0067]例如,计算单元120从本内核(10连接的存储单元200,201,202,203获取部分或者全部所述的原始数据或者待处理的数据,以及通过其他计算单元121……127从其他内核20……70连接的存储单元210,211,212,213……270,271,272,273获取部分或者全部所述的原始数据或者待处理的数据,并且对上述数据进行计算,得到运算结果。并将计算结果写入到存储单元200,201,202,203。[0068]计算单元120......127分别执行独立的相同运算,每个计算单元120……127分别计算结果。例如对数据进行SHA256等加密运算。所述计算单元(120……127也可以执行协同运算,即第一计算单元(12〇将其计算结果发送给第二计算单元(121,第二计算单元121根据获取的计算结果和其他参数进行第二次计算,以此类推,例如神经网络的数据处理,神经网络是由多层组成,每一个计算单元可以执行一层神经网络的计算。[0069]总线可以采用集中式仲裁总线结构,或者环线拓扑总线结构,总线技术为本领域的常用技术,因此在这里就不详细介绍。[0070]UART控制单元(40用于控制芯片内部存储控制单元(11〇……117和计算单元120......127和外部的数据和命令交换,以及存储单元21〇,211,212,213……270,271,272,273和外部的数据和命令交换,UART控制单元40和存储单元210,211,212,213……270,271,272,273具有连接的总线。下面将在附图4中进行详细介绍。这里所述的外部可以是指外部主机、外部CPU、外部控制器、外部功能芯片、外部GPU以及和本芯片完全相同的芯片。[0071]总线连接单元30用于连接8个内核core10......17和UART控制单元40,以便数据或者命令在各个单元中传输。[0072]图2说明第二实施例具有8个内核芯片的大数据运算加速系统结构的示意图。通过图2可以看出,和第一实施例的区别在于每个内核所连接的存储单元的个数不同,工作方式和工作原理相同,这里就不进行详细说明。[0073]图3说明第三实施例具有6个内核芯片的大数据运算加速系统结构的示意图。通过图3可以看出,和第一实施例的区别在于芯片中的内核数量以及每个内核所连接的存储单元的个数不同,工作方式和工作原理相同,这里就不进行详细说明。[0074]图4说明第四实施例的大数据运算加速系统内部连接和数据走向示意图。通过图4可以看出,芯片包括8个内核core0......core7,每个内核连接一个DDR存储单兀DDRO......DDR7和UART控制单元(40』ART控制单元(40包括UART接口(401,第一AXIAdvancedextensibleInterface单元(402,第二AXI单元(403,AHB接口(404、数据校对单兀405、数据产生单元406。当然这里每个内核都包括存储控制单元和计算单元。[0075]通用异步收发器UARTUniversalAsynchronousReceiverTransmitter串行总线协议是一种在低速率通信领域应用最广的协议,其电路简单,成本低。但是其只能是一对一的通信。[0076]AXIAdvancedextensibleInterface是一种总线协议,该协议是ARM公司提出的AMBAAdvancedMicrocontrollerBusArchitecture3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持Outstanding传输访问和乱序访问,并更加容易进行时序收敛。AH是AMBA中一个新的高性能协议。AXI技术丰富了现有的AMBA标准内容,满足超高性能和复杂的片上系统SoC设计的需求。[0077]AHBAdvancedHighPerformanceBus高级高性能总线。如同USBUniversalSerialBus—样,也是一种总线接口。AHB主要用于高性能模块如CPU、DMA和DSP等之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位〜128位总线宽度;支持字节、半字和字的传输。AHB系统由主模块、从模块和基础结构(Infrastructure3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器arbiter、主模块到从模块的多路器、从模块到主模块的多路器、译码器decoder、虚拟从模块dummySlave、虚拟主模块dummyMaster所组成,这种设计使整个系统的结构清晰,增强系统的通用性与系统中功能模块的可移植性。[0078]所述UART接口用于获取芯片外部数据或者指令,所述数据产生单元用于产生GAD或者网络模型参数。所述第一AXI单元包括第一接口(M0、第二接口(Ml、8个第三接口(SO至S和第四接口(S8;第一接口M0和第二接口(Ml分别连接数据产生单元和UART接口,8个第三接口(S0至S7分别连接9个数据校对单元,第四接口(S8连接所述第二AXI单元的第一接口⑽。所述第二AXI单元包括一个第一接口⑽和8个第二接口(S;第一接口⑽接收所述第一An单元的第四接口(S8发送的数据,N个第二接口(S分别连接N个AHB接口。所述AHB接口和所述数据校对单元连接所述至少一个存储单元。[0079]所述第一AXI单元通过第一接口(M0和第二接口(Ml接送数据或者命令,将数据或者命令转换后通过8个第三接口(S0至S7发送给所述数据校对单元,所述数据校对单元用于对存储到所述至少一个存储单元中的数据进行校对,所述第一An单元用于向所述至少一个存储单元发送512比特的数据或者命令。[0080]所述第二AXI单元通过第一接口〇〇从所述第一AH单元的第四接口(S8接收数据,将J512比特的数据或者命令进行格式转换,转换为32比特的数据或者命令。并通过8个第二接口⑸向AHB接口(404发送32比特的数据或者命令。[0081]外部主机能通过UART控制单元初始化配置DDR参数,对多个DDR颗粒进行统一编址。外部主机将编址命令通过UART接口(401,第一AXIAdvancedextensibleInterface单元402,第二AXI单元403和AHB接口(404发送给DDR存储单元DDR0……DDR7,DDR存储单元DDR0……DDR7根据编址命令进行地址分配。[0082]外部主机能通过UART控制单元向DDR存储单元DDR0……DDR7写入数据;外部主机将数据和其存储的地址通过UART接口(401、第一AXI单元402和数据校对单元405发送给DDR存储单元DDR0……DDR7,DDR存储单元DDR0……DDR7根据数据和其存储的地址进行存储。第一AH单元402通过M0接口接收UART接口(401发送的数据,通过S0……S7接口发送给数据校对单元405,数据校对单元405将数据发送给连接的DDR存储单元。通过反向链路外部主机也可以读取DDR存储单元DDR0……DDR7中存储的数据。[0083]数据产生单元(406能产生数据,将产生数据和其存储的地址通过UART接口401、第一AXI单元402和数据校对单元405发送给DDR存储单元DDR0……DDR7中进行存储。第一AH单元402通过Ml接口接收数据产生单元406能产生数据,通过S0……S7接口发送给数据校对单元405,数据校对单元405将数据发送给连接的DDR存储单元。[0084]在需要的时候,数据校对单元(405可以对写入DDR存储单元DDR0……DDR7的512bit数据进行比较,如果错误则重新写入。[0085]外部主机能通过UART接口(401向内核coreO......core7中的计算单元广播写入数据;各个计算单元能通过串行总线把计算结果通过UART接口(401写给外部主机。[0086]该系统应用到人工智能领域中,UART控制单元40将外部主机发送的图片数据或者视频数据存储到DDR存储单元DDR0……DDR7中,数据产生单元406产生神经网络的数学模型,将模型参数写入到存储单元DDR0……DDR7中。内核中的DDR控制单元用于存取数据,并将数据发送给计算单元进行计算,计算单元可以将计算结果存储到存储单元中,也可以将计算结果通过UART控制单元40反馈给外部主机。[0087]该芯片应用到以太坊等加密数字货币领域中,UART控制单元40将外部主机发送的区块信息存储到DDR存储单元DDR0……DDR7中,数据产生单元406产生以太坊算法中的DAG,将DAG写入到存储单元DDR0……DDR7中。内核中的DDR控制单元用于存取数据,并将数据发送给计算单元进行工作量证明运算,计算单元将计算结果通过UART控制单元40反馈给外部主机。[0088]本发明实施例通过在芯片中设置多个内核core,每个内核core执行运算和存储控制功能,并且在芯片外部给每个内核core连接至少一个存储单元,这样每个内核通过读取自己连接的存储单元和其他内核连接的存储单元,使得每个内核可以具有大容量内存,减少了数据从外部存储空间中搬入或者搬出内存的次数,加快了数据的处理速度;同时,由于多个内核可以分别独立运算或者协同运算,这样也加快了数据的处理速度。[0089]图5说明根据本发明的数据结构示意图。这里所说的数据为命令数据、数值数据、字符数据等多种数据。数据格式具体包括有效位valid、目的地址dstid、源地址srcid和data数据。内核可以通过有效位valid来判断该数据包是命令还是数值,这里可以假定〇代表数值,1代表命令。内核会根据数据结构判断目的地址、源地址和数据类型。例如在附图1种,内核50向内核10发送数据读取命令,则有效位为1,目的地址为内核10的地址、源地址为内核50的地址和data数据为读取数据命令以及数据类型或者数据地址等。内核10向内核10发送数据,则有效位为0,目的地址为内核50的地址、源地址为内核0的地址和data数据为读取的数据。从指令运行时序上来看,本实施例中采用传统的六级流水线结构,分别为取指、译码、执行、访存、对齐和写回级。从指令集架构上来看,可以采取精简指令集架构。按照精简指令集架构的通用设计方法,本发明指令集可以按功能分为寄存器-寄存器型指令,寄存器-立即数指令,跳转指令,访存指令、控制指令和核间通信指令。[0090][实施方式2][0091]图6说明第五实施例具有8个内核芯片的大数据运算加速系统结构的示意图。和实施方式1相比将UART控制单元中的数据生产单元独立出来,单独设置一个模块,这里将数据产生单元具体限定为GAD生产单元。这是应为有些数据比较大,例如以太坊中的GAD数据,神经网络模型参数等,并且数据生产单元还是通过UART单元中的第一AXI单元402进行数据的发送。由于,原理和实施方式1相同,这里就不详细数据。[0092]使用本文中提供的描述,可以通过使用标准的编程和或工程技术将实施例实现成机器、过程或制造品以产生编程软件、固件、硬件或其任何组合。[0093]可以将任何生成的程序多个)(具有计算机可读程序代码具体化在一个或多个计算机可使用的介质上,诸如驻留存储设备、智能卡或其它可移动存储设备,或传送设备,从而根据实施例来制作计算机程序产品和制造品。照此,如本文中使用的术语“制造品”和“计算机程序产品”旨在涵盖永久性地或临时性地存在在任何计算机可以使用的非短暂性的介质上的计算机程序。[0094]如上所指出的,存储器存储设备包含但不限制于磁盘、光盘、可移动存储设备诸如智能卡、订户身份模块SM、无线标识模块WIM、半导体存储器诸如随机存取存储器RAM、只读存储器ROM、可编程只读存储器PR0M等。传送介质包含但不限于经由无线通信网络、互联网、内部网、基于电话调制解调器的网络通信、硬连线电缆通信网络、卫星通信以及其它固定或移动网络系统通信链路的传输。[0095]虽然已经公开了特定的示例实施例,但是本领域的技术人员将理解的是,在不背离本发明的精神和范围的情况下,能够对特定示例实施例进行改变。[0096]以上参考附图,基于实施方式说明了本发明,但本发明并非限定于上述的实施方式,根据布局需要等将各实施方式及各变形例的部分构成适当组合或置换后的方案,也包含在本发明的范围内。另外,还可以基于本领域技术人员的知识适当重组各实施方式的组合和处理顺序,或者对各实施方式施加各种设计变更等变形,被施加了这样的变形的实施方式也可能包含在本发明的范围内。[0097]本发明虽然已详细描述了各种概念,但本领域技术人员可以理解,对于那些概念的各种修改和替代在本发明公开的整体教导的精神下是可以实现的。本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
权利要求:1.一种大数据运算加速系统,包括至少一个运算芯片和多个存储单元;所述芯片包括N个内核core,其中N为大于等于4的正整数,每个内核core分别包括存储控制单元和计算单元;存储控制单元通过总线分别连接至少一个存储单元;所述N个内核core通过总线互相连接;所述芯片包括数据交换控制单元,用于将芯片外部数据或者指令发送给内核core或者存储单元,并且从内核core或者存储单元获取数据或者指令。2.根据权利要求1所述的系统,其特征在于,所述至少一个存储单元为DDR系列内存。3.根据权利要求1所述的系统,其特征在于,所述存储控制单元用于控制所述存储控制单元连接至少一个存储单元的数据读写操作。4.根据权利要求3所述的系统,其特征在于,所述数据读写操作是针对至少一个存储单元的部分或者全部存储空间的操作。5.根据权利要求1所述的系统,其特征在于,所述计算单元用于对获取的数据进行计算。6.根据权利要求5所述的系统,其特征在于,所述获取的数据可以为包括所述计算单元的内核连接的至少一个存储单元的部分或者全部数据,或者其他内核连接的至少一个存储单元的部分或者全部数据,或者设置所述计算单元的内核连接的至少一个存储单元的部分或者全部数据和其他内核连接的至少一个存储单元的部分或者全部数据的组合。7.根据权利要求6所述的系统,其特征在于,所述获取的数据可以为包括所述计算单元的内核连接的至少一个存储单元的部分或者全部数据具体为,所述计算单元通过连接的存储控制单元获得至少一个存储单元的部分或者全部数据。8.根据权利要求6所述的系统,其特征在于,所述其他内核连接的至少一个存储单元的部分或者全部数据具体为,所述计算单元通过总线向其他计算单元发送获取数据命令,其他计算单元向其他计算单元连接的存储控制单元发送获取数据命令,其他计算单元连接的存储控制单元从连接的至少一个存储单元获取部分或者全部所述的数据,将获取部分或者全部所述的数据发送给其他计算单元,其他计算单元将获取部分或者全部所述的数据发送给所述计算单元。9.根据权利要求5所述的系统,其特征在于,所述计算单元可以执行加密运算,卷积计算中的一种或者多种。10.根据权利要求5所述的系统,其特征在于,所述计算单元分别执行独立的运算,每个计算单元分别计算结果。11.根据权利要求5所述的系统,其特征在于,所述计算单元可以执行协同运算,每个计算单元根据其他计算单元的计算结果进行运算。12.根据权利要求1所述的系统,其特征在于,所述存储控制单元用于从计算单元获取数据,将所述获取数据存储到相连的至少一个存储单元。13.根据权利要求1所述的系统,其特征在于,所述数据交换控制单元接收外部指令初始化配置所述至少一个存储单元,对多个所述至少一个存储单元进行统一编址。14.根据权利要求1所述的系统,其特征在于,通过所述数据交换控制单元读写多个所述至少一个存储单元。15.根据权利要求1所述的系统,其特征在于,通过所述数据交换控制单元向多个所述计算单元广播数据。16.根据权利要求1所述的系统,其特征在于,多个所述计算单元能通过串行总线把计算结果通过所述数据交换控制单元向外传输。17.根据权利要求1所述的系统,其特征在于,所述数据交换控制单元包括数据接口,第一AXI单元,第二AXI单元,AHB接口、数据校对单元和数据产生单元。18.根据权利要求17所述的系统,其特征在于,所述数据接口用于获取芯片外部数据或者指令。19.根据权利要求17所述的系统,其特征在于,所述数据产生单元用于产生GAD或者网络模型参数。20.根据权利要求17所述的系统,其特征在于,所述第一AXI单元包括第一接口(M0、第二接口(Ml、N个第三接口(S0至S和第四接口(S8;第一接口(M0和第二接口(Ml分别连接数据产生单元和数据接口,N个第三接口(S0至S7分别连接N个数据校对单元,第四接口连接所述第二AXI单元。21.根据权利要求20所述的系统,其特征在于,所述第二AXI单元包括一个第一接口(M和N个第二接口⑸;第一接口⑽接收所述第一AXI单元发送的数据,N个第二接口⑸分别连接N个AHB接口。22.根据权利要求20或21所述的系统,其特征在于,所述第一AXI单元用于向所述至少一个存储单元发送512比特的数据或者命令。23.根据权利要求20或21所述的系统,其特征在于,所述第二AXI单元用于向所述至少一个存储单元发送32比特的数据或者命令。24.根据权利要求20或21所述的系统,其特征在于,通过所述第一AXI单元的第四接口S8和所述第二AXI单元的第一接口〇«进行格式转换。25.根据权利要求20或21所述的系统,其特征在于,所述AHB接口和所述数据校对单元连接所述至少一个存储单元。26.根据权利要求17所述的系统,其特征在于,所述数据校对单元用于对存储到所述至少一个存储单元中的数据进行校对。27.根据权利要求1至21任一项所述的系统,其特征在于,所述数据交换控制单元为UART控制单元。28.根据权利要求17至21任一项所述的系统,其特征在于,所述数据接口为UART接口。29.—种大数据运算加速芯片,所述芯片包括N个内核core,其中N为大于等于4的正整数,和所述N个内核中的每个内核通过总线分别外部连接至少一个内存单元;所述N个内核core通过总线互相连接;其特征在于:所述芯片包括UART控制单元,所述UART控制单元包括UART接口,第一AXI单元,第二AXI单元,Affi接口、数据校对单元和数据产生单元。30.根据权利要求29所述的芯片,其特征在于,所述UART接口用于获取芯片外部数据或者指令。31.根据权利要求29所述的芯片,其特征在于,所述数据产生单元用于产生GAD或者网络模型参数。32.根据权利要求29所述的芯片,其特征在于,所述第一AXI单元包括第一接口(M0、第二接口(Ml、N个第三接口(S0至S和第四接口(S8;第一接口(M0和第二接口(Ml分别连接数据产生单元和UART接口,N个第三接口(S0至S7分别连接N个数据校对单元,第四接口连接所述第二AH单元。33.根据权利要求32所述的芯片,其特征在于,所述第二AXI单元包括一个第一接口(M和N个第二接口⑸;第一接口⑽接收所述第一AXI单元发送的数据,N个第二接口⑸分别连接N个AHB接口。34.根据权利要求32或33所述的芯片,其特征在于,所述第一AH单元用于向所述至少一个内存单元发送512比特的数据或者命令。35.根据权利要求32或33所述的芯片,其特征在于,所述第二AI单元用于向所述至少一个内存单元发送32比特的数据或者命令。_36.根据权利要求32或33所述的芯片,其特征在于,通过所述第一AXI单元的第四接口S8和所述第二AH单元的第一接口(M进行格式转换。37.根据权利要求32或33所述的芯片,其特征在于,所述AHB接口和所述数据校对单元连接所述至少一个内存单元。38.根据权利要求29所述的芯片,其特征在于,所述数据校对单元用于对存储到所述至少一个内存单元中的数据进行校对。
百度查询: 北京比特大陆科技有限公司 大数据运算加速系统和芯片
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。