一种系统具有用于通过顺序地取出、解码、执行及写入与每条指令的执行关联的结果来执行多条指令的流水线处理器(12)。调试电路(40)与流水线处理器耦连以用于监视指令的执行来确定调试事件发生的时间。该调试电路产生调试异常以中断指令处理流。该调试电路具有用于指示表示在引起调试事件的指令与获得调试异常时的在指令执行中的点之间完成指令执行的指令(如果有的话)的数量的值的控制电路(44)。
【技术实现步骤摘要】
【国外来华专利技术】
本公开内容一般地涉及数据处理系统,并且更特别地涉及。
技术介绍
数据值断点涉及比较数据存取地址,以及比较与数据存取地址关联的数据,以便 确定是否应当产生断点异常。但是,当在典型的流水线处理器中时,数据可能直到存取地址 可用之后的多个周期后才可用。因此,断点确切在指令流中的何处发生是不确定的,因为随 数据存取之后的一条或更多条指令可以在存取数据还不可用的间隔内执行。在现今可用的 一种数据处理系统中,附加的停车(stall)被添加到固有的执行中以便防止任何指令在存 取数据仍不可用的间隔内执行。但是,这需要额外的开销并且干扰了正常的执行时序,这可 能是调试过程中所不希望的。附图说明本专利技术通过举例进行说明但并不限定于附图,在附图中相似的标记指示相似的元 素。出于简单清晰的目的对附图中的元素进行了说明而并不一定按比例描绘。图1是根据本专利技术的一种实施方案的数据处理系统的框图。图2是根据本专利技术的一种实施方案与图1的数据处理系统关联的处理器的框图。图3是说明与图1的数据处理系统关联的示例性调试寄存器的图表。图4是根据本专利技术的一种实施方案与图3的调试寄存器关联的调试控制寄存器的 图表。图5和图6以表格形式示出了图4中根据本专利技术的一种实施方案的调试控制寄存 器的一部分的功能。图7是根据本专利技术的一种实施方案与图3的调试寄存器关联的调试状态寄存器的 图表。图8以表格形式示出了图7中根据本专利技术的一种实施方案的调试状态寄存器的一 部分的功能。图9-11示出了对图2的处理器的操作的不同实例进行说明的时序图。图12-16以表格形式示出了多种示例性数据地址比较(DAC)事件及其相应的结果。图17是根据本专利技术的一种实施方案与图3调试寄存器关联的调试状态寄存器的 图表。图18示出了对图2的处理器的操作实例进行说明的时序图。 具体实施例方式在调试(debug)代码时,通常难以了解实际上是哪条指令导致了所获得的调试异常(debug exception) 0例如,在数据值断点的情形中,执行与所存取数据之间的数据存取 地址比较及数据值比较,并且比较结果可能触发中断正常的指令流执行的调试异常。可以 在存取初始化之后多个周期返回数据进行存取,这通过提供数据存取请求及存取地址来触 发。在关于所请求存取的数据地址比较与关于所接收数据的数据值比较之间的滞后可能使 得要确定是指令流中的哪条指令实际上导致了指令流中断尤为困难。在一种实施方案中, 偏移值可以被用来指出在引起数据值断点的指令与指令流中实际发生断点异常的点之间 执行了多少条指令。通过这种方式,可以获得改进的调试功能。如在此所使用的,术语“总线”被用来指示可以用来传输一种或多种不同类型的信 息(例如数据、地址、控制、或状态)的多种信号或导体。在此所讨论的导体可以作为单导 体、多导体、单向导体、或双向导体来说明或描述。但是,不同的实施方案可以改变导体的实 现。例如,可以使用分离的单向导体而不是双向导体,反之亦然。此外,多导体可以用串行 地或以时分复用的方式传输多种信号的单导体来代替。类似地,输送多种信号的单导体可 以被分开成输送这些信号的子集的不同导体。因此,存在用于传输信号的多种选择。在此术语“确证(assert) ”和“置位(set) ”或“否定(negate),,(或“取消确证 (deassert)”或“清除(clear)”)在涉及使信号、状态位、或相似装置分别呈现出其逻辑真 或逻辑假的状态时被使用。如果逻辑真的状态是逻辑电平1,则逻辑假的状态是逻辑电平 0。而如果逻辑真的状态是逻辑电平0,则逻辑假的状态是逻辑电平1。在此所描述的每种信号可以被指定为正逻辑或负逻辑,其中负逻辑能够由信号名 称上方的横线或名称后的星号(* )来指示。在负逻辑信号的情形中,信号是低有效的,其 中逻辑真的状态对应于逻辑电平0。在正逻辑信号的情形中,信号是高有效的,其中逻辑真 的状态对应于逻辑电平1。应当注意,在此所描述的任何信号都能够被指定为负逻辑信号或 正逻辑信号。因此,在可替换的实施方案中,可以将那些描述为正逻辑信号的信号实现为负 逻辑信号,并且可以将那些描述为负逻辑信号的信号实现为正逻辑信号。在此使用方括号以指示总线的导体或值的数位位置。例如,“总线60 ”或“总 线60的导体”指示总线60的8个低阶导体,以及“地址位”或“地址 (ADDRESS) ”指示地址值的8个低阶位。在数字之前的符号“$”指示该数字以其十六 进制或基数16的形式来表示。在数字之前的符号“% ”或“Ob”指示该数字以其二进制或 基数2的形式来表示。图1说明了根据本专利技术的一种实施方案的数据处理系统10。数据处理系统可以 是片上系统。数据处理系统10可以在单个集成电路或多个集成电路上实现。数据处理系 统10包括可以通过总线20进行耦连的处理器12、外部调试电路14、I/O模块16、及存储 器18。在可替换的实施方案中,存储器18可以是任何类型的存储器以及可以位于与处理器 12相同的集成电路上,或者位于与处理器12不同的集成电路上。存储器18可以是任何类 型的存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、非易失性存储器(如闪存) 等。此外,存储器18可以是位于另一外围设备或从动设备之内的或者位于不同的集成电路 上的存储器或其它数据存储。图2是与图1的数据处理系统10关联的处理器12的框图。处理器12可以包括指 令管道22、执行单元24、取指令单元26、控制电路28、通用寄存器30、装载/存储单元32、 总线接口单元(BIU)34以及内部调试电路40。处理器12可以通过与BIU 34耦连的总线20与数据处理系统10的其它组件通信。内部调试电路40可以通过图2所示的调试端口耦 连至外部调试单元,例如IEEE IST0-5001兼容性Nexus 调试单元。Nexus 是位于德克萨 斯州的奥斯汀市的Freescale半导体公司的商标。调试端口可以是串行接口,例如JTAG,或 者可以实现为并行端口,串行与并行端口的组合,或者以太网端口。内部调试电路40可以 包括调试寄存器42和调试控制电路44。调试控制电路44可以包括一个或更多个偏移计数 器41,其中偏移计数器41可以用来确定在引起调试事件的指令与指令执行中进行调试事 件处理时的点之间完成指令执行的指令的数量(如果有的话)。调试寄存器42可以包括按 字段分组用于控制各种调试关联的事件的位,包括指令断点、数据断点、监视点、以及与调 试关联的其它消息接发。这些调试资源可以在处理器12与外部调试电路14之间共享。此 外,调试控制电路44可以通过导体35与BIU 34进行地址及数据的通信。现在参考图3,调试寄存器42内的寄存器也可以被提供用于存储一个或更多个 地址比较值、地址范围、以及用于实现指令和/或数据存取断点及监视点事件的数据匹配 值,以及其它调试控制准则。这些地址及数据值,与各种控制准则一起,被用来确定处理器 12何时为了产生断点或监视点事件而存取一个或更多个预定的指令地址或数据地址,这能 够在内部调试模式有效时引起处理器12开始进行用于调试异常的异常处理,或者在外部 调试模式有效时引起处理器12进入调试暂停模式,在该调试暂停模式中处理器12响应于 由外部调试电路14通过本文档来自技高网...
【技术保护点】
一种系统,包括:流水线处理器,用于通过顺序地取出、解码、执行及写入与每条指令的执行关联的结果来执行多条指令;以及与所述流水线处理器耦连的调试电路,用于监视指令的执行以确定调试事件何时发生并产生调试异常以中断指令处理流,所述调试电路还包括控制电路,用于指示表示在引起调试事件的指令与获得调试异常时的在指令执行中的点之间完成指令执行的指令的数量的值,如果在引起调试事件的指令与获得调试异常时的在指令执行中的点之间完成指令执行的指令存在的话。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:WC莫耶,
申请(专利权)人:飞思卡尔半导体公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。