调试系统、调试方法和调试控制方法

文档序号:6582851阅读:343来源:国知局
专利名称:调试系统、调试方法和调试控制方法
技术领域
本发明涉及调试系统、调试方法、调试控制方法和调试控制程序。
背景技术
近年来,在用于与诸如刹车这样的安全装置有关的底盘系统的车载微计算机中,存在采用是由多个处理器组成的冗余处理器的需求。例如,在冗余处理器系统中,使处理器执行相同的指令,并且相互比较来自于处理器的操作结果以使能够检测处理器的故障,从而实现安全性改进。在这样的情况下,当激活冗余功能时必须执行调试功能同时不削弱操作的安全性。 通过在处理器中安装具有调试功能的单元能够实现具有调试功能的处理器。例如,具有调试功能的单元是调试控制单元(DCU)。 在这点上,然而,例如,当在由两个处理器组成的冗余处理器系统中执行调试功能时,其中的每一个被安装有DCU,元件的数目增加。 同时,当DCU被安装在处理器中的一个中时,仅其中被安装了 DCU的处理器执行调试。这导致如下的问题,即,检测到指示来自于两个处理器的操作结果之间的失配的误差。换言之,因为两个处理器执行相同的指令并且确定其操作结果是否匹配,所以,除非DCU具有与处理器相类似的冗余构造,否则引起下述问题。即,例如,当在调试处理中出现中断时,其中安装有DCU的处理器的操作被停止,而其它的处理器继续进行操作,这引起操作结果之间的失配。结果,执行不必要的误差检测。 注意,日本未经审查的专利申请公开No. 10-133900公布了用于促进对最终输出的测试并且实现与冗余模块同步地操作的系统中的故障的早期检测的技术。在系统中,用于模块的输出接口电路包括用于输出来自于所有模块的写入数据的寄存器,和用于输出仅来自于相应的模块的数据并且忽视其它模块的寄存器。

发明内容
本发明已经发现下述问题,S卩,如在背景技术部分中所述,当仅对冗余处理器系统中的特定的处理器执行调试时,存在执行不必要的误差检测的问题。 本发明的第一示例性方面是一种调试系统,其包括多个算术处理单元,其执行算术处理;比较单元,其比较来自于多个算术处理单元的输出;以及调试处理单元,当对多个算术处理单元之中的预定算术处理单元执行调试处理时,该调试处理单元将用于停止比较单元的操作的停止指令输出至比较单元。 本发明的第二示例性方面是一种调试方法,该调试方法用于执行多个算术处理并且执行算术处理的输出之间的比较处理的系统,该调试方法包括当对多个算术处理单元之中的预定算术处理单元执行调试处理时,停止比较处理;以及对预定算术处理执行调试处理。 本发明的第三示例性方面是一种调试控制方法,其包括在执行算术处理的多个算术处理单元之中的预定算术处理单元中执行的算术处理中设置断点;基于断点确定用于将停止指令从调试处理单元输出至比较单元的时刻,该调试处理单元输出用于停止比较单元的操作的停止指令,该比较单元比较来自于多个算术处理单元的输出;以及将所确定的时刻输出至调试处理单元。 本发明的第四示例性方面是存储介质,该存储介质将用于使计算机执行下述步骤的调试控制程序存储在其上,即在由执行算术处理的多个算术处理单元之中的预定算术处理单元执行的算术处理中设置断点;基于断点确定用于将停止指令从调试处理单元输出至比较单元的时刻,该调试处理单元输出用于停止比较单元的操作的停止指令,该比较单元比较来自于多个算术处理单元的输出;以及将所确定的时刻输出至调试处理单元。
因此,即使当仅对冗余处理器系统中的特定的处理器执行调试时,也抑制来自于处理器的输出之间的比较,并因此能够抑制不必要的误差检测。 根据本发明的示例性实施例,可提供能够抑制不必要的误差检测的调试系统、调试方法、调试控制方法、以及调试控制程序。


