信息处理装置和信息处理方法以及程序的制作方法

文档序号:6567630阅读:188来源:国知局
专利名称:信息处理装置和信息处理方法以及程序的制作方法
技术领域
本发明涉及一种信息处理装置和信息处理方法以及程序, 特别是涉及能够简化中断处理、縮短中断处理所需时间的息 处理装置和信息处理方法以及程序。
背景技术
图1是表示具备使用描述符70(图3)进行DMA(Direcl Memory Access:直接存储器存取)传送的网卡的个人计算机(下 面称为个人电脑)l的一例的框图。
如图l所示,CPU(Central Processing Unit:中央处理单元)ll 通过总线14连接到ROM(Read Only Memory:只读存储器)12和 RAM(Random Access Memory:随机存取存储器)13。 CPU ll按 照存储在ROM 12中的程序、或者记录在记录部18中的程序才丸4亍 各种处理。
例如,CPU ll将设为DMA传送对象的存储在RAM 13的包 区域32中的包的地址等作为描述符70而存储到RAM 13的描述 符区域31(后述),由此使该包DMA传送到网卡19。即,描述符
另外,CPU ll在RAM 13的指针信息区域33中存储表示下 一个存储描述符70的描述符区域3 1的地址的CPU设置指针 (CPU set pointer)。 CPU 11响应于从网卡1 9^是供的中断信号,作 为与存储在网卡19中的表示中断信号的产生原因(状态)的中断 状态对应的中断处理,例如对于与已经由网卡19^丸行的DMA传 送处理对应的描述符70所利用的RAM 13(的包区域32),进行释 放等DMA传送完成处理。而且,CPU ll在RAM 13的指针信息
区域33中存储CPU清除指针(CPU clear pointer),该CPU清除指 针表示与进行了 DMA传送完成处理的包区域32对应的描述符 70的下 一 个描述符70(与下 一 个设为DMA传送完成处理对象的 包区域32对应的描述符70)的地址。CPU 11清除(解除)存储在网 卡19中的中断状态。
RAM 13由存4渚描述符70的描述符区域31、存卩渚成为DMA 传送对象的包的包区域32、以及将CPU设置指针和CPU清除指 针作为指针信息而存储的指针信息区域33等构成。
在CPU 11上还通过总线14连接有输入输出接口 15。在输入 输出接口 15上连4妻有由键盘、鼠标等构成的输入部16 、由 LCD(Liquid Crystal Display: 液晶显示器)、CRT(Cathodc Ray Tube:阴极射线管)显示器等构成的输出部17。 CPU ll对应于从 输入部16输入的指令而执行各种处理。然后CPU ll将处理结果 所得到的图像、声音等输出到输出部17。
连接到输入输出接口 1 5上的记录部18例如由硬盘等构成, 记录CPU ll所执行的程序、各种数据。网卡19进行DMA传送。 具体地说,网卡1財艮据存储在R A M 13的描述符区域3 1中的描述 符70,读出存储在RAM 13的包区域32中的包,将该包通过未图 示的网络发送给其它装置。另外,网卡19通过未图示的网络接 收包,并存储到RAM 13。
此外,下面只说明网卡19进行DMA传送、并发送其结果所 得到的包的情况,但是关于包的接收也同样地进行。
连接到输入输出接口 15上的驱动器20在安装有磁盘、光 盘、磁光盘、或者半导体存储器等可移动介质21时对它们进行 驱动,取得记录在那里的程序、数据等。根据需要将所取得的 程序、数据传送到记录部18并记录。
图2是表示图l的网卡19的功能结构例的框图。
图2的网卡19由描述符信息保持部51、描述符控制部52、 包通信部53、中断产生部54、以及中断状态^f呆持部55构成。
在描述符信息保持部5 1中预先保持(存储)有R A M 13的描 述符区域3 1的开头地址(下面称为描述符开头地址)和可存储到 描述符区域31中的描述符数。由此,描述符控制部52能够根据 描述符开头地址和描述符数来访问RAM 13的描述符区域31 。
另外,从图1的CPU ll将作为存储在指针信息区域33中的 指针信息的C P U设置指针和C P U清除指针提供给描述符信,包、保 持部51并保持。
并且,描述符信息保持部51存储从描述符控制部52提供 的、表示与已经^U亍的DMA传送处理对应的描述符70的下一个 描述符7 0的地址(与4妾下来所执行的D M A传送处理对应的描述 符70)的网卡指针。此外,在还没有进行任何处理的情况下,描 述符控制部5 2从描述符信息保持部5 1读出描述符开头地址,将 该描述符开头地址作为网卡指针而提供给描述符信息保持部5 1 并存储。另外,描述符信息保持部51根据来自CPU ll的请求, 将网卡指针提供给CPU 11。
描述符控制部52从描述符信息保持部51读出网卡指针和 CPU设置指针,才艮据该网卡指针和CPU设置指针决定与设为执 行对象的D M A传送处理对应的描述符7 0 。
描述符控制部52从描述符区域31读出该描述符70,根据该 描述符70从包区域32读出设为DMA传送对象的包,将该包提供 给包通信部53,由此进4亍DMA传送处理。
另外,描述符控制部52根据从包通信部53提供的表示DMA 传送处理完成的完成信息,更新存储在描述符信息保持部5 1中 的网卡指针,并且向中断产生部54通知DMA传送处理的完成。
包通信部53通过未图示的网络将来自描述符控制部52的包发送给其它装置。另外,包通信部53根据来自描述符控制部 52的包,将完成信息提供给描述符控制部52。
中断产生部54^^艮据来自描述符控制部52的DMA传送处理 完成的通知而产生中断信号并提供给CPU 11。另夕卜,中断产生 部54根据该通知,将存储在中断状态保持部55中的中断状态更 新为表示中断信号的产生原因是与描述符70对应的DMA传送 处理完成的情形的中断状态(下面称为完成状态)。
中断状态保持部55保持中断状态。中断状态保持部55根据 中断产生部54的控制,将中断状态设定(更新)为完成状态。另 外,中断状态保持部55根据来自CPU ll的请求,解除完成状态。
图3表示存储在图l的描述符区域31中的描述符70的示例。
如图3所示,描述符70由上位地址区域71、下位地址区域 72 、预约区i或73 、以及包大小区i或74构成。
在上位地址区域71或者下位地址区域72中分别存储有设 为DMA传送对象的包地址之中的例如上位32位或者下位32位。 预约区域73是什么都没存储的空区域。在包大小区域74中存储 有设为DMA传送对象的包的数据大小。
描述符控制部52作为与描述符70对应的处理,读出包区域 32的存储在上位地址区域71和下位地址区域72中的64位的地址 的包,并提供给包通信部53。
下面参照图4说明描述符保持部5 1所保持的描述符开头地 址、描述符数量、CPU清除指针、网卡指针、以及CPU设置指 针。
此外,从开头^J安顺序从0开始对描述符70赋予编号,下面 将编号是i的描述符7 0称为描述符# i 。
图4的描述符区域3].,由在RAM 13上连续排列的分别存储 n-— 1个描述符#0至描述符-//n的描述符区域91 -0至91 -n构成。即
图2的描述符信息保持部51中所保持的能够存储在描述符区域 31中的描述符数量是n+l。另外,将描述符#0的地址作为描述 符开头地址存储到描述符信息保持部5 1中。
在图4中,CPU 11生成描述符#0至描述符#4,并分别存储 到描述符区域91-0至91-4中。CPU ll将存J诸下次生成的描述符 //5的描述符区域91-5的地址作为CPU设置指针而存储到描述符 信息保持部51。
作为与描述符#0至#3对应的处理,描述符控制部52根据描 述符#0至#3从包区域32读出i殳为DMA传送对象的包,并将该包 提供给包通信部5 3 ,由此进行D M A传送。
描述符控制部52根据由包通信部53响应于DMA传送的完 成而提供的、表示与描述符#0至#3对应的DMA传送处理的完成 的完成信息,将与接下来执行的DMA传送处理对应的描述符#4 的地址作为网卡指针而存储到描述符信息保持部51中。
此外,在CPU设置指针和网卡指针之间的描述符区域91 -4 中存储的描述符#4虽然由CPU ll进行了存储,但是该描述符//4 是与还没有由描述符控制部52执行的DMA传送处理对应的描 述符70。
另外,CPU 11响应于由中断产生部54产生的中断信号,对 RAM 13(的包区域32)进行释放等DMA传送完成处理,其中该 RAM 13(的包区域32)是由与描述符控制部52所执行的DMA传 送处理对应的描述符70即描述符#0的上位地址区域71 、下位地 址区域72、以及包大小区域74指定的。CPU11将与下一个设为 DMA传送完成处理对象的包区域32对应的描述符# 1的地址作 为C P U清除指针而存储到描述符信息保持部5 1中。
在步骤S11中,网卡19的中断产生部54响应于来自描述符
断信号通知(发送)给CPU 11,并进入步骤S12。
在步骤S1中,CPU ll接收来自中断产生部54的中断信号, 进入步骤S2。在步骤S2中,CPU ll向网卡19请求中断状态的读 出,进入步骤S3。
在步骤S12中,网卡19的中断状态保持部55^姿收来自CPU ll的中断状态的读出请求,进入步骤S13。在步骤S13中,中断 状态保持部55根据中断状态的读出请求,通知(发送)当前作为 中断状态而保持的完成状态,进入步骤S14。
在步骤S3中,CPU ll从中断状态保持部55接收完成状态, 进入步骤S4。在步骤S4中,CPU ll向网卡19"i貪求网卡指针的读 出,进入步骤S5。
在步骤S14中,网卡19的描述符信息保持部51从CPU ll接 收网卡指针的读出请求,进入步骤S15。在步骤S15中,描述符 信息保持部51根据网卡指针的读出请求,通知所保持的网卡指 针,进入步骤S16。
在步骤S5中,CPU 11从描述符信息保持部51接收网卡指 针,进入步骤S6。在步骤S6中,CPU ll读出存储在RAM 13的 指针信息区域33(图l)中的指针信息的CPU清除指针,根据该 CPU清除指针和来自描述符信息保持部51的网卡指针,对与 RAM 13的描述符区域91-l至91-n中的任何一个对应的包区域 32进行释放等DMA传送完成处理。
例如,在RAM 13的描述符区域31是图4所示的描述符区域 31的情况下,CPU ll根据作为网卡指针的描述符#4的地址和作 为CPU清除指针的描述符^的地址,识别如下情形与已经由
符#0至#3,仅对与该描述符#0至#3对应的包区域32中的与描述
符弁0对应的包区域32进行了 I)MA传送完成处理。
处理中所使用的包对应、并且还没有进行DMA传送完成处理 的、由描述符#1至#3的上位地址区域71、下位地址区域72、包 大小区域74指定的RAM 13的包区域32,进4亍释;改等DMA传送 完成处理。
如以上那样,在中断状态是完成状态的情况下,CPU11对 与由描述符控制部52已经执行的DMA传送处理对应的描述符 70所利用的RAM 13的包区域32进行释放等DMA传送完成处 理,因此完成状态可以说是用于对与已经执行的DMA传送处理
步骤S6的处理之后进入步骤S7, CPU 11根据与在步骤S6 中设为DMA传送完成处理对象的包区域32对应的描述符区域 91-0至91-n,将与下一个设为DMA传送完成处理对象的包区域 32对应的描述符区域91 -0至91 -n的地址作为CPU清除指针而发 送给网卡19,由此请求CPU清除指针的更新。
在步骤S16中,网卡19的描述符信息保持部51从CPU ll接 收CPIJ清除指针,将当前保持的CPU清除指针变更为接收到的 CPU清除指针,由此进行CPU清除指针的更新,并进入步骤S17。
步骤S7的处理后进入步骤S8, CPU ll请求在中断状态保持 部55中作为中断状态而存卩诸的完成状态的解除,并结束处理。
在步骤S17中,网卡19的中断状态保持部55接收来自CPU ll的完成状态的解除请求,根据该请求解除完成状态。即,中 断状态保持部55清除所保持的中断状态。
此外,以往在进行中断处理的装置中,-提出了用于正确、
中断通知电路其使用微分电路、积分电路、以及寄存器等,
能够在以非同步的时钟进行动作的1/0设备和CPU之间正确地
处理中断信号(例如,参照专利文献l)。
另外,有如下逻辑单元其使用触发器对与进行中断处理 的处理器相比以更低频率进行动作的外围装置有效地清除中断 (例如,参照专栏文献2)。
专利文献l:日本特开2001-184298号乂^才艮
专利文献2:日本特开2002-149419号乂>冲艮

发明内容
发明要解决的问题
通常,与CPU ll通过总线14进行的对RAM 13的存取相比, 通过总线14和输入输出接口 15进行的对网卡19的描述符信息保 持部51、中断状态保持部55等寄存器的存取需要较多的时间。
因而,如图5所示,在CPU ll作为中断处理而进行描述符 信息保持部51中保持的网卡指针和CPU清除指针、以及中断状 态保持部55中保持的中断状态的读出的情况下,中断处理需要 较多的时间。
因此,希望减少中断处理中的对CPU ll的网卡19的访问, 简化中断处理,由此来缩短中断处理所需的时间,并减轻CPU 11的负荷。
本发明是鉴于这种情况而作出的,能够简化中断处理,并 缩短中断处理所需的时间。 用于解决问题的方案
本发明的第l信息处理装置的特征在于,具备数据存储 单元,其存储规定的数据;执行单元,其根据用于执行作为使 用了数据的处理的数据处理的处理信息,执行数据处理;产生 单元,其产生中断信号;以及释放单元,其响应于由产生单元
产生的中断信号,释放数据存储单元,其中,产生单元具备 判断单元,其判断是否存在与由执行单元执行的数据处理中使 用的数据对应、并且没有由释放单元释放的数据存储单元;以 及中断控制单元,其在由判断单元判断为存在与数据处理中使 用的数据对应、并且没有释放的数据存储单元的情况下,产生 中断信号并且将中断信号的状态设定为规定的状态,在由判断 单元判断为不存在与数据处理中使用的数据对应、并且没有释 放的数据存储单元的情况下,解除规定的状态。
本发明的第2信息处理装置的特征在于,具备执行单元, 其根据用于执行作为使用了数据的数据处理的处理信息,执行 数据处理;判断单元,其判断是否存在与由执行单元执行的数 据处理中使用的^:据对应、并且没有释放的数据存储单元;以 及中断控制单元,其在由判断单元判断为存在与数据处理中使 用的数据对应、并且没有释放的数据存储单元的情况下,产生 中断信号并且将中断信号的状态设定为规定的状态,在由判断 单元判断为不存在与数据处理中使用的数据对应、并且没有释 放的数据存储单元的情况下,解除规定的状态。
该执行释放处理信息存储单元存储表示与由执行单元执行的数 据处理对应的处理信息的执行处理信息和表示与已经释放的数 据存储单元对应的处理信息的释放处理信息,其中,判断单元
能够根据存储在执行释放处理信息存储单元中的执行处理信息 和释放处理信息进行判断。
在处理信息包含有表示是否执行了与该处理信息对应的 数据处理的执行信息,执行单元在执行了与处理信息对应的数 据处理的情况下,更新该处理信息中包含的执行信息,判断单 元能够根据执行信息进行判断。
本发明的信息处理方法的特征在于,包括执行步骤,根 据用于执行作为使用了数据的处理的数据处理的处理信息,执 行数据处理;判断步骤,判断是否存在与由执行步骤的处理执 行的数据处理中使用的数据对应、并且没有释放的数据存储单 元;以及中断控制步骤,在由判断步-骤的处理判断为存在与数 据处理中使用的数据对应、并且没有释放的数据存储单元的情 况下,产生中断信号并且将中断信号的状态设定为规定的状态, 在由判断步骤的处理判断为不存在与数据处理中使用的数据对 应、并且没有释放的数据存储单元的情况下,解除规定的状态。
本发明的程序的特征在于,包括执行步骤,根据用于执 行作为使用了数据的处理的数据处理的处理信息,执行数据处 理;判断步骤,判断是否存在与由执行步骤的处理执行的数据 处理中使用的数据对应、并且没有释放的数据存储单元;以及 中断控制步骤,在由判断步骤的处理判断为存在与数据处理中 使用的数据对应、并且没有释放的数据存储单元的情况下,产 生中断信号并且将中断信号的状态设定为规定的状态,在由判 断步骤的处理判断为不存在与数据处理中使用的数据对应、并 且没有释放的数据存储单元的情况下,解除规定的状态。
在本发明的第l信息处理装置中,根据用于执行作为使用 了数据的处理的数据处理的处理信息,执行数据处理,判断是 否存在与在所执行的数据处理中使用的数据对应、并且没有释 放的数据存储单元,在判断为存在与数据处理中使用的数据对 应、并且没有释放的数据存储单元的情况下,产生中断信号并 且将中断信号的状态设定为规定的状态,在由判断单元判断为 不存在与数据处理中使用的数据对应、并且没有释放的数据存 储单元的情况下,解除规定的状态。另外,响应于中断信号释
在本发明的第2信息处理装置和信息处理方法以及程序
中,根据用于执行作为使用了数据的处理的数据处理的处理信 息执行数据处理,判断是否存在与所执行的数据处理中使用的 数据对应、并且没有释放的数据存储单元,在由判断单元判断 为存在与数据处理中使用的数据对应、并且没有释放的数据存 储单元的情况下,产生中断信号并且将中断信号的状态设定为 规定的状态,在由判断单元判断为不存在与数据处理中使用的 数据对应、并且没有释放的数据存储单元的情况下,解除规定 的状态。
发明的效果
根据本发明,能够简化中断处理,并缩短中断处理所需的 时间。


图l是表示现有的个人计算机的一例的框图。
图2是表示图1的网卡的功能结构例的框图。 图3是表示描述符的示例的图。 图4是说明描述符保持部中所保持的信息的图。 图5是说明个人电脑1的中断处理的示意图。 图6是表示应用了本发明的个人电脑的一个实施方式的硬 件结构例的框图。
图7是表示图6的网卡的详细结构例的框图。
图8是说明网卡的DMA传送处理的流程图。
图9是说明网卡的中断产生处理的流程图。
图IO是说明CPU的RAMI奪;汰处理的流程图。
图ll是说明个人电脑的中断处理的示意图。
图12是表示应用了本发明的个人电脑的另 一个实施方式的
硬件结构例的框图。
图13是表示图12的网卡的详细结构例的框图。
图14是说明描述符的示例的图。
图15是说明网卡的DMA传送处理的流程图。
图16是说明CPU的RAM释放处理的流程图。
图17是说明图12的个人电脑的中断处理的示意图。
附图标记说明
13: RAM; 31:描述符区域;32:包区域;33:指针信息 区域;51:描述符信息保持部;53:包通信部;100:个人计算 机;101: CPU; 102:网卡;121:描述符控制部;122:中断 产生部;123:中断状态保持部;201: CPU; 202: RAM; 211: 描述符区域;203:网卡;221:描述符控制部;240:描述符; 241: 完成4立区i或。
具体实施例方式
下面参照附图详细说明应用了本发明的具体实施方式

图6是表示应用了本发明的个人电脑100的一个实施方式 的硬件结构例的框图。此夕卜,对与图l相同的部分附加相同附图 标记,并省略说明。
图6的个人电脑100由ROM 12、 RAM 13、总线14、输入输 出接口 15、输入部16、输出部17、记录部18、驱动器20、 CPUIOI、 以及网卡102构成,根据描述符70将存储在RAM 13中的包I)MA 传送到网卡102。
图6的CPU101将设为DMA传送对象的存储在RAM 13的包 区域32中的包的地址等作为描述符70而存储到RAM 13的描述 符区域31中,由此将该包DMA传送到网卡102。
另外,CPU101将表示下一个存储描述符70的描述符区域31 的地址的CPU设置指针存储到RAM 13的指针信息区域33中。 CPU101响应于从网卡102提供的中断信号,作为存储在网卡102 中的与完成状态对应的中断处理,对与由网卡102已经执行的 DMA传送处理对应的描述符70所利用的RAM 13的包区域32进 行释放等DMA传送完成处理。然后,CPU101将表示与下一个 设为DMA传送完成处理对象的包区域32对应的描述符70的地 址的CPU清除指针存储到RAM 13的指针信息区域33中。
网卡102进行DMA传送。具体地说,网卡102根据存储在 RAM 13的描述符区域31中的描述符70,读出存储在RAM 13的 包区域32中的包,并将该包通过未图示的网络发送到其它装置。 另外,网卡102根据网卡指针和CPU清除指针来解除完成状态。
图7是表示图6的网卡102通过执行规定的程序而具有的功 能的结构例的框图。此夕卜,对与图2相同的部分附加相同的附图 标记。
图7的描述符控制部121从描述符信息保持部51读出网卡 指针和CPU设置指针,根据该网卡指针和CPU设置指针来决定 与设为执行对象的DMA传送处理对应的描述符70。描述符控制 部121根据该描述符70从包区域32读出设为DMA传送对象的 包,并提供给包通信部53,由此进行DMA传送处理。
另外,描述符控制部121根据表示从包通信部53提供的 DMA传送处理完成的完成信息,更新存储在描述符信息保持部 51中的网卡指针,并且向中断产生部54通知DMA传送处理的完 成。
并且,描述符控制部121从描述符信息保持部51读出网卡 指针和CPU清除指针,根据该网卡指针和CPU清除指针对中断 产生部122指示完成状态的设定或者解除。
中断产生部122根据来自描述符控制部121的DMA传送处
理完成的通知而产生中,断信号,并提供给CPU101。另外,中断 产生部122根据来自描述符控制部121的完成状态设定或者解除 的指示,将存储在中断状态保持部123中的中断状态更新为完成 状态、或者解除完成状态。
过中断产生部122的控制,将中断状态设定为完成状态、或解除 冗 成状态。
下面参照图8 "i兌明网卡102的DMA传送处理。例如当从 CPU 1.01提供的CPU设置指针被保持到描述符信息保持部5 1中 时,开始该DMA4专送处理。
在步骤S 3 1中,描述符控制部121从描述符信息保持部51读 出网卡指针和CPU设置指针,判断网卡指针和CPU设置指针是 否一致。
在步骤S 3 1中,在判断为网卡指针和C P U设置指针不 一 致的 情况下,即存在与

况下,描述符纟空制部121进行DMA传送。
具体地说,描述符控制部121从RAM 13的描述符区域31读 出网卡指针表示的地址中所存储的描述符70。然后,描述符控 制部121才艮据在该描述符70的上位地址区域71和下位地址区域 72中存储的地址,读出存储在RAM 13的包区域32中的包,提供
给包通信部53。
例如,在网卡指针表示描述符#4的地址、CPU设置指针表 示描述符# 5的地址的情况下,描述符控制部121通过读出描述符
步骤S32的处理后进入步骤S33,描述符控制部121将存储 言息保持部51中的网卡指针更新为与在步骤S32中进 行的D M A传送处理对应的描述符7 0的下 一 个地址、即在当前网
卡指针所表示的地址中存储的描述符70的下一个描述符70的地 址,并返回步骤S31。
另外,在步骤S31中,在判断为网卡指针和CPU设置指针一 致的情况下,即在执行了与描述符区域31中所存储的全部描述 符70对应的DMA传送处理的情况下,结束处理。
下面参照图9说明网卡102的中断产生处理。例如在响应于 C P U1 01的请求而进行描述符信息保持部5 1中所保持的C P U清 除指针或者网卡指针的更新时,开始该中断产生处理。
在步骤S 5 1中,描述符控制部121从描述符信,I保持部5 1读 出网卡指针和CPU清除指针,并进入步骤S52。
在步骤S52中,描述符控制部121判断在步骤S51中读出的 网卡指针和C P U清除指针是否 一 致,在判断为不 一 致的情况下, 即存在与由描述符控制部121执行的DMA传送处理中所使用的 包对应、并且没有由CPU101进行DMA传送完成处理的包区域 32的情况下,向中断产生部122指示完成状态的i殳定,并进入步 骤S53。
在步骤S53中,中断产生部122根据来自描述符控制部121
态设定(更新)为完成状态,并进入步骤S54。
在步骤S54中,中断产生部122产生中断状态是完成状态的 中断信号,并通知该中断信号。即,中断产生部122对与由描述 符控制部121执行的DMA传送处理对应的描述符70所利用的包 区域32通知用于进行释放等I)MA传送完成处理的中断信号。
另 一方面,在步骤S52中,在判断为网卡指针和CPU清除指 针 一 致的情况下,描述符控制部121对中断产生部12 2指示解除 完成状态,并进入步骤S55。
在步骤S55中,中断产生部122根据来自描述符控制部121
的完成状态的解除指示,解除完成状态,并结束处理。
下面参照图IO说明CPU101的RAM释放处理。例如在从网处理。
在步骤S71中,CPU101从RAM 13的指4H言息区域33读出 CPU清除指针,进入步骤S72。
在步骤S72中,CPU101向网卡102请求网卡指针的读出,并 进入步骤S73。
在步骤S73中,CPU101判断是否响应于网卡指针的读出请 求而接收到从描述符信息保持部51发送过来的网卡指针,在没 有接收到的情况下,待机到接收为止。
另 一方面,在步骤S73中判断为接收到网卡指针的情况下, 进入步骤S74, CPU101判断该网卡指针和在步骤S71中读出的 CPU清除指针是否一致。
在步骤S74中,在判断为网卡指针和CPU清除指针不 一 致的 情况下,进入步骤S75, CPU101对由CPU清除指针表示的地址 中存储的描述符70所利用的RAM 13的包区域32进行释放等 DMA传送完成处理,并进入步骤S76。
在步骤S76中,CPU101将存储在RAM 13的指针信息区域33 中的CPU清除指针更新为与在步骤S75中进行了 DMA传送完成 处理的包区域32对应的描述符70的下 一个地址、即表示当前 C P U清除指针所表示的地址的下 一 个地址的C P U清除指针,并 返回步骤S74。
另外,在步骤S74中,在判断为网卡指针和CPU清除指针一 致的情况下,进入步骤S77, CPU102通过将该CPU清除指针提 供给描述符信息保持部51 ,向描述符信息保持部51请求更新 CPU清除指针,并结束处理。
下面参照图ll说明个人电脑ioo的中断处理。
在步骤S101中,网卡102进行图9的步骤S51至S54的处理, 对CPU101通知中断信号,进入步骤S102。
步骤S91至S95的处理与图5的步骤S1至S5的处理相同,因 此省略说明。另外,步骤S102至S105的处理与图5的步骤S12至 S15的处理相同,因此省ffl各i兌明。
在步骤S95的处理后进入步骤S96, CPU101进行图IO的步 骤S71至S76的处5里,l奪》文RAM 13的包区域32,并进入步骤S97。
在步骤S97中,CPU101进行图IO的步骤S77的处理,请求 更新CPU清除指针,并结束处理。
息保持部51接收来自CPU101的CPU清除指针,将当前保持的 CPU清除指针变更为接收到的CPU清除指针,由此进行CPU清 除指针的更新。然后,网卡102进行图9的步骤S51、 S52以及S55 的处理,解除完成状态。
如以上那样,在个人电脑100中,描述符控制部221判断网 卡指针和CPU清除指针是否一致,即判断是否存在与已经执行 的DMA传送处理中使用的包对应、并且尚未由CPU101进行 DMA传送完成处理的包区域32,在存在该包区域32的情况下, 中断产生部122解除完成状态,因此CPU102不需要访问网卡102 来请求解除完成状态。其结果与用图5说明的现有情况相比,能 够在个人电脑IOO中简化中断处理,并缩短中断处理所需的时 间。
图12是表示应用了本发明的个人电脑100的另 一个实施方 式的硬件结构例的框图。此外,对于与图6相同部分附加相同附 图标记,省略i兌明。
此外,在图12的个人电脑100中使用的描述符240(后述的图
14)中,包含有表示与该描述符240对应的DMA传送处理的执行 是否已完成(已一丸4亍)的DMA完成位。例如,在与该描述符240
DMA完成位i殳定为"1",在DMA传送处理的扭J亍还没有完成的 情况下,将描述符240的DMA完成位设定为"0"。
图12的个人电脑100由ROM 12、总线14、输入输出接口 15、 输入部16、输出部17、记录部18、驱动器20、 CPU201、 RAM202 以及网卡203构成,根据描述符240将存储在RAM202中的包 DMA传送给网卡203。
图12的CPU201与图6的CPU101相同,^!夺i殳为DMA传送对 象的存储在RAM202的包区域32中的包地址等作为描述符240 而存储到RAM202的描述符区域211中,由此将该包DMA传送给 网卡102。
另外,CPU201将C:PU设置指针存储到RAM202的指针信息 区域33。 CPU201根据从网卡203提供的中断信号,作为存储在 网卡203中的与完成状态对应的中断处理,对与由网卡203已经 执行的DMA传送处理对应的描述符240所利用的包区域32进行 释放等DMA传送完成处理。然后,CPU201将CPU清除指针存 储到RAM202的指针信息区域33 。
RAM202由包区域32、指针信息区域33、以及存储描述符 240的描述符区域211等构成。
网卡203与图6的网卡102同样地进行DMA传送。另外,网 卡203将与已完成的DMA传送处理对应的描述符240的DMA完 成位设定为表示DMA传送处理已完成的"l"。并且,网卡203根 据网卡指针和CPU清除指针来解除完成状态。
图13是表示图12的网卡203的详细结构例的框图。此外, 对于与图7相同的部分附加相同的附图标记。
图13的描述符控制部221与图7的描述符控制部121同样地 从描述符信息保持部51读出网卡指针和CPU设置指针,根据该 网卡指针和CPUi殳置指针来决定与设为执行对象的DMA传送 处理对应的描述符240。描述符控制部221根据该描述符240,从 包区域32读出设为DMA传送对象的包,并^是供^会包通信部53。
另外,描述符控制部221根据从包通信部53提供的完成信 息,更新存储在描述符信息保持部51中的网卡指针,并且向中 断产生部54通知DMA传送处理完成。并且,描述符控制部221 根据完成信息将与该完成信息表示完成的DMA传送处理对应 的、描述符区域211的描述符240的DMA完成位更新为"1"。
描述符控制部2 21从描述符信息保持部5 1读出网卡指针和 CPU清除指针,根据该网卡指针和CPU清除指针,对中断产生 部122指示完成状态的设定或者解除。
下面参照图14说明存储在图12的描述符区域211中的描述 符240的示例。此外,对于与图3相同的部分附加相同的附图标 记。
图14的描述l寻240由上位i也址区i或71 、下卩立地址区域72、 预约区域73、包大小区域74、以及完成^立区i或241构成。
在完成位区i或241中存储DMA完成位。此外,当CPU202制 作描述符240时,作为DMA完成位,将表示与该描述符240对应 的DMA传送处理没有完成的"O,,存储到DMA完成位区域241中。
描述符控制部221根据来自包通信部53的完成信息,将与 该完成信息表示完成的DMA传送处理对应的、描述符区域211 的描述符240的DMA完成位从"0"更新为'T,。
下面参照图1 5说明网卡203的DMA传送处理。例如在从 CPU201提供的CPU设置指针被保持到描述符信息保持部5 1时 开始该DMA传送处理。
步骤S121至S123的处理与图8的步骤S31至S33的处理相 同,因此省略i兌明。
在步骤S123的处理后进入步骤S124,描述符控制部221将 与在步骤S122中进行的DMA传送处理对应的描述符240的 DMA完成位设定为"1",并返回步骤S121。
下面参照图16说明CPU201的RAM释放处理。例如在从网 卡203提供中断信号、中断状态为完成状态时开始该RAM释放 处理。
在步骤S141中,CPU201从RAM202的指针信息区域33读出 作为指针信息的CPU设置指针和CPU清除指针,并进入步骤 S142。
在步骤S142中,CPU201从描述符区域211读出存储在CPU 清除指针所表示的地址中的描述符240作为DMA传送完成处理 候选,并进入步骤S143。
的描述符240的完成位区域241中所存储的DMA完成位是否为 "1",在判断为DMA完成位是"1"的情况下,即在作为DMA传送 完成处理候选的描述符240与已经由网卡203执行的DMA传送 处理对应、并且还没有对由该描述符240利用的包区域32进行 I)MA传送完成处理的情况下,进入步骤S144。
在步骤S144中,CPU201对与作为DMA传送完成处理候选 的描述符2 4 0对应的包区域3 2进行释放等D M A传送完成处理, 并进入步骤S145。
在步骤S145中,CPU201将存储在RAM202的指针信息区域 33中的CPU清除指针更新为与在步骤S144中进行了 DMA传送 完成处理的包区域32对应的描述符240的下一个描述符240的地 址,并进入步骤S146。
在步骤S146中,CPU201判断在步骤S145中更新的CPU清除 指针和CPU设置指针是否一致,在CPU清除指针和CPU设置指 针不一致的情况下,返回步骤S142。
另 一方面,在步骤S143中判断为DMA完成位不是"1"的情 况下,或者在步骤S146中判断为CPU清除指针和CPU设置指针 一致的情况下,进入步骤S147, CPU102与图IO的步骤S77同样 地读出存储在RAM202的指针信息区域33中的CPU清除指针, 并提供给描述符信息保持部5 1 ,由此向描述符信息保持部5 l请 求更新CPU清除指针,并结束处理。
下面参照图17说明图12的个人电脑100的中断处理。
步骤S181至S183的处理与图11的步骤S101至S103的处理 相同,因此省略说明。另外,步骤S161至S163的处理与图ll的 步骤S91至S93的处理相同,因此省略说明。
在步骤S164中,CPU201进行图16的步骤S141至S146的处 理,释放RAM202的包区域32,并进入步骤S165。
在步骤S165中,CPU201进行图16的步马聚S147的处理,与 图11的步骤S 9 7同样地请求更新C P U清除指针,结束处理。
在步骤S183的处理后进入步骤S184,网卡203的描述符信 息保持部51与图11的步骤S106同样地,接收来自CPU201的CPU 清除指针,进行CPU清除指针的更新。然后,网卡203进行图9 的步骤S51、 S52、以及S55的处理,解除完成状态。
如以上那样,在图12的个人电脑100中,在描述符240的完 成位区域241中存4诸DMA完成位,因此CPU201不需要访问网卡 203来请求读出网卡指针。其结果,在图12的个人电脑100中, 与图6的个人电脑100相比能够进一步简化中断处理,并缩短中 断处理所需的时间。
网卡102或者203,例如也可以是数据存储等。
如以上那样,在网卡102(203)中,描述符控制部121(221) 判断是否存在与已执行的DMA传送处理中使用的包对应、并且 没有进行DMA传送完成处理的包区域32,在判断为存在与已执 行的DMA传送处理中使用的包对应、并且没有进行DMA传送完 成处理的包区域32的情况下,使中断产生部122产生中断信号并 且将中断状态设定为完成状态,在不存在与已执行的DMA传送 处理中4吏用的包对应、并且没有进行DMA传送完成处理的包区 域32的情况下,使中断产生部122解除完成状态,因此能够简化 中断处理,并縮4豆中断处理所需的时间。
在此,在本说明书中,记述用于使计算机进行各种处理的 程序的处理步骤未必沿着作为流程图记载的顺序按时间序列进 行处理,也可以包含并行或者单独执行的处理(例如并行处理或 者基于对象的处理)。
另外,程序可以由l台计算机处理,也可以由多个计算机 分散处理。并且,程序也可以被传送到远处的计算机来执行。
权利要求
1.一种信息处理装置,其特征在于,具备数据存储单元,其存储规定的数据;执行单元,其根据用于执行作为使用了前述数据的处理的数据处理的处理信息,执行前述数据处理;产生单元,其产生中断信号;以及释放单元,其响应于由前述产生单元产生的中断信号,释放前述数据存储单元,前述产生单元具备判断单元,其判断是否存在与由前述执行单元执行的数据处理中使用的前述数据对应、并且没有由前述释放单元释放的前述数据存储单元;以及中断控制单元,其在由前述判断单元判断为存在与前述数据处理中使用的前述数据对应、并且没有释放的前述数据存储单元的情况下,产生前述中断信号并且将前述中断信号的状态设定为规定的状态,在由前述判断单元判断为不存在与前述数据处理中使用的前述数据对应、并且没有释放的前述数据存储单元的情况下,解除前述规定的状态。
2. —种信息处理装置,对具备存储规定的数据的数据存储 单元的其它信息处理装置进行中断,其特征在于,具备执行单元,其根据用于执行作为使用了前述数据的数据处 理的处理信息,-执行前述数据处理;判断单元,其判断是否存在与由前述执行单元执行的数据 处理中使用的前述数据对应、并且没有释放的前述数据存储单 元;以及中断控制单元,其在由前述判断单元判断为存在与前述数 据处理中使用的前述数据对应、并且没有释放的前述数据存储 单元的情况下,产生前述中断信号并且将前述中断信号的状态设定为规定的状态,在由前述判断单元判断为不存在与前述数据处理中使用的前述数据对应、并且没有释》i的前述数据存储 单元的情况下,解除前述规定的状态。
3. 根据权利要求2所述的信息处理装置,其特征在于, 还具备执行释放处理信息存储单元,该执行释放处理信息存储单元存储表示与由前述执行单元执行的数据处理对应的处 理信息的执行处理信息和表示与已经释;改的前述数据存储单元 对应的前述处理信息的释放处理信息,前述判断单元根据存储在前述执行释放处理信息存储单元 中的前述执行处理信息和前述释放处理信息来进行前述判断。
4. 根据权利要求2所述的信息处理装置,其特征在于, 在前述处理信息中包含有表示是否执行了与该处理信息对应的前述数据处理的执行信息,前述执行单元在执行了与前述处理信息对应的前述数据处 理的情况下,更新该处理信息中包含的执行信息,前述判断单元根据前述执行信息进行前述判断。
5. —种信息处理方法,是对具备存储规定的数据的数据存 储单元的其它信息处理装置进行中断的信息处理装置的信息处 理方法,其特征在于,包括执行步骤,根据用于执行作为使用了前述数据的处理的数 据处理的处理信息,执行前述数据处理;判断步骤,判断是否存在与由前述执行步骤的处理执行的 数据处理中使用的前述数据对应、并且没有释放的前述数据存 储单元;以及中断控制步骤,在由前述判断步骤的处理判断为存在与前 述数据处理中使用的前述数据对应、并且没有释放的前述数据 存储单元的情况下,产生前述中断信号并且将前述中断信号的状态设定为规定的状态,在由前述判断步骤的处理判断为不存 在与前述数据处理中使用的前述数据对应、并且没有释放的前 述数据存储单元的情况下,解除前述规定的状态。存储单元的信息处理装置进行中断的处理,其特征在于,包括 执行步骤,根据用于执行作为使用了前述数据的处理的数据处理的处理信息,执行前述数据处理;判断步骤,判断是否存在与由前述执行步骤的处理执行的数据处理中使用的前述数据对应、并且没有释放的前述数据存储单元;以及中断控制步骤,在由前述判断步骤的处理判断为存在与前 述数据处理中使用的前述数据对应、并且没有释放的前述数据 存储单元的情况下,产生前述中断信号并且将前述中断信号的 状态设定为规定的状态,在由前述判断步骤的处理判断为不存 在与前述数据处理中使用的前述数据对应、并且没有释放的前 述数据存储单元的情况下,解除前述规定的状态。
全文摘要
本发明涉及一种能够简化中断处理并缩短中断处理所需时间的信息处理装置和信息处理方法以及程序。在步骤S52中,在网卡指针和CPU清除指针不一致、即存在与已执行的DMA传送处理中使用的包对应、并且没有进行DMA传送完成处理的包区域的情况下,进入步骤S53,中断产生部将中断状态设定为完成状态并进入步骤S54。在步骤S54中,中断产生部产生中断信号。另一方面,在步骤S52中,在不存在与已执行的DMA传送处理中使用的包对应、并且没有进行DMA传送完成处理的包区域的情况下进入步骤S55,中断产生部解除完成状态。本发明例如能够应用于网卡。
文档编号G06F13/24GK101189589SQ20068001930
公开日2008年5月28日 申请日期2006年5月26日 优先权日2005年6月2日
发明者久曾神宏, 山名千秋, 松元秀树, 梶本雅人 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1