【技术实现步骤摘要】
输入输出存储器管理单元和具有该单元的电子设备
[0001]相关申请的交叉引用
[0002]本申请基于2022年5月24日在韩国知识产权局提交的第10
‑
2022
‑
0063752号韩国专利申请并要求其优先权,该韩国专利申请的公开内容通过引用整体结合于此。
[0003]本公开的实施例涉及一种输入输出存储器管理单元(input output memory management unit,IOMMU),更具体地,涉及一种通过对其中每个包括相同页面的请求进行分组来支持未命中下命中(hit
‑
under
‑
miss)和未命中下未命中(miss
‑
under
‑
miss)的IOMMU以及具有该IOMMU的设备。
技术介绍
[0004]存储器管理单元(memory management unit,MMU)与中央处理器(central processing unit,CPU)相关联。MMU被配置为将CPU所使用的虚拟地 ...
【技术保护点】
【技术特征摘要】
1.一种输入输出存储器管理单元(IOMMU),包括:第一存储器设备,包括转译后备缓冲器(TLB);第二存储器设备,包括转译组表;多个转译请求控制器,其中,所述多个转译请求控制器中的每一个被配置为执行地址转译操作;以及分配控制器,被配置为:接收包括第一页表标识符(ID)、第一虚拟页号和第一页偏移的第一请求;通过使用第一页表ID和所述第一虚拟页号来查找TLB;基于发生针对所述第一请求的TLB未命中,通过使用所述第一页表ID和所述第一虚拟页号来查找所述转译组表;以及基于发生针对所述第一请求的转译组表未命中,分配所述多个转译请求控制器当中的第一转译请求控制器。2.根据权利要求1所述的IOMMU,其中,基于发生针对所述第一请求的转译组表未命中,所述分配控制器被配置为将所述第一页表ID和所述第一虚拟页号存储在所述转译组表的第一条目中,并且更新所述第一条目中包括的尾指针。3.根据权利要求2所述的IOMMU,还包括:第三存储器设备,包括多个子请求队列,其中,所述分配控制器被配置为将所述第一页表ID、所述第一虚拟页号和所述第一页偏移存储在所述多个子请求队列当中的第一子请求队列中。4.根据权利要求3所述的IOMMU,其中,基于发生针对所述第一请求的转译组表未命中,所述分配控制器被配置为向所述第一转译请求控制器发送所述第一页表ID、所述第一虚拟页号和所述第一页偏移。5.根据权利要求4所述的IOMMU,其中,所述第一转译请求控制器被配置为:通过使用所述第一页表ID和所述第一虚拟页号从外部存储器设备获得与所述第一虚拟页号相对应的第一物理页号;将所述第一页表ID、所述第一虚拟页号和所述第一物理页号存储在所述TLB中;以及在生成包括所述第一物理页号和所述第一页偏移的第一物理地址并将所述第一物理地址发送到所述外部存储器设备之后,更新所述第一条目中包括的头指针。6.根据权利要求5所述的IOMMU,其中,所述分配控制器被配置为:接收包括第二页表ID、第二虚拟页号和第二页偏移的第二请求;通过使用所述第二页表ID和所述第二虚拟页号来查找所述TLB;基于发生针对所述第二请求的TLB命中,分配所述多个转译请求控制器当中的第二转译请求控制器;以及将所述第二页表ID、所述第二虚拟页号和所述第二页偏移发送到所述第二转译请求控制器,并且其中,所述第二转译请求控制器被配置为:从所述TLB接收与所述第二虚拟页号匹配的第二物理页号;以及生成包括所述第二物理页号和所述第二页偏移的第二物理地址,并且将所述第二物理地址发送到所述外部存储器设备。
7.根据权利要求3所述的IOMMU,其中,所述分配控制器被配置为:接收包括所述第一页表ID、所述第一虚拟页号和第二页偏移的第二请求;通过使用所述第二请求中包括的所述第一页表ID和所述第一虚拟页号来查找所述TLB;基于发生针对所述第二请求的TLB未命中,通过使用所述第二请求中包括的所述第一页表ID和所述第一虚拟页号来查找所述转译组表;以及基于发生针对所述第二请求的转译组表命中,再次更新所述第一条目中包括的尾指针。8.根据权利要求7所述的IOMMU,其中,所述分配控制器被配置为将所述第一页表ID、所述第一虚拟页号和所述第二页偏移存储在所述第一子请求队列中。9.根据权利要求8所述的IOMMU,其中,所述第一转译请求控制器被配置为:接收从所述第一子请求队列输出的所述第一页表ID、所述第一虚拟页号和所述第二页偏移;通过使用从所述第一子请求队列输出的所述第一页表ID和所述第一虚拟页号来查找所述TLB;从所述TLB接收与所述第一虚拟页号匹配的第一物理页号;以及在生成包括所述第一物理页号和所述第二页偏移的第二物理地址并将所述第二物理地址发送到外部存储器设备之后,更新所述第一条目中包括的头指针。10.根据权利要求3所述的IOMMU,其中,所述分配控制器被配置为:接收包括第二页表ID、第二虚拟页号和第二页偏移的第二请求;通过使用所述第二请求中包括的所述第二页表ID和所述第二虚拟页号来查找所述TLB;以及基于发生针对所述第二请求的TLB未命中,通过使用所述第二页表ID和所述第二虚拟页号来查找所述转译组表,并且基于发生针对所述第二请求的转译组表未命中,分配所述多个转译请求控制器当中的第二转译请求控制器。11.根据权利要求10所述的IOMMU,其中,基于发生针对所述第二请求的转译组表未命中,所述分配控制器被配置为将所述第二页表ID和所述第二虚拟页号存储在所述转译组表的第二条目中,并且更新所述第二条目中包括的尾指针,以及其中,所述分配控制器被配置为将所述第二页表ID、所述第二虚拟页号和所述第二页偏移存储在所述多个子请求队列当中的第二子请求队列中。12.根据权利要求11所述的IOMMU,其中,基于发生针对所述第二请求的转译组表未命中,所述分配控制器被配置为将所述第二页表ID、所述第二虚拟页号和所述第二页偏移发送到所述第二转译请求控制器,并且其中,所述第二转译请求控制器被配置为:通过使用所述第二页表ID和所述第二虚拟页号从外部存储器设备获得与所述第二虚拟页号相对应的第二物理页号;将所述第二页表ID、所述第二虚拟页号和所述第二物理页号存储在所述TLB中;以及在将包括所述第二物理页号和所述第二页偏移的第二物理地址发送到所述外部存储器设备之后,更新所述第二条目中包括的头指针。
13.一种片上系统(SoC),包括:第一半导体知识产权(IP);至少一个第二半导体IP;存储器设备,被配置为存储与第一页表ID相对应的第一页表;以及输入输出存储器管理单元(IOMMU),连接到所述第一半导体IP、所述至少一个第二半导体IP和所述存储器设备,其中,所述IOMMU包括:第一存储器设备,包括转译后备缓冲器(TLB);第二存储器设备,包括转译组表;第三存储器设备,包括多个子请求队列;多个转译请求控制器,其中,所述多个转译请求控制器中的每一个被配置为将虚拟地址转译成物理地址;以及分配控制器,并且其中,所述分...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。