CN107113253A - 用于片上网络的空间划分的电路交换信道 - Google Patents

用于片上网络的空间划分的电路交换信道 Download PDF

Info

Publication number
CN107113253A
CN107113253A CN201580062824.4A CN201580062824A CN107113253A CN 107113253 A CN107113253 A CN 107113253A CN 201580062824 A CN201580062824 A CN 201580062824A CN 107113253 A CN107113253 A CN 107113253A
Authority
CN
China
Prior art keywords
channel reservation
channel
circuit
storehouse
slot
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.)
Granted
Application number
CN201580062824.4A
Other languages
English (en)
Other versions
CN107113253B (zh
Inventor
H.考尔
G.K.陈
M.A.安德斯
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN107113253A publication Critical patent/CN107113253A/zh
Application granted granted Critical
Publication of CN107113253B publication Critical patent/CN107113253B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/724Admission control; Resource allocation using reservation actions during connection setup at intermediate nodes, e.g. resource reservation protocol [RSVP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/50Circuit switching systems, i.e. systems in which the path is physically permanent during the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6402Hybrid switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

一种设备可以包括多个端口和多个信道预留库。信道预留库要与多个端口中的端口相关联。信道预留库要包括多个信道预留隙缝。多个端口中的端口要包括通过所述端口的多个电路交换信道。多个电路交换信道中的每个电路交换信道的配置要基于存储在要与所述端口相关联的信道预留库的信道预留隙缝中的信息。

Description

用于片上网络的空间划分的电路交换信道
相关申请的交叉引用
本申请要求2014年12月17日提交的、题为“SPATIALLY DIVIDED CIRCUIT-SWITCHEDCHANNELS FOR A NETWORK-ON-CHIP”的美国非临时专利申请No.14/574,258的优先权和权益,通过引用而将其全部结合于本文中。
技术领域
本公开通常涉及计算机开发领域,并且更具体地,涉及用于片上网络(NoC)的空间划分的电路交换信道。
背景技术
随着核和知识产权(IP)块的数量在多核处理器中增加,用于核之间管芯上通信的片上网络(NoC)在使能可伸缩性能中是重要的。在这样的实例中,部件之间的通信变成关键的功率和性能限制者。NoC使能用于与路由器通信的片上布线资源的高效共享以控制和仲裁通信部件之间的数据流动。混合分组/电路交换NoC使能高吞吐量和具有接近电路交换数据传播的能量效率的分组交换的利用。
附图说明
图1说明了根据某些实施例的包括多核处理器的示例计算系统的框图。
图2说明了根据某些实施例的包括片上网络(NoC)系统的处理器的框图,所述片上网络系统包括多个路由器。
图3说明了根据某些实施例的源同步混合分组/电路交换NoC的路由器的分组交换部分的示例输入(IN)和输出(OUT)端口。
图4A至图4C说明了根据某些实施例的示例电路交换信道预留技术。
图5A至图5C说明了根据某些实施例的源同步混合分组/电路交换NoC的路由器的电路交换部分的示例IN和OUT端口。
图6说明了根据某些实施例的用于使用一致的信道预留隙缝经由多个电路交换信道通信的示例方法。
图7说明了根据某些实施例的用于使用非一致的信道预留隙缝经由多个电路交换信道通信的示例方法。
图8说明了根据某些实施例的示例计算系统的另一个框图。
在各种附图中相似的附图标记和名称指示相似的元件。
具体实施方式
在下列描述中,阐述了许多特定细节,诸如特定类型的处理器和系统配置、特定的硬件结构、特定的体系结构和微体系结构的细节、特定的寄存器配置、特定的指令类型、特定的系统部件、特定的测量/高度、特定的处理器流水线阶段和操作等等的示例,以便于提供对本公开的全面理解。然而,不必使用这些特定细节来实施本公开对本领域技术人员来说将是显然的。在其它实例中,并未详细描述公知的部件或方法,诸如特定的和备选的处理器体系结构、用于所描述的算法的特定的逻辑电路/代码、特定的固件代码、特定的互连操作、特定的逻辑配置、特定的制造技术和材料、特定的编译器实现、代码形式的算法的特定表达、特定的断电和门控技术/逻辑以及计算机系统的其它特定的操作细节,以便于避免不必要地混淆本公开。
尽管可以参考特定的集成电路中(诸如计算平台或微处理器中)的能量节约和能量效率来描述下列实施例,但是其它实施例是可应用于其它类型的集成电路和逻辑装置的。本文所描述的实施例的类似技术和教导可以应用于其它类型的电路或半导体装置,所述其它类型的电路或半导体装置也可以受益于更好的能量效率和能量节约。例如,所公开的实施例不限于桌上型计算机系统或UltrabooksTM,而是也可以被用于其它装置(诸如服务器计算机系统、手持装置、平板电脑、其它薄的笔记本电脑、片上系统(SOC)装置)和嵌入式应用中。手持装置的某些示例包括手机、因特网协议装置、数字照相机、个人数字助理(PDA)和手持PC。嵌入式应用典型地包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或者可以执行下面所教导的功能和操作的任何其它系统。此外,本文所描述的设备、方法和系统不限于物理计算装置,而是也可以涉及用于能量节约和效率的软件优化。正如在下面的描述中将会变得容易明白的,本文所描述的方法、设备和系统的实施例(无论是关于硬件、固件、软件还是其组合)对于用性能考虑因素平衡的‘绿色技术’未来是至关重要的。
随着计算系统的进步,其中的部件变得更加复杂。结果,用于部件之间耦合和通信的互连体系结构也增加了复杂度,以保证满足带宽需求以用于最佳部件操作。此外,不同的市场细分要求互连体系结构的不同方面以适应市场的需要。例如,服务器要求更高的性能,而移动生态系统有时能够为了节能而牺牲总性能。但是,在最大节能的情况下提供最高可能的性能是大多数构造的单一目的。在下面,讨论将潜在地受益于本文所描述的公开的若干方面的多个互连。
参见图1,描绘了用于包括多核处理器的计算系统的框图的实施例。处理器100包括任何处理器或者处理装置,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、片上系统(SOC)或者执行代码的其它装置。处理器100在一个实施例中包括至少两个核-核101和102,其可以包括不对称的核或对称的核(说明的实施例)。然而,处理器100可以包括可以是对称的或者不对称的任何数量的处理元件。
在一个实施例中,处理元件指支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、处理单元、上下文、上下文单元、逻辑处理器、硬件线程、核和/或能够为处理器保持状态(诸如执行状态或体系结构状态)的任何其它元件。换句话说,处理元件在一个实施例中指能够与代码(诸如软件线程、操作系统、应用或其它代码)独立相关的任何硬件。物理处理器(或处理器插槽)典型地指集成电路,所述集成电路潜在地包括任何数量的其它处理元件,诸如核或硬件线程。
核常常指位于能够维持独立的体系结构状态的集成电路上的逻辑,其中每个独立维持的体系结构状态与至少某些专用的执行资源相关联。与核相反,硬件线程典型地指位于能够维持独立的体系结构状态的集成电路上的任何逻辑,其中独立维持的体系结构状态共享对执行资源的访问。正如可以看到的,当某些资源被共享而其它资源被专用于体系结构状态时,核和硬件线程的命名之间的线路重叠。但是常常,核和硬件线程被操作系统视为单独的逻辑处理器,其中操作系统能够在每个逻辑处理器上单独地调度操作。
如在图1中所说明的,物理处理器100包括两个核-核101和102。在这里,核101和102被认为是对称的核,即具有相同的配置、功能单元和/或逻辑的核。在另一个实施例中,核101包括乱序处理器核,而核102包括按序处理器核。然而,可以从任何类型的核(诸如本地的核、软件管理的核、适于执行本地指令集体系结构(ISA)的核、适于执行翻译的指令集体系结构(ISA)的核、协同设计的核或其它已知的核)中单独地选择核101和102。在不同种类的核环境(即不对称的核)中,某种形式的翻译(诸如二进制译码)可以被利用来在一个或两个核上调度或执行代码。但是为了帮助讨论,在下面进一步详细地描述核101中说明的功能单元,同时核102中的单元在所描绘的实施例中以类似的方式进行操作。
正如所描绘的,核101包括两个硬件线程101a和101b,所述两个硬件线程还可以被称为硬件线程槽101a和101b。因此,软件实体(诸如操作系统)在一个实施例中潜在地把处理器100视为四个分开的处理器,即能够同时执行四个软件线程的四个逻辑处理器或处理元件。正如上面所提到的,第一线程与体系结构状态寄存器101a相关联,第二线程与体系结构状态寄存器101b相关联,第三线程可与体系结构状态寄存器102a相关联,并且第四线程可与体系结构状态寄存器102b相关联。在这里,如上所述的,所述体系结构状态寄存器(101a、101b、102a和102b)中的每个体系结构状态寄存器可以被称为处理元件、线程槽或者线程单元。正如所说明的,在体系结构状态寄存器101b中复制体系结构状态寄存器101a,所以能够为逻辑处理器101a和逻辑处理器101b存储单独的体系结构状态/上下文。在核101中,也可以为线程101a和101b复制其它更小的资源,诸如分配器和重命名器块130中的指令指针和重命名逻辑。可以通过划分来共享某些资源,诸如重排序/收回(retirement)单元135中的重排序缓冲器、ILTB 120、装入/存储缓冲器、以及队列。潜在地充分共享其它资源,诸如通用内部寄存器、一个或多个页表基址寄存器、低层数据高速缓冲存储器和数据TLB115、一个或多个执行单元140、以及乱序单元135的若干部分。
处理器100常常包括其它资源,所述其它资源可以被充分共享,通过划分被共享或者被处理元件专用/专用于处理元件。在图1中,说明了具有处理器的说明性的逻辑单元/资源的纯粹示范的处理器的实施例。注意,处理器可以包括或省略这些功能单元中的任何功能单元,以及包括未被描绘的任何其它已知的功能单元、逻辑或固件。正如所说明的,核101包括简化的、有代表性的乱序(OOO)处理器核。但是,在不同的实施例中可以利用按序处理器。所述OOO核包括分支目标缓冲器120以预测将要被执行/采用的分支,并且包括指令翻译缓冲器(I-TLB)120以存储指令的地址翻译条目。
核101进一步包括耦合至取回单元120以解码取回的元素的解码模块125。取回逻辑在一个实施例中包括分别与线程槽101a、101b相关联的单独的定序器。通常,核101与第一ISA相关联,所述第一ISA定义/指定能够在处理器100上执行的指令。常常,是第一ISA的一部分的机器代码指令包括指令的一部分(被称为操作码),所述指令的一部分引用/指定将要被执行的指令或操作。解码逻辑125包括根据它们的操作码辨别这些指令并且将解码的指令在流水线中传递以用于如由第一ISA定义的那样处理的电路。例如,正如下面更详细地讨论的,解码器125在一个实施例中包括被设计为或者适于辨别特定指令(诸如事务指令)的逻辑。作为通过解码器125辨别的结果,体系结构或核101采取特定的、预定义的动作以执行与适当的指令相关联的任务。重要的是要注意可以响应于单个或多个指令来执行本文所描述的任何的任务、块、操作和方法;所述指令中的某些可以是新的或者旧的指令。注意,解码器126在一个实施例中辨别相同的ISA(或其子集)。备选地,在不同种类的核环境中,解码器126辨别第二ISA(或者是第一ISA的子集或者是截然不同的ISA)。
在一个示例中,分配器和重命名器块130包括分配器以预留资源,诸如寄存器文件以存储指令处理结果。然而,线程101a和101b潜在地能够乱序执行,其中分配器和重命名器块130还预留其它资源,诸如重排序缓冲器以追踪指令结果。单元130还可以包括寄存器重命名器以将程序/指令引用寄存器重命名为处理器100内部的其它寄存器。重排序/收回单元135包括部件(诸如上面提到的重排序缓冲器、装入缓冲器和存储缓冲器)以支持乱序执行以及后面的以乱序执行的指令的按序收回。
调度器和一个或多个执行单元的块140在一个实施例中包括调度器单元以在执行单元上调度指令/操作。例如,在具有可用的浮点执行单元的执行单元的端口上调度浮点指令。还包括与所述执行单元相关联的寄存器文件以存储信息指令处理结果。示范的执行单元包括浮点执行单元、整数执行单元、跳转执行单元、装入执行单元、存储执行单元和其它已知的执行单元。
低层数据高速缓冲存储器和数据翻译缓冲器(D-TLB)150耦合至一个或多个执行单元140。数据高速缓冲存储器将要存储最近使用的/操作的元素,诸如数据操作数,所述元素潜在地被保持在存储器相干状态。D-TLB将要存储对物理地址翻译的最近的虚拟/线性。作为特定的示例,处理器可以包括页表结构以将物理存储器分为多个虚拟页。
在这里,核101和102共享对高层或更外面的(further-out)高速缓冲存储器的访问,诸如与片上接口110相关联的第二层高速缓冲存储器。注意,高层或更外面的指增加或得到离一个或多个执行单元更远的路途的高速缓冲存储器层。在一个实施例中,高层高速缓冲存储器是最后层数据高速缓冲存储器-处理器100上的存储器分层结构中的最后高速缓冲存储器-诸如第二或第三层数据高速缓冲存储器。然而,不会如此限制高层高速缓冲存储器,因为它可以与指令高速缓冲存储器相关联或者包括指令高速缓冲存储器。追踪高速缓冲存储器-一种类型的指令高速缓冲存储器-相反可以在解码器125之后被耦合以存储最近解码的追踪文件。在这里,指令潜在地指宏指令(即由解码器辨别的通用指令),所述宏指令可以解码成多个微指令(微操作)。
在所描绘的配置中,处理器100还包括片上接口模块110。在历史上,下面更详细地描述的存储器控制器已经被包括在处理器100外部的计算系统中。在这种情况下,片上接口11将要与处理器100外部的装置(诸如系统存储器175、芯片集(常常包括连接到存储器175的存储器控制器集线器和连接外围装置的I/O控制器集线器)、存储器控制器集线器、北桥或者其它集成电路)通信。并且在这种情况下,总线105可以包括任何已知的互连,诸如多点总线、点对点互连、串行互连、平行总线、相干(例如高速缓冲存储器相干)总线、分层协议体系结构、差分总线和GTL总线。
存储器175可以专用于处理器100或者与系统中的其它装置共享。存储器175的类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)和其它已知的存储装置。注意,装置180可以包括图形加速器、耦合至存储器控制器集线器的处理器或卡、耦合至I/O控制器集线器的数据存储设备、无线收发器、闪速装置、音频控制器、网络控制器或其它已知的装置。
然而,最近,随着更多的逻辑和装置正在被集成在单个管芯(诸如SOC)上,这些装置中的每个装置可以在处理器100上被合并。例如,在一个实施例中,存储器控制器集线器与处理器100在相同的封装和/或管芯上。在这里,核的一部分(核上部分)110包括用于与其它装置(诸如存储器175或图形装置180)接口的一个或多个控制器。包括用于与这样的装置接口的控制器和互连的配置常常被称为核上(或核外配置)。作为示例,片上接口110包括用于片上通信的环形互连和用于片外通信的高速串行点对点链路105。但是,在SOC环境中,甚至更多的装置(诸如网络接口、协处理器、存储器175、图形处理器180以及任何其它已知的计算机装置/接口)可以被集成在单个管芯或者集成电路上以在高功能性和低功耗的情况下提供小的形状因子(form factor)。
在一个实施例中,处理器100能够执行编译器、优化和/或翻译器代码177以编译、翻译和/或优化应用代码176从而支持本文所描述的设备和方法或者与其接口。编译器常常包括程序或程序的集合以将源文本/代码翻译成目标文本/代码。通常,利用编译器的程序/应用代码的编译是在多个阶段和多遍中完成的以将高级编程语言代码转换成低级机器或汇编语言代码。但是,单遍编译器仍然可以被用于简单编译。编译器可以利用任何已知的编译技术并且执行任何已知的编译器操作,诸如词汇分析、预处理、解析、语义分析、代码生成、代码转换和代码优化。
更大的编译器常常包括多个阶段,但是最经常地,这些阶段被包括在两个一般的阶段内:(1)前端,即通常其中语法处理、语义处理和某些转换/优化可发生,以及(2)后端,即通常其中分析、转换、优化和代码生成发生。某些编译器指中间,其说明编译器的前端和后端之间的模糊描述。结果,提及编译器的插入、关联、生成或其它操作可以在前述的多个阶段或多遍中的任何一个中以及在编译器的任何其它已知的多个阶段或多遍中发生。作为说明性的示例,编译器潜在地将操作、调用、函数等插入编译的一个或多个阶段,诸如将调用/操作插入编译的前端阶段并且接着在转换阶段期间将调用/操作转换成低层代码。注意,在动态编译期间,编译器代码或者动态优化代码可以插入这样的操作/调用以及在运行时间期间优化用于执行的代码。作为特定的说明性的示例,可以在运行时间期间动态优化二进制代码(已经被编译的代码)。在这里,程序代码可以包括动态优化代码、二进制代码或其组合。
与编译器类似,翻译器(诸如二进制翻译器)或者静态地或者动态地翻译代码以优化和/或翻译代码。因此,提及代码、应用代码、程序代码或其它软件环境的执行可以指:(1)一个或多个编译器程序、优化代码优化器、或者翻译器的或动态或静态的执行,以编译程序代码、维持软件结构、执行其它操作、优化代码或者翻译代码;(2)包括操作/调用的主程序代码(诸如已经被优化/编译的应用代码)的执行;(3)与主程序代码相关联的其它程序代码(诸如库)的执行,以维持软件结构、执行其它软件相关的操作或者优化代码;或者(4)其组合。
图2说明了根据某些实施例的包括NoC系统的处理器200的框图,所述NoC系统包括多个路由器204。处理器200可以包括任何处理器或处理装置(诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、SoC或执行代码的其它装置)。在特定的实施例中,在单个管芯上实现处理器200。
在所描绘的实施例中,处理器200包括布置在网格网络中并且利用双向链路互相耦合的多个网络元件202。然而,根据本公开的各种实施例的NoC可以应用于任何合适的网络拓扑(例如,分层网络或者环形网络)、大小、总线宽度和过程。每个网络元件202包括路由器204。路由器204可以在网络(诸如分组交换网络和/或电路交换网络)中以通信方式被相互链接,因此使能被连接到路由器的NoC的部件(诸如核、存储元件或者其它逻辑块)之间的通信。在所描绘的实施例中,每个路由器204可以以通信方式耦合至它自己的核208(或其它逻辑块)。正如本文中所使用的,提及核还可适用于其中使用不同的逻辑块来代替核的其它实施例。例如,各种逻辑块可以包括硬件加速器(例如,图形加速器、多媒体加速器或者视频编码/解码加速器)、I/O块、存储器控制器或者其它合适的固定功能逻辑。处理器200可以包括可以是对称的或者不对称的任何数量的处理元件。例如,处理器200的核208可以包括不对称的核或对称的核。处理器200可以包括逻辑以作为分组交换网络和电路交换网络中的一者或两者来进行操作,从而提供管芯内通信。
在特定的实施例中,可以使用分组交换网络的资源在不同的路由器204之间传递分组。也就是,分组交换网络可以提供路由器(以及它们的相关联的核)之间的通信。分组可以包括控制部分和数据部分。控制部分可以包括分组的目的地地址,并且数据部分可以包含将要在管芯100上被传递的特定数据。例如,控制部分可以包括与管芯的核或网络元件当中的一个相对应的目的地地址。分组交换网络可以包括缓冲,因为不保证从源到目的地的专用路径并且因此如果两个或多于两个分组需要横穿相同的链路或互连的话,分组可能需要被暂时停止。作为示例,当分组从源行进到目的地时,可以在相应的路由器的每个路由器处缓冲(例如通过触发器)分组。可以由路由器204接收、传输并且处理分组。分组交换网络可以使用邻近路由器之间的点对点通信。可以基于分组时钟(诸如4 GHz时钟)在路由器之间传送分组的控制部分。可以基于类似的时钟(诸如4 GHz时钟)在路由器之间传送分组的数据部分。
在实施例中,处理器200的路由器可以在两个网络中以不同的方式被提供或者可以在两个网络中通信,诸如分组交换网络和电路交换网络。这样的通信方法可以称为混合分组/电路交换网络。在这样的实施例中,可以使用分组交换网络和电路交换网络的资源在不同的路由器204之间以不同的方式传递分组。为了传输单个数据分组,电路交换网络可以分配整个路径,而分组交换网络可以只分配单个段(或互连)。在某些实施例中,可以利用分组交换网络来预留电路交换网络的资源以用于路由器204之间的数据的传输。
路由器204可以包括多个端口集合以便以不同的方式耦合至毗连的网络元件202并且与毗连的网络元件202通信。例如,电路交换和分组交换信号可以通过这些端口集合被传递。可以例如根据毗连的网络元件的方向和/或与这样的元件的业务交换的方向来在逻辑上划分路由器204的端口集合。例如,路由器204可以包括具有被配置为(分别)从位于相对于路由器204的“北”方向上的网络元件202接收通信和将通信发送到位于相对于路由器204的“北”方向上的网络元件202的输入(“IN”)和输出(“OUT”)端口的北端口集合。另外或备选地,路由器204可以包括类似的端口集合以与位于南边、西边、东边或者其它方向的网络元件接口。在所描绘的实施例中,路由器204被配置用于X第一、Y第二路由选择,其中数据首先在东/西方向上移动并且接着在北/南方向上移动。在其它实施例中,可以使用任何合适的路由选择方案。
在各种实施例中,路由器204进一步包括另一个端口集合,所述另一个端口集合包括被配置为(分别)从网络的另一个代理接收通信和向网络的另一个代理发送通信的输入端口和输出端口。在所描绘的实施例中,这个端口集合被示出在路由器204的中心处。在一个实施例中,这些端口用于与和路由器204相邻的、和路由器204通信的或者以其它方式和路由器204相关联的逻辑(诸如“本地”核208的处理器逻辑)通信。在本文中,这个端口集合将被称为“核端口集合”,尽管在某些实现中它可以与除核之外的逻辑接口。在另一个实施例中,这个端口集合用于与处于比路由器204更高的网络分层结构的下一层的网络元件通信。在一个实施例中,东向链路和西向链路处于一个金属层上,南向链路和北向链路处于第二金属层上,并且核链路处于第三金属层上。在实施例中,路由器204包括纵横交换和仲裁逻辑以提供端口间通信的路径,诸如在图2中示出的那个。每个网络元件中的逻辑(诸如核208)可以具有唯一的时钟和/或电压或者可以与NoC的一个或多个其它部件共享时钟和/或电压。
在某些混合分组/电路交换网络实现中,基于到达时间利用优先级对电路交换信道请求排队,并且只有每个路由器处的最高优先级请求控制电路交换信道。这样的实现可导致电路交换布线资源的利用不足,因为当信道被建立或者被顶端优先级请求阻塞时,NoC中的更短的或者通过不那么拥挤的区域的其它排队的请求可能已经被完成了。(将在下面更详细地描述的)本公开的各种实施例包括空间划分的混合分组/电路交换NoC,所述空间划分的混合分组/电路交换NoC通过将电路交换布线资源分成多个更小的信道来使能增加的灵活性以用于更优化的数据路由选择和更高的吞吐量。信道预留未被放置在请求队列中,而是被放置在信道预留库中,其中库的每个隙缝独立控制电路交换信道的更小的宽度。当使用共享的分组交换请求来在分开的网络中建立信道时,类似的电路技术还可以被用来使用更多的布线资源合并多个电路交换网络。
图3说明了根据某些实施例的源同步混合分组/电路交换NoC的路由器的分组交换部分的示例IN和OUT端口。所描绘的实施例采用具有五个端口集合(每个端口集合在逻辑上被再分成IN端口和OUT端口)的路由器,尽管在其它实施例中可以使用任何数量的端口集合。块302代表IN端口的分组交换部分并且块306代表OUT端口的分组交换部分。
请求分组可以通过块302进入IN端口。在混合源同步NoC实现中,请求分组建立位于网络元件202处的源逻辑和位于不同的网络元件处的目的地逻辑之间的电路交换信道。为了开始数据传送,源逻辑向目的地逻辑发送预留分组。这个预留分组可以经由NoC的分组交换部分被传递并且在预留分组从源行进到目的地时可以为源逻辑和目的地逻辑之间的电路交换数据通信预留资源。
预留分组可以包括有助于电路交换信道的预留的任何合适的信息。作为示例,预留分组可以包括地址310(即与目的地相关联的地址)和可选的边频带分组数据312。当资源可用时,基于地址310向下游转发分组。例如,基于确定性的路由选择方法(例如X第一,Y第二路由选择或查表法)或者由给定路由器中的方向解码器320执行的其它路由选择协议,沿着从源逻辑到目的地逻辑的路径转发预留分组。在实施例中,唯一的地址可以与每个核208或者其它逻辑块(以及因此在其中在核和路由器之间存在有1:1映射的情况下的路由器204)相关联。依次,这个本地地址可以被用来生成每个路由器本地的方向信息以识别路由器的适当端口以用于发送信息。因此,地址310可以与路由器204的本地地址一起使用以确定哪个方向用来转发传入分组。电路启动信号318被用来确定传入分组是否正在预留电路交换路径。如果电路启动信号318没有被断言,则没有建立电路交换路径并且分组只携带边频带分组数据312。
路由器204可以使用信用系统来允许多个请求在第一请求被服务之前将要从一个端口被发送。作为示例,OUT端口可以按照信用-2分组系统进行操作,其中从OUT端口所发送的请求的数量可以超出所接收的准许的数量两个,而IN端口可以按照信用-1分组系统进行操作,其中IN端口可以不发送附加请求直到接收到准许为止。然而,可以在任一端口处使用任何合适的信用系统。端口可以包括信用追踪逻辑以生成请求信号314(每个请求信号与预留分组相对应)和准许信号331并且追踪已经被准许的请求的数量。在各种实施例中,请求和准许被转换编码。在IN端口处,请求可以被转变为电平敏感信号、可以使用地址310而被解复用并且可以被发送到正确的OUT端口。如果资源不可用,传入分组可以被阻止。如果资源可用于服务分组,锁存器316接收地址310、分组数据312以及电路启动信号318。接着将这些信号提供给每个OUT端口(除自此它们被接收的端口集合的OUT端口之外)。当资源可用时,正确的OUT端口将处理分组。
当给定的输入端口是打开的时,传入地址310、分组数据312和电路启动信号318被传递通过锁存器310到达适当的OUT端口的多路复用器322。多路复用器322可以从路由器204的对方输入端口接收相似的信号。请求仲裁器324从自IN端口接收的请求中选择请求来提供服务。当由请求仲裁器324选择来自IN端口的请求时,请求仲裁器324的输出可以驱动OUT端口中的信用追踪逻辑以输出将要被发送到适当的IN端口的准许信号331。请求仲裁器324的输出也被使用来选择然后被耦合至双边缘触发的触发器326的多路复用器322的输出。
图4A至图4C说明了根据某些实施例的示例电路交换信道预留技术。图4A说明了预留技术,其中基于到达时间利用优先级对电路交换信道请求排队并且只有每个路由器处的最高优先级请求控制电路交换信道。图4B和图4C说明了预留技术,其中信道预留未被放置在请求队列中而是被放置在各自独立控制电路交换信道的截然不同的部分的信道预留隙缝中(换句话说,每个信道预留隙缝控制比图4A的电路交换信道更小的截然不同的电路交换信道)。图5A至图5C说明了根据某些实施例的源同步混合分组/电路交换NoC的路由器的电路交换部分的示例IN和OUT端口。这些实施例各自采用具有五个端口集合的路由器,尽管可以使用任何合适数量的端口集合。图5A与图4A中示出的技术一致,图5B与图4B中示出的技术一致,并且图5C与图4C中示出的技术一致。将依次描述每种技术及其对应的示例端口。
图4A描绘了电路交换信道预留技术,其中由优先级FIFO 404和408的最高优先级隙缝来控制单个电路交换信道。在所描绘的实施例中,所示出的特定预留请求在路由器204A的IN端口处被接收并且被发送到适当的OUT端口(在这种情况下是东OUT端口)。它们接着被发送到路由器204B的IN端口和路由器204B的适当的OUT端口。与每个预留请求相关联的路径信息被存储在优先级FIFO 404和408中,因为当预留在NoC中从源行进到目的地时它遍历了路由器204A和204B。如果预留在从源逻辑到目的地逻辑的路径上不具有最高优先级(即不在每个相关联的优先级FIFO的最高优先级隙缝中),预留被延迟直到它是最高优先级为止。
在所描绘的实施例中,为了说明的目的,用数字1、2、和3来表示预留,尽管在特定实施例中,优先级FIFO 404和408可以包括任何合适的信息,诸如与请求相关联的方向。在实施例中,如果电路启动信号318被断言,将来自方向解码器320的输出的方向信息(例如两比特用以识别四个方向中的一个方向)存储在优先级FIFO 404的隙缝中。因此,在IN端口的优先级FIFO 404中,存储在FIFO隙缝中的方向可以指示与预留相关联的OUT端口。在实施例中,如果电路启动信号318被断言,将来自请求仲裁器324的输出的方向信息(例如两比特用以识别四个方向中的一个方向)存储在优先级FIFO 408的隙缝中。因此,在OUT端口的优先级FIFO 408中,存储在FIFO隙缝中的方向可以指示与预留相关联的IN端口。
跨FIFO 404和408的最高总优先级FIFO隙缝控制各种去复用器412和多路复用器416以便为电路交换控制信号和数据建立路径。在图4A至图4C中,靠近每个图的底部示出的去复用器412和多路复用器416可以与处理被用来实现电路交换信道的各种信号的一个或多个实际的去复用器和多路复用器(或类似的逻辑)相对应,并且因此可以被视为实际的电路实现的抽象概念。例如,在电路交换通信期间,存储在优先级FIFO 404A中的最高优先级方向被使用来控制去复用器336和344(现在参见图5A)以传递控制信号,而存储在优先级FIFO 408A中的最高优先级方向被使用来控制多路复用器352以传递电路交换数据信号并且控制翻转触发器338和346以传递控制信号(双边缘触发器354和356也可以有效地起到去复用器的作用)。
经由路由器204A和204B分组交换部分发送的预留分组被用来使用路由器的电路交换部分304和308建立电路交换信道。电路数据350从IN端口被传播到每个OUT端口并且经由多路复用器352(其可以是多路复用器锁存器或者其它合适的逻辑)被选择。锁存器可以被用于电路数据以防止数据链路上不必要的假信号脉冲。在实施例中,锁存器在电路传送期间保持打开并且每流只切换一次以用于比分组交换显著更低的时钟功率。
经由控制信号尾328、流330、和确认332(“ack”)来控制用于电路交换通信的各种元件。在实施例中,实现两者都指定数据传送的两个前向控制信号(流330和尾328)。流信号330指示其中有更多数据跟随(作为附加段)的电路数据的传递并且因此对于(一个或多个段的)完整的电路数据传送使电路信道保持打开,以及尾信号328指示电路数据传送的末端。在相反方向上,将反向控制信号ack 332从目的地发送到源以用于电路数据传送的每个段。将尾信号提供给XOR门334、去复用器336以及因此OUT端口的翻转触发器338和XOR门340。(经由异或门342)提供流信号330,并且通过去复用器334(用于流信号)以及给OUT端口的翻转触发器346和XOR门348。可以使用ack信号332来通过双边缘触发器354和XOR门358产生尾ack信号并且通过双边缘触发器356和XOR门360产生流ack信号。这些ack信号通过XOR门362被转变回为单个ack信号。当信道保持打开时,可以流式传输电路数据以发送多个数据段(例如每个128b的数据),其中每个段具有它自己的ack信号332。这在大得多的数据传送上摊销了电路交换仲裁开销。当数据流式传输完成时,最终确认信号332通过增加沿着路径的所有优先级FIFO中的优先级来解除分配信道。这从FIFO移除完成的最高优先级预留,允许后续的电路交换传送发生。因此,在图4A和图5A描绘的实施例中,由每个端口实现仅仅单个电路交换信道。因此,图4A的预留2和3在被允许传送数据之前必须等待直到预留1完成为止。只对FIFO中的顶端优先级请求准许访问电路交换信道(完成的或未完成的)的整个宽度可导致利用不足,因为当信道被建立或者被顶端优先级请求阻塞时,NoC中的更短的或者通过不那么拥挤的区域的其它排队的请求可能已经被完成了。
图4B和图5B说明了其中电路交换信道宽度被划分以通过每个预留隙缝中的相应请求来使能独立控制的实施例。代替优先级FIFO,路由器204C和204D包括通道预留隙缝库420和424。隙缝库可以保持任何合适数量的隙缝以用于信道预留。在所描绘的实施例中,隙缝库可以保持四个预留的数据。隙缝库420和424可以保持与上面关于优先级FIFO描述的类似的方向数据。库420或424的不同隙缝控制不同的电路交换信道。例如,在所描绘的实施例中,预留1、2和3各自处在不同的隙缝中并且每个控制截然不同的电路交换信道。通过信道预留隙缝的独立控制使能多个同时的电路交换信道建立和通过每一个路由器的每个端口的数据传送。
在所描绘的实施例中,每个预留请求的预留隙缝位置被限制为是一致的。也就是,如果来自预留1的方向信息占据库404A的最后隙缝,那么来自预留1的其它方向信息也应当占据处于从源到目的地的路径中的端口的其它库404和408的最后隙缝。在这样的实施例中,可以包括额外的线(例如四个隙缝库的两条额外的线)以传输固定的隙缝号连同分组交换网络中的请求。在这样的实施例中,当请求的隙缝被占据时,请求分组可被阻止。这样的实施例可以利用更小的且更少的总的多路复用器或者其它逻辑并且避免了当预留被允许以将数据存储在不同的隙缝位置时可以被利用的隙缝映射存储。
参见图5B,IN端口包括携带尾信号504的四个不同的线路和携带流信号506的四个不同的线路,其中每个线路专用于可以通过IN端口来建立的四个电路交换信道中的一个电路交换信道。尾信号504(连同相应的ack信号)通过XOR门512和去复用器516(其被IN端口的各种信道预留隙缝控制)并且所得到的信号耦合至除包括所述IN端口的端口集合的OUT端口之外的每个OUT端口(即每个OUT端口接收四个信号,其中所述信号中的每个信号与不同的电路交换信道相对应)。类似地,流信号506(连同相应的ack信号)通过XOR门514和去复用器518(其被IN端口的各种信道预留隙缝控制)并且耦合至每个OUT端口。在OUT端口处,四个尾信号的集合和四个流信号的集合从每个端口被接收并且被分别传递到被OUT端口的各种信道预留隙缝控制的翻转触发器554和556。所得到的信号分别通过XOR门560和562并且被OUT端口发送到目的地。
在OUT端口中,四个不同的线路携带ack信号568,其中每个线路专用于可以通过OUT端口来建立的四个电路交换信道中的一个电路交换信道。ack信号568通过双边缘触发器564和566(其分别被尾信号和流信号控制)并且接着耦合回至输入端口(每个输入端口从每个输出端口接收四个尾ack信号和四个流ack信号,这些信号中的每个信号对应于可以在IN端口和相应的OUT端口之间形成的可能的电路交换信道)。在所得到的ack信号被发送回到源之前,从各种输出端口接收的ack信号通过XOR门520、522和510回到IN端口处。
通过IN端口接收32比特电路数据508的四个不同的集合并且这些数据线路中的每个数据线路耦合至每一个OUT端口(除包括所述IN端口的端口集合的OUT端口之外)。每个OUT端口从每个IN端口接收32比特的电路数据的四个集合(来自每个IN端口的总共128比特)。使这个数据通过多路复用器558的集合。每个多路复用器558使用来自隙缝库424的信道预留隙缝的方向信息来从它的输入数据中选择。多路复用器的输出是各自32比特的四个集合,每个集合代表截然不同的电路交换信道。
图4C和图5C说明了其中电路交换信道宽度被划分以通过每个预留隙缝中相应的请求来使能独立控制的附加实施例。与图4B和图5B中示出的实施例不同,这些实施例考虑来自预留的信息以占据信道预留库436和440中的不同隙缝位置。
路由器204E和204F包括信道预留隙缝库436和440,其可以具有上面关于库420和424所描述的任何合适的特性。库436或440的不同隙缝控制不同的电路交换信道。例如,在所描绘的实施例中,预留1、2和3各自处于库436A的不同隙缝中并且每个控制截然不同的电路交换信道。通过信道预留隙缝的独立控制使能多个同时的电路交换信道建立和通过每一个路由器的每个端口的数据传送。
在所描绘的实施例中,每个预留请求的预留隙缝位置不需要是一致的。例如,尽管对于隙缝库436A、440A和436B中的预留1、2和3,隙缝是一致的,但是隙缝库440B具有隙缝(最后隙缝)中的来自预留2的信息,所述隙缝并未处在与来自预留2的其它信息相同的隙缝位置,所述来自预留2的其它信息被存储在其它库中的倒数第二个隙缝中。因此,在输入端口中的预留隙缝上进入路由器的电路交换请求可以在输出端口处的任何空闲隙缝上离开路由器以使能隙缝和NoC布线资源的最大化利用。在这样的实施例中,请求的隙缝位置不需要与每个预留分组一起被转发。相反,除了存储方向信息以用于预留请求,OUT端口的隙缝库440还可以存储每个隙缝和IN端口隙缝库436中的相关联的隙缝之间的映射(在某些实施例中,映射被表示为IN端口处相应隙缝的隙缝号)。这个映射可以被使用来控制OUT端口中的选择逻辑,正如下面将要描述的那样。在其中隙缝位置不需要是一致的实施例中,当相应的隙缝库中的每个隙缝是充满的时,请求分组可被阻止。
参见图5C,可以以与图5B中所描绘的IN端口502类似的方式来实现IN端口602。OUT端口可以包括附加逻辑以解决非一致隙缝位置。在OUT端口处,四个尾信号的集合和四个流信号的集合从每个IN端口被接收并且被传递到十六个4:1多路复用器674和676的相应集合。多路复用器674和676各自接收OUT预留隙缝和相应的IN预留隙缝之间的隙缝映射的指示并且重新布置(如果需要的话)尾信号和流信号以确保与相同预留相关联的信号之间的对准。将多路复用器的输出传递到由OUT端口的各种信道预留隙缝的方向信息控制的翻转触发器654和656的集合。所得到的信号分别通过XOR门660和662并且通过OUT端口被发送到目的地。
OUT端口还包括携带ack信号668的四个不同的线路,其中每个线路专用于可以通过OUT端口建立的四个电路交换信道中的一个电路交换信道。ack信号668通过双边缘触发器664和666(其分别由尾信号和流信号控制)以及4:1多路复用器670和672(其各自包括十六个多路复用器)。多路复用器670和672各自接收OUT预留隙缝和IN预留隙缝之间的隙缝映射的指示并且重新布置(如果需要的话)ack信号以确保与相同预留相关联的信号之间的对准。ack信号接着耦合回到IN端口(每个IN端口从每个输出端口接收四个尾ack信号和四个流ack信号,这些信号中的每个信号对应于可以在IN端口和相应的OUT端口之间形成的可能的电路交换信道)。在所得到的ack信号被发送回到源之前,从各种输出端口接收的ack信号通过XOR门620、622和610回到IN端口处。
通过IN端口接收32比特电路数据608的四个不同的集合并且这些数据线路中的每个数据线路耦合至每一个OUT端口。每个OUT端口从除包括所述OUT端口的端口集合的IN端口之外的每个IN端口接收32比特的电路数据的四个集合(来自每个IN端口的总共128比特)。使这个数据通过16:1多路复用器658的集合。多路复用器658不但基于输入端口方向而且基于OUT端口预留隙缝和相应的IN端口预留隙缝之间的映射来各自选择数据,并且因此使用16:1多路复用器的集合,而不是其中隙缝位置保持一致的前述的实施例中使用的4:1多路复用器。多路复用器的输出是各自32比特的四个集合,每个集合代表截然不同的电路交换信道。
上面的各种实施例说明了可以被用来在源同步NoC的上下文中经由单个信道预留队列启用多个混合分组/电路交换数据传输信道的实施例。在源同步NoC中,连同数据一起被转发的控制信号变换(例如流信号和尾信号)充当时钟信号,因此消除了对于完全同步时钟的需要。这个技术通过去除对于每个路由器处同步FIFO的需要而便于多时钟设计(其中与不同路由器相关联的核可以在不同频率下操作)。然而,所说明的实施例可以容易地适于与具有显式时钟和电平敏感控制信号的完全同步NoC一起工作。同步分组交换NoC可以包括基于全局时钟而与它们的邻居通信的路由器。因此,同步NoC中的所有路由器在相同频率下操作。在各种同步实现中,不需要显式信用追踪电路,因为触发器和锁存器的放置连同存储元件的基于请求和准许的时钟门控一起可以取得相同的结果。用于电路交换网络的时钟可以源自用于分组交换网络的时钟并且可以是分组交换网络的时钟的倍数以解决最坏情况的电路交换信道建立。
图6说明了用于使用一致的信道预留隙缝经由多个电路交换信道进行通信的示例方法700。可以由路由器的端口执行方法700的步骤。在步骤702,接收预留请求。这些预留请求可以各自包括经由NoC的分组交换部分被传递的预留分组。每个预留分组可以包括目的地逻辑的地址(和可选的分组数据)。预留请求还可以包括预留隙缝位置的指示。在步骤704,针对所接收的每个预留请求,检查隙缝库以确定在预留请求中被识别的隙缝位置是否可用。如果所识别的隙缝位置是不可用的,在步骤708,阻止预留请求。如果所识别的隙缝位置是可用的,在步骤712,将与请求相关联的方向信息存储在所识别的隙缝位置。例如,如果端口是IN端口,方向信息可以识别预留应当通过的(与所述IN端口相同的路由器的)OUT端口。作为另一个示例,如果端口是OUT端口,方向信息可以识别预留应当通过的(与所述OUT端口相同的路由器的)IN端口。
在步骤716,预留隙缝被用来建立多个电路交换信道。作为示例,每个预留隙缝可以被用来建立截然不同的电路交换信道。电路交换信道可以具有不同的源和/或目的地。电路交换信道不必被同时建立,但是信道可以是活动的,同时通过相同端口的一个或多个其它信道是活动的。为了建立电路交换信道,可以发送适当的控制信号(例如存储在预留隙缝中的方向信息)以控制沿着从源逻辑到目的地逻辑的路径的每个路由器处的去复用器(例如以传递握手信号)和多路复用器(例如以传递电路数据)。电路交换信道建立之后,在步骤720,相应的源逻辑和目的地逻辑之间的数据通信在那些电路交换信道上发生。两个或多于两个的不同电路交换信道中的传送可以同时发生。每个传送可以包括一个或多个数据段,所述数据段的大小由数据总线来设置。在具有电路流式传输的实施例中,在关闭信道之前,可以在每个中从相应的源逻辑到目的地逻辑传递多个段。如上面所解释的,在一个实施例中,使用具有在从核到对方端口的专用信道上被发送的前向(流、尾)和反向(ack)的握手信号的两阶段握手来执行通信。对于每个电路交换信道,当接收到最后的ack信号时,关闭电路交换信道。
可以在适当的地方组合、修改或者删除图6中所说明的步骤中的一些步骤,并且也可以将附加的步骤添加到流程图。另外,可以以任何合适的顺序来执行步骤而不会背离特定实施例的范围。
图7说明了用于使用非一致的信道预留隙缝经由多个电路交换信道进行通信的示例方法750。可以由路由器的端口来执行方法750的步骤。在步骤752,接收预留请求。在步骤754,针对所接收的每个预留请求,检查隙缝库以确定是否有任何隙缝位置是可用的以存储与预留请求相关联的信息。如果没有隙缝位置是可用的,在步骤758,阻止预留请求。如果隙缝位置是可用的,在步骤762,存储与请求以及(如果端口是OUT端口)隙缝位置和(相同路由器的)IN端口处的相应的隙缝位置之间的映射相关联的方向信息。在步骤766,预留隙缝被用来建立多个电路交换信道。如果端口是OUT端口,特定隙缝中的隙缝映射信息和方向信息两者可被用来控制逻辑以为电路交换信道选择适当的信号。每个预留隙缝可被用来建立截然不同的电路交换信道。电路交换信道建立之后,在步骤770,相应的源逻辑和目的地逻辑之间的数据通信在那些电路交换信道上发生。
可以以与关于图6所描述的相应步骤类似的方式来执行图7中所说明的步骤中的任何步骤。可以在适当的地方组合、修改或者删除图7中所说明的步骤中的一些步骤,并且也可以将附加的步骤添加到流程图。另外,可以以任何合适的顺序来执行步骤而不会背离特定实施例的范围。
图8说明了根据一个实施例的示例计算系统的框图的另一个实施例。在该图中,描绘了根据本公开的片上系统(SOC)设计的实施例。作为特定的说明性示例,SOC 800被包括在用户设备(UE)中。在一个实施例中,UE指将要被终端用户使用来进行通信的任何装置,诸如手持电话、智能手机、平板电脑、超薄笔记本电脑、具有宽带适配器的笔记本电脑、或者任何其它类似的通信装置。UE常常连接到基站或节点,其潜在地实际上对应于GSM网络中的移动台(MS)。
在这里,SOC 800包括两个核-806和807。与上面的讨论类似,核806和807可以遵照指令集体系结构,诸如基于Intel® Architecture CoreTM的处理器、Advanced MicroDevices有限公司(AMD)处理器,基于MIPS的处理器、基于ARM的处理器设计、或者其客户、以及它们的许可证持有者或采纳者。核806和807耦合至高速缓冲存储器控制808,所述高速缓冲存储器控制808与总线接口单元809和L2高速缓冲存储器810相关联以与系统800的其它部分通信。互连810包括片上互连,诸如IOSF、AMBA或者上面讨论的其它互连,其潜在地实现所描述的公开的一个或多个方面。
接口810将通信信道提供给其它部件,诸如与SIM卡接口的订户身份模块(SIM)830、保持引导代码以用于由核806和807执行从而初始化并且引导SOC 800的引导只读存储器835、与外部存储器(例如DRAM 860)接口的SDRAM控制器840、与非易失性存储器(例如闪存865)接口的闪存控制器845、与外围设备接口的外围控制Q1650(例如串行外围接口)、显示和接收输入(触摸启动的输入)的视频编解码器820和视频接口825、执行图形相关的计算的GPU 815等等。这些接口中的任何接口可以结合本文所描述的公开的若干方面。
另外,系统说明了用于通信的外围设备,诸如蓝牙模块870、3G调制解调器875、GPS885和WiFi 885。注意,如上面所陈述的,UE包括无线电以用于通信。结果,这些外围通信模块并不是全部都需要。然而,在UE某种形式中,将要包括用于外部通信的无线电。
设计可以经历各种阶段,从创建到模拟到制造。表示设计的数据可以以多种方式来表示设计。首先,当在模拟中有用时,可以使用硬件描述语言(HDL)或另一种功能描述语言来表示硬件。另外,在设计过程的某些阶段可以产生具有逻辑和/或晶体管门的电路级模型。此外,大多数设计在某个阶段达到表示硬件模型中的各种装置的物理放置的数据的级别。在其中使用传统的半导体制造技术的情况下,表示硬件模型的数据可以是详细说明用于被使用来产生集成电路的掩膜的不同掩膜层上的各种特征的存在或不存在的数据。在某些实现中,可以以数据库文件格式来存储这样的数据,诸如图形数据系统II(GDS II)、开放插图系统交换标准(Open Artwork System Interchange Standard OASIS)、或类似的格式。
在某些实现中,基于软件的硬件模型、和HDL和其它功能描述语言对象可以包括寄存器传送语言(RTL)文件,连同其它示例一道。这样的对象可以是机器可解析的,使得设计工具可以接受HDL对象(或模型),为所描述的硬件的属性解析所述HDL对象,并且根据所述对象来确定物理电路和/或片上布局。设计工具的输出可以被用来制造物理装置。例如,设计工具可以根据所述HDL对象来确定各种硬件和/或固件元件的配置,诸如总线宽度、寄存器(包括大小和类型)、存储器块、物理链路路径、构造拓扑、连同将要被执行以便于实现在HDL对象中建模的系统的其它属性一道。设计工具可以包括用于确定片上系统(SoC)和其它硬件装置的拓扑和构造配置的工具。在某些实例中,可以将HDL对象用作用于开发可以被制造装备使用来制造所描述的硬件的模型和设计文件的基础。实际上,可以提供HDL对象本身作为制造系统软件的输入以促成所描述的硬件。
在设计的任何表示中,可以将数据存储在任何形式的机器可读介质中。存储器或者磁或光存储设备(诸如盘)可以是存储信息的机器可读介质,所述信息经由调制的或以其它方式生成的用来传输这样的信息的光或电波来传输。当传输指示或者携带代码或设计的电载波时,就执行电信号的复制、缓冲或者重传来说,进行新的复制。因此,通信供应商或者网络供应商可以至少暂时地在有形的机器可读介质上存储体现本公开的实施例的技术的物品,诸如被编码进载波的信息。
如本文所使用的模块指硬件、软件和/或固件的任何组合。作为示例,模块包括与非暂时性介质相关联的硬件(诸如微控制器)以存储适于由所述微控制器执行的代码。因此,在一个实施例中,提及模块指被特别配置为辨别和/或执行将要被保持在非暂时性介质上的代码的硬件。此外,在另一个实施例中,模块的使用指包括代码的非暂时性介质,所述代码特别适于被微控制器执行以执行预先确定的操作。并且正如可以推断的,在又一个实施例中,术语模块(在这个示例中)可以指微控制器和非暂时性介质的组合。常常,被说明为分开的模块边界通常会变化并且潜在地重叠。例如,第一和第二模块可以共享硬件、软件、固件或其组合,同时潜在地保留某个独立的硬件、软件或固件。在一个实施例中,术语逻辑的使用包括硬件(诸如晶体管、寄存器)或者其它硬件(诸如可编程逻辑装置)。
在一个实施例中,短语“为(to)”或“被配置为”的使用指布置、放在一起、制造、提供出售,引入和/或设计设备、硬件、逻辑或者元件以执行所指定的或所确定的任务。在这个示例中,其中的未正在进行操作的设备或者元件仍“被配置为”执行所指定的任务,如果它被设计、耦合和/或互连以执行所述所指定的任务的话。作为纯粹说明性的示例,逻辑门可以在操作期间提供0或1。但是“被配置为”将启动信号提供给时钟的逻辑门不包括可以提供1或0的每一个潜在的逻辑门。相反,所述逻辑门是以在操作期间1或0输出将要启动时钟的某种方式耦合的逻辑门。再次注意,术语“被配置为”的使用并不要求操作,而是相反集中在设备、硬件和/或元件的潜在状态,其中在潜在状态中,设备、硬件和/或元件被设计为当所述设备、硬件和/或元件正在进行操作时执行特定的任务。
此外,在一个实施例中,短语“能够/能够做(capable of/to)”和/或“能够操作用来(operable to)”指以使能以指定方式使用设备、逻辑、硬件和/或元件的这样的一种方式设计的某种设备、逻辑、硬件和/或元件。注意,如同上述,在一个实施例中,为(to)、能够做或能够操作用来指设备、逻辑、硬件和/或元件的潜在状态,其中所述设备、逻辑、硬件和/或元件未正在进行操作,但是以使能以指定方式使用设备的这样的一种方式设计所述设备、逻辑、硬件和/或元件。
如本文使用的值包括数字、状态、逻辑状态或者二进制逻辑状态的任何已知的表示。常常,逻辑电平、逻辑值(logic value)或者逻辑的值(logical value)的使用还被称为1和0,其仅仅表示二进制逻辑状态。例如1指高逻辑电平并且0指低逻辑电平。在一个实施例中,存储单元(诸如晶体管或闪存单元)可以能够保持单个逻辑的值或多个逻辑的值。然而,已经使用了计算机系统中的值的其它表示。例如十进制数字十也可以表示为1010的二进制值和十六进制字母A。因此,值包括能够被保持在计算机系统中的信息的任何表示。
此外,状态可以通过值或者值的若干部分来表示。作为示例,第一值(诸如逻辑1)可以表示缺省或初始状态,而第二值(诸如逻辑0)可以表示非缺省状态。另外,在一个实施例中,术语重置和设置分别指缺省和更新的值或状态。例如,缺省值潜在地包括高逻辑的值,即重置,而更新的值潜在地包括低逻辑的值,即设置。注意,可以利用值的任何组合来表示任何数量的状态。
上面阐述的方法、硬件、软件、固件或者代码的实施例可以借助于存储在机器可访问的、机器可读的、计算机可访问的或者计算机可读的介质上的、能够由处理元件执行的指令或者代码来实现。非暂时性机器可访问/可读介质包括以机器(诸如计算机或者电子系统)可读的形式提供(即存储和/或传输)信息的任何机制。例如,非暂时性机器可访问介质包括随机存取存储器(RAM)(诸如固态RAM(SRAM)或者动态RAM(DRAM))、ROM、磁或光存储介质、闪速存储装置、电存储装置、光存储装置、声存储装置、用于保持从暂时(传播)信号(例如载波、红外信号、数字信号)接收的信息的其它形式的存储装置等等,其将区别于可以从此处接收信息的非暂时性介质。
被使用来编程逻辑以执行公开的实施例的指令可以被存储在系统中的存储器内,诸如DRAM、高速缓冲存储器、闪速存储器或者其它存储设备。此外,可以经由网络或者经由其它计算机可读媒体来分发指令。因此,机器可读介质可以包括用于以机器(例如计算机)可读的形式存储或传输信息的任何机制,但是不限于软盘、光盘、只读光盘(CD-ROM)以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪速存储器或者经由电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等)在因特网上传输信息中所使用的有形的机器可读存储设备。因此,计算机可读介质包括适合于以机器(例如计算机)可读的形式存储或者传输电子指令或信息的任何类型的有形的机器可读介质。
一个或多个实施例可以提供设备、系统、机器可读存储设备、机器可读介质、基于硬件和/或软件的逻辑、以及方法,其中片上网络的路由器要包括第一信道预留库。第一信道预留库要包括多个信道预留隙缝。路由器要经由分组交换网络接收第一和第二信道预留请求,将与第一信道预留请求相关联的信息存储在第一信道预留库的第一隙缝中,将与第二信道预留请求相关联的信息存储在第一信道预留库的第二隙缝中,基于存储在第一信道预留库的第一隙缝中的信息来建立第一电路交换信道的至少一部分,并且基于存储在第一信道预留库的第二隙缝中的信息来建立第二电路交换信道的至少一部分。
在至少一个示例中,设备是处理器。
在至少一个示例中,路由器进一步要同时地经由第一电路交换信道传送第一电路交换数据和经由第二电路交换信道传送第二电路交换数据。
在至少一个示例中,第一信道预留库与路由器的输入端口相关联。
在至少一个示例中,第一信道预留库与路由器的输出端口相关联。
在至少一个示例中,第一信道预留库的每个信道预留隙缝与截然不同的电路交换信道相关联并且要提供与信道预留请求相关联的方向信息以有助于相应的电路交换信道的建立。
在至少一个示例中,路由器进一步要接收要包括信道预留隙缝的指示的第三信道预留请求。
在至少一个示例中,路由器在确定由第三信道预留请求指示的信道预留隙缝在第一信道预留库中是不可用时进一步要阻止第三信道预留请求。
在至少一个示例中,路由器在确定第一信道预留库的每个信道预留隙缝被占据时进一步要阻止第三信道预留请求。
在至少一个示例中,路由器进一步要包括多个端口,每个端口要包括相应的信道预留库,每个信道预留库要包括多个信道预留隙缝,每个信道预留隙缝要提供与信道预留请求相关联的信息以建立电路交换信道。
一个或多个实施例可以提供设备、系统、机器可读存储设备、机器可读介质、包括多个端口和多个信道预留库的基于硬件和/或软件的逻辑。信道预留库要与多个端口中的端口相关联并且信道预留库要包括多个信道预留隙缝。多个端口中的所述端口要包括通过所述端口的多个电路交换信道。多个电路交换信道中的每个电路交换信道的配置要基于存储在要与所述端口相关联的信道预留库的信道预留隙缝中的信息。
在至少一个示例中,多个端口中的所述端口要包括通过所述端口的多个同时电路交换信道,每个电路交换信道基于存储在要与所述端口相关联的信道预留库的信道预留隙缝中的信息来配置。
在至少一个示例中,信道预留隙缝要存储与电路交换信道预留相关联的方向信息。
在至少一个示例中,与电路交换信道预留相关联的第一信息要被存储在多个信道预留库中的第一信道预留库的第一信道预留隙缝中,并且与电路交换信道预留相关联的第二信息被存储在多个信道预留库中的第二信道预留库的第二信道预留隙缝中。
在至少一个示例中,第一信道预留隙缝在第一信道预留库内具有的位置与第二信道预留库内的第二信道预留的位置相同。
在至少一个示例中,第一信道预留隙缝在第一信道预留库内具有的位置与第二信道预留库内的第二信道预留的位置不同。
一个或多个实施例可以提供设备、系统、机器可读存储设备、机器可读介质、基于硬件和/或软件的逻辑、方法、以及包括表示结构的信息的非暂时性机器可读介质,所述结构在被制造时要被配置为经由分组交换网络接收第一和第二信道预留请、将与第一信道预留请求相关联的信息存储在第一信道预留库的第一隙缝中、将与第二信道预留请求相关联的信息存储在第一信道预留库的第二隙缝中、基于存储在第一信道预留库的第一隙缝中的信息来建立第一电路交换信道的至少一部分并且基于存储在第一信道预留库的第二隙缝中的信息来建立第二电路交换信道的至少一部分。
在至少一个示例中,同时地经由第一电路交换信道传送第一电路交换数据并且经由第二电路交换信道传送第二电路交换数据。
在至少一个示例中,与第一信道预留请求相关联的附加信息被存储在第三信道预留库的隙缝中,并且存储第三信道预留库的隙缝和第一信道预留库的第一隙缝之间的映射。
在至少一个示例中,基于存储在第三信道预留库中的附加信息和映射来建立第一电路交换信道的另一部分。
一个或多个实施例可以提供设备、系统、机器可读存储设备、机器可读介质、要包括各自与片上网络的路由器相关联的多个核的基于硬件和/或软件的逻辑。路由器中的每个路由器包括多个端口、多个信道预留库,每个信道预留库要与多个端口中的端口相关联,每个信道预留库要包括多个信道预留隙缝。多个端口中的端口要包括通过所述端口的多个电路交换信道,多个电路交换信道中的每个电路交换信道的配置要基于存储在与所述端口相关联的信道预留库的信道预留隙缝中的信息。
整个本说明书提及“一个实施例”或者“实施例”意味着与实施例有关地描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。因此,在整个本说明书中的各处出现短语“在一个实施例中” 或者“在实施例中”不必全都指相同的实施例。此外,可以在一个或多个实施例中以任何合适的方式组合特定特征、结构或特性。
在前述的说明书中,已经参考特定的示范实施例给出了详细的描述。然而,将会显然的是,可以对其进行各种修改和改变,而不会背离如在所附的权利要求书中阐述的公开的更广泛的精神和范围。因此,将在说明性的意义上而不是限制性的意义上看待说明书和附图。此外,实施例和其它示范语言的在前使用不必指相同的实施例或者相同的示例,而是可以指不同的和截然不同的实施例以及潜在地相同的实施例。

Claims (21)

1.一种处理器,所述处理器要包括:
片上网络的路由器,所述路由器要包括第一信道预留库,所述第一信道预留库要包括多个信道预留隙缝,所述路由器要:
经由分组交换网络接收第一信道预留请求和第二信道预留请求;
将与所述第一信道预留请求相关联的信息存储在所述第一信道预留库的第一隙缝中;
将与所述第二信道预留请求相关联的信息存储在所述第一信道预留库的第二隙缝中;
基于存储在所述第一信道预留库的所述第一隙缝中的所述信息来建立第一电路交换信道的至少一部分;以及
基于存储在所述第一信道预留库的所述第二隙缝中的所述信息来建立第二电路交换信道的至少一部分。
2.如权利要求1所述的处理器,所述路由器进一步要同时地经由所述第一电路交换信道来传送第一电路交换数据并且经由所述第二电路交换信道来传送第二电路交换数据。
3.如权利要求1所述的处理器,其中所述第一信道预留库与所述路由器的输入端口相关联。
4.如权利要求1所述的处理器,其中所述第一信道预留库与所述路由器的输出端口相关联。
5.如权利要求1所述的处理器,其中所述第一信道预留库的每个信道预留隙缝与截然不同的电路交换信道相关联并且要提供与信道预留请求相关联的方向信息以有助于相应的电路交换信道的建立。
6.如权利要求1所述的处理器,其中所述路由器进一步要接收要包括信道预留隙缝的指示的第三信道预留请求。
7.如权利要求6所述的处理器,其中所述路由器在确定由所述第三信道预留请求指示的所述信道预留隙缝在所述第一信道预留库中是不可用时进一步要阻止所述第三信道预留请求。
8.如权利要求1所述的处理器,其中所述路由器在确定所述第一信道预留库的每个信道预留隙缝被占据时进一步要阻止第三信道预留请求。
9.如权利要求1所述的处理器,其中所述路由器进一步要包括多个端口,每个端口要包括相应的信道预留库,每个信道预留库要包括多个信道预留隙缝,每个信道预留隙缝要提供与信道预留请求相关联的信息以建立电路交换信道。
10.一种设备,所述设备要包括:
多个端口;
多个信道预留库,信道预留库要与所述多个端口中的端口相关联,所述信道预留库要包括多个信道预留隙缝;以及
其中所述多个端口中的所述端口要包括通过所述端口的多个电路交换信道,所述多个电路交换信道中的每个电路交换信道的配置要基于存储在要与所述端口相关联的所述信道预留库的信道预留隙缝中的信息。
11.如权利要求10所述的设备,其中所述多个端口中的所述端口要包括通过所述端口的多个同时电路交换信道,基于存储在要与所述端口相关联的所述信道预留库的信道预留隙缝中的信息来配置每个电路交换信道。
12.如权利要求10所述的设备,其中信道预留隙缝要存储与电路交换信道预留相关联的方向信息。
13.如权利要求10所述的设备,其中与电路交换信道预留相关联的第一信息要被存储在所述多个信道预留库中的第一信道预留库的第一信道预留隙缝中,并且与所述电路交换信道预留相关联的第二信息被存储在所述多个信道预留库中的第二信道预留库的第二信道预留隙缝中。
14.如权利要求13所述的设备,其中所述第一信道预留隙缝在所述第一信道预留库内具有的位置与所述第二信道预留库内的所述第二信道预留的位置相同。
15.如权利要求13所述的设备,其中所述第一信道预留隙缝在所述第一信道预留库内具有的位置与所述第二信道预留库内的所述第二信道预留的位置不同。
16.一种非暂时性机器可读介质,所述非暂时性机器可读介质包括表示结构的信息,所述结构在被制造时要被配置为:
经由分组交换网络接收第一信道预留请求和第二信道预留请求;
将与所述第一信道预留请求相关联的信息存储在所述第一信道预留库的第一隙缝中;
将与所述第二信道预留请求相关联的信息存储在所述第一信道预留库的第二隙缝中;
基于存储在所述第一信道预留库的所述第一隙缝中的所述信息来建立第一电路交换信道的至少一部分;以及
基于存储在所述第一信道预留库的所述第二隙缝中的所述信息来建立第二电路交换信道的至少一部分。
17.如权利要求16所述的介质,所述结构在被制造时要被进一步配置为同时地经由所述第一电路交换信道来传送第一电路交换数据并且经由所述第二电路交换信道来传送第二电路交换数据。
18.如权利要求16所述的介质,所述结构在被制造时要被进一步配置为:
将与所述第一信道预留请求相关联的附加信息存储在第三信道预留库的隙缝中;以及
存储所述第三信道预留库的所述隙缝和所述第一信道预留库的所述第一隙缝之间的映射。
19.如权利要求18所述的介质,所述结构在被制造时要被进一步配置为基于存储在所述第三信道预留库中的所述附加信息和所述映射来建立所述第一电路交换信道的另一部分。
20.一种系统,所述系统要包括:
各自与片上网络的路由器相关联的多个核,所述路由器中的每个路由器要包括:
多个端口;
多个信道预留库,每个信道预留库要与所述多个端口中的端口相关联,每个信道预留库要包括多个信道预留隙缝;以及
其中所述多个端口中的端口要包括通过所述端口的多个电路交换信道,所述多个电路交换信道中的每个电路交换信道的配置要基于存储在与所述端口相关联的所述信道预留库的信道预留隙缝中的信息。
21.一种系统,所述系统要包括:
用于经由分组交换网络接收第一信道预留请求和第二信道预留请求的装置;
用于将与所述第一信道预留请求相关联的信息存储在所述第一信道预留库的第一隙缝中的装置;
用于将与所述第二信道预留请求相关联的信息存储在所述第一信道预留库的第二隙缝中的装置;
用于基于存储在所述第一信道预留库的所述第一隙缝中的所述信息来建立第一电路交换信道的至少一部分的装置;以及
用于基于存储在所述第一信道预留库的所述第二隙缝中的所述信息来建立第二电路交换信道的至少一部分的装置。
CN201580062824.4A 2014-12-17 2015-11-20 用于片上网络的空间划分的电路交换信道 Active CN107113253B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/574,258 US9680765B2 (en) 2014-12-17 2014-12-17 Spatially divided circuit-switched channels for a network-on-chip
US14/574258 2014-12-17
PCT/US2015/061712 WO2016099795A1 (en) 2014-12-17 2015-11-20 Spatially divided circuit-switched channels for a network-on-chip

