在混合模式程序中检测源代码差错的位置的设备和方法技术

技术编号:9834508 阅读:109 留言:0更新日期:2014-04-02 00:25
一种在混合模式程序中检测源代码差错的位置的设备和方法。公开了一种在混合模式程序中检测源代码差错位置的设备。所述设备可包括编译器、映射表产生器、仿真器、比较数据产生器和差错位置检测器。所述设备在仿真验证程序并且仿真参考程序的同时提取低级数据。低级数据被映射到验证程序和参考程序的映射表,并且通过比较验证程序和参考程序的映射表,确定在混合模式程序中是否存在差错,并且如果差错存在,则确定差错在哪里。

【技术实现步骤摘要】
在混合模式程序中检测源代码差错的位置的设备和方法本申请要求于2012年9月7日提交到韩国知识产权局的第10-2012-0099609号韩国专利申请的权益,该申请的整个公开出于所有目的合并于此。
以下描述涉及一种多模式处理技术。例如,以下描述涉及一种由多模可重构处理器在混合模式程序中验证映射的代码的技术以及帮助找出源代码差错的调试技术。
技术介绍
可重构架构是这样一种架构:基于将由计算装置执行的任务来改变计算装置的硬件配置,从而在对于每个任务的硬件级别实现最优化。由于一块硬件能够通过改变一块硬件的设置(而非需要多块硬件(每块硬件针对一个任务被优化)或者使用不可修改的单块硬件),来很简单地执行多个任务,并因而次优地执行至少一些任务,因此这种能力是有价值的。当仅使用硬件来处理任务时,由于大多硬件被配置为以固定的方式运行,因此甚至执行任务的方式轻微改变,也难于有效地处理。另一方面,当仅使用软件来处理任务时,根据任务的类型来改变软件并且使用改变的软件来执行任务是可行的。然而,处理任务比使用固定硬件处理任务更慢,原因在于:对于固定硬件上的最佳性能,针对各种任务改变软件可能被不理想地改变。可重构硬件架构提供硬件和软件两者的优点。更具体地讲,可重构硬件架构在提供定制软件的多功能性的同时,确保定制硬件的最佳性能。由于这些原因,可重构架构的使用已经增加,特别在相同的任务经常被重复执行并且优化那些任务对于总体性能具有深远影响的数字信号处理的领域。存在许多种类的可重构架构。一个比较恰当的例子是粗晶阵列(CGA),CGA由彼此连接的多个处理元件(PE)构成。通过改变PE彼此连接的方式,CGA可被优化以执行特定操作或任务。近来,新的可重构架构已经被开发,其利用粗晶阵列的特定PE作为超长指令字(VLIW)机。在这种可重构架构中,存在两种执行模式,CGA模式和VLIW模式。在CGA模式中,一般地,一个或更多个迭代循环操作被处理,而在VLIW模式中,一般地,一般操作而非循环操作被处理。由于CGA模式可能对于处理循环更有效,因此采用此方法。基于CGA的可重构处理器具有非常复杂的结构。这种处理器包括多个功能单元(FU)、全局寄存器文件和本地寄存器文件。如果在CGA中存在数据相关性,则编译器难于分析并处理数据。数据相关性对于识别是重要的,这是因为如果非法或损坏数据产生(这不满足数据相关性),则不同的差错可能发生。例如,如果编译器无法克服数据相关性,则用户或程序员甚至不能检测在CGA中映射的二进制数据的差错。其结果是,在程序的执行期间可实现不期望的结果。为了使得可重构硬件架构能够处理数据,其必须能够避免这种运行时间差错。
技术实现思路
在一个总体方面,提供了一种在混合模式程序中检测源代码差错位置的设备,包括:仿真器,被配置为仿真第一程序和仿真第二程序;低级数据提取器,被配置为从第一程序的仿真提取第一低级数据以及从第二程序的仿真提取第二低级数据;比较数据产生器,被配置为将第一低级数据映射到从第一程序产生的第一映射表以产生验证映射表,以及将第二低级数据映射到从第二程序产生的第二映射表以产生参考映射表;差错位置检测器,被配置为将验证映射表与参考映射表进行比较以检测验证映射表与参考映射表之间的数据的不一致记录,并且获得涉及数据的不一致记录的程序位置信息。所述设备可还包括:编译器,被配置为通过在第一模式下编译源代码来产生第一程序,通过在第二模式下编译源代码来产生第二程序。所述设备可还包括:映射表产生器,被配置为产生第一程序的第一映射表以及第二程序的第二映射表。所述设备可提供:第一映射表和第二映射表的每个包括指令映射信息、寄存器映射信息和存储器映射信息中的至少一个。低级数据提取器可被配置为在仿真期间从预定时间段的第一程序和第二程序中的每个提取低级数据。低级数据可包括寄存器数据、存储器数据、程序计数器(PC)和迭代计数器中的至少一个。差错位置检测器可基于程序计数器来检测引起差错的源代码的位置。在另一方面,提供了一种在混合模式程序中检测源代码差错的位置的方法,包括:仿真验证程序;仿真参考程序;从验证程序的仿真提取低级数据;从参考程序的仿真提取低级数据;将从验证程序提取的低级数据映射到指示源代码和验证程序之间的关系的验证映射表,以产生验证映射表;将从参考程序提取的低级数据映射到指示源代码和参考程序之间的关系的参考映射表,以产生参考映射表;将验证映射表与参考映射表进行比较,以检测数据的不一致记录并且获得涉及数据的不一致记录的程序位置信息。所述方法可还包括:通过在第一模式下编译源代码来产生验证程序;通过在第二模式下编译源代码来产生参考程序。所述方法可还包括:产生指示源代码和验证程序之间的关系的第一映射表,并且产生指示源代码和参考程序之间的关系的第二映射表。在另一方面,提供了一种在混合模式程序中检测源代码差错的位置的方法,包括:产生验证数据表;产生参考数据表;将验证数据表与参考数据表进行比较,以便确定是否存在数据的不一致记录。所述方法可还包括:如果存在数据的不一致记录,则基于程序计数器(PC)和功能单元(FU)索引,在源代码中检测与数据的不一致记录相应的位置。所述方法可提供:通过将在第一模式下编译的验证程序的低级数据映射到验证程序的映射表,来执行产生验证数据表的步骤。所述方法可提供:通过将在与第一模式不同的第二模式下编译的参考程序的低级数据存储到参考程序的映射表,来执行产生参考数据表的步骤。所述方法可还包括:在仿真期间从验证程序提取验证程序的低级数据。所述方法可还包括:在仿真期间从参考程序提取参考程序的低级数据。在另一方面,提供了一种在混合模式程序中验证源代码的设备,包括:仿真器,被配置为仿真第一程序和第二程序;低级数据提取器,被配置为从第一程序的仿真提取第一低级数据,并且从第二程序的仿真提取第二低级数据;比较数据产生器,被配置为将第一低级数据映射到从第一程序产生的第一映射表,以产生验证映射表,并且将第二低级数据映射到从第二程序产生的第二映射表,以产生参考映射表;差错位置检测器,被配置为将验证映射表与参考映射表进行比较以提供源代码是否有效的指示。在所述设备中,第一映射表和第二映射表的每个可包括指令映射信息、寄存器映射信息和存储器映射信息中的至少一个。低级数据提取器可被配置为在仿真期间从预定时间段的第一程序和第二程序中的每个提取低级数据。低级数据可包括寄存器数据、存储器数据、程序计数器(PC)和迭代计数器中的至少一个。在一个总体方面,提供了一种在混合模式程序中检测源代码差错位置的设备,包括:仿真器,被配置为仿真第一程序,其中,通过在第一模式下编译源代码来产生第一程序,并且仿真第二程序,其中,通过在第二模式下编译第二源代码来产生第二程序;低级数据提取器,被配置为在仿真期间从第一程序提取第一低级数据,并且在仿真期间从第二程序提取第二低级数据;比较数据产生器,被配置为将第一低级数据映射到从第一程序产生的第一映射表,从而产生验证映射表,并且将第二低级数据映射到从第二程序产生的第二映射表,从而产生参考映射表;差错位置检测器,被配置为将验证映射表与参考映射表进行比较以确定在验证映射表与参考映射表之间是否存在数据的不一致记录,并且响应于确定存在数据的不一致记录,获得涉及数本文档来自技高网
...
在混合模式程序中检测源代码差错的位置的设备和方法

【技术保护点】
一种在混合模式程序中检测源代码差错位置的设备,包括:仿真器,被配置为仿真第一程序和仿真第二程序;低级数据提取器,被配置为从第一程序的仿真提取第一低级数据以及从第二程序的仿真提取第二低级数据;比较数据产生器,被配置为将第一低级数据映射到从第一程序产生的第一映射表以产生验证映射表,以及将第二低级数据映射到从第二程序产生的第二映射表以产生参考映射表;差错位置检测器,被配置为将验证映射表与参考映射表进行比较以检测验证映射表与参考映射表之间的数据的不一致记录,并且获得涉及数据的不一致记录的程序位置信息。

【技术特征摘要】
2012.09.07 KR 10-2012-00996091.一种在混合模式程序中检测源代码差错位置的设备,包括:编译器,被配置为通过在第一模式下编译源代码来产生第一程序,通过在与第一模式不同的第二模式下编译源代码来产生第二程序;映射表产生器,被配置为产生第一程序的第一映射表以及第二程序的第二映射表;仿真器,被配置为仿真第一程序和仿真第二程序;低级数据提取器,被配置为从第一程序的仿真提取第一低级数据以及从第二程序的仿真提取第二低级数据;比较数据产生器,被配置为将第一低级数据映射到第一映射表以产生验证映射表,以及将第二低级数据映射到第二映射表以产生参考映射表;差错位置检测器,被配置为将验证映射表与参考映射表进行比较以检测验证映射表与参考映射表之间的数据的不一致记录,并且获得涉及数据的不一致记录的程序位置信息。2.如权利要求1所述的设备,其中,第一映射表和第二映射表的每个包括指令映射信息、寄存器映射信息和存储器映射信息中的至少一个。3.如权利要求1所述的设备,其中,低级数据提取器被配置为在仿真期间从预定时间段的第一程序和第二程序中的每个提取低级数据。4.如权利要求1所述的设备,其中,低级数据包括寄存器数据、存储器数据、程序计数器PC和迭代计数器中的至少一个。5.如权利要求4所述的设备,其中,差错位置检测器基于程序计数器来检测引起差错的源代码的位置。6.一种在混合模式程序中检测源代码差错的位置的方法,包括:通过在第一模式下编译源代码来产生验证程序;通过在与第一模式不同的第二模式下编译源代码来产生参考程序;产生指示源代码和验证程序之间的关系的第一映射表;产生指示源代码和参考程序之间的关系的第二映射表;仿真验证程序;仿真参考程序;从验证程序的仿真提取低级数据;从参考程序的仿真提取低级数据;将从验证程序提取的低级数据映射到指示源代码和验证程序之间的关系的第一映射表,以产生验证映射表;将从参考程序提取的低级数据映射到指示源代码和参考程序之间...

【专利技术属性】
技术研发人员:沈熙峻安珉旭丁镇世韩渊照
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国;KR

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

1