首页> 中国专利> 在基于链路的计算系统内的输入/输出配置消息发送

在基于链路的计算系统内的输入/输出配置消息发送

摘要

本发明描述了一种包括至少使用配置事务地址的一部分来执行存储器内的查找的方法。配置事务在位于基于链路的计算系统内的被连接到I/O段的I/O单元处执行配置功能。查找用来识别在基于链路的计算系统内的组件。通过在基于链路的计算系统内的组件访问I/O段。

著录项

  • 公开/公告号CN1696915A

    专利类型发明专利

  • 公开/公告日2005-11-16

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN200410103605.X

  • 申请日2004-12-27

  • 分类号G06F13/00;H04L12/56;

  • 代理机构11258 北京东方亿思知识产权代理有限责任公司;

  • 代理人王怡

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 16:42:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2008-04-16

    授权

    授权

  • 2006-01-11

    实质审查的生效

    实质审查的生效

  • 2005-11-16

    公开

    公开

说明书

技术领域

本发明的领域一般地涉及计算系统;更具体地说,涉及在基于链路的计算系统内的I/O配置消息发送。

背景技术

图1a示出了总线120的描绘。总线120是用于在电子组件101a-10Na与110a之间传输通迅信息的“共享介质”通信结构。共享介质意思是指相互通信的组件101a-10Na与110a物理地共享相同的电子线路120,并且被连接到相同的电子线路120。就是说,线路120是共享的资源,其由组件101a-10Na及110a的任一个用来与组件101a-10Na及110a的任何其它组件通信。例如,如果组件101a希望与组件10Na通信,则组件101a会将信息沿着线路120发送到组件10Na;如果组件103a希望与组件110a通信,则组件103a会将信息沿着相同的线路120发送到组件110a,等等。

传统上,计算系统已经利用了总线。例如,对于某些IBM兼容PC,总线120相当于PCI总线,其中组件101a-10Na相当于“I/O”组件(例如,LAN网络适配卡、调制解调器、硬盘存储器等),并且组件110a相当于I/O控制集线器(ICH)。作为另一个例子,对于某些多处理器计算系统,总线120相当于“前端”总线,其中组件101a-10Na相当于微处理器,并且组件110a相当于存储器控制器。

由于被称作“电容性负载”的现象,当计算系统速度增长时,总线就越来越不实用。基本上,随着任何线路的电容性负载增大,可以在线路中传输信息的最大速度就降低。就是说,线路的电容性负载与同一线路的速度成反比关系。添加到线路的每一组件导致该线路的电容性负载增长。因此,因为总线一般耦合多个组件,所以一般认为总线线路120有很大的电容负载。

在过去,当计算系统时钟速度相对低时,因为被降低了的总线线路最大速度(由于电容性负载)仍远超过计算系统的内部时钟速度,所以计算系统总线上的电容性负载不是严重的问题。至少对于某些今天的计算系统,就不能同样看待了。就是说,随着计算系统时钟速度在过去这些年里不断增大,计算系统今天的速度正达到(和/或也许正超过)诸如总线线路120之类有很大电容负载的线路的最大速度。

因此,计算系统正向“基于链路”组件到组件互连方案迁移。图1b示出了与图1a对比的比较例子。根据图1b的方法,计算系统组件101a-10Na及110a通过高速双向点到点链路1301到130N的网络140被相互连接。双向点到点链路一般包括,以第一方向传送信息的第一单向点到点链路,以及以与第一方向相反的第二方向传送信息的第二单向点到点链路。因为单向点到点链路一般有单个端点,它的电容性负载比共享介质总线的电容性负载小的多。

可以用铜缆或光缆,以及合适的驱动器及接收机(例如,用于铜缆的单个或差动线路驱动器和接收机;以及用于光缆的激光发射器或LED E/O发射器及O/E接收机等)构造每个点到点链路。图1b中的网络140是简化的,其中每个组件由点到点链路连接到每个其它的组件。在更复杂的方案中,网络140包括多个路由/交换节点。这里,每个组件不需要被点到点链路耦合到每个其它组件。相反,为了将信息从源组件传输到目的地组件,跨越多个链路的跳可以通过路由/交换节点发生。依赖于实现,路由/交换功能可以是网络中的孤立功能,或者可以被集成到计算系统的独立存在的组件中(例如,处理器、存储器控制器、I/O单元等)。

与这种趋势相一致,图2示出了基于链路的I/O段200的实施例。I/O段是在计算系统内的电路区域,其允许I/O单元在相互之间交换信息和/或与在I/O段外的其它计算系统组件之间交换信息。可以将计算系统的I/O单元看作计算系统的功能的这样一个部分,该部分负责从计算系统外接收信息和/或从计算系统内向计算系统外发送信息。因此,I/O单元一般包括用户接口(例如,键盘接口、鼠标接口、显示器接口)、网络接口(例如,调制解调器、无线LAN适配器等)和打印机接口。

人们通常从计算系统的处理器和系统存储器视角看I/O,而不是从将整个计算系统作为一个整体的视角看I/O。从这种视角,I/O被看作计算系统的功能的这样一部分,该部分至少可以向计算系统的系统存储器发送信息和/或从计算系统的系统存储器发送信息。因此,诸如盘状存储器件(例如,磁盘驱动器、CD-ROM等)之类的非易失性存储器件和/或“闪存卡”常常被包括在计算系统的I/O单元的列表中(连同上述I/O单元)。除非另外指出,本申请使用I/O的后一视角。

图2的基于链路的I/O段与PCI Express I/O段一致。PCI Express是一种工业标准I/O段体系结构。图2的PCI Express I/O体系结构通过它自身的双向链路连接I/O单元2051-5的每一个。I/O单元2052-5的任意两个可以通过交换机202在相互之间发送信息。交换机202也支持在I/O单元2052-5的任一个与计算系统的其余部分之间的通信。还可以看到遗留总线207(例如,PCI总线)使用电桥204,通过双向链路连接到根联合体201。

I/O段可以包括访问点,I/O段与计算系统的其余部分之间的信息通过该访问点流动(注意根联合体201是图2的I/O段200的访问点)。I/O段常常被设计来在I/O段的访问点处接收和响应配置命令208。在基于链路的I/O段的情形中,为了配置I/O单元的行为的某些功能方面,配置命令208一般可以是以具体I/O单元为目标的。

在基于链路的计算系统的情形中,如果将多个I/O段设计到相同的计算系统中,则以具体I/O段为目标的配置事务分组(无论基于链路的还是基于总线的)到达它们合适的目的地是重要的。不幸地是,至少PCI及PCI Express标准未能指定被设计用来把在同一计算系统中的多个不同I/O段的任何一个作为目标的配置事务。因此,需要一种系统设计,该系统设计确保到正确的目标I/O段的I/O配置事务分组的合适的路由,该目标I/O段在存在于基于链路的计算系统中的多个I/O段中。

发明内容

根据本发明的一个方面,提供了一种方法,该方法包括至少使用配置事务地址的一部分来执行在存储器中查找,配置事务在位于基于链路的计算系统内的被连接到输入/输出段的输入/输出单元处执行配置功能,查找识别在基于链路的计算系统内的组件,通过在基于链路的计算系统内的组件访问输入/输出段。

根据本发明的另一个方面,提供了一种装置,该装置包括包括有查找逻辑电路及存储器电路的源地址解码器,源地址解码器有至少接收配置事务地址的一部分的输入线路,配置事务在基于链路的计算系统内被连接到输入/输出段的输入/输出单元处执行配置功能,源地址解码器有表示在基于链路的计算系统内的组件的标识的输出线路,在基于链路的计算系统内通过组件访问输入/输出段。

根据本发明的另一个方面,提供了一种装置,该装置包括基于链路的计算系统,其包括通过网络通信地耦合到第二组件的第一组件,该网络由在第一组件与第二组件之间传输信息的铜缆组成,第一组件由包括查找逻辑电路及存储器电路的源地址解码器组成,源地址解码器有至少接收配置事务地址的一部分的输入线路,配置事务在被连接到通过第二组件访问的输入/输出段的输入/输出单元处执行配置功能,源地址解码器有表示第二组件的标识的输出线路。

附图说明

利用附图的图中的例子示例性地而不是限制性地说明了本发明,在附图中,相似的参考指示相似的元件,其中:

图1a示出了通过总线互连的组件;

图1b示出了通过点到点链路网互连的组件;

图2示出了I/O体系结构;

图3示出了基于链路的计算系统的实施例;

图4示出了基于链路的计算系统的节点的实施例,该节点包括协助将I/0配置事务地址转换到分组中的源解码器;

图5示出了用于将I/O配置事务地址转换到分组中的方法的实施例;

图6示出了用于创建响应分组的方法的实施例,该响应分组响应于根据图5的方法生成的分组。

具体实施方式

图3和图4一起提出了一种设计,该设计确保到正确的目标I/O段的I/O配置事务分组的合适的路由,该目标I/0段在有多个I/O段的基于链路的计算系统内。参考图3,图3示出了基于链路的计算系统(或者它的一部分)。基于链路的计算系统包括从3011到3014的四个组件。组件3011和3013每个具有至少一个处理器(为了方便说明,没有在图3中示出),该处理器被配置来执行完成I/O段配置任务的软件。

组件3012和3014至少分别作为I/O段3001和3002的访问点网关。这样,应当将到I/O段3001去的配置事务分组发送到组件3012,并且应当将到I/O段3002去的配置事务分组发送到组件3014。网络340是基于链路的计算系统网络。在工作期间,组件3011或3013之一可以寻求发起到与I/O段3001和3002之一相关联的I/O单元的配置事务。至少存在两类配置事务:1)写;和2)读。

