CN118365506A - MMU configuration method, graphics processing system, electronic component and equipment - Google Patents

MMU configuration method, graphics processing system, electronic component and equipment Download PDF

Info

Publication number
CN118365506A
CN118365506A CN202410788354.0A CN202410788354A CN118365506A CN 118365506 A CN118365506 A CN 118365506A CN 202410788354 A CN202410788354 A CN 202410788354A CN 118365506 A CN118365506 A CN 118365506A
Authority
CN
China
Prior art keywords
command
mmu
configuration
doorbell
information
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
CN202410788354.0A
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.)
Beijing Xiangdixian Computing Technology Co Ltd
Original Assignee
Beijing Xiangdixian Computing 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 Beijing Xiangdixian Computing Technology Co Ltd filed Critical Beijing Xiangdixian Computing Technology Co Ltd
Priority to CN202410788354.0A priority Critical patent/CN118365506A/en
Publication of CN118365506A publication Critical patent/CN118365506A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

The present disclosure provides an MMU configuration method, a graphics processing system, an electronic component, and a device. The method comprises the following steps: the host end sends a first doorbell command to the equipment end, wherein the first doorbell command carries identification information and configuration information of an MMU to be configured currently; responding to the completion of the first doorbell command processing, judging whether an MMU to be configured exists, and if so, returning to execute the step of sending the first doorbell command to the equipment terminal; the method comprises the steps that an equipment end responds to a first doorbell command sent by a host end, the MMU to be configured currently is determined according to identification information of the MMU to be configured currently carried in the first doorbell command, and the MMU to be configured currently is configured according to configuration information of the MMU to be configured currently carried in the first doorbell command; and informing the host side that the first doorbell command is processed.

Description

