一种基于JIT仿真器的中断检测方法及系统技术方案

技术编号:9851807 阅读:99 留言:0更新日期:2014-04-02 17:09
本发明专利技术实施例公开了一种基于JIT仿真器的中断检测方法及系统,用于提高中断响应的精确度,从而提高JIT仿真器仿真结果的准确性。本发明专利技术实施例方法包括:在执行指令块每一条指令前,判断当前系统是否满足所述指令所携带的中断触发条件;若系统满足所述指令所携带的中断触发条件,则跳出并执行所述中断触发条件对应的中断。

【技术实现步骤摘要】
—种基于JIT仿真器的中断检测方法及系统
本专利技术涉及仿真
,具体涉及一种基于JIT仿真器的中断检测方法及系统。
技术介绍
即时(Just In Time,简称JIT)仿真器是仿真技术中常见的一种高速仿真器,其运行分为两个阶段:翻译阶段和执行阶段,其中,翻译阶段将指令翻译成host机的可执行指令,由多条可执行指令组成一个指令块;在执行阶段由仿真平台调度以指令块为单元执行。目前,JIT仿真器在翻译指令块时,中央处理单元(Central Processing Unit,CPU)无法检测是否有中断,因此,在翻译指令块之前加入中断检测,当检测到中断发生时,则中断当如指令块的翻译执彳丁中断,在中断执彳丁完之后再回来继续翻译之如未被翻译的指令块。上述方案中,中断的执行是在两个指令块之间进行,可能导致本来应该在指令块的某个指令执行结束后就应该触发的中断被延迟到整个指令块结束后再去执行,导致中断不精确,从而影响仿真结果的准确性。
技术实现思路
针对上述缺陷,本专利技术实施例提供了 一种基于JIT仿真器的中断检测方法及系统,可以精确响应中断,提高JIT仿真器仿真结果的准确性。本专利技术实施例第一方面提供了一种基于JIT仿真器的中断检测方法,包括:在执行指令块每一条指令前,判断当前系统是否满足所述指令所携带的中断触发条件;若系统满足所述指令所携带的中断触发条件,则跳出并执行所述中断触发条件对应的中断。结合第一方面,在第一种可能的实现方式中,所述中断触发条件包含中断触发时间,进而所述判断当前系统是否满足所述指令所携带的中断触发条件,包括:判断当前系统时间是否与所述指令所携带的中断触发条件中的中断触发时间相同。结合第一方面,在第二种可能的实现方式中,所述中断触发条件包含中断触发指令判断条件,所述中断触发指令判断条件具体用于指示指令块中的第N条指令,所述N为正整数,且小于或等于所述指令块的指令总数目;进而所述判断当前系统是否满足所述指令所携带的中断触发条件,包括:判断当前系统是否执行完所述指令所携带的中断触发条件中的中断触发指令判断条件所指示的第N条指令。结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述在执行指令块的指令之前还包括:翻译指令块中的指令,其中,翻译后的每一条指令前均携带所述中断触发条件。结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,在所述翻译指令块中的指令时,所述中断检测方法还包括:当检测到有中断注册,从中断注册队列中获取所述中断触发条件。结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述中断触发条件还包含中断处理函数;进而在所述从中断注册队列中获取所述中断触发条件之后,还包括:将所述中断触发条件中的中断处理函数翻译成可执行的中断处理函数,并将翻译后的中断处理函数保存在缓冲区。结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述中断触发条件还包含中断处理类型;进而所述跳出并执行所述中断触发条件对应的中断包括:根据所述中断触发条件中的中断处理类型从缓冲区读取翻译后的中断处理函数,执行中断。结合第一方面或上述第一方面的六种可能的实现方式中的任意一种,在第七种可能的实现方式中,在所述跳出并执行所述中断触发条件对应的中断之后,包括:回到被中断的所述指令块,从所述指令块中被中断的指令开始执行指令。本专利技术实施第二方面提供了一种基于JIT仿真器的中断检测系统,包括:中断判断单元,用于在执行指令块每一条指令前,判断当前系统是否满足所述指令所携带的中断触发条件;中断执行单元,用于若系统满足所述指令所携带的中断触发条件,则跳出并执行所述中断触发条件对应的中断。结合第二方面,在第一种可能的实现方式中,所述中断触发条件包含中断触发时间;进而所述中断判断单元包括:中断时间判断单元,用于在执行指令块每一条指令前,判断当前系统时间是否与所述指令所携带的中断触发条件中的中断触发时间相同。结合第二方面,在第二种可能的实现方式中,所述中断触发条件包含中断触发指令判断条件,所述中断触发指令判断条件具体用于指示指令块中的第N条指令,所述N为大于或等于O的正整数,且小于或等于所述指令块的指令总数目;进而所述中断判断单元包括:中断指令判断单元,用于在执行指令块的每一条指令前,判断当前系统是否执行完所述指令所携带的中断触发条件中的中断触发指令判断条件所指示的第N条指令。结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述中断检测系统还包括:指令翻译单元,用于在执行指令块的指令前,翻译指令块中的指令,其中,翻译后的每一条指令前均携带中断触发条件。结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述中断触发条件还包含中断处理函数;所述中断检测系统还包括:条件获取单元,用于在翻译指令块中的指令时,当检测到有中断注册,从中断注册队列中获取所述中断触发条件。结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述中断检测系统还包括:中断处理函数翻译单元,用于将所述中断触发条件中的中断处理函数翻译成可执行的中断处理函数,并将翻译后的中断处理函数保存在缓冲区。结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述中断触发条件还包括中断处理类型;所述中断执行单元包括:第一执行单元,用于若系统满足所述指令所携带的中断触发条件,根据所述中断触发条件中的中断处理类型从缓冲区读取翻译后的中断处理函数,执行中断。结合第二方面或上述第二方面的六种可能的实现方式中的任意一种,在第七种可能的实现方式中,所述中断检测系统还包括:指令执行单元,用于在所述中断执行单元执行完指令块的指令所携带的中断触发条件对应的中断后,回到被中断的所述指令块,从所述指令块中被中断的指令开始执行指令。从以上技术方案可以看出,本专利技术实施例具有以下优点:本专利技术实施例所提供的基于JIT仿真器的中断检测方法及系统,通过在执行指令块的每一条指令前,判断当前系统是否满足指令所携带的中断触发条件,在系统满足指令所携带的中断触发条件时,就跳出并执行中断触发条件对应的中断。与现有技术相比,本专利技术中通过在每一条指令执行前都进行中断判断,在确定有中断发生时,能够中断当前指令块中指令的执行,转而执行中断,而不需要等到整个指令块执行完再进行中断判断执行中断,有效提高了中断响应精确度,保证JIT仿真器仿真结果的准确性。【附图说明】为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一实施例提供的基于JIT仿真器的中断检测方法流程示意图;图2_a为本专利技术另一实施例提供的基于JIT仿真器的中断检测方法流程示意图;图2_b为本专利技术另一实施例提供的基于JIT仿真器的中断检测方法流程示意图;图3为本专利技术一实施例提供的基于JIT仿真器的中断检测系统基本结构示意图;图4_a为本专利技术另一实施例提供的基于JIT仿真器的中断检测系统基本结构示意图本文档来自技高网...
一种基于JIT仿真器的中断检测方法及系统

