处理系统、控制方法、芯片及计算机可读存储介质技术方案

技术编号:36074561 阅读:14 留言:0更新日期:2022-12-24 10:45
提供了一种处理系统、控制方法、芯片及计算机可读存储介质。该处理系统包括:内存管理单元,用于对内存进行管理;处理器,其上运行有操作系统,处理器用于执行以下操作:生成第一映射数据,第一映射数据用于指示操作系统的第一虚拟地址和内存的第一物理地址之间的映射关系;将第一映射数据存储在缓存中;如果内存管理单元未从缓存中取走第一映射数据,则对缓存进行控制,使得第一映射数据不被替换至内存中。本申请实施例可以避免第一映射数据从缓存被替换至内存,进而避免引起内存管理单元与内存之间的反复访存,有助于减少功耗,提高系统性能。性能。性能。

【技术实现步骤摘要】
处理系统、控制方法、芯片及计算机可读存储介质


[0001]本申请实施例涉及数据存储
,并且更为具体地,涉及一种处理系统、控制方法、芯片及计算机可读存储介质。

技术介绍

[0002]在当前较大规模的片上系统芯片中,操作系统一般都需要基于虚拟地址来管理存储空间,虚拟地址到物理地址的映射关系通常以页表的形式存储在内存中。操作系统使用内存管理单元来负责页表的虚拟地址到物理地址的转换。
[0003]新创建的页表通常会存在于中央处理器的缓存中,内存管理单元如果来不及取走缓存中的页表,则页表可能会被硬件替换到内存中。内存管理单元需要从内存中取页表,从而导致功耗增加、性能损失。

技术实现思路

[0004]本申请实施例提供了一种处理系统、控制方法、芯片及计算机可读存储介质,下面对本申请实施例的各个方面进行介绍。
[0005]第一方面,提供一种处理系统,包括:内存管理单元,用于对内存进行管理;处理器,其上运行有操作系统,所述处理器用于执行以下操作:生成第一映射数据,所述第一映射数据用于指示所述操作系统的第一虚拟地址和所述内存的第一物理地址之间的映射关系;将所述第一映射数据存储在缓存中;如果所述内存管理单元未从所述缓存中取走所述第一映射数据,则对所述缓存进行控制,使得所述第一映射数据不被替换至所述内存中。
[0006]第二方面,提供一种控制方法,包括:生成第一映射数据,所述第一映射数据用于指示操作系统的第一虚拟地址和内存的第一物理地址之间的映射关系;将所述第一映射数据存储在缓存中;如果内存管理单元未从所述缓存中取走所述第一映射数据,则对所述缓存进行控制,使得所述第一映射数据不被替换至所述内存中。
[0007]第三方面,提供一种芯片,包括如第一方面所述的处理系统。
[0008]第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于执行如第二方面所述的控制方法。
[0009]本申请实施例在缓存中创建第一映射数据,在内存管理单元未取走第一映射数据之前,不得将第一映射数据从缓存替换至内存。本申请实施例可以避免第一映射数据从缓存被替换至内存,进而避免引起内存管理单元与内存之间的反复访存,有助于减少内存功耗,提高系统性能。
附图说明
[0010]图1是内存管理单元获取缓存中页表的流程示意图。
[0011]图2是内存管理单元获取内存中页表的流程示意图。
[0012]图3是本申请实施例提供的处理系统的结构示意图。
[0013]图4是图3处理系统的一种可能的实现方式的示意图。
[0014]图5是本申请实施例提供的控制方法的流程示意图。
[0015]图6是图5方法的一种可能的实现方式的流程示意图。
[0016]图7是本申请实施例提供的芯片的结构示意图。
具体实施方式
[0017]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。
[0018]当前在片上系统(system on chip,SOC)芯片中,如果涉及运行较复杂的操作系统,例如安卓、Linux等操作系统,一般都需要操作系统基于虚拟地址来管理存储空间。SOC又称为系统级芯片,是在单个芯片上集成一个完整的系统。所谓完整的系统一般包括中央处理器(central processing unit,CPU)、存储器、以及外围电路等。CPU也称为中央处理单元或微处理器。虚拟地址是需要访问芯片存储空间的访问者(例如中央处理器)所使用的地址,而物理地址是芯片存储空间的真实地址。虚拟地址到物理地址的映射关系通常是以页表的形式存储在内存中。
[0019]内存管理单元(memory management unit,MMU)用于负责页表的虚拟地址与物理地址之间的转换。MMU是一个芯片内部模块,其基本功能就是地址映射,通过地址映射可以实现一个虚拟地址去访问指定的物理地址。
[0020]当应用软件新创建页表时,新的页表通常会存在于CPU的缓存(Cache)或内存中,这时内存管理单元需要从缓存或内存中取走页表。
[0021]存储设备是用于储存信息的设备,位于处理器的片上或片外,并且被配置为检索和存储与物理存储器地址相关联的数据。根据用途的不同通常可以分为内存和外存(辅助存储器),内存(Memory)也称为内存储器、主存储器或主存。内存按工作原理可以分为随机访问存储器(random access memory,RAM)和只读存储器(read only memory,ROM),RAM是其中重要的存储器。存储设备还可以包括缓存(Cache),其包括一个或多个级别的高速缓存存储器。
[0022]缓存是指可以进行高速数据交换的存储器。缓存通常容量比较小,存储CPU更频繁地访问的数据,但速度比内存高得多,先于内存与CPU交换数据,可以显著提高计算机系统的处理速度。缓存的工作原理是当CPU要读取一个数据时,首先从CPU缓存中查找,找到就立即读取并送给CPU处理。如果没有找到,就从速率相对较慢的内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。
[0023]图1是内存管理单元获取缓存中的页表的流程示意图。为便于介绍,以多核处理器系统中的共享缓存为例进行说明。如图1所示,该处理器系统包括CPU110、内存管理单元130和内存140。其中,缓存120位于CPU110中,缓存120为三级缓存,也是多核处理器的共享缓存。内存管理单元130完成页表的虚实地址转换,要完成页表的一个访存指令,正常情况下需要经历以下几个步骤:
[0024]在步骤一,响应应用软件新建页表的指令,在缓存120中新建页表。当软件新创建页表时,新的页表大概率会存在于CPU110的缓存120中。通常缓存中的页表为快表,内存中
management unit,IOMMU)。第一外部设备可以为与处理系统相连的任一外部设备。
[0043]外部设备大致可分为三类:人机交互设备(如打印机,显示器,绘图仪,语言合成器)、计算机信息的存储设备(如磁盘,光盘,磁带)和机

