CN101131657A - 一种辅助cpu对芯片进行驱动的系统及方法 - Google Patents
一种辅助cpu对芯片进行驱动的系统及方法 Download PDFInfo
- Publication number
- CN101131657A CN101131657A CNA2006101113892A CN200610111389A CN101131657A CN 101131657 A CN101131657 A CN 101131657A CN A2006101113892 A CNA2006101113892 A CN A2006101113892A CN 200610111389 A CN200610111389 A CN 200610111389A CN 101131657 A CN101131657 A CN 101131657A
- Authority
- CN
- China
- Prior art keywords
- chip
- cpu
- auxiliary control
- control chip
- driving
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种辅助CPU对芯片进行驱动的系统及方法,属于计算机网络通信领域。为了解决现有技术中CPU负荷较重,恢复芯片错误机制差的问题,本发明提供了一种辅助CPU对芯片进行驱动的系统,包括配有整体驱动维护运务模块的CPU和辅助控制芯片。本发明还提供了一种辅助CPU对芯片进行驱动的方法,包括系统内的芯片在CPU上的整体驱动维护运务模块内进行注册,CPU对系统内的驱动芯片进行监控,当发现系统出现异常情况时,触发辅助控制芯片对系统发生的异常情况进行规避、监控、错误诊断、托管或记录的步骤。采用本发明所述技术方案便于硬件问题的分析和定位,硬件出现问题后可以在线诊断,同时减轻了CPU的负荷。
Description
技术领域
本发明涉及计算机网络通信领域,特别涉及一种辅助CPU对芯片进行驱动的系统及方法。
背景技术
驱动是底层硬件为上层软件提供对硬件控制的接口函数,它是CPU上的一个软件,它包括对芯片的初始化、功能配置、状态查询、性能统计等功能。目前驱动分为BSP(BSP-BoardSupport Package,板级支持包)和业务芯片驱动,前者主要是对CPU及其最小系统进行配置并引导操作系统,给上层提供一个可运行的软硬件平台,后者对专有功能的业务芯片提供接口,实现对业务的配置和监控。
系统正常的情况下,对芯片的驱动工作主要由CPU来完成,CPU通过驱动使芯片工作,同时对每个芯片的工作状态做简单的记录,例如:记录芯片输入/输出数据的时刻和该数据的具体值。通常CPU需要处理的任务比较多,使CPU的负荷较重。
通常驱动需要连接多种业务芯片,上层软件调用驱动的频率很高,而在现有条件下,上层软件调用驱动时是没有返回值的,直接认为驱动返回成功,按照既有流程顺序执行,直接调用下一步操作,而实际上因为芯片故障或芯片固有特性,有些操作可能会失败或者当前操作无法按时完成,需要等待一段时间才能执行,而强行操作芯片就会引起异常情况。
在驱动调试中,发现一个业务问题时,常常习惯于改写某些芯片的寄存器配置,结果可能会导致系统的复位,或者引起当前环境不可恢复,错过定位问题的时机。解决这个问题需要CPU对系统进行升级或是对芯片打补丁,这就增加了CPU的负荷。
目前驱动问题的规避只靠CPU进行,例如:为规避一个问题,CPU需要高频率地向芯片中的寄存器不停地写入一个值,而CPU的资源是不能保证这样做的。
当不同的芯片之间有通信需要时,单靠主控CPU进行就会增加驱动层软件处理的复杂度。
驱动一般没有启动任务,驱动仅仅是完成一个硬件接口函数库的功能,不能自动完成对芯片的监视、保护、诊断、恢复等功能,而上层软件对芯片的监控也仅限于重要检测点的芯片。
综上,现有技术的缺点是:
1.驱动对芯片发生的错误只是作简单记录,通过这些记录不能分析出错误发生的根本原因;
2.驱动处理单向,和上层缺少沟通,没有动态的修复机制;
3.CPU的负荷较重。
发明内容
本发明为了解决芯片常见错误、减轻CPU负荷较重的问题,提供了一种辅助CPU对芯片进行驱动的系统及方法。
本发明所述方案如下:
一种辅助CPU对芯片进行驱动的系统,所述系统包括CPU和辅助控制芯片;
所述CPU上配置有一个整体驱动维护运务模块,用于对系统内的芯片进行注册和监控,当发现系统出现异常情况时,触发辅助控制芯片;
所述辅助控制芯片用于对系统发生的异常情况进行规避、监控、错误诊断、托管或记录。
所述辅助控制芯片包括:
用户配置策略模块,用于当发现新的芯片缺陷时引入新的规避策略,并把所述规避策略发送到辅助控制芯片管理的用户配置策略队列,然后辅助控制芯片根据所述规避策略对芯片进行规避操作。
所述辅助控制芯片包括:
错误诊断模块,用于当调用驱动引起芯片操作出现错误时,所述辅助控制芯片根据错误行为诊断出错误原因后,获取相应的处理策略对芯片进行处理。
所述辅助控制芯片包括:
托管监控模块,用于当系统忙碌时,辅助控制芯片代替CPU对需要托管的芯片进行跟踪监控。
所述辅助控制芯片包括:
板间通讯模块,用于不同芯片之间有通讯的需要时,驱动芯片把需要发出的数据信息通过辅助控制芯片发送到目的芯片。
所述辅助控制芯片包括:
异常监控模块,用于CPU复位或接收的信号失真时,CPU触发辅助控制芯片监控系统运行环境,对监控信息及当前业务芯片的运行状态信息进行记录。
本发明还提供了一种辅助CPU对芯片进行驱动的方法,所述方法包括以下步骤:
步骤A:系统内的芯片在CPU上的整体驱动维护运务模块内进行注册,辅助控制芯片根据芯片的注册信息对存储区进行初始化,CPU对系统内的驱动芯片进行监控,当发现系统出现异常情况时,触发辅助控制芯片;
步骤B:所述辅助控制芯片被触发后,对系统发生的异常情况进行规避、监控、错误诊断、托管或记录。
所述步骤A中的注册的具体内容是驱动芯片常见错误及这些错误对应的处理策略和驱动芯片托管时需要跟踪的地址及对应该地址的动作定义。
当所述异常情况为发现新的芯片缺陷时,具体执行以下步骤:
步骤A1:CPU把对芯片的处理策略通过整体驱动维护运务模块发送到辅助控制芯片;
步骤B1:所述辅助控制芯片收到所述处理策略后将其保存到用户配置策略队列,并对所述处理策略进行解析获取具体处理策略,通过具体处理策略规避芯片缺陷。
当所述异常情况为调用驱动引起芯片操作出现错误时,具体执行以下步骤:
步骤A2:整体驱动维护运务模块把错误的芯片标识信息发送给辅助控制芯片管理的错误行为处理队列;
步骤B2:辅助控制芯片搜索错误行为处理队列内的错误行为,并诊断分析出错误原因,获取该错误对应的处理策略,然后根据处理策略对芯片进行处理。
当所述异常情况为系统忙碌时,具体执行以下步骤:
步骤A3:辅助控制芯片自动触发,在整体驱动维护运务模块中搜索需要托管芯片的托管信息及其定义,然后按照托管信息获取跟踪信息,并对跟踪信息进行记录;
步骤B3:当CPU空闲后,触发辅助控制芯片由CPU接管监控,辅助控制芯片将收集到的跟踪信息通过整体驱动维护运务模块发送给CPU;
步骤C3:所述CPU收到跟踪信息后与当前收集的信息合并。
当所述异常情况为不同芯片之间有通讯的需要时,具体执行以下步骤:
步骤A4:芯片将需要发出的数据信息通过整体驱动维护运务模块发送到本板辅助控制芯片管理的板间通讯中断缓冲队列;
步骤B4:本板辅助控制芯片对所述数据信息进行解析获取目标板号和源板号,然后将信息进行广播;
步骤C4:如果目标板号的辅助控制芯片对所述数据信息响应,则将数据信息传送到目标板的辅助控制芯片管理的板间通讯中断缓冲队列,触发目标板上的CPU进行中断处理程序;如果目标板号的辅助控制芯片没有响应,则触发错误行为队列进行处理并记录。
当所述异常情况为CPU复位或接收的信号失真时,具体执行以下步骤:
CPU触发辅助控制芯片对当前系统的运行环境进行记录并保存。
应用本发明提供的技术方案带来的有益效果是:
1.利用辅助控制芯片可以对系统内的芯片进行策略配置、诊断错误、托管、通讯或监控,减轻了CPU的负荷;
2.通过在业务板上添加辅助控制芯片,使驱动层硬件实例化、抽象化,便于芯片发生异常情况的分析和定位;
3.硬件出现问题后可以在线诊断,通过控制台就可以规避某些芯片问题;
4.类似路由器这样的大系统,在启动过程中,系统需要做大量的配置工作,这些配置最终通过驱动下发到各类芯片和逻辑过程中,在这种大量的芯片配置操作环境下,经常会有一些配置异常的情况,当出现严重异常的情况时,通过辅助控制芯片的记录信息,可以找出错误发生的根本原因,帮助主控CPU较快恢复正常;
5.当进行板间通信时,通过使用每个业务板上添加的辅助控制芯片,减轻了CPU的通信负荷。
附图说明
图1是本发明提供的辅助CPU对芯片进行驱动的系统示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
本发明提供了一种辅助CPU对芯片进行驱动的系统及方法。因为在系统正常工作的情况下,对芯片的监督工作主要由CPU来完成,但是由于CPU运行在多任务系统中,不能保证对芯片进行实时监控,这时利用本发明方案中提供的辅助控制芯片就可以完成监控等任务。
本发明提到的辅助控制芯片可以采用可编程门阵列FPGA或复杂可编程逻辑器件CPLD实现。CPU指的是业务板上的CPU单元,业务板有别于主控板,主控板上没有辅助控制芯片、没有业务芯片,主控CPU负责管理整个系统的运行。
实施方式1
参见图1,一种辅助CPU对芯片进行驱动的系统,系统主要包括CPU和辅助控制芯片。
每个业务板上有一个CPU和一个辅助控制芯片,本实施方式中的辅助控制芯片以FPGA为例进行说明,FPGA上挂接SDRAM(SDRAM-Synchronous Dynamic RAM,同步动态随机存储器)和NVRAM(NVRAM-Non-Volatile RAM,非易失随机存储器),其中,SDRAM的空间被FPGA划分为用户配置策略队列、错误行为处理队列、托管监控队列、芯片板间通讯中断缓冲队列和系统异常缓冲队列来存储相应的信息,NVRAM作为异常信息的记录区。
在CPU上配置一个整体驱动维护运务模块,通过这个整体驱动维护运务模块对业务板内的驱动芯片进行注册和监控,当发现系统出现异常情况时,该整体驱动维护运务模块触发FPGA对驱动芯片进行处理。
CPU上的整体驱动维护运务模块按照业务功能把驱动芯片划分为许多个小类,每类驱动芯片上配有小类驱动维护运务模块,小类驱动维护运务模块除了用于对相应类驱动芯片的业务进行统计、硬件接口监控、告警信息监控外,还用于维护一个缓冲队列,通过对缓冲队列的维护,实现对控制台的用户策略、当前芯片错误、当前芯片状态、芯片板间通讯中断内容、异常信息内容进行解析和组合。
每个驱动芯片在整体驱动维护运务模块进行注册的注册内容包括:
1)驱动芯片常见错误及这些错误对应的处理策略;
2)驱动芯片托管时需要跟踪的地址及对应该地址的动作定义。
FPGA用于对系统发生的异常情况进行处理,具体处理过程通过下述模块中的一种或是几种完成,具体模块有:
用户配置策略模块、错误诊断模块、托管监控模块、板间通讯模块和异常监控模块。
在CPU管理的内存中配有与上述模块相对应的队列,分别为驱动的用户配置策略队列、错误行为处理队列、托管监控队列、芯片板间通讯中断缓冲队列和系统异常缓冲队列,这些队列由整体驱动维护运务模块管理。
下面分别对FPGA上的每个模块的具体工作情况进行说明。
(1)用户配置策略模块,用于当发现新的芯片缺陷时引入新的规避策略,并把该规避策略发送给FPGA管理的用户配置策略队列。
该用户配置策略具体工作过程为主控CPU把对芯片的处理策略发送给该芯片的小类驱动维护运务模块,小类驱动维护运务模块收到处理策略后对其进行解析和封装,然后将其发送到整体驱动维护运务模块管理的用户配置策略队列,再由整体驱动维护运务模块发送到FPGA管理的用户配置策略队列,FPGA解析该用户配置策略队列后获取具体处理策略并进行规避缺陷操作。
(2)错误诊断模块,用于当调用驱动引起芯片操作出现错误时,FPGA根据错误行为获取该错误对应的处理策略,然后根据处理策略对相应芯片进行处理。
该错误诊断模块具体工作过程为当调用驱动引起芯片操作出现错误时,该芯片的小类驱动维护运务模块把异常信息所在的芯片地址和驱动标识进行组合发送到整体驱动维护运务模块管理的错误行为处理队列,然后由整体驱动维护运务模块发送到FPGA管理的错误行为处理队列,FPGA搜索存储在该队列内部的错误行为,进行错误分析,获取该错误对应的处理策略,根据处理策略进行处理,使芯片恢复正常。
对于难以恢复的错误,CPU通过FPGA记录错误发生的次数和时间,诊断出错误的原因,并上报到控制台。
(3)托管监控模块,用于当系统非常忙碌时,FPGA代替CPU对需要托管的芯片进行跟踪监控。
该托管监控模块具体工作过程为当系统非常忙碌时,如果FPGA在预定的时间内没有收到小类驱动的触发信息,将自动触发,这时在整体驱动维护运务模块中搜索需要托管芯片的托管地址及对其的动作定义,对其进行跟踪,并把获取的跟踪信息存储在FPGA管理的托管监控队列的内存中。
当CPU空闲后,小类驱动得到调度,将写入触发信息到FPGA,又由CPU接管跟踪监控,FPGA把收集的跟踪信息通过整体驱动维护运务模块的托管监控队列发送给小类驱动维护运务模块,由小类驱动维护运务模块解析,并与当前收集信息合并。
(4)板间通讯模块,不同的业务板间需要进行通讯时,小类驱动维护运务模块把需要发出的数据信息通过FPGA发送到目的芯片。
该板间通讯模块具体工作过程为不同的业务板间需要进行通讯时,小类驱动维护运务模块把需要发出的数据信息按照目标板号,源板号,目标芯片类型,发送系列号,源芯片类型,目标芯片ID,源芯片ID发送到整体驱动维护运务模块的芯片板间通讯中断缓冲队列中,然后发送到本板号的FPGA的板间通讯中断缓冲队列;
本板号的FPGA收到上述数据信息后,解析目标板号,源板号,并进行信息广播,在一段时间间隔内,如果有目标板号的FPGA响应,将该数据信息传送到目标板号的FPGA的板间通讯中断缓冲队列;如果没有响应,则触发错误行为处理队列进行处理并记录;
在目标板号的FPGA上解析目标芯片类型,触发相应的CPU中断,中断处理程序读取缓冲队列中的数据,把读取到的数据交给小类驱动维护运务模块解析,同时小类驱动维护运务模块按照发送系列号回发已接收到信息。从而完成整个信息的交互。
(5)异常监控模块,用于CPU复位或接收的信号失真时,CPU触发FPGA对系统运行环境(外部温度、电压等信号)进行监控并记录到NVRAM,所有记录到NVRAM的信息可以由主控CPU通过FPGA接口来读取并删除。
为了使本发明的目的、技术方案和优点更加清晰,以下部分结合某数据通讯产品具体的驱动应用实例进行详细描述。
该应用实例围绕CPU和FPGA对驱动业务的处理分工和配合进行说明。软件上按照业务功能把驱动芯片划分为FRAMER类、NP接口类、TM(Traffic Management,流量管理)类,分别用数字0,1,2表示,假设当前有一个CPU(业务板上的CPU单元),两个FRAMER类芯片FRAMER-1,RAMER-2;一个NP类芯片NP-1,一个TM类芯片TM-1。
对应于所有类芯片公共属性、芯片告警LOG信息和小类驱动运务模块运行监控等由一个整体驱动运务模块DRIVER-T来管理,除此之外,这个整体的驱动运务模块维护着与辅助控制芯片FPGA交互的通讯队列,这些队列与FPGA的用户配置策略队列、错误行为处理队列、托管监控队列、芯片板间通讯中断缓冲队列和系统异常缓冲队列相对应,并被主控CPU控制的软件队列命名为QueuePolicy,QueueErrHandle,QueueConsign,QueueMsg,QueueAbnormal;
上面提到的芯片公共属性可以为芯片当前环境参数,如工作温度、电压等。
对于每一个小类的驱动,在软件上都有如下定义:
(1)一系列错误标识和相应错误标识的处理行为;
(2)芯片需要托管时需要跟踪的地址及相应的处理。
每个驱动小类在CPU上有一个与相应类属性相关的小类驱动维护运务模块,这里命名为FRAMER_T,NP-T,TM-T。它们除了用来对相应类芯片的业务统计、硬件接口监控、告警信息监控外,还维护了一个缓冲队列,该缓冲队列对控制台的用户策略、当前芯片错误、当前芯片状态、芯片板间通讯中断内容、异常信息内容进行解析和组合。
在系统初始化过程中,首先FRAMER-1,RAMER-2,NP-1,TM-1按照设备ID 0,1,2,3注册到整体驱动运务模块中,在这里作一个整体的标识,然后按照芯片的类型注册到各自小类驱动维护运务模块中,驱动标识就是对芯片的编码标号,整体的标号与小类驱动维护运务模块里的标号、驱动类型相对应。
然后按照目前的芯片信息初始化辅助控制芯片FPGA,触发FPGA完成挂在上面的SDRAM进行户配置策略队列、错误行为处理队列、托管监控队列、芯片板间通讯中断缓冲队列和系统异常缓冲队列的初始化,还有NVRAM的空间初始化。
FPGA初始化完成后,FRAMER-1,RAMER-2以ID 0,1注册到FRAMER_T,NP-1,TM-1都以ID 0分别注册到NP-T,TM-T;注册完成后,把各类错误标识和处理行为发送到小类驱动维护运务模块的缓冲队列中,经过小类驱动维护运务模块组合后发送到DRIVER-T管理的QueueErrHandle队列,然后DRIVER-T调用与辅助控制FPGA的接口写入到与小类对应的错误行为处理队列中。需要托管的地址及相应处理的定义也通过QueueConsign写入到托管队列中。
例如:
1.TM-1芯片有新的bug(缺陷),需要通过对寄存器0x200按照时间间隔2ms写入数据来解决。
驱动标识(5bit) | 驱动类型(3bit) | 动作标识(10bit) | 寄存器(20bit) | 时间ms(10bit) | 预留位(16bit) |
1 | 2 | 1(表示按时间间隔写入数据) | 0x200 | 2 |
表1
小类驱动维护运务模块把这个策略按照表1所示格式进行组合,组合的结果就是表中的后三项内容,然后发给DRIVER-T的QueuePolicy,由DRIVER-T发送到辅助控制芯片FPGA的用户配置策略队列,FPGA解析策略队列的64bit(表1所占用的字节总数)的命令字后按照动作标识完成对TM-1芯片的操作。
2.对于当芯片操作过程中发现读写异常,小类驱动维护运务模块把这个异常信息的ID加上驱动标识组合后发到DRIVER-T的QueueErrHandle队列,由DRIVER-T发送到FPGA的错误行为处理队列,FPGA搜索存储在队列内部的错误行为,进行错误分析:比如判断当前的芯片运行环境,检测芯片外挂存储器等,进一步判断是否可以错误恢复,同时触发FPGA的系统异常缓冲队列,对错误信息进行记录;
3.当系统非常忙碌时,小类驱动维护运务模块的优先级较低,芯片一些重要信息得不到定时的数据收集和跟踪,一段时间后,当FPGA在预定的时间内没有收到小类驱动的触发信息后,将自动触发,搜索需要托管芯片的托管信息和定义,FPGA按照托管信息获取跟踪信息,并把跟踪数据存储在队列管理的内存中;
当CPU空闲,小类驱动得到调度,写入触发信息到FPGA,又由CPU接管,FPGA把收集的跟踪信息通过DRIVER-T的QueueConsign队列由小类驱动维护运务模块解析,并与当前收集信息合并;
另外,CPU异常复位时,同样通过FPGA来辅助跟踪管理。
4.当进行芯片间通讯时,小类驱动维护运务模块把需要发出的数据信息按照目标板号,源板号,目标芯片类型,发送系列号,源芯片类型,目标芯片ID,源芯片ID发送到DRIVER-T的QueueMsg队列中,然后发送到FPGA的板间通讯中断缓冲队列;
FPGA解析目标板号,源板号,并进行信息广播,在一段时间间隔内,如果有目标板号的FPGA响应,信息传送到目标板号的FPGA的板间通讯中断缓冲队列,如果没有响应,则触发错误处理机制进行处理并记录;该错误处理机制指在驱动初始化过程中写入FPGA相应队列的,同时这些错误处理机制在系统运行中也可以通过控制台修改,添加,删除。
在目标板号的FPGA上解析目标芯片类型,触发相应的CPU中断,中断处理程序读取缓冲队列中的数据,把数据交给小类驱动维护运务模块解析,同时小类驱动维护运务模块按照发送系列号回发已接收到信息。从而完成整个信息的交互。
5.任何的错误异常信息通过触发FPGA异常监控模块完成到NVRAM信息的记录,所有记录到NVRAM的信息可以由CPU通过FPGA接口来读取并删除。
以上所述的实施例,只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (13)
1.一种辅助CPU对芯片进行驱动的系统,其特征在于,所述系统包括CPU和辅助控制芯片;
所述CPU上配置有一个整体驱动维护运务模块,用于对系统内的芯片进行注册和监控,当发现系统出现异常情况时,触发辅助控制芯片;
所述辅助控制芯片用于对系统发生的异常情况进行规避、监控、错误诊断、托管或记录。
2.如权利要求1所述的辅助CPU对芯片进行驱动的系统,其特征在于,所述辅助控制芯片包括:
用户配置策略模块,用于当发现新的芯片缺陷时引入新的规避策略,并把所述规避策略发送到辅助控制芯片管理的用户配置策略队列,然后辅助控制芯片根据所述规避策略对芯片进行规避操作。
3.如权利要求1所述的辅助CPU对芯片进行驱动的系统,其特征在于,所述辅助控制芯片包括:
错误诊断模块,用于当调用驱动引起芯片操作出现错误时,所述辅助控制芯片根据错误行为诊断出错误原因后,获取相应的处理策略对芯片进行处理。
4.如权利要求1所述的辅助CPU对芯片进行驱动的系统,其特征在于,所述辅助控制芯片包括:
托管监控模块,用于当系统忙碌时,辅助控制芯片代替CPU对需要托管的芯片进行跟踪监控。
5.如权利要求1所述的辅助CPU对芯片进行驱动的系统,其特征在于,所述辅助控制芯片包括:
板间通讯模块,用于不同芯片之间有通讯的需要时,驱动芯片把需要发出的数据信息通过辅助控制芯片发送到目的芯片。
6.如权利要求1所述的辅助CPU对芯片进行驱动的系统,其特征在于,所述辅助控制芯片包括:
异常监控模块,用于CPU复位或接收的信号失真时,CPU触发辅助控制芯片监控系统运行环境,对监控信息及当前业务芯片的运行状态信息进行记录。
7.一种辅助CPU对芯片进行驱动的方法,其特征在于,所述方法包括以下步骤:
步骤A:系统内的芯片在CPU上的整体驱动维护运务模块内进行注册,辅助控制芯片根据芯片的注册信息对存储区进行初始化,CPU对系统内的驱动芯片进行监控,当发现系统出现异常情况时,触发辅助控制芯片;
步骤B:所述辅助控制芯片被触发后,对系统发生的异常情况进行规避、监控、错误诊断、托管或记录。
8.如权利要求7所述的辅助CPU对芯片进行驱动的方法,其特征在于,所述步骤A中的注册的具体内容是驱动芯片常见错误及这些错误对应的处理策略和驱动芯片托管时需要跟踪的地址及对应该地址的动作定义。
9.如权利要求7所述的辅助CPU对芯片进行驱动的方法,其特征在于,当所述异常情况为发现新的芯片缺陷时,具体执行以下步骤:
步骤A1:CPU把对芯片的处理策略通过整体驱动维护运务模块发送到辅助控制芯片;
步骤B1:所述辅助控制芯片收到所述处理策略后将其保存到用户配置策略队列,并对所述处理策略进行解析获取具体处理策略,通过具体处理策略规避芯片缺陷。
10.如权利要求7所述的辅助CPU对芯片进行驱动的方法,其特征在于,当所述异常情况为调用驱动引起芯片操作出现错误时,具体执行以下步骤:
步骤A2:整体驱动维护运务模块把错误的芯片标识信息发送给辅助控制芯片管理的错误行为处理队列;
步骤B2:辅助控制芯片搜索错误行为处理队列内的错误行为,并诊断分析出错误原因,获取该错误对应的处理策略,然后根据处理策略对芯片进行处理。
11.如权利要求7所述的辅助CPU对芯片进行驱动的方法,其特征在于,当所述异常情况为系统忙碌时,具体执行以下步骤:
步骤A3:辅助控制芯片自动触发,在整体驱动维护运务模块中搜索需要托管芯片的托管信息及其定义,然后按照托管信息获取跟踪信息,并对跟踪信息进行记录;
步骤B3:当CPU空闲后,触发辅助控制芯片由CPU接管监控,辅助控制芯片将收集到的跟踪信息通过整体驱动维护运务模块发送给CPU;
步骤C3:所述CPU收到跟踪信息后与当前收集的信息合并。
12.如权利要求7所述的辅助CPU对芯片进行驱动的方法,其特征在于,当所述异常情况为不同芯片之间有通讯的需要时,具体执行以下步骤:
步骤A4:芯片将需要发出的数据信息通过整体驱动维护运务模块发送到本板辅助控制芯片管理的板间通讯中断缓冲队列;
步骤B4:本板辅助控制芯片对所述数据信息进行解析获取目标板号和源板号,然后将信息进行广播;
步骤C4:如果目标板号的辅助控制芯片对所述数据信息响应,则将数据信息传送到目标板的辅助控制芯片管理的板间通讯中断缓冲队列,触发目标板上的CPU进行中断处理程序;如果目标板号的辅助控制芯片没有响应,则触发错误行为队列进行处理并记录。
13.如权利要求7所述的辅助CPU对芯片进行驱动的方法,其特征在于,当所述异常情况为CPU复位或接收的信号失真时,具体执行以下步骤:
CPU触发辅助控制芯片对当前系统的运行环境进行记录并保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101113892A CN100449495C (zh) | 2006-08-25 | 2006-08-25 | 一种辅助cpu对芯片进行驱动的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101113892A CN100449495C (zh) | 2006-08-25 | 2006-08-25 | 一种辅助cpu对芯片进行驱动的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101131657A true CN101131657A (zh) | 2008-02-27 |
CN100449495C CN100449495C (zh) | 2009-01-07 |
Family
ID=39128931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101113892A Expired - Fee Related CN100449495C (zh) | 2006-08-25 | 2006-08-25 | 一种辅助cpu对芯片进行驱动的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100449495C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693180A (zh) * | 2012-05-21 | 2012-09-26 | 北京网御星云信息技术有限公司 | 一种硬件状态的监测方法和系统 |
CN104375479A (zh) * | 2014-09-24 | 2015-02-25 | 惠州市亿能电子有限公司 | 一种可更换从控单元的设备及其主从匹配方法 |
CN105137881A (zh) * | 2015-09-11 | 2015-12-09 | 中国北车集团大连机车研究所有限公司 | 机车智能显示系统和方法 |
CN106919462A (zh) * | 2015-12-25 | 2017-07-04 | 华为技术有限公司 | 一种生成处理器故障记录的方法及装置 |
CN110532035A (zh) * | 2019-10-31 | 2019-12-03 | 珠海泰芯半导体有限公司 | 一种芯片内的单向链路以及芯片 |
CN112506640A (zh) * | 2021-02-07 | 2021-03-16 | 浙江地芯引力科技有限公司 | 一种用于加密运算芯片的多处理器架构及调配方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6003129A (en) * | 1996-08-19 | 1999-12-14 | Samsung Electronics Company, Ltd. | System and method for handling interrupt and exception events in an asymmetric multiprocessor architecture |
GB2395583B (en) * | 2002-11-18 | 2005-11-30 | Advanced Risc Mach Ltd | Diagnostic data capture control for multi-domain processors |
US8250412B2 (en) * | 2003-09-26 | 2012-08-21 | Ati Technologies Ulc | Method and apparatus for monitoring and resetting a co-processor |
-
2006
- 2006-08-25 CN CNB2006101113892A patent/CN100449495C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693180A (zh) * | 2012-05-21 | 2012-09-26 | 北京网御星云信息技术有限公司 | 一种硬件状态的监测方法和系统 |
CN102693180B (zh) * | 2012-05-21 | 2015-03-11 | 北京网御星云信息技术有限公司 | 一种硬件状态的监测方法和系统 |
CN104375479A (zh) * | 2014-09-24 | 2015-02-25 | 惠州市亿能电子有限公司 | 一种可更换从控单元的设备及其主从匹配方法 |
CN105137881A (zh) * | 2015-09-11 | 2015-12-09 | 中国北车集团大连机车研究所有限公司 | 机车智能显示系统和方法 |
CN105137881B (zh) * | 2015-09-11 | 2019-04-19 | 中国北车集团大连机车研究所有限公司 | 机车智能显示系统和方法 |
CN106919462A (zh) * | 2015-12-25 | 2017-07-04 | 华为技术有限公司 | 一种生成处理器故障记录的方法及装置 |
CN106919462B (zh) * | 2015-12-25 | 2020-04-21 | 华为技术有限公司 | 一种生成处理器故障记录的方法及装置 |
CN110532035A (zh) * | 2019-10-31 | 2019-12-03 | 珠海泰芯半导体有限公司 | 一种芯片内的单向链路以及芯片 |
CN110532035B (zh) * | 2019-10-31 | 2020-03-17 | 珠海泰芯半导体有限公司 | 一种芯片内的单向链路以及芯片 |
CN112506640A (zh) * | 2021-02-07 | 2021-03-16 | 浙江地芯引力科技有限公司 | 一种用于加密运算芯片的多处理器架构及调配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100449495C (zh) | 2009-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100356335C (zh) | 保存跟踪数据的方法和装置 | |
CN100449495C (zh) | 一种辅助cpu对芯片进行驱动的系统及方法 | |
US8713350B2 (en) | Handling errors in a data processing system | |
CN102165423B (zh) | 选择性地使用缓解来评估存储器管理技术的有效性以减少错误 | |
DE102006048115B4 (de) | System und Verfahren zum Aufzeichnen von behebbaren Fehlern | |
US10545807B2 (en) | Method and system for acquiring parameter sets at a preset time interval and matching parameters to obtain a fault scenario type | |
CN1996257A (zh) | 对进程进行监控的方法和系统 | |
CN103092746A (zh) | 线程异常的定位方法及系统 | |
US20120233509A1 (en) | Fault detecting method and information processing apparatus | |
CN105589776A (zh) | 一种故障定位方法及服务器 | |
CN105204979A (zh) | 安卓日志的记录方法及移动终端 | |
CN103415840A (zh) | 跨硬件层和软件层的错误管理 | |
CN102880522A (zh) | 面向硬件故障的系统关键文件故障纠正方法及装置 | |
CN106201844A (zh) | 一种日志收集方法及装置 | |
CN1464397A (zh) | 系统进程的保护方法 | |
CN102165426B (zh) | 选择性地使用缓解来减少错误的存储器管理技术 | |
CN106155826A (zh) | 用于在总线结构中检测及处理错误的方法和系统 | |
US11704180B2 (en) | Method, electronic device, and computer product for storage management | |
CN114218004A (zh) | 基于BMC的Kubernetes集群物理节点的故障处理方法和系统 | |
US7620855B2 (en) | Self-defining counters | |
CN116737818B (zh) | Druid数据库连接池的连接泄漏检测方法及系统 | |
JP2000250833A (ja) | 複数サーバ運用管理における稼働情報取得方法およびそのプログラムを記録した記録媒体 | |
CN103995759B (zh) | 基于核内外协同的高可用计算机系统故障处理方法及装置 | |
CN117472623A (zh) | 处理内存故障的方法、装置、设备及存储介质 | |
CN100530110C (zh) | 嵌入式系统中自动监测内存泄漏与内存越界的系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090107 Termination date: 20160825 |
|
CF01 | Termination of patent right due to non-payment of annual fee |