易于测试和调试程序的中央处理单元制造技术

技术编号:2882876 阅读:198 留言:0更新日期:2012-04-11 18:40
一种易于测试和调试应用程序的中央处理单元(CPU),它包括执行与主计算机数据通信的数据通信单元;具有一标记的状态寄存器,该标记代表CPU操作模式是代表通用操作状态的通用操作模式还是代表调试状态的调试模式;被用作堆栈指针的调试堆栈指针寄存器,该堆栈指针指定存储调试程序的数据的堆栈存储器;以及将存储在断点寄存器中的值与断点数据进行比较的比较器,其中如果断点寄存器值与断点数据相同则把CPU转换到调试模式,状态寄存器的标记具有代表调试模式的值,执行调试程序的启动地址被装载在程序计数器中,以及运行该调试程序,按照经数据通信单元来自主计算机的命令执行调试。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及易于测试和调试程序的中央处理单元(CPU),尤其涉及能够对在调试状态下已经从主计算机下载的测试和调试应用程序进行测试和调试的易于测试和调试程序的CPU。通常,CPU或微处理器读出存储在存储器中的由一组多个指令字构成的程序,通过指令句法分析程序对这些指令字进行句法分析以及通过执行单元而执行对应于每个指令字的操作。应当测试存储在存储器中的由一组多个指令字构成的应用程序是否正确建立。在应用程序不是正确建立的情况中,应当调试该应用程序。附图说明图1是一方框图,表明通过利用传统电路内仿真器测试和调试应用程序的例子。利用电路内仿真器测试和调试程序的系统包括具有CPU模块3、输入/输出(I/O)单元1、和存储器2的目标系统4;与CPU模块3连接的电路内仿真器(ICE)5,用CPU模块3已经替代目标系统4中CPU,目标系统4中CPU被CPU模块3替代,以便测试和调试目标系统4;以及主计算机6,输出测试和调试应用程序的指令,对电路内仿真器作调试。电路内仿真器5接收来自主计算机6的应用程序和存储能够调试该应用程序的调试程序,以及按照从主计算机6输入的命令启动位于电路内仿真器的中央处理单元(CPU)。此外,电路内仿真器5通过CPU模块3直接控制位于目标系统4中的一条控制总线、一条地址总线和一条数据总线,以便进行输入/输出单元1和存储器2所需的输入/输出操作。此外,电路内仿真器5能够读出电路内仿真器5内CPU的内寄存器或者改变内寄存器中数据。即,电路内仿真器5接收来自主计算机的调试应用程序,运行该程序、以及操作电路内仿真器5中CPU。此外,电路内仿真器5通过CPU模块3直接控制位于目标系统4中的控制总线、地址总线和数据总线,以便进行输入/输出单元1和存储器2所需的输入/输出操作,强迫停止应用程序的运行,以便测试和调该试应用程序。然后,根据来自主计算机6的命令,相对于目标系统4中输入/输出单元1和存储器2读出或写入数据,或者读出或写入存储在电路内仿真器5内寄存器中的数据。于是,判定该应用程序是否正确地被制成。如果有差错,对该应用程序作调试。电路内仿真器5仅仅在当利用传统电路内仿真器对应用程序进行测试和调试时目标系统中CPU能够被与电路内仿真器5连接的CPU模块3替代的情况中可以是有用的。此外,由于起目标系统的CPU功能作用的硬件单元应当存在于电路内仿真器5内,这是个问题,即电路内仿真器很昂贵。此外,由于在目标系统用单个半导体芯片集成的情况中位于电路内仿真器内的CPU不能被CPU模块3替代,不能使用电路内仿真器。图2是一方框图,表明用于测试和调试程序的装置,其中串行通信单元12和后台调试监视器11被集合在传统中央处理单元(CPU)13中。参考图2,CPU 13包括后台调试监视器(DBM)11和串行通信单元12,以便解决在图1的目标系统已经被集成为单个半导体芯片的情况下不能使用电路内仿真器的问题。图2的装置包括目标系统10,其中具有DBM11和串行通信单元12的CPU13、输入/输出(I/O)单元14和存储器15被集成在单个半导体芯片中;和经过串行通信单元12用于测试和调试应用程序的主计算机20。DBM11用包括寄存器和控制单元的控制器应当能够直接控制位于CPU13中的所有内部元件,以便句法分析来自主计算机20经过串行通信单元12输入的命令,由此进行必要操作。即,DBM11与内部总线连接,以读出或改变存储在寄存器中的值。DBM11控制着控制器、存储器地址寄存器和存储器数据寄存器,由此控制着控制信号总线、地址总线和数据总线,在图2中未示出它们。在包括如图2所述的传统DBM的CPU中,主计算机20应当经过串行通信单元12与DBM11进行通信。在这种情况中,连接主计算机20与CPU13的输入/输出线的所需数目为2或3。于是,图2的测试和调试装置比图1中所示的替代整个CPU的情况更有效。然而,由于传统的DBM11应当直接控制CPU13中的所有内部元件,与图2的DBM相结合的CPU是昂贵的,并具有复杂的硬件装置。为了解决现有技术问题,本专利技术的目的是提供一种便于程序测试和调试操作的中央处理单元(CPU),其中通过启动调试输入信号把调试模式新增加到具有用户模式的CPU中,在调试模式下从主计算机下载的用于测试和调试的应用程序易于被测试和调试,由此把CPU的硬件简化为较低价格的CPU,和执行更有效的测试和调试操作。为了实现本专利技术的上述目的,提供一种易于测试和调试程序的中央处理单元(CPU),该CPU包括用于执行与主计算机的数据通信的数据通信单元;具有标记的状态寄存器,该标记代表CPU的操作模式是代表通用操作状态的通用操作模式还是代表调试状态的调试模式;被用作堆栈指针的调试堆栈指针寄存器,所述堆栈指针指定存储调试程序的数据的堆栈存储器;以及比较存储在断点寄存器中的值与断点数据的比较器,其中,如果断点寄存器值与断点数据相同将CPU转换到调试模式,状态寄存器的标记具有代表调试模式的值,用于执行调试程序的启动地址被装载在程序计数器中,以及运行该调试程序,按照经数据通信单元来自主计算机的命令执行调试。根据本专利技术的另一个方面,提供一种易于测试和调试程序的中央处理单元(CPU),该CPU包括执行与主计算机的数据通信的数据通信单元;具有一标记的状态寄存器,该标记代表CPU的操作模式是代表通用操作状态的通用操作模式还是代表调试状态的调试模式;指定存储调试初始化程序的数据和调试服务程序的数据的堆栈存储器的调试堆栈指针寄存器;控制单元,用于通过复位信号对CPU初始化、检查调试模式进程信号、如果已经激活该调试模式进程信号则把执行调试初始化程序的启动地址装载在程序计数器中,由此将CPU转换到调试初始化模式中以及把状态寄存器的标记设定到代表调试模式的值、和输出与内部总线连接的CPU的内部和外部元件所需的各种控制信号;以及比较存储在断点寄存器中的值与断点数据的比较器,其中,如果断点寄存器值与断点数据相同将CPU转换到调试模式,状态寄存器的标记具有代表调试服务模式的值,执行调试服务程序的启动地址被装载在程序计数器中,以及运行该调试服务程序,按照经数据通信单元来自主计算机的命令执行调试。通过参考附图对本专利技术较佳实施例的更详细描述,本专利技术的以上目的和其它优点将变得更加明显。图1是表明利用传统电路内仿真器测试和调试程序的方框图。图2是一方框图,表明用于测试和调试在传统中央处理单元(CPU)中加入了串行通信单元和后台调试监视器的程序的装置。图3是根据本专利技术的易于测试和调试程序的CPU的方框图。图4是根据本专利技术的用于测试和调试程序的状态寄存器的视图。图5A是一工作图,表明在一般操作的应用程序和调试程序被存储在同一存储器中的情况中的矢量处理。图5B是一工作图,表明在调试程序被存储在不同于一般操作应用程序存储器的一单独存储器中的情况中的矢量处理。图5C是一工作图,表明在调试程序既被存储在与一般操作应用程序存储器相同的存储器中又被存储在与一般操作应用程序存储器不同的一单独存储器中的情况中的矢量处理。将参考附图更详细地描述根据本专利技术较佳实施例的中央处理单元(CPU)。图3是根据本专利技术的易于测试和调试程序的CPU的方框图。在图3中,根据本专利技术的易于测试和调试程序的C本文档来自技高网...

