CN1152319C - 多功能总线支持设备、系统及其方法 - Google Patents
多功能总线支持设备、系统及其方法 Download PDFInfo
- Publication number
- CN1152319C CN1152319C CNB99105248XA CN99105248A CN1152319C CN 1152319 C CN1152319 C CN 1152319C CN B99105248X A CNB99105248X A CN B99105248XA CN 99105248 A CN99105248 A CN 99105248A CN 1152319 C CN1152319 C CN 1152319C
- Authority
- CN
- China
- Prior art keywords
- controller
- groove
- device adapter
- function
- bus
- 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.)
- Expired - Lifetime
Links
Images
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/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
用于配置连至一条总线的多功能I/O设备适配器的方法、设备和系统使用槽主权配置寄存器以识别多功能I/O设备适配器内每个功能槽的主权。多功能I/O设备适配器内的智能I/O设备适配器或控制器可通过槽主权配置寄存器内提供的信息来控制位于其它功能槽内的其它I/O适配器。在通电后每个槽的主权初始地设置为属于主机设备或处理器。此后每个智能I/O设备适配器或控制器确定在其它待控制功能槽处的适配器的存在与否并将此信息记录在槽主权配置寄存器中。
Description
技术领域
本发明涉及此处引作参考的名为“用于动态配置I/O设备适配器的动态配置系统,设备和方法”的08/995157。
本发明涉及用于配置I/O设备的方法,设备和系统。更具体地,本发明涉及多功能设备适配器内一个或多个功能的分派和控制。本发明更为具体地涉及下述技术:配置多功能I/O设备适配器以便利用位于多功能适配器内另一功能槽处的设备来实现功能控制和分派多功能设备适配器的一个或多个功能。
技术背景
外围部件互连(“PCI”)本地总线是一个将计算机处理器集体互连至I/O设备适配器的工业标准I/O总线。计算机处理器集体通常包含一个中央处理单元(CPU)和系统主存储设备。PCI I/O设备适配器包含硬件,及可能包含附加处理器,并编程以便将例如盘、计算机网接口和其它外设等I/O设备互连至处理器集体及控制这些I/O设备的功能。
PCI本地总线规格是由一个在个人计算机和服务器工业界有影响的不同I/O设备和计算机系统供应商组成的特殊兴趣组所开发和控制的。此规格特意地定义为用于替代其它现存I/O总线体系结构例如IBM微通道和扩展工业标准体系结构(“EISA”)的更高性能。
为此,PCI本地总线规格代表计算机工业的极大范围内的主流I/O总线体系结构。此外,PCI本地总线规格已为此范围之外的供应商所乐意接受,这些供应商主要工作于其它市场,例如企业级网络服务器和主机计算机。因此,采用PCI本地总线实施的计算机系统和I/O设备产品变成在全部计算机工业中占主要地位。
在PCI本地总线规格中,连至PCI总线的物理/电气连接和PCI总线信令协议使用PCI本地总线“配置读”或“配置写”信令协议来规定具体PCI总线连接或“工具槽(agent slot)”的寻址。这通过使用“设备号”来完成,该设备号用于识别一个特定连接或工具槽。此配置协议允许处理器集体使用作为PCI总线信号定义一部分的物理选择信号来对每个PCI本地总线连接个别地寻址,并将一个处理器存储器地址范围赋予每个I/O设备适配器,处理器随后可通过该地址范围与相应I/O设备适配器通信。
图1解释一个普通PCI本地总线实施的基本元件,该实施包括一个连至PCI底板200的处理器集体100,而该底板200又连至一个或多个I/O设备280。处理器集体100包括一个中央处理单元(“CPU”)110和一个通过处理器总线130互连的存储器120。
在常规PCI本地总线实施中,PCI底板200正常时装在带有PCI本地总线230的母板上。PCI本地总线230通常用PCI主桥接210连至处理器存储器总线130。然后一个或多个PCI连接器205将一个或多个可拆卸PCI多功能设备260连至PCI本地总线230。虽然图1只解释单个可拆卸PCI多功能设备260,但如早先所解释的,PCI本地总线规格支持多总线连接或“工具槽”。因此,多个多功能设备260可以连至PCI本地总线230。虽然本发明主要针对可拆卸PCI多功能设备260的操作,但PCI规格也支持PCI设备,而且单功能和多功能设备不必为拆卸式。
如早已解释的,PCI主桥接210将PCI本地总线230和处理器存储器总线130互连,通过该总线CPU110和存储器120通信。PCI主桥接210在PCI本地总线230与处理器存储器总线130之间提供信息,将来自处理器集体100的信息转换为PCI总线规格,及将从PCI本地总线获取的信息由PCI本地总线规格转换为可由处理器集体100读取的信息格式。如图1中所阐释的,PCI多功能设备260允许用单个PCI总线连接或工具槽处的单个PCI“设备号”存取多功能。
可拆卸PCI多功能设备260包括一个功能路由器270,用于在处理器集体100与可拆卸PCI多功能设备的所选功能之间为数据和/或控制信号提供路由。I/O设备适配器252,254控制可拆卸PCI多功能设备260的每个功能。每个I/O设备适配器能连至单个或多个I/O设备280。通常功能路由器270包括一个多路转换器,用于在处理器集体100与多个I/O适配器252,254中所选的一个之间为数据和/或控制信号提供路由。
在这类常规系统中,PCI多功能设备260将多个PCI I/O设备适配器功能集合于单个PCI本地总线连接或工具槽。当部件缩小尺寸和增加功率时,这允许物理集成密度和功能不断增加。此外,使用单个可拆卸PCI多功能设备260所实现的多功能可以避免在PCI本地总线230或与其相关连的PCI底板200上增加更多工具槽而增加I/O设备适配器的数量。
图1中,通过使用功能路由器270,将I/O设备适配器252,254集成为单个PCI多功能设备260。为使处理器集体100能选择一个特定I/O设备适配器或位于此特定PCI总线连接的“功能”或“工具槽”,PCI本地总线规格配置协议将一个具有3位因而能容纳功能0至7的功能号附加至设备号上。以此方式,单个PCI多功能设备260可通过使用此扩展定义容纳多至8个单功能设备。因此处理器集体100可规定由PCI多功能设备260控制的功能号0至7中的任一个,实质上允许每个PCI总线连接或“工具槽”容纳多至8个I/O设备适配器。
在此系统中,通过将3位标示“功能0”的码赋予单功能设备,可用此扩展定义容纳多个单功能设备。实质上这将单功能PCI设备作为一个其功能路由部件只实施一个功能即功能0的多功能设备的简化实施。
因此PCI多功能设备260在体系结构上能够在单个设备内包括多至8个I/O设备适配器,只要求在PCI本地总线上单个PCI工具槽即可。因此显然,图1的功能路由器270必须便于在包括于多功能设备中的多个I/O设备适配器功能之间共享单个PCI工具槽。具体地说,在配置读和写协议中,功能路由器270使用来自此协议的功能号以便在PCI本地总线与赋值的PCI I/O设备适配器252,254和相关连的I/O设备280之间为此协议的参量提供路由。
PCI本地总线规格的一条限制是缺少任何手段用于确定多功能设备的哪个功能应通过PCI本地总线功能配置空间直接提供给主机(通常是处理器集体)。在多功能设备内,希望能根据连至多功能设备的I/O设备适配器的总体配置允许多功能设备的一个功能空间的一个I/O设备适配器去对位于另一功能空间的I/O设备适配器实行完全的存取和控制。
此类配置操作的一个例子是由控制器所做,它代表连至多功能设备的不同功能位置的一个或多个通用I/O设备适配器来完成主机或处理器集体的接口操作。在此情况下,PCI总线规格不具有任何能允许多功能设备内部一个功能去控制或存取多功能设备的另一功能的系统。因此,在现有PCI总线规格下,由于现有PCI总线规格并不设想在多功能设备内部在一个功能空间处局部地控制另一个I/O设备适配器的功能,因此多功能设备的每一功能必须由处理器集体加以存取和控制。
发明内容
本发明的一个目的是允许多功能设备适配器的一个功能由多功能设备适配器内部另一个功能槽来控制或存取,从而改善例如现有PCI总线规格那样的总线规格。
本发明另一个目的是允许多功能I/O设备适配器的一定功能由它的另一个功能槽处配备的控制器局部地进行控制,从而减少主机设备或中央处理器的负荷。
本发明又一个目的是识别多功能I/O设备适配器或控制器的每个功能或槽的控制并记录此信息以便由多功能设备内的控制器有效地控制这一功能,或者备择地由主机设备或处理器集体进行控制。
还有一个目的是提供一种包含配置信息的多功能设备或设备适配器,其中可将多功能设备所具备的多个功能内部地配置以供传送至控制器,并且对主处理器基本上是隐蔽的。
本发明的这些目的通过提供槽主权配置寄存器而实现,该寄存器能识别用于控制多功能I/O设备每个功能的槽位置。以此方式,路由/控制设备能跟踪哪个I/O设备适配器正由主机设备或处理器集体控制及什么正由多功能I/O设备内部包含的控制器所控制。
每个智能I/O设备适配器或控制器都配备有软件以使每个控制器帮助配置在功能路由控制设施中提供的槽主权配置寄存器。根据此软件,控制器能确定它拥有哪些槽,其它控制器拥有哪些槽,主权控制器将拥有哪些槽,以及主机设备或处理器集体拥有哪些槽。
本发明提供一种包括多功能总线支持设备的处理系统包括:一个主处理器;一个多功能总线支持设备;一个连接所述主处理器与所述多功能总线支持设备的局部总线;所述多功能总线支持设备包括:多个I/O设备适配器,所述I/O设备适配器中的至少一个是控制所述总线支持设备中的另一I/O设备适配器的控制器,剩余的I/O设备适配器中的至少一个是被控适配器,一个连于所述局部总线与所述I/O设备适配器之间的功能路由/控制设施,所述功能路由/控制设施通过所述局部总线在所述主处理器与所述多个I/O设备适配器中的至少一个之间传送数据和/或控制信号,所述功能路由/控制设施确定每个所述被控适配器由另一个所述I/O设备适配器或所述主处理器所控制。
本发明提供一种通过通信总线与一个主处理器通信的并具有多个功能槽的多功能总线支持设备包括:多个I/O设备适配器,它包括,至少一个能够控制另一个I/O设备适配器的控制器,及至少一个被控I/O设备适配器,一个具有与其相连的所述I/O设备适配器的功能路由/控制设施,所述功能路由/控制设施在I/O设备适配器与一条连至所述功能路由/控制设施的总线之间传送数据和/或控制信号;及一个槽主权配置寄存器,用于识别控制所述被控I/O设备适配器的每一个的控制器或主处理器。
本发明提供一种通过通信总线与主处理器通信并具有多个功能槽的多功能设备,包括:多个I/O设备适配器,包括,至少一个能够控制另一个I/O设备适配器的控制器,及至少一个被控I/O设备适配器;以及一个具有与其相连的所述I/O设备适配器的功能路由/控制设施,所述功能路由/控制设施在I/O设备适配器与一条连至所述功能路由/控制设施的总线之间传送数据和/或控制信号以使被控I/O设备适配器及与它们的相关连的由所述控制器控制的I/O设备对主处理器基本上是隐蔽的。
本发明提供一种管理一个在多个功能槽处具有多个I/O设备适配器的多功能设备的功能的方法,所述多功能设备通过一条通信总线连至一个主机设备以使所述功能对所述主机设备基本上是隐蔽的,所述方法包括:a)提供至少一个控制器用作一个I/O设备适配器,所有不是控制器的I/O设备适配器为被控I/O设备适配器;b)提供用于识别控制每个所述被控I/O设备适配器的主机设备或控制器的槽主权配置寄存器;c)对于槽主权配置寄存器中识别的由所述控制器所拥有的每个槽,用所述控制器控制存在于所述槽处的被控I/O设备适配器。
本发明提供一种在处理系统中将控制器分派给每个被控I/O设备适配器的方法,所述处理系统包括一个通过一条通信总线与一个主机设备通信并具有多个功能槽多功能设备,所述多个功能槽具有至少一个能控制位于另一功能槽处的另一I/O设备适配器的控制器,至少一个位于另一功能槽处的被控I/O设备适配器及一个具有所述控制器及与其相连的所述被控I/O设备适配器的功能路由/控制设施,所述方法包括:a)提供一个用于确定每个所述被控I/O设备适配器的主权的槽主权配置寄存器;b)每个所述控制器为每个功能槽确定该槽是否应由所述控制器所拥有,并且如果该槽应由该控制器拥有,则用该控制器槽为所述槽配置所述槽主权配置寄存器。
下面的详细描述将使本发明的更多应用范围更为清楚。然而应该明了,用于说明本发明优选实施例的详细描述和具体例子只用于阐述目的,因此根据此详细描述,熟悉技术的人能理解在本发明的实质和范围内的不同更改和变动。
附图说明
下面的详细描述和附图将使本发明能被更全面地理解,这些描述和附图只用于阐述目的,因此不是对本发明的限制,附图中:
图1解释一个实施PC I本地总线规格和包括一个连至多个I/O设备的多功能PCI设备的常规计算机系统。
图2解释一个本发明实施例,用于说明根据本申请原理的多功能总线支持的设备中远距的功能控制和分派的原理。
图3解释一个用于根据本发明优选实施例识别I/O设备适配器250-0内部功能控制的高层流程图。
图4解释一个由PCI设备驱动器140实施的高层流程图,用于识别未向PCI多功能设备260内另一功能槽处的I/O设备适配器250赋值的那些功能。
具体实施方式
图2原理性地阐述本发明原理应用于图1常规技术中描述过的一种总线体系结构。图2的处理器集体100等效于图1的处理器集体,并包括通过处理器存储器总线130连接的一个中央处理单元(CPU)110和存储器120。图2附加地阐述一个PCI设备驱动器140,用于控制和要不然管理I/O总线300上配备的I/O设备。在一个优选实施例中,此I/O总线是一条PCI总线300(a),它通常包括PCI主桥接210及图1的常规技术PCI本地总线230。
图1中每个多功能设备260当然包括一个功能路由器270。根据本发明原理,多功能设备260反而配备了一个功能路由器,允许一个或更多功能由多功能设备260内另一个功能控制。因此图2中将此块标为功能路由/控制设施400。该功能路由/控制设施400位于多功能设备260内并在I/O设备驱动器140与I/O设备适配器250-0至250-n之间为数据和/或控制信号提供路由,该适配器250-0至250-n在数字上对应于连至多功能设备260的I/O设备280-n的号。功能路由/控制设施400包括一个功能配置寄存器420,控制器配置寄存器430及一个槽主权配置寄存器440。
图2的优选实施例中I/O总线300最好是一条遵循PCI本地总线规格的PCI本地总线,它将处理器集体100与PCI多功能设备260互连。虽然正常情况下PCI本地总线将处理器集体100连至一个或多个单功能或多功能设备,但PCI本地总线也可用作辅助总线,如1995年6月1日的PCI本地总线规格,2.1版本中所描述的,用于将辅助总线上配备的单功能或多功能设备连至用于将主PCI总线桥接至辅助PCI总线的主机设备。因此,本申请的规格使用的名词“主机设备”意味着连至主、辅助或其它PCI总线首部的处理器集体100或任何其他处理设备。根据PCI本地总线规格中的规定,配备了PCI总线300(a)以便在处理器集体100与PCI多功能设备适配器260之间传送全部信号。
根据本发明原理,PCI设备驱动器140遵循在以上提到的有关的名为“用于动态配置I/O设备适配器的动态配置系统,设备和方法”的申请R997-066中进一步描述的协议。最好在根据以上提及的申请的原理完成初始化之前实施本发明的操作。
根据申请的原理,功能路由/控制设施400可接至一个或多个能承担和完成由其它非智能设备适配器所要求的控制功能的智能I/O设备适配器250-0至250-n。
在本发明的一个实施例中,假设只为这类智能设备适配器选择功能0。然而,在本应用的设想范围内,功能0以外的功能位置也可为本申请的系统所支持智能设备适配器的位置,同时不止一个智能设备适配器可用于单个PCI多功能设备260中。
功能配置寄存器420允许智能I/O设备适配器确定在PCI多功能设备260内接至哪一个槽。在上述共同未决申请“用于动态配置I/O设备适配器的动态配置系统,设备和方法”中更详细地解释了功能配置寄存器。功能配置寄存器420还标示连至多功能设备260的I/O设备适配器252,254的每项功能的状态。
功能路由/控制设施400也配备有一个控制器配置寄存器430。控制器配置寄存器430包含每个I/O设备适配器250-0至250-n的配置信息。例如,包含于控制器配置寄存器430中的信息可以规定一个I/O设备适配器250-0至250-n是否存在,它是否可控或它是否为控制器。由于控制器配置寄存器430包含连至多功能设备260的每个I/O设备250-0至250-n的信息,因此功能路由/控制设施400能确定哪个功能0至n是用于I/O设备适配器250的。可能在一个或多个功能配置0至n处配备的智能I/O设备适配器或控制器250-Int也可类似地确定此信息。这允许图2中配置为功能0的控制器250-Int确定PCI多功能设备260的其它哪些槽也包含控制器250-Int或待控制的功能。
PCI多功能设备260的功能路由和控制设施400也配备有一个用于将槽主权赋予另一个槽的槽主权配置寄存器440。在通电初始化建立过程期间,初始地将此槽主权配置寄存器440设置为使PCI多功能设备260的每项功能由位于PCI总线300(a)另一端的主机设备所“拥有”。在图2例子中,通过PCI设备驱动器140的处理器集体100是主机设备。然而,将结合图3和4更详细地阐释,可为给定槽0至n更新槽主权配置寄存器以标示此槽由PCI多功能设备260的其它一些槽中的一个所拥有。
在功能0是一个智能I/O适配器或具有功能1,2的控制器的例子中,主处理器例如图2的处理器集体并不真正看到功能1和2,相反地只看到功能0,智能I/O适配器或控制器的位置。
图3阐释一个由智能I/O设备适配器或控制器250-Int实施的程序,用于识别多功能设备260内的槽主权。图3于步S300处开始。步S302处,智能I/O设备适配器或控制器250-Int根据它在功能配置寄存器420中的标志配置来确定它自己的槽。
步S304,智能I/O设备适配器或控制器250-Int读取与每项功能或槽0至n相关连的控制器配置寄存器430以确定每个I/O设备适配器250的属性。因此有可能根据控制器配置寄存器430确定优选实施例中哪些功能槽0-7包含智能I/O设备适配器或控制器250-Int。因此,根据控制器配置寄存器空间430,运行着图3子程序的智能I/O设备适配器或控制器250-Int可确定PCI多功能设备260的哪些多功能设备功能槽0至n中包含I/O设备适配器250。
在图3的子程序中,智能I/O设备适配器或控制器250-Int假设它所控制的全部功能在数字上都高于它自己的。因此,在图3的优选实施例中,槽4的智能I/O设备适配器或控制器250-Int不能控制槽3处的I/O设备适配器250。步S306处,变量SLOT在智能I/O设备适配器或控制器250-Int的主槽位置值上增1。因此,如控制器250-Int在槽4,则SLOT增量为5。
随后图3子程序测试每个附加功能位置的条件。由于图3实施例中每个控制器只能控制数字上较高的槽,因此每个智能I/O设备适配器或控制器250-Int不必轮询比它自己低的那些槽。然而应该理解,根据本申请的原理,如图4中所阐释的,人们可以简单地要求每个智能I/O设备适配器或控制器250-Int轮询每一个可用的槽而不是只轮询那些数字上比它自己高的槽。
步S308,图3子程序判断该槽是否包含一个将由该控制器拥有的设备。这是通过为该槽轮询控制器配置寄存器空间430以判断它是否包含待控制的I/O设备适配器250的描述而完成的。如该槽包含一个将由智能I/O设备适配器或控制器250-Int控制的I/O适配器250,则槽主权寄信器440内的该槽位置将识别是智能I/O设备适配器或控制器250-Int的槽。
如槽n不包含待控制的I/O设备适配器250-n,则图3子程序的步S310判断该槽是否包含另一控制器。如该槽包含另一控制器,则图3子程序假设随后各槽不再由它自己控制,因而不再继续轮询更多槽。因此,如步S310处回答为“是”,则子程序为该智能I/O设备适配器或控制器进至步S318的结束。
因此很明显,在图3子程序中,智能I/O设备适配器或控制器250-Int-a不能控制其槽号高于另一个智能I/O设备或控制器250-Int-b槽号的那些槽。此假设旨在提高处理效率。然而根据本申请的原理,如图4中所阐述的,当然可能由每个设备轮询每个槽,因而不存在这些限制。
步S308和S310也须考虑另一个可能性;即功能槽是空的。在优选实施例中,空槽赋予紧随其后的智能I/O设备适配器或控制器250-Int。因此,空槽确定为由运行该程序的控制器所拥有或控制的一个槽。然而在本申请的设想范围内,需要时空槽可用另一方式赋给或完全忽略。
如早已提及的,如一个槽确定为由智能I/O设备适配器或控制器250-Int所拥有,则该槽的槽主权配置设为运行如步S312中所示图3子程序的控制器的功能位置号。步S314处将槽号更新,并且迭代地完成步S308、S310和S312直至找到另一控制器,或直至将多功能设备260中全部剩余槽都处理过。因此在步S316处,一旦槽号达到PCI多功能设备260的最高数字功能n,子程序即进至结束S318。
作为图3子程序的结果,槽主权配置寄存器440配置为能识别多功能设备260内由智能控制器250-Int控制的每个槽0-n的拥有者的功能位置。控制器配置寄存器430识别那些是智能I/O设备适配器或控制器的槽。可检查槽主权配置寄存器440以确定哪个槽正控制现正处于该位置的功能。因此,如槽3由槽1控制,则槽主权配置寄存器440的与槽3相关连的部分能将槽1识别为包含着控制用智能I/O设备适配器或控制器250-Int的槽。
图3流程图的一个备择实施例将在图4中阐述。再一次地,此备择实施例的子程序安装于每个智能I/O设备适配器或控制器中,并由每个控制器250-Int轮流执行。图4的步S400、S402和S404与图3的步S300、S302和S304完全相同地进行。然而,由于在图4的此实施例中,一个控制器可以存在于任何功能位置中,及由于任何槽都可能由任何控制器所拥有,因此步S406处槽号初始地设为0。
步S408处,子程序判断槽0是否包含一个控制器,这可能是正运行图4程序的控制器250-Int或另一个控制器。如该槽包含一个控制器,则该槽不必赋予另一控制器。因此子程序进至步S416以将槽号增1。步S418处将槽号与最大可能槽号比较,及如步S418中已测试过每个槽,则程序进至步S420的结束。否则重复步S408-S418。
步S408处,如该槽不包含控制器,则监视槽主权配置寄存器,及如槽主权寄存器确认另一控制器拥有该槽,则子程序进至步S416和S418,因该槽不要求再建立主权。
如该槽不被另一控制器所拥有,如由步S410所确定的则步S412判断该槽是否应由现有控制器250-Int拥有。如此问题的回答是“是”,则槽主权寄存器440中该槽的位置被设置以便识别运行该程序的智能I/O设备适配器或控制器250-Int的槽。因此可识别控制器250-Int的拥有权。如槽不由现有控制器250-Int拥有,则子程序直接进至步S416将槽号增1。因此,当每个智能I/O设备适配器或控制器250-Int识别将由它自己控制的槽时,它的功能配置装入与待控制槽相关连的槽主权配置寄存器440的位置。
应注意,可以有不止一个控制器认为一个槽应由它自己拥有。在这种情况下,要求该槽的第一智能I/O设备适配器或控制器来控制它。这是因为步S410使早已由另一控制器拥有的槽不再被标识为由正按图4子程序进行轮询的控制器所拥有。
应理解,不由多功能设备内包含的任何控制器所控制的槽正常时直接由处理器集体100或其它主机设备内包含的PCI设备驱动器140控制。因此,PCI多功能设备内每个功能可以是一个智能I/O设备适配器或控制器250-Int,可由一个智能I/O设备适配器或控制器250-Int控制,或由处理器集体或主机设备100控制。
本发明允许在对应用例如PCI总线的总线配置的设备进行配置时有更大灵活性。本发明的概念允许这种系统自多功能设备的一个功能位置控制多功能设备内另一个功能,而不是依赖主机或处理器集体去控制每个功能。因此,多功能设备的一些功能可在内部被配置为与智能I/O设备适配器或控制器250-Int通信,并且基本上不为例如处理器集体100的主机设备所看见。此增大的灵活性的实质上的性能优点是减少处理器集体100或其它主机设备的处理负荷。
本发明就这样描述了,显然同一方式可用许多形式改变。这些改变不应视为背离本发明的实质和范围,熟悉技术的人显然知道,所有这些变动都应包括在下列权利要求书的范围内。
Claims (21)
1.一种包括多功能总线支持设备的处理系统包括:
一个主处理器;
一个多功能总线支持设备;
一个连接所述主处理器与所述多功能总线支持设备的局部总线;
所述多功能总线支持设备包括:
多个I/O设备适配器,所述I/O设备适配器中的至少一个是控制所述总线支持设备中的另一I/O设备适配器的控制器,剩余的I/O设备适配器中的至少一个是被控适配器,
一个连于所述局部总线与所述I/O设备适配器之间的功能路由/控制设施,所述功能路由/控制设施通过所述局部总线在所述主处理器与所述多个I/O设备适配器中的至少一个之间传送数据和/或控制信号,所述功能路由/控制设施确定每个所述被控适配器由另一个所述I/O设备适配器或所述主处理器所控制。
2.权利要求1的处理系统,其中所述主处理器包括一个中央处理单元和通过处理器存储器总线与其相连的存储器。
3.权利要求1的处理系统,还包括一个将所述处理器存储器总线与所述局部总线互连的主桥接。
4.权利要求1的处理系统,还包括连至至少数个所述I/O设备适配器的I/O设备。
5.权利要求1的处理系统,其中所述功能路由控制设施包括一个功能配置寄存器和一个控制器配置寄存器。
6.权利要求1的处理系统,其中所述控制器确定被控适配器的槽主权。
7.权利要求1的处理系统,其中由所述控制器控制的所述被控适配器对所述主处理器基本上是隐蔽的。
8.权利要求1的处理系统,其中所述局部总线是一条辅助总线及所述主处理器是主总线与辅助总线之间的桥接设备的一部分。
9.一种通过通信总线与一个主处理器通信的并具有多个功能槽的多功能总线支持设备包括:
多个I/O设备适配器,它包括,
至少一个能够控制另一个I/O设备适配器的控制器,及
至少一个被控I/O设备适配器,
一个具有与其相连的所述I/O设备适配器的功能路由/控制设施,所述功能路由/控制设施在I/O设备适配器与一条连至所述功能路由/控制设施的总线之间传送数据和/或控制信号;及
一个槽主权配置寄存器,用于识别控制所述被控I/O设备适配器的每一个的控制器或主处理器。
10.权利要求9的设备,还包括连至所述多个I/O设备适配器中的至少数个的I/O设备。
11.权利要求9的设备,其中所述功能控制/路由设施包括一个功能配置寄存器和一个控制器配置寄存器。
12.权利要求9的设备,其中所述控制器确定所述被控I/O设备适配器的槽主权。
13.权利要求9的设备,其中由所述控制器控制的所述被控I/O设备适配器对所述主处理器基本上是隐蔽的。
14.权利要求9的设备,其中所述局部总线是一条辅助总线及所述主处理器是主总线与辅助总线之间的桥接设备的一部分。
15.一种通过通信总线与主处理器通信并具有多个功能槽的多功能设备,包括:
多个I/O设备适配器,包括,
至少一个能够控制另一个I/O设备适配器的控制器,及
至少一个被控I/O设备适配器;
以及
一个具有与其相连的所述I/O设备适配器的功能路由/控制设施,所述功能路由/控制设施在I/O设备适配器与一条连至所述功能路由/控制设施的总线之间传送数据和/或控制信号以使被控I/O设备适配器及与它们的相关连的由所述控制器控制的I/O设备对主处理器基本上是隐蔽的。
16.权利要求15的多功能设备,还包括一个用于识别控制所述被控I/O设备适配器的每一个的控制器或主处理器的槽主权配置寄存器。
17.一种管理一个在多个功能槽处具有多个I/O设备适配器的多功能设备的功能的方法,所述多功能设备通过一条通信总线连至一个主机设备以使所述功能对所述主机设备基本上是隐蔽的,所述方法包括:
a)提供至少一个控制器用作一个I/O设备适配器,所有不是控制器的I/O设备适配器为被控I/O设备适配器;
b)提供用于识别控制每个所述被控I/O设备适配器的主机设备或控制器的槽主权配置寄存器;
c)对于槽主权配置寄存器中识别的由所述控制器所拥有的每个槽,用所述控制器控制存在于所述槽处的被控I/O设备适配器。
18.权利要求17的方法,其中在所述步骤c)中被控的每个I/O设备适配器对主机设备基本上是隐蔽的。
19.一种在处理系统中将控制器分派给每个被控I/O设备适配器的方法,所述处理系统包括一个通过一条通信总线与一个主机设备通信并具有多个功能槽多功能设备,所述多个功能槽具有至少一个能控制位于另一功能槽处的另一I/O设备适配器的控制器,至少一个位于另一功能槽处的被控I/O设备适配器及一个具有所述控制器及与其相连的所述被控I/O设备适配器的功能路由/控制设施,所述方法包括:
a)提供一个用于确定每个所述被控I/O设备适配器的主权的槽主权配置寄存器;
b)每个所述控制器为每个功能槽确定该槽是否应由所述控制器所拥有,并且如果该槽应由该控制器拥有,则用该控制器槽为所述槽配置所述槽主权配置寄存器。
20.权利要求19的方法,其中所述步骤b)包括:
i)确定每个槽是否包含一个控制器,
ii)确定每个槽是否由另一个控制器所拥有,
iii)如果在子步骤i)中确定为每个槽不包含控制器及在所述子步骤ii)中确定为每个槽不由另一个控制器所拥有,则确定该槽是否应由现有所述控制器所拥有及如果如此,
iv)在所述槽主权配置寄存器中将所述槽的槽主权设置为由现有所述控制器拥有。
21.权利要求19的方法,其中所述步骤b)包括:
i)确定在编号上稍高些的槽是否包含一个被拥有的设备,
ii)如所述在编号上稍高些的槽的确包含一个被拥有的设备,则将该槽的槽主权设置为现有所述控制器,
iii)如在所述骤i)中确定所述在编号上稍高些的槽没有包含一个被拥有的设备,则确定所述在编号上稍高些的槽是否包含另一个控制器,并且如果如此则完成所述步骤b),
iv)如在步骤iii)中确定所述槽不包含控制器,则将槽号增1并重复步骤i)至iii),直至所有槽都已得到检验。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US087,637 | 1998-05-29 | ||
US087637 | 1998-05-29 | ||
US09/087,637 US6101557A (en) | 1998-05-29 | 1998-05-29 | Method and system for remote function control and delegation within multifunction bus supported devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1238492A CN1238492A (zh) | 1999-12-15 |
CN1152319C true CN1152319C (zh) | 2004-06-02 |
Family
ID=22206358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB99105248XA Expired - Lifetime CN1152319C (zh) | 1998-05-29 | 1999-04-22 | 多功能总线支持设备、系统及其方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6101557A (zh) |
JP (1) | JP3488132B2 (zh) |
CN (1) | CN1152319C (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408347B1 (en) * | 1998-12-10 | 2002-06-18 | Cisco Technology, Inc. | Integrated multi-function adapters using standard interfaces through single a access point |
US6665753B1 (en) * | 2000-08-10 | 2003-12-16 | International Business Machines Corporation | Performance enhancement implementation through buffer management/bridge settings |
US20020178316A1 (en) * | 2001-05-23 | 2002-11-28 | Schmisseur Mark A. | System and method for defining private functions of a multi-function peripheral device |
US20020178317A1 (en) * | 2001-05-23 | 2002-11-28 | Schmisseur Mark A. | System and method for defining private functions of a multi-function peripheral device |
US20050172061A1 (en) * | 2002-10-29 | 2005-08-04 | Shinji Ushigami | Device controller |
US20050080966A1 (en) * | 2003-10-09 | 2005-04-14 | Cruz Arnaldo R. | Communication steering for use in a multi-master shared resource system |
US20050080961A1 (en) * | 2003-10-09 | 2005-04-14 | Bedwell Ryan D. | Communication steering for use in a multi-master shared resource system |
US7321985B2 (en) * | 2004-02-26 | 2008-01-22 | International Business Machines Corporation | Method for achieving higher availability of computer PCI adapters |
DE602004012108T2 (de) * | 2004-10-08 | 2008-06-19 | Agilent Technologies Inc., Santa Clara | Fernkonfigurationsmanagement eines Datanverarbeitungssystems |
US7751333B2 (en) * | 2004-12-29 | 2010-07-06 | Intel Corporation | Method and apparatus to couple a module to a management controller on an interconnect |
KR100833189B1 (ko) * | 2006-11-03 | 2008-05-28 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 불휘발성 메모리 장치의환경설정정보 설정 방법 |
US20110022662A1 (en) * | 2009-07-23 | 2011-01-27 | International Business Machines Corporation | Event triggered notifications for collaborative processes |
US10010007B2 (en) | 2015-12-09 | 2018-06-26 | Mellanox Technologies, Ltd. | Multi-slot plug-in card |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5850573A (en) * | 1990-08-16 | 1998-12-15 | Canon Kabushiki Kaisha | Control method for peripheral device in host computer connectable to a plurality of peripheral devices |
US5692134A (en) * | 1995-09-22 | 1997-11-25 | Adaptec, Inc. | Preserving configuration information in a SCAM based SCSI system |
US5960213A (en) * | 1995-12-18 | 1999-09-28 | 3D Labs Inc. Ltd | Dynamically reconfigurable multi-function PCI adapter device |
US5751975A (en) * | 1995-12-28 | 1998-05-12 | Intel Corporation | Method and apparatus for interfacing a device compliant to a first bus protocol to an external bus having a second bus protocol and for providing virtual functions through a multi-function intelligent bridge |
US5793997A (en) * | 1996-01-11 | 1998-08-11 | Hewlett-Packard Company | Interface architecture for connection to a peripheral component interconnect bus |
KR100265708B1 (ko) * | 1996-07-16 | 2000-09-15 | 윤종용 | 스카시아이-디자동설정장치 |
US5832238A (en) * | 1996-10-18 | 1998-11-03 | Advanced Micro Devices, Inc. | Enabling PCI configuration space for multiple functions |
-
1998
- 1998-05-29 US US09/087,637 patent/US6101557A/en not_active Expired - Lifetime
-
1999
- 1999-04-22 CN CNB99105248XA patent/CN1152319C/zh not_active Expired - Lifetime
- 1999-05-12 JP JP13087099A patent/JP3488132B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3488132B2 (ja) | 2004-01-19 |
US6101557A (en) | 2000-08-08 |
CN1238492A (zh) | 1999-12-15 |
JP2000010903A (ja) | 2000-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1152319C (zh) | 多功能总线支持设备、系统及其方法 | |
US7152125B2 (en) | Dynamic master/slave configuration for multiple expansion modules | |
CN1264100C (zh) | 基于通用串行总线的pc闪存盘的体系结构 | |
US9588775B2 (en) | Method and apparatus for configuring electronic devices to perform selectable predefined functions using device drivers | |
US10102177B2 (en) | Serial communication system, communication control unit, and electronic device for finding and assigning unused addresses | |
EP1482703B1 (en) | Computer system and method for supporting network-enabled devices | |
CN100450117C (zh) | 连接有线数据和无线数据的方法和装置 | |
CN101055552A (zh) | 复用并行总线接口和闪速存储器接口 | |
CN1881162A (zh) | 在多模式浏览器中显示可用菜单选项的方法和系统 | |
CN1818856A (zh) | 具有加速器的数字信号系统及其操作方法 | |
CN112925737B (zh) | Pci异构系统数据融合方法、系统、设备及存储介质 | |
CN116032746B (zh) | 资源池的信息处理方法及装置、存储介质及电子装置 | |
CN1740997A (zh) | 网络设备及其外围器件互连资源的分配方法 | |
CN113111018A (zh) | 总线设备编址方法及计算机可读存储介质 | |
CN100343840C (zh) | 总线系统、在总线系统中使用的站和总线接口 | |
CN1162770C (zh) | 与硬件有关的软件安装 | |
US20040205111A1 (en) | User configurable data messages in industrial networks | |
CN100351824C (zh) | 总线系统和用于连接到总线的总线接口 | |
US20060015657A1 (en) | Method and system for personalized I/O device initialization | |
CN1751300A (zh) | 用于在通信环境中配置和部署输入/输出卡的系统和方法 | |
US7103686B1 (en) | Method and apparatus for device discovery | |
EP1594068A2 (en) | PCI Bus system | |
CN102023823B (zh) | 用于usb打印设备的通信控制方法和系统 | |
CN1922595A (zh) | 通过i/o设备的芯片组特征检测与配置 | |
CN1532715A (zh) | 在周边装置内建储存模块的即插即用连接架构及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20040602 |
|
CX01 | Expiry of patent term |