供多主控器共享的资源系统使用的通信操纵的制作方法

文档序号:6496124阅读:162来源:国知局
专利名称:供多主控器共享的资源系统使用的通信操纵的制作方法
技术领域
本发明涉及通信操纵,更特别地,涉及供多主控器共享的资源系统之用的通信操纵。
背景技术
随着多个总线主控器越发经常地用在数据处理系统中,需要用于在上述多个主控器和一个或更多的共享资源之间提供通信的新途径。可能需要共享的资源的一个实例是遵从通用串行总线(USB)标准的电路。USB已被通用串行总线-实施者论坛(USB-IF)规定为标准。不幸的是,USB标准不包括用于允许多主控器系统中的端点共享控制的机制。


本发明是通过实例来说明的,并不受限于附图,其中相似的参照符号表示类似的元件,其中图1,以框图的形式,说明了根据本发明的一个实施例的数据处理系统10;图2,以框图的形式,说明了根据本发明的一个实施例的图1的附加信号操纵逻辑36的一部分;图3,以框图的形式,说明了根据本发明的一个实施例、连同其它电路一起的图1的共享资源24的一部分;以及图4,以部分框图的形式和部分示意图的形式,说明了根据本发明的一个实施例、连同其它电路一起的图1的USB共享资源100的一部分。
本领域的技术人员理解,图中的元件是出于简单清晰的目的而加以举例说明的,不必按比例来绘制,例如图中的一些元件的尺寸可以相对于其它元件放大,以帮助增进对本发明实施例的理解。
具体实施例方式
USB规范定义了将USB端点用作驻留在USB设备内的数据和控制通道。USB端点是用存储器和附加逻辑来实现的数据的源和宿,并由单个处理器或微处理器加以控制。有时候所希望的是,由一个处理器来控制一定数目的端点,由另外的处理器控制其它端点,从而提供所有端点的共享控制。
注意,术语“共享资源”用于表示潜在地可由多个总线主控器(例如,总线主控器12、14)访问的资源。这样的系统可以允许多个总线主控器中的一个或更多对一共享资源的所有权,允许正拥有的主控器确定非正拥有的主控器对该资源的可访问性。在本发明的一个实施例中,如果资源为零个主控器(即,没有主控器)所拥有,那么就没有主控器有权利确定其它主控器对那个资源的可访问性。无主资源的可访问性可以各种各样的方式来确定。作为一个实例,任何主控器都可全权访问无主资源。替换实施例可以不同的方式确定无主资源的可访问性。在一些实施例中,未由任何主控器所拥有的资源允许所有主控器潜在地要求所有权。因此对于一些实施例来说,所有权也可以放弃。在本发明的一些实施例中,如果一个资源为多个主控器所拥有的,那么该资源就被视为是无主的。在本发明的替换实施例中,如果一个资源为多个主控器所拥有,那么该资源的可访问性就可以由所述多个正拥有的主控器联合确定。
图1,以框图的形式,说明了根据本发明的一个实施例的数据处理系统10。在本发明的一个实施例中,数据处理系统10包括全部双向耦合在总线20上以便于通信的多个总线主控器12、14、多个共享资源24、30、100,以及多个非共享资源22、26。在图1的实施例中,总线主控器12、14可以代表诸如处理器的单个总线主控器,或包括一个或更多的处理器以及支持电路的子系统。注意,共享资源24、30、100可以任选地由一个以上的总线主控器12、14所共享。非共享资源22、26不为总线12、14所共享,因此仅被总线主控器12、14中的一个访问。正如在此所使用的,术语“总线”用来指的是可以用来传送一个或更多的各种类型的信息的多个信号或导线,该信息例如为数据、地址、控制或状态。术语“导线”和“信号”在此可互换地使用。在本发明的一个实施例中,总线是使用一个或更多的总线协议来实现的。总线仲裁逻辑28用于在总线主控器12、14之间仲裁,以确定多个总线主控器12、14中的哪一个获得对总线20的拥有。
在本发明的一些实施例中,总线主控器12可通过导线48双向地耦合在一个或更多的非共享资源(例如16)上,而不是通过总线20。相似地,在本发明的一些实施例中,总线主控器14可通过导线49双向地耦合在一个或更多的非共享资源(例如18)上,而不是通过总线20。在所说明的实施例中,非共享资源16仅被总线主控器12访问,而不被总线主控器14访问。同样地,非共享资源18仅被总线主控器14访问,而不被总线主控器12访问。本发明的一些实施例包括可将总线20耦合在外部总线34上的外部总线接口32,外部总线34在数据处理系统10的外部。在本发明的一个实施例中,数据处理系统10是在单个集成电路上实现的。本发明的替换实施例可以使用任何适当的电路以任何方式来实现数据处理系统10。
在本发明的一些实施例中,非共享资源16可通过一个或更多的端子40耦合在数据处理系统10外部的电路上;总线主控器14可通过一个或更多的端子42耦合在数据处理系统10外部的电路上;非共享资源18可通过一个或更多的端子43耦合在数据处理系统10外部的电路上;USB共享资源100可通过一个或更多的端子48耦合在数据处理系统10外部的电路上;非共享资源22可通过一个或更多的端子44耦合在数据处理系统10外部的电路上;共享资源24可通过一个或更多的端子45耦合在数据处理系统10外部的电路上;共享资源30可通过一个或更多的端子46耦合在数据处理系统10外部的电路上;以及非共享资源26可通过一个或更多的端子47耦合在数据处理系统10外部的电路上。本发明的替换实施例可以使用或不使用端子40-48的任何组合。端子40-48可以任何现有的方式来实现。
仍参考图1,共享资源24可以为总线主控器12和14所共享。而且,共享资源24可以不为任何总线主控器所拥有,或可以由总线主控器12和14中的任何一个拥有。USB共享资源100可以加以分区,以便一个或更多的部分可以由总线主控器12和14共享。而且,USB共享资源100可以加以分区,以便一个或更多的部分可以不为任何总线主控器所拥有,或可以由总线主控器12和14中的任何一个拥有。注意,本发明的各种各样的实施例可以在复位之后,以任何希望的方式来分配共享资源,或它的一部分的所有权。作为一个实例,对于本发明的一个实施例,USB共享资源100的所有部分可以由复位产生,以便预定的单个总线主控器(例如总线12)占有所有权。
在所说明的本发明的实施例中,附加信号操纵逻辑36用于确定哪一总线主控器或哪些总线主控器12、14接收附加信号56、57中的哪个或哪些信号。注意,包括在总线20中的信号是由用总线20实现的总线协议规定的信号。附加信号56、57包括可有选择地提供给数据处理系统10中的总线主控器12、14的子集的信号。注意,在本发明的替换实施例中,附加信号操纵逻辑36可以用于操纵总线信号20中的一个或更多个,如果那一个或更多的总线信号需要被有选择地提供给总线主控器12、14的子集。注意,在某些情况下,总线主控器12、14的子集可以包括所有总线主控器的全集;但是一般说来,附加信号56、57被操纵至的总线主控器不到数据处理系统10中的总线主控器12、14的全部。信号50和51用于提供用于附加信号56和57的操纵的控制和/或状态。
在所说明的本发明的实施例中,附加信号操纵逻辑36耦合在共享资源30上,用于接收和操纵附加信号57。附加信号57包括需要由附加信号操纵逻辑36,通过信号53或52,在共享资源30和适当总线主控器12、14之间,分别操纵的一个或更多的信号。尽管附加信号57可以具有任何所希望的功能,但是它们一般还是不应该大致同时提供给所有总线主控器12、14,而是应该只提供给总线主控器12、14的子集的信号。附加信号57的一个实例是中断信号,该信号应该只被操纵至拥有共享资源30的所有权并需要响应该中断的总线主控器并被提供给它。本发明的其它实施例可以使用附加信号操纵逻辑36来将任何所希望的信号操纵至全部总线主控器(例如,12、14)的子集。可以操纵的其它附加信号的一些实例是复位信号、DMA请求和授权信号、模式控制信号(例如电源控制模式)、自定义协议握手信号、专用消息通道以及其它任何所希望的信号。注意,对于本发明的一些实施例来说,也许存在这样的实施例,在所选择的环境下,附加信号57中的一个或更多个可以被操纵至总线主控器12、14中的全部。此外,对于本发明的一些实施例来说,信号52、53、56和57中的无一、一些、或全部可以是双向的。
附加信号操纵逻辑36通过信号50双向耦合在共享资源30上。信号50包括用于提供控制和/或状态信息的一个或更多的信号,所述控制和/或状态信息用在附加信号57的操纵中。本发明的替换实施例可以使用任何类型的信号来传送这控制和/或状态信息。本发明的一些实施例可以不要求信号50,因为所有必要的控制信号和/或状态信息都驻留在附加信号操纵逻辑36中,或以另一方式提供给了附加信号操纵逻辑36。
在所说明的本发明的实施例中,附加信号操纵逻辑36耦合在共享资源24上,用于接收和操纵附加信号56。附加信号56包括需要由附加信号操纵逻辑36,通过信号53或52,在共享资源24和适当总线主控器12、14之间,分别操纵的一个或更多的信号。尽管附加信号56可以具有任何所希望的功能,但是它们一般还是不应该大致同时提供给所有总线主控器12、14,而是应该只提供给总线主控器12、14的子集的信号。附加信号56的一个可能的实例是中断信号,该信号应该只被操纵至占有共享资源24的所有权并需要响应该中断的总线主控器并被提供给它。本发明的其它实施例可以使用附加信号操纵逻辑36来将任何所希望的信号操纵至全部总线主控器(例如,12、14)的子集。注意,对于本发明的一些实施例来说,也许存在这样的情况,在所选择的环境下,附加信号56中的一个或更多个可以被操纵至总线主控器12、14中的全部。
附加信号操纵逻辑36通过信号51双向耦合在共享资源24上。信号51包括用于提供控制和/或状态信息的一个或更多的信号,所述控制和/或状态信息用在附加信号56的操纵中。本发明的替换实施例可以使用任何类型的信号来传送这控制和/或状态信息。本发明的一些实施例可以不要求信号51,因为所有必要的控制信号和/或状态信息都驻留在附加信号操纵逻辑36中,或以另一方式提供给了附加信号操纵逻辑36。
在本发明的一些实施例中,由附加信号操纵逻辑36执行的操纵功能性的全部或部分可以被包括作为共享资源它本身的一部分。例如,在图1中说明的实施例中,用于信号101和102的操纵功能性是由USB共享资源100内的电路执行的,因此信号101和102不需要经过信号操纵逻辑36以便被操纵至正确的总线主控器12、14。在图1中说明的本发明的实施例中,信号101可以用于将一个或更多的信号,例如中断等,提供给总线主控器12。相似地,信号102可以用于将一个或更多的附加信号,例如中断等,提供给总线主控器14。本发明的替换实施例可以将信号101和102提供给附加信号操纵逻辑36,以便信号101和102通过信号53和52被分别被操纵至正确的总线主控器12、14。
在所说明的本发明的实施例中,非共享资源22只由总线12访问;因此与非共享资源22相关联的附加信号是通过信号54直接双向地耦合在总线主控器12上的。对于信号54来说不需要由附加信号操纵逻辑36操纵,因为信号54只是曾被提供给单个总线主控器12。相似地,在所说明的本发明的实施例中,非共享资源26仅由总线主控器14访问;因此与非共享资源26相关联的附加信号是通过信号55直接双向耦合在总线主控器14上的。对于信号55来说不需要由附加信号操纵逻辑36操纵,因为信号55只是曾被提供给单个总线主控器14。
图2,以框图的形式,说明了根据本发明一个实施例、图1的附加信号操纵逻辑36的一部分。在所说明的实施例中,附加信号操纵逻辑36包括执行用于信号56和57的实际操纵功能的操纵电路60。可以通过信号53将信号56和57操纵至总线主控器12,或通过信号52将它们操纵至总线主控器14。信号50和51分别提供来自共享资源30和24的信息。信号50和51,与提供给控制电路62或存储在其中的其它控制信息一起,用来控制由操纵电路60执行的操纵功能。
控制电路62包括寄存器70。在本发明的一个实施例中,寄存器70包括操纵模式选择器寄存器71、操纵映像选择器寄存器72、映像定义寄存器73、映像定义寄存器74,资源所有权寄存器75。本发明的替换实施例可以使用更多、更少或不同的寄存器来提供用于控制操纵电路60的控制信息的一部分。在本发明的一个实施例中,寄存器70中的一些或全部是可以由总线主控器12和14中的至少一个读写的可软件编程的寄存器。
任何所希望的路由选择方案都可以用于将附加信号56和57操纵至总线主控器12、14中所希望的一个或更多。但是,在所说明的本发明的实施例中,存在用于每一共享资源24、20(应为“30”)的至少一个操纵模式选择器寄存器71,用于每一个共享资源24、20(应为“30”)的至少一个操纵映像选择器寄存器72,并且存在至少一个映像定义寄存器73、74。每一操纵模式选择器寄存器71可以用来为它相应的共享资源24、30选择多个操纵模式中的一个。然后所选择的模式操纵模式可以要求使用存储在映像定义寄存器73、74中的一个中的映像定义来确定哪个或哪些总线主控器12、14应该接收正被操纵电路60操纵的信号。每一个操纵映像选择器寄存器可以用来选择多个映像定义寄存器73、74中的一个。
在本发明的一个实施例中,附加信号56和57可以多种方式路由至总线主控器12、14,这取决于已选择的操纵模式,可选地,取决于存储在映像定义寄存器73、74中的映像定义。例如,一个操纵模式可以操纵附加信号(例如56),以便将其提供给当前占有共享资源(例如24)的所有权的总线主控器(例如12)。对于这操纵模式来说映像定义寄存器不是必需的。第二操纵模式可以操纵附加信号56、57,以便将其提供给由可编程路由映像确定的一个或更多的总线主控器12、14,该映像存储在映像定义寄存器73、74中的一个中。该可编程路由映像可通过一个或更多的总线主控器12、14进行编程。在本发明的一些实施例中,只有占有共享资源24、30的所有权的主控器可以写,并从而改变相应于那共享资源24、30的映像定义寄存器73、74。本发明的替换实施例可以不同方式控制一个或更多的映像定义的编程。
第三操纵模式可以操纵附加信号(56或57中的一个),以便将其提供给由多个可编程路由映像中的一个所确定的一个或更多的总线主控器12、14,所述映像存储在映像定义寄存器73、74中。该可编程路由映像的选择可以依据当前哪个总线主控器12、14占有提供附加信号56、57或与之相关联的共享资源24、30的所有权。在本发明的一些实施例中,只有占有共享资源24、30的所有权的总线主控器可以写,并从而改变相应于那共享资源24、30的映像定义寄存器73、74。本发明的替换实施例可以不同方式控制一个或更多映像定义的编程。
第四操纵模式可以操纵附加信号(56或57中的一个),以便将其提供给由多个可编程路由映像中的一个所确定的一个或更多的总线主控器12、14,所述映像存储在映像定义寄存器73、74中。可编程路由映像的选择可以依据正提供附加信号56、57或与之相关联的共享资源24、30的当前状态。在本发明的一些实施例中,映像定义寄存器73、74可以是相应于共享资源24、30的几个状态中的每一个的静态映像。在本发明的其它实施例中,映像定义寄存器73、74可以是可由一个或更多的总线主控器24、30(例如正拥有的主控器)编程的。在本发明的一些实施例中,只有拥有共享资源24、30的所有权的总线主控器可以写,并从而改变相应于那共享资源24、30的映像定义寄存器73、74。本发明的替换实施例可以不同方式控制一个或更多的映像定义的编程或建立。
第五操纵模式可以操纵附加信号(56或57中的一个),以便将其提供给由多个可编程路由映像中的一个所确定的一个或更多的总线主控器12、14,所述映像存储在映像定义寄存器73、74中。可编程路由映像可由正提供附加信号56、57或与之相关联的共享资源24、30来加以选择。在本发明的一些实施例中,只有共享资源24、30它自己可以写,并从而改变相应于那共享资源24、30的映像定义寄存器73、74。本发明的替换实施例可以不同方式控制一个或更多的映像定义的编程。
对于用来控制操纵电路60的控制电路62,本发明的替换实施例可以使用任何所希望的配置。控制电路62的替换实施例可以没有寄存器70,或有更少、更多、或不同的寄存器70。控制电路62通过信号61双向地耦合在操纵电路60上。控制电路62双向耦合在总线20上,以便寄存器70可以,例如,由一个或更多的总线主控器12、14加以读写。在本发明的一个实施例中,信号50、51提供了关于哪个共享资源24、30正提供信号56、57或与之相关联,使用哪个操纵模式,以及使用哪个映像定义的信息。在本发明的替换实施例中,信号50、51提供关于哪个共享资源24、30正提供信号56、57或与之相关联的信息,并且寄存器70用于向操纵电路60提供操作模式和映像定义信息的剩余部分。
图3,以框图的形式,说明了根据本发明一个实施例、连同其它电路一起的图1的共享资源24的一部分。在所说明的本发明的实施例中,共享资源24包括双向地耦合在总线20上的总线接口310。总线接口310通过导线320双向耦合在可重配置的控制逻辑304上,并通过导线326双向耦合在可重配置的通道存储电路300上,以便304和300内的寄存器和其它电路是可通过总线20读和/或写访问的。在一个实施例中,可重配置的通道存储电路300包括可重配置的通道存储电路301-303。在可重配置的通道存储电路300内,本发明的替换实施例可以有更少、更多或相同数目的可重配置的通道存储电路301-303。可重配置的通道存储电路300通过导线322双向耦合在可重配置的控制逻辑304上。在本发明的一个实施例中,信号322用于在可重配置的通道存储电路300和可重配置的控制逻辑304之间传送控制和/或状态信息。可重配置的通道存储电路300通过信号328双向耦合在可重配置的通道电路312上。可重配置的通道电路312通过导线324双向耦合在可重配置的控制逻辑304上。可重配置的通道电路312通过导线45双向耦合在总线330上。
在图3中说明的本发明的实施例中,对于每一外围功能电路306-308都有一个可重配置的通道存储电路301-303。对于每一外围功能电路306-308,本发明的替换实施例可以有任何数目的可重配置的通道存储电路301-303。每一外围功能电路306-308可以执行一个或更多的任何类型的所希望的功能,例如,计时器功能、通信功能、转换功能、数据处理功能、存储功能等。此外,在本发明的一些实施例中,可重配置的通道电路312包括执行一个或更多的任何类型的所希望的功能的可重配置的电路,所述功能例如为,计时器功能、通信功能、转换功能、数据处理功能、存储功能等。因此用于执行功能的电路可以设置在与共享资源24相同的集成电路上(例如可以设置在可重配置的通道电路312中),或可供替换的是设置在包括共享资源24的集成电路的外面(例如可以设置在任何一个外围功能电路306-308中)。
在图3中说明的本发明的实施例中,可重配置的控制逻辑304用于向附加信号操纵逻辑36(参见图1)提供信号56和信号51。可重配置的控制逻辑304也用于确定或选择从总线主控器12、14中的一个到一个或更多的外围功能电路306-308正在使用的通信路径。通信路径使用总线20、总线接口310、可重配置的通道存储电路301-303中的一个(其由可重配置的控制逻辑304确定)、可重配置的通道电路312、信号45以及总线330。
注意,在本发明的一个实施例中,可重配置的通道电路312用于确定或选择可重配置的通道存储电路300和外围功能电路306-308之间的通信路径。在本发明的一些实施例中,可重配置的通道电路312是经由可重配置的控制逻辑304加以编程的。在本发明的替换实施例中,可重配置的通道电路312可以经由总线接口310由总线主控器12或14加以编程。在本发明的一些实施例中,可重配置的通道存储电路300可以独自运行充当可由可重配置的控制逻辑304来重配置的存储电路。相似地,可重配置的通道电路312可以独自运行来执行所希望的功能,其中该功能是可由可重配置的控制逻辑304选择的。本发明的替换实施例可以任何方式划分共享资源24的存储、功能和控制部分。注意,本发明的替换实施例可以不使用可重配置的通道电路312;代替的是,可直接使用重配置的控制逻辑304确定或选择可重配置的通道存储电路300和外围功能电路306-308之间的通信路径。
图4,以框图的形式,说明了根据本发明一个实施例、连同其它电路一起的图1的USB共享资源100的一部分。在一个实施例中,USB共享资源100遵从通用串行总线(USB)标准,通过USB总线43与USB主机420通信。USB共享资源100也耦合在总线20上。在图4中说明的本发明的实施例中,USB共享资源100包括双向耦合在端点存储电路470和总线接口400上的USB功能控制器413。总线接口400双向耦合在端点存储电路470上并双向耦合在总线20上。在本发明的一个实施例中,USB功能控制器413通过USB协议逻辑415双向耦合在串行接口引擎418上。串行接口引擎418双向耦合在USB总线43上。
在本发明的一个实施例中,USB功能控制器413包括耦合在USB协议逻辑415上的多个USB功能控制寄存器402。USB协议逻辑415耦合在端点中断逻辑417上,提供关于中断应该什么时候提供给总线主控器12、14的信息。操纵逻辑480从端点中断逻辑417和USB功能控制寄存器402接收信息,并在响应过程中分别向总线主控器12和14提供中断信号101和102。与使用附加信号操纵逻辑36来确定哪个总线主控器12、14接收哪些附加信号的共享资源24(参见图1)不同,USB共享资源100包括用于执行操纵功能的电路。因此,信号101和102不需要通过附加信号操纵逻辑36来加以路由。由附加信号操纵逻辑36提供的操纵功能是在USB共享资源100内执行的。
在本发明的一个实施例中,操纵逻辑480包括AND门422、424、426和428,所述门各自具有一个耦合在USB功能控制寄存器402上的输入和一个耦合在端点中断逻辑417上的输入。操纵逻辑480也包括多个OR门430、432,所述门接收来自AND门422、424、426和428的输入并分别向总线主控器12、14提供输出101和102。
在本发明的一个实施例中,每一端点具有相应的位460或462、相应的锁存器410或412、相应的位450或452以及端点中断逻辑440或442的相应部分。注意,图4中说明的具体电路仅仅是出于举例说明的目的而示出的。本发明的替换实施例可以使用任何适当电路来实现USB功能控制器413所需的操纵功能性。
在本发明的一个实施例中,USB功能控制寄存器402包括中断操纵寄存器403、其它共享寄存器414以及非共享寄存器416。在本发明的一个实施例中,中断操纵寄存器403包括耦合在中断操纵存储电路408上以分别提供置位和复位信号的中断操纵置位寄存器406和中断操纵清零寄存器404,以置位/复位锁存器410、412。本发明的替换实施例可以包括多个其它共享寄存器414,它们是以与用来实现中断操纵寄存器403的方式相似的方式,使用置位寄存器、清零寄存器以及多个置位/复位锁存器来实现的。
注意,通过使用共享寄存器403和414、端点中断逻辑417以及操纵逻辑480,USB功能控制器413有能力允许多主控器系统中的端点的共享控制。尽管图1中说明的多主控器系统使用了两个总线主控器12、14,本发明的替换实施例还可以使用任何数目或类型的总线主控器,包括在数据处理系统10外部的总线主控器。
现在将更详细地说明USB共享资源100的功能性。USB协议逻辑415向串行接口引擎418提供数据,并从其接收数据。串行接口引擎418向USB主机420提供数据并从其接收数据,依照USB标准运行。
在本发明的一个实施例中,USB共享资源100被看作是无主的共享资源。但是,USB共享资源100被分区了,以便一个或更多的部分(例如USB端点)可以被分配给不同总线主控器12和14。在本发明的一个实施例中,USB端点可以存储在端点存储电路470中。在本发明的一个实施例中,中断操纵寄存器430已被添加来将端点中断操纵至多个总线主控器12、14中的一个。
在所说明的本发明的实施例中,中断操纵寄存器403已使用中断操纵置位寄存器406、中断操纵清零寄存器404以及中断操纵存储电路408加以实现了。在所说明的实施例中,只有两个逻辑状态是可用来指定接收中断的总线主控器12、14的选择。因此对于所说明的实施例来说,端点中断可以操纵仅有的两个总线主控器12、14中的一个。但是,本发明的替换实施例可以实现中断操纵寄存器403,以便端点中断可以被操纵至两个以上的总线主控器。注意,在所说明的本发明的实施例中,中断操纵置位寄存器406和中断操纵清零寄存器404两个都是存储器映像/程序设计器的模型中的寄存器,可以通过总线20和总线接口400写入。注意,在所说明的本发明的实施例中没有使用寄存器406和404的读取;但是,本发明的替换实施例可以任何希望的方式来处理寄存器406和404的读取。
在本发明的一个实施例中,总线主控器12和14都能写和修改共享寄存器414和中断操纵寄存器403。注意,这可能导致寄存器414和403的内容的破坏。设置在存储器映像/程序设计器的模型中的唯一地址上的分离的中断操纵置位寄存器406的使用,以及设置在存储器映像中的不同地址上的分离的中断操纵清零寄存器404的使用,使得多个总线主控器12、14能够独立地对寄存器403中所选择的位进行置位或清零,而不影响寄存器403中没有被选择的位。注意,对于本发明的一些实施例来说,一个或更多的其它共享寄存器414可以与寄存器403相似的方式(即使用分离的置位和清零寄存器406、404)加以实现。例如,涉及端点操作的其它共享寄存器414的全部或一部分可以与寄存器403相似的方式加以实现。本发明的替换实施例可以使用不同的机制来避免寄存器401和一个或更多的寄存器414的内容的破坏。这样的机制的一个实例是寄存器402和414的原子读-改-写访问。
在所说明的本发明的实施例中,写入“1”到位460会置位相应的锁存器410,而写入“0”到位460则不会影响锁存器410。相似地,写入“1”到位450会对相应的锁存器410进行清零,而写入“0”则不会影响对锁存器410。注意,这种机制允许由总线主控器12和总线主控器14二者逐位控制寄存器403。在一些使用USB共享资源100的应用中,总线12会对寄存器位403的一部分进行置位,而总线主控器14则会对寄存器位403的不同的不重叠部分进行清零。在该情况下,寄存器403的位上的“1”将相应端点中断操纵至总线主控器12,而寄存器403的位上“0”则将相应的端点中断操纵至总线主控器14。
对于本发明的一个实施例来说,非共享寄存器416不需要被修改以与多个总线主控器12、14进行适当操作。例如,非共享寄存器416中的有的寄存器可以是只读的,而非共享寄存器416中的其它寄存器可以被一个由预定软件约定指定的总线主控器12、14访问。
在本发明的一个实施例中,USB协议逻辑415和端点中断逻辑417不必针对多主控器的用途而加以修改。但是,由端点中断逻辑417提供的中断输出现在必须由操纵逻辑480操纵至由寄存器403的相应位所指定的总线主控器。操纵逻辑480可以任何方式实现;图4中说明的电路只是操纵逻辑480的一种可能的实现。注意,如果只有一个总线主控器(例如12或14)在利用USB共享资源100,就不会要求操纵逻辑480。在那样的情况下,不会要求操纵,因为所有中断都会转到这一个总线主控器。
图4中说明的剩余电路可以与标准USB电路相同的方式运行。
在上述说明书中,已经参考具体实施例说明了该发明。但是本领域的普通技术人员理解,在不偏离在下面的权利要求中所阐述的本发明的范围的情况下,可以进行各种各样的修改和改变。因此,要在举例说明而不是限制性的意义上看待该说明书和图,所有这样的修改都确定为包括在本发明的范围之内。
在上面好处、其它优点以及问题的解决方案已经就具体实施例加以说明了。但是,不要将好处、优点、问题的解决方案以及可以导致任何好处、优点或解决方案发生或变得更显著的任何组成部分理解为任何或所有权利要求的关键的、必须的或本质的特征或者组成部分。正如这里所使用的,措辞“包括(comprises)”或其任何变型,都确定为覆盖了非排它的包括,从而使得包括组成部分列表的过程、方法、物品或装置不仅包括那些组成部分,还包括没有明确列出或为这样的过程、方法、物品或装置所固有的其它组成部分。
附加文本
1.一种数据处理系统,包括系统总线;耦合在系统总线上的第一总线主控器;耦合在系统总线上的第二总线主控器;耦合在系统总线上的资源,其中该资源被配置成为第一总线主控器和第二总线主控器中的至少一个所拥有;以及附加信号操纵逻辑,其基于资源的所有权,在该资源与第一总线主控器和第二总线主控器中的至少一个之间建立通信路径,其中该通信路径用于在该资源和所述第一总线主控器和第二总线主控器中的至少一个之间传送至少一个附加信号。
2.如权利要求1所述的数据处理系统,其中该数据处理系统还包括指示该资源的所有权的资源所有权存储电路。
3.如权利要求2所述的数据处理系统,其中资源所有权存储电路指示第一总线主控器是否拥有该资源、第二总线主控器是否拥有该资源以及第一和第二总线主控器是否都不拥有该资源之中的至少一个。
4.如权利要求2所述的数据处理系统,其中在第一总线主控器和第二总线主控器都要求该资源的所有权的时候,资源所有权存储电路指示该资源是无主的。
5.如权利要求2所述的数据处理系统,其中在第一总线主控器和第二总线主控器都没要求该资源的所有权的时候,资源所有权存储电路指示该资源是无主的。
6.如权利要求2所述的数据处理系统,其中附加信号操纵逻辑基于存储在资源所有权存储电路内的信息建立该通信路径。
7.如权利要求1所述的数据处理系统,其中附加信号操纵逻辑在该资源与第一总线主控器和第二总线主控器中的唯一的一个之间建立该通信路径。
8.如权利要求1所述的数据处理系统,其中附加信号操纵逻辑在该资源与第一总线主控器和第二总线主控器中的每一个之间建立通信路径。
9.如权利要求1所述的数据处理系统,其中所述至少一个信号不是系统总线的一部分。
10.如权利要求1所述的数据处理系统,其中系统总线依照系统总线协议操作,而所述至少一个附加信号在系统协议之外操作。
11.如权利要求1所述的数据处理系统,还包括外围设备,其中该外围设备包括该资源。
12.如权利要求11所述的数据处理系统,其中外围设备包括第二资源,其中附加信号操纵逻辑在第二资源与第一总线主控器和第二总线主控器中的至少一个之间,基于第二资源的所有权,建立第二通信路径,用于传送与第二资源相关联的至少一个附加信号。
13.如权利要求1所述的数据处理系统,还包括耦合在系统总线上的第二资源,其中附加信号操纵逻辑在第二资源与第一总线主控器和第二总线主控器中的至少一个之间,基于第二资源的所有权,建立第二通信路径,用于传送与第二资源相关联的至少一个附加信号。
14.如权利要求1所述的数据处理系统,其中附加信号操纵逻辑在该资源与第一总线主控器和第二总线主控器中正拥有的总线主控器之间建立该通信路径,所述正拥有的总线主控器正拥有该资源。
15.如权利要求1所述的数据处理系统,其中附加信号操纵逻辑包括存储映像定义的映像存储电路,其中附加信号操纵逻辑基于该映像定义建立该通信路径。
16.如权利要求15所述的数据处理系统,其中映像定义是可由第一总线主控器和第二总线主控器中正拥有的总线主控器加以编程的,所述正拥有的总线主控器正拥有该资源。
17.如权利要求15所述的数据处理系统,其中映像存储电路存储多个映像定义,其中附加信号操纵逻辑基于根据该资源的所有权选择的所述多个映像定义中的一个建立该通信路径。
18.如权利要求17所述的数据处理系统,其中所述多个映像定义中的一个是基于第一总线主控器是否拥有该资源、第二总线主控器是否拥有该资源以及该资源是否是无主的之中的至少一个而加以选择的。
19.如权利要求1所述的数据处理系统,其中该资源包括附加信号操纵逻辑的至少一部分。
20.一种用于在具有系统总线的数据处理系统中通信附加信号的方法,包括在耦合在系统总线上的资源与耦合在系统总线上的多个总线主控器中的至少一个之间,基于该资源的所有权,建立通信路径;以及经由该通信路径,在该资源与所述多个总线主控器中的至少一个之间,和系统总线分离地传送附加信号。
21.如权利要求20所述的方法,其中建立该通信路径包括从拥有该资源的多个总线主控器中确定正拥有的总线主控器;以及在该资源和正拥有的总线主控器之间建立该通信路径。
22.如权利要求21所述的方法,其中建立该通信路径还包括当资源未由所述多个总线主控器中的任何一个所拥有的时候,基于由所述多个总线主控器的第一主控器所定义的映像定义,在该资源与所述总线主控器中的至少一个之间,建立该通信路径。
23.如权利要求20所述的方法,其中建立该通信路径包括基于由拥有该资源的所述多个总线主控器中的正拥有的主控器所定义的映像定义,在该资源与所述多个总线主控器中的至少一个之间,建立该通信路径。
24.如权利要求20所述的方法,其中建立通信路径包括基于该资源的所有权选择多个映像定义中的一个;以及基于所述多个映像定义中所选择的那个,在该资源与所述多个总线主控器中的至少一个之间建立该通信路径。
25.一种数据处理系统,包括系统总线;耦合在系统总线上的第一总线主控器;耦合在系统总线上的第二总线主控器;耦合在系统总线上并可由第一总线主控器和第二总线主控器使用的资源,其中该资源被配置成由第一总线主控器和第二总线主控器中的至少一个所拥有;以及附加信号操纵逻辑,其在该资源与第一总线主控器和第二总线主控器中的至少一个之间建立通信路径,其中该通信路径用于在该资源与所述第一总线主控器和第二总线主控器中的至少一个之间传送至少一个附加信号,其中该通信路径是由该资源确定的。
26.如权利要求25所述的数据处理系统,其中该通信路径是由该资源的当前状态确定的。
27.如权利要求26所述的数据处理系统,其中该资源的当前状态包括该资源的工作模式。
28.如权利要求25所述的数据处理系统,其中该通信路径是基于由该资源所定义的映像定义而确定的。
29.如权利要求28所述的数据处理系统,其中附加信号操纵逻辑包括存储映像定义的映像定义存储电路。
30.如权利要求25所述的数据处理系统,其中附加信号操纵逻辑在该资源与第一总线主控器和第二总线主控器二者之间建立通信路径。
31.如权利要求25所述的数据处理系统,其中所述至少一个附加信号不是系统总线的一部分。
32.如权利要求25所述的数据处理系统,其中系统总线依照系统总线协议操作,而所述至少一个附加信号在系统总线协议之外操作。
33.如权利要求25所述的数据处理系统,其中该资源包括附加信号操纵逻辑的至少一部分。
34.一种用于在具有系统总线的数据处理系统中通信附加信号的方法,包括在耦合在系统总线上的资源与耦合在系统总线上的多个总线主控器中至少一个之间建立通信路径,其中该通信路径是由该资源确定的;以及经由该通信路径,在该资源与所述多个总线主控器中的至少一个之间,与系统总线分离地传送附加信号。
35.如权利要求34所述的方法,其中建立该通信路径包括确定该资源的当前状态;以及基于该资源的当前状态建立该通信路径。
36.如权利要求34所述的方法,其中建立该通信路径包括提供由该资源定义的映像定义;以及基于该映像定义建立该通信路径。
附加文本1.一种数据处理系统,包括第一总线主控器;第二总线主控器;以及可由第一总线主控器和第二总线主控器访问的共享可重配置的资源,其中该共享可重配置的资源在第一和第二总线主控器中的至少一个与用于执行从多个外围功能中选择的第一外围功能的电路之间建立通信路径。
2.如权利要求1所述的数据处理系统,其中该共享可重配置的资源包括可重配置的通道电路,可重配置的通道电路包括用于执行第一外围功能的电路的至少一部分。
3.如权利要求2所述的数据处理系统,其中该共享可重配置的资源包括可由执行第一外围功能的可重配置的通道电路访问的可重配置的通道存储器。
4.如权利要求2所述的数据处理系统,其中可重配置的通道电路可配置来执行从所述多个外围功能中选择的第二外围功能。
5.如权利要求4所述的数据处理系统,其中该共享可重配置的资源在第一和第二总线主控器中的至少一个与用于执行第二外围功能的电路之间建立第二通信路径,其中可重配置的通道电路包括用于执行第二外围功能的电路的至少一部分。
6.如权利要求5所述的数据处理系统,其中用于执行第二外围功能的电路包括串行外设接口(SPI)、通用异步收/发器(UART)、通用串行总线(USB)、输入捕获、输出比较、通用输入/输出、计时器以及同步串行接口(SSI)中的至少一个。
7.如权利要求1所述的数据处理系统,其中数据处理系统还包括耦合在该共享可重配置的资源上的第一外围功能电路,其中第一外围电路至少包括用于执行第一外围功能的电路的第一部分。
8.如权利要求7所述的数据处理系统,其中该共享可重配置的资源至少包括用于执行第一外围功能的电路的第二部分。
9.如权利要求8所述的数据处理系统,其中该共享可重配置的资源在第一和第二总线主控器中的至少一个与用于执行从所述多个外围功能中选择的第二外围功能的电路之间建立第二通信路径。
10.如权利要求9所述的数据处理系统,其中该数据处理系统还包括耦合在该共享可重配置的资源上的第二外围功能电路,其中第二外围功能电路至少包括用于执行第二外围功能的电路的第一部分,并且该共享可重配置的资源至少包括用于执行第二外围功能的电路的第二部分。
11.如权利要求8所述的数据处理系统,其中用于执行第二外围功能的电路包括串行外设接口(SPI)、通用异步收/发器(UART)、通用串行总线(USB)、输入捕获、输出比较、通用输入/输出、计时器以及同步串行接口(SSI)中的至少一个。
12.如权利要求1所述的数据处理系统,其中用于执行第一外围功能的电路包括串行外设接口(SPI)、通用异步收/发器(UART)、通用串行总线(USB)、输入捕获、输出比较、通用输入/输出、计时器以及同步串行接口(SSI)中的至少一个。
13.一种用于操作可重配置的资源的方法,包括配置可重配置的资源,以在第一主控器与用于执行第一外围功能的电路之间建立第一通信路径;以及配置可重配置的资源,以在第二主控器与用于执行第二外围功能的电路之间建立第二通信路径,第一和第二外围功能中的每一个是从多个外围功能中选择的。
14.如权利要求13所述的方法,其中配置可重配置的资源以建立第一通信路径包括,在可重配置的资源内配置通道电路来执行第一外围功能。
15.如权利要求14所述的方法,其中配置可重配置的资源以建立第二通信路径包括,在可重配置的资源内配置通道电路来执行第二外围功能。
16.如权利要求15所述的方法,其中第一总线主控器和第二总线主控器是耦合在可重配置的资源上的不同主控器。
17.如权利要求15所述的方法,其中第一总线主控器和第二总线主控器是耦合在可重配置的资源上的相同主控器。
18.如权利要求15所述的方法,其中配置通道电路来执行第一外围功能和配置通道电路来执行第二外围功能各自包括,配置耦合在通道电路上的通道存储器。
19.如权利要求15所述的方法,其中第一外围功能和第二外围功能包括相同的外围功能。
20.如权利要求15所述的方法,其中第一外围功能和第二外围功能包括不同的外围功能。
21.如权利要求13所述的方法,其中所述多个外围功能包括串行外设接口(SPI)、通用异步收/发器(UART)、通用串行总线(USB)、输入捕获、输出比较、通用输入/输出、计时器以及同步串行接口(SSI)中的至少一个。
22.一种共享可重配置的资源,包括可配置来存储与多个外围功能相关联的信息的可重配置的通道存储器;可配置来执行所述多个外围功能中的每一个的可重配置的通道电路;以及控制逻辑,耦合在可重配置的通道存储器和可重配置的通道电路上,其中该控制逻辑配置可重配置的通道存储器和重配置的通道电路来执行所述多个外围功能中所选择的那个。
23.如权利要求22所述的共享可重配置的资源,其中控制逻辑在多个主控器中的至少一个与用于执行所述多个外围功能中所选择的那个之间建立通信路径。
24.如权利要求23所述的共享可重配置的资源,其中可重配置的通道电路包括用于执行所述多个外围功能中所选择的那个的电路的至少一部分。
25.如权利要求22所述的共享可重配置的资源,其中控制逻辑向可重配置的通道存储器和可重配置的通道电路指示所述多个外围功能中所选择的一个。
26.如权利要求22所述的共享可重配置的资源,其中所述多个外围功能包括来自于串行外设接口(SPI)功能、通用异步收/发器(UART)功能、通用串行总线(USB)功能、输入捕获功能、输出比较功能、通用输入/输出功能、计时器功能以及同步串行接口(SSI)功能的第一功能。
27.如权利要求26所述的共享可重配置的资源,其中所述多个外围功能包括来自于串行外设接口(SPI)功能、通用异步收/发器(UART)功能、通用串行总线(USB)功能、输入捕获功能、输出比较功能、通用输入/输出功能、计时器功能以及同步串行接口(SSI)功能的第二功能。
28.如权利要求22所述的共享可重配置的资源,其中所述多个外围功能的第一子集对应于第一主控器,所述多个外围功能的第二子集对应于第二主控器。
29.一种共享通用串行总线(USB)资源,包括与第一主控器和第二主控器通信的总线接口;耦合在总线接口上的端点存储器电路,该端点存储器电路包括多个端点,其中所述多个端点中的每一个可分配给第一主控器和第二主控器中的一个;与USB主机通信的串行接口引擎;以及USB功能控制器,耦合在总线接口、端点存储电路和串行接口引擎上,该USB功能控制器包括USB协议逻辑,耦合在串行接口引擎上;基于从USB协议逻辑接收的信息生成中断的端点中断逻辑;中断操纵寄存器;以及中断操纵逻辑,基于由中断操纵寄存器提供的操纵信息将每一个中断路由至第一主控器和第二总线主控器中相应的一个。
30.如权利要求29所述的共享USB资源,其中所述多个端点是基于中断操纵寄存器加以分配。
31.如权利要求30所述的共享USB资源,其中,针对所述多个端点中的每一个,中断操纵寄存器向第一主控器和第二主控器中的一个指示分配。
32.如权利要求30所述的共享USB资源,其中中断操纵寄存器包括中断操纵置位寄存器和中断操纵清零寄存器。
33.如权利要求32所述的共享USB资源,其中中断操纵寄存器还包括耦合在中断操纵置位寄存器和中断操纵清零寄存器上的中断操纵存储电路,该中断存储电路向中断操纵逻辑提供操纵信息。
34.如权利要求33所述的共享USB资源,其中中断操纵存储电路包括多个置位-复位锁存器。
35.一种共享通用串行总线(USB)资源,包括多个端点,其中所述多个端点中的每一个可分配给多个总线主控器中的一个;USB功能控制器,耦合在所述多个端点上,该USB功能控制器包括端点中断逻辑,基于来自USB主机的通信生成中断;至少一个中断操纵寄存器,可由所述多个总线主控器访问;以及中断操纵逻辑,基于由中断操纵寄存器提供的操纵信息将每一个中断路由至所述多个总线主控器中相应的总线主控器。
36.如权利要求35所述的共享USB资源,其中所述至少一个中断操纵寄存器包括中断操纵置位寄存器和中断操纵清零寄存器。
37.如权利要求36所述的共享USB资源,其中所述至少一个中断操纵寄存器还包括耦合在中断操纵置位寄存器和中断操纵清零寄存器上的中断操纵存储电路,该中断存储电路向中断操纵逻辑提供操纵信息。
权利要求
1.一种数据处理系统,包括系统总线;耦合在系统总线上的第一总线主控器;耦合在系统总线上的第二总线主控器;耦合在系统总线上的资源,其中该资源被配置成为第一总线主控器和第二总线主控器中的至少一个所拥有;以及附加信号操纵逻辑,其基于资源的所有权,在该资源与第一总线主控器和第二总线主控器中的至少一个之间建立通信路径,其中该通信路径用于在该资源和所述第一总线主控器和第二总线主控器中的至少一个之间传送至少一个附加信号。
2.一种用于在具有系统总线的数据处理系统中通信附加信号的方法,包括在耦合在系统总线上的资源与耦合在系统总线上的多个总线主控器中的至少一个之间,基于该资源的所有权,建立通信路径;以及经由该通信路径,在该资源与所述多个总线主控器中的至少一个之间,和系统总线分离地传送附加信号。
3.一种数据处理系统,包括系统总线;耦合在系统总线上的第一总线主控器;耦合在系统总线上的第二总线主控器;耦合在系统总线上并可由第一总线主控器和第二总线主控器使用的资源,其中该资源被配置成由第一总线主控器和第二总线主控器中的至少一个所拥有;以及附加信号操纵逻辑,其在该资源与第一总线主控器和第二总线主控器中的至少一个之间建立通信路径,其中该通信路径用于在该资源与所述第一总线主控器和第二总线主控器中的至少一个之间传送至少一个附加信号,其中该通信路径是由该资源确定的。
4.一种用于在具有系统总线的数据处理系统中通信附加信号的方法,包括在耦合在系统总线上的资源与耦合在系统总线上的多个总线主控器中至少一个之间建立通信路径,其中该通信路径是由该资源确定的;以及经由该通信路径,在该资源与所述多个总线主控器中的至少一个之间,与系统总线分离地传送附加信号。
5.一种数据处理系统,包括第一总线主控器;第二总线主控器;以及可由第一总线主控器和第二总线主控器访问的共享可重配置的资源,其中该共享可重配置的资源在第一和第二总线主控器中的至少一个与用于执行从多个外围功能中选择的第一外围功能的电路之间建立通信路径。
6.一种用于操作可重配置的资源的方法,包括配置可重配置的资源,以在第一主控器与用于执行第一外围功能的电路之间建立第一通信路径;以及配置可重配置的资源,以在第二主控器与用于执行第二外围功能的电路之间建立第二通信路径,第一和第二外围功能中的每一个是从多个外围功能中选择的。
7.一种共享可重配置的资源,包括可配置来存储与多个外围功能相关联的信息的可重配置的通道存储器;可配置来执行所述多个外围功能中的每一个的可重配置的通道电路;以及控制逻辑,耦合在可重配置的通道存储器和可重配置的通道电路上,其中该控制逻辑配置可重配置的通道存储器和重配置的通道电路来执行所述多个外围功能中所选择的那个。
8.一种共享通用串行总线(USB)资源,包括与第一主控器和第二主控器通信的总线接口;耦合在总线接口上的端点存储器电路,该端点存储器电路包括多个端点,其中所述多个端点中的每一个可分配给第一主控器和第二主控器中的一个;与USB主机通信的串行接口引擎;以及USB功能控制器,耦合在总线接口、端点存储电路和串行接口引擎上,该USB功能控制器包括USB协议逻辑,耦合在串行接口引擎上;基于从USB协议逻辑接收的信息生成中断的端点中断逻辑;中断操纵寄存器;以及中断操纵逻辑,基于由中断操纵寄存器提供的操纵信息将每一个中断路由至第一主控器和第二主控器中相应的一个。
9.一种共享通用串行总线(USB)资源,包括多个端点,其中所述多个端点中的每一个可分配给多个总线主控器中的一个;USB功能控制器,耦合在所述多个端点上,该USB功能控制器包括端点中断逻辑,基于来自USB主机的通信生成中断;至少一个中断操纵寄存器,可由所述多个总线主控器访问;以及中断操纵逻辑,基于由中断操纵寄存器提供的操纵信息将每一个中断路由至所述多个总线主控器中相应的总线主控器。
全文摘要
在具有与存储器阵列连接的处理器(18)的处理系统(12)的低电力模式期间,在存储器阵列(28)内消除了泄漏电流。因为创建了两个电源层,所以在存储器阵列(28)掉电的时候,在绕过该存储阵列(28)的同时使用系统存储器(80),处理器(18)可以继续执行指令。开关(56)响应由指令的执行或由在系统内除该处理器外的某处的发信的源产生的处理器-起动的控制,有选择地去除至电源电压端子的电连通性。在刚一恢复存储器阵列(28)的电源的时候,数据可以或可以不需要标记为不可用的,这取决于设置了该存储器阵列的两个电源层支持阵列中的哪一个。预定的标准可以用于控制电源的恢复的计时。可以实现多个阵列以独立地降低泄漏电流。
文档编号G06FGK1867904SQ200480029718
公开日2006年11月22日 申请日期2004年9月22日 优先权日2003年10月9日
发明者瑞安·D·贝德威尔, 阿纳尔多·R·克鲁斯, 约翰·J·瓦利卡, 威廉·C·莫耶 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1