硬件辅助的软件检错微处理器系统及其检错方法和装置制造方法及图纸

技术编号:2866862 阅读:154 留言:0更新日期:2012-04-11 18:40
一种具有软件检错功能的微处理器系统,该系统包括:    一远端检错主机,用来执行远端检错的动作;    一程序存储器,用来存放一监控程序,用来提供该远端检错主机进行监控的功能,以及一用户程序;    至少一个断点地址暂存器,用来暂存由该远端检错主机传来的断点地址;     一断点地址比较单元,连接于该断点地址暂存器,用来比较由该断点地址暂存器传来的断点地址与该用户程序执行中的程序地址,并且当两者相符时输出一中断控制信号;    一控制器,用来控制该断点地址比较单元;以及    一微处理器,电连接于该远端检错主机,其包括:    一主机接口,连接于该远端检错主机的一传输端口,用来传输该微处理器与该远端检错主机间的信号;    一程序存储器地址指标,用来指向该程序存储器的地址,以及输出该用户程序执行中的程序地址至该断点地址比较单元;以及    一中断控制单元,用来接收该断点地址比较单元传来的该中断控制信号;    其中当该中断控制单元接收到该断点地址比较单元传送的该中断控制信号时,该微处理器便执行该程序存储器的监控程序,以传送该用户程序执行状况至该远端检错主机。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术系提供一种具有软件检错功能的微处理器系统,尤指一种硬件辅助的软件检错的微处理器系统及相应的检错方法和装置。
技术介绍
随着信息科学技术的蓬勃发展,以各种电子电路、微处理机来快速地处理电子形式的信息,已成为现代信息产业的核心,也是现代化信息社会赖以发展的基础。一般的信息处理系统,小至移动电话、个人数字助理(PDA,Personal Digital Assistant),到一般最为人熟知、应用也最普遍的个人电脑,无不需要各种电子电路与应用程序来处理数字电子信息。而由于现代电路设计的门电路数(gate count)及复杂度成指数(exponential)成长以及程序的撰写也有日渐庞大的趋势,设计电路以及软件程序的工程师花在功能检错(debug)的时间也越来越多。对于复杂的电路或程序设计来说,检错已经成为整体设计程序中的关键必要步骤。事实上,业界花费在硬件与软件检错的经费也常大于其他设计步骤所需的经费。请参阅图1,图1为现有的一具有软件程序检错功能的微处理器系统10的功能示意图,微处理器系统10包括一远端检错主机12,用来执行远端检错的动作,一程序存储器14,用来存放一监控程序16,用来提供远端检错主机12进行监控的功能,以及一用户程序18,其为设计者欲检错的程序。微处理器系统10还包括一数据存储器20,用来存放程序执行时所产生的暂存数据,以及一微处理器22,可连接于远端检错主机12,用来执行相关程序,其包括一主机接口24,连接于远端检错主机12的一传输端口,用来传输微处理器22与远端检错主机12间的信号,一程序存储器地址指标26,用来指定程序存储器14的数据,一数据传输端口28,用来将程序执行时所产生的暂存数据传输至数据存储器20,以及一数据存储器地址指标30,用来指定数据存储器20的数据。请参阅图2,图2为利用现有的微处理器系统10进行软件程序模拟检错的流程图,该检错包含下列步骤步骤100由远端检错主机12输入欲检错的用户程序18的断点地址(breakpoint address)至微处理器22;步骤102微处理器22将用户程序18中相对应于输入断点地址处的地址填入一中断陷阱(interrupt trap)指令;步骤104远端检错主机12发出执行用户程序18命令;步骤106当微处理器22执行用户程序18至该中断陷阱地址处时,便跳回监控程序16并将用户程序18执行至该处的结果传回至远端检错主机12;以及步骤108远端检错主机12还原被中断陷阱指令覆盖的用户程序18,此时可读取或更改微处理器22中存储器与暂存器的值,以得知程序在执行到断点时所有硬件状态以及软件变数的值,若需继续执行检错则重复执行步骤100。而使用微处理器22执行程序存储器14中的程序时,经由程序存储器地址指标26指定程序存储器14的数据,以及透过数据传输端口28与数据存储器地址指标30,将程序执行时所产生的暂存数据传输至数据存储器20与指定数据存储器20的数据;在一开始执行程序存储器14中的监控程序16时,微处理器22会等待远端检错主机12输入欲检错的用户程序18的断点地址,此时设计者可由远端检错主机12输入欲检错的用户程序18的断点地址至微处理器22,之后微处理器22便会将用户程序18中相对应于输入断点地址处的地址填入一中断陷阱(interrupt trap)指令,此中断陷阱指令常为微处理器的跳跃(jump)指令,而跳跃指令的目的地址为监控程序16,以便监控程序16将用户程序18执行至该处的结果传回至远端检错主机12,如此就可得知用户程序18执行至该中断地址的状况为何。除此的外,若要让用户程序16继续往下执行,则必须把执行步骤102时被中断陷阱指令覆盖的存储器内容还原回去,也就是先前必须把会被覆盖的存储器内容读取出来并储存至数据存储器20中,之后再将该存储器内容储存回去并离开监控程序16便可继续执行用户程序16。然而在现有技术的软件程序模拟检错的过程中,每次于用户程序18中设定断点地址时,便必须对程序存储器14进行重复读写的工作,以将中断陷阱指令覆盖原有的用户程序16指令,以及将被覆盖的存储器内容读取出来并还原储存回程序存储器14中。如此一来程序存储器14便必须使用成本较高的读写存储器,例如SRAM或DRAM等,因此如何改善现有微处理器系统的架构即为所需努力的课题。
技术实现思路
本专利技术的目的是提供一种硬件辅助软件检错的微处理器系统,以解决上述的问题。本专利技术的第一方面在于公开一种硬件辅助的软件检错微处理器系统,其包括一远端检错主机,用来执行远端检错的动作,一程序存储器,用来存放一监控程序,用来提供该远端检错主机进行监控的功能,以及一用户程序,至少一个断点地址暂存器,用来暂存由该远端检错主机传来的断点地址,一断点地址比较单元,连接于该断点地址暂存器,用来比较由该断点地址暂存器传来的断点地址与该用户程序执行中的程序地址,以及当两者相符时输出一中断控制信号,一控制器,用来控制该断点地址比较单元,以及一微处理器,其包括一主机接口,连接于该远端检错主机的一传输端口,用来传输该微处理器与该远端检错主机间的信号,一程序存储器地址指标,用来指向该程序存储器的地址,以及输出该用户程序执行中的程序地址至该断点地址比较单元,以及一中断控制单元,用来接收该断点地址比较单元传来的该中断控制信号;其中当该中断控制单元接收到该断点地址比较单元传送的该中断控制信号时,该微处理器便执行该程序存储器的监控程序,以传送该用户程序执行状况至该远端检错主机。本专利技术的另一方面在于公开一种进行软件程序模拟检错的方法,其包含下列步骤(a)执行一用户程序;(b)比较一断点地址与该用户程序正在执行的地址,若该断点地址与该用户程序正执行的地址相符,则输出一中断控制信号;以及(c)在接收到该中断控制信号时,停止执行该用户程序并输出该用户程序的执行状况。本专利技术的再一方面还在于公开一种用来实施上面所述的方法的装置。附图说明图1为现有技术的具有软件程序检错功能的微处理器系统的功能示意图。图2为利用现有技术的微处理器系统进行软件程序模拟检错的流程图。图3为本专利技术微处理器系统的功能示意图。图4为利用本专利技术微处理器系统进行软件程序模拟检错的流程图。附图中的各个附图标记的含义说明如下10微处理器系统 12远端检错主机14程序存储器16监控程序18用户程序 20数据存储器22微处理器 24主机接口26程序存储器地址指标28数据传输端口30数据存储器地址指标32微处理器系统34远端检错主机 36程序存储器38监控程序 40用户程序42数据存储器44第一断点地址暂存器46第二断点地址暂存器48断点地址比较单元50第一断点地址比较器52第二断点地址比较器54中断产生器56控制器58微处理器 60主机接口62程序存储器地址指标64中断控制单元66数据传输端口 68数据存储器地址指标具体实施方式请参阅图3,图3为本专利技术的微处理器系统32的功能示意图,微处理器系统32包括一远端检错主机34,用来执行远端检错的动作,其可为一电脑装置,一程序存储器36,用来存放一监控程序38,用来提供远端检错主机34进行监控的功能,以及一用户程序40,其为设计者欲检错的程序,程序存储器36可为一只读式存储器或快本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:董国荣江孟洲
申请(专利权)人:康奈科技股份有限公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利