【技术实现步骤摘要】
内存管理单元和内存管理方法
[0001]本申请涉及计算机系统
,具体涉及一种内存管理单元和内存管理方法。
技术介绍
[0002]内存管理单元MMU(Memory Management Unit)是现代芯片中必不可少的一个单元,服务于CPU、GPU等处理器。通过对虚拟内存的管理,使得处理器可以使用比实际的物理内存更多的存储空间。
[0003]当处理器需要去内存中获取指令或者数据的时候,会发出一个虚拟地址,虚拟地址不需要与实际硬件的物理地址完全一致,而是通过MMU将虚拟地址映射到对应的物理地址,最终通过此映射后的物理地址,处理器可以获得指令和数据。
[0004]为了加快MMU的转换速率,虚拟地址与物理地址对应表的一部分通常保存在一块单独的高速缓存中,通常称为转换旁路缓冲器TLB(Translation Lookaside Buffer)。当TLB中查找不到需要转换的虚拟地址时,会去内存中查找虚拟地址与物理地址总的对应表。当多进程同时并发运行在实际物理内存空间中时,MMU充当了一个至关重要的虚拟内存到物理内存的桥梁作用。目前操作系统均使用分页机制来对内存进行管理。所谓分页机制是指虚拟内存空间以及物理内存空间都使用固定大小的分区进行映射管理。从应用程序(进程)角度看内存是连续的0至N的分页的虚拟地址空间。若虚拟地址与物理地址的映射表采用三级表的话,则将一个虚拟地址转化成物理地址需要三次查询,会有较大开销。当进程中有非常多的地址转换需求时,MMU会成为芯片性能提升的一个瓶颈点。具体而言,当多个TLB查询失 ...
【技术保护点】
【技术特征摘要】
1.一种用于处理器的内存管理单元,包括转换控制单元,其特征在于,所述转换控制单元包括:PTE缓存,用于缓存虚拟地址与物理地址之间的映射关系,所述PTE缓存包括多个PTE缓存库;PTE仲裁模块,用于根据地址转换请求中的虚拟地址,将每个转换请求分配给所述多个PTE缓存库中的一个PTE缓存库,其中,所述转换控制单元被配置为并行地在所述多个PTE缓存库中对分配的地址转换请求进行查找,若命中,则获得对应的物理地址。2.根据权利要求1所述的内存管理单元,其特征在于,所述PTE缓存包括四个PTE缓存库,所述PTE仲裁模块用于根据地址转换请求中的虚拟地址中第一预设位置的2比特的值,将每个转换请求分配给所述四个PTE缓存库中的一个PTE缓存库。3.根据权利要求1所述的内存管理单元,其特征在于,所述PTE仲裁模块包括对应于每个PTE缓存库的FIFO缓存,用于缓存分配的地址转换请求。4.根据权利要求1所述的内存管理单元,其特征在于,所述转换控制单元还包括:PMD缓存,用于缓存虚拟地址与PTE页表的基地址的映射关系,所述PMD缓存包括多个PMD缓存库;PMD仲裁模块,用于在PTE缓存库进行的查找未命中的情况下,根据地址转换请求中的虚拟地址,将每个转换请求分配给所述多个PMD缓存库中的一个PMD缓存库,其中,所述转换控制单元还被配置为并行地在所述多个PMD缓存库中对分配的地址转换请求进行查找,若命中,则获得相应的PTE页表的基地址,并根据地址转换请求的虚拟地址中的PTE页表的index以及PTE页表的基地址从外部存储器中获得对应的物理地址。5.根据权利要求4所述的内存管理单元,其特征在于,所述PMD缓存包括四个PMD缓存库,所述PMD仲裁模块用于根据地址转换请求中的虚拟地址中第二预设位置的2比特的值,将每个转换请求分配给所述四个PMD缓存库中的一个PMD缓存库。6.根据权利要求4所述的内存管理单元,其特征在于,所述PMD仲裁模块包括对应于每个PMD缓存库的FIFO缓存,用于缓存分配的地址转换请求。7.根据权利要求4所述的内存管理单元,其特征在于,所述转换控制单元还包括:PUD缓存,用于缓存虚拟地址与PMD页表的基地址的映射关系,所述PUD缓存包括多个PUD缓存库;PUD仲裁模块,用于在PMD缓存库进行的查找未命中的情况下,根据地址转换请求中的虚拟地址,将每个转换请求分配给所述多个PUD缓存库中的一个PUD缓存库,其中,所述转换控制单元还被配置为并行地在所述多个PUD缓存库中对分配的地址转换请求进行查找,若命中,则获得相应的PMD页表的基地址,并根据地址转换请求的虚拟地址中的PMD页表的index以及PMD页表的基地址从外部存储器中获得对应的PTE页表的基地址,然后根据地址转换请求的虚拟地址中的PTE页表的index以及PTE页表的基地址从外部存储器获得对应的物理地址。8.根据权利要求7所述的内存管理单元,其特征在于,所述PUD缓存包括两个PUD缓存库,所述PUD仲裁模块用于根据地址转换请求中的虚拟地址中第三预设位置的1比特的值,将每个转换请求分配给所述两个PUD缓存库中的一个PUD缓存库。
9.根据权利要求7所述的内存管理单元,其特征在于,所述PUD仲裁模块包括对应于每个PUD缓存库的FIFO缓存,用于缓存分配的地址转换请求。10.根据权利要求7所述的内存管理单元,其特征在于,所述转换控制单元还包括:PGD缓存,用于缓存虚拟地址与PUD页表的基地址的映射关系,所述PGD缓存包括多个PGD缓存库;PGD仲裁模块,用于在PMD缓存库进行的查找未命中的情况下,根据地址转换请求中的虚拟地址,将每个转换请求分配给所述多个PGD缓存库中的一个PGD缓存库,其中,所述转换控制单元还被配置为并行地在所述多个PGD缓存库中对分配的地址转换请求进行查找,若命中,则获得相应的PUD页表的基地址,并根据地址转换请求的虚拟地址中的PUD页表的index以及PUD页表的基地址从外...
【专利技术属性】
技术研发人员:姜涛,王恬恬,
申请(专利权)人:瀚博半导体上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。