首页> 中国专利> 基于MPU的内存访问方法、装置、电子设备及存储介质

基于MPU的内存访问方法、装置、电子设备及存储介质

摘要

本发明提供了一种基于MPU的内存访问方法、装置、电子设备及存储介质,内存访问方法包括:根据线程实际所需访问的内存段建立灵活页表,灵活页表中包括若干个灵活页,每个灵活页对应内存池组中的一个内存块,线程所需访问的内存段由一个或多个内存块组成;根据线程实际所需访问的内存段,从灵活页表中获取对应的一个或多个灵活页放到线程的地址空间;建立线程的使用灵活页链表;线程通过获取地址空间中的一个或多个灵活页,并通过使用灵活页链表映射获取到内存池中的对应的内存段,实现对内存段的访问。本发明通过使用灵活页的方式去授予线程匹配的内存空间,可以尽可能避免内存管理错误的触发,从而实现嵌入式系统软件的安全性、可靠性。

著录项

  • 公开/公告号CN114780446A

    专利类型发明专利

  • 公开/公告日2022-07-22

    原文格式PDF

  • 申请/专利权人 四川凝思软件有限公司;

    申请/专利号CN202210437892.6

  • 发明设计人 彭志航;隋平礼;

    申请日2022-04-25

  • 分类号G06F12/02;G06F12/06;G06F9/50;

  • 代理机构

  • 代理人

  • 地址 610021 四川省成都市锦江区工业园区创业产业商务区锦盛路2号13栋8层806号

  • 入库时间 2023-06-19 16:06:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-22

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及嵌入式操作系统技术领域,尤其涉及一种基于MPU的内存访问方法、装置、电子设备及存储介质。

背景技术

当前操作系统中采用的内存管理机制主要分为虚拟内存管理机制和非虚拟内存管理机制。部分嵌入式处理器具有MMU(Memory Management Unit内存管理单元), 操作系统会使用它完成从虚拟地址到物理地址的转换,应用程序只需要使用虚拟地址进行数据寻址。这种使用虚拟地址寻址的方式被称为虚拟内存。虚拟内存的管理方法使系统既可满足程序的运行速度要求,又节省了物理内存空间。

但是,由于虚拟内存机制会导致不确定性的I/O阻塞时间,使得程序运行时间不可预期;另外,出于嵌入式处理器的成本和设计复杂度考虑,很多不具有MMU。因而大多数嵌入式实时操作系统采用的是非虚拟内存管理策略,对于内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。大多数嵌入式实时操作系统对内存空间没有保护,所有进程实际上共享一个运行空间。这样能够提高系统的响应时间,但是程序内存越界或操作不当,容易引起系统崩溃。

在嵌入式多进程系统中,必须确保不同进程之间的操作不会相互干扰,而避免系统资源或是其他进程资源被非法存取的机制被称为保护策略。控制存取系统资源的方法有两种:硬件支持保护与软件保护。硬件支持保护指处理器本身设计时支持相应功能单元MPU(memory protection unit内存保护单元),由软件驱动共同完成系统资源保护工作;软件保护指单纯依靠软件来保护系统资源。在没有MPU的系统中,没有专门保护外围设备和内存的硬件,为了避免不同的进程有相互干扰的情况,必须采用软件协调机制;如果其中某个进程没有遵守存取限制,则很容易导致内存存取越界,协调机制失效。在有MPU的系统中,有专门的检查并限制存取系统资源的硬件MPU,可以保证资源的所有权,进程必须遵守一组由操作系统定义的规则,规则由硬件来实现维护,从硬件登记上授予监管控制资源的特殊权限。受保护的系统可以有效防止一个进程使用到其他进程的资源,硬件支持保护比单纯软件保护的方法更加可靠有效。

ARM Cortex-M7支持的MPU域的大小必须是2的n次幂,如果线程要申请192字节的域,从理论上可以直接申请256字节的MPU域,而线程用不了256字节的MPU域,该线程就占用了过多的空间,且ARM Cortex-M7处理器MPU支持域的最大个数为8或16个,多个线程访问时易产生MemManage Fault故障。

