一种从虚拟地址向物理地址变换的方法及其装置制造方法及图纸

技术编号:2852886 阅读:255 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种从虚拟地址向物理地址变换的方法及其装置,利用数据局部性,将需要变换成物理地址的虚拟地址同上次变换的虚拟地址相比较,如果同属一个虚拟页表,则不访问翻译后援缓冲器(TLB)的随机存储器(RAM)部分,而直接利用上次变换得到的物理页表地址,以减少对翻译后援缓冲器中随机存储器的访问次数;而且指令翻译后援缓冲器(ITLB)和数据翻译后援缓冲器(DTLB)共用一个单读端口随机存储器,这样可以达到降低翻译后援缓冲器部分的功耗和面积的效果,同时又不会降低处理器的性能。

【技术实现步骤摘要】

本专利技术涉及微处理器体系结构
,特别涉及处理器中负责将虚拟地址转换为物理地址的翻译后援缓冲器(TLB,Translation Lookaside Buffer)的设计方法,即涉及从虚拟地址向物理地址变换的方法及其装置
技术介绍
在虚拟存储系统中,必须将虚拟地址转换为物理地址,处理器的存储器管理部件中的翻译后援缓冲器就是为了加速这种地址转换而设计的,翻译后援缓冲器中存储各个逻辑页地址和物理页地址的表项,并且建立起两者的映射关系,这样在处理器内部就可以完成从虚拟地址到物理地址的映射过程,加速从虚拟地址到物理地址的变换。翻译后援缓冲器通常由两部分组成,一部分是存储虚拟地址页表项,用于同访问的虚拟地址进行全相连比较的内容比较器(CAM),另一部分是存储物理地址页表项,通过索引查找的随机存储器(RAM)。当一个访存地址访问翻译后援缓冲器时,先并行地在内容比较器中查找与访存地址匹配的虚拟页表项,查到后,根据查到位置的索引访问随机存储器,得到访问地址对应的物理地址所处的物理页表项。由于处理器有取指令和数据访存两个并行的过程,而无论取指令还是数据访存,都需要访问翻译后援缓冲器部件,进行将虚拟地址转换为物理地址的过程,传统的翻译后援缓冲器实现方法有两种一种是使用两个翻译后援缓冲器,即指令翻译后援缓冲器(ITLB,Instruction Translation Lookaside Buffer)和数据翻译后援缓冲器(DTLB,DataTranslation Lookaside Buffer),分别处理取指令和数据访存操作;另一种是使用一个共用翻译后援缓冲器,即接受取指令的访问,又接受数据访存的访问。传统设计中第一个方法的缺点是电路面积很大,功耗也很高,而传统设计的第二个方法的缺点是处理器的性能会受到负面影响,因为同时出现取指令和数据访存时,无法同时处理,必须延迟其中一个访问的处理,如果第二种方法采用双端口的内容比较器和双端口的随机存储器的话,又会导致电路面积增大,功耗增加的缺点。
技术实现思路
本专利技术所要解决的技术问题是提供一种从虚拟地址向物理地址变换的方法及其装置,以克服现有技术的缺陷,降低翻译后援缓冲器电路的面积和功耗,同时还不影响处理器的性能。为了解决上述技术问题,本专利技术提供一种从虚拟地址向物理地址变换的方法包括以下步骤a)指令翻译后援缓冲器和数据翻译后援缓冲器将此次取指/数据的虚地址同上一次取指的虚地址/数据虚地址相比较;b)判断是否属相同页表或可直接映射空间,如果是,执行步骤g),如果否,执行下一步;c)指令翻译后援缓冲器和数据翻译后援缓冲器共用一个单读端口随机存储器,接受对物理地址的查询;d)指令翻译后援缓冲器和数据翻译后援缓冲器在寄存器中保存变换得到的物理地址;e)指令翻译后援缓冲器和/或数据翻译后援缓冲器对这两个来源(本次变换和上次变换)的物理地址进行选择;f)使用选择出的物理地址,输出需要的结果信号;g)不访问随机存储器,使用保存的上次变换的地址,执行步骤e)。在上述方案中,在所述步骤a)、b)和g)中,有下面两种情况,虚拟地址变换到物理地址时不访问翻译后援缓冲器的随机存储器,一种是将每次取指操作引发的需要进行变换的地址同上一次取指操作引发的已经完成变换的地址进行比较,如果同上一次的地址落在了同一个虚拟页表项中,则不再访问随机存储器,而直接利用上一次变换得到的物理页表地址结果,数据访存引发的地址变换也使用同取指引发的地址变换相同的处理过程,另一种情况是,对于取指令和数据访存操作引起的虚拟地址到物理地址的变换,如果虚拟地址所处的地址空间为直接映射空间,不需要查找翻译后援缓冲器的映射关系表项就能完成的地址映射,不访问翻译后援缓冲器的随机存储器。在上述方案中,在所述步骤d)和e)中,如果下一次地址变换时虚拟地址同此次要变换的虚拟地址在同一页表内,则使用寄存器中保存的物理地址,否则查询翻译后援缓冲器的随机存储器,使用随机存储器输出的物理页表地址。本专利技术提供的一种从虚拟地址向物理地址变换的装置,包括用于存放和比较虚拟页表地址的内容比较器电路和存放物理页表地址的随机存储器电路,取指令和数据访存拥有各自的内容比较器电路,即第一内容比较器电路和第二内容比较器电路,以及对这所述两个内容比较器电路比较输出的索引进行选择的第一二选一电路,并且取指令与数据访存共用一个只有一个读端口的随机存储器电路,还包括此次取指变换的虚拟地址和上次取指变换的虚拟地址之间进行比较判断取指虚地址是否属相同页表或可直接映射空间的第一比较电路和第一判断电路,此次数据访存变换的虚拟地址和上次数据访存变换的虚拟地址之间的第二比较电路和第二判断电路,保存取指上次变换后得到的物理页表地址的第一寄存器组和保存数据访存上次变换后得到的物理页表地址的第二寄存器组,以及所述第一寄存器组与随机存储器输出间的第二二选一电路,第二寄存器组与随机存储器输出间的第三二选一电路,及通过使用第二二选一电路输出结果的第三比较电路,使用第三二选一电路输出结果的第四比较电路,最终输出需要的结果信号。在上述方案中,所述第三比较电路为指令高速缓存的标记比较电路,用于比较指令高速缓存的标记值和所述第一寄存器组中的内容,输出1位结果信号;所述第四比较电路为数据高速缓存的标记比较电路,用于比较数据高速缓存的标记值和随机存储器输出的物理页表地址的内容,输出1位结果信号。在上述方案中,所述单读端口随机存储器电路,用于保持物理页表地址和相关控制信号的随机存储器,指令翻译后援缓冲器和数据翻译后援缓冲器共用所述单读端口随机存储器电路,所述单读端口随机存储器电路优先处理取指的地址变换访问。在上述方案中,所述单读端口随机存储器电路可以替换为单读端口寄存器堆电路。在上述方案中,所述第一比较电路和第一判断电路,用于生成访问随机存储器的使能信号,如果前后两次变换的地址不在同一页表,并且此次变换的地址不属于可直接映射空间,才访问随机存储器。在上述方案中,所述第二比较电路和第二判断电路,用于生成访问随机存储器的使能信号,如果前后两次变换的地址不在同一页表,并且此次变换的地址不属于可直接映射空间,才访问随机存储器。在上述方案中,所述第二二选一电路在指令后援缓冲器访问随机存储器后,使用随机存储器输出结果,否则使用第一寄存器组输出结果;所述第三二选一电路在数据后援缓冲器访问随机存储器后,使用随机存储器输出结果,否则使用第二寄存器组输出结果。由上可知,本专利技术的方法和装置通过创新设计,利用数据局部性,将需要变换成物理地址的虚拟地址同上次变换的虚拟地址相比较,如果同属一个虚拟页表,则不访问翻译后援缓冲器的随机存储器部分,而直接利用上次变换得到的物理页表地址,以减少对翻译后援缓冲器中随机存储器的访问次数;而且指令翻译后援缓冲器和数据翻译后援缓冲器共用一个单读端口随机存储器,这样可以达到降低翻译后援缓冲器部分的功耗和面积的效果,同时又不会降低处理器的性能。附图说明图1是本专利技术从虚拟地址向物理地址变换的方法另一实施例的流程图;图2是本专利技术从虚拟地址向物理地址变换的装置另一实施例的示意框图。具体实施例方式下面参照附图详细说明本专利技术的技术方案。本申请人同日还申请了另一专利技术名称为“改进的虚拟地址变换方法及其装置”的专利,在本文档来自技高网
...

