基于处理器调试架构的指令可编程缓冲区设计系统技术方案

技术编号:34018475 阅读:13 留言:0更新日期:2022-07-02 16:21
本发明专利技术涉及一种基于处理器调试架构的指令可编程缓冲区设计系统,处理器调试架构通常由调试接口模块、接口转换模块、调试模块和处理器核组成,调试接口模块接收外部串行输入的调试信号,接口转换模块将串行数据转换成并行数据并实现对调试模块的访问,软件调试人员通过调试模块控制处理器核的调试过程。本发明专利技术通过在调试模块的硬件设计中实现指令可编程缓冲区的设计,使软件调试人员可以快速便捷的将指令下载至处理器核运行。提供了三种不同的指令可编程缓冲区设计,针对不同的使用场景,可单独进行调试,也可以相互配合,更高效地实现对处理器核的调试。对处理器核的调试。对处理器核的调试。

【技术实现步骤摘要】
基于处理器调试架构的指令可编程缓冲区设计系统


[0001]本专利技术涉及处理器核的设计
,尤其是指一种基于处理器调试架构的指令可编程缓冲区设计系统。

技术介绍

[0002]在处理器的设计过程中,如果缺乏一个功能完善的调试系统,那么当设计从工具仿真发展到硬件验证,再到最后的硅实现时,设计者对于处理器当前状态的了解和控制会急剧下降,控制器在运行时其内部状态对于设计者而言等同于一个“黑盒子”。处理器软件和硬件的开发调试都会因为调试手段的缺乏而极大程度受限。
[0003]对于嵌入式平台而言,调试器软件一般运行于主机PC端,而被调试的处理器往往是在嵌入式开发板上,这是交叉编译和远程调试的一种典型场景。调试器软件需要硬件的支持才能取得处理器的控制权并对其进行调试,在处理器的硬件架构中,往往含有一个硬件调试模块。该调试模块通过物理介质(譬如JTAG接口)与主机端的调试软件进行通信接受其控制,然后调试模块对处理器核进行控制。
[0004]常用的处理器调试机制分为两种,分别是“追踪调试”和“交互式调试”。追踪调试只跟踪记录处理器核执行过的所有程序指令,不会打断干扰处理器的执行过程。但是由于处理器的运行速度非常快,每秒钟能执行上百万条指令,产生的信息量非常巨大。追踪调试器的硬件单元需要记录下所有的指令,对于处理速度的要求,数据的压缩、传输和存储等都是极大挑战。追踪调试器的硬件实现会涉及相比交互调试器而言更加复杂的技术,同时硬件开销也更大,追踪调试器往往只在比较高端的处理器中使用。
[0005]交互式调试是最常见的一种处理器调试机制,从最低端到最高端的处理器,交互调试几乎是所有处理器必备的功能。调试器软件能够直接取得处理器的控制权,进而对其以一种交互的方式进行调试。交互式调试对于处理器的运行具有打扰性,在调试模式下和全速运行下的结果可能会出现差异。
[0006]交互式调试可以直接暂停当前处理器进程进入调试模式,也可以设置断点,当程序运行到断点时,处理器会产生异常并进入调试模式的异常服务程序。调试模式下,调试器软件获得处理器的控制权,可以查看和改变处理器的运行状态,也可以下载并运行一段程序,查看程序运行状态,完成调试后可以退出测试模式并恢复处理器正常运行状态。如何实现结构简单、功能多样且灵活易用的交互式调试机制是处理器调试架构设计中需要解决的重点技术问题。

技术实现思路