结合附图,根据某些示例性实施例的以下描述,以上和其它示例性方面、优点和特征将更加明显,其中 图1是示意性地示出根据本发明的第一示例性实施例的调试系统的框 图2是示出根据本发明的第一示例性实施例的调试系统的详情的框 图3是示出根据本发明的第一示例性实施例的调试系统的操作的流程 图4是示出根据本发明的第二示例性实施例的调试系统的框 图5是示出根据本发明的第二示例性实施例的调试系统的操作的流程图;以及
图6是示出根据本发明的第三示例性实施例的调试系统的操作的流程图。
具体实施例方式
在下面将会参考附图详细地描述本发明的具体示例性实施例。
[第一示例性实施例] 图1是示意性地示出根据本发明的第一示例性实施例的调试系统的框图。 调试系统1包括算术处理单元51和52、比较单元53、以及调试处理单元54。在下
面描述中,假定对通过算术处理单元51执行的算术处理执行调试。 算术处理单元51和52中的每一个由能够执行算术处理的装置诸如处理器组成。在这里描述的处理器的示例包括被形成在其它芯片上的物理处理器诸如中央处理单元(CPU),和被形成在相同芯片上的逻辑处理器,诸如CPU内核。 比较单元53将来自于算术处理单元51的输出与来自于算术处理单元52的输出进行比较,并且检测输出之间的失配作为误差。 调试处理单元54对由算术处理单元51执行的算术处理执行调试处理,并且执行用于停止比较单元53的操作的处理。 在对由算术处理单元51执行的算术处理执行调试处理的期间,调试处理单元54将用于停止操作的停止指令输出至比较单元53。
4
通过此构造,即使当仅对特定的算术处理单元执行调试时,也抑制来自于算术处
理单元的输出之间的比较,并因此能够抑制不必要的误差检测。
图2是示出根据本发明的第一示例性实施例的调试系统的详情的框图。 调试系统1包括冗余处理器系统2和调试控制系统3。 冗余处理器系统2包括CPU子系统10、 CPU子系统11、以及比较单元14。 CPU子系统10包括CPU 12和调试控制单元(DCU) 15,并且CPU子系统11包括CPU 13。 CPU子系统10和11执行相同的指令,并且来自于CPU子系统10和11的输出被输入至比较单元14。然后,通过比较单元14比较两个输出。此外,例如,冗余处理器系统2包括存储装置(未示出),并且被构造为能够执行预定程序。冗余处理器系统2用作冗余操作系统,并且CPU子系统10和11中的每一个用作算术处理单元。 调试控制系统3包括模拟器20和主机个人计算机(PC) 21 。调试控制系统3通过连接端子被连接至冗余处理器系统2。例如,连接端子是串行端口。或者,可以使用能够传送/接收数据的接口 。调试控制系统3用作调试控制单元。 CPU 12和13中的每一个包括CPU内核。如上所述,本示例性实施例可以应用于其中CPU 12和13被形成在不同的芯片上的多处理器。在这里,描述了本示例性实施例应用于多核处理器的情况。 比较单元14将来自于CPU子系统10的输出与来自于CPU子系统11的输出进行比较。在检测到输出之间的失配时,比较单元14输出误差。例如,通过利用被包括在CPU12和13中的中断寄存器对OS或者应用程序软件产生中断而执行误差输出处理。比较单元14用作比较单元。 DCU 15通过连接端子被连接至调试控制系统3。DCU 15响应于来自于调试控制系统3的请求对CPU 12执行调试处理。例如,DCU 15在将由冗余处理器系统执行的程序中设置断点,并且获取被包含在CPU中的多条信息。另外,本发明的示例性实施例的DCU 15控制比较单元14和CPU 13的操作。DCU 15用作调试处理单元。 模拟器20作为DCU 15和主机PC 21之间的接口进行操作,并且将从主机PC 21接收到的各种调试命令传送到DCU 15。此外,模拟器20将来自于DCU 15的输出传送到主机PC 21。 例如,主机PC 21是诸如个人计算机(PC)这样的信息处理器。主机PC 21通过模
拟器20将接收到的调试处理请求输出至DCU 15。此外,主机PC 21接收来自于DCU 15的
调试处理结果的输出。模拟器20和主机PC 21中的每一个用作调试控制单元。 接下来参考图3的流程图,将会描述根据本发明的第一示例性实施例的调试系统
的操作。 首先,当调试控制系统3通过连接端子被连接至冗余处理器系统2时,指示调试控
制系统3被连接至冗余处理器系统2的信号变为有效(S301)。 DCU 15响应于有效信号检测调试控制系统3的连接(S302)。 在检测到调试控制系统3的连接时,DCU 15将用于停止CPU 13和比较单元14的
操作的停止指令输出至CPU子系统11和比较单元14(S303)。结果,CPU 13和比较单元14
的操作被停止。例如,通过停止时钟提供或者停止电源而停止其操作。 在CPU 13和比较单元14的操作被停止之后,开始用于CPU 12的调试处理
5(S304)。 虽然在上面已经描述了作为示例的包括模拟器和主机PC的调试控制系统,但是调试控制系统的构造不限于此,只要通过将调试系统连接至冗余处理器系统的DCU能够执行调试处理即可。在本示例性实施例中,通过停止CPU 13和比较单元14的操作而抑制不必要的误差检测。或者,通过将停止指令仅输出至比较单元14以停止比较单元14的操作,能够抑制不必要的误差检测。此外,通过停止比较单元14的输出代替停止其操作也能够抑制不必要的误差检测。 如上所述,根据本示例性实施例,即使当仅对冗余处理器系统中的特定处理器执行调试时,也抑制来自于处理器的输出之间的比较,并且因此能够抑制不必要的误差检测。
此外,能够使用仅被安装在特定的处理器中的DCU执行调试处理。这消除使调试功能变成冗余的需要,并且导致元件的数目的减少。 此外,仅通过将调试控制系统连接至冗余处理器系统而停止除了受制于调试的处理器之外的处理器的操作和比较单元的操作,从而能够执行调试处理。结果,提高调试处理的操作性,并且有助于调试处理。 此外,在没有牺牲冗余功能的情况下能够实现本示例性实施例。因此,当启用冗余
功能时没有削弱操作的安全性。[第二示例性实施例] 图4是示出根据本发明的第二示例性实施例的调试系统的框图。
注意,图4中所示的组成元件与第一实施例的相类似,所以省略了其描述。本示例性实施例与图2中所示的第一示例性实施例的不同之处在于,断点设置功能100和模式控制设置功能101被详细地描述为主机PC 21的功能。 断点设置功能100是用于在将由冗余处理器系统执行的程序中设置断点的功能。 模式控制设置功能101基于通过断点设置功能100设置的断点确定用于将停止指
令从DCU 15输出至比较单元14和CPU子系统11中的每一个的时刻。 接下来参考图5的流程图,将会描述根据本发明的第二示例性实施例的调试系统
的操作。 首先,主机PC 21的断点设置功能100在将由冗余处理器系统执行的程序中设置断点(S401)。例如,通过将被包含在其运行将被停止的程序中的指令的地址指定为断点地址而设置断点。 当断点被设置时,模式控制设置功能101基于被设置的断点设置模式控制地址(S402)。计算在设置断点的地址的数个周期之前被执行的指令的地址,并且计算的地址被设置为模式控制地址。主机PC 21通过模拟器20将断点地址和模式控制地址输出至DCU15。然后,接收来自于主机PC 21的输出的DCU 15将断点地址和模式控制地址输出至CPU12。 还能够采用在停止比较单元14和CPU 13的操作之前检测断点的方法。然而,在这样的情况下,在检测到断点之后将停止指令输出至比较单元14和CPU子系统11中的每一个,这引起在停止比较单元14和CPU 13的操作方面的延迟。因此,担心比较单元14可能检测到误差。因此,在本示例性实施例中,计算断点的数个时钟之前被执行的指令的地址。然后,在当程序的运行地址到达计算的地址时,停止指令被从DCU 15输出至比较单元14和CPU子系统11中的每一个。 虽然在本示例性实施例中在断点之前的数个时钟被执行的指令的地址被用作模式控制地址,但是时钟的数目不限于在本示例性实施例中所述的数目。除了比较单元14执行误差检测时的时刻之外,可以使用多个时刻。 接下来,在主机PC 21根据需要执行与调试处理有关的其它设置之后开始调试处理(S403)。当在对冗余处理器系统1执行调试处理的期间在CPU 12中运行的程序的运行地址到达模式控制地址时,DCU15将停止指令输出至比较单元14和CPU子系统11中的每一个(S404、S405)。因此,即使当CPU 12中的程序的运行地址到达断点并且CPU12的操作被停止时,也能够抑制比较单元14的误差检测。 当CPU 12中的程序的运行地址到达断点时,CPU 12的操作被停止。结果,能够执行调试处理,诸如被包含在CPU12中的各条信息的获取(S406)。 如上所述,根据本示例性实施例,即使当仅对冗余处理器系统中的特定的处理器执行调试时,也抑制来自于处理器的输出之间的比较,并因此能够抑制不必要的误差检测。
此外,能够使用仅被安装在特定的处理器中的DCU执行调试处理。这消除使调试功能变得冗余的需要,并且导致元件的数目的减少。 此外,仅通过在将由冗余处理器系统执行的程序中设置断点而停止除了受制于调试的处理器之外的处理器的操作和比较单元的操作,从而能够执行调试处理。结果,提高了调试处理的操作性,并且有助于调试处理。 此外,在没有牺牲冗余功能的情况下能够实现本示例性实施例。因此,当启用冗余
功能时没有削弱操作的安全性。[第三示例性实施例] 现在参考图6的流程图,将会描述根据本发明的第三示例性实施例的调试系统的操作。 注意,根据本发明的第三示例性实施例的调试系统的整体构造与图2中所示的相类似,所以省略了关于它的描述。 首先,调试控制系统3被连接至DCU 15以在主机PC 21中激活调试器(S501)。
在调试器被激活的时刻,通过模拟器20和DCU 15将停止指令从主机PC 21输出至CPU子系统11和比较单元14中的每一个(S502)。结果,CPU 13和比较单元14的操作被停止。 在CPU 13和比较单元14的操作被停止之后,用于CPU 12的调试处理开始(S503)。 如上所述,根据本示例性实施例,即使当仅对特定的处理器执行调试时,也抑制来自于比较器的输出之间的比较,并因此能够抑制不必要的误差检测。 此外,使用仅被安装在特定的处理器中的DCU能够执行调试处理。这消除了使调试功能变得冗余的需要,并且导致元件的数目的减少。 此外,仅通过激活调试控制系统中的调试器而停止除了受制于调试的处理器之外的处理器的操作和比较单元的操作,从而能够执行调试处理。结果,提高了调试处理的操作性,并且有助于调试处理。 此外,在没有牺牲冗余功能的情况下能够实现本示例性实施例。因此,当启用冗余
7功能时没有削弱操作的安全性。 注意,通过将存储用于执行根据本发明示例性实施例的功能的程序的存储介质提供给系统或者装置,并且通过使被包括在系统或者装置中的计算机、CPU或者MPU运行程序,也能够构造根据本发明的示例性实施例的调试控制系统。 能够将程序存储在各种类型的存储介质中,并且能够经由通信介质对其进行传送。存储介质的示例包括软盘、硬盘、磁盘、磁光盘、CD-R0M、 DVD、 ROM盒、具有电池备用的RAM内存盒、闪存盒、以及非易失性RAM盒。通信介质的示例包括诸如电话线这样的有线通信介质、诸如微波线的无线通信介质、以及因特网。 虽然通过使计算机运行用于执行根据示例性实施例的功能的程序能够执行根据上述示例性实施例的功能,但是在下述情况中也能够执行根据示例性实施例的功能。即,响应来自于程序的指令,能够与在计算机上运行的操作系统(OS)或者应用程序软件协同地执行根据示例性实施例的功能。 此外,当通过被插入在计算机中的功能扩展板或者被连接至计算机的功能扩展单
元执行关于程序的所有或者部分处理时,也能够执行根据示例性实施例的功能。 本领域的技术人员能够根据需要组合第一至第三示例性实施例。 虽然已经按照若干示例性实施例描述了本发明,但是本领域的技术人员将理解本
发明可以在所附权利要求的精神和范围内进行各种修改的实践,并且本发明并不限于上述示例。 此外,权利要求的范围不受到上述的示例性实施例的限制。 此外,应当注意的是,申请人意在涵盖所有权利要求要素的等效物,即使在后期的审查过程中对权利要求进行过修改亦是如此。
权利要求
一种调试系统,包括多个算术处理单元,所述多个算术处理单元执行算术处理;比较单元,所述比较单元比较来自于所述多个算术处理单元的输出;以及调试处理单元,当对所述多个算术处理单元之中的预定算术处理单元执行调试处理时,所述调试处理单元将用于停止所述比较单元的操作的停止指令输出至所述比较单元。
2. 根据权利要求1所述的调试系统,进一步包括调试控制单元,所述调试控制单元将 调试处理请求输出至所述调试处理单元,其中当所述调试控制单元被连接至所述调试处理单元时所述调试处理单元输出所述 停止指令。
3. 根据权利要求1所述的调试系统,进一步包括调试控制单元,所述调试控制单元将 调试处理请求输出至所述调试处理单元,其中所述调试控制单元基于在由所述预定算术处理单元执行的算术处理中设置的断点来 确定用于输出所述停止指令的时刻,并且所述调试处理单元在由所述调试控制单元确定的时刻输出所述停止指令。
4. 根据权利要求1所述的调试系统,进一步包括调试控制单元,所述调试控制单元将 调试处理请求输出至所述调试处理单元,其中当在所述调试控制单元中激活调试器时所述调试处理单元输出所述停止指令。
5. 根据权利要求1所述的调试系统,其中所述调试处理单元还将所述停止指令输出至 除了所述预定算术处理单元之外的算术处理单元。
6. 根据权利要求1所述的调试系统,其中所述停止指令使所述比较单元停止输出比较 结果。
7. 根据权利要求1至6中的一项所述的调试系统,其中每一个所述算术处理单元包括 处理器。
8. —种调试方法,该调试方法用于执行多个算术处理并且执行所述算术处理的输出之 间的比较处理的系统,所述调试方法包括当对所述多个算术处理单元之中的预定算术处理单元执行调试处理时,停止所述比较 处理;以及对所述预定算术处理执行调试处理。
9. 一种调试控制方法,包括在执行算术处理的多个算术处理单元之中的预定算术处理单元中执行的算术处理中 设置断点;基于所述断点确定用于将停止指令从调试处理单元输出至比较单元的时刻,所述调试 处理单元输出用于停止所述比较单元的操作的停止指令,所述比较单元比较来自于所述多 个算术处理单元的输出;以及将所确定的时刻输出至所述调试处理单元。
全文摘要
本发明提供了一种调试系统、调试方法和调试控制方法。根据本发明的示例性实施例的调试系统包括多个算术处理单元(51、52),该多个算术处理单元(51、52)执行算术处理;比较单元(53),该比较单元(53)比较来自于多个算术处理单元(51、52)的输出;以及调试处理单元(54),当对多个算术处理单元(51、52)之中的预定算术处理单元执行调试处理时,该调试处理单元(54)将用于停止比较单元(53)的操作的停止指令输出至比较单元(53)。
文档编号G06F11/36GK101739336SQ20091020771
公开日2010年6月16日 申请日期2009年10月22日 优先权日2008年11月12日
发明者鎗水宏树 申请人:恩益禧电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1