通过监视外部接口生成中断的方法、装置和系统转让专利

申请号 : CN200580045063.8

文献号 : CN101091169B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : D·李S·库利克S·拉达克里希南

申请人 : 英特尔公司

摘要 :

在一些实施例中,给出了通过监视外部接口生成中断的方法、装置和系统。为此,引入了中断代理,以便通过串行接口与输入/输出(I/O)扩展器通信以及将I/O扩展器的有关状态保存在存储器中。还公开了其它实施例,并说明了权利。

权利要求 :

1.一种通过监视外部接口生成中断的方法,包括:通过串行接口与输入/输出I/O扩展器进行通信以从所述I/O扩展器的有关状态寄存器读取所述I/O扩展器的有关状态;

将所读取的有关状态保存在存储器中;

定期更新所保存的有关状态;以及

根据所保存的有关状态的变化,触发中断。

2.权利要求1的方法,其中,通过串行接口进行通信包括:通过遵从系统管理总线(SMBus)规范的接口进行通信。

3.权利要求1的方法,还包括:

生成遵从外设部件互连(PCI)标准热插拔控制器(SHPC)和子系统规范的中断。

4.权利要求1的方法,其中,所述I/O扩展器包括飞利浦9555型部件。

5.一种通过监视外部接口生成中断的电子设备,包括:处理器;

输入/输出I/O扩展器;

与所述I/O扩展器相连的I/O设备;以及与所述处理器和所述I/O扩展器相连的中断引擎,所述中断引擎与所述I/O扩展器进行通信以从所述I/O扩展器的有关状态寄存器读取所述I/O扩展器的有关状态,将所读取的有关状态保存在存储器中,定期更新所保存的有关状态,以及根据所保存的有关状态的变化,触发中断。

6.权利要求5的电子设备,还包括:所述中断引擎生成遵从外设部件互连(PCI)标准热插拔控制器(SHPC)和子系统规范的中断。

7.权利要求5的电子设备,其中,所述I/O扩展器包括:飞利浦9555型部件。

8.一种通过监视外部接口生成中断的装置,包括:串行接口;

处理器接口;以及

与所述串行和处理器接口相连的控制逻辑,所述控制逻辑通过所述串行接口与输入/输出I/O扩展器进行通信以从所述I/O扩展器的有关状态寄存器读取所述I/O扩展器的有关状态,将所读取的有关状态保存在存储器中,定期更新所保存的有关状态,以及根据所保存的有关状态的变化,触发中断。

9.权利要求8的装置,还包括:

生成遵从外设部件互连(PCI)标准热插拔控制器(SHPC)和子系统规范的中断的控制逻辑。

10.权利要求8的装置,其中,所述串行接口包括遵从系统管理总线(SMBus)规范的接口。

说明书 :

通过监视外部接口生成中断的方法、装置和系统

发明领域

