微处理器中精确数据断点的实现装置及其方法制造方法及图纸

技术编号:3748170 阅读:242 留言:0更新日期:2012-04-11 18:40
微处理器中精确数据断点的实现装置及其方法,所述装置包括:断点配置部件,用于保存一条或多条断点配置信息;断点匹配判定部件,用于判断访存指令是否与所述断点配置部件中保存的断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中;断点触发部件,用于检查访存指令的状态域,当判定结果为匹配时,暂停处理器的正常执行状态,进入调试状态。本发明专利技术采用表的形式管理断点配置信息,不仅增加断点配置容量的扩展性,也使得断点配置更趋灵活。并通过细分的“断点匹配成功”状态和“准断点匹配成功”状态,在对处理器流水线做很少改动的情况下,有效的实现精确数据断点。

【技术实现步骤摘要】

本专利技术属于微处理器
,特别涉及一种微处理器中数据断点的实现装置及其方法。
技术介绍
随着计算机上的软件系统的规模日益扩大,软件系统的开发难度也大大增加,软件调试工作作为软件开发过程中的重要一环,其效率的提升成为计算机系统开发所关注的重要问题。在计算机系统底层硬件对软件调试所提供的支持将能大大提升软件调试工作的效率,因此现代处理器硬件都对软件调试给予特殊的支持。例如ARM处理器的JTAG调试接口 、MIPS处理器的EJTAG调试接口 。通过这些接口 ,软件可以直接控制底层硬件执行诸如单步执行、指令断点、数据断点等功能。 对于数据断点功能而言,软件调试人员将待观察的地址和数据告知处理器,处理器自动监测所有的数据访问操作。当发现访问操作的地址与待观察的地址相同时,则处理器停止正常执行,进入调试模式,交由软件做进一步处理。在有的情况下,观察数据断点不仅要看访问的地址是否匹配,还要看访问的数据是否为待观察的数据。软件在调试模式下完成相关处理器后,将处理器设置回正常执行模式继续执行。通常软件希望硬件提供的是精确的断点的功能。 所谓精确断点是指处理器由调试模式返回正常模式时,返回到报告断点匹配的那条指令上。但是在实现了乱序调度的处理器中,精确的断点会使得设计复杂度提升,因为在取数操作的结果返回用于判断断点是否匹配的时候,位于这条指令之后的指令可能已经执行。为了在这种情况下实现精确数据断点,通常的技术方案是将所有指令对处理器状态的修改都安排到指令提交之后进行,这样做的代价是需要花费大量存储资源用于存放所有指令对处理器状态的修改信息,特别是对于访存指令,需要保存更多的相关内容。因此,现有的技术不足导致需要设计更加简洁高效的装置来实现微处理器中的精确数据断点。
技术实现思路
本专利技术的目的是提供一种,在保证处理器流水线基本结构不变的同时,以简洁高效的方式实现了处理器中的精确数据断点。 为实现上述目的,本专利技术采用如下技术方案 —种微处理器中精确数据断点的实现装置,包括 断点配置部件,用于保存一条或多条断点配置信息; 断点匹配判定部件,用于判断访存指令是否与所述断点配置部件中保存的断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中; 断点触发部件,用于检查访存指令的状态域,当判定结果为匹配时,暂停处理器的正常执行状态,进入调试状态。 进一步地,所述断点配置部件中的所述断点配置信息以全相联查找表的形式组织成断点配置信息表,该表的每一项对应一条断点配置信息。 进一步地,每条所述断点配置信息包括一断点内容信息和一断点控制信息,其中 所述断点内容信息,用于保存待观测断点的信息,其包括 —数据访问地址域,用于存放待观测断点的地址; —地址掩码域,对应访问的地址,用于表示对应的地址位是否参与断点匹配比较; —数据访问数值域,用于存放待观测断点的数值; —数值掩码域,对应访问的数值,用于表示对应的数值位是否参与断点匹配比较; 所述断点控制信息,用于控制断点匹配过程,其包括 —使能控制域,用于控制断点配置信息是否参与断点匹配比较; —匹配模式域,用于控制断点匹配比较方式是仅对地址进行匹配比较还是对地址和数值同时进行匹配比较; —地址模式域,用于标识该断点配置信息的地址信息对应的是待观测访问的虚地址还是物理地址。 本专利技术还提供一种微处理器中精确数据断点的实现方法,依次包括以下步骤 A、断点配置步骤,用于保存一条或多条断点配置信息; B、断点匹配判定步骤,用于判断访存指令是否与所述断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中; C、断点触发步骤,用于检查访存指令的状态域,当判定结果为匹配时,暂停处理器的正常执行状态,进入调试状态。 进一步地,所述步骤A中的所述断点配置信息以全相联查找表的形式组织成断点配置信息表,该表的每一项对应一条断点配置信息。 进一步地,每条所述断点配置信息包括一断点内容信息和一断点控制信息,其中 所述断点内容信息,用于保存待观测断点的信息,其包括 —数据访问地址域,用于存放待观测断点的地址; —地址掩码域,对应访问的地址,用于表示对应的地址位是否参与断点匹配比较; —数据访问数值域,用于存放待观测断点的数值; —数值掩码域,对应访问的数值,用于表示对应的数值位是否参与断点匹配比较; 所述断点控制信息,用于控制断点匹配过程,其包括 —使能控制域,用于控制断点配置信息是否参与断点匹配比较; —匹配模式域,用于控制断点匹配比较方式是仅对地址进行匹配比较还是对地址和数值同时进行匹配比较; —地址模式域,用于标识该断点配置信息的地址信息对应的是待观测访问的虚地址还是物理地址。 进一步地,步骤A的所述断点配置信息通过硬件固化方式或软件配置方式录入; 所述软件配置方式包括内存映射和专用寄存器读写两种方式,其中 所述内存映射方式为,处理器将一块事先定义好的地址区域标记成断点配置专用,在随后的对该地址区域的访问对应到断点配置信息表; 所述专用寄存器方式包括直接将断点配置信息表存于若干指定专用寄存器和利用指定专用寄存器作为读写接口对处理器内部存储进行操作; 所述利用指定专用寄存器作为读写接口对处理器内部存储进行操作具体为,对所述断点配置信息表中的每个域均设有一唯一编址,将对每个域的读写转化为对一段连续空间特定地址的读写,定义地址接口寄存器和数据接口寄存器,通过其对上述特定连续地址空间进行读写访问。 进一步地,所述步骤B中,对于处理器中每一条执行的访存指令,将其所含的地址信息、数值信息分别同断点配置信息表中各项对应的地址掩码、数值掩码作用后得到第一结果,且各项的地址信息、数值信息分别与各项对应的地址掩码、数值掩码作用后得到第二结果,比较第一结果和第二结果,如果两结果一致,则这条访存指令匹配一个断点,将判定的结果保存到访存指令执行的状态域中。 进一步地,每条访存指令的匹配比较在一个时钟周期内完成。 进一步地,在所述步骤B中,对于取数操作,对其操作的地址进行匹配判定,如果地址一致,则这条取数指令被标记为"准断点匹配成功"状态,当取数操作的数值返回时,进行数值匹配判定,如果数值一致,则该取数操作的指令状态改为"断点匹配成功",否则撤销该取数指令的"准断点匹配成功"状态,该该取数操作指令继续执行。 进一步地,所述步骤C中断点触发处理的优先级低于处理器中例外触发的优先级。本专利技术具有以下优点 1、本专利技术采用表的形式管理断点配置信息,不仅增加断点配置容量的扩展性,也使得断点配置更趋灵活。 2、通过细分的"断点匹配成功"状态和"准断点匹配成功"状态,在对处理器流水线做很少改动的情况下,有效的实现精确数据断点。 下面结合附图和具体实施方式对本专利技术做进一步详细描述。附图说明 图1为本专利技术微处理器中精确数据断点的实现装置实施例结构示意 图2为本专利技术微处理器中精确数据断点的实现方法实施例流程图。具体实施方式 实施例一 如图1所示,一种微处理器中精确数据断点的实现装置,包括 断点配置部件l,用于保存一条或多条断点配置信息; 断点匹配判定部件2,用于判断访存指令是否与所述断点配置部件1中保存的断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中; 断点触发部件3,用于检查访存指令的状态域,当判定结果本文档来自技高网
...

【技术保护点】
一种微处理器中精确数据断点的实现装置,其特征在于包括:断点配置部件(1),用于保存一条或多条断点配置信息;断点匹配判定部件(2),用于判断访存指令是否与所述断点配置部件(1)中保存的断点配置信息相匹配,并将判定结果保存于访存指令执行的状态域中;断点触发部件(3),用于检查访存指令的状态域,当判定结果为匹配时,暂停处理器的正常执行状态,进入调试状态。

【技术特征摘要】

【专利技术属性】
技术研发人员:汪文祥李祖松徐翠萍郝守青
申请(专利权)人:北京龙芯中科技术服务中心有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1