[发明专利]用于进程切换的旁路转换缓冲器(TLB)及在其中地址匹配的方法有效
申请号: | 201210068696.2 | 申请日: | 2012-03-15 |
公开(公告)号: | CN102662860A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 李楠;王忠海;肖佐楠;郑茳 | 申请(专利权)人: | 天津国芯科技有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 天津滨海科纬知识产权代理有限公司 12211 | 代理人: | 杨慧玲 |
地址: | 300457 天津市滨海新区经济技术*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 进程 切换 旁路 转换 缓冲器 tlb 其中 地址 匹配 方法 | ||
技术领域
本发明属于计算机存储领域,尤其是有标记阵列和数据阵列的TLB及在此种TLB中地址匹配的方法。
背景技术
现代的微处理器系统大都使用虚拟地址(VA)寻址,使用虚拟地址技术可以创建比实际物理地址(PA)大的多的寻址空间。大多数使用虚拟存储器的系统都使用一种称为分页(paging)机制。虚拟地址空间划分成称为页(page)的单位,而相应的物理地址空间也被进行划分。而在使用了虚拟存储器的情况下,虚拟地址不是被直接送到内存地址总线上,而是送到内存管理单元(MMU),把虚拟地址映射为物理地址。包含有虚拟地址到实际物理地址映射关系的信息通常被放在一个被称作页表的数据结构中。页表通常是放在系统主存储器中,因此对页表的访问带来了大量的主存储器的访问开销。为了减少对主存储器的访问次数,许多处理器系统使用一个叫旁路转换缓冲器(TLB)的高速缓存,TLB存储了处理器最近访问内存的虚拟地址和物理地址。在进行虚拟地址到物理地址转换时,内存管理单元首先搜索TLB,如果请求的虚拟地址到物理地址的映射关系缓存在TLB中,发生TLB命中(TLB Hit),则直接取出其物理地址,如果没有,发生TLB缺失(TLB Miss),再访问主存储器中的页表,并更新TLB。
如何避免TLB频繁出现TLB Miss和提高TLB查找操作时的速度是TLB设计时两个重要的考虑因素。避免TLB频繁出现TLB Miss要求页表在TLB中缓存时要均匀地分布,这样就减少了TLB替换的可能性,从而减少了TLB Miss的几率。为了追求TLB最均匀分布,有些TLB设计采用全相联(Full Associative)结构,TLB中每一条目都可以缓存任意一条虚拟页映射信息。但是这样在TLB查找操作时需要大量的时间,因为要遍历TLB的每一个条目和虚拟地址相关信息比较。为了减少TLB时间,有些设计又采用了可寻址存储器(CAM)设计,这样又极大增加了设计的复杂性和硬件开销。如今多进程已经逐渐成为系统应用的主流,在多进程应用场景中,每个进程都有独立的虚拟地址空间。同时现代处理器往往支持多种尺寸的页,如4KB,16KB,64KB,1MB,256MB,1GB等。因此在多进程,多种页尺寸下,在TLB中缓存页表时,均匀分布性问题必须要充分考虑,否则会频繁的发生TLB替换从而导致TLB Miss,导致系统性能下降特别是进程切换时间变长。
发明内容
考虑到上述TLB设计中的问题,本发明提供了一种用于快速进程切换的TLB设计方法,非常适合于追求硬件成本和进程切换速度的应用。
根据本发明的第一方面:提供一种用于进程切换的旁路转换缓冲器(TLB),所述的TLB存储包括标记阵列(Tag Array)和数据阵列(Data Array)每一个虚拟页映射信息都缓存在地址相同的Tag Array和Data Array的一个条目中。
进一步地,在所述的用于进程切换的旁路转换缓冲器(TLB)中,所述的标记阵列条目存储包括虚拟页号(VPN)、有效位(V)、页尺寸(PSize)、进程号(PID)。所述的数据阵列(Data Array)条目存储包括物理页号(PPN)和页属性(PAttr)。
进一步地,所述的TLB还包括与哈希(Hash)变换电路连接的搜索优先级寄存器和与标记阵列(Tag Array)相连接的比较逻辑电路。
根据本发明的另一方面:一种采用快速进程切换的旁路转换缓冲器进行有效地址匹配的方法,其中所述有效地址包括虚拟地址页偏移量和物理地址页号,所述的TLB存储包括(Tag Array)和数据阵列(Data Array)每一个虚拟页映射信息都缓存在地址相同的Tag Array和Data Array的一个条目中。
包括以下步骤:
1.通过处理器内部特殊寄存器总线对搜索优先级寄存器进行配置根据进程设定搜索页面尺寸的优先级。
2.哈希(Hash)变换电路根据虚拟地址页号和进程号进行散列变换。
3.采用比较逻辑将内存管理单元输入的虚拟地址页号和进程号和当前使用的搜索优先级寄存器的页尺寸与标记阵列输出的条目信息进行比较。
进一步地,所述的比较逻辑用于比较虚拟地址页号和标记阵列输出的条目信息是否相等的比较包括以下比较内容:
(1)虚拟地址页号和标记阵列输出的条目信息的VPN是否相等。
(2)进程号与标记阵列输出的条目信息的PID是否相等。
(3)当前遍历的页尺寸与标记阵列输出的条目信息的Psize。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津国芯科技有限公司,未经天津国芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210068696.2/2.html,转载请声明来源钻瓜专利网。