发明内容

本发明提供了一种基于MPU的内存访问方法、装置、电子设备及存储介质,通过MPU实现不同进程之间的隔离。

第一方面,本发明实施例提供了一种基于MPU的内存访问方法,多个MPU域与多个内存池一一对应,所述内存访问方法包括:

根据线程实际所需访问的内存段建立灵活页表,所述灵活页表中包括若干个灵活页,每个灵活页对应内存池组中的一个内存块,线程所需访问的内存段由一个或多个内存块组成;

根据线程实际所需访问的内存段,从所述灵活页表中获取对应的一个或多个灵活页放到所述线程的地址空间;

建立所述线程的使用灵活页链表,用于建立所述线程的地址空间与内存池映射关系;

所述线程通过获取所述地址空间中的一个或多个灵活页,并通过所述使用灵活页链表映射获取到所述内存池中的对应的内存段,实现对所述内存段的访问。

可选地,所述根据线程实际所需访问的内存段建立灵活页表,包括:

为每个线程分配对应的MPU域,并设置相应的属性;

对于每一个MPU域对应的内存池,确定每一个线程需访问内存段;

将每个线程需访问的内存段映射分成若干个灵活页,每个灵活页对应一个内存块,多个内存块刚好组成内存段;

建立灵活页表,映射内存池组中的每一个内存块。

可选地,所述灵活页包括对应内存块的基地址、对应内存块的长度,所述根据线程实际所需访问的内存段,从所述灵活页表中获取对应的一个或多个灵活页放到所述线程的地址空间,包括:

通过某个线程实际所述访问的内存段的基地址和长度,计算得到所述内存段对应的地址区间;

遍历所述灵活页表中每个灵活页的基地址和长度,将位于所述地址区间内的灵活页的基地址和长度存放在所述线程的地址空间。

可选地,所述内存访问方法还包括:

线程工作完毕后,将所述地址空间中的灵活页清除,使得新线程可使用所述线程使用过的内存块。

可选地,若在低优先级线程访问内存池的途中切换高优先级线程工作,所述内存访问方法还包括:

保暂停低优先级线程继续访问内存段A,并保存所述低优先级线程通过灵活页访问内存池中对应内存段A的信息;

高优先级线程通过获取地址空间中的灵活页,通过使用灵活页链表映射访问内存池中内存段B;

其中,若内存段A和内存段B处于同一个内存池,使得高优先级线程访问内存段B不影响低优先级线程后续继续访问内存段A。

可选地,所述内存访问方法还包括:

根据所述线程的所有MPU域对应的多个内存池,从所述灵活页表中获取对应于多个所述内存池的所有灵活页,建立总灵活页链表,用以映射所有域对应的内存池;

根据所述线程的使用的MPU域对应的内存池,从所述灵活页表中获取对应于所述内存池的所有灵活页,建立域灵活页链表,用以映射所述内存池。

可选地,若因线程访问的内存段B超出所述线程的MPU域而导致处理器生成MemMangeFault故障,所述内存访问方法还包括:

若所述内存段B的地址存在于所述线程的总灵活页链表中,则查找对应的灵活页,并更新所述灵活页到所述线程对应的域灵活页链表中,以清除故障。

第二方面,本发明的实施例提供了一种基于MPU的内存访问装置,所述内存访问装置包括:

灵活页创建模块,根据线程实际所需访问的内存段建立灵活页表,所述灵活页表中包括若干个灵活页,每个灵活页对应内存池组中的一个内存块,线程所需访问的内存段由一个或多个内存块组成;

灵活页分配模块,根据线程实际所需访问的内存段,从所述灵活页表中获取对应的一个或多个灵活页放到所述线程的地址空间;建立所述线程的使用灵活页链表,用于建立所述线程的地址空间与内存池映射关系;

