[go: up one dir, main page]

CN114925000A - Address conversion method, electronic device, and electronic equipment - Google Patents

Address conversion method, electronic device, and electronic equipment Download PDF

Info

Publication number
CN114925000A
CN114925000A CN202210538290.XA CN202210538290A CN114925000A CN 114925000 A CN114925000 A CN 114925000A CN 202210538290 A CN202210538290 A CN 202210538290A CN 114925000 A CN114925000 A CN 114925000A
Authority
CN
China
Prior art keywords
page table
address
unit
interconnect
interconnection
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
Application number
CN202210538290.XA
Other languages
Chinese (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.)
Shanghai Biren Intelligent Technology Co Ltd
Original Assignee
Shanghai Biren Intelligent Technology Co 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 Shanghai Biren Intelligent Technology Co Ltd filed Critical Shanghai Biren Intelligent Technology Co Ltd
Priority to CN202210538290.XA priority Critical patent/CN114925000A/en
Publication of CN114925000A publication Critical patent/CN114925000A/en
Pending legal-status Critical Current

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

An address translation method, an electronic device and an electronic apparatus. The address translation method comprises the following steps: acquiring a target address to be converted; generating a read page table request using the target address and issuing the read page table request over the first interconnect; enabling the page table query unit to receive a page table reading request sent by a first interconnection, and querying at least one page table step by step from the storage device according to the page table reading request to obtain a first address corresponding to the target address; and enabling the page table query unit to return the queried first address through the first interconnection. According to the address translation method, the page table query unit reads the page table from the storage device without the bus or on-chip interconnection, or reads the page table from the storage device by fewer buses or on-chip interconnections, so that the time delay of reading the page table from the storage device by the buses or on-chip interconnections is reduced, and the efficiency of address translation is improved.

Description

地址转换方法、电子装置和电子设备Address conversion method, electronic device, and electronic equipment

技术领域technical field

本公开的实施例涉及一种地址转换方法、电子装置和电子设备。Embodiments of the present disclosure relate to an address translation method, an electronic device, and an electronic device.

背景技术Background technique

在计算机技术领域,程序设计人员可以使用系统规定范围内的任意虚拟地址(Virtual Address,VA)而非物理地址来编写程序,中央处理器(Central ProcessingUnit,CPU)执行应用程序时所使用的地址是虚拟地址。通常系统中运行不同的进程被赋予不同的虚拟地址空间,每个进程的虚拟地址空间覆盖了一个较大的范围。例如,在给进程分配内存、进程访问内存时,需要把虚拟地址映射到物理地址(Physical Address,PA),物理地址才是真正的物理内存访问地址。将虚拟地址和物理地址进行区分使用,已经成为行业的主流趋势。In the field of computer technology, programmers can use any virtual address (Virtual Address, VA) within the specified range of the system to write programs instead of physical addresses. The address used by the Central Processing Unit (CPU) to execute the application program is virtual address. Usually different processes running in the system are given different virtual address spaces, and the virtual address space of each process covers a large range. For example, when allocating memory to a process and accessing memory, a virtual address needs to be mapped to a physical address (Physical Address, PA), and the physical address is the real physical memory access address. It has become a mainstream trend in the industry to distinguish between virtual addresses and physical addresses.

发明内容SUMMARY OF THE INVENTION

本公开至少一实施例提供一种地址转换方法,包括:获取待转换的目标地址;使用所述目标地址产生读取页表请求,并经第一互联发出所述读取页表请求;使页表查询单元接收经所述第一互联发出的所述读取页表请求,并根据所述读取页表请求从存储装置中经逐级查询至少一级页表以获得与所述目标地址对应的第一地址;使所述页表查询单元将查询得到的所述第一地址经所述第一互联返回。At least one embodiment of the present disclosure provides an address translation method, including: obtaining a target address to be translated; generating a page table read request using the target address, and issuing the page table read request via a first interconnect; The table query unit receives the read page table request sent through the first interconnection, and according to the read page table request, queries at least one level of page tables from the storage device step by step to obtain a page table corresponding to the target address the first address; enabling the page table query unit to return the first address obtained by the query through the first interconnection.

例如,在本公开至少一实施例提供的地址转换方法中,使用所述目标地址产生所述读取页表请求是在执行地址转换的存储管理单元中未缓存有与所述目标地址对应的所述第一地址的情形下进行的。For example, in the address translation method provided by at least one embodiment of the present disclosure, generating the page table read request using the target address is that all the addresses corresponding to the target address are not cached in the storage management unit that performs address translation. performed in the case of the first address mentioned above.

例如,在本公开至少一实施例提供的地址转换方法中,所述第一互联包括第一互联单元,经所述第一互联单元发出所述读取页表请求,以及接收经所述第一互联单元发出的所述读取页表请求。For example, in the address translation method provided by at least one embodiment of the present disclosure, the first interconnection includes a first interconnection unit, and the read page table request is issued through the first interconnection unit, and received through the first interconnection unit. The read page table request issued by the interconnect unit.

例如,在本公开至少一实施例提供的地址转换方法中,所述第一互联单元包括总线或片上互联。For example, in the address translation method provided by at least one embodiment of the present disclosure, the first interconnection unit includes a bus or an on-chip interconnection.

例如,在本公开至少一实施例提供的地址转换方法中,所述第一互联还包括第二互联单元和第三互联单元,所述第一互联单元经所述第二互联单元与所述第三互联单元通信;依次经所述第一互联单元、所述第二互联单元与所述第三互联单元发出所述读取页表请求。For example, in the address translation method provided by at least one embodiment of the present disclosure, the first interconnection further includes a second interconnection unit and a third interconnection unit, and the first interconnection unit communicates with the first interconnection unit via the second interconnection unit. The three interconnection units communicate; the request for reading the page table is sent through the first interconnection unit, the second interconnection unit and the third interconnection unit in sequence.

例如,在本公开至少一实施例提供的地址转换方法中,接收依次经所述第三互联单元、所述第二互联单元与所述第一互联单元发出的所述读取页表请求。For example, in the address translation method provided in at least one embodiment of the present disclosure, the request for reading the page table sent through the third interconnection unit, the second interconnection unit, and the first interconnection unit in sequence is received.

例如,在本公开至少一实施例提供的地址转换方法中,所述第二互联单元包括晶片间连接,所述第三互联单元包括总线或片上互联。For example, in the address translation method provided by at least one embodiment of the present disclosure, the second interconnection unit includes an inter-die connection, and the third interconnection unit includes a bus or an on-chip interconnection.

例如,在本公开至少一实施例提供的地址转换方法中,所述经逐级查询至少一级页表以获得与所述目标地址对应的第一地址,与所述使用所述目标地址产生所述读取页表请求,分别在不同的晶片中执行。For example, in the address translation method provided by at least one embodiment of the present disclosure, the step-by-step query at least one-level page table to obtain the first address corresponding to the target address, and the generation of the target address by using the target address. The above read page table request is executed in different wafers respectively.

例如,在本公开至少一实施例提供的地址转换方法中,所述目标地址为虚拟地址,所述第一地址为物理地址;或者,所述目标地址为虚拟地址,所述第一地址为中间物理地址;或者,所述目标地址为中间物理地址,所述第一地址为物理地址。For example, in the address translation method provided by at least one embodiment of the present disclosure, the target address is a virtual address, and the first address is a physical address; or, the target address is a virtual address, and the first address is an intermediate address physical address; or, the target address is an intermediate physical address, and the first address is a physical address.

本公开至少一实施例还提供一种电子装置,包括:第一互联;存储管理单元,与所述第一互联耦接,且配置为:获取目标地址,使用所述目标地址产生读取页表请求,以及经所述第一互联发出所述读取页表请求;页表查询单元,与所述第一互联耦接,且配置为:接收经所述第一互联发出的所述读取页表请求,根据所述读取页表请求从存储装置中经逐级查询至少一级页表以获得与所述目标地址对应的第一地址,以及将查询得到的所述第一地址经所述第一互联返回所述存储管理单元。At least one embodiment of the present disclosure further provides an electronic device, including: a first interconnection; a storage management unit coupled to the first interconnection and configured to: obtain a target address, and use the target address to generate a read page table requesting, and issuing the read page table request via the first interconnect; a page table query unit, coupled to the first interconnect, and configured to: receive the read page issued via the first interconnect According to the read page table request, at least one level of page table is queried from the storage device by level to obtain a first address corresponding to the target address, and the first address obtained by the query is processed by the The first interconnect returns to the storage management unit.

例如,在本公开至少一实施例提供的电子装置中,所述存储管理单元为系统存储管理单元。For example, in the electronic device provided in at least one embodiment of the present disclosure, the storage management unit is a system storage management unit.

例如,在本公开至少一实施例提供的电子装置中,所述页表查询单元对应于多个不同的存储管理单元。For example, in the electronic device provided by at least one embodiment of the present disclosure, the page table query unit corresponds to a plurality of different storage management units.

例如,在本公开至少一实施例提供的电子装置中,所述存储管理单元和所述页表查询单元分别位于不同的晶片中,且所述第一互连包括晶片间连接。For example, in the electronic device provided in at least one embodiment of the present disclosure, the storage management unit and the page table lookup unit are respectively located in different wafers, and the first interconnection includes an inter-die connection.