【技术保护点】
一种从虚拟地址向物理地址变换的方法,其特征在于,包括以下步骤:    a)指令翻译后援缓冲器和数据翻译后援缓冲器将此次取指/数据的虚地址同上一次取指的虚地址/数据虚地址相比较;    b)判断是否属相同页表或可直接映射空间?如果是,执行步骤g),如果否,执行下一步;    c)指令翻译后援缓冲器和数据翻译后援缓冲器共用一个单读端口随机存储器,接受对物理地址的查询;    d)指令翻译后援缓冲器和数据翻译后援缓冲器在寄存器中保存变换得到的物理地址;    e)指令翻译后援缓冲器和/或数据翻译后援缓冲器对本次变换和上次变换的物理地址两个来源进行选择;    f)使用选择出的物理地址,输出需要的结果信号;    g)不访问随机存储器,使用保存的上次变换的地址,执行步骤e)。

【技术特征摘要】
1.一种从虚拟地址向物理地址变换的方法,其特征在于,包括以下步骤a)指令翻译后援缓冲器和数据翻译后援缓冲器将此次取指/数据的虚地址同上一次取指的虚地址/数据虚地址相比较;b)判断是否属相同页表或可直接映射空间?如果是,执行步骤g),如果否,执行下一步;c)指令翻译后援缓冲器和数据翻译后援缓冲器共用一个单读端口随机存储器,接受对物理地址的查询;d)指令翻译后援缓冲器和数据翻译后援缓冲器在寄存器中保存变换得到的物理地址;e)指令翻译后援缓冲器和/或数据翻译后援缓冲器对本次变换和上次变换的物理地址两个来源进行选择;f)使用选择出的物理地址,输出需要的结果信号;g)不访问随机存储器,使用保存的上次变换的地址,执行步骤e)。2.如权利要求1所述的一种从虚拟地址向物理地址变换的方法,其特征在于,在所述步骤a)、b)和g)中,有下面两种情况,虚拟地址变换到物理地址时不访问翻译后援缓冲器的随机存储器,一种是将每次取指操作引发的需要进行变换的地址同上一次取指操作引发的已经完成变换的地址进行比较,如果同上一次的地址落在了同一个虚拟页表项中,则不再访问随机存储器,而直接利用上一次变换得到的物理页表地址结果,数据访存引发的地址变换也使用同取指引发的地址变换相同的处理过程,另一种情况是,对于取指令和数据访存操作引起的虚拟地址到物理地址的变换,如果虚拟地址所处的地址空间为直接映射空间,不需要查找翻译后援缓冲器的映射关系表项就能完成的地址映射,不访问翻译后援缓冲器的随机存储器。3.如权利要求1所述的一种从虚拟地址向物理地址变换的方法,其特征在于,在所述步骤d)和e)中,如果下一次地址变换时虚拟地址同此次要变换的虚拟地址在同一页表内,则使用寄存器中保存的物理地址,否则查询翻译后援缓冲器的随机存储器,使用随机存储器输出的物理页表地址。4.一种从虚拟地址向物理地址变换的装置,包括用于存放和比较虚拟页表地址的内容比较器电路和存放物理页表地址的随机存储器电路,其特征在于取指令和数据访存拥有各自的内容比较器电路,即第一内容比较器电路和第二内容比较器电路,以及对这所述两个内容比较器电路比较输出的索引进行选择的第一二选一电路,并且取指令与数据访存共用一个只有一个读端口的随机存储器电路,还包括此次取指变换的虚拟地址和上次取指变换的虚拟地址之间进行比较判断取指虚地址是否属相同页表或可直接映射空间的第...

【专利技术属性】
技术研发人员:范东睿唐志敏
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

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

1