转译后备缓冲器、操作转译后备缓冲器的方法以及处理器技术

技术编号:13799580 阅读:157 留言:0更新日期:2016-10-07 02:12
一种转译后备缓冲器(TLB)。此转译后备缓冲器包含多个项目,其中,各该项目用以保存一地址转译与一区域有效比特向量;其中,该区域有效比特向量的各个比特由一x86指令集架构的进程内容标识符(PCID)的不同值所映射。此转译后备缓冲器还包含一输入,接收一无效化比特向量,其比特对应于该多个项目的该区域有效比特向量的比特。此转译后备缓冲器还包含逻辑,对于该多个项目中对应有该无效化比特向量的一设定比特的各该项目,同时无效化各该项目的该区域有效比特向量的一比特。

【技术实现步骤摘要】
【国外来华专利技术】相关申请交叉引用本申请主张申请日为2014年7月21日的美国专利第62/026,830号临时申请的优先权。该优先权申请的全文并入本申请以供参考。
技术介绍
现代处理器支持虚拟存储器功能。虚拟存储器系统将由程序使用的虚拟地址映射或转译至由硬件使用的物理地址以对存储器定址。虚拟存储器可以对程序隐藏物理存储器散布的问题,以利程序重定位(relocation)的进行,并可容许程序看到相较于可取用的物理存储器更大的地址空间。这些优点尤其有利于现代使用多程序或进程以支持处理器时间共享(time-sharing)的系统。操作系统(operationg system)产生并维护存储器转译表(memory translation table)。存储器转译表通常被称为分页虚拟存储器系统的页表(page table),用以将虚拟地址映射至物理地址。此转译表可采取阶层表单的型式,其中部分表单将虚拟地址映射至中间表单的地址。在程序利用虚拟地址来存取存储器的时候,转译表必须能被存取,以完成虚拟地址转译至其物理位置的过程,这过程通常被称为页表移动(page table walk)或表移动(table walk)。这个存取转译表的额外存取动作,会明显造成存取存储器以取得程序所需的数据或指令的最终存取动作的延迟。现代处理器具有转译后备缓冲器(translation-lookaside buffer,TLB)来处理这个问题并提升效能。TLB是一个处理器的硬件结构,通过依序存取虚拟至物理地址的转译,以大幅降低需要存取转译表的可能性。先在TLB内查看待转译的虚拟地址,然后再由TLB提供物理地址。如果此虚拟地址存在(命中)于TLB内,所需要的时间就会明显少于存取存储器内的转译表来执行页移动所需的时间。TLB的效率(命中率)对于处理器的效能来说非常关键。各个进程(process)或内容(context)都具有其特殊地址空间与相关联的地址转译。因此,对于一个进程而言正确的TLB项目,对于另一个进程来说未必正确。当处理器切换处理进程时,TLB效能会降低。此系统必须确保没有
因为使用过时的TLB项目而误用TLB中用于旧进程的地址转译来转译新进程的虚拟地址。
技术实现思路
本专利技术提供一种转译后备缓冲器(translation-lookaside buffer,TLB)。此转译后备缓冲器包含多个项目,其中,各该项目用以保存(hold)一地址转译与一区域有效比特向量;其中,该区域有效比特向量的各个比特由一x86指令集架构的进程内容标识符(PCID)的不同值所映射。此转译后备缓冲器还包含一输入,接收一无效化(invalidation)比特向量,其比特对应于该多个项目的该区域有效比特向量的比特。此转译后备缓冲器还包含逻辑,对于该多个项目中对应有该无效化比特向量的一设定(set)比特的各该项目,同时无效化各该项目的该区域有效比特向量的一比特。本专利技术并提供一种操作一转译后备缓冲器(translation-lookaside buffer,TLB)的方法,此转译后备缓冲器包含多个项目,其中,各该项目用以保存(hold)一地址转译与一区域有效比特向量,其中,该区域有效比特向量的各个比特由一x86指令集架构的进程内容标识符(PCID)的不同值所映射。此方法包含:接收一无效化(invalidation)比特向量,其比特对应于该多个项目的该区域有效比特向量的比特;以及对于该多个项目中对应有该无效化比特向量的一设定(set)比特的各该项目,同时无效化各该项目的该区域有效比特向量的一比特。本专利技术更提供一种处理器。此处理器包含一转译后备缓冲器(translation-lookaside buffer,TLB)。此转译后备缓冲器包含多个项目,其中,各该项目用以保存(hold)一地址转译与一区域有效比特向量;其中,该区域有效比特向量的各个比特由一x86指令集架构的进程内容标识符(PCID)的不同值所映射。此转译后备缓冲器还包含一输入,接收一无效化(invalidation)比特向量,其比特对应于该多个项目的该区域有效比特向量的比特。此转译后备缓冲器还包含逻辑,对于该多个项目中对应有该无效化比特向量的一设定(set)比特的各该项目,同时无效化各该项目的该区域有效比特向量的一比特。此处理器还包含一映射模组,用以产生该无效化比特向量。本专利技术所采用的具体实施例,将藉由以下的实施例及附图作进一步的说明。附图说明图1是一处理器的方块示意图;图2是一方块图详细显示图1的处理器;图3是转译后备缓冲器的一项目的方块示意图;图4是一流程图显示图1的处理器填入转译后备缓冲器的项目的操作流程;图5是一方块示意图显示一位于转译后备缓冲器内的逻辑以确认查找过程中是否发生命中;图6是一方块示意图显示一逻辑,用以无效化转译后备缓冲器(请参照图2)的项目(请参照图3)的LVAL比特向量的比特;图7是一方块示意图显示图1的处理器内的一控制寄存器;图8是一流程图显示映射模块响应于图7的控制寄存器中各个不同比特的设定所执行的操作;图9是一方块示意图详细显示图2的区域内容表;图10是一方块示意图详细显示图2的全域内容表;图11是一流程图显示图1的处理器执行指令使处理器的架构特征失效的操作,而此处理器支持多个进程内容标识符(process context identifier,PCID);图12是一流程图显示图1的处理器执行指令以改变当前地址转译内容的操作;图13是一流程图,显示图1的处理器执行图12的步骤(以及图19与图21的步骤1918与2106)所呼叫的MOV_CR3()例程的操作;图14是一流程图显示图1的处理器执行图13的步骤1308(以及图16与图17的步骤1606与1722)所呼叫的ALLOCATE_LOCAL_CONTEXT()例程的操作;图15是一流程图显示图1的处理器在虚拟机器监视器至客户的移转过程的操作;图16是一流程图显示图1的处理器执行例程MOVTOCR3NOVPID的操作;图17是一流程图显示图1的处理器执行例程MOVTOCR3VPID的操作;图18是一流程图显示图1的处理器执行图17的步骤1712所呼叫的
ALLOCATE_GLOBAL_CONTEXT()例程的操作。图19是一流程图显示图1的处理器在由客户至虚拟机器监视器的移转过程的操作;图20是一流程图显示图1的处理器进入系统管理模式(system management mode,SMM)的移转过程的操作;图21是一流程图显示图1的处理器离开SMM的移转过程的操作;图22,此图是一流程图显示处理器执行指令以无效化转译后备缓冲器中与一进程内容标识符有关的地址转译的操作;图23A与图23B(整体称为图23)是一流程图显示处理器执行指令以无效化转译后备缓冲器中关联于一虚拟处理器标识符(virtual processor identifier,VPID)的地址转译的操作;以及图24是一流程图显示处理器执行指令以无效化转译后备缓冲器中关联于一扩展页表指针(extended page table pointer)的地址转译的操作。具体实施方式名词说明地址转译内容(address translation context)是一组可以使本文档来自技高网
...