本公开至少一实施例还提供一种电子设备,该电子设备包括本公开任一实施例提供的电子装置,所述电子设备还包括所述存储装置,其中,所述存储装置配置为存储多级页表。At least one embodiment of the present disclosure further provides an electronic device, the electronic device includes the electronic device provided in any embodiment of the present disclosure, the electronic device further includes the storage device, wherein the storage device is configured to store multiple levels of page table.

例如,在本公开至少一实施例提供的电子设备中,所述页表查询单元还配置为直接访问所述存储装置或通过另一互联与所述存储装置耦接,其中,所述另一互联与所述第一互联不同。For example, in the electronic device provided in at least one embodiment of the present disclosure, the page table query unit is further configured to directly access the storage device or be coupled to the storage device through another interconnection, wherein the other interconnection Different from the first interconnect.

例如,在本公开至少一实施例提供的电子设备中,对于所述页表查询单元直接访问所述存储装置的情形,所述存储装置包括存储控制器,所述存储控制器包括所述页表查询单元,或者,所述存储装置包括缓存,所述缓存包括所述页表查询单元。For example, in the electronic device provided by at least one embodiment of the present disclosure, in the case that the page table query unit directly accesses the storage device, the storage device includes a storage controller, and the storage controller includes the page table A query unit, or the storage device includes a cache, and the cache includes the page table query unit.

例如,在本公开至少一实施例提供的电子设备中,所述存储装置为双倍速率同步动态随机存储器。For example, in the electronic device provided in at least one embodiment of the present disclosure, the storage device is a double-rate synchronous dynamic random access memory.

附图说明Description of drawings

为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。In order to explain the technical solutions of the embodiments of the present disclosure more clearly, the accompanying drawings of the embodiments will be briefly introduced below. Obviously, the drawings in the following description only relate to some embodiments of the present disclosure, rather than limit the present disclosure. .

图1为一种系统存储管理单元的工作原理图;Fig. 1 is a working principle diagram of a system storage management unit;

图2为本公开至少一实施例提供的一种地址转换方法的流程示意图;2 is a schematic flowchart of an address translation method provided by at least one embodiment of the present disclosure;

图3为图2中步骤S10~步骤S30的示例的示意图;FIG. 3 is a schematic diagram of an example of steps S10 to S30 in FIG. 2;

图4为图2中步骤S40的示例的示意图;FIG. 4 is a schematic diagram of an example of step S40 in FIG. 2;

图5为图2中步骤S10~步骤S40的一示例的示意图;FIG. 5 is a schematic diagram of an example of steps S10 to S40 in FIG. 2;

图6为图2中步骤S10~步骤S40的另一示例的示意图;FIG. 6 is a schematic diagram of another example of steps S10 to S40 in FIG. 2;

图7为本公开至少一实施例提供的一种电子装置的示意框图;FIG. 7 is a schematic block diagram of an electronic device according to at least one embodiment of the present disclosure;

图8为本公开至少一实施例提供的一种电子设备的示意框图;8 is a schematic block diagram of an electronic device according to at least one embodiment of the present disclosure;

图9为本公开至少一实施例提供的另一种电子设备的示意框图;以及FIG. 9 is a schematic block diagram of another electronic device provided by at least one embodiment of the present disclosure; and

图10为本公开至少一实施例提供的又一种电子设备的示意框图。FIG. 10 is a schematic block diagram of yet another electronic device provided by at least one embodiment of the present disclosure.

具体实施方式Detailed ways

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present disclosure more clear, the technical solutions of the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present disclosure. Obviously, the described embodiments are some, but not all, embodiments of the present disclosure. Based on the described embodiments of the present disclosure, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the protection scope of the present disclosure.

除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。Unless otherwise defined, technical or scientific terms used in this disclosure shall have the ordinary meaning as understood by one of ordinary skill in the art to which this disclosure belongs. As used in this disclosure, "first," "second," and similar terms do not denote any order, quantity, or importance, but are merely used to distinguish the various components. Likewise, words such as "a," "an," or "the" do not denote a limitation of quantity, but rather denote the presence of at least one. "Comprises" or "comprising" and similar words mean that the elements or things appearing before the word encompass the elements or things recited after the word and their equivalents, but do not exclude other elements or things. Words like "connected" or "connected" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Up", "Down", "Left", "Right", etc. are only used to represent the relative positional relationship, and when the absolute position of the described object changes, the relative positional relationship may also change accordingly.

下面通过几个具体的实施例对本公开进行说明。为了保持本公开实施例的以下说明清楚且简明,可省略已知功能和已知部件的详细说明。当本公开实施例的任一部件在一个以上的附图中出现时,该部件在每个附图中由相同或类似的参考标号表示。The present disclosure will be described below through several specific embodiments. In order to keep the following description of the embodiments of the present disclosure clear and concise, detailed descriptions of well-known functions and well-known components may be omitted. When any element of an embodiment of the present disclosure appears in more than one drawing, the element is represented by the same or a similar reference number in each drawing.

存储管理单元(Memory Management Unit,MMU)在计算机系统中介于执行单元(例如CPU或CPU的处理器核)和存储器之间,提供从虚拟地址向物理地址的转换。从虚拟地址到物理地址这一过程被称为地址转换(或映射)。例如,用户程序执行背后的数据/指令地址等都是虚拟地址,虚拟地址由执行单元发出,被MMU拦截并转换为物理地址。MMU还可以具有例如内存属性转换、权限检查等其他功能。A memory management unit (Memory Management Unit, MMU) is located between an execution unit (such as a CPU or a processor core of a CPU) and a memory in a computer system, and provides translation from virtual addresses to physical addresses. The process of going from a virtual address to a physical address is called address translation (or mapping). For example, the data/instruction addresses behind the execution of the user program are all virtual addresses. The virtual addresses are issued by the execution unit, intercepted by the MMU and converted into physical addresses. The MMU can also have other functions such as memory attribute translation, permission checking, etc.

系统存储管理单元(System Memory Management Unit,SMMU)广泛应用于各种片上系统(System on Chip,SoC)中,介于I/O外设与例如总线之间,作为一种存储管理单元,同样主要用于针对外设的从虚拟地址到物理地址的转换,也即是,将虚拟地址转换成对应的物理地址。The System Memory Management Unit (SMMU) is widely used in various systems on a chip (SoC), between I/O peripherals and, for example, a bus. As a memory management unit, it is also mainly For translation from virtual addresses to physical addresses for peripherals, that is, to convert virtual addresses to corresponding physical addresses.

虚拟地址到物理地址的转换规则(映射规则)保存在页表中,页表保存在系统的存储装置中。MMU(例如SMMU)包括页表查询单元(Page Walker Unit,PWU)和转换后备缓冲器(Translation Lookaside Buffer,TLB)。为了实现一次虚拟地址到物理地址的转换,首先MMU先到TLB中查询其中是否已经缓存有对应的物理地址,如果TLB中有(hit),则直接完成转换工作,如果TLB中没有(miss),那么就需要MMU通过PWU使用虚拟地址单次或多次去系统的存储装置(例如,双倍速率同步动态随机存储器(Double Data Rate SDRAM,DDR))查询用于转换的页表,最终得到与虚拟地址对应的物理地址,由此可以实现对于物理地址的访问操作。The translation rules (mapping rules) of virtual addresses to physical addresses are stored in the page table, which is stored in the storage device of the system. An MMU (eg, SMMU) includes a Page Walker Unit (PWU) and a Translation Lookaside Buffer (TLB). In order to realize a virtual address-to-physical address conversion, MMU first goes to the TLB to check whether the corresponding physical address has been cached. If there is a (hit) in the TLB, the conversion is completed directly. Then the MMU needs to use the virtual address through the PWU to go to the system storage device (for example, double-rate synchronous dynamic random access memory (Double Data Rate SDRAM, DDR)) one or more times to query the page table for conversion, and finally get the same as the virtual address. The physical address corresponding to the address, so that the access operation to the physical address can be realized.

图1为一种系统存储管理单元的工作原理图。如图1所示,应用于专用集成电路(ASIC)或可编辑逻辑器件(FPGA)的预先设计好的电路功能模块被称为知识产权核(Intellectual Property Core,IP核),或者也称为IP。IP可以是ASIC或FPGA中使用的任意的逻辑模块或功能模块,例如滤波器、内存控制器、接口程序等,在本公开中使用IP核来指代电路功能模块,本公开的实施例对电路功能模块的具体功能、结构等不作限制。FIG. 1 is a working principle diagram of a system storage management unit. As shown in Figure 1, a pre-designed circuit functional module applied to an application specific integrated circuit (ASIC) or programmable logic device (FPGA) is called an intellectual property core (Intellectual Property Core, IP core), or also called IP . IP can be any logic module or functional module used in ASIC or FPGA, such as filter, memory controller, interface program, etc. In this disclosure, an IP core is used to refer to a circuit functional module. The specific functions and structures of the functional modules are not limited.

