CN107025180B - 内存管理方法和装置 - Google Patents

内存管理方法和装置 Download PDF

Info

Publication number
CN107025180B
CN107025180B CN201610069540.4A CN201610069540A CN107025180B CN 107025180 B CN107025180 B CN 107025180B CN 201610069540 A CN201610069540 A CN 201610069540A CN 107025180 B CN107025180 B CN 107025180B
Authority
CN
China
Prior art keywords
memory
address
virtual
physical address
tlb
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610069540.4A
Other languages
English (en)
Other versions
CN107025180A (zh
Inventor
王洪虎
高翔
周学智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201610069540.4A priority Critical patent/CN107025180B/zh
Publication of CN107025180A publication Critical patent/CN107025180A/zh
Application granted granted Critical
Publication of CN107025180B publication Critical patent/CN107025180B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种内存管理方法和装置,其中,内存管理方法包括:将无互锁流水线级的微处理器MIPS架构中大于内存映射起始地址的第一预设大小的内存的地址信息添加到虚拟物理地址映射表中;将所述MIPS架构中小于所述内存映射起始地址的第二预设大小的内存的地址信息添加到至少一个传输后备缓冲器TLB表项中;将所述第一预设大小的内存与所述第二预设大小的内存构成操作系统的内存池。本发明提供的内存管理方法,可以增大MIPS架构下vxWorks操作系统的内存寻址范围。

Description

内存管理方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存管理方法和装置。
背景技术
vxWorks操作系统是美国风河公司设计开发的一种嵌入式实时操作系统,是嵌入式开发环境的关键组成部分,应用广泛。其中,基于无互锁流水线级的微处理器(MillionInstructions Per Second,简称MIPS)架构的vxWorks操作系统,通常关联实时处理(realtime process,简称RTP)组件,RTP组件使得应用程序相互独立,互不影响,增加了内核的稳定性。
vxWorks操作系统通过内存管理单元(Memory Management Unit,简称MMU)管理内存,由于vxWorks操作系统关联了RTP组件,所以,vxWorks操作系统在sysPhysMemDesc表中只能添加大于内存映射起始地址LOCAL_MEM_LOCAL_ADRS之上的内存作为vxWorks操作系统的内存池,其中,sysPhysMemDesc表存储有内存的虚拟地址和物理地址的映射关系。vxWorks操作系统添加MMU之后,LOCAL_MEM_LOCAL_ADRS的默认值为0xc0000000,由于vxWorks操作系统中C编译语言只能使用32位地址,限制了在0xc0000000之上虚拟地址最大为1G,即,vxWorks操作系统最大只能实现1G的内存寻址。
然而,32位地址的最大寻址范围可以达到4G,现有的vxWorks操作系统的内存构成方式,极大地限制了vxWorks操作系统的内存寻址范围。
发明内容
本发明提供一种内存管理方法和装置,可以增大MIPS架构下vxWorks操作系统的内存寻址范围。
本发明提供的内存管理方法,包括:
将无互锁流水线级的微处理器MIPS架构中大于内存映射起始地址的第一预设大小的内存的地址信息添加到虚拟物理地址映射表中;其中,所述地址信息包括内存的虚拟地址和物理地址之间的映射关系;
将所述MIPS架构中小于所述内存映射起始地址的第二预设大小的内存的地址信息添加到至少一个传输后备缓冲器TLB表项中;
将所述第一预设大小的内存与所述第二预设大小的内存构成操作系统的内存池。
本发明提供的内存管理装置,包括:
第一内存添加模块,用于将无互锁流水线级的微处理器MIPS架构中大于内存映射起始地址的第一预设大小的内存的地址信息添加到虚拟物理地址映射表中;其中,所述地址信息包括内存的虚拟地址和物理地址之间的映射关系;
第二内存添加模块,用于将所述MIPS架构中小于所述内存映射起始地址的第二预设大小的内存的地址信息添加到至少一个传输后备缓冲器TLB表项中;
内存管理模块,用于将所述第一预设大小的内存与所述第二预设大小的内存构成操作系统的内存池。
本发明提供一种内存管理方法和装置,其中,内存管理方法包括:将MIPS架构中大于内存映射起始地址的第一预设大小的内存的地址信息添加到虚拟物理地址映射表中,将MIPS架构中小于所述内存映射起始地址的第二预设大小的内存的地址信息添加到至少一个TLB表项中,将所述第一预设大小的内存与所述第二预设大小的内存构成操作系统的内存池。本发明提供的内存管理方法,通过将虚拟物理地址映射表和TLB表相结合,使得vxWorks操作系统的内存池也包括了小于内存映射起始地址的内存,增大了MIPS架构下vxWorks操作系统的内存寻址范围。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的内存管理方法的流程图;
图2为本发明实施例二提供的内存管理方法的流程图;
图3为本发明实施例一提供的内存管理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的内存管理方法和装置,主要是基于MIPS架构的vxWorks操作系统实现的,本发明实施例提供的内存管理方法和装置,均以基于MIPS架构的vxWorks操作系统的内存管理为例进行说明。
图1为本发明实施例一提供的内存管理方法的流程图。如图1所示,本实施例提供的内存管理方法,可以包括:
步骤101、将MIPS架构中大于内存映射起始地址的第一预设大小的内存的地址信息添加到虚拟物理地址映射表中。
其中,地址信息包括内存的虚拟地址和物理地址之间的映射关系。
在本步骤中,内存映射起始地址用LOCAL_MEM_LOCAL_ADRS表示,目前,vxWorks操作系统添加MMU之后,LOCAL_MEM_LOCAL_ADRS默认设置为0xc0000000,当然也可以是MIPS架构设置的其他值。vxWorks操作系统中虚拟物理地址映射表用sysPhysMemDesc表示,vxWorks操作系统关联RTP组件,sysPhysMemDesc只能存储LOCAL_MEM_LOCAL_ADRS之上的内存的虚拟地址和物理地址之间的映射关系,以使vxWorks操作系统初始化sysPhysMemDesc表时,可以建立虚拟地址和物理地址的映射关系。
其中,大于内存映射起始地址的第一预设大小的内存可以是虚拟地址连续的内存,也可以是虚拟地址不连续的内存,本实施例对此不加以限制。
可选的,第一预设大小可以为1G。
需要说明的是,本实施例对于vxWorks操作系统中的虚拟物理地址映射表sysPhysMemDesc的具体结构不加以限制。下面给出了一种具体的实现方式,在sysPhysMemDesc表中可以添加虚拟地址物理地址的映射关系以及内存大小。
Figure BDA0000919517690000041
可选的,虚拟物理地址映射表可以包括至少一个子表项,每个子表项均存储有地址信息。相对应的,第一预设大小的内存可以分割成与各个子表项相对应的大小,每个子表项存储有相应大小的内存的地址信息。其中,各个子表项的大小可以相同,也可以不同,本实施例对此不加以限制。
可选的,大于内存映射起始地址的第一预设大小的内存的地址信息也可以同时添加到传输后备缓冲器(Translation Lookaside Buffer,简称TLB)表项中,但是由于TLB表项的大小和数量受MIPS架构的限制,当TLB表项不足时,可以在TLB表项中仅存储第一预设大小的内存的地址信息中的部分信息。将大于内存映射起始地址的第一预设大小的内存的地址信息添加到TLB表项中,可以提升地址信息的读取速度。
步骤103、将MIPS架构中小于内存映射起始地址的第二预设大小的内存的地址信息添加到至少一个TLB表项中。
其中,小于内存映射起始地址的第二预设大小的内存可以是虚拟地址连续的内存,也可以是虚拟地址不连续的内存,本实施例对此不加以限制。
其中,TLB表项的大小和数量根据MIPS架构的设置值确定,例如:TLB表项可以为128页,每个TLB表项的大小可以为16M,则所有TLB表项的大小共计为2G,即,所有TLB表项共计可以存储2G大小内存的虚拟地址和物理地址之间的映射关系。
需要说明的是,本步骤具体可以通过MIPS架构或者vxWorks操作系统中的库函数实现,也可以通过自定义函数实现,本实施例对此不加以限制。下面给出了一种具体的实现方式,vxWorks操作系统中MMU在初始化的时候,通过库函数mmuMipsPteSet和函数mmuMipsTlbWiredEntrySet,实现将小于内存映射起始地址的第二预设大小的内存的地址信息添加到至少一个TLB表项中,其中,编译语言采用C语言实现。
mmuMipsPteSet(&pte,/*page table entry,TLB表项的结构体描述*/
(PHYS_ADDR)paddr,/*物理地址*/
(VIRT_ADDR)vaddr,/*虚拟地址*/
attributes,/*属性*/
TRUE,/*global,TLB的标志位*/
pageSize,/*页大小*/
NULL);
mmuMipsTlbWiredEntrySet((UINT32)vaddr,&pte);
可选的,本步骤的一种实现方式可以是:
根据第二预设大小和TLB表项的大小计算出所需的TLB表项的数量。
将第二预设大小的内存按照TLB表项的大小进行分段,将各分段内存的地址信息添加到各TLB表项中。
例如:第二预设大小为1G,每项TLB表项为16M,则存储1G内存的地址信息共需要1G/16M=64项TLB表项,将1G内存按照16M进行分段,共分为64段,然后将64个分段内存的地址信息分别添加到64项TLB表项中。
步骤105、将第一预设大小的内存与第二预设大小的内存构成操作系统的内存池。
在本步骤中,vxWorks系统的内存池由两部分构成,分别为大于内存映射起始地址的第一预设大小的内存和小于内存映射起始地址的第二预设大小的内存,由于vxWorks系统的内存池也包括了小于内存映射起始地址的内存,相比于现有技术,通过设置第一预设大小与第二预设大小,通过虚拟物理地址映射表与TLB表相结合,可以使得vxWorks操作系统实现大内存,大大增大了MIPS架构下vxWorks操作系统的内存寻址范围。例如:将大于内存映射起始地址的1G内存的地址信息存储在虚拟物理地址映射表sysPhysMemDesc中,将小于内存映射起始地址的1G内存的地址信息存储在64个TLB表项中,则vxWorks操作系统可以实现2G的寻址范围。
需要说明的是,第一预设大小和第二预设大小根据需要进行设置,本实施例对此不具体限制。
需要说明的是,将第二预设大小的内存构成操作系统的内存池,具体可以通过MIPS架构或者vxWorks操作系统中的库函数实现,也可以通过自定义函数实现,本实施例对此不加以限制。下面给出了一种具体的实现方式,通过vxWorks操作系统的库函数memAddToPool,将第二预设大小的内存添加到vxWorks操作系统的内存池中。
memAddToPool(0x20000000,/*虚拟地址*/
0x20000000);/*内存大小*/
本实施例提供了一种内存管理方法,包括:将MIPS架构中大于内存映射起始地址的第一预设大小的内存的地址信息添加到虚拟物理地址映射表中,将MIPS架构中小于内存映射起始地址的第二预设大小的内存的地址信息添加到至少一个TLB表项中,将第一预设大小的内存与第二预设大小的内存构成操作系统的内存池。本实施例提供的内存管理方法,通过将虚拟物理地址映射表和TLB表相结合,使得vxWorks操作系统的内存池也包括了小于内存映射起始地址的内存,增大了MIPS架构下vxWorks操作系统的内存寻址范围。
图2为本发明实施例二提供的内存管理方法的流程图。如图2所示,本实施例提供的内存管理方法,在步骤105之后,还可以包括:
步骤107、当驱动调用内存池中的内存时,执行虚拟地址物理地址转换函数获得驱动调用的内存的物理地址或者虚拟地址。
在本步骤中,当驱动需要使用vxWorks操作系统的内存池中的内存时,通过执行虚拟地址物理地址转换函数获知具体准确的物理地址或者虚拟地址。其中,虚拟地址物理地址转换函数实现了内存的虚拟地址和物理地址之间的转换。由于vxWorks操作系统实现了大内存,因而驱动可以使用的内存增大,扩大了vxWorks操作系统的应用范围。
可选的,虚拟地址物理地址转换函数包括:虚拟地址到物理地址转换函数或者物理地址到虚拟地址转换函数。
执行虚拟地址物理地址转换函数获得驱动调用的内存的物理地址或者虚拟地址,可以包括:
根据虚拟地址到物理地址转换函数的第一输入参数,查询虚拟物理地址映射表以及所有TLB表项,获得第一输入参数对应的物理地址;或者,根据物理地址到虚拟地址转换函数的第二输入参数,查询虚拟物理地址映射表以及所有TLB表项,获得第二输入参数对应的虚拟地址。
其中,第一输入参数表示驱动调用的内存的起始虚拟地址,第二输入参数表示驱动调用的内存的起始物理地址。
需要说明的是,虚拟地址到物理地址转换函数或者物理地址到虚拟地址转换函数,具体可以通过MIPS架构或者vxWorks操作系统中的库函数实现,也可以通过自定义函数实现,本实施例对此不加以限制。下面给出了一种具体的实现方式。其中,虚拟地址到物理地址转换函数具体如下:
Figure BDA0000919517690000071
Figure BDA0000919517690000081
其中,在上述示例的函数中,均是先查询sysPhysMemDesc表中的地址转换,再查询TLB表中的地址转换。需要说明的是,本实施例对于在虚拟物理地址映射表以及所有TLB表项中查询地址信息,并不限定各个表的查询顺序。
本实施例提供了一种内存管理方法,通过将虚拟物理地址映射表和TLB表相结合,增大了MIPS架构下vxWorks操作系统的内存寻址范围,扩大了vxWorks操作系统的应用范围。
图3为本发明实施例一提供的内存管理装置的结构示意图。如图3所示,本实施例提供的内存管理装置,用以执行图1或图2所示实施例提供的内存管理方法,可以包括:第一内存添加模块11、第二内存添加模块13和内存管理模块15。
第一内存添加模块11,用于将MIPS架构中大于内存映射起始地址的第一预设大小的内存的地址信息添加到虚拟物理地址映射表中。其中,地址信息包括内存的虚拟地址和物理地址之间的映射关系。
第二内存添加模块13,用于将MIPS架构中小于内存映射起始地址的第二预设大小的内存的地址信息添加到至少一个TLB表项中。
内存管理模块15,用于将第一预设大小的内存与第二预设大小的内存构成操作系统的内存池。
可选的,虚拟物理地址映射表包括至少一个子表项,子表项存储有地址信息。
可选的,第二内存添加模块13具体用于:
根据第二预设大小和TLB表项的大小计算出所需的TLB表项的数量。
将第二预设大小的内存按照TLB表项的大小进行分段,将各分段内存的地址信息添加到各TLB表项中。
可选的,还可以包括:内存调用模块17。
内存调用模块17,用于当驱动调用内存池中的内存时,执行虚拟地址物理地址转换函数获得驱动调用的内存的物理地址或者虚拟地址。
可选的,虚拟地址物理地址转换函数包括:虚拟地址到物理地址转换函数或者物理地址到虚拟地址转换函数。
内存调用模块17具体用于:
根据虚拟地址到物理地址转换函数的第一输入参数,查询虚拟物理地址映射表以及所有TLB表项,获得第一输入参数对应的物理地址;或者,根据物理地址到虚拟地址转换函数的第二输入参数,查询虚拟物理地址映射表以及所有TLB表项,获得第二输入参数对应的虚拟地址。
需要说明的是,第一内存添加模块11、第二内存添加模块13、内存管理模块15和内存调用模块17,具体可以通过MIPS架构或者vxWorks操作系统中的库函数实现,也可以通过自定义函数实现,本实施例对此不加以限制。
本实施例提供了一种内存管理装置,包括:第一内存添加模块、第二内存添加模块和内存管理模块。本实施例提供的内存管理装置,通过将虚拟物理地址映射表和TLB表相结合,使得vxWorks操作系统的内存池也包括了小于内存映射起始地址的内存,增大了MIPS架构下vxWorks操作系统的内存寻址范围。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种内存管理方法,其特征在于,应用于VxWorks操作系统,该方法包括:
将无互锁流水线级的微处理器MIPS架构中大于内存映射起始地址的第一预设大小的内存的地址信息添加到虚拟物理地址映射表中;其中,所述地址信息包括内存的虚拟地址和物理地址之间的映射关系;
将所述MIPS架构中小于所述内存映射起始地址的第二预设大小的内存的地址信息添加到至少一个传输后备缓冲器TLB表项中;
将所述第一预设大小的内存与所述第二预设大小的内存构成操作系统的内存池。
2.根据权利要求1所述的方法,其特征在于,还包括:当驱动调用所述内存池中的内存时,执行虚拟地址物理地址转换函数获得所述驱动调用的内存的物理地址或者虚拟地址。
3.根据权利要求2所述的方法,其特征在于,所述虚拟地址物理地址转换函数包括:虚拟地址到物理地址转换函数或者物理地址到虚拟地址转换函数;
所述执行虚拟地址物理地址转换函数获得所述驱动调用的内存的物理地址或者虚拟地址,包括:
根据所述虚拟地址到物理地址转换函数的第一输入参数,查询所述虚拟物理地址映射表以及所有所述TLB表项,获得所述第一输入参数对应的物理地址;
或者,
根据所述物理地址到虚拟地址转换函数的第二输入参数,查询所述虚拟物理地址映射表以及所有所述TLB表项,获得所述第二输入参数对应的虚拟地址。
4.根据权利要求1至3任一所述的方法,其特征在于,所述将所述MIPS架构中小于所述内存映射起始地址的第二预设大小的内存的地址信息添加到至少一个TLB表项中,包括:
根据所述第二预设大小和所述TLB表项的大小计算出所需的TLB表项的数量;
将所述第二预设大小的内存按照所述TLB表项的大小进行分段,将各分段内存的所述地址信息添加到各TLB表项中。
5.根据权利要求1至3任一所述的方法,其特征在于,所述虚拟物理地址映射表包括至少一个子表项,所述子表项存储有所述地址信息。
6.一种内存管理装置,其特征在于,应用于VxWorks操作系统,包括:
第一内存添加模块,用于将无互锁流水线级的微处理器MIPS架构中大于内存映射起始地址的第一预设大小的内存的地址信息添加到虚拟物理地址映射表中;其中,所述地址信息包括内存的虚拟地址和物理地址之间的映射关系;
第二内存添加模块,用于将所述MIPS架构中小于所述内存映射起始地址的第二预设大小的内存的地址信息添加到至少一个传输后备缓冲器TLB表项中;
内存管理模块,用于将所述第一预设大小的内存与所述第二预设大小的内存构成操作系统的内存池。
7.根据权利要求6所述的装置,其特征在于,还包括:内存调用模块;
所述内存调用模块,用于当驱动调用所述内存池中的内存时,执行虚拟地址物理地址转换函数获得所述驱动调用的内存的物理地址或者虚拟地址。
8.根据权利要求7所述的装置,其特征在于,所述虚拟地址物理地址转换函数包括:虚拟地址到物理地址转换函数或者物理地址到虚拟地址转换函数;
所述内存调用模块具体用于:
根据所述虚拟地址到物理地址转换函数的第一输入参数,查询所述虚拟物理地址映射表以及所有所述TLB表项,获得所述第一输入参数对应的物理地址;
或者,
根据所述物理地址到虚拟地址转换函数的第二输入参数,查询所述虚拟物理地址映射表以及所有所述TLB表项,获得所述第二输入参数对应的虚拟地址。
9.根据权利要求6至8任一所述的装置,其特征在于,所述第二内存添加模块具体用于:
根据所述第二预设大小和所述TLB表项的大小计算出所需的TLB表项的数量;
将所述第二预设大小的内存按照所述TLB表项的大小进行分段,将各分段内存的所述地址信息添加到各TLB表项中。
10.根据权利要求6至8任一所述的装置,其特征在于,所述虚拟物理地址映射表包括至少一个子表项,所述子表项存储有所述地址信息。
CN201610069540.4A 2016-02-01 2016-02-01 内存管理方法和装置 Active CN107025180B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610069540.4A CN107025180B (zh) 2016-02-01 2016-02-01 内存管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610069540.4A CN107025180B (zh) 2016-02-01 2016-02-01 内存管理方法和装置

Publications (2)

Publication Number Publication Date
CN107025180A CN107025180A (zh) 2017-08-08
CN107025180B true CN107025180B (zh) 2020-03-13

Family

ID=59524900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610069540.4A Active CN107025180B (zh) 2016-02-01 2016-02-01 内存管理方法和装置

Country Status (1)

Country Link
CN (1) CN107025180B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861888B (zh) * 2017-11-08 2020-03-24 郑州云海信息技术有限公司 Fpga卡用ddr的方法、系统、装置及可读存储介质
CN110209603B (zh) * 2019-05-31 2021-08-31 龙芯中科技术股份有限公司 地址转换方法、装置、设备及计算机可读存储介质
CN117331861B (zh) * 2023-11-28 2024-03-22 珠海星云智联科技有限公司 直接内存映射方法、装置、设备、集群以及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567217A (zh) * 2012-01-04 2012-07-11 北京航空航天大学 一种面向mips平台的内存虚拟化方法
CN102662869A (zh) * 2012-04-01 2012-09-12 龙芯中科技术有限公司 虚拟机中的内存访问方法和装置及查找器
CN102929796A (zh) * 2012-06-01 2013-02-13 杭州中天微系统有限公司 同时支持软件回填与硬件回填的内存管理模块
CN103116556A (zh) * 2013-03-11 2013-05-22 无锡江南计算技术研究所 内存静态划分虚拟化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012025793A1 (en) * 2010-08-26 2012-03-01 Freescale Semiconductor, Inc. Memory management unit for a microprocessor system, microprocessor system and method for managing memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567217A (zh) * 2012-01-04 2012-07-11 北京航空航天大学 一种面向mips平台的内存虚拟化方法
CN102662869A (zh) * 2012-04-01 2012-09-12 龙芯中科技术有限公司 虚拟机中的内存访问方法和装置及查找器
CN102929796A (zh) * 2012-06-01 2013-02-13 杭州中天微系统有限公司 同时支持软件回填与硬件回填的内存管理模块
CN103116556A (zh) * 2013-03-11 2013-05-22 无锡江南计算技术研究所 内存静态划分虚拟化方法

Also Published As

Publication number Publication date
CN107025180A (zh) 2017-08-08

Similar Documents

Publication Publication Date Title
EP2591420B1 (en) System and method to manage a translation lookaside buffer
US8151085B2 (en) Method for address translation in virtual machines
US10191853B2 (en) Apparatus and method for maintaining address translation data within an address translation cache
US20130297901A1 (en) Memory protection circuit, processing unit, and memory protection method
US20100115228A1 (en) Unified address space architecture
US20070239960A1 (en) Data processor and IP module for data processor
US9146879B1 (en) Virtual memory management for real-time embedded devices
US9208102B2 (en) Overlap checking for a translation lookaside buffer (TLB)
CN107025180B (zh) 内存管理方法和装置
US12079140B2 (en) Reducing translation lookaside buffer searches for splintered pages
US9990305B2 (en) Memory management component having multiple memory management modules and method therefor
CN107533513B (zh) 突发转换后备缓冲器
KR100895715B1 (ko) 메모리 관리 유닛, 메모리 관리 유닛을 포함하는 시스템 및어드레스 변환 방법
US4811206A (en) Data processing system with overlapped address translation and address computation
CN114546898A (zh) 一种tlb管理方法、装置、设备及存储介质
US20200192818A1 (en) Translation lookaside buffer cache marker scheme for emulating single-cycle page table entry invalidation
US9483412B2 (en) Method and apparatus for reformatting page table entries for cache storage
WO2018077219A1 (zh) 内存管理方法及系统
US20170046274A1 (en) Efficient utilization of memory gaps
JP2013140546A (ja) メモリ管理装置
US9892055B2 (en) Embedded device and memory management method thereof
US20050066147A1 (en) System and method for performing address translation in a computer system
US20160320972A1 (en) Adaptive compression-based paging
CN116932428A (zh) 用于内存管理单元的透传数据的方法以及内存管理单元
US20070143573A1 (en) Data processing apparatus and method using translation table emulation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd.

CP01 Change in the name or title of a patent holder