【技术保护点】
一种基于JIT仿真器的中断检测方法,其特征在于,包括:在执行指令块每一条指令前,判断当前系统是否满足所述指令所携带的中断触发条件;若系统满足所述指令所携带的中断触发条件,则跳出并执行所述中断触发条件对应的中断。

【技术特征摘要】
1.一种基于JIT仿真器的中断检测方法,其特征在于,包括: 在执行指令块每一条指令前,判断当前系统是否满足所述指令所携带的中断触发条件; 若系统满足所述指令所携带的中断触发条件,则跳出并执行所述中断触发条件对应的中断。2.根据权利要求1所述的中断检测方法,其特征在于,所述中断触发条件包含中断触发时间,进而所述判断当前系统是否满足所述指令所携带的中断触发条件,包括: 判断当前系统时间是否与所述指令所携带的中断触发条件中的中断触发时间相同。3.根据权利要求1所述的中断检测方法,其特征在于,所述中断触发条件包含中断触发指令判断条件,所述中断触发指令判断条件具体用于指示指令块中的第N条指令,所述N为正整数,且小于或等于所述指令块的指令总数目; 进而所述判断当前系统是否满足所述指令所携带的中断触发条件,包括: 判断当前系统是否执行完所述中断触发指令判断条件所指示的第N条指令。4.根据权利要求1~3任一项所述的中断检测方法,其特征在于,所述在执行指令块的指令之前还包括: 翻译指令块中的指令,其中,翻译后的每一条指令前均携带所述中断触发条件。5.根据权利要求4所述的中断检测方法,其特征在于,在所述翻译指令块中的指令时,所述中断检测方法还包括: 当检测到有中断注册,从中断注册队列中获取所述中断触发条件。6.根据权利要求5所述的中断检测方法,其特征在于,所述中断触发条件还包含中断处理函数; 进而在所述从中断注册队列中获取所述中断触发条件之后,还包括: 将所述中断触发条件中的中断处理函数翻译成可执行的中断处理函数,并将翻译后的中断处理函数保存在缓冲区。7.根据权利要求6所述的中断检测方法,其特征在于,所述中断触发条件还包含中断处理类型; 进而所述跳出并执行所述中断触发条件对应的中断包括: 根据所述中断触发条件中的中断处理类型从缓冲区读取翻译后的中断处理函数,执行中断。8.根据权利要求1~7任一项所述的中断检测方法,其特征在于,在所述跳出并执行所述中断触发条件对应的中断之后,还包括: 回到被中断的所述指令块,从所述指令块中被中断的指令开始执行指令。9.一种基于JIT仿真器的中断检测系统,其特征在于,包括: 中断判断单元,用于在执行指令块每一条...

【专利技术属性】
技术研发人员:罗晴肖春鹏李书旭
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1