CN116166577A - 处理器、地址转换的方法、装置、存储介质及程序产品 - Google Patents
处理器、地址转换的方法、装置、存储介质及程序产品 Download PDFInfo
- Publication number
- CN116166577A CN116166577A CN202210087387.3A CN202210087387A CN116166577A CN 116166577 A CN116166577 A CN 116166577A CN 202210087387 A CN202210087387 A CN 202210087387A CN 116166577 A CN116166577 A CN 116166577A
- Authority
- CN
- China
- Prior art keywords
- mmu
- pool
- physical
- address translation
- page table
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 35
- 238000013519 translation Methods 0.000 claims abstract description 172
- 230000006870 function Effects 0.000 claims abstract description 32
- 230000004044 response Effects 0.000 claims description 34
- 238000013507 mapping Methods 0.000 claims description 20
- 230000002093 peripheral effect Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 6
- 239000003795 chemical substances by application Substances 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- 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
- 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/1009—Address translation using page tables, e.g. page table structures
-
- 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]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- 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/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/68—Details of translation look-aside buffer [TLB]
- G06F2212/684—TLB miss handling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例公开了一种处理器、地址转换的方法、装置、存储介质及程序产品,属于计算机技术领域。本方案中处理器的多个物理核共享MMU池,即,由多个MMU为各物理核提供VA到PA的地址转换功能,而非一个物理核对应一个MMU。这样,即使某个物理核的地址转换需求较大,如在并发访问内存时,本方案也能够由多个MMU为该物理核提供服务,而不是限制由单个MMU为该物理核提供服务,从而提高地址转换效率,加快内存访问。
Description
本申请要求于2021年11月25日提交的申请号为202111417305.9、发明名称为“一种地址管理的方法和处理器系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,特别涉及一种处理器、地址转换的方法、装置、存储介质及程序产品。
背景技术
目前,处理器大多采用虚拟地址(virtual address,VA)来进行内存寻址,使用VA可以创建比实际的物理地址(physical address,PA)大得多的寻址空间。在采用VA进行内存寻址的过程中,处理器需要将接收到的VA转换为PA。如何提高处理器的地址转换效率是当前研究的一个热点。
发明内容
本申请实施例提供了一种处理器、地址转换的方法、装置、存储介质及程序产品,能够提高处理器的地址转换效率。所述技术方案如下:
第一方面,提供了一种处理器,该处理器包括多个物理核和一个内存管理单元(memory management unit,MMU)池,该MMU池包括多个MMU,该多个物理核与MMU池通过处理器的内部总线相连,MMU池为该多个物理核提供从VA到PA的地址转换功能。
简单来说,本方案中处理器的多个物理核共享MMU池,而非一个物理核对应一个MMU。这样,即使某个物理核的地址转换需求较大,如在并发访问内存时,本方案也能够由多个MMU为该物理核提供服务,而不是限制由单个MMU为该物理核提供服务,从而提高地址转换效率,加快内存访问。
可选地,MMU池还为处理器的外设提供地址转换功能。也即是,本方案还能够提高外设访问内存过程中的地址转换效率。其中,处理器的外设包括处理器外部的物理网卡、显卡等。可选地,处理器的外设还包括处理器内部包含诸如网卡、显卡等功能的芯片或组件。
可选地,MMU池位于处理器的本地代理(home agent,HA)或内存控制器(memorycontroller,MC)。即,在离内存近的地方进行地址转换(包括页表遍历),能够有效减少地址转换的时延。尤其在多级页表的请情况下,地址转换效率更高。
可选地,第一物理核用于向MMU池发送地址转换请求,该地址转换请求携带待转换的第一VA。其中,第一物理核为多个物理核中的任一物理核。MMU池用于接收该地址转换请求,将第一VA转换为第一PA,向第一物理核发送地址转换响应,该地址转换响应携带第一PA。第一物理核还用于接收地址转换响应。
可选地,第一物理核用于从第一物理核对应的转译后备缓存器(translationlookaside buffer,TLB)中查询第一VA所在的页表项,如果该TLB中未缓存第一VA所在的页表项,则向MMU池发送地址转换请求。其中,一个页表项包含一个VA与一个PA之间的映射关系。MMU池用于从内存页表中查询第一VA所在的页表项,以得到第一VA对应的第一PA。其中,内存页表记录有内存所有VA所在的页表项。也即是,在一种实现方式中,先从离物理核近的TLB中查表,以快速从缓存中获取对应的页表项。在TLB未命中的情况下,再通过离内存近的MMU池进行页表遍历,以快速从内存页表中获取对应的页表项。
可选地,内存页表为一级页表或多级页表。
第二方面,提供了一种地址转换的方法,该方法应用于处理器。该处理器包括多个物理核和一个MMU池,该MMU池包括多个MMU,该多个物理核与MMU池通过处理器的内部总线相连;该方法包括:
第一物理核向MMU池发送地址转换请求,该地址转换请求携带待转换的第一VA,第一物理核为该多个物理核中的任一物理核;第一物理核接收MMU池发送的地址转换响应,该地址转换响应携带第一VA对应的第一PA。
也即是,MMU池为该多个物理核提供从VA到PA的地址转换功能。简单来说,本方案中处理器的多个物理核共享MMU池,而非一个物理核对应一个MMU。这样,即使某个物理核的地址转换需求较大,如在并发访问内存时,本方案也能够由多个MMU为该物理核提供服务,而不是限制由单个MMU为该物理核提供服务,从而提高地址转换效率,加快内存访问。
可选地,第一物理核向MMU池发送地址转换请求之前,还包括:第一物理核从第一物理核对应的TLB中查询第一VA所在的页表项,一个页表项包含一个VA与一个PA之间的映射关系;如果TLB中未缓存第一VA所在的页表项,则第一物理核执行向MMU池发送地址转换请求的操作。
第三方面,提供了一种地址转换的方法,该方法应用于处理器,该处理器包括多个物理核和一个MMU池,该MMU池包括多个MMU,该多个物理核与MMU池通过处理器的内部总线相连;该方法包括:
MMU池接收第一物理核发送的地址转换请求,该地址转换请求携带待转换的第一VA,第一物理核为该多个物理核中的任一物理核;MMU池将第一VA转换为第一PA;MMU池向第一物理核发送地址转换响应,该地址转换响应携带第一PA。也即是,MMU池为该多个物理核提供从VA到PA的地址转换功能。简单来说,本方案中处理器的多个物理核共享MMU池,而非一个物理核对应一个MMU。
可选地,MMU池将第一VA转换为第一PA,包括:MMU池从内存页表中查询第一VA所在的页表项,以得到第一VA对应的第一PA,内存页表记录有内存所有VA所在的页表项,一个页表项包含一个VA与一个PA之间的映射关系。
可选地,该多个MMU对应一个管理模块;MMU池将第一VA转换为第一PA,包括:MMU池通过该管理模块从该多个MMU中选择一个MMU作为目标MMU;MMU池通过目标MMU将第一VA转换为第一PA。
第四方面,提供了一种地址转换的装置,所述地址转换的装置具有实现上述第二方面中地址转换的方法行为的功能。所述地址转换的装置包括一个或多个模块,该一个或多个模块用于实现上述第二方面所提供的地址转换的方法。
也即是,提供了一种地址转换的装置,该装置用于处理器,处理器可以为上述第一方面提供的处理器。即,该处理器包括多个物理核和一个MMU池,该MMU池包括多个MMU,该多个物理核与MMU池通过处理器的内部总线相连;该装置具体用于第一物理核,第一物理核为该多个物理核中的任一物理核;该装置包括:
发送模块,用于向MMU池发送地址转换请求,该地址转换请求携带待转换的第一VA;
接收模块,用于接收MMU池发送的地址转换响应,该地址转换响应携带第一VA对应的第一PA。
可选地,该装置还包括:
查表模块,用于从第一物理核对应的TLB中查询第一VA所在的页表项,一个页表项包含一个VA与一个PA之间的映射关系;
触发模块,用于如果TLB中未缓存第一VA所在的页表项,则触发发送模块执行向MMU池发送地址转换请求的操作。
第五方面,提供了一种地址转换的装置,所述地址转换的装置具有实现上述第三方面中地址转换的方法行为的功能。所述地址转换的装置包括一个或多个模块,该一个或多个模块用于实现上述第三方面所提供的地址转换的方法。
也即是,提供了一种地址转换的装置,该装置用于处理器,处理器可以为上述第一方面提供的处理器。即,该处理器包括多个物理核和一个MMU池,该MMU池包括多个MMU,该多个物理核与MMU池通过处理器的内部总线相连;该装置具体用于MMU池,该装置包括:
接收模块,用于接收第一物理核发送的地址转换请求,该地址转换请求携带待转换的第一VA,第一物理核为多个物理核中的任一物理核;
地址转换模块,用于将第一VA转换为第一PA;
发送模块,用于向第一物理核发送地址转换响应,该地址转换响应携带第一PA。
可选地,地址转换模块具体用于:
从内存页表中查询第一VA所在的页表项,以得到第一VA对应的第一PA,内存页表记录有内存所有VA所在的页表项,一个页表项包含一个VA与一个PA之间的映射关系。
可选地,该多个MMU对应一个管理模块;地址转换模块具体用于:
通过管理模块从该多个MMU中选择一个MMU作为目标MMU;
通过目标MMU将第一VA转换为第一PA。
第六方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述处理器为上述第一方面提供的处理器,所述存储器用于存储执行上述第二方面和第三方面所提供的地址转换方法的程序,以及存储用于实现上述第二和第三方面所提供的地址转换方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面和/或第三方面所述的地址转换的方法。
第八方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面和/或第三方面所述的地址转换的方法。
上述第四方面、第五方面、第六方面、第七方面和第八方面所获得的技术效果与第一方面或第二方面或第三方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请实施例提供的技术方案至少能够带来以下有益效果:
本方案中处理器的多个物理核共享MMU池,即,由多个MMU为各物理核提供VA到PA的地址转换功能,而非一个物理核对应一个MMU。这样,即使某个物理核的地址转换需求较大,如在并发访问内存时,本方案也能够由多个MMU为该物理核提供服务,而不是限制由单个MMU为该物理核提供服务,从而提高地址转换效率,加快内存访问。
附图说明
图1是本申请实施例提供的一种处理器的结构示意图;
图2是本申请实施例提供的一种计算机设备的结构示意图;
图3是本申请实施例提供的一种地址转换的方法的流程图;
图4是本申请实施例提供的另一种处理器的结构示意图;
图5是本申请实施例提供的相关技术中一种处理器的结构示意图;
图6是本申请实施例提供的另一种地址转换的方法的流程图;
图7是本申请实施例提供的相关技术中一种地址转换的方法的流程图;
图8是本申请实施例提供的本方案在场景1下访问VA对应数据的一个流程图;
图9是本申请实施例提供的相关技术在场景1下访问VA对应数据的一个流程图;
图10是本申请实施例提供的本方案在场景3下访问VA对应数据的一个流程图;
图11是本申请实施例提供的相关技术在场景3下访问VA对应数据的一个流程图;
图12是本申请实施例提供的本方案另一种访问VA对应数据的方法的流程图;
图13是本申请实施例提供的相关技术另一种访问VA对应数据的方法的流程图;
图14是本申请实施例提供的一种地址转换的装置的结构示意图;
图15是本申请实施例提供的另一种地址转换的装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先需要说明的是,本申请实施例描述的系统架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
图1是本申请实施例提供的一种处理器的结构示意图。参见图1,该处理器包括多个物理核(core)和一个MMU池,该MMU池包括多个MMU。该多个物理核包括物理核0至物理核n,该多个MMU包括MMU 0至MMU m。该多个物理核与该MMU池通过处理器的内部总线相连。该MMU池为该多个物理核提供从VA到PA的地址转换功能。
可选地,该地址转换功能包括基于内存页表的页表遍历功能,如pagetablewalk功能。那么,为了提高页表遍历效率,尤其是多级页表情况下的页表遍历效率,在一种实现方式中,MMU池位于处理器的HA或MC。即,在离内存近的地方进行页表遍历,能够有效减少内存访问的时延。
可选地,该MMU池还为处理器的外设提供地址转换功能。外设包括处理器外部的物理网卡、显卡等。可选地,外设还包括处理器内部具备诸如网卡、显卡等功能的芯片或组件。
请参考图2,图2是根据本申请实施例示出的一种计算机设备的结构示意图。可选地,该计算机设备包括一个或多个处理器201、总线202、存储器203以及一个或多个接口204。可选地,该一个或多个处理器201包括如图1中所示的处理器。
处理器201为一个通用中央处理器(central processing unit,CPU)、网络处理器(network processing,NP)、微处理器、或者为一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。可选地,上述PLD为复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
总线202用于在上述组件之间传送信息。可选地,总线202分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。可选地,总线也称为通信总线。
可选地,存储器203为只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、光盘(包括只读光盘(compact disc read-only memory,CD-ROM)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器203独立存在,并通过总线202与处理器201相连接,或者,存储器203与处理器201集成在一起。
接口204使用任何收发器一类的装置,用于与其它设备或通信网络通信。可选地,接口也称为通信接口。接口204包括有线通信接口,可选地,还包括无线通信接口。其中,有线通信接口例如以太网接口等。可选地,以太网接口为光接口、电接口或其组合。无线通信接口为无线局域网(wireless local area networks,WLAN)接口、蜂窝网络通信接口或其组合等。
可选地,在一些实施例中,计算机设备包括多个处理器,如图2中所示的处理器201和处理器205。这些处理器中的每一个为一个单核处理器,或者一个多核处理器。可选地,这里的处理器指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机设备还包括输出设备206和输入设备207。输出设备206和处理器201通信,能够以多种方式来显示信息。例如,输出设备206为液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备207和处理器201通信,能够以多种方式接收用户的输入。例如,输入设备207是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器203用于存储执行本申请方案的程序代码210,处理器201能够执行存储器203中存储的程序代码210。该程序代码中包括一个或多个软件模块,该计算机设备能够通过处理器201以及存储器203中的程序代码210,来实现下文图3实施例提供的地址转换的方法。
图3是本申请实施例提供的一种地址转换的方法的流程图,该方法应用于处理器。请参考图3,该方法包括如下步骤。
步骤301:第一物理核向MMU池发送地址转换请求,该地址转换请求携带待转换的第一VA。
由前述可知,在本申请实施例中,处理器包括多个物理核和一个MMU池,MMU池包括多个MMU,该多个物理核与MMU池通过处理器的内部总线相连,MMU池为该多个物理核提供从VA到PA的地址转换功能,即地址翻译功能。该多个物理核中的任一物理核均能够通过该MMU池进行地址转换。接下来以第一物理核通过该MMU池进行地址转换为例进行介绍,第一物理核为该多个物理核中的任一物理核。
在本申请实施例中,第一物理核向MMU池发送地址转换请求,该地址转换请求携带待转换的第一VA。可选地,第一物理核向MMU池发送地址转换请求之前,获取第一VA,生成携带第一VA的地址转换请求。示例性地,第一物理核获取应用程序发送的一个虚拟地址,该虚拟地址用于进行数据访问,第一物理核将该VA作为第一VA,生成携带第一VA的地址转换请求。
可选地,第一物理核对应有TLB,第一物理核向MMU池发送地址转换请求之前,从第一物理核对应的TLB中查询第一VA所在的页表项。如果该TLB中未缓存第一VA所在的页表项,则第一物理核向MMU池发送地址转换请求。其中,一个页表项包含一个VA与一个PA之间的映射关系。如果该TLB中缓存有第一VA所在的页表项,则第一物理核从该页表项中获得第一VA对应的第一PA。需要说明的是,TLB是用于缓存处理器最近访问的内存的虚拟地址与物理地址之间的映射关系,内存页表中存储有内存所有的虚拟地址与物理地址之间的映射关系。即,内存页表记录有内存所有虚拟地址所在的页表项,TLB中存储有内存页表中部分的页表项。在一些情况下,TLB中也可能缓存有内存页表中全部的页表项。简单来说,在进行地址转换时,若TLB命中(hit),则第一物理核直接获取TLB中的物理地址,若TLB未命中(miss),则第一物理核通过MMU池进行地址转换。
可选地,MMU池提供的地址转换功能包括基于内存页表的页表遍历功能,如pagetablewalk功能。那么,为了提高页表遍历效率,尤其是多级页表情况下的页表遍历效率,MMU池位于处理器的HA或MC。即,在离内存近的地方进行页表遍历,能够有效减少内存访问的时延。另外,在本申请实施例中,一个物理核对应一个TLB,TLB位于物理核的旁边。即,TLB位于离物理核近的地方,以快速从缓存中获取对应的页表项。
在另一些实施例中,TLB能够进行分级池化,MMU池提供的地址转换功能既包括上述页表遍历功能,还包括TLB对应的功能。简单来说,MMU池既包括多个页表遍历单元(即上述多个MMU),还包括多个分级TLB。相应地,第一物理核获取到第一VA之后,向MMU池发送地址转换请求,以指示MMU池通过TLB对应的功能以及页表遍历功能进行地址转换。
步骤302:MMU池接收第一物理核发送的地址转换请求,将第一VA转换为第一PA。
在本申请实施例中,MMU池接收到第一物理核发送的地址转换请求后,通过地址转换功能将第一VA转换为第一PA。
可选地,若该地址转换请求是在第一物理核对应的TLB中未缓存第一VA所在的页表项的情况下接收到的,MMU池提供页表遍历功能,那么,MMU池接收到该地址转换请求后,从内存页表中查询第一VA所在的页表项,以得到第一VA对应的第一PA。其中,内存页表记录有内存所有VA所在的页表项。即,第一物理核查询TLB,在TLB未命中的情况下,由MMU池进行页表遍历。
在另一些实施例中,该地址转换请求是第一物理核在获取到第一VA之后向MMU池发送的,MMU池提供TLB对应的功能以及页表遍历功能,那么,MMU池接收到该地址转换请求之后,从分级TLB中查询第一VA所在的页表项。如果分级TLB中未缓存第一VA所在的页表项,则MMU池从内存页表中查询第一VA所在的页表项,以得到第一VA对应的第一PA。如果分级TLB缓存有第一VA所在的页表项,则MMU池从分级TLB中获取第一VA对应的第一PA。
由前述可知,该MMU池包括多个MMU,那么,MMU池接收到该地址转换请求之后,需要从该多个MMU中确定一个MMU来执行地址转换功能。可选地,该多个MMU对应一个管理模块,MMU池将第一VA转换为第一PA的一种实现方式为:MMU池通过管理模块从该多个MMU中选择一个MMU作为目标MMU,MMU池通过目标MMU将第一VA转换为第一PA。其中,管理模块可以按照负载均衡策略或其他方式从该多个MMU中选择一个MMU。例如,管理模块从空闲的MMU中随机选择一个MMU。当然,MMU池也可以通过其他方法从该多个MMU中确定出一个目标MMU,本申请实施例对此不作限定。
可选地,在本申请实施例中,内存页表为一级页表或多级页表。在内存页表为一级页表的应用中,MMU池通过目标MMU将第一VA通过HA发送给MC,从而从内存页表中查询第一VA对应的第一PA。在内存页表为多级页表的应用中,MMU池通过目标MMU解析第一VA,依次得到多级索引,每得到一级索引,基于得到的索引通过HA向MC发送一个查询请求,以从内存页表中对应层级的页表中查询对应的信息,直至基于最后解析得到的索引(如地址偏移)通过HA向MC发送最后一次查询请求,得到MC返回的第一PA,或得到MC返回的第一VA所在的页表项(page table entry,PTE)。需要说明的是,页表遍历功能的具体实现方式也可以参照相关技术,本申请实施例不作详述。
可以看出,本方案由于MMU池位于HA或MC,即位于离内存较近的地方,因此,能够加快地址转换效率。尤其在多级页表的应用中,本方案能够有效减少地址转换的时延。而相关技术中MMU位于离HA较远的地方(如位于物理核),MMU需要与HA进行交互以访问内存才能查询到对应的PA,MMU与HA之间的交互过程所需时间较长,即,内存访问的时延较大。并且,目前内存页表大多为多级页表,在多级页表的应用中,相关技术中的MMU与HA之间需要多次交互才能完成pagetablewalk操作,内存访问的时延等开销较大。
步骤303:MMU池向第一物理核发送地址转换响应,该地址转换响应携带第一PA。
在本申请实施例中,MMU池将第一VA转换为第一PA之后,向第一物理核发送地址转换响应,该地址转换响应携带第一PA,或携带第一VA与第一PA之间的映射关系。可选地,MMU池通过目标MMU向第一物理核发送地址转换响应。
步骤304:第一物理核接收MMU池发送的地址转换响应。
在本申请实施例中,第一物理核接收MMU池发送的地址转换响应,该地址转换响应携带第一PA,或携带第一VA与第一PA之间的映射关系。可选地,第一物理核将第一VA与第一PA之间的映射关系存储在对应的TLB中。
可选地,第一VA用于进行数据访问,例如,第一VA是某应用程序进行数据访问的一个VA,那么,第一物理核得到第一PA之后,基于第一PA从数据缓存中查询对应的第一数据,将第一数据返回给应用程序。如果数据缓存中缓存有第一PA对应的第一数据,那么,第一物理核从数据缓存中获取第一数据。如果数据缓存中未缓存第一数据,那么,第一物理核从内存中获取第一数据,或者通过其他方式获取第一数据。其中,数据缓存包括一级/二级/三级(level1/level2/level3,L1/L2/L3)缓存等。
可选地,MMU池还为处理器的外设提供地址转换功能。相关技术中,外设通过系统级内存管理单元(system MMU,SMMU)进行地址转换,SMMU包括TLB和页表遍历单元,SMMU位于处理器的IIO旁边。本方案将SMMU中的页表遍历单元搬到MMU池中,通过MMU池为外设提供地址转换功能。
在本申请实施例中,外设获取的虚拟地址称为输入输出VA(input/output VA,IOVA)。某外设获取第一IOVA之后,从对应的TLB中查询第一IOVA所在的页表项。如果该TLB中未缓存第一IOVA所在的页表项,则该外设向MMU池发送一个地址转换请求。其中,一个页表项包含一个IOVA与一个PA之间的映射关系。MMU池从内存页表中查询第一IOVA所在的页表项,以得到第一IOVA对应的PA。MMU池向该外设返回第一IOVA对应的PA。如果该TLB中缓存有第一IOVA所在的页表项,则该外设从该页表项中获得第一IOVA对应的第一PA。
图4是本申请实施例提供的另一种处理器的结构示意图。参见图4,该处理器(如CPU)包括多个物理核(如物理核0至物理核n)、位于各物理核的TLB、位于HA的MMU池(包括MMU0至MMUm),还包括MC等。其中,MMU池为该多个物理核提供包括页表遍历的地址转换功能。可选地,如图4所示,该处理器还包括用于连接外设的接口,外设如网卡、显卡等。相应地,MMU池还为处理器的外设提供地址转换功能。
图5是本申请实施例提供的一种相关技术中处理器的结构示意图。图5所示处理器与图4不同的是,图5中处理器的各个物理核对应一个MMU,每个物理核对应的MMU位于物理核的旁边。处理器还包括一个或多个外设处理单元,如输入输出单元(input/output unit,IOU),外设对应的SMMU位于外设处理单元。由图5可以看出,相关技术中,物理核之间不能够共享MMU,若某个物理核的地址转换需求较大的情况下,对应的MMU不能够满足需要,从而导致地址转换效率较低。SMMU也是如此。另外,相关技术中,MMU和SMMU中的页表遍历单元都离内存较远,在TLB未命中的情况下,通过与HA和MC交互来访问内存以进行地址转换的时延较大。
而由图4以及前述可知,本方案将MMU的页表遍历单元从物理核或SMMU搬到HA或MC,在离内存较近的地方进行页表遍历,以尽可能地降低内存访问时延,提升从VA到PA的地址转换效率,进而提升数据访问效率。另外,由于HA和MC是处理器中各物理核共享的,因此,将页表遍历单元搬到HA或MC,能够使得页表遍历单元在多个物理核(core)之间共享,不需要与物理核一一对应,在一些实施例中能够节省处理器芯片的电路资源。
图6是本申请实施例提供的另一种地址转换的方法的流程图。图6所示流程是在图4所示处理器的基础上实现的。图7是本申请实施例提供的相关技术中地址转换方法的流程图,图7所示流程是在图5所示处理器的基础上实现的。
参见图6,假设内存页表的级数为L,MMU池位于HA或MC,MMU池包括图6中的页表遍历单元。在本方案中,物理核需要进行地址转换时,先通过TLB查表,即从TLB中查VA所在的页表项,TLB查表耗时约为t1。若TLB未命中,则物理核向MMU池发送地址转换请求,MMU池通过HA和MC进行页表遍历,页表遍历耗时约为L*50ns(纳秒)。在页表遍历的过程中,若查询的页在内存中,则MMU池请求从内存(如动态随机存取存储器(dynamic random accessmemory,DRAM)等)中加载VA所在的页表项(PTE),耗时约为3ns。MMU池通过HA和MC的内存访问模块从DRAM将PTE加载到TLB中进行缓存,即更新TLB。其中,从DRAM加载PTE耗时约为90ns,更新TLB耗时约为t3。若查询的页不在内存中,则MMU池请求从磁盘(如Disk)中加载PTE。若TLB命中,则物理核从TLB中获取对应的页表项,即获取到PA。可选地,物理核获取到PA之后进行安全检测(如protection check)。若安全检测未通过,则物理核处理相应的错误,如生成段错误信号(signal segment violation,SIGSEGV)。在安全检测通过(如accesspermitted)后,物理核基于该PA从数据缓存(如L1/L2/L3缓存)中获取对应的数据,从数据缓存中搜索数据耗时约为t2。若在数据缓存命中,即搜索到对应的数据,则物理核从数据缓存中加载数据,数据加载耗时约为1ns。若在数据缓存未命中,则物理核请求从内存加载数据,请求耗时约为20ns。从内存加载数据耗时约为90ns。
图7与图6的处理流程不同的地方在于,在图7所示的相关技术中,物理核与MMU一一对应,MMU位于物理核的旁边。若在TLB未命中,则物理核通过对应的MMU进行页表遍历,页表遍历耗时约为L*90ns。另外,相关技术中请求从内存加载PTE耗时约为20ns。
图6和图7示出了物理核访问VA对应数据时四种场景下的时间开销。场景1为TLB和L1/L2/L3均未命中的场景,场景2为TLB和L1/L2/L3均命中的场景,场景3为TLB未命中但L1/L2/L3命中的场景,场景4为TLB命中但L1/L2/L3未命中的场景。其中,在场景2和场景4中,即在TLB命中的场景中,本方案和相关技术中访问VA对应数据的时间开销基本持平。而在场景1和场景3中,即在TLB未命中的场景中,本方案相比于相关技术能够节省很多时间开销。图8和图9分别示出了场景1下本方案与相关技术中访问VA对应数据的流程。图10和图11分别示出了场景3下本方案与相关技术中访问VA对应数据的流程。图8至图11所示流程与图6和图7中的相关流程一致,这里不再重复赘述。
表1展示了上述场景1和场景3下本方案和相关技术中访问VA对应数据的时间开销对比。可以看出,在TLB miss的情况下,本方案相比于相关技术能够节省很多时间开销。其中时间开销的节省主要体现在页表遍历的过程中,且页表级数越高,节省的时间开销越大。
表1
需要说明的是,上述图6至图11以及表1中所示各步骤的耗时是根据实验或实际情况得出的经验值,即大致时间,并不用于限制本申请实施例。各步骤的耗时在不同的实验或实际情况下会有所不同。总体来讲,本方案相比于相关技术中访问VA对应数据的时间开销更小。
图12是本申请实施例提供的一种访问VA对应数据的方法的流程图。如图12所示,在本方案的一种实现方式中,TLB位于物理核,MMU池位于HA。物理核通过地址生成单元(address generate unit,AGU)获取VA后,从对应的TLB中查询该VA对应的页表项。若TLB未命中,则物理核向MMU池发送地址转换请求,该地址转换请求携带该VA等信息。假设内存页表为四级页表,则MMU池执行页表遍历操作,以通过HA与MC进行5次交互,在最后一次交互后获得该VA对应的PA。MMU池将该PA等信息返回给物理核,物理核将该VA与PA的映射关系更新在TLB中。之后,物理核可以基于该PA从数据缓存(如L1/L2/L3)中获取对应的数据。简单来说,物理核在获取到VA对应的PA之后,可以按照常规流程来获取对应的数据,本申请实施例对此不作限定。
图13是本申请实施例提供的相关技术中访问VA对应数据的方法的流程图。与图12所示本方案不同的是,图13所示相关技术中的MMU位于物理核,即离内存较远的地方。由图12和图13可以看出,相关技术中页表遍历过程所花费的时间大于本方案页表遍历过程所花费的时间。
综上所述,本方案中处理器的多个物理核共享MMU池,即,由多个MMU为各物理核提供VA到PA的地址转换功能,而非一个物理核对应一个MMU。这样,即使某个物理核的地址转换需求较大,如在并发访问内存时,本方案也能够由多个MMU为该物理核提供服务,而不是限制由单个MMU为该物理核提供服务,从而提高地址转换效率,加快内存访问。
图14是本申请实施例提供的一种地址转换的装置1400的结构示意图,该地址转换的装置1400可以由软件、硬件或者两者的结合实现成为处理器的部分或者全部,该处理器可以为图1或图4所示的处理器。即,该装置1400用于处理器,该处理器包括多个物理核和一个MMU池,该MMU池包括多个MMU,该多个物理核与MMU池通过处理器的内部总线相连。该装置1400具体用于第一物理核,第一物理核为该多个物理核中的任一物理核。参见图14,该装置1400包括:发送模块1401和接收模块1402。
发送模块1401,用于向MMU池发送地址转换请求,该地址转换请求携带待转换的第一VA;
接收模块1402,用于接收MMU池发送的地址转换响应,该地址转换响应携带第一VA对应的第一PA。
可选地,该装置1400还包括:
查表模块,用于从第一物理核对应的TLB中查询第一VA所在的页表项,一个页表项包含一个VA与一个PA之间的映射关系;
触发模块,用于如果TLB中未缓存第一VA所在的页表项,则触发发送模块1401执行向MMU池发送地址转换请求的操作。
在本申请实施例中,处理器的多个物理核共享MMU池,即,由多个MMU为各物理核提供VA到PA的地址转换功能,而非一个物理核对应一个MMU。这样,即使某个物理核的地址转换需求较大,如在并发访问内存时,本方案也能够由多个MMU为该物理核提供服务,而不是限制由单个MMU为该物理核提供服务,从而提高地址转换效率,加快内存访问。
需要说明的是:上述实施例提供的地址转换的装置在进行地址转换时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的地址转换的装置与地址转换的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图15是本申请实施例提供的一种地址转换的装置1500的结构示意图,该地址转换的装置1500可以由软件、硬件或者两者的结合实现成为处理器的部分或者全部,该处理器可以为图1或图4所示的处理器。即,该装置1500用于处理器,该处理器包括多个物理核和一个MMU池,该MMU池包括多个MMU,该多个物理核与MMU池通过处理器的内部总线相连。该装置1500具体用于MMU池。参见图15,该装置1500包括:接收模块1501、地址转换模块1502和发送模块1503。
接收模块1501,用于接收第一物理核发送的地址转换请求,该地址转换请求携带待转换的第一VA,第一物理核为多个物理核中的任一物理核;
地址转换模块1502,用于将第一VA转换为第一PA;
发送模块1503,用于向第一物理核发送地址转换响应,该地址转换响应携带第一PA。
可选地,地址转换模块1502具体用于:
从内存页表中查询第一VA所在的页表项,以得到第一VA对应的第一PA,内存页表记录有内存所有VA所在的页表项,一个页表项包含一个VA与一个PA之间的映射关系。
可选地,该多个MMU对应一个管理模块;地址转换模块1502具体用于:
通过管理模块从该多个MMU中选择一个MMU作为目标MMU;
通过目标MMU将第一VA转换为第一PA。
在本申请实施例中,处理器的多个物理核共享MMU池,即,由多个MMU为各物理核提供VA到PA的地址转换功能,而非一个物理核对应一个MMU。这样,即使某个物理核的地址转换需求较大,如在并发访问内存时,本方案也能够由多个MMU为该物理核提供服务,而不是限制由单个MMU为该物理核提供服务,从而提高地址转换效率,加快内存访问。
需要说明的是:上述实施例提供的地址转换的装置在进行地址转换时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的地址转换的装置与地址转换的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,DVD))或半导体介质(例如:固态硬盘(solid state disk,SSD))等。值得注意的是,本申请实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (18)
1.一种处理器,其特征在于,所述处理器包括多个物理核和一个内存管理单元MMU池,所述MMU池包括多个MMU,所述多个物理核与所述MMU池通过所述处理器的内部总线相连,所述MMU池为所述多个物理核提供从虚拟地址VA到物理地址PA的地址转换功能。
2.如权利要求1所述的处理器,其特征在于,所述MMU池还为所述处理器的外设提供所述地址转换功能。
3.如权利要求1或2所述的处理器,其特征在于,所述MMU池位于所述处理器的本地代理HA或内存控制器MC。
4.如权利要求1-3任一所述的处理器,其特征在于,
第一物理核,用于向所述MMU池发送地址转换请求,所述地址转换请求携带待转换的第一VA,所述第一物理核为所述多个物理核中的任一物理核;
所述MMU池,用于接收所述地址转换请求,将所述第一VA转换为第一PA,向所述第一物理核发送地址转换响应,所述地址转换响应携带所述第一PA;
所述第一物理核,还用于接收所述地址转换响应。
5.如权利要求4所述的处理器,其特征在于,
所述第一物理核,用于从所述第一物理核对应的转译后备缓存器TLB中查询所述第一VA所在的页表项,如果所述TLB中未缓存所述第一VA所在的页表项,则向所述MMU池发送所述地址转换请求,一个页表项包含一个VA与一个PA之间的映射关系;
所述MMU池,用于从内存页表中查询所述第一VA所在的页表项,以得到所述第一VA对应的所述第一PA,所述内存页表记录有内存所有VA所在的页表项。
6.如权利要求5所述的处理器,其特征在于,所述内存页表为一级页表或多级页表。
7.一种地址转换的方法,其特征在于,处理器包括多个物理核和一个内存管理单元MMU池,所述MMU池包括多个MMU,所述多个物理核与所述MMU池通过所述处理器的内部总线相连;所述方法包括:
第一物理核向所述MMU池发送地址转换请求,所述地址转换请求携带待转换的第一虚拟地址VA,所述第一物理核为所述多个物理核中的任一物理核;
所述第一物理核接收所述MMU池发送的地址转换响应,所述地址转换响应携带所述第一VA对应的第一物理地址PA。
8.如权利要求7所述的方法,其特征在于,所述第一物理核向所述MMU池发送地址转换请求之前,还包括:
所述第一物理核从所述第一物理核对应的转译后备缓存器TLB中查询所述第一VA所在的页表项,一个页表项包含一个VA与一个PA之间的映射关系;
如果所述TLB中未缓存所述第一VA所在的页表项,则所述第一物理核执行所述向所述MMU池发送地址转换请求的操作。
9.一种地址转换的方法,其特征在于,处理器包括多个物理核和一个内存管理单元MMU池,所述MMU池包括多个MMU,所述多个物理核与所述MMU池通过所述处理器的内部总线相连;所述方法包括:
所述MMU池接收第一物理核发送的地址转换请求,所述地址转换请求携带待转换的第一虚拟地址VA,所述第一物理核为所述多个物理核中的任一物理核;
所述MMU池将所述第一VA转换为第一物理地址PA;
所述MMU池向所述第一物理核发送地址转换响应,所述地址转换响应携带所述第一PA。
10.如权利要求9所述的方法,其特征在于,所述MMU池将所述第一VA转换为第一物理地址PA,包括:
所述MMU池从内存页表中查询所述第一VA所在的页表项,以得到所述第一VA对应的所述第一PA,所述内存页表记录有内存所有VA所在的页表项,一个页表项包含一个VA与一个PA之间的映射关系。
11.如权利要求9所述的方法,其特征在于,所述多个MMU对应一个管理模块;
所述MMU池将所述第一VA转换为第一物理地址PA,包括:
所述MMU池通过所述管理模块从所述多个MMU中选择一个MMU作为目标MMU;
所述MMU池通过所述目标MMU将所述第一VA转换为所述第一PA。
12.一种地址转换的装置,其特征在于,处理器包括多个物理核和一个内存管理单元MMU池,所述MMU池包括多个MMU,所述多个物理核与所述MMU池通过所述处理器的内部总线相连;所述装置用于第一物理核,所述第一物理核为所述多个物理核中的任一物理核;
所述装置包括:
发送模块,用于向所述MMU池发送地址转换请求,所述地址转换请求携带待转换的第一虚拟地址VA;
接收模块,用于接收所述MMU池发送的地址转换响应,所述地址转换响应携带所述第一VA对应的第一物理地址PA。
13.如权利要求12所述的装置,其特征在于,所述装置还包括:
查表模块,用于从所述第一物理核对应的转译后备缓存器TLB中查询所述第一VA所在的页表项,一个页表项包含一个VA与一个PA之间的映射关系;
触发模块,用于如果所述TLB中未缓存所述第一VA所在的页表项,则触发所述发送模块执行所述向所述MMU池发送地址转换请求的操作。
14.一种地址转换的装置,其特征在于,处理器包括多个物理核和一个内存管理单元MMU池,所述MMU池包括多个MMU,所述多个物理核与所述MMU池通过所述处理器的内部总线相连;所述装置用于所述MMU池,所述装置包括:
接收模块,用于接收第一物理核发送的地址转换请求,所述地址转换请求携带待转换的第一虚拟地址VA,所述第一物理核为所述多个物理核中的任一物理核;
地址转换模块,用于将所述第一VA转换为第一物理地址PA;
发送模块,用于向所述第一物理核发送地址转换响应,所述地址转换响应携带所述第一PA。
15.如权利要求14所述的装置,其特征在于,所述地址转换模块具体用于:
从内存页表中查询所述第一VA所在的页表项,以得到所述第一VA对应的所述第一PA,所述内存页表记录有内存所有VA所在的页表项,一个页表项包含一个VA与一个PA之间的映射关系。
16.如权利要求14所述的装置,其特征在于,所述多个MMU对应一个管理模块;
所述地址转换模块具体用于:
通过所述管理模块从所述多个MMU中选择一个MMU作为目标MMU;
通过所述目标MMU将所述第一VA转换为所述第一PA。
17.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被计算机执行时实现权利要求7至8任一所述的方法的步骤,或者,实现权利要求9至11任一所述的方法的步骤。
18.一种计算机程序产品,其特征在于,所述计算机程序产品内存储有计算机指令,所述计算机指令被计算机执行时实现权利要求7至8任一所述的方法的步骤,或者,实现权利要求9至11任一所述的方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/110069 WO2023093122A1 (zh) | 2021-11-25 | 2022-08-03 | 处理器、地址转换的方法、装置、存储介质及程序产品 |
EP22897217.0A EP4418133A4 (en) | 2021-11-25 | 2022-08-03 | PROCESSOR, ADDRESS TRANSLATION METHOD AND APPARATUS, STORAGE MEDIUM AND PROGRAM PRODUCT |
US18/673,967 US20240330202A1 (en) | 2021-11-25 | 2024-05-24 | Processor, Address Translation Method and Apparatus, Storage Medium, and Program Product |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111417305 | 2021-11-25 | ||
CN2021114173059 | 2021-11-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166577A true CN116166577A (zh) | 2023-05-26 |
Family
ID=86411897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210087387.3A Pending CN116166577A (zh) | 2021-11-25 | 2022-01-25 | 处理器、地址转换的方法、装置、存储介质及程序产品 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240330202A1 (zh) |
EP (1) | EP4418133A4 (zh) |
CN (1) | CN116166577A (zh) |
WO (1) | WO2023093122A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5983332A (en) * | 1996-07-01 | 1999-11-09 | Sun Microsystems, Inc. | Asynchronous transfer mode (ATM) segmentation and reassembly unit virtual address translation unit architecture |
US9405700B2 (en) * | 2010-11-04 | 2016-08-02 | Sonics, Inc. | Methods and apparatus for virtualization in an integrated circuit |
KR102002900B1 (ko) * | 2013-01-07 | 2019-07-23 | 삼성전자 주식회사 | 메모리 관리 유닛을 포함하는 시스템 온 칩 및 그 메모리 주소 변환 방법 |
US10114760B2 (en) * | 2014-01-14 | 2018-10-30 | Nvidia Corporation | Method and system for implementing multi-stage translation of virtual addresses |
CN105302765A (zh) * | 2014-07-22 | 2016-02-03 | 电信科学技术研究院 | 一种系统级芯片及其内存访问管理方法 |
CN112748848A (zh) * | 2019-10-29 | 2021-05-04 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、设备和计算机程序产品 |
-
2022
- 2022-01-25 CN CN202210087387.3A patent/CN116166577A/zh active Pending
- 2022-08-03 EP EP22897217.0A patent/EP4418133A4/en active Pending
- 2022-08-03 WO PCT/CN2022/110069 patent/WO2023093122A1/zh active Application Filing
-
2024
- 2024-05-24 US US18/673,967 patent/US20240330202A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240330202A1 (en) | 2024-10-03 |
WO2023093122A1 (zh) | 2023-06-01 |
EP4418133A1 (en) | 2024-08-21 |
EP4418133A4 (en) | 2024-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102386495B1 (ko) | 데이터에 액세스하는 방법, 장치, 기기 및 매체 | |
US20210089470A1 (en) | Address translation methods and systems | |
US20210089468A1 (en) | Memory management unit, address translation method, and processor | |
US11836079B2 (en) | Storage management apparatus, storage management method, processor, and computer system | |
CN111949572A (zh) | 页表条目合并方法、装置及电子设备 | |
CN104346294A (zh) | 基于多级缓存的数据读/写方法、装置和计算机系统 | |
CN116594925B (zh) | 一种地址转换系统、处理器、地址转换方法及电子设备 | |
US9984003B2 (en) | Mapping processing method for a cache address in a processor to provide a color bit in a huge page technology | |
CN113722247B (zh) | 物理内存保护单元、物理内存权限控制方法和处理器 | |
CN115292214A (zh) | 页表预测方法、存储访问操作方法、电子装置和电子设备 | |
CN116383101A (zh) | 内存访问方法、内存管理单元、芯片、设备和存储介质 | |
CN115934587A (zh) | 内存管理单元和内存管理方法 | |
US12032489B2 (en) | Input output memory management unit and electronic device having the same | |
CN116166577A (zh) | 处理器、地址转换的方法、装置、存储介质及程序产品 | |
WO2023029756A1 (en) | Sleep / wake-up performance enhancing for simultaneous address translation table walks | |
CN114925002A (zh) | 电子装置、电子设备和地址转换方法 | |
WO2021008552A1 (zh) | 数据读取方法和装置、计算机可读存储介质 | |
CN115061955A (zh) | 处理器、电子设备、地址翻译方法以及缓存页表项方法 | |
US11003591B2 (en) | Arithmetic processor, information processing device and control method of arithmetic processor | |
WO2024139790A1 (zh) | 一种页表缓存方法以及存储系统 | |
EP3017374A1 (en) | Lookup of a data structure containing a mapping between a virtual address space and a physical address space | |
CN117851289B (zh) | 页表获取方法、系统、电子组件及电子设备 | |
WO2023155552A1 (zh) | 内存访问的方法、装置、存储介质及计算机程序产品 | |
WO2020103568A1 (zh) | Dsp处理器、系统以及外部存储空间访问方法 | |
CN114925000A (zh) | 地址转换方法、电子装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |