著录项信息
专利名称 | 中断控制器和处理中断请求信号的方法 |
申请号 | CN99805621.9 | 申请日期 | 1999-04-13 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2001-06-06 | 公开/公告号 | CN1298519 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 英特尔公司 | 申请人地址 | 美国加利福尼亚州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 英特尔公司 | 当前权利人 | 英特尔公司 |
发明人 | K·哈伦;T·夸克 |
代理机构 | 中国专利代理(香港)有限公司 | 代理人 | 王勇;张志醒 |
摘要
一个中断控制器包括用于接收中断请求信号的导线、一个存储器、一个寄存器和控制逻辑。每个中断请求信号能指示一个中断请求。该存储器能够存储关于中断请求信号的信息,该寄存器是可写的,用来标识供扫描的存储器的单元的集合。该控制逻辑在该单元集合扫描中断请求,但不在存储器的其它单元扫描中断请求。在有些情况中,中断请求信号的数量超过单元的数目。对于这些情形,在这些单元中存储关于选定的中断信号的信息。
1.一种中断控制器,包含:
接收中断请求信号的导线,其中每个中断请求信号能指示一 个中断请求;
一个包含能存储关于中断请求信号的信息的单元的存储器;
一个寄存器,该寄存器是可写的,用来标识一个供扫描的第 一单元集合和一个第二单元集合;
在该第一单元集合扫描中断请求、但不在该第二单元集合扫 描中断请求的控制电路。
2.权利要求1的中断控制器,其中,该第一单元集合包含相 邻的单元块。
3.权利要求1的中断控制器,其中,该信息包含中断请求状 态信息。
4.权利要求1的中断控制器,其中,该控制电路读取该第一 单元集合,以检测中断请求,该中断控制器进一步包含:
一个接口电路,用于在该控制电路检测到中断请求之一时通 知微处理器。
5.用于处理中断请求信号的一种方法,包含:
接收中断请求信号,每个中断请求信号能指示一个中断请求;
分配用于存储关于中断请求信号的信息的存储单元;
存储标识要扫描的一个存储单元集合的扫描信息;和
为检测中断请求而扫描该存储单元集合,但不扫描其余的存 储单元。
6.权利要求5的方法,其中,该扫描包含:
遍历一个相邻的存储单元块。
7.权利要求5的方法,其中,该扫描包含:
读取该存储单元集合,以检测中断请求;和
在检测到中断请求之一时通知微处理器。
本发明涉及一种中断控制器。\n计算机系统的设备(例如磁盘控制器)可以与系统的微处理器交 互作用,以执行特定的功能(例如从硬盘驱动器检索数据)。在这个 交互中,设备可能需要临时地中断进行中的微处理器的操作,以便微 处理器能服务该设备。\n例如,微处理器可指令磁盘控制器从硬盘驱动器检索一个数据 块,而在磁盘控制器正在检索数据的同时,微处理器可执行其它操 作,诸如例如执行程序代码。在控制器检索数据并将数据存储在系统 内存中后,控制器就可以通知微处理器。\n控制器通知微处理器的一个方法是生成一个中断请求。根据该中 断请求,微处理器通常暂时停止任何进行中的操作,以便例如从系统 内存读取该数据并根据该数据作出决定。\n中断请求一般是通过中断请求信号传达的。对于边沿触发式中断 请求来说,中断请求信号通过改变逻辑状态(例如从高逻辑状态变成 低逻辑状态)来指示中断请求。电平触发式中断请求一般是由中断请 求信号的逻辑状态(高或低)指示的。所以,边沿触发式中断请求是 通过中断请求信号的预定转换来指示的,电平触发式中断请求是通过 中断请求信号的预定逻辑电平来指示的。\n典型的计算机系统具有许多可能需要微处理器留意的设备,因此 具有许多可能生成中断请求的设备。然而,微处理器可能只有一个中 断请求输入引脚,所以一次只能处理一个中断请求。为了解决这个难 题,计算机系统可以有一个中断控制器来接收各设备的中断请求信 号,为这些信号所指示的中断请求排定优先级,将一个中断请求定向 到微处理器去获得服务。\n这样的一个中断控制器可以是英特尔公司生产的8259A可编程中 断控制器。8259A中断控制器可在其8个中断输入引脚上接收多达8 个不同的中断请求信号。因为在短时间间隔内可能会发生许多中断请 求,8259A控制器排定各中断请求的优先次序,并(通过一个输出中 断请求信号)将中断请求的表示一次一个地提供给微处理器的中断请 求输入引脚。\n当中断控制器激活微处理器的中断请求输入引脚以表明有中断 请求时,一个中断确认序列开始。在这个序列期间,8259A中断控制 器提供一个被微处理器接收的中断值。对于微处理器来说,该中断值 标识生成中断请求的中断信号并起着指向中断表中一个单元的索引 作用。这个单元存储着微处理器可以为服务该中断请求而执行的一个 中断处理例程的地址。在通常被称为主从方案的方案中,为了处理多 于8个的中断请求信号,可以将两个或更多的8259A中断控制器级联 在一起。\n8259A主要是为只用于一个微处理器而设计的。参看图1,多处 理器计算机系统8也可能使用中断控制器10,诸如由英特尔公司生产 的部件号为82093AA的I/O高级可编程中断控制器(IOAPIC)。该中 断控制器10通过高级可编程中断控制器(APIC)总线11与系统8的 微处理器12传送信息。\nAPIC总线11一般包含两个双向数据线和一个时钟线。当中断控 制器10希望向其中一个微处理器12传送一定的中断请求时,中断控 制器10向APIC总线11提供信号,该信号指示的信息诸如是一个APIC 地址(它标识要接收并服务该中断请求的特定微处理器12)和中断表 的索引。\n系统8一般有另外的电路用于方便中断控制器10的使用。例如, 为了与APIC总线11通信,每个微处理器12一般都有一个局部APIC 接口14。系统8可能也包括一个包含8259A控制器的桥电路16,为 较老版本的操作系统提供后向兼容。如下文所述,例如当操作系统首 次启动系统8时,可能需要这种后向兼容。\n通常,有些较老版本的操作系统在系统的启动期间期望在传统的 系统总线上(而不是在APIC总线上)确认中断请求。对于这些较老 版本的系统,中断控制器10可以与桥16交互作用,以所谓的虚拟线 模式(virtual wire mode)模拟较老的8259A控制器的响应。为此, 在启动期间,中断控制器10通过APIC总线11上的消息发送中断请 求。然而,中断请求的确认发生在系统总线上。\n即使不在虚拟线模式中运行,中断控制器10也能以不涉及APIC 总线11的方式向微处理器发送中断请求。例如,中断控制器10可以 将系统管理中断(SMI)请求和非屏蔽中断(NMI)请求直接提供给微 处理器12相应的中断SMI和NMI中断输入引脚。\n中断控制器10可以接收来自许多不同的源的中断请求信号,这些 源诸如是工业标准体系结构(ISA)总线18的中断请求线、外围部件 互连(PCI)总线(一种符合位于Portland的PCI特殊利益集团提供 的PCI规范2.0版或97214的总线)的中断请求线(未予示出)和/ 或母板的中断请求线(未予示出)。所有这些中断请求信号都是中断 请求的可能的源,每个中断请求都可以与一个不同的中断处理程序相 关联。此外,由于使用多个微处理器,所以可以将不同中断请求的处 理分配给不同的微处理器12。为了跟踪所有的与中断请求信号相关联 的信息,中断控制器10可包含一个中断请求重定向表20。\n该重定向表20通常包含重定向表项21(例如,重定向表项具有 64位的寄存器单元,称为RTE[0]、RTE[1]、RTE[2]…RTE[22]和 RTE[23]),它们的每一个都与中断控制器10的一个不同的中断请求 输入引脚相关联。参看图2,每个重定向表项21例如可包括一个状态 位28,指示相关联的输入引脚的待处理中断请求。每个重定向表项21 也可包含一个目的地位字段22,存储一个标识要处理源于该相关引脚 的中断请求的微处理器的值。重定向表项21的中断向量位字段30可 以存储一个指示一个中断向量的值。每个重定向表项21的其它位例如 可以规定中断请求在相关输入引脚上是如何表示的(例如是电平触发 的还是边沿触发的),重定向表项21的其它位也可以被用来屏蔽中断 请求,阻止从中断控制器10向上传播到一个微处理器12。\n重定向表项21一般不被用来为由中断控制器10在内部生成的中 断请求信号存储信息。所以,源于这些信号的中断请求不被通过APIC 总线11传达给微处理器。例如,中断控制器10内部的逻辑可以有选 择地将从有些中断请求输入引脚上接收的信号组合起来,生成一个输 出的SMI中断请求信号(称为SMIOUT#)。尽管该SMIOUT#信号在中断 控制器10的一个SMI输出引脚17上出现,该SMIOUT#信号所指示的 中断请求却不会被提供到APIC总线11,因为该SMIOUT#信号没有相关 联的重定向表项21。\n然而,一种将一个表项21分配给该SMIOUT#信号的方法是通过一 个外部网络将该SMIOUT#信号从输出引脚17传送到一个输入引脚。这 样,该SMIOUT#信号就被分配给与从外部网络接收该SMIOUT#信号的 输入相关联的表项21。然而,为此要占用一个输入引脚,并且可能需 要外部板路由选择(external board routing)。\n中断控制器10通常以循环方式一次一个地搜索各表项21,以确 定表项21的状态位28是否指示一个待处理的中断请求。这种循环式 搜索的结果是,中断控制器10可能不能立即照管待处理的中断请求。 中断控制器10一般要搜索每个表项21,即使与该项相关联的中断请 求输入引脚是不用的。\n所以,继续需要一种减少这种循环查询机制的延迟的中断控制 器。也继续需要一种在重定向表中为内部生成的中断请求信号存储信 息的中断控制器。\n概括地说,在一个实施例中,一个中断控制器包括一个具有用于 接收外部中断请求信号的输入引脚的组件。该中断控制器也包括一个 中断生成逻辑、一个存储器和多路转换逻辑,它们都安装在该组件 内。该中断生成逻辑生成内部中断请求信号,该多路转换逻辑选择性 地在该存储器的单元中为内部的或外部的中断请求信号存储中断信 息。\n概括地说,在另一个实施例中,一个中断控制器包括用于接收中 断请求信号的导线、一个存储器、一个寄存器和控制逻辑。每个中断 请求信号都能指示一个中断请求。该寄存器是可写的,用来标识供扫 描的存储器的单元的集合。该控制逻辑在该单元集合扫描中断请求, 但不在存储器的其它单元中扫描中断请求。\n从以下说明、附图和权利要求,本发明的优点和其它特点将变得 显而易见。\n图1是现有技术的一个计算机系统的框图。\n图2是图1的中断控制器的重定向表项的示意图。\n图3是按照本发明一个实施例的计算机系统的框图。\n图4是按照本发明一个实施例的中断控制器的框图。\n图5是表示图4的中断控制器的中断信号的映射的图。\n图6是表示图4的中断控制器所使用的扫描序列的表。\n图7是图4的主控制单元的框图。\n图8、9、10、11和12是图7的监控电路的电路示意图。\n图13是图7的表访问电路的电路示意图。\n参看图3,按照本发明的可编程中断控制器的一个实施例30可以 将(重定向表32的)重定向表项36分配给在控制器30内部生成的 内部中断请求信号和由控制器30的输入引脚31接收的外部中断请求 信号。这种安排的结果是,不耗费任何中断输入引脚31就能将内部 生成的中断请求(通过APIC总线56)传达到微处理器150。\n此外,如下文所述,在控制器30内部生成的中断请求信号,可 以在控制器30的外部中断输出引脚39上出现,通过一个消息接发电 路出现(例如在APIC总线56上的一个消息),或者同时以这两种方 式出现。在有些实施例中,控制器30包括一个封装了控制器30的电 路的单芯片集成电路(IC)组件33,中断请求输入引脚31从该组件 伸出,将该电路连接到外部接收的中断请求信号。在这种情况下,术 语“内部的”和“内部地”指的是由安置在该组件内的控制器30的 电路生成的信号。\n该控制器30可以有若干其它特点。例如,为了减少因扫描重定 向表项36而产生的延迟,控制器30可以被构造成能在扫描时屏蔽掉 一些表项36。如下文所述,被屏蔽的重定向表项可以是不是正在被用 来存储中断信息的表项。\n该控制器30的另一个特点是,该控制器能选择性地将重定向表 项36分配给内部生成的中断请求信号或者外部接收的中断请求信 号。这种安排的结果是,用来存储表32的存储空间得到节省,因为 不必将未在使用的中断请求输入引脚分配给任何重定向表项36。\n也参看图4,更具体来说,每个重定向表项36存储与一个中断请 求例程信号相关联的信息(例如包含一个代表指向某中断处理程序的 中断向量的值的信息)。该中断请求信号可以是由控制器30以外的 设备在外部生成的,也可以是由控制器30在内部生成的。举例来说, 可以在控制器30内对来自中断请求输入引脚31的信号进行逻辑组 合,生成一个SMI中断请求信号(称为PRE_SMIOUT)。PRE_SMIOUT 信号不但可以在控制器30的外部引脚39上出现(作为被称作SMIOUT# 的信号(其中后缀“#”表示一个负逻辑再生)),PRE_SMIOUT信号 也可以被分配给一个重定向表项36。结果,可以将源于PRE_SMIOUT# 信号的中断请求传达到APIC总线56。\n在有些实施例中,内部生成的中断请求信号的其它例子包括由控 制器30的确立寄存器38提供的信号。该确立寄存器38位于控制器 30的寄存器单元34中,它可以提供例如16个中断请求信号(称作 INTAS[15:0])。该寄存器38例如可由微处理器150其中之一写入一 个表示对应INTAS[15:0]信号其中之一的中断请求的值。\n例如,在有些实施例中,值“4”可使INTAS[3]信号指示一个中 断请求,值“15”可使INTAS[15]信号指示一个中断请求。使具体实 施例而定,这些中断请求可以由中断请求信号的一个转换(对于边沿 触发式中断请求)或者一个状态(对于电平触发式中断请求)来指示。 尽管是内部生成的,每个INTAS[15:0]信号都可以被分配给重定向表 项36的其中之一,如下文所述。\n在有些实施例中,控制器30并不为每个中断请求信号(无论是 外部还是内部生成的)都分配一个重定向表项36,因为中断请求信号 的数目可能会大于重定向表项36的数目。相反,可以将重定向表项 36用于内部/外部生成的中断信号的一部分,以便排除其余的中断请 求信号。这种安排的结果是,节省了表的空间,可以缩短重定向表项 36的扫描时间,可以有效地忽略未使用的中断请求信号或中断请求输 入引脚。\n举例来说,参看图5,重定向表32可以有64个重定向表项36(例 如分配给64个位寄存器单元RTE[0]、RTE[1]、RTE[2]、…和RTE[63] 的表项),每一个表项都可以被分配给一个不同的中断请求信号。可 用来进行分配的中断请求信号包括由ISA总线(未予示出)的中断请 求线提供并由控制器30的中断请求输入引脚接收的16个中断请求信 号(称作INTIO[15:0])。在有些实施例中,INTIO[15:0]信号是双 向的。中断请求信号也包括另外48个中断请求信号(称作 INTIN[47:0]),它们是由诸如PCI中断请求线和母板中断请求线等 其它中断源提供并由中断请求输入引脚接收的。\n接着这个例子,在有些实施例中,可以将具有最高的寄存器存储 单元RTE[63]的重定向表项36,分配用来存储对应INTIN[47]信号、 SMIOUT#信号和INTAS[15]信号的其中之一(从而排除其它两个信号) 的中断信息。可以将具有寄存器存储单元RTE[62:48]的重定向表项 36,分配用来存储对应INTIN[46:32]信号或者INTAS[14:0]信号(从 而排除其它15个信号)的信息。可以将具有寄存器存储单元 RTE[47:16]的重定向表项36分配用来存储对应INTIN[31:0]信号的 信息,可以将具有寄存器存储单元RTE[15:0]的重定向表项36分配 用来存储对应INTIO[15:0]信号的中断信息。\n如下文所述,寄存器单元34(见图4)的(由微处理器)可写的 寄存器位(称作ASRTEN和SMI63,下文作说明)被用来如上所述地 有选择地将中断信号分配给希望的表项36。可以有选择地对寄存器单 元34的其它寄存器位(称作RTEDIS[2:0](见图6),下文作说明) 进行编程设置,以有选择地屏蔽掉不使用的项36。这会有益于例如减 少扫描表项36时的延迟,因为如下文所述,每搜索一项36就占用一 个PCI时钟周期。\n如果没有重定向表项36被屏蔽,则扫描就以递增方式从最低寄 存器存储单元的表项(RTE[0])循环进行到最高寄存器存储单元的表 项(RTE[63]),一次一个单元。\n参看图6,在有些实施例中,用RTEDIS[2:0]位来屏蔽重定向表 项36的连续的块,使之不受扫描。在这些实施例中,扫描从最低寄 存器存储单元(RTE[0])开始向上地连续进行,直到到达一个由 RTEDIS[2:0]位指示的寄存器存储单元。发生这个情况时,扫描就跳 到最高寄存器存储单元(RTE[63]),然后(在下一个PCI时钟周期) 返回到最低寄存器存储单元(RTE[0]),重复扫描循环。\n其它实施例是可能的。例如,可以用寄存器位来更具体地指明若 干个要作扫描屏蔽的相邻的寄存器存储单元块或分别指明要作扫描 屏蔽的各寄存器存储单元。\n回到图4,为执行上述功能,控制器30中可包含一个主控制单元 40,它接收中断请求信号,并根据它们的逻辑状态,维护和更新表项 36的位。主控制单元40也提供一个指针(称作SINDEX[5:0],下文 作说明),用来指向正被扫描的表32的存储单元,如下文所述。\n主控制单元40接收中断请求信号并按(上述的)ASRTEN和SMI63 位所指示的那样向表项36有选择地分配这些信号。主控制单元40就 这样接收INTIO[15:0]信号、INTIN[47:0]信号,PRE_SMIOUT信号和 串行中断信号(称作SERIRQ[15:0],由串行中断请求接口42提供)。 在有些实施例中,PRE_SMIOUT信号是由INTIO[15:0]信号中选定的一 些信号的逻辑组合而生成的。同INTIO[15:0]信号一样,SERIRQ[15:0] 信号指示ISA总线(未予示出)的中断线的逻辑状态,并且是双向的。 如下文所述,在有些实施例中,寄存器单元34的一个位(称作 SSLTEN,下文作说明)指定是用INTIO[15:0]信号还是代之以用 SERIRQ[15:0]信号。\n主控制单元40与各种类型的总线通信。例如,主控制单元40通过 串行中断请求接口42与串行中断总线44通信(以接收SERIO[15:0]), 通过APIC接口50与APIC总线56通信。主控制单元40可以用串行总 线接口通过串行总线与位于其它I/O子系统(例如与不同的PCI总线相 连的系统)中的其它(类似于控制器30的)控制器通信。主控制单元 40也可以与流线型APIC(SAPIC)接口52通信。\n可以不用APIC接口56而是用SAPIC接口52通过PCI总线58向 微处理器12传输中断信息。控制器30的PCI接口54既将SAPIC接 口52连接到PCI总线58,也将寄存器单元34连接到PCI总线58。\n控制器30也包括一个兼容控制单元48,后者在兼容方式中可被 用来保持与诸如8259A控制器的老式控制器的向后兼容。例如,可以 用兼容控制单元48来有选择地将INTIN[47:0]信号变换成 INTIO[15:0]信号。在有些实施例中,兼容控制单元48(根据寄存器 单元34的某个寄存器(未予示出)的内容)有选择地对INTIO[15:0] 信号和一个SMI信号(称作SMI_IN)进行逻辑组合,生成PRE_SMIOUT 信号。\n参看图6,在有些实施例中,主控制单元40包括一个监控电路 60,它接收所有中断请求信号并通过一个时钟同步电路传送它们。监 控电路60以这种方式将(已经被分配表项36的)中断请求信号与PCI 时钟(称作PCLK)同步,并将这些数字信号变换成一个多位信号(称 作INT_NEW[63:0])的各位。中断请求信号被变换到的位位置直接对 应于与该中断请求信号相关联的表项36的存储单元。例如,如果 INTIN[33]信号被分配给具有寄存器存储单元RTE[49]的表项36,则 INT_NEW[49]位指示该INTIN[33]信号的状态。监控电路60也生成一 个代表INT_NEW[63:0]信号、但落后INT_NEW[63:0]信号一个PCI时 钟周期的多位信号(称作INT_OLD[63:0])。\n状态电路62接收INT_NEW[63:0]和INT_OLD[63:0]信号,并根据 它们的各位的逻辑状态,检测中断请求。状态电路62以这种方式, 通过观测INT_NEW[63:0]信号的各位的逻辑状态并将这些状态与预定 的逻辑电平作比较而检测电平触发式中断请求。状态电路62检测边 沿触发式中断请求的方法是,观测INT_NEW[63:0]和INT_OLD[63:0] 两种信号的各位的状态,以检测其中一个位的转换。根据这些观测, 状态电路62对由寄存器单元34接收的一个多位信号(称作 STAT[63:0])的各位进行置位或清除。STAT[63:0]信号的每个不同位 用来提供对应于给定重定向表项36的不同信号的状态位28(见图 2)。\n仍然参看图6,主控制单元40也包括一个生成一个多位信号(称 作RIRR[63:0])的远程中断请求寄存器电路68。RIRR[63:0]信号中 的每个位被用来更新一个不同表项36的一个不同的RIRR位域26。 RIRR位域26不用于边沿触发式中断请求。然而,对于电平触发式中 断请求来说,RIRR电路68与一个中断结束(EOI)电路64和监控电 路60交互作用,以判定某电平触发式中断请求何时被(微处理器) 的局部APIC/SAPIC确认以及何时从该局部APIC接收到一个中断结束 (EOI)消息和一个匹配中断向量。\n监控电路60用一个表存取电路66来生成选择表项36的 SINDEX[5:0]指针。SINDEX[5:0]指针所指向的表项36中存储的值, 由一个多位信号(称作EDATA[63:0])指示,该信号由寄存器单元34 提供并由监控电路60接收。\n参看图7,监控电路60加倍中断请求信号的时钟,以生成 INT_NEW[63:0]信号的各个位。为此,监控电路60生成一个代表延迟 一个PCI时钟信号的INT_NEW[63:0]信号的中间多位信号(称作 INT_MID[63:0]),这样,监控电路60包括一个D型触发器80,它 提供INT_MID[63]位,是由PCLK信号定时的。配置位SMI63当被确 立时,即高电平时,(通过多路转换器82)选择反相的PRE_SMIOUT 信号(PRE_SMIOUT#),传送到触发器80的输入端。如果配置位SMI63 被撤销,即低电平,多路转换器82就将多路转换器86的输出信号传 送到触发器80的输入端。多路转换器86所提供的输出信号是由 ARSTEN配置位的逻辑状态控制的。ASRTEN位被确立时,即高电平时, 使多路转换器86选择INTAS[15]信号作为其输出信号;如果被撤销 时,则使多路转换器86选择INTIN[47]信号作为其输出信号。 参看图8,监控电路60也包括一个多位的D型触发器90,它由 PCLK信号定时,提供INT_MID[62:48]位。该触发器90的输入端与一 个多位的多路转换器92的输出端相连。多路转换器92的选择由 ASRTEN配置位的逻辑状态控制。当ASRTEN配置位被确立时,即高电 平时,该多路转换器92就将INTAS[14:0]信号传送到触发器90的输 入端;当ASRTEN配置位被撤销时,即低电平时,该多路转换器92就 将INTIN[46:32]信号传送到触发器90的输入端。\n如图9所示,INT_MID[47:16]位是由一个多位的D型触发器88 提供的,该触发器(在其输入端)接收INTIN[31:0]信号,并且是由 PCLK信号定时的。\n如图10所示,INT_MID[15:0]位是由一个多位的D型触发器92 提供的,该触发器是由PCLK信号定时的。该触发器92的输入端与一 个多位的多路转换器94的输出端相连。多路转换器94的选择由 SSLTEN配置位的逻辑状态控制。这样,SSLTEN配置位的逻辑状态决 定该多路转换器94是将SERIRQ[15:0]信号(如果该SSLTEN位被确 立,即高电平)还是将INTIO[15:0]信号(如果该SSLTEN位被撤销, 即低电平)传送到触发器92的输入端。\n如图11所示,INT_NEW[63:9]和INT_NEW[7:0]位是由一个多位 的D型触发器98提供的,该触发器接收INT_MID[63:9]和 INT_MID[7:0]位,并且是由PCLK信号定时的。由INT_NEW[8]位指示 的中断请求可能反相,也可能不反相,这取决于一个控制多路转换器 100的选择的配置位(称作INVRT8)的电平。当该INVRT8位被确立 时,即高电平时,多路转换器100就将INT_MID[8]#位传送到触发器 98的相应输入端。否则,多路转换器100就将非反相的INT_MID[8] 位传送到这个输入端。\n触发器98提供INT_NEW[63:0]位,后者被一个多位的D型触发 器96接收的输入端。该触发器96在其输出端提供INT_OLD[63:0]信 号,是由PCLK信号定时的。\n参看图12,表存取电路66包括一个多位的D型触发器104,它 在其输出端提供SINDEX[5:0]指针信号,是由PCLK信号定时的。当 一个(称作RTAXES的)信号被确立时,即高电平时,表明PCI接口 54正在访问寄存器单元34。发生这个情况时,多位的多路转换器106 就将该SINDEX[5:0]指针信号传送回触发器104的输入端,以保留该 SINDEX[5:0]指针信号所指示的当前值。如果RTAXES信号是被撤销 时,即低电平时,多路转换器106就把多路转换器110的多位输出信 号传送到触发器104的输入端。\n多路转换器110的选择是由一个多位比较电路108的输出信号控 制的。该比较电路108将SINDEX[5:0]指针信号所代表的值与值 “111111b”(后缀“b”表示二进制表示法),该值表示SINDEX[5:0] 指针信号可以表示的最大允许值(即63)进行比较。如果达到这个最 大值,比较电路108就确立其输出信号,使多路转换器110将一个代 表“000000b”的多位信号传送到触发器104的输入端。\n如果SINDEX[5:0]指针信号指示的值没有达到这个最大值,多路 转换器110就将由另一个多位多路转换器112的输出端提供的一个多 位信号传送到触发器104的输入端。该多路转换器112的选择由一个 多位比较电路114的输出信号控制。\n该比较电路114在一组输入端接收SINDEX[5:0]信号,在另一组 输入端接收一个并置信号。该并置信号的三个最高有效位表示 RTEDIS[2:0]位的反相,并置信号的三个最低有效位表示“111b”。 如果SINDEX[5:0]信号所指示的值等于该并置信号所代表的值,多路 转换器通过将一个表示“111111b”的多位信号传送到触发器104的 输入端而使SINDEX[5:0]信号等于“111111b”。然而,如果不是, 多路转换器112就将一个加一计数器116的输出端传送到触发器104 的输入端。该加一计数器116接收SINDEX[5:0]信号,同时将该信号 代表的值加1,然后提供一个表示该相加结果的多位输出信号。\n尽管参照有限数量的实施例说明了本发明,本领域的熟练人员将 明白有许多的修改和改变。后附的权利要求旨在包括所有这些在本发 明的精神和范围内的修改和改变。
法律信息
- 2012-06-27
未缴年费专利权终止
IPC(主分类): G06F 13/24
专利号: ZL 99805621.9
申请日: 1999.04.13
授权公告日: 2005.10.26
- 2005-10-26
- 2001-06-13
- 2001-06-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2012-01-31 | 2012-01-31 | | |
2 | | 2012-01-31 | 2012-01-31 | | |