通过菊链式装置发信号通知中断请求 【技术领域】
本发明一般来说涉及数字装置。更明确地说,本发明涉及发信号通知中断。
背景技术
使用称作“总线”(其通常符合众所周知的标准)的多个传导线将主机计算机连接到灵活数目个各种功能装置(例如存储装置、通信装置、感测装置及本质上可以是可装卸或固定的类似装置)已变得寻常。在大多数情形中,总线中所包含的传导线的数目不同于所连接的装置的数目,且因此构成总线的传导线的数目在连接到所述总线的任何及所有装置之间加以共享。由于所有装置共享总线内的相同传导线且为使主机计算机与所述装置中的每一者通信,每一装置既被指派唯一的地址且随后又经编程以仅响应于寻址到所述唯一的地址的消息。以此方式,多个装置可共享形成总线的相同传导线,从而导致比原本所需的大致减小的总线大小。
许多I/O装置具有中断请求线以向主机发信号通知其需要注意。这通常用于通知主机新数据是可用的或先前计算已完成。有时,每一装置具有通往主机的单独中断请求线,使得所述主机可在各种源之间加以区分。在这种情形中,主机需要具有多个中断请求线,这意味着较高的硬件成本。有时,数个装置共享通往主机的中断请求线,使得当发信号通知中断时所述主机必须询问每一装置其是否为中断源。在此情形中,主机需要对每一中断事件进行搜索,此为低效且费时的,且增加主机计算机服务于中断的等待时间,从而导致来自主机的较多资源来记住中断历史达较长时间周期。
因此,期望支持来自许多装置的中断信号而不相对于装置的数目增加成本且还使与服务于所述中断相关联的等待时间最小化。
【发明内容】
根据本发明的不同实施例,描述用于在具有共享总线的若干客户端装置的系统中高效地服务于中断请求的各种方法、装置及系统。一个实施例描述一种包含至少一个信号线及多个客户端装置的总线架构。所述多个客户端装置中的每一者包含:若干I/O引脚,其中的选定者连接到所述至少一个信号线;以及第一及第二中断引脚,其中所有所述多个客户端装置除第一者及最后一者外均借助与所述至少一个信号线分离的所述第一及所述第二中断引脚彼此连接成菊链布置。所述第一客户端装置仅借助所述第二中断引脚连接到所述菊链布置且所述第一装置的所述第一中断引脚连接到所述菊链外部的节点。所述最后一个客户端装置仅借助第一中断引脚连接到所述菊链且所述多个客户端装置中的所述最后一者的第二中断引脚借助与所述至少一个信号线分离的中断信号线连接到外部电路。在本发明的一个方面中,所述外部电路是主机计算机。
涉及一种通过多个菊链式客户端装置发信号通知中断请求的方法,所述多个菊链式客户端装置借助第一及第二中断引脚以及I/O引脚而连接,所述I/O引脚中的选定者连接到至少一个信号线,其中所述客户端装置中的最后一者独立于所述至少一个信号线与主机计算机通信。通过以下步骤来实施所述方法:由所述菊链式客户端装置中的至少一者请求中断,通过所述菊链从所述请求的客户端装置向下游将所述中断请求传递到所述最后一个客户端装置从而绕过所述至少一个信号线,由所述最后一个客户端装置将所述中断请求传送到主机计算机,由所述主机计算机识别所述请求的客户端装置,及由所述主机计算机服务于所述请求的客户端装置。
一种系统包含主机装置、连接到所述主机装置的至少一个信号线及多个客户端装置。所述客户端装置中的每一者包含:若干I/O引脚,其中的选定者连接到所述至少一个信号线;以及第一及第二中断引脚。所有所述多个客户端装置除第一者及最后一者外均借助与所述至少一个信号线分离的所述第一及所述第二中断引脚彼此连接成菊链布置。所述第一客户端装置仅借助所述第二中断引脚连接到所述菊链布置且所述第一装置的所述第一中断引脚连接到所述菊链外部的节点。所述最后一个客户端装置仅借助第一中断引脚连接到所述菊链且所述多个客户端装置中的所述最后一者的第二中断引脚借助与所述至少一个信号线分离的中断信号线连接到所述主机计算机。
涉及一种总线架构,其包含多个独立信号线以及具有若干I/O引脚及第一与第二中断引脚的多个客户端装置。所有所述多个客户端装置除第一者及最后一者外均借助与所述多个信号线分离的所述第一及所述第二中断引脚彼此连接成菊链布置。所述第一客户端装置仅借助所述第二中断引脚连接到所述菊链布置且所述第一装置的所述第一中断引脚连接到所述菊链外部的节点。所述最后一个客户端装置仅借助第一中断引脚连接到所述菊链且所述多个客户端装置中的所述最后一者的第二中断引脚借助与所述多个独立信号线分离的中断信号线连接到外部电路。
【附图说明】
图1显示根据本发明的系统的经简化布线图。
图2A到2D显示在整个图1中所示系统中发信号通知中断的经简化实例。
图3显示表示图1中所示系统的客户端装置的经简化状态机300。
图4显示根据本发明的另一实施例的系统的经简化布线图。
图5图解说明根据本发明的另一实施例的系统,其中并非所有客户端装置均共享相同总线。
【具体实施方式】
现在将详细参照本发明的特定实施例,所述特定实施例的实例图解说明于附图中。尽管将结合特定实施例来描述本发明,但应理解,并不打算将本发明限制于所描述的实施例。相反,打算涵盖可包含于如所附权利要求书所界定的本发明精神及范围内的替代方案、修改及等效内容。
本发明教示一种用于从计算系统中的多个装置异步发信号通知中断且同时优化处置所述中断中的等待时间的系统及方法。在特定实施例中,通过将中断请求从一个装置移交到另一装置同时保持关于已移交(也称作已传递)的任何中断的信息而经由多个菊链式装置发信号通知中断。以此方式,可使用任何数目个搜索方案(例如,二元搜索)容易地识别中断源,借此减少中断等待时间及保持中断历史所需的存储器资源。
下文参照图1到5论述本发明的实施例。然而,所属领域的技术人员将易于了解,本文中相对于这些图所给出的详细说明是出于解释目的,因为本发明超出这些有限的实施例。应注意,尽管在此论述的上下文中,第一及第二引脚被称作可操作以传递中断信息的第一及第二中断引脚,但在一些实施例中所述第一及第二引脚担当用于促进在其中相关联客户端装置必须经历初始化的那些情形中传递初始化信息的第一及第二中断引脚。
图1显示根据本发明的系统100的经简化布线图。系统100包含用于将主机计算机104连接到多个客户端装置106、108及110的若干信号线102(称作总线102)。应注意,尽管仅显示了三个客户端装置(106、108及110),但可了解,系统100中可存在任何数目个客户端装置。所述客户端装置中的每一者包含若干I/O引脚112,所述I/O引脚中的选定者用于将所述客户端装置中的相关联一者电连接到总线102。除了I/O引脚112之外,每一客户端装置还包含至少两个中断引脚,所述至少两个中断引脚可用于将中断资讯从一个客户端装置传递到另一客户端装置且还表明相关联客户端装置的中断状态。在所描述的实施例中,第一及第二中断引脚可用于将客户端装置106、108及110连接成与总线102分离的菊链布置。菊链布置意指一个客户端装置的第一(输入)引脚电连接到相邻客户端装置的第二(输出)引脚。所述连接可以通过硬焊、通过印刷电路布局或通过插座引脚连接来完成。举例来说,客户端装置110的第一中断引脚114可连接到客户端装置108的第二中断引脚116,且客户端装置108的第一中断引脚118可连接到客户端装置106的第二中断引脚120。然而,不同于其它客户端装置,客户端装置106的第一中断引脚122可连接到外部节点124,且客户端装置110的中断引脚126(称作主机监视器引脚126)可经由可与总线102分离的导线128连接到主机计算机104。正是通过借助导线128监视中断引脚126上的活动,主机计算机104可感测客户端装置106、108或110中的至少一者的中断状态的改变。
还应注意,每一客户端装置能够设置相关联未决中断旗标及已传递中断旗标。在所描述的实施例中,可通过设置相关联未决中断旗标(例如,从NOT_SET到SET)来记录客户端装置是中断源的事实。另一方面,如果客户端装置已接收到至少一个“上游”客户端装置是中断源的通知(借助与相邻装置的第二中断引脚通信的第一中断引脚),那么可由接收客户端装置通过设置其已传递中断旗标(例如,从NOT_SET到SET)来记录此事实。上游意指在特定客户端装置与第一客户端装置(在此情形中是客户端装置106)之间的那些客户端装置。应注意,一旦主机计算机104已识别且确认未决中断,中断源的未决中断旗标便将从SET改变为NOT_SET,而此又将借助那些上游客户端装置(即,最后一个客户端装置(即,此情形中的客户端装置110)与中断源之间的那些客户端装置)的第一及第二中断引脚沿菊链“向下”传送。
现在参照图2A到2D,其显示在整个系统100中发信号通知中断的经简化实例。所有客户端装置已被初始化且以其相应初始状态(其中所述客户端装置中的任一者均无未决中断)开始,且均使其相应中断引脚(第一与第二两者)设置为逻辑电平A。在此实例中,客户端装置106通过将第二中断引脚上的逻辑电平从逻辑电平A改变为逻辑电平B并将其未决中断旗标从NOT_SET设置为SET来发信号通知中断。由于客户端装置106的中断引脚电连接到客户端装置108的第一中断引脚118,因此第一中断引脚118也从逻辑电平A改变为逻辑电平B。客户端装置108感测到此改变且作为响应,将第二中断引脚116从逻辑电平A改变为逻辑电平B,借此通过菊链将中断信息向前或向下游传递到客户端装置110,因为客户端装置110的第一中断引脚114连接到客户端装置108的第二中断引脚116。响应于第一中断引脚114处的所感测的改变,客户端装置110将第二中断引脚126从逻辑电平A改变为逻辑电平B。以此方式,关于客户端装置106处的所述中断的信息沿所述菊链向下传递。由于客户端装置110的第二中断引脚126借助导线128连接到主机计算机104,因此主机计算机104监视中断引脚126的状态改变,而所述主机计算机又断定客户端装置106到110中的至少一者发生了中断事件。此时,主机计算机104开始使用(例如)二元搜索来搜索并识别中断源。
为识别所述中断源,主机104询问客户端装置108关于其装置状态,客户端装置108通过报告中断引脚118是逻辑电平B且其未决中断旗标是NOT_SET(指示其不具有未决中断)来对此做出响应。如果客户端装置108具有未决中断或已从先前客户端装置传递中断旗标,那么中断引脚116将被设置为逻辑电平B。以此方式,主机计算机104可推断客户端装置108不是中断源(其未决中断旗标是NOT_SET)且中断事件信号是从至少客户端装置106传递的。由于客户端装置106是所述菊链中的已知的第一装置,因此主机计算机104可断定中断事件信号是在客户端装置106处始发的,且所述搜索结束(如客户端装置106的中断未决旗标是SET所证实)。然而,如果如图2B中所示,客户端装置108已报告未决中断旗标及传递中断旗标两者均为NOT_SET,从而指示尚未起始中断且尚无中断传递穿过其(两个中断引脚均设置为逻辑电平A,且未决中断旗标及传递中断旗标为NOT_SET),那么主机计算机104可推断客户端装置110具有未决中断且因此是中断源。此外,如图2C中所示,如果客户端装置108报告其具有未决中断且尚无中断传递穿过其,那么主机计算机104可推断客户端装置108具有未决中断且因此是中断源。应注意,如果装置报告其具有未决中断且使其第一中断引脚设置为逻辑电平B两者,那么主机计算机104可推断所述客户端装置是中断源,但并非是唯一的中断源,从而指示主机计算机104将不得不继续搜索以识别其它中断源。
如图2D中所示,在主机计算机104处置由客户端装置106呼叫的中断之后,主机计算机104向客户端装置106确认其中断已得到服务且作为响应,客户端装置106通过将第二中断引脚120的状态从逻辑电平B改变为逻辑电平A来向下游传递此信息。客户端装置108感测此状态改变且还通过将第二中断引脚的状态改变为逻辑电平A来做出响应(因为其不具有其自身的未决中断)。另外的下游客户端装置110感测第一中断引脚114中的改变且通过将中断引脚126的状态改变为逻辑电平A来做出响应。主机计算机104借助导线128感测中断引脚126处的改变且推断系统100中当前不存在未决中断。
图3显示表示本发明的系统100的客户端装置108的经简化状态机300。在初始化客户端装置106到110之后,客户端装置108进入其中未决中断旗标及传递中断旗标两者均为NOT_SET(即,不存在由客户端装置108实施的对未决中断的指示且客户端装置108不具有已从任何下游客户端装置(在此情形中,为客户端装置106)传递来的任一中断事件的记录)的初始状态302。在此状态中,其第一及第二中断引脚两者均处于逻辑电平A。如果客户端装置108发信号通知中断350,那么其将第二中断引脚从逻辑电平A改变为逻辑电平B且进入其中中断未决旗标为SET的状态308。如果在状态308之后在354处第一中断引脚改变为逻辑电平B,那么客户端装置108保持第二中断引脚处于逻辑电平B且进入其中中断未决旗标及传递旗标两者均为SET的状态310。然而,如果在状态310中时在356处第一中断引脚改变回到逻辑电平A,那么客户端装置108返回到状态308但保持第二中断引脚处于逻辑电平B。如果在状态308中时主机计算机104确认352所述未决中断,那么客户端装置108返回到状态302且将第二中断引脚改变为逻辑电平A。如果在状态310中时主机计算机104确认358所述中断,那么客户端装置108进入状态304且维持所述第二中断引脚处于逻辑电平B。
当仍在初始状态302中时,如果在322处客户端装置108感测到第一中断引脚已从逻辑电平A改变为逻辑电平B,那么客户端装置108通过将第二中断引脚改变为逻辑电平B来做出响应且进入其中设置传递事件指示符的状态304。从此状态,如果在324处客户端装置108感测到第一中断引脚改变回到逻辑电平A,那么其也将其第二中断引脚改变回到逻辑电平A且移回到状态302。然而,从状态304,如果客户端装置108需要发信号通知中断326,那么其保持其第二中断引脚处于逻辑电平B且进入其中设置未决中断旗标及传递中断旗标两者的状态306。如果在状态306中时在328处主机计算机104确认所述中断,那么装置108进入状态304且保持第二中断引脚处于逻辑电平B。如果在状态306中时在330处所述第一中断引脚改变回到逻辑电平A,那么客户端装置108装置进入状态308但保持所述第二中断引脚处于逻辑电平B。
图4显示根据本发明的另一实施例的系统400,借此混合不产生中断的非中断装置402到404(例如SD存储器装置)与可产生中断的中断装置406到408(例如SDIO装置)。由于非中断装置402到404不产生中断且因此不应被包含在对中断源的任一搜索中,将这些装置菊链连接成已知位置中的群组或子群组,可在任一搜索中跳过这些装置,借此改进搜索时间及效率。举例来说,在图4中所示的情形中,非中断装置402到404被菊链连接在中断装置406到408的上游。因此,当主机计算机410开始对中断源的搜索时,所述搜索可仅限于可产生中断的菊链式客户端装置的那一部分,即客户端装置406到410。应注意,只要主机计算机410知晓非中断客户端装置的身份及位置,那么可将这些装置置于被认为是最适合于其经设计而用于的应用的任何地方及任何组合中。
尽管已使用基于菊链类型总线架构的实施例来描述了本发明,但本发明也极适合于其它类型总线架构。此类总线架构包含经配置以将中断从一个装置传递到另一装置(不管以何种方式传递所述中断)且记住中断已传递穿过其(以促进后续中断搜索,例如,使用二元搜索)的那些架构。
图5图解说明根据本发明的另一实施例的系统500,其中并非所有客户端装置均共享相同总线。明确地说,尽管每一客户端装置502到508一起连接成如图1及4中所描述的菊链布置,但在系统500中每一客户端装置502到508经由其自身的至少一个信号线或总线各自与主机计算机510通信且因此不共享总线。举例来说,客户端装置502连接到总线514,客户端装置504连接到总线516,客户端装置506连接到总线518,且客户端装置508连接到总线520。在任一情形中,主机计算机510借助连接于主机监视器节点524处与总线中的任一者分离的线522检测中断事件。
应注意,预期本发明可用于任何类型客户端装置或任何混合类型客户端装置。举例来说,所述客户端装置可包含数据存储装置、通信装置、感测装置及本质上可以是可装卸或固定的类似装置。此类装置可包含用作接口的SDIO(输入/输出)卡,所述接口借助例如
![]()
GPS及WiFi(802.1lb,g)等SD卡槽来扩展装置的功能性。数据存储装置可包含非易失性存储器,例如多媒体卡(MMC)及安全数字卡(SD)。这些装置还可根据其产生中断(例如,SDIO装置)还是不产生中断(例如,SD存储器装置)来分组。以此方式,可使得对任何中断源的搜索在时间及计算资源两者上均为高效的。
本发明可进一步关于包含如上文所论述的存储器系统的电子系统。存储器系统(即,存储卡)通常用于存储供与各种电子产品一起使用的数字数据。存储器系统常常是可从电子系统装卸的,因此所存储的数字数据为便携的。根据本发明的存储器系统可具有相对小的形状因数且可用于存储获取数据的电子产品的数字数据,所述电子产品例如为相机、手持式或笔记本计算机、网卡、网络器具、机顶盒、手持式或其它小媒体(例如,音频)播放器/记录器(例如,MP3装置)及医疗监视器。
本发明的优点众多。不同实施例或实施方案可产生以下优点中的一者或一者以上。本发明的一个优点是可在不考虑修改系统硬件的情况下添加或移除遗留装置(即,本质上不产生中断的那些装置)。本发明的另一优点是其无需任何修改(对于已具有至少一个通用I/O线(GPIO)的那些主机计算机)或对于不具有至少一个GPIO或中断的那些主机计算机仅做略微修改即可与任一主机计算机一起使用,因此减少成本且增加本发明的适用性。
从书面说明中,本发明的许多特征及优点显而易见,且因此所附权利要求书打算涵盖本发明的所有此类特征及优点。此外,由于所属领域的技术人员可容易地联想到众多修改及改变,因此并不期望将本发明限制于如所图解说明及所描述的确切构造及操作。因此,所有适合的修改及等效内容可归类为属于本发明的范围内。