一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多核处理器调试方法、处理器、电子设备和存储介质与流程

2021-11-05 20:31:00 来源:中国专利 TAG:


1.本技术涉及处理器调试技术,具体地,涉及一种多核处理器调试方法、处理器、电子设备和存储介质。


背景技术:

2.目前,主流的处理器调试方法大致可以分为两类:一类是execution based testing(动态调试),这种方式会利用处理器的流水线来执行特殊的调试指令,从而完成处理器的调试;另一类是静态调试,在调试的时候,处理器的流水线是处于停顿状态的,需要通过其他方式(例如新增一组专用于调试的总线)进行调试。两种调试方式都很常用,其中动态调试可以在不改变处理器的数据通路的前提下,充分利用处理器已有的流水线完成任意地址的访存。
3.但是,动态调试的方式在退出调试模式时,多个处理器内核不能同时自动的退出调试状态,而是需要上位机每次选中一个内核并发送一系列命令控制这个内核退出调试状态,这样多个内核退出调试状态的时间点会间隔比较长,不利于软件人员调试,导致调试效率较低。


技术实现要素:

4.本技术实施例中提供了一种多核处理器调试方法、处理器、电子设备和存储介质,用于解决目前在退出调试模式时,多个处理器内核不能同时自动的退出调试状态,不利于软件人员调试,导致调试效率较低的问题。
5.根据本技术实施例的第一个方面,提供了一种多核处理器调试方法,应用于处理器,所述处理器包括多个处理器内核,每个处理器内核中设置有状态寄存器,所述状态寄存器用于存储表征处理器内核是否需要退出调试模式的状态值,所述方法包括:
6.各个所述处理器内核根据上位机发送的调试信息进行处理器调试;
7.针对每个处理器内核,在完成处理器调试后,根据所述状态存储器中的状态值判断是否满足退出调试模式的条件;
8.满足退出调试模式的条件的处理器内核执行退出调试模式对应的程序。
9.根据本技术实施例的第二个方面,提供了一种处理器,所述处理器包括多个处理器内核,每个处理器内核中设置有状态寄存器,所述状态寄存器用于存储表征处理器内核是否需要退出调试模式的状态值;
10.各个所述处理器内核用于根据上位机发送的调试信息进行处理器调试;
11.针对每个处理器内核,在完成处理器调试后,还用于根据对应的状态值各自判断自身是否满足退出调试模式的条件;
12.满足退出调试模式的条件的处理器内核还用于执行退出调试模式对应的程序。
13.根据本技术实施例的第三个方面,提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述
处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行多核处理器调试方法。
14.根据本技术实施例的第四个方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行多核处理器调试方法。
15.本技术实施例提供了一种多核处理器调试方法、处理器、电子设备和存储介质,所述方法应用于处理器,所述处理器包括多个处理器内核,每个处理器内核中设置有状态寄存器,所述状态寄存器用于存储表征处理器内核是否需要退出调试模式的状态值,所述方法包括:各个所述处理器内核根据上位机发送的调试信息进行处理器调试;针对每个处理器内核,在完成处理器调试后,根据对应的状态值判断是否满足退出调试模式的条件;满足退出调试模式的条件的处理器内核执行退出调试模式对应的程序。多个处理器内核能够同时根据自身的状态值判定是否满足退出调试模式的条件,在满足条件时即可退出调试模式,从而可以实现多个处理器内核同时退出调试模式,便于软件人员调试,提高了调试效率。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1为现有技术提供的动态调试的架构图;
18.图2为现有技术提供的动态调试的调试交互示意图;
19.图3为本技术实施例提供的多核处理器调试方法的流程图;
20.图4为本技术实施例提供的处理器内核的内部结构示意图;
21.图5为本技术实施例提供的处理器调试的执行流程示意图;
22.图6为本技术实施例提供的电子设备的示意图。
具体实施方式
23.在实现本技术的过程中,发明人发现,主流的处理器调试方法大致可以分为两类:一类是execution based testing(动态调试),这种方式会利用处理器的流水线来执行特殊的调试指令,从而完成处理器的调试;另一类是静态调试,在调试的时候,处理器的流水线是出于停顿状态的,需要通过其他方式(例如新增一组专用于调试的总线)进行调试。两种调试方式都很常用,其中动态调试可以在不改变处理器的数据通路的前提下,充分利用处理器已有的流水线完成任意地址的访存。在调试时,上位机向处理器的调试解析模块发送调试命令,调试解析模块对调试命令进行解析后触发相应的调试操作,控制处理器内核进入或退出调试模式。
24.如图1所示,图1为现有技术提供的动态调试的架构图。在图1中,处理器包括调试接口转换模块、调试接口总线生成模块、调试解析

控制模块、多个处理器内核,其中,调试解析

控制模块包括调试解析模块和控制模块。
25.调试接口转换模块用于与上位机通信,将上位机发送的调试命令发送给调试接口总线生成模块,调试接口总线生成模块用于将接收到的调试命令通过总线发送给调试解析

控制模块,调试解析

