数据处理装置、方法、计算机设备、存储介质及程序产品与流程

文档序号:32057729发布日期:2022-11-04 22:09阅读:48来源:国知局
数据处理装置、方法、计算机设备、存储介质及程序产品与流程

1.本技术涉及计算机技术领域,本技术涉及一种数据处理装置、方法、计算机设备、存储介质及程序产品。


背景技术:

2.随着科技的发展,芯片硬件的处理性能越来越强,cpu(central processing unit,中央处理器)对指令的执行速度也越来越快。cpu内部通过流水线技术执行指令,cpu的流水线技术是一种将指令分解为多步,并让不同指令的各步操作重叠,从而实现几条指令并行处理,以加速程序运行过程的技术。指令的每步有各自独立的电路来处理,每完成一步,就进到下一步,而前一步则处理后续指令。由于cpu基于流水线技术执行的指令是机器码,本领域中技术人员在进行cpu性能分析时,需要将其翻译成汇编代码。
3.相关技术中,可通过以下数据处理过程进行分析:将cpu的日志文件中机器码逐个提取至内存中,并将机器码逐个翻译为汇编程序代码,再将汇编程序代码逐个填充至分析模块中,以分析cpu性能。
4.然而,逐个提取、翻译机器码、再逐个填充到分析模块中,整个流程耗时较长、效率比较低,因此上述数据处理的效率较低。


技术实现要素:

5.本技术提供了一种数据处理装置、方法、计算机设备、存储介质及程序产品,可以有效防止程序代码反编译的问题。所述技术方案如下:
6.一方面,提供了一种数据处理装置,所述装置包括处理器,所述处理器用于:
7.将待分析处理器流水线的日志文件读取至内存中,并解析得到所述日志文件中的机器码被所述待分析处理器执行时的时间戳信息;
8.基于所述时间戳信息,生成目标分析页面中的时间轴,所述目标分析页面用于展示所述待分析处理器对所述机器码的执行过程;
9.响应于基于所述时间轴触发的待展示时刻,从所述日志文件中解析所述待展示时刻所对应的待展示机器码,并将所述待展示机器码翻译为汇编程序代码;
10.在所述目标分析页面中显示所述待分析处理器对汇编程序代码的执行过程。
11.在一种可能实现方式中,所述处理器还用于:
12.基于所述时间戳信息,从所述日志文件中解析初始时刻的首行机器码,并将所述首行机器码翻译为首行汇编程序代码;
13.在所述目标分析页面中显示所述首行汇编程序代码。
14.在一种可能实现方式中,所述处理器还用于:
15.基于所述待展示机器码对应的目标寄存器组,将所述汇编程序代码填充至所述目标分析页面中所述目标寄存器组对应的显示位置,以在所述目标分析页面中,显示执行所述汇编程序代码过程中由所述目标寄存器组取指、以及所述待分析处理器执行的过程。
16.在一种可能实现方式中,所述处理器还用于:
17.检测所述目标分析页面中的触发操作;
18.响应于在所述目标分析页面中对所述时间轴的触发操作,基于所述触发操作所触发的机器码回溯方式,确定所述触发操作对应的待展示时刻。
19.在一种可能实现方式中,所述处理器还用于:
20.从所述日志文件中解析得到所述待展示机器码的执行信息,以基于所述执行信息,在所述目标分析页面中显示所述待分析处理器对汇编程序代码的执行过程。
21.在一种可能实现方式中,所述待展示机器码的执行信息包括:程序计数器指针、各个寄存器组的指令执行状态、以及寄存器头尾指针位置。
22.另一方面,提供一种数据处理方法,所述方法包括:
23.将待分析处理器流水线的日志文件读取至内存中,并解析得到所述日志文件中的机器码被所述待分析处理器执行时的时间戳信息;
24.基于所述时间戳信息,生成目标分析页面中的时间轴,所述目标分析页面用于展示所述待分析处理器对所述机器码的执行过程;
25.响应于基于所述时间轴触发的待展示时刻,从所述日志文件中解析所述待展示时刻所对应的待展示机器码,并将所述待展示机器码翻译为汇编程序代码;
26.在所述目标分析页面中显示所述待分析处理器对汇编程序代码的执行过程。
27.在一种可能实现方式中,所述方法还包括:
28.基于所述时间戳信息,从所述日志文件中解析初始时刻的首行机器码,并将所述首行机器码翻译为首行汇编程序代码;
29.在所述目标分析页面中显示所述首行汇编程序代码。
30.在一种可能实现方式中,所述在所述目标分析页面中显示所述待分析处理器对汇编程序代码的执行过程,包括:
31.基于所述待展示机器码对应的目标寄存器组,将所述汇编程序代码填充至所述目标分析页面中所述目标寄存器组对应的显示位置;
32.在所述目标分析页面中,显示执行所述汇编程序代码过程中由所述目标寄存器组取指、以及所述待分析处理器执行的过程。
33.在一种可能实现方式中,所述响应于基于所述时间轴触发的待展示时刻,从所述日志文件中解析所述待展示时刻所对应的待展示机器码之前,所述方法还包括:
34.检测所述目标分析页面中的触发操作;
35.响应于在所述目标分析页面中对所述时间轴的触发操作,基于所述触发操作所触发的机器码回溯方式,确定所述触发操作对应的待展示时刻。
36.在一种可能实现方式中,所述在所述目标分析页面中显示所述待分析处理器对汇编程序代码的执行过程,包括:
37.从所述日志文件中解析得到所述待展示机器码的执行信息;
38.基于所述执行信息,在所述目标分析页面中显示所述待分析处理器对汇编程序代码的执行过程。
39.在一种可能实现方式中,所述待展示机器码的执行信息包括:程序计数器指针、各个寄存器组的指令执行状态、以及寄存器头尾指针位置。
40.另一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现上述的数据处理方法。
41.另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据处理方法。
42.另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述的数据处理方法。
43.本技术实施例提供的技术方案带来的有益效果是:
44.本技术实施例提供的数据处理装置,通过将待分析处理器流水线的日志文件读取至内存中,并解析得到该日志文件中的机器码被该待分析处理器执行时的时间戳信息,从而将日志文件批量读入内存;基于该时间戳信息,生成目标分析页面中的时间轴,该目标分析页面用于展示该待分析处理器对该机器码的执行过程;响应于基于该时间轴触发的待展示时刻,从该日志文件中解析该待展示时刻所对应的待展示机器码,并将该待展示机器码翻译为汇编程序代码;便可在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程,实现了基于时间轴触发的时刻、随时翻译并展示的快速展示过程,避免逐个提取、填充并逐个翻译填充的繁琐过程,达到了降低展示过程、分析过程的耗时的效果,从而提高了数据处理的效率。
附图说明
45.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
46.图1为本技术实施例提供的一种数据处理装置的结构示意图;
47.图2为本技术实施例提供的处理器执行的数据处理方法的流程示意图;
48.图3为本技术实施例提供的一种寄存器可视化系统界面示意图;
49.图4为本技术实施例提供的一种数据处理方法的流程示意图;
50.图5为本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
51.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
52.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作等。
53.图1为本技术实施例提供的一种数据处理装置的结构示意图。如图1所示,该数据处理装置包括用于数据处理的处理器。
54.该处理器在数据处理时,用于执行如图2所示的数据处理方法,如图2所示,该处理器在数据处理时,具体用于执行以下步骤201至步骤204的数据处理流程:
55.步骤201、将待分析处理器流水线的日志文件读取至内存中,并解析得到该日志文
件中的机器码被该待分析处理器执行时的时间戳信息;
56.步骤202、基于该时间戳信息,生成目标分析页面中的时间轴,该目标分析页面用于展示该待分析处理器对该机器码的执行过程;
57.步骤203、响应于基于该时间轴触发的待展示时刻,从该日志文件中解析该待展示时刻所对应的待展示机器码,并将该待展示机器码翻译为汇编程序代码;
58.步骤204、在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程。
59.需要说明的是,处理器流水线技术是一种将指令分解为多步,并让不同指令的各步操作重叠,从而实现几条指令并行处理,以加速程序运行过程的技术。指令的每步有各自独立的电路来处理,每完成一步,就进到下一步,而前一步则处理后续指令。处理器流水线技术可以到十几级的水平,而处理器流水线技术中执行的指令都是机器码的形式,需将其翻译为汇编程序语言以方便分析处理器性能。
60.该待分析处理器是指需要进行性能分析的处理器。例如,本技术以该待分析处理器是32位的riscv处理器为例进行说明。例如,待分析的riscv处理器可包括乱序执行单元(re-order buffer),该乱序执行单元中包括bank模块,该bank模块(堆模块)是该riscv处理器的寄存器堆的实现方式,该riscv处理器可通过该bank模块取指、以便于riscv处理器执行对应指令。而在对riscv处理器进行性能分析时,可以利用该riscv处理器的流水线日志(log)文件中的机器码指令,并将其翻译成汇编代码的形式,以便分析riscv处理器中的bank模块。
61.在步骤201中,该日志文件可包括各个机器码和时间戳信息。该时间戳信息是指该各个机器码被执行时的时间。例如,t1时刻执行机器码a对应指令,t2时刻执行机器码b对应指令。本技术可将该日志文件导入内存中。例如,以riscv处理器为例,可将riscv处理器流水线log文件导入内存的buffer缓冲区中,如导入bank模块可视化系统在内存缓冲区对应的存储地址。并且,解析该log文件,提取出log文件中的时间戳信息和机器码信息。
62.在步骤202中,该目标分析页面是在回溯待分析处理器执行机器码的执行过程时,对该过程进行展示的页面。本技术中,该数据处理装置还可以包括显示屏,该数据处理装置的处理器在进行数据处理时可在显示屏中显示该目标分析页面。其中,该目标分析页面可包括时间轴,该时间轴用于触发展示对该日志文件中的各个机器码执行过程的回溯进度。示例性的,该目标分析页面可以是寄存器可视化系统界面,如bank模块可视化系统界面。示例性的,本技术以可利用时间戳信息生成该目标分析页面中的时间轴。例如,可基于该时间戳信息生成该时间轴的起始时刻和结束时刻。该起始时刻可以是该日志文件中第一个机器码对应的执行时刻;结束时刻可以是日志文件中最后一个机器码对应的执行时刻。
63.图3提供了一种寄存器可视化系统界面示意图,如图3所示,以riscv处理器为例,基于该时间戳生成位于寄存器可视化系统界面中的下方区域的时间轴。该时间轴对应有起始时刻和结束时刻。如图3所示,本技术还可以在该时间轴的周围区域显示执行周期,如总周期、当前为第几个周期等信息。
64.在目标分析页面中显示该时间轴之后,便可按照时间轴的当前显示进度来回溯对应时刻的机器码执行过程,并在该目标分析页面中进行显示。
65.如图3所示,以该目标分析页面为寄存器可视化系统界面进行举例,该寄存器可视化系统界面还可以包括时间轴的触发控件,用户可通过该触发控件来触发时间轴上的待显
示进度,以触发显示对应时刻的机器码执行过程。在步骤203中,当接收到在该寄存器可视化系统界面中对该时间轴触发的待展示时刻时,可从该日志文件中解析该待展示时刻所对应的待展示机器码,并将该待展示机器码翻译为汇编程序代码;从而得到该待展示时刻时所对应的显示信息,可基于该待展示时刻对应的显示信息,通过该步骤204显示该待展示时刻对应的机器码执行过程。
66.在一种可能实现方式中,该数据处理装置中的处理器还用于执行以下步骤401-步骤402:
67.步骤401、基于该时间戳信息,从该日志文件中解析初始时刻的首行机器码,并将该首行机器码翻译为首行汇编程序代码。
68.步骤402、在该目标分析页面中显示该首行汇编程序代码。
69.该初始时刻的首行机器码可以是日志文件中的首行机器码,也即是第一个被执行的机器码。该数据处理装置中的处理器还可以执行步骤401和步骤402,以在该目标分析页面中填充初始时刻寄存器中的汇编程序代码。
70.本技术中,将日志文件读取至内存中时,也将日志文件中的机器码、时间戳等信息暂存至内存。一可能示例中,日志文件中可能记录有大量机器码,日志文件可能较大;若在将log文件读入内存时,立即将日志文件中大量的机器码立即翻译成汇编,由于该解析翻译的过程会非常耗时,容易导致翻译、分析等过程冗长,从而降低了处理效率、影响了用户体验。因此,本技术中,可将该日志文件中的机器码暂存至内存、但先不解析。例如,在步骤201中,只是先导入32位riscv处理器的流水线log文件,生成寄存器可视化系统界面中的时间轴。此时还可通过步骤401-402,在寄存器可视化系统界面中填充初始时刻bank模块中的汇编指令,具体如将log文件中的首行信息中关于bank0~bank3中指令机器码信息翻译成汇编程序代码,并将该汇编程序代码呈现在bank模块可视化系统界面中。
71.在一种可能实现方式中,该数据处理装置中的处理器还用于执行以下步骤501-502:
72.步骤501、检测该目标分析页面中的触发操作。
73.步骤502、响应于在该目标分析页面中对该时间轴的触发操作,基于该触发操作所触发的机器码回溯方式,确定该触发操作对应的待展示时刻。
74.该机器码回溯方式可包括但不限于:自动前进回溯、自动后退回溯、跳转回溯、前进或后退指定周期等方式。该待展示时刻可以是在该目标分析页面中当前待回溯的时刻。该待展示时刻可以是根据用户对该时间轴触发的方式而定。
75.如图3所示,在该目标分析页面中,该时间轴的周围区域中包括对该时间轴的触发控件,用户可通过该触发控件来选择对该机器码的回溯方式,以按照该回溯方式在时间轴上显示对应时刻的机器码执行过程。该触发控件可包括但不限于:后退100周期、前进100周期、跳转、自动后退、自动前进、单次前进/后退周期数、停顿间隔等控件。例如,若用户触发前进10周期,则该待展示时刻则为位于时间轴上的当前展示时间之后的10个周期的时刻,如当前展示时刻为第一个周期,则待展示时刻可以为第10个周期对应时刻。又例如,若用户触发自动前进,则可从当前展示时刻开始、沿该时间轴依次前进过程中,当前显示时刻结束后的下一时刻,即为该待展示时刻。
76.在一种可能实现方式中,该处理器还用于执行以下步骤601:
77.步骤601、基于该待展示机器码对应的目标寄存器组,将该汇编程序代码填充至目标分析页面中该目标寄存器组对应的显示位置,以在该目标分析页面中,显示执行该汇编程序代码过程中由该目标寄存器组取指、以及该待分析处理器执行的过程。
78.本技术中,该待分析处理器可以包括至少一个寄存器组,待分析处理器可通过各个寄存器组进行取指,以便待分析处理器执行对应指令。相应的,该目标分析页面中也可以按照各个寄存器组进行对应显示。例如,如图3所示,该图3中示出了32位riscv处理器中bank模块,如图3缩水,该riscv处理器的bank模块可以包括4组,每组32项,一共是128项,编号依次可以表示为bank0、bank1、bank2、bank3。
79.该数据处理装置中的处理器可将待展示机器码填充至目标分析页面中对应寄存器组的显示位置。该目标寄存器组是在待分析处理器执行时对该待展示机器码进行取指时使用的寄存器组。例如,日志文件中记录riscv处理器对机器码a取指使用的寄存器组为bank3,则将该机器码a对应的汇编程序代码,填充至bank3对应的显示位置,如填充至如图3所示的bank3所在列的表格中。
80.其中,该日志文件的配置信息中记录了各个机器码所对应的寄存器组,可利用该配置信息确定各个寄存器组所对应取指的机器码,并在目标分析页面中的对应位置填充相应汇编程序代码。例如,该配置信息可以是该log文件的起始行信息。
81.通过步骤601,在时间轴前进过程中,依次从日志文件中解析待显示时刻的机器码,并将其翻译为对应汇编程序代码,进而将汇编程序代码填充至bank模块可视化系统的界面上的bank0~bank3对应位置。在处理器流水线技术中,待分析处理器可并行处理多个寄存器组所取指的指令,因此,本技术通过批量从日志文件中获取待显示时刻对应的多个寄存器组对应的多个机器码,并将多个机器码翻译为汇编程序代码填充至可视化系统界面,从而将日志文件中机器码批量翻译成汇编,避免逐个解析、逐个翻译填充的繁琐过程,节省了解析并翻译的事件,极大的提高了数据处理效率。后续通过对时间轴的前进、后退、跳转、自动播放等触发操作,可以实现bank模块指令执行的可视化过程,对bank模块的指令执行进行了现场重建,从而提高了对待分析处理器进行性能分析、调试的效率。
82.需要说明的是,在步骤401-402中,通过获取首行汇编程序代码对应的寄存器组,并将该首行汇编代码填充至该目标分析页面中该对应寄存器组所在列的表格中。如图3所示,首先填充的是初始时刻bank模块中首行机器码对应的汇编程序代码,如在bank模块可视化系统上可填充bank0~bank3中的一项,另外,可根据流水线log文件起始行信息,确定该汇编程序代码具体被填充bank0~bank3中的哪一项。
83.在一种可能实现方式中,该数据处理装置中的处理器还用于执行以下步骤701:
84.步骤701、从该日志文件中解析得到该待展示机器码的执行信息,以基于该执行信息,在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程。
85.在一种可能实现方式中,该待展示机器码的执行信息包括:程序计数器指针、各个寄存器组的指令执行状态、以及寄存器头尾指针位置。例如,32位riscv处理器流水线log文件中需要使用的列信息可包括但不限于以下1至5项:
86.1、时间戳列(以皮秒为单位):可从时间戳列中提取各个机器码的时间戳信息。
87.2、指针列:该指针列承载程序计数器(program count)指针,可从指针列中获取执行信息中所包括的程序计算器指针。
88.3、指令机器码列:该指令机器码列用于表征各个机器码对应的寄存器组,例如,寄存器组包括bank0、bank1、bank2和bank3,该指令机器码列可以存储了bank模块中各个bank及对应的指令机器码;可从指令机器码列获取寄存器组对应的各个机器码。
89.4、状态列:用于标识指令是否执行中或是否已执行。如bank0~bank3项状态列,标记了bank0~bank3对应的各个机器码的执行状态。可从状态列中获取各个寄存器组的指令执行状态。
90.5、头尾指针位置列:用于记录寄存器当前取值的新指令和/或寄存器当前执行的指令。例如,bank模块头尾指针位置列,其中头指针指向当前bank模块取指的新指令,尾指针指向当前bank模块执行的指令。可从头尾指针位置列获取寄存器头尾指针位置。
91.需要说明的是,在进行cpu原理设计时,需进行cpu流水线设计是否合理、性能是否达标等判断,以评估处理器性能,因此需要明确cpu流水线执行的指令流是如何执行的。而相关技术中逐个机器码分析、逐个翻译来分析,分析过程费时费力,效率低、不适合开发调试。而根据本技术提出的数据处理方法,通过先将日志文件一次性读取至内存,实现对机器码的批量读入;然后利用时间轴对待显示时刻的机器码进行批量解析、翻译,并在目标分析页面中显示对应汇编程序代码的执行过程,进实现对导入的cpu流水线log文件进行指令执行流的迅速重建;可快速在bank可视化系统界面上呈现出32位riscv处理器bank模块指令存储、执行的全过程,提高了数据处理效率,有效提高cpu设计人员调试效率。
92.本技术实施例提供的数据处理装置,通过将待分析处理器流水线的日志文件读取至内存中,并解析得到该日志文件中的机器码被该待分析处理器执行时的时间戳信息,从而将日志文件批量读入内存;基于该时间戳信息,生成目标分析页面中的时间轴,该目标分析页面用于展示该待分析处理器对该机器码的执行过程;响应于基于该时间轴触发的待展示时刻,从该日志文件中解析该待展示时刻所对应的待展示机器码,并将该待展示机器码翻译为汇编程序代码;便可在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程,实现了基于时间轴触发的时刻、随时翻译并展示的快速展示过程,避免逐个提取、填充并逐个翻译填充的繁琐过程,达到了降低展示过程、分析过程的耗时的效果,从而提高了数据处理的效率。
93.图4为本技术实施例提供的一种数据处理方法的流程示意图。如图4所示,该方法包括:
94.步骤s410、将待分析处理器流水线的日志文件读取至内存中,并解析得到该日志文件中的机器码被该待分析处理器执行时的时间戳信息;
95.步骤s420、基于该时间戳信息,生成目标分析页面中的时间轴,该目标分析页面用于展示该待分析处理器对该机器码的执行过程;
96.步骤s430、响应于基于该时间轴触发的待展示时刻,从该日志文件中解析该待展示时刻所对应的待展示机器码,并将该待展示机器码翻译为汇编程序代码;
97.步骤s440、在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程。
98.在一种可能实现方式中,该方法还包括:
99.基于该时间戳信息,从该日志文件中解析初始时刻的首行机器码,并将该首行机器码翻译为首行汇编程序代码;
100.在该目标分析页面中显示该首行汇编程序代码。
101.在一种可能实现方式中,该在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程,包括:
102.基于该待展示机器码对应的目标寄存器组,将该汇编程序代码填充至该目标分析页面中该目标寄存器组对应的显示位置;
103.在该目标分析页面中,显示执行该汇编程序代码过程中由该目标寄存器组取指、以及该待分析处理器执行的过程。
104.在一种可能实现方式中,该响应于基于该时间轴触发的待展示时刻,从该日志文件中解析该待展示时刻所对应的待展示机器码之前,该方法还包括:
105.检测该目标分析页面中的触发操作;
106.响应于在该目标分析页面中对该时间轴的触发操作,基于该触发操作所触发的机器码回溯方式,确定该触发操作对应的待展示时刻。
107.在一种可能实现方式中,该在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程,包括:
108.从该日志文件中解析得到该待展示机器码的执行信息;
109.基于该执行信息,在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程。
110.在一种可能实现方式中,该待展示机器码的执行信息包括:程序计数器指针、各个寄存器组的指令执行状态、以及寄存器头尾指针位置。
111.本技术实施例提供的数据处理方法,通过将待分析处理器流水线的日志文件读取至内存中,并解析得到该日志文件中的机器码被该待分析处理器执行时的时间戳信息,从而将日志文件批量读入内存;基于该时间戳信息,生成目标分析页面中的时间轴,该目标分析页面用于展示该待分析处理器对该机器码的执行过程;响应于基于该时间轴触发的待展示时刻,从该日志文件中解析该待展示时刻所对应的待展示机器码,并将该待展示机器码翻译为汇编程序代码;便可在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程,实现了基于时间轴触发的时刻、随时翻译并展示的快速展示过程,避免逐个提取、填充并逐个翻译填充的繁琐过程,达到了降低展示过程、分析过程的耗时的效果,从而提高了数据处理的效率。
112.需要说明的是,上述实施例提供的数据处理装置在数据处理时,仅以上述各功能模块的划分进行举例说明;实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
113.图5是本技术实施例中提供了一种计算机设备的结构示意图。如图5所示,该计算机设备包括:存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现数据处理方法的步骤,与相关技术相比可实现一种数据处理方法,该方法包括:
114.步骤s410、将待分析处理器流水线的日志文件读取至内存中,并解析得到该日志文件中的机器码被该待分析处理器执行时的时间戳信息;
115.步骤s420、基于该时间戳信息,生成目标分析页面中的时间轴,该目标分析页面用
于展示该待分析处理器对该机器码的执行过程;
116.步骤s430、响应于基于该时间轴触发的待展示时刻,从该日志文件中解析该待展示时刻所对应的待展示机器码,并将该待展示机器码翻译为汇编程序代码;
117.步骤s440、在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程。
118.在一种可能实现方式中,该方法还包括:
119.基于该时间戳信息,从该日志文件中解析初始时刻的首行机器码,并将该首行机器码翻译为首行汇编程序代码;
120.在该目标分析页面中显示该首行汇编程序代码。
121.在一种可能实现方式中,该在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程,包括:
122.基于该待展示机器码对应的目标寄存器组,将该汇编程序代码填充至该目标分析页面中该目标寄存器组对应的显示位置;
123.在该目标分析页面中,显示执行该汇编程序代码过程中由该目标寄存器组取指、以及该待分析处理器执行的过程。
124.在一种可能实现方式中,该响应于基于该时间轴触发的待展示时刻,从该日志文件中解析该待展示时刻所对应的待展示机器码之前,该方法还包括:
125.检测该目标分析页面中的触发操作;
126.响应于在该目标分析页面中对该时间轴的触发操作,基于该触发操作所触发的机器码回溯方式,确定该触发操作对应的待展示时刻。
127.在一种可能实现方式中,该在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程,包括:
128.从该日志文件中解析得到该待展示机器码的执行信息;
129.基于该执行信息,在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程。
130.在一种可能实现方式中,该待展示机器码的执行信息包括:程序计数器指针、各个寄存器组的指令执行状态、以及寄存器头尾指针位置。
131.本技术实施例提供的数据处理方法,通过将待分析处理器流水线的日志文件读取至内存中,并解析得到该日志文件中的机器码被该待分析处理器执行时的时间戳信息,从而将日志文件批量读入内存;基于该时间戳信息,生成目标分析页面中的时间轴,该目标分析页面用于展示该待分析处理器对该机器码的执行过程;响应于基于该时间轴触发的待展示时刻,从该日志文件中解析该待展示时刻所对应的待展示机器码,并将该待展示机器码翻译为汇编程序代码;便可在该目标分析页面中显示该待分析处理器对汇编程序代码的执行过程,实现了基于时间轴触发的时刻、随时翻译并展示的快速展示过程,避免逐个提取、填充并逐个翻译填充的繁琐过程,达到了降低展示过程、分析过程的耗时的效果,从而提高了数据处理的效率。
132.在一个可选实施例中提供了一种计算机设备,如图5所示,图5所示的计算机设备500包括:处理器501和存储器503。其中,处理器501和存储器503相连,如通过总线502相连。可选地,计算机设备500还可以包括收发器504,收发器504可以用于该计算机设备与其他计
算机设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器504不限于一个,该计算机设备500的结构并不构成对本技术实施例的限定。
133.处理器501可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器501也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
134.总线502可包括一通路,在上述组件之间传送信息。总线502可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线502可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
135.存储器503可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质\其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
136.存储器503用于存储执行本技术实施例的计算机程序,并由处理器501来控制执行。处理器501用于执行存储器503中存储的计算机程序,以实现前述方法实施例所示的步骤。
137.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
138.本技术实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
139.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除图示或文字描述以外的顺序实施。
140.应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
141.以上所述仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1