机通信设备(如调制解调器)。
[0044]内存320可以为RAM和ROM等。根据物理地址可以对内存320进行访存操作,如读取数据、写入数据等。
[0045]处理器330用于处理指令,例如接收应用程序的运算指令、新建页表指令,进行处理。处理器330可以为单核处理器,也可以为多核处理器,如四核、八核处理器。
[0046]多核处理器是指在一枚处理器中集成两个或多个完整的计算内核。此时处理器可以支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号。
[0047]缓存340通常存储CPU会频繁访问的数据。缓存340通常位于CPU330中。在一些实施例中,缓存340也可以位于CPU330外。可以在缓存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理系统,其特征在于,包括:内存管理单元,用于对内存进行管理;处理器,其上运行有操作系统,所述处理器用于执行以下操作:生成第一映射数据,所述第一映射数据用于指示所述操作系统的第一虚拟地址和所述内存的第一物理地址之间的映射关系;将所述第一映射数据存储在缓存中;如果所述内存管理单元未从所述缓存中取走所述第一映射数据,则对所述缓存进行控制,使得所述第一映射数据不被替换至所述内存中。2.根据权利要求1所述的处理系统,其特征在于,所述第一映射数据存储在所述缓存的第一缓存行中,所述第一缓存行设有标识信息,所述标识信息用于指示所述第一映射数据是否被所述内存管理单元取走。3.根据权利要求1所述的处理系统,其特征在于,所述处理器还用于执行以下操作:主动触发所述内存管理单元发送从所述缓存中取走所述第一映射数据。4.根据权利要求1

3中任一项所述的处理系统,其特征在于,所述第一映射数据为页表。5.一种控制方法,其特征在于,包括:生成第一映射数据,所述第一映射数据用于...

【专利技术属性】
技术研发人员:刘重力朱凌刚
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

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

1