CN106708689A - 异常设备定位方法及装置 - Google Patents
异常设备定位方法及装置 Download PDFInfo
- Publication number
- CN106708689A CN106708689A CN201510799113.7A CN201510799113A CN106708689A CN 106708689 A CN106708689 A CN 106708689A CN 201510799113 A CN201510799113 A CN 201510799113A CN 106708689 A CN106708689 A CN 106708689A
- Authority
- CN
- China
- Prior art keywords
- equipment
- label
- bus
- monitored
- monitoring
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/267—Reconfiguring circuits for testing, e.g. LSSD, partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种异常设备定位方法,获取待监测设备的标号,根据所述待监测设备的标号确定所述待监测设备对应的处理器;关闭总线监控系统,以对所述处理器关联的总线监控环寄存器组进行工作状态的配置;在所述总线监控环寄存器组配置完成后,启动所述总线监控系统,并通过所述总线监控系统采集途经设备对应的标号汇总值,其中,所述途经设备是数据通过总线传输至所述待监测设备的过程中途经的各个设备;对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号。本发明还公开了一种异常设备定位装置。本发明实现了对异常设备的定位。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种异常设备定位方法及装置。
背景技术
随着通信技术的快速发展,通信领域的其它各项技术随之发展,在复杂的SOC(System on Chip,系统级芯片)系统中,若出现特定的软件错误,如内存被改写时,都是利用中央处理器(Central Processing Unit,CPU)或数字信号处理器(Digital Signal Processor,DSP)内核匹配机制的捕获技术对异常情况进行检测,但是中央处理器和数字信号处理器只能监测核对内存的改写行为,无法检测出是哪个设备引起的异常。
发明内容
本发明的主要目的在于提出一种异常设备定位方法及装置,旨在解决软件异常时,中央处理器和数字信号处理器只能检测核对内存的改写行为,无法检测出哪个设备引起的异常的技术问题。
为实现上述目的,本发明提供的一种异常设备定位方法,所述异常设备定位方法包括以下步骤:
获取待监测设备的标号,根据所述待监测设备的标号确定所述待监测设备对应的处理器;
关闭总线监控系统,以对所述处理器关联的总线监控环寄存器组进行工作状态的配置;
在所述总线监控环寄存器组配置完成后,启动所述总线监控系统,并通过所述总线监控系统采集途经设备对应的标号汇总值,其中,所述途经设备是数据通过总线传输至所述待监测设备的过程中途经的各个设备;
对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号。
优选地,所述对所述处理器关联的总线监控环寄存器组进行工作状态的 配置的步骤包括:
提取所述处理器关联的总线监控环寄存器组中的各个开关寄存器及使能寄存器;
对获取的各个开关寄存器配置预设标志位,以使各个开关寄存器的工作状态处于运行状态;
对获取的各个使能寄存器配置所述处理器的标识、所述被监测设备的标号、所述被监测设备的物理地址、以及所述被监测设备的地址掩码,以使各个使能寄存器的工作状态处于运行状态。
优选地,所述对所述处理器关联的总线监控环寄存器组进行工作状态的配置的同时,执行以下步骤:
根据配置的结果输出提示信息。
优选地,所述对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号的步骤包括:
对采集的所述标号汇总值进行二进制处理,得到二进制数值;
根据所述二进制数值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,以获取数据通过总线传输至所述待监测设备的上一个设备对应的设备标号;
确定所述上一个设备对应的设备标号是否存在中间总线;
若不存在中间总线,将所述上一个设备对应的设备标号作为异常设备对应的设备标号。
优选地,所述确定获取的设备标号是否存在中间总线的步骤之后,所述异常设备定位方法还包括:
若存在中间总线,获取通过中间总线与所述上一个设备对应的设备标号关联的上一个设备标号,直到关联的上一个设备标号不存在中间总线;
将不存在中间总线的所述关联的上一个设备标号作为异常设备对应的设备标号。
此外,为实现上述目的,本发明还提出一种异常设备定位装置,所述异常设备定位装置包括:
获取模块,用于获取待监测设备的标号;
确定模块,用于根据所述待监测设备的标号确定所述待监测设备对应的处理器;
配置模块,用于关闭总线监控系统,以对所述处理器关联的总线监控环寄存器组进行工作状态的配置;
启动模块,用于在所述总线监控环寄存器组配置完成后,启动所述总线监控系统;
采集模块,用于通过所述总线监控系统采集途经设备对应的标号汇总值,其中,所述途经设备是数据通过总线传输至所述待监测设备的过程中途经的各个设备;
处理模块,用于对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号。
优选地,所述配置模块包括:
提取单元,用于提取所述处理器关联的总线监控环寄存器组中的各个开关寄存器及使能寄存器;
配置单元,用于对获取的各个开关寄存器配置预设标志位,以使各个开关寄存器的工作状态处于运行状态;
所述配置单元,还用于对获取的各个使能寄存器配置所述处理器的标识、所述被监测设备的标号、所述被监测设备的物理地址、以及所述被监测设备的地址掩码,以使各个使能寄存器的工作状态处于运行状态。
优选地,所述异常设备定位装置还包括:
输出模块,用于所述配置模块对所述处理器关联的总线监控环寄存器组进行工作状态配置的同时,根据配置的结果输出提示信息。
优选地,所述处理模块包括:
处理单元,用于对采集的所述标号汇总值进行二进制处理,得到二进制数值;
获取单元,用于根据所述二进制数值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,以获取数据通过总线传输至所述待监测设备的上一个设备对应的设备标号;
确定单元,用于确定所述上一个设备对应的设备标号是否存在中间总线;
所述处理单元,还用于若不存在中间总线,将所述上一个设备对应的设备标号作为异常设备对应的设备标号。
优选地,所述获取单元,还用于若存在中间总线,获取通过中间总线与所述上一个设备对应的设备标号关联的上一个设备标号,直到关联的上一个设备标号不存在中间总线;
所述处理单元,还用于将不存在中间总线的所述关联的上一个设备标号作为异常设备对应的设备标号。
本发明提出的异常设备定位方法及装置,先获取待监测设备的标号,根据所述待监测设备的标号确定所述待监测设备对应的处理器,并对所述处理器关联的总线监控环寄存器组进行工作状态的配置,在所述总线监控环寄存器组配置完成后,通过所述总线监控系统采集途经设备对应的标号汇总值,最后对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号,实现了通讯异常时,对总线监控系统采集的标号汇总值进行分析,结合各个设备事先编好的标号,获取异常设备对应的设备标号,而不是仅仅通过中央处理器或数字信号处理器监测核对内存的改写行为,无法检测出是哪个设备引起的异常,本发明实现了通讯异常时,可以逐级追溯到产生异常的源端设备的标号,从而检测出产生异常的源端设备。
附图说明
图1为本发明异常设备定位方法较佳实施例的流程示意图;
图2为本发明对所述处理器关联的总线监控环寄存器组进行工作状态的配置较佳实施例的流程示意图;
图3为本发明根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号第一实施例的流程示意图;
图4为本发明根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号第二实 施例的流程示意图;
图5为本发明异常设备定位装置较佳实施例的功能模块示意图;
图6为图5中配置模块的细化功能模块示意图;
图7为图5中处理模块的细化功能模块示意图;
图8为A侧总线监控环路与AXI总线的映射图;
图9为B侧总线监控环路与AXI总线的映射图;
表1为SOC系统中的总线节点上外挂的设备编号。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种异常设备定位方法。
参照图1,图1为本发明异常设备定位方法第一实施例的流程示意图。
本实施例提出一种异常设备定位方法,所述异常设备定位方法包括:
步骤S10,获取待监测设备的标号,根据所述待监测设备的标号确定所述待监测设备对应的处理器;
在本实施例中,所述步骤S10之前,包括步骤:设置SOC系统中的总线节点上外挂的设备标号,即设置SOC系统中每个设备都有各自的标号(参照表1)。
本实施例中,选择当前通讯异常的设备作为待监测设备,即当前无法继续完成通讯过程的设备,通讯在该设备的位置停止,那么获取通讯异常的设备作为待监测设备,然后获取所述待监测设备的标号,由于各个设备之间是通过总线进行通讯的连接,那么,延着总线的逆向推导,即可根据获取的待监测设备标号逐级推出源端设备的标号,所述源端设备即为实际产生异常的设备。而在获取到待监测设备的标号时,根据所述待监测设备的标号确定所述待监测设备对应的处理器,所述处理器包括两个处理器,本实施例以A侧处理器和B侧处理器为例。
表1
步骤S20,关闭总线监控系统,以对所述处理器关联的总线监控环寄存器组进行工作状态配置;
在本实施例中,所述总线监控系统优选包括AXI(Advanced eXtensible Interface,一种总线协议)总线监控系统,下文均以AXI总线监控系统为例,将AXI总线监控系统关闭,也就是将AXI总线节点监控使能开关寄存器,写0关闭。在关闭所述AXI总线监控系统后,对所述处理器关联的AXI总线监控环寄存器组进行工作状态的配置,具体的配置过程在下文实施例中详述,由于A侧处理器和B侧处理器都分别有自己的总线监控环,而且不同处理器的总线监控环访问寄存器组的基地址也不同,因此,在确定待监测设备对应的处理器后,先关闭AXI总线监控系统,然后对所述处理器关联的AXI总线监控环寄存器组进行工作状态的配置。
步骤S30,在所述总线监控环寄存器组配置完成后,启动所述总线监控系统,并通过所述总线监控系统采集途经设备对应的标号汇总值,其中,所述途经设备是数据通过总线传输至所述待监测设备的过程中途经的各个设备;
在本实施例中,在所述AXI总线监控环寄存器组配置完成后,启动所述AXI总线监控系统,也就是将AXI总线节点监控使能开关寄存器,写1打开,在所述AXI总线监控系统启动后,此时开始正常的数据访问流程,先触发AXI总线监控系统,触发过程一开始,所述AXI总线监控系统开始采样,所述AXI总线监控系统采集通过所述总线监控系统采集标号汇总值,优选所述AXI总线监控系统分别读取标号汇总采样最新匹配值、标号汇总采样次新匹配值、标号汇总采样第三次匹配值,对三次读取的采样值取平均值,使得读取的标号汇总值更加准确,然后将读取的采样值分为每16位一组,总共读取8组寄存器。进一步地,还可通过读AXI总线监控环寄存器采集途经设备对应的标号汇总值。
步骤S40,对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号。
在本实施例中,对采集的所述标号汇总值进行二进制处理,所述二进制处理为:将所述标号汇总值转化为二进制数值,根据转化后的二进制数值以及所述待监测设备的标号,查找所述总线监控系统对应的的设备标号表(参照表1),其中,所述设备标号表中包括A处理器以及B处理器对应的各条AXI总线,每条AXI总线对应有各个设备,每个设备对应着一个设备标号(即表中的ID号)、值得注意的是,在各个设备中,有部分设备对应有中间总线。在本实施例中,通过二进制转化后的标号汇总值以及所述待监测设备的标号,可获取到所述待监测设备的上一个设备,所述上一个设备就是与所述待监测设备通过总线连接的设备,在获取到所述上一个设备后,确定所述上一个设备是否对应有中间总线,若所述上一个设备对应有中间总线,说明产生异常的原因是与所述上一个设备通过中间总线连接的其它设备传递过来的,此时,获取与所述上一个设备通过中间总线连接的其它设备,并继续分析所述其它设备是否还存在中间总线,直到所述其它设备不存在中间总线,确定所述其它设备为产生异常的源端设备,获取所述源端设备对应的设备标号。
本实施例提出的异常设备定位方法,先获取待监测设备的标号,根据所述待监测设备的标号确定所述待监测设备对应的处理器,并对所述处理器关联的总线监控环寄存器组进行工作状态的配置,在所述总线监控环寄存器组配置完成后,通过所述总线监控系统采集途经设备对应的标号汇总值,最后对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号,实现了通讯异常时,对总线监控系统采集的标号汇总值进行分析,结合各个设备事先编好的标号,获取异常设备对应的设备标号,而不是仅仅通过中央处理器或数字信号处理器监测核对内存的改写行为,无法检测出是哪个设备引起的异常,本发明实现了通讯异常时,可以逐级追溯到产生异常的源端设备的标号,从而检测出产生异常的源端设备。
进一步地,为了提高异常设备定位的灵活性,基于第一实施例提出本发明异常设备定位方法的第二实施例,在本实施例中,参照图2,所述步骤S20包括:
步骤S21,提取所述处理器关联的总线监控环寄存器组中的各个开关寄存器及使能寄存器;
步骤S22,对获取的各个开关寄存器配置预设标志位,以使各个开关寄存器的工作状态处于运行状态;
对获取的各个使能寄存器配置所述处理器的标识、所述被监测设备的标号、所述被监测设备的物理地址、以及所述被监测设备的地址掩码,以使各个使能寄存器的工作状态处于运行状态。
在本实施例中,对所述处理器关联的总线监控环寄存器组进行工作状态配置,具体分两种情况:对被监测设备的读操作、对被监测设备的写操作,而需配置的AXI总线监控环寄存器组的各个寄存器包括开关寄存器:AXI总线读通道使能寄存器、地址通道触发使能寄存器、通道触发使能寄存器、配置匹配通道使能寄存器,其中,对各个开关寄存器配置预设标志位,优选地,标志位为1时,工作状态处于运行状态,即标志位为1时,各个开关寄存器打开;使能寄存器:配置匹配通道使能寄存器(存放数据或地址),每个AXI总线监控环有两个32位访问控制寄存器:总线监控环访问写寄存器和总线监 控环访问读寄存器。需要配置的command命令字必需所述处理器的标识,如A侧处理器或B侧处理器标号、被监测设备的物理地址、以及所述被监测设备的地址掩码(用于明确监测地址范围)。其中,读取数据需要发两次命令取数,期间有延迟设置,能保证读数据正常完成。以上对AXI总线监控环寄存器组的配置,都涉及到AXI总线监控使用总线监控节点环的高级外设总线(Advanced Peripheral Bus,简称APB)接口使用方式,而APB接口使用方式,通过系统总线访问节点环中的接口寄存器达到操作节点环的目的。在本实施例中,确定对被监测设备的行为是写操作还是读操作,两种操作方式访问的寄存器及流程有所不同,若是写操作,则配置对监测设备的写操作行为;若是读操作,则配置对监测设备的读操作行为。
进一步地,所述执行步骤S20的同时,执行以下步骤:
根据配置的结果输出提示信息。
本实施例中,对各个寄存器进行读写操作均有返回应答指示操作结果:优选地,0标识测试系统控制发出的指令有误,设备地址和所有的待监测设备都不匹配;1表示忙,主要为数据buf已满,不可再存储数据,要求先把之前读请求的数据读完,然后才能正常读取其他寄存器地址;2表示待完成,若为写操作,此数值不会出现。若为读操作,当第一次读取某寄存器中的数据时,可能会出现,需要再读一次。
进一步地,为了提高异常设备定位的灵活性,基于第一实施例提出本发明异常设备定位方法的第三实施例,在本实施例中,参照图3,所述步骤S40包括:
步骤S41,对采集的所述标号汇总值进行二进制处理,得到二进制数值;
步骤S42,根据所述二进制数值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,以获取数据通过总线传输至所述待监测设备的上一个设备对应的设备标号;
步骤S43,确定所述上一个设备对应的设备标号是否存在中间总线;
步骤S44,若不存在中间总线,将所述上一个设备对应的设备标号作为异常设备对应的设备标号。
为更好理解本实施例中,参照图8和图9,每个设备都有各自的监控点, 实线箭头串联形成总线监控环,虚线箭头表示其与总线的数据访问方向,图8表示A侧的总线监控环、图9表示B侧的总线监控环。
对采集的所述标号汇总值进行二进制处理,得到二进制数值,如所述标号汇总值为876,则将所述标号汇总值转换为二进制得到X=001101101100。若此时待监测设备在B侧,且标号为7或8,根据图9,即可知道待监测设备是Master1,根据图9找到命令从AXI M1xN1过来,此时,参照表1,可知B侧的M1xN1有7个设备,为Master0-Master6,即获取到Master数为7,可计算出7与2的3次方相近,默认位数N1为3,此时分析X的低3位,即Y1=100,同理,查找表1,找到M1xN1中,Y1对应的设备是Master4,此时确定所述M1xN4是否存在中间总线,从表1中可看出,M1xN4是存在中间总线的。若此时Y1对应的设备是Master0,那么从表1中可看出,不存在中间总线,那么可将Master0作为异常原因对应的设备标号,相应的,Master0就是产生异常的设备。
本实施例采用了AXI总线与设备的级联关系映射、标号汇总扩展等技术,解决了现有异常定位手段只能监测软件异常行为和总线命令,而无法监测设备异常行为的问题,更加完善了异常定位手段,节省了疑难问题的定位时间,提高了故障解决效率。
进一步地,为了提高异常设备定位的准确性,基于第一实施例提出本发明异常设备定位方法的第四实施例,在本实施例中,参照图4,所述步骤S43之后,所述异常设备定位方法包括:
步骤S45,若存在中间总线,获取通过中间总线与所述上一个设备对应的设备标号关联的上一个设备标号,直到关联的上一个设备标号不存在中间总线;
步骤S46,将不存在中间总线的所述关联的上一个设备标号作为异常设备对应的设备标号。
在本实施例中,按照第三实施例的例子,若Y1对应的设备是Master4,从表1中可看出,M1xN4是存在中间总线的,且中间总线连接的是A侧M4xN4,则需要继续分析A侧的总线监控环,此时,从表1中看出A侧的总线M4xN4中对应的设备数也是7个,即Master数为7,与2的3次方最为相 近,获得N2为3,此时分析X的倒数第4到第6位,得到Y2=101,查找表1,找到Y2对应的设备是Master5,此时,发现Master5依然存在中间总线,通过中间总线连接的设备为M6xN6,那么获取所述A侧中的设备个数,即Master数为3,而3与2的2次方最接近,可知N3为2,那么获取分析X的倒数第7到第8位,得到Y3=01,查表1,找到Y3对应的设备是A侧Master1,同理,查找表1,发现Master1再无总线,则确定找到了源端设备,源端设备为A侧的Master1设备,可见对B侧Master1进行操作造成异常的源端设备是A侧的Master1设备,经过上面的逐级反推,最终确认了异常点,所述异常点为A侧的Master1设备。
本发明进一步提供一种异常设备定位装置。
参照图5,图5为本发明异常设备定位装置第一实施例的功能模块示意图。
需要强调的是,对本领域的技术人员来说,图5所示功能模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图5所示的异常设备定位装置的功能模块,可轻易进行新的功能模块的补充;各功能模块的名称是自定义名称,仅用于辅助理解该异常设备定位装置的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的功能模块所要达成的功能。
本实施例提出一种异常设备定位装置,所述异常设备定位装置包括:
获取模块10,用于获取待监测设备的标号;
确定模块20,用于根据所述待监测设备的标号确定所述待监测设备对应的处理器;
在本实施例中,所述异常设备定位装置包括设置模块,所述设置模块用于设置SOC系统中的总线节点上外挂的设备标号,即设置SOC系统中每个设备都有各自的标号(参照表1)。
本实施例中,选择当前通讯异常的设备作为待监测设备,即当前无法继续完成通讯过程的设备,通讯在该设备的位置停止,那么获取通讯异常的设备作为待监测设备,然后获取模块10获取所述待监测设备的标号,由于各个设备之间是通过总线进行通讯的连接,那么,延着总线的逆向推导,即可根据所述获取模块10获取的待监测设备标号逐级推出源端设备的标号,所述源 端设备即为实际产生异常的设备。而在所述获取模块10获取到待监测设备的标号时,确定模块20根据所述待监测设备的标号确定所述待监测设备对应的处理器,所述处理器包括两个处理器,本实施例以A侧处理器和B侧处理器为例。
表1
配置模块30,用于关闭总线监控系统,以对所述处理器关联的总线监控环寄存器组进行工作状态的配置;
在本实施例中,所述总线监控系统优选包括AXI(Advanced eXtensible Interface,一种总线协议)总线监控系统,下文均以AXI总线监控系统为例,将AXI总线监控系统关闭,也就是将AXI总线节点监控使能开关寄存器,写 0关闭。在关闭所述AXI总线监控系统后,配置模块30对所述处理器关联的AXI总线监控环寄存器组进行工作状态的配置,具体的配置过程在下文实施例中详述,由于A侧处理器和B侧处理器都分别有自己的总线监控环,而且不同处理器的总线监控环访问寄存器组的基地址也不同,因此,在所述确定模块20确定待监测设备对应的处理器后,先关闭AXI总线监控系统,然后所述配置模块30对所述处理器关联的AXI总线监控环寄存器组进行工作状态的配置。
启动模块40,用于在所述总线监控环寄存器组配置完成后,启动所述总线监控系统;
采集模块50,用于通过所述总线监控系统采集途经设备对应的标号汇总值,其中,所述途经设备是数据通过总线传输至所述待监测设备的过程中途经的各个设备;
在本实施例中,在所述配置模块30对所述AXI总线监控环寄存器组配置完成后,启动模块40启动所述AXI总线监控系统,也就是将AXI总线节点监控使能开关寄存器,写1打开,在所述AXI总线监控系统启动后,此时开始正常的数据访问流程,先触发AXI总线监控系统,触发过程一开始,采集模块50开始采样,所述采集模块50通过所述总线监控系统采集标号汇总值,优选所述AXI总线监控系统分别读取标号汇总采样最新匹配值、标号汇总采样次新匹配值、标号汇总采样第三次匹配值,对三次读取的采样值取平均值,使得读取的标号汇总值更加准确,然后将读取的采样值分为每16位一组,总共读取8组寄存器。进一步地,还可通过读AXI总线监控环寄存器采集途经设备对应的标号汇总值。
处理模块60,用于对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号。
在本实施例中,处理模块60对采集的所述标号汇总值进行二进制处理,所述处理模块60的二进制处理为:将所述标号汇总值转化为二进制数值,根据转化后的二进制数值以及所述待监测设备的标号,查找所述总线监控系统对应的的设备标号表(参照表1),其中,所述设备标号表中包括A处理器以及B处理器对应的各条AXI总线,每条AXI总线对应有各个设备,每个设备 对应着一个设备标号(即表中的ID号)、值得注意的是,在各个设备中,有部分设备对应有中间总线。在本实施例中,通过二进制转化后的标号汇总值以及所述待监测设备的标号,可获取到所述待监测设备的上一个设备,所述上一个设备就是与所述待监测设备通过总线连接的设备,在获取到所述上一个设备后,确定所述上一个设备是否对应有中间总线,若所述上一个设备对应有中间总线,说明产生异常的原因是与所述上一个设备通过中间总线连接的其它设备传递过来的,此时,获取与所述上一个设备通过中间总线连接的其它设备,并继续分析所述其它设备是否还存在中间总线,直到所述其它设备不存在中间总线,确定所述其它设备为产生异常的源端设备,获取所述源端设备对应的设备标号。
本实施例提出的异常设备定位装置,先获取待监测设备的标号,根据所述待监测设备的标号确定所述待监测设备对应的处理器,并对所述处理器关联的总线监控环寄存器组进行工作状态的配置,在所述总线监控环寄存器组配置完成后,通过所述总线监控系统采集途经设备对应的标号汇总值,最后对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号,实现了通讯异常时,对总线监控系统采集的标号汇总值进行分析,结合各个设备事先编好的标号,获取异常设备对应的设备标号,而不是仅仅通过中央处理器或数字信号处理器监测核对内存的改写行为,无法检测出是哪个设备引起的异常,本发明实现了通讯异常时,可以逐级追溯到产生异常的源端设备的标号,从而检测出产生异常的源端设备。
进一步地,为了提高异常设备定位的灵活性,基于第一实施例提出本发明异常设备定位装置的第二实施例,在本实施例中,参照图6,所述配置模块20包括:
提取单元21,用于提取所述处理器关联的总线监控环寄存器组中的各个开关寄存器及使能寄存器;
配置单元22,用于对获取的各个开关寄存器配置预设标志位,以使各个开关寄存器的工作状态处于运行状态;
所述配置单元22,还用于对获取的各个使能寄存器配置所述处理器的标 识、所述被监测设备的标号、所述被监测设备的物理地址、以及所述被监测设备的地址掩码,以使各个使能寄存器的工作状态处于运行状态。
在本实施例中,对所述处理器关联的总线监控环寄存器组进行工作状态配置,具体分两种情况:对被监测设备的读操作、对被监测设备的写操作,而需配置的AXI总线监控环寄存器组的各个寄存器包括开关寄存器:AXI总线读通道使能寄存器、地址通道触发使能寄存器、通道触发使能寄存器、配置匹配通道使能寄存器,其中,对各个开关寄存器配置预设标志位,优选地,标志位为1时,工作状态处于运行状态,即标志位为1时,各个开关寄存器打开;使能寄存器:配置匹配通道使能寄存器(存放数据或地址),每个AXI总线监控环有两个32位访问控制寄存器:总线监控环访问写寄存器和总线监控环访问读寄存器。配置单元22需要配置的command命令字必需所述处理器的标识,如A侧处理器或B侧处理器标号、被监测设备的物理地址、以及所述被监测设备的地址掩码(用于明确监测地址范围)。其中,读取数据需要发两次命令取数,期间有延迟设置,能保证读数据正常完成。以上对AXI总线监控环寄存器组的配置,都涉及到AXI总线监控使用总线监控节点环的高级外设总线(Advanced Peripheral Bus,简称APB)接口使用方式,而APB接口使用方式,通过系统总线访问节点环中的接口寄存器达到操作节点环的目的。在本实施例中,确定对被监测设备的行为是写操作还是读操作,两种操作方式访问的寄存器及流程有所不同,若是写操作,则所述配置单元22配置对监测设备的写操作行为;若是读操作,则所述配置单元22配置对监测设备的读操作行为。
所述异常设备定位装置还包括:
输出模块,用于所述配置模块30对所述处理器关联的总线监控环寄存器组进行工作状态配置的同时,根据配置的结果输出提示信息。
本实施例中,所述输出模块对各个寄存器进行读写操作均有返回应答指示操作结果:优选地,0标识测试系统控制发出的指令有误,设备地址和所有的待监测设备都不匹配;1表示忙,主要为数据buf已满,不可再存储数据,要求先把之前读请求的数据读完,然后才能正常读取其他寄存器地址;2表示待完成,若为写操作,此数值不会出现。若为读操作,当第一次读取某寄存器中的数据时,可能会出现,需要再读一次。
进一步地,为了提高异常设备定位的灵活性,基于第一实施例提出本发明异常设备定位装置的第三实施例,在本实施例中,参照图7,所述处理模块60包括:
处理单元61,用于对采集的所述标号汇总值进行二进制处理,得到二进制数值;
获取单元62,用于根据所述二进制数值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,以获取数据通过总线传输至所述待监测设备的上一个设备对应的设备标号;
确定单元63,用于确定所述上一个设备对应的设备标号是否存在中间总线;
所述处理单元61,还用于若不存在中间总线,将所述上一个设备对应的设备标号作为异常设备对应的设备标号。
为更好理解本实施例中,参照图8和图9,每个设备都有各自的监控点,实线箭头串联形成总线监控环,虚线箭头表示其与总线的数据访问方向,图8表示A侧的总线监控环、图9表示B侧的总线监控环。
处理单元61对采集的所述标号汇总值进行二进制处理,得到二进制数值,如所述标号汇总值为876,则将所述标号汇总值转换为二进制得到X=001101101100。若此时待监测设备在B侧,且标号为7或8,根据图9,即可知道待监测设备是Master1,根据图9找到命令从AXI M1xN1过来,此时,参照表1,可知B侧的M1xN1有7个设备,为Master0-Master6,即获取单元62获取到Master数为7,可计算出7与2的3次方相近,默认位数N1为3,此时分析X的低3位,即Y1=100,同理,查找表1,找到M1xN1中,Y1对应的设备是Master4,此时确定单元63确定所述M1xN4是否存在中间总线,从表1中可看出,M1xN4是存在中间总线的。若此时Y1对应的设备是Master0,那么从表1中可看出,不存在中间总线,那么所述处理单元61将Master0作为异常原因对应的设备标号,相应的,Master0就是产生异常的设备。
本实施例采用了AXI总线与设备的级联关系映射、标号汇总扩展等技术,解决了现有异常定位手段只能监测软件异常行为和总线命令,而无法监测设备异常行为的问题,更加完善了异常定位手段,节省了疑难问题的定位时间, 提高了故障解决效率。
进一步地,为了提高异常设备定位的准确性,基于第一实施例提出本发明异常设备定位方法的第四实施例,在本实施例中,
所述获取单元62,还用于若存在中间总线,获取通过中间总线与所述上一个设备对应的设备标号关联的上一个设备标号,直到关联的上一个设备标号不存在中间总线;
所述处理单元61,还用于将不存在中间总线的所述关联的上一个设备标号作为异常设备对应的设备标号。
在本实施例中,按照第三实施例的例子,若Y1对应的设备是Master4,从表1中可看出,M1xN4是存在中间总线的,且中间总线连接的是A侧M4xN4,则所述获取单元62需要继续分析A侧的总线监控环,此时,从表1中看出A侧的总线M4xN4中对应的设备数也是7个,即Master数为7,与2的3次方最为相近,获得N2为3,此时分析X的倒数第4到第6位,得到Y2=101,查找表1,找到Y2对应的设备是Master5,此时,发现Master5依然存在中间总线,通过中间总线连接的设备为M6xN6,那么获取所述A侧中的设备个数,即Master数为3,而3与2的2次方最接近,可知N3为2,那么获取分析X的倒数第7到第8位,得到Y3=01,查表1,找到Y3对应的设备是A侧Master1,同理,查找表1,发现Master1再无总线,则所述处理单元61确定找到了源端设备,源端设备为A侧的Master1设备,可见对B侧Master1进行操作造成异常的源端设备是A侧的Master1设备,经过上面的逐级反推,最终确认了异常点,所述异常点为A侧的Master1设备。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种异常设备定位方法,其特征在于,所述异常设备定位方法包括以下步骤:
获取待监测设备的标号,根据所述待监测设备的标号确定所述待监测设备对应的处理器;
关闭总线监控系统,以对所述处理器关联的总线监控环寄存器组进行工作状态的配置;
在所述总线监控环寄存器组配置完成后,启动所述总线监控系统,并通过所述总线监控系统采集途经设备对应的标号汇总值,其中,所述途经设备是数据通过总线传输至所述待监测设备的过程中途经的各个设备;
对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号。
2.如权利要求1所述的异常设备定位方法,其特征在于,所述对所述处理器关联的总线监控环寄存器组进行工作状态的配置的步骤包括:
提取所述处理器关联的总线监控环寄存器组中的各个开关寄存器及使能寄存器;
对获取的各个开关寄存器配置预设标志位,以使各个开关寄存器的工作状态处于运行状态;
对获取的各个使能寄存器配置所述处理器的标识、所述被监测设备的标号、所述被监测设备的物理地址、以及所述被监测设备的地址掩码,以使各个使能寄存器的工作状态处于运行状态。
3.如权利要求1或2所述的异常设备定位方法,其特征在于,所述对所述处理器关联的总线监控环寄存器组进行工作状态的配置的同时,执行以下步骤:
根据配置的结果输出提示信息。
4.如权利要求1所述的异常设备定位方法,其特征在于,所述对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号标号的步骤包括:
对采集的所述标号汇总值进行二进制处理,得到二进制数值;
根据所述二进制数值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,以获取数据通过总线传输至所述待监测设备的上一个设备对应的设备标号;
确定所述上一个设备对应的设备标号是否存在中间总线;
若不存在中间总线,将所述上一个设备对应的设备标号作为异常设备对应的设备标号。
5.如权利要求4所述的异常设备定位方法,其特征在于,所述确定获取的设备标号是否存在中间总线的步骤之后,所述异常设备定位方法还包括:
若存在中间总线,获取通过中间总线与所述上一个设备对应的设备标号关联的上一个设备标号,直到关联的上一个设备标号不存在中间总线;
将不存在中间总线的所述关联的上一个设备标号作为异常设备对应的设备标号。
6.一种异常设备定位装置,其特征在于,所述异常设备定位装置包括:
获取模块,用于获取待监测设备的标号;
确定模块,用于根据所述待监测设备的标号确定所述待监测设备对应的处理器;
配置模块,用于关闭总线监控系统,以对所述处理器关联的总线监控环寄存器组进行工作状态的配置;
启动模块,用于在所述总线监控环寄存器组配置完成后,启动所述总线监控系统;
采集模块,用于通过所述总线监控系统采集途经设备对应的标号汇总值,其中,所述途经设备是数据通过总线传输至所述待监测设备的过程中途经的各个设备;
处理模块,用于对采集的所述标号汇总值进行二进制处理,根据处理后的标号汇总值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,获取异常设备对应的设备标号。
7.如权利要求6所述的异常设备定位装置,其特征在于,所述配置模块包括:
提取单元,用于提取所述处理器关联的总线监控环寄存器组中的各个开关寄存器及使能寄存器;
配置单元,用于对获取的各个开关寄存器配置预设标志位,以使各个开关寄存器的工作状态处于运行状态;
所述配置单元,还用于对获取的各个使能寄存器配置所述处理器的标识、所述被监测设备的标号、所述被监测设备的物理地址、以及所述被监测设备的地址掩码,以使各个使能寄存器的工作状态处于运行状态。
8.如权利要求6或7所述的异常设备定位装置,其特征在于,所述异常设备定位装置还包括:
输出模块,用于所述配置模块对所述处理器关联的总线监控环寄存器组进行工作状态配置的同时,根据配置的结果输出提示信息。
9.如权利要求6所述的异常设备定位装置,其特征在于,所述处理模块包括:
处理单元,用于对采集的所述标号汇总值进行二进制处理,得到二进制数值;
获取单元,用于根据所述二进制数值以及所述待监测设备的标号,查找所述总线监控系统对应的设备标号表,以获取数据通过总线传输至所述待监测设备的上一个设备对应的设备标号;
确定单元,用于确定所述上一个设备对应的设备标号是否存在中间总线;
所述处理单元,还用于若不存在中间总线,将所述上一个设备对应的设备标号作为异常设备对应的设备标号。
10.如权利要求9所述的异常设备定位装置,其特征在于,所述获取单元,还用于若存在中间总线,获取通过中间总线与所述上一个设备对应的设备标号关联的上一个设备标号,直到关联的上一个设备标号不存在中间总线;
所述处理单元,还用于将不存在中间总线的所述关联的上一个设备标号作为异常设备对应的设备标号。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510799113.7A CN106708689B (zh) | 2015-11-18 | 2015-11-18 | 异常设备定位方法及装置 |
PCT/CN2016/083938 WO2016197833A1 (zh) | 2015-11-18 | 2016-05-30 | 异常设备定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510799113.7A CN106708689B (zh) | 2015-11-18 | 2015-11-18 | 异常设备定位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708689A true CN106708689A (zh) | 2017-05-24 |
CN106708689B CN106708689B (zh) | 2020-05-05 |
Family
ID=57504204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510799113.7A Active CN106708689B (zh) | 2015-11-18 | 2015-11-18 | 异常设备定位方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106708689B (zh) |
WO (1) | WO2016197833A1 (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07219813A (ja) * | 1994-01-27 | 1995-08-18 | Pentel Kk | マイクロプロセッサの監視装置 |
CN1115443A (zh) * | 1994-01-20 | 1996-01-24 | 阿尔卡塔尔澳大利亚有限公司 | 微处理机故障记录 |
US20060095793A1 (en) * | 2004-10-08 | 2006-05-04 | International Business Machines Corporation | Secure memory control parameters in table look aside buffer data fields and support memory array |
CN101034365A (zh) * | 2007-04-23 | 2007-09-12 | 杭州华为三康技术有限公司 | 一种pci系统故障诊断方法、设备和系统 |
CN101499053A (zh) * | 2008-01-31 | 2009-08-05 | 上海普芯达电子有限公司 | 实现微控制器可配置性的方法和可配置的微控制器 |
CN103116570A (zh) * | 2011-09-09 | 2013-05-22 | 通用汽车环球科技运作有限责任公司 | 具有动态可重构监督程序节点的分布式计算架构 |
CN103810074A (zh) * | 2012-11-14 | 2014-05-21 | 华为技术有限公司 | 一种片上系统芯片及相应的监控方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102628921B (zh) * | 2012-03-01 | 2014-12-03 | 华为技术有限公司 | 一种集成电路及对集成电路中总线状态进行监控的方法 |
CN103064774B (zh) * | 2013-01-16 | 2016-08-10 | 北京君正集成电路股份有限公司 | 一种应用于嵌入式系统的总线监控方法及装置 |
-
2015
- 2015-11-18 CN CN201510799113.7A patent/CN106708689B/zh active Active
-
2016
- 2016-05-30 WO PCT/CN2016/083938 patent/WO2016197833A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1115443A (zh) * | 1994-01-20 | 1996-01-24 | 阿尔卡塔尔澳大利亚有限公司 | 微处理机故障记录 |
JPH07219813A (ja) * | 1994-01-27 | 1995-08-18 | Pentel Kk | マイクロプロセッサの監視装置 |
US20060095793A1 (en) * | 2004-10-08 | 2006-05-04 | International Business Machines Corporation | Secure memory control parameters in table look aside buffer data fields and support memory array |
CN101034365A (zh) * | 2007-04-23 | 2007-09-12 | 杭州华为三康技术有限公司 | 一种pci系统故障诊断方法、设备和系统 |
CN101499053A (zh) * | 2008-01-31 | 2009-08-05 | 上海普芯达电子有限公司 | 实现微控制器可配置性的方法和可配置的微控制器 |
CN103116570A (zh) * | 2011-09-09 | 2013-05-22 | 通用汽车环球科技运作有限责任公司 | 具有动态可重构监督程序节点的分布式计算架构 |
CN103810074A (zh) * | 2012-11-14 | 2014-05-21 | 华为技术有限公司 | 一种片上系统芯片及相应的监控方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2016197833A1 (zh) | 2016-12-15 |
CN106708689B (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101399710B (zh) | 一种协议格式异常检测方法及系统 | |
CN104281520B (zh) | 跟踪和调试的方法、装置及系统 | |
CN108090567A (zh) | 电力通信系统故障诊断方法及装置 | |
US11740997B2 (en) | Method and apparatus for debugging a device | |
CN109408309B (zh) | 多终端的测试方法及装置 | |
CN109067605B (zh) | 一种存储子系统故障诊断方法、装置、终端及存储介质 | |
CN106557419B (zh) | 程序的测试方法及装置 | |
CN105207829B (zh) | 一种入侵检测数据处理方法、装置,及系统 | |
US9396145B1 (en) | In-chip bus tracer | |
CN106612213B (zh) | 设备测试方法及装置 | |
CN112181822A (zh) | 一种测试方法和应用程序的启动耗时测试方法 | |
CN106708689A (zh) | 异常设备定位方法及装置 | |
CN113535578B (zh) | 一种cts测试方法、装置及测试设备 | |
CN112231157B (zh) | 一种基于硬件拓扑的ai服务器hca卡性能测试方法及系统 | |
CN108984386A (zh) | 应用程序搜索的测试方法、装置及存储介质 | |
CN116107781A (zh) | 日志追踪方法、装置、电子设备、及计算机程序产品 | |
CN110908869B (zh) | 一种应用程序数据监控方法、装置、设备及储存介质 | |
CN113535580A (zh) | 一种cts测试方法、装置及测试设备 | |
CN108052654A (zh) | 数据提取方法、装置、设备及存储介质 | |
CN117493065B (zh) | 处理器信息的处理方法和装置,存储介质及电子设备 | |
CN110555090B (zh) | 一种自动获取CPU BUS Number的方法、系统、终端及存储介质 | |
CN111310172B (zh) | 通过反汇编验证处理器执行轨迹的方法及控制部件 | |
CN109923846B (zh) | 确定热点地址的方法及其设备 | |
CN114924940A (zh) | 性能测试方法、装置、存储介质以及电子设备 | |
CN115421723A (zh) | 指标采集方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |