一种系统内存管理装置和系统内存管理方法制造方法及图纸

技术编号:20025473 阅读:50 留言:0更新日期:2019-01-06 04:25
本发明专利技术公开了一种系统内存管理装置和系统内存管理方法,包括一转译控制单元、若干转译缓冲单元、一仲裁单元和一比对判断单元,其中转译缓冲单元用于存储各主设备的物理地址及TAG表存储阵列,接收主设备的读写请求及转译控制单元的页表查找结果或页表项对应的转译查找表入口无效请求,获取其中的要比对的信息并发送至比对判断单元,产生标签比对请求并发送至仲裁单元;仲裁单元用于对标签比对请求进行存储并排序;比对判断单元用于提取最优先的标签比对请求,获取对应的要比对的信息和TAG表存储阵列进行比对,产生比对结果并发送至转译缓冲单元。本发明专利技术通过让若干TBU共用一个比较判断单元,有效节省了芯片的设计面积,为整个SOC节省了成本。

【技术实现步骤摘要】
一种系统内存管理装置和系统内存管理方法
本专利技术涉及通信及微电子
,尤其涉及一种系统内存管理装置和系统内存管理方法。
技术介绍
在ARM存储系统中,使用内存管理单元(MemoryManagementUnit,MMU)实现虚拟地址到实际物理地址的映射。通过虚拟地址技术,应用程序可认为自身拥有连续的可用的内存(一个连续完整的地址空间),而实际上,应用程序通常被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换,这样使得大型程序的编写变得更容易,对真正的物理内存(例如RAM)的使用也更有效率。随着电子设备存储空间的飞速发展,现有的片上系统(SystemOnChip,SOC)层级的系统内存管理单元(SystemMemoryManagementUnit,SMMU)已使得系统中虚拟地址转化为物理地址的效率显著提升。如图1所示,现有ARM公司的SMMU设计框架主要包括两个主要部分,即转译缓冲单元(TranslationBufferUnit,TBU)和转译控制单元(TranslationControlUnit,TCU)。TBU主要包括TAG表存储阵列(也可以称为转译查找表TranslationLookasideBuffer,TLB),负责虚拟地址往物理地址的快速转化。TLB中每一行都保存着一个由单个PTE(PageTableEntry,页表项)组成的块,如果能够从TLB页表项中获取虚拟地址及其对应的物理地址,称为TLB命中(TLBHit),反之称为TLB失败(TLBMiss)。TCU包括页表查找(PageTableWalk,PTW)功能、SMMU的控制寄存器和对应的编程接口、二级TLB等,负责TLB不命中时查页表和各种控制。通常,TCU只有一个,TBU可以有多个,不同的主设备(MasterDevice)可以连接在不同TBU的上游,每个TBU中的TLB能反映该MasterDevice近期常访问的地址。而由于要求TBU能实现单个时钟周期(Cycle)内命中TLB,所以TBU里含有大量的比对逻辑,从逻辑综合(DesignCompiler,DC)后的结果看,芯片面积因此有很大的增加,即现有的提高地址转化的效率的方法是以增大SMMU所占的面积作为代价的。如果减少TBU的数量或缩小单个TBU内一级TLB的页表项数目来节省面积,又会影响地址转化效率。对于越来越复杂的SOC系统设计,如何既能花费更低的面积成本,又能高效地管理复杂的地址空间分配,已成为内存管理技术的重要研究方向。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种系统内存管理装置和系统内存管理方法,能够有效节省芯片的设计面积。为了达到本专利技术目的,本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供了一种系统内存管理装置,包括一个转译控制单元、若干转译缓冲单元、一仲裁单元和一比对判断单元,其中:转译控制单元,用于进行二级转译查找表的查找或全局页表查找,产生页表查找结果并发送至转译缓冲单元,或当页表项无效时,产生页表项对应的转译查找表入口无效请求并发送至转译缓冲单元;转译缓冲单元,包含用于存储和自身相连的各个主设备的常用物理地址的标签表存储阵列,并接收来自主设备的读写请求以及来自转译控制单元的页表查找结果或页表项对应的转译查找表入口无效请求,获取读写请求、页表查找结果或页表项对应的转译查找表入口无效请求中的要比对的信息并发送至比对判断单元,产生与要比对的信息对应的标签比对请求并发送至仲裁单元;仲裁单元,用于接收标签比对请求,对标签比对请求进行存储并排序,将最优先的标签比对请求发送至比对判断单元;比对判断单元,用于接收最优先的标签比对请求,获取最优先的标签比对请求对应的要比对的信息及对应的标签表存储阵列,将要比对的信息和对应的标签表存储阵列进行比对,产生比对结果并发送至转译缓冲单元。进一步地,所述转译缓冲单元包括分离设置的主模块和标签存储模块,其中,主模块,用于存储各个主设备的常用物理地址,接收来自主设备的读写请求以及来自转译控制单元的页表查找结果或转译查找表入口无效请求,分别获取读写请求、页表查找结果或页表项对应的转译查找表入口无效请求中的要比对的信息并发送至比对判断单元,产生与要比对的信息对应的标签比对请求并发送至仲裁单元;标签存储模块,用于存储与常用物理地址对应的标签表存储阵列。进一步地,所述比对判断单元包括一号多路选择器、二号多路选择器和比对模块,其中:所述仲裁单元具体用于,对标签比对请求进行存储并排列优先级,将优先级最高的标签比对请求对应的转译缓冲单元的标识发送至一号多路选择器和二号多路选择器的选择控制端;将所述若干转译缓冲单元的标签表存储阵列输入所述一号多路选择器的数据输入端,将所述若干转译缓冲单元的要比对的信息输入所述二号多路选择器的数据输入端,将所述一号多路选择器和二号多路选择器的数据输出端均连接至比对模块;所述比对模块,用于对一号多路选择器和二号多路选择器的数据输出结果进行比对,将比对结果发送至所述转译缓冲单元。进一步地,所述比对判断单元包括相互独立的第一比对模块和第二比对模块,其中,所述仲裁单元,具体用于接收所述由主设备的读写请求产生的标签比对请求,标记为第一类标签比对请求,对第一类标签比对请求进行存储并排序;接收所述由转译控制单元的页表查找结果返回转译查找表或页表项对应的转译查找表入口无效请求产生的标签比对请求,标记为第二类标签比对请求,对第二类标签比对请求进行存储并排序;第一比对模块,用于提取所述仲裁单元中的最优先的第一类标签比对请求,获取与最优先的第一类标签比对请求对应的要比对的信息和最优先的第一类标签比对请求所属的转译缓冲单元的标签表存储阵列进行比对,产生比对结果并发送至所述转译缓冲单元;第二比对模块,用于提取所述仲裁单元中的最优先的第二类标签比对请求,获取与最优先的第二类标签比对请求对应的要比对的信息和最优先的第二类标签比对请求所属的转译缓冲单元的标签表存储阵列进行比对,产生比对结果并发送至所述转译缓冲单元。进一步地,所述仲裁单元对标签比对请求进行存储并排序时,由转译控制单元的页表项对应的转译查找表入口无效请求产生的标签比对请求,由转译控制单元的页表查找结果返回转译查找表产生的标签比对请求,以及由主设备的读写请求产生的标签比对请求,其优先级顺序由高到低排列。进一步地,对于所述由转译控制单元的页表项对应的转译查找表入口无效请求或页表查找结果返回转译查找表产生的标签比对请求,所述仲裁单元按照先来后到的次序进行存储并排序。进一步地,对于同时到来的由转译控制单元的页表项对应的转译查找表入口无效请求或页表查找结果返回转译查找表产生的标签比对请求,所述仲裁单元根据所述标签比对请求最初来源的转译缓冲单元的优先级进行存储并排序。进一步地,对于所述由主设备的读写请求产生的标签比对请求,所述仲裁单元按照预先指定的各个主设备的优先级顺序,或者根据主设备正在读写的传输数进行存储并排序,主设备正在读写的传输数越少,排序的优先级越高。本专利技术实施例还提供了一种系统内存管理方法,包括:系统内存管理装置中的转译缓冲单元接收来自主设备的读写请求以及来自转译控制单元的页表查找结果或页表项对应的转译查找表入口无效请求,获取读写请求、页表查本文档来自技高网
...

