CN1484158A - 一种实现中断请求预处理的方法 - Google Patents

一种实现中断请求预处理的方法 Download PDF

Info

Publication number
CN1484158A
CN1484158A CNA021306648A CN02130664A CN1484158A CN 1484158 A CN1484158 A CN 1484158A CN A021306648 A CNA021306648 A CN A021306648A CN 02130664 A CN02130664 A CN 02130664A CN 1484158 A CN1484158 A CN 1484158A
Authority
CN
China
Prior art keywords
interrupt request
interface module
interrupt
minimum interval
cpu
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.)
Granted
Application number
CNA021306648A
Other languages
English (en)
Other versions
CN1270251C (zh
Inventor
勇 汤
汤勇
许在水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 02130664 priority Critical patent/CN1270251C/zh
Publication of CN1484158A publication Critical patent/CN1484158A/zh
Application granted granted Critical
Publication of CN1270251C publication Critical patent/CN1270251C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

本发明公开了一种实现中断请求预处理的方法,运用该预处理方法可以实现各个接口模块的中断请求合并,控制各个接口模块的中断请求的频率,并能保证高优先级的中断请求优先得到CPU的响应。该发明的实现方法是首先将中断请求拦截,然后对其作预处理,其中,中断请求合并通过设置中断请求最小间隔,将接口模块的中断请求以中断请求最小间隔为单位作中断请求合并;中断请求频率控制通过设置中断请求最小间隔实现;中断请求优先级控制通过选择中断请求优先级最高的接口模块将其中的中断请求优先发送到CPU请求中断。

Description

一种实现中断请求预处理的方法
技术领域
本发明涉及数据通信领域,更确切地说是涉及数据通信产品中的一种实现中断请求预处理的方法。
背景技术
目前,数据通信设备大量的采用局部总线的形式来提供接口模块,其体系结构如图1所示,各个接口模块101通过PCI总线103与PCI桥104连接,PCI桥103通过CPU总线105与CPU 106连接;各个接口模块中的中断请求线102可以由接口模块中的PCI接口的中断请求引脚引到PCI总线103,也可以直接引到PCI总线103,通过PCI总线103与PCI桥104连接,再由PCI桥104通过CPU总线105引入到CPU的外部中断源输入引脚。
基于图1所示的体系结构的系统,其CPU对数据报文的收发均采用中断的机制,CPU接收到接口模块发出的中断请求后中断其它的工作,响应该中断请求,并执行响应的中断请求处理函数,完成数据报文的收发。
这个体系结构在数据通信设备中是通用的,中断请求可以直接引入到CPU中,整个方案的设计思路很简单。在这样的系统中,当各种接口模块的数据量较小时,中断请求的频率也相对较低,CPU在完成中断请求的响应后,能够有足够的空闲来处理其他任务,但是当接口模块的数据量很高,比如接口模块为100M的以太网接口时,该接口模块的中断请求就会非常频繁,以致于中断请求线持续很长一段时间都是拉低的。一旦出现这样的情况,由于中断请求具有高优先级,因此CPU可能会一直处理中断请求,这就大大影响了系统中其他任务的运行,从而导致CPU接收了大量的数据报文,但是没有能力进行转发,数据报文只有丢弃。从整机的报文转发能力来看,这种情况下的转发能力是很低的,而在数据通信产品中,整机的报文转发能力是衡量设备性能的一项重要指标,所以需要改进目前的这种体系结构以提高整机的报文转发能力。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现中断请求预处理的方法,应用此方法可以实现各个接口模块中的中断请求的合并;还可以实现将各个接口模块的中断请求按其优先级发送到CPU。
为达到上述目的,本发明的技术方案具体是这样实现的:一种实现中断请求预处理的方法,其特征在于至少包括以下步骤:
a.拦截各个接口模块的中断请求信号;
b.判断当前接口模块对应的中断请求最小间隔是否设置为有效值,如果没有设置为有效值,进入步骤c,否则,接着判断当前接口模块对应的中断请求最小间隔是否超时,如果超时,进入步骤c,否则,进入步骤e;
c.查询当前接口模块是否有中断请求,如果有,进入步骤d,否则,进入步骤e;
d.设置此接口模块的中断请求有效,向CPU请求中断;
e.选择下一接口模块作为当前接口模块,返回步骤b;
其中,所述的中断请求最小间隔是中断请求合并的最小时间段,根据各个接口模块是否需要中断请求合并及中断请求的数量设置。
所述的步骤b中的中断请求最小间隔的有效值可以设置为非0值,其值的大小根据接口模块中的中断请求的数量而定。
所述的步骤b中的当前接口模块的首次选择是预先指定或从所有的接口模块中随机选取。
所述的步骤e可以采用轮询的方法选择下一接口模块。
所述的步骤c中,进入步骤d之前进一步包括以下步骤:
c1.记录有中断请求的当前接口模块的端口号;
c2.判断是否已查询完所有的接口模块,如果否,进入步骤e,否则,进入步骤c3;
c3.从记录的所有有中断请求的接口模块的端口号中选择中断请求优先级最高的接口模块。
本发明实现了中断请求的预处理,首先拦截中断请求信号,然后通过设置中断请求最小间隔,将中断请求按中断请求最小间隔作中断请求合并,从而实现了中断请求的合并和中断请求频率的控制,并通过选择优先级最高的接口模块而将优先级最高的中断请求发送到CPU,从而实现了中断请求优先级的控制。
在数据通信产品中运用本发明,可以降低诸如硬件开销、操作系统调动的开销等的中断请求响应的系统开销,提高CPU的中断请求服务程序的处理效率,从而提高系统的整机处理能力,并能对系统的流量进行有效的控制,还可以保证高优先级的中断请求优先被CPU处理。
附图说明
图1为数据通信设备目前采用的接口方式的体系结构图;
图2为应用本发明将原接口方式作改进之后的体系结构图;
图3为在复杂可编程逻辑器件(CPLD)中设置中断请求合并和中断请求频率控制功能的流程图;
图4为在CPLD中设置中断请求合并、中断请求频率控制和中断请求优先级控制功能的流程图;
图5为在CPLD中设置中断请求优先级控制功能的流程图。
具体实施方式
本发明是将中断请求信号拦截,然后对所拦截的中断请求作预处理,所作的预处理包括中断请求合并、中断请求频率控制和中断请求优先级控制。中断请求合并功能通过设置中断请求最小间隔,将中断请求最小间隔作中断请求合并实现;中断请求频率控制功能通过设置中断请求最小间隔实现;中断请求优先级控制功能通过选择中断请求优先级最高的接口模块,将其中的中断请求向CPU请求中断实现。
本发明方法可以通过一个复杂可编程逻辑器件(CPLD)来实现,下面以CPLD为例对本发明作进一步详细的说明。
参见图2,在图1的系统中添加了一个CPLD 107。各个接口模块101的中断请求线102分别通过各个接口模块中的PCI接口的中断请求引脚接到CPLD 107上,从而将各个接口模块101的中断请求拦截到CPLD 107中,由CPLD 107对中断请求作预处理,CPLD 107将中断请求线接到CPU的外部中断源输入引脚上,将预处理后的中断请求送给CPU 106。
参见图3,在CPLD中实现中断请求合并及中断请求频率控制的方法,是在CPLD中设置各个接口模块中断请求合并所需要的中断请求最小间隔,判断当前接口模块的中断请求最小间隔是否超时,如果已超时,就将此接口模块的中断请求以中断请求最小间隔为单位作中断请求合并,并将合并后的中断请求向CPU请求中断,之后处理下一接口模块。以上方法的具体步骤为:
A.预先设置各个接口模块的中断请求最小间隔。
所设置的中断请求最小间隔表示中断请求合并的最小时间段,根据各个接口模块的需要预先设置,如果某个接口模块不需要中断请求合并,就将此接口模块的中断请求最小间隔设置为无效值,可以设置为O或FF;如果需要中断请求合并,就将此接口模块的中断请求最小间隔设置为有效值,可以设置为非0值或除FF以外的其他值,其值的大小具体由该接口模块的中断请求的数量而定。
B.查询与当前接口模块对应的中断请求最小间隔是否设置为有效值,如果不是,则中断请求最小间隔为无效值,此接口模块不需要合并中断请求,跳至步骤E;否则,中断请求最小间隔为有效值,此接口模块需要合并中断请求,进入下一步。
其中的当前接口模块的首次选择可以预先指定,也可以从所有的接口模块中随机选取。
C.判断当前接口模块的中断请求最小间隔是否超时,如果没有超时,则当前接口模块还没有达到合并中断请求的条件,跳至步骤F;否则,当前接口模块的中断请求可以合并,进入下一步。
D.根据当前接口模块的端口地址查询当前接口模块是否有中断请求,如果没有中断请求,则跳至步骤F;否则,进入下一步。
E.设置此中断请求有效,向CPU的外部中断源输入引脚置中断请求有效信号请求中断。
至此,该当前接口模块的中断请求的合并完成。
F.采用轮询的方式选择下一接口模块作为当前接口模块,跳回步骤B,完成下一接口模块的中断请求的合并。
该方法中的各个接口模块是以中断请求最小间隔为单位作中断请求合并的,因此各个接口模块中的中断请求最小间隔的值与中断请求频率的大小相同,由此可以控制该接口模块的中断请求频率。
系统的流量控制可以通过控制各个接口模块的中断请求频率实现。系统的总流量,即系统每秒钟处理的报文数,等于各个接口模块的流量之和,而对于各个接口模块来说,作中断请求合并的接口模块每秒钟的最大流量为CPU每一次中断请求响应处理的报文数与该接口模块每秒钟的最大中断请求数的乘积,其中,接口模块每秒钟的最大中断请求数为该接口模块的中断请求频率的倒数,没有作中断请求合并的接口模块每秒钟的最大流量可以根据已有的方法得出,且不作中断请求合并的接口模块的流量很小,由此,可以通过对每个接口模块的中断请求频率进行控制,并结合CPU每一次中断请求响应处理的报文数而实现系统的流量控制。
参见图4,在CPLD中实现中断请求合并、中断请求频率控制及中断请求优先级控制的方法,是在以上方案的步骤D中的进入下一步之前增加几个用以实现中断请求优先级控制的步骤,其所增加的步骤如下:
D1.记录该当前接口模块的端口号。
D2.判断是否查询完所有的接口模块的中断请求,如果否,跳至步骤F,否则,进入下一步。
D3.从所记录的所有有中断请求的接口模块的端口号中选择中断请求优先级最高的接口模块。
以上方案中的中断请求优先级控制功能还可以在CPLD中单独设置,以下为其具体实现方法。
参见图5,在CPLD中实现中断请求优先级控制的方法,是将有中断请求的接口模块的端口号记录下来,根据各个接口模块的优先级选择记录下来的接口模块中优先级最高的接口模块,将选中的接口模块中的中断请求发送到CPU请求中断。实现中断请求优先级控制的具体步骤为:
A.根据当前接口模块的端口地址查询当前接口模块是否有中断请求,如果没有,则跳至步骤C;否则,进入下一步。
其中的当前接口模块的首次选择可以预先指定,也可以从所有的接口模块中随机选取。
B.记录该接口模块的端口号。
C.采用轮询的方式选择下一个接口模块作为当前接口模块。
D.查看是否所有的接口模块均已经过查询,如果还有未经过查询的,则返回步骤A;否则,进入下一步。
E.查看是否有接口模块有中断请求,如果没有接口模块有中断请求,则返回步骤A,做新一轮的查询;否则,进入下一步。
F.根据接口模块的端口号从所有有中断请求的接口模块中选择优先级最高的接口模块为中断请求有效接口模块。
G.向CPU的中断源输入引脚发送此选中的接口模块的中断请求有效信息请求中断,并返回步骤A进行下一次中断请求的选择。
将本发明运用在数据通信产品的系统中,运用本发明的方法对各个接口模块的中断请求作预处理,可以降低中断请求响应的系统开销,提高CPU的中断请求服务程序的处理效率,从而提高了系统的整机处理能力,并能对系统的流量进行有效的控制,还可以保证高优先级的中断请求优先被CPU处理,而且运用本发明对中断请求预处理的控制很灵活,且所花费用低。

Claims (5)

1、一种实现中断请求预处理的方法,其特征在于至少包括以下步骤:
a.拦截各个接口模块的中断请求信号;
b.判断当前接口模块对应的中断请求最小间隔是否设置为有效值,如果没有设置为有效值,进入步骤c,否则,接着判断当前接口模块对应的中断请求最小间隔是否超时,如果超时,进入步骤c,否则,进入步骤e;
c.查询当前接口模块是否有中断请求,如果有,进入步骤d,否则,进入步骤e;
d.设置此接口模块的中断请求有效,向CPU请求中断;
e.选择下一接口模块作为当前接口模块,返回步骤b;
其中,所述的中断请求最小间隔是中断请求合并的最小时间段,根据各个接口模块是否需要中断请求合并及中断请求的数量设置。
2、根据权利要求1所述的方法,其特征在于:所述的步骤b中的中断请求最小间隔的有效值设置为非0值,其值的大小根据接口模块中的中断请求的数量而定。
3、根据权利要求1所述的方法,其特征在于:所述的步骤b中的当前接口模块的首次选择是预先指定或从所有的接口模块中随机选取。
4、根据权利要求1所述的方法,其特征在于:所述的步骤e为采用轮询的方法选择下一接口模块。
5、根据权利要求1所述的方法,其特征在于所述的步骤c中,进入步骤d之前进一步包括以下步骤:
c1.记录有中断请求的当前接口模块的端口号;
c2.判断是否已查询完所有的接口模块,如果否,进入步骤e,否则,进入步骤c3;
c3.从记录的所有有中断请求的接口模块的端口号中选择中断请求优先级最高的接口模块。
CN 02130664 2002-09-16 2002-09-16 一种实现中断请求预处理的方法 Expired - Fee Related CN1270251C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02130664 CN1270251C (zh) 2002-09-16 2002-09-16 一种实现中断请求预处理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02130664 CN1270251C (zh) 2002-09-16 2002-09-16 一种实现中断请求预处理的方法

Publications (2)

Publication Number Publication Date
CN1484158A true CN1484158A (zh) 2004-03-24
CN1270251C CN1270251C (zh) 2006-08-16

Family

ID=34144557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02130664 Expired - Fee Related CN1270251C (zh) 2002-09-16 2002-09-16 一种实现中断请求预处理的方法

Country Status (1)

Country Link
CN (1) CN1270251C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1326047C (zh) * 2004-04-29 2007-07-11 国际商业机器公司 允许多频域的请求方设备的仲裁方法、系统和设备
CN100361104C (zh) * 2005-04-08 2008-01-09 英业达股份有限公司 中断共享机制下的自定中断信号响应处理方法及系统
CN100447748C (zh) * 2005-08-31 2008-12-31 上海海尔集成电路有限公司 一种中断系统实现方法
CN101997777A (zh) * 2010-11-16 2011-03-30 福建星网锐捷网络有限公司 中断处理方法、装置和网络设备
CN103345873A (zh) * 2013-07-19 2013-10-09 南京财经大学 一种单片机中断优先级的演示方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1326047C (zh) * 2004-04-29 2007-07-11 国际商业机器公司 允许多频域的请求方设备的仲裁方法、系统和设备
CN100361104C (zh) * 2005-04-08 2008-01-09 英业达股份有限公司 中断共享机制下的自定中断信号响应处理方法及系统
CN100447748C (zh) * 2005-08-31 2008-12-31 上海海尔集成电路有限公司 一种中断系统实现方法
CN101997777A (zh) * 2010-11-16 2011-03-30 福建星网锐捷网络有限公司 中断处理方法、装置和网络设备
CN101997777B (zh) * 2010-11-16 2012-10-10 福建星网锐捷网络有限公司 中断处理方法、装置和网络设备
CN103345873A (zh) * 2013-07-19 2013-10-09 南京财经大学 一种单片机中断优先级的演示方法及装置
CN103345873B (zh) * 2013-07-19 2015-08-19 南京财经大学 一种单片机中断优先级的演示方法及装置

Also Published As

Publication number Publication date
CN1270251C (zh) 2006-08-16

Similar Documents

Publication Publication Date Title
CN1097777C (zh) 多功能外部设备控制器
CN1126045C (zh) 管理工作组打印机的方法
CN1049059C (zh) 实时数据图象网络系统及操作该系统的方法
CN1030882C (zh) 分批接收数据包的方法和装置
CN1097785C (zh) 信号数据处理系统及方法以及包括信号数据处理系统的通信系统
CN1875348A (zh) 信息系统、负载控制方法、负载控制程序和记录媒体
CN1928873A (zh) 一种实现负荷分担的数据库访问方法及系统
CN1943160A (zh) 用于在一装置中调用一特权函数的系统
CN1297880C (zh) 控制打印工作调度的方法及应用该方法的打印系统
CN1286038C (zh) 基于双环形队列、非中断式pci通信方法
CN101035110A (zh) 业务调用方法、系统及单元
CN1217798A (zh) 用于使互联网不同计算机中的程序同步的方法
CN1270251C (zh) 一种实现中断请求预处理的方法
CN1920782A (zh) 一种调试信息输出和控制系统及其方法
CN1181422C (zh) 与外部设备分离设置的计算机系统的输入输出方法
CN1975701A (zh) 主机驱动外设的方法及系统
CN1165841C (zh) 一种自动加载打印机驱动程序的方法
CN101063952A (zh) 通用串行总线主机控制器快速测试系统及其方法
CN1667585A (zh) 一种数字信号处理器软件调试信息输出方法
CN1848846A (zh) 工厂设备子系统通信方法及其装置
CN1229732C (zh) 用于传送数据的装置和方法
CN1567841A (zh) 一种实现信息转发的设备及方法
CN1991745A (zh) 在64位系统中利用32位主程序拦截64位信息的方法
CN1267818C (zh) 将单处理器的软件程序转换为多处理器的软件程序的方法
CN1293723C (zh) 实现呼叫跟踪的方法

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
ASS Succession or assignment of patent right

Owner name: HUAWEI DIGITAL TECHNOLOGY CO.

Free format text: FORMER OWNER: HUAWEI TECHNOLOGY CO., LTD.

Effective date: 20091106

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20091106

Address after: No. 3, information road, Haidian District, Beijing

Patentee after: Huawei Digit Technology Co., Ltd.

Address before: Shenzhen HUAWEI service building, science and Technology Park, Guangdong

Patentee before: Huawei Technologies Co., Ltd.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060816

Termination date: 20110916