具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明一实施例提供了一种从核状态的监控方法,这一方法应用于逻辑器件,该逻辑器件至少包括定时器模块,且逻辑器件与待测CPU连接。该待测CPU的主核配置N个通道,这些通道与待测从核对应,其中N为自然数且N值大于或等于待测从核的个数。
如图1所示,该方法包括:
101、定时器模块设定定时周期。
值得说明的是,这里设定的定时周期用于判断下述的通道溢出。
102、在定时周期到期时,连续发射N个脉冲。
其中,N个脉冲与N个通道一一对应,N个脉冲用于将N个通道的监控流程从时间上分开,使得在同一时间段内对一个通道进行状态监控。
103、根据N个脉冲划分的时间按照时分复用原则,监控待测从核。
结合上述102的描述,由于脉冲可以用来定时,从而根据N个脉冲可以划分出N个时间段,进而按照时分复用原则,在同一时间段内对一个通道进行状态监控。
值得说明的是,在本发明实施例中逻辑器件包括但不限定为带有Block RAM(Block Random Access Memory,随机存取存储器块)的CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑器件)或FPGA(Field-ProgramableGate Array,现场可编程门阵列),其中的Block RAM用于存储下述的从核信息以及各事件中涉及的数值等。
本发明实施例提供的从核状态的监控方法,这一方法应用于逻辑器件,该逻辑器件与待测CPU连接,且在这一逻辑器件中至少包括定时器模块,待测CPU的主核配置N个通道,这些通道与待测从核对应。首先,设定定时周期,并在该定时周期到期时,连续发射N个脉冲,根据N个脉冲划分的时间按照时分复用原则,监控待测从核。与现有技术中,只能通过CPU主核来记录、存储从核的信息从而实现从核监控来说,本发明实施例中,通过逻辑器件完成从核监控,从而降低了监控从核时所占用的CPU时间以及CPU内存,显著提高了CPU性能。
本发明另一实施例提供了一种从核状态的监控方法,该在这一方法中就如何对待测从核进行监控作了详细描述,如图2所示,该方法包括:
201、接口归一化模块从CPU接口获取接口事件,并发送给计数器控制模块。
其中,接口事件包括计数器刷新事件和通道配置事件,接口归一化模块通过事件类型和通道号来记录接口事件。
在本发明实施例中,计数器刷新事件至少包括一个从核状态信息,该从核状态信息指的是,该从核与主核进行通信交互,执行主核命令后该从核所处的当前状态,该当前状态包括该从核执行主核命令的处理过程;通道配置事件包括通道使能配值和溢出配值。
202、计数器控制模块接收接口归一化模块发送的接口事件和定时器模块发送的定时器到期事件并进行处理。
结合上述如图1所示实施例的描述,每个通道对应一个定时器,且每个通道有各自对应的通道号,则根据接口事件中的通道号,能够获取到对应的定时器到期事件。
值得说明的是,结合上述的201、202的描述,在获取到上述定时器到期事件、计数器刷新事件、通道配置事件后,由于同一时间内只能就单个事件进行信息处理,也就是执行下述203,则需要将获取到的事件存储到事件缓冲FIFO(First in first out,先进先出缓存器)中。
203、计数器控制模块根据接口事件中所包含的通道号,获取与通道号对应的通道的计数器值。
值得说明的是,该计数器控制模块,根据通道号获取与通道号对应的通道的计数器值,该计数器值表示定时周期出现的次数,通过通道配置事件获取通道使能配值和溢出配值,通过计数器刷新事件获取从核状态信息、刷新次数,该刷新次数表示从核与主核的通信交互次数。
在获取到上述数值信息之后,进一步的在对从核的监控流程中,包括对定时器到期事件、计数器刷新事件和通道配置事件的处理,且具体的处理流程包括:
第一、计数器控制模块接收定时器模块发送的定时器到期事件并进行处理,包括:
当通道使能配值表示通道使能,且计数器值根据计数规则递增后的值小于溢出配值时,将计数器值更新为计数器值根据计数规则递增后的值。
其中,计数器值根据计数规则递增后的值,其中的计数规则可以是在原计数器值的基础上加一个数值,该数值可以是1或者2等,在本发明实施例中,该计数规则可以由系统或者用户设定,且对具体的计数规则不作限定。当计数器值根据计数规则递增后的值小于溢出配值则表示该计数器未溢出。
值得说明的是,为了方便描述,在本实施例中对具体的数值利用字母指代,但并不限定具体数值所采用的指代形式,只要能够区分不同的数值即可。其中的通道使能配值包括但不限定通过“E”表示,当E=0时,确定通道使能,否则确定通道未使能。上述描述的计数器值包括但不限定通过“A”表示,溢出配值包括但不限定通过“B”表示,由于A表示的定时周期出现的次数,则B实际表示一个时长概念,比如B的预设值为P,则B就表示P个定时周期的时长。
或者,
当通道使能配值表示通道使能,且计数器值根据计数规则递增后的值大于溢出配值时,重置计数器值和刷新次数,并将待缓存信息发送给中断缓冲FIFO。
其中,待缓存信息包括通道号和从核状态信息,且该待缓存信息还可以包括计数器刷新次数对应的数值。
值得说明的是,此处的计数器值根据计数规则递增后的值与上述的相关内容描述相同,在此不再重复说明。在此处以计数器值根据计数规则递增后的值为计数器值加1为例进行说明,当计数器值加1后大于溢出配值时,表示该从核长时间未响应,计数器溢出,则此时存储待缓存信息,结合上述的描述该待缓存信息包括通道号和从核状态信息,从而在该从核异常时,可以根据该从核状态信息分析异常原因,从而为从核的调试提供分析依据。
第二、计数器控制模块接收接口事件并进行处理,且该接口事件为计数器刷新事件时,这一处理流程包括:
当通道使能配值表示通道使能时,将刷新次数更新为根据刷新规则递增后的值,并重置计数器值。
其中,刷新次数根据刷新规则递增后的值,其中的刷新规则可以是在原刷新次数的基础上加一个数值,该数值可以是1或者2等,在本发明实施例中,该刷新规则可以由系统或者用户设定,且对具体的计数规则不作限定。
值得说明的是,在处理该计数器刷新事件时,还可以存储从核状态信息。
第三、计数器控制模块接收接口事件并进行处理,且该接口事件为通道配置事件时,这一处理流程包括:
根据待测CPU主核发出的通道配置指令更新溢出配值。
在该通道配置事件的处理流程中,每个通道的计数器存在一个初始的溢出配值,而CPU主核发出的通道配置指令中包括溢出配值,该溢出配值由CPU主核根据对应从核所要执行的任务设定,进而在从核接收到CPU主核发出的通道配置指令后,将初始的溢出配值更新为该通道配置指令中携带的溢出配值。该溢出配值与上述通过通道配置事件获取的溢出配值相同。
值得说明的是,在本发明实施例中不限定上述第一、第二、第三所陈述的处理流程的执行顺序,只要获取了执行相应事件所需的数值后,便可执行该事件的处理流程。且上述的第一、第二种执行流程是在通道使能的情况下执行的,当通道处理未使能状态时,则忽略该事件。
本发明另一实施例提供了一种从核状态的监控方法,本实施例描述的是监控方法的整体实现流程,在本实施例中,计数器根据计数规则递增后的值为原始的计数器值加1,刷新次数根据刷新规则递增后的值为原始的刷新次数加1,如图3所示,该方法包括:
301、待测CPU的主核配置N个通道。
302、逻辑器件通过定时器模块,设定定时周期。
303、当定时器到期时,逻辑器件通过定时器模块产生N个脉冲。
结合上述301的描述,在本实施例的一种可选实现方式中,在逻辑器件上设有通道号计数器,每一个脉冲的产生伴随着通道号计数器从0到N-1同步变化,使得每个通道对应一个脉冲。
304、待测CPU的主核配置通道使能配值和溢出配值。
值得说明的是,该304描述的方法流程,由待测CPU的主核通过CPU接口配置,从而完成每个从核所对应的通道配置。
进一步的在完成通道配置之后,该通道的计数器开始计数,该计数器用于记录上述描述涉及的计时器值。
305、在每经过一个定时周期后,该计数器记录的计数器值加1。
值得说明的是,该计数器值的更新对应上述的定时器到期事件,能够用于判断通道计数器是否溢出。
306、在从核与主核进行一次交互后,计数器刷新事件中的刷新次数加1,并获取从核状态信息。
值得说明的是,该306描述的从核与主核进行一次通信交互,指的是从核与主核之间进行一次有效通信,但本发明实施例并不限定该通信方式,从核状态信息的具体内容与上述相关描述相同,在此不再重复说明。
307、当计数器值加1后小于溢出配值时,将计数器值更新为计数器值加1。
该307与上述步骤203中的第一种处理流程对应,相关描述相同,在此不再重复说明。
308、当计数器值加1后大于溢出配值时,将待缓存信息发送到中断缓冲FIFO中存储。
其中该308与上述步骤203中的第二种处理流程对应,相关描述相同,在此不再重复说明。
在本发明实施例的一种可选实现方式中,步骤308描述的即为通道计数器溢出的情况,此时逻辑器件向CPU发送中断指示,而CPU主核可以获取到相应的从核状态信息,进而对从核进行异常分析。
本发明另一实施例提供了一种从核状态的监控装置,该装置包括逻辑器件,且该逻辑器件与待测中央处理器CPU连接,其中待测CPU的主核配置N个通道,这些通道与待测从核对应,且N值大于或等于待测从核的个数。
如图4所示,该装置包括:定时器模块41、监控模块42。
定时器模块41,用于设定定时周期,并在定时周期到期时,连续发射N个脉冲。
其中,N个脉冲与N个通道一一对应。
监控模块42,用于根据定时器模块41发射的N个脉冲所划分的时间,按照时分复用原则,监控待测从核。
在该装置的一种可选构成方式中,如图5所示,该装置还包括:接口归一化模块43、计数器控制模块44;计数器控制模块44包括:第一处理子模块441,第二处理子模块442和/或第三处理子模块443。值得说明的是,在该附图5中以该装置的计数器控制模块44包括:第一处理子模块441,第二处理子模块442和第三处理子模块443为例说明。
接口归一化模块43,用于从CPU接口获取接口事件并发送给计数器控制模块44。
其中,接口事件包括计数器刷新事件和通道配置事件。
计数器控制模块44,用于接收接口归一化模块43发送的接口事件并进行处理;还用于接收定时器模块41发送的定时器到期事件并进行处理。
计数器控制模块44,还用于根据从接口归一化模块43获取的接口事件中包含的通道号,获取与该通道号对应的通道的计数器值,该计数器值表示定时周期出现的次数;还用于通过通道配置事件获取通道使能配值和溢出配值;还用于通过计数器刷新事件获取从核状态信息、刷新次数,其中,刷新次数表示从核与主核的通信交互次数。
第一处理子模块441,用于当通道使能配值表示通道使能,且计数器值根据计数规则递增后的值小于溢出配值时,将计数器值更新为计数器值根据计数规则递增后的值;或者,用于当通道使能配值表示通道使能,且计数器值根据计数规则递增后的值大于溢出配值时,重置计数器值和刷新次数,并将待缓存信息发送给中断缓冲FIFO。
其中,待缓存信息包括通道号和从核状态信息。
第二处理子模块442,用于当通道使能配值表示通道使能时,将刷新次数更新为刷新次数根据刷新规则递增后的值,并重置计数器值。
第三处理子模块443,用于根据待测CPU主核发出的通道配置指令更新溢出配值。
值得说明的是,本实施例提供的如图4、5所示的装置,用于实现上述如图1至图3所示的方法流程。
本发明实施例提供了一种从核状态的监控装置,该装置包括逻辑器件,该逻辑器件与待测CPU连接,且在这一逻辑器件中至少包括定时器模块,待测CPU的主核配置N个通道,这些通道与待测从核对应。首先,利用定时器模块设定定时周期,并在该定时周期到期时,连续发射N个脉冲,进而监控模块根据N个脉冲划分的时间按照时分复用原则,监控待测从核。与现有技术中,只能通过CPU主核来记录、存储从核的信息从而实现从核监控来说,本发明实施例中,通过逻辑器件完成从核监控,从而降低了监控从核时所占用的CPU时间以及CPU内存,显著提高了CPU性能。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。