线程访问模块,所述线程通过获取所述地址空间中的一个或多个灵活页,并通过所述使用灵活页链表映射获取到所述内存池中的对应的内存段,实现对所述内存段的访问。

第三方面,本发明的实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如第一方面任一项所述的方法。

第四方面,本发明的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。

有益效果

本发明提供了一种基于MPU的内存访问方法、装置、电子设备及存储介质,所述内存访问方法基于MPU实现,内存包括多个内存池,本发明中将多个内存池描述为内存池组,通过多个MPU域与多个内存池一一对应的关系,以及对每个线程的MPU域的属性和权限进设置,来管理线程对相关内存池的访问,以及多个线程访问时线程之间不会相互影响,进而实现对内存的保护。在基于MPU的基础上,本发明根据线程实际所需访问的内存段建立灵活页表,灵活页表中包括若干个灵活页,每个灵活页对应内存池组中的一个内存块,线程所需访问的内存段由一个或多个内存块组成。即,建立灵活页表实现灵活页与内存池组中的内存块的映射关系,线程根据实际所需访问的内存段,从灵活页表中获取对应的一个或多个灵活页放到所述线程的地址空间,建立所述线程的使用灵活页链表,用于建立线程的地址空间与内存池映射关系,其中,所述使用灵活页链表中的所有灵活页对应内存池中线程实际要访问的内存块,通过使用灵活页链表映射的所有的内存块刚好组成线程实际要访问的内存段;而线程要访问内存池中的内存段,则只需要去线程的地址空间中找到对应的灵活页,根据使用灵活页链表映射到对应的内存块,使用灵活页链表中的所有灵活页刚好映射上述线程要访问的内存段,进而实现只将该内存段授权给线程,而内存池中线程实际并不需要的内存段则不授权给线程。本发明通过使用灵活页的方式去授予线程匹配的内存空间,可以尽可能避免内存管理错误的触发,从而实现嵌入式系统软件的安全性、可靠性。

应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。

附图说明

结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素。

图1示出了本发明的实施例的一种基于MPU的内存访问方法的流程图;

图2示出了本发明的实施例的清除MemMangeFault故障的流程图;

图3示出了本发明实施例的一种基于MPU的内存访问装置的结构示意图;

图4示出了本发明实施例的一种电子设备的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。

需要说明的是,本发明实施例描述的仅仅是为了更加清楚的说明本发明实施例的技术方案,并不构成对本发明实施例提供的技术方案的限定。

本实施例图1示出了本发明的实施例的一种基于MPU的内存访问方法的流程图;参见图1,所述内存访问方法包括:

S1.根据线程实际所需访问的内存段建立灵活页表,所述灵活页表中包括若干个灵活页,每个灵活页对应内存池组中的一个内存块,线程所需访问的内存段由一个或多个内存块组成;即灵活页表中根据已有的线程,进行计算,建立灵活页表,实现建立灵活页与内存池组中每一块内存的对应关系,不管是哪个线程,均可通过找到对应的灵活页去找到对应的内存块,且对应任一个线程而言,一个或多个内存段刚好组成线程实际要访问的内存段;

S2.根据线程实际所需访问的内存段,从所述灵活页表中获取对应的一个或多个灵活页放到所述线程的地址空间;其中,某个线程实际所需访问的内存段在线程创建时进行设置,基于通过设置已知内存段的内存地址,从灵活页表中获取到对应该内存段的所有灵活页,放到地址空间中;可为线程绑定需要访问实际访问内存段的灵活页;

S3.建立所述线程的使用灵活页链表,用于建立所述线程的地址空间与内存池映射关系;可通过使用灵活页链表建立放到线程的地址空间中的灵活页与内存池中内存块的映射关系;使得线程可以直接通过找到自己的地址空间中的灵活页去找到对应的内存块;

