CN103748837B - 使用可动态选择的冗余共享链路物理路径在基于开放核心协议的互连网络中改善数据吞吐量的方法 - Google Patents
使用可动态选择的冗余共享链路物理路径在基于开放核心协议的互连网络中改善数据吞吐量的方法 Download PDFInfo
- Publication number
- CN103748837B CN103748837B CN201180072996.1A CN201180072996A CN103748837B CN 103748837 B CN103748837 B CN 103748837B CN 201180072996 A CN201180072996 A CN 201180072996A CN 103748837 B CN103748837 B CN 103748837B
- Authority
- CN
- China
- Prior art keywords
- woven structure
- woven
- link
- ocp
- core protocol
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
描述了采用点对点链路使用动态可选择路由在互连织状结构中促进数据吞吐量改善的方法和装置。发起方和目标操作上耦合到第一织状结构和第二织状结构。第一织状结构和第二织状结构包括多个点对点内部链路,且经由多个织状结构到织状结构的链路通信上相互耦合,这些链路包括从第一织状结构到第二织状结构的第一链路和第二链路。在操作期间,检测第一织状结构到织状结构的链路上的业务量以判断它是否繁忙,且取决于该判断,经由第一织状结构到织状结构的链路或第二织状结构到织状结构的链路有选择地路由从耦合到第一织状结构的发起方去往耦合到第二织状结构的目标的数据传输。
Description
发明领域
本发明的领域通常涉及计算机系统接口,且具体地但不排他地涉及用于增强片上系统(SoC)及类似物上的互连的数据吞吐量性能的技术。
背景信息
计算机系统通常采用一个或多个互连来促进在系统组件之间(例如在处理器和存储器之间)的通信。互连和/或扩展接口也可以用来支持内建设备和外加设备,例如IO(输入/输出)设备和扩展卡等等。在引入个人计算机之后的多年,主要的互连形式是并行总线。并行总线结构用于内部数据传输和扩展总线两者,例如ISA(工业标准体系结构)、MCA(微通道体系结构)、EISA(扩展工业标准体系结构)和VESA局部总线。在20世纪90年代的早期,英特尔公司引入PCI(外围部件互连)计算机总线。通过不仅增加总线速度而且也引入了使用共享地址和数据线的自动配置和基于事务的数据传输,PCI改善了早期总线技术。
随着时间推移,计算机处理器时钟频率以比并行总线时钟频率更快的速度增加。其结果是,计算机工作量受到互连瓶颈而非处理器速度限制。尽管并行总线支持每一周期传输大量数据(例如,32位,或者在PCI-X下甚至是64位),但它们的时钟频率受到时序偏差考虑的限制,引起对最大总线速度的实际限制。为了克服这一问题,开发了高速串行互连。早期的串行互连的示例包括串行ATA、USB(通用串行总线)、火线和RapidIO。
另一种广泛使用的标准串行互连是也称为PCIe的PCI Express(PCI高速),2004年在PCIe1.0标准下引入。PCIe被设计为代替老旧的PCI和PCI-X标准,但提供旧版本支持。PCIe采用点对点串行链路而非共享并行总线体系结构。使用一个或多个通路(lane)(其中每一通路包括双向串行链路),每一链路支持在两个PCIe端口之间的点对点通信信道。使用支持同时在多个设备之间的通信的交叉开关交换体系结构,物理上路由各通路。作为其固有优点的结果,PCIe已经代替了PCI,成为现今的个人计算机中最流行的互连。PCIe是由PCI-SIG(特别兴趣小组)管理的行业标准。因而,PCIe板可从多个ASIC和芯片销售商购得。
近来,英特尔引入快速通道互连(QuickPath)(QPI)。QPI最初被实现为代替使用高性能处理器(例如和处理器)的平台上的前端总线的点对点处理器互连。QPI是可扩展的,且尤其有利于具有采用共享存储器资源的多个处理器的系统。QPI事务采用使用多层协议体系结构的基于分组的传输。在其特征中,支持一致事务(例如,存储器一致性)。
近来还引入的是开放核心协议,这是一个开放授权的以核心为中心的协议,旨在满足现代系统级集成挑战。OCP定义用于片上子系统通信的总线无关的、可配置的和可扩展的接口。OCP规范的当前版本是OCP3.0规范(更新先前版本OCP2.2),两者都可以在ocpip.org下载。
其他近来的进展包括多核心处理器、多功能SoC和更高密度的核心和管芯。与此同时,在减少功耗尤其是移动平台的功耗上投入了努力。为了利用由这些进展所提供的可扩展性,需要解决各种各样的和有时存在的冲突约束。例如,当在SoC中实现交叉开关互连(又名织状结构(fabric))时,延迟时间和功耗根据连接到织状结构的IP块的数量而增加。与此同时,由这样的交叉开关互连促进的点对点虚拟链路可以提供大量IP块间通信吞吐量。因此,实现无需相应的功耗增加就支持增强吞吐量的可扩展体系结构是有益的。
附图简述
将更容易明白前述各方面和本发明的多种附带优点,这是由于当结合附图阅读时,通过参考下列详细描述,将更好地理解前述各方面和本发明的多种附带优点,在附图中,贯穿各视图,除非以另外方式指定,否则相同的标号指代相同的部分:
图la示出SoC体系结构,其包括一组分层织状结构和相应的织状结构到织状结构的链路;
图lb示出图la的SoC体系结构的实现,进一步示出多个共享的织状结构到织状结构的链路;
图lc示出图la的SoC体系结构的实现,进一步示出支持在织状结构之间的数据的动态路由的多个冗余的织状结构到织状结构的链路;
图2是阐释开放核心协议所使用的基本对象的框图;
图3a示出在一对OCP织状结构内的各种单向链路和在OCP织状结构之间的一对织状结构到织状结构的链路,并且还叙述OCP织状结构中的每一个的地址映射;
图3b示出图3a的织状结构配置,还包括在OCP织状结构之间的冗余的织状结构到织状结构的链路;
图3c示出图3b的配置的变种,还包括用于将数据从发起方动态地路由到目标的选择器逻辑,且进一步示出织状结构地址映射的相应修改;
图4是阐释根据一种实施例的图3c的选择器的实现的细节的图;以及
图5是示例性SoC的框图,其中在南复合体中实现桥层次结构。
详细描述
在此描述用于使用动态可选择的冗余共享链路促进互连织状结构中的数据吞吐量改善的方法和装置的实施例。在下列描述中,阐释众多特定的细节(例如采用OCP互连的实现),以提供对本发明的各实施例的透彻理解。然而,相关领域中的技术人员将认识到,无需一个或多个特定细节,或借助于其他方法、组件、材料等等,就可以实践本发明。在其他实例中,不详细示出或描述公知的结构、材料或操作,以避免模糊本发明的各方面。
贯穿本说明书,对“一种实施例”或“一个实施例”的引用意味着本发明的至少一种实施例中包含结合该实施例描述的具体的特征、结构或特性。因而,贯穿本说明书,短语“在一种实施例中”或“在一个实施例中”在各种场合的出现并不必定都是指相同的实施例。此外,在一个或多个各实施例中,具体的特征、结构或特性可以以任何合适的方式组合。
为清晰起见,各图中的个体组件在此也可以由图中它们的标签而非具体的标号指代。例如,各种图中节点或框的标记提供标识节点/框和/或其功能的信息;这样的信息不能单独用分离的标号来表达。另外,指代具体类型的组件(与具体的组件相对)的标号可以被示出为后面跟随着“(typ)”的标号(含义为“典型”)。应理解,这些组件的配置将是可能存在但出于简单和清晰起见在附图中没有示出的类似组件的典型。
如以上所描述的,计算机体系结构正从分立组件体系结构向基于SoC的体系结构发展。模块性也是SoC体系结构的关键方面。通常,系统设计者将整合各种功能块,包括在本行业中通常称为知识产权(IP)核、IP块或简单地称为IP的功能块。对于本文的目的,这些功能块通常被称为IP块或简单地称为“IP”;应理解,术语IP块或IP也覆盖IP核和通常称为IP的任何其他组件或块,正如SoC开发和制造行业中的那些技术人员所理解的一样。这些IP块通常提供一种或多种专用功能,且常常包括从各种销售商得到授权或内部开发的现有电路设计块。为了集成这些IP块,在SoC中设计各种接口。
图la示出示例性SoC体系结构100,其采用以分层方式配置的多个互连织状结构102。术语分层意味着包括一组互连的子网络的互连网络,这些互连的子网络通常被称为互连织状结构或简单地称为织状结构。为方便起见,将通常用它们的标签指代织状结构(例如,织状结构1、织状结构2等等),而不是每一织状结构有一个独立的标号。因此,SoC体系结构包括织状结构1-5,每一个都作为独立的子网操作,这些独立子网互连到其他织状结构以便促进跨越多个子网的通信,如下面所解释的。各种IP块(OCP规范也称之为IP核)104被示出为连接到SoC体系结构100中的相应织状结构;这些IP块标记为A-V,且为方便起见将用它们的字母标签来指代。各种IP块表示SoC设计中通常采用的组件或功能单元(即,功能块),包括但不限于处理器核心、存储器高速缓存组件和代理、存储器控制器、I/O控制器和接口、外围设备和外围接口、视频和音频组件和接口、平台管理组件等等。
互连织状结构,例如图la中用织状结构1-5阐释的互连织状结构使用相应的连线和协议支持在各IP块之间的通信。通常,给定的互连织状结构的结构可以包括全交叉开关“网格”,它是一种包括多个点对点链路、共享总线型体系结构或环型拓扑的松散填充的织状结构。在一种实施例中,SoC体系结构100被一般化为使得可以以这些拓扑中的任何一种来配置织状结构1-5中的每一个。而且,具体的互连结构和协议也被一般化在SoC体系结构100中,使得各种织状结构可以采用相同的或不同的互连结构和协议。例如,可以期望将支持高速缓存一致性协议(例如,QPI)的互连用于在处理器核心和存储器高速缓存相关IP块之间的通信,但也可以将其他结构和诸如OCP之类的协议用于该体系结构中的其他织状结构。可选地,单个协议可以被用于整个体系结构,或者,图la中所叙述的织状结构可以描绘SoC的一部分。例如,在一种实施例中,SoC体系结构100对应于SoC体系结构中的南复合体,例如图5中所示出和下面所描述的南复合体。
在一种实施例中,织状结构1-5中的每一个包括OCP织状结构。在开放核心协议下,通信由发起方(I)发起,并在织状结构上定向到目标(T),如下面详细描述的。因此,图1中在各自的IP块A-V中描绘了发起方块106(I)和目标块108(T)。通常,发起方块I或目标块T描绘接口电路用于促进在IP块和它所耦合到的织状结构之间的通信,且因此,发起方和目标块也可以是指在此叙述的IP块中的发起方接口和目标接口。
SoC体系结构100中还叙述了多个织状结构到织状结构的链路110,织状结构到织状结构的链路110用于耦合进行通信的多对织状结构。这些被标记为FF n-m,其中n表示所耦合的织状结构中的一个,且m表示另一个。举例来说,织状结构到织状结构的链路FF1-2促进在织状结构1和织状结构2之间的通信。尽管被称为织状结构到织状结构的链路,但在所连接的织状结构采用不同的结构和协议(例如,QPI到OCP的桥接)的实例中,或者在采用相同的协议的一对所连接的织状结构的时钟速度不相同的实例中,这些链路也可以充当织状结构到织状结构的桥接。
在图la中,各种IP块104被叙述为包括发起方块I和/或目标块T两者,表示用于各种IP块的OCP织状结构的接口能力可以不同。例如,诸如音频输入(话筒)和输出(扬声器)等的外围设备可以仅要求与其他IP块进行单向通信,然而应注意,相应的音频接口组件可以支持双向通信或单向通信。以类似的方式,织状结构到织状结构的链路110中的每一个被描绘为双箭头以便指示支持跨越链路的双向通信。然而,在此对双向通信的引用不要求双向物理链路(即是说,跨越其线路支持双向通信的物理链路)。相反,如下面进一步详细解释的,可以通过使用以相反方向操作的单向链路促进在IP块或织状结构之间的双向通信。替代地,双向数据传输可以发生在单个单向链路上(即,相应的一组线路被用来支持双向数据传输),例如当发起方对目标执行读和写操作时。
在此公开的各实施例的各方面可以有利地被部署在诸如智能电话和平板等的移动平台中。对于这些类型的平台,功耗很受重视,且因而功率的任何减少都是有益的。根据在此的教导,可以通过跨越冗余共享物理链路使用分层互连织状结构体系结构和通过使用动态可选择路由来减少功耗。
与共享总线或完全填充交叉开关互连相比,分层网络通常具有以下方面的优点:[1]功率效率,这是由于选定结构在不需要时可以被电源门控,以及[2]芯片面积,这是由于织状结构的复杂性(被实现为交叉点)随着所连接的单元的数量的平方而增长。通常,使用任何活动的晶体管操作或引起在SoC电路上的电力负载的任何操作都引起消耗功率。而且,用于诸如互连等的电路的操作频率(例如,时钟周期或频率)越高,功耗就越高。鉴于这一点,可以通过使用较少的物理互连结构(即,较少的“线路”和相应的接口电路,例如缓冲器和交换逻辑)和/或工作在较低的频率来降低功率。然而,在这两种情况中,在功耗和吞吐量性能之间存在折衷。
解决折衷的一种方式是对SoC体系结构的不要求较高速率(较高频率通常与处理器和存储器操作或视频操作相关联)的一些部分使用较低的频率时钟频率。例如,通常被分类为低速的音频组件以及外围设备和I/O组件可以被配置为连接到工作在较低的时钟频率的相应互连织状结构块。由于SoC体系结构100的分层性质支持实现分离织状结构,可以工作在较低的频率的各个织状结构可以被置于“待机”状态或“关闭”状态。例如,如果音频IP块被耦合到独立的织状结构,则在不要求音频功能时可以关闭该织状结构或将其置于待机状态,从而延长电池寿命。
本公开内容的另一发明方面是使用冗余物理链路,这些冗余物理链路可以动态地被配置为在某些操作条件下支持较高的传输速率,但与此同时减少在要求较低的传输率的操作条件下的功耗。在下列实施例中,使用开放核心协议兼容的织状结构来阐释这些特征的实现方面。然而,应注意,也可以部署使用其他协议的织状结构实现,以便获得数据吞吐量和功率减少方面的类似提高。
开放核心协议定义在诸如IP核和总线接口模块(总线封装器)等的两个通信实体之间的点对点接口,在此也称为代理。一个实体充当OCP实例的主设备,且另一个充当从设备。仅主设备可以给出命令,且它是控制实体。从设备通过从接受来自主设备的数据或向主设备提交数据,来响应于向其给出的命令。对于以对等方式通信的两个实体,需要由两个OCP实例连接它们——其中第一实体是主设备的OCP实例,以及其中第一实体是从设备的OCP实例。
图2示出包含已封装总线和三个IP核实体的简单系统,三个IP核实体中,一个是系统目标,一个是系统发起方,且一个实体既是发起方又是目标。应理解,通常“主设备”和“发起方”是同义词,且因而,在此可以可互换地使用这些术语。同样地,“从设备”和“目标”是同义词,且可以可互换地使用。
IP核的特性确定了该核是需要OCP的主设备、从设备还是OCP的双方;封装器接口模块必须充当用于每一连接的实体的OCP的互补方。跨越这一系统的传输如下发生。系统发起方(作为OCP主设备)向其已连接的从设备(总线封装器接口模块)给出命令、控制且可能给出数据。接口模块跨越片上总线系统进行请求。OCP不指定嵌入式总线的功能性。相反,接口设计者将OCP请求转换成嵌入式总线传输。接收总线封装器接口模块(作为OCP主设备)将嵌入式总线操作转换成合法的OCP命令。系统目标(OCP从设备)接收命令并采取所请求的动作。
基于已连接的实体的要求配置OCP的每一实例(通过选择信号或具体信号的位宽)且独立于其他实例。举例来说,系统发起方可以在它们的OCP实例中要求比系统目标更多的地址位数;嵌入式总线可以使用额外的地址位数来选择由系统发起方寻址哪一总线目标。
OCP是灵活的。存在现有的IP核相互如何通信的多种有用模型。一些模型采用流水线化来改善带宽和延迟时间特性。其他模型使用多周期访问模型,其中在若干时钟周期内将信号保持为静态以便简化时序分析并减少实现面积。通过使用允许主设备和从设备两者都控制何时允许信号改变的同步握手信号,对这种广泛行为的支持是可能的。
下面的表1列出基本的OCP信号。通常,在开放核心协议规范2.2(或3.0)中提供涉及OCP的各种方面的细节。除了基本OCP之外,还存在可以按由OCP规范定义的实现的各种可选信号。
表1
Clk
输入用于OCP时钟的时钟信号。OCP时钟的上升沿被定义为采样已断言EnableClk的Clk的上升沿。Clk的下降沿和不采样所已断言(asserted)EnableClk的任何Clk上升沿不构成OCP时钟的上升沿。
EnableClk
EnableClk指示Clk的哪些上升沿是OCP时钟的上升沿,即是说,Clk的哪些上升沿应采样并改变接口状态。使用enableclk参数来配置这一信号。EnableClk由第三实体驱动,且充当主设备和从设备两者的输入。
当enableclk被置为0(默认值)时,该信号不存在,且OCP如同EnableClk被恒定断言的那样动作。在这种情况中,Clk的所有上升沿都是OCP时钟的上升沿。
MAddr
传输地址,MAddr指定当前的传输所针对的依赖于从设备的资源地址。为了将这一字段配置到OCP中,使用addr参数。为了配置这一字段的宽度,使用addr_wdth参数。MAddr是必须与OCP字长(data_wdth)一致的字节地址。data_wdth定义基于数据总线字节宽度的最小addr_wdth值,且被定义为:
min_addr_wdth=max(l,f1oor(log2(data_wdth))-2)
如果OCP字尺寸大于单个字节,则在OCP字对齐的地址处定址该集合体,且最低地址位硬连接为0。如果OCP字长不是2的幂,则该地址与具有等于2的下一较大幂的字长的OCP接口的情况下的该地址相同。
MCmd
传输命令。这一信号指示主设备正在请求的OCP传输的类型。每一非空闲命令要么是读类型的请求,要么是写类型的请求,这取决于数据流的方向。
MData
写数据。这一字段把写数据从主设备运载到从设备。使用mdata参数来该字段配置成OCP,且使用data_wdth参数来配置其宽度。其宽度不限于8的倍数。
MDataValid
写数据有效。当设置为1时,这一比特指示MData字段上的数据有效。使用datahandshake参数来将这一字段配置到OCP中。
MRespAccept
主设备响应接受。主设备以MRespAccept信号上的1值指示,它接受来自从设备的当前响应。使用respaccept参数来在OCP中启用这一字段。
SCmdAccept
从设备接受传输。SCmdAccept信号上的1值指示,从设备接受主设备的传输请求。为了将这一字段配置到OCP中,使用cmdaccept参数。
SData
这一字段将所请求的读数据从从设备运载到主设备。使用sdata参数来将该字段配置到OCP中,且使用data_wdth参数来配置其宽度。其宽度不限于8的倍数。
SDataAccept
从设备接受写数据。从设备通过SDataAccept上的1值指示它接受来自主设备的流水线化写数据。仅在使用了datahandshake时这一信号才是有意义的。使用dataaccept参数来把这一字段配置到OCP中。
SResp
来自从设备的对来自主设备的传输请求的响应字段。使用resp参数来把该字段配置到OCP中。
如以上可见,给定的OCP链路可以支持双向数据业务量(例如,从主设备到从设备写入,以及由主设备从从设备读取)。然而,在此为清晰起见,给定链路的方向是从其发起方(即,在OCP下的主设备)到其目标(即,在OCP下的从设备),且被称为单向链路。
图lb示出在OCP织状结构之间使用共享OCP物理链路的示例。这些链路中的每一个包括带有根据适用的OCP协议信令实现的数据传输的一组OCP线路。每一织状结构到织状结构的链路被标记为FF m-s,其中,m对应于作为主设备操作的织状结构,且s对应于作为从设备操作的织状结构。例如,在织状结构1和2之间的一对链路被标记为FF1-2和FF2-1。
图lb也描述由被连接到织状结构1的IP块IP-B和IP-D发起的两个数据传输,且这两个数据传输分别针对被连接到织状结构2的IP块IP-J和被连接到织状结构4的IP块IP-O。如图可见,这些数据传输两者均采用由织状结构到织状结构的链路FF1-2界定的相同的物理数据路径,因而被称为“共享链路”。尽管促进被耦合到各种织状结构的IP块之间的通信是有利的,但它引起业务量拥堵,要求仲裁共享链路引起带宽瓶颈,从而减少整体吞吐量。
根据在此的教导,实现一个或多个冗余的织状结构到织状结构的链路以便减少业务量拥堵并增强整体吞吐量。这样的冗余的织状结构到织状结构的链路的示例性实现的细节在图lc、3b和3c中示出。例如,在图lc的SoC体系结构l00C中,一组冗余的织状结构到织状结构的OCP链路(每个方向一个)已经被添加到图lb的体系结构100b。如先前一样,每一织状结构到织状结构的链路被标记为FF m-s,且增加了“R”以便指示链路是冗余的。应注意,在图lc中包括了在织状结构之间增加一对单向链路仅仅是示例性的,这是由于不是必然要求在任何特定一对织状结构之间添加冗余的织状结构到织状结构的链路,并且在给定方向添加的链路的数量不必匹配在相反方向添加的链路的数量(如果有的话)。此外,该一般性概念可以扩展到在给定的一对织状结构之间添加进一步的织状结构到织状结构的链路(如果期望如此)。
图3a和3b描绘在织状结构1和2内部的各种OCP链路以及在织状结构1和2之间的织状结构到织状结构的链路200和202。为简单和清晰起见,在图3a-c中仅示出来自图la-c中所示出的那些的已选择的发起方和目标。图3a-c中的发起方被标记为Ix-y,其中x标识织状结构且y标识该织状结构上的特定发起方。类似地,图3a-c中的目标被标记为Tx-y。而且,为了避免混乱,图3a-c不示出对应于这些发起方和目标的IP块;然而,应理解,在实际的实现中,这样的IP块将被耦合到合适的织状结构。
图3a和3b两者均描绘共同的发起方、目标和相应的OCP点对点链路。图3b还叙述了在织状结构1的目标代理(TA)306和织状结构2的发起方代理(IA)308之间增加冗余的织状结构到织状结构的OCP链路304。通过在织状结构1中实现链路目标代理(被标记为TA的块)逻辑的第二实例且在织状结构2中实现链路发起方代理(被标记为IA的块)逻辑的第二实例,并根据要实现的具体OCP链路宽度,用(物理)线路连接这些代理,实现冗余链路。因此,如果织状结构到织状结构的链路302和304两者的配置相同,则原始链路和冗余链路的OCP总线的性质相同。还所示出的是在发起方11-1、11-2和11-3及目标代理306中的每一个之间以及在发起方代理308和目标T2-4和T2-5之间的附加OCP链路。正如所阐释的,增加冗余的织状结构到织状结构的OCP链路304向原始共享织状结构到织状结构的OCP链路302提供了并行数据通道。
也对两种织状结构的地址映射做出修改。进行修改是为了允许在使用原始共享链路的那些织状结构和使用冗余链路的那些织状结构之间合理划分数据路径。在图3b中,所示出的示例划分是去往目标T2-1、T2-2和T2-3的通路继续使用原始共享链路,而去往目标T2-4和T2-5的通路使用冗余共享链路。(注意,借助于这种划分,图3a中所示出的两个示例通路现在将使用不同的共享链路且不相互施加延时。)
图3a-c中的每一个的下部示出织状结构1和2中的目标的目标地址映射。在OCP下,在发起方和目标之间路由点对点单向链路,且因而对每一织状结构预定义目标的目的地地址范围。给每一目标指派固定范围的地址,且由于给定目标可以由多个发起方访问,一些目标的地址范围可以较大和/或占据多个片段。对于对应于织状结构到织状结构的OCP共享链路的目标地址来说,尤其如此。例如,注意,织状结构1中的目标Tl-4的地址范围包括四个分段范围,包括具有比目标Tl-1、Tl-2和Tl-3的可比拟片段更长的长度的三个片段。
图3a中所示出的编址方案对应于使用常规共享织状结构到织状结构的OCP链路,而图3b中的地址方案对应于增加所添加的织状结构到织状结构的链路204。为了适应新的目标Tl-5,图3a中Tl-4的最高两个地址范围已经被重新分配为图3b中的Tl-5,但剩余的地址范围映射保持相同。注意,与此同时,这在跨越原始共享织状结构到织状结构的链路202和添加的冗余织状结构到织状结构的链路204的传输之间的通路中产生了划分。例如,现在在织状结构到织状结构的链路204上路由起源于织状结构1中的发起方并对应于织状结构2中的目标T2-4和T2-5的传输。
图3c示出可以被实现为进一步改善数据吞吐量的可选增强。在原始链路忙于服务先前的命令而冗余链路空闲的情况下,该增强寻求机会性地重新路由通路(该通路原本通常会使用原始共享链路而不是使用冗余链路)(从而避免了与清除先前命令相关联的等待时间)。该增强的细节如下所示:选择使用原始链路(例如,织状结构到织状结构的链路302)的目标。在这种情况中是目标T2-3。检查被指派给目标的地址映射区域。注意该区域的起始地址。在这种情况中该地址是T2_3_StartAddr。注意该区域的大小,且从这推导出地址位的有效数字是N。(N意味着该区域的大小少于或等于2N字节。)搜索该地址映射以便得到合适的别名区域。别名区域的大小必须等于T2-3区域的大小,且处于(先前)未使用的空间中(地址映射中的灰色区域)。在图2c中,这样的区域是具有起始地址T2_3_AliasStartAddr的T2-3-alias。然后,更新两个织状结构的地址映射,以使得如果别名区域中的地址被给出(由织状结构1发起方给出),则通过冗余链路(织状结构到织状结构的链路304)将该通路路由到目标T2-3(使用用虚线标记的动态路径)。最终,(对于每一织状结构-1发起方)添加标记为选择器310的(完全地组合的)逻辑块。如果合适的话,选择器的作用是将(起初源自发起方的)T2-3地址的别名版本复用到织状结构-1中。
通常,别名寻址方案(和关联的动态路由)的使用对发起方和目标两者来说都是透明的。因此,由IP块的发起方接口用来在发起方和目标之间传输数据的目标地址保持未经改变。而且,重新路由不限于从原始链路到路由到冗余链路。相反,重新路由也可以适用于默认将使用冗余链路但可以替代地动态地切换到原始链路的命令。
图4示出根据一种实施例的选择器310的示例性实现细节。通常,经由逻辑框400实现由选择器310执行的大多数逻辑,逻辑框400示出被用来判断是使用别名地址还是原始地址的逻辑。图3中所示出的示例性实现假设织状结构具有32位地址范围,且对于大多数输入通常采用标准OCP信号,如上面所介绍的。然而,应注意,Tl_4_active和Tl_5_active不是OCP标准化信号而是通常在典型织状结构实现中可得到的信号。它们指示(在织状结构1中)的各自的目标代理何时忙于服务先前的请求(即仍然等待先前的命令完全完成)。在活动信号不可用但OCP信号SThreadBusy(和/或SDataThreadBusy)可用的情况中,可以改为使用这种繁忙信号。替代地,如果OCP信号SCmdAccept可用且如果该信号的静止/空闲状态为高,则可以使用OCP信号SCmdAccept(反转)。通常可以使用标准嵌入式逻辑设计技术来实现逻辑框400中所示出的逻辑,例如使用ASIC或FPGA逻辑设计工具、编程逻辑工具等等。
如以上所描述的,在此讨论的织状结构体系结构可以表示SoC中所使用的织状结构中的全部或部分。图5中叙述稍后的示例,其示出包括北复合体502和南复合体100d的SoC体系结构500。北复合体可以通常包括经由一致性织状结构耦合到高速缓存和存储器组件的处理器核心。因此,北复合体502被叙述为包括含有多个处理器核心506的中央处理单元(CPU)505,这些核心中的每一个耦合到一致性织状结构508,例如QPI织状结构。还示出存储器块510耦合到一致性织状结构508——这一存储器框旨在一般地描绘可以存在于该体系结构中的各种存储器相关组件,例如高速缓存、缓存代理、存储器控制器等等。通常,SoC体系结构将包括一个或多个级别的片上高速缓存,且可具有芯片上的某种大容量存储级别的存储器或具有到片外存储器的一个或多个接口;存储器框510旨在表示所有这些配置。
北复合体也包括另一织状结构,例如INTEL片上可扩展织状结构(IOSF)或操作上经由织状结构到织状结构的桥514耦合到一致性织状结构508的OCP织状结构512。多个IP块516通信上耦合到织状结构512。除了图5中所叙述的组件之外,北复合体502还可以包括本领域中的技术人员将认识到的其它组件和织状结构。
南复合体100d通常阐释以上所描述的SoC体系结构100和100c。相比于Soc体系结构100c,南复合体100d仅包括对在织状结构2和织状结构3之间以及在织状结构4和织状结构5之间的单个单向链路。如以上所描述的,这仅仅阐释可以根据在此教导实现的分层织状结构中的各种链路配置。
体系结构500中还叙述的是IOSF/OCP到OCP的桥518。这通常阐释可以在北复合体的织状结构512和南复合体的织状结构1之间实现的桥接。在这种配置中,该桥接将包括OCP织状结构(且织状结构512包括IOSF或OCP织状结构)。在各织状结构协议不相同的情况中,将实现织状结构协议桥。如果织状结构512和织状结构1两者都是OCP织状结构,那么,可以使用OCP织状结构到织状结构的桥,或可以使用OCP织状结构到织状结构的链路,这取决于适用的设计参数。例如,如果织状结构512的时钟频率显著不同于织状结构1的时钟频率,则该桥将支持跨时钟域功能,但仍然在到该桥的两种接口上实现OCP信号。
通常可以在包括使用公知的设计和制造技术的半导体芯片的集成电路中实现以上所描述的本公开内容的实施例。在一种实施例中,可以实现来自Sonics公司的织状结构生成工具以便促进设计实现。而且,尽管被叙述为是在SoC上实现,但可以在其他类型的组件上实现使用带有可选动态路由的冗余的织状结构到织状结构的链路,这些组件包括I/O芯片、外围芯片、控制器和其他类型的集成电路。
另外,不仅可以在半导体芯片内而且也可以在机器可读介质内实现本描述的各实施例。例如,以上所描述的设计可以被存储在与用于设计半导体设备的设计工具相关联的机器可读介质上和/或被嵌入在该机器可读介质内。各示例包括按VHSIC硬件描述语言(VHDL)语言、Verilog语言或SPICE语言格式化的连线表(netlist)。一些连线表的示例包括:行为级连线表、寄存器传输级(RTL)连线表、门级连线表和晶体管级连线表。机器可读介质也包括具有诸如GDS-II文件等的布局信息的介质。此外,连线表文件或用于半导体芯片设计的其他机器可读介质可以用于仿真环境中,以便执行以上所描述的教导的方法。
本发明的所阐释的实施例的以上描述,包括摘要中所描述的内容,不旨在是详尽的或将本发明限制为所公开的确切形式。尽管出于说明性目的在此描述了本发明的特定的实施例和示例,但相关领域中的技术人员将认识到,在本发明的范围内的各种等效修改是可能的。
根据上述详细描述,可以对本发明进行这些修改。在下面的权利要求书中使用的术语不应当被解释为将本发明限制为在本说明书中公开的具体实施例和附图。相反,本发明的范围将完全由下列权利要求书确定,下列权利要求书应根据权利要求解释的既定原则来解释。
Claims (20)
1.一种集成电路,包括:
第一织状结构,多个发起方通信地耦合到所述第一织状结构;
第二织状结构,多个目标通信地耦合到所述第二织状结构;
第一织状结构到织状结构链路和第二织状结构到织状结构链路,每一个均是所述第一和第二织状结构之间的点对点互连并且支持所述第一织状结构和第二织状结构之间的通信;以及
路由电路和关联逻辑,操作地耦合到所述第一织状结构到织状结构链路和第二织状结构到织状结构链路,
其中,所述路由电路和逻辑被配置为,通过有选择地使用所述第一织状结构到织状结构链路或第二织状结构到织状结构链路中的一个来路由从至少一个发起方到所述目标的数据,动态地路由源自所述至少一个发起方且去往目标的所述数据。
2.如权利要求1所述的集成电路,其特征在于,所述路由电路被配置为默认使用所述第一织状结构到织状结构链路在通信上耦合到所述第一织状结构的发起方与通信上耦合到所述第二织状结构的目标之间路由数据,且其中,所述路由电路被配置为检测对所述第一织状结构到织状结构链路的使用,且在检测到与发起方发起到通信上耦合到所述第二织状结构的目标的数据传输并发地使用所述第一织状结构到织状结构链路时,使用所述第二织状结构到织状结构链路在所述第一织状结构与第二织状结构之间路由所述数据传输。
3.如权利要求1所述的集成电路,其特征在于,所述路由电路操作上耦合到至少一个发起方织状结构接口,相应的发起方通信地耦合到所述至少一个发起方织状结构接口,且其中,通过选择引起经由所述第一织状结构到织状结构链路或第二织状结构到织状结构链路中的一个路由所述数据的地址,实现使用所述第一或第二织状结构到互连织状结构的动态路由。
4.如权利要求3所述的集成电路,其特征在于,所述地址对应于所述第一织状结构的目标代理接口的别名地址。
5.如权利要求1所述的集成电路,其特征在于,所述第一织状结构和第二织状结构中的每一个包括多个单向点对点互连,且其中,所述第一织状结构到织状结构链路和第二织状结构到织状结构链路中的每一个包括单向点对点互连。
6.如权利要求5所述的集成电路,其特征在于,所述第一织状结构和第二织状结构包括开放核心协议OCP织状结构,且所述第一织状结构到织状结构链路和第二织状结构到织状结构链路中的每一个包括开放核心协议OCP链路。
7.如权利要求1所述的集成电路,进一步包括:
第三织状结构,至少一个目标通信地耦合到所述第三织状结构;以及
第三织状结构到织状结构链路,所述第三织状结构到织状结构链路支持所述第二织状结构与第三织状结构之间的通信,
其中,所述路由电路被配置为经由所述第一织状结构到织状结构链路和第二织状结构到织状结构链路中的一个将源自通信地耦合到所述第一织状结构的发起方的数据有选择地路由到通信上耦合到所述第三织状结构的目标。
8.一种用于增强互连的数据吞吐量性能的方法,包括:
在通信地耦合到第一织状结构的发起方处发起数据传输,所述数据传输去往通信地耦合到第二织状结构的目标,所述第一织状结构和第二织状结构经由第一织状结构到织状结构链路和第二织状结构到织状结构链路通信地耦合;以及
经由所述第一织状结构到织状结构链路和第二织状结构到织状结构链路中的一个,将对应于来自所述发起方的所述数据传输的数据有选择地路由到所述目标,
其中所述第一织状结构到织状结构链路和所述第二织状结构到织状结构链路均是所述第一和第二织状结构之间的点对点互连。
9.如权利要求8所述的方法,其特征在于,所述织状结构包括开放核心协议OCP织状结构,且所述织状结构到织状结构链路包括开放核心协议OCP链路。
10.如权利要求8所述的方法,其特征在于,所述织状结构采用单向点对点链路,且所述织状结构到织状结构链路中的每一个包括单向点对点链路。
11.如权利要求8所述的方法,其特征在于,用于将来自所述发起方的数据传输到所述目标的所述选择性路由操作对所述发起方来说是透明的。
12.如权利要求8所述的方法,进一步包括使用包括多个逻辑门的嵌入式逻辑来实现所述选择性路由。
13.如权利要求8所述的方法,进一步包括:
在所述第一织状结构的发起方代理处接收数据传输请求,所述数据传输请求标识所述目标的地址;
基于所述目标的所述地址,确定所述第一织状结构和耦合到所述第二织状结构到织状结构链路中的别名目标代理的地址;以及
在所述第一织状结构内将所述数据传输从所述发起方代理内部路由到对应于所述别名地址的所述目标代理。
14.如权利要求8所述的方法,进一步包括:
检测所述第一织状结构到织状结构的链路是否繁忙;以及
如果所述第一织状结构到织状结构的链路繁忙,则经由所述第二织状结构到织状结构链路路由所述数据传输,否则,经由所述第一织状结构到织状结构链路路由所述数据传输。
15.一种片上系统SoC,包括:
多个开放核心协议OCP织状结构,其具有与所述开放核心协议兼容的接口,且包括至少第一开放核心协议OCP织状结构和第二开放核心协议OCP织状结构;
多个知识产权IP块,每一个都通信地耦合到所述多个开放核心协议OCP织状结构中的一个,所述知识产权IP块的至少一部分包括用于经由它通信地耦合到的所述开放核心协议OCP织状结构与其他知识产权IP块通信的接口,用于这样的IP块中的每一个的所述接口包括发起方接口、目标接口或发起方接口和目标接口两者的其中之一;
第一织状结构到织状结构开放核心协议OCP链路和第二织状结构到织状结构开放核心协议OCP链路,每一个都是所述第一和第二织状结构之间的点对点互连并且支持在所述第一开放核心协议OCP织状结构与第二开放核心协议OCP织状结构之间的通信;
路由电路和关联逻辑,所述路由电路和关联逻辑操作地耦合到所述第一织状结构到织状结构开放核心协议OCP链路和第二织状结构到织状结构开放核心协议OCP链路,
其中,所述路由电路和逻辑被配置为,通过有选择地使用所述第一织状结构到织状结构开放核心协议OCP链路或第二织状结构到织状结构开放核心协议OCP链路中的一个,来路由源自通信地耦合到所述第一开放核心协议OCP织状结构的第一知识产权IP块的发起方且去往通信地耦合到所述第二开放核心协议OCP织状结构的第二知识产权IP块的目标接口的数据,以将所述数据从所述第一知识产权IP块路由到所述第二知识产权IP块。
16.如权利要求15所述的片上系统SoC,其特征在于,使用多个链路来互连所述多个织状结构以便形成分层织状结构。
17.如权利要求15所述的片上系统SoC,其特征在于,所述第一开放核心协议OCP织状结构和第二开放核心协议OCP织状结构中的每一个包括多个单向点对点互连,且其中,所述第一织状结构到织状结构开放核心协议OCP链路和第二织状结构到织状结构开放核心协议OCP链路中的每一个包括单向点对点互连。
18.如权利要求15所述的片上系统SoC,其特征在于,所述片上系统SoC包括北复合体和南复合体,且在所述南复合体中实现所述多个开放核心协议OCP织状结构。
19.如权利要求15所述的片上系统SoC,其特征在于,所述路由电路被配置为按默认使用所述第一织状结构到织状结构开放核心协议OCP链路将在包括通信地耦合到所述第一织状结构的发起方接口的知识产权IP块之间的数据路由到包括通信地耦合到所述第二织状结构的目标接口的知识产权IP块,且其中所述路由电路被配置为,如果所述第一织状结构到织状结构开放核心协议OCP链路被判断为繁忙,则使用所述第二织状结构到织状结构开放核心协议OCP链路来路由所述数据。
20.如权利要求15所述的片上系统SoC,其特征在于,所述路由电路操作地耦合到至少一个发起方织状结构接口,知识产权P块的相应发起方接口通信地耦合到所述发起方织状结构接口,且其中,通过选择使得经由所述第一织状结构到织状结构开放核心协议OCP链路或第二织状结构到织状结构开放核心协议OCP链路中的一个路由所述数据的地址来实现使用所述第一或第二织状结构到织状结构开放核心协议OCP链路的动态路由。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/048627 WO2013028170A1 (en) | 2011-08-22 | 2011-08-22 | Method for data throughput improvement in open core protocol based interconnection networks using dynamically selectable redundant shared link physical paths |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103748837A CN103748837A (zh) | 2014-04-23 |
CN103748837B true CN103748837B (zh) | 2017-08-15 |
Family
ID=47746713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180072996.1A Active CN103748837B (zh) | 2011-08-22 | 2011-08-22 | 使用可动态选择的冗余共享链路物理路径在基于开放核心协议的互连网络中改善数据吞吐量的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9384161B2 (zh) |
KR (2) | KR101762779B1 (zh) |
CN (1) | CN103748837B (zh) |
DE (1) | DE112011105543T5 (zh) |
WO (1) | WO2013028170A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101762779B1 (ko) | 2011-08-22 | 2017-07-28 | 인텔 코포레이션 | 동적으로 선택 가능한 중복 공유된 링크 물리적 경로들을 사용하여 개방형 코어 프로토콜 기반 상호 접속 네트워크들에서 데이터 처리량 개선을 위한 방법 |
US9436623B2 (en) * | 2012-09-20 | 2016-09-06 | Intel Corporation | Run-time fabric reconfiguration |
US9921989B2 (en) * | 2014-07-14 | 2018-03-20 | Intel Corporation | Method, apparatus and system for modular on-die coherent interconnect for packetized communication |
US20170153892A1 (en) * | 2015-11-30 | 2017-06-01 | Intel Corporation | Instruction And Logic For Programmable Fabric Hierarchy And Cache |
US10289577B2 (en) * | 2016-05-11 | 2019-05-14 | New York University | System, method and computer-accessible medium for low-overhead security wrapper for memory access control of embedded systems |
US10916516B2 (en) * | 2017-06-07 | 2021-02-09 | Xilinx, Inc. | High bandwidth memory (HBM) bandwidth aggregation switch |
US20190303777A1 (en) | 2018-03-30 | 2019-10-03 | Provino Technologies, Inc. | Protocol level control for system on a chip (soc) agent reset and power management |
KR20200135780A (ko) * | 2018-03-30 | 2020-12-03 | 프로비노 테크놀로지스, 아이엔씨. | 인터커넥트와 연관된 가상 채널을 통한 트랜잭션의 부분들 중재하기 |
CN113985760B (zh) * | 2021-09-30 | 2024-03-26 | 秦皇岛远舟工业气体有限公司 | 应用于监测报警系统的基于arm的开关量处理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620585A (zh) * | 2008-05-30 | 2010-01-06 | 英特尔公司 | 为片上系统(SoC)提供外围组件互连(PCI)兼容的事务级协议 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4731825A (en) * | 1986-01-27 | 1988-03-15 | Tellabs, Inc. | Nonblocking switching system and method |
US6327260B1 (en) * | 1998-04-20 | 2001-12-04 | Lucent Technologies, Inc. | Controlled routing to a plurality of signaling interfaces at a single telephonic switch |
US6345330B2 (en) * | 1998-05-01 | 2002-02-05 | Acqis Technology, Inc. | Communication channel and interface devices for bridging computer interface buses |
US7200144B2 (en) * | 2001-10-18 | 2007-04-03 | Qlogic, Corp. | Router and methods using network addresses for virtualization |
US7499410B2 (en) * | 2001-12-26 | 2009-03-03 | Cisco Technology, Inc. | Fibre channel switch that enables end devices in different fabrics to communicate with one another while retaining their unique fibre channel domain—IDs |
US7161935B2 (en) * | 2002-01-31 | 2007-01-09 | Brocade Communications Stystems, Inc. | Network fabric management via adjunct processor inter-fabric service link |
US7254603B2 (en) | 2002-05-03 | 2007-08-07 | Sonics, Inc. | On-chip inter-network performance optimization using configurable performance parameters |
US8081642B2 (en) * | 2003-01-31 | 2011-12-20 | Brocade Communications Systems, Inc. | Method and apparatus for routing between fibre channel fabrics |
US8407433B2 (en) | 2007-06-25 | 2013-03-26 | Sonics, Inc. | Interconnect implementing internal controls |
US8059664B2 (en) * | 2004-07-30 | 2011-11-15 | Brocade Communications Systems, Inc. | Multifabric global header |
US20070088891A1 (en) * | 2005-10-13 | 2007-04-19 | Kelly John H | Administrative computer module |
US7760717B2 (en) * | 2005-10-25 | 2010-07-20 | Brocade Communications Systems, Inc. | Interface switch for use with fibre channel fabrics in storage area networks |
US7920588B2 (en) * | 2006-05-22 | 2011-04-05 | Edgewater Computer Systems, Inc. | Data communications system and method of data transmission |
WO2008011712A1 (en) * | 2006-07-28 | 2008-01-31 | Michael Tin Yau Chan | Wide-area wireless network topology |
US20080155149A1 (en) * | 2006-12-20 | 2008-06-26 | De Araujo Daniel N | Multi-path redundant architecture for fault tolerant fully buffered dimms |
US7925802B2 (en) * | 2007-06-21 | 2011-04-12 | Seamicro Corp. | Hardware-based virtualization of BIOS, disks, network-interfaces, and consoles using a direct interconnect fabric |
US8120958B2 (en) * | 2007-12-24 | 2012-02-21 | Qimonda Ag | Multi-die memory, apparatus and multi-die memory stack |
US8077602B2 (en) * | 2008-02-01 | 2011-12-13 | International Business Machines Corporation | Performing dynamic request routing based on broadcast queue depths |
TWM365529U (en) * | 2009-04-03 | 2009-09-21 | Genesys Logic Inc | Data access apparatus and processing system using the same |
TW201101455A (en) * | 2009-06-24 | 2011-01-01 | Nat Chip Implementation Ct Nat Applied Res Lab | Fabrication method for system-on-chip (SoC) modules |
US20110022356A1 (en) * | 2009-07-24 | 2011-01-27 | Sebastien Nussbaum | Determining performance sensitivities of computational units |
US20110191488A1 (en) * | 2010-01-29 | 2011-08-04 | Xgi Technology, Inc | Network media processing device and network media display system |
US8281033B1 (en) * | 2010-06-29 | 2012-10-02 | Emc Corporation | Techniques for path selection |
US8516272B2 (en) * | 2010-06-30 | 2013-08-20 | International Business Machines Corporation | Secure dynamically reconfigurable logic |
KR101762779B1 (ko) | 2011-08-22 | 2017-07-28 | 인텔 코포레이션 | 동적으로 선택 가능한 중복 공유된 링크 물리적 경로들을 사용하여 개방형 코어 프로토콜 기반 상호 접속 네트워크들에서 데이터 처리량 개선을 위한 방법 |
-
2011
- 2011-08-22 KR KR1020157010998A patent/KR101762779B1/ko active IP Right Grant
- 2011-08-22 US US13/994,303 patent/US9384161B2/en not_active Expired - Fee Related
- 2011-08-22 KR KR1020147004701A patent/KR101687273B1/ko active IP Right Grant
- 2011-08-22 DE DE112011105543.9T patent/DE112011105543T5/de active Pending
- 2011-08-22 CN CN201180072996.1A patent/CN103748837B/zh active Active
- 2011-08-22 WO PCT/US2011/048627 patent/WO2013028170A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620585A (zh) * | 2008-05-30 | 2010-01-06 | 英特尔公司 | 为片上系统(SoC)提供外围组件互连(PCI)兼容的事务级协议 |
Also Published As
Publication number | Publication date |
---|---|
KR101687273B1 (ko) | 2016-12-16 |
CN103748837A (zh) | 2014-04-23 |
KR20150055084A (ko) | 2015-05-20 |
US20130268710A1 (en) | 2013-10-10 |
DE112011105543T5 (de) | 2014-04-30 |
WO2013028170A1 (en) | 2013-02-28 |
KR101762779B1 (ko) | 2017-07-28 |
KR20140043940A (ko) | 2014-04-11 |
US9384161B2 (en) | 2016-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103748837B (zh) | 使用可动态选择的冗余共享链路物理路径在基于开放核心协议的互连网络中改善数据吞吐量的方法 | |
Beigné et al. | Design of on-chip and off-chip interfaces for a GALS NoC architecture | |
US10027433B2 (en) | Multiple clock domains in NoC | |
Saastamoinen et al. | Interconnect IP node for future system-on-chip designs | |
US8368423B2 (en) | Heterogeneous computer architecture based on partial reconfiguration | |
Saastamoinen et al. | Buffer implementation for Proteo network-on-chip | |
US20190266088A1 (en) | Backbone network-on-chip (noc) for field-programmable gate array (fpga) | |
Miro-Panades et al. | Physical Implementation of the DSPIN Network-on-Chip in the FAUST Architecture | |
CN102866980B (zh) | 用于多核微处理器片上互连网络的网络通信胞元 | |
CN102929329B (zh) | 片上系统间互连网络的动态重构方法 | |
CN104657297B (zh) | 计算设备扩展系统及扩展方法 | |
CN103365795A (zh) | 分布式重排序缓冲器 | |
Attia et al. | Network interface sharing for SoCs based NoC | |
KR20100087408A (ko) | SoC 아키텍처를 이용하여 집적 회로를 생산하는 방법 및 모놀리식 디바이스 | |
CN103222286A (zh) | 路由交换装置、网络交换系统和路由交换方法 | |
JP6452719B2 (ja) | フィールドプログラマブルゲートアレイ及び通信方法 | |
CN103885362A (zh) | 基于cpci-e总线的多dsp并行处理板 | |
CN111339023B (zh) | 一种节点板卡和服务器 | |
Tran et al. | AXI-NoC: high-performance adaptation unit for ARM processors in network-on-chip architectures | |
Alho et al. | Implementation of interface router IP for Proteo network-on-chip | |
Becker et al. | Run-time FPGA reconfiguration for power-/cost-optimized real-time systems | |
Saastamoinen et al. | An IP-based on-chip packet-switched network | |
Yaghini et al. | Power comparison of an asynchronous and synchronous network on chip router | |
Onizawa et al. | Accurate asynchronous network-on-chip simulation based on a delay-aware model | |
Nguyen et al. | High-performance adaption of ARM processors into Network-on-Chip architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |