CN100557586C - 信息处理装置和信息处理方法 - Google Patents

信息处理装置和信息处理方法 Download PDF

Info

Publication number
CN100557586C
CN100557586C CNB2006800192005A CN200680019200A CN100557586C CN 100557586 C CN100557586 C CN 100557586C CN B2006800192005 A CNB2006800192005 A CN B2006800192005A CN 200680019200 A CN200680019200 A CN 200680019200A CN 100557586 C CN100557586 C CN 100557586C
Authority
CN
China
Prior art keywords
aforementioned
state
storage
interruption status
interruption
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 - Fee Related
Application number
CNB2006800192005A
Other languages
English (en)
Other versions
CN101189588A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN101189588A publication Critical patent/CN101189588A/zh
Application granted granted Critical
Publication of CN100557586C publication Critical patent/CN100557586C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种能够简化中断处理、减少中断处理所需的时间的信息处理装置和信息处理方法、以及程序。中断产生部140产生中断信号。中断状态保持部142存储表示中断信号的产生原因的中断状态。中断状态提供部141将由中断状态保持部存储的中断状态提供给RAM并存储。CPU根据存储在RAM中的中断状态执行规定的处理。本发明例如能够应用于网卡。

Description

信息处理装置和信息处理方法
技术领域
本发明涉及一种信息处理装置和信息处理方法、以及程序,特别是涉及能够简化中断处理、并减少中断处理所需的时间的信息处理装置和信息处理方法、以及程序。
背景技术
图1是表示具备使用描述符进行DMA(Direct MemoryAccess:直接存储器存取)传送的网卡的个人计算机(下面称为个人电脑)1的一例的框图。
如图1所示,CPU(Central Processing Unit:中央处理单元)11通过总线14连接在ROM(Read Only Memory:只读存储器)12和RAM(Random Access Memory:随机存取存储器)13上。CPU 11按照存储在ROM 12中的程序或者记录在记录部18中的程序来执行各种处理。
例如,CPU 11将存储作为DMA传送对象的包的、RAM 13的包区域32的地址、包的大小(长度)等作为描述符而存储到RAM 13的描述符区域31(在后面说明)中,从而将该包DMA传送到网卡19。
另外,CPU 11响应于从网卡19提供的中断信号,读出存储在网卡19中的表示中断信号产生原因(状态)的中断状态,并进行与该中断状态对应的中断状态处理,由此进行中断处理。
RAM 13由存储描述符的描述符区域31以及存储作为DMA传送对象的包的包区域32等构成。
CPU 11还通过总线14连接有输入输出接口15。在输入输出接口15上连接有由键盘、鼠标等构成的输入部16、由LCD(LiquidCrystal Display:液晶显示器)、CRT(Cathode Ray Tube:阴极射线管)显示器等构成的输出部17。CPU 11对应于从输入部16输入的指令而执行各种处理。并且,CPU 11将处理结果所得到的图像、声音等输出到输出部17。
连接在输入输出接口15上的记录部18例如由硬盘等构成,其记录CPU 11执行的程序、各种数据。网卡19进行DMA传送。具体地说,网卡19根据存储在RAM 13的描述符区域31中的描述符,读出存储在RAM 13的包区域32中的包,并通过未图示的网络将该包发送给其它装置。另外,网卡19通过未图示的网络从其它装置接收包,并根据描述符将该包存储到RAM 13的包区域32中。
进而,网卡19产生中断信号并提供给CPU 11,并且设定中断状态而进行存储。
当安装了磁盘、光盘、磁光盘或者半导体存储器等可移动介质21时,连接在输入输出接口15上的驱动器20对它们进行驱动,获取记录在其中的程序、数据等。根据需要将所取得的程序、数据传送到记录部18并记录。
图2是表示图1的网卡19的功能结构例的框图。
图2的网卡19由DMA传送部51、包通信部52、中断产生部54、以及中断状态保持部54构成。
DMA传送部51控制DMA传送。具体地说,DMA传送部51响应于从CPU 11提供的DMA传送的请求,从描述符区域31(图1)读出描述符。然后,DMA传送部51根据该描述符,从包区域32读出作为DMA传送对象的包并提供给包通信部52,或者将从包通信部52提供的包存储到包区域32。另外,DMA传送部51将从包通信部52提供的表示由包通信部52进行的处理的状态(例如,包的发送完成状态、接收完成状态、发送接收的错误状态等)的状态信息提供给中断产生部53。
包通信部52通过未图示的网络将来自DMA传送部51的包发送给其它装置。另外,包通信部52通过未图示的网络从其它装置接收包,并提供给DMA传送部51。并且,包通信部52将状态信息提供给DMA传送部51。
中断产生部53响应于来自DMA传送部51的状态信息而产生中断信号,并提供给CPU 11。另外,中断产生部53响应于该状态信息而设定中断状态,将该中断状态提供给中断状态保持部54并存储。
中断状态保持部54保持来自中断产生部53的中断状态。中断状态保持部54响应于来自CPU 11的请求,清除(解除)中断状态。
下面参照图3说明个人电脑1的中断产生处理。
在步骤S11中,网卡19的中断产生部53响应于来自DMA传送部51的状态信息而产生中断信号,并将该中断信号通知(发送)给CPU 11,进入步骤S12。
在步骤S1中,CPU 11接收来自中断产生部53的中断信号,进入步骤S2。在步骤S2中,CPU 11向网卡19请求中断状态的读出,进入步骤S3。
在步骤S12中,网卡19的中断状态保持部54接收来自CPU11的中断状态的读出请求,进入步骤S13。在步骤S13中,中断状态保持部54响应于中断状态的读出请求,通知(发送)当前所保持的中断状态,进入步骤S14。
在步骤S3中,CPU 11从中断状态保持部54接收中断状态,进入步骤S4。在步骤S4中,CPU 11进行与该中断状态对应的中断状态处理。
例如,在中断状态是包通信部52的表示作为DMA传送对象的包的发送完成的中断状态的情况下,CPU 11作为中断状态处理而对存储有发送完成的包的包区域32进行释放。
即,CPU 11删除存储在包区域32中的发送完成的包。
在步骤S4的处理之后进入步骤S5,CPU 11向网卡19请求清除保持在中断状态保持部54中的中断状态,并结束处理。如以上那样,CPU 11响应于在步骤S1中从中断产生部53提供的中断信号,作为中断处理而进行步骤S2至S5的处理,并结束处理。
在步骤S14中,网卡19的中断状态保持部54接收来自CPU11的中断状态的清除的请求,并响应于该请求清除中断状态。即,中断状态保持部54清除所保持的中断状态(信号)的各位。
另外,以往提出了用于在进行中断处理的装置中减轻与中断通知有关的处理负荷的各种方法。例如,提出了在中断产生装置和中断处理装置之间设置中断汇总单元来防止多重中断的中断处理系统(例如,参照专利文献1)。
另外,存在如下的数据传送系统:在DMA传送完成的情况下,外部I/F(Interface:接口)设备的DMA控制器不使CPU产生中断信号,而仅更新外部I/F设备内的状态寄存器中存储的中断信号的状态,CPU响应于每隔规定时间产生的定时器中断,参照存储在该状态寄存器中的状态,由此来减少中断的通知次数(例如,参照专利文献2)。
专利文献1:日本特许第3549703号说明书
专利文献2:日本特开平11-212904号公报
发明内容
发明所要解决的问题
通常,与CPU 11通过总线14对RAM 13进行存取相比,通过总线14和输入输出接口15对网卡19的中断状态保持部54等寄存器进行的存取需要更多的时间。
因而,在图3的步骤S2和S3中说明的、CPU 11从中断状态保持部54读出中断状态的处理(下面称作读出处理)需要较多的时间。
另一方面,中断状态处理所需的时间比读出处理所需的时间少。另外,中断状态处理所需的时间随着CPU 11的处理能力的提高而减少。
即,中断状态处理所需的时间和读出处理所需的时间之差随着CPU 11的处理能力的提高而变大。
因此,希望通过减少读出处理中的对CPU 11的网卡19进行的存取,简化中断处理以及减少中断处理所需的时间,减轻CPU11的负荷。
本发明是鉴于这种状况而作出的,能够简化中断处理,减少中断处理所需的时间。
用于解决问题的方案
本发明的第1侧面的信息处理装置具备:产生单元,其产生中断信号;第1存储单元,其存储表示由产生单元产生的中断信号的产生原因的状态;以及执行单元,其根据存储在第1存储单元中的状态执行规定的处理,产生单元具备:第2存储单元,其存储中断信号的状态;以及存储控制单元,其将由第2存储单元存储的状态存储到第1存储单元,其中,在第2存储单元中可以包括用于判断通过第1存储单元存储的第1状态和通过第2存储单元存储的第2状态是否同步的判断信息的第1存储区域,在第1存储单元中可以设置存储判断信息的第2存储区域,并且进一步设置临时保持判断信息的第3存储区域,该第3存储区域是与第2存储区域不同的区域,在存储控制单元中可以将通过第2存储单元存储的状态存储到第1存储单元中,并且将存储在第2存储单元的第1存储区域中的判断信息进一步存储到第1存储单元的第2存储区域中,在执行单元中在执行规定的处理的情况下,在根据存储在第2存储区域中的判断信息和存储在第3存储区域中的判断信息判断为由第1存储单元存储的第1状态和由第2存储单元存储的第2状态同步的情况下,执行单元可以根据由第1存储单元存储的第1状态执行规定的处理,在根据存储在第2存储区域中的判断信息和存储在第3存储区域中的判断信息判断为由第1存储单元存储的第1状态和由第2存储单元存储的第2状态不同步的情况下,执行单元可以根据由第2存储单元存储的第2状态执行规定的处理。
可设为执行单元用于读出存储在第1存储单元中的状态所需的第1时间比执行单元用于读出存储在第2存储单元中的状态所需的第2时间短。
判断信息可以用数值表示,在执行单元中,可以在根据第1状态或者第2状态执行了规定的处理后,将与存储在第1存储区域中的判断信息相同的值存储到第3存储区域中,并且在第1存储区域中存储的判断信息的值上加上1,在下次执行规定的处理的情况下,将存储在第2存储区域中的判断信息和存储在第3存储区域中的判断信息进行比较,如果存储在第2存储区域中的判断信息的值比存储在第3存储区域中的判断信息的值大1,则可以判断为由第1存储单元存储的第1状态和由第2存储单元存储的第2状态同步,根据由第1存储单元存储的第1状态执行规定的处理,如果是这以外的情况,则可以判断为由第1存储单元存储的第1状态和由第2存储单元存储的第2状态不同步,根据由第2存储单元存储的第2状态执行规定的处理。
本发明的第2侧面的信息处理装置具备:产生单元,其产生中断信号;存储单元,其存储表示由产生单元产生的中断信号的产生原因的状态;以及存储控制单元,其将由存储单元存储的状态存储在根据该状态而执行规定的处理的其它信息处理装置中,其中,在存储单元中,可以进一步存储用于判断由存储单元存储的状态和存储在其它信息处理装置中的状态是否同步的判断信息,在存储控制单元中可以将判断信息与状态一起存储到其它信息处理装置中。
本发明的第2侧面的信息处理方法包括:产生步骤,产生中断信号;第1存储控制步骤,将通过产生步骤的处理产生的中断信号的状态存储到存储单元中;以及第2存储控制步骤,将由存储单元存储的状态存储到根据该状态而执行规定的处理的其它信息处理装置中,其中,在第1存储控制步骤中,可以进一步存储用于判断通过第1存储控制步骤存储的状态和存储在其它信息处理装置中的状态是否同步的判断信息,在第2存储控制步骤中可以将判断信息与状态一起存储到其它信息处理装置中。
本发明的第2侧面的程序包括:产生步骤,产生中断信号;第1存储控制步骤,将通过产生步骤的处理而产生的中断信号的状态存储到存储单元中;以及第2存储控制步骤,将由存储单元存储的状态存储到根据该状态执行规定的处理的其它信息处理装置中。
本发明的第3侧面的信息处理装置具备:存储单元,其存储从其它信息处理装置提供的中断信号的状态;以及执行单元,其根据由存储单元存储的状态而执行规定的处理,其中,在存储单元中还可以从其它信息处理装置获取状态以及用于判断由存储单元存储的状态和存储在其它信息处理装置中的状态是否同步的判断信息,存储状态和判断信息,在执行单元中可以根据判断信息来判断由存储单元存储的状态与存储在其它信息处理装置中的状态是否同步,在判断为同步的情况下,根据由存储单元存储的状态执行规定的处理,在判断为不同步的情况下,从其它信息处理装置获取状态,根据从其它信息处理装置取得的状态执行规定处理。
可以进一步设置中断处理存储单元,该中断处理存储单元存储使中断信号的状态和与其对应的处理相对应的表,在执行单元中可以根据存储在中断处理存储单元中的表,执行规定的处理。
本发明的第3侧面的信息处理方法包括:存储控制步骤,存储从其它信息处理装置提供的中断信号的状态;以及执行步骤,根据通过存储控制步骤的处理存储的状态,执行规定的处理,其中,在存储控制步骤中进一步从其它信息处理装置获取状态以及用于判断通过存储控制步骤存储的状态和存储在其它信息处理装置中的状态是否同步的判断信息,存储状态和判断信息,在执行步骤中根据判断信息来判断通过存储控制步骤存储的状态与存储在其它信息处理装置中的状态是否同步,在判断为同步的情况下,根据通过存储控制步骤存储的状态执行规定的处理,在判断为不同步的情况下,从其它信息处理装置获取状态,根据从其它信息处理装置获取的状态执行规定的处理。
本发明的第3侧面的程序包括:存储控制步骤,存储从其它信息处理装置提供的中断信号的状态;以及执行步骤,根据通过存储控制步骤的处理存储的状态,执行规定的处理。
在本发明的第1侧面中,产生中断信号,将表示该中断信号产生原因的状态存储到第2存储单元中,并将该状态存储到第1存储单元中。然后,根据存储在第1存储单元中的状态,执行规定的处理。
在本发明的第2侧面中,产生中断信号,存储表示该中断信号产生原因的状态,将该状态存储到根据该状态而执行规定处理的其它信息处理装置中。
在本发明的第3侧面中,存储从其它信息处理装置提供的中断信号的状态,根据该状态执行规定的处理。
发明的效果
根据本发明,能够简化中断处理,减少中断处理所需的时间。
附图说明
图1是表示现有的个人计算机的一例的框图。
图2是表示图1的网卡的功能结构例的框图。
图3是说明图1的个人电脑的中断产生处理的示意图。
图4是表示应用了本发明的信息处理系统的一个实施方式的结构例的框图。
图5是表示图4的个人电脑的硬件结构例的框图。
图6是表示图5的网卡的功能结构例的框图。
图7是表示中断处理表的例子的图。
图8是说明CPU的DMA传送请求处理的流程图。
图9是说明网卡的DMA传送处理的流程图。
图10是说明网卡的中断状态的复制处理的流程图。
图11是说明CPU的中断处理1的流程图。
图12是说明个人电脑的中断产生处理的示意图。
图13是说明个人电脑的中断产生处理中在动作上产生问题的情况的示意图。
图14是表示个人计算机的结构的框图。
图15是表示图14的网卡的功能结构例的框图。
图16是表示中断处理表的示例的图。
图17是说明初始化处理的流程图。
图18是说明CPU的中断处理2的流程图。
图19是说明个人电脑的中断产生处理的示意图。
图20是说明个人电脑的中断产生处理的示意图。
附图标记说明:
51:DMA传送部;52:包通信部;101:个人计算机;111:CPU;112:RAM;113:网卡;140:中断产生部;141:中断状态提供部;142:中断状态保持部;161:个人计算机;171:CPU;172:RAM;173:网卡;182:中断版本位备份区域;191:中断状态保持部。
具体实施方式
下面参照附图详细说明应用了本发明的具体实施方式。
图4是表示应用了本发明的信息处理系统100的一个实施方式的结构例的框图。
图4的信息处理系统100由个人电脑101、网络102、以及个人电脑103构成。
个人电脑101和个人电脑103例如通过LAN(Local AreaNetwork:局域网)、或者因特网等网络102进行连接,相互进行通信。例如,个人电脑101和个人电脑103相互通信附加了符合TCP(Transmission Control Protocol:传输控制协议)、IP(InternetProtocol:网际协议)等的头的包(数据)。
图5是表示图4的个人电脑101的硬件结构例的框图。此外,对与图1相同的部分附加相同的附图标记,省略说明。
图5的个人电脑101由ROM 12、总线14、输入输出接口15、输入部16、输出部17、记录部18、驱动器20、CPU 111、RAM 112、以及网卡113构成。
CPU 111通过总线14连接到ROM 12和RAM 112上。CPU111按照存储在ROM 112中的程序或者记录在记录部18中的程序来执行各种处理。
例如,CPU 111将存储作为DMA传送对象的包的、RAM 112的包区域32的地址、包的大小等作为描述符而存储到RAM 112的描述符区域31中,由此将该包DMA传送到网卡113。
另外,CPU 111响应于从网卡113提供的中断信号进行中断处理。具体地说,CPU 111读出记录在RAM 112的中断状态区域121(在后面说明)中的表示中断信号的产生原因(状态)的中断状态。然后,CPU 111根据记录在RAM 112的中断处理表区域122中的、使中断状态处理与中断状态所表示的状态相对应的中断处理表160(后面说明的图7),进行与所读出的中断状态对应的中断状态处理。
RAM 112由描述符区域31、包区域32、中断状态区域121、以及中断处理表区域122等构成。
在中断状态区域121中存储从网卡113提供的中断状态。另外,在中断处理表区域122中存储有由CPU 111预先设定的中断处理表160。
网卡113例如由微型计算机等构成,通过执行规定的程序来进行DMA传送。具体地说,网卡113根据存储在RAM 112的描述符区域31中的描述符,读出存储在RAM 112的包区域32中的包,并将该包通过网络102发送到个人电脑103。另外,网卡113通过网络102从个人电脑103接收包,并根据描述符将该包存储到RAM 112的包区域32中。
并且,网卡113产生中断信号并提供给CPU 111。另外,设定中断状态进行存储,并且将该中断状态提供给RAM 112的中断状态区域121进行存储。
此外,图4的个人电脑103与个人电脑101同样地构成,因此省略说明。
图6是表示图5的网卡113通过执行规定的程序而具有的功能的结构例的框图。此外,对与图2相同的部分附加相同的附图标记。
图6的网卡113由DMA传送部51、包通信部52、中断产生部140、中断状态提供部141、以及中断状态保持部142构成。此外,图6的包通信部52通过网络102进行包的通信。
中断产生部140根据来自DMA传送部51的状态信息,产生中断信号并提供给CPU 11。另外,中断产生部140根据该状态信息设定中断状态,并将该中断状态提供给中断状态保持部142进行存储(更新)。中断产生部140将中断状态的更新通知给中断状态提供部141。
中断状态提供部141根据来自中断产生部140的通知,从中断状态保持部142读出中断状态,并将该中断状态提供给RAM112的中断状态区域121(图5)进行存储。另外,中断状态提供部141响应于来自CPU 111的请求,清除(消去)保持在中断状态保持部142中的中断状态(信号)的各位。中断状态保持部142保持来自中断产生部140的中断状态。
图7表示存储在图5的中断处理表区域122中的中断处理表160的示例。存储在图5的中断处理表区域122中的数据,是使从中断状态保持部142读出并保持在中断状态保持部142中的中断状态与中断状态处理相对应的数据。即,从中断状态保持部142读出并保持在中断状态保持部142中的中断状态(信号)由32位构成,用与图7相同的位分配来记载信息。
在图7的中断处理表160中,中断状态处理与中断状态所表示的状态以及分配了该状态的中断状态的位相对应。在此,在中断状态的规定位是“1”的情况下,中断状态表示分配到该位的状态。
例如,在中断处理表160中,对存储有由包通信部52完成发送的包的RAM 112的包区域32进行释放的处理,作为中断状态处理而与作为包通信部52的包发送完成的状态(下面称作发送完成状态)以及中断状态的下位0位相对应。
即,在中断状态的下位第0位(从下位起第0位)是“1”的情况下(中断状态表示完成状态的情况下),CPU 111作为与中断状态对应的中断状态处理而对RAM 112的包区域32进行释放。
另外,在中断处理表160中,从存储有由包通信部52接收到的包的包区域32中读出包、并使用该包进行规定处理的处理,作为中断状态处理而与作为包通信部52的包接收完成的状态(下面称作接收完成状态)以及中断状态的下位1位相对应。
并且,在中断处理表160中,将网卡113复位的处理作为中断状态处理,与作为包通信部52的包的发送或者接收的错误的状态(下面称作错误状态)以及中断状态的下位2位相对应。
此外,中断状态所表示的状态可以是1个,也可以是多个。例如,在中断状态的32位之中下位第0位和下位第1位是“1”的情况下,该中断状态表示发送完成状态和接收完成状态两者。
下面参照图8说明图5的CPU 111的DMA传送请求处理。例如在用户通过操作输入部16而指示向个人电脑103发送包时,开始该DMA传送请求处理。
在步骤S 31中,CPU 111将发送给个人电脑103的包、即设为DMA传送对象的包存储到RAM 112的包区域32中,并进入步骤S32。
在步骤S32中,CPU 111根据在步骤S31中存储包的包区域32的地址、包的大小等信息,生成描述符并存储到描述符区域31中,进入步骤S33。
在步骤S33中,CPU 111向网卡113请求DMA传送,结束处理。
此外,在图8中说明了CPU 111向网卡113请求DMA传送并将包发送给个人电脑103的情况,但是在从个人电脑103接收包的情况下也进行同样的处理。
在这种情况下,不进行步骤S31的处理,而将存储所接收的包的包区域32的地址等的信息存储到在步骤S32中生成的描述符中。
下面参照图9说明图6的网卡113的DMA传送处理。该DMA传送处理例如在图8的步骤S33中由CPU 111请求DMA传送时开始。
在步骤S51中,DMA传送部51根据在图8的步骤S32中存储在描述符区域31中的描述符进行DMA传送。具体地说,DMA传送部51根据描述符从包区域32读出包,通过包通信部52发送到个人电脑103,或者将由包通信部52接收到的包存储到包区域32。
在步骤S51的处理后进入步骤S52,包通信部52判断是否发生了包的发送或者接收的错误,在判断为没有发生错误的情况下进入步骤S53。
在步骤S53中,DMA传送部51根据描述符来判断是否存在设为DMA传送对象的包,在判断为存在设为DMA传送对象的包的情况下返回步骤S51,并重复上述的处理。
另一方面,在步骤S52中判断为发生了错误的情况下,包通信部52将表示错误的状态信息通过DMA传送部51提供给中断产生部140,并进入步骤S54。
另外,在步骤S53中判断为没有设为DMA传送对象的包的情况下,包通信部52将表示完成发送或者接收的状态信息通过DMA传送部51提供给中断产生部140,并进入步骤S54。
在步骤S54中,中断产生部140根据来自DMA传送部51的状态信息来设定中断状态,并将该中断状态保持在中断状态保持部142中。
例如,在从DMA传送部51提供表示错误的状态信息的情况下,中断产生部140将中断状态设定为表示错误状态的中断状态,将下位第2位是“1”的32位的中断状态保持在中断状态保持部142中。另外,在从DMA传送部51提供表示完成发送或者接收的状态信息的情况下,中断产生部140将中断状态设定为表示发送完成状态或者接收完成状态的中断状态,将下位第0位或者下位第1位是“1”的32位的中断状态保持在中断状态保持部142中。
在步骤S54的处理后进入步骤S55,中断产生部140向中断状态提供部141通知中断状态的更新,并进入步骤S56。
在步骤S56中,中断产生部140产生中断信号而提供给CPU111,并结束处理。
下面参照图10说明网卡113的中断状态的复制处理。
在步骤S71中,中断状态提供部141判断是否更新了中断状态。具体地说,在图9的步骤S55中通知了更新中断状态的情况下、或者根据来自CPU 111的请求而清除了中断状态的情况下,中断状态提供部141判断为更新了中断状态,在除此之外的情况下判断为没有更新中断状态。
在步骤S71中判断为没有更新中断状态的情况下,中断状态提供部141待机到中断状态被更新为止。
另一方面,在步骤S71中判断为更新了中断状态的情况下,进入步骤S72,中断状态提供部141从中断状态保持部142读出中断状态,并进入步骤S73。
在步骤S73中,中断状态提供部141将在步骤S72中读出的中断状态复制到RAM 112的中断状态区域121中。即,中断状态提供部141将中断状态提供给RAM 112。RAM 112将该中断状态存储到中断状态区域121中。
下面参照图11说明CPU 111的中断处理1。例如在图9的步骤S56中由中断产生部140提供中断信号时,开始该中断处理。
在步骤S91中,CPU 111从RAM 112的中断状态区域121读出中断状态,并进入步骤S92。
在步骤S92中,CPU 111根据存储在RAM 112的中断处理表区域122中的中断处理表160,判断在步骤S91中读出的中断状态所表示的状态是否是发送完成状态、即中断状态的32位之中的下位第0位是否是“1”,在判断为状态是发送完成状态的情况下进入步骤S93。
在步骤S93中,CPU 111根据中断处理表160,作为与发送完成状态对应的中断状态处理而对存储有由包通信部52完成发送的包的RAM 112的包区域32进行释放。即,CPU 111删除存储在包区域32中的完成发送的包。
在步骤S92中判断为状态不是发送完成状态的情况下、或者在步骤S93的处理后进入步骤S94,CPU 111根据中断处理表160,来判断在步骤S91中读出的中断状态所表示的状态是否是接收完成状态、即中断状态的32位中的下位第1位是否是“1”,在判断为状态是接收完成状态的情况下进入步骤S95。
在步骤S95中,CPU 111根据中断处理表160,作为与接收完成状态对应的中断状态处理,读出由包通信部52接收并存储到RAM 112的包区域32中的包,使用该包进行规定的处理。例如,CPU 111使用该包进行将与包对应的图像显示在输出部17上的处理。
在步骤S94中判断为状态不是接收完成状态的情况下、或者在步骤S95的处理后进入步骤S96,CPU 111根据中断处理表160,来判断在步骤S91中读出的中断状态所表示的状态是否是错误状态、即中断状态32的位中的下位第2位是否是“1”。
在步骤S96中判断为状态是错误状态的情况下、即在从包区域32读出的发送对象的包、尚未存储在包区域32中的接收到的包的可靠性不能被保证的情况下,进入步骤S97。
在步骤S97中,CPU 111根据中断处理表160,作为与错误状态对应的中断状态处理而将网卡113进行复位。
具体地说,CPU 111例如对由网卡113的DMA传送部51进行的DMA传送控制中使用的寄存器进行初始化、以及取消通过包通信部52正在进行发送接收的包。
在步骤S96中判断为状态不是错误状态的情况下、或者在步骤S97的处理后进入步骤S98,CPU 111向网卡113请求中断状态的清除,并结束处理。
如以上那样,在个人电脑101中,网卡113的中断状态提供部141将中断状态记录到RAM 112的中断状态区域121中,因此CPU 111能够在中断处理中从RAM 112读出中断状态。即,CPU111不需要从网卡113的中断状态保持部142读出中断状态。其结果,与用图3说明的现有情况相比,能够在个人电脑101中简化中断处理,减少中断处理所需的时间。
下面参照图12说明个人电脑101的中断产生处理。
在步骤S151中,网卡113的中断状态提供部141将中断状态提供给RAM 112的中断状态区域121,并进入步骤S152。
在步骤S131中,RAM 112的中断状态区域121存储来自中断状态提供部141的中断状态。即,将来自中断状态提供部141的中断状态复制到中断状态区域121中。
在步骤S152中,网卡113的中断产生部140根据来自DMA传送部51的状态信息产生中断信号,将该中断信号通知给CPU111,并进入步骤S153。
在步骤S111中,CPU 111接收来自中断产生部140的中断信号,进入步骤S112。在步骤S112中,CPU 111向RAM 112请求读出中断状态,进入步骤S113。
在步骤S131的处理后进入步骤S132,RAM 112的中断状态区域121接收来自CPU 111的中断状态的读出请求,进入步骤S133。在步骤S133中,中断状态区域121响应于中断状态的读出请求而向CPU 111通知当前存储(保持)的中断状态,并进入步骤S134。
在步骤S113中,CPU 111接收来自中断状态区域121的中断状态,进入步骤S114。在步骤S114中,CPU 111根据存储在中断处理表区域122中的中断处理表160,进行与接收到的中断状态对应的中断状态处理,并进入步骤S115。
在步骤S115中,CPU 111向网卡113请求清除保持在中断状态保持部142中的中断状态,并结束处理。如以上那样,CPU 111响应于在步骤S111中从中断产生部53提供的中断信号,作为中断处理而进行步骤S112至S115的处理,并结束处理。
在步骤S153中,网卡113的中断状态提供部141接收来自CPU 111的中断状态的清除请求,清除保持在中断状态保持部142中的中断状态的各位,并进入步骤S154。
在步骤S154中,中断状态提供部141读出保持在中断状态保持部142中的中断状态并提供给RAM 112,结束处理。
在步骤S134中,RAM 112的中断状态区域121接收并存储来自中断状态提供部141的中断状态。即,将保持在中断状态保持部142中的中断状态复制到中断状态区域121中。
此外,产生中断信号的设备不限于网卡113,例如也可以是数据存储器等。
如以上那样,在个人电脑101中,中断状态提供部141将存储在中断状态保持部142中的中断状态提供给RAM 112的中断状态区域121,使得中断状态区域121存储中断状态,因此能够简化中断处理,减少中断处理所需的时间。
另外,在上述处理中从中断产生部对CPU产生中断的情况下,将中断状态保持部的内容复制到存储器中,并由CPU读入它而得知中断的原因由此进行CPU负荷的降低。
在图12中,将网卡113的状态复制到RAM 112中后进行中断通知,但是通常对硬件向存储器完成写入进行确认的机构从成本上的问题等、总线的规格等无法保证。
如上所述,通常与CPU通过总线对RAM进行存取相比,CPU通过总线和输入输出接口对网卡的中断状态保持部等的寄存器进行的存取需要较多的时间。
因而,例如在CPU处理速度为高速的情况下等,在完成中断状态复制之前接收到中断通知的CPU有可能根据记录在RAM中的以前的中断状态进行中断处理。另外,例如在总线拥挤的情况下等,如图13所示,在与图12的情况相同的定时不能使中断状态的复制成功,而导致CPU取得记录在RAM中的中断状态的定时比中断状态的复制成功的定时(步骤S151’)还要早,因此有可能导致根据记录在RAM中的以前(即与旧的中断对应)的中断状态进行中断处理,无法取得中断与中断处理的同步。
因此,进一步优选为使CPU能够判断记录在RAM中的中断状态是否是正确更新后的状态。具体地说,在网卡的中断状态保持部中准备CPU能够使用(能够更新)的中断版本位,并与状态清除同时在该区域中写入数据,并且在与将保持在RAM的中断状态保持部中的值进行复制的区域(中断状态区域)不同的区域中,保存以前处理中的中断版本位的备份。并且,最好是每当产生中断时,CPU都能够将复制到RAM中的中断版本位的值和所备份的以前的处理中的中断版本位的值进行比较,确认是否取得复制到RAM中的状态与记载在网卡的中断状态保持部中的实际中断状态的同步。
图14是表示能够对复制到RAM中的状态与实际的中断状态的同步进行确认的个人计算机161的结构的框图。
此外,对与图5的情况相同的部分附加相同的附图标记,适当省略其详细说明。
即,图14的个人计算机161代替CPU 111而设置有CPU 171,代替RAM 112而设置有RAM 172,代替网卡113而设置有网卡173,除此之外与使用图5说明的个人计算机101具有基本相同的结构。
另外,RAM 172代替中断状态区域121而设置有能够从网卡173复制中断状态位和中断版本位并保持的中断状态区域181,代替中断处理表区域122而设置有存储使用图16在后面说明的中断处理表的表区域182,新设置了能够通过CPU 171的处理来保持中断版本位的备份的中断版本位备份区域183,除此之外,与使用图5说明的RAM 112具有基本相同的结构。
即,CPU 171通过总线14连接到ROM 12和RAM 172上,按照存储在ROM 12中的程序或者记录在记录部18中的程序来执行各种处理。例如,CPU 171将存储作为DMA传送对象的包的RAM 172的包区域32的地址、包的大小等作为描述符而存储到RAM 172的描述符区域31中,由此将该包DMA传送给网卡173。
另外,CPU 171响应于从网卡173提供的中断信号,进行中断处理。具体地说,CPU 171将中断版本位与存储在RAM 172的中断状态区域181中的表示中断信号产生原因(状态)的中断状态一起读出。然后,CPU 171参照所读出的中断版本位的值,与在中断版本位备份区域183中备份的值进行比较,确认是否取得了复制到RAM 172中的状态与记载在网卡173的中断状态保持部191(图15)中的实际中断状态的同步。
然后,在取得了同步的情况下,CPU 171根据存储在RAM172的中断处理表区域182中的、使中断状态处理与中断状态所表示的状态相对应的中断处理表,进行与从RAM 172的中断状态区域181读出的中断状态对应的中断状态处理。另一方面,在没有取得同步的情况下,CPU 171读出记载在网卡173的中断状态保持部191中的实际中断状态,根据存储在RAM 172的中断处理表区域182中的、使中断状态处理与中断状态所表示的状态相对应的中断处理表,进行与读出的中断状态对应的中断状态处理。
然后,在中断状态处理结束后,CPU 171备份保持在RAM172的中断版本位备份区域183中的值(即,从中断状态处理以前的值增加1)。然后,CPU 171对网卡173进行控制,使得清除(消去)保持在网卡173中的中断状态(信号)的各位,并且使中断版本位的值增加1。
RAM 172由描述符区域31、包区域32、中断状态区域181、以及中断处理表区域182等构成。
在中断状态区域181中存储有从网卡173提供的中断状态以及中断版本位。另外,在中断处理表区域182中存储有由CPU171预先设定的中断处理表。
使用图16来说明存储在中断处理表区域182中的中断处理表、存储在中断状态区域181中的中断状态以及中断版本位中所记载的数据的结构。
存储在中断处理表区域182中的中断处理表保持图16所示的结构的中断状态以及中断版本位的值。中断状态与使用图7说明的情况相同,但是进一步规定了上位4位的中断版本位,即使在上位4位的中断版本位中写入了“1”的情况下,也不执行中断处理。因而,在RAM 172的中断状态区域181中还保持图16所示的数据结构的中断状态以及中断版本位的值。在此,中断状态(信号)以及中断版本位的值与使用图7说明的情况同样地由32位构成。然而,这些位数当然也可以与32位不同。
在此,作为中断版本位而提供4位,因此中断版本位可以取10进制数中的0至15的值。即,在以下使中断版本位递增的情况下,在10进制数中的0至14的值中表示使其值增加1,另外在值是15的情况下表示其值变成0。
网卡173例如由微型计算机等构成,通过执行规定的程序来进行DMA传送。具体地说,网卡173根据存储在RAM 172的描述符区域31中的描述符,读出存储在RAM 172的包区域32中的包,将该包通过网络102发送给个人电脑103。另外,网卡173通过网络102从个人电脑103接收包,根据描述符将该包存储到RAM 172的包区域32中。
并且,网卡173产生中断信号,并提供给CPU 171。另外,设定中断状态进行存储,并且将该中断状态与中断版本位一起提供给RAM 172的中断状态区域181并进行存储。
图15是表示图14的网卡173的结构的框图。此外,对与图6的情况相同的部分附加相同的附图标记,适当省略其详细说明。
即,图15的网卡173代替中断状态保持部142而设置有中断状态保持部191,除此之外与使用图6进行说明的网卡113基本具有相同的结构,具有相同的功能。
即,中断产生部140根据来自DMA传送部51的状态信息产生中断信号,并提供给CPU 171。另外,中断产生部140根据该状态信息设定中断状态,将该中断状态提供给中断状态保持部191并存储(更新)。中断产生部140对中断状态提供部141通知中断状态的更新。
中断状态提供部141根据来自中断产生部140的通知,从中断状态保持部191读出中断状态以及中断版本位,将读出的中断状态以及中断版本位提供给RAM 172的中断状态区域181并进行存储。另外,中断状态提供部141响应于来自CPU 171的请求,清除(消去)保持在中断状态保持部191中的中断状态(信号)的各位,并且使中断版本位的值增加1。中断状态保持部191基于中断产生部140或者CPU 171的控制,保持中断状态以及中断版本位的值。
中断状态保持部191能够保持位分配与图16所示的结构相同的中断状态以及中断版本位的值。另外,CPU也可以自由使用保持中断状态保持部191的32位中的上位4位即中断版本位的值的区域。换言之,作为可以通过CPU 171的控制来替换其值的区域而准备了保持中断版本位的值的区域。
在产生中断而在下位的第0位、第1位、第2位中发送完成、接收完成以及错误的各个中断状态的值发生变化的情况、以及例如中断版本位的递增等由CPU 171指示保持在中断状态保持部191中的值的变更的情况下,保持在中断状态保持部191中的中断状态以及中断版本位被复制到RAM 172的中断状态区域181中。
此外,在个人计算机161中,DMA传送请求处理、以及DMA传送处理与使用图8以及图9进行了说明的情况基本相同,关于复制处理,被复制的数据不仅是中断状态而且是中断状态以及中断版本位,除此之外与使用图10进行了说明的情况基本相同,因此省略关于这些处理的说明。
下面参照图17的流程图说明初始化处理。
在步骤S181中,CPU 171进行网卡173的复位。
在步骤S182中,CPU 171将网卡173的中断版本位的值备份到RAM 172的中断版本位备份区域183中。
在步骤S183中,CPU 171将在步骤S182中备份到RAM 172的中断版本位备份区域183中的中断版本位的值上加上1而得到的值,作为中断版本位而写入到网卡173的中断状态保持部191的规定区域(在此是上位4位)中,并且请求中断状态保持部191的中断状态的清除。在网卡173的中断状态保持部191中,根据CPU 171的控制,作为中断版本位而写入了在备份到中断版本位备份区域183中的中断版本位的值上加上1而得到的值,并且清除发送完成、接收完成、或者错误等的中断状态的值,结束处理。
下面参照图18的流程图说明CPU 171的中断处理2。例如在图9的步骤S56中由中断产生部140提供中断信号时,开始该中断处理2。
在步骤S211中,CPU 171从RAM 172的中断状态区域181读出中断状态以及中断版本位。
在步骤S212中,CPU 171判断从RAM 172的中断状态区域181读出的中断版本位的值是否是在备份在RAM 172的中断版本位备份区域183中的中断版本位的备份值上加上1后的值。
在步骤S212中,在判断为从RAM 172的中断状态区域181读出的中断版本位的值是在备份在RAM 172的中断版本位备份区域183中的中断版本位的备份值上加上1后的值的情况下,在步骤S213中,CPU 171使用在步骤S211中从RAM 172读出的中断状态来执行中断处理。
在步骤S212中判断为从RAM 172的中断状态区域181读出的中断版本位的值不是在备份在RAM 172的中断版本位备份区域183中的中断版本位的备份值上加上1后的值的情况下,在步骤S214中,CPU 171不使用通过步骤S211从RAM 172读出的中断状态而对网卡进行访问,读出保持在网卡173的中断状态保持部191中的中断状态的值,执行中断处理。
在步骤S213或者步骤S214的处理结束后,在步骤S215至步骤S220中,CPU 171执行与图11的步骤S92至步骤S97基本相同的处理。
即,CPU 171根据存储在RAM 172的中断处理表区域121中的中断处理表160,判断从RAM 172或者网卡173读出的中断状态所表示的状态是否是发送完成状态、即中断状态的32位中的下位第0位是否是“1”,在判断为状态是发送完成状态的情况下,根据中断处理表,作为与发送完成状态对应的中断状态处理而对存储有由包通信部52完成发送的包的、RAM 172的包区域32进行释放。即,CPU 171删除存储在包区域32中的完成了发送的包。
在判断为状态不是发送完成状态的情况下、或者RAM 172的释放后,CPU 171判断读出的中断状态所表示的状态是否是接收完成状态、即中断状态32的位中的下位第1位是否是“1”,在判断为状态是接收完成状态的情况下,根据中断处理表,作为与接收完成状态对应的中断状态处理,读出由包通信部52接收并存储在RAM 172的包区域32中的包,使用该包进行规定的处理。例如CPU 171使用该包进行将与包对应的图像显示在输出部17上的处理。
在判断为状态不是接收完成状态的情况下、或者基于读出的包的规定处理结束后,CPU 171判断读出的中断状态所表示的状态是否是错误状态、即中断状态的32位中的下位第2位是否是“1”。在判断为状态是错误状态的情况下、即从包区域32读出的发送对象的包、尚未存储到包区域32中的接收到的包的可靠性不能被保证的情况下,CPU 171根据中断处理表160,作为与错误状态对应的中断状态处理而将网卡113复位。具体地说,CPU 171例如对由网卡173的DMA传送部51进行的DMA传送控制中使用的寄存器进行初始化、以及取消通过包通信部52正在发送接收的包。
在步骤S219中判断为状态不是错误状态的情况下、或者在步骤S220的处理结束后,在步骤S221中,CPU 171在RAM 172的中断版本位备份区域183中备份的中断版本位的值上加上1。
在步骤S222中,CPU 171将步骤S221中在所备份的中断版本位的值上加上1后的值作为中断版本位而写入到网卡173的中断状态保持部191中,并且向网卡173请求中断状态的清除,结束处理。
这样一来,能够判断复制到RAM 172中的中断状态是否与网卡173的中断状态取得了同步,在取得同步的情况下,CPU171根据复制到RAM 172中的中断状态执行中断处理,在没有取得同步的情况下,对网卡173进行访问,读出网卡173的中断状态来执行中断处理,因此能够简化中断处理,减少中断处理所需的时间,并且能够防止在中断状态的复制完成之前接收到中断通知的CPU 171根据记录在RAM 172中的以前的中断状态进行中断处理的情况。
具体地说,如图19以及图20所示,随着来自中断状态提供部141的中断状态被存储到RAM 172的中断状态区域181中的定时的不同,处理不同。
使用图19说明当CPU 171对RAM 172的中断状态区域181进行存取时,复制到RAM 172中的中断状态与网卡173的中断状态取得了同步的情况的处理。
在步骤S291中,网卡173的中断状态提供部141将中断状态提供给RAM 172的中断状态区域121。
在步骤S271中,RAM 172的中断状态区域181存储来自中断状态提供部141的中断状态。即,来自中断状态提供部141的中断状态被复制到中断状态区域181中。
在步骤S292中,网卡173的中断产生部140根据来自DMA传送部51的状态信息产生中断信号,将该中断信号通知给CPU171。
CPU 171在步骤S251中接收来自中断产生部140的中断信号,在步骤S252中向RAM 172请求中断状态的读出。
RAM 172的中断状态区域181在步骤S272中接收来自CPU171的中断状态的读出请求,在步骤S273中根据中断状态的读出请求,将当前存储(保持)的中断状态通知给CPU 171。在此,在步骤S271中,中断状态被复制,因此记录在RAM 172的中断状态区域181和网卡173的中断状态保持部191中的中断状态同步。
CPU 171在步骤S 253中接收来自中断状态区域121的中断状态,在步骤S254中将所备份的中断版本位与从RAM 172读出的中断版本位进行比较(图18的步骤S212的处理)。在此,记录在RAM 172的中断状态区域181和网卡173的中断状态保持部191中的中断状态同步,因此在步骤S255中,CPU 171使用已经读入的RAM 172的中断状态,根据存储在中断处理表区域122中的中断处理表160进行中断状态处理(图18的步骤S213以及步骤S215至步骤S220的处理)。
然后,在步骤S256中,CPU 171使备份在RAM 172的中断版本位备份区域183中的中断版本位的值增加1(图18的步骤S221的处理)。
在步骤S257中,CPU 171使保持在中断状态保持部142中的中断版本位增加1,向网卡173请求清除中断状态(图18的步骤S222的处理)。
然后,在步骤S293中,网卡173的中断状态提供部141接收从CPU 171提供的中断版本位的增加和中断状态清除的请求,使保持在中断状态保持部142中的中断版本位递增,并且清除保持在中断状态保持部142中的中断状态的各位。然后,在步骤S294中,中断状态提供部141读出保持在中断状态保持部142中的中断状态,并提供给RAM 172。
在步骤S274中,RAM 172的中断状态区域181接收所提供的中断状态以及中断版本位并存储。即,保持在中断状态保持部191中的中断状态以及中断版本位被复制到中断状态区域181中,并处理结束。
这样一来,在判断为取得了向RAM 172复制中断状态的同步的情况下,与通过每次与网卡173接收和发送信息来获取中断状态的情况相比,CPU 171能够高速地执行中断处理。
下面使用图20说明当CPU 171对RAM 172的中断状态区域181进行存取时、复制到RAM 172中的中断状态没有与网卡173的中断状态取得同步的情况下的处理。
在步骤S351中,网卡173的中断状态提供部141将中断状态提供给RAM 172的中断状态区域181。
然而,RAM 172的中断状态区域181在来自中断状态提供部141的中断状态的存储中失败。即,来自中断状态提供部141的中断状态不能复制到中断状态区域181中。网卡173的中断状态提供部141再次执行将中断状态提供给RAM 172的中断状态区域181的处理(后述的步骤S355的处理)。
在步骤S352中,网卡173的中断产生部140根据来自DMA传送部51的状态信息产生中断信号,并将该中断信号通知给CPU171。
CPU 171在步骤S311中接收来自中断产生部140的中断信号,在步骤S312中向RAM 172请求中断状态的读出。
RAM 172的中断状态区域181在步骤S331中接收来自CPU171的中断状态的读出请求,在步骤S332中根据中断状态的读出请求,将当前所存储(保持)的中断状态通知给CPU 171。在此,由于中断状态的复制失败,因此记录在RAM 172的中断状态区域181和网卡173的中断状态保持部191中的中断状态没有同步。
CPU 171在步骤S313中接收来自中断状态区域121的中断状态,在步骤S314中将所备份的中断版本位与从RAM 172读出的中断版本位进行比较(图18的步骤S212的处理)。在此,所备份的中断版本位与从RAM 172读出的中断版本位之间的各个值相等,因此判断为记录在RAM 172的中断状态区域181和网卡173的中断状态保持部191中的中断状态没有同步。
然后,在步骤S315中,CPU 171向网卡173的中断状态保持部191请求中断状态的读出。
网卡173的中断状态提供部141在步骤S353中接受中断状态的读出请求,在步骤S354中读出存储在中断状态保持部191中的中断状态,并提供给CPU 171。
CPU 171在步骤S316中从网卡173的中断状态提供部141接受中断状态的通知,在步骤S317中使用所提供的中断状态,根据存储在中断处理表区域122中的中断处理表160,进行与接收到的中断状态对应的中断状态处理(图18的步骤S214以及步骤S215至步骤S220的处理)。
然后,在步骤S318中,CPU 171使备份在RAM 172的中断版本位备份区域183中的中断版本位的值增加1(图18的步骤S221的处理)。
在步骤S355中,网卡173的中断状态提供部141将中断状态提供给RAM 172的中断状态区域121。
然后,在步骤S333中,RAM 172的中断状态区域181存储来自中断状态提供部141的中断状态。即,来自中断状态提供部141的中断状态被复制到中断状态区域181中。
在步骤S319中,CPU 171向网卡173请求使保持在中断状态保持部142中的中断版本位增加1并清除中断状态(图18的步骤S222的处理)。
然后,在步骤S356中,网卡173的中断状态提供部141接收从CPU 171提供的中断版本位的递增和中断状态清除的请求,使中断版本位递增并且清除保持在中断状态保持部142中的中断状态的各位。然后,在步骤S357中,中断状态提供部141读出保持在中断状态保持部142中的中断状态,提供给RAM 172。
在步骤S334中,RAM 172的中断状态区域181接收所提供的中断状态以及中断版本位并进行存储。即,保持在中断状态保持部191中的中断状态以及中断版本位被复制到中断状态区域181中,并结束处理。
这样,在判断为没有取得向RAM 172复制中断状态的同步的情况下,CPU 171通过与网卡173发送和接收信息来获取中断状态,因此不会根据过去的中断状态执行错误的中断处理。
这样,通过应用本发明,通过使用复制到RAM中的状态,CPU能够降低由中断引起的读入处理的负荷,并且考虑到在状态副本与中断之间产生定时的偏差的情况,在取得了复制到RAM中的状态的同步的情况下,使用从RAM读出的状态来执行中断处理,在没有取得复制到RAM中的状态的同步的情况下,不利用复制到RAM中的状态,由此能够防止进行错误的中断。
此外,产生中断信号的设备不限于网卡173,例如也可以是数据存储器等。
此外,在此说明了将CPU 171的中断版本位的备份的值和复制到RAM 172中的中断版本位的值(如果被正确复制,则是在作为中断版本位而写入到网卡173的中断状态保持部191中的备份后的中断版本位的值上加上1后的值)进行比较、在复制到RAM 172中的中断版本位的值比中断版本位的备份值大1的情况下判断为取得了向RAM 172复制中断状态的同步,但是只要能够判断是否取得了向RAM 172复制中断状态的同步,则分配到中断版本位的位数、每一次递增的值等当然也可以不同。
另外,在此说明了中断处理,但是在希望减少中断次数、例如通过定时器等以固定间隔进行轮询的情况下,也能够应用本发明。在这种情况下,可以将硬件的中断处理(来自网卡的中断引起的中断处理)的一部分置换为由定时器产生的中断引起的中断处理,进行同样的处理。
在此,在本说明书中记载的用于使计算机进行各种处理的程序的处理步骤,并非必须是沿着作为流程而记载的顺序来按时间序列进行处理,也可以包含并列或者个别执行的处理(例如并列处理或者随对象而不同的处理)。
另外,程序可以由1台计算机进行处理,也可以由多台计算机分散处理。并且,程序也可以被传送到远程计算机来执行。
此外,在本说明书中,系统表示由多个装置构成的整个装置。
此外,本发明的实施方式不限于上述实施方式,只要在不超出本发明宗旨的范围内能够进行各种变更。

Claims (8)

1.一种信息处理装置,其特征在于,具备:
产生单元,其产生中断信号;
第1存储单元,其存储状态,该状态表示由前述产生单元产生的中断信号的产生原因;以及
执行单元,其根据存储在前述第1存储单元中的状态,执行规定的处理,
前述产生单元具备:
第2存储单元,其存储前述中断信号的状态;以及
存储控制单元,其将由前述第2存储单元存储的状态存储到前述第1存储单元,
其中,在前述第2存储单元中包括用于判断通过前述第1存储单元存储的第1状态和通过前述第2存储单元存储的第2状态是否同步的判断信息的第1存储区域,
在前述第1存储单元中设置有存储前述判断信息的第2存储区域,并且进一步设置有临时保持前述判断信息的第3存储区域,该第3存储区域是与前述第2存储区域不同的区域,
前述存储控制单元将由前述第2存储单元存储的状态存储到前述第1存储单元中,并且将记录在前述第2存储单元的前述第1存储区域中的前述判断信息进一步存储到前述第1存储单元的前述第2存储区域中,
前述执行单元在执行前述规定的处理的情况下,
在根据存储在前述第2存储区域中的前述判断信息和存储在前述第3存储区域中的前述判断信息判断为由前述第1存储单元存储的前述第1状态和由前述第2存储单元存储的前述第2状态同步的情况下,前述执行单元根据由前述第1存储单元存储的前述第1状态,执行前述规定的处理,
在根据存储在前述第2存储区域中的前述判断信息和存储在前述第3存储区域中的前述判断信息判断为由前述第1存储单元存储的前述第1状态和由前述第2存储单元存储的前述第2状态不同步的情况下,前述执行单元根据由前述第2存储单元存储的前述第2状态,执行前述规定的处理。
2.根据权利要求1所述的信息处理装置,其特征在于,
前述执行单元用于读出存储在前述第1存储单元中的前述状态所需的第1时间,比前述执行单元用于读出存储在前述第2存储单元中的前述状态所需的第2时间短。
3.根据权利要求1所述的信息处理装置,其特征在于,
前述判断信息以数值表示,
前述执行单元,
在根据前述第1状态或者前述第2状态执行了规定的处理后,将与存储在前述第1存储区域中的前述判断信息相同的值存储到前述第3存储区域中,并且在前述第1存储区域中存储的前述判断信息的值上加1,
在下次执行前述规定的处理的情况下,将存储在前述第2存储区域中的前述判断信息和存储在前述第3存储区域中的前述判断信息进行比较,如果存储在前述第2存储区域中的前述判断信息的值比存储在前述第3存储区域中的前述判断信息的值大1,则判断为由前述第1存储单元存储的前述第1状态和由前述第2存储单元存储的前述第2状态同步,前述执行单元根据由前述第1存储单元存储的前述第1状态执行前述规定的处理,如果是这以外的情况,则判断为由前述第1存储单元存储的前述第1状态和由前述第2存储单元存储的前述第2状态不同步,前述执行单元根据由前述第2存储单元存储的前述第2状态执行前述规定的处理。
4.一种信息处理装置,其产生中断信号,其特征在于,具备:
产生单元,其产生前述中断信号;
存储单元,其存储状态,该状态表示由前述产生单元产生的中断信号的产生原因;以及
存储控制单元,其将由前述存储单元存储的状态存储到根据该状态执行规定处理的其它信息处理装置中,
其中,前述存储单元进一步存储用于判断由前述存储单元存储的前述状态和存储在前述其它信息处理装置中的前述状态是否同步的判断信息,
前述存储控制单元将前述判断信息与前述状态一起存储到前述其它信息处理装置中。
5.一种信息处理方法,是产生中断信号、并具备存储表示前述中断信号产生原因的状态的存储单元的信息处理装置的信息处理方法,其特征在于,包括:
产生步骤,产生前述中断信号;
第1存储控制步骤,将由前述产生步骤的处理产生的中断信号的状态存储到前述存储单元中;以及
第2存储控制步骤,将由前述存储单元存储的状态存储到根据该状态执行规定处理的其它信息处理装置中,
其中,在前述第1存储控制步骤中进一步存储用于判断通过前述第1存储控制步骤存储的前述状态和存储在前述其它信息处理装置中的前述状态是否同步的判断信息,
在前述第2存储控制步骤中将前述判断信息与前述状态一起存储到前述其它信息处理装置中。
6.一种信息处理装置,根据表示其它信息处理装置所产生的中断信号的产生原因的状态而执行规定的处理,其特征在于,具备:
存储单元,其存储从前述其它信息处理装置提供的前述中断信号的状态;以及
执行单元,其根据由前述存储单元存储的状态,执行前述规定的处理,
其中,前述存储单元进一步从前述其它信息处理装置获取前述状态以及用于判断由前述存储单元存储的前述状态和存储在前述其它信息处理装置中的前述状态是否同步的判断信息,存储前述状态和前述判断信息,
前述执行单元根据前述判断信息来判断由前述存储单元存储的前述状态与存储在前述其它信息处理装置中的前述状态是否同步,在判断为同步的情况下,根据由前述存储单元存储的状态执行前述规定的处理,在判断为不同步的情况下,从前述其它信息处理装置获取前述状态,根据从前述其它信息处理装置获取的前述状态执行前述规定的处理。
7.根据权利要求6所述的信息处理装置,其特征在于,
进一步具备中断处理存储单元,该中断处理存储单元存储使前述中断信号的状态和与其对应的处理相对应的表,
前述执行单元根据存储在前述中断处理存储单元中的表,执行前述规定的处理。
8.一种信息处理方法,是根据表示其它信息处理装置所产生的中断信号的产生原因的状态而执行规定的处理的信息处理装置的信息处理方法,其特征在于,包括:
存储控制步骤,存储从前述其它信息处理装置提供的前述中断信号的状态;以及
执行步骤,根据通过前述存储控制步骤的处理存储的状态,执行前述规定的处理,
其中,在前述存储控制步骤中进一步从前述其它信息处理装置获取前述状态以及用于判断通过前述存储控制步骤存储的前述状态和存储在前述其它信息处理装置中的前述状态是否同步的判断信息,存储前述状态和前述判断信息,
在前述执行步骤中根据前述判断信息来判断通过前述存储控制步骤存储的前述状态与存储在前述其它信息处理装置中的前述状态是否同步,在判断为同步的情况下,根据通过前述存储控制步骤存储的状态执行前述规定的处理,在判断为不同步的情况下,从前述其它信息处理装置获取前述状态,根据从前述其它信息处理装置获取的前述状态执行前述规定的处理。
CNB2006800192005A 2005-06-01 2006-05-23 信息处理装置和信息处理方法 Expired - Fee Related CN100557586C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP161217/2005 2005-06-01
JP2005161217 2005-06-01
JP030486/2006 2006-02-08

Publications (2)

Publication Number Publication Date
CN101189588A CN101189588A (zh) 2008-05-28
CN100557586C true CN100557586C (zh) 2009-11-04

Family

ID=39481150

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006800192005A Expired - Fee Related CN100557586C (zh) 2005-06-01 2006-05-23 信息处理装置和信息处理方法

Country Status (1)

Country Link
CN (1) CN100557586C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699418B (zh) * 2009-10-30 2011-11-16 曙光信息产业(北京)有限公司 一种中断处理方法、系统及设备
JP2011257904A (ja) * 2010-06-08 2011-12-22 Hitachi Ltd 制御装置及びそのデータ処理方法
CN103250137A (zh) * 2010-12-14 2013-08-14 三菱电机株式会社 中断要因管理装置及中断处理系统
CN105204939B (zh) * 2015-11-03 2019-02-01 浪潮(北京)电子信息产业有限公司 一种中断请求的处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1118476A (zh) * 1994-06-30 1996-03-13 现代电子产业株式会社 中断处理装置与方法
CN1507591A (zh) * 2001-01-31 2004-06-23 �Ҵ���˾ 从外围设备向主计算机系统传输中断的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1118476A (zh) * 1994-06-30 1996-03-13 现代电子产业株式会社 中断处理装置与方法
CN1507591A (zh) * 2001-01-31 2004-06-23 �Ҵ���˾ 从外围设备向主计算机系统传输中断的方法和装置

Also Published As

Publication number Publication date
CN101189588A (zh) 2008-05-28

Similar Documents

Publication Publication Date Title
WO2006137234A1 (ja) 情報処理装置および情報処理方法、並びにプログラム
CN100557586C (zh) 信息处理装置和信息处理方法
JP4430846B2 (ja) 遠隔ミラーリングシステム、装置及び方法
US7724643B2 (en) Recovery of duplex data system after power failure
JP4437870B2 (ja) 分散型トランザクション処理システムと方法
US20070073907A1 (en) Device, method and computer program product readable medium for determining the identity of a component
CN101681237B (zh) 加密装置及加密方法
US7222143B2 (en) Safely restoring previously un-backed up data during system restore of a failing system
JP4067365B2 (ja) デジタル複合機
JP2010182087A (ja) ディスクアレイ装置、データ分散管理方法、およびデータ分散管理プログラム
US7519633B2 (en) Asynchronous replication of data
US7117329B2 (en) Method of managing generation of backup data and storage control device used therefor
US7779293B2 (en) Technology to control input/output device bridges
JP4378308B2 (ja) バス構成マルチプレクサ
JP4960150B2 (ja) 電子機器
JPH0616258B2 (ja) 二重化デイスク制御方法
JP6151365B2 (ja) 情報処理システム、情報処理方法及びプログラム
JP3715693B2 (ja) 情報処理装置及び方法
US20030217204A1 (en) Method for determining a data transmission mode of a hard disk drive
JP2006053713A (ja) 二重化制御装置と二重化制御方法
JP7346524B2 (ja) 画像形成装置、画像形成装置の制御方法並びにプログラム
JP2736708B2 (ja) ファクシミリ文字認識通知システム
JP5576921B2 (ja) 機器
JP2004013463A (ja) メモリ書換装置、メモリ書換方法、情報処理装置、情報処理システム並びに記憶媒体
JP2023001446A (ja) 制御システム、方法、及び、プログラム

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091104

Termination date: 20130523