S4.所述线程通过获取所述地址空间中的一个或多个灵活页,并通过所述使用灵活页链表映射获取到所述内存池中的对应的内存段,实现对所述内存段的访问。例如,若线程实际要访问的内存段为192字节,而该内存段所在在内存池通过MPU域来管理,因而内存池的大小只能跟MPU域对应为2的n次幂字节,若内存池的大小为256字节,本实施例中为了确保内存的合理分配和利用,通过线程获取地址空间中对应的灵活页,若从地址空间中找到对应的两个灵活页,两个灵活页对应的内存块的大小分别为128字节和64字节,这两个内存块刚好组成192字节的内存段,即实际只为线程分配了192字节的内存空间,而不是整个域对应的内存池的大小,极大地减少了系统运行负荷,可以尽可能避免内存管理错误的触发。

本实施例提供了一种基于MPU的内存访问方法,所述内存访问方法基于MPU实现,内存包括多个内存池,本实施例中将多个内存池描述为内存池组,通过多个MPU域与多个内存池一一对应的关系,以及对每个线程的MPU域的属性和权限进设置,来管理线程对相关内存池的访问,以及多个线程访问时线程之间不会相互影响,进而实现对内存的保护。在基于MPU的基础上,本发明根据线程实际所需访问的内存段建立灵活页表,灵活页表中包括若干个灵活页,每个灵活页对应内存池组中的一个内存块,线程所需访问的内存段由一个或多个内存块组成。即,建立灵活页表实现灵活页与内存池组中的内存块的映射关系,线程根据实际所需访问的内存段,从灵活页表中获取对应的一个或多个灵活页放到所述线程的地址空间,建立所述线程的使用灵活页链表,用于建立线程的地址空间与内存池映射关系,其中,所述使用灵活页链表中的所有灵活页对应内存池中线程实际要访问的内存块,通过使用灵活页链表映射的所有的内存块刚好组成线程实际要访问的内存段;而线程要访问内存池中的内存段,则只需要去线程的地址空间中找到对应的灵活页,根据使用灵活页链表映射到对应的内存块,使用灵活页链表中的所有灵活页刚好映射上述线程要访问的内存段,进而实现只将该内存段授权给线程,而内存池中线程实际并不需要的内存段则不授权给线程。本实施例通过使用灵活页的方式去授予线程匹配的内存空间,可以尽可能避免内存管理错误的触发,从而实现嵌入式系统软件的安全性、可靠性。

具体地,所述根据线程实际所需访问的内存段建立灵活页表,包括:

S11.为每个线程分配对应的MPU域,并设置相应的属性;

操作系统对MPU域支持的最大个数取决于处理器的处理支持能力,ARM Cortex-M7处理器MPU将内存映射划分为8个或16个域,每个域映射对应的一个内存池,定义每个域的位置、大小,并在线程绑定MPU域时定义对应域的访问权限和内存属性,指令访问和数据访问具有相同的区域设置。操作系统上下文切换时,会重置当前线程的MPU域对应的访问权限和内存属性。每个线程访问时均会访问绑定于自己的MPU域映射的内存段;

S12.对于每一个MPU域对应的内存池,确定每一个线程需访问内存段;其中,线程所需访问的内存段直接指定,但对于通过MPU进行管理的系统,一般情况下,该线程会直接访问对应的MPU映射的整个内存池;

S13.将每个线程需访问的内存段映射分成若干个灵活页,每个灵活页对应一个内存块,多个内存块刚好组成内存段;使得线程直接通过灵活页映射的方式访问到具体所需的内存段,而不是整个内存池;

S14.建立灵活页表,映射内存池组中的每一个内存块,用于实现灵活页与内存池的映射关系。此时,灵活页表中对应着内存池组中所有的内存块,便于后续线程直接从灵活页表中获取自己所需的灵活页去访问对应的内存段。

具体地,所述灵活页包括对应内存块的基地址、对应内存块的长度,所述根据线程实际所需访问的内存段,从所述灵活页表中获取对应的一个或多个灵活页放到所述线程的地址空间,包括:

