二进制翻译器中线程共享目标本地码缓存替换方法及系统技术方案

技术编号:4382578 阅读:175 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及二进制翻译器中线程共享code cache的替换方法及系统。该方法包括:步骤10,将本地码空间划分成N个相同大小的可替换单元和一个永不替换单元,N为自然数;可替换单元用于进行普通本地码的分配以及实施替换策略,永不替换单元用来保存与线程同步相关的本地码;步骤20,从当前可替换单元中分配本地码,直到当前可替换单元的容量达到上限时再从下一个可替换单元开始分配本地码;步骤30,当本地码空间达到容量的上限时,以可替换单元为单位按照先进先出策略进行本地码替换。本发明专利技术提出并实现了多线程code cache的替换方案,这种替换方案可广泛适用于各种体系结构之上的二进制翻译器中,在开销较小的同时保证了线程的并发性。

【技术实现步骤摘要】

本专利技术涉及二进制翻译器,尤其涉及二进制翻译器中线程共享code cache (目标本地码缓存)的替换方法及系统。
技术介绍
二进制翻译是解决软件移植问题中的一种重要技术,它可以将一种指令集 体系结构(ISA)上的可执行程序翻译到另一种指令集体系结构的计算机上执 行,并且具备很高的执行效率。二进制翻译现也经常用来将一种ISA上的可 执行程序翻译到同种ISA的较高版本上执行,以在同一个系列的计算机中使 用高档次的机器高效地运行低档次机器上开发的软件。特别是随着虚拟机技术 的普及,二进制翻译技术的重要性也越来越大,很多虚拟机软件中都不同程度 的运用了二进制翻译技术以保障虚拟机的运行效率。许多多线程应用属于大型应用,由于二进制翻译过程会带来一定程度的代 码膨胀,普通大小的code cache己经无法满足多线程程序的需要,如果不限制 code cache的大小并采取一定的替换策略,将会造成内存空间大量占用,由操 作系统进行虚存管理的过程将对虚拟机的性能产生极大的影响。所以针对多线 程程序code cache的管理策略进行研究成为支持多线程程序以及提高程序性 能的关键。针对多线程程序的co本文档来自技高网...

【技术保护点】
二进制翻译器中线程共享code cache的替换方法,其特征在于,包括: 步骤10,将本地码空间划分成N个相同大小的可替换单元和一个永不替换单元,N为自然数;可替换单元用于进行普通本地码的分配以及实施替换策略,永不替换单元用来保存与线程同步相关的本地码; 步骤20,从当前可替换单元中分配本地码,直到当前可替换单元的容量达到上限时再从下一个可替换单元开始分配本地码; 步骤30,当本地码空间达到容量的上限时,以可替换单元为单位按照先进先出策略进行本地码替换。

【技术特征摘要】

【专利技术属性】
技术研发人员:张盈武成岗
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

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

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