CN208298179U - 大数据运算加速系统和芯片 - Google Patents
大数据运算加速系统和芯片 Download PDFInfo
- Publication number
- CN208298179U CN208298179U CN201820918570.2U CN201820918570U CN208298179U CN 208298179 U CN208298179 U CN 208298179U CN 201820918570 U CN201820918570 U CN 201820918570U CN 208298179 U CN208298179 U CN 208298179U
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- interface
- storage
- axi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本实用新型提供一种大数据运算加速系统以及芯片,通过在芯片中设置多个内核core,每个内核core执行运算和存储控制功能,并且在芯片外部给每个内核core连接至少一个存储单元。采用本实用新型的技术方案,使得每个内核通过读取自己连接的存储单元和其他内核连接的存储单元,达到每个内核可以具有大容量内存的技术效果,减少了数据从外部存储空间中搬入或者搬出内存的次数,加快了数据的处理速度;同时,由于多个内核可以分别独立运算或者协同运算,这样也加快了数据的处理速度。
Description
技术领域
本实用新型涉及集成电路领域,特别是涉及一种大数据运算加速系统和芯片。
背景技术
ASIC(Application Specific Integrated Circuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。
随着科技的发展,越来越多的领域,比如人工智能、安全运算等都涉及大运算量的特定计算。针对特定运算,ASIC芯片可以发挥其运算快,功耗小等特定。同时,对于这些大运算量领域,为了提高数据的处理速度和处理能力,通常需要控制N个运算芯片同时进行工作。随着数据精度的不断提升,人工智能、安全运算等领域需要对越来越大的数据进行运算,例如:现在照片的大小一般为3-7MB,但是随着数码相机和摄像机的精度增加,照片的大小可以达到10MB或者更多,而30分钟的视频可能达到1个多G的数据。而在人工智能、安全运算等领域中要求计算速度快,时延小,因此如何提高计算速度和反应时间一直是芯片设计所要求的目标。由于ASIC芯片搭配的内存一般为64MB或者128MB,而当要处理的数据在512MB以上时,ASIC芯片要多次利用内存存取数据,多次将数据从外部存储空间中搬入或者搬出内存,降低了处理速度。
实用新型内容
本实用新型提供一种大数据运算加速系统以及芯片,通过在芯片中设置多个内核core,每个内核core执行运算和存储控制功能,并且在芯片外部给每个内核core连接至少一个存储单元,这样每个内核通过读取自己连接的存储单元和其他内核连接的存储单元,使得每个内核可以具有大容量内存,减少了数据从外部存储空间中搬入或者搬出内存的次数,加快了数据的处理速度;同时,由于多个内核可以分别独立运算或者协同运算,这样也加快了数据的处理速度。
为达到上述目的,本实用新型提供如下技术方案:
根据本实用新型的第一方面,提供一种大数据运算加速系统,包括至少一个运算芯片和多个存储单元;所述芯片包括N个内核core,其中N为大于等于4的正整数,每个内核core分别包括存储控制单元和计算单元;存储控制单元通过总线分别连接至少一个存储单元;所述N个内核core通过总线互相连接;所述芯片包括UART控制单元,用于将芯片外部数据或者指令发送给内核core或者存储单元,并且从内核core或者存储单元获取数据或者指令。
优选地,所述至少一个存储单元为DDR系列存储单元。
优选地,所述存储控制单元用于控制所述存储控制单元连接至少一个存储单元的数据读写操作。
优选地,所述数据读写操作是针对至少一个存储单元的部分或者全部存储空间的操作。
优选地,所述计算单元用于对获取的数据进行计算。
优选地,所述获取的数据可以为设置所述计算单元的内核连接的至少一个存储单元的部分或者全部数据,或者其他内核连接的至少一个存储单元的部分或者全部数据,或者设置所述计算单元的内核连接的至少一个存储单元的部分或者全部数据和其他内核连接的至少一个存储单元的部分或者全部数据的组合。
优选地,所述获取的数据可以为设置所述计算单元的内核连接的至少一个存储单元的部分或者全部数据具体为,
所述计算单元通过连接的存储控制单元获得至少一个存储单元的部分或者全部数据。
优选地,所述其他内核连接的至少一个存储单元的部分或者全部数据具体为,
所述计算单元通过总线向其他计算单元发送获取数据命令,其他计算单元向其他计算单元连接的存储控制单元发送获取数据命令,其他计算单元连接的存储控制单元从连接的至少一个存储单元获取部分或者全部所述的数据,将获取部分或者全部所述的数据发送给其他计算单元,其他计算单元将获取部分或者全部所述的数据发送给所述计算单元。
优选地,所述计算单元可以执行加密运算,卷积计算中的一种或者多种。
优选地,所述计算单元分别执行独立的运算,每个计算单元分别计算结果。
优选地,所述计算单元可以执行协同运算,每个计算单元根据其他计算单元的计算结果进行运算。
优选地,所述存储控制单元用于从计算单元获取数据,将所述获取数据存储到相连的至少一个存储单元。
优选地,所述UART控制单元接收外部指令初始化配置所述至少一个存储单元,对多个所述至少一个存储单元进行统一编址。
优选地,通过所述UART控制单元读写多个所述至少一个存储单元。
优选地,通过所述UART控制单元向多个所述计算单元广播数据。
优选地,多个所述计算单元能通过串行总线把计算结果通过所述UART控制单元向外传输。
优选地,所述UART控制单元包括UART接口,第一AXI单元,第二AXI单元,AHB接口、数据校对单元和数据产生单元。
优选地,所述UART接口用于获取芯片外部数据或者指令。
优选地,所述数据产生单元用于产生GAD或者网络模型参数。
优选地,所述第一AXI单元包括第一接口(M0)、第二接口(M1)、N个第三接口(S0至S)和第四接口(S8);第一接口(M0)和第二接口(M1)分别连接数据产生单元和UART接口,N个第三接口(S0至S7)分别连接N个数据校对单元,第四接口连接所述第二AXI单元。
优选地,所述第二AXI单元包括一个第一接口(M)和N个第二接口(S);第一接口(M)接收所述第一AXI单元发送的数据,N个第二接口(S)分别连接N个AHB接口。
优选地,所述第一AXI单元用于向所述至少一个存储单元发送512比特的数据或者命令。
优选地,所述第二AXI单元用于向所述至少一个存储单元发送32比特的数据或者命令。
优选地,通过所述第一AXI单元的第四接口(S8)和所述第二AXI单元的第一接口(M)进行格式转换。
优选地,所述AHB接口和所述数据校对单元连接所述至少一个存储单元。
优选地,所述数据校对单元用于对存储到所述至少一个存储单元中的数据进行校对。
根据本实用新型的第二方面,提供一种大数据运算加速芯片,所述芯片包括N个内核core,其中N为大于等于4的正整数,和所述N个内核中的每个内核通过总线分别连接至少一个存储单元;所述N个内核core通过总线互相连接;其特征在于:所述芯片包括UART控制单元,所述UART控制单元包括UART接口,第一AXI单元,第二AXI单元,AHB接口、数据校对单元和数据产生单元。
优选地,所述UART接口用于获取芯片外部数据或者指令。
优选地,所述数据产生单元用于产生GAD或者网络模型参数。
优选地,所述第一AXI单元包括第一接口(M0)、第二接口(M1)、N个第三接口(S0至S)和第四接口(S8);第一接口(M0)和第二接口(M1)分别连接数据产生单元和UART接口,N个第三接口(S0至S7)分别连接N个数据校对单元,第四接口连接所述第二AXI单元。
优选地,所述第二AXI单元包括一个第一接口(M)和N个第二接口(S);第一接口(M)接收所述第一AXI单元发送的数据,N个第二接口(S)分别连接N个AHB接口。
优选地,所述第一AXI单元用于向所述至少一个存储单元发送512比特的数据或者命令。
优选地,所述第二AXI单元用于向所述至少一个存储单元发送32比特的数据或者命令。
优选地,通过所述第一AXI单元的第四接口(S8)和所述第二AXI单元的第一接口(M)进行格式转换。
优选地,所述AHB接口和所述数据校对单元连接所述至少一个存储单元。
优选地,所述数据校对单元用于对存储到所述至少一个存储单元中的数据进行校对。
本实用新型实施例通过在芯片中设置多个内核core,每个内核core执行运算和存储控制功能,并且在芯片外部给每个内核core连接至少一个存储单元,这样每个内核通过读取自己连接的存储单元和其他内核连接的存储单元,使得每个内核可以具有大容量内存,减少了数据从外部存储空间中搬入或者搬出内存的次数,加快了数据的处理速度;同时,由于多个内核可以分别独立运算或者协同运算,这样也加快了数据的处理速度。
附图说明
为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是示例性的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1说明第一实施例具有8个内核芯片的大数据运算加速系统结构的示意图;
图2说明第二实施例具有8个内核芯片的大数据运算加速系统结构的示意图;
图3说明第三实施例具有6个内核芯片的大数据运算加速系统结构的示意图;
图4说明第四实施例的大数据运算加速系统内部连接和数据走向示意图;
图5说明根据本实用新型的数据结构示意图;
图6说明第五实施例具有8个内核芯片的大数据运算加速系统结构的示意图。
具体实施方式
下面将基于附图具体说明本实用新型的示例性实施方式,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本实用新型,而并非以任何方式限制本实用新型的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
此外,需要说明书的是,各附图中的上、下、左、右的各方向仅是以特定的实施方式进行的例示,本领域技术人员能够根据实际需要将附图中所示的各构件的一部分或全部改变方向来应用,而不会影响各构件或系统整体实现其功能,这种改变了方向的技术方案仍属于本实用新型的保护范围。
多核芯片是具体化在单个大规模集成半导体芯片上的多处理系统。典型地,两个或更多芯片核心可以被具体化在多核芯片芯片上,由总线(也可以在相同的多核芯片芯片上形成该总线)进行互连。可以有从两个芯片核心到许多芯片核心被具体化在相同的多核芯片芯片上,在芯片核心的数量中的上限仅由制造能力和性能约束来限制。多核芯片可以具有应用,该应用包含在多媒体和信号处理算法(诸如,视频编码/解码、2D/3D图形、音频和语音处理、图像处理、电话、语音识别和声音合成、加密处理)中执行的专门的算术和/或逻辑操作。
虽然在背景技术中仅仅提到了ASIC专用集成电路,但是实施例中的具体布线实现方式可以应用到具有多核芯片CPU、GPU、FPGA等中。在本实施例中多个内核可以是相同内核,也可以是不同内核。
[实施方式1]
为了方便说明,以下将以图2中存在的8个内核的芯片为例进行说明,而本领域技术人员可知,这里选择8个内核为例,只是示例性的说明,内核个数可以是N,其中N为大于等于4的正整数,例如可以是6、10、12等等。在本实施例中多个内核可以是相同内核,也可以是不同内核。
图1说明第一实施例具有8个内核芯片的大数据运算加速系统结构的示意图。如图1所示,大数据运算加速系统包括至少一个具有8个内核的运算芯片和多个存储单元,8个内核的运算芯片包括8个内核core(10……17),每个内核core分别包括存储控制单元(110……117)和计算单元(120……127);存储控制单元(110……117)通过数据总线分别连接4个存储单元(200,201,202,203……270,271,272,273)。上述所述8个内核core(10……17)通过总线连接单元(30)互相连接,可以相互之间传输数据或者命令;数据交换控制单元通过总线连接单元(30)与8个内核core(10……17)相连,并且通过总线与32个存储单元(200,201,202,203……270,271,272,273)相连。
数据交换控制单元可以采用多种协议进行实现,例如UART,SPI,PCIE,SERDES,USB等,在本实施方式中数据交换控制单元为UART(Universal Asynchronous Receiver/Transmitter)控制单元(40)。通用异步收发传输器通常称作UART,是一种异步收发传输器,它将要传输的资料在串行通信与并行通信之间加以转换,UART通常被集成于各种通讯接口的连结上。但是这里只是以UART协议为例进行说,也可以采用其他协议。UART(UniversalAsynchronous Receiver/Transmitter)控制单元(40)通过总线连接单元(30)与8个内核core(10……17)相连,并且通过总线与32个存储单元(200,201,202,203……270,271,272,273)相连。
存储单元可能为DDR、SDDR、DDR2、DDR3、DDR4、GDDR5、GDDR6、HMC、HBM等高速外部存储器。在这里存储单元优选的选择DDR系列内存,DDR(Dual Data Rate)内存即双倍速率同步动态随机存储器。DDR运用了同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,又保持与CPU完全同步;DDR使用了DLL(Delay Locked Loop,延时锁定回路提供一个数据滤波信号)技术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器模块的数据。DDR内存的频率可以用工作频率和等效频率两种方式表示,工作频率是内存颗粒实际的工作频率,但是由于DDR内存可以在脉冲的上升和下降沿都传输数据,因此传输数据的等效频率是工作频率的两倍。DDR2(Double Data Rate 2)内存是由JEDEC(电子设备工程联合委员会)进行开发的新生代内存技术标准,DDR2内存每个时钟能够以4倍外部总线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。DDR3、DDR4、GDDR5、GDDR6、HMC、HBM内存都是现有技术,这里就不详细介绍。存储控制单元(110……117)通过DDR总线分别于4个存储单元(200,201,202,203……270,271,272,273)连接。
32个存储单元(200,201,202,203……270,271,272,273)用于存储原始数据或者待处理的数据,例如:图像数据、视频数据、待加密数据等。也可以存储经过计算单元(120……127)计算结果,通过。32个存储单元进行统一分配地址,32个存储单元的存储空间地址连续且不相同。
存储控制单元(110……117)用于控制连接的存储单元(200,201,202,203……270,271,272,273)中数据的读取或者存储。例如,存储控制单元(110)可以从其连接的存储单元(200,201,202,203)中读取部分或者全部原始数据或者待处理的数据,并将所读取部分或者全部原始数据或者待处理的数据发送给存储控制单元(110)连接的计算单元(120)。
计算单元(120……127)用于向其连接的存储控制单元(110……117)发送获取数据命令,存储控制单元(110……117)根据命令获取其控制的存储单元(200,201,202,203……270,271,272,273)中的数据,并将获取的数据发送给计算单元(120……127)。计算单元也可以向其他计算单元发送获取数据命令,其他计算单元向其他计算单元连接的存储控制单元发送获取数据命令,其他计算单元连接的存储控制单元从其控制的存储单元获取部分或者全部所述的原始数据或者待处理的数据,将获取部分或者全部所述的原始数据或者待处理的数据发送给其他计算单元,其他计算单元将获取部分或者全部所述的原始数据或者待处理的数据发送给计算单元。
例如,计算单元(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)。
计算单元(120……127)也可以向自身连接的存储控制单元(110……117)发送写入数据命令,存储控制单元(110……117)根据命令将计算单元(120……127)中的计算结果写入其控制的存储单元(200,201,202,203……270,271,272,273)中。
计算单元(120……127)从本内核连接的存储单元(200,201,202,203……270,271,272,273)获取部分或者全部所述的原始数据或者待处理的数据,以及从其他内核连接的存储单元(200,201,202,203……270,271,272,273)获取部分或者全部所述的原始数据或者待处理的数据,并且对上述数据进行计算,得到运算结果;所述计算单元可以执行SHA256运算,卷积计算等。
例如,计算单元(120)从本内核(10)连接的存储单元(200,201,202,203)获取部分或者全部所述的原始数据或者待处理的数据,以及通过其他计算单元(121……127)从其他内核(20……70)连接的存储单元(210,211,212,213……270,271,272,273)获取部分或者全部所述的原始数据或者待处理的数据,并且对上述数据进行计算,得到运算结果。并将计算结果写入到存储单元(200,201,202,203)。
计算单元(120……127)分别执行独立的相同运算,每个计算单元(120……127)分别计算结果。例如对数据进行SHA256等加密运算。所述计算单元(120……127)也可以执行协同运算,即第一计算单元(120)将其计算结果发送给第二计算单元(121),第二计算单元(121)根据获取的计算结果和其他参数进行第二次计算,以此类推,例如神经网络的数据处理,神经网络是由多层组成,每一个计算单元可以执行一层神经网络的计算。
总线可以采用集中式仲裁总线结构,或者环线拓扑总线结构,总线技术为本领域的常用技术,因此在这里就不详细介绍。
UART控制单元(40)用于控制芯片内部存储控制单元(110……117)和计算单元(120……127)和外部的数据和命令交换,以及存储单元(210,211,212,213……270,271,272,273)和外部的数据和命令交换,UART控制单元(40)和存储单元(210,211,212,213……270,271,272,273)具有连接的总线。下面将在附图4中进行详细介绍。这里所述的外部可以是指外部主机、外部CPU、外部控制器、外部功能芯片、外部GPU以及和本芯片完全相同的芯片。
总线连接单元(30)用于连接8个内核core(10……17)和UART控制单元(40),以便数据或者命令在各个单元中传输。
图2说明第二实施例具有8个内核芯片的大数据运算加速系统结构的示意图。通过图2可以看出,和第一实施例的区别在于每个内核所连接的存储单元的个数不同,工作方式和工作原理相同,这里就不进行详细说明。
图3说明第三实施例具有6个内核芯片的大数据运算加速系统结构的示意图。通过图3可以看出,和第一实施例的区别在于芯片中的内核数量以及每个内核所连接的存储单元的个数不同,工作方式和工作原理相同,这里就不进行详细说明。
图4说明第四实施例的大数据运算加速系统内部连接和数据走向示意图。通过图4可以看出,芯片包括8个内核core0……core7,每个内核连接一个DDR存储单元DDR0……DDR7和UART控制单元(40)。UART控制单元(40)包括UART接口(401),第一AXI(AdvancedeXtensible Interface)单元(402),第二AXI单元(403),AHB接口(404)、数据校对单元(405)、数据产生单元(406)。当然这里每个内核都包括存储控制单元和计算单元。
通用异步收发器UART(Universal Asynchronous Receiver/Transmitter)串行总线协议是一种在低速率通信领域应用最广的协议,其电路简单,成本低。但是其只能是一对一的通信。
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持Outstanding传输访问和乱序访问,并更加容易进行时序收敛。AXI是AMBA中一个新的高性能协议。AXI技术丰富了现有的AMBA标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求。
AHB(Advanced High Performance Bus)高级高性能总线。如同USB(UniversalSerial Bus)一样,也是一种总线接口。AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位~128位总线宽度;支持字节、半字和字的传输。AHB系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成,这种设计使整个系统的结构清晰,增强系统的通用性与系统中功能模块的可移植性。
所述UART接口用于获取芯片外部数据或者指令,所述数据产生单元用于产生GAD或者网络模型参数。所述第一AXI单元包括第一接口(M0)、第二接口(M1)、8个第三接口(S0至S)和第四接口(S8);第一接口(M0)和第二接口(M1)分别连接数据产生单元和UART接口,8个第三接口(S0至S7)分别连接9个数据校对单元,第四接口(S8)连接所述第二AXI单元的第一接口(M)。所述第二AXI单元包括一个第一接口(M)和8个第二接口(S);第一接口(M)接收所述第一AXI单元的第四接口(S8)发送的数据,N个第二接口(S)分别连接N个AHB接口。所述AHB接口和所述数据校对单元连接所述至少一个存储单元。
所述第一AXI单元通过第一接口(M0)和第二接口(M1)接送数据或者命令,将数据或者命令转换后通过8个第三接口(S0至S7)发送给所述数据校对单元,所述数据校对单元用于对存储到所述至少一个存储单元中的数据进行校对,所述第一AXI单元用于向所述至少一个存储单元发送512比特的数据或者命令。
所述第二AXI单元通过第一接口(M)从所述第一AXI单元的第四接口(S8)接收数据,将512比特的数据或者命令进行格式转换,转换为32比特的数据或者命令。并通过8个第二接口(S)向AHB接口(404)发送32比特的数据或者命令。
外部主机能通过UART控制单元初始化配置DDR参数,对多个DDR颗粒进行统一编址。外部主机将编址命令通过UART接口(401),第一AXI(Advanced eXtensible Interface)单元(402),第二AXI单元(403)和AHB接口(404)发送给DDR存储单元DDR0……DDR7,DDR存储单元DDR0……DDR7根据编址命令进行地址分配。
外部主机能通过UART控制单元向DDR存储单元DDR0……DDR7写入数据;外部主机将数据和其存储的地址通过UART接口(401)、第一AXI单元(402)和数据校对单元(405)发送给DDR存储单元DDR0……DDR7,DDR存储单元DDR0……DDR7根据数据和其存储的地址进行存储。第一AXI单元(402)通过M0接口接收UART接口(401)发送的数据,通过S0……S7接口发送给数据校对单元(405),数据校对单元(405)将数据发送给连接的DDR存储单元。通过反向链路外部主机也可以读取DDR存储单元DDR0……DDR7中存储的数据。
数据产生单元(406)能产生数据,将产生数据和其存储的地址通过UART接口(401)、第一AXI单元(402)和数据校对单元(405)发送给DDR存储单元DDR0……DDR7中进行存储。第一AXI单元(402)通过M1接口接收数据产生单元(406)能产生数据,通过S0……S7接口发送给数据校对单元(405),数据校对单元(405)将数据发送给连接的DDR存储单元。
在需要的时候,数据校对单元(405)可以对写入DDR存储单元DDR0……DDR7的512bit数据进行比较,如果错误则重新写入。
外部主机能通过UART接口(401)向内核core0……core7中的计算单元广播写入数据;各个计算单元能通过串行总线把计算结果通过UART接口(401)写给外部主机。
该系统应用到人工智能领域中,UART控制单元(40)将外部主机发送的图片数据或者视频数据存储到DDR存储单元DDR0……DDR7中,数据产生单元(406)产生神经网络的数学模型,将模型参数写入到存储单元DDR0……DDR7中。内核中的DDR控制单元用于存取数据,并将数据发送给计算单元进行计算,计算单元可以将计算结果存储到存储单元中,也可以将计算结果通过UART控制单元(40)反馈给外部主机。
该芯片应用到以太坊等加密数字货币领域中,UART控制单元(40)将外部主机发送的区块信息存储到DDR存储单元DDR0……DDR7中,数据产生单元(406)产生以太坊算法中的DAG,将DAG写入到存储单元DDR0……DDR7中。内核中的DDR控制单元用于存取数据,并将数据发送给计算单元进行工作量证明运算,计算单元将计算结果通过UART控制单元(40)反馈给外部主机。
本实用新型实施例通过在芯片中设置多个内核core,每个内核core执行运算和存储控制功能,并且在芯片外部给每个内核core连接至少一个存储单元,这样每个内核通过读取自己连接的存储单元和其他内核连接的存储单元,使得每个内核可以具有大容量内存,减少了数据从外部存储空间中搬入或者搬出内存的次数,加快了数据的处理速度;同时,由于多个内核可以分别独立运算或者协同运算,这样也加快了数据的处理速度。
图5说明根据本发明的数据结构示意图。这里所说的数据为命令数据、数值数据、字符数据等多种数据。数据格式具体包括有效位valid、目的地址dst id、源地址src id和data数据。内核可以通过有效位valid来判断该数据包是命令还是数值,这里可以假定0代表数值,1代表命令。内核会根据数据结构判断目的地址、源地址和数据类型。例如在附图1种,内核50向内核10发送数据读取命令,则有效位为1,目的地址为内核10的地址、源地址为内核50的地址和data数据为读取数据命令以及数据类型或者数据地址等。内核10向内核10发送数据,则有效位为0,目的地址为内核50的地址、源地址为内核0的地址和data数据为读取的数据。从指令运行时序上来看,本实施例中采用传统的六级流水线结构,分别为取指、译码、执行、访存、对齐和写回级。从指令集架构上来看,可以采取精简指令集架构。按照精简指令集架构的通用设计方法,本发明指令集可以按功能分为寄存器-寄存器型指令,寄存器-立即数指令,跳转指令,访存指令、控制指令和核间通信指令。
[实施方式2]
图6说明第五实施例具有8个内核芯片的大数据运算加速系统结构的示意图。和实施方式1相比将UART控制单元中的数据生产单元独立出来,单独设置一个模块,这里将数据产生单元具体限定为GAD生产单元。这是应为有些数据比较大,例如以太坊中的GAD数据,神经网络模型参数等,并且数据生产单元还是通过UART单元中的第一AXI单元402进行数据的发送。由于,原理和实施方式1相同,这里就不详细数据。
使用本文中提供的描述,可以通过使用标准的编程和/或工程技术将实施例实现成机器、过程或制造品以产生编程软件、固件、硬件或其任何组合。
可以将任何生成的程序(多个)(具有计算机可读程序代码)具体化在一个或多个计算机可使用的介质上,诸如驻留存储设备、智能卡或其它可移动存储设备,或传送设备,从而根据实施例来制作计算机程序产品和制造品。照此,如本文中使用的术语“制造品”和“计算机程序产品”旨在涵盖永久性地或临时性地存在在任何计算机可以使用的非短暂性的介质上的计算机程序。
如上所指出的,存储器/存储设备包含但不限制于磁盘、光盘、可移动存储设备(诸如智能卡、订户身份模块(SIM)、无线标识模块(WIM))、半导体存储器(诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM))等。传送介质包含但不限于经由无线通信网络、互联网、内部网、基于电话/调制解调器的网络通信、硬连线/电缆通信网络、卫星通信以及其它固定或移动网络系统/通信链路的传输。
虽然已经公开了特定的示例实施例,但是本领域的技术人员将理解的是,在不背离本实用新型的精神和范围的情况下,能够对特定示例实施例进行改变。
以上参考附图,基于实施方式说明了本实用新型,但本实用新型并非限定于上述的实施方式,根据布局需要等将各实施方式及各变形例的部分构成适当组合或置换后的方案,也包含在本实用新型的范围内。另外,还可以基于本领域技术人员的知识适当重组各实施方式的组合和处理顺序,或者对各实施方式施加各种设计变更等变形,被施加了这样的变形的实施方式也可能包含在本实用新型的范围内。
本实用新型虽然已详细描述了各种概念,但本领域技术人员可以理解,对于那些概念的各种修改和替代在本实用新型公开的整体教导的精神下是可以实现的。本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本实用新型。可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本实用新型的范围,本实用新型的范围由所附权利要求书及其等同方案的全部范围来决定。
Claims (38)
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)、第二接口(M1)、N个第三接口(S0至S)和第四接口(S8);第一接口(M0)和第二接口(M1)分别连接数据产生单元和数据接口,N个第三接口(S0至S7)分别连接N个数据校对单元,第四接口连接所述第二AXI单元。
21.根据权利要求20所述的系统,其特征在于,所述第二AXI单元包括一个第一接口(M)和N个第二接口(S);第一接口(M)接收所述第一AXI单元发送的数据,N个第二接口(S)分别连接N个AHB接口。
22.根据权利要求20或21所述的系统,其特征在于,所述第一AXI单元用于向所述至少一个存储单元发送512比特的数据或者命令。
23.根据权利要求20或21所述的系统,其特征在于,所述第二AXI单元用于向所述至少一个存储单元发送32比特的数据或者命令。
24.根据权利要求20或21所述的系统,其特征在于,通过所述第一AXI单元的第四接口(S8)和所述第二AXI单元的第一接口(M)进行格式转换。
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单元,AHB接口、数据校对单元和数据产生单元。
30.根据权利要求29所述的芯片,其特征在于,所述UART接口用于获取芯片外部数据或者指令。
31.根据权利要求29所述的芯片,其特征在于,所述数据产生单元用于产生GAD或者网络模型参数。
32.根据权利要求29所述的芯片,其特征在于,所述第一AXI单元包括第一接口(M0)、第二接口(M1)、N个第三接口(S0至S)和第四接口(S8);第一接口(M0)和第二接口(M1)分别连接数据产生单元和UART接口,N个第三接口(S0至S7)分别连接N个数据校对单元,第四接口连接所述第二AXI单元。
33.根据权利要求32所述的芯片,其特征在于,所述第二AXI单元包括一个第一接口(M)和N个第二接口(S);第一接口(M)接收所述第一AXI单元发送的数据,N个第二接口(S)分别连接N个AHB接口。
34.根据权利要求32或33所述的芯片,其特征在于,所述第一AXI单元用于向所述至少一个内存单元发送512比特的数据或者命令。
35.根据权利要求32或33所述的芯片,其特征在于,所述第二AXI单元用于向所述至少一个内存单元发送32比特的数据或者命令。
36.根据权利要求32或33所述的芯片,其特征在于,通过所述第一AXI单元的第四接口(S8)和所述第二AXI单元的第一接口(M)进行格式转换。
37.根据权利要求32或33所述的芯片,其特征在于,所述AHB接口和所述数据校对单元连接所述至少一个内存单元。
38.根据权利要求29所述的芯片,其特征在于,所述数据校对单元用于对存储到所述至少一个内存单元中的数据进行校对。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201820918570.2U CN208298179U (zh) | 2018-06-13 | 2018-06-13 | 大数据运算加速系统和芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201820918570.2U CN208298179U (zh) | 2018-06-13 | 2018-06-13 | 大数据运算加速系统和芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN208298179U true CN208298179U (zh) | 2018-12-28 |
Family
ID=64702088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201820918570.2U Active CN208298179U (zh) | 2018-06-13 | 2018-06-13 | 大数据运算加速系统和芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN208298179U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536642A (zh) * | 2018-06-13 | 2018-09-14 | 北京比特大陆科技有限公司 | 大数据运算加速系统和芯片 |
-
2018
- 2018-06-13 CN CN201820918570.2U patent/CN208298179U/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536642A (zh) * | 2018-06-13 | 2018-09-14 | 北京比特大陆科技有限公司 | 大数据运算加速系统和芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536642A (zh) | 大数据运算加速系统和芯片 | |
CN102981776B (zh) | 双倍数据率虚拟静态随机存取存储器及其控制器、存取与操作方法、写入与读取方法 | |
AU2014278189B2 (en) | Using dual PHYs to support multiple PCIe link widths | |
TW201915759A (zh) | 高頻寬記憶系統 | |
CN105335326A (zh) | 一种基于fpga的pcie转sata接口阵列的装置 | |
CN103744644B (zh) | 采用四核结构搭建的四核处理器系统及数据交换方法 | |
CN109032973B (zh) | Icb总线系统 | |
CN104866453A (zh) | 系统芯片、总线接口连接电路和其总线接口连接方法 | |
CN105531766A (zh) | 负载减小的存储模块 | |
CN106293843B (zh) | 一种数据加载系统 | |
US7277975B2 (en) | Methods and apparatuses for decoupling a request from one or more solicited responses | |
CN104636301B (zh) | 一种基于pci‑e接口的大规模plc高速背板总线系统 | |
CN106970894A (zh) | 一种基于Arria10的FPGA异构加速卡 | |
CN104428836A (zh) | 环形拓扑状态指示 | |
Markettos et al. | Interconnect for commodity FPGA clusters: Standardized or customized? | |
CN201878182U (zh) | 一种基于fpga的总线型通信系统 | |
CN105355229A (zh) | 异步电路系统对同步随机存储器的写入电路和读取电路 | |
CN209149287U (zh) | 大数据运算加速系统 | |
WO2020087276A1 (zh) | 大数据运算加速系统和芯片 | |
CN107908587A (zh) | 基于usb3.0的实时数据采集传输装置 | |
CN103970692B (zh) | RapidIO串行数据处理方法 | |
CN208298179U (zh) | 大数据运算加速系统和芯片 | |
CN105786741A (zh) | 一种soc高速低功耗总线及转换方法 | |
CN209560543U (zh) | 大数据运算芯片 | |
CN209784995U (zh) | 大数据运算加速系统和芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |