专利名称:协商通信速度的方法和设备的利记博彩app
技术领域:
本发明涉及在设备之间通信的领域。更具体来说,本发明涉及用于在设备之间协商通信速度的方法和设备。
背景技术:
事实上,数据总线存在于所有计算机和基于处理器的设备中,以利于多种组件之间的通信。例如,数据总线可以利于处理器与随机存
取存储器、其他专用集成电路(ASIC)和外围设备之间的通信。 一些总线需要用于协调的复杂逻辑、用于实现海量数据传输的高速和多个线路,而另一些数据总线是单个线路、具有相对简单逻辑的低速总线。单线数据总线避免了较复杂总线所面临的许多问题,例如,多个迹线(trace )、多个引脚和高门数,从而使此类总线在硬件和空间要求方面具有远远较低的成本。
支持多个设备之间的通信的多个双线总线(例如PhilipsElectronics N.V.开发的I2C总线)使用线或技术。在一些此类配置中,通过上拉电阻器或晶体管将总线保持高。当设备期望使用该总线来进行通信时,设备以低位速率驱动总线,该低位速率设计成利于与可能在总线上的最'f曼设备的通信。
但是,在许多情况中,在相同总线上工作的设备能够以相当不同的速度工作。当始发设备将总线驱动到低以初始化通信时,始发设备选择低位速率来确保接收(客户机)设备能够识别与该通信关联的地址。 一旦选择了位速率并将地址驱动到总线上,即使接收设备和始发设备都能够釆用较高位速率,接收设备仍识别地址,并以相同的低位速率从始发设备接收通信的消息部分,。例如,假定总线上的最慢客户机设备能够以10 Kbps (每秒千位)或100网/位(每位微秒)通信,最快的釆用1 Mbps (每秒兆位)或1 ns/位(每位微秒)通信。低位速率可以是10Kbps,并且如果消息是10字节长,且设备使用8位地址,则通信花费总共88个位时间(bit times)(以每位100微秒)或8.8 ms (毫秒)。然而最快设备可能潜在地以1 ps /位或0.88 ms在88个位时间通信。速度协商机制支持共享总线上不同设备速度的混合以确保与慢速设备的通信,但是目前在与快速设备通信时牺牲了性能。
通过阅读下文详细描述并参考附图,本发明的多个方面将变得显而易见,在这些附图中相同的引用号可以指示相似的部件
图1示出包括经由单线总线耦合的处理器、温度传感器、电压传感器和微控制器的系统的实施例;
图2示出例如图1的单线总线的多客户机总线上的通信的时序图的实施例;
图3示出为始发设备与接收设备之间的消息进行位速率协商的详细时序图的实施例;
图4示出具有为传输地址和消息协商位速率的逻辑的始发和接收设备的实施例;
图5示出始发设备与一个或多个接收设备协商消息位速率的实施例的流程图;以及
图6示出接收设备与始发设备协商消息位速率的实施例的流程图。
具体实施例方式
下文是附图示出的本发明的多个实施例的详细描述。这些实施例非常详细,能清楚地表述本发明。但是,所提供的细节并不是要限制实施例的预期变化,而相反,本发明涵盖落在所附权利要求定义的本发明的精神和范围内的所有修改、等效物和替换。下文的详细描述旨在使本领域技术人员更易明白这些实施例。
一般来说,设想用于协商例如总线的多个客户机通信々某体上的通信消息的位速率的方法和设备。实施例可以包括用于々某体管理的主机以及与通信々某体耦合的一个或多个客户机设备。主机和/或一个或多个客户机设备可以包括能够通过通信々某体始发通信的设备,也称为始发设备。而且,主机和/或一个或多个客户机设备可以包括能够经由通信媒体接收通信的设备,也称为接收设备。在一些实施例中,通信媒体
可以是例如筒单串行传输(SST)总线等的单线总线。
在一个实施例中,始发设备与潜在的接收设备协商以确定传送通信的第一位速率。通信可以包括与作为该通信目标的一个或多个接收设备相关联的地址和传送到所寻址的接收设备的消息。注意,在一些实施例中,地址可以具体标识客户机设备,而在另一些实施例中,地址可以标识一个子群的设备、 一个或多个指定类型的设备或一类设备,例如较快设备、较新设备、较慢设备、较旧设备、某个地址范围内的设备等。在另一些其他实施例中,地址可以标识不是通信目标的设备,而非肯定地标识是通信目标的设备。
在选择第一位速率后,始发设备可以传送上述地址。始发设备然后可以与#:寻址的接收设备协商第二位速率以利于消息的传输。在很
多实施例中,始发设备可以传送消息速率信号,该消息速率信号指示始发设备传送消息所能够釆用的最快速率,然后监视总线以发现来自被寻址的接收设备的响应。
被寻址的接收设备的其中一个或多个设备可以通过不同的位速率指示来响应。在几个实施例中,被寻址的接收设备通过延长在总线上保持逻辑位电平(例如电压电平、光强度或其他信号振幅)的时间长度来进行响应,以创建修改的消息速率信号。在此类实施例中,被寻址的接收设备可以指示它们接收该消息所能够釆用的最快位速率。由被寻址的接收设备指示的最慢位速率将逻辑位电平延长一个最长的持续时间,并且始发设备可以基于该最长的持续时间来选择消息位速率。在一些实施例中,始发设备和接收设备可以通过至同一个线路的线或连接将逻辑位电平应用于总线,并且几乎可以同时进行。
出于描述的目的,假定总线上的最慢的客户机设备能够实现
10Kbps (每秒千位)或100 ps /位(每位微秒),以及总线上的最快设备能够实现1 Mbps (每秒兆位)或1 ps /位(每位微秒)。协商的位速率可以是10Kbps,并且如果消息是10字节长,这些设备使用8位地址,以及定时协商花费1个位时间,则通信会花费总共89个位时间(每位100 ps )或8.9 ms (毫秒)。当目标定位于事务时,快的客户机设备可以在传送8位地址之后重新协商速度。由此该通信可能花费90个位时间;9个位采用10 Kbps速率(1个位用于地址定时协商而8个位用于地址),而余下81个位采用1 Mbps速率,总共981 ps。
虽然部分下文的详细论述结合特定配置和协议来描述实施例,但是本领域技术人员可以理解这些实施例还可以通过其他配置和其他协议来实现。
现在转到附图,图1示出系统100的实施例。系统100是计算机系统,例如个人计算机、膝上型计算机、工作站或服务器。相似的实施例可实现为例如便携式音乐播放器、便携式视频播放器、智能电话或其他蜂窝电话、数字摄像机、数字照相机、个人数字助理(PDA)、外部存储设备等。其他实施例实现较大型的服务器配置,例如实现系统管理总线(SMBus)的服务器系统。在此类实施例中,微控制器(例如微控制器130 )可以用作简单串行传输(SST )主机和SMBus至SST桥。
系统100包括处理器140、与动态随机存取存储器(DRAM) 185耦合的存储器控制器集线器150以及输入输出(1/0)控制器集线器160。处理器140表示用于系统的一个或多个处理器,例如Inte跑公司的Pentium 处理器、Xeon⑧处理器、Itanium⑧处理器、Celeron⑧处理器等。存储器控制器集线器150和I/O控制器集线器160表示芯片组,例如Intel⑧公司的975X Express芯片组、865P芯片组、845G芯片组、855GM芯片组、E7525芯片组、E8870芯片组、852GME芯片组、537EP芯片组、854芯片组等。DRAM 185可以是系统存储器,它通过存储与应用和其他代码相关的数据和指令来支持处理器140执行指令。
在本实施例中,I/O控制器集线器160支持SST总线170和总线190上的客户机设备,这两个总线均是单线总线。客户机设备包括诸如温度传感器110、电压传感器120、微控制器130和数字温度计180的设备。更确切地说,1/0控制器集线器160包括主机162,主机162管理并桥接SST总线170与总线190之间的通信。在一些实施例中,1/0控制器集线器160可以包括具有或不具有桥166的用于SST总线170和总线190的单独主机,在其他实施例中,1/0控制器集线器160可以仅包括用于SST总线170或总线190的主机。在又一些实施例中,可以将总线主机和/或桥166的其中之一或二者包含在单独的集成芯片封装中。
主机162可以作为始发设备(即发起通信的设备)和接收设备(即响应其他设备发起的通信的设备)。例如,主机162可以向温度传感器110、电压传感器120、微控制器130发起复位地址"ResetAddressO"命令,在一些实施例中,向数字温度计180发起该命令,以便将所有可动态寻址的客户机设备的地址复位。可动态寻址客户机设备将响应ResetAddress()命令复位到缺省地址,以便为地址解析协议(ARP)作准备。ARP为可动态寻址的客户机设备指定地址。可以在例如SST总线170加电时发起ResetAddress()命令,或者可以响应识别到总线上的客户机设备之间的地址冲突而发起ResetAddress()命令。
当用作始发设备时,主机162可以为总线170和190协商地址传输位速率。在一些实施例中,协商可包括以主机162确定的可达位速率,将总线上的电压升高到高电压电平,并持续位速率周期的四分之一。可达位速率可以是发起通信时主机162在SST总线170和总线190上均可达到的最快位速率。如果例如微控制器130的客户机i殳备无法以该可达位速率来工作,则微控制器130可以延长在SST总线170上保持上述高电压电平的时间段来指示较慢的位速率。微控制器130可以将高电压的时间段延长到该较慢位速率的四分之一位速率周期。在又一些实施例中,例如温度传感器110、电压传感器120、微控制器130和数字温度计180的客户机设备可以进行以下响应对其对应的SST总线170和总线190应用高电压或者在其对应的SST总线170和总线190上保持高电压并持续 一个指示它们相应的可达位速率的时间段。
主机162可以监视SST总线170和总线190以确定最慢的指示位速率,然后因为ResetAddressO命令要发往所有客户机设备,所以主机162以该最慢位速率将ResetAddress()命令传送到所有客户机设备。在多个实施例中,主机162可以对消息速度进行更多的协商。
主机162可以包括通信速度协商器164和桥166。通信速度协商
大化。在本实施例中,通信速度协商器164可以首先为一个或多个客户机设备的地址的传输来协商最大可达位速率,其次为通信消息的传输协商最大可达位速率。图2示出例如图1的多客户机总线(例如SST总线170和/或总线190)上的通信202的时序图200的实施例。
现在参考图1和2,通信速度协商器164可以将SST总线170和总线190拉低并持续空闲段205,为主机162确定可达位速率,然后通过将SST总线拉高并持续等于可达位速率周期的四分之一的时间段来发起地址定时协商210。在很多实施例中,将SST总线170和总线190拉高并持续可达位速率周期的四分之一,然后将其拉低并持续该可达位速率周期的四分之三,这表示例如逻辑0的逻辑位。在这些实施例中的多个实施例中,将SST总线170和总线190拉高并持续可达位速率周期的四分之三,然后将其拉低并持续该周期的余下时间,这可以表示例如逻辑1的逻辑位。
对于通信202,地址定时协商210包括将SST总线170和总线190拉高然后拉低的两次重复。首先,可以将SST总线170和总线190拉高,并持续可达位速率周期的四分之一加上客户机设备能够足够快速地响应所保持的延长时间,然后将SST总线170和总线190拉低,并持续可达位速率周期的四分之三加上该延长时间。其次,可以将SST总线170和总线190以相似方式拉高并持续地址位速率周期tBrr-A的四分之一,因为所有客户机设备应该能够响应并被拉低并持续该地址位
速率周期tBrr-A的四分之三。例如,利用锁相环的客户机设备可能无法在第一位速率周期期间以足够快的速度进行响应。在其他实施例中,地址定时协商210可以在小于1个位速率周期到多个位速率周期之间的范围内。而且,地址定时协商210的持续时间还可以基于缺省的位速率周期、预先选择的位速率周期或先前利用的位速率周期,而非当前的可达位速率周期。
例如主机162的始发设备可以确定地址位速率周期tmr-A,然后将
该总线拉低并持续地址位速率周期tBir.A的四分之三。在又一些实施例
中,地址定时协商210可以基于客户机设备的响应在长度上进行变化。如果无客户机设备反对由主机162指示的可达位速率,则主机162可以不在地址定时协商210期间检测SST总线170或总线190上的高电压电平的延长时间。另一方面,如果例如微控制器130通过例如延长SST总线170和总线190保持为高的时间长度来指示不同的位速率,通信速度协商器164可以基于该延长时间的长度来计算或以其他方式确定微控制器130所提出的可达位速率。
在本实施例中,在地址定时协商210之后,主机162具有对SST总线170和/或总线190上的所有客户机设备可达到的最大位速率的指示。主机162然后以协商的位速率通过SST总线170和/或总线190传送地址字节220,由此每个客户机设备可以确定通信202是否是发往它的。例如,如果地址字节220包含温度传感器110的地址,则其他客户机设备(电压传感器120、微控制器130和数字温度计180)可以忽略通信202的其余部分。但是,温度传感器110能够以高于为地址字节220的传输而协商的位速率的位速率通信。因此,通信202包含消息定时协商230。
消息定时协商230可以包括,由消息始发i殳备(例如主机162)将SST总线170和总线190上的电压升高到高电压电平并持续可达位速率周期的四分之一。在此类实施例中,在温度传感器110将地址字节220解码以确定地址字节220指示温度传感器110是目标客户机设备后,温度传感器110的通信速度协商器112可以确定温度传感器110的当前可达位速率,并通过保持SST总线170上的逻辑位电平持续例如可达位速率周期的四分之一来指示经由SST总线170的可达位速率。如果该可达位速率等于或慢于消息始发设备所指示的可达位速率,通信速度协商器164则可以基于该可达位速率来确定消息字节240的位速率。例如,通信速度协商器164可以将SST总线170驱动到其最快位速率的25%的逻辑位电平。如果温度传感器110接受主机162提出的任何速度,则通信速度协商器112可以不进行响应,否则可以通过延长在SST总线170上保持该逻辑位电平的时间量来以相同或较慢的位速率(温度传感器110的可达位速率)的指示来予以响应。在后一种情况中,通信速度协商器164将测量在SST总线170上保持的逻辑位电平的时间量,并将SST总线170驱动低并持续该时间量的三倍时间。通信速度协商器112测量从逻辑位电平的初始跃变到逻辑位电平的后续跃变的总时间长度tBIT-M,以确定由主机162所指示的位速率。
另 一方面,如果主机162不能实现温度传感器110的可达位速率,则主机162可以选择主机162通信所能够达到的最快位速率,它是总线上指示的最慢位速率。例如,如果温度传感器110尝试指示较快的位速率,而该较快的位速率可能无法从主机162所指示的位速率中区分出来,所以主机162将选择主机162为将消息传送到温度传感器110进行通信所能够达到的最快位速率。在又一些实施例中,可以由地址字节220指示多于一个客户机设备,在多个实施例中,主机162可以不是始发设备(始发方)。
在其他实施例中,在传送地址字节220之后,通信速度协商器164可以确定主机162的可达位速率,并将SST总线170上的电压电平提升到高电压并持续该位速率周期的四分之一。通信速度协商器112可以将SST总线170保持在高电压并持续为温度传感器110确定的可达位速率的四分之一。通信速度协商器164可以监视SST总线170以检测通信速度协商器112是否由此指示不同的位速率。如果是这样的话,则通信速度协商器164可以确定通信速度协商112所指示的位速率并以该速率来传送消息字节240。否则,通信速度协商器164可以按主机162的可达位速率来传送消息字节240。
在备选实施例中,如果被寻址的客户机设备(例如温度传感器110 )能够实现比传送该地址所用的位速率更快的位速率,则被寻址的客户机设备可以发起消息传输的速度协商。在此类实施例中,被寻址的客户机设备可以将SST总线170驱动高,始发设备可以延长总线保持高的时间来协商用于消息的位速率。
一旦将消息字节240从主机162传送到温度传感器110,则可以将SST总线170拉低并持续一消息停止时间段tsTOP, 250。在传送消息字节240结束之后,SST总线170可以保持空闲260,直到下一个
通信开始270,这可以是设置的时间段tsETUP。
桥166可以包括含有在总线190和SST总线170之间传送通信的硬件和/或代码的逻辑。在一些实施例中,SST总线170或总线190上的客户机设备(例如温度传感器110、电压传感器120、微控制器130和数字温度计180 )可能不识别桥166。
温度传感器110可以包括用于测量机箱环境温度的热敏二极管、经由SST总线170通信的逻辑和通信速度协商器112。在又一些实施例中,温度传感器110可以包括用于测量其他温度(例如机箱内装置的温度、机箱周围不同位置中的气流温度、吸入空气的温度、排出空气的温度等)的其他装置。逻辑可以包括诸如处理器、状态机、软件、固件、基本输入输出系统(BIOS)代码等的硬件和/或代码。
电压传感器120可以包括电压检测器和用于与SST总线170接口 且包括通信速度协商器122的逻辑。通信速度协商器122可以与通信 速度协商器164和/或112相似地实现功能,具体根据通信速度管理器 122是否设计成仅接收通信还是设计成接收并发起通信(例如图2的 通信202)而定。
微控制器130可以包括SST接口 ,该SST接口执行代码才莫仿SST 功能。在一些实施例中,例如,微控制器130可以用作SST总线170 与另一个总线类型之间的桥。微控制器130包括通信速率协商器132, 以用于协商接收和/或发起经由SST总线170的通信的地址和消息位 速率。微控制器130经由"线或"连接与SST总线170耦合,以潜在 地使得微控制器130能够在其他客户机设备和/或主机162拉高和/或 弱拉低SST总线170时将SST总线170拉高。
数字温度计180可以与处理器140耦合以从处理器140接收指示 处理器140中村底的一个或多个温度的数字通信。数字温度计180包 括在总线190上通信且包括通信速度协商器182的逻辑。通信速度协 商器182可以与通信速度协商器164和/或112相似地实现功能。
图3示出为SST总线330上的始发设备310与接收设备320之间 的消息进行位速率协商的时序图300的实施例。时序图300图示始发 设备310和接收设备320的输出的每个时间的电压,以及SST总线 330上的所得到的电压。例如,在此示例中,可能已经传送地址字节 以选择接收设备320,所以始发设备310和接收设备320正在协商以 确定始发设备310将消息字节传送到接收设备320将釆用的位速率。
始发设备310可以在时间Tl之前拉低始发设备310的输出以便 将SST总线330拉低,而接收设备320将其输出保持在三态。三态是 高阻抗状态,也称为"Z状态",这实际上在接收设备320和SST总 线330之间有效设置高阻抗以避免影响SST总线330上的电荷。非 SST总线330上的接收设备的其他客户机设备(如果有的话)同样可以在整个时间段tBiT-M期间将其输出保持在三态,以避免影响SST总
线330上的电荷。
在时间Tl,始发设备310将其输出拉高,接着将SST总线330 拉高。始发设备310将其输出保持高直到时间T3为止,时间T3可以 是为始发设备310确定的可达位速率的四分之 一 时间段。
响应始发设备310将SST总线330拉高,如果接收设备320不接 受为始发设备310确定的可达位速率,则接收设备320在时间T2将 其输出拉高。例如,如果接收设备320可以按总线的最高速度工作, 则接收设备320无需在时间T2将其输出拉高。相反,接收设备320 只需接受总线上指示的任何位速率。
在接收设备320将其输出拉高之后,接收设备320将其输出保持 高直到从时间Tl起过去时间段tHo,3为止,将SST总线330上的高电 压电平从时间T3延长到时间T4,这是接收设备320的可达位速率的 四分之一。由于始发设备310的输出拉低,接收设备320的输出则返 回到三态并且SST总线330走低。始发设备310可以测量从SST总线 330的预期拉低314到实际拉低322的延长时间段或从SST总线330 的拉高312到拉低322的总时间段,以确定接收设备320指示的位速 率。在其他实施例中,始发设备310可以通过不同参考点来进行基本 等效的测量。
在从接收设备320接收到位速率指示之后,始发设备310将SST 总线330保持低并持续所指示的位速率时间周期tmr-M的余下时间 (3x1ho,3 )。在一些实施例中,通过将SST总线330保持低并持续所指 示的位速率时间周期tBH-M的余下时间(3xtHO,3)可以向接收设备320 确认该位速率的选择。
在又一些实施例中,可以将SST总线330拉高并持续不同于所指 示的位速率周期的四分之一的某个比例。在其他实施例中,可以将SST 总线330拉低并持续位速率周期的四分之一或该位速率周期的其他比 例。
16图4示出始发设备410、接收设备450和其他客户机设备495的 实施例,这些设备均包括用于为传送地址和消息协商位速率的逻辑。 始发设备410可以包括在通信上与通信々某体490耦合的主机或客户机 设备。始发设备410能够发起与通信i某体4卯上的另 一个设备(例如 接收设备450)的通信。始发设备410可以包括通信发起器415、通 信速度协商器420、输出緩冲器432、输入緩冲器434、客户机地址表 435、々某体状态应用器440以及々某体属性协商器445。
始发设备410可以确定或被指示向接收设备450传送通信,通信 发起器415可以确定通信Jf某体490何时可用于发起消息。通信々某体490 可包括用于经由导电々某体、光i某体或可传送通信的其他i某体进行通信 的一个或多个信道。例如,媒体发起器415可以等待经由通信媒体490 的通信完成,然后经由通信々某体490传送信号以指示要传送消息的意 图。
通信速度协商器420可以包括潜在位速率模块422、位速率确定 器424、定时模块426、媒体状态监视器428和位速率指示器430。 一 旦通信々某体490可用于传送消息,并且在一些实施例中,在多个介入 信号之后,通信速度协商器420可以经由通信々某体490向接收设备450 传送信号。信号可以发起对消息速率或位速率的协商,以用于将例如 命令的消息从始发设备410传送到接收设备450。在一些实施例中, 如果该速率不同于始发设备410所指示的速率,则,接收设备450的 潜在位速率模块462可以经由位速率调整器464和媒体状态应用器 470传送指示位速率的信号。在其他实施例中,接收设备450可以传 送指示接收设备450能够支持的最快位速率的信号。
在几个实施例中,潜在位速率才莫块422将为该通信选择位速率, 并且位速率指示器430可以通过i某体状态应用器440来更改通信々某体 490上的消息速率信号的状态并持续 一定持续时间以指示该位速率。 接收设备450可以通过单独的消息速率信号进行响应或通过更改或延 长始发设备410传送的消息速率信号的持续时间来进行响应。在又一些实施例中,如果接收设备450接受始发设备410指示的位速率,则 接收设备450可以不传送消息速率信号。
媒体状态监视器428可以识别接收设备450对消息速率信号所作 的更改或延长,并且定时才莫块426可以将时间段与该更改或延长关联。 然后,位速率确定器424可以确定与该时间段关联的位速率。在一些 实施例中,始发设备410可以基于该时间段来确定位速率。在一些实 施例中,通信速度协商器420可以选择接收设备450所指示的位速率 来用于通信。在又一些实施例中,通信速度协商器420可以协商另一 个位速率。
495的地址的列表的緩沖器,所述地址用于将通信寻址到特定设备。 输出緩冲器432可以存储输出信号的地址和消息。在一些实施例中, 输出緩冲器432包括队列(例如先进先出(FIFO)队列)以存储多个 输出通信。 一旦例如软件应用等的逻辑用通信填充输出緩冲器432, 则始发设备410可以发起通信。
输入緩冲器434可以存储经由通信々某体490接收的消息。例如, 当接收设备450回复通信(例如来自始发设备410的读取命令)时, 可以将回复或其一部分存储在输入緩沖器434中。这样,例如软件应 用的逻辑可以从输入緩冲器434中读取该回复。
i某体属性协商器445可以基于始发设备410的能力来协商消息传 输期间的通信々某体490的属性。在一些实施例中,々某体属性协商器445 可以基于与接收设备450关联的能力来协商通信々某体490的属性。例 如,如果通信媒体490是用于电信号的线总线,则々某体属性协商器445 可以协商电特性或属性,例如与数据的位关联的电压范围、与用于位 指示的电压电平关联的时间帧等。在又一些实施例中,如果该々某体是 光纤、空气或用于传导光的其他々某体,则々某体属性协商器445可以协 商光特性或属性,例如与数据的位关联的光强度、与用于位指示的光 强度关联的时间帧等。例如,对于光纤总线,线或连接可以是与两个或两个以上潜在光源的互连,并且将电压^是升到高电平相当于将预定 强度的光引导到光纤中。在此类实施例中,例如速度协商可以包括测 量通过光纤引导光强度或其范围的时间长度。而且,々某体属性协商器
445可以发起媒体属性的协商和/或响应接收设备450发起的协商。
接收设备450可以包括通信速度协商器460、 i某体状态应用器 470、地址解码器475、输出緩冲器477、输入緩冲器478以及々某体属 性协商器480。通信速度协商器460可以基于接收设备450的能力来 协商为与始发设备410的通信选择位速率。通信速度协商器460可以 包括潜在位速率^t块462和位速率调整器464。潜在位速率;f莫块462 可以确定接收设备450的能力,并且在一些实施例中,潜在位速率冲莫 块462可以将足以影响接收设备450通信所采用的位速率的当前状况 纳入考虑。当前状况可以包括例如当前工作温度、环境温度、处理其 他操作的可用性、与通信和/或其他操作关Jf关的优先级等。
位速率调整器464可以包括用于调整或延长由始发设备410经通 信々某体490传送的消息速率信号的逻辑,其中消息速率信号指示始发 设备410所选择的位速率。位速率调整器464可以通过々某体状态应用 器470来修改或保持通信々某体490上的信号的状态来调整或延长消息 速率信号。通过调整或延长消息速率信号,位速率调整器464可以指 示备选位速率。
输出緩沖器477可以存储输出信号的地址和消息。在一些实施例 中,输出緩冲器477包括队列(例如先进先出(FIFO)队列)以存储 多个输出通信。 一旦例如微代码的逻辑用通信(例如对从始发设备410 传送的命令的响应)填充输出緩沖器477,则接收设备450可以发起 通信的传输。
输入緩冲器478可以存储经由通信媒体490接收的寻址到接收设 备450的消息。例如,当始发设备410向接收设备450传送通信(例 如读取命令)时,可以将该通信或其一部分存储在输入緩冲器478中。 然后,例如微代码的逻辑可以从输入緩沖器478中读取该命令并作出相应的响应。
地址解码器475可以是用于确定是否将通信发往接收设备450的 逻辑。具体来说,地址解码器475可以监视通信i某体490以识别与接 收设备450的地址相关的通信的地址。当识别到这种地址时,地址解 码器475可以激活通信速度协商器460,并在多个实施例中,可以激 活々某体属性协商器480。在又一些实施例中,地址解码器475可以通 过输入緩冲器478来监视通信纟某体490。
媒体属性协商器480可以包括用于通过4某体状态应用器470与始 发设备410就通信々某体490的属性进行协商的逻辑。在一些实施例中, i某体属性协商器480可以存有指示接收设备450的与纟某体属性相关的 能力的数据,并且在一些实施例中,力某体属性协商器480可以存有与 通信^某体490的能力相关的数据。
图5示出始发设备与一个或多个接收设备协商消息位速率的实施 例的流程图500。流程图500开始于等待通过总线发起通信(包括地 址和消息)的机会(单元505 )。例如,始发设备可以等待通信终止或 只需注意到总线处于空闲状态并等待指定的设置时间过后断言对该 总线的控制。在一些实施例中,断言对总线的控制可以是与能够断言 对该总线的控制的其他i殳备间的竟争。在其他实施例中,控制的断言 可以采用轮换的方式来提供和/或基于与通信和/或始发设备关联的一 个或多个优先级级别来提供。
当断言对总线的控制时,始发设备可以确定用于将该地址传送到 一个或多个接收设备的第一位速率(单元510)。例如,在一些实施例 中,可以为通过该总线传送地址字节而对总线设置一个缺省的或另外 的预选的位速率。在又一些实施例中,例如利于将客户机设备热拔插 到总线上的实施例中,可以在始发设备与耦合于该总线的客户机设备 之间协商用于传送地址字节的位速率。
始发设备然后可以按该第一位速率传送与一个或多个目标客户 机设备或接收设备关联的地址(单元515 )。该第一位速率可以利于与总线上最慢客户机设备的通信。始发设备然后可以传送消息速率信号 以指示可达位速率,并监视总线以确定是否一个或多个接收设备以不
同的位速率进行响应(单元525 )。例如,在至少一个接收设备不能以 始发设备提出的可达位速率通信时,通过地址的传输而选择的一个或 多个接收设备可以对指示不同的位速率作出响应。 一个或多个接收设 备可以通过保持总线上的逻辑位电平超过始发设备保持逻辑位电平 的时间段以指示不同的位速率。逻辑位电平可以是例如与传送指示电 信号々某体的位的信号关联的电压电平。始发设备然后可以将总线驱动 低并持续一定时间段来选择不同的位速率(单元540),并以该所选的 位速率将该消息传送到一个或多个接收设备(单元545 )。在其他实施 例中,始发设备可以基于与逻辑位电平关联的时间长度来为消息选择 位速率,而无需将总线驱动低。
另一方面,如果始发设备未检测到不同的位速率(单元530),则 始发设备可以选择可达位速率(单元535 ),并以该可达位速率来将消 息传送到一个或多个接收设备(单元545 )。在又一些实施例中,总线 可以包括除用于电信号的通信々某体以外的通信々某体。
图6示出接收设备与始发设备协商消息位速率的实施例的流程图 600。流程图600开始于接收总线上的第一位速率的指示(单元610 )。 例如,接收设备可以例如监视总线以发现通信,并且当接收到第一位 速率的指示时,如果接收设备不能以第一位速率进行通信,则以指示 备选可达位速率的信号予以响应。
响应第一位速率的指示,接收设备可以对总线施加电压或保持总 线上的电压,并持续指示可达位速率的持续时间(单元615)。在一些 实施例中,在指示可达位速率之后,接收设备可以接收已选择可达位 速率或丰力f曼的位速率的确认。
接收设备然后可以按比可达位速率慢的位速率接收地址(单元 620)。例如,如果总线上的其他客户机设备不能以接收设备的可达位 速率进行通信,则始发设备例如可以选择较慢的位速率。在接收到地址之后,接收设备可以将该地址解码以确定接收设备 是后续消息的目标客户机设备。在一些实施例中,接收设备然后可以 接收有关发起慢位速率的重新协商的指示。例如,始发设备可以发起 消息的第二速度协商,以确定该消息是否能够按比传送地址所采用的 位速率更块的速率传送。在又一些实施例中,始发设备可以指示除该 慢位速率以外的其他位速率。
接收设备可以通过对总线施加电压或保持总线上的电压并持续
指示可达位速率的时间段来予以响应(单元630)。例如,无论该可达 位速率是否已选择用于传输地址,接收设备都能够以可达位速率来接 收。
在协商了消息位速率之后,接收设备可以按可达位速率接收消息 (单元635 )。在一些情况中,可以通过地址选择多于一个客户枳J殳备, 由此如果不是所有接收设备都将能够以该可达位速率进行通信,则可 以选择比该可达位速率慢的位速率。
本发明的另 一个实施例;l作为 一种程序产品来实现的,该程序产 品与系统结合来使用以执行例如结合图1所示的系统100或图2-6中 描述的其他实施例所描述的过程。该程序产品的程序定义这些实施例 的功能(包括本文描述的方法)并且可以包含在多种数据和/或信号承 栽i某体上。示范性数据和/或信号承载媒体包括但不限于(i)永久存 储在不可写存储々某体(例如计算机内的只读存储器装置,如CD-ROM 驱动器可读的CD-ROM光盘)上的信息;(ii)存储在可写存储i某体(例 如通用串行总线(USB )闪存驱动器或硬盘驱动器)上的可更改信息; 以及("i)通过通信々某体(例如通过计算机或电话网络,包括无线通 信)传送到计算机的信息。后一个实施例具体包括从因特网和其他网 络下载的信息。当此类数据和/或信号承载々某体承载实现本发明功能的 计算机可读指令时,这些数据和/或信号承栽々某体代表本发明的多个实 施例。
一般来说,被执行以实现本发明实施例的例行程序可以是操作系统的一部分或特定应用、组件、程序、模块、对象或指令序列。本发 明的计算机程序通常包括由计算机转化成机器可读格式并因此转化 成可执行指令的大量指令。而且, 一些程序包括本地驻留于程序或常 见于存储器中或存储装置上的变量和数据结构。此外,下文描述的多
来进行识别。但是,应该认识到,下文中的任何特定程序术语仅是出 于便利而使用的,因此本发明不应限于仅在由此类术语识别和/或暗示 的任何特定应用中使用。
对于由本公开内容获益的本领域技术人员而言,将显见到本发明
设想到用于协商通信速度的系统和设备。要理解的是,具体实施方式
和附图中示出和描述的本发明的形式应^U见为示例。所附权利要求应 广义地解释为涵盖所公开的实施例的所有变化。
虽然详细描述了本发明的一些实施例,但是应该理解可以在不背 离所附权利要求定义的本发明精神和范围的前提下在本文中可进行 多种更改、替换和改变。虽然本发明的实施例可以实现多种目的,但 是并非落入所附权利要求范围内的每个实施例都将实现所有目的。而 且,本申请的范围不应局限于本说明书中描述的过程、机器、制造品、 物质的组合、部件、方法和步骤的特定实施例。正如本领域技术人员 将从本发明的公开容易认识到的,可以根据本发明利用目前现有的或 以后将开发出来的、执行与本文描述的对应实施例相同的功能或实现 与本文描述的对应实施例基本相同的结果的过程、机器、制造品、物 质的组合、部件、方法或步骤。因此,所附权利要求应在其范围内包 括此类过程、机器、制造品、物质的组合、部件、方法或步骤。
权利要求
1. 一种用于协商通信速度的设备,所述设备包括媒体状态监视器,用于在传送通信的地址之后监视媒体上的消息速率信号,其中所述通信包括所述地址和消息;以及与所述媒体状态监视器耦合的位速率确定器,用于确定与所述消息关联的消息位速率。
2. 如权利要求1所述的设备,还包括与所述媒体状态监视器耦合 的定时模块,用于确定与所述消息速率信号关联的时间段。
3. 如权利要求2所述的设备,其中所述位速率确定器基于所述时 间段来确定所述消息位速率。
4. 如权利要求1所述的设备,还包括媒体状态应用器,用于以所 述消息位速率传送所述消息。
5. 如权利要求1所述的设备,还包括媒体属性协商器,用于与另 一个设备通信以确定传送所述消息的所述媒体的更改的々某体属性。
6. 如权利要求5所述的设备,其中所述々某体属性包括与经由所述 々某体的通信关联的电特性,其中所述电特性可包括与逻辑1关联的时 间范围以及与逻辑0关联的时间范围。
7. 如权利要求5所述的设备,其中所述々某体属性包括与经由所述 i某体的通信关联的光特性,其中所述光特性可包括与位关联的时间的 范围。
8. —种用于协商通信速度的设备,所述设备包括 i某体状态应用器,用于在传送通信的地址之后驱动i某体上的消息速率信号,其中所述通信包括所述地址和消息;以及速度协商器,用于确定所述消息速率信号,其中所述消息速率信 号指示消息位速率。
9. 如权利要求8所述的设备,其中所述速度协商器包括用于检测 所述i某体上的备选速率信号的逻辑。
10. 如权利要求8所述的设备,其中所述速度协商器包括与所述 i某体状态应用器耦合的位速率指示器,用于确定传送所述消息速率信 号的所述々某体的状态更改。
11. 如权利要求8所述的设备,其中所述速度协商器包括用于经 由所述媒体状态应用器延长备选速率信号以创建所述消息速率信号 的逻辑。
12. 如权利要求8所述的设备,其中所述速度协商器包括用于确 定所述消息位速率的潜在位速率模块,其中所述消息位速率是所述设 备用于接收所述消息的传输所采用的最快可达位速率。
13. —种用于协商通信速度的方法,所述方法包括由始发设备以第 一位速率经由i某体将地址传送到至少 一个目标设备;监视传输媒体以发现来自所述至少一个目标设备的指示备选位 速率的第一信号;以及基于所述监视确定消息位速率。
14. 如权利要求13所述的方法,还包括传送另一个信号,并且监 视对所述另 一个信号的响应以确定所述第 一位速率。
15. 如权利要求13所述的方法,还包括检测指示i某体属性的第二 信号,并根据所述媒体属性经由所述媒体进行通信。
16. 如权利要求13所述的方法,还包括确定潜在位速率并传送指 示所述潜在位速率的消息速率信号。
17. 如权利要求16所述的方法,其中确定所述消息位速率包括 在没有所述备选位速率的情况下选择所述潜在位速率。
18. 如权利要求13所述的方法,其中监视所述传输媒体包括测量 所述第一信号的持续时间以计算所述消息位速率,其中所述第一信号 包括所述始发设备发起的消息速率信号的延长。
19. 如权利要求13所述的方法,其中监视所述传输々某体包括监 视所述媒体以发现媒体属性的指示。
20. 如权利要求13所述的方法,其中确定所述消息位速率包括 响应检测到所述备选位速率而选择所述备选位速率。
21. —种用于协商通信速度的系统,所述系统包括 用于管理通信i某体的主机设备;包括媒体状态应用器和速度协商器的客户机设备,所述媒体状态 应用器用于在传送通信的地址之后经由所述通信媒体传送消息速率 信号,其中所述通信包括所述地址和消息;所述速度协商器用于确定 所述消息速率信号,其中所述消息速率信号指示消息位速率;以及与所述主机设备耦合的动态随机存取存储器。
22. 如权利要求21所述的系统,其中所述主机设备包括通信速度 协商器,用于在传送另一个通信的另一个地址之后以另一个消息速率 信号驱动所述通信纟某体。
23. 如权利要求21所述的系统,其中所述客户机设备包括媒体状 态监视器,用于监视所述々某体以发现备选速率信号。
24. 如权利要求23所述的系统,其中所述客户机设备包括与所述 媒体状态监视器耦合的定时模块,用于确定与所述备选速率信号关联 的时间段。
25. 如权利要求23所述的系统,其中所述客户机设备包括与所述 媒体状态监视器耦合的位速率确定器,用于确定与所述备选速率信号 关联的备选速率。
26. 如权利要求21所述的系统,其中所述客户机设备包括媒体属 性协商器,用于与另一个设备通信以确定在传送所述消息期间所述i某 体的更改的媒体属性。
27. 如权利要求21所述的系统,其中所述动态随机存取存储器经 由存储器控制器集线器与所述主机设备耦合。
28. —种包含指令的机器可访问媒体,所述指令在^皮存储设备执 行时使所述存储设备执行操作,所述操作包括由始发设备以第 一位速率经由々某体将地址传送到至少 一个目标设备;监视传输媒体以发现来自所述至少一个目标设备的指示备选位 速率的第一信号;以及基于所述监视确定消息位速率。
29. 如权利要求28所述的机器可访问々某体,其中所述操作还包括 传送消息速率信号,其中所述第一信号包括所述消息速率信号的延 长。
30. 如权利要求28所述的机器可访问々某体,其中所述操作还包括 检测指示媒体属性的第三信号,并根据所述纟某体属性经由所述々某体进 行通信。
全文摘要
本发明公开为多个客户机通信媒体(例如总线)上的通信消息协商位速率的方法和设备。实施例可以包括用于媒体管理的主机和与通信媒体耦合的一个或多个客户机设备。主机和/或一个或多个客户机设备可以包括能够通过通信媒体始发通信的设备,也称为始发设备。而且,主机和/或一个或多个客户机设备可以包括能够经由通信媒体接收通信的设备,也称为接收设备。当选择第一位速率时,始发设备可以传送与作为通信的目标的一个或多个接收设备关联的地址。始发设备然后可以与接收设备协商第二位速率以利于传输通信的消息。
文档编号G06F13/14GK101484885SQ200780024910
公开日2009年7月15日 申请日期2007年6月29日 优先权日2006年6月30日
发明者D·施托利奇卡, R·A·邓斯坦, T·斯赖特 申请人:英特尔公司