[0001] 概括地说,本发明的实施例涉及部件信号传送领域,具体地说,本发明的实施例涉及通过监视外部接口生成中断的方法、装置和系统。
[0002] 背景技术
[0003] 中断一般使用信号迹线(signal traces)告知系统或部件(例如,芯片组)有外设部件可能由于状态变化而需要得到服务。软件中断程序一般以如下方式服务这些中断:通过读取状态寄存器,查询外设部件的细节;采取适当的行动。电子产业界的当前目标是减少信号迹线从而尽可能地降低成本和降低系统响应时间从而改善性能。
[0004] 发明内容
[0005] 为了实现上述目标,本发明提供了通过监视外部接口生成中断的方法、装置和系统,其能够减少信号迹线。
[0006] 根据本发明的第一方面,提供一种通过监视外部接口生成中断的方法,该方法包括通过串行接口与输入/输出(I/O)扩展器进行通信以从所述I/O扩展器的有关状态寄存器读取所述I/O扩展器的有关状态;将所读取的有关状态保存在存储器中;定期更新所保存的有关状态;以及根据所保存的有关状态的变化,触发中断。
[0007] 根据本发明的另一方面,提供一种通过监视外部接口生成中断的电子设备,该电子设备包括处理器;输入/输出(I/O)扩展器;与所述I/O扩展器相连的I/O设备;以及与所述处理器和所述I/O扩展器相连的中断引擎,所述中断引擎与所述I/O扩展器进行通信以从所述I/O扩展器的有关状态寄存器读取所述I/O扩展器的有关状态,将所读取的有关状态保存在存储器中,定期更新所保存的有关状态,以及根据所保存的有关状态的变化,触发中断。
[0008] 根据本发明的再一方面,提供一种通过监视外部接口生成中断的装置,该装置包括串行接口;处理器接口;以及与所述串行和处理器接口相连的控制逻辑,所述控制逻辑通过所述串行接口与输入/输出 (I/O)扩展器进行通信以从所述I/O扩展器的有关状态寄存器读取所述I/O扩展器的有关状态,将所读取的有关状态保存在存储器中,定期更新所保存的有关状态,以及根据所保存的有关状态的变化,触发中断。根据上述方法、系统和装置,可以降低系统成本,并且降低系统响应时间,从而改善系统性能。
[0009] 附图说明
[0010] 下面将结合附图以举例说明、而非限制的方式描述本发明,在附图中,相同的标记表示相同的部件,其中:
[0011] 图1是根据本发明一个举例性实施例的适于实现中断代理的举例性电子设备的框图;
[0012] 图2是根据本发明一个举例性实施例的举例性中断代理体系结构的框图;
[0013] 图3是根据本发明一个举例性实施例的通过监视外部接口来生成中断的举例性方法的流程图;
[0014] 图4是一个举例性存储介质的框图,其包括的内容在被设备访问时使设备能实现本发明一个或多个实施例的一个或多个方面。
[0015] 具体实施方式
[0016] 概括地说,本发明的实施例涉及通过监视外部接口来生成中断的方法、装置和系统。在这方面,根据本发明的宽泛教义的一个举例性实现方案,引入了中断代理。根据一个举例性的实施例,中断代理采用了一种创新的方法:通过串行接口与输入/输出(I/O)扩展器进行通信;将I/O扩展器的有关状态保存在存储器中;定期更新所保存的I/O扩展器有关状态。根据一个举例性方法,中断代理可以在不使用来自I/O扩展器的中断信号的情况下,根据I/O扩展器的有关状态的变化,生成中断。根据另一个举例性方法,中断代理可以编制程序软件,从而对I/O扩展器的有关状态的变化做出响应。I/O扩展器的有关状态可以是包括受监视的活动功能的所有状态寄存器的一个子集。
[0017] 在下面的描述中,为了透彻理解本发明,列出了很多特定的细节,不过,这只是出于说明目的。但是,对本领域普通技术人员来说显而易见的是,本发明的实施例也可以不用这些特定细节来实现。在其它情形下,为了避免对本发明造成不必要的含糊,以框图形式绘出了结构和设备。
[0018] 在本发明的说明书中提及“一个实施例”或“某一实施例”意味着,围绕着该实施例描述的具体特征、结构或特性包括在本发明至少一个实施例中。因此,在贯穿全文的任何地方出现“在一个实施例中”或“在某一实施例中”并不一定指相同的实施例。此外,在一个或多个实施例中,可以通过任何合适的方式将具体的特征、结构或特性组合起来。 [0019] 图1是根据本发明一个举例性实施例的适于实现中断代理的举例性电子设备的框图。电子设备100可以是多种多样传统和非传统的电子设备、膝上型电脑、桌上型电脑、蜂窝电话、无线通信用户单元、无线通信电话基础单元、个人数字助理、机顶盒中的任意一种或可从本发明公开内容中受益的任何电子设备。根据所示的举例性实施例,电子设备100可包括一个或多个处理器102、存储器控制器104、中断代理106、系统存储器108、输入/输出扩展器110和输入/输出设备112,它们的连接关系如图1所示。中断代理106也可用于比图1所示要复杂或简单的电子设备,下面还将对此进行详细说明。此外,下面详细说明的中断代理106的创新特征可以通过软硬件结合的方式实现。
[0020] 处理器102可以是多种多样的控制逻辑中的任意一种,包括、但不限于微处理器、可编程逻辑器件(PLD)、可编程逻辑阵列(PLA)、专用集成电路(ASIC)、微控制器等中的一个或多个,但本发明并不局限于此。
[0021] 存储器控制器104可以是使系统存储器108与电子设备100的其它部件进行交互的任何类型的芯片组或控制逻辑。在一个实施例中,处理器102和存储器控制器104之间的连接可称为前端总线。在另一实施例中,存储器控制器104可称为北桥(north bridge)或存储器控制器中心(MCH)。
[0022] 中断代理106的结构将结合图2加以详细说明。中断代理106也可执行通过监视外部接口生成中断的一种或多种方法,例如,图3详细描述的方法。虽然在图中显示为存储器控制器104的一部分,但中断代理106也可以是另一部件(例如处理器102)的一部分,或者可以用软件或软硬件结合的方式实现。
[0023] 系统存储器108可以是用于存储由处理器102所用的数据和指令的任何类型的存储器件。通常,系统存储器108将包括动态随机访问存储器(DRAM),但本发明不限于此。在一个实施例中,系统存储器108可包括Rambus DRAM(RDRAM)。在另一实施例中,系统存储器108可包括双数据速率同步DRAM(DDR SDRAM)。但是,本发明不局限于刚才提及的存储器例子。
[0024] 输入/输出(I/O)扩展器110可以是使I/O设备112与电子设备100的其它部件交互的任何类型的芯片组或控制逻辑。在一个实施例中,I/O扩展器110可以是飞利浦PCA9555或类似型号的部件。在另一实施例中,I/O扩展器110可以实现一些功能,从而使电子设备100遵从外设部件互连(PCI)标准热插拔控制器(SHPC)和子系统规范修订版1.0(由PCI Special Interest Group于2001年6月20日发布)。I/O扩展器110可以具有与其操作和I/O设备112操作相关的内部状态寄存器。
[0025] 输入/输出(I/O)设备112可以是向电子设备100提供输入或处理来自电子设备100的输出的任何类型的设备、外设或部件。在一个实施例中,I/O设备112遵循PCI TMExpress 基本规范修订版1.0a(由PCI Special Interest Group于2003年4月15日发布),但本发明不限于此。
[0026] 图2是根据本发明一个举例性实施例的举例性中断代理体系结构的框图。如图所示,中断代理106可以包括控制逻辑202、存储器204、扩展器接口206和中断引擎208中的一个或多个,它们的连接关系如图2所示。根据本发明的一个方面,中断代理106可包括中断引擎208,后者包括轮询服务210、更新服务212和/或触发服务214中的一个或多个,后面还将对此进行详细说明。应当理解的是,虽然 图中将一个或多个部件202-214显示成多个不同的功能块,但是,它们也可以并入一个或多个多功能块中。同样,中断引擎208也可以用较少的功能块实现,即,仅仅用更新服务212实现,这并不偏离本发明的精神和保护范围,也可以用硬件、软件、固件或其组合的方式实现。因此,概括地说是中断代理106,具体地说是中断引擎208,仅仅说明本发明一个方面的一种举例性实现方式。这里所说的中断代理106可以用硬件、软件、固件和/或其组合的方式实现。
[0027] 如上所述,中断代理106能够通过串行接口与I/O扩展器进行通信;将I/O扩展器的有关状态保存在存储器中;定期更新所保存的I/O扩展器有关状态。在一个实施例中,中断代理106可以在不使用来自I/O扩展器的中断信号的情况下,根据I/O扩展器的内部状态的变化,生成中断。在另一个实施例中,中断代理106可以编制程序软件,从而对I/O扩展器的有关状态的变化做出响应。本领域普通技术人员将会明白,中断代理106能够缩短中断服务延时和减少主板迹线。
[0028] 本文所用的控制逻辑202在中断代理106及其主机电子设备100之间提供逻辑接口。因此,控制逻辑202可以管理中断代理106的一个或多个方面,从而提供到电子设备100的通信接口,例如,通过存储器控制器104。
[0029] 根据本发明的一个方面,控制逻辑202可以有选择性地调用中断引擎208的资源,但权利要求不限于此。作为通过监视外部接口生成中断的举例性方法的一部分,控制逻辑202可以有选择性地调用轮询服务210,从而读取I/O扩展器110的有关内部状态寄存器并将副本保存在存储器204中,下面还将结合图3对此做出详细描述。控制逻辑202还可以有选择性地调用更新服务212或触发服务214,从而定期更新所保存的I/O扩展器有关状态或者根据所保存的I/O扩展器110的有关状态的预定变化发起一个软件中断,下面还将结合图3对此做出详细描述。本文所用的控制逻辑202可以是本领域公知的多种控制逻辑中的任何一种,因此,可以实现成微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、可编程逻辑器件 (PLD)等。在有些实现方案中,控制逻辑202可以是内容(例如,软件指令等),当执行时实现本文所述控制逻辑202的特征。
[0030] 存储器204可以是本领域公知的多种存储器件和/或系统中的任何一种。根据一种举例性的实现方式,存储器204可以包括挥发性和非挥发性存储元件,可能有随机访问存储器(RAM)和/或只读存储器(ROM),但权利要求不限于此。例如,存储器204可以用于存储从I/O扩展器110读取的内部状态信息。
[0031] 扩展器接口206提供了一条路径,中断代理106通过它可以和I/O扩展器110进行通信。在一个实施例中,扩展器接口206可以是本领域公知的多种控制器中的任何一种。在一个实施例中,扩展器接口206遵循系统管理总线(SMBus)规范版本2.0(由SBS ImplementersForum于2000年8月3日发布)。在另一实施例中,扩展器接口206可以是2
IC总线。
[0032] 如前所述,控制逻辑202可以有选择性地调用中断引擎208,从而将I/O扩展器的有关状态保存在存储器中、定期更新所保存的I/O扩展器有关状态或者根据I/O扩展器有关状态的预定变化去触发一个中断。根据图2所示的举例性实现方案,中断引擎208包括轮询服务210、更新服务212和触发服务214中的一个或多个。虽然图中将中断引擎208的一个或多个部件202-214显示成多个不同的功能块,但本领域普通技术人员应当明白,它们也可以组合起来,而这并不偏离本发明的保护范围和精神。
[0033] 如上所述,轮询服务210可以使得中断代理106能够读取I/O扩展器110的有关内部状态寄存器并将副本保存在存储器204中。在一个举例性的实施例中,轮询服务210可使用SMBus与I/O扩展器110进行通信。
[0034] 如上所述,更新服务212可以使得中断代理106能够定期更新所保存的I/O扩展器110的有关状态。在一个举例性的实施例中,更新服务212可以在预定时间段后更新所保存的I/O扩展器110的有关状态。
[0035] 如上所述,触发服务214可以使得中断代理106能够根据所保 存的有关状态的预定变化去触发中断。在一个实施例中,触发服务214可以调用来自另一位置的指令,从而对I/O扩展器110的有关状态的变化做出响应。在另一个举例性实施例中,触发服务214可以通过存储器控制器104发起中断,从而调用对I/O扩展器110的状态变化做出响应的指令。
[0036] 图3是根据本发明一个举例性实施例的通过监视外部接口来生成中断的举例性方法的流程图。对于本领域普通技术人员显而易见的是,虽然下面的操作被描述成一个有序的过程,但是其中的很多操作实际上可以并行或同时执行。此外,操作次序可以重新排列,而不偏离本发明实施例的精神。
[0037] 根据一个举例性的实现方案,方法300始于调用轮询服务210,从而保存(302)I/O扩展器110的有关内部状态。在一个举例性的实施例中,I/O扩展器110的全部内部状态被复制到存储器204中。在另一个举例性的实施例中,根据预定设置或使用情况,只复制I/O扩展器110的内部状态的相关一部分。
[0038] 接下来,控制逻辑202可以有选择性地调用更新服务212,从而定期更新(304)所保存的I/O扩展器110的有关状态。在一个举例性的实施例中,更新周期可以是规则的和预定的。在另一个举例性的实施例中,更新周期可以是不规则的和可变的。 [0039] 接下来,触发服务214可以根据所保存的I/O扩展器有关状态的预定变化去触发(306)中断。在一个实施例中,存储器204中存储的I/O扩展器有关状态的逻辑变化会通过硬件触发一个中断。在另一个实施例中,触发服务214可以定期比较存储器204中存储的I/O扩展器有关状态和应当触发一条中断的预定条件。
[0040] 图4是一个举例性的存储介质的框图,其包括的内容在被设备访问时使设备能实现本发明的一个或多个实施例,例如中断代理106和/或相关方法300。在这方面,存储介质400包括内容402(例如,指令、数据或其任意组合),当执行内容402时,其使设备实现中断代理106的一个或多个方面,如上所述。
[0041] 机器可读(存储)介质400可以包括、但不限于:软盘、光盘、 CD-ROM、磁光盘、ROM、RAM、EPROM、EEPROM、磁卡或光卡、闪存或其它类型的介质/适于存储电子指令的机器可读介质。此外,本发明也可以作为计算机程序产品而被下载,其中,程序可以从远方计算机通过通信链路(例如,调制解调器、无线电或网络连接)传送到请求方计算机,其形式为包括在载波或其它传播媒介中的数据信号。
[0042] 在上面的描述中,为了透彻理解本发明,列出了很多特定的细节,不过,这只是出于说明目的。对本领域普通技术人员来说显而易见的是,本发明的实施例也可以不用这些特定细节来实现。在其它情形下,以框图形式绘出了公知的结构和设备。 [0043] 本发明的实施例可用于多种应用场合。本文公开的本发明可用于微控制器、通用微处理器、数字信号处理器(DSP)、精简指令集计算(RISC)、复杂指令集计算(CISC)以及其它的电子部件,但本发明不限于此。此外,应当理解的是,本发明的保护范围不限于这些例子。
[0044] 本发明的实施例也可以包括在集成电路模块中,这里称之为核心存储器、高速缓冲存储器或保存微处理器执行的电子指令或存储算术运算中使用的数据的其它类型的存储器。请注意,这些实施例可以集成到无线电系统或手持便携式设备中,尤其是当设备依赖低功耗和/或小主板区域时。因此,膝上型计算机、蜂窝无线电话通信系统、双向无线通信系统、单向寻呼机、双向寻呼机、个人通信系统(PCS)、个人数字助理(PDA)、照相机和其它产品都落入本发明的保护范围。
[0045] 本发明包括很多操作。本发明的这些操作可用硬件实现,或者可以包括在机器可执行内容(例如,指令)中,可用来使编制有指令的通用或专用处理器或逻辑电路执行这些操作。或者,这些操作可以用软硬件结合的方式实现。此外,虽然上面围绕着计算设备描述了本发明,但本领域普通技术人员将会明白,这些功能也可以用任何其它实施例来实现,例如,集成在通信设备内(例如,蜂窝电话)。
[0046] 很多方法都是以其最基本的方式进行描述的,但可以向任何一种方法添加操作或者从中去除操作,可以向任何上述消息中添加信息 或者从中去除信息,这些并不偏离本发明的基本保护范围。在本发明的保护范围和精神内,可以设想出本发明构思的各种变型。因此,上面给出的特定说明性实施例并不是要限制本发明,而仅仅起举例说明的作用。所以,本发明的保护范围不是由上面提供的特定例子决定的,而是仅由权利要求书加以界定的。