【技术保护点】
一种转译后备缓冲器,包含:多个项目,其中,各该项目用以保存一地址转译与一区域有效比特向量;其中,该区域有效比特向量的各个比特由一x86指令集架构的进程内容标识符的不同值所映射;一输入,接收一无效化比特向量,其比特对应于该多个项目的该区域有效比特向量的比特;以及逻辑,对于该多个项目中对应有该无效化比特向量的一设定比特的各该项目,同时无效化各该项目的该区域有效比特向量的一比特。

【技术特征摘要】
【国外来华专利技术】2014.07.21 US 62/026,8301.一种转译后备缓冲器,包含:多个项目,其中,各该项目用以保存一地址转译与一区域有效比特向量;其中,该区域有效比特向量的各个比特由一x86指令集架构的进程内容标识符的不同值所映射;一输入,接收一无效化比特向量,其比特对应于该多个项目的该区域有效比特向量的比特;以及逻辑,对于该多个项目中对应有该无效化比特向量的一设定比特的各该项目,同时无效化各该项目的该区域有效比特向量的一比特。2.如权利要求1所述的转译后备缓冲器,其中,该区域有效比特向量是N比特,其中N大于1,并且其大小比该些x86指令集架构进程内容标识符的不同值所需的空间小至少二个数量级。3.如权利要求1所述的转译后备缓冲器,其中,该地址转译包含一对存储器地址,其中,该对存储器地址的第一个是一待转译地址,而该对存储器地址的第二个是一转译后地址;其中,对于该些项目其中之一,当该项目的待转译地址符合提供至该转译后备缓冲器的一查找地址,并且,该项目的该区域有效比特向量包含一设定比特,符合提供至该转译后备缓冲器的一查找区域比特向量的一相对应设定比特,该转译后备缓冲器显示命中并提供该项目的该转译后地址;其中,该查找区域比特向量指示关联于产生该查找地址的一进程的一当前地址转译内容。4.如权利要求1所述的转译后备缓冲器,其中,该些x86指令集架构进程内容标识符的不同值用以辨识包含该转译后备缓冲器的一处理器内当前有效的进程内容。5.如权利要求1所述的转译后备缓冲器,其中,当该无效化比特向量的所有比特均为设定时,该逻辑同时无效化各该项目的该区域有效比特向量的所有比特。6.如权利要求1所述的转译后备缓冲器,其中,各该项目还用以保存至少一全域有效比特;其中,该无效化比特向量还包含至少一全域比特,对应于该至少一全域
\t有效比特;其中,当该区域有效比特向量的一个或多个比特为设定时,该地址转译是一有效区域地址转译,而当该至少一全域有效比特中一个或多个比特为设定时,该地址转译是一有效全域地址转译。7.一种操作一转译后备缓冲器的方法,该转译后备缓冲器包含多个项目,其中,各该项目用以保存一地址转译与一区域有效比特向量,其中,该区域有效比特向量的各个比特由一x86指令集架构的进程内容标识符的不同值所映射,该方法包含:接收一无效化比特向量,其比特对应于该多个项目的该区域有效比特向量的比特;以及对于该多个项目中对应有该无效化比特向量的一设定比特的各该项目,同时无效化各该项目的该区域有效比特向量的一比特。8.如权利要求7所述的方法,其中,该区域有效比特向量是N比特,其中N大于1,并且其大小比该些x86指令集架构进程内容标识符的不同值所需的空间小至少二个数量级。9.如权利要求7所述的方法,其中,该地址转译包含一对存储器地址,其中,该对存储器地址的第一个是一待转译地址,而该对存储器地址的第二个是一转译后地址;该方法还包含:对于该些项目其中之一,当该项目的待转译地址符合提供至该转译后备缓冲器的一查找地址,并且,该项目的该区域有效比特向量包含一设定比特,符合提供至该转译后备缓冲器的一查找区域比特向量的一相对应设定比特,该转译后备缓冲器显示命中并提供该项目的该转译后地址;其中,该查找区域比特向量指示关联于产生该查找地址的一进程的一当前地址转译内容。10.如权利要求7所述的方法,其中,该些x86指令集架构进程内容标识符的不同值用以辨识包含该转译...

【专利技术属性】
技术研发人员:柯林艾迪
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:上海;31

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

1