Publications (2)

Publication Number Publication Date
CN107113253A true CN107113253A (zh) 2017-08-29
CN107113253B CN107113253B (zh) 2021-02-23

Family

ID=56127292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580062824.4A Active CN107113253B (zh) 2014-12-17 2015-11-20 用于片上网络的空间划分的电路交换信道

Country Status (4)

Country Link
US (1) US9680765B2 (zh)
EP (1) EP3235195B1 (zh)
CN (1) CN107113253B (zh)
WO (1) WO2016099795A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220627A (zh) * 2021-04-23 2021-08-06 西安微电子技术研究所 一种二维片上网络路由节点结构

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680765B2 (en) 2014-12-17 2017-06-13 Intel Corporation Spatially divided circuit-switched channels for a network-on-chip
US10097182B2 (en) * 2014-12-31 2018-10-09 Stmicroelectronics, Inc. Integrated circuit layout wiring for multi-core chips
US10102327B2 (en) 2014-12-31 2018-10-16 Stmicroelectronics, Inc. Integrated circuit layout wiring for multi-core chips
US11165717B2 (en) 2015-10-26 2021-11-02 Western Digital Technologies, Inc. Fabric interconnection for memory banks based on network-on-chip methodology
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10891228B2 (en) * 2018-02-12 2021-01-12 International Business Machines Corporation Cache line states identifying memory cache
US20200234396A1 (en) * 2019-01-22 2020-07-23 Black Sesame International Holding Limited Heterogeneous computation and hierarchical memory image sensing pipeline
JP7396032B2 (ja) * 2019-12-24 2023-12-12 京セラドキュメントソリューションズ株式会社 画像形成装置
US11888693B2 (en) * 2022-04-05 2024-01-30 Xilinx, Inc. Time-division multiplexing (TDM) in integrated circuits for routability and runtime enhancement
CN116610630B (zh) * 2023-07-14 2023-11-03 上海芯高峰微电子有限公司 一种基于片上网络的多核系统和数据传输方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080205432A1 (en) * 2005-04-07 2008-08-28 Koninklijke Philips Electronics, N.V. Network-On-Chip Environment and Method For Reduction of Latency
CN102378184A (zh) * 2010-08-18 2012-03-14 西门子公司 用于在无线通信网络中进行信道交换的方法
US20130188486A1 (en) * 2012-01-23 2013-07-25 Microsoft Corporation Data center network using circuit switching
CN103229581A (zh) * 2010-12-07 2013-07-31 西门子公司 用于通告信道预留的方法
US20140119363A1 (en) * 2012-10-30 2014-05-01 Empire Technology Development Llc Waved Time Multiplexing

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8284766B2 (en) 2007-12-28 2012-10-09 Intel Corporation Multi-core processor and method of communicating across a die
CN105247817B (zh) 2013-06-28 2019-05-07 英特尔公司 用于源同步电路交换片上网络(NoC)的方法、装置和系统
KR101802810B1 (ko) 2013-09-06 2017-11-29 인텔 코포레이션 하이브리드 회선 교환 및 패킷 교환 라우터의 아키텍처 및 그 방법
US9699096B2 (en) 2013-12-26 2017-07-04 Intel Corporation Priority-based routing
US9680765B2 (en) 2014-12-17 2017-06-13 Intel Corporation Spatially divided circuit-switched channels for a network-on-chip

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080205432A1 (en) * 2005-04-07 2008-08-28 Koninklijke Philips Electronics, N.V. Network-On-Chip Environment and Method For Reduction of Latency
CN102378184A (zh) * 2010-08-18 2012-03-14 西门子公司 用于在无线通信网络中进行信道交换的方法
CN103229581A (zh) * 2010-12-07 2013-07-31 西门子公司 用于通告信道预留的方法
US20130188486A1 (en) * 2012-01-23 2013-07-25 Microsoft Corporation Data center network using circuit switching
US20140119363A1 (en) * 2012-10-30 2014-05-01 Empire Technology Development Llc Waved Time Multiplexing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANGELO KUTI LUSALA 等: "A Hybrid NoC Combining SDM-TDM Based Circuit-switching with Packet-switching for Real-Time Applications", 《10TH IEEE INTERNATIONAL NEWCAS CONFERENCE》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220627A (zh) * 2021-04-23 2021-08-06 西安微电子技术研究所 一种二维片上网络路由节点结构
CN113220627B (zh) * 2021-04-23 2023-05-30 西安微电子技术研究所 一种二维片上网络路由节点结构

