首页> 中国专利> PCI到ISA中断协议转换器及选择机制

PCI到ISA中断协议转换器及选择机制

摘要

一种用于转换遵从次要总线标准中断协议的PCI源中断(36~38)的中断处理机制。PCI设备中断是由可编程逻辑(50)处理的,用于把遵从PCI标准的中断,转换成例如遵从ISA总线标准的中断(40)被一拥有PCI总线(30)和ISA总线(40)的计算机系统进行处理。一可编程寄存器(48)用于选择可编程逻辑将产生哪一个ISA中断来响应PCI中断(36~38)。

著录项

  • 公开/公告号CN1154166A

    专利类型发明专利

  • 公开/公告日1997-07-09

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN95193824.X

  • 发明设计人 A·R·纳尔逊;A·孔杜;

    申请日1995-06-07

  • 分类号G06F9/46;G06F13/14;

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人董巍;王岳

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 12:52:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-08-17

    未缴年费专利权终止 IPC(主分类):G06F13/24 授权公告日:20030402 终止日期:20100607 申请日:19950607

    专利权的终止

  • 2003-04-02

    授权

    授权

  • 1997-10-08

    实质审查请求的生效

    实质审查请求的生效

  • 1997-07-09

    公开

    公开

说明书

                        本发明的背景

1.本发明所属领域

本发明涉及计算机系统外围连接。更具体地说,本发明涉及具有多外围总线的计算机系统的中断处理。

2.版权保留申明

此专利文档的这份公开文件的一部分包含了受版权保护的资料。当此专利文档或此专利公开文件出现在专利局或商标局专利档案或专利记录上时,版权所有者不反对任何人全真复制,否则所有版权,任何一点都要保留。3.背景技术

在计算机工业界,广泛被采用的独立系统结构是AT系统。支持这种系统类型的计算机主板上一般都有用于在不同系统部件间提供系统间通信的标准化输入/输出(I/O)总线。例如:系统中央处理单元(CPU)用这一总线从硬盘或其它存储设备读出或写入数据。这种系统总线包括广为人知的ISA和EISA标准总线,例如硬盘驱动可以通过集成驱动电子器件(IDE)接口连到这些总线。

因为计算机处理器技术已经发展了,传统的ISA,EISA和其它I/O总线标准已经被证明不能满足具有先进处理器的计算机系统的要求。最近一种新的I/O总线标准被提出,这种标准用作一种主要的I/O总线,它能提供比以前存在的总线标准更大的带宽。外围部件互连(PCI)总线很快在计算机工业界被广泛接受。PCI总线标准提供独立于新的处理器技术和处理器速度增加的宽带宽和高灵活性。此时,计算机系统设计师主要正在设计对速度敏感的外围设备,如,和PCI总线一同使用的图形加速器和SCSI磁盘驱动控制器。

今天设计的具有PCI总线的计算机系统通常也包括一如上面所描述的低速,次要总线,这是为了和现存的以前设计的大量外围设备兼容。在PCI总线标准和以前的I/O的总线标准之间存在很大的差异,特别是在不同中断协议方面。例如,EISA/ISA总线结构使用16个中断信号IRQ〔0:15〕,它们分别指定为不同的可能情况使用。在另一方面,PCI总线只提供4个共享中断INTR〔A:D〕,每一个都可被PCI总线上的所有插槽共享。

上面描述的这两种总线标准之间的不同的中断协议远远超出了那些所指定的中断的数量和命名本身。在一拥有PCI总线和ISA总线的计算机系统中协调使用中断的更大困难在于,PCI中断定义为低有效电平敏感中断,而ISA总线规范把中断定义为从低到高边缘敏感中断。PC AT兼容中断结构采用主/从中断控制器对来支持16个高有效边缘敏感中断。在这些可能的16个中断中,AT系统把其中5个用于最小配置,另外6个用于常规系统环境支持软驱,IDE驱动,两个串口,一个并口和PS/2鼠标,只剩下5个用于另外的插卡。

对于所支持的每个插槽,PCI总线规范要求4个低有效电平敏感中断针,并将它们的应用定义为硬件可共享。这意味着多个PCI设备可以驱动同一条中断线,多个PCI中断线可以被不同设备驱动,但是这多个PCI中断可能导致产生一单一中断到接受一共享中断驱动器服务的系统中断控制器。

鉴于在连接了附加的PCI插卡的PCAT系统上只有少数几个可用中断,很明显中断共享技术是需要的。这将带来很多优点,因此成为本发明的目标,即提供一种机制在一个计算机系统中集成不相似的中断协议以用来加强计算机系统操作能力。

                本发明概述

从前面论述可知提供一处理由不同中断协议产生中断的机制可以增强计算机系统的处理能力。因此,提供一种用于合并依据不同中断协议产生的中断的方法和装置便成为本发明的目标。具体地说本发明的目标是提供从电平型到边缘型的转换机制,这种转换针对于在一拥有辅助I/O总线并且已经具备处理辅助I/O总线上中断源产生中断能力的计算机系统内合并遵从于PCI总线标准的中断。本发明中的这些和其它目标是通过引入用于处理PCI总线上中断源产生的中断的中断变换电路实现的。

在本发明的实施例中,计算机系统装有作为主要I/O总线的PCI总线和作为辅助的ISA总线。连接一可编辑逻辑设备用于接受PCI总线上中断源(agent)产生的中断。这一可编程逻辑装置的作用是把遵从PCI标准的低有效,电平敏感型中断转化为ISA总线规范所定义的从低到高,边缘敏感型中断。PCI源中断一见被转化到合适的中断协议将会送到系统内置的中断控制器来通知CPU产生了一待处理中断。

本发明的实施例中还包括一软件(通常为BIOS)可写控制寄存器用来选择一具体的ISA IRQ中断送到系统中断控制器。控制寄存器为中断转换逻辑提供选择控制线,用于选择所需的用于从PCI总线向中断控制器传送中断的IRQ线。这促进了对从可编程逻辑装置到中断控制器的单一中断信号的使用。

                附图简要说明

本发明的目标,特征和优点在下面的详细描述中将会明确:

图1画出了使用分级总线的本发明的一实施例的计算机系统结构方块图。

图2说明在一本发明实施例中实现的可编程逻辑的输入输出逻辑图。

图3说明在一本发明实施例中实现的由可编程逻辑完成的用于转换PCI中断到遵从ISA的中断的状态图。

图4说明了另一种在本发明另一实施例中实现的由可编程逻辑控制用于转换PCI中断到遵从ISA的中断的状态图。

                    本发明详细说明

提供一种方法和装置用来在一拥有遵从不同中断协议的多I/O总线的计算机系统中处理中断。在此详细说明中,描述了一拥有PCI总线和ISA总线的计算机系统的实施例。应该明白这是基于说明目的的,而不是一种限制,本发明可以用在想使用遵从不同中断协议的多总线的其它计算机系统。在这份详细说明中公开了诸如具体信号名称、总线协议,逻辑设备类型等大量具体细节是为了使人仔细了解本发明。本领域的一般技术人员会知道没有这些具体细节本发明或许也可以实现。另一方面,一些广为人知的元件,结构和技术没有详细描述是为了避免使本发明的主题含糊不清。补充一句,这份详细说明中的信号名称不是为了指明一给定信号的有效状态(高有效或低有效),只是简单用于命名所讨论的接口信号。

如图1给出一个包括本发明的计算机系统结构。图1给出的计算机系统结构用来突出分级总线结构组织。由图可知计算机系统的中央处理单元(CPU)10通过主总线20和它的SRAM调整缓存15通信。在此实施例中,主总线20包括控制总线21,地址总线22和数据总线23。在另一实施例中,地址线和数据线可以复用共享共同的信号通路。主总线通常是设计用来执行与实现CPU10的任何类型处理器相关联的高性能计算。

在一些计算机系统结构中,计算机系统的主内存和处理器的主总线直接相连。在所给出的实现中,DRAM主内存18通过主/PCI总线桥接器25和主总线相连。主/PCI总线桥接器25用作在主总线20和系统PCI总线30之间的桥接器。如上所述,PCI总线用作计算机系统的主要I/O总线,设计出发点是适应对不直接依赖于计算机系统处理器总线速度和尺寸的标准化的局域总线的工业需求的增长。图1所示PCI总线30被分离为控制线31和地址/数据线32。主/PCI总线桥接器25监视主总线20和PCI总线31及32,并判定是否有一事务处理被分配到计算机系统的主内存系统18或是否有一CPU申请沿着一系列的总线传播接下来一步是到PCI总线30。

在图1中PCI总线连接三个PCI插槽36,37和38用于插入符合PCI总线标准的外围设备。当然计算机系统可以使用任何数量的PCI插槽,此也采用本发明。这样的插卡可以包括图形加速器,硬盘驱动控制器和利用PCI局域总线30优点的对速度敏感的外围设备。在PCI总线的地址/数据总线32和主总线之间连接一组缓冲区,记作LBX缓冲区34,这些缓冲区在两总线20和30之间用作缓冲数据传送。LBX缓冲区用于补偿两总线间可能操作在不同速度并能通过允许主总线20和PCI总线30之间的同时出现数据来增强系统处理能力,并使每一总线有更高的吞吐能力和更小的等待时间,在另外的实施例中,可以使用其它的缓冲机制代替LBX缓冲区,只要保持在主总线,主内存和主要I/O总线间传输数据的功能就可以。

图1中最后画出了在本实施例中作为符合ISA总线标准的外围设备I/O总线的辅助I/O总线40。对本发明的说明很自然会扩展到有诸如EISA或其它符合PCI总线以外的中断协议的辅助I/O总线的计算机系统。有4个可以用于插入不同外设的I/O插槽41,42,43和44和ISA总线40相连。诸如软盘驱动器,使用IDE标准互连的硬盘驱动器以及其它通常和计算机系统相连的外围设备之类的板内外设经常设计封装于主板上而不需要提供用于其它插卡升级的I/O插槽。板内外设45从电气角度置于ISA总线40之外。通常I/O总线40和PCI总线30相比为一速度较低的总线,但是为了和以前设计的外设兼容,在新出产的计算机系统上仍然有这样的总线。

拥有ISA总线和PCI总线可以使围绕PCI总线作为主要I/O总线的个人计算机平台推动庞大的ISA生产基础。ISA总线提供24位寻址能力和16位数据通道。EISA I/O总线围绕作为主要I/O总线的PCI总线建立的个人计算机平台推动庞大的EISA/ISA生产基础。不但和16位和8位ISA硬件及软件兼容,而且EISA总线提32位地址和32位数据通道。当然其它辅助I/O总线也许可提供相似的特征。

图1所示计算机结构的PCI总线30和ISA总线40之间连接一系统I/O(S10)单元35。S10单元35提供在PCI总线和ISA总线之间的桥接,它可支持用于PCI总线30与ISA总线40的接口逻辑,同时也支持其它必要的DMA控制器和中断控制逻辑。例如,如果在I/O插槽41中插一个有IDE互连的传统硬盘驱动并且此IDE驱动向CPU申请一事务处理,那么IDE将发起一中断IRQ14信号,此信号将被认为是发生了系统访问主硬盘。当计算机系统发现发生一IRQ14中断,它将其转至访问硬盘驱动的所需代码。

在按图1实现的计算机结构中,S10单元35包括中断控制器(如英特尔82C59中断控制器)此设计得用于响应遵从ISA总线中断协议的中断。S10单元35按可编程仲裁方案解决从不同中断源产生的中断,并将一单独中断送至CPU去执行正确的中断服务程序。

如前所述,PCI总线上一PCI插槽中的插卡分享四个指定的电平敏感的PCI中断。在图1所示的计算机结构配置中,为了使PCI中断源把它们的中断信号送至被称为中断可编程阵列逻辑(中断PAL)的可编程逻辑设备50,每一个PCI插槽都被连接到中断PAL50。在下面篇幅中中断PAL 50的配置和编程将被更详细地介绍。在本质上讲,中断PAL 50的作用是把低有效电平敏感的PCL中断转化为ISA总线标准所需的从低到高边缘敏感中断。作为响应某一个或所有PCI中断源申请的一PCI中断,中断PAL 50产生一边缘敏感中断并送到S10单元35。

从上面注意到为了传送ISA中断信号到S10单元35,不同的IRQ信号可能被使用。因此要提供一软件(通常为BIOS)可写控制寄存器48用它来控制到中断PAL50的选择线,以确定哪种单一IRQ信号应被提供给S10单元35。在一实施例中,选择线由到达IO地址为73h的低两位IO写来控制的。其它的寄存器或锁存器也许可以用作存贮单元48,可以处于不同的IO或内存位置。下面将仔细描述控制寄存器48和中断PAL50的内部操作。

现在参考图2,图2描述了本发明实施例中应用的一中断PAL50更详细的原理图。在本发明的一实施例中,可编程逻辑可能包括一个由英特尔公司制造的85C220 EPLD。当然其它有能力执行如下所述功能的可编程逻辑会适合于其它的实施例。PAL 50从连接到PCI总线30上的PCI中断源接收所有的共享中断。组合的共享中断被门逻辑55相或,这样导致只提供给状态机60一个标识为INT信号。因此,任何中断源的中断信号将使INT信号有效并送到状态机60,这个信号由一PCICLK信号锁定。

在可编程逻辑块50中的状态机60除了接收PCI CLK定时信号和PCI中断的或逻辑信号外,还接收来自S10单元35的INTR信号和系统复位信号,INTR信号在事务处理的状态机侧被标识为INTA信号。在一实施例中,EPLD在管脚8上被和复位整个ISA总线的信号相同的信号复位。来自S10单元作用于CPU的INTR信号是致使CPU处理一中断服务例程(ISR)的S10产生的中断请求。一旦完成ISR的执行,CPU通过向S10中断控制器接口写入“中断结束”命令来清除INTR信号。

还提供选择控制信号SEL0和SEL1给状态机60。在所示实施例中,PCI中断将通过IRQ线:IRQ9,IRQ10或IRQ11中的一条被传送到S10单元35(图1)。选择哪一个IRQ信号送到S10单元35是由在选择寄存器48(图1)内的比特位设置决定的,选择寄存器48是可通过系统配置软件重写的。当然,其它的IRQ信号可能会被用来告知S10单元35发生一PCI中断。请注意,如果有多于四种可能的IRQ发生,那么在SEL寄存器48中需要设置多于两个比特并且将需要另外到PAL50的选择线。选择控制位除了送到状态机逻辑60以外还送到ISAIRQ选择复用器52。当状态机60逻辑发送一个作为控制信号的有效状态IRQ信号到选择复用器52时,复用器52向S10部件35提供被选IRQ信号用来响应选择比特位和控制信号。在一实施例中,这些比特位的一个状态用来编码表示没有IRQ输出到S10发生。这是选择寄存器48的复位状态,因此在复位状态,复位比特应该设置否则没有从PCI中断源来的IRQ要处理。

图3描述了图2中所示状态机逻辑60的一实施例所完成的状态图。附于本公开文件后作为附录A是为完成图3所示状态图而编入可编程逻辑设备50的一个程序的实施例。注意在每一状态底下有一三个数字组成的控制代码识别它。这些和状态变量B2,B1,B0的值分别一一对应,状态变量用在附录A所列出的源代码中的每一个状态。

在复位时,状态机图开始于闲状态300。在本例中状态机是同步的,在PCI CLK上升沿从一个状态转换到另一状态。只要INT信号没有被激活,状态机就保持于闲态用于指明没有PCI中断源正在要求PCI中断。

当INT信号变为有效送到状态机60,状态机在下一个PCI CLK输入转换到N1状态310。一旦状态机到达N1状态310,它将要求送到ISAIRQ选择复用器52的IRQ变为有效信号,用于提供到S20单元35的被选IRQ。如果当状态机逻辑处于N1状态310时,INTA信号已经有效,则状态机将保持在N1状态。当状态机首次到达N1状态时,一有效INTA信号指明CPU正在执行以前申请的中断服务例程,在INTA信号不变为非有效态指明CPU已完成对以前出现中断的处理之前,状态机不会从N1状态310变到N2状态320。

在状态N1时如果INT信号变为非有效态,状态机会从N1态310回到闲态300。这可能指明正在申请中断的PCI中断源已不再需要CPU对中断的处理。虽然这不是预期的但可能出现。另外,在所示本发明实施例中,如果SEL1和SEL0选择比特位都变为无效,状态机将回到闲态300。这可能指明操作系统所做的选择,即并没有PCI中断将被识别。在另一种实施例中,空SEL1和SEL0值也许会被定义为特定的IRQ信号成缺省IRQ信号。

一旦在INTA处于有效时,CPU已清除了它,状态机在下次PCICLK输入从N1状态310转到N2状态320。在这一状态,只要到状态机逻辑的INT信号保持有效或选择信号没有变为无效,IRQ信号将持续从可编程逻辑设备50被驱动。只要INTA信号保持在无效指明CPU没有响应任何中断申请,状态机保持在N2状态320。虽然CPU有可能在响应一不同中断,当INTA信号再次变为有效态时,它指明CPU在响应可能是PCI中断源产生的中断,当INTA信号变为有效时,状态机转移到N3状态并且只要INTA信号保持有效,N3状态便保持。在处于N3状态时,状态机继续给ISA IRQ选择复用器52提供IRQ信号。SEL1和SEL0选择控制的去激活可能导致状态机返回闲态300,否则只要INTA信号有效,状态机便保持在N3状态330。

当INTA信号变为无效,说明CPU已经完成中断服务例程(ISR)的执行,尽管不是必需这样,此ISR可能是PCI中断源产生中断时请求的。状态机将转移经过R1态340,R2态350和R3态360,在每一状态停留一个PCI CLK信号周期。在这一段时间里,IRQ信号将不会再有效,S10单元35不再从中断PAL50接收IRQ。

状态机从R3态360返回闲态300。如果CPU正好为PCI中断源执行了一ISR,处理进程应该清除PCI中断源的中断请求,然后INT信号很可能处于无效。然而,当状态机在N3状态330时如果CPU已经响应了一不同中断,那么可能是不同的致使INTA信号变为无效的ISR。此时INT信号应始终为状态机60的有效输入信号,这种情况下状态机将从闲态300转移到N1态310并在下一个PCICLK输入到达时重复上述过程。

应该清楚N3态330以后的一系列状态转移经过R1态340、R2态350和R3态360回经闲态300转移到N1态310提供一所需时延。是此时延和从中断PAL50来的IRQ信号的断开和重新接通,把中断50接收的遵从PCI电平敏感中断转化为从低到高边缘敏感中断作为一遵从ISA IRQ的信号被驱动,送到S10单元的中断控制器。

图4说明状态机60的一实施例中所实现的更一般的状态图。图4所示状态图所包含的状态300,310,320和330,在上面说明图3时已描述过。在图4中,R1、R2和R3状态被延时状态400代替。在图3的一具体实施方案中,在来到闲态300之前需要3个PCI时钟信号的延迟,以确保正确放置到S10单元35的从低到高边缘敏感中断。在一些实施例中,也许需要不同的延时时间,这种情况包括在图4中所示有延时状态400的情况中。

这就是所描述的用于和谐处理在拥有不只一种I/O总线的计算机系统中的不同中断协议。尽管本发明以不同实施例的形式描述,本领域技术人员会明白各种各样的更改或变形也许不会脱离本发明的精神和范围。例如不用PCICLK而用一个时钟来完成可编程逻辑设计是可能的。同样异步时序实现也是可以想象的。因此本发明应以随后的权利要求衡量。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号