[0007]为此,本专利技术所要解决的技术问题在于克服现有技术中调试模式下,软件调试人员除了能够获得处理器当前运行状态之外,更希望可以控制处理器运行一条指令或者一段程序,详细观察处理器每运行完一条指令后的状态变化,从而更直观地复现处理器正常运行时程序进入异常的现场并定位异常原因的问题。
[0008]为解决上述技术问题,本专利技术的一种基于处理器调试架构的指令可编程缓冲区设计系统,所述设计系统中搭建的处理器核系统为本申请基本框架,服务于指令可编程缓冲区,所述的处理器核系统包括调试接口模块、接口转换模块、调试模块,其中在调试模块的硬件设计中增加指令可编程缓冲区设计,为软件调试人员提供调试模式下下载指令至处理器核执行的途径;
[0009]调试接口模块的寄存器组中包含一个操作ACCESS寄存器,该寄存器的位域分为三部分:地址、数据和读写类型。接口转换模块将操作寄存器值按照约定的格式转换成并行总线访问,并行总线访问操作的地址、数据和读写类型均由操作寄存器值来决定。
[0010]调试模块包含并行总线接口,实现与接口转换模块的并行总线通信。调试模块实现了处理器调试相关的寄存器组,与处理器核之间通过硬件控制和数据信号直接相连,这些控制和数据信号可以实现调试模块对处理器核的全部调试功能。
[0011]本专利技术实现了处理器调试架构交互式调试机制中的指令可编程缓冲区设计,提供了三种在调试模式下通过硬件调试模块控制处理器运行指令的方法。调试模式下,指令可编程缓冲区中的指令或者程序,可以直接下载至处理器流水线的取指缓存队列并执行。
[0012]第一种实现方法是调试模块的指令传输ITR寄存器。该寄存器可以存储最多一条32位指令,向该寄存器写入想要执行的指令,调试模块会直接将该指令下载至处理器流水线的取指缓存队列,然后通过流水线执行该指令。
[0013]第二种实现方法是调试模块的程序缓冲PB[0:15]寄存器组。该寄存器组可以最多存储16条32位指令,预先将想要执行的一段程序(不超过16条指令)写入该寄存器组,然后配置指令长度位通知硬件想要执行的指令数,最后配置执行位。调试模块会按照配置的指令数逐条将程序缓冲寄存器组中的指令下载至流水线执行。
[0014]第三种实现方法是调试模块的抽象命令,包括抽象命令CMD和抽象数据DATA[0:N]寄存器组。抽象命令实际上是通过配置上述寄存器,让调试模块自动产生处理器可执行的固定格式指令,然后下载至处理器流水线的取指缓存队列,并通过流水线执行该指令。指令一般分为两种类型:访问处理器的寄存器和访问内存空间。抽象命令类型通过抽象命令寄存器配置,抽象指令访问处理器寄存器时,寄存器索引值通过抽象命令寄存器配置,寄存器数据通过抽象数据寄存器配置或者返回。抽象指令访问内存空间时,地址和数据均通过不同的抽象数据寄存器配置或者返回。
[0015]本专利技术的上述技术方案相比现有技术具有以下优点:本专利技术所述的基于处理器调试架构的指令可编程缓冲区设计系统,通过在处理器调试架构的调试模块中增加上述三种指令可编程缓冲区的设计,软件调试人员可以更加快速灵活地编辑指令或者一段程序,并下载至处理器核执行,然后观察执行结果。也可以快速地让处理器执行一些固定的指令,来实现对处理器寄存器或者内存空间的访问。该指令可编程缓冲区的设计覆盖了大多数的功能调试场景,具有结构简单、操作简易、灵活性高的特点。
附图说明
[0016]为了使本专利技术的内容更容易被清楚的理解,下面根据本专利技术的具体实施例并结合附图,对本专利技术作进一步详细的说明。
[0017]图1为本专利技术处理器调试架构框图;
[0018]图2为本专利技术调试接口模块JTAG状态跳转示意图;
[0019]图3为本专利技术调试模块的指令可编程缓冲区结构图。
具体实施方式
[0020]如图1所示的架构框图,本实施例提供一种基于处理器调试架构的指令可编程缓冲区设计系统,所述设计系统中搭建的处理器核系统为本申请基本框架,服务于指令可编程缓冲区,所述的处理器核系统包括调试接口模块、接口转换模块、调试模块,其中在调试模块的硬件设计中增加指令可编程缓冲区设计,为软件调试人员提供调试模式下下载指令至处理器核执行的途径;
[0021]调试接口模块实现了符合IEEEStd 1149.1

2013协议标准的JTAG接口,包含TCK、nRESET、TMS、TDI和TDO五个接口信号。TCK、nRESET是时钟和复位,TMS用于控制器JTAG状态机跳转,TDI和TDO分别为串行输入和输出数据。JTAG状态跳转如图2所示,一次完整的JTAG访问一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于处理器调试架构的指令可编程缓冲区设计系统,所述设计系统中搭建的处理器核系统为本申请基本框架,服务于指令可编程缓冲区,其特征在于,所述的处理器核系统包括调试接口模块、接口转换模块、调试模块,其中在调试模块的硬件设计中增加指令可编程缓冲区设计,为软件调试人员提供调试模式下下载指令至处理器核执行的途径;所述的调试接口模块包括串行的输入数据接口信号、输出数据接口信号和内部寄存器组,用于接收处理器外部调试器的串行数据序列,并按照协议约定将其转换成寄存器访问操作;所述接口转换模块内设有的寄存器组中包含一个操作ACCESS寄存器,该寄存器的位域分为三部分:地址、数据和读写类型;接口转换模块将操作ACCESS寄存器值按照约定的格式转换成并行总线访问,并行总线访问操作的地址、数据和读写类型均由操作ACCESS寄存器值来决定;所述的调试模块中设有并行总线接口,其中的并行总线接口实现与接口转换模块的并行总线通信。2.根据权利要求1所述的基于处理器调试架构的指令可编程缓冲区设计系统,其特征在于:所述的调试接口模块中内部寄存器组的选择由状态机的跳转实现,串行的输入数据接口信号包含了写入该寄存器的数据,串行的输出数据接口信号包含了对外返回的该寄存器数据。3.根据权利要求1所述的基于处理器调试架构的指令可编程缓冲区设计系统,其特征在于:所述的调试模块实现了处理器调试相关的寄存器组,与处理器核之间通过硬件控制和数据信号直接相连,这些控制和数据信号可以实现调试模块对处理器核的全部调试功能;提供了三种在调试模式下通过硬件调试模块控制处理器运行指令的方法,调试模式下,...

【专利技术属性】
技术研发人员:孙维东邵健胡鹏孙诚
申请(专利权)人:中电科申泰信息科技有限公司
类型:发明
国别省市:

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

1