组相连的二级内存管理装置的制造方法

文档序号:8402724阅读:307来源:国知局
组相连的二级内存管理装置的制造方法
【技术领域】
[0001]本发明属于计算机系统中的内存管理装置,尤其涉及一种减小硬件开销并保证性能的二级内存管理装置。
【背景技术】
[0002]现代处理器普遍采用虚拟地址寻址,并使用内存管理装置(Memory ManagementUnit,简称MMU)实现虚拟地址到物理地址的转换。虚拟地址和物理地址被划分成页后,其映射关系被存储在主存储器的页表中。为了减少对主存储器页表的访问,许多内存管理装置采用旁路转换缓冲器(Translat1n Look-aside Buffer,简称TLB)以缓存频繁使用的主存储器页表项。在进行虚拟地址到物理地址的转换时,首先在旁路转换缓冲器中进行查找,如果被请求的页表项存在旁路转换缓冲器中,则发生旁路转换缓冲器命中(TLB Hit),反之则发生旁路转换缓冲器缺失(TLB Miss) ? TLB缺失发生时内存管理装置向主存储器发起请求,读取缺失的页表项并回填到旁路转换缓冲器中。提高旁路转换缓冲器命中率和提高旁路转换缓冲器查找速度,是内存管理装置设计的两个重要目标。
[0003]有些内存管理装置为了提高旁路转换缓冲器命中率,采用全相连(FullAssociative)结构来组织旁路转换缓冲器表项。但是全相连结构的查找需要把被请求的虚拟地址和所有表项进行比较,速度比较慢。因此很多全相连结构采用了内容寻址存储器(Content Addressable Memory,简称CAM)以提高查找速度,但这也提高了全相连结构的设计复杂性和硬件成本。
[0004]有些内存管理装置采用了组相连(Set Associative)结构的旁路转换缓冲器,查找速度优于全相连结构。但是组相连结构的命中率相对较低。为了提升命中率,组相连结构普遍使用了牺牲旁路转换缓冲器(victim TLB,简称vTLB)缓存被踢出的页表项。当发生旁路转换缓冲器缺失时,内存管理装置首先在牺牲旁路转换缓冲器中查找所需要的页表项,如果仍然没有查找到匹配项,再向主存储器页表发起查找请求。
[0005]许多内存管理装置为了进一步提升组相连结构的查找效率,普遍使用了二级结构,包括第一级旁路转换缓冲器(fast TLB,简称fTLB)和第二级旁路转换缓冲器(mainTLB,简称mTLB)。其中第一级旁路转换缓冲器是第二级旁路转换缓冲器的高速缓存。在进行虚拟地址到物理地址的转换时,首先在第一级旁路转换缓冲器中进行查找。当第一级旁路转换缓冲器缺失时,再向第二级旁路转换缓冲器发起查找请求,并将第二级旁路转换缓冲器返回的页表项回填到第一级旁路转换缓冲器中。
[0006]牺牲旁路转换缓冲器和快速旁路转换缓冲器的加入能够提升组相连结构的使用效率。但是导致了内存管理装置的硬件开销比较大。

【发明内容】

[0007]为了克服已有内存管理方式的无法兼顾高性能和硬件开销的不足,本发明提供了一种减少硬件开销的同时保证高性能的组相连的二级内存管理装置。
[0008]本发明解决其技术问题所采用的技术方案是:
[0009]一种组相连的二级内存管理装置,包括:
[0010]第一级旁路转换缓冲单元(fTLB),包含M个表项的页面映射关系,采用全相连结构,用于对输入的虚拟地址A进行地址转换与合法性检查,输出命中信息、物理地址与合法性信息;
[0011]第二级旁路转换缓冲单元(mTLB),包含N个表项的页面映射关系,N>M,N、M为整数,采用多路组相连结构,用于接收第一级旁路转换缓冲单元的命中信息,并对虚拟地址A进行地址转换与合法性检查,输出命中信息、物理地址与合法性信息,
[0012]所述第一级旁路转换缓冲单元包括P个旁路转换缓冲器,P = I时,第一级旁路转换缓冲单元包含一个旁路缓冲器,同时为指令访问地址与数据访问地址提供地址转换;P = 2时,第一级旁路转换缓冲单元包含两个旁路转换缓冲器,记为第一级指令旁路缓冲器和第一级数据旁路缓冲器,分别为指令访问地址与数据访问地址提供地址转换,并且,第一级指令旁路缓冲器的表项数和第一级数据旁路缓冲器的表项数不相同;
[0013]所述第二级旁路转换缓冲单元包括Q个旁路转换缓冲器,Q = I时,第二级旁路转换缓冲单元包含一个旁路缓冲器,同时为指令访问地址与数据访问地址提供地址转换,该缓冲器的组相连度大于等于2 ;Q = 2时,第二级旁路转换缓冲单元包含两个旁路转换缓冲器,记为第二级指令旁路缓冲器和第二级数据旁路缓冲器,分别为指令访问地址与数据访问地址提供地址转换,并且,第二级指令旁路缓冲器的表项数和第二级数据旁路缓冲器的表项数可以不相同,并且,第二级指令旁路缓冲器的组相连度和第二级数据旁路缓冲器的组相连度均大于等于2 ;
[0014]所述内存管理装置还包括:
[0015]页面映射缺失处理单元,用于接收第二级旁路转换缓冲单元的命中信息,输出页面映射缺失请求;
[0016]回填控制单元,用于接收页面映射缺失处理单元的页面映射缺失请求,并采用软件处理或者硬件处理的方式,将缺失的页面映射关系表项回填到第一级和第二级旁路转换缓冲单元中。
[0017]进一步,所述回填控制单元中,对第一级旁路转换缓冲单元的回填操作独立于,或者受控于对第二级旁路转换缓冲单元的回填操作。
[0018]再进一步,所述回填控制单元在回填时,如果第二级旁路转换缓冲器中被覆盖的页表项同时存在于第一级旁路转换缓冲器中,第一级中的该表项将予以保留。
[0019]更进一步,所述页面映射缺失处理单元中,在输出页面映射缺失请求时,采用软件处理的方式,触发异常,请求软件异常服务程序处理。
[0020]或者是:所述页面映射缺失处理单元中,在输出页面映射缺失请求时,采用硬件处理的方式,请求回填控制单元,以硬件方式加载缺失的页表项并回填到第一级和第二级旁路转换缓冲单元,并且,采用硬件方式处理页面缺失请求时,二级内存管理装置进一步包括页面映射关系访问单元,用于接受页面映射缺失处理单元的页面映射缺失请求,计算产生访问地址,从外部存储器的页表中加载缺失的页面映射关系。
[0021]所述内存管理装置还包括页面映射关系访问单元,所述页面映射缺失处理单元与所述页面映射关系访问单元连接,所述页面映射关系访问单元与所述回填控制单元连接。
[0022]优选的,所述第一级旁路转换缓冲单元中,P = 2时,第一级指令旁路缓冲器的表项数和第一级数据旁路缓冲器的表项数不相同。也可以相同。
[0023]所述第二级旁路转换缓冲单元中,Q = 2时,第二级指令旁路缓冲器的组相连度和第二级数据旁路缓冲器的组相连度相同。也可以不相同。
[0024]本发明的有益效果主要表现在:减少硬件开销的同时保证高性能。
【附图说明】
[0025]图1为所述内存管理装置的较佳实施实例的整体结构框图。
[0026]图2为页面号和页内偏移在虚拟地址和物理地址内的关系。
[0027]图3为第一级旁路转换缓冲单元的一种结构框图。
[0028]图4为第一级旁路转换缓冲单元的一种表项组织结构。
[0029]图5为索引号和标签号在虚拟地址页面号内的关系。
[0030]图6为第二级旁路转换缓冲单元的一种表
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1