CN100336044C - 中断信号产生方法 - Google Patents
中断信号产生方法 Download PDFInfo
- Publication number
- CN100336044C CN100336044C CNB021197520A CN02119752A CN100336044C CN 100336044 C CN100336044 C CN 100336044C CN B021197520 A CNB021197520 A CN B021197520A CN 02119752 A CN02119752 A CN 02119752A CN 100336044 C CN100336044 C CN 100336044C
- Authority
- CN
- China
- Prior art keywords
- look
- production method
- timer
- medium access
- access controller
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种中断信号产生方法与应用该方法的媒体存取控制器,该媒体存取控制器信号连接至一计算机主机与一外部网络之间,该控制器的特征在于具有一进行一预定时间延迟的动作的定时器,而该方法包含下列步骤:发出一中断信号至该计算机主机;该计算机主机为对应该中断信号而进行一相对应的中断服务,用以将已完成转移的数据封包所占用的内存空间予以释放;以及于该相对应的中断服务完毕并再达到该预定时间延迟后,再度发出该中断信号至该计算机主机。
Description
技术领域
本发明涉及一种中断信号产生方法与应用该方法的媒体存取控制器,尤指应用于媒体存取控制器上的中断信号产生方法与应用该方法的媒体存取控制器。
背景技术
请参见图1,为一具网络联机功能的个人计算机内部的现有架构方块示意图,其核心部份主要是由微处理器10、北桥芯片11、南桥芯片12所构成,而内存111连接于北桥心片11,至于网卡121则可通过一外围组件连接接口总线(PCI Bus)而连接手北桥芯片11,而网卡121中的媒体存取控制器1211(Media Access Controiler,简称MAC)在某些组态中则可被直接整合于南桥芯片12中,至于物理装置(PHY)1212则与外部网络连接。
而当媒体存取控制单元1211进行数据封包的传送或接收时,媒体存取控制单元1211均会向微处理器10发出硬件中断信号,使得微处理器10放下目前任务而转向处理此媒体存取控制单元1211的驱动程序的中断服务例程(ISR),请参见图2(a),为媒体存取控制单元1211及其驱动程序于接收数据封包时所产生的相关信号波形示意图,其中RxDV的高电平代表正在接收封包,而当RxDV由高电平拉低至低电平时,则代表一个封包被接收完毕,此时INTA打出一低电平脉冲信号且PRXM(Perfect Rxinterrupt Mask)缓存器值由逻辑“1”被改写成逻辑“0”,而微处理器10便对应该中断信号INTA的触发而进行中断服务例程(ISR,InterruptService Routine)与延续程序码(DPC,Defer Procedure Code)的动作,用以让操作系统(Operating System)将媒体存取控制单元1211所接收到并暂存在内存111中的数据封包取走并释放其原先占用的内存资源。而当DPC执行完毕后,接着执行一段EnableINT的程序代码,用以将PRXM缓存器值由逻辑“0”再改写回逻辑“1”,进而将罩幕(mask)回复。如此一来,后续中断信号便可对应封包的接收完毕而再被发出。至于图2(b),为媒体存取控制单元1211及其驱动程序于传送数据封包时所产生的相关信号波形示意图,其中TxDV的高电平代表正在传送封包,而当TxDV由高电平拉低至低电平时,则代表一个封包被传送完毕,此时INTA打出一低电平脉冲信号且PTXM(Perfect Tx interrupt Mask)缓存器值由逻辑“1”被改写成逻辑“0”,而微处理器10便对应该中断信号INTA的触发而进行ISR(Interrupt Service Routine)与DPC(Defer Procedure Code)的动作,用以让操作系统(Operating System)将媒体存取控制单元1211已传送出去数据封包所占用的内存资源予以释放。而当DPC执行完毕后,同样接着执行一段EnableINT的程序代码,用以将PTXM缓存器值由逻辑“0”再改写回逻辑“1”,进而将罩幕(mask)回复。如此一来,后续中断信号便可对应封包的传送完毕而再被发出。
而由上述叙述与相对应信号波形示意图可清楚看出,在现有手段中,随着每一个数据封包的传送完毕或接收完毕,媒体存取控制单元1211均会对微处理器10发出一硬件中断信号(即INTA打出一低电平脉冲信号),进而占用微处理器10的运算资源。然而,随着宽带网络的普及,系统通过媒体存取控制单元进行传送与接收的数据流量大增,因此微处理器10收到硬件中断信号的频率也随之大增,如此将导致微处理器10的运算资源被大量占用,使得系统整体效能大打折扣,在某些操作系统环境下,过高的硬件中断频率甚至会导致系统当机。而如何改善上述现有手段的缺失,为发展本发明一主要目的。
发明内容
本发明的目的在于提供一种中断信号产生方法与应用该方法的媒体存取控制器,克服上述技术的缺失,可降低中断信号INTA产生的频率,有效改善过高的硬件中断频率而导致微处理器的运算资源被大量占用,节约处理器资源,提高处理速度。
本发明公开一种中断信号产生方法,应用于信号连接至一计算机主机与一外部网络间的一媒体存取控制器上,该方法包含下列步骤:发出一中断信号至该计算机主机;该计算机主机是对应该中断信号而进行一相对应的中断服务,用以将已完成转移的数据封包所占用的内存空间予以释放;以及于该相对应的中断服务完毕后开启相对应的中断罩幕并再利用一定时器计时达到一预定时间的延迟后,方才再度发出该中断信号至该计算机主机。
所述的中断信号产生方法中该相对应的中断服务包含有一中断服务例程以及一延缓程序码。
所述的中断信号产生方法中该计算机主机包含一桥接芯片,而该媒体存取控制器电连接至该桥接芯片上。
所述的中断信号产生方法中该桥接芯片为一北桥芯片。
所述的中断信号产生方法中该定时器由一硬件定时器所完成,当该硬件定时器的计时值达该预定时间值时,该硬件定时器便发出该中断信号,以再度触发该计算机主机进行相对应的中断服务。
所述的中断信号产生方法中该硬件定时器为一单击定时器(one-shot timer)。
所述的中断信号产生方法中该定时器由一软件定时器所完成,当该软件定时器的计时值达该顶定时间值时,该软件定时器便开启一中断罩幕,以再度触发该计算机主机进行相对应的中断服务。
所述的中断信号产生方法中该中断罩幕选自一接收中断罩幕(Perfect Rx interrupt Mask)与一传送中断罩幕(Perfect Tx interruptMask)。
所述的中断信号产生方法中于该相对应的中断服务完毕后,该计算机主机执行一段中断功能程序代码(EnableINT),利用触发该定时器进行计时的动作。
所述的中断信号产生方法所应用其上的该媒体在取控制器应用于一网卡上。
所述的中断信号产生方法所应用其上的该媒体存取控制器整合于一网络芯片中。
所述的中断信号产生方法所应用其上的该媒体存取控制器整合于一南桥芯片中。
所述的中断信号产生方法中还包含下列步骤:每隔一段时间对该中断信号产生的频率进行取样;以及当该频率小于一门槛值时,延迟该中断信号产生的机制将被禁能。
所述的中断信号产生方法中还包含下列步骤:每隔一段时间对输出入数据流量的变化量进行取样;以及当延迟该中断信号产生的机制为激活状态,而数据流量的变化量小于0时,延迟该中断信号产生的机制将被禁能。
本发明还公开一种媒体存取控制器,信号连接至一计算机主机与一外部网络之间,该控制器发出一中断信号至该计算机主机,使该计算机主机对应该中断信号而进行一相对应的中断服务,用以将已完成转移的数据封包所占用的内存空间予以释放,而该控制器的特征在于具有一定时器,而该定时器于该相对应的中断服务完毕并再达到一预定时间的延迟后,方才再度发出该中断信号至该计算机主机。
所述的媒体存取控制器中该定时器为一单击定时器(one-shottimer),当该单击定时器的计时值达该预定时间值时,该单击定时器便发出该中断信号,以再度触发该计算机主机进行相对应的中断服务。
所述的媒体存取控制器中该相对应的中断服务包含有一中断服务例程以及一延缓程序码。
所述的媒体存取控制器中该计算机主机包含一桥接芯片,而该媒体存取控制器电连接至该桥接芯片上。
所述的媒体存取控制器中该桥接芯片为一北桥芯片。
所述的媒体存取控制器应用于一网卡上。
所述的媒体存取控制器整合于一网络芯片中。
所述的媒体存取控制器整合于一南桥芯片中。
附图说明
本发明利用下列附图及详细说明,得以更深入的了解:
图1为一目前具网络联机功能的个人计算机内部的架构方块示意图;
图2(a)(b)为媒体在取控制单元及其驱动程序于接收/传送数据封包时所产生的相关信号波形与动作示意图;
图3(a)(b)为本发明在媒体存取控制单元的平台上,对其驱动程序所发展出的较佳实施例中于接收/传送数据封包时所产生的相关信号波形与动作示意图;
图4为本发明较佳实施例方法的步骤流程示意图;
图5为将本发明较佳实施例中硬件定时器改以软件完成的相关信号波形示意图。
本发明附图中所包含的各组件列示如下:
微处理器10 北桥芯片11 内存111
南桥芯片12 网卡121
媒体存取控制器1211 物理装置1212
具体实施方式
请参见图3(a),为本发明在图1所示的硬件平台上,对其驱动程序所发展出的较佳实施例方法中于接收数据封包时所产生的相关信号波形示意图,其中RxDV的高电平代表正在接收封包,而当RxDV由高电平拉低至低电平时,则代表一个封包被接收完毕,此时中断状态缓存器(Interrupt Status Register)被改写成1,而INTA打出一低电平脉冲信号且PRXM(Perfect Rx interrupt Mask)缓存器值由1转变为0,而微处理器10便对应该中断信号INTA的触发而进行相对应ISR(InterruptService Routine)与DPC(Defer Procedure Code)的动作,用以让操作系统(Operating System)将媒体在取控制单元1211已接收到并暂存在内存111中的第一数据封包取走并释放其原先占用的内存资源。而当DPC执行完毕后,接着执行一段EnableINT的程序代码时,本发明所设置的硬件定时器(timer,例如一单击定时器)便对应该EnableINT程序代码的触发而开始计时,当硬件定时器的计时值达一预定时间值后,硬件定时器便发出一中断信号INTA,以触发微处理器10进行相对应ISR(InterruptService Routine)与DPC(Defer Procedure Code)的动作,用以让操作系统(Operating System)将媒体存取控制单元1211所接收到并暂存在内存111中的第二、第三数据封包一并取走并释放其原先占用的内存资源,以下依此类推。因此,当数据封包流量增加时,在该预定时间值中所接收到的多个数据封包便可于一次中断信号INTA的触发下一并处理,以图中所示为例,在1毫秒(ms)的延迟中,媒体存取控制单元1211已收到第二与第三数据封包,而当定时器的计时值到达1毫秒(ms)后主动发出的中断信号INTA,将可把暂存在内存111中的第二、第三数据封包一并取走,如此将可降低中断信号INTA产生的频率,有效改善现有技术中过高的硬件中断频率而导致微处理器10的运算资源被大量占用,致使系统整体效能大打折扣的缺失。
再请参见图3(b),为本发明在图1所示的硬件平台上所发展出的较佳实施例方法中所接收数据封包的流量较低时所产生的相关信号波形示意图,其与图3(a)的最大不同在于1毫秒(ms)的延迟中,媒体存取控制单元1211并未再收到其它数据封包,因此于流量较低的情况下,本发明机制并无太大作用,反而增加中断信号INTA产生的频率,因此可每隔一段时间对中断信号INTA产生的频率进行取样,当该频率小于一门槛值时,本发明利用定时器来延识中断信号INTA产生的机制将被禁能。以该预定时间值等于1毫秒(ms)为例,可每隔200毫秒(ms)取样一次,例如查看被记录下来的ISR执行次数,而当取样所得的频率小于1000赫兹(Hz)时,上述利用定时器来延迟中断信号INTA产生的机制将被禁能。
另外,也可观察输出输入数据流量的变化量(throughputdifference),进而决定上述利用定时器来延迟中断信号INTA产生的机制是否被激活。同样地,以该预定时间值等于1毫秒(ms)为例,可每隔200毫秒(ms)对输出入数据流最的变化量取样一次,而取样所得的变化量再根据下表一所示内容进行判断,便可决定是否将上述利用定时器来延迟中断信号INTA产生的机制禁能。
表一
本次数据流量变化 | 前次的机制为激活 | 前次的机制为禁能 |
变化量大于等于0 | 将机制维持在激活 | 将机制转为激活 |
变化量小于0 | 将机制转为禁能 | 将机制转为激活 |
至于传送数据封包的动作与相关信号波形示意图与上述图3(a)(b)所示关于接收数据封包的动作原理并无太大不同,波形示意图中仅需将RxDV置换成TxDV,而PRXM(Perfect Rx interrupt Mask)置换成PTXM(Perfect Tx interrupt Mask)即可,故在此不予赘述。而上述较佳实施例方法的步骤流程示意图可参见图4所示,当媒体存取控制器发出一中断信号时,操作系统便关闭所有中断罩幕(interrupt mask,如前述的PRXM、PTXM),用以将接受中断的功能禁能,随后便执行相对应该中断信号的中断服务例程(ISR)及延缓程序码(DPC),而于执行完毕后便恢复接受中断的功能,此时有下列四种状态:
1.如果该中断信号为一传送中断(Tx interrupt),开启除了PTXM之外的所有中断罩幕(interrupt mask)。
2.如果该中断信号为一接收中断(Rx interrupt),开启除了PRXM之外的所有中断罩幕(interrupt mask)。
3.如果该中断信号同时包含有传送中断(Tx interrupt)与接收中断(Rx interrupt),开启除了PTXM与PRXM之外的所有中断罩幕(interruptmask)
4.如果该中断信号不是上述1.2.3.的情况,开启所有中断罩幕(interrupt mask)。而因其中1.2.3.的状态为与封包传送接收有关的中断动作,故当属于1.2.3.的状态时,便激活定时器开始计时,以进行延迟中断信号产生的机制。
再请参见图5,为将上述硬件定时器改以软件完成的相关波形示意图,其不同处仅在于软件定时器并不会实际发出一中断信号INTA,而是将PRXM(Perfect Rx interrupt Mask)或PTXM(Perfect Tx interrupt Mask)由0转变为1,而在中断状态缓存器(Interrupt Status Register)值为1且PRXM或PTXM的值也等于1的情况下,媒体存取控制器也会发出一中断信号INTA后再度将PRXM或PTXM的值转变为0,但微处理器10已经可对应此中断信号INTA的触发而进行相对应ISR(Interrupt ServiceRoutine)与DPC(Defer Procedure Code)的动作,用以让操作系统(Operating System)将暂存在内存111中的第二、第三数据封包一并取走并释放其原先占用的内存资源。
综上所述,以硬件或软件方式所完成的定时器,其皆可有效实现本发明目的。而本发明方法的该媒体存取控制器可整合于网卡、网络芯片或是南桥芯片中,故本技术领域的普通技术人员所做的等效修改或修饰,皆属于本发明权利要求范围内。
Claims (8)
1、一种中断信号产生方法,应用于信号连接至一计算机主机与一外部网络间的一媒体存取控制器上,其特征在于,该方法包含下列步骤:
发出一中断信号至该计算机主机;
该计算机主机为对应该中断信号而进行一相对应的中断服务,用以将已完成转移的数据封包所占用的内存空间予以释放;以及
于该相对应的中断服务完毕后开启相对应的中断罩幕并再利用一定时器计时达到一预定时间的延迟后,方才再度发出该中断信号至该计算机主机。
2、如权利要求1所述的中断信号产生方法,其特征在于,所述的相对应的中断服务包含有一中断服务例程以及一延缓程序码。
3、如权利要求1所述的中断信号产生方法,其特征在于,所述的计算机主机包含一桥接芯片,而该媒体存取控制器电连接至该桥接芯片上。
4、如权利要求3所述的中断信号产生方法,其特征在于,所述的桥接芯片为一北桥芯片。
5、如权利要求1所述的中断信号产生方法,其特征在于,所述的定时器由一硬件定时器所完成,当该硬件定时器的计时值达该预定时间值时,该硬件定时器便发出该中断信号,以再度触发该计算机主机进行相对应的中断服务。
6、如权利要求5所述的中断信号产生方法,其特征在于,所述的硬件定时器为一单击定时器。
7、如权利要求1所述的中断信号产生方法,其特征在于,还包含下列步骤:
每隔一段时间对该中断信号产生的频率进行取样;以及
当该频率小于一门槛值时,延迟该中断信号产生的机制将被禁能。
8、如权利要求1所述的中断信号产生方法,其特征在于,还包含下列步骤:
每隔一段时间对输出入数据流量的变化量进行取样;以及
当延迟该中断信号产生的机制为激活状态,而数据流量的变化量小于0时,延迟该中断信号产生的机制将被禁能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021197520A CN100336044C (zh) | 2002-05-17 | 2002-05-17 | 中断信号产生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021197520A CN100336044C (zh) | 2002-05-17 | 2002-05-17 | 中断信号产生方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1384441A CN1384441A (zh) | 2002-12-11 |
CN100336044C true CN100336044C (zh) | 2007-09-05 |
Family
ID=4744756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021197520A Expired - Lifetime CN100336044C (zh) | 2002-05-17 | 2002-05-17 | 中断信号产生方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100336044C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699417B (zh) * | 2009-10-16 | 2012-08-29 | 华亚微电子(上海)有限公司 | 中断方法 |
CN110380872A (zh) * | 2019-07-04 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种服务器主板系统及一种服务器 |
CN112241380B (zh) * | 2019-07-17 | 2024-03-08 | 昆山尚尼司电子科技有限公司 | 应用于pcie对异质设备的中断处理系统与方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115776A (en) * | 1996-12-05 | 2000-09-05 | 3Com Corporation | Network and adaptor with time-based and packet number based interrupt combinations |
-
2002
- 2002-05-17 CN CNB021197520A patent/CN100336044C/zh not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115776A (en) * | 1996-12-05 | 2000-09-05 | 3Com Corporation | Network and adaptor with time-based and packet number based interrupt combinations |
Also Published As
Publication number | Publication date |
---|---|
CN1384441A (zh) | 2002-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1277382C (en) | Inter-processor communication protocol | |
US7620057B1 (en) | Cache line replacement with zero latency | |
US7826470B1 (en) | Network interface device with flow-oriented bus interface | |
US7688838B1 (en) | Efficient handling of work requests in a network interface device | |
CN1228723C (zh) | 在高速数据总线上并行传输数据的方法和设备 | |
US7835380B1 (en) | Multi-port network interface device with shared processing resources | |
CN1149489C (zh) | 提供流水线存储器控制器的设备 | |
US8478907B1 (en) | Network interface device serving multiple host operating systems | |
CN1866230A (zh) | 具等待机制的存储器仲裁器 | |
CN109412897B (zh) | 基于多核处理器及fpga的共享mac实现系统及方法 | |
US5210858A (en) | Clock division chip for computer system which interfaces a slower cache memory controller to be used with a faster processor | |
CN113518044B (zh) | Epa设备 | |
US20030033486A1 (en) | Cache system for network and multi-tasking applications | |
CN100336044C (zh) | 中断信号产生方法 | |
CN107168710B (zh) | 一种基于阻塞接收机制的嵌入式Linux串口驱动开发方法 | |
CN101056316A (zh) | 一种pci以太网媒体访问控制器传输数据的方法 | |
CN100343778C (zh) | 数据传送方法和数据传送桥接器 | |
CN1295614C (zh) | 一种测试用软件计时方法 | |
CN1297866C (zh) | 集成电路复位方法及复位系统 | |
CN115757222B (zh) | 基于pl和ps的数据传输方法及装置 | |
CN1152583C (zh) | 复位控制电路及其实现方法 | |
CN1204500C (zh) | 直接存储器存取控制器及直接存储器存取的控制方法 | |
CN1304972C (zh) | 数据封包转移方法 | |
TW567418B (en) | Interrupt signal generating method and media access controller utilizing same | |
CN114003352B (zh) | 抓取处理器内部信号的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20070905 |
|
CX01 | Expiry of patent term |