CN1111789C - 采用串行中断总线协议的计算机系统、外设和中断处理法 - Google Patents
采用串行中断总线协议的计算机系统、外设和中断处理法 Download PDFInfo
- Publication number
- CN1111789C CN1111789C CN95194686A CN95194686A CN1111789C CN 1111789 C CN1111789 C CN 1111789C CN 95194686 A CN95194686 A CN 95194686A CN 95194686 A CN95194686 A CN 95194686A CN 1111789 C CN1111789 C CN 1111789C
- Authority
- CN
- China
- Prior art keywords
- interrupt
- serial interrupt
- serial
- signal
- peripheral
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
一种串行中断总线协议,其中,在一计算机系统中的任意数量的外设可以发送任意预定中断信号到系统的中断控制器(22)而不需要一用于每个可能中断的专用针。在所述串行中断总线上的每个外设包括用于通过可能的中断状态而循环的状态机逻辑。这些外设形成一菊花链,此链的起始和终止点为一串行中断控制器(25),此控制器跟随象系统外设一样的状态机逻辑前进。当此串行中断控制器(25)接收一有效信号时,它根据中断控制器状态机逻辑的中断状态确定将哪个中断信号提供给系统的中断控制器(22)。在辅助串行中断总线上的外设(41,42)可以通过一系统中断桥(40)而与主系统中断总线上的外设(30,31,32)形成一菊花链,象系统外设一样,其中的系统中断桥(40)也包括用于跟随相同的状态图的状态机逻辑。
Description
发明背景
1.发明领域
本发明涉及计算机系统外设连接,更具体地,本发明涉及利用一串行外设中断总线处理计算机系统中的多个可能的中断。
2.技术背景
在计算机工业中,一个已广泛接受的用于个人计算机的系统结构为AT系统设计。采用这种结构的较早的系统包括用ISA总线协议实现的系统总线,后来则采用EISA总线协议。这种协议定义了十五个不同的系统中断,以便系统内部各部件使用。这些中断被指定为IRQ0至IRQ15,其中的一个IRQ信号,例如,IRQ2,专门用于系统的可编程中断控制器(PIC)机制。
上述的采用ISA或EISA总线协议中断机制的计算机系统通常包含一个中断控制器,此中断控制器接收各种IRQ信号,并且作为响应而提供一信号到系统的中央处理单元(CPU)以指示一未决中断的存在。CPU响应当前的中断信号而向该中断控制器确认此中断信号,随后所述中断控制器提供一代码向量到CPU,以便执行适当的中断服务程序(ISR)。公知的一个这样的中断控制器是Intel 8259外设中断控制器(PIC)。在一个实施例中,所述中断控制器能够接收八个不同的IRQ信号。为了支持整个范围的IRQ信号[0:15],第一PIC接收IRQ8-15并产生一中断信号输出以响应之。与来自其它部件的另外七个输入一起,所述第一PIC的输出作为IRQ2的输入提供给第二PIC。所述第二PIC将其输出提供给CPU。这样,两个八IRQ输入的PIC链接在一起,从而在系统内提供十五个可能的IRQ信号。
上述中断信号协议具有一些不幸的缺点。一些计算机系统的部件被指定提供一特定IRQ输出到系统PIC,而另一些部件可自由地配置多个可能的IRQ信号。在常规外设设计方法中,对于设备可能使用的每个中断,这将需要一个单独的针,最多可能达到十五个针,以便引导15个可能的ISA IRQ中断信号。每个针将驱动一单独信号线到系统PIC,以便用于当一个中断需要服务时用信号通知CPU。除了增加实现外设的成本外,这还增加了外设互连的复杂性和尺寸。最近以来,这已经与计算机系统、特别是便携式和笔记本一类的系统尺寸的减小有较大的关系。因此,本发明的一个目的是减小可配置多个中断的外设的复杂性和针的需求。
发明概述
从前面可知,计算机系统的结构可以以这样的一种方式增强,这种方式就是,在仍然遵守多针中断协议的同时减小实现外设的成本和外设针的要求。因此,本发明的一个目的是提供一种用于实现一串行总线协议的方法和装置,其中的总线协议允许系统外设或部件配置成用于产生任意预定的中断信号而不需要用于每个可能中断信号的专用针。特别地,本发明的一个目的是提供一种协议,用于在一串行中断总线上实现的外设通过使用两个针来产生任意IRQ信号,这两个针根据本发明的协议传送信号。
在本发明的一个实施例中,一计算机系统实现为具有一个主串行中断总线和一个辅助串行中断总线。所述串行中断总线不但提供一时钟信号到连接在总线上的外设,而且还通过在总线上实现的外设链提供传送的中断信号。在此实施例中说明的主和辅助串行中断总线强调了本发明在有时连接在连接站(docking station)上的笔记本计算机中应用的适应能力。在本实施例中,所述主串行中断总线用于与便携式计算机有关的外设,而与辅助串行中断总线有关的外设与所述连接站有关。这也用于说明一串行中断桥部件的功能性,其中的总线桥用于将辅助中断总线的外设包含在下面将要讨论的串行中断外设链中。
上述实施例中的计算机结构包括一个外设中断控制器(PIC)机构,此PIC用于当一未决中断需要服务时向系统处理单元发信号。根据ISA或EISA总线中断协议。此外设中断控制器机构作为输入接收十五个可能的IRQ信号,此PIC机构从一个驱动所述串行中断总线的串行中断控制器(SIC)接收这些IRQ信号。
根据本发明的这个实施例,计算机系统中的每个外设仅需要拿出两根针用于中断信号。每个外设有一个串行输出针(Sout)和一个串行输入针(Sin)。所述串行中断控制器也有一个Sout针耦合到所述串行总线上的第一外设的Sin针(或者如果其中之一实现为用于可能的连接目的则耦合到串行中断桥(SIB))。所述第一外设(或所述SIB)的Sout针耦合到一串行外设链上的下一外设的Sin针。然后,其Sout针又在所述串行总线提供的外设线上顺序地耦合到下一个Sin针。在所述链的最后一个外设的Sout针耦合到所述中断控制器的Sin针。
在一个实现桥的计算机系统的实施例中,SIB采用四个针。此SIB有一个接收SIC的Sout针的输出的第一Sin针。此SIB还有两个Sout针。所述桥的第一Sout针将其信号驱动到在所述辅助串行中断总线上提供的第一外设的Sin针。象上面已经描述的主串行中断总线的外设那样,所述辅助总线的外设以同样的方式通过其Sout和Sin针链接起来。最后一个外设和所述辅助总线的Sout针驱动第二Sin输入到SIB。然后SIB驱动其第二Sout信号到所述主总线的第一外设的Sin针,因此,在系统中就有效地将所有辅助总线外设加到系统中主总线外设的菊花链上。
在本发明的一个实施例中,其中的辅助总线表示一个连接站外设总线,仅当系统被连接时此辅助总线才变成活动的,否则仅使用主总线。在后一种情况下,所述桥转送串行中断信号到主总线的第一外设。
在所述串行中断总线上使用的每个外设中都包含有串行中断外设(SIP)逻辑。每个SIP逻辑和SIC采用相同的时钟计时。每个都有用于跟踪一状态图的逻辑,此状态图在一个时钟周期内循环通过每个可能的IRQ中断状态。在所述串行链上的每个外设保持领先其后面的外设一个状态。当一外设需要发送一特定IRQ信号到系统PIC时,仅当其在SIP逻辑状态机的相应IRQ状态时,此外设才通过其Sin针发送一有效信号出去。在所述链上的每个外设将通过其输出Sout转送在其Sin上接收的任何信号。在一个实施例中位于系统I/O控制器中的SIC包括用于运行象SIP逻辑一样的状态机的状态机逻辑。因此,当一有效信号从所述串行链上的最后一个外设转送到SIC时,便使SIC知道哪一个IRQ信号需要被提供给系统PIC。这就为一计算机系统中的任意数量的外设产生任何可能的系统IRQ中断信号而不需要用于每一中断的专用针提供了一种机构。而且,由于在保证SIC将发送适当的IRQ信号给系统PIC的情况下,多个外设能够以相同的IRQ状态发送一有效信号,因而允许多个IRQ的共享。
在本发明的一个实施例中,采取措施使得SIC直接提供一系统管理中断(SMI)到系统CPU而绕过系统PIC。每个外设的SIP逻辑和每个SIC逻辑包括用于产生系统管理中断(SMI)的一个状态。
附图简述
从下面的详细描述中,本发明的目的、特性和优点将变得明白,其中:
图1是实现根据本发明的一个实施例的所述串行中断总线协议的一计算机系统结构的方框图。
图2是与实现在根据本发明的串行中断总线上的每个外设有关的串行中断逻辑实现的一个状态图。
图3是一个时序图,显示了通过一串行中断链的中断针信号状态。
图4是一个时序图,用于一外设或桥启动所述总线时钟以发送中断。
图5是根据本发明而用于串行中断外设的一个广义状态图。
本发明的详细描述
本发明提供了一种用于在采用串行中断总线的计算机系统中的一中断信号协议的方法和装置。在下面的详细描述中,描述了计算机系统的一个实施例,它包括与可连接的便携式计算机及与便携式计算机和连接站关联的外设部件兼容的主和辅助串行中断总线。可以理解的是,这是用于解释的目的而不是一种限定,本发明也可采用其中最好是提供一串行中断总线的其它计算机系统来实现本发明的优点。
在整个详细描述中,为了对本发明提供透彻的理解,下面采用了大量具体的细节,诸如特定信号名称、总线协议和计算机结构类型等。可以理解的是,对于具有现有技术中的普通技能的人员,不采用这些具体细节也能实现本发明。在其它情况下,为了避免使本发明的主题模糊不清,一些公知部件、结构和技术没有进行详细的描述。特别地,本发明的一些功能将根据状态图逻辑和时序图描述,而这些状态图逻辑和时序图可由不同类型的逻辑电路实现。本领域的普通技术人员可以理解的是,本发明的所述功能可由各种技术实现,这些技术包括但不限于应用专用的集成电路(ASIC)、诸如PAL和PLD的可编程逻辑器件或者专用逻辑电路。另外,在有些情况下,在下面的详细描述中标识的信号名称描述为在一种状态中是活动的,而在另一种状态中则是不活动的。当然,本发明的教导也同样适用于相反情况。
现在参见图1,其中说明了可体现本发明的一个计算机结构。图1中的计算机系统结构的说明为的是强调其分层中断结构。对本发明不起作用或未包括在本发明中的所述计算机系统的许多部件未示出。可以看到,计算机系统包括一个耦合到存贮器总线15以便与其存贮器系统(未示出)通信的中央处理单元(CPU)10。可以看到,所述CPU10从系统I/O控制器20接收两个控制信号。它们标识为到CPU的INTR中断信号和系统管理中断(SMI)。如以下的进一步详细描述那样,到CPU的INTR信号是来自所述系统的外设中断控制器机构(PIC)22的常规信号,当一系统部件需要CPU执行一中断服务程序(ISR)时,此PIC22通知CPU10。
在本发明的一个实施例中,CPU10是根据Intel MicroprocessorArchitecture(lntel微处理器结构)设计的一微处理器。这种结构支持一种称为系统管理模式(SMM)的操作模式。对于系统管理模式的支持,在某些情况下CPU必须从系统的各种外设接收一个称为系统管理中断(SMI)的特殊中断。因此可以看到,所述计算机结构的CPU10既接收用于系统管理中断处理的SMI中断,又接收常规INTR中断信号。
系统I/O控制器20包括用于计算机系统的所述外设中断控制器(PIC)机构22。如上所述,它可以用两个Intel 8259PIC配置,这样可以接收来自不同的系统部件的十五个可能的IRQ信号,并且作为响应而提供INTR信号到CPU10。在一些替换实施例中,也可采用其它的PIC机构而完成相同的功能性。系统I/O控制器20还包括本发明的串行中断控制器(SIC)25。如下面将进一步详述的那样,SIC25采用本发明的串行中断协议,用于检测来自系统外设的特定IRQ请求并提供适当的IRQ输入信号到系统PIC22。当采用本发明协议的系统外设之一表示需要一系统管理中断时,SIC25还提供SMI中断信号到CPU10。PIC22还被耦合成以便从其它系统部件,诸如在所述计算机系统的母板上或者通过独立于所述串行中断总线的另一机构而提供的那些部件接收IRQ信号。
根据本发明的所述实施例,所述串行中断总线表示为用于耦合计算机系统的外设30、31和32的一主串行中断总线。还有一个用于耦合外设41和42的辅助串行中断总线。可以想象的是,本发明适合用于便携式计算机系统中,所述便携式计算机系统可以通过一个连接站连接。此连接站举例说明为连接45。本发明的串行中断协议用于处理一些中断信号,这些中断信号由所述便携或计算机系统板上的诸如外设30、31、32等的外设和与所述连接站相关的诸如外设41、42等的外设产生。对于图1中所示的主和辅助串行中断总线,可以看到它们将通过一串行中断桥40组合,这一点下面将进一步描述。
与所述串行中断总线协议相关的每个外设、串行中断控制器和串行中断桥接收时钟信号PCICLK和CLKRUN #。下面将参照图3、4的时序图进一步描述根据本发明的一个实施例的信号传输的实际时序。
实现本发明的串行中断总线协议的系统外设仅需要两个专用针以用于其操作。这两个针指定为Sout和Sin。对于串行中断控制器25也是如此。本发明的这些外设链接在一起,使得来自SIC25的Sout信号用于所述串行中断链的第一外设(或桥)的Sin信号。此链上的最后一个外设32从所述链上的倒数第二个外设31的Sout针接收其Sin信号。此链上的最后一个外设驱动其Sout针到SIC25的Sin针。
当采用一串行中断桥(SIB)40时,它包括两个Sin针和两个Sout针。其Sin1针接收来自SIC25的Sout的信号。当计算机系统通过连接站45连接时,所述串行中断桥提供一Sout1信号到所述辅助串行中断总线的第一外设41的输入Sin。在所述辅助中断总线上的外设以与主串行中断总线上的外设相同的方式链接在一起。辅助串行中断总线的最后一个外设42驱动其Sout信号到SIB40的Sin2针。SIB40有一Sout2针被耦合以驱动一信号到主串行中断总线的第一外设30的输入Sin。当系统中有一个桥但没有连接时,SIB40通过其Sout2针发送在其Sin1针上接收的信号而忽略当连接时将耦合到所述辅助串行中断总线的那些针。
在图1中,不同的外设30、31、32、41和42没有根据其类型来标识。任意外设部件都可用于本发明的串行中断总线上。图中仅说明了安装在每个外设中的串行中断外设(SIP)逻辑。要理解的是,当需要一中断服务时系统中的每个外设可以指定不同的IRQ信号。此外,可以理解的是,一些外设可以被配置成请求不同的IRQ输入,以便提供给系统PIC22。每个外设的SIP逻辑,SIB40和SIC25将包含状态机逻辑,以便沿着图2所示的状态图进行。根据本发明的协议,每个外设的SIP逻辑通过其Sout针传送在前面的时钟周期从其Sin针接收的信号值,根据本发明的一个实施例,将假定Sin信号为逻辑低时有效。当然,在一个替换实施例中也可以反过来。
当在所述串行中断总线上没有外设需要中断服务时,每个Sout针上拉到逻辑高状态。所述任意给定外设的状态机逻辑最初位于停止状态220。当一外设,诸如外设32的SIP逻辑在其输入针Sin接收到一有效值(Sin下拉为低)时,所述SIP逻辑转换到开始消息状态200。此外设然后通过其Sout针发送一有效信号到此链上的下一外设的Sin针。在外设32的情况中,它传送一有效信号Sin到SIC25。这将使得SIC25在其状态机逻辑中转换到开始消息状态200。这时,在串行链中位于其后的外设已经在其状态机中前进一个状态而到达SMI状态201。
如果外设32,即在串行中断链上的最后一个外设,当其位于SMI状态201时从其输入针Sin接收一有效值时,它在下一时钟周期的上升沿传送此有效信号到SIC25的Sin针。如果SIC25在其状态机逻辑位于SMI状态201时从其Sin针接收一有效信号,那么它将传送一中断信号到CPU10的系统管理中断(SMI)输入。这就允许CPU10立即处理系统管理中断。
如上所述,在所述串行中断总线的外设链中的每个外设包括状态机逻辑,此状态机逻辑沿着图2所示的状态图前进。当不处于停止状态220时,每个外设的状态机在其状态图的每个状态中保持一个时钟周期。根据在此外设的Sin针上首次接收的一有效值而产生从停止状态220到开始消息状态200的转换。除了当此外设位于一个想驱动一有效中断的状态时以外,每个外设继续通过其Sout针发送在前面的时钟周期从其Sin针上接收的信号。因此,可以看到的是,在所述串行中断链中,每个外设的SIP逻辑处于紧靠其前面的一个外设的提前一个状态。
当一外设希望发出一特定IRQ信号时,它仅仅需要做的是,当其位于图2的状态图的相应IRQ状态时通过其Sout针提供一有效信号。外设在其Sout针上的所有其它输出将为在其Sin针上接收的值。例如,如图1所示,如果外设30需要发送一IRQ12信号以便由CPU10提供服务,那么,当其状态机逻辑位于IRQ12状态213时,它将通过其Sout针发送一有效信号。这时,外设31将处于IRQ11状态212,而外设32将处于IRQ10状态211。类似地,这时SIC25将处于IRQ9状态210。在SIP逻辑30通过其Sout针传送一有效信号后的一个时钟周期,SIP逻辑31将处于IRQ12状态213并通过其Sin针接收一有效信号。另外,外设32仍将落后外设31一个状态并且处于IRQ11状态212,而同时SIC25处于IRQ10状态211。这个信号将以这种方式继续传送,使得当其被SIC25接收时,SIC25将处于IRQ12状态213。因此,根据在三个时钟周期之前由SIP逻辑30的Sout针输出的一有效信号,SIC25将能够检测哪一个IRQ信号,即IRQ12应被提供给系统PIC22。这样,在所述计算机系统中,对于所述串行中断总线上的每个外设,仅需要两根针用于传送可能的任意数量的IRQ中断。
上述的中断信号传输原理也适用于一个通过一连接单元45连接的便携式计算机系统。在这种情况下,所述串行中断桥(SIB)40开始工作。SIB40包括状态机逻辑,此状态机逻辑也跟随由图2的状态图所示的相同状态机前进。当SIB40通过其Sin接收其第一个有效信号时,它从停止状态220转换到开始消息状态200。然后,假设此桥有效地连接到一辅助串行中断总线,那么它将通过其Sout1针在下一时钟周期发送一有效信号到所述辅助串行中断总线链上的第一个外设,在本例的情况下此第一个外设具有SIP逻辑41。SIB40然后将转换到SMI状态201。当SIB40位于SMI状态201时,所述第一个外设已经转换到开始消息状态200。
从开始消息状态200,外设41传送开始消息激活信号到所述辅助串行中断总线的下一个外设的SIP逻辑42。如上所述,辅助串行中断总线上的最后一个外设通过SIB40的第二输入Sin2传送其输出Sout,然后此输出通过SIB40的输出针Sout2传送到主串行中断总线上的第一个外设30的第一个输入针Sin。这样,本发明的串行中断总线协议能够实现多级链接串行中断总线,其中每个总线具有多个串行中断外设,这些外设通过一系列串行中断桥而被耦合。
这些串行中断外设将形成一个逻辑链,使得在适当的状态中发送的中断将由SIC25在相应状态检测而通知系统PIC22。这与系统中包含的外设和桥的数量无关。还可以看到的是,本发明的协议允许被配置的多个外设产生同样的IRQ信号。因此,如果一个外设希望发一个有效IRQ13信号,并且此链上的另一外设已经发了一个有效IRQ13信号,那么,第二个外设可有效地采取相同的行动:当其位于IRQ13状态214时通过其Sout针发送一有效信号。
图3是说明上述协议在没有串行中断桥的系统中的一个时序图。第一外设在第一时间间隔从所述停止状态转换到所述开始消息状态,然后通过所述链上其余的外设级联直至在相应数量的时钟周期后到达所述串行中断控制器25为止。本发明的另一个优点是,所述SIC不需要知道外设产生的中断是否为一边沿触发或电平敏感中断,本发明允许由一外设的SIP逻辑进行中断信号的边沿-电平转换。
本发明的一特定实施例中,其中的外设自动预定为定时到PCICLK信号上运行,并且如果当发送一有效CLKRUN #信号时它是停止的,那么它就已经作出反应来重新启动PCICLK。因此,仅需要两个附加的针就可支持本发明的串行中断总线协议。应该注意的是,所述实施中的状态图和SIP逻辑忽略了位于IRQ1和IRQ3状态之间的IRQ2状态。这是因为在常规的IRQ实现中,如前面所述的那样,IRQ2专门用于耦合两个8输入中断控制器的级联通道。当然,这也是可替换的并且IRQ2状态包括在本发明的替换实施例中。
在所述状态图中的每个状态代表一个时钟序列并与PCICLK信号同步。因此,整个状态机是同步的。但是,一个状态,即停止状态却依赖于一异步事件,即Sin到激活状态的首次转换。这就允许所有的外设相对于同一时钟周期同步。所述停止状态有两个主要功能:1)通过一个起始位(开始消息激活信号)的产生而同步所述串行中断总线协议序列;以及2)允许任意串行中断机构根据一有效中断的确定而同步产生一停止中止事件(stop break event)(CLKRUN #)以重新启动PCICLK(如果已停止)。
在每次通过了所述协议状态机后,每个设备终止于所述停止状态,并且在转换到所述开始消息状态之前等待在其输入Sin上的下一个有效指示。注意,由于所述总线是串行的。因此,每个设备的SIP逻辑将在其前面的SIP逻辑已经接收所述开始序列后的一个周期接收此序列。因此,对于所有外设,所述开始转换不会发生于同一时刻,而是以一脉动形式在所述外设链上传下去。
图4说明了当PCICLK停止时一串行中断请求是如何启动的。在这种情况下,当一个外设采样到PCICLK信号已经停止时,它通过驱动CLKRUN #信号变为有效而启动周期。根据常规的CLKRUN #定义,此外设保持CLKRUN #信号为低直至其看到两个PCICLK为止。根据此定义,CLKRUN #信号将由时钟控制逻辑保持为低直至时钟停止为止。一旦数据针Sin被采样为有效,则进入所述开始状态。注意,除非所有串行中断外设都位于停止状态220,SIC25的责任是监视PCICLK没有停止。当能够保证所有的设备将位于停止状态时,通过仅让CLKRUN #保持高达四个时钟周期即可实现这一点。当SIC位于停止状态并还没有启动新的消息时,它保证所有外设位于停止状态。
对本发明的一个附加改进能够消除一电平中断请求产生一虚假中断请求的可能性。这可能会因一中断服务程序清除在一I/O设备中的一中断请求并且然后发生一中断结束(EOI)到系统PIC而引起。但是,由于通过所述串行总线链的IRQ的串行化,如果在IRQ被更新之前发生了EOI,那么就会产生一个虚假中断。产生它的原因是,当发生EOI时,PIC根据仍然有效的一电平敏感IRQ产生一中断到处理器,但是它后来被撤销(de-asserted),因为最终到达的串行消息撤销IRQ。在这种情况下,PIC将返回一中断向量到处理器以表示一虚假中断。虽然这不是致命的,但是,如果它每秒钟产生4000次时将影响性能。
为了避免这一问题,SIC25将拦截EOI周期(特定或非特定)以便在中断服务程序中延迟中断信号的复位,直至SIC已经从特定IRQ不再发信号的SIP中得到更新为止。这就需要当SIC下一次到达所述特定IRQ状态时,具有一次完整地通过所述串行链,而在其中SIC没有接收到激活信号。当一EOI周期产生时,所述SIC将终止此周期并跟踪总线协议状态机。这就防止了当请求外设实际上已经撤销了一IRQ信号时PIC发出此IRQ信号。
图5是一个一般化的状态图,它通常可用于实现本发明。它是图2的状态机图的概括。用于状态机逻辑的初始状态是停止状态500,其中,只要到相关SIP逻辑的Sin不被确立(asserted),其状态机逻辑就保持。一旦此SIP逻辑收到一有效的Sin信号,则SIP逻辑状态机就转换到所述开始消息状态501并在其中保持一个时钟周期。接下来,状态机逻辑从所述开始消息状态501到达INT-1中断状态502,并且在与一特定中断协议有关的预定数量的中断后终止于INT-N状态510。状态机逻辑然后转换回到停止状态500,并在其中保持到下一个有效信号Sin的确立。
上面所述的机构用于实现一串行中断总线,其中的外设可以发出与一给定中断协议相关的预定数量的可能中断的其中的任意一个。虽然本发明已经根据各个实施例进行了描述,但是可以理解的是,在不脱离本发明的精神和范围的情况下,本领域的技术人员可以作出各种修改和变换。因此,本发明应根据其后的权利要求进行判断。
Claims (12)
1.一种计算机系统,包括:
一个中央处理单元(CPU),用于响应一中断未决信号而执行一中断服务程序;
一外设中断控制器(PIC),耦合成以便响应多个可能的中断请求信号中的任意之一而将所述中断未决信号提供给所述CPU;
一串行中断控制器,耦合到所述PIC,用于产生与一接收的串行中断请求信号相对应的所述多个可能的中断请求信号中适当的一个;以及
第一多个串行中断外设,每个串行中断外设(SIP)互连,其中至少一个串行中断外设与所述串行中断控制器相连,其中所述第一多个串行中断外设中的每一个可以请求由所述串行中断控制器产生所述多个可能中断请求信号中的一个或多个,所述第一多个串行中断外设中的每一个包括用于将所述串行中断信号提供给所述串行中断控制器的协议逻辑。
2.权利要求1所述的计算机系统,其中所述多个串行中断外设中的每一个包括一串行中断输入针和一串行中断输出针,其中的多个串行中断外设被互连,使得用一串行中断外设的串行中断输出针提供其输出到其后的串行中断外设的串行中断输入针的方式而形成一串行中断外设链。
3.权利要求2所述的计算机系统,其中所述串行中断控制器还包括一串行中断输入针和一串行中断输出针,其中所述串行中断控制器的串行中断输出针将其输出提供给在所述串行中断链中的第一串行中断外设的串行中断输入针,所述串行中断控制器的所述串行中断输入针从所述串行中断链的最后一个外设的串行中断输出针接收其输入。
4.权利要求3所述的计算机系统还包括一个位于所述串行中断链上的串行中断桥,用于耦合所述串行中断链中的第二多个串行中断外设。
5.权利要求4所述的计算机系统还包括一连接站,其中所述第二多个串行中断外设包括与所述连接站相关的外设。
6.如权利要求5所述的计算机系统,其中所述的串行中断桥包括:
一第一串行中断输入针,用于从所述串行中断控制器接收一串行中断信号;
一第一串行中断输出针,用于将所述的串行中断信号传送到所述第二多个串行中断外设中的第一个;
一第二串行中断输入针,用于从所述第二多个串行中断外设中的最后一个接收所述串行中断信号;以及
一第二串行中断输出针,用于将所述的串行中断信号传送到所述第一多个串行中断外设中的第一个。
7.权利要求3所述的计算机系统,其中所述多个串行中断外设和所述串行中断控制器中的每一个都包含串行中断协议逻辑,此逻辑用于跟随一预定状态图以便通过所述串行中断链传送中断信号。
8.权利要求7所述的计算机系统,其中所述的串行中断控制器和所述第一多个串行中断外设耦合成以便接收一个用于定时所述协议逻辑的公共时钟信号。
9.一种用于计算机系统中的外设,其中所述的计算机系统包括一中央处理单元(CPU),一外设中断控制器用于响应多个可能中断请求信号的其中之一而向所述CPU通知一未决中断,以及一串行中断控制器,用于响应一接收的串行中断信号而将所述中断请求信号提供给所述外设中断控制器,所述外设包括:
串行中断协议逻辑,用于与一串行中断总线通信;
一串行中断输入针耦合到所述串行中断协议逻辑,此输入针用于耦合所述外设到所述串行中断总线以接收串行中断输入信号;以及
一串行中断输出针耦合到所述串行中断协议逻辑,此输出针用于耦合所述外设到所述串行中断总线以通过所述串行中断总线传送串行中断信号,
其中所述串行中断协议逻辑控制所述串行中断输出针,使得所述多个可能中断请求中的任意一个可以通过所述串行中断输出针传送。
10.权利要求9所述的外设,其中所述的串行中断控制器和所述串行中断协议逻辑中的每一个都包括串行中断处理逻辑,此逻辑用于跟随一预定状态图以便通过所述串行中断输入和串行中断输出针传送中断。
11.权利要求9所述的外设,还包括一个用于接收一定时信号的时钟针,此定时信号用于串行中断协议逻辑到所述串行中断控制器的同步。
12.一种由在串行中断总线上实现的外设处理中断的方法,包括下列步骤:
在一第一时钟周期期间从一串行中断输入针上接收一串行中断信号;
在一第二时钟周期期间通过一串行中断输出针发送所述串行中断信号;以及
在一对应于所需的中断状态的时钟周期期间从所述串行中断输出针上确立一有效信号。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/351,637 | 1994-12-07 | ||
| US08/351,637 US5671421A (en) | 1994-12-07 | 1994-12-07 | Serial interrupt bus protocol |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1157046A CN1157046A (zh) | 1997-08-13 |
| CN1111789C true CN1111789C (zh) | 2003-06-18 |
Family
ID=23381702
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN95194686A Expired - Fee Related CN1111789C (zh) | 1994-12-07 | 1995-12-06 | 采用串行中断总线协议的计算机系统、外设和中断处理法 |
Country Status (10)
| Country | Link |
|---|---|
| US (2) | US5671421A (zh) |
| EP (1) | EP0796464B1 (zh) |
| JP (1) | JP3860209B2 (zh) |
| KR (1) | KR100269582B1 (zh) |
| CN (1) | CN1111789C (zh) |
| AU (1) | AU4416496A (zh) |
| BR (1) | BR9508427A (zh) |
| DE (1) | DE69530788T2 (zh) |
| TW (1) | TW305964B (zh) |
| WO (1) | WO1996018150A1 (zh) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0997177A (ja) * | 1995-09-29 | 1997-04-08 | Toshiba Corp | コンピュータシステムの割り込み制御方式 |
| US5951669A (en) * | 1996-12-27 | 1999-09-14 | Apple Computer, Inc. | Method and apparatus for serialized interrupt transmission |
| FR2775091B1 (fr) * | 1998-02-16 | 2000-04-28 | Matra Communication | Procede de transfert de donnees en serie, et interface de bus serie synchrone mettant en oeuvre un tel procede |
| US6088752A (en) * | 1998-08-06 | 2000-07-11 | Mobility Electronics, Inc. | Method and apparatus for exchanging information between buses in a portable computer and docking station through a bridge employing a serial link |
| US7734852B1 (en) | 1998-08-06 | 2010-06-08 | Ahern Frank W | Modular computer system |
| US6070214A (en) * | 1998-08-06 | 2000-05-30 | Mobility Electronics, Inc. | Serially linked bus bridge for expanding access over a first bus to a second bus |
| US6374320B1 (en) * | 1998-08-10 | 2002-04-16 | Micron Technology, Inc | Method for operating core logic unit with internal register for peripheral status |
| US6321288B1 (en) * | 1999-01-26 | 2001-11-20 | National Semiconductor Corporation | Serial IRQ slave controller with auto-synchronization |
| US6725282B1 (en) * | 1999-09-07 | 2004-04-20 | Bath Iron Works | Method and apparatus for a wearable computer |
| CA2347896C (en) * | 2000-02-14 | 2003-04-29 | Mobility Electronics, Inc. | Docking system and method |
| US6594719B1 (en) | 2000-04-19 | 2003-07-15 | Mobility Electronics Inc. | Extended cardbus/pc card controller with split-bridge ™technology |
| JP3908445B2 (ja) * | 2000-08-01 | 2007-04-25 | 富士通株式会社 | 電子機器 |
| US6665745B1 (en) * | 2000-08-04 | 2003-12-16 | Lsi Logic Corporation | Method and system for peripheral ordering |
| US6956614B1 (en) | 2000-11-22 | 2005-10-18 | Bath Iron Works | Apparatus and method for using a wearable computer in collaborative applications |
| US6962277B2 (en) * | 2000-12-18 | 2005-11-08 | Bath Iron Works Corporation | Apparatus and method for using a wearable computer in testing and diagnostic applications |
| JP4393014B2 (ja) * | 2001-05-30 | 2010-01-06 | パナソニック株式会社 | 伝送装置及び伝送方法 |
| US7805114B1 (en) | 2002-07-17 | 2010-09-28 | Bath Iron Works Corporation | In situ re-configurable wireless communications system (IRCWCS) |
| EP1856617A1 (en) * | 2005-02-28 | 2007-11-21 | Koninklijke Philips Electronics N.V. | Data processing system with interrupt controller and interrupt controlling method |
| US7395362B2 (en) * | 2006-02-03 | 2008-07-01 | Standard Microsystems Corporation | Method for a slave device to convey an interrupt and interrupt source information to a master device |
| US8185680B2 (en) * | 2006-02-06 | 2012-05-22 | Standard Microsystems Corporation | Method for changing ownership of a bus between master/slave devices |
| WO2007125670A1 (ja) * | 2006-04-26 | 2007-11-08 | Panasonic Corporation | 信号伝送方法、送受信装置及び通信システム |
| US7415557B2 (en) | 2006-06-06 | 2008-08-19 | Honeywell International Inc. | Methods and system for providing low latency and scalable interrupt collection |
| US8387002B2 (en) * | 2007-04-20 | 2013-02-26 | National Instruments Corporation | Statechart development environment with embedded graphical data flow code editor |
| CN102129413B (zh) * | 2010-01-20 | 2013-07-10 | 研祥智能科技股份有限公司 | 一种串行中断处理的方法、装置及计算机系统 |
| US9910801B2 (en) * | 2014-08-01 | 2018-03-06 | Universiti Teknologi Malaysia | Processor model using a single large linear registers, with new interfacing signals supporting FIFO-base I/O ports, and interrupt-driven burst transfers eliminating DMA, bridges, and external I/O bus |
| CN112711559B (zh) * | 2021-01-15 | 2023-06-13 | 飞腾信息技术有限公司 | 串行中断方法、设备、串行中断处理方法以及处理器 |
| CN116069694B (zh) * | 2023-03-07 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 中断处理方法、装置、服务器、电子设备及存储介质 |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| BE887134A (fr) * | 1979-12-14 | 1981-05-14 | Gte Automatic Electric Lab Inc | Circuit expanseur d'interruption |
| EP0048752A4 (en) * | 1980-03-31 | 1982-12-09 | Datamedix Inc | MEDICAL CONTROL DEVICE. |
| JPS61107456A (ja) * | 1984-10-30 | 1986-05-26 | Toshiba Corp | 割込制御方式 |
| US5142628A (en) * | 1986-12-26 | 1992-08-25 | Hitachi, Ltd. | Microcomputer system for communication |
| US4805096A (en) * | 1987-03-06 | 1989-02-14 | Eta Systems, Inc. | Interrupt system |
| JPH01162967A (ja) * | 1987-12-18 | 1989-06-27 | Fujitsu Ltd | 割込み処理方法及び装置 |
| US5274795A (en) * | 1989-08-18 | 1993-12-28 | Schlumberger Technology Corporation | Peripheral I/O bus and programmable bus interface for computer data acquisition |
| JPH03142504A (ja) * | 1989-10-30 | 1991-06-18 | Toshiba Corp | プログラマブルコントローラ |
| JPH0743653B2 (ja) * | 1990-07-25 | 1995-05-15 | 株式会社東芝 | 割込みコントローラ |
| US5418968A (en) * | 1990-10-31 | 1995-05-23 | Gobeli; Gregg P. | System and method for controlling interrupt processing |
| US5410710A (en) * | 1990-12-21 | 1995-04-25 | Intel Corporation | Multiprocessor programmable interrupt controller system adapted to functional redundancy checking processor systems |
| US5414860A (en) * | 1991-01-29 | 1995-05-09 | International Business Machines Incorporated | Power management initialization for a computer operable under a plurality of operating systems |
| JPH0520094A (ja) * | 1991-07-17 | 1993-01-29 | Toshiba Corp | 情報処理装置 |
| JP3171925B2 (ja) * | 1992-04-30 | 2001-06-04 | 株式会社日立製作所 | データ処理装置 |
| US5396633A (en) * | 1992-10-02 | 1995-03-07 | Compaq Computer Corporation | Positive pulse format noise-filter and negative pulse format extension circuit for conditioning interrupt request signals |
| US5634069A (en) * | 1994-01-28 | 1997-05-27 | Vlsi Technology, Inc. | Encoding assertion and de-assertion of interrupt requests and DMA requests in a serial bus I/O system |
| US5475854A (en) * | 1994-01-28 | 1995-12-12 | Vlsi Technology, Inc. | Serial bus I/O system and method for serializing interrupt requests and DMA requests in a computer system |
| US5404460A (en) * | 1994-01-28 | 1995-04-04 | Vlsi Technology, Inc. | Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus |
| US5613126A (en) * | 1994-05-31 | 1997-03-18 | Advanced Micro Devices, Inc. | Timer tick auto-chaining technique within a symmetrical multiprocessing system |
| US5790871A (en) * | 1996-05-17 | 1998-08-04 | Advanced Micro Devices | System and method for testing and debugging a multiprocessing interrupt controller |
-
1994
- 1994-12-07 US US08/351,637 patent/US5671421A/en not_active Expired - Lifetime
-
1995
- 1995-12-06 AU AU44164/96A patent/AU4416496A/en not_active Abandoned
- 1995-12-06 EP EP95943003A patent/EP0796464B1/en not_active Expired - Lifetime
- 1995-12-06 BR BR9508427A patent/BR9508427A/pt not_active IP Right Cessation
- 1995-12-06 WO PCT/US1995/015824 patent/WO1996018150A1/en not_active Ceased
- 1995-12-06 KR KR1019970700074A patent/KR100269582B1/ko not_active Expired - Fee Related
- 1995-12-06 JP JP51773396A patent/JP3860209B2/ja not_active Expired - Fee Related
- 1995-12-06 CN CN95194686A patent/CN1111789C/zh not_active Expired - Fee Related
- 1995-12-06 DE DE69530788T patent/DE69530788T2/de not_active Expired - Lifetime
- 1995-12-27 TW TW084113950A patent/TW305964B/zh active
-
1997
- 1997-05-01 US US08/845,634 patent/US6055372A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US6055372A (en) | 2000-04-25 |
| CN1157046A (zh) | 1997-08-13 |
| BR9508427A (pt) | 1997-11-25 |
| KR100269582B1 (ko) | 2000-10-16 |
| EP0796464B1 (en) | 2003-05-14 |
| EP0796464A4 (en) | 1999-07-28 |
| JP3860209B2 (ja) | 2006-12-20 |
| EP0796464A1 (en) | 1997-09-24 |
| AU4416496A (en) | 1996-06-26 |
| DE69530788D1 (de) | 2003-06-18 |
| JPH10510381A (ja) | 1998-10-06 |
| DE69530788T2 (de) | 2004-03-18 |
| TW305964B (zh) | 1997-05-21 |
| WO1996018150A1 (en) | 1996-06-13 |
| US5671421A (en) | 1997-09-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1111789C (zh) | 采用串行中断总线协议的计算机系统、外设和中断处理法 | |
| KR960002543B1 (ko) | 주변 장비 제어 장치 | |
| KR100306636B1 (ko) | Pci-isa인터럽트프로토콜컨버터및선택메카니즘 | |
| US5619661A (en) | Dynamic arbitration system and method | |
| US5956516A (en) | Mechanisms for converting interrupt request signals on address and data lines to interrupt message signals | |
| US4050097A (en) | Synchronization technique for data transfers over an asynchronous common bus network coupling data processing apparatus | |
| US6356963B1 (en) | Long latency interrupt handling and input/output write posting | |
| US5805929A (en) | Multiple independent I/O functions on a PCMCIA card share a single interrupt request signal using an AND gate for triggering a delayed RESET signal | |
| JPS6357822B2 (zh) | ||
| CN117321580A (zh) | 无缝集成的微控制器芯片 | |
| US20120166692A1 (en) | Common protocol engine interface for a controller interface | |
| JPH0997177A (ja) | コンピュータシステムの割り込み制御方式 | |
| CN1012537B (zh) | 计算机命令的方式转换 | |
| US5881294A (en) | System for transforming PCI level interrupts | |
| US6463494B1 (en) | Method and system for implementing control signals on a low pin count bus | |
| US7181559B2 (en) | Message based transport mechanism for level sensitive interrupts | |
| US6145047A (en) | Circuit and method for converting interrupt signals from level trigger mode to edge trigger mode | |
| US6374321B2 (en) | Mechanisms for converting address and data signals to interrupt message signals | |
| US6453373B1 (en) | Method and apparatus for differential strobing | |
| KR930003721B1 (ko) | 고속 인터럽트 기능을 갖는 데이타 처리시스템 | |
| JPH04370862A (ja) | 情報処理装置 | |
| JPH03290750A (ja) | Dma転送方法 | |
| HK1065867B (zh) | 通信總線中差分選通的方法和裝置 | |
| HK1029415B (zh) | 转换地址及数据线上的中断请求讯号为中断信息讯号的方式 | |
| JPH0488544A (ja) | 割り込み調停方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| C17 | Cessation of patent right | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20030618 Termination date: 20101206 |