[发明专利]支持动态二进制翻译的多核体系结构无效
申请号: | 201110008123.6 | 申请日: | 2011-01-14 |
公开(公告)号: | CN102073533A | 公开(公告)日: | 2011-05-25 |
发明(设计)人: | 王志英;赖鑫;沈立;徐帆;陈微;陈顼颢;郑重;朱天龙;陆华俊;游良帅 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F12/08;G06F15/16 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 动态 二进制 翻译 多核 体系结构 | ||
技术领域
本发明涉及集成电路领域微处理器体系结构,特别是一种支持动态二进制翻译的多核体系结构。
背景技术
二进制翻译(Binary Translation)如图1所示,用于模拟异构计算机体系结构,执行没有源程序的二进制代码,辅助从一种体系结构或操作系统向另一种体系结构或操作系统迁移,是计算系统虚拟化一种重要途径。动态二进制翻译器一般包括翻译模块和执行模块,与之相对应的,翻译过程分为翻译阶段和执行阶段。在翻译阶段,翻译模块读入源机器码块,将其转化为目标机上可执行的二进制代码块。在执行阶段,执行模块从指定位置读取二进制代码块并运行。当执行到一条未翻译的指令,或者频繁执行的代码块入口时,执行模块将控制权交给翻译模块,进行后续的翻译或再优化工作。翻译阶段和执行阶段交替进行,直到完成整个程序的翻译和执行。
现有的多核体系结构如图2所示,每个处理器核拥有私有一级Cache和共享二级Cache,处理器核之间通信通过互联网络进行,同时共享主存控制器进行访存操作。操作系统可以选取任意一个处理器核作为动态二进制翻译的主控处理器,通过主控处理器调用其它处理器核进行动态二进制翻译。处理器核通过主存控制器从主存读取数据,置于共享和二级Cache和私有一级Cache。由于Cache的容量有限,二级Cache和私有一级Cache不能容纳应用程序中所有数据,不同的数据会映射到相同的二级Cache和私有的一级Cache中,从而引起地址冲突。发生地址冲突时,现有多核体系结构作废原私有一级Cache和共享二级Cache行中数据,将其替换为新数据。当下回再次访问原数据时,处理器核必须重新从贮存中读取数据,将其置于私有一级Cache和共享二级Cache中。
在此体系结构下,动态二进制翻译器在运行过程中与系统其它线程共享主存控制器和二级Cache。动态二进制翻译器在翻译过程中频繁从主存中读取源体系结构二进制码,往主存中写入翻译后目标体系结构二进制码。翻译器翻译过程中对源体系结构程序进行基本块划分,以基本块为单元进行翻译。当相应的基本块翻译完成时,依据程序控制流中基本块的跳转关系翻译下一基本块。对基本块采用映射表或者类似模式进行翻译,翻译完的指令代码不再使用,从而导致动态二进制翻译对数据使用时间局部性和空间局部性较差,对Cache的利用率低下。在翻译器读取源二进制代码和其他辅助数据过程中,处理器根据共享的二级Cache替换策略作废二级Cache中的过时数据,容易与系统中其他Cache敏感型应用程序发生共享的二级Cache访问冲突。此外动态二进制翻译器需要从主存频繁读取源二进制代码和往主存写入目标二进制代码,对系统访存带宽占用较大。频繁的访存操作一方面影响动态二进制翻译器自身执行性能,另一方面与系统中诸如流媒体等访存密集型应用程序发生访存冲突,从而导致系统整体性能的下降。
综上所述,目前急需一种新的多核体系结构来解决动态二进制翻译过程中的Cache访问冲突和主存冲突等问题。针对动态二进制翻译过程对不同数据类型的访问特性设置相应缓存,增加访问通道,使翻译器在二进制翻译过程中并发使用不同类型的片上缓存,通过这种方式一方面降低动态二进制翻译器对主存的访问频率,提高访存带宽,从而加速翻译过程;另一方面减少动态二进制翻译器与系统中其它线程的共享Cache访问冲突,从而提高整个系统的共享Cache利用率。
发明内容
本发明要解决的技术问题是提供一种新的多核体系结构,解决动态二进制翻译过程中的Cache访问冲突和主存冲突等问题,使得数据访问延迟低、翻译吞吐量高、Cache访问冲突小。
本发明的技术方案是:
支持动态二进制翻译的多核体系结构由多个处理器核、一级Cache、翻译缓存单元、二级Cache和主存控制器组成。一级Cache、翻译缓存单元是每个处理器核私有的,一级Cache、翻译缓存单元的数量与处理器核的数量相同,二级Cache和主存控制器由所有处理器核共享。翻译缓存单元与私有它的处理器核、核间通信互联网络和主存控制器相连。
翻译缓存单元由通信控制单元、缓存管理单元、数据存储单元组成,数据存储单元中包含三个存储区,分别是源体系结构二进制码缓冲区、目标体系结构二进制码缓冲区和页面映射表。源体系结构二进制码缓冲区存储源体系结构二进制码,容量为M,M=4K×L字,K为1024、L为正整数;目标体系结构二进制码缓冲区存储翻译后的目标体系结构二进制码,容量为N,N=4K×J,K为1024、J为正整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110008123.6/2.html,转载请声明来源钻瓜专利网。