【技术保护点】
一种易于测试和调试应用程序的中央处理单元(CPU),包括临时存储数据和地址操作所需的数据的通用寄存器组、存储各程序所存储地址的程序计数器、具有指示CPU状态的状态寄存器和断点寄存器的专用寄存器组、连接通用寄存器组与专用寄存器组的内部总线、以及与内部总线连接的控制单元,用于输出CPU内部和外部元件所需的各种控制信号,所述CPU包括: 执行与主计算机的数据通信的数据通信单元; 具有标记的状态寄存器,该标记代表CPU的操作模式是代表通用操作状态的通用操作模式还是代表调试状态的调试模式; 被用作堆栈指针的调试堆栈指针寄存器,所述堆栈指针指定存储调试程序的数据的堆栈存储器;以及 比较存储在断点寄存器中的值与断点数据的比较器, 其特征在于,如果断点寄存器值与断点数据相同将CPU转换到调试模式,状态寄存器的标记具有代表调试模式的值,执行调试程序的启动地址被装载在程序计数器中,以及运行该调试程序,按照经数据通信单元来自主计算机的命令执行调试。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:赵璟衍林钟润李根泽韩相书闵炳权李熙权起弘
申请(专利权)人:先进数字芯片股份有限公司
类型:发明
国别省市:KR[韩国]

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

1