当前位置: 首页 > 专利查询>英特尔公司专利>正文

SoC构造中的高效对等通信支持制造技术

技术编号:10494904 阅读:130 留言:0更新日期:2014-10-04 13:05
用于互连构造中的高效对等通信支持的方法及装置。实现与代理相关联的网络接口以便按一方式促进代理之间的对等事务,该方式确保数据访问与每个代理的最近更新相对应。这是部分地通过当源自代理的写入事务之间的目的地改变时使用从该代理发送的非记入式“虚写入”实现的。虚写入确保与之前的写入相对应的数据在后续写入和读取事务之前到达其目的地,因此对对等事务进行排序,而不要求使用集中化事务排序实体。

【技术实现步骤摘要】
【国外来华专利技术】SoC构造中的高效对等通信支持专利
本专利技术的领域总体上涉及计算机系统中的通信,并且更具体地但是不排他地涉及用于SoC构造中的增强对等通信的技术。背景信息计算机系统通常使用一个或多个互连来促进系统组件之间(诸如处理器和存储器之间)的通信。互连和/或扩展接口还可用于支持内置和添加设备,诸如10(输入/输出)设备和扩展卡等等。许多年来,在引入了个人计算机之后,主要的互连形式是平行总线。平行总线结构用于内部数据传送和扩展总线,诸如ISA(工业标准架构)、MCA(微通道架构)、EISA(扩展工业标准架构)以及VESA局部总线。在20世纪90年代早期,英特尔公司引入了 PCI (外围组件互连)计算机总线。PCI不仅通过增加总线速度而且通过引入使用共享地址和数据线的自动配置和基于事务的数据传送改进了早期的总线技术。随着时间推进,计算机处理器时钟速率以比平行总线时钟速率更快的步伐增加。结果是,计算机工作负载经常受限于互连瓶颈而不是处理器速度。尽管平行总线支持每个周期传送大量的数据(例如,PC1-χ下的32或甚至64位),但其时钟速率受限于定时偏移考虑因素,导致了对于最大总线速度的实践限制。为了克服这个问题,开发了高速串行互连。早期串行互连的示例包括串行ATA、USB (通用串行总线)、火线、以及Rapid1 (快速10)。广泛使用的另一种标准串行互连是PCI Express(PCIe),其在2004年在PCIel.0标准下引入。近来,统称为“片上系统”(SoC)的架构在计算机行业中变得流行。不是在分立组件之间具有外部互连,SoC采用促进各种嵌入式组件(诸如处理器内核以及其他IP (知识产权)块)之间的通信的内部互连。这些IP块通常经由一个或多个互连架构连接,所述互连架构诸如为互连网格(例如,纵横型互连),也称为互连构造,或简单地“构造(fabric)”,并且这些IP块与使用由互连所实现的可应用通信协议来管理IP内核组件之间的通信的代理相关联。设计SoC的通信构造会是非常有挑战性的。随着SoC上的IP块的数量继续增加,互连构造上的流量拥塞量也增加。然而,随着更多的IP块和相关联的代理被集成到SoC上,基于总线或基于层级树的构造遇到了严重的连线拥塞和时序闭合的问题,这限制了这些互连架构的可扩展性。结果是,SoC的片上通信构造现在从总线和层级树构造结构移动到更复杂的互连构造,诸如片上网络(NoC)、混合架构等等,原因在于这些更复杂的互连构造的可扩展性、可模块化性以及易于设计重新使用。附图简要说明当结合附图时,前述诸方面和本专利技术的许多伴随优势将变得更加容易认识到,正如通过参照以下详细说明更好地理解到的那样,其中,贯穿各种视图,类似的参考标号指代类似的部件,除非另外指明。图1是说明在耦合到互连的三个代理之间发送的一系列消息的示意框图;图2是说明连接到互连的多个代理的示意框图,其中,每个代理与促进事务排序以便确保数据访问不过时的网络接口相关联;图3是网络接口的一个实施例的示意框图;图4是说明根据一个实施例的由网络接口执行的逻辑和操作的流程图;图5a_5f是用于说明使用虚写入以便确保一系列事务的适当事务排序的走查示例的示意框图;以及图6是采用片上网络的示例性片上系统的示意框图。详细说明在此描述了用于SoC构造中的高效对等(peer-to-peer)通信支持的方法及装置的实施例。在以下说明中,列出了许多特定细节以便提供本专利技术实施例的透彻理解。然而,本领域普通技术人员将认识到可在没有这些特定细节中的一个或多个或者具有其他方法、组件、材料等等的情况实践本专利技术。在其他情况下,未详细地示出或描述公知的结构、材料、或操作以便避免混淆本专利技术的方面。贯穿本说明书对“一个实施例”或“实施例”的参考是指在此结合该实施例所述的特定特征、结构或特性包括在本专利技术的至少一个实施例中。因此,贯穿本说明书,短语“在一个实施例中”或“在实施例中”在各种地方的出现并非必须全部指代相同的实施例。而且,特定特征、结构或特性可在一个或多个实施例中以任意适当的方式组合。对等通信支持是SoC构造设计中的重要特征。对等通信的重要挑战是要求确保正确的排序。图1展示排序要求的示例。在本示例中,代理(agent) A首先向代理B发布写入(步骤I)。然后,代理A向代理C发送标志以便表明其已经写入数据(步骤2)。当代理C接收到该标志时,其向代理B发布读取(步骤3)。要求是代理C需要获得由代理A写入的最近的数据。然而,如果未被正确地设计,由代理C发布的读取可能比由代理A写入的数据更早到达代理B。结果是,代理C可能读取过时数据而不是最近的数据。在当前英特尔? SoC平台中,对等通信排序由支持PC1-e排序的总线和层级树构造支持。然而,当互连结构从总线和层级树发展到更复杂的构造架构时,对等支持变成重要的挑战,因为无法在这些先进的构造架构中确保排序。一种解决方案是在互连构造中使用集中化排序以便确保维护正确的排序。然而,这种方法增加了通信时间并且集中化排序点会变成瓶颈,因为在行进到达其目的地之前,每个请求必须被首先发送到排序点。设计者还可针对对等通信使用非记入式写入而不是记入式(posted)写入。然而,非记入式写入方法为对等事务增加了显著的通信延迟,因为其要求在发送下一请求之前确认每个发布的写入,因此非记入式写入不能满足这种系统中的性能要求。鉴于前述和其他性能考虑,现在提出了一种支持互连构造中的直接对等通信而不需要集中化排序点的低开销设计。图2说明采用互连构造202作为通信构造的SoC平台200的示例。在本架构中,每个代理204通过网络接口(NI) 206连接到互连构造。NI对来自不同队列的请求进行仲裁并且将获胜请求打包(如果适用的话)并且将该数据包发送到互联构造202。然后,互连构造将该数据包路由到其目的地(即,另一个代理),并且目的地NI将该消息解包并且将该消息传递到目的地代理。总体而言,互连构造202可以是任意构造架构,诸如传统总线、层级树、或更复杂的构造,诸如片上网络(NoC)、混合架构等等。而且,这种技术对要求构造中的对等排序支持的任意互连构造有效。图3说明根据一个实施例的NI206的进一步的细节。在代理处发起的出站请求被缓冲到出站队列300,其中仲裁器302对发送出这些请求的顺序进行仲裁。响应于仲裁器302从队列300选择请求,该请求在框304被打包并且被发送到构造上。入站请求包括从构造接收的并且目的地是该代理的数据包。这些数据包首先在框306被解包,其中相应的请求数据被缓冲在入站队列308中。然后,仲裁器310用于对将排队的请求转发到该代理的顺序进行仲裁。注意,图3中所说明的NI206仅仅是支持对等事务的NI的一个示例,因为还可实现其他NI配置。对于对等通信而言,如果从不同的来源代理发送的两条消息的目的地是同一个目的地代理并且要求排序,则要求首先发送的消息应当首先到达目的地。然而,在构造内部,因为来自不同来源代理的对等消息可采取到达同一目的地的不同路线,非常可能的是在某个点,目的地为同一目的地代理的一对消息将从它们被注入到构造中的时间起以不同的顺序到达目的地。结果是,无法保证对等排序。关键考虑因素是记入式写入事务排序。为了确保正确的对等记入式写入事务排序,实现一种本文档来自技高网...
SoC构造中的高效对等通信支持