S21.通过某个线程实际所述访问的内存段的基地址和长度,计算得到所述内存段对应的地址区间;具体地,基地址为内存段的起始地址,基地址+长度=内存段的终止地址,所述地址区间用[起始地址,终止地址)表示,包含起始地址,不包含终止地址,可避免访问错误。

S22.遍历所述灵活页表中每个灵活页的基地址和长度,将位于所述地址区间内的灵活页的基地址和长度存放在所述线程的地址空间。在访问时,可直接根据灵活页记录的基地址进行判断,判断灵活页的基地址是否处于地址区间即可,因一个或多个灵活页对应的内存块刚好组成内存段,基地址处于地址空间的灵活页,其终止地址也必然处于该地址区间。

具体地,所述内存访问方法还包括:

线程工作完毕后,将所述地址空间中的灵活页清除,使得新线程可使用所述线程使用过的内存块。只要新线程也对应有与该线程相同MPU域对应的内存池即可。

除此之外,线程之间有优先级高低之分,具体通过绑定的MPU域实现,每个线程都有各自的MPU配置,可以达到如下目的:使得线程只能访问分配给自己的栈空间,可以避免因为栈泄露而破坏其他栈;使得线程只能访问有限的外设;使得线程只能访问自己的数据或自己的程序数据。从线程执行的角度来看,两个线程不能同时工作,但受到优先级的影响,高优先级线程会打断低优先级线程的工作,高优先级线程会优先进行工作。

具体地,若在低优先级线程访问内存池的途中切换高优先级线程工作,所述内存访问方法还包括:

暂停低优先级线程继续访问内存段A,并保存所述低优先级线程通过灵活页访问内存池中对应内存段A的信息;具体的,通过ARM Cortex-M7中一个特殊的异常PendSV实现,要触发PendSV,只需要通过设定中断控制状态寄存器(ICSR)中的PENDSVSET位置1,即可将PendSV状态切换到未决状态;

高优先级线程通过获取地址空间中的灵活页,通过使用灵活页链表映射访问内存池中内存段B;

其中,若内存段A和内存段B处于同一个内存池,使得高优先级线程访问内存段B不影响低优先级线程后续继续访问内存段A。

具体地,所述内存访问方法还包括:

根据所述线程的所有MPU域对应的多个内存池,从所述灵活页表中获取对应于多个所述内存池的所有灵活页,建立总灵活页链表,用以映射所有域对应的内存池;

根据所述线程的使用的MPU域对应的内存池,从所述灵活页表中获取对应于所述内存池的所有灵活页,建立域灵活页链表,用以映射所述内存池。

具体地,若因线程访问的内存段B超出所述线程的MPU域而导致处理器生成MemMangeFault故障,所述内存访问方法还包括:

若所述内存段B的地址存在于所述线程的总灵活页链表中,则查找对应的灵活页,并更新所述灵活页到所述线程对应的域灵活页链表中,以清除故障。

具体地,通过内存管理异常处理函数实现,图2示出了本发明的实施例的清除MemMangeFault故障的流程图;如图2所示,内存管理异常处理函数中,根据内存管理故障状态寄存器(MMFSR)相应标志判断错误原因,进行相应处理。如果内存管理故障状态寄存器中MMARVALID为1,则内存管理故障地址寄存器(MMFAR)中存放的故障地址有效。在进行MemMangeFault故障处理时,首先判断内存故障状态寄存器中故障地址有效位是否为1,内存故障状态寄存器中故障地址有效位为1,则查找内存故障地址是否存在于当前线程的总灵活页链表中,查找对应的灵活页,并更新所述灵活页到所述线程对应的域灵活页链表中;若内存故障状态寄存器中故障地址有效位不为1,则判断内存故障状态寄存器中出栈错误有效位是否为1,若内存故障状态寄存器中出栈错误有效位为1,则手动确认程序访问错误地址是否存在于当前线程的全灵活页链表中,查找对应的灵活页,并更新所述灵活页到所述线程对应的域灵活页链表中,若内存故障状态寄存器中出栈错误有效位不为1,则判断内存故障状态寄存器中指令访问冲突标志位是否为1,若内存故障状态寄存器中指令访问冲突标志位为1,则手动确认程序访问错误地址是否存在于当前线程的全灵活页链表中,查找对应的灵活页,并更新所述灵活页到所述线程对应的域灵活页链表中,然后清除内存故障状态寄存器,若内存故障状态寄存器中指令访问冲突标志位不为1,则直接清除内存故障状态寄存器。

具体地,所述内存访问方法还包括:

通过将域划分成子域,通过禁用子域的方式将线程X的域中不用的内存段分配给线程Y使用,以实现内存的有效利用。具体地,256字节或以上的域可被划分为八个大小相等的子域。在MPU域属性和大小寄存器(MPU_RASR)的SRD字段中设置相应位以禁用子域。禁用子域意味着另一个域可与禁用的范围匹配重叠。如果没有其他启用的域与禁用的子域重叠,并且访问权限不受限制或背景域被禁用,则MPU会发出故障。例如,用户线程的域A和内核线程的域B在系统中的基地址相同,域A为1MB,域B为128KB,域B为内核态内核运行区域,不能被用户线程使用。可以把域A分为8个子域,每个子域的大小为128KB;运行于内核线程的域B占用起始的128KB。因为内核线程的域B的优先级高于用户线程的域A的优先级,把域A的域号设为1,域B的域号设为2。要确保域B的属性适用于域A的前128 KB区域,需将域A的SRD字段设置为0b00000001以禁用第一个子域,这样可实现内核线程用原本也属于用户线程的域A中的第一个子域对应的内存。

图3示出了本发明实施例的一种基于MPU的内存访问装置的结构示意图;如图3所示,所述内存访问装置包括:

灵活页创建模块10,根据线程实际所需访问的内存段建立灵活页表,所述灵活页表中包括若干个灵活页,每个灵活页对应内存池组中的一个内存块,线程所需访问的内存段由一个或多个内存块组成;

灵活页分配模块20,根据线程实际所需访问的内存段,从所述灵活页表中获取对应的一个或多个灵活页放到所述线程的地址空间;建立所述线程的使用灵活页链表,用于建立所述线程的地址空间与内存池映射关系;

线程访问模块30,所述线程通过获取所述地址空间中的一个或多个灵活页,并通过所述使用灵活页链表映射获取到所述内存池中的对应的内存段,实现对所述内存段的访问。

本实施例提供了一种基于MPU的内存访问装置,所述内存访问装置的灵活页创建模块根据线程实际所需访问的内存段建立灵活页表,其中灵活页表中包括若干个灵活页,每个灵活页对应内存池组中的一个内存块,线程所需访问的内存段由一个或多个内存块组成;灵活页分配模块中,根据线程实际所需访问的内存段,从所述灵活页表中获取对应的一个或多个灵活页放到所述线程的地址空间,建立所述线程的使用灵活页链表,用于建立所述线程的地址空间与内存池映射关系;线程访问模块中,所述线程通过获取所述地址空间中的一个或多个灵活页,并通过所述使用灵活页链表映射获取到所述内存池中的对应的内存段,实现对所述内存段的访问。本实施例通过使用灵活页的方式去授予线程匹配的内存空间,可以尽可能避免内存管理错误的触发,从而实现嵌入式系统软件的安全性、可靠性。

本发明实施例还提供了一种计算机电子设备,图4示出了可以应用本发明实施例的电子设备的结构示意图,如图4所示,该计算机电子设备包括,中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。

以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括灵活页创建模块10、灵活页分配模块20、线程访问模块30,其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,灵活页创建模块10还可以被描述为“根据线程实际所需访问的内存段建立灵活页表的灵活页创建模块10”。

作为另一方面,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述一种基于MPU的内存访问装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入电子设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明的一种基于MPU的内存访问方法。

以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号