对于读配置事务,将分组从执行配置软件的组件(例如,组件3011和3013之一)发送到I/O单元被连接到其中的I/O段,该I/O单元被作为读的目标。如上所述,为了将分组发送到目标I/O单元,应当将分组经过网络340路由到目标I/O段的访问点网关组件。分组包括的内容(例如,在分组的有效载荷中),除了其它可能的信息条目外:1)识别目标I/O单元;和2)识别将从其中读出信息的在目标I/O内的寄存器。目标I/O单元被连接到其中的I/O段理解分组的内容,并且从在被识别出的目标I/O单元内的被识别出的寄存器读出信息。然后,将从I/O单元读出的寄存器信息放置到第二分组的有效载荷中,该第二分组经过网络340被发送到发起该事务的组件。

对于写配置事务,将分组从执行配置软件的组件(例如,组件3011和3013之一)发送到I/O单元被连接到其中的I/O段,该I/O单元被作为写的目标。分组包括的内容,除了其它可能的信息条目外:1)识别目标I/O单元;2)识别信息将被写入到其中的在目标I/O内的寄存器;和3)将要被写入到所识别出的寄存器中的信息。目标I/O单元被连接到其中的I/O段理解分组的内容,并且将信息写入到在被识别出的目标I/O单元内的被识别出的寄存器中。根据至少一个可能的实施例,然后将响应(例如,指示成功的写入)放置到第二分组的有效载荷中,该第二分组经过网络340被发送到发起该事务的组件。

可以用地址标示在基于链路的计算系统中的网络340上执行的事务。就是说,例如,可以给每一具体类别的事务一个唯一的地址,其在发起事务的组件上执行。为了发起一种具体的事务,由组件的硬件将该事务的地址解码到完成该事务所必需的动作中。

因此,在配置读事务的情形中,作为对应于配置读事务的地址,被发起该事务的组件的硬件解码到将分组发送到目标I/O段的动作中,该分组具有将被目标I/O段解释为读的内容。在配置写事务的情形中,作为对应于配置写事务的地址,被发起该事务的组件的硬件解码到将分组发送到目标I/O段的动作中,该分组具有将被目标I/O段解释为写的内容。

因为至少PCI和PCI Express标准没能指定被设计来将在同一个计算系统内的多个不同的I/O段的一个作为目标的配置事务,所以需要将能够把多个I/O段的任何一个作为目标的地址解码处理设计到发起I/O单元配置事务的组件的操作中。图3通过存储器映射3131和3132指出存储器映射源地址解码处理可以被用来生成足以将初始事务分组路由至目标I/O段的网关组件的路由信息。根据图3的存储器映射3131和3132,每个将要被作为目标的I/O段使用不同的地址范围。因此,存储器映射3131和3132的每一个有用于以I/O段3001为目标的那些配置事务地址的第一地址范围(R1),以及用于以I/O段3002为目标的那些配置事务地址的第二地址范围(R2)。注意,映射3131的R1范围可以是与映射3132的R1范围不同的物理地址空间范围。同样地,映射3131的R2范围可以是与映射3132的R1范围不同的物理地址空间范围。用来实现存储器映射3131和3132的存储器器件可以包括随机存取存储器(RAM)和/或内容可寻址存储器(CAM)。在CAM的情形中,R1和R2范围可以对应于键范围而不是地址范围。

图4和图5更加详细地描述了事务地址解码处理的实施例。图4示出了用于在基于链路的计算系统的组件401内的电路的高层硬件设计,其可以发出去往多个I/O段中正确的一个的配置分组;并且,图5示出了一种可以由图4的硬件设计执行的方法。参考图4和图5,在501开始生成配置事务地址405、505。在各种实施例中,在501由I/O配置软件生成配置事务地址405、505,I/O配置软件的目的是控制散布在基于链路的计算系统内多于一个I/O段中的I/O单元的配置。图5的具体实施例指出配置事务地址505包括以下数据结构:段/总线/器件/功能/扩展寄存器/寄存器。

那些普通技术人员将把配置事务地址505的总线/器件/功能/扩展寄存器/寄存器部分505a认为是PCI、PCI-X或PCI-Express配置事务的标准格式。这里,“总线”参数识别在I/O段内哪种PCI总线(在PCI、PCI-X和PCI-Express的情形中)或PCI-Express链路(在PCI-Express的情形中)被作为配置事务的目标。“器件”参数识别在目标总线/链路上哪个I/O单元被作为配置事务的目标。“功能”参数识别将由配置事务执行的功能(例如,读或写)。“扩展寄存器”(如果可用的话)和“寄存器”参数定义将被配置事务影响的目标I/O单元的寄存器空间。

