CN110389911A - 一种设备内存管理单元的预取方法、装置及系统 - Google Patents
一种设备内存管理单元的预取方法、装置及系统 Download PDFInfo
- Publication number
- CN110389911A CN110389911A CN201810365984.1A CN201810365984A CN110389911A CN 110389911 A CN110389911 A CN 110389911A CN 201810365984 A CN201810365984 A CN 201810365984A CN 110389911 A CN110389911 A CN 110389911A
- Authority
- CN
- China
- Prior art keywords
- virtual address
- page table
- class
- memory
- class virtual
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1056—Simplification
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
本发明公开了一种设备内存管理单元的预取方法、装置及系统,该方法包括:获取设备发出的第一类虚拟地址;根据第一类虚拟地址,确定第二类虚拟地址,其中,第二类虚拟地址为:与第一类虚拟地址对应的页表邻近的预取页表的虚拟地址;根据第二类虚拟地址,向内存发送读取预取页表的请求。本发明通过获取设备访问内存行为,计算出将来可能会被使用的页表,提前从内存中取到并装载到TLB中去,当相应的页表真正被使用时无需再从内存中读取,提高了IOMMU的工作效率,且原理简单方便实现。
Description
技术领域
本发明涉及处理器领域,特别是涉及一种设备内存管理单元(IOMMU,Input/Output(Device)Memory Management Unit)的预取方法、装置及系统。
背景技术
IOMMU用于将显示引擎(Display engine)、视频编解码,图像信号处理(ISP,ImageSignal Processing)等设备发出的访问内存命令里的虚拟地址(VA,Virtual Address)映射成实际物理地址(Physical Address),提高内存的使用效率。为提高IOMMU的工作效率和性能,常通过预取机制将后面可能要使用的页表预先取回,提升查找映射查找表(TLB,Translation Lookaside Buffer)时的命中率,减少完成地址映射的延迟,提升性能,但是类似中央处理器(CPU,Central Processing Unit)的内存管理单元(MMU,MemoryManagement Unit)的预取机制很多是基于命令来进行驱动(Dommand Driven),不适合在IOMMU中使用。另外目前针对IOMMU的一些预取机制实现较为复杂,很难被广泛应用。
发明内容
本发明提供一种设备内存管理单元的预取方法、装置及系统,用以解决现有技术的如下问题:现有技术中MMU的预取机制不适用于IOMMU,针对IOMMU的一些预取机制实现较为复杂,很难被广泛应用。
为解决上述技术问题,一方面,本发明提供一种设备内存管理单元的预取方法,包括:获取设备发出的第一类虚拟地址;根据所述第一类虚拟地址,确定第二类虚拟地址,其中,所述第二类虚拟地址为:与所述第一类虚拟地址对应的页表邻近的预取页表的虚拟地址;根据所述第二类虚拟地址,向内存发送读取所述预取页表的请求。
进一步,根据所述第一类虚拟地址,确定第二类虚拟地址,包括:根据所述设备的类型和使用场景,确定预取范围;根据所述预取范围和所述第一类虚拟地址,确定所述第二类虚拟地址。
进一步,确定第二类虚拟地址之后,还包括:将所述第二类虚拟地址缓存至循环缓冲器中。
进一步,将所述第二类虚拟地址缓存至循环缓冲器中,包括:判断所述循环缓冲器是否存在空闲位置;在所述循环缓冲器存在空闲位置的情况下,将所述第二类虚拟地址缓存至所述空闲位置;在所述循环缓冲器不存在空闲位置的情况下,将所述第二类虚拟地址覆盖至所述循环缓冲器中缓存时间最早的记录。
进一步,根据所述第二类虚拟地址,从内存中获取所述预取页表之前,还包括:检测所述循环缓冲器中是否存在与所述第二类虚拟地址相同的记录;在所述循环缓冲器中不存在与所述第二类虚拟地址相同的记录的情况下,根据所述第二类虚拟地址,从内存中获取所述预取页表。
进一步,从内存中获取所述预取页表之后,还包括:将所述预取页表保存至映射查找表TLB。
另一方面,本发明还提供一种设备内存管理单元的预取装置,包括:获取模块,用于获取设备发出的第一类虚拟地址;确定模块,用于根据所述第一类虚拟地址,确定第二类虚拟地址,其中,所述第二类虚拟地址为:与所述第一类虚拟地址对应的页表邻近的预取页表的虚拟地址;预取模块,用于根据所述第二类虚拟地址,向内存发送读取所述预取页表的请求。
进一步,所述确定模块,具体用于:根据所述设备的类型和使用场景,确定预取范围;根据所述预取范围和所述第一类虚拟地址,确定所述第二类虚拟地址。
进一步,还包括:缓存模块,用于将所述第二类虚拟地址缓存至循环缓冲器中。
进一步,所述缓存模块,包括:判断单元,用于判断所述循环缓冲器是否存在空闲位置;缓存单元,用于在所述循环缓冲器存在空闲位置的情况下,将所述第二类虚拟地址缓存至所述空闲位置;所述缓存单元,还用于在所述循环缓冲器不存在空闲位置的情况下,将所述第二类虚拟地址覆盖至所述循环缓冲器中缓存时间最早的记录。
进一步,还包括:检测模块,用于检测所述循环缓冲器中是否存在与所述第二类虚拟地址相同的记录;所述预取模块,还用于在所述循环缓冲器中不存在与所述第二类虚拟地址相同的记录的情况下,根据所述第二类虚拟地址,从内存中获取所述预取页表。
进一步,还包括:保存模块,用于将所述预取页表保存至映射查找表TLB。
另一方面,本发明还提供一种设备内存管理单元的预取系统,应用于分布式多级设备内存管理单元架构中,包括上述的设备内存管理单元的预取装置,其中,所述获取模块和确定模块分别与所述分布式多级设备内存管理单元架构中的每个本地地址映射单元连接,并且与共享TLB连接。
本发明通过获取设备访问内存行为,计算出将来可能会被使用的页表,提前从内存中取到并装载到TLB中去,当相应的页表真正被使用时无需再从内存中读取,提高了IOMMU的工作效率,且原理简单方便实现。
附图说明
图1是本发明第一实施例中设备内存管理单元的预取方法流程图;
图2是本发明第一实施例中IOMMU的工作示意图;
图3是本发明第二实施例中设备内存管理单元的预取装置结构示意图;
图4是本发明第二实施例中另一种设备内存管理单元的预取装置结构示意图;
图5是本发明第二实施例中缓存模块的结构示意图;
图6是本发明第三实施例中设备内存管理单元的预取系统示意图。
具体实施方式
为了解决现有技术的如下问题:现有技术中MMU的预取机制不适用于IOMMU,一些针对IOMMU的预取机制实现较为复杂,很难广泛应用,本发明提供了一种设备内存管理单元的预取方法、装置及系统,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明的第一实施例提供了一种设备内存管理单元的预取方法,其流程图如图1所示,具体包括步骤S101至S104:
S101,获取设备发出的第一类虚拟地址;
S102,根据第一类虚拟地址,确定第二类虚拟地址,其中,第二类虚拟地址为:与第一类虚拟地址对应的页表邻近的预取页表的虚拟地址;
S103,根据第二类虚拟地址,向内存发送读取预取页表的请求。
当设备,比如ISP、图形处理器(GPU,Graphics Processing Unit)、显示引擎,编解码引擎等发出访问内存的命令时,会利用IOMMU并将命令里的虚拟地址映射为物理地址。为了提高效率,一般IOMMU会放置一个映射查找表TLB,用来缓存最近使用过的页表,类似高速缓冲存储器(cache)的作用。当IOMMU收到带有虚拟地址的命令后,首先会去TLB中查找对应的页表是否存在,在查询结果为命中(hit)时,利用页表完成虚拟地址到物理地址的映射,在查询结果未命中(miss)时,则往下一级发出返回页表的请求,比如从内存读取对应的页表。
对于视频图像类的设备,它们在访问内存时发出的虚拟地址在上下文里有很强的关联性,比如地址按一定规律递增,这样当前虚拟地址对应页表的相邻下一个或多个页表,将来有较高的概率会被使用。因此,本实施例在获取到设备发出的第一类虚拟地址时,会首先根据第一类虚拟地址确定第二类虚拟地址,其中,第一类虚拟地址是设备在需要访问内存时发出的虚拟地址,第二类虚拟地址是与第一类虚拟地址对应的页表邻近的预取页表的虚拟地址,即第二类虚拟地址与第一类虚拟地址有一定的联系;获取第二类虚拟地址后,则根据第二类虚拟地址,向内存发送读取预取页表的请求,并在内存中获取第二类虚拟地址对应的预取页表,由于第二类虚拟地址中可能存在一个或多个虚拟地址,对应的预取页表也可以是一个或多个。进一步地,预取页表获取完毕后,将其保存至TLB,以供设备在需要访问到相应的页表时,可直接从TLB中获取,节省工作时间。
具体地,在根据第一类虚拟地址确定第二类虚拟地址时,首先要根据设备的类型和使用场景,确定该设备对应的预取范围,预取范围的强度过小,会导致预取效果不佳,不利于提升查找TLB时的命中率;预取范围的强度过大,一旦取回的页表不被实际使用,会浪费TLB有限的存储空间,甚至导致正被使用的有效页表从TLB中替换出去引起性能下降。因此,必须结合每个设备的具体行为,甚至同一设备在不同场景下的行为进行预取范围的确定,以实现灵活的页表预取。
为了避免发出重复的预取操作,在本实施例中,可以进一步地使用循环缓冲器(buffer)来记录预取操作的历史,即第二类虚拟地址。由于buffer中的存储容量有限,在将第二类虚拟地址缓存至buffer时,首先判断buffer中是否存在空闲位置,在存在空闲位置时,则将第二类虚拟地址缓存至buffer的空闲位置;若buffer中不存在空闲位置,则将第二类虚拟地址覆盖至buffer中缓存时间最早的记录。
进一步地,在根据第二类虚拟地址从内存中获取预取页表之前,首先检测buffer中是否存在与上述第二类虚拟地址相同的记录,若存在,则证明在此之前TLB中已经缓存有对应的预取页表,则无需进行重复的预取操作;若不存在,则根据上述第二类虚拟地址从内存中获取预取页表,完成预取操作。
图2为IOMMU的工作示意图,IOMMU获取设备发出的第一类虚拟地址后,首先查找TLB中是否保存有该第一类虚拟地址,若存在,则直接输出其对应的物理地址,若TLB中不存在,则从内存处获取对应的物理地址,在输出的同时保存至TLB;并且,在IOMMU接收到第一类虚拟地址时,可通过预取电路获取对应的第二类虚拟地址,从内存中提前获取并缓存至TLB中,并且为了避免发出重复的预取操作,用一个循环buffer来记录预取操作的历史。
本实施例通过获取设备访问内存行为,计算出将来可能会被使用的页表,提前从内存中取到并装载到TLB中去,当相应的页表真正被使用时无需再从内存中读取,提高了IOMMU的工作效率,且原理简单方便实现。
本发明的第二实施例提供了一种设备内存管理单元的预取装置,可安装于设备内存管理单元IOMMU中,也可独立与IOMMU之外,但需要与IOMMU连接,其结构示意图如图3所示,主要包括:获取模块301,用于获取设备发出的第一类虚拟地址;确定模块302,与获取模块耦合,用于根据第一类虚拟地址,确定第二类虚拟地址,其中,第二类虚拟地址为:与第一类虚拟地址对应的页表邻近的预取页表的虚拟地址;预取模块303,与确定模块耦合,用于根据第二类虚拟地址,向内存发送读取预取页表的请求。
当设备,比如ISP、GPU、显示引擎,编解码引擎等发出访问内存的命令时,会利用IOMMU并将命令里的虚拟地址映射为物理地址。为了提高效率,一般IOMMU会放置一个映射查找表TLB,用来缓存最近使用过的页表,类似cache的作用。当IOMMU收到带有虚拟地址的命令后,首先会去TLB中查找对应的页表是否存在,在查询结果为hit时,利用页表完成虚拟地址到物理地址的映射,在查询结果miss时,则往下一级发出返回页表的请求,比如从内存读取对应的页表。
对于视频图像类的设备,它们在访问内存时发出的虚拟地址在上下文里有很强的关联性,比如地址按一定规律递增,这样当前虚拟地址对应页表的相邻下一个或多个页表,将来有较高的概率会被使用。因此,本实施例首先通过获取模块301获取设备发出的第一类虚拟地址,随后通过确定模块302根据第一类虚拟地址确定第二类虚拟地址,其中,第一类虚拟地址是设备在需要访问内存时发出的虚拟地址VA,第二类虚拟地址是与第一类虚拟地址对应的页表邻近的预取页表的虚拟地址,即第二类虚拟地址与第一类虚拟地址有一定的联系;获取第二类虚拟地址后,则由预取模块303根据第二类虚拟地址,向内存发送读取预取页表的请求,并在内存中获取第二类虚拟地址对应的预取页表,由于第二类虚拟地址中可能存在一个或多个虚拟地址,对应的预取页表也可以是一个或多个。进一步,预取装置的结构示意图还可以如图4所示,在上述模块的基础上,预取页表获取完毕后,还可以通过保存模块304将其保存至TLB,以供设备在需要访问到相应的页表时,可直接从TLB中获取,节省工作时间。
具体地,确定模块在根据第一类虚拟地址确定第二类虚拟地址时,首先要根据设备的类型和使用场景,确定该设备对应的预取范围,预取范围的强度过小,会导致预取效果不佳,不利于提升查找TLB时的命中率;预取范围的强度过大,一旦取回的页表不被实际使用,会浪费TLB有限的存储空间,甚至导致正被使用的有效页表从TLB中替换出去引起性能下降。因此,必须结合每个设备的具体行为,甚至同一设备在不同场景下的行为进行预取范围的确定,以实现灵活的页表预取。
为了避免发出重复的预取操作,在本实施例中,可以进一步地使用缓存模块305将第二类虚拟地址缓存至buffer中,即使用buffer来记录预取操作的历史,缓存模块305的结构示意图如图5所示。由于buffer中的存储容量有限,在将第二类虚拟地址缓存至buffer时,首先通过缓存模块的判断单元3051判断buffer中是否存在空闲位置,在存在空闲位置时,则通过缓存单元3052将第二类虚拟地址缓存至buffer的空闲位置;若buffer中不存在空闲位置,缓存单元则将第二类虚拟地址覆盖至buffer中缓存时间最早的记录。
进一步地,在根据第二类虚拟地址从内存中获取预取页表之前,首先通过检测模块306检测buffer中是否存在与上述第二类虚拟地址相同的记录,若存在,则证明在此之前TLB中已经缓存有对应的预取页表,则无需进行重复的预取操作;若不存在,则由预取模块303根据上述第二类虚拟地址从内存中获取预取页表,完成预取操作。
本实施例通过获取设备访问内存行为,计算出将来可能会被使用的页表,提前从内存中取到并装载到TLB中去,当相应的页表真正被使用时无需再从内存中读取,提高了IOMMU的工作效率,且原理简单方便实现。
本发明的第三实施例提供了一种设备内存管理单元的预取系统,主要应用于分布式多级设备内存管理单元架构中,下面结合图4对设备内存管理单元的预取系统进行详细描述。
在图6中,每个设备(Device)均连接一个独立的本地地址映射单元,在每个本地地址映射单元中都包含一个本地TLB(Local TLB),用以缓存最近使用过的页表,一般来说本地TLB的容量不会太大,当查找miss时,会向下一级的共享(shared)TLB发出查表请求,该查表请求即相当于本发明第一实施例中的第一类虚拟地址。
共享TLB则为各个设备共用,其功能相当于本发明第二实施例中的TLB与保存模块,一般来说采用静态随机存取存储器(SRAM,Static Random-Access Memory)实现,具有大容量的存储空间,可以实现大量的页表缓存。当本地地址映射单元发出查表请求时,会首先查看共享TLB里面该页表是否存在,如果hit则直接返回对应的页表,如果miss则激活共用的PTW模块(Page Table Walk,页表内存走查)去内存中读取对应的页表物理地址,PTW模块即相当于本发明第二实施例中的预取模块,用于从内存中获取页表。
在本实施例中,分布式多级设备内存管理单元架构的预取(prefetch)电路(相当于本发明第二实施例中的获取模块以及确定模块)直接连接到共享TLB上,并且监测本地地址映射单元向共享TLB发出的请求。在本地地址映射单元向共享TLB发送第一类虚拟地址时,预取电路会同步获取该第一类虚拟地址,并根据第一类虚拟地址确定第二类虚拟地址,随后根据第二类虚拟地址向共享TLB发出查找请求,如果查找结果miss,则激活PTW模块从内存提前获取预取页表并保存至共享TLB中以供将来之用,如果hit,则不进行其他操作。
进一步地,在共享TLB与各个本地IOMMU之间,可以增加一个数据选择器(MUX,multiplexer),用于各个本地IOMMU之间信号的切换,保证共享TLB的处理效率。并且,在PTW模块中,还可以进一步包括一个PTW cache,当页表结构采用两级页表结构时,用来缓存最近使用过的一级页表,进一步提高预取系统的工作效率。
在本施例中,由于本地TLB容量一般不大,而且从内存获取的预取页表后来有一定概率不被使用,因此,将从内存获取的预取页表保存在二级的共享TLB,而非各本地地址映射单元内的本地TLB,防止预取页表挤占有限的本地TLB储存空间并降低效能。而共享TLB的容量较大,可以存放足够的预取页表以解决上述问题。
应当了解的是,图4中示出的预取系统的结构示意图,仅为一种优选实施例,在实际使用时,可根据实际情况在不影响功能的情况下对系统结构进行调整。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (13)
1.一种设备内存管理单元的预取方法,其特征在于,包括:
获取设备发出的第一类虚拟地址;
根据所述第一类虚拟地址,确定第二类虚拟地址,其中,所述第二类虚拟地址为:与所述第一类虚拟地址对应的页表邻近的预取页表的虚拟地址;
根据所述第二类虚拟地址,向内存发送读取所述预取页表的请求。
2.如权利要求1所述的预取方法,其特征在于,根据所述第一类虚拟地址,确定第二类虚拟地址,包括:
根据所述设备的类型和使用场景,确定预取范围;
根据所述预取范围和所述第一类虚拟地址,确定所述第二类虚拟地址。
3.如权利要求1所述的预取方法,其特征在于,确定第二类虚拟地址之后,还包括:
将所述第二类虚拟地址缓存至循环缓冲器中。
4.如权利要求3所述的预取方法,其特征在于,将所述第二类虚拟地址缓存至循环缓冲器中,包括:
判断所述循环缓冲器是否存在空闲位置;
在所述循环缓冲器存在空闲位置的情况下,将所述第二类虚拟地址缓存至所述空闲位置;
在所述循环缓冲器不存在空闲位置的情况下,将所述第二类虚拟地址覆盖至所述循环缓冲器中缓存时间最早的记录。
5.如权利要求3或4所述的预取方法,其特征在于,根据所述第二类虚拟地址,从内存中获取所述预取页表之前,还包括:
检测所述循环缓冲器中是否存在与所述第二类虚拟地址相同的记录;
在所述循环缓冲器中不存在与所述第二类虚拟地址相同的记录的情况下,根据所述第二类虚拟地址,从内存中获取所述预取页表。
6.如权利要求1至4中任一项所述的预取方法,其特征在于,从内存中获取所述预取页表之后,还包括:
将所述预取页表保存至映射查找表TLB。
7.一种设备内存管理单元的预取装置,其特征在于,包括:
获取模块,用于获取设备发出的第一类虚拟地址;
确定模块,用于根据所述第一类虚拟地址,确定第二类虚拟地址,其中,所述第二类虚拟地址为:与所述第一类虚拟地址对应的页表邻近的预取页表的虚拟地址;
预取模块,用于根据所述第二类虚拟地址,向内存发送读取所述预取页表的请求。
8.如权利要求7所述的预取装置,其特征在于,所述确定模块,具体用于:
根据所述设备的类型和使用场景,确定预取范围;
根据所述预取范围和所述第一类虚拟地址,确定所述第二类虚拟地址。
9.如权利要求7所述的预取装置,其特征在于,还包括:
缓存模块,用于将所述第二类虚拟地址缓存至循环缓冲器中。
10.如权利要求9所述的预取装置,其特征在于,所述缓存模块,包括:
判断单元,用于判断所述循环缓冲器是否存在空闲位置;
缓存单元,用于在所述循环缓冲器存在空闲位置的情况下,将所述第二类虚拟地址缓存至所述空闲位置;
所述缓存单元,还用于在所述循环缓冲器不存在空闲位置的情况下,将所述第二类虚拟地址覆盖至所述循环缓冲器中缓存时间最早的记录。
11.如权利要求9或10所述的预取装置,其特征在于,还包括:
检测模块,用于检测所述循环缓冲器中是否存在与所述第二类虚拟地址相同的记录;
所述预取模块,还用于在所述循环缓冲器中不存在与所述第二类虚拟地址相同的记录的情况下,根据所述第二类虚拟地址,从内存中获取所述预取页表。
12.如权利要求7至10中任一项所述的预取装置,其特征在于,还包括:
保存模块,用于将所述预取页表保存至映射查找表TLB。
13.一种设备内存管理单元的预取系统,应用于分布式多级设备内存管理单元架构中,其特征在于,包括如权利要求7至12中任一项所述的预取装置,其中,所述获取模块和确定模块分别与所述分布式多级设备内存管理单元架构中的每个本地地址映射单元连接,并且与共享TLB连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810365984.1A CN110389911A (zh) | 2018-04-23 | 2018-04-23 | 一种设备内存管理单元的预取方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810365984.1A CN110389911A (zh) | 2018-04-23 | 2018-04-23 | 一种设备内存管理单元的预取方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110389911A true CN110389911A (zh) | 2019-10-29 |
Family
ID=68284396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810365984.1A Pending CN110389911A (zh) | 2018-04-23 | 2018-04-23 | 一种设备内存管理单元的预取方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110389911A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552653A (zh) * | 2020-05-14 | 2020-08-18 | 上海燧原科技有限公司 | 页表的读取方法、装置、设备及计算机存储介质 |
CN112199400A (zh) * | 2020-10-28 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 用于数据处理的方法和装置 |
CN112416436A (zh) * | 2020-12-02 | 2021-02-26 | 海光信息技术股份有限公司 | 信息处理方法、信息处理装置和电子设备 |
CN112416437A (zh) * | 2020-12-02 | 2021-02-26 | 海光信息技术股份有限公司 | 信息处理方法、信息处理装置和电子设备 |
CN114218132A (zh) * | 2021-12-14 | 2022-03-22 | 海光信息技术股份有限公司 | 信息预取方法、处理器、电子设备 |
CN114281720A (zh) * | 2021-12-14 | 2022-04-05 | 海光信息技术股份有限公司 | 处理器、用于处理器的地址翻译方法、电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976182A (zh) * | 2010-11-15 | 2011-02-16 | 记忆科技(深圳)有限公司 | 一种固态硬盘预读取的方法及其装置 |
CN103443777A (zh) * | 2011-03-03 | 2013-12-11 | 高通股份有限公司 | 具有预填充能力的存储器管理单元 |
US20140108766A1 (en) * | 2012-10-17 | 2014-04-17 | Advanced Micro Devices, Inc. | Prefetching tablewalk address translations |
US20150154119A1 (en) * | 2013-12-04 | 2015-06-04 | National Taiwan University | Memory allocation and page address translation system and method |
CN105446889A (zh) * | 2014-07-31 | 2016-03-30 | 华为技术有限公司 | 一种内存管理方法、装置以及内存控制器 |
CN106168929A (zh) * | 2015-07-02 | 2016-11-30 | 威盛电子股份有限公司 | 选择性预取物理接续快取线至包含被载入分页表的快取线 |
-
2018
- 2018-04-23 CN CN201810365984.1A patent/CN110389911A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976182A (zh) * | 2010-11-15 | 2011-02-16 | 记忆科技(深圳)有限公司 | 一种固态硬盘预读取的方法及其装置 |
CN103443777A (zh) * | 2011-03-03 | 2013-12-11 | 高通股份有限公司 | 具有预填充能力的存储器管理单元 |
US20140108766A1 (en) * | 2012-10-17 | 2014-04-17 | Advanced Micro Devices, Inc. | Prefetching tablewalk address translations |
US20150154119A1 (en) * | 2013-12-04 | 2015-06-04 | National Taiwan University | Memory allocation and page address translation system and method |
CN105446889A (zh) * | 2014-07-31 | 2016-03-30 | 华为技术有限公司 | 一种内存管理方法、装置以及内存控制器 |
CN106168929A (zh) * | 2015-07-02 | 2016-11-30 | 威盛电子股份有限公司 | 选择性预取物理接续快取线至包含被载入分页表的快取线 |
Non-Patent Citations (1)
Title |
---|
马纯永: ""城域景观VRGIS一体化仿真平台研究与实现"", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552653A (zh) * | 2020-05-14 | 2020-08-18 | 上海燧原科技有限公司 | 页表的读取方法、装置、设备及计算机存储介质 |
CN111552653B (zh) * | 2020-05-14 | 2021-01-29 | 上海燧原科技有限公司 | 页表的读取方法、装置、设备及计算机存储介质 |
CN112199400A (zh) * | 2020-10-28 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 用于数据处理的方法和装置 |
CN112416436A (zh) * | 2020-12-02 | 2021-02-26 | 海光信息技术股份有限公司 | 信息处理方法、信息处理装置和电子设备 |
CN112416437A (zh) * | 2020-12-02 | 2021-02-26 | 海光信息技术股份有限公司 | 信息处理方法、信息处理装置和电子设备 |
CN112416437B (zh) * | 2020-12-02 | 2023-04-21 | 海光信息技术股份有限公司 | 信息处理方法、信息处理装置和电子设备 |
CN112416436B (zh) * | 2020-12-02 | 2023-05-09 | 海光信息技术股份有限公司 | 信息处理方法、信息处理装置和电子设备 |
CN114218132A (zh) * | 2021-12-14 | 2022-03-22 | 海光信息技术股份有限公司 | 信息预取方法、处理器、电子设备 |
CN114281720A (zh) * | 2021-12-14 | 2022-04-05 | 海光信息技术股份有限公司 | 处理器、用于处理器的地址翻译方法、电子设备 |
CN114281720B (zh) * | 2021-12-14 | 2022-09-02 | 海光信息技术股份有限公司 | 处理器、用于处理器的地址翻译方法、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389911A (zh) | 一种设备内存管理单元的预取方法、装置及系统 | |
US5623627A (en) | Computer memory architecture including a replacement cache | |
US5361391A (en) | Intelligent cache memory and prefetch method based on CPU data fetching characteristics | |
KR102448124B1 (ko) | 가상 주소들을 사용하여 액세스된 캐시 | |
US5577227A (en) | Method for decreasing penalty resulting from a cache miss in multi-level cache system | |
US10380030B2 (en) | Caching of virtual to physical address translations | |
US6782453B2 (en) | Storing data in memory | |
US9672161B2 (en) | Configuring a cache management mechanism based on future accesses in a cache | |
KR20010101693A (ko) | 가상 메모리 시스템에서의 메모리 접근 개선 기술 | |
KR20080063512A (ko) | 변환 색인 버퍼들(tlbs) 필드의 다중 레벨 갱신 | |
US7716424B2 (en) | Victim prefetching in a cache hierarchy | |
US20070180156A1 (en) | Method for completing IO commands after an IO translation miss | |
CN107608912B (zh) | 内存物理地址查询方法和装置 | |
CN108132893A (zh) | 一种支持流水的常量Cache | |
US5809526A (en) | Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation | |
CN109219804A (zh) | 非易失内存访问方法、装置和系统 | |
US6948032B2 (en) | Method and apparatus for reducing the effects of hot spots in cache memories | |
CN108874691B (zh) | 数据预取方法和内存控制器 | |
CN113190499A (zh) | 一种面向大容量片上缓存的协同预取器及其控制方法 | |
US6643743B1 (en) | Stream-down prefetching cache | |
JP4341186B2 (ja) | メモリシステム | |
US8255629B2 (en) | Method and apparatus with data storage protocols for maintaining consistencies in parallel translation lookaside buffers | |
KR20190087500A (ko) | 메모리 어드레스 변환 | |
US7496713B1 (en) | Method and apparatus for maintaining cache coherency in a memory system with shared only cache memories | |
JP2001249846A (ja) | キャッシュメモリ装置及びデータ処理システム |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191029 |
|
RJ01 | Rejection of invention patent application after publication |