例如,如图1所示,以SMMU为例,当IP要进行例如读写访问时,首先发出要访问的虚拟地址VA;SMMU接收到虚拟地址VA后需要进行从虚拟地址到物理地址的转换,为了进行该转换,SMMU需要使用虚拟地址VA中对应于页表的高位字段(通常称为索引(index)部分)到DDR中读取页表;读回页表的内容后,SMMU根据页表的内容,结合虚拟地址VA中对应于偏移地址的低位字段(通常称为偏移(offset)部分),把虚拟地址VA转换为物理地址PA并输出,然后继续该物理地址进行后续的访问操作。For example, as shown in Figure 1, taking SMMU as an example, when IP wants to perform read and write access, it first sends out the virtual address VA to be accessed; after SMMU receives the virtual address VA, it needs to convert from virtual address to physical address. In order to perform this conversion, the SMMU needs to use the high-order field (usually called the index part) corresponding to the page table in the virtual address VA to read the page table into the DDR; The content, combined with the lower field of the virtual address VA corresponding to the offset address (usually referred to as the offset part), converts the virtual address VA into a physical address PA and outputs it, and then continues the physical address for subsequent access operations.

将SMMU去DDR读取页表的行为,简称为PTW(Page Table Walking)。为了实现一次虚拟地址VA到物理地址PA的转换,在操作系统使用多级页表的情形,SMMU需要做多次PTW操作。例如,图1以常用地址位宽为48位(bit),页面粒度为4KB、共有4级页表(第0级页表到第3级页表)为例进行说明。在该示例中,虚拟地址中高36位为索引部分,低12位为偏移部分。索引部分包括4个9bit组成字段,从高位到低位的顺序分别对应第0级到第3级页表。SMMU收到IP发送过来的虚拟地址VA后,获取虚拟地址VA中的索引部分,基于对应于第0级到第3级页表各字段,SMMU需要依次做4次PTW(例如,分别命名为PTW0、PTW1、PTW2和PTW3)。例如,SMMU做PTW把读取页表请求以及相应的地址字段发送给片上网络(Network-on-chip,NoC,作为片上互联的示例),NoC再把读取页表请求送到DDR,然后在DDR中根据读取页表请求访问对应的页表(第0级~第3级页表中某一),从DDR取回从页表中读取的页表内容。The act of reading the page table from the SMMU to the DDR is referred to as PTW (Page Table Walking). In order to implement a conversion from a virtual address VA to a physical address PA, when the operating system uses a multi-level page table, the SMMU needs to perform multiple PTW operations. For example, FIG. 1 takes as an example a common address bit width of 48 bits (bit), a page granularity of 4KB, and a total of 4 levels of page tables (level 0 page table to level 3 page table). In this example, the upper 36 bits of the virtual address are the index part, and the lower 12 bits are the offset part. The index part includes four 9-bit fields, and the order from high order to low order corresponds to the 0th level to the 3rd level page table respectively. After SMMU receives the virtual address VA sent by IP, it obtains the index part of the virtual address VA. Based on the fields of the page table corresponding to level 0 to level 3, SMMU needs to perform PTW 4 times in turn (for example, named PTW0 , PTW1, PTW2 and PTW3). For example, the SMMU does PTW to send the read page table request and the corresponding address field to the on-chip network (Network-on-chip, NoC, as an example of on-chip interconnection), and the NoC sends the read page table request to the DDR, and then in the In the DDR, the corresponding page table (one of the 0th level to the 3rd level page table) is accessed according to the read page table request, and the page table content read from the page table is retrieved from the DDR.

例如,如图1所示,PTW0根据例如页表基地址寄存器记录的多级页表的起始物理地址,使用对应的第0级字段访问第0级页表,从第0级页表取回的页表内容是PTW1在DDR中要访问的第1级页表的存储地址Addr0;PTW1使用对应的第1级字段访问第1级页表,从第1级页表取回的页表内容是PTW2在DDR中要访问的第2级页表的存储地址Addr1;PTW2使用对应的第2级字段访问第2级页表,从第2级页表取回的页表内容是PTW3在DDR中要访问的第3级页表的存储地址Addr2;PTW3使用对应的第3级字段访问第3级页表,从第3级页表取回的页表内容为目标页面的存储地址(例如为物理地址),该目标页面的存储地址加上虚拟地址VA中的偏移部分就可以得到虚拟地址VA对应的物理地址PA。For example, as shown in Figure 1, PTW0 uses the corresponding level 0 field to access the level 0 page table according to the starting physical address of the multi-level page table recorded by the page table base address register, for example, and retrieves it from the level 0 page table. The content of the page table is the storage address Addr0 of the level 1 page table to be accessed by PTW1 in the DDR; PTW1 uses the corresponding level 1 field to access the level 1 page table, and the content of the page table retrieved from the level 1 page table is The storage address Addr1 of the second-level page table to be accessed by PTW2 in DDR; PTW2 uses the corresponding second-level field to access the second-level page table, and the content of the page table retrieved from the second-level page table is that PTW3 needs to be in the DDR The storage address Addr2 of the accessed third-level page table; PTW3 uses the corresponding third-level field to access the third-level page table, and the content of the page table retrieved from the third-level page table is the storage address of the target page (for example, the physical address ), the storage address of the target page plus the offset part in the virtual address VA can obtain the physical address PA corresponding to the virtual address VA.

因此,为了进行地址转换从虚拟地址VA得到物理地址PA,需要首先根据虚拟地址VA中的索引部分进行并完成PTW0、PTW1、PTW2和PTW3。SMMU每做一次PTW都要经过NoC并访问DDR,因此需要经历在NoC上的延时和访问DDR的延时。例如,NoC上的延时用“noc_delay”表示,访问DDR的延时用“ddr_delay”表示。对于如图1所示的方案,SMMU完成一次虚拟地址VA到物理地址PA的转换需要4次PTW,则需要的总延时Delay0至少可以按如下计算:Therefore, in order to perform address translation to obtain the physical address PA from the virtual address VA, it is necessary to first perform and complete PTW0, PTW1, PTW2 and PTW3 according to the index part in the virtual address VA. Every time the SMMU does a PTW, it has to go through the NoC and access the DDR, so it needs to experience the delay on the NoC and the delay in accessing the DDR. For example, the delay on NoC is represented by "noc_delay", and the delay of accessing DDR is represented by "ddr_delay". For the scheme shown in Figure 1, SMMU needs 4 PTWs to complete a conversion from virtual address VA to physical address PA, and the total required delay Delay0 can be calculated at least as follows:

Delay0=4*noc_delay+4*ddr_delay 公式(1)Delay0=4*noc_delay+4*ddr_delay Formula (1)

由于在计算机系统中,各个功能电路模块之间的大部分通信过程都要经过总线或片上互联(例如NoC),总线或片上互联上很忙碌,存在大量的资源竞争的情形,因此SMMU每做一次PTW在总线或片上互联上产生的延时较大。由此可知,SMMU每次去存储装置读取页表都需要耗费大量的时间,导致虚拟地址到物理地址的转换需要花费很长的时间,因此降低了SoC的效率与性能。Because in a computer system, most of the communication process between each functional circuit module must go through the bus or on-chip interconnection (such as NoC), the bus or on-chip interconnection is very busy, and there is a lot of resource competition, so every time SMMU does a PTWs create large delays on the bus or on-chip interconnects. From this, it can be seen that each time the SMMU goes to the storage device to read the page table, it takes a lot of time, resulting in a long time for the conversion of virtual addresses to physical addresses, thus reducing the efficiency and performance of the SoC.

本公开至少一实施例提供一种地址转换方法,该地址转换方法包括:获取待转换的目标地址;使用目标地址产生读取页表请求,并经第一互联发出读取页表请求;使页表查询单元接收经第一互联发出的读取页表请求,并根据读取页表请求从存储装置中经逐级查询至少一级页表以获得与目标地址对应的第一地址;使页表查询单元将查询得到的第一地址经第一互联返回。At least one embodiment of the present disclosure provides an address translation method, the address translation method includes: obtaining a target address to be translated; using the target address to generate a page table read request, and issuing a read page table request through a first interconnection; The table query unit receives the read page table request sent through the first interconnection, and according to the read page table request, queries at least one level of page tables from the storage device step by step to obtain the first address corresponding to the target address; make the page table The query unit returns the first address obtained by the query through the first interconnection.

本公开至少一实施例还提供一种对应于执行上述地址转换方法的电子装置。At least one embodiment of the present disclosure further provides an electronic device corresponding to executing the above address translation method.

本公开至少一实施例还提供一种对应于上述电子装置的电子设备。At least one embodiment of the present disclosure further provides an electronic device corresponding to the above electronic device.

本公开至少一实施例提供的地址转换方法、电子装置和电子设备,在进行地址转换的过程中,使页表查询单元不经过总线或片上互联从存储装置中读取页表,或者经过更少的总线或片上互联从存储装置中读取页表,从而减少了总线或片上互联从存储装置读取页表的延时,提升了地址转换的效率,改善了例如SoC的效率与性能。In the address translation method, electronic device, and electronic device provided by at least one embodiment of the present disclosure, in the process of address translation, the page table query unit is made to read the page table from the storage device without going through a bus or on-chip interconnection, or through less The bus or on-chip interconnection reads the page table from the storage device, thereby reducing the delay of reading the page table from the storage device by the bus or on-chip interconnection, improving the efficiency of address translation, and improving the efficiency and performance of, for example, SoC.