Also Published As

Publication number Publication date
EP3235195A1 (en) 2017-10-25
EP3235195A4 (en) 2018-07-04
CN107113253B (zh) 2021-02-23
US20160182396A1 (en) 2016-06-23
US9680765B2 (en) 2017-06-13
EP3235195B1 (en) 2020-03-18
WO2016099795A1 (en) 2016-06-23

Similar Documents

Publication Publication Date Title
CN107113253A (zh) 用于片上网络的空间划分的电路交换信道
CN107113254B (zh) 自适应交换芯片上网络
CN105247817B (zh) 用于源同步电路交换片上网络(NoC)的方法、装置和系统
CN107078971A (zh) 组合保证吞吐量和尽力而为的片上网络
CN109154924A (zh) 多个上行链路端口设备
KR101830685B1 (ko) 온칩 메시 상호접속부
CN107005477B (zh) 用于片上网络的基于链路延迟的路由装置
CN107112042A (zh) 数据信号的边沿感知同步
CN107113227B (zh) 流水线化混合分组/电路交换片上网络
CN104932996B (zh) 用于控制链路接口的未使用硬件的功率消耗的方法、装置和系统
CN109844725A (zh) 点对点互连中的非对称通道
CN107005492B (zh) 用于芯片上网络上的多播和缩减通信的系统
CN109582998A (zh) 小巧PCIe端点的根复合体集成端点仿真
CN107003944B (zh) 跨分布式存储器的指针追踪
CN107111584B (zh) 到片上网络的接口的高带宽核
Alimi et al. Network-on-chip topologies: Potentials, technical challenges, recent advances and research direction
CN107113252A (zh) 用于片上网络的并行方向解码电路

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