【技术保护点】
1.一种系统内存管理装置,其特征在于,包括一转译控制单元、若干转译缓冲单元、一仲裁单元和一比对判断单元,其中:转译控制单元,用于进行二级转译查找表的查找或全局页表查找,产生页表查找结果并发送至转译缓冲单元,或当页表项无效时,产生页表项对应的转译查找表入口无效请求并发送至转译缓冲单元;转译缓冲单元,包含用于存储和自身相连的各个主设备的常用物理地址的标签表存储阵列,并接收来自主设备的读写请求以及来自转译控制单元的页表查找结果或页表项对应的转译查找表入口无效请求,获取读写请求、页表查找结果或页表项对应的转译查找表入口无效请求中的要比对的信息并发送至比对判断单元,产生与要比对的信息对应的标签比对请求并发送至仲裁单元;仲裁单元,用于接收标签比对请求,对标签比对请求进行存储并排序,将最优先的标签比对请求发送至比对判断单元;比对判断单元,用于接收最优先的标签比对请求,获取最优先的标签比对请求对应的要比对的信息及对应的标签表存储阵列,将要比对的信息和对应的标签表存储阵列进行比对,产生比对结果并发送至转译缓冲单元。

【技术特征摘要】
1.一种系统内存管理装置,其特征在于,包括一转译控制单元、若干转译缓冲单元、一仲裁单元和一比对判断单元,其中:转译控制单元,用于进行二级转译查找表的查找或全局页表查找,产生页表查找结果并发送至转译缓冲单元,或当页表项无效时,产生页表项对应的转译查找表入口无效请求并发送至转译缓冲单元;转译缓冲单元,包含用于存储和自身相连的各个主设备的常用物理地址的标签表存储阵列,并接收来自主设备的读写请求以及来自转译控制单元的页表查找结果或页表项对应的转译查找表入口无效请求,获取读写请求、页表查找结果或页表项对应的转译查找表入口无效请求中的要比对的信息并发送至比对判断单元,产生与要比对的信息对应的标签比对请求并发送至仲裁单元;仲裁单元,用于接收标签比对请求,对标签比对请求进行存储并排序,将最优先的标签比对请求发送至比对判断单元;比对判断单元,用于接收最优先的标签比对请求,获取最优先的标签比对请求对应的要比对的信息及对应的标签表存储阵列,将要比对的信息和对应的标签表存储阵列进行比对,产生比对结果并发送至转译缓冲单元。2.根据权利要求1所述的系统内存管理装置,其特征在于,所述转译缓冲单元包括分离设置的主模块和标签存储模块,其中,主模块,用于存储各个主设备的常用物理地址,接收来自主设备的读写请求以及来自转译控制单元的页表查找结果或转译查找表入口无效请求,分别获取读写请求、页表查找结果或页表项对应的转译查找表入口无效请求中的要比对的信息并发送至比对判断单元,产生与要比对的信息对应的标签比对请求并发送至仲裁单元;标签存储模块,用于存储与常用物理地址对应的标签表存储阵列。3.根据权利要求1所述的系统内存管理装置,其特征在于,所述比对判断单元包括一号多路选择器、二号多路选择器和比对模块,其中:所述仲裁单元具体用于,对标签比对请求进行存储并排列优先级,将优先级最高的标签比对请求对应的转译缓冲单元的标识发送至一号多路选择器和二号多路选择器的选择控制端;将所述若干转译缓冲单元的标签表存储阵列输入所述一号多路选择器的数据输入端,将所述若干转译缓冲单元的要比对的信息输入所述二号多路选择器的数据输入端,将所述一号多路选择器和二号多路选择器的数据输出端均连接至比对模块;所述比对模块,用于对一号多路选择器和二号多路选择器的数据输出结果进行比对,将比对结果发送至所述转译缓冲单元。4.根据权利要求1所述的系统内存管理装置,其特征在于,所述比对判断单元包括相互独立的第一比对模块和第二比对模块,其中,所述仲裁单元,具体用于接收所述由主设备的读写请求产生的标签比对请求,标记为第一类标签比对请求,对第一类标签比对请求进行存储并排序;接收所述由转译控制单元的页表查找结果返回转译查找表或页表项对应的转译查找表入口无效请求产生的标签比对请求,标记为第二类标签...

【专利技术属性】
技术研发人员:陈治
申请(专利权)人:深圳市中兴微电子技术有限公司
类型:发明
国别省市:广东,44

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

1