CN109643301B - 多核芯片数据总线布线结构和数据发送的方法 - Google Patents

多核芯片数据总线布线结构和数据发送的方法 Download PDF

Info

Publication number
CN109643301B
CN109643301B CN201880002391.7A CN201880002391A CN109643301B CN 109643301 B CN109643301 B CN 109643301B CN 201880002391 A CN201880002391 A CN 201880002391A CN 109643301 B CN109643301 B CN 109643301B
Authority
CN
China
Prior art keywords
data
cores
core
chip
node
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
Application number
CN201880002391.7A
Other languages
English (en)
Other versions
CN109643301A (zh
Inventor
刘贤华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bitmain Technologies Inc
Original Assignee
Bitmain Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bitmain Technologies Inc filed Critical Bitmain Technologies Inc
Publication of CN109643301A publication Critical patent/CN109643301A/zh
Application granted granted Critical
Publication of CN109643301B publication Critical patent/CN109643301B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明实施例提供一种多核芯片数据总线布线结构和数据发送的方法,N个内核中的每个内核布置一条发送数据的数据总线;所述芯片内核只能在其对应的发送数据的数据总线上给其他内核发送数据,并且从剩余其他N‑1条所述发送数据的数据总线从其他内核接收数据。采用本发明的技术方案,可以减少芯片连接内核数据总线的数量,节约芯片内部布线空间,减少数据总线之间的干扰,提高数据传输速度,增加带宽的利用率。

Description

多核芯片数据总线布线结构和数据发送的方法
技术领域
本发明实施例涉及集成电路领域,特别是涉及一种多核芯片数据总线布线结构和数据发送的方法。
背景技术
ASIC(Application Specific Integrated Circuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。
随着科技的发展,越来越多的领域,比如人工智能、安全运算等都涉及大运算量的特定计算。针对特定运算,ASIC芯片可以发挥其运算快,功耗小等特定。同时,对于这些大运算量领域,为了提高数据的处理速度和处理能力,通常需要控制N个运算芯片同时进行工作。在ASIC芯片中需要设置多个内核(core)来同时进行运算,这些内核需要相互传输数据和命令,因此要支持任意两核互联;芯片内部的数据总线连线数量随着核数量增加而指数增加;但是由于芯片面积小,造成内核互联空间有限,如图1所示往往是在比较狭长的空间进行数据总线布线设计,由于布线空间资源紧张,实际总线走线长度应尽量短,避免回绕占用布线资源。而传统环线拓扑结构和集中仲裁结构使得数据总线布线明显拥塞,并且要求总线需要最大程度并行,防止相互影响而降低带宽。
发明内容
本发明实施例提供一种多核芯片数据总线布线结构和数据发送的方法,可以减少芯片连接内核数据总线的数量,节约芯片内部布线空间,减少数据总线之间的干扰,提高数据传输速度,增加带宽的利用率。
为达到上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,提供一种多核芯片数据总线布线结构,所述芯片内核数量为N,其中N为大于等于2的正整数,N个内核中的每个内核布置一条发送数据的数据总线,N条所述数据总线中的每一条只用于N个内核中的一个内核向其他内核发送数据。
优选的是,每条所述数据总线上设置N个连接点,所述N个内核中的每一个内核通过一个连接点连接所述数据总线。
优选的是,每条所述数据总线上只有一个内核通过连接点发送数据,其他内核通过连接点接收所述数据总线上传输的数据。
优选的是,所述每个内核通过为该内核设置的所述发送数据的数据总线向其他内核发送数据,从剩余N-1条所述数据总线从其他内核接收数据。
优选的是,所述连接点包括N个管道节点PN,其中N个管道节点PN中的一个和所述发送数据的数据总线相连;剩余N-1个管道节点PN分别和其他内核发送数据的数据总线相连。
优选的是,连接所述发送数据的数据总线的管道节点PN用于获得内核要发送的数据,根据所述要发送的数据目的地址通过所述发送数据的数据总线发送给目的内核的管道节点PN。
优选的是,所述剩余N-1个管道节点PN用于根据所述其他内核发送数据的数据总线中传输的数据目的地址对数据进行转发或者获取操作;所述剩余N-1个管道节点PN将目的地址为本内核地址的数据进行获取并发送至所述本内核。
优选的是,内核通过选择单元来选择要发送数据的管道节点PN。
优选的是,每条所述数据总线布线结构为“弓”字型走线形式,N条数据总线没有交叉点。
优选的是,所述数据总线布线结构为“П”字型走线形式,N条数据总线没有交叉点。
根据本发明实施例的第二方面,提供一种多核芯片数据总线布线结构,所述芯片内核数量为N,其中N为大于等于2的正整数,其特征在于:N个内核中的每个内核布置一条发送数据的数据总线;所述芯片内核只能在其对应的发送数据的数据总线上给其他内核发送数据,并且从剩余其他N-1条所述发送数据的数据总线从其他内核接收数据;在所述其对应的发送数据的数据总线上不传输其他内核发送的数据。
根据本发明实施例的第三方面,提供一种多核芯片内部数据发送的方法,所述芯片内核数量为N,其中N为大于等于2的正整数,其特征在于:所述芯片内核只能在其对应的发送数据的数据总线上给其他内核发送数据,并且从其他内核对应的发送数据的数据总线上接收数据。
本发明实施例为多个内核中的每个内核布置一条发送数据的数据总线;所述芯片内核只能在其对应的发送数据的数据总线上给其他内核发送数据,并且从剩余其他内核的所述发送数据的数据总线上从其他内核接收数据;在所述内核对应的发送数据的数据总线上不传输其他内核发送的数据。采用本发明的技术方案,可以减少芯片连接内核数据总线的数量,节约芯片内部布线空间,减少数据总线之间的干扰,提高数据传输速度,增加带宽的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是示例性的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1说明现有技术的多核芯片数据总线布线结构的示意图;
图2说明第一实施例的多核芯片第一内核的发送数据的数据总线布线结构的示意图;
图3说明第一实施例的多核芯片第一和第二内核的发送数据的数据总线布线结构的示意图;
图4a说明根据本发明的第二实施例的多核芯片第一内核的发送数据的数据总线布线结构的示意图;
图4b说明第二实施例的多核芯片第一和第二内核的发送数据的数据总线布线结构的示意图。
图5说明根据本发明的并行先入先出单元pfifo和总线管道BP的结构示意图;
图6说明根据本发明的数据结构示意图;
图7说明根据本发明的第一内核的发送数据和接收数据的示意图。
具体实施方式
下面将基于附图具体说明本发明的示例性实施方式,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
此外,需要说明书的是,各附图中的上、下、左、右的各方向仅是以特定的实施方式进行的例示,本领域技术人员能够根据实际需要将附图中所示的各构件的一部分或全部改变方向来应用,而不会影响各构件或系统整体实现其功能,这种改变了方向的技术方案仍属于本发明的保护范围。
多核芯片是具体化在单个大规模集成半导体芯片上的多处理系统。典型地,两个或更多芯片核心可以被具体化在多核芯片上,由总线(也可以在相同的多核芯片上形成该总线)进行互连。可以有从两个芯片核心到许多芯片核心被具体化在相同的多核芯片上,在芯片核心的数量中的上限仅由制造能力和性能约束来限制。多核芯片可以具有应用,该应用包含在多媒体和信号处理算法(诸如,视频编码/解码、2D/3D图形、音频和语音处理、图像处理、电话、语音识别和声音合成、加密处理)中执行的专门的算术和/或逻辑操作。
虽然在背景技术中仅仅提到了ASIC专用集成电路,但是实施例中的具体布线实现方式可以应用到具有多核芯片CPU、GPU、FPGA等中。在本实施例中多个内核可以是相同内核,也可以是不同内核。
[实施方式1]
为了方便说明,以下将以图2中存在的8个内核的芯片为例进行说明,每个内核对应一个节点,每个内核具有一条数据总线。而本领域技术人员可知,这里选择8个内核为例,只是示例性的说明,内核个数可以是N,其中N为大于等于2的正整数,例如可以是3、6、9等等。在本实施例中多个内核可以是相同内核,也可以是不同内核。
图2说明第一实施例的多核芯片第一内核的发送数据的数据总线布线结构的示意图。如图2所示,该芯片10内部包括8个内核core100、core101、core102、core103、core104、core105、core106和core107;每一个内核core(100……107)设置一个并行先入先出单元pfifo(parallel FIFO,200……207)、总线管道BP(bus_pipe,300……307)和内核core(103)的发送数据的数据总线BS(data bus,403)。
在附图2中仅仅给出了内核core(103)的数据总线BS(data bus,403),在实际中每一个内核core(100……107)都设置1条发送数据的数据总线BS(data bus),在附图2中具有8个内核,可见就存在8条发送数据的数据总线BS(data bus)。在附图2中虽然数据总线BS(data bus 403)分为7段,但是数据总线BS(403)也可以是一条连续的数据线。每个内核core使用自己单独的发送数据的数据总线BS进行数据发送,使用其他内核core的发送数据的数据总线BS接收数据。在附图2中仅仅给出了内核core103的发送数据的数据总线BS(data bus403),是为了让本领域技术人员可以方便地、清晰地看出数据总线的布线方式,这里是采用“弓”字型布线方式。如果芯片中内核的数量为N,则为每个内核配置1条发送数据的数据总线BS,则一共具有N条发送数据的数据总线BS,芯片内核只能在其对应的发送数据的数据总线上给其他内核发送数据,并且从剩余其他N-1条所述发送数据的数据总线从其他内核接收数据,在所述芯片对应的发送数据的数据总线上不能传输其他内核发送的数据。
每一个内核core(100……107)设置一个收发单元或者接入点来连接数据总线BS(data bus)。收发单元或者接入点包括并行先入先出单元pfifo(parallel FIFO,200……207)和总线管道BP(bus_pipe,300……307)。下面结合附图5对并行先入先出单元pfifo和总线管道BP的结构和工作原理进行详细描述。
图5说明根据本发明的并行先入先出单元pfifo和总线管道BP的结构示意图。根据附图5可知,所述并行先入先出单元pfifo(input parallel FIFO,20)包括一个接收单元(221)、多个输出单元(222)以及控制单元(223)。所述接收单元(221)与内核core相连,用于接收内核core发送的数据,在控制单元(223)控制下将接收到的数据发送给所述多个输出单元(222)。所述并行先入先出单元pfifo(20)内部设置多组寄存器作为所述输出单元(222),用于缓冲输入的数据;每组寄存器内部设置有等待时间。等待时间记录当前缓冲寄存器中的数据在所述并行先入先出单元pfifo的等待时间,用于保证先到的数据对后到的数据有高优先级得到处理。
控制单元(223)用于控制接收单元(221)和多个输出单元(222)的工作,例如数据或者命令的存储位置、存储或者读取顺序、存储逻辑发生错误进行纠正等操作。
根据附图5可知,总线管道BP(30)包括一个选择单元(331)、汇聚单元(332)以及8个管道节点PN(pipen/nodex,3330……3337)组成。管道节点PN的个数N和芯片中的内核数量相同,也就是说芯片中存在N个内核,就存在N个管道节点PN,N为大于等于2的整数。管道节点pipen中的n为管道编号,nodex中的x为节点编号,每个内核对应多个管道编号,每个内核对应唯一一个节点编号,管道编号和节点编号与目的地址和源地址也是相对应的。例如在图2和图5中,将内核(103)的管道编号n设置为0至7,节点编号x设置为3,也就是说内核(103)发送数据的数据总线BS(403)从管道节点pipe3/node3通过,连接其他内核的管道节点pipe3/nodex。内核(103)接收其他内核发送数据的数据总线BS400、401、402、404、405、406、407连接于管道节点pipe0/node3、pipe1/node3、pipe2/node3、pipe4/node3、pipe5/node3、pipe6/node3、pipe7/node3;管道节点pipe0/node3、pipe1/node3、pipe2/node3、pipe4/node3、pipe5/node3、pipe6/node3、pipe7/node3根据数据目的地址提取或者转发数据总线BS400、401、402、404、405、406、407中传输的数据。也就是说,管道节点pipen/nodex中的管道编号n为多个内核core进行数据发送使用的数据总线BS连接的管道节点对应的编号;其中n≤N,N为内核个数,N为大于等于2的整数;一个内核具有1条发送数据的数据总线,具有N-1条接收数据的数据总线。管道节点pipen/nodex中的节点编号x和每个内核唯一对应,也就是和内核地址相对应。
所述选择单元(331)与所述并行先入先出单元pfifo(20)的多个输出单元(222)相互连接,从所述多个输出单元(222)获得数据,选择要发送该数据的管道节点PN,将数据发送给被选择的管道节点PN(pipen/nodex),附图2中内核(103)选择的管道节点PN为pipe3/node3。
管道节点PN(3330……3337)用于接收所述选择单元(331)发送的数据,根据数据的目的地址通过发送数据的数据总线BS(40)发送给目的内核的管道节点PN。同时管道节点PN还通过数据总线BS(40)接收相邻管道节点PN的数据,由于总线管道BP(30)和内核是一一对应关系,因此管道节点PN通过数据目的地址判断是否为所述管道节点PN对应内核的数据;如果是,将所述数据提取出来,发送给汇聚单元(332);如果不是,则将根据目的地址通过数据总线BS(40)将所述数据向相邻的管道节点PN转发。汇聚单元(332)将管道节点PN(3330……3337)发送的数据转发给内核。
在图5中数据总线BS(40)包括8条数据总线BS(400……407),每个内核设置1条发送数据的数据总线BS,用于向其他内核发送数据;每个内核通过管道节点PN连接7条其他内核发送数据的数据总线BS,用于接收其他内核向所述内核发送的数据。为了减少总线之间的相互影响,可以将数据总线BS(40)布置成“弓”字型走线形式。
以图2为例,芯片内核布置在上下对称两侧,或者左右对称两侧,上侧或者左侧有内核core(100)到(103),下侧或者右侧有内核core(104)到(107),内核的位置跟芯片摆放的位置有关,这里不对内核core方位做具体限定,这里只是做示例性说明。现在以内核(103)为例,“弓”字型走线形式为内核(103)的数据总线BS(403)从内核(103)的管道节点PN(pipe3/node3)的出发,先连接内核(104)的管道节点PN(pipe3/node4),再从内核(104)的管道节点PN(pipe3/node4)布线到内核(105)的管道节点PN(pipe3/node5),再从内核(105)的管道节点PN(pipe3/node5)布线到内核(102)的管道节点PN(pipe3/node2),再从内核(102)的管道节点PN(pipe3/node2)布线到内核(101)的管道节点PN(pipe3/node1),再从内核(101)的管道节点PN(pipe3/node1)布线到内核(106)的管道节点PN(pipe3/node6),再从内核(106)的管道节点PN(pipe3/node6)布线到内核(107)的管道节点PN(pipe3/node7),再从内核(107)的管道节点PN(pipe3/node7)布线到内核(100)的管道节点PN(pipe3/node0)。这样内核(103)可以通过数据总线BS(403)向其他内核发送数据,其他内核可以通过数据总线BS(403)接收内核(103)发送的数据。
以图3为例对内核(102)的发送数据的数据总线BS(402)布线结构进行说明,在示意图中数据总线BS(402)为虚线,图3说明第一实施例的多核芯片第一和第二内核的发送数据的数据总线布线结构的示意图。内核(102)“弓”字型走线形式为内核(102)的数据总线BS(402)从内核(102)的管道节点PN(pipe2/node2)的出发,分别向两侧进行走线。一端先连接内核(105)的管道节点PN(pipe2/node5),再从内核(105)的管道节点PN(pipe2/node5)布线到内核(104)的管道节点PN(pipe2/node4),再从内核(103)的管道节点PN(pipe2/node4)布线到内核(103)的管道节点PN(pipe2/node3)。另一端走线为,先布线到内核(101)的管道节点PN(pipe2/node1),再从内核(101)的管道节点PN(pipe2/node1)布线到内核(106)的管道节点PN(pipe2/node6),再从内核(106)的管道节点PN(pipe2/node6)布线到内核(107)的管道节点PN(pipe2/node7),再从内核(107)的管道节点PN(pipe2/node7)布线到内核(100)的管道节点PN(pipe2/node0)。这样数据总线BS(402)通过管道节点PN(pipe2/nodex)将所有内核进行电连接。内核(102)通过发送数据的数据总线BS(402)向其他内核(100、101、103、104、105、106、107)发送数据,通过其他内核的发送数据的数据总线来接收数据,例如通过内核(103)的发送数据的数据总线BS(403)来接收内核(103)发送的数据。
[实施方式2]
图4a说明根据本发明的第二实施例的多核芯片第一内核的发送数据的数据总线布线结构的示意图。以图4a为例,芯片内核布置在上下对称两侧,或者左右对称两侧,上侧或者左侧有内核core(100)到内核(103),下侧或者右侧有内核core(104)到内核(107),内核的位置跟芯片摆放的位置有关,这里不对内核core方位做具体限定,这里只是做示例性限定。而在附图4中选取了8个内核为例,这里仅仅是示例性为例,当然内核数量可以是大于等于2的任意整数。现在以内核(104)为例,“П”字型走线形式为内核(103)的数据总线BS(403)从内核(103)的管道节点PN(pipe3/node3)的出发,先连接内核(102)的管道节点PN(pipe3/node2),再从内核(102)的管道节点PN(pipe3/node2)布线到内核(101)的管道节点PN(pipe3/node1),再从内核(101)的管道节点PN(pipe3/node1)布线到内核(100)的管道节点PN(pipe3/node0),再从内核(100)的管道节点PN(pipe3/node0)布线到内核(107)的管道节点PN(pipe3/node7),再从内核(107)的管道节点PN(pipe3/node7)布线到内核(106)的管道节点PN(pipe3/node6),再从内核(106)的管道节点PN(pipe3/node6)布线到内核(105)的管道节点PN(pipe3/node5),再从内核(105)的管道节点PN(pipe3/node5)布线到内核(104)的管道节点PN(pipe3/node4)。这样数据总线BS(403)通过管道节点PN(pipe3/nodex)将所有内核进行电连接。内核(103)通过发送数据的数据总线BS(403)向其他内核(100、101、102、104、105、106、107)发送数据,通过其他内核的发送数据的数据总线来接收数据。
图4b是以内核(102)为例对发送数据的数据总线BS(402)的“П”字型走线结构进行说明,在示意图中数据总线BS(402)为虚线。内核2的数据总线BS(402)布线方式和内核(103)的数据总线BS(403)在“П”字型走线形式下的布线方式相似,在这里就不详细进行说明。“弓”字型走线形式和“П”字型走线形式使得数据总线BS(40)之间不产生交叉,减少了总线的条数,总线之间不相互影响。
[实施方式3]
图6说明根据本发明的数据结构示意图。这里所说的数据为命令数据、数值数据、字符数据等多种数据。数据格式具体包括有效位valid、目的地址dst id、源地址src id和data数据。内核可以通过有效位valid来判断该数据包是命令还是数值,这里可以假定0代表数值,1代表命令。从指令运行时序上来看,本实施例中采用传统的六级流水线结构,分别为取指、译码、执行、访存、对齐和写回级。从指令集架构上来看,可以采取精简指令集架构。按照精简指令集架构的通用设计方法,本发明指令集可以按功能分为寄存器-寄存器型指令,寄存器-立即数指令,跳转指令,访存指令、控制指令和核间通信指令。
图7说明根据本发明的第一内核的发送数据和接收数据的示意图。下面结合附图5和图7以内核(703)为例说明本实施例内核如何发送和接收数据或者命令。内核(703)根据计算任务,计算出要发送给内核(707)的数据,内核(703)将数据生产如图6所述的数据包,由于是数据,则将有效位valid设置为“0”,生产目的地址dst id和源地址src id。将数据包发送给所述并行先入先出单元pfifo(713)的接收单元,接收单元(221)在控制单元(223)的控制下按照接收顺序对数据包进行存储。控制单元(223)控制接收单元(221)将接收到的数据包发送给所述多个输出单元(222)。每个所述多个输出单元(222)内部设置有等待时间,等待时间记录当前缓冲寄存器中的数据在pfifo的等待时间,用于保证先到的数据对后到的数据有高优先级得到处理。控制单元(223)控制所述多个输出单元(222)按照时间顺序将数据包发送给选择单元(331)。选择单元(331)根据对应的内核编号或者源地址确定管道编号n,即确定选择的管道节点PN,由于内核(703)和总线管道BS(723)是一一对应的,因此该内核对应的管道节点的节点编号也是确定的;将数据包发送给选择的管道节点PN(pipe3/node3)。管道节点PN(pipe3/node3)根据数据包的目的地址确定出目的内核对应的节点编号,这里是以内核(707)为例,管道节点PN(pipe3/node3)将数据包在“弓”字型走线或者“П”字型走线的数据总线发送到管道节点PN(pipe3/node7)。管道节点PN(pipe3/node7)接收到数据包,根据数据包中的目的地址判断该数据包是否为本节点数据包,如果是则将数据包发送给汇聚单元332;如果不是,则向下或者向上单向转发。汇聚单元332将接收到的数据包发送给内核(707)。
对每个总线管道BP(30),输入数据有来着本端的并行先入先出单元pfifo(20),和来相邻芯片的上一级或下一级数据。在仲裁优先级上,优先使用带宽分配的方式,使多核并发的数据基本上有相同机会或带宽,发送数据到某一个目的内核。具体来说,在管道节点PN内部设置一个带宽计量的寄存器,用来控制相对应的总线利用情况。可以设置本端的并行先入先出单元pfifo的总线占用带宽(总线带宽慢或者产生数据冲突的情况下)不超出一定的比例,使得其他内核的数据包不致于长时间等待。管道节点PN可以通过优先级或者计时等方式实现带宽控制,这里可以通过赋予第一优先级的请求一个生命周期;对所述的生命周期进行倒计时;当所述的生命周期结束时,把所述的请求的优先级降为为第二优先级;其中,所述的生命周期随着请求被传递。通过利用本发明的总线仲裁方法,可较为精确地控制请求的被响应时间,保证请求在规定的时间内获得响应。在本实施例中,对每个管道节点PN而言,其为每个内核节点对应的pfifo分配相等的带宽或者发送时间。上述带宽的方法只应用于管道节点PN同时有有效数据访问的情况,当不存在数据同时访问,则有效的数据可以及时处理,不存在仲裁的问题。
使用本文中提供的描述,可以通过使用标准的编程和/或工程技术将实施例实现成机器、过程或制造品以产生编程软件、固件、硬件或其任何组合。
可以将任何生成的程序(多个)(具有计算机可读程序代码)具体化在一个或多个计算机可使用的介质上,诸如驻留存储设备、智能卡或其它可移动存储设备,或传送设备,从而根据实施例来制作计算机程序产品和制造品。照此,如本文中使用的术语“制造品”和“计算机程序产品”旨在涵盖永久性地或临时性地存在在任何计算机可以使用的非短暂性的介质上的计算机程序。
如上所指出的,存储器/存储设备包含但不限制于磁盘、光盘、可移动存储设备(诸如智能卡、订户身份模块(SIM)、无线标识模块(WIM))、半导体存储器(诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM))等。传送介质包含但不限于经由无线通信网络、互联网、内部网、基于电话/调制解调器的网络通信、硬连线/电缆通信网络、卫星通信以及其它固定或移动网络系统/通信链路的传输。
虽然已经公开了特定的示例实施例,但是本领域的技术人员将理解的是,在不背离本发明的精神和范围的情况下,能够对特定示例实施例进行改变。
以上参考附图,基于实施方式说明了本发明,但本发明并非限定于上述的实施方式,根据布局需要等将各实施方式及各变形例的部分构成适当组合或置换后的方案,也包含在本发明的范围内。另外,还可以基于本领域技术人员的知识适当重组各实施方式的组合和处理顺序,或者对各实施方式施加各种设计变更等变形,被施加了这样的变形的实施方式也可能包含在本发明的范围内。
本发明虽然已详细描述了各种概念,但本领域技术人员可以理解,对于那些概念的各种修改和替代在本发明公开的整体教导的精神下是可以实现的。本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。

Claims (10)

1.一种多核芯片数据总线布线结构,所述芯片内核数量为N,其中N为大于等于2的正整数,其特征在于:N个内核中的每个内核布置一条发送数据的数据总线,N条所述数据总线中的每一条只用于N个内核中的一个内核向其他内核发送数据;所述芯片对应的发送数据的数据总线上不传输其他内核发送的数据;
每条所述数据总线上设置N个连接点,所述N个内核中的每一个内核通过一个连接点连接所述数据总线;
所述连接点包括N个管道节点PN,其中N个管道节点PN中的一个和所述发送数据的数据总线相连;剩余N-1个管道节点PN分别和其他内核发送数据的数据总线相连。
2.根据权利要求1所述的布线结构,其特征在于,每条所述数据总线上只有一个内核通过连接点发送数据,其他内核通过连接点接收所述数据总线上传输的数据。
3.根据权利要求2所述的布线结构,其特征在于,所述每个内核通过为该内核设置的所述发送数据的数据总线向其他内核发送数据,从剩余N-1条所述数据总线从其他内核接收数据。
4.根据权利要求1所述的布线结构,其特征在于,连接所述发送数据的数据总线的管道节点PN用于获得内核要发送的数据,根据所述要发送的数据目的地址通过所述发送数据的数据总线发送给目的内核的管道节点PN。
5.根据权利要求1所述的布线结构,其特征在于,所述剩余N-1个管道节点PN用于根据所述其他内核发送数据的数据总线中传输的数据目的地址对数据进行转发或者获取操作;所述剩余N-1个管道节点PN将目的地址为本内核地址的数据进行获取并发送至所述本内核。
6.根据权利要求1所述的布线结构,其特征在于,内核通过选择单元来选择要发送数据的管道节点PN。
7.根据权利要求1至3任一项所述的布线结构,其特征在于,每条所述数据总线布线结构为“弓”字型走线形式,N条数据总线没有交叉点。
8.根据权利要求1至3任一项所述的布线结构,其特征在于,所述数据总线布线结构为“П”字型走线形式,N条数据总线没有交叉点。
9.一种多核芯片数据总线布线结构,所述芯片内核数量为N,其中N为大于等于2的正整数,其特征在于:N个内核中的每个内核布置一条发送数据的数据总线;所述芯片内核只能在其对应的发送数据的数据总线上给其他内核发送数据,并且从剩余其他N-1条所述发送数据的数据总线从其他内核接收数据;在所述内核对应的发送数据的数据总线上不传输其他内核发送的数据;
每条所述数据总线上设置N个连接点,所述N个内核中的每一个内核通过一个连接点连接所述数据总线;
所述连接点包括N个管道节点PN,其中N个管道节点PN中的一个和所述发送数据的数据总线相连;剩余N-1个管道节点PN分别和其他内核发送数据的数据总线相连。
10.一种多核芯片内部数据发送的方法,所述芯片内核数量为N,其中N为大于等于2的正整数,其特征在于:所述芯片内核只能在其对应的发送数据的数据总线上给其他内核发送数据,并且从其他内核对应的发送数据的数据总线上接收数据。
CN201880002391.7A 2018-10-30 2018-10-30 多核芯片数据总线布线结构和数据发送的方法 Active CN109643301B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/112549 WO2020087248A1 (zh) 2018-10-30 2018-10-30 多核芯片数据总线布线结构和数据发送的方法

Publications (2)

Publication Number Publication Date
CN109643301A CN109643301A (zh) 2019-04-16
CN109643301B true CN109643301B (zh) 2023-06-30

Family

ID=66060196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880002391.7A Active CN109643301B (zh) 2018-10-30 2018-10-30 多核芯片数据总线布线结构和数据发送的方法

Country Status (2)

Country Link
CN (1) CN109643301B (zh)
WO (1) WO2020087248A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116361223A (zh) * 2023-06-02 2023-06-30 深圳市航顺芯片技术研发有限公司 多核通信方法、装置、微控制芯片及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4795812B2 (ja) * 2006-02-22 2011-10-19 富士通セミコンダクター株式会社 セキュアプロセッサ
CN101710311B (zh) * 2009-12-30 2011-11-30 太原理工大学 一种非对称多元资源节点体系结构
US9460038B2 (en) * 2010-12-22 2016-10-04 Via Technologies, Inc. Multi-core microprocessor internal bypass bus
US9330433B2 (en) * 2014-06-30 2016-05-03 Intel Corporation Data distribution fabric in scalable GPUs
US11321268B2 (en) * 2014-10-31 2022-05-03 Texas Instruments Incorporated Multicore bus architecture with wire reduction and physical congestion minimization via shared transaction channels
CN104933009A (zh) * 2015-04-29 2015-09-23 中国人民解放军国防科学技术大学 一种用于多核dsp间的片上通信方法及数据通信装置

Also Published As

Publication number Publication date
CN109643301A (zh) 2019-04-16
WO2020087248A1 (zh) 2020-05-07

Similar Documents

Publication Publication Date Title
US7155554B2 (en) Methods and apparatuses for generating a single request for block transactions over a communication fabric
US8819616B2 (en) Asymmetric mesh NoC topologies
US8930593B2 (en) Method for setting parameters and determining latency in a chained device system
TWI423036B (zh) 用以在雙向環型互連結構上選擇一方向以傳輸封包之方法及儲存有多個可執行指令的機器可讀媒體
US8284766B2 (en) Multi-core processor and method of communicating across a die
US20080043742A1 (en) Transmission using multiple physical interface
US7277975B2 (en) Methods and apparatuses for decoupling a request from one or more solicited responses
JP2015535630A (ja) 多層相互接続による分散型プロセッサを有する処理システム
US11334400B2 (en) Sync groupings
CN105306382B (zh) 一种无缓存noc数据处理方法及noc电子元件
US8478920B2 (en) Controlling data stream interruptions on a shared interface
CN109643301B (zh) 多核芯片数据总线布线结构和数据发送的方法
CN209149287U (zh) 大数据运算加速系统
CN114185840A (zh) 一种三维多裸片互连网络结构
CN116583823A (zh) 使用长向量仲裁的异步管线合并
CN209132758U (zh) 多核芯片数据总线布线结构
CN209560543U (zh) 大数据运算芯片
WO2020087249A1 (zh) 多内核芯片结构
US20130151817A1 (en) Method, apparatus, and computer program product for parallel functional units in multicore processors
JP2009194510A (ja) 優先調停システム及び優先調停方法
CN209784995U (zh) 大数据运算加速系统和芯片
CN209149300U (zh) 多内核芯片结构
WO2020087275A1 (zh) 大数据运算加速系统执行运算的方法
CN112433962A (zh) 数据传输电路及方法、核、芯片、电子设备及存储介质
US9948543B2 (en) Mechanism to extend the remote get to do async rectangle broadcast on a rectangle with wild cards in the packet header

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant