一种实现中断采集的方法及装置的制作方法

文档序号:6465239阅读:224来源:国知局
专利名称:一种实现中断采集的方法及装置的制作方法
技术领域
本发明涉及中断技术,尤其涉及一种实现中断采集的方法及装置。
背景技术
在中央处理单元(CPU)出现的早期,其处理能力非常有限,计算机系统
外部接口不复杂,连接的外部设备不多,因而这些外部设备需要请求服务的中 断也不多,所以中央处理单元预留的外部中断引脚不多。
随着中央处理单元处理能力的不断升级,计算机系统变得越来越复杂,需
要处理的事务越来越多,外挂的外部设备也越来越多;但是,由于CPU芯片大 小的限制,有时中央处理单元并不能为每个外部设备提供一个独立的中断引脚。 这就使得,某些或某类外部设备需要共享一个中央处理单元的外部中断引脚。 如何将这些外挂中断源的中断请求采集起来,如何有效地区别不同的中断源, 以及如何区分中断的优先级或中断产生的时间顺序,便成了中断控制扩展的主 要任务。
申请号为CN200680006244的中国专利申请"用于扩充中断控制器和合成 中断来源的系统和方法"中,提到了在计算机系统中,尤其是虚拟机中使用的 中断扩展控制器,该专利申请中着重描述了应用APIC(高级可编程中断控制器) 以及虚拟化的APIC来实现中断控制扩展。该专利申请提到了实现的系统,但 是较少提及APIC内部的实现流程。而且,APIC虽然具有可编程的特点,但其 功能在扩展性上总有一定的局限性,不能根据需要具体的设计和扩展。

发明内容
有鉴于此,本发明的主要目的在于提供一种实现中断采集的方法及装置, 以便将外挂中断源的中断采集起来,向中央处理单元请求中断服务。为达到上述目的,本发明的技术方案是这样实现的 本发明提供了一种实现中断采集的方法,该方法包括
a. 监测外挂的两个以上中断源的中断请求,当有中断请求时,记录中断发 生的系统时间并记录所述中断请求对应的中断源;
b. 向中央处理单元发出中断请求。 该方法还包4舌
c. 中央处理单元响应中断请求,进行中断服务。
上述方法中,步骤a所述记录中断发生的系统时间并记录所述中断请求对 应的中断源,是在中断使能,且没有发生中断碰撞的时候记录;如果中断使能, 但发生中断碰撞,根据中央处理单元是否要保留本次中断请求的配置策略来决 定是否记录中断发生的系统时间;如果中断禁能,对中断请求不做处理。
步骤a中所述记录中断发生的系统时间并记录中断请求对应的中断源时, 如果发生中断碰撞则设置中断碰撞告警信息,中央处理单元在检测到中断碰撞 告警信息时将调整中断服务策略。
步骤b所述向中央处理单元发出中断请求是在上一次记录的内容被读耳又后 或者定时地向中央处理单元发出中断请求。
步骤c所述中央处理单元进行中断服务,有两种优先级配置模式严格优 先级模式和严格时间模式;采用严格优先级模式时,中央处理单元对中断服务 的先后根据优先级确定,优先级高的优先被服务,优先级低的较晚被服务;采 用严格时间模式时,中央处理单元对中断服务的先后根据中断发生的系统时间 确定,发生在前的优先被服务,发生在后的较晚被服务;对于所述两种优先级 配置模式,当中断的优先级相同,且中断发生的系统时间相同时,中央处理单 元根据中断源的标号大小确定对中断服务的先后,标号小的优先被服务。
本发明还提供了一种实现中断采集的装置,该装置包括
中断标志寄存器,不同位对应不同外挂中断源,被置位的位表明该位对应 的中断源发出中断请求;
中断信息记录模块,用于记录中断发生的系统时间;中断处理才莫块,用于向中央处理单元发出中断请求;
中央处理单元接口模块,用于中断处理模块与中央处理单元之间的通信。
该装置进一步包括
中断使能寄存器,不同位对应不同的外挂中断源,标识每位对应的中断源 发出的中断请求是否被处理。
上述装置中,所述中断标志寄存器用一个或两个中断标志寄存器来实现; 用 一个中断标志寄存器来实现时,中断处理模块定时地向中央处理单元发出中 断请求;用两个中断标志寄存器来实现时, 一个是主中断标志寄存器, 一个是 从中断标志寄存器,中断处理模块用于在主中断标志寄存器全部位值为0时将 从中断标志寄存器的内容一次性写入主中断标志寄存器,然后向中央处理单元 发出中断请求;
所述中断信息记录模块包括中断时间计数器和中断描述寄存器,其中 中断时间计数器,用于记录系统时间;
中断描述寄存器,用于记录中断发生时的系统时间,每个外挂中断源对应 一个中断描述寄存器。
进一步地,所述每个外挂中断源对应的一个中断描述寄存器的实现方式是 用一个或两个中断描述寄存器来实现;用一个中断描述寄存器来实现时,中断 处理模块将中断请求发生时的相关信息记录在该中断描述寄存器中;用两个中 断描述寄存器来实现时, 一个是主中断描述寄存器, 一个是从中断描述寄存器, 中断处理^t块用于首先将中断请求发生时的相关信息记录在从中断描述寄存器 中,在需要时再写入主中断描述寄存器。
所述中断描述寄存器还用于记录中断的优先级,及中断碰撞告警信息。
该装置进一步包括
中央处理单元,用于配置外挂各个中断源的优先级,与中断处理模块协商 配置某一个中断源在中断使能寄存器、中断标志寄存器中的对应位,配置中央 处理单元的中断服务策略及响应中断请求、实现对中断的具体服务。
本发明所提供的实现中断采集的方法及装置,采用中断扩展控制器将不同外挂中断源的中断采集起来发送给中央处理单元,实现了在有多个外挂中断源 时对中断请求的采集,解决有多个外挂中断源发出中断请求时中央处理单元中断引脚不足的问题;并且针对不同的中断源配置其优先级、记录中断产生的时加有效地实现对外挂中断源的中断服务;本发明中使用了中断碰撞告警,增加 了系统的可靠性。本发明装置用FPGA实现时,由于FPGA丰富的引脚资源和 可扩展性,使得用户可以根据实际的需要灵活设计出所需的功能模块,使用其 它可编程逻辑器件实现时,也因为可编程逻辑器件本身的特点,有良好的可扩 展性。


图1为本发明装置总体的结构示意图;图2为中断扩展控制器内部的模块框图;图3为本发明方法实现中断采集的主要处理流程图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一 步详细的说明。 图1是本发明装置总体的结构示意图,如图l所示,中断源101是中断扩 展控制器的外挂中断源,可以是各种能产生中断请求、需要中央处理单元提供 中断服务的外挂中断源;中断扩展控制器102采集中断源的中断请求,收集起 来向中央处理单元103发出中断请求,并为中央处理单元103提供中断源所请 求中断的相关信息,如中断发生时的系统时间等;中央处理单元103响应中 断扩展控制器102发出的中断请求,读取中断请求的内容,并根据中断扩展控 制器102提供的中断请求的相关信息对中断进行服务等。进一步地,中断扩展控制器内部的模块框图如图2所示,中断扩展控制器 包括中断使能寄存器201:该寄存器的每一位对应一个外挂中断源,定义该位值为1时表示中断使能,即该位对应的中断源发出的中断请求会被中断扩展控 制器的中断处理模块处理,该位值为O时,表示中断禁能,即该位对应的中断请求不被中断处理模块处理。中断使能寄存器201可以是n比特的,其中n根 据中断扩展控制器外挂中断源的个数决定,有几个中断源,n就等于几。中断标志寄存器202:中断标志寄存器包括主中断标志寄存器和从中断标 志寄存器,其中从中断标志寄存器的每一位也对应一个外挂中断源,也就是说中断使能寄 存器201的一个位对应从中断标志寄存器的一个位;当从中断标志寄存器一个 位置位时、即定义位值为1时,表示该从中断标志寄存器的位对应的中断源请 求中断;对于主中断标志寄存器,其内容是从中断标志寄存器内容的副本,因此主 中断标志寄存器的每一位相应地也对应一个中断源,主中断标志寄存器一个位 置位时、即与从中断标志寄存器的位值定义一样,位值为1时,表示该主中断 标志寄存器的位对应的中断源请求中断;上述主中断标志寄存器和从中断标志寄存器都是n比特的,n的取值与中 断使能寄存器201中n的取值一致;本发明装置中设置主从中断标志寄存器,可以起到中断请求緩存的作用, 比如前一次的中断请求在主中断标志寄存器中等待处理,此时中断源再发出的 中断请求就可以保存在从中断标志寄存器中;而且设置主从中断标志寄存器, 还可以起到不同模块之间操作隔离的作用,防止不同模块同时去操作同一个寄 存器。在本发明装置中从中断标志寄存器主要面向中断扩展控制器内部的操作, 而主中断标志寄存器主要面向中央处理单元。中断描述寄存器203:中断描述寄存器也是主从式设置,包括主中断描述 寄存器和从中断描述寄存器,设置主从式的原因与设置主从中断标志寄存器的 原因类似,其中从中断描述寄存器,用于记录中断发生时的系统时间、中断的优先级、及 中断碰撞告警等信息;本发明装置中为了方便寻址,给每个外挂中断源配备一个从中断描述寄存器;从中断描述寄存器所记录的中断的优先级,是根据中央 处理单元的配置,在外挂中断源发出中断请求时由中断处理模块205标出的;主中断描述寄存器,主中断描述寄存器的内容是从中断描述寄存器内容的 副本,相应地,每个外挂中断源也就对应一个主中断描述寄存器。中断时间计数器204:是系统时间计数器,当中断请求发生时如果中断使 能,中断处理模块205在需要记录中断发生的系统时间时,将中断时间计数器 204的值写入对应的从中断描述寄存器,记录中断发生时的系统时间;根据中 断发生时的系统时间,可以区分不同中断源的中断请求发生的前后顺序,以便上述中断描述寄存器203和中断时间计数器204可以合称中断信息记录模 块,其作用就是记录中断发生的系统时间。中断处理模块205:该模块实时监测各外挂中断源的中断请求,当有中断 请求时,如果中断处理模块205通过中断使能寄存器201确定中断使能,中断 处理模块205首先判断本次中断对应的从中断标志寄存器的位是否已置位,如 果没有置位,则将中断时间计数器204的值写入本次中断对应的从中断描述寄 存器,然后在从中断标志寄存器的对应位上置位,如果从中断标志寄存器的对 应位上已经置位,表示从中断标志寄存器中对应位上上一次的中断还没有被中 断处理模块205写入主中断标记寄存器,此时就发生了中断碰撞现象;发生中断碰撞时,根据中央处理单元的配置策略,中断处理模块205可以 将本次发生的中断请求保留,而丢弃前一次的中断请求,或者保留前一次的中 断请求,丟弃本次的中断请求;同时中断处理模块205置位该中断对应的从中 断描述寄存器上的中断碰撞告警位,表示中断碰撞告警信息;当从中断描述寄 存器上的内容被写到相应的主中断描述寄存器并被中央处理单元读取后,如果 检测到中断碰撞告警信息,中央处理单元将调整中断服务策略,比如调整中断 扩展控制器上发出的中断的优先级,使中断扩展控制器上外挂中断源的中断能 够优先得到服务,避免中断碰撞的发生,从而保证系统的可靠性;当发生中断碰撞时,如果中央处理单元的配置策略是保留本次中断请求,则中断处理模块将中断时间计数器的值写入本次中断对应的从中断描迷寄存器,如果是保留前一次的中断请求,中断处理模块不对本次中断请求做处理;当主中断标志寄存器上的内容都被中央处理单元读取并被中断处理模块清 零后,即全部位值都为O时,中断处理模块205将从中断标志寄存器的内容一 次性全部写入主中断标志寄存器,同时将从中断描述寄存器的内容写入主中断 描述寄存器,然后清除从中断标志寄存器的内容,并且由中断处理模块205向 中央处理单元发出中断请求,中央处理单元收到中断请求后,在自身有时间服 务时,将通过中央处理单元接口模块206读取主中断标志寄存器上的内容,之 后读取主中断描述寄存器;中断处理模块205根据自身对中央处理单元所读取 字节数的监控,在中央处理单元读取主中断描述寄存器之后,将主中断标志寄 存器的内容清零。中央处理单元接口模块206:在中断扩展控制器跟中央处理单元通信时使 用,中央处理单元通过该接口模块与中断处理模块205通信,并且访问中断扩 展控制器内各个寄存器;中断扩展控制器跟中央处理单元通信的物理接口可以 使用计算机系统普通外设接口、比如外部存储器接口等来实现;所述物理接口 位于中央处理单元接口模块206中,在中央处理单元接口才莫块206中还包括了 对接口引脚的定义等部分。在上述装置中,中断标志寄存器202可以不采用主从式,而直接应用一个 中断标志寄存器来实现, 一个中断标志寄存器的位对应一个外挂中断源,也对 应一个中断使能寄存器201的位,类似地、中断描述寄存器203也可以不采用 主从式,而是每个外挂中断源只对应一个中断描述寄存器,中断标志寄存器202 和中断描述寄存器203采用这种配置的时候,中断处理模块205的工作过程是中断处理模块205监测外挂中断源的中断请求,当有中断请求的时候,判 断该中断请求对应的中断使能寄存器201的位,如果中断使能,则中断处理模 块205判断本次中断对应的中断标志寄存器202的相应位是否已经置位,如果 已经置位,则发生了中断碰撞,发生中断碰撞时的处理过程与中断标志寄存器 采用主从式时的类似,在此不再赘述;如果没有发生中断碰撞,则将中断时间计数器204的值写入本次中断对应的中断描述寄存器,然后置位本次中断对应的中断标志寄存器202的相应位,中断处理模块205可以定时地向中央处理单 元发出中断请求,中央处理单元读取中断标志寄存器202的内容,之后读取中 断描述寄存器203的内容;在中央处理单元读取完中断标志寄存器202的内容 后,中断处理模块205将中断标志寄存器202清零,然后中断处理模块205继 续在有新的中断请求时通过判断给中断对应的中断标志寄存器202的位置位。显然,中断标志寄存器202和中断描述寄存器203不采用主从式设置时, 虽然也可以实现中断的采集,但是在中断标志寄存器202被中央处理单元读取 内容的时候将不能保存新的中断请求,因此这种配置方式不如中断标志寄存器 202和中断描述寄存器203采用主从式设置的配置方式完善。进一步地,对于中央处理单元来说,它配置中断扩展控制器外挂各个中断 源的中断优先级、与中断处理模块205协商配置某一个中断源在中断扩展控制 器内部的中断使能寄存器、中断标志寄存器中的对应位等,配置中央处理单元 的中断服务策略及实现对中断的具体服务,它对中断扩展控制器外挂中断源的 中断的服务有两种优先级配置模式一种是严格优先级才莫式,这种模式下,中央处理单元对中断服务的先后根 据优先级确定,优先级高的优先被服务,优先级低的较晚被服务。当优先级一 样时,根据中断发生的系统时间确定服务的顺序;还有一种是宽松优先级模式,或者叫严格时间模式,这种模式下,中央处 理单元对中断服务的先后根据中断发生的系统时间确定,发生在前的优先被服 务,发生在后的较晚被服务,只有当二者同时发生时,才会根据优先级来选择 哪个先被服务;对于上述两种优先级配置模式而言,当中断扩展控制器外挂中断源个数较 多时,可能发生多个中断源同时发出中断请求、且中断优先级一样的情况,这 时中央处理单元可以根据中断源的标号大小,由小到大确定服务中断的顺序, 标号小的优先被服务;中断源的标号大小由中断源对应的中断标志寄存器的位 确定,当中断源对应的中断标志寄存器的位处于高位时,表示标号较小,否则,标号较大。在实际的应用中,中央处理单元选择其中的一种配置^f莫式,比如对于时间 敏感的系统,可以选择严格时间模式。图3是本发明方法实现中断釆集的主要处理流程图,根据本发明所述装置及中断采集的实现原理,如图3所示,本发明方法的主要步骤是步骤301:监测外挂两个以上中断源的中断请求,当有中断请求时,记录 中断发生的系统时间并记录所述中断请求对应的中断源;中断处理模块监测外挂中断源中断请求,当有中断请求时,判断该中断 对应的中断使能寄存器的相应位值是否为1,即是否中断使能,如果中断使 能,且没有发生中断碰撞,则在中断描述寄存器中记录中断发生的系统时间, 当中断描述寄存器采用主从式设置时是记录在从中断描述寄存器中;然后置 位中断标志寄存器的相应位,当中断标志寄存器采用主从式设置时是置位从 中断标志寄存器的相应位;如果中断使能,但发生了中断碰撞,如果此时中 央处理单元的配置策略是保留本次的中断请求,则中断处理模块将中断发生 的系统时间记录下来,如果中央处理单元的配置策略是保留前一次的中断请 求,则不做处理;当中断禁能时,中断请求不被响应;当本次中断对应的中断标志寄存器上的相应位已经置位、对于中断标志寄存器采用主从式设置是指在从中断标志寄存器上的相应位已经置位时,表 示发生了中断碰撞,中断处理模块置位本次中断对应的中断描述寄存器上的 中断碰撞告警位、当中断描述寄存器采用主从式设置时是置位本次中断对应 的从中断描述寄存器上的中断碰撞告警位,中央处理单元读取中断请求的内 容,在检测到中断碰撞告警信息时将调整中断服务策略,避免中断碰撞的发 生;步骤302:向中央处理单元发出中断请求;在中断标志寄存器和中断描述寄存器采用主从式设置时,当主中断标志 寄存器上记录的内容被读取并被清零后,即根据定义在主中断标志寄存器上 的位值都为0时,将从中断标志寄存器的内容一次性全部写入主中断标志寄存器,同时将从中断描述寄存器的内容写入主中断描述寄存器,然后中断处理模块向中央处理单元发出中断请求;在中断标志寄存器和中断描述寄存器不采用主从式设置时,可以是定时 地向中央处理单元发出中断请求;步骤303:中央处理单元响应中断请求,进行中断服务;中央处理单元响应中断请求,在中断标志寄存器和中断描述寄存器采用 主从式设置时,读取主中断标志寄存器及主中断描述寄存器的内容,进行中 断服务;在中断标志寄存器和中断描述寄存器不采用主从式设置时,读取中 断标志寄存器及中断描述寄存器的内容,进行中断服务。本发明所述装置中的中断扩展控制器可以利用现场可编程门阵列(Field Programmable Gate Array: FPG A )来实现,FPG A有丰富的引脚资源和可扩 展性,可以根据实际的需要灵活设计出所需的功能模块;当然,如果是小规 模的应用,也可以用其它的可编程逻辑器件(Programmable Logic Device: PLD)实现。本发明所述方法及装置,将外挂中断源的中断采集起来发送给中央处理 单元,实现了在有多个外挂中断源时对中断请求的釆集,解决有多个外挂中 断源发出中断请求时中央处理单元中断引脚不足的问题;并且针对不同的中 断源配置其优先级,同时记录中断产生的时间顺序,中央处理单元可以根据 本发明中使用的可选择的优先级配置模式,更加有效的实现对外挂中断源的 中断服务,并且使用了中断碰撞告警,增加了系统的可靠性。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1、一种实现中断采集的方法,其特征在于,该方法包括a.监测外挂的两个以上中断源的中断请求,当有中断请求时,记录中断发生的系统时间并记录所述中断请求对应的中断源;b.向中央处理单元发出中断请求。
2、 根据权利要求1所述的方法,其特征在于,该方法还包括c. 中央处理单元响应中断请求,进行中断服务。
3、 根据权利要求1所述的方法,其特征在于,步骤a所述记录中断发生的 系统时间并记录所述中断请求对应的中断源,是在中断使能,且没有发生中断 碰撞的时候记录;如果中断使能,但发生中断碰撞,根据中央处理单元是否要 保留本次中断请求的配置策略来决定是否记录中断发生的系统时间;如果中断 禁能,对中断请求不做处理。
4、 根据权利要求1至3任一所述的方法,其特征在于,步骤a中所述记录 中断发生的系统时间并记录中断请求对应的中断源时,如果发生中断碰撞则设 置中断碰撞告警信息,中央处理单元在检测到中断碰撞告警信息时将调整中断 服务策略。
5、 根据权利要求1所述的方法,其特征在于,步骤b所述向中央处理单元 中断请求。
6、 根据权利要求2所述的方法,其特征在于,步骤c所述中央处理单元进 行中断服务,有两种优先级配置模式严格优先级模式和严格时间模式;采用 严格优先级模式时,中央处理单元对中断服务的先后根据优先级确定,优先级 高的优先被服务,优先级低的较晚被服务;釆用严格时间模式时,中央处理单 元对中断服务的先后根据中断发生的系统时间确定,发生在前的优先被服务, 发生在后的较晚被服务;对于所述两种优先级配置模式,当中断的优先级相同, 且中断发生的系统时间相同时,中央处理单元才艮据中断源的标号大小确定对中断服务的先后,标号小的优先被服务。
7、 一种实现中断采集的装置,其特征在于,该装置包括 中断标志寄存器,不同位对应不同外挂中断源,被置位的位表明该位对应的中断源发出中断请求;中断信息记录才莫块,用于记录中断发生的系统时间; 中断处理模块,用于向中央处理单元发出中断请求; 中央处理单元接口模块,用于中断处理模块与中央处理单元之间的通信。
8、 根据权利要求7所述的装置,其特征在于,该装置进一步包括 中断使能寄存器,不同位对应不同的外挂中断源,标识每位对应的中断源发出的中断请求是否被处理。
9、 根据权利要求7所述的装置,其特征在于,所述中断标志寄存器用一个 或两个中断标志寄存器来实现;用一个中断标志寄存器来实现时,中断处理模 块定时地向中央处理单元发出中断请求;用两个中断标志寄存器来实现时,一 个是主中断标志寄存器, 一个是从中断标志寄存器,中断处理模块用于在主中 断标志寄存器全部位值为0时将从中断标志寄存器的内容一次性写入主中断标 志寄存器,然后向中央处理单元发出中断请求。
10、 根据权利要求7所述的装置,其特征在于,所述中断信息记录模块包 括中断时间计数器和中断描述寄存器,其中中断时间计数器,用于记录系统时间;中断描述寄存器,用于记录中断发生时的系统时间,每个外挂中断源对应 一个中断描述寄存器。
11、 根据权利要求IO所述的装置,其特征在于,所述每个外挂中断源对应 的一个中断描述寄存器的实现方式是用一个或两个中断描述寄存器来实现; 用一个中断描述寄存器来实现时,中断处理模块将中断请求发生时的相关信息 记录在该中断描述寄存器中;用两个中断描述寄存器来实现时, 一个是主中断 描述寄存器, 一个是从中断描述寄存器,中断处理模块用于首先将中断请求发 生时的相关信息记录在从中断描述寄存器中,在需要时再写入主中断描述寄存器。
12、 根据权利要求IO所述的装置,其特征在于,所述中断描述寄存器还用 于记录中断的优先级,及中断碰撞告警信息。
13、 根据权利要求8所述的装置,其特征在于,该装置进一步包括 中央处理单元,用于配置外挂各个中断源的优先级,与中断处理模块协商配置某一个中断源在中断使能寄存器、中断标志寄存器中的对应位,配置中央 处理单元的中断服务策略及响应中断请求、实现对中断的具体服务。
全文摘要
本发明公开了一种实现中断采集的方法,该方法包括监测外挂的两个以上中断源的中断请求,当有中断请求时,如果中断使能,并且没有发生中断碰撞,记录中断发生的系统时间并记录所述中断请求对应的中断源,然后向中央处理单元发出中断请求;中央处理单元响应中断请求,进行中断服务。本发明还公开了一种实现中断采集的装置,包括中断标志寄存器、中断信息记录模块、中断处理模块、中央处理单元接口模块以及中断使能寄存器和中央处理单元,用于实现有多个外挂中断源时对中断请求的采集,和对中断的有效服务。
文档编号G06F13/26GK101299206SQ200810126319
公开日2008年11月5日 申请日期2008年6月24日 优先权日2008年6月24日
发明者邱圣斌 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1