MMU configuration method, graphics processing system, electronic component and equipment
Technical Field
The present disclosure relates to the field of integrated MMU configuration management, and in particular, to an MMU configuration method, a graphics processing system, an electronic component, and an electronic device.
Background
The memory management unit (Memory Management Unit) is mainly responsible for the functions of memory mapping, memory protection and the like. Taking a graphics processing system based on PCIe protocol as an example, various IP (Intellectual Property ) modules are included in the system, such as GPU (Graphics Processing Unit, graphics processor), VPU (Video Processing Unit, video processor), DMA (Direct Memory Access ), DP (DisplayPort, display interface), NPU (Neural network Processing Unit, neural network processor), and the like. Each IP module has its own MMU, and the system implements memory mapping management (mapping of addresses with different widths, mapping of virtual addresses to physical addresses, etc.) through the MMU. In the prior art: the MMU of the Device side is mapped to the Host (Host) side through the PCIe interface, and the CPU of the Host side directly configures and manages the MMU of the Device side. The efficiency and overhead of such an implementation are to be optimized.
Disclosure of Invention
The purpose of the present disclosure is to provide an MMU configuration method, applied to a host, which includes:
Step 101, a first doorbell command is sent to a device side, wherein the first doorbell command carries identification information and configuration information of an MMU to be configured currently;
Step 103, in response to the completion of the first doorbell command processing, determining whether there is still an MMU to be configured, and if so, returning to step 101.
Optionally, the first doorbell command comprises:
A completion flag field, where the value of the completion flag field is used to indicate whether the first doorbell command is processed;
A command type field that takes a value indicating a command type of the first doorbell command, the command type comprising an MMU configuration command type;
An MMU identification field, where the MMU identification field carries identification information of an MMU to be currently configured;
and a configuration information field carrying configuration information of the MMU to be currently configured.
Optionally, the configuration information of the MMU to be configured includes a start address of the mapped virtual address and page table size information.
Optionally, step 103 includes:
Responding to the first doorbell command sent by the equipment end to process the corresponding second doorbell command, judging whether an MMU to be configured exists or not, and if so, returning to the step 101;
Or alternatively
And responding to the completion flag field value of the first doorbell command stored in a doorbell register of the equipment end to indicate that the first doorbell command processing is completed, judging whether an MMU to be configured is still available or not, and if yes, returning to the step 101.
According to one aspect of the present disclosure, there is provided an MMU configuration method, applied to a device side, the method including:
Step 200, responding to a first doorbell command sent by a host, determining a MMU to be configured currently according to identification information of the MMU to be configured currently carried in the first doorbell command, and configuring the MMU to be configured currently according to configuration information of the MMU to be configured currently carried in the first doorbell command;
step 202, notifying the host computer that the first doorbell command is processed.
Optionally, step 200 includes:
Determining that the command type of the first doorbell command is an MMU configuration command type according to the value of the command type field of the first doorbell command;
Determining the MMU to be configured currently according to the identification information of the MMU to be configured currently carried in the MMU identification field of the first doorbell command;
and configuring the MMU to be configured currently according to the configuration information of the MMU to be configured currently carried by the configuration information field of the first doorbell command.
Optionally, the configuration information of the MMU to be configured includes a start address of the mapped virtual address and page table size information.
Optionally, the step 202 includes:
Sending a second doorbell command corresponding to the completion of the first doorbell command processing to the host side; or alternatively
And sending a second doorbell command corresponding to the completion of the first doorbell command processing to the host side, and assigning a completion flag field of the first doorbell command stored in a doorbell register of the equipment side to indicate that the first doorbell command processing is completed.
According to one aspect of the present disclosure, there is provided an MMU configuration method applied to a host side, the method including:
Step 301, storing a configuration command of at least one MMU to be configured into a storage space of a device side, wherein the configuration command carries identification information and configuration information of the MMU to be configured;
Step 303, sending a third doorbell command corresponding to the configuration command to a device side, where the third doorbell command carries a storage address of the configuration command in a storage space of the device side.
Optionally, before step 301, the method further includes:
Applying for a first configuration command buffer area in a storage space of a host; generating the configuration command in the first configuration command buffer; applying for a second configuration command buffer area in the equipment side storage space, and writing the address of the second configuration command buffer area into the third doorbell command as the storage address of the configuration command in the equipment side storage space; copying the configuration command from the first command buffer to the second configuration command buffer and updating a write pointer of the second configuration command buffer; or alternatively
Applying for a configuration command buffer area in a device side storage space, and writing an address of the configuration command buffer area into the third doorbell command as a storage address of the configuration command in the device side storage space; generating the configuration command in the configuration command buffer area, and updating the write pointer of the configuration command buffer area.
Optionally, the configuration information includes a storage address of a page table to be updated and page table size information.
According to another aspect of the disclosure, the disclosure provides an MMU configuration method, applied to a device side, the method comprising:
Step 400, responding to a third doorbell command sent by a host side, and determining a storage address of a configuration command of an MMU to be configured in a storage space of a device side according to a storage address carried in the third doorbell command;
Step 402, a configuration command is obtained from the storage address, the MMU to be configured is determined according to the identification information of the MMU to be configured carried in the configuration command, and the MMU to be configured is configured according to the configuration information of the MMU to be configured carried in the configuration command.
Optionally, the configuration information includes a storage address of a page table to be updated and page table size information.
Optionally, the configuration command is stored in a configuration command buffer of the device side storage space, and the method further includes:
step 404, updating the read pointer of the configuration command buffer, and determining whether the configuration command buffer has a configuration command to be processed by comparing the read pointer and the write pointer of the configuration command buffer, and if so, returning to step 402.
According to another aspect of the present disclosure, the present disclosure provides a graphics processing system including an MMU configuration module configured to perform a device-side MMU configuration method.
According to another aspect of the present disclosure, there is provided an electronic component including the graphics processing system of the above embodiments.
According to another aspect of the present disclosure, there is provided an electronic device including the electronic component described in the above embodiment and a processor configured to perform an MMU configuration method at a host side.
Drawings
FIG. 1 is a flowchart of a method for MMU configuration at a host side according to one embodiment of the present disclosure;
FIG. 2 is a flowchart of an MMU configuration method at a device side according to an embodiment of the present disclosure;
FIG. 3 is a flowchart illustrating a method for MMU configuration at a host according to another embodiment of the present disclosure;
Fig. 4 is a flowchart of an MMU configuration method at a device side according to another embodiment of the present disclosure.
Detailed Description
Before describing embodiments of the present disclosure, it should be noted that:
Some embodiments of the disclosure are described as process flows, in which the various operational steps of the flows may be numbered sequentially, but may be performed in parallel, concurrently, or simultaneously.
The terms "first," "second," and the like may be used in embodiments of the present disclosure to describe various features, but these features should not be limited by these terms. These terms are only used to distinguish one feature from another.
The term "and/or," "and/or" may be used in embodiments of the present disclosure to include any and all combinations of one or more of the associated features listed.
It will be understood that when two elements are described in a connected or communicating relationship, unless a direct connection or direct communication between the two elements is explicitly stated, connection or communication between the two elements may be understood as direct connection or communication, as well as indirect connection or communication via intermediate elements.
In order to make the technical solutions and advantages of the embodiments of the present disclosure more apparent, the following detailed description of exemplary embodiments of the present disclosure is provided in conjunction with the accompanying drawings, and it is apparent that the described embodiments are only some embodiments of the present disclosure, not all embodiments of which are exhaustive. It should be noted that, without conflict, the embodiments of the present disclosure and features of the embodiments may be combined with each other.
The purpose of the present disclosure is to provide an MMU configuration method, applied to a Host (Host) end, as shown in fig. 1, including:
Step 101, a first doorbell command is sent to a Device (Device) end, where the first doorbell command carries identification information and configuration information of an MMU to be configured currently.
Still further, the configuration information may include, but is not limited to: a starting address of the mapped virtual address, page table size information, etc.
The register offset of the first doorbell command may be custom.
The first doorbell command corresponding to a different MMU may be stored in the same register location, and then the new first doorbell command will overwrite the first doorbell command that has been processed. The first doorbell commands corresponding to different MMUs may also be stored in different register locations.
Step 103, in response to the completion of the first doorbell command processing, it is determined whether there is still an MMU to be configured, and if so, step 101 is returned.
If there is no MMU to be configured, the flow ends.
The above processing may be implemented, but not limited to, in the device side initialization process, for configuring MMU in each IP module of the device side in the initialization process.
In the initialization phase, the configuration of the MMU specifically means mapping the MMU. For example, configuring an address map of an MMU involves several stages of page tables, the size of the page tables, the deposit address of the page tables, and the like. The specific configuration may refer to the existing implementation, and will not be described herein.
The first doorbell command of the disclosed embodiments is a custom DB (doorbell) command, and in one optional implementation, the first doorbell command may include at least the following fields: MMU identification field, this field carries the identification information of MMU to be configured currently; and a configuration information field carrying the configuration information of the MMU to be currently configured.
In addition, the first doorbell command may also include a completion flag field that is valued to indicate whether the first doorbell command is processing complete. By way of example and not limitation, bit0 of the first doorbell command is used as a completion flag field, and a value of 1 for bit0 indicates that the first doorbell command is complete and a value of 0 for bit0 indicates that the first doorbell command is not complete.
The MMU configuration command may also include a command type field that is valued to indicate a command type of the first doorbell command, the command type including at least the MMU configuration command type.
In one implementation, the MMU configuration command type specifically refers to an MMU configuration command of the initialization stage to distinguish it from an MMU configuration command of the run stage (i.e., a page table update configuration command).
In the embodiment of the present disclosure, the implementation manner of step 103 is multiple, in one possible implementation manner, whether there is an MMU to be configured is determined in response to the first doorbell command sent by the device side to process the corresponding second doorbell command, and if so, step 101 is returned. In the implementation manner, the device side informs the host side of the current completion of the first doorbell command through the second doorbell command. In another possible implementation manner, in response to the first doorbell command sent by the device side completing the corresponding second doorbell command, the completion flag field value of the first doorbell command stored in the doorbell register of the device side is determined, in response to the completion flag field value indicating that the first doorbell command is completed, it is determined whether there is any MMU to be configured, and if so, step 101 is returned. In the implementation manner, the device side informs the host side of the current completion of the first doorbell command through the second doorbell message and the completion flag field value.
The register offset of the second doorbell message may be custom.
The present disclosure also provides an MMU configuration method applied to a Device (Device) end, as shown in fig. 2, including:
Step 200, in response to a first doorbell command sent by the host, determining the MMU to be currently configured according to the identification information of the MMU to be currently configured, which is carried in the first doorbell command, and configuring the MMU to be currently configured according to the configuration information of the MMU to be currently configured, which is carried in the first doorbell command.
Step 202, notifying the host side that the first doorbell command is processed.
The above processing may be implemented, but not limited to, in the device side initialization process, for configuring MMU in each IP module of the device side in the initialization process. In the initialization phase, the configuration of the MMU specifically means mapping the MMU. For example, configuring an address map of an MMU involves several stages of page tables, the size of the page tables, the deposit address of the page tables, and the like. The specific configuration may refer to the existing implementation, and will not be described herein.
The first doorbell command of the disclosed embodiments is a custom DB (doorbell) command. In one possible implementation of step 200, determining that the command type of the first doorbell command is an MMU configuration command type according to the value of the command type field of the first doorbell command; determining the MMU to be configured currently according to the identification information of the MMU to be configured currently carried by the MMU identification field of the first doorbell command; and configuring the MMU to be configured currently according to the configuration information of the MMU to be configured currently carried by the configuration information field of the first doorbell command.
In addition, the first doorbell command may also include a completion flag field that is valued to indicate whether the first doorbell command is processing complete. By way of example and not limitation, bit0 of the first doorbell command is used as a completion flag field, and a value of 1 for bit0 indicates that the first doorbell command is complete and a value of 0 for bit0 indicates that the first doorbell command is not complete. Accordingly, in one possible implementation manner of step 202, a second doorbell command corresponding to the completion of the first doorbell command is sent to the host side, and a completion flag field of the first doorbell command stored in a doorbell register of the device side is assigned to indicate that the first doorbell command is completed.
In another possible implementation of step 202, the first doorbell command is sent to the host side to complete the corresponding second doorbell command.
Based on the same inventive concept, the present disclosure provides an MMU configuration method applied to a host side, as shown in fig. 3, the method includes:
step 301, storing a configuration command of at least one MMU to be configured into a storage space of a device side, wherein the configuration command carries identification information and configuration information of the MMU to be configured.
The configuration information may include, but is not limited to, memory address and page table size information of the page table to be updated.
Step 303, sending a third doorbell command corresponding to the configuration command to the device side, where the third doorbell command carries a storage address of the configuration command in a storage space of the device side.
The register offset of the third doorbell command may be custom.
The third doorbell command and the first doorbell command may be stored in the same register location, and then it is necessary to distinguish between the command types of the doorbell commands.
The above-described processes may be implemented, but are not limited to, at the device-side runtime. If at the device-side run-time, the configuration of the MMU refers specifically to updating the page table.
In order to generate the configuration command, a buffer space for storing the configuration command is first required. In one possible implementation, a first configuration command buffer is applied for in the storage space of the host side; generating the configuration command in a first configuration command buffer; applying for a second configuration command buffer area in the equipment side storage space, and writing the address of the second configuration command buffer area into a third doorbell command as a storage address of the configuration command in the equipment side storage space; copying the configuration commands from the first command buffer to said second configuration command buffer and updating the write pointer of the second configuration command buffer. In another possible implementation manner, a configuration command buffer area is applied to the storage space of the equipment end, and an address of the configuration command buffer area is written into a third doorbell command to be used as a storage address of the configuration command in the storage space of the equipment end; generating a configuration command in the configuration command buffer and updating a write pointer of the configuration command buffer.
Based on the same inventive concept, the present disclosure provides an MMU configuration method, applied to a device side, as shown in fig. 4, including:
step 400, in response to the third doorbell command sent by the host side, determining the storage address of the configuration command of the MMU to be configured in the storage space of the device side according to the storage address carried in the third doorbell command.
Step 402, acquiring a configuration command from the storage address, determining the MMU to be configured according to the identification information of the MMU to be configured, which is carried in the configuration command, and configuring the MMU to be configured according to the configuration information of the MMU to be configured, which is carried in the configuration command.
The above-described processes may be implemented, but are not limited to, at the device-side runtime. If at the device-side run-time, the configuration of the MMU refers specifically to updating the page table. Optionally, the configuration information includes a storage address of a page table to be updated and page table size information.
In step 402 described above, one configuration command is read and processed at a time. If the host side stores two or more configuration commands at a time, it further includes step 404 of updating the read pointer of the configuration command buffer, and determining whether the configuration command buffer has any configuration commands to be processed by comparing the read pointer of the configuration command buffer with the write pointer, and if so, returning to step 402. Wherein, the configuration command is stored in the configuration command buffer of the storage space of the equipment end.
Based on the same inventive concepts, the present disclosure provides a graphics processing system including an MMU configuration module configured to perform a device-side MMU configuration method. The graphics processing System may be, but is not limited to, a System On Chip (SOC) Chip. In some use cases, the MMU configuration module is a CPU on a graphics processing system. In other usage scenarios, the MMU configuration module is dedicated hardware on the graphics processing system.
According to another aspect of the present disclosure, there is provided an electronic component including the graphics processing system of the above-described embodiments. In some use scenarios, the product form of the electronic assembly is embodied as a graphics card; in other use cases, the product form of the electronic assembly is embodied as a CPU motherboard.
According to another aspect of the present disclosure, there is provided an electronic device including the electronic component of the above embodiment and a processor configured to perform an MMU configuration method at a host side. The processor may be, but is not limited to, the CPU of the Host of the electronic device. In some use scenarios, the product form of the electronic device is a portable electronic device, such as a smart phone, a tablet computer, a VR device, etc.; in some use cases, the electronic device is in the form of a personal computer, a game console, or the like.
Based on the problems existing in the prior art, the present disclosure proposes a new solution, defining a set of standard DB and CCB interfaces, when a Host CPU needs to configure a Device MMU, the Host CPU sends corresponding commands to the Device uniformly according to a certain format, and the CPU or a dedicated hardware module in the Device configures and manages the MMU unit. According to the technical scheme provided by the embodiment of the disclosure, as the MMU unit register is directly read and written by the Device-side CPU instead of the Device-side CPU, the efficiency is higher, and meanwhile, the cost of the Host-side CPU is reduced; the Device side registers are not directly exposed to the Host side for more secure and flexible operation.
The MMU configuration scheme provided by the embodiment of the disclosure is suitable for multi-MMU management based on heterogeneous computation, the management of the Device end multi-MMU is realized by defining a set of unified DB+CCB interfaces, the read-write efficiency is higher, and the operation is safer and more flexible. The technical solutions provided by the embodiments of the present disclosure are described below with reference to specific examples.
In this embodiment, the technical solution provided by the embodiments of the present disclosure is used to manage multiple MMUs on the GPU SOC.
In the initialization stage, the Host CPU will firstly load the Driver of the GPU SOC to complete the initialization of the GPU SOC. In the process of initializing the MMU on the GPU SOC, the GPU SOC Driver at the Host end sequentially completes the MMU initialization of each IP at the Device end by sending a custom DB Cmd (i.e. a first doorbell command) to the GPU SOC (serving as the Device end). Each MMU corresponds to a first doorbell command, and the command format of the first doorbell command may refer to the above embodiment, which is not described herein. After the CPU of the GPU SOC receives the doorbell command sent by the Host, the command type of the doorbell command is judged first, if the doorbell command is an MMU configuration command, the doorbell command is analyzed to obtain MMUID (identification information of the MMU to be configured) carried in the doorbell command and the configuration information of the MMU to be configured, and initialization of the corresponding MMU is completed. And finally, setting bit0 of the received first doorbell command to 1, and informing the Host terminal that the corresponding initialization is finished through the second doorbell command. And the Host CPU responds to the second doorbell command, and after detecting that bit0 of the sent first doorbell command is set to 1, the Host CPU initializes the next MMU until the initialization of all the MMUs of the IP is completed.
In the operation phase:
The Host end GPU SOC Driver may need to switch page tables in the running process, and if the page tables need to be switched, the Host end GPU SOC Driver applies a section of storage space for creating a CCB (Circular Command Buffer, circulating command buffer) and a CCB Ctl and initializes the CCB. Wherein, the configuration command is stored in the CCB, and the CCB Ctl is used for storing a read pointer and a write pointer of the CCB. And filling the address of the buffer area obtained by application into a third doorbell command.
The GPU SOC Driver at the Host side writes page table information to be updated into the corresponding CCB, simultaneously updates WriteOffset (write pointer) in the CCB Ctl, and informs the CPU of the GPU SOC through a third doorbell command after the completion. If there are multiple MMUs that need to be page table updated, then each MMU corresponds to a CCB.
After the CPU of the GPU SOC receives the third doorbell command of the Host, the command type of the doorbell command is judged first, if the third doorbell command is the third doorbell command (MMU configuration command for updating the page table), a thread is started, whether a new CCB (read pointer is not equal to write pointer) needs to be processed is judged in the thread, if yes, information in the corresponding CCB is analyzed, and if not, the thread is directly exited.
The CPU of the GPU SOC obtains the starting address of the CCB from the third doorbell command through the thread, then finds the configuration information of the current MMU according to the write pointer, obtains the address and the Size (Size) of the required Flush, completes Flush operation of the page table, and updates ReadOffset (read pointer) of the CCB after completion.
The CPU of the GPU SOC will complete processing of all CCBs in turn until the read pointer is equal to the write pointer (ReadOffset = WriteOffset) and then exit the thread.
While the preferred embodiments of the present disclosure have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiments and all such alterations and modifications as fall within the scope of the disclosure.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present disclosure without departing from the spirit or scope of the disclosure. Thus, the present disclosure is intended to include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (17)