段参数505a是新特性,其识别在基于链路的计算系统内哪个I/O段被配置事务作为目标。注意,整个配置事务可以包括比仅仅段/总线/器件/功能/扩展寄存器/寄存器结构505更多的信息/参数。然而,为了识别存储器映射地址解码处理的目的,只需要示出事务地址的段/总线/器件/功能/扩展寄存器/寄存器部分505,该存储器映射地址解码处理足以用于识别在基于链路的计算系统内被连接到多个I/O段之一的目标I/O单元。

在识别事务的目标I/O段中,段参数505b用作到源地址解码器402的输入参数,源地址解码器402确定目标I/O段的网关组件(例如,参考图3,如果I/O段3001是目标I/O段,则是组件3012;或者,如果I/O段3002是目标I/O段,则是组件3014)的特定网络节点(节点ID)。源地址解码器402包括用于响应于配置事务地址405的405a部分被呈现(具体地说,段参数505a),从存储器映射413查找节点ID信息的查找逻辑电路414。到目标I/O段的网关组件的节点ID被作为源地址解码器402的输出提供。

如上所提到的,配置事务地址空间(以及因此的存储器映射413)可以被分区,使得将第一地址范围保留给这样的配置事务地址,该配置事务地址的对应配置事务都以相同的“第一”I/O段(例如,I/O段3001)为目标;将第二地址范围保留给这样的配置事务地址,该配置事务地址的对应配置事务都以相同的“第二”I/O段(例如,I/O段3002)为目标,等等。在替换实施例中,实现多个并联的源地址解码器来提高性能(即,提高每秒查找的数目)。根据另一个实施例,第一源地址解码器被用来识别第一网关组件的节点ID,并且第二地址解码器被用来识别第二网关组件的节点ID。

不管如何执行查找,也不管以何种方式确定最终的节点ID输出(例如,从存储器映射直接取出、从在存储器映射内找到的信息确定等),在组件401的网络层403处,节点ID输出406与信息405b的其余部分都被合并,信息405b的其余部分是需要用来完整地刻画配置事务的特征的(例如,总线/器件/功能/扩展寄存器/寄存器部分505b)。在503处,网络层403负责创建分组并且将分组在基于链路的计算系统的网络440上发送。

图5也图解了由网络层403产生的示例性分组504;在这里,该分组对应于这样的情形,在这种情形中,为了对被连接到I/O段3001的I/O单元执行配置功能的目的,图3的组件3011将配置事务分组经过网络340发送到组件3012。分组504包括头部信息504a,头部信息504a包含有组件3012的标识(即,分组被发送到的组件的标识=节点ID2)以及组件3011的标识(即,发送分组的组件的标识=源ID1)。分组的有效载荷504b包括配置事务地址505的总线/器件/功能/扩展寄存器/寄存器部分505b。在写事务的情形中,有效载荷部分也会包括将要被写的信息。

图6示出了响应于在601配置事务地址的接收,可以在网关组件处被执行的方法。为了简化,图6的方法参考仅仅在上面参照的特定的实施例,在该实施例中,为了对被连接到I/O段3001的I/O单元执行配置功能的目的,图3的组件3011将配置事务分组经过网络340发送到组件3012。同样,图6的方法对应于组件3012的响应于在601分组504的接收的行为,其中分组504是从组件3011发送的。

在图6中示出了为了解释该响应的目的的相关信息605,相关信息605包括源ID1(其标识组件3011)及总线/器件/功能/扩展寄存器/寄存器信息。如上所述,通过网关组件3012被访问的I/O段3001理解并且使用总线/器件/功能/扩展寄存器/寄存器信息605b。因此,在602处,I/O段响应于信息605b,执行信息605b指定的配置事务功能。响应606依赖于功能。例如,在读事务的情形中,该响应是从目标寄存器读取的信息。在写事务的情形中,该响应可能包括写操作被成功完成的确认。

响应与发起事务请求的组件3011的标识605a(=源ID1)被合并。由于节点ID指定分组的目的地组件的标识及源ID指定分组的发送节点的标识,因此设置由网关组件3012产生的分组的节点ID等于由网关组件3012接收到的分组的源ID(即,设置节点ID1=源ID1),会导致响应被自动地发送到发起配置事务的组件3011。响应分组的源ID是网关组件的标识(即,源ID2)。因此,响应分组的头部604a是节点ID1/源ID2。响应分组的有效载荷604b是来自被执行的配置功能的响应606。

在前面说明书中,已经参考本发明的具体的示例性实施例描述了本发明。然而可以清楚的是,可以对其作出各种改变和变化,而不脱离在所附的权利要求中提出的本发明的更广泛的精神及范围。因此,说明书及附图应当被认为是说明性的而不是限制性的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号