【技术保护点】
一种方法,包括:促进耦合到互连构造的代理之间的对等写入和读取事务;以及使用基于对端的设施来对所述写入和读取事务进行排序,从而确保读取事务访问最近的数据。

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括: 促进耦合到互连构造的代理之间的对等写入和读取事务;以及 使用基于对端的设施来对所述写入和读取事务进行排序,从而确保读取事务访问最近的数据。2.如权利要求1所述的方法,进一步包括: 对于在代理处发起的写入事务,存储与所述写入事务的目的地相对应的目的地标识符(ID); 确定与在所述代理处发起的当前写入事务相对应的目的地ID是否不同于与在所述代理处发起的紧邻前一写入事务相对应的目的地ID ;以及,如果所述两个目的地ID不同, 在将所述当前写入事务发送到所述互连构造上以便被路由到其目的地之前,从所述代理向所述互连构造上发送虚写入以便被路由到之前的目的地。3.如权利要求2所述的方法,其中,所述虚写入包括非记入式写入。4.如权利要求2所述的方法,进一步包括在将所述当前写入事务发送到其目的地之前,等待接收所述虚写入的确认。5.如权利要求2所述的方法,进一步包括实现多个网络接口,以便在所述代理和所述互连构造之间提供接口,每个网络接口与至少一个代理相关联,其中,网络接口被配置成用于存储与所述网络接口相关联的每个代理的最近写入事务的目的地ID,并且当从同一代理发起的顺序的写入事务具有不同的目的地ID时生成虚写入。6.如权利要求5所述的方法,其中,所述多个网络接口被实现为使得每个网络接口与对应的代理相关联。7.如权利要求2所述的方法,进一步包括向至少一个其他代理发送写入通知,表明与所述当前写入事务相对应的目的地可用于数据访问。8.如权利要求1所述的方法,其中,所述互连构造包括二维网格互连。9.如权利要求1所述的方法,其中,在片上系统(SoC)上实现所述代理和互连构造。10.一种装置,包括: 互连构造; 多个代理;以及 多个网络接口,每个网络接口操作性地耦合在至少一个代理和所述互连构造之间并且包括用于按一方式促进所述多个代理之间的对等通信的逻辑,该方式确保对等代理之间的数据事务被排序为使得每个数据事务所访问的数据包括所述数据的最近更新。11.如权利要求10所述的装置,其中,所述互连构造包括片上网络。12.如权利要求10所述的装置,其中,网络接口包括用于促进以下操作的逻辑: 存储与在耦合至所述网络接口的代理处发起的第一写入事务的目...

【专利技术属性】
技术研发人员:B·李L·赵R·艾耶R·G·伊利卡尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1