CN101777021B - 微处理器中精确数据断点的实现装置及其方法 - Google Patents
微处理器中精确数据断点的实现装置及其方法 Download PDFInfo
- Publication number
- CN101777021B CN101777021B CN2010100344646A CN201010034464A CN101777021B CN 101777021 B CN101777021 B CN 101777021B CN 2010100344646 A CN2010100344646 A CN 2010100344646A CN 201010034464 A CN201010034464 A CN 201010034464A CN 101777021 B CN101777021 B CN 101777021B
- Authority
- CN
- China
- Prior art keywords
- breakpoint
- address
- configuration information
- information
- numerical value
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
微处理器中精确数据断点的实现装置及其方法,所述装置包括:断点配置部件,用于保存一条或多条断点配置信息;断点匹配判定部件,用于判断访存指令是否与所述断点配置部件中保存的断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中;断点触发部件,用于检查访存指令的状态域,当判定结果为匹配时,暂停处理器的正常执行状态,进入调试状态。本发明采用表的形式管理断点配置信息,不仅增加断点配置容量的扩展性,也使得断点配置更趋灵活。并通过细分的“断点匹配成功”状态和“准断点匹配成功”状态,在对处理器流水线做很少改动的情况下,有效的实现精确数据断点。
Description
技术领域
本发明属于微处理器技术领域,特别涉及一种微处理器中数据断点的实现装置及其方法。
背景技术
随着计算机上的软件系统的规模日益扩大,软件系统的开发难度也大大增加,软件调试工作作为软件开发过程中的重要一环,其效率的提升成为计算机系统开发所关注的重要问题。在计算机系统底层硬件对软件调试所提供的支持将能大大提升软件调试工作的效率,因此现代处理器硬件都对软件调试给予特殊的支持。例如ARM处理器的JTAG调试接口、MIPS处理器的EJTAG调试接口。通过这些接口,软件可以直接控制底层硬件执行诸如:单步执行、指令断点、数据断点等功能。
对于数据断点功能而言,软件调试人员将待观察的地址和数据告知处理器,处理器自动监测所有的数据访问操作。当发现访问操作的地址与待观察的地址相同时,则处理器停止正常执行,进入调试模式,交由软件做进一步处理。在有的情况下,观察数据断点不仅要看访问的地址是否匹配,还要看访问的数据是否为待观察的数据。软件在调试模式下完成相关处理器后,将处理器设置回正常执行模式继续执行。通常软件希望硬件提供的是精确的断点的功能。
所谓精确断点是指处理器由调试模式返回正常模式时,返回到报告断点匹配的那条指令上。但是在实现了乱序调度的处理器中,精确的断点会使得设计复杂度提升,因为在取数操作的结果返回用于判断断点是否匹配的时候,位于这条指令之后的指令可能已经执行。为了在这种情况下实现精确数据断点,通常的技术方案是将所有指令对处理器状态的修改都安排到指令提交之后进行,这样做的代价是需要花费大量存储资源用于存放所有指令对处理器状态的修改信息,特别是对于访存指令,需要保存更多的相关内容。因此,现有的技术不足导致需要设计更加简洁高效的装置来实现微处理器中的精确数据断点。
发明内容
本发明的目的是提供一种微处理器中精确数据断点的实现装置及其方法,在保证处理器流水线基本结构不变的同时,以简洁高效的方式实现了处理器中的精确数据断点。
为实现上述目的,本发明采用如下技术方案:
一种微处理器中精确数据断点的实现装置,包括:
断点配置部件,用于保存一条或多条断点配置信息;
断点匹配判定部件,用于判断访存指令是否与所述断点配置部件中保存的断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中;
断点触发部件,用于检查访存指令的状态域,当判定结果为匹配时,暂停处理器的正常执行状态,进入调试状态。
进一步地,所述断点配置部件中的所述断点配置信息以全相联查找表的形式组织成断点配置信息表,该表的每一项对应一条断点配置信息。
进一步地,每条所述断点配置信息包括一断点内容信息和一断点控制信息,其中:
所述断点内容信息,用于保存待观测断点的信息,其包括:
一数据访问地址域,用于存放待观测断点的地址;
一地址掩码域,对应访问的地址,用于表示对应的地址位是否参与断点匹配比较;
一数据访问数值域,用于存放待观测断点的数值;
一数值掩码域,对应访问的数值,用于表示对应的数值位是否参与断点匹配比较;
所述断点控制信息,用于控制断点匹配过程,其包括:
一使能控制域,用于控制断点配置信息是否参与断点匹配比较;
一匹配模式域,用于控制断点匹配比较方式是仅对地址进行匹配比较还是对地址和数值同时进行匹配比较;
一地址模式域,用于标识该断点配置信息的地址信息对应的是待观测访问的虚地址还是物理地址。
本发明还提供一种微处理器中精确数据断点的实现方法,依次包括以下步骤:
A、断点配置步骤,用于保存一条或多条断点配置信息;
B、断点匹配判定步骤,用于判断访存指令是否与所述断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中;
C、断点触发步骤,用于检查访存指令的状态域,当判定结果为匹配时,暂停处理器的正常执行状态,进入调试状态。
进一步地,所述步骤A中的所述断点配置信息以全相联查找表的形式组织成断点配置信息表,该表的每一项对应一条断点配置信息。
进一步地,每条所述断点配置信息包括一断点内容信息和一断点控制信息,其中:
所述断点内容信息,用于保存待观测断点的信息,其包括:
一数据访问地址域,用于存放待观测断点的地址;
一地址掩码域,对应访问的地址,用于表示对应的地址位是否参与断点匹配比较;
一数据访问数值域,用于存放待观测断点的数值;
一数值掩码域,对应访问的数值,用于表示对应的数值位是否参与断点匹配比较;
所述断点控制信息,用于控制断点匹配过程,其包括:
一使能控制域,用于控制断点配置信息是否参与断点匹配比较;
一匹配模式域,用于控制断点匹配比较方式是仅对地址进行匹配比较还是对地址和数值同时进行匹配比较;
一地址模式域,用于标识该断点配置信息的地址信息对应的是待观测访问的虚地址还是物理地址。
进一步地,步骤A的所述断点配置信息通过硬件固化方式或软件配置方式录入;
所述软件配置方式包括内存映射和专用寄存器读写两种方式,其中:
所述内存映射方式为,处理器将一块事先定义好的地址区域标记成断点配置专用,在随后的对该地址区域的访问对应到断点配置信息表;
所述专用寄存器方式包括:直接将断点配置信息表存于若干指定专用寄存器和利用指定专用寄存器作为读写接口对处理器内部存储进行操作;
所述利用指定专用寄存器作为读写接口对处理器内部存储进行操作具体为,对所述断点配置信息表中的每个域均设有一唯一编址,将对每个域的读写转化为对一段连续空间特定地址的读写,定义地址接口寄存器和数据接口寄存器,通过其对上述特定连续地址空间进行读写访问。
进一步地,所述步骤B中,对于处理器中每一条执行的访存指令,将其所含的地址信息、数值信息分别同断点配置信息表中各项对应的地址掩码、数值掩码作用后得到第一结果,且各项的地址信息、数值信息分别与各项对应的地址掩码、数值掩码作用后得到第二结果,比较第一结果和第二结果,如果两结果一致,则这条访存指令匹配一个断点,将判定的结果保存到访存指令执行的状态域中。
进一步地,每条访存指令的匹配比较在一个时钟周期内完成。
进一步地,在所述步骤B中,对于取数操作,对其操作的地址进行匹配判定,如果地址一致,则这条取数指令被标记为“准断点匹配成功”状态,当取数操作的数值返回时,进行数值匹配判定,如果数值一致,则该取数操作的指令状态改为“断点匹配成功”,否则撤销该取数指令的“准断点匹配成功”状态,该该取数操作指令继续执行。
进一步地,所述步骤C中断点触发处理的优先级低于处理器中例外触发的优先级。
本发明具有以下优点:
1、本发明采用表的形式管理断点配置信息,不仅增加断点配置容量的扩展性,也使得断点配置更趋灵活。
2、通过细分的“断点匹配成功”状态和“准断点匹配成功”状态,在对处理器流水线做很少改动的情况下,有效的实现精确数据断点。
下面结合附图和具体实施方式对本发明做进一步详细描述。
附图说明
图1为本发明微处理器中精确数据断点的实现装置实施例结构示意图;
图2为本发明微处理器中精确数据断点的实现方法实施例流程图。
具体实施方式
实施例一
如图1所示,一种微处理器中精确数据断点的实现装置,包括:
断点配置部件1,用于保存一条或多条断点配置信息;
断点匹配判定部件2,用于判断访存指令是否与所述断点配置部件1中保存的断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中;
断点触发部件3,用于检查访存指令的状态域,当判定结果为匹配时,暂停处理器的正常执行状态,进入调试状态。
其中,在断点配置部件1中,所述断点配置信息以全相联查找表的形式组织成断点配置信息表。该表的每一项对应一条断点配置信息,每条所述断点配置信息包括一断点内容信息11和一断点控制信息12。其中,所述断点内容信息11用于保存待观测断点的信息,其保存的是描述断点特质的内容,本实施例中所述断点内容信息11包括:
一数据访问地址域,用于存放待观测断点的地址,该地址即可以是程序中所用的虚地址,也可以是硬件所用的物理地址;
一地址掩码域,对应访问的地址,用于表示对应的地址位是否参与断点匹配比较;
一数据访问数值域,用于存放待观测断点的数值;
一数值掩码域,对应访问的数值,用于表示对应的数值位是否参与断点匹配比较;
上述四个域的大小可根据需要设定,本实施例中为32比特。所述地址掩码域和数值掩码域的掩码某位为比特0表示地址或数值的对应位在进行断点匹配比较时不参与比较,即该位既可以视为比特0也可以视为比特1;掩码某位为比特1表示地址或数值的对应位在进行断点匹配时,必须与断点配置信息中存放的待观测地址或数值的对应位进行比较。通过这种实现方式,一条断点配置信息能表示一系列相关地址和数值,并且通过这种简单的数据压缩方式可有效提升断点配置信息表的存储效率。
所述断点控制信息12,用于控制断点匹配过程,在本实施例中具体包括:
一使能控制域,用于控制断点配置信息是否参与断点匹配比较,即控制该条断点配置信息是否视为有效,本实施例中该域置为1表示这一条断点信息参与断点匹配比较,为0则表示将这一条断点配置信息参与断点匹配比较的功能关闭,并且仅将使能控制域置为关闭状态,即为0时,每条断点配置信息中的内容信息仍然会保存在表中,直至下一次显式的对其进行修改;
一匹配模式域,用于控制断点匹配比较方式,即是仅对地址进行匹配比较还是对地址和数值同时进行匹配比较;所述匹配模式域本实施例中该域置为0表示仅对地址进行匹配比较,为1表示对地址和数值同时进行匹配比较;
一地址模式域,用于标识该断点配置信息的地址信息对应的是待观测访问的虚地址还是物理地址,本实施例中该域置为1表示所存的是物理地址,为0表示所存的是虚地址。
本实施例中所述的断点配置信息可通过硬件固化和软件配置两种方式录入到处理器中。
其中,所述硬件固化方式具体为,在每次上电之后由硬件自动填入到断点配置部件1的断点配置信息表中,这里固化的断点配置信息可以是任意指定,在本实施例中所有的断点配置信息的使能控制域均设置为0,即关闭断点匹配比较。
其中,所述软件配置方式,具体包括内存映射和专用寄存器读写两种方式,软件配置方式可保证用户在具体调试过程中实时的加入新的欲观测断点,控制使能或关闭各个断点匹配比较。
其中,所述内存映射方式具体为,处理器将一块事先定义好的地址区域标记成断点配置专用,这样,在随后的对该地址区域的访问即直接对应到断点配置信息表。
其中,所述专用寄存器方式又可进一步划分为直接将断点配置信息表存于若干指定专用寄存器,以及利用指定专用寄存器作为读写接口对处理器内部存储进行操作这两种不同的方式。在本实施例中采用后一种方式,所述利用指定专用寄存器作为读写接口对处理器内部存储进行操作具体为,对所述断点配置信息表中的每个域均设有一唯一编址,将对每个域的读写转化为对一段连续空间特定地址的读写,定义地址接口寄存器和数据接口寄存器,通过其对上述特定连续地址空间进行读写访问。以写操作为例,程序首先将待访问的域的地址写入到所述地址接口寄存器中,随后将欲写入的数据写入到所述数据接口寄存器中,随后断点配置部件1将根据这两个寄存器中的信息更新断点信息表中指定域的内容。读操作过程与写操作类似,程序首先将待访问的域的地址写入到地址接口寄存器中,随后读取数据接口寄存器,即可返回欲访问的断点信息表中指定域的内容。
所述断点匹配判定部件2根据断点配置部件1中的断点配置信息标记出与之匹配的访存指令。具体来说,对于处理器中每一条执行的访存指令,将其所含的地址信息、数值信息分别同断点配置信息表中各项对应的地址掩码、数值掩码作用后得到第一结果,且各项的地址信息、数值信息分别与各项对应的地址掩码、数值掩码作用后得到第二结果,比较第一结果和第二结果,如果两结果一致,则这条访存指令匹配一个断点。由于每条访存指令都必须与断点配置信息表中所有使能有效的项逐一进行比较,为尽可能降低查找比较的延迟开销,所有项的比较设定为在一个时钟周期内完成。所述断点匹配判定部件2将判定的结果保存到访存指令执行的状态域中,伴随该指令进入到后续的流水级中,直至到达断点触发部件3。断点匹配判定部件2所存入的断点判定结果作为指令执行过程记录的状态的一种,与指令执行过程中存入状态域的其它状态互不影响。
本实施例中所述断点触发部件3在每条指令的提交阶段,检查指令的断点匹配结果,如果断点匹配结果成功,则断点触发部件3立即清空流水线,触发处理器内部对于断点的影响,使处理器陷入调试模式,进入调试处理例程。断点触发部件3处理优先级低于处理器中例外触发部件,若一条访存指令断点匹配成功的同时,还被标记上其它例外,那么例外触发部件将优先进行处理。
实施例二
如图2所示,一种微处理器中精确数据断点的实现方法,采用实施例一所述的微处理器中精确数据断点的实现装置,依次包括以下步骤:
A、断点配置步骤10,用于保存一条或多条断点配置信息;
B、断点匹配判定步骤20,用于判断访存指令是否与所述断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中;
C、断点触发步骤30,用于检查访存指令的状态域,当判定结果为匹配时,暂停处理器的正常执行状态,进入调试状态。
所述步骤A中的所述断点配置信息以全相联查找表的形式组织成断点配置信息表,该表的每一项对应一条断点配置信息。
其中,每条所述断点配置信息包括一断点内容信息11和一断点控制信息12,其中:
所述断点内容信息11,用于保存待观测断点的信息,其包括:
一数据访问地址域,用于存放待观测断点的地址;
一地址掩码域,对应访问的地址,用于表示对应的地址位是否参与断点匹配比较;
一数据访问数值域,用于存放待观测断点的数值;
一数值掩码域,对应访问的数值,用于表示对应的数值位是否参与断点匹配比较;
所述断点控制信息12,用于控制断点匹配过程,其包括:
一使能控制域,用于控制断点配置信息是否参与断点匹配比较;
一匹配模式域,用于控制断点匹配比较方式是仅对地址进行匹配比较还是对地址和数值同时进行匹配比较;
一地址模式域,用于标识该断点配置信息的地址信息对应的是待观测访问的虚地址还是物理地址。
步骤A的所述断点配置信息通过硬件固化方式或软件配置方式录入;
其中,所述硬件固化方式具体为,在每次上电之后由硬件自动填入断点配置信息表中。
所述软件配置方式包括内存映射和专用寄存器读写两种方式,其中:
所述内存映射方式为,处理器将一块事先定义好的地址区域标记成断点配置专用,在随后的对该地址区域的访问对应到断点配置信息表;
所述专用寄存器方式包括:直接将断点配置信息表存于若干指定专用寄存器和利用指定专用寄存器作为读写接口对处理器内部存储进行操作;
所述利用指定专用寄存器作为读写接口对处理器内部存储进行操作具体为,对所述断点配置信息表中的每个域均设有一唯一编址,将对每个域的读写转化为对一段连续空间特定地址的读写,定义地址接口寄存器和数据接口寄存器,通过其对上述特定连续地址空间进行读写访问。
所述步骤B中,对于处理器中每一条执行的访存指令,将其所含的地址信息、数值信息分别同断点配置信息表中各项对应的地址掩码、数值掩码作用后得到第一结果,且各项的地址信息、数值信息分别与各项对应的地址掩码、数值掩码作用后得到第二结果,比较第一结果和第二结果,如果两结果一致,则这条访存指令匹配一个断点,将判定的结果保存到访存指令执行的状态域中。
其中,每条访存指令的匹配比较在一个时钟周期内完成。
在所述步骤B中,对于取数操作,对其操作的地址进行匹配判定,如果地址一致,则这条取数指令被标记为“准断点匹配成功”状态,当取数操作的数值返回时,进行数值匹配判定,如果数值一致,则该取数操作的指令状态改为“断点匹配成功”,否则撤销该取数指令的“准断点匹配成功”状态,该该取数操作指令继续执行。
其中,所述步骤C中断点触发处理的优先级低于处理器中例外触发的优先级。
下面举三个具体的实施例子,通过数据断点信息的配置、存数指令的断点匹配和取数指令的断点匹配的例子来具体说明本发明提到的数据断点实现。
例1、在处理器中通过软件配置两个数据断点:
第一项:同时观察地址和数据,地址:0x00401280,为虚地址;数据:0x0,地址和数据掩码均为0xffffffff;
第二项:仅观察地址,地址:0x0047ff80,为虚地址,地址掩码为0xffffff80。
在配置时将这两个数据断点存放于断点配置信息表的第一项和第二项。对于第一项页言,其数据访问地址域、地址掩码域、数据访问数值域和数值掩码域、地址模式域、匹配模式域和使能控制域这七个域从0到6依次编址。第二项的七个域从7到13依次编址。
以第一项的地址域写入为例,先对地址接口专用寄存器写入0,即将第一项的数据访问地址域的地址写入,随后对数据接口专用寄存器写入0x00401280,这样断点配置信息表的第一项的数据访问地址域即被设置为0x00401280。重复这样的过程直至第一项和第二项均设置完毕。
例2、假设断点配置信息表中共有三项内容:
第一项:地址:0x00400100,为虚地址;地址掩码:0xffffffff;数值:0x64;数值掩码:0xffffffff;匹配模式:地址数据均观察,使能关闭;
第二项:地址:0x00400200,为虚地址;地址掩码;0xffffffff;数值:0x7c;数值掩码:0xffffffff,地址数据均观察,使能开启;
第二项:地址:0x00400210,为虚地址;地址掩码:0xffffffff;数值:0x1;数值掩码:0xffffffff,地址数据均观察,使能开启。
一条存数指令,其访问虚地址为0x00400200,物理地址为0x0008d200,待存入数据为0x7c。该指令在访存执行时,其访问地址与存入数据经由断点匹配判定部件2进行判定。首先根据使能控制信息,只需要检查断点配置信息表的第二项和第三项,进一步查看匹配模式域和地址模式域得知,这两项均需要同时比较地址和数值。将该访存指令的虚地址和数值与第二项、第三项对应的地址掩码和数据掩码逐位相与后,同时将第二项和第三项的地址掩码和数据掩码与自身保存的地址和数值也进行逐位相与,将两部分处理后的结果进行比较。比较结果与第二项相匹配。因此判定该访存指令命中断点配置信息表中的第二项,将断点命中与命中第二项的信息存入到这条指令的状态域中。该存数指令不产生操作执行效果,从访存部件中退出。待这条存数指令提交时,断点触发部件3查看该指令的状态域,得知该指令命中断点,因此立即清空流水线,通知处理器进入调试模式,让取指部件从调试处理例程入口开始取指。
例3、断点配置信息表中的内容同例2。
假设有一取数指令,其访问虚地址为0x00400210,物理地址为0x0008d210。在该取数指令在高速缓存(Cache)中不命中,在其结果从内存返回之前,断点匹配判定部件2先根据该指令地址,采用例2中的判定方法进行判定,可得结果为地址与断点配置信息表中的第三项的地址匹配。因此断点匹配判定部件3先将该取数指令置为“准断点命中”状态。该指令结果从内存返回,其值为0x78。断点匹配判定部件2将该数值与断点配置信息表中的第三项的数据进行比较,发现不一致,因此撤销该取数指令的“准断点命中”状态,该指令继续正常执行。
最后应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围中。
Claims (10)
1.一种微处理器中精确数据断点的实现装置,其特征在于包括:
断点配置部件(1),用于保存一条或多条断点配置信息;
断点匹配判定部件(2),用于判断访存指令是否与所述断点配置部件(1)中保存的断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中;
具体地,对于处理器中每一条执行的访存指令,将其所含的地址信息、数值信息分别同断点配置信息表中各项对应的地址掩码、数值掩码作用后得到第一结果,且各项的地址信息、数值信息分别与各项对应的地址掩码、数值掩码作用后得到第二结果,比较第一结果和第二结果,如果两结果一致,则这条访存指令匹配一个断点,将判定的结果保存到访存指令执行的状态域中;
断点触发部件(3),用于检查访存指令的状态域,当判定结果为匹配时,暂停处理器的正常执行状态,进入调试状态。
2.根据权利要求1所述的微处理器中精确数据断点的实现装置,其特征在于:
所述断点配置部件(1)中的所述断点配置信息以全相联查找表的形式组织成断点配置信息表,该表的每一项对应一条断点配置信息。
3.根据权利要求1或2所述的微处理器中精确数据断点的实现装置,其特征在于:
每条所述断点配置信息包括一断点内容信息(11)和一断点控制信息(12),其中:
所述断点内容信息(11),用于保存待观测断点的信息,其包括:
一数据访问地址域,用于存放待观测断点的地址;
一地址掩码域,对应访问的地址,用于表示对应的地址位是否参与断点匹配比较;
一数据访问数值域,用于存放待观测断点的数值;
一数值掩码域,对应访问的数值,用于表示对应的数值位是否参与断点匹配比较;
所述断点控制信息(12),用于控制断点匹配过程,其包括:
一使能控制域,用于控制断点配置信息是否参与断点匹配比较;
一匹配模式域,用于控制断点匹配比较方式是仅对地址进行匹配比较还是对地址和数值同时进行匹配比较;
一地址模式域,用于标识该断点配置信息的地址信息对应的是待观测访问的虚地址还是物理地址。
4.一种微处理器中精确数据断点的实现方法,其特征在于依次包括以下步骤:
A、断点配置步骤(10),用于保存一条或多条断点配置信息;
B、断点匹配判定步骤(20),用于判断访存指令是否与所述断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中;
具体地,对于处理器中每一条执行的访存指令,将其所含的地址信息、数值信息分别同断点配置信息表中各项对应的地址掩码、数值掩码作用后得到第一结果,且各项的地址信息、数值信息分别与各项对应的地址掩码、数值掩码作用后得到第二结果,比较第一结果和第二结果,如果两结果一致,则这条访存指令匹配一个断点,将判定的结果保存到访存指令执行的状态域中;
C、断点触发步骤(30),用于检查访存指令的状态域,当判定结果为匹配时,暂停处理器的正常执行状态,进入调试状态。
5.根据权利要求4所述的微处理器中精确数据断点的实现方法,其特征在于:
所述步骤A中的所述断点配置信息以全相联查找表的形式组织成断点配置信息表,该表的每一项对应一条断点配置信息。
6.根据权利要求4或5所述的微处理器中精确数据断点的实现方法,其特征在于:
每条所述断点配置信息包括一断点内容信息(11)和一断点控制信息(12),其中:
所述断点内容信息(11),用于保存待观测断点的信息,其包括:
一数据访问地址域,用于存放待观测断点的地址;
一地址掩码域,对应访问的地址,用于表示对应的地址位是否参与断点匹配比较;
一数据访问数值域,用于存放待观测断点的数值;
一数值掩码域,对应访问的数值,用于表示对应的数值位是否参与断点匹配比较;
所述断点控制信息(12),用于控制断点匹配过程,其包括:
一使能控制域,用于控制断点配置信息是否参与断点匹配比较;
一匹配模式域,用于控制断点匹配比较方式是仅对地址进行匹配比较还是对地址和数值同时进行匹配比较;
一地址模式域,用于标识该断点配置信息的地址信息对应的是待观测访问的虚地址还是物理地址。
7.根据权利要求6所述的微处理器中精确数据断点的实现方法,其特征在于:
步骤A的所述断点配置信息通过硬件固化方式或软件配置方式录入;
所述软件配置方式包括内存映射和专用寄存器读写两种方式,其中:
所述内存映射方式为,处理器将一块事先定义好的地址区域标记成断点配置专用,在随后的对该地址区域的访问对应到断点配置信息表;
所述专用寄存器方式包括:直接将断点配置信息表存于若干指定专用寄存器和利用指定专用寄存器作为读写接口对处理器内部存储进行操作;
所述利用指定专用寄存器作为读写接口对处理器内部存储进行操作具体为,对所述断点配置信息表中的每个域均设有一唯一编址,将对每个域的读写转化为对一段连续空间特定地址的读写,定义地址接口寄存器和数据接口寄存器,通过其对上述特定连续地址空间进行读写访问。
8.根据权利要求4所述的微处理器中精确数据断点的实现方法,其特征在于:
每条访存指令的匹配比较在一个时钟周期内完成。
9.根据权利要求4所述的微处理器中精确数据断点的实现方法,其特征在于:
在所述步骤B中,对于取数操作,对其操作的地址进行匹配判定,如果地址一致,则这条取数指令被标记为“准断点匹配成功”状态,当取数操作的数值返回时,进行数值匹配判定,如果数值一致,则该取数操作的指令状态改为“断点匹配成功”,否则撤销该取数指令的“准断点匹配成功”状态,该该取数操作指令继续执行。
10.根据权利要求4所述的微处理器中精确数据断点的实现方法,其特征在于:
所述步骤C中断点触发处理的优先级低于处理器中例外触发的优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010100344646A CN101777021B (zh) | 2010-01-21 | 2010-01-21 | 微处理器中精确数据断点的实现装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010100344646A CN101777021B (zh) | 2010-01-21 | 2010-01-21 | 微处理器中精确数据断点的实现装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101777021A CN101777021A (zh) | 2010-07-14 |
CN101777021B true CN101777021B (zh) | 2012-07-04 |
Family
ID=42513490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010100344646A Active CN101777021B (zh) | 2010-01-21 | 2010-01-21 | 微处理器中精确数据断点的实现装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101777021B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063370B (zh) * | 2010-12-17 | 2013-10-16 | 北京控制工程研究所 | 一种从总线指令流中提取实际执行指令和预取指令的方法 |
CN102117243A (zh) * | 2010-12-29 | 2011-07-06 | 杭州晟元芯片技术有限公司 | 一种在Flash存储器中高效的使用软件断点调试的方法 |
CN104471545B (zh) * | 2012-05-07 | 2017-10-27 | 密克罗奇普技术公司 | 具有基于中断状态的可配置断点的装置 |
US10740220B2 (en) * | 2018-06-27 | 2020-08-11 | Microsoft Technology Licensing, Llc | Cache-based trace replay breakpoints using reserved tag field bits |
CN117724985B (zh) * | 2024-02-08 | 2024-04-30 | 此芯科技(武汉)有限公司 | 一种内存访问行为监控方法、装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371894A (en) * | 1991-05-13 | 1994-12-06 | International Business Machines Corporation | Off-chip breakpoint system for a pipelined microprocessor |
CN101501650A (zh) * | 2006-08-09 | 2009-08-05 | 高通股份有限公司 | 比较处理器指令集操作模式的调试电路 |
-
2010
- 2010-01-21 CN CN2010100344646A patent/CN101777021B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371894A (en) * | 1991-05-13 | 1994-12-06 | International Business Machines Corporation | Off-chip breakpoint system for a pipelined microprocessor |
CN101501650A (zh) * | 2006-08-09 | 2009-08-05 | 高通股份有限公司 | 比较处理器指令集操作模式的调试电路 |
Also Published As
Publication number | Publication date |
---|---|
CN101777021A (zh) | 2010-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105793832B (zh) | 处理器及其操作方法、以及计算机可读存储介质 | |
Thesing | Safe and precise WCET determination by abstract interpretation of pipeline models | |
US6990657B2 (en) | Shared software breakpoints in a shared memory system | |
US7840845B2 (en) | Method and system for setting a breakpoint | |
CN105446900B (zh) | 处理器和区分系统管理模式条目的方法 | |
US8261047B2 (en) | Qualification of conditional debug instructions based on address | |
US6925634B2 (en) | Method for maintaining cache coherency in software in a shared memory system | |
US9003376B2 (en) | Software breakpoints with tailoring for multiple processor shared memory or multiple thread systems | |
Johnson | Superscalar Processor Design | |
CN101777021B (zh) | 微处理器中精确数据断点的实现装置及其方法 | |
TWI431472B (zh) | 微處理器之可組態快取 | |
US20020147965A1 (en) | Tracing out-of-order data | |
CN104221005B (zh) | 用于从多线程发送请求至加速器的机制 | |
US20070234310A1 (en) | Checking for memory access collisions in a multi-processor architecture | |
US7454666B1 (en) | Real-time address trace generation | |
CN101458725B (zh) | 微控制器芯片及其调试方法 | |
CN109033826B (zh) | 可抵御边信道攻击的缓存加固方法及装置 | |
US11119925B2 (en) | Apparatus and method for managing capability metadata | |
CN102073480B (zh) | 基于时分复用实现多核处理器内核模拟的方法 | |
KR20090096721A (ko) | 마이크로프로세서용 구성가능한 캐시 | |
JPH04270431A (ja) | データ 処理装置のメモリ システム | |
US8255602B2 (en) | Effective mixing real-time software with a non-real-time operating system | |
US7039901B2 (en) | Software shared memory bus | |
CN111183413B (zh) | 用于在计算机中执行程序的方法 | |
US7007267B2 (en) | Transparent shared memory access in a software development system |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee after: Loongson Zhongke Technology Co.,Ltd. Address before: 100080 No. 10 South Road, Haidian District Academy of Sciences, Beijing Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd. |