发明名称 | 模拟装置以及虚拟化方法 | ||
摘要 | 本发明提供一种虚拟化程序、模拟装置以及虚拟化方法,可以高速地执行模拟,允许本机代码模拟器具有由多任务OS管理的每个任务固有的堆栈。由本机代码模拟器提供的API执行由目标CPU通过特殊控制寄存器操作执行的上下文的生成、保存、复原和擦除处理。当移植多任务OS时,源代码被改变以调用API。在API中分配任务固有的堆栈,并且切换堆栈以切换任务,从而可以进行上下文切换。 | ||
申请公布号 | CN101470622B | 申请公布日期 | 2012.08.29 |
申请号 | CN200810190683.6 | 申请日期 | 2008.12.26 |
申请人 | 东芝解决方案株式会社 | 发明人 | 石井正悟;由良浩司 |
分类号 | G06F9/455(2006.01)I | 主分类号 | G06F9/455(2006.01)I |
代理机构 | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人 | 吕林红 |
主权项 | 一种模拟装置,包括:上下文生成部分,在每次启动在目标OS或模拟对象上产生的每个任务时,生成对应于每个任务的任务控制块TCB和堆栈区域,其中,所述TCB包括寄存器保存区域和任务状态存储区域,堆栈区域用于按照将由每个任务顺序调用的函数的顺序,以后进先出结构存储函数调用信息,寄存器保存区域存储每个任务的最后的执行中断时的寄存器内容作为最新寄存器信息,任务状态存储区域存储表示每个任务的状态的状态信息;上下文存储部分,当从正在执行的任务切换到将执行的待机任务时,在正在执行的任务的寄存器保存区域中存储在调用至少紧接由正在执行的任务最后一次调用的函数之前的函数时的寄存器内容,作为最新寄存器信息,并且在正在执行的任务的任务状态存储区域中存储表示正在执行的任务的状态的状态信息;以及任务切换部分,根据存储在接着将执行的待机任务的寄存器保存区域中的最新寄存器信息和存储在接着将执行的待机任务的任务状态存储区域中的状态信息,从正在执行的任务切换到待机任务,以进行适于执行多任务处理的目标OS的本机代码模拟。 | ||
地址 | 日本东京 |