CN109120529B - 控制和数据复用 - Google Patents
控制和数据复用 Download PDFInfo
- Publication number
- CN109120529B CN109120529B CN201810651374.8A CN201810651374A CN109120529B CN 109120529 B CN109120529 B CN 109120529B CN 201810651374 A CN201810651374 A CN 201810651374A CN 109120529 B CN109120529 B CN 109120529B
- Authority
- CN
- China
- Prior art keywords
- signal conductors
- packet
- byte
- signal
- control
- 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
- 239000004020 conductor Substances 0.000 claims abstract description 166
- 238000000034 method Methods 0.000 claims description 50
- 230000005540 biological transmission Effects 0.000 claims description 27
- 238000003860 storage Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/10—Routing in connection-oriented networks, e.g. X.25 or ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/628—Queue scheduling characterised by scheduling criteria for service slots or service orders based on packet size, e.g. shortest packet first
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及控制和数据复用。本公开的实施例可以涉及一种具有第一组件和通过多个信号导线与第一组件耦合的第二组件的装置。所述多个信号导线中的第一导线将可以将分组的命令字节和分组的第一数据字节从第一组件载送到第二组件。所述多个信号导线中的第二导线将可以在第一信号导线载送分组的命令字节时将分组的第二数据字节从第一组件载送到第二组件,并且在第一信号导线载送分组的第一数据字节时将分组的第三数据字节从第一组件载送到第二组件。可以描述或要求保护其他实施例。
Description
技术领域
本公开的实施例一般涉及控制和数据复用(multiplexing)的领域,并且更特别地,涉及针对片上网络(NoC)背景下的这样的复用的领域。
背景技术
遗留NoC(或者一般地,片上互连)可以使用用于分组输运和切换的两个技术之一。在一个技术中,可以分离地复用分组的控制元素和分组的数据元素。即,分组的控制(其也可以被称为“头部”)部分可以在第一组导线(wire)上传输,并且分组的数据部分可以在第二组导线上传输。该解决方案可以提供针对分组数据的第一微片(flit)的相对低的等待时间,以及较高的数据吞吐量(取决于分组的总体长度)。然而,由于电路共谋和较高的物理布线拥挤,该解决方案可能要求用于NoC的较大物理面积和较长的关键路径。
替代技术可以是分组的控制和数据元素的共同复用。即,可以沿同一组导线传输分组的控制元素和分组的数据元素(即经时间复用的控制和数据)。该技术可以减少NoC的物理面积和物理布线拥挤,但是可能导致较低的数据吞吐量和分组的第一微片的增加的等待时间。
由于以上两个解决方案的相对优点和缺点,可能难以生成横跨设计空间的两端的单个NoC架构:从大面积和高吞吐量到小面积和适度的吞吐量。这样的架构可以是合期望的,因为一些片上系统(SoC)设计可以包括具有关于面积和数据吞吐量的对角线(diagonal)要求的集群。可能合期望的是使用单个NoC架构来满足这些SoC设计的要求。
附图说明
通过结合附图的以下详细描述,将容易地理解实施例。为了促进该描述,相同的参考数字指定(designate)相同的结构元件。通过示例的方式而非通过限制的方式在附图的各图中图示实施例。
图1描绘了依照各种实施例的NoC的知识产权(IP)核和路由器的示例。
图2描绘了依照各种实施例的NoC的示例。
图3描绘了依照各种实施例的NoC的路由器之间的连接的示例。
图4描绘了依照各种实施例的经传输的分组的示例。
图5描绘了依照各种实施例的传输分组的过程的示例。
图6是依照各种实施例的示例计算设备的框图。
图7图示了依照各种实施例的具有指令的示例存储介质,所述指令被配置成使得装置能够实践本公开的各种方面。
具体实施方式
一般地,本文中的实施例涉及一种用于分组传输的技术,其允许通过传输分组的控制(例如头部)元素的相同导线来输运分组的数据(例如有效载荷)元素。该技术还可以允许不同接口大小的混合和匹配,以及用于流控制和/或切换的技术。
更具体地,实施例可以涉及一种具有第一组件和通过多个信号导线与第一组件耦合的第二组件的装置。装置可以是例如芯片,诸如SoC。导线可以是NoC的导线,并且组件可以是NoC的IP核。所述多个信号导线中的第一导线可以将分组的控制字节和该分组的第一数据字节从第一组件载送到第二组件。所述多个信号导线中的第二导线将可以在第一信号导线载送分组的控制字节时将分组的第二数据字节从第一组件载送到第二组件;并且在第一信号导线载送分组的第一数据字节时将分组的第三数据字节从第一组件载送到第二组件。
在以下描述中,将使用本领域技术人员通常采用以向本领域其他技术人员传达他们工作的实质的术语来描述说明性实现方式的各种方面。然而,对本领域技术人员将明显的是,可以利用所描述的方面中的仅一些来实践本公开的实施例。出于解释的目的,阐述了具体数字、材料和配置以便提供对说明性实现方式的透彻理解。对本领域技术人员将明显的是,可以在没有所述具体细节的情况下实践本公开的实施例。在其他实例中,省略或简化了公知的特征以便不使说明性实现方式模糊。
在以下详细描述中,参考形成本文的一部分的附图,其中相同的数字自始至终指定相同的部分,并且其中通过图示的方式示出了可以实践本公开的主题的实施例。要理解到,可以利用其他实施例,并且可以做出结构或逻辑改变而不脱离本公开的范围。因此,不要在限制性意义上理解以下详细描述,并且实施例的范围由随附权利要求及其等同物来限定。
出于本公开的目的,短语“A和/或B”意味着(A)、(B)或(A和B)。出于本公开的目的,短语“A、B和/或C”意味着(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
本说明书可能使用基于视角的描述,诸如顶部/底部、中/外、之上/之下等。这样的描述仅仅用于促进讨论,并且不意图将本文中描述的实施例的应用约束到任何特定定向。
本说明书可能使用短语“在一实施例中”或“在实施例中”,其每个可以是指相同或不同实施例中的一个或多个。另外,如关于本公开的实施例所使用的术语“包括”、“包含”、“具有”等是同义的。
可以在本文中使用术语“与……耦合”连同其派生词。“耦合”可以意味着以下中的一个或多个。“耦合”可以意味着两个或更多个元件直接物理或电气接触。然而,“耦合”还可以意味着两个或更多个元件间接接触彼此,但是还仍然与彼此协作或交互,并且可以意味着一个或多个其他元件耦合或连接在说是与彼此耦合的元件之间。术语“直接耦合”可以意味着两个或更多个元件直接接触。
如本文中使用的,术语“模块”可以是指专用集成电路(ASIC)、电子电路、处理器(共享的、专用的或群组的)和/或执行一个或多个软件或固件程序的存储器(共享的、专用的或群组的)、组合逻辑电路和/或提供所描述的功能性的其他合适组件,是它们的部分或包括它们。
一般地,NoC可以由通信地耦合到彼此的多个IP核组成。IP核也可以被称为IP块,并且在一些情况下可以被表示为“集成处理器”块。一般地,IP核可以指定逻辑、单元或芯片布局设计的可重用单元。在一些实施例中,IP核可以是ASIC设计、现场可编程门阵列(FPGA)、专用标准部件(ASSP)或某个其他类型的设计。
图1描绘了依照各种实施例的NoC的IP核105和路由器130的示例。在实施例中,IP核105可以包括存储器110、处理器120和网络接口控制器(NIC)125。在实施例中,存储器110可以是例如随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、动态随机存取存储器(DRAM)或某个其他类型的存储器。存储器110可以被称为非暂时性计算机可读存储器。处理器120可以是某个形式的可编程处理器、微处理器、处理器核或能够执行指令的某个其他类型的处理器。指令可以存储在存储器110或与处理器120通信地耦合的某个其他存储器上。
处理器还可以与NIC 125耦合。一般地,NIC 125可以能够处理从处理器120接收的分组,将它们转换成网络分组格式,并且促进分组从诸如路由器130之类的路由器向NoC的另一IP核105的传输。在一些实施例中,NIC 125可以被认为是IP核105的元件,如图1中所示,而在其他实施例中,NIC 125可以被认为是与IP核105分离的元件。
NIC 125可以与路由器130通信地耦合。路由器130可以被配置成经由诸如信号总线115之类的一个或多个信号总线传输和接收分组。如将更加详细地讨论的,信号总线115可以包括多个信号导线。例如,在一些实施例中,信号总线可以具有18和576之间个信号导线。其他实施例可以具有更多或更少信号导线。如可以在图1中看到的,路由器130可以与多个信号总线115耦合。例如,图1示出与三个信号总线115耦合的路由器130。在其他实施例中,路由器可以与更多或更少信号总线115耦合。此外,如将更加详细地讨论的,信号总线115中的一个或多个可以包括与信号总线115中的另一个不同数目的信号导线。
图2描绘了具有NoC 202的SoC 200的示例。SoC 200可以包括除NoC 202之外的其他元件,诸如一个或多个微处理器、存储器、图形处理单元(GPU)、Wi-Fi模块,或其他数字、模拟、混合信号或射频(RF)功能。在实施例中,NoC 202可以提供(以下更加详细地描述的)诸如IP核205之类的IP核与其他元件之间的通信耦合。
NoC 202可以包括多个IP核205,其可以类似于IP核105。IP核205中的相应IP核可以与路由器230通信地耦合,并且路由器230可以经由信号总线215(其可以类似于信号总线115)耦合。
图2中描绘的NoC 202可以被称为具有直接拓扑的NoC,即,其中相应路由器与单个IP核耦合的拓扑。更具体地,NoC 202可以被称为二维(2-D)网格。然而,图2中描绘的NoC202意图作为示例实施例,并且其他实施例可以包括其他拓扑,诸如2-D环面拓扑、三维(3-D)超立方体拓扑、八边形拓扑等。在其他实施例中,NoC 202可以是间接拓扑,即,其中路由器可以与不止一个IP核耦合的拓扑。这样的拓扑可以包括例如胖树拓扑、三级蝴蝶拓扑或某个其他拓扑。
图3描绘了依照各种实施例的NoC的路由器之间的连接的示例。例如,NoC可以类似于图2的NoC 202。路由器330a、330b和330c可以类似于图2的路由器230或图1的路由器130。路由器330a、330b和330c可以通过诸如信号总线315a和315b之类的信号总线与彼此耦合,信号总线315a和315b可以类似于信号总线115或215。
如以上所指出的,信号总线315a和315b可以包括多个信号导线335。信号导线335可以由某个导电材料形成,诸如铜、金或允许在诸如路由器330a和330b之类的路由器之间传达电子信号的某个其他导电材料。
如可以在图3中看到的,不同的信号总线可以包括不同数目的信号导线。例如,信号总线315a可以仅包括三个信号导线335。相比之下,信号总线315b可以包括六个信号导线335。将理解到,信号总线315a和315b意图仅作为示例,并且在其他实施例中,信号总线可以包括18和576之间个信号导线,或某个其他数目的信号导线。
在实施例中,诸如路由器330b之类的路由器可以经由信号总线315a从路由器330a接收分组。分组可以包括一个或多个控制字节和一个或多个数据字节。(多个)控制字节可以与例如指示分组被定址到的组件的分组的地址信息相关。(多个)控制字节可以附加地或替代地与例如指示与分组相关的路由协议的路由信息相关。(多个)控制字节可以附加地或替代地与例如分组的事务类型相关,该事务类型可以指示分组是否与诸如读事务、写事务或某个其他类型的事务之类的事务相关。(多个)控制字节可以附加地或替代地与例如分组的命令扩展相关,该命令扩展可以用来修改或影响由分组的数据部分承载的命令。(多个)控制字节可以附加地或替代地与例如安全信息相关,该安全信息与诸如校验和、加密/解密信息或某个其他类型的信息之类的分组相关。在一些实施例中,(多个)控制字节可以包括附加的或替代的信息。
如以上提及的,分组还可以包括一个或多个数据字节。数据字节也可以被称为“有效载荷”。数据字节可以包括分组的数据信息,诸如与意图由分组承载的命令相关的命令数据、向或从计算系统的各种组件载送的信息,或某个其他类型的数据。
图4描绘了依照各种实施例的经传输的分组的示例。具体地,图4描绘了可以如何沿诸如信号总线115/215/315a/315b之类的信号总线传输分组400。分组可以包括一个或多个控制字节405。例如,如图4中所示,分组400可以包括八个控制字节405。分组可以进一步包括一个或多个数据字节410。例如,如图4中所示,分组400可以包括64个数据字节410。
可以跨数个时间实例和数个信号导线分裂分组400。具体地,图4中的每一列可以指示分离的时间实例。每一行可以指示通过其传输分组的不同的信号导线。
如图4中所示,可以将分组400分裂成多个微片420。一般地,微片420可以包括在单个时间实例中传输的数个字节。如图4中所示,分组400可以包括六个微片。可以沿数个信号导线415、425在多个时间实例内传输分组400的字节。例如,图4指示可以通过12个信号导线传输分组。
如本文中使用的,术语“信号导线”可以是可以指代物理导线的集聚的抽象。例如,可以能够传输一字节数据的信号导线可以包括8个物理导线,每个能够传输一位数据。
如可以在图4中看到的,诸如信号导线425之类的一些信号导线可以在分组400的第一微片中传输控制字节405,并且然后在剩余微片中传输数据字节410。诸如信号导线415之类的其他信号导线可以在分组400的每个微片中传输数据字节410。
将理解到,图4的分组400,以及特别地,微片的数目、信号导线的数目、控制字节的数目和数据字节的数目,意图作为示例。在一些实施例中,可以分裂分组400以使得通过四个信号导线在两个微片中传输控制字节405,而不是如图4中所示通过八个信号导线在一个微片中传输控制字节。在一些实施例中,可以存在更多或更少信号导线、周期、分组中的控制字节或数据字节。
一般地,微片的数目和如何布置数据字节和控制字节可以取决于一个或多个因素,诸如数据字节的数目、控制字节的数目和信号导线的数目。例如,返回到图3,如果分组具有两个控制字节和十个数据字节,则其在被经由信号总线315a传输时可以与在其被沿信号总线315b传输时不同地布置。例如,当在信号总线315a上传输时,可以在四个微片中传输该分组。第一微片可以包括两个控制字节和一个数据字节,并且然后是包括数据字节的三个微片。该分组然后可以被重新分发以用于在信号总线315b上传输,使得其在两个微片中传输。第一微片可以包括两个控制字节和四个数据字节,并且第二微片可以包括六个数据字节。一般地,可以分析分组,并且可以通过诸如IP块205之类的IP块中的交换机而将字节指派到各种信号导线,所述IP块可以与诸如路由器330b之类的路由器耦合。
一般地,能够在第一微片中传输控制字节和数据字节二者并且然后在随后的微片中在所有导线上传输数据字节的方法可以提供显著的益处。例如,该方法不仅可以降低针对分组的第一微片的等待时间,而且可以降低针对整个数据传送周期的等待时间。该方法还可以增加NoC的总体带宽。当使用虫洞切换时,由该方法引起的减小的微片量可以减少NoC内的布线争夺。
利用存储和转发流控制,由该方法引起的性能改进可以是显著的,因为接口利用可能急剧增加。此外,利用存储和转发切换,本文中的技术可以减小跨SoC互连的总体存储大小,从而产生显著的面积减小。
图5描绘了依照各种实施例的传输分组的过程的示例。具体地,图5描绘了可以由诸如IP块105或205之类的交换机执行以在数个信号导线和微片之中划分诸如分组400之类的分组的过程500。
过程500可以包括在502处标识要由组件传输的分组的数个字节。分组可以是例如包括数个控制字节和数个数据字节的分组400。组件可以是例如诸如路由器330b之类的组件,并且过程500可以由与路由器耦合的诸如IP核105之类的IP核执行。
过程500然后可以包括在504处标识信号导线的第一和第二子集。信号导线可以是例如与路由器耦合的信号总线的信号导线,如以上所描述的。
过程500然后可以包括在506处引导组件(例如路由器)在第一子集的第一导线上传输控制和数据。参考图4,第一导线可以是例如信号导线425。控制元素可以是例如控制字节,诸如控制字节405。数据元素可以是例如数据字节,诸如数据字节410。第一子集可以是例如在第一微片中传输控制字节并且然后在剩余微片中传输数据字节的图4中描绘的八个信号导线。
过程500还可以包括在508处引导组件(例如路由器)与通过第一导线传输命令同时地在第二子集的第二导线上传输数据。例如,组件(例如路由器)可以在第一微片中在信号导线415上传输数据字节,诸如数据字节410。该传输,由于其与信号导线425上的控制字节405的传输在相同微片中,可以被认为与控制字节405的传输一般同时。
过程500还可以包括在510处引导组件与通过第一导线传输数据同时地在第二导线上传输数据。例如,导线415可以在第二微片中传输数据字节,该第二微片可以是与在信号导线425传输数据字节时相同的微片。
将理解到,以上描述的过程500意图作为示例。具体地,尽管过程500的描述可能涉及图4的分组400,但是在其他实施例中,过程500可以在具有不同数目的控制或数据字节的分组上执行。此外,在一些实施例中,元素中的一些可以一般同时地或以与图5中描绘的顺序不同的顺序执行。
图6图示了依照各种实施例的适合于与图1-3的各种组件和图5的过程500一起使用的示例计算设备600的框图。例如,计算设备600可以是或可以包括或否则耦合到SoC200。如所示,计算设备600可以包括一个或多个处理器或处理器核602和系统存储器604。出于本申请的目的,包括权利要求,术语“处理器”和“处理器核”可以被认为是同义的,除非上下文另外清楚地要求。处理器602可以包括任何类型的处理器,诸如中央处理单元(CPU)、微处理器等。处理器602可以实现为具有多核的集成电路,例如多核微处理器。计算设备600可以包括大容量存储设备606(诸如磁盘、硬盘驱动器、易失性存储器(例如动态随机存取存储器(DRAM)、致密盘只读存储器(CD-ROM)、数字多功能盘(DVD)等))。一般地,系统存储器604和/或大容量存储设备606可以是任何类型的临时和/或持久贮存器,包括但不限于易失性和非易失性存储器,光学、磁性和/或固态大容量贮存器等。易失性存储器可以包括但不限于静态和/或动态随机存取存储器。非易失性存储器可以包括但不限于电可擦除可编程只读存储器、相变存储器、电阻存储器等。
计算设备600可以进一步包括输入/输出(I/O)设备608(诸如显示器(例如触摸屏显示器)、键盘、光标控制、远程控制、游戏控制器、图像捕获设备等)和通信接口610(诸如网络接口卡、调制解调器、红外接收器、无线电接收器(例如蓝牙)等)。
通信接口610可以包括通信芯片(未示出),该通信芯片可以被配置成依照全球移动通信系统(GSM)、通用分组无线电服务(GPRS)、通用移动电信系统(UMTS)、高速分组接入(HSPA)、演进的HSPA(E-HSPA)或长期演进(LTE)网络来操作设备600。通信芯片还可以被配置成依照增强型数据GSM演进(EDGE)、GSM EDGE无线电接入网络(GERAN)、通用陆地无线电接入网络(UTRAN)或演进的UTRAN(E-UTRAN)来操作。通信芯片可以被配置成依照码分多址(CDMA)、时分多址(TDMA)、数字增强型无绳电信(DECT)、演进数据优化(EV-DO)、其派生物,以及被指定为3G、4G、5G及以上的任何其他无线协议进行操作。在其他实施例中,通信接口610可以依照其他无线协议进行操作。在各种实施例中,通信接口610可以包括收发器652。
以上描述的计算设备600元件可以经由系统总线612耦合到彼此,系统总线612可以表示一个或多个总线。在多个总线的情况下,它们可以通过一个或多个总线桥(未示出)来桥接。这些元件中的每个可以执行本领域中已知的其常规功能。特别地,系统存储器604和大容量存储设备606可以用于存储编程指令的工作副本和永久副本以用于计算设备600的各种组件的操作,包括但不限于计算设备600的操作系统和/或一个或多个应用。各种元件可以通过由(多个)处理器602支持的汇编器指令或可以编译成这样的指令的高级语言来实现。
可以在工厂中或在现场通过例如分发介质(未示出)(诸如致密盘(CD))或通过通信接口610(从分发服务器(未示出))将编程指令的永久副本放置到大容量存储设备606中。即,具有代理程序的实现方式的一个或多个分发介质可以用于分发代理和编程各种计算设备。
元件608、610、612的数目、能力和/或容量可以取决于计算设备600被用作诸如机顶盒或台式计算机之类的固定计算设备还是诸如平板计算设备、膝上型计算机、游戏控制台或智能电话之类的移动计算设备而变化。其构成是另外已知的,并且因而将不进一步描述。
在实施例中,存储器604可以包括被配置成实现与计算设备600的操作相关联的各种固件和/或软件服务的计算逻辑622。对于一些实施例,处理器602中的至少一个可以与被配置成实践本文中描述的实施例的各方面的计算逻辑622封装在一起以形成系统级封装(SiP)或片上系统(SoC)。
在各种实现方式中,计算设备600可以包括数据中心、膝上型笔记本、上网本、笔记本、超极本、智能电话、平板、个人数字助理(PDA)、超移动PC、移动电话或数字相机的一个或多个组件。在另外的实现方式中,计算设备600可以是处理数据的任何其他电子设备。在一些实施例中,总线612可以是例如NoC,诸如如以上所描述的NoC 202。
图7图示了依照各种实施例的示例计算机可读存储介质702,其具有被配置成实践与较早关于图6所描述的计算机设备600、或图5的过程500相关联的操作中的全部或所选操作的指令。如所图示的,计算机可读存储介质702可以包括数个编程指令704。存储介质702可以表示本领域中已知的宽范围的非暂时性持久存储介质,包括但不限于闪速存储器、动态随机存取存储器、静态随机存取存储器、光盘、磁盘等。编程指令704可以被配置成使得设备(例如计算设备600)能够响应于编程指令704的执行而实行例如但不限于关于图5的过程500所描述的各种操作。在替代的实施例中,编程指令704可以被布置在多个计算机可读存储介质702上。在替代的实施例中,存储介质702可以是暂时性的,例如编码有编程指令704的信号。
向后参照图6,对于实施例,处理器602中的至少一个可以与存储器封装在一起,该存储器具有被配置成实践在本文中关于图5的过程500示出或描述的各方面的计算逻辑622的全部或部分。对于实施例,处理器602中的至少一个可以与存储器封装在一起以形成系统级封装(SiP),该存储器具有被配置成实践在本文中关于图5的过程500所描述的各方面的计算逻辑622的全部或部分。对于实施例,处理器602中的至少一个可以与存储器集成在同一管芯上,该存储器具有被配置成实践在本文中关于图5的过程500所描述的各方面的计算逻辑622的全部或部分。对于实施例,处理器602中的至少一个可以与存储器封装在一起以形成片上系统(SoC),该存储器具有被配置成实践在本文中关于图5的过程500所描述的各方面的计算逻辑622的全部或部分。
用于执行以上描述的技术的机器可读介质(包括非暂时性机器可读介质,诸如机器可读存储介质)、方法、系统和设备是本文中公开的实施例的说明性示例。此外,以上描述的交互中的其他设备可以被配置成执行各种所公开的技术。
示例
示例1可以包括一种装置,该装置包括:第一组件;通过多个信号导线与第一组件耦合的第二组件;所述多个信号导线中的第一信号导线,该第一信号导线要将分组的控制字节和该分组的第一数据字节从第一组件载送到第二组件;以及所述多个信号导线中的第二信号导线,该第二信号导线要:在第一信号导线载送该分组的控制字节时将该分组的第二数据字节从第一组件载送到第二组件;并且在第一信号导线载送该分组的第一数据字节时将该分组的第三数据字节从第一组件载送到第二组件。
示例2可以包括示例1的装置,其中所述多个信号导线是片上网络(NoC)的信号导线。
示例3可以包括示例1的装置,其中所述多个信号导线包括18和576之间个信号导线。
示例4可以包括示例1的装置,其中控制字节与控制信息、地址信息、路由信息、事务类型、命令扩展或安全信息相关。
示例5可以包括示例1的装置,其中在第一时隙中传输控制字节和第一数据字节;并且在第二时隙中传输第二数据字节和第三数据字节。
示例6可以包括示例1-5中任一个的装置,该装置进一步包括与所述多个信号导线耦合的交换机,该交换机要:促进控制字节和第一数据字节在第一信号导线上的传输;并且促进第二数据字节和第三数据字节在第二信号导线上的传输。
示例7可以包括示例6的装置,其中第一信号导线是所述多个信号导线的第一子集的信号导线,并且第二信号导线是所述多个信号导线的第二子集的信号导线;并且其中交换机要进一步基于分组的多个控制字节和多个数据字节来标识第一子集中的多个信号导线和第二子集中的多个信号导线。
示例8可以包括示例1-5中任一个的装置,其中该装置是片上系统(SoC)。
示例9可以包括示例1-5中任一个的装置,其中第一组件是与知识产权(IP)核耦合的路由器。
示例10可以包括一种方法,该方法包括:通过片上系统(SoC)的交换机标识要从SoC的第一组件向SoC的第二组件传输的分组的数个字节;通过交换机基于分组的所述数个字节来标识多个信号导线中的信号导线的第一子集和所述多个信号导线中的信号导线的第二子集;通过交换机引导第一组件:在信号导线的第一子集的第一导线上传输控制字节和第一数据字节;在信号导线的第二子集的第二导线上与控制字节的传输同时地传输第二数据字节;以及在第二导线上与第一数据字节的传输同时地传输第三数据字节。
示例11可以包括示例10的方法,其中所述多个信号导线是片上网络(NoC)的信号导线。
示例12可以包括示例10的方法,其中所述多个信号导线包括18和576之间个信号导线。
示例13可以包括示例10的方法,其中控制字节与控制信息、地址信息、路由信息、事务类型、命令扩展或安全信息相关。
示例14可以包括示例10-13中任一个的方法,该方法进一步包括:通过交换机引导控制字节和第一数据字节在第一时隙中的传输;以及通过交换机引导第二数据字节和第三数据字节在第二时隙中的传输。
示例15可以包括示例10-13中任一个的方法,该方法进一步包括通过交换机基于分组的数个控制字节和分组的数个数据字节来标识第一子集和第二子集中的数个信号导线。
示例16可以包括示例10-13中任一个的方法,其中第一组件是与知识产权(IP)核耦合的路由器。
示例17可以包括一种片上系统(SoC),其包括:第一路由器;通过片上网络(NoC)的多个信号导线与第一路由器耦合的第二路由器;以及与所述多个信号导线耦合的交换机,其中该交换机要:引导第一路由器:在所述多个信号导线的第一子集的第一导线上传输分组的控制字节和该分组的第一数据字节;在与控制字节的传输相同的时隙中,在所述多个信号导线的第二子集的第二导线上传输该分组的第二数据字节;以及在与第一数据字节的传输相同的时隙中,在第二导线上传输该分组的第三数据字节。
示例18可以包括示例17的SoC,其中所述多个信号导线包括18和576之间个信号导线。
示例19可以包括示例17的SoC,其中控制字节与控制信息、地址信息、路由信息、事务类型、命令扩展或安全信息相关。
示例20可以包括示例17-19中任一个的SoC,其中第一子集中的数个信号导线基于该分组的数个控制字节和该分组的数个数据字节。
各种实施例可以包括以上所描述的实施例的任何合适的组合,包括以上以结合形式(和)描述的实施例的替代(或)实施例(例如“和”可以是“和/或”)。另外,一些实施例可以包括具有指令存储在其上的一个或多个制品(例如非暂时性计算机可读介质),所述指令在被执行时导致以上描述的实施例中的任何实施例的动作。而且,一些实施例可以包括具有用于执行以上描述的实施例的各种操作的任何合适部件的装置或系统。
所说明的实现方式的以上描述,包括在摘要中描述的事物,不意图是详尽的或将本公开的实施例限制到所公开的精确形式。虽然出于说明性目的在本文中描述了具体实现方式和示例,但是在本公开的范围内的各种等效修改是可能的,如相关领域技术人员将认识到的。
鉴于以上详述描述,可以对本公开的实施例做出这些修改。在以下权利要求书中使用的术语不应当被解释成将本公开的各种实施例限制到在说明书和权利要求书中公开的具体实现方式。而是,范围要完全由以下权利要求书确定,以下权利要求书要依照已建立的权利要求解释原则来解释。
Claims (28)
1.一种装置,包括:
第一组件;
通过多个信号导线与第一组件耦合的第二组件;
所述多个信号导线中的第一信号导线,第一信号导线用以将分组的控制字节和分组的第一数据字节从第一组件载送到第二组件;以及
所述多个信号导线中的第二信号导线,第二信号导线用以:
在第一信号导线载送分组的控制字节时将分组的第二数据字节从第一组件载送到第二组件;并且
在第一信号导线载送分组的第一数据字节时将分组的第三数据字节从第一组件载送到第二组件。
2.根据权利要求1所述的装置,其中所述多个信号导线是片上网络(NoC)的信号导线。
3.根据权利要求1所述的装置,其中所述多个信号导线包括18和576之间个信号导线。
4.根据权利要求1所述的装置,其中控制字节与控制信息、地址信息、路由信息、事务类型、命令扩展或安全信息相关。
5.根据权利要求1所述的装置,其中在第一时隙中传输控制字节和第一数据字节;并且
在第二时隙中传输第二数据字节和第三数据字节。
6.根据权利要求1-5中任一项所述的装置,进一步包括与所述多个信号导线耦合的交换机,所述交换机用以:
促进控制字节和第一数据字节在第一信号导线上的传输;并且
促进第二数据字节和第三数据字节在第二信号导线上的传输。
7.根据权利要求6所述的装置,其中第一信号导线是所述多个信号导线的第一子集的信号导线,并且第二信号导线是所述多个信号导线的第二子集的信号导线;并且
其中所述交换机进一步用以基于分组的多个控制字节和多个数据字节来标识第一子集中的多个信号导线和第二子集中的多个信号导线。
8.根据权利要求1-5中任一项所述的装置,其中所述装置是片上系统(SoC)。
9.根据权利要求1-5中任一项所述的装置,其中第一组件是与知识产权(IP)核耦合的路由器。
10.一种方法,包括:
通过片上系统(SoC)的交换机标识要从SoC的第一组件向SoC的第二组件传输的分组的多个字节;
通过交换机基于分组的所述多个字节来标识多个信号导线中的信号导线的第一子集和所述多个信号导线中的信号导线的第二子集;
通过交换机引导第一组件:
在信号导线的第一子集的第一导线上传输控制字节和第一数据字节;
在信号导线的第二子集的第二导线上与控制字节的传输同时地传输第二数据字节;以及
在第二导线上与第一数据字节的传输同时地传输第三数据字节。
11.根据权利要求10所述的方法,其中所述多个信号导线是片上网络(NoC)的信号导线。
12.根据权利要求10所述的方法,其中所述多个信号导线包括18和576之间个信号导线。
13.根据权利要求10所述的方法,其中控制字节与控制信息、地址信息、路由信息、事务类型、命令扩展或安全信息相关。
14.根据权利要求10-13中任一项所述的方法,进一步包括:
通过交换机引导控制字节和第一数据字节在第一时隙中的传输;以及
通过交换机引导第二数据字节和第三数据字节在第二时隙中的传输。
15.根据权利要求10-13中任一项所述的方法,进一步包括通过交换机基于分组的多个控制字节和分组的多个数据字节来标识第一子集和第二子集中的多个信号导线。
16.根据权利要求10-13中任一项所述的方法,其中第一组件是与知识产权(IP)核耦合的路由器。
17.一种片上系统(SoC),包括:
第一路由器;
通过片上网络(NoC)的多个信号导线与第一路由器耦合的第二路由器;以及
与所述多个信号导线耦合的交换机,其中交换机用以:
引导第一路由器:
在所述多个信号导线的第一子集的第一导线上传输分组的控制字节和分组的第一数据字节;
在与控制字节的传输相同的时隙中,在所述多个信号导线的第二子集的第二导线上传输分组的第二数据字节;以及
在与第一数据字节的传输相同的时隙中,在第二导线上传输分组的第三数据字节。
18.根据权利要求17所述的SoC,其中所述多个信号导线包括18和576之间个信号导线。
19.根据权利要求17所述的SoC,其中控制字节与控制信息、地址信息、路由信息、事务类型、命令扩展或安全信息相关。
20.根据权利要求17-19中任一项所述的SoC,其中第一子集中的多个信号导线基于分组的多个控制字节和分组的多个数据字节。
21.一种装置,包括:
用于通过片上系统(SoC)的交换机标识用以从SoC的第一组件向SoC的第二组件传输的分组的多个字节的部件;
用于通过交换机基于分组的所述多个字节来标识多个信号导线中的信号导线的第一子集和所述多个信号导线中的信号导线的第二子集的部件;
用于通过交换机引导第一组件进行如下操作的部件:
在信号导线的第一子集的第一导线上传输控制字节和第一数据字节;
在信号导线的第二子集的第二导线上与控制字节的传输同时地传输第二数据字节;以及
在第二导线上与第一数据字节的传输同时地传输第三数据字节。
22.根据权利要求21所述的装置,其中所述多个信号导线是片上网络(NoC)的信号导线。
23.根据权利要求21所述的装置,其中所述多个信号导线包括18和576之间个信号导线。
24.根据权利要求21所述的装置,其中控制字节与控制信息、地址信息、路由信息、事务类型、命令扩展或安全信息相关。
25.根据权利要求21-24中任一项所述的装置,进一步包括:
用于通过交换机引导控制字节和第一数据字节在第一时隙中的传输的部件;以及
用于通过交换机引导第二数据字节和第三数据字节在第二时隙中的传输的部件。
26.根据权利要求21-24中任一项所述的装置,进一步包括:
用于通过交换机基于分组的多个控制字节和分组的多个数据字节来标识第一子集和第二子集中的多个信号导线的部件。
27.根据权利要求21-24中任一项所述的装置,其中第一组件是与知识产权(IP)核耦合的路由器。
28.一种其上存储有指令的计算机可读存储介质,当由处理器执行指令时使所述处理器执行根据权利要求10-16中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/630,368 US10868622B2 (en) | 2017-06-22 | 2017-06-22 | Control and data multiplexing |
US15/630368 | 2017-06-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109120529A CN109120529A (zh) | 2019-01-01 |
CN109120529B true CN109120529B (zh) | 2024-04-26 |
Family
ID=64693644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810651374.8A Active CN109120529B (zh) | 2017-06-22 | 2018-06-22 | 控制和数据复用 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10868622B2 (zh) |
CN (1) | CN109120529B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724125A (zh) * | 2012-06-28 | 2012-10-10 | 黑龙江大学 | 基于宏虚通道的片上网络节点通信方法 |
CN103870397A (zh) * | 2012-12-12 | 2014-06-18 | 国际商业机器公司 | 数据处理系统中访问数据的方法以及电路安排 |
TW201636864A (zh) * | 2014-12-17 | 2016-10-16 | 英特爾公司 | 高頻寬核心至晶片網路之介面 |
CN106385304A (zh) * | 2016-08-31 | 2017-02-08 | 华为技术有限公司 | 数据传输方法、设备和系统 |
CN106716394A (zh) * | 2014-09-08 | 2017-05-24 | 美国高通技术公司 | 片上网络拓扑内的隧穿 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100737943B1 (ko) * | 2006-09-13 | 2007-07-13 | 삼성전자주식회사 | 네트워크-온-칩 응답 신호 제어 장치 및 그 방법 |
FR2951342B1 (fr) * | 2009-10-13 | 2017-01-27 | Arteris Inc | Reseau sur puce a latence nulle |
CN107040997B (zh) * | 2016-02-03 | 2023-07-14 | 中兴通讯股份有限公司 | 资源配置的方法及装置 |
-
2017
- 2017-06-22 US US15/630,368 patent/US10868622B2/en active Active
-
2018
- 2018-06-22 CN CN201810651374.8A patent/CN109120529B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724125A (zh) * | 2012-06-28 | 2012-10-10 | 黑龙江大学 | 基于宏虚通道的片上网络节点通信方法 |
CN103870397A (zh) * | 2012-12-12 | 2014-06-18 | 国际商业机器公司 | 数据处理系统中访问数据的方法以及电路安排 |
CN106716394A (zh) * | 2014-09-08 | 2017-05-24 | 美国高通技术公司 | 片上网络拓扑内的隧穿 |
TW201636864A (zh) * | 2014-12-17 | 2016-10-16 | 英特爾公司 | 高頻寬核心至晶片網路之介面 |
CN106385304A (zh) * | 2016-08-31 | 2017-02-08 | 华为技术有限公司 | 数据传输方法、设备和系统 |
Non-Patent Citations (2)
Title |
---|
Biswajit Bhowmik ; Santosh Biswas ; Jatindra Kumar Deka.Impact of NoC interconnect shorts on performance metrics.2016 Twenty Second National Conference on Communication (NCC).2016,全文. * |
一种低延时片上网络路由器的设计与实现;山蕊;蒋林;杜慧敏;邓军勇;;电子设计工程;20130520(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109120529A (zh) | 2019-01-01 |
US20180375602A1 (en) | 2018-12-27 |
US10868622B2 (en) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11385795B2 (en) | Method and apparatus to enable individual non volatile memory express (NVMe) input/output (IO) queues on differing network addresses of an NVMe controller | |
US9678912B2 (en) | Pass-through converged network adaptor (CNA) using existing ethernet switching device | |
EP3611625B1 (en) | Inter-die communication of programmable logic devices | |
US11669486B2 (en) | Initialization sequencing of chiplet I/O channels within a chiplet system | |
US10050907B2 (en) | Virtual PCIe based ethernet controller for in-band communication between server and BMC | |
US20190230049A1 (en) | System-in-package network processors | |
US20230004524A1 (en) | Method of notifying a process or programmable atomic operation traps | |
US11797311B2 (en) | Asynchronous pipeline merging using long vector arbitration | |
US20230244416A1 (en) | Communicating a programmable atomic operator to a memory controller | |
US8856401B2 (en) | Universal controller for peripheral devices in a computing system | |
CN109120529B (zh) | 控制和数据复用 | |
EP3231143B1 (en) | A method, apparatus and system for encoding command information in a packet-based network | |
US20220382557A1 (en) | On-demand programmable atomic kernel loading | |
US10877920B2 (en) | Communications device for routing signals on communications networks | |
WO2022086717A1 (en) | Payload parity protection for a synchronous interface | |
EP3631640B1 (en) | Communication between field programmable gate arrays | |
US11373987B2 (en) | Device, method and system for providing a stacked arrangement of integrated circuit dies | |
US11488643B2 (en) | Method for configuring multiple input-output channels | |
US20240176652A1 (en) | Programmable data movement processor for collective communication offload | |
CN117421268A (zh) | 一种互联系统、设备及网络 | |
CN116569151A (zh) | 多通道存储器系统 | |
Mehta | Pushing performance and integration with the ultrascale+ portfolio |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210629 Address after: California, USA Applicant after: INTEL Corp. Address before: California, USA Applicant before: INTEL IP Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |