[发明专利]一种多核处理器中裸核异常捕获与存储的方法及系统有效
申请号: | 200710181024.1 | 申请日: | 2007-09-26 |
公开(公告)号: | CN101174242A | 公开(公告)日: | 2008-05-07 |
发明(设计)人: | 郭树波;杨骐;周立超 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/28;G06F15/76 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 处理器 中裸核 异常 捕获 存储 方法 系统 | ||
1.一种多核处理器中裸核异常捕获和存储的方法,所述多核处理器包括控制面核和数据面核,其特征在于,所述方法包括:
A所述控制面核运行其操作系统并创建异常守护任务,所述异常守护任务运行并创建控制面核和数据面核之间的共享队列;
B数据面核运行后进行异常处理的初始化流程,设置异常向量表,通过设置异常向量表挂接异常服务例程,并创建异常处理任务;
C数据面核发生异常后,处理器捕获异常信息,通过所述异常向量表回调异常服务例程接管处理,释放异常处理信号量通知异常处理任务;
D所述异常处理任务获得所述信号量后,保存所述异常信息,进行处理后将异常信息以及处理结果写到所述共享队列中;
E所述异常守护任务定时轮询所述共享队列,发现队列中有异常信息,则取出写入外部存储器中。
2.根据权利要求1所述的方法,其特征在于,步骤A中,异常守护任务创建控制面核和数据面核之间的共享队列具体包括:
所述异常守护任务利用处理器预先分配的内存创建控制面核与数据面核之间的共享队列,每个数据面核对应一个共享队列。
3.根据权利要求2所述的方法,其特征在于,步骤B中,所述异常处理的初始化流程具体包括:
初始化一全局变量作为异常处理标志;
初始化一信号量作为异常处理信号量。
4.根据权利要求3所述的方法,其特征在于,步骤C中,异常服务例程接管处理具体包括:
判断异常处理标志是否真,若为真,则直接退出处理,否则继续处理;
将异常处理标志置为真;
保存处理器传来的所述异常信息;
将异常信息传递给所述异常处理任务。
5.根据权利要求4所述的方法,其特征在于,步骤D中,异常处理任务进行处理具体包括:
读取所述异常处理信号量;
判断异常信号量是否可用,若不可用,则继续读取;
读取异常任务上下文;
保存异常任务上下文和异常寄存器集;
进行堆栈分析,分析异常任务的函数调用关系及出现异常的函数名;
将分析的异常详细信息及函数调用关系及出现的函数名放入共享队列中。
6.根据权利要求5所述的方法,其特征在于,步骤E具体包括:
异常守护任务定时轮询共享队列;
判断所述共享队列中是否有异常信息,若没有,则继续定时轮询;
从有异常信息的队列中取出异常信息写入外部存储器中。
7.根据权利要求6所述的方法,其特征在于,所述共享队列中的异常信息包括异常任务函数调用关系、异常点函数名、异常发生时间、异常类型、堆栈、代码段及处理的消息。
8.一种多核处理器中裸核异常捕获与存储的系统,所述多核处理器包括控制面核和数据面核,其特征在于,所述系统包括:
异常守护任务,由控制面核创建,用于运行时创建控制面核和数据面核之间的共享队列,并用于定时轮询所述共享队列,发现队列中有异常信息,则取出写入外部存储器中。
异常服务例程,用于数据面核发生异常后,对所述数据面核进行接管处理,释放信号量通知异常处理任务模块;
异常处理任务模块,由数据面核创建,用于获得信号量后,保存异常信息,对异常点进行处理,将异常信息以及处理结果写到所述共享队列中;
共享队列,用于接收异常信息以及处理结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710181024.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:以图像撷取操作电子设备选项功能的装置及其方法
- 下一篇:一种多功能纺织面料