下面,将参考附图详细地说明本公开至少一实施例。应当注意的是,不同的附图中相同的附图标记将用于指代已描述的相同的元件。Hereinafter, at least one embodiment of the present disclosure will be described in detail with reference to the accompanying drawings. It should be noted that the same reference numerals will be used in different drawings to refer to the same elements that have been described.

图2为本公开至少一实施例提供的一种地址转换方法的流程示意图。FIG. 2 is a schematic flowchart of an address translation method provided by at least one embodiment of the present disclosure.

例如,如图2所示,本公开至少一实施例提供了一种地址转换方法,用于在计算机系统中进行地址转换,例如将虚拟地址转换为物理地址,由此可以使用转换得到的物理地址对目标地址进行访问,该目标地址可以指向例如存储装置中的存储地址,可以指向该计算机系统内的某个功能电路模块,例如直接存储访问(DMA)单元、PCIE设备等。例如,该计算机系统包括至少一个存储管理单元(MMU)(例如SMMU)以及独立于MMU设置的页表访问单元(PWU),例如页表访问单元通过互联与存储管理单元耦接、通信,而不再是MMU的一部分或不再直接与MMU耦接、通信,因此页表访问单元没有设置在存储管理单元内部。上述地址转换方法可以通过存储管理单元以及页表访问单元来执行。如图2所示,该地址转换方法包括以下步骤S10~S40。For example, as shown in FIG. 2, at least one embodiment of the present disclosure provides an address translation method for performing address translation in a computer system, for example, converting a virtual address into a physical address, so that the converted physical address can be used The target address is accessed, and the target address may point to, for example, a storage address in a storage device, or may point to a certain functional circuit module in the computer system, such as a direct memory access (DMA) unit, a PCIE device, and the like. For example, the computer system includes at least one memory management unit (MMU) (eg, SMMU) and a page table access unit (PWU) provided independently of the MMU, eg, the page table access unit is coupled and communicated with the memory management unit through an interconnect, without It is a part of the MMU or is no longer directly coupled and communicated with the MMU, so the page table access unit is not set inside the storage management unit. The above-mentioned address translation method can be performed by a memory management unit and a page table access unit. As shown in FIG. 2, the address conversion method includes the following steps S10-S40.

步骤S10:获取待转换的目标地址;Step S10: obtaining the target address to be converted;

步骤S20:使用目标地址产生读取页表请求,并经第一互联发出读取页表请求;Step S20: use the target address to generate a request for reading the page table, and issue a request for reading the page table through the first interconnection;

步骤S30:使页表查询单元接收经第一互联发出的读取页表请求,并根据读取页表请求从存储装置中经逐级查询至少一级页表以获得与目标地址对应的第一地址;Step S30: Make the page table query unit receive the read page table request sent through the first interconnection, and according to the read page table request, query at least one level of page tables from the storage device step by step to obtain the first page table corresponding to the target address. address;

步骤S40:使页表查询单元将查询得到的第一地址经第一互联返回。Step S40: The page table query unit returns the first address obtained by the query through the first interconnection.

例如,存储管理单元在系统中整体上用于执行上述步骤S10~S40中从目标地址到第一地址的转换,并且在这个过程中进一步借助PWU来进行该转换操作。例如,存储管理单元可以为SMMU,该存储管理单元例如可以进一步包括TLB;在其他实施例中,存储管理单元也可以为其他能够实现地址转换功能的电子元件,本公开的实施例对此不作限制。For example, the storage management unit is used in the system as a whole to perform the conversion from the target address to the first address in the above steps S10-S40, and in this process, the conversion operation is further performed by means of the PWU. For example, the storage management unit may be an SMMU, for example, the storage management unit may further include a TLB; in other embodiments, the storage management unit may also be other electronic components capable of implementing an address translation function, which is not limited in the embodiments of the present disclosure .

例如,目标地址为需要进行转换的虚拟地址,第一地址为物理地址;或者,目标地址为需要进行转换的虚拟地址,第一地址为中间物理地址(Intermediate PhysicalAddress,IPA);或者,目标地址为需要进行转换的中间物理地址,第一地址为物理地址。For example, the target address is a virtual address that needs to be converted, and the first address is a physical address; or, the target address is a virtual address that needs to be converted, and the first address is an intermediate physical address (Intermediate PhysicalAddress, IPA); Or, the target address is The intermediate physical address to be converted, the first address is the physical address.

例如,中间物理地址PA是计算机虚拟化之后引入的一个概念。对于支持虚拟化的计算机系统,每一个虚拟机系统(guest OS)不能直接将虚拟地址VA映射到整个系统的物理地址PA,而是映射到一个受限的物理地址空间上。因此在支持虚拟化的计算机系统中,虚拟机系统(guest OS)负责将虚拟地址VA映射到中间物理地址PA,而虚拟机监视器(Hypervisor)则负责将中间物理地址PA映射到具体的物理地址PA上去,从虚拟地址VA到中间物理地址PA以及从中间物理地址PA到物理地址PA都分别涉及地址转换操作,且都可以通过本公开至少一实施例的地址转换方法进行。For example, the intermediate physical address PA is a concept introduced after computer virtualization. For a computer system supporting virtualization, each virtual machine system (guest OS) cannot directly map the virtual address VA to the physical address PA of the entire system, but maps to a limited physical address space. Therefore, in a computer system that supports virtualization, the virtual machine system (guest OS) is responsible for mapping the virtual address VA to the intermediate physical address PA, and the virtual machine monitor (Hypervisor) is responsible for mapping the intermediate physical address PA to a specific physical address. From the virtual address VA to the intermediate physical address PA and from the intermediate physical address PA to the physical address PA, address translation operations are involved, respectively, and can be performed by the address translation method of at least one embodiment of the present disclosure.

例如,使用目标地址产生读取页表请求是在执行地址转换的存储管理单元的TLB中未缓存有与目标地址对应的第一地址的情形下进行的。例如,当存储管理单元执行目标地址到第一地址的转换时,如果存储管理单元的TLB中缓存有与目标地址对应的第一地址,则存储管理单元不产生读取页表请求,而是直接在存储管理单元的TLB内部完成目标地址到第一地址的转换;如果存储管理单元的TLB中未缓存有与目标地址对应的第一地址,则存储管理单元产生读取页表请求,并执行例如步骤S10~S40中的地址转换。For example, using the target address to generate the request to read the page table is performed under the condition that the first address corresponding to the target address is not cached in the TLB of the memory management unit that performs address translation. For example, when the storage management unit performs the conversion from the target address to the first address, if the first address corresponding to the target address is cached in the TLB of the storage management unit, the storage management unit does not generate a request to read the page table, but directly The conversion of the target address to the first address is completed inside the TLB of the storage management unit; if the first address corresponding to the target address is not cached in the TLB of the storage management unit, the storage management unit generates a request to read the page table, and executes, for example, Address conversion in steps S10 to S40.

例如,在至少一个实施例中,计算机系统可以包括多个存储管理单元以及至少一个独立于这些存储管理单元的页表查询单元,例如,每个页表查询单元可以用于对应的一个存储管理单元,也可以用于对应的多个不同的存储管理单元,也即,多个存储管理单元可以共享例如一个页表查询单元。For example, in at least one embodiment, a computer system may include a plurality of storage management units and at least one page table query unit independent of these storage management units, for example, each page table query unit may be used for a corresponding storage management unit , which can also be used for corresponding multiple different storage management units, that is, multiple storage management units can share, for example, one page table query unit.

例如,在至少一个实施例中,存储管理单元和页表查询单元可以位于同一个晶片(die)中,二者通过片上互联彼此耦接、通信;在至少一个实施例中,存储管理单元和页表查询单元也可以分别位于不同的晶片(die)中,用于存储管理单元和页表查询单元的彼此耦接、通信的第一互连包括晶片间连接(die-to-die,D2D)。For example, in at least one embodiment, the storage management unit and the page table lookup unit may be located in the same die, and the two are coupled and communicate with each other through an on-chip interconnect; in at least one embodiment, the storage management unit and the page table The table lookup units may also be located in different dies, respectively, and the first interconnect for coupling and communication of the storage management unit and the page table lookup unit includes die-to-die (D2D).

图3为图2中步骤S10~步骤S30的示例的示意图;图4为图2中步骤S40的示例的示意图。FIG. 3 is a schematic diagram of an example of steps S10 to S30 in FIG. 2 ; FIG. 4 is a schematic diagram of an example of step S40 in FIG. 2 .

