中断处理方法及装置、中央处理器以及处理设备制造方法及图纸

技术编号:7466338 阅读:228 留言:0更新日期:2012-06-29 02:00
本发明专利技术公开了一种中断处理方法及装置、中央处理器以及处理设备,该方法包括步骤:中央处理器CPU在接收到硬件执行接收数据包或发送数据包的操作后发送的中断处理请求后,确定中断向量查询表中软件指针当前指向的表项以及硬件指针当前指向的表项;判断软件指针当前指向的表项与硬件指针当前指向的表项是否相同;若判断结果为否,则从软件指针当前指向的表项开始,对所述中断向量查询表中的各表项依次进行处理,直至软件指针与硬件指针指向同一个表项。采用本发明专利技术技术方案,解决了现有技术中中断向量查询表中的各表项均为无效表项时,遍历中断向量查询表中的各表项浪费了非常多的处理资源的问题。

【技术实现步骤摘要】

本专利技术涉及中断处理
,尤其涉及一种中断处理方法及装置、中央处理器以及处理设备
技术介绍
El通信技术运用脉冲编码调制技术和时分复用技术,将编码信号在线对上传输, 它最早起源于公众电话网络,其一帧由32个时隙组成,每个时隙占用一个字节,帧频为固定的8000帧/秒,因此在El模式(即所有的32个时隙都分配到一个通道的情况)下,其速率为2. 048兆比特/秒。而在CEl模式下,可以将某一个或某几个时隙分配到一个通道, 这样就可以在链路层创建多个通道,从而提供更多的通道供用户使用。其中,除去时隙0传输帧同步信号外,剩余的31个时隙可以最多分配到31个通道,即将每个时隙分别分配到一个单独的通道,此时每个通道的带宽为64千比特/秒。在现有技术中,通常利用中断向量查询表的各个表项来保存每个通道的通道号以及需要在该通道执行的操作,中断向量查询表的一般结构如表一所示。表一表项0表项1表项2表项3表项4表项5表项6表项k-1中断向量查询表由处理设备的中央处理器(CPU,Central Processing Unit)创建,保存在处理设备的内存中,其中,中断向量查询表中的各表项在内存中是顺序排列的。初始时,软件指针和硬件指针都会指向中断向量查询表中的第一个表项(即表一中的表项0),处理设备的硬件依次向各表项中写入相应内容(通道号和需要在该通道执行的操作),每次向表项中写入相应内容后,该表项由无效表项转为有效表项,然后使对应的硬件指针加一,硬件指针加一后会指向下一个表项。处理设备的CPU依次提取各有效表项中存储的相应内容,每次完成一个有效表项的内容提取后,该表项由有效表项转为无效表项,然后使对应的软件指针加一,软件指针加一后会指向下一个表项。当硬件处理完最后一个表项后,会自动跳回到第一个表项,然后再依次往下执行写入内容的操作,同样的,当CPU 处理完最后一个表项后,也会自动跳回到第一个表项,然后再依次往下执行提取内容的操作。中断向量查询表中的每个表项都可分为若干个域,如表二所示。表二域3域2域1域0在表二中,每个表项由四个域组成,其中,域0用于表示该表项是否为中断向量查询表的最后一个表项,域1用于表示该表项对应的通道(可以用通道号标识),域2和域3 用于表示对应需要在通道中进行的操作。如图1所示,为现有技术中的中断处理方法流程示意图,其具体处理流程如下步骤11,处理设备启动时,将针对中断向量查询表的软件指针和硬件指针分别进行初始化,使其均指向中断向量查询表的第一个表项(即表一中的表项0);步骤12,硬件进行接收数据包或发送数据包的操作时,在中断向量查询表的表项中写入相应内容(需要接收数据包或发送数据包的通道号,以及需要在通道中执行的操作),并设置中断状态寄存器的值,然后以中断的方式通知处理设备的CPU,即向处理设备的CPU发送中断处理请求;步骤13,处理设备的CPU进入中断处理程序,读取中断状态寄存器的值,然后将中断状态寄存器的值归位;步骤14,根据读取的中断状态寄存器的值,判断中断向量查询表是否溢出,若判断结果为是,则执行步骤15,否则,执行步骤16 ;步骤15,清空中断向量查询表,使软件指针和硬件指针指向第一个表项(即表一中的表项0);步骤16,根据步骤13读取的中断状态寄存器的值,判断全局中断是否有效,若判断结果为是,则执行步骤17,否则,执行步骤113 ;步骤17,提取中断向量查询表中软件指针当前所指向的表项中所存储的内容;步骤18,根据提取出的内容,判断该表项是否为有效表项,若判断结果为是,则执行步骤111,否则,执行步骤19;步骤19,将软件指针依次加一,并在每次加一后提取当前指向的表项中的内容,并根据提取出的内容判断当前指向的表项是否为有效表项,直至判断出当前指向的表项为有效表项;步骤110,判断步骤19是否查找到有效表项,若判断结果为是,则转至步骤111,否则,转至步骤113;步骤111,根据从判断出的有效表项中提取出的内容进行相应的处理(例如接收数据包处理或发送数据包处理);步骤112,在步骤111处理完成后,将软件指针加一,指向下一个表项,然后转至步骤17 ;步骤113,退出此次中断处理程序。由上可见,现有技术在实现El通道在CEl模式下进行收发数据包处理时,由于中断状态寄存器中的值是处理设备的硬件负责写入的,处理设备的CPU进入中断处理程序后,若根据中断状态寄存器的值判断出全局中断有效,就会对中断向量查询表中的各表项依次进行处理,在处理完所有有效表项后才能退出中断处理程序,如果在CPU退出此次中断处理程序之前,硬件又执行了收发数据包的操作,那么硬件就会重新设置中断状态寄存器中的值,但是,处理设备的CPU只有在退出此次中断处理程序之后,才能重新读取中断状态寄存器中的值,而此时中断向量查询表中已经不存在有效表项了,CPU依然会根据中断状态寄存器中的值再一次执行中断处理程序,由于此时各表项均为无效表项,因此就需要遍历中断向量查询表中的各表项,从而浪费了非常多的处理资源。
技术实现思路
本专利技术实施例提供一种中断处理方法及装置、中央处理器以及处理设备,用以解决现有技术中中断向量查询表中的各表项均为无效表项时,遍历中断向量查询表中的各表项浪费了非常多的处理资源的问题。本专利技术实施例技术方案如下一种中断处理方法,该方法包括步骤CPU在接收到硬件执行接收数据包或发送数据包的操作后发送的中断处理请求后,确定中断向量查询表中软件指针当前指向的表项以及硬件指针当前指向的表项;判断软件指针当前指向的表项与硬件指针当前指向的表项是否相同;若判断结果为否,则从软件指针当前指向的表项开始,对所述中断向量查询表中的各表项依次进行处理,直至软件指针与硬件指针指向同一个表项。一种中断处理装置,包括中断处理请求接收单元,用于接收硬件执行接收数据包或发送数据包的操作后发送的中断处理请求;表项确定单元,用于在中断处理请求接收单元接收到所述中断处理请求后,确定中断向量查询表中软件指针当前指向的表项以及硬件指针当前指向的表项;表项判断单元,用于判断软件指针当前指向的表项与硬件指针当前指向的表项是否相同;表项处理单元,用于在表项判断单元的判断结果为否时,从软件指针当前指向的表项开始,对所述中断向量查询表中的各表项依次进行处理,直至软件指针与硬件指针指向同一个表项。一种中央处理器,包括上述中断处理装置。一种处理设备,包括上述中央处理器。本专利技术实施例技术方案中,CPU在接收到硬件执行接收数据包或发送数据包的操作后发送的中断处理请求后,不再是直接从软件指针当前所指向的表项开始依次处理中断向量查询表中的各表项,而是首先判断软件指针和硬件指针是否指向同一表项,只有在软件指针当前指向的表项与硬件指针当前指向的表项不相同时,才执行从软件指针当前所指向的表项开始依次处理中断向量查询表中的各表项的操作。由于硬件指针每针对一个表项完成内容写入操作后,硬件指针都会加一,因此在中断向量查询表中存在有效表项时,这些有效表项应为软件指针当前指向的表项以及软件指针和硬件指针之间的表项,若软件指针所指向的表项与硬件指针所指向的表项相同,则说明此时中断向量查询表中已经没有有效表项了,那么就可以退出此次中断处理,因此能够避免中断向量查询表中的各表项均为无效表项时,还要本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:邓彬
申请(专利权)人:福建星网锐捷网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术