控制模块用于对接收到的调试命令进行解析,并控制处理器内核
进行调试。
26.进一步地,如图2所示,图2为现有技术提供的动态调试的调试交互示意图。在图2中,调试解析

控制模块中的调试解析模块在解析调试命令后将解析结果发送给控制模块,控制模块根据解析后的调试命令映射出对应的程序流,并将程序流发送给对应的处理器内核,以使处理器内核执行对应的程序流,从而完成相应的调试命令。
27.控制模块还会产生控制信号、状态信号及调试数据,并将控制信号、状态信号及调试数据发送给相应的处理器内核,其中,控制信号用于控制处理器内核进入调试模式,状态信号用于供相应的处理器内核查询当前的调试状态,调试数据用于供处理器内核进行数据访问。
28.控制模块还用于接收相应处理器内核反馈的调试状态和数据,控制模块在接收到反馈信息后,通知调试解析模块并将相应的状态信号和控制信号撤销。
29.处理器内核能够根据不同的命令执行不同的操作。如果是进入调试模式的命令,则控制模块会映射出一段与进入调试模式对应的程序流,处理器内核执行这段程序流就能够进入调试模式。
30.在退出调试模式时,控制模块会映射出一段退出调试模式的程序流,并将当前选中的需要退出调试模式的处理器内核的编号映射到系统的存储地址上(记为hartid),且每个存储地址上一次只能存储一个hartid,每一个处理器内核执行退出调试模式的程序流时,会读取存储地址中的hartid,并和各自的状态寄存器(记为mhartid)中的处理器内核编号进行比较,只有在hartid和处理器内核编号一致时,该编号对应的处理器内核才能执行程序流后续的退出调试模式的程序,并向控制模块反馈,最终退出调试,在一个处理器内核成功退出调试模式后,控制模块在上位机的控制下会将另一个选中的需要退出调试模式的处理器内核的编号映射到系统的存储地址上。
31.这种动态调试的方式,在多核调试时,能够支持选中多个处理器内核同时进入调试状态(这里的同时并不是指同一个时钟周期,而是指相对于上位机发送调试命令的速度而言的一段比较短的时间内),然而在退出调试状态时,多个处理器内核不能同时自动的退出调试状态,而是需要上位机每次选中一个内核并发送一系列命令控制这个内核退出调试状态,这样多个内核退出调试状态的时间点会间隔比较长,不利于软件人员调试,导致调试效率较低。
32.针对上述问题,本技术实施例中提供了一种多核处理器调试方法、处理器、电子设备和存储介质,所述方法应用于处理器,所述处理器包括多个处理器内核,每个处理器内核中设置有状态寄存器,所述状态寄存器用于存储表征处理器内核是否需要退出调试模式的状态值,所述方法包括:各个所述处理器内核根据上位机发送的调试信息进行处理器调试;针对每个处理器内核,在完成处理器调试后,根据对应的状态值判断是否满足退出调试模式的条件;满足退出调试模式的条件的处理器内核执行退出调试模式对应的程序。多个处理器内核能够同时根据自身的状态值判定是否需要退出调试模式,从而可以实现多个处理器内核同时退出调试模式,便于软件人员调试,提高了调试效率。
33.本技术实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。
34.为了使本技术实施例中的技术方案及优点更加清楚明白,以下结合附图对本技术
的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本技术的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
35.请参照图3,图3为本技术实施例提供的多核处理器调试方法的流程图。在本实施例中,多核处理器调试方法应用于处理器,所述处理器包括多个处理器内核。如图4所示,图4为本技术实施例提供的处理器内核的内部结构示意图。在图4中,每个处理器内核中设置有状态寄存器(记为mresume)。状态寄存器用于存储表征处理器内核是否需要退出调试模式的状态值,所述方法包括:
36.步骤s11,各个处理器内核根据上位机发送的调试信息进行处理器调试。
37.步骤s12,针对每个处理器内核,在完成处理器调试后,根据对应的状态值判断是否满足退出调试模式的条件。
38.步骤s13,满足退出调试模式的条件的处理器内核执行退出调试模式对应的程序。
39.在上述步骤中,多个处理器内核能够同时根据自身的状态寄存器中存储的状态值判定是否满足退出调试模式的条件,在满足条件时退出调试模式,从而可以实现多个处理器内核同时退出调试模式,便于软件人员调试,提高了调试效率。
40.可选地,在本实施例中,处理器包括控制模块,在完成处理器调试后,所述方法还包括:
41.控制模块向各个待退出调试模式的处理器内核发送退出调试模式的状态信号;各个待退出调试模式的处理器内核在接收到所述退出调试模式的状态信号后,将对应的状态寄存器内存储的状态值设置为预设值,其中,预设值用于标识处理器内核需要退出调试模式。
42.在本实施例中,请参照图5,图5为本技术实施例提供的处理器调试的执行示意图。处理器包括调试解析

控制模块,调试解析