例如,如图3所示,在步骤S10中,存储管理单元110获取IP或处理器(IP/CPU)300发出的对于目标地址101的访问请求,由此产生对于目标地址的地址转换请求。在步骤S20中,存储管理单元110使用目标地址101产生读取页表请求102。以系统使用n级页表为例,即以存储管理单元110需要到存储装置200中做n次读取页表行为为例,读取页表请求102包括PTW0、PTW1、……、PTWn-1;存储管理单元110经第一互联120向远端的页表查询单元130发出读取页表请求102。在步骤S30中,页表查询单元130经第一互联120接收来自存储管理单元110的读取页表请求102,并根据读取页表请求102从存储装置200中经逐级查询至少一级页表(即n大于等于1,例如n等于3或4)以获得与目标地址101对应的第一地址。例如,在该目标地址为虚拟地址的情形,该第一地址可以是物理地址或中间物理地址。For example, as shown in FIG. 3, in step S10, the storage management unit 110 acquires the IP or the access request for the target address 101 issued by the processor (IP/CPU) 300, thereby generating an address translation request for the target address. In step S20 , the storage management unit 110 uses the target address 101 to generate a read page table request 102 . Taking the system using n-level page tables as an example, that is, taking the storage management unit 110 needing to read the page table n times from the storage device 200 as an example, the page table read request 102 includes PTW0, PTW1, . . . , PTWn-1 ; The storage management unit 110 sends a page table read request 102 to the remote page table query unit 130 via the first interconnection 120 . In step S30 , the page table query unit 130 receives the read page table request 102 from the storage management unit 110 via the first interconnection 120 , and queries at least one level of pages from the storage device 200 by level according to the read page table request 102 . A table (ie, n is greater than or equal to 1, for example, n is equal to 3 or 4) to obtain the first address corresponding to the target address 101 . For example, in the case that the target address is a virtual address, the first address may be a physical address or an intermediate physical address.

例如,如图3所示,页表查询单元130从存储装置200中逐级查询至少一级页表以获得与目标地址101对应的第一地址的过程如下:PTW0根据例如页表基地址寄存器记录的多级页表的起始物理地址,使用对应的第0级字段访问第0级页表,从第0级页表取回的页表内容是PTW1在DDR中要访问的第1级页表的存储地址Addr0;PTW1使用对应的第1级字段访问第1级页表,从第1级页表取回的页表内容是PTW2在DDR中要访问的第2级页表的存储地址Addr1;PTW2使用对应的第2级字段访问第2级页表,从第2级页表取回的页表内容是PTW3在DDR中要访问的第3级页表的存储地址Addr2;……;PTWn-1使用对应的第n-1级字段访问第n-1级页表,从第n-1级页表取回的页表内容为目标页表的存储地址,该目标页表的存储地址加上虚拟地址VA中的偏移部分就可以得到目标地址对应的第一地址。For example, as shown in FIG. 3 , the process of querying at least one level of page tables from the storage device 200 by the page table query unit 130 to obtain the first address corresponding to the target address 101 is as follows: PTW0 records according to, for example, the page table base address register The starting physical address of the multi-level page table, use the corresponding level 0 field to access the level 0 page table, and the content of the page table retrieved from the level 0 page table is the level 1 page table to be accessed by PTW1 in the DDR The storage address Addr0; PTW1 uses the corresponding first-level field to access the first-level page table, and the content of the page table retrieved from the first-level page table is the storage address Addr1 of the second-level page table to be accessed by PTW2 in the DDR; PTW2 uses the corresponding level 2 field to access the level 2 page table, and the content of the page table retrieved from the level 2 page table is the storage address Addr2 of the level 3 page table to be accessed by PTW3 in the DDR;...;PTWn- 1 Use the corresponding n-1 level field to access the n-1 level page table, the page table content retrieved from the n-1 level page table is the storage address of the target page table, the storage address of the target page table plus The offset part in the virtual address VA can obtain the first address corresponding to the target address.

例如,如图4所示,在步骤S40中,页表查询单元130将查询得到的多级页表103(Addr0/Addr1/……/Addr n-2/第一地址)的结果(这里为第一地址),经第一互联120一次性返回给存储管理单元110;存储管理单元110将获得的第一地址1031输出,以用于后续的操作(例如访问存储装置或外设),从而完成了图3中的目标地址101到第一地址1031的转换。For example, as shown in FIG. 4, in step S40, the page table query unit 130 will query the result of the multi-level page table 103 (Addr0/Addr1/.../Addr n-2/first address) (here, the first address). an address), which is returned to the storage management unit 110 once through the first interconnection 120; the storage management unit 110 outputs the obtained first address 1031 for subsequent operations (such as accessing a storage device or peripheral device), thus completing the The translation of the target address 101 to the first address 1031 in FIG. 3 .

例如,目标地址101为虚拟地址VA,第一地址1031为物理地址PA;或者,目标地址101为虚拟地址VA,第一地址1031为中间物理地址IPA;或者,目标地址101为中间物理地址IPA,第一地址1031为物理地址PA。For example, the target address 101 is the virtual address VA, and the first address 1031 is the physical address PA; or, the target address 101 is the virtual address VA, and the first address 1031 is the intermediate physical address IPA; or, the target address 101 is the intermediate physical address IPA, The first address 1031 is the physical address PA.

例如,存储管理单元110使用目标地址101产生读取页表请求102(PTW0、PTW1、……、PTWn-1)是在执行地址转换的存储管理单元110中(例如TLB中)未缓存有与目标地址101对应的第一地址1031的情形下进行的。例如,当存储管理单元110执行目标地址101到第一地址1031的转换时,如果存储管理单元110(例如TLB)中已经缓存有与目标地址101对应的第一地址1031,则存储管理单元110不产生读取页表请求102,而是直接在存储管理单元110内部完成目标地址101到第一地址1031的转换;如果存储管理单元110中未缓存有与目标地址101对应的第一地址1031,则存储管理单元110产生读取页表请求102,并执行例如步骤S10~S40中的地址转换。For example, the memory management unit 110 uses the target address 101 to generate the read page table request 102 (PTW0, PTW1, . It is performed when the address 101 corresponds to the first address 1031. For example, when the storage management unit 110 performs the conversion from the target address 101 to the first address 1031, if the first address 1031 corresponding to the target address 101 is already cached in the storage management unit 110 (eg TLB), the storage management unit 110 does not Generate the read page table request 102, but directly complete the conversion from the target address 101 to the first address 1031 inside the storage management unit 110; if the storage management unit 110 does not cache the first address 1031 corresponding to the target address 101, then The storage management unit 110 generates the read page table request 102, and performs, for example, the address translation in steps S10-S40.

例如,如图3和图4所示,在本公开至少一实施例提供的地址转换方法中,存储管理单元110只要发出一次读取页表请求102,就可以通过页表查询单元130直接从存储装置200中查询得到多级页表103,从而获得第一地址1031。例如,第一互联120上的延时用“noc_delay”表示,访问存储装置200的延时用“ddr_delay”表示。存储管理单元110完成一次目标地址101到第一地址1031的转换需要n次PTW,则需要的总延时Delay1可以表示为:For example, as shown in FIG. 3 and FIG. 4 , in the address translation method provided by at least one embodiment of the present disclosure, the storage management unit 110 only needs to issue a page table read request 102 once, and the page table query unit 130 The device 200 obtains the multi-level page table 103 by querying, thereby obtaining the first address 1031 . For example, the delay on the first interconnect 120 is represented by "noc_delay", and the delay in accessing the storage device 200 is represented by "ddr_delay". The storage management unit 110 needs n times of PTW to complete one conversion from the target address 101 to the first address 1031, and the required total delay Delay1 can be expressed as:

Delay1=1*noc_delay+n*ddr_delay 公式(2)Delay1=1*noc_delay+n*ddr_delay Formula (2)

将公式(2)与公式(1)作对比,以n=4为例,相比图1中的方案,Delay1相比Delay0减少了3次第一互联120从存储装置200读取页表的延时(3*noc_delay)。Comparing formula (2) with formula (1), taking n=4 as an example, compared to the solution in FIG. 1, Delay1 reduces the delay of the first interconnection 120 reading the page table from the storage device 200 by three times compared to Delay0. time(3*noc_delay).

由此可知,页表查询单元130可以不经过第一互联120例如直接从存储装置200中读取页表以获得第一地址1031,从而减少了第一互联120从存储装置200读取页表的延时,提升了目标地址101到第一地址1031的转换效率,提高例如SoC的效率和性能。It can be seen from this that the page table query unit 130 can directly read the page table from the storage device 200 to obtain the first address 1031 without going through the first interconnection 120 , thereby reducing the time required for the first interconnection 120 to read the page table from the storage device 200 . The delay improves the conversion efficiency from the target address 101 to the first address 1031, and improves the efficiency and performance of the SoC, for example.

在上述实施例的另一个示例中,存储管理单元自身可以包括例如第0级页表且存储管理单元自身也具有(至少部分)页表查询功能,那么存储管理单元对于基于目标地址产生的初始读取页表请求,可以在本地(即存储管理单元内)直接执行PTW0,之后使用查询第0级页表获得的获得的第1级页表的存储地址Addr0、目标地址(或目标地址中除对应于第0级页表的字段之外的其余地址部分)等得到进一步的读取页表请求,将该进一步的读取页表请求发送到独立于存储管理单元的页表查询单元进行后续的页表查询操作,得到对应于目标地址的第一地址,该第一地址被返回到存储管理单元。该示例同样能够减少在查询页表过程中由于通过第一互联操作所造成的延时,从而提高例如SoC的效率和性能。In another example of the above-mentioned embodiment, the storage management unit itself may include, for example, a level 0 page table, and the storage management unit itself also has (at least part of) a page table query function, then the storage management unit can perform an initial read based on the target address for To request a page table, you can directly execute PTW0 locally (that is, in the storage management unit), and then use the storage address Addr0 of the first-level page table obtained by querying the level-0 page table, and the target address (or the target address except the corresponding obtain a further read page table request, and send the further read page table request to the page table query unit independent of the storage management unit for subsequent pages The table lookup operation obtains the first address corresponding to the target address, and the first address is returned to the storage management unit. This example can also reduce the delay caused by the operation through the first interconnection in the process of querying the page table, thereby improving, for example, the efficiency and performance of the SoC.

图5为图2中步骤S10~步骤S40的一示例的示意图;图6为图2中步骤S10~步骤S40的另一示例的示意图。FIG. 5 is a schematic diagram of an example of steps S10 to S40 in FIG. 2 ; FIG. 6 is a schematic diagram of another example of steps S10 to S40 in FIG. 2 .

例如,步骤S20中的“使用目标地址产生读取页表请求”的操作,与步骤S30中的“经逐级查询至少一级页表以获得与目标地址对应的第一地址”的操作,可以在一个晶片(die)中执行,或者分别在不同的晶片(die)中执行。例如,图5所示为上述两个操作在一个晶片(die)中执行的情况,此时存储管理单元110和页表查询单元130位于同一个晶片(die)中,二者通过第一互联彼此耦接、通信;例如,图6所示为上述两个操作分别在不同的晶片(die)中执行的情况,此时存储管理单元110和页表查询单元130分别位于不同的晶片(die)中,二者通过第一互联以及其他互联彼此耦接、通信。For example, the operation of "using the target address to generate a request to read the page table" in step S20 and the operation of "inquiring at least one level of page tables step by step to obtain the first address corresponding to the target address" in step S30 can be Executed in one die, or separately in different dies. For example, FIG. 5 shows the case where the above two operations are performed in one die, at this time the storage management unit 110 and the page table lookup unit 130 are located in the same die, and the two are connected to each other through the first interconnection Coupling and communication; for example, FIG. 6 shows the situation where the above two operations are performed in different dies, and the storage management unit 110 and the page table query unit 130 are located in different dies. , the two are coupled and communicated with each other through the first interconnection and other interconnections.

例如,如图5所示,第一互联120包括第一互联单元121。存储管理单元110经第一互联单元121发出读取页表请求102,页表查询单元130接收经第一互联单元121发出的读取页表请求102。For example, as shown in FIG. 5 , the first interconnection 120 includes a first interconnection unit 121 . The storage management unit 110 sends the page table read request 102 via the first interconnection unit 121 , and the page table query unit 130 receives the page table read request 102 sent through the first interconnection unit 121 .

例如,如图5所示,在步骤S10中,存储管理单元110获取IP/CPU 300发出的目标地址101。在步骤S20中,存储管理单元110使用目标地址101产生读取页表请求102(PTW0、PTW1、……、PTWn-1);存储管理单元110经第一互联单元121发出读取页表请求102。在步骤S30中,页表查询单元130接收经第一互联单元121发出的读取页表请求102,并根据读取页表请求102从存储装置200中经逐级查询至少一级页表以获得与目标地址101对应的第一地址。在步骤S40中,页表查询单元130将查询得到的多级页表103(Addr0/Addr1/……/Addrn-2/第一地址)经第一互联单元121一次性返回给存储管理单元110;存储管理单元110将获得的第一地址1031输出,从而完成了目标地址101到第一地址1031的转换。For example, as shown in FIG. 5 , in step S10 , the storage management unit 110 acquires the target address 101 issued by the IP/CPU 300 . In step S20, the storage management unit 110 uses the target address 101 to generate a read page table request 102 (PTW0, PTW1, . . In step S30, the page table query unit 130 receives the read page table request 102 sent by the first interconnection unit 121, and queries at least one level of page tables from the storage device 200 according to the read page table request 102 to obtain the The first address corresponding to the target address 101. In step S40, the page table query unit 130 returns the multi-level page table 103 (Addr0/Addr1/.../Addrn-2/first address) obtained by the query to the storage management unit 110 at one time through the first interconnection unit 121; The storage management unit 110 outputs the obtained first address 1031, thereby completing the conversion of the target address 101 to the first address 1031.

例如,第一互联单元121可以为总线或片上互联,或者也可以为其他能够实现地址传输功能的电子元件,例如,该片上互联可以为片上网络(NoC),该片上网络可以为交叉(Switch)网络、环形(ring)网络、树形(Tree)网络、网格(Mesh)网络、环面(Torus)网络等,本公开的实施例对此不作限制。For example, the first interconnection unit 121 may be a bus or an on-chip interconnection, or may also be other electronic components capable of implementing an address transmission function. For example, the on-chip interconnection may be a network-on-chip (NoC), and the on-chip network may be a switch (Switch). A network, a ring (ring) network, a tree (Tree) network, a mesh (Mesh) network, a torus (Torus) network, etc., are not limited in the embodiments of the present disclosure.

例如,如图6所示,第一互联120还包括第二互联单元122和第三互联单元123。第一互联单元121经第二互联单元122与第三互联单元123通信。例如,存储管理单元110依次经第一互联单元121、第二互联单元122与第三互联单元123发出读取页表请求102,页表查询单元130接收依次经第三互联单元123、第二互联单元122与第一互联单元121发出的读取页表请求102。For example, as shown in FIG. 6 , the first interconnection 120 further includes a second interconnection unit 122 and a third interconnection unit 123 . The first interconnection unit 121 communicates with the third interconnection unit 123 via the second interconnection unit 122 . For example, the storage management unit 110 sends out the page table read request 102 through the first interconnection unit 121, the second interconnection unit 122, and the third interconnection unit 123 in sequence, and the page table query unit 130 receives the request through the third interconnection unit 123, the second interconnection unit 123, and the second interconnection unit 123. The read page table request 102 issued by the unit 122 and the first interconnection unit 121 .

例如,如图6所示,在步骤S10中,存储管理单元110获取IP/CPU 300发出的目标地址101。在步骤S20中,存储管理单元110使用目标地址101产生读取页表请求102(PTW0、PTW1、……、PTWn-1);存储管理单元110依次经第一互联单元121、第二互联单元122与第三互联单元123发出读取页表请求102。在步骤S30中,页表查询单元130接收依次经第三互联单元123、第二互联单元122与第一互联单元121发出的读取页表请求102,并根据读取页表请求102从存储装置200中经逐级查询至少一级页表以获得与目标地址101对应的第一地址。在步骤S40中,页表查询单元130将查询得到的多级页表103(Addr0/Addr1/……/Addrn-2/第一地址)依次经第三互联单元123、第二互联单元122与第一互联单元121一次性返回给存储管理单元110;存储管理单元110将获得的第一地址1031输出,从而完成了目标地址101到第一地址1031的转换。For example, as shown in FIG. 6 , in step S10 , the storage management unit 110 acquires the target address 101 issued by the IP/CPU 300 . In step S20, the storage management unit 110 uses the target address 101 to generate a page table read request 102 (PTW0, PTW1, . The read page table request 102 is issued with the third interconnection unit 123 . In step S30 , the page table query unit 130 receives the page table read request 102 sent by the third interconnection unit 123 , the second interconnection unit 122 and the first interconnection unit 121 in sequence, and reads the page table request 102 from the storage device according to the read page table request 102 . In 200, at least one level of page table is queried step by step to obtain the first address corresponding to the target address 101. In step S40, the page table query unit 130 sequentially connects the multi-level page table 103 (Addr0/Addr1/.../Addrn-2/first address) obtained by the query through the third interconnection unit 123, the second interconnection unit 122 and the first address. An interconnection unit 121 returns to the storage management unit 110 at one time; the storage management unit 110 outputs the obtained first address 1031, thereby completing the conversion from the target address 101 to the first address 1031.

例如,第三互联单元123和第一互联单元121可以为总线或片上互联,或者也可以为其他能够实现地址传输功能的电子元件,例如,该片上互联可以为片上网络(NoC),该片上网络可以为交叉(Switch)网络、环形(ring)网络、树形(Tree)网络、网格(Mesh)网络、环面(Torus)网络等,本公开的实施例对此不作限制;第二互联单元122包括晶片间连接(D2D),或者也可以为其他能够实现不同晶片(die)之间连接功能的电子元件,本公开的实施例对此不作限制。For example, the third interconnection unit 123 and the first interconnection unit 121 may be a bus or an on-chip interconnection, or may be other electronic components capable of implementing an address transmission function. For example, the on-chip interconnection may be a network on chip (NoC), which It can be a cross (Switch) network, a ring (ring) network, a tree (Tree) network, a mesh (Mesh) network, a torus (Torus) network, etc., which are not limited in the embodiments of the present disclosure; the second interconnection unit 122 includes inter-die connection (D2D), or may be other electronic components capable of realizing the connection function between different dies, which is not limited by the embodiment of the present disclosure.

图7为本公开至少一实施例提供的一种电子装置的示意框图。FIG. 7 is a schematic block diagram of an electronic device according to at least one embodiment of the present disclosure.

例如,如图7所示,该电子装置100包括第一互联120、存储管理单元110和页表查询单元130,可执行根据本公开任一实施例的地址转换方法。存储管理单元110与第一互联120耦接,且配置为:获取目标地址101;使用目标地址101产生读取页表请求102;以及经第一互联120发出读取页表请求102。页表查询单元130与第一互联120耦接,且配置为:接收经第一互联120发出的读取页表请求102,根据读取页表请求102从存储装置中经逐级查询至少一级页表以获得与目标地址102对应的第一地址1031,以及将查询得到的多级页表103经第一互联120返回存储管理单元110;存储管理单元110将获得的第一地址1031输出,从而完成了目标地址101到第一地址1031的转换。For example, as shown in FIG. 7 , the electronic device 100 includes a first interconnection 120 , a storage management unit 110 and a page table query unit 130 , and can execute the address translation method according to any embodiment of the present disclosure. The storage management unit 110 is coupled to the first interconnection 120 and is configured to: obtain the target address 101 ; generate a page table read request 102 using the target address 101 ; and issue a page table read request 102 via the first interconnection 120 . The page table query unit 130 is coupled to the first interconnection 120, and is configured to: receive the page table read request 102 sent by the first interconnection 120, and query at least one level from the storage device according to the read page table request 102. The page table obtains the first address 1031 corresponding to the target address 102, and returns the multi-level page table 103 obtained by the query to the storage management unit 110 via the first interconnection 120; the storage management unit 110 outputs the obtained first address 1031, thereby The conversion of the target address 101 to the first address 1031 is completed.

同样地,在该实施例中,例如,存储管理单元110可以为SMMU,也可以为其他能够实现地址转换功能的电子元件,本公开的实施例对此不作限制。例如,存储管理单元110和页表查询130单元可以位于同一个晶片(die)中;也可以分别位于不同的晶片(die)中,且第一互连包括晶片间连接(D2D)。例如,页表查询单元130可以用于同一个存储管理单元110,也可以用于多个不同的存储管理单元110。Likewise, in this embodiment, for example, the storage management unit 110 may be an SMMU, or may be other electronic components capable of implementing an address translation function, which are not limited in the embodiments of the present disclosure. For example, the storage management unit 110 and the page table lookup unit 130 may be located in the same die; or may be located in different dies, and the first interconnection includes inter-die connection (D2D). For example, the page table query unit 130 may be used for the same storage management unit 110 , or may be used for multiple different storage management units 110 .

图8为本公开至少一实施例提供的一种电子设备的示意框图。FIG. 8 is a schematic block diagram of an electronic device according to at least one embodiment of the present disclosure.

例如,如图8所示,该电子设备10包括例如图7所示的电子装置100和存储装置200。存储装置200配置为存储多级页表,包括在图3~图6中页表查询单元130查询得到的多级页表103(Addr0/Addr1/……/Addr n-2/第一地址)。For example, as shown in FIG. 8 , the electronic device 10 includes, for example, the electronic device 100 and the storage device 200 shown in FIG. 7 . The storage device 200 is configured to store multi-level page tables, including the multi-level page tables 103 (Addr0/Addr1/.../Addr n-2/first address) obtained by the page table query unit 130 in FIGS. 3 to 6 .

例如,如图8所示,电子装置100获取目标地址101,使用目标地址101产生读取页表请求102,并根据读取页表请求102从存储装置200中经查询得到多级页表103以获得与目标地址102对应的第一地址1031。电子装置100将获得的第一地址1031输出,从而完成了目标地址101到第一地址1031的转换。For example, as shown in FIG. 8 , the electronic device 100 obtains the target address 101 , uses the target address 101 to generate a read page table request 102 , and obtains the multi-level page table 103 from the storage device 200 through query according to the read page table request 102 to The first address 1031 corresponding to the target address 102 is obtained. The electronic device 100 outputs the obtained first address 1031 , thereby completing the conversion from the target address 101 to the first address 1031 .

例如,存储装置200可以包括DDR,也可以为其他能够存储多级页表的存储器件,本公开的实施例对此不作限制。For example, the storage device 200 may include DDR, or may be other storage devices capable of storing multi-level page tables, which are not limited in the embodiments of the present disclosure.

例如,在如图8所示的电子设备10中,电子装置100的页表查询单元130还配置为直接访问存储装置200或通过另一互联(图中未示出)与存储装置200耦接,该另一互联与第一互联120不同。For example, in the electronic device 10 shown in FIG. 8 , the page table query unit 130 of the electronic device 100 is further configured to directly access the storage device 200 or be coupled to the storage device 200 through another interconnection (not shown in the figure), This further interconnection is different from the first interconnection 120 .

例如,对于页表查询单元130通过另一互联与存储装置200耦接的情形,该另一互联与第一互联120不同,在这种情形,页表查询单元130访问存储装置200的过程不经过第一互联120,因此减少了第一互联120从存储装置200读取页表的延时,进而提升了目标地址101到第一地址1031的转换效率。For example, for the case where the page table query unit 130 is coupled with the storage device 200 through another interconnection, the other interconnection is different from the first interconnection 120, in this case, the process of the page table query unit 130 accessing the storage device 200 does not go through The first interconnection 120 thus reduces the delay of the first interconnection 120 reading the page table from the storage device 200 , thereby improving the conversion efficiency of the target address 101 to the first address 1031 .

图9为本公开至少一实施例提供的另一种电子设备的示意框图。FIG. 9 is a schematic block diagram of another electronic device provided by at least one embodiment of the present disclosure.

例如,如图9所示,对于页表查询单元130直接访问存储装置200的情形,页表查询单元130可以集成在存储装置200中,因此可以无需再经过其他总线或片上互联而直接访问存储装置200。此时,页表查询单元130访问存储装置200的过程同样不经过第一互联120,因此减少了第一互联120从存储装置200读取页表的延时,进而提升了目标地址101到第一地址1031的转换效率。For example, as shown in FIG. 9 , in the case where the page table query unit 130 directly accesses the storage device 200, the page table query unit 130 can be integrated in the storage device 200, so it can directly access the storage device without going through another bus or on-chip interconnection 200. At this time, the process of accessing the storage device 200 by the page table query unit 130 also does not pass through the first interconnection 120, thus reducing the delay of the first interconnection 120 reading the page table from the storage device 200, thereby increasing the target address 101 to the first interconnection 120. Conversion efficiency of address 1031.

对于该情形,存储装置200例如可以包括存储控制器(memory controller,MC),该存储控制器包括页表查询单元130,即,页表查询单元130集成在存储控制器中,存储控制器用于管理对于存储装置的读写操作等;或者,存储装置200例如可以包括缓存(cache),该缓存(cache)包括页表查询单元130;或者,也可以是页表查询单元130集成在存储装置200中的其他部件中,本公开的实施例对此不作限制。In this case, the storage device 200 may include, for example, a memory controller (MC), which includes a page table query unit 130, that is, the page table query unit 130 is integrated in the memory controller, and the memory controller is used for managing For read and write operations of the storage device, etc.; alternatively, the storage device 200 may include, for example, a cache, and the cache (cache) includes the page table query unit 130 ; or, the page table query unit 130 may also be integrated in the storage device 200 Among other components, the embodiments of the present disclosure are not limited thereto.

图10为本公开至少一实施例提供的又一种电子设备的示意框图。FIG. 10 is a schematic block diagram of yet another electronic device provided by at least one embodiment of the present disclosure.

例如,如图10所示,该电子设备400例如适于用来实施本公开实施例提供的地址转换方法。电子设备400可以是终端设备或服务器等。需要注意的是,图10示出的电子设备400仅是一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。For example, as shown in FIG. 10 , the electronic device 400 is, for example, suitable for implementing the address translation method provided by the embodiment of the present disclosure. The electronic device 400 may be a terminal device or a server or the like. It should be noted that the electronic device 400 shown in FIG. 10 is only an example, which does not impose any limitation on the function and scope of use of the embodiments of the present disclosure.

例如,如图10所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)41,其可以根据存储在只读存储器(ROM)42中的程序或者从存储装置48加载到随机访问存储器(RAM)43中的程序而执行各种适当的动作和处理。在RAM 43中,还存储有电子设备400操作所需的各种程序和数据。处理装置41、ROM 42以及RAM 43通过总线44彼此相连。输入/输出(I/O)接口45也连接至总线44。通常,以下装置可以连接至I/O接口45:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置46;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置37;包括例如磁带、硬盘等的存储装置48;以及通信装置49。通信装置49可以允许电子设备400与其他电子设备进行无线或有线通信以交换数据。虽然图10示出了具有各种装置的电子设备400,但应理解的是,并不要求实施或具备所有示出的装置,电子设备400可以替代地实施或具备更多或更少的装置。For example, as shown in FIG. 10, an electronic device 400 may include a processing device (eg, a central processing unit, a graphics processor, etc.) 41 that may be loaded into a program according to a program stored in a read only memory (ROM) 42 or from a storage device 48 A program in a random access memory (RAM) 43 executes various appropriate actions and processes. In the RAM 43, various programs and data necessary for the operation of the electronic device 400 are also stored. The processing device 41 , the ROM 42 , and the RAM 43 are connected to each other through a bus 44 . An input/output (I/O) interface 45 is also connected to bus 44 . Typically, the following devices can be connected to the I/O interface 45: input devices 46 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; including, for example, a liquid crystal display (LCD), speakers, vibration an output device 37 of a computer or the like; a storage device 48 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 49 . Communication means 49 may allow electronic device 400 to communicate wirelessly or by wire with other electronic devices to exchange data. Although FIG. 10 shows electronic device 400 having various means, it should be understood that not all of the illustrated means are required to be implemented or provided, and electronic device 400 may alternatively implement or implement more or less means.

关于电子设备10/400的详细说明和技术效果,可以参考上文中关于电子装置的描述,此处不再赘述。For the detailed description and technical effects of the electronic device 10/400, reference may be made to the above description of the electronic device, which will not be repeated here.

对于本公开,有以下几点需要说明:For this disclosure, the following points need to be noted:

(1)本公开实施例附图中,只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。(1) In the drawings of the embodiments of the present disclosure, only the structures involved in the embodiments of the present disclosure are involved, and other structures may refer to general designs.

(2)在不冲突的情况下,本公开同一实施例及不同实施例中的特征可以相互组合。(2) The features of the same embodiment and different embodiments of the present disclosure may be combined with each other without conflict.

以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。The above are only specific embodiments of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any person skilled in the art who is familiar with the technical scope of the present disclosure can easily think of changes or substitutions, which should cover within the scope of protection of the present disclosure. Therefore, the protection scope of the present disclosure should be subject to the protection scope of the claims.

Claims (17)

1. An address translation method, comprising:
acquiring a target address to be converted;
generating a read page table request using the target address and issuing the read page table request over a first interconnect;
enabling a page table query unit to receive the read page table request sent by the first interconnection, and querying at least one page table step by step from a storage device according to the read page table request to obtain a first address corresponding to the target address;
and enabling the page table query unit to return the queried first address through the first interconnection.
2. The method of claim 1, wherein generating the read page table request using the target address is performed in the event that the first address corresponding to the target address is not cached in a memory management unit performing address translation.
3. The method of claim 1, wherein the first interconnect comprises a first interconnect unit,
the method further includes issuing the read page table request via the first interconnect unit, and receiving the read page table request issued via the first interconnect unit.
4. The method of claim 3, wherein the first interconnect unit is a bus or an on-chip interconnect.
5. The method of claim 3, wherein the first interconnect further comprises a second interconnect unit and a third interconnect unit, the first interconnect unit communicating with the third interconnect unit via the second interconnect unit;
and sending the page table reading request sequentially through the first interconnection unit, the second interconnection unit and the third interconnection unit.
6. The method of claim 5, wherein the read page table request issued sequentially through the third interconnect unit, the second interconnect unit, and the first interconnect unit is received.
7. The method of claim 5, wherein the second interconnect unit comprises an inter-die connection and the third interconnect unit comprises a bus or an on-die interconnect.
8. The method of any of claims 5-7, wherein said generating said read page table request using said target address is performed in separate dies in association with said progressively consulting at least one page table to obtain a first address corresponding to said target address.
9. The method of claim 1, wherein the target address is a virtual address and the first address is a physical address; or,
the target address is a virtual address, and the first address is an intermediate physical address; or,
the target address is an intermediate physical address, and the first address is a physical address.
10. An electronic device, comprising:
a first interconnect;
a memory management unit coupled with the first interconnect and configured to: obtaining a target address, generating a read page table request using the target address, and issuing the read page table request over the first interconnect;
a page table walk unit coupled to the first interconnect and configured to: receiving the page table reading request sent by the first interconnection, querying at least one page table from a storage device step by step according to the page table reading request to obtain a first address corresponding to the target address, and returning the queried first address to the storage management unit through the first interconnection.
11. The electronic device of claim 10, wherein the storage management unit is a system storage management unit.
12. The electronic device of claim 10, wherein the page table walk unit corresponds to a plurality of different storage management units.
13. The electronic device of claim 11, wherein the memory management unit and the page table walk unit are each located in a different die, and the first interconnect comprises an inter-die connection.
14. An electronic device comprising the electronic apparatus of any of claims 10-13, the electronic device further comprising the memory device, wherein the memory device is configured to store a multi-level page table.
15. The electronic device of claim 14, wherein the page table walk unit is configured to access the storage directly or to be coupled with the storage through another interconnect, wherein the other interconnect is different from the first interconnect.
16. The electronic device of claim 15, wherein, for the case where the page table walk unit directly accesses the storage device, the storage device comprises a storage controller that comprises the page table walk unit, or,
the storage device includes a cache including the page table walk unit.
17. The electronic device of claim 14, wherein the storage is a double rate synchronous dynamic random access memory.
CN202210538290.XA 2022-05-17 2022-05-17 Address conversion method, electronic device, and electronic equipment Pending CN114925000A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210538290.XA CN114925000A (en) 2022-05-17 2022-05-17 Address conversion method, electronic device, and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210538290.XA CN114925000A (en) 2022-05-17 2022-05-17 Address conversion method, electronic device, and electronic equipment

Publications (1)

Publication Number Publication Date
CN114925000A true CN114925000A (en) 2022-08-19

Family

ID=82808836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210538290.XA Pending CN114925000A (en) 2022-05-17 2022-05-17 Address conversion method, electronic device, and electronic equipment

Country Status (1)

Country Link
CN (1) CN114925000A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763315A (en) * 2008-12-25 2010-06-30 芯邦科技(深圳)有限公司 Multi level cell-based data storage method and device thereof
CN106537362A (en) * 2014-07-29 2017-03-22 Arm 有限公司 A data processing apparatus, and a method of handling address translation within a data processing apparatus
CN107707491A (en) * 2017-09-28 2018-02-16 中国人民解放军国防科技大学 Device and method for realizing multilevel on-chip interconnection
CN113741977A (en) * 2021-11-04 2021-12-03 北京壁仞科技开发有限公司 Data operation method, data operation device and data processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763315A (en) * 2008-12-25 2010-06-30 芯邦科技(深圳)有限公司 Multi level cell-based data storage method and device thereof
CN106537362A (en) * 2014-07-29 2017-03-22 Arm 有限公司 A data processing apparatus, and a method of handling address translation within a data processing apparatus
CN107707491A (en) * 2017-09-28 2018-02-16 中国人民解放军国防科技大学 Device and method for realizing multilevel on-chip interconnection
CN113741977A (en) * 2021-11-04 2021-12-03 北京壁仞科技开发有限公司 Data operation method, data operation device and data processor

Similar Documents

Publication Publication Date Title
KR102386495B1 (en) Data accessing method and apparatus, device and medium
KR101593107B1 (en) Systems and methods for processing memory requests
US11474951B2 (en) Memory management unit, address translation method, and processor
JP6660374B2 (en) Memory virtualization for programmable logic
RU2491616C2 (en) Apparatus, method and system for managing matrices
CN116010296A (en) A method, device and system for processing requests
CN101216781B (en) Multiprocessor system, device and method
KR20220054389A (en) Optimizing Access to Page Table Entries on Processor-Based Devices
CN104360927A (en) Method for acquiring monitoring information of computer system structure based on NUMA (Non Uniform Memory Access)
JP2024512087A (en) Method and apparatus for offloading hierarchical memory management
CN112540938A (en) Processor core, processor, apparatus and method
CN116594925B (en) Address translation system, processor, address translation method and electronic equipment
JP6674460B2 (en) System and method for improved latency in a non-uniform memory architecture
TWI785320B (en) Intra-device notational data movement system, information handling system and method for providing intra-device notational data movement
JP2018501559A5 (en)
CN114238176B (en) Processor, address translation method for processor and electronic equipment
JP2016522915A (en) Shared memory system
US11275707B2 (en) Multi-core processor and inter-core data forwarding method
CN114925002A (en) Electronic device, electronic apparatus, and address conversion method
CN114925000A (en) Address conversion method, electronic device, and electronic equipment
JP6676052B2 (en) System and method for enabling improved latency in a non-uniform memory architecture
CN108959105A (en) A kind of method and device for realizing address of cache
CN119473939B (en) A data processing device, method and related equipment
JP2021529373A (en) Hardware-based virtual-physical address translation for system-on-chip programmable logic masters
CN116339916B (en) A memory virtualization method and device, electronic equipment and storage medium

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
CB02 Change of applicant information

Country or region after: China

Address after: 201100 room 1302, 13 / F, building 16, No. 2388, Chenhang highway, Minhang District, Shanghai

Applicant after: Shanghai Bi Ren Technology Co.,Ltd.

Address before: 201100 room 1302, 13 / F, building 16, No. 2388, Chenhang highway, Minhang District, Shanghai

Applicant before: Shanghai Bilin Intelligent Technology Co.,Ltd.

Country or region before: China

CB02 Change of applicant information