1. An MMU configuration method applied to a host side, the method comprising:
Step 101, a first doorbell command is sent to a device side, wherein the first doorbell command carries identification information and configuration information of an MMU to be configured currently, so that the device side determines the MMU to be configured currently according to the identification information of the MMU to be configured currently carried in the first doorbell command, and configures the MMU to be configured currently according to the configuration information of the MMU to be configured currently carried in the first doorbell command;
Step 103, in response to the completion of the first doorbell command processing, determining whether there is still an MMU to be configured, and if so, returning to step 101.
2. The method of claim 1, the first doorbell command comprising:
A completion flag field, where the value of the completion flag field is used to indicate whether the first doorbell command is processed;
A command type field that takes a value indicating a command type of the first doorbell command, the command type comprising an MMU configuration command type;
An MMU identification field, where the MMU identification field carries identification information of an MMU to be currently configured;
and a configuration information field carrying configuration information of the MMU to be currently configured.
3. The method of claim 2, the configuration information of the MMU to be configured comprising a starting address of a mapped virtual address and page table size information.
4. The method of claim 2, step 105 comprising:
Responding to the first doorbell command sent by the equipment end to process the corresponding second doorbell command, judging whether an MMU to be configured exists or not, and if so, returning to the step 101;
Or alternatively
And responding to the completion flag field value of the first doorbell command stored in a doorbell register of the equipment end to indicate that the first doorbell command processing is completed, judging whether an MMU to be configured is still available or not, and if yes, returning to the step 101.
5. An MMU configuration method applied to a device side, wherein the device side configures an MMU, and the method comprises the following steps:
Step 200, responding to a first doorbell command sent by a host, determining a MMU to be configured currently according to identification information of the MMU to be configured currently carried in the first doorbell command, and configuring the MMU to be configured currently according to configuration information of the MMU to be configured currently carried in the first doorbell command;
step 202, notifying the host computer that the first doorbell command is processed.
6. The method of claim 5, step 200 comprising:
Determining that the command type of the first doorbell command is an MMU configuration command type according to the value of the command type field of the first doorbell command;
Determining the MMU to be configured currently according to the identification information of the MMU to be configured currently carried in the MMU identification field of the first doorbell command;
and configuring the MMU to be configured currently according to the configuration information of the MMU to be configured currently carried by the configuration information field of the first doorbell command.
7. The method of claim 6, wherein the configuration information of the MMU to be configured includes a starting address of the mapped virtual address and page table size information.
8. The method of claim 5, said step 202 comprising:
Sending a second doorbell command corresponding to the completion of the first doorbell command processing to the host side; or alternatively
And sending a second doorbell command corresponding to the completion of the first doorbell command processing to the host side, and assigning a completion flag field of the first doorbell command stored in a doorbell register of the equipment side to indicate that the first doorbell command processing is completed.
9. An MMU configuration method applied to a host side, the method comprising:
Step 301, storing a configuration command of at least one MMU to be configured into a storage space of a device side, wherein the configuration command carries identification information and configuration information of the MMU to be configured;
Step 303, a third doorbell command corresponding to the configuration command is sent to the device side, where the third doorbell command carries a storage address of the configuration command in a storage space of the device side, so that the device side obtains the configuration command according to the storage address carried in the third doorbell command, determines an MMU to be configured according to identification information of the MMU to be configured carried in the configuration command, and configures the MMU to be configured according to configuration information of the MMU to be configured carried in the configuration command.
10. The method of claim 9, prior to step 301, the method further comprising:
Applying for a first configuration command buffer area in a storage space of a host; generating the configuration command in the first configuration command buffer; applying for a second configuration command buffer area in the equipment side storage space, and writing the address of the second configuration command buffer area into the third doorbell command as the storage address of the configuration command in the equipment side storage space; copying the configuration command from the first command buffer to the second configuration command buffer and updating a write pointer of the second configuration command buffer; or alternatively
Applying for a configuration command buffer area in a device side storage space, and writing an address of the configuration command buffer area into the third doorbell command as a storage address of the configuration command in the device side storage space; generating the configuration command in the configuration command buffer area, and updating the write pointer of the configuration command buffer area.
11. The method of claim 9, the configuration information comprising a memory address of a page table to be updated and page table size information.
12. An MMU configuration method applied to a device side, wherein the device side configures an MMU, and the method comprises the following steps:
Step 400, responding to a third doorbell command sent by a host side, and determining a storage address of a configuration command of an MMU to be configured in a storage space of a device side according to a storage address carried in the third doorbell command;
Step 402, a configuration command is obtained from the storage address, the MMU to be configured is determined according to the identification information of the MMU to be configured carried in the configuration command, and the MMU to be configured is configured according to the configuration information of the MMU to be configured carried in the configuration command.
13. The method of claim 12, the configuration information comprising a storage address of a page table to be updated and page table size information.
14. The method of claim 12, the configuration commands being stored in a configuration command buffer of the device side storage space, the method further comprising:
step 404, updating the read pointer of the configuration command buffer, and determining whether the configuration command buffer has a configuration command to be processed by comparing the read pointer and the write pointer of the configuration command buffer, and if so, returning to step 402.
15. A graphics processing system comprising an MMU configuration module configured to perform the method of any one of claims 5 to 8 or the method of any one of claims 12 to 14.
16. An electronic assembly comprising the graphics processing system of claim 15.
17. An electronic device comprising a processor and the electronic component of claim 16, the processor configured to perform the method of any one of claims 1 to 4 or the method of any one of claims 9 to 11.
CN202410788354.0A 2024-06-18 2024-06-18 MMU configuration method, graphics processing system, electronic component and equipment Pending CN118365506A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410788354.0A CN118365506A (en) 2024-06-18 2024-06-18 MMU configuration method, graphics processing system, electronic component and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410788354.0A CN118365506A (en) 2024-06-18 2024-06-18 MMU configuration method, graphics processing system, electronic component and equipment

Publications (1)

Publication Number Publication Date
CN118365506A true CN118365506A (en) 2024-07-19

Family

ID=91884971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410788354.0A Pending CN118365506A (en) 2024-06-18 2024-06-18 MMU configuration method, graphics processing system, electronic component and equipment

Country Status (1)

Country Link
CN (1) CN118365506A (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108776949A (en) * 2017-04-07 2018-11-09 英特尔公司 Device and method for the memory management in graphics processing context
CN110209434A (en) * 2019-04-23 2019-09-06 努比亚技术有限公司 A kind of EMS memory management process, device and computer readable storage medium
CN110875045A (en) * 2018-09-03 2020-03-10 阿里巴巴集团控股有限公司 Voice recognition method, intelligent device and intelligent television
CN111192589A (en) * 2020-01-16 2020-05-22 云知声智能科技股份有限公司 Voice wake-up method and device
KR20200110942A (en) * 2019-03-18 2020-09-28 한국전자통신연구원 Global address translation device, computing node having the same, and operating method thereof
CN112002319A (en) * 2020-08-05 2020-11-27 海尔优家智能科技(北京)有限公司 Voice recognition method and device of intelligent equipment
CN113674761A (en) * 2021-07-26 2021-11-19 青岛海尔科技有限公司 Device determination method and device determination system
CN114201268A (en) * 2022-02-17 2022-03-18 苏州浪潮智能科技有限公司 Data processing method, device and equipment and readable storage medium
CN115878521A (en) * 2023-01-17 2023-03-31 北京象帝先计算技术有限公司 Command processing system, electronic device and electronic equipment
CN118132009A (en) * 2024-04-19 2024-06-04 山东云海国创云计算装备产业创新中心有限公司 Host command processing method and device, electronic equipment and storage medium

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108776949A (en) * 2017-04-07 2018-11-09 英特尔公司 Device and method for the memory management in graphics processing context
CN110875045A (en) * 2018-09-03 2020-03-10 阿里巴巴集团控股有限公司 Voice recognition method, intelligent device and intelligent television
KR20200110942A (en) * 2019-03-18 2020-09-28 한국전자통신연구원 Global address translation device, computing node having the same, and operating method thereof
CN110209434A (en) * 2019-04-23 2019-09-06 努比亚技术有限公司 A kind of EMS memory management process, device and computer readable storage medium
CN111192589A (en) * 2020-01-16 2020-05-22 云知声智能科技股份有限公司 Voice wake-up method and device
CN112002319A (en) * 2020-08-05 2020-11-27 海尔优家智能科技(北京)有限公司 Voice recognition method and device of intelligent equipment
CN113674761A (en) * 2021-07-26 2021-11-19 青岛海尔科技有限公司 Device determination method and device determination system
CN114201268A (en) * 2022-02-17 2022-03-18 苏州浪潮智能科技有限公司 Data processing method, device and equipment and readable storage medium
CN115878521A (en) * 2023-01-17 2023-03-31 北京象帝先计算技术有限公司 Command processing system, electronic device and electronic equipment
CN118132009A (en) * 2024-04-19 2024-06-04 山东云海国创云计算装备产业创新中心有限公司 Host command processing method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
US20190339869A1 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
KR100990188B1 (en) A method for booting a host device from an MMC/SD device, a host device bootable from an MMC/SD device and an MMC/SD device method a host device may be booted from
US6272627B1 (en) Method and apparatus for booting up a computing system with enhanced graphics
US11853767B2 (en) Inter-core data processing method, system on chip and electronic device
KR20010031193A (en) Flexible processing hardware architecture
CN108304334B (en) Application processor and integrated circuit including interrupt controller
CN108984317B (en) Method and device for realizing IPC (inter-process communication)
CN112100090A (en) Data access request processing method, device, medium and memory mapping controller
CN114153779A (en) I2C communication method, system, equipment and storage medium
CN110502282B (en) Loading method, device and equipment of multi-channel NTB card and readable storage medium
CN110795373B (en) I2C bus-to-parallel bus conversion method, terminal and storage medium
CN117692322A (en) Network card configuration method and device, electronic equipment and storage medium
CN114647446A (en) Storage-level storage device, computer module and server system
CN115904634B (en) Resource management method, system-level chip, electronic component and electronic equipment
US20150326684A1 (en) System and method of accessing and controlling a co-processor and/or input/output device via remote direct memory access
CN118365506A (en) MMU configuration method, graphics processing system, electronic component and equipment
US6230216B1 (en) Method for eliminating dual address cycles in a peripheral component interconnect environment
CN113031863B (en) SSD command correlation management method, SSD command correlation management device, computer equipment and storage medium
CN115878327A (en) Bus reservation method, device, server, electronic equipment and storage medium
CN112860595B (en) PCI (peripheral component interconnect express) equipment or PCIE (peripheral component interconnect express) equipment, data access method and related assembly
CN109408407B (en) Display memory allocation method and device
US11537542B1 (en) Direct memory access circuitry and method
US7082522B2 (en) Method and/or apparatus for implementing enhanced device identification
CN114125902B (en) WWAN (wireless network access network) equipment, configuration method, device and storage medium thereof
CN110941452B (en) Configuration method, BIOS chip and electronic equipment

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