控制模块包括调试解析模块和控制模块,在完成处理器调试之后,可以同时选中多个处理器内核退出调试模式,同时调试解析模块向控制模块发出退出调试模式的命令,控制模块会给每个被选中的处理器内核发送一个退出调试模式的状态信号(记为resume_flg),状态信号用于表征这个处理器内核被选中需要退出调试模式,各个处理器内核在接收到状态信号后,将对应的状态寄存器(mresume)内存储的状态值设置为预设值(例如1)。
43.进一步地,在本实施例中,针对每个处理器内核,在完成处理器调试后,根据所述状态存储器中的状态值判断是否满足退出调试模式的条件,包括:
44.各个所述处理器内核执行所述控制模块发送的退出调试模式对应的程序流,并读取各自对应的状态寄存器的状态值;判断所述状态值是否为预设值;若是,则判定所述处理器内核满足退出调试模式的条件。
45.在本实施例中,在退出调试模式时,控制模式会映射出一段退出调试模式对应的程序流,每一个处理器内核在执行该程序流时,会读取各自的状态寄存器mresume内存储的状态值,并根据状态值判断自身是否满足退出调试模式的条件。
46.例如,当处理器内核1接收到状态信号后,则将处理器内核1对应的状态寄存器内存储的状态值设置为1,状态值为1则表示处理器内核1需要退出调试模式。
47.在处理器调试完成后,每一个处理器内核执行控制模块发送的程序流,并读取对
应的状态寄存器中的状态值,若状态值为预设值,则该处理器内核需要退出调试模式。
48.例如,处理器内核1读取处理器内核1中设置的状态寄存器中存储的状态值,若这个值为1,则处理器内核1被判定为需要退出调试模式,若值不为1,则处理器内核1被判定为不需要退出调试模式,其他处理器内核同理。
49.当处理器内核被判定为需要退出调试模式时,则各个处理器内核执行退出调试模式的程序。
50.可选地,在本实施例中,步骤s13,满足退出调试模式的条件的处理器内核执行退出调试模式对应的程序,包括:
51.各个满足退出调试模式的条件的处理器内核执行所述控制模块发送的退出调试模式对应的程序流,并向所述控制模块反馈执行结果。
52.在本实施例中,每一个满足退出调试模式的条件的处理器内核执行程序流中后续的退出调试模式对应的程序,并向控制模块反馈执行结果。
53.综上所述,本技术实施例提供了一种多核处理器调试方法,所述方法应用于处理器,所述处理器包括多个处理器内核,每个处理器内核中设置有状态寄存器,所述状态寄存器用于存储表征处理器内核是否需要退出调试模式的状态值,所述方法包括:各个所述处理器内核根据上位机发送的调试信息进行处理器调试;针对每个处理器内核,在完成处理器调试后,根据对应的状态值判断是否满足退出调试模式的条件;满足退出调试模式的条件的处理器内核执行退出调试模式对应的程序。多个处理器内核能够同时根据自身的状态值判定是否满足退出调试模式的条件,在满足条件时即可退出调试模式,从而可以实现多个处理器内核同时退出调试模式,便于软件人员调试,提高了调试效率。
54.可选地,本技术实施例还提供了一种处理器,所所述处理器包括多个处理器内核,每个处理器内核中设置有状态寄存器,所述状态寄存器用于存储表征处理器内核是否需要退出调试模式的状态值;
55.各个所述处理器内核用于根据上位机发送的调试信息进行处理器调试;针对每个处理器内核,在完成处理器调试后,还用于根据根据对应的状态值各自判断自身是否满足退出调试模式的条件;满足退出调试模式的条件的处理器内核还用于执行退出调试模式对应的程序。
56.可选地,在本实施例中,所述处理器还包括控制模块,所述处理器还包括控制模块,在完成处理器调试后,所述控制模块用于向待退出调试模式的处理器内核发送退出调试模式的状态信号;
57.待退出调试模式的处理器内核还用于在接收到所述退出调试模式的状态信号后,将自身的状态寄存器内存储的状态值设置为预设值,其中,所述预设值用于标识所述处理器内核需要退出调试模式。
58.可选地,在本实施例中,各个所述处理器内核具体用于:
59.执行所述控制模块发送的退出调试模式对应的程序流,并读取各自对应的状态寄存器的状态值;判断所述状态值是否为预设值;若是,则判定所述处理器内核满足退出调试模式的条件。
60.可选地,在本实施例中,各个满足退出调试模式的条件的处理器内核具体用于执行所述控制模块发送的退出调试模式对应的程序流,并向所述控制模块反馈执行结果。
61.本技术实施例还提供了一种电子设备,请参照图6,图6为本技术实施例提供的电子设备10的示意图。在本实施例中,电子设备10包括:处理器11、存储器12和总线13,所述存储器12存储有所述处理器11可执行的机器可读指令,当所述电子设备10运行时,所述处理器11与所述存储器12之间通过所述总线13通信,所述机器可读指令被所述处理器11执行时执行本技术实施例提供的多核处理器调试方法。
62.本技术实施例还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行本技术实施例提供的多核处理器调试方法。
63.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
64.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
65.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
66.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
67.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
68.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献