Movatterモバイル変換


[0]ホーム

URL:


CN113703951B - A method, apparatus, and computer-readable storage medium for processing DMA - Google Patents

A method, apparatus, and computer-readable storage medium for processing DMA
Download PDF

Info

Publication number
CN113703951B
CN113703951BCN202111251475.4ACN202111251475ACN113703951BCN 113703951 BCN113703951 BCN 113703951BCN 202111251475 ACN202111251475 ACN 202111251475ACN 113703951 BCN113703951 BCN 113703951B
Authority
CN
China
Prior art keywords
dma
task
descriptor
stage
preset condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111251475.4A
Other languages
Chinese (zh)
Other versions
CN113703951A (en
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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur 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 Suzhou Inspur Intelligent Technology Co LtdfiledCriticalSuzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111251475.4ApriorityCriticalpatent/CN113703951B/en
Publication of CN113703951ApublicationCriticalpatent/CN113703951A/en
Application grantedgrantedCritical
Publication of CN113703951BpublicationCriticalpatent/CN113703951B/en
Priority to PCT/CN2022/090272prioritypatent/WO2023071125A1/en
Priority to US18/564,515prioritypatent/US20240256477A1/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

Abstract

Translated fromChinese

本申请公开了一种处理DMA的方法、装置、及计算机可读存储介质,涉及计算机技术领域,其通过获取用于处理DMA的DMA任务,并获取任务的状态信息,根据任务包含的阶段判断状态信息是否满足描述符DMA队列的第一预设条件和/或是否满足数据DMA队列的第二预设条件,其中,描述符DMA队列用于处理任务的第一阶段,数据DMA队列用于处理任务的第二阶段,判断出是否对任务进行下一步处理。由此可见,此方法,通过将处理DMA的两个阶段同时进行,若其中一个阶段不符合条件,则对下一个任务进行处理,另外一个阶段继续执行,此方法有效的避免了在等待第一个阶段返回数据的过程中,会出现DMA通道的空闲导致带宽浪费的问题产生。

Figure 202111251475

The present application discloses a method, a device, and a computer-readable storage medium for processing DMA, and relates to the field of computer technology. By acquiring a DMA task for processing DMA, and acquiring status information of the task, the status is determined according to the stages included in the task. Whether the information satisfies the first preset condition of the descriptor DMA queue and/or whether it satisfies the second preset condition of the data DMA queue, wherein the descriptor DMA queue is used to process the first stage of the task, and the data DMA queue is used to process the task In the second stage, it is judged whether to proceed to the next step of the task. It can be seen that this method performs two stages of processing DMA at the same time. If one stage does not meet the conditions, the next task will be processed, and the other stage will continue to be executed. This method effectively avoids waiting for the first stage. In the process of returning data in each stage, there will be a problem of wasting bandwidth due to idle DMA channels.

Figure 202111251475

Description

Method and device for processing DMA (direct memory Access) and computer readable storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method and an apparatus for processing DMA, and a computer-readable storage medium.
Background
With the rise of big data and artificial intelligence and the inability of a traditional Central Processing Unit (CPU) to meet the demand, various types of operation acceleration devices are used in a large number in a computer system to offload the processing executed by the CPU on a data plane and to concentrate the CPU resources on a control plane, thereby avoiding the CPU becoming a bottleneck of the system. In systems involving hardware acceleration, the source data and processed data are typically placed in the host memory, which facilitates host-side CPU access. The operation accelerating device reads source data from a host end Memory by telling a serial computer expansion bus standard (PCIe) Direct Memory Access (DMA) to be put into a hardware cache and perform operation, and the operation result is also temporarily stored in the hardware cache and then written into the host Memory through the PCIe DMA; and finally, the hardware informs the CPU in a mode of interrupting or writing a response frame into the host memory, and the CPU directly reads the operation result from the host memory. A typical PCIe DMA process needs to be divided into at least two stages, where in the first stage, the acceleration device obtains the descriptor linked list from the host through PCIe DMA and stores the descriptor linked list in the hardware cache; in the second stage, the descriptor chain table is parsed to obtain the data address, and then the data is obtained from the address through PCIe DMA.
With conventional DMA controllers, the problem arises that idling of the DMA channel during waiting for the first stage to return data results in wasted bandwidth.
In view of the above-mentioned technologies, a method for efficiently implementing DMA is sought, which is a problem to be solved by those skilled in the art.
Disclosure of Invention
An object of the present application is to provide a method, apparatus, and computer-readable storage medium for processing DMA.
To solve the above technical problem, the present application provides a method for processing DMA, including:
receiving a task for processing DMA, and acquiring state information of the task;
judging whether the state information meets a first preset condition of a descriptor DMA queue and/or a second preset condition of a data DMA queue according to the stage contained by the task; the descriptor DMA queue is used for processing a first stage of the task, and the data DMA queue is used for processing a second stage of the task;
if the task meets the first preset condition, controlling the descriptor DMA queue to process a first stage of the task;
if the task meets the second preset condition, controlling the data DMA queue to process a second stage of the task;
updating the state information of the task after processing the first phase or the second phase; and taking the task at the stage corresponding to the state information which does not meet the first preset condition or the second preset condition as a new task to continue executing the steps.
Preferably, the acquiring the state information of the task includes:
setting the task number, wherein the number corresponds to the task;
writing the numbers into the data DMA queue and the descriptor DMA queue respectively;
and acquiring the state information through the serial number.
Preferably, the status information includes QoS information, status flags, data information, descriptor information;
the QoS information comprises the priority and the bandwidth quota of the task, the status flag comprises the data DMA and the descriptor DMA, the data information comprises a current page address, a current page offset, a flow control quota and a residual total size, and the descriptor information comprises the current page address, the current page offset, a descriptor cache and a residual entry number.
Preferably, the first preset condition is that a descriptor cache includes a next page address entry, the priority of the task is highest in the descriptor DMA queue, and the bandwidth quota and the flow control quota are not 0;
the second preset condition is that the data DMA contains the descriptor information, the priority of the task is highest in the data DMA queue, and the bandwidth quota and the flow control quota are not 0.
Preferably, the first stage of the control descriptor DMA queue processing the task comprises:
judging whether the bandwidth quota and the flow control quota are 0;
if yes, taking the task in the first stage as a new task, and entering the stage contained by the task to judge whether the state information meets a first preset condition of a descriptor DMA queue and/or a second preset condition of the data DMA queue;
if not, calculating DMA parameters, wherein the DMA parameters comprise DMA transmission size, current page residual and initial address;
sending a DMA reading request to PCIe, and judging whether the residual total size is 0 or not;
if the residual total size is 0, setting the descriptor DMA to be in a completion state;
if the remaining total size is not 0, returning to the step of judging whether the bandwidth quota and the flow control quota are 0;
the second stage of the control data DMA queue processing the task comprises:
judging whether the bandwidth quota and the flow control quota are 0;
if yes, taking the task of the second stage as a new task, and entering the stage contained by the task to judge whether the state information meets a first preset condition of a descriptor DMA queue and/or a second preset condition of the data DMA queue;
if not, calculating DMA parameters, wherein the DMA parameters comprise DMA transmission size, current page residual and initial address;
sending a DMA reading request to PCIe, and judging whether the residual total size is 0 or not;
if the residual total size is 0, setting the data DMA to be in a completion state;
and if the residual total size is not 0, returning to the step of judging whether the bandwidth quota and the flow control quota are 0 or not.
Preferably, after the setting the descriptor DMA to the complete state or the setting the data DMA to the complete state, the method further includes:
judging whether the status flag of the data DMA or the status flag of the descriptor DMA is in a completion state;
if yes, sending a response signal to the calling party.
Preferably, after sending the response signal to the caller through the bus, the method further comprises:
and recovering the serial numbers of the tasks with the state flag of the data DMA as a completion state and the state of the descriptor DMA as a completion state.
In order to solve the above technical problem, the present application further provides an apparatus for processing DMA, including:
the acquisition module is used for acquiring a DMA task for processing DMA and acquiring the state information of the task;
the judging module is used for judging whether the state information meets a first preset condition of a descriptor DMA queue and/or a second preset condition of a data DMA queue according to the stage contained by the task; the descriptor DMA queue is used for processing a first stage of the task, the data DMA queue is used for processing a second stage of the task, if the descriptor DMA queue meets the first preset condition, a first processing module is triggered, if the descriptor DMA queue meets the second preset condition, a second processing module is triggered, and if the descriptor DMA queue does not meet the first preset condition or the second preset condition, an execution module is triggered;
the first processing module is used for controlling the descriptor DMA queue to process a first stage of the task;
the second processing module is used for controlling the data DMA queue to process a second stage of the task;
and the execution module is used for taking the task at the stage corresponding to the state information which does not meet the first preset condition or the second preset condition as a new task to continue triggering the execution module for processing.
In order to solve the above technical problem, the present application further provides an apparatus for processing DMA, including a memory for storing a computer program;
a processor for implementing the steps of the above-mentioned method for processing DMA when executing the computer program.
In order to solve the above technical problem, the present application further provides a computer-readable storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements the steps of the method for processing DMA described above.
According to the method for processing the DMA, the DMA task for processing the DMA is obtained, the state information of the task is obtained, whether the state information meets a first preset condition of a descriptor DMA queue and/or a second preset condition of a data DMA queue is judged according to the stage contained in the task, wherein the descriptor DMA queue is used for processing the first stage of the task, and the data DMA queue is used for processing the second stage of the task, and whether the task is processed in the next step is judged. Therefore, the method effectively avoids the problem of bandwidth waste caused by the idle of the DMA channel in the process of waiting for the data returned from the first stage by simultaneously carrying out the two stages of processing the DMA, processing the next task if one of the two stages does not meet the condition and continuously executing the other stage.
On the basis, the application also provides a device and a computer readable storage medium for processing the DMA, and the beneficial effects are the same as above.
Drawings
In order to more clearly illustrate the embodiments of the present application, the drawings needed for the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings can be obtained by those skilled in the art without inventive effort.
Fig. 1 is a flowchart of a method for processing DMA according to an embodiment of the present application;
fig. 2 is a structural diagram of a DMA controller according to an embodiment of the present application;
FIG. 3 is a flow chart of another method for processing DMA according to an embodiment of the present application;
fig. 4 is a block diagram of an apparatus for processing DMA according to an embodiment of the present disclosure;
fig. 5 is a block diagram of an apparatus for processing DMA according to another embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present application without any creative effort belong to the protection scope of the present application.
At the core of the application, a method and a device for processing DMA and a computer readable storage medium are provided.
In order that those skilled in the art will better understand the disclosure, the following detailed description will be given with reference to the accompanying drawings.
Fig. 1 is a flowchart of a method for processing DMA according to an embodiment of the present application, and as shown in fig. 1, the method for processing DMA includes:
s10: and receiving a task for processing the DMA, and acquiring the state information of the task.
S11: and judging whether the state information meets a first preset condition of the descriptor DMA queue according to the stage contained in the task, if so, entering the step S13, and if not, returning to the step S11.
S12: and judging whether the state information meets a second preset condition of the data DMA queue according to the stage contained in the task, if so, entering the step S14, and if not, returning to the step S12.
S13: the control descriptor DMA queue processes the first phase of the task.
S14: and controlling the second phase of the data DMA queue processing task.
S15: and updating the state information of the task.
It will be appreciated that DMA, as a termination of direct memory access without the CPU, frees the CPU from the simple but cumbersome process of data copying to perform more complex operations, and that the operation acceleration device is usually inserted into the computer in the form of a board and connected to the CPU via the PCIe bus, thus achieving higher data bandwidth and greater flexibility. However, a typical PCIe DMA process needs to be divided into two stages, and the operation of the second stage needs to use the information of the first stage, which results in that the two stages cannot be executed in parallel, so how to use the time when the second stage waits for the first stage is the key of the present application, for S10, the task for processing the DMA is received, and the status information of the task is obtained according to the task, it is worth to say that the status information may refer to task QoS information, data information, descriptor information, the level of task priority, and the details of the status information are not limited, fig. 2 is a structural diagram of a DMA controller provided in the embodiment of the present application, as shown in fig. 2, after the task is received, the task is placed in a task queue, a task parser obtains the status information of the task through the tasks of the task queue, and stores the status information in a task context information storage unit, the task context information storage units are used for storing tasks and state information contained in the tasks, the number of the task context storage units is multiple, each task corresponds to one task context storage unit, and the multiple task context storage units can process the tasks at the same time. While candidate queue 1, data DMA filter, work queue 1, and data DMA processor are collectively referred to herein as a data DMA queue, candidate queue 2, descriptor DMA filter, work queue 2, and descriptor DMA processor are collectively referred to herein as a descriptor DMA queue through which data DMA and descriptor DMA are processed.
In addition, the stages mentioned in the steps S11 and S12 refer to the processing progress of the task, a typical PCIe DMA process needs to be divided into two stages, where the stage is first to determine that the task is executed to the stage a, and if the stage a is executed, it is determined whether the state information satisfies the first preset condition of the descriptor DMA queue and it is determined whether the state information satisfies the second preset condition of the data DMA queue, and if the stage a, it is directly determined whether the state information satisfies the second preset condition of the data DMA queue, and at this time, the stage a is to perform another task processing. Further, as shown in steps S11 and S12, the process proceeds to step S13 when the status information satisfies the first preset condition, and returns to step S11 when the status information does not satisfy the second preset condition, and proceeds to step S14 when the status information does not satisfy the second preset condition, and returns to step S12 when the status information does not satisfy the second preset condition, it should be noted that the steps S11 and S12 are returned to wait for the completion of the process at another stage, and after the status information of the task is updated, the first preset condition or the second preset condition may be satisfied, so that the process is continued instead of discarding the task or leaving the stage idle, and the process is continued for the next task, and after the status information of the returned task is updated, the process may be continued after the condition is satisfied. It can be understood that the two phases of the PCIe DMA process provided in this embodiment may process two different tasks in two phases, specifically, the first phase of processing task a needs to use the information of the first phase, and therefore the second phase of task a cannot be processed at the same time, and the second phase is processed in the second phase of task B at this time.
In addition, for the step S13 and the step S14, the first stage of the control descriptor DMA queue processing task and the second stage of the control data DMA queue processing task are different stages of two tasks, and it is worth mentioning that the descriptor DMA queue and the data DMA queue may process two stages of one task. In addition, when the first stage or the second stage of the task is completed, the state information of the task is updated, the content of the state update is not limited, and the state information may be information required by the second stage after the first stage is completed, so that the second stage is normally performed. The completion level may also be updated after the first or second stage processing.
Therefore, in the method for processing the DMA provided in this embodiment, by acquiring the DMA task for processing the DMA and acquiring the status information of the task, whether the status information meets a first preset condition of a descriptor DMA queue and/or a second preset condition of a data DMA queue is determined according to a stage included in the task, where the descriptor DMA queue is used for processing the first stage of the task and the data DMA queue is used for processing the second stage of the task, and whether to perform the next processing on the task is determined. Therefore, the method effectively avoids the problem of bandwidth waste caused by the idle of the DMA channel in the process of waiting for the data returned from the first stage by simultaneously carrying out the two stages of processing the DMA, processing the next task if one of the two stages does not meet the condition and continuously executing the other stage.
On the basis of the above embodiment, how to acquire the state information of the task is defined, and three steps of acquiring the state information of the task are as follows:
and setting a task number, wherein the number corresponds to the task.
Numbers are written into the data DMA queue and the descriptor DMA queue, respectively.
And acquiring the state information of the task through the number.
It should be understood that by numbering the tasks and writing numbers into the data DMA queue and the descriptor DMA queue respectively, the status information of the tasks can be queried through the numbers, and it should be noted that the specific form of the numbers is not limited, and may be english letters, and may be numbers formed by arabic numerals or a combination thereof. As shown in fig. 2, the task and the status information of the task are stored in the task context information storage unit, in the specific implementation, sending the task or the task information to the queue may cause queue congestion, and the implementation is complex, the idle resource queue records the number of the currently idle task context information storage unit, when the DMA controller is reset, the queue is initialized to a full state, the numbers sequentially start from N1 to Nn, and the numbers correspond to the tasks, the status information of the task can be queried through the numbers, it can be understood that the numbers correspond to the identification number, and the information of the person can be queried through the identification number.
In a specific embodiment, numbers are written into a data DMA queue and a descriptor DMA queue respectively, and whether a current task meets a first preset condition and a second preset condition is determined according to state information inquired by the numbers. It should be noted that the status information of the query task by number provided by the present embodiment is only a preferred embodiment, and may be selected according to actual situations.
Therefore, in the method for processing DMA provided by this embodiment, the serial number of the task is set, the serial number of the task is sent to the data DMA queue and the descriptor DMA queue, the status information of the corresponding task is queried through the serial number, and the status information is stored in the task context information storage unit, and one storage unit corresponds to one DMA task, so that the maximum concurrent task number for processing DMA is determined. According to the method, the state information of the tasks is inquired through the serial numbers, the space in the queue can be saved, the state information of the tasks is stored through the context storage unit, the intermediate state of the tasks can be reserved, and the suspension and recovery of the tasks are supported.
On the basis of the foregoing embodiment, the status information is limited, and it should be noted that this embodiment is only a preferred embodiment, and the specific content of the status information may be selected according to a specific situation, where the status information of a task includes Quality of Service (QoS) information, a status flag, data information, and descriptor information, and the QoS information includes priority information of the task and a bandwidth quota, and the bandwidth quota may be used to dynamically record a remaining quota of the current task, and the descriptor information further includes a current page address, a current page offset, a number of remaining entries, and a descriptor cache. The descriptor DMA queue can divide a task into multiple times of completion according to the size of the descriptor cache and various quota residual values, each time of task execution, DMA operation is executed according to parameters such as current page address, offset and the like, when DMA data are returned, the internal logic writes the data into the descriptor cache, and updates the current page address, the page offset and the residual number.
In addition, the data information is similar to the descriptor information, the data information also includes a current page address, a current page offset, a remaining total size, and a flow control quota, and the data DMA queue records an intermediate state of the current task through information such as the current page address, the page offset, and the remaining total size. The flow control quota is used for recording the size of the remaining space of the current data destination. In addition, the status flag comprises a data DMA and a descriptor DMA, and when the descriptor DMA and the data DMA are completed, the corresponding status flag can be updated, so that the progress of the task can be better fed back.
Therefore, the status information provided by this embodiment includes QoS information, status flags, data information, and descriptor system information, where four pieces of information correspond to sub information of each other, and the status information of a task may be updated by completing a task phase, and the storage unit may store all intermediate statuses executed by the task by setting the status information, so that the descriptor DMA and the data DMA may be executed multiple times, and the switching between tasks is supported.
On the basis of the above embodiment, the first preset condition and the second preset condition of the data DMA queue and the descriptor DMA queue are defined, and in addition, the preset condition is equivalent to filtering the task, placing the information which does not satisfy the condition on one side, and processing the information when the information is updated and the condition is satisfied.
The first preset condition is that the descriptor cache contains a next page address entry, the priority of the task is highest in the descriptor DMA queue, the bandwidth quota and the flow control quota are not 0, the second preset condition is similar to the first preset condition, the first preset condition is that the data DMA contains descriptor information, the priority of the task is highest in the data DMA queue, and the bandwidth quota and the flow control quota are not 0. When the first preset condition or the second preset condition is met, performing data DMA processing or descriptor DMA processing through the data DMA queue or the descriptor DMA queue, when the first preset condition or the second preset condition is not met, reprocessing the task as a new task, waiting for updating of the state information, and processing the next task before updating. It should be noted that the first preset condition and the second preset condition provided in this embodiment only appear as a preferred embodiment, and the first preset condition and the second preset condition may be defined according to specific situations.
Therefore, the method effectively avoids the situation that the task cannot be processed but the processing is started to cause the equipment to do idle work by dividing the task into two stages and judging whether the current task can execute the first stage and the second stage according to the first preset condition and the second preset condition, and effectively improves the efficiency of processing the DMA.
In a specific embodiment, the processing of the first stage of DMA tasks through the control descriptor DMA queue comprises:
judging whether the bandwidth quota and the flow control quota are 0;
if yes, taking the task in the first stage as a new task, and judging whether the state information meets a first preset condition of a descriptor DMA queue and/or a second preset condition of a data DMA queue according to the stage contained by the task;
if not, calculating DMA parameters, wherein the DMA parameters comprise DMA transmission size, current page residual and initial address;
sending a request for reading DMA to PCIe, and judging whether the residual total size is 0;
if the remaining total size is 0, setting the descriptor DMA to be in a completion state;
if the residual total size is not 0, returning to the step of judging whether the bandwidth quota and the flow control quota are 0;
the second stage of processing of DMA tasks the second stage of processing tasks by controlling the data DMA queue comprises:
judging whether the bandwidth quota and the flow control quota are 0;
if yes, taking the task in the second stage as a new task, and judging whether the state information meets a first preset condition of a descriptor DMA queue and/or a second preset condition of a data DMA queue according to the stage contained by the task;
if not, calculating DMA parameters, wherein the DMA parameters comprise DMA transmission size, current page residual and initial address;
sending a request for reading DMA to PCIe, and judging whether the residual total size is 0;
if the residual total size is 0, setting the data DMA as a completion state;
and if the residual total size is not 0, returning to the step of judging whether the bandwidth quota and the flow control quota are 0.
It should be noted that this embodiment merely provides a first stage and a second stage of processing as a preferred embodiment, and the first stage and the second stage of processing may be limited according to specific situations, where the first stage of processing, as shown in fig. 2, the candidate queue 2, the descriptor DMA filter, the work queue 2, and the descriptor DMA processor are collectively referred to as a descriptor DMA queue, when a task satisfies a first preset condition, the descriptor DMA filter writes a memory unit number corresponding to the task into the work queue 2, when the work queue 2 is not empty, the descriptor DMA processor reads the memory unit number, obtains status information of the task through the number, and returns the candidate queue 2 if the bandwidth quota and flow control quota of the current task are 0, otherwise, calculates relevant parameters of the DMA, where the relevant parameters of the DMA include a current page offset, and a current page offset, A current page address, a current page remaining, and a starting address. And accessing PCIe through the bus to execute a DMA process, after the DMA process is received by the PCIe, updating state information of the task by the processor, if not, judging whether to execute next operation according to the bandwidth quota and the flow control quota, judging whether the current task is completely finished or is finished in stages, if so, setting a state flag of the descriptor DMA into a finished state, if so, writing the number of the task back to the candidate queue 2, and waiting for next execution.
The second stage of processing is similar to the first stage, the candidate queue 1, the data DMA filter, the work queue 1 and the data DMA processor are collectively called as a data DMA queue, when the task meets a second preset condition, the data DMA filter writes a storage unit number corresponding to the task into the work queue 1, when the work queue 1 is not empty, the data DMA processor reads the storage unit number, obtains state information of the task through the number, and returns to the candidate queue 1 if the bandwidth quota and the flow control quota of the current task are 0 or not by judging whether the bandwidth quota and the flow control quota of the current task are 0, otherwise, relevant parameters of the DMA are calculated, wherein the relevant parameters of the DMA comprise current page offset, current page address, current page residual and initial address. And accessing PCIe through the bus to execute a DMA process, after the DMA process is received by the PCIe, updating state information of the task by the processor, if not, judging whether to execute next operation according to the bandwidth quota and the flow control quota, judging whether the current task is completely finished or is finished in stages, if so, setting a state flag of the data DMA into a finished state, if so, writing the serial number of the task back to a candidate queue 1, and waiting for next execution.
It can be seen that, in the specific process of the first stage and the second stage processing provided in this embodiment, a conclusion whether to continue the next step is obtained by determining whether the bandwidth quota and the flow control quota are 0, if not, calculating the relevant parameters of the DMA, and accessing PCIe through a bus to execute a DMA process, after the DMA process is received, the state information of the task is updated, and it can also be determined whether the task at the current stage is completely ended or periodically ended, if so, returning the task to the candidate queue to wait for the next execution, and if so, setting the state flag of the data DMA or the descriptor DMA to be in a complete state. The efficiency of DMA processing is effectively improved, the task can be divided into a plurality of steps to be carried out, the task can be suspended, and the condition that the channel is wasted when the second stage waits for the information return of the first stage is avoided.
In a specific implementation, when the status flag of the data DMA or the status flag of the descriptor DMA is set to the completion status, it cannot be concluded completely whether the current task is completely completed, and it can only be concluded that the task of a certain stage has been completed, so to avoid this, two additional steps are added on the basis of the above steps, and fig. 3 is a flowchart of another method for processing the DMA provided in this embodiment of the present application, as shown in fig. 3, in addition to step S15, the method further includes:
s16: it is determined whether the status flag of the data DMA or the status flag of the descriptor DMA is in the complete state, and if so, the process proceeds to step S17.
S17: and sending a response signal to the calling party.
S18: the status flag of the recovery data DMA is the completion status and the status flag of the descriptor DMA is the number of the task in the completion status.
It should be noted that the step S16 for determining the status flag of the data DMA or the status flag of the descriptor DMA is to determine whether another stage is in a completed state after any stage completes processing, specifically, the task a is divided into two stages, i.e., a stage and b stage, after a is completed, it is determined whether b is also completed, similarly, after b is completed, it is determined whether a is completed, if both are in a completed state, a response signal is sent to the caller, and finally, the status flag of the data DMA and the status flag of the descriptor DMA are both numbers of tasks in a completed state, so as to recycle the numbers.
Therefore, the method can recycle the serial numbers by judging whether the two stages of the tasks are in the completion state, if so, sending a response signal by the calling party, and recycling the serial numbers of the tasks of which the state marks of the data DMA and the descriptor DMA are in the completion state. Therefore, if the two stages are in the finished state, the method sends a response signal to the calling party, improves the interactivity with the calling party, recycles the serial number, improves the cyclic utilization of the serial number and improves the efficiency of the equipment.
In the above embodiments, the method for processing DMA is described in detail, and the present application also provides embodiments corresponding to the apparatus for processing DMA. It should be noted that the present application describes the embodiments of the apparatus portion from two perspectives, one from the perspective of the function module and the other from the perspective of the hardware.
Since the embodiments of the apparatus portion and the method portion correspond to each other, please refer to the description of the embodiments of the method portion for the embodiments of the apparatus portion, which is not repeated here.
The above detailed description describes various embodiments corresponding to the method for processing DMA, and on this basis, the present application also discloses a device for processing DMA corresponding to the above method. Fig. 4 is a block diagram of an apparatus for processing DMA according to an embodiment of the present application. As shown in fig. 4, the task scheduling apparatus includes:
theacquisition module 15 is configured to receive a task for processing the DMA, and acquire state information of the task;
the judgingmodule 16 is configured to judge whether the state information meets a first preset condition of the descriptor DMA queue and/or a second preset condition of the data DMA queue according to a stage included in the task; the descriptor DMA queue is used for a first stage of processing a task, the data DMA queue is used for a second stage of processing the task, if a first preset condition is met, thefirst processing module 17 is triggered, if a second preset condition is met, thesecond processing module 18 is triggered, and if the first preset condition or the second preset condition is not met, theexecution module 19 is triggered;
afirst processing module 17, configured to control a first stage of a descriptor DMA queue processing task;
asecond processing module 18, configured to control a second stage of the data DMA queue processing task;
and theexecution module 19 is configured to take the task at the stage corresponding to the state information that does not satisfy the first preset condition or does not satisfy the second preset condition as a new task to continue triggering the above modules for processing.
Fig. 5 is a block diagram of a DMA processing apparatus according to another embodiment of the present application, and as shown in fig. 5, the DMA processing apparatus includes:
a memory 20 for storing a computer program;
a processor 21 for implementing the steps of the method of processing DMA as mentioned in the above embodiments when executing a computer program.
The device for processing DMA provided by the present embodiment may include, but is not limited to, a smart phone, a tablet computer, a notebook computer, or a desktop computer.
The processor 21 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like. The processor 21 may be implemented in at least one hardware form of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), and a PLA (Programmable Logic Array). The processor 21 may also include a main processor and a coprocessor, where the main processor is a processor for Processing data in an awake state, and is also called a Central Processing Unit (CPU); a coprocessor is a low power processor for processing data in a standby state. In some embodiments, the processor 21 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the display screen. In some embodiments, the processor 21 may further include an AI (Artificial Intelligence) processor for processing a calculation operation related to machine learning.
The memory 20 may include one or more computer-readable storage media, which may be non-transitory. Memory 20 may also include high speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In this embodiment, the memory 20 is at least used for storing the following computer program 201, wherein after being loaded and executed by the processor 21, the computer program can implement the relevant steps of the method for processing DMA disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 20 may also include an operating system 202, data 203, and the like, and the storage manner may be a transient storage manner or a permanent storage manner. Operating system 202 may include, among others, Windows, Unix, Linux, and the like. Data 203 may include, but is not limited to, data of a method of processing DMA, and the like.
In some embodiments, the device for processing DMA may further comprise a display 22, an input/output interface 23, a communication interface 24, a power supply 25, and a communication bus 26.
Those skilled in the art will appreciate that the configuration shown in fig. 5 does not constitute a limitation of the means for processing DMA and may comprise more or fewer components than those shown.
Finally, the application also provides a corresponding embodiment of the computer readable storage medium. The computer-readable storage medium has stored thereon a computer program which, when being executed by a processor, carries out the steps as set forth in the above-mentioned method embodiments.
It is to be understood that if the method in the above embodiments is implemented in the form of software functional units and sold or used as a stand-alone product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which is stored in a storage medium and executes all or part of the steps of the methods described in the embodiments of the present application, or all or part of the technical solutions. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The method for processing DMA provided by the present application is described in detail above. The embodiments are described in a progressive manner in the specification, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. The device disclosed by the embodiment corresponds to the method disclosed by the embodiment, so that the description is simple, and the relevant points can be referred to the method part for description. It should be noted that, for those skilled in the art, it is possible to make several improvements and modifications to the present application without departing from the principle of the present application, and such improvements and modifications also fall within the scope of the claims of the present application.
It is further noted that, in the present specification, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.

Claims (9)

Translated fromChinese
1.一种处理DMA的方法,其特征在于,包括:1. a method for processing DMA, is characterized in that, comprises:接收用于处理DMA的任务,并获取所述任务的状态信息;Receive a task for processing DMA, and obtain status information of the task;根据所述任务包含的阶段判断所述状态信息是否满足描述符DMA队列的第一预设条件和/或是否满足数据DMA队列的第二预设条件;其中,所述描述符DMA队列用于处理所述任务的第一阶段,所述数据DMA队列用于处理所述任务的第二阶段;According to the stages included in the task, determine whether the status information satisfies the first preset condition of the descriptor DMA queue and/or whether it satisfies the second preset condition of the data DMA queue; wherein, the descriptor DMA queue is used for processing The first stage of the task, the data DMA queue is used to process the second stage of the task;若所述任务满足所述第一预设条件,则控制所述描述符DMA队列处理所述任务的第一阶段;If the task satisfies the first preset condition, controlling the descriptor DMA queue to process the first stage of the task;若所述任务满足所述第二预设条件,则控制所述数据DMA队列处理所述任务的第二阶段;If the task satisfies the second preset condition, controlling the data DMA queue to process the second stage of the task;在处理所述第一阶段或所述第二阶段之后,更新所述任务的所述状态信息;并将不满足所述第一预设条件或不满足所述第二预设条件的所述状态信息对应的阶段的任务作为新的任务,并返回所述接收用于处理DMA的任务,并获取所述任务的状态信息的步骤;After processing the first stage or the second stage, update the status information of the task; and set the status that does not meet the first preset condition or the second preset condition The task of the corresponding stage of the information is used as a new task, and returns the task of receiving the task for processing DMA, and obtains the step of the status information of the task;其中,所述第一预设条件为描述符缓存中包含下一页地址条目,且所述任务的优先级在所述描述符DMA队列中最高,且带宽配额和流控配额不为0;Wherein, the first preset condition is that the descriptor cache contains a next page address entry, and the priority of the task is the highest in the descriptor DMA queue, and the bandwidth quota and flow control quota are not 0;所述第二预设条件为所述数据DMA包含描述符信息,且所述任务的优先级在所述数据DMA队列中最高,且所述带宽配额和所述流控配额不为0。The second preset condition is that the data DMA includes descriptor information, the priority of the task is the highest in the data DMA queue, and the bandwidth quota and the flow control quota are not 0.2.根据权利要求1所述的处理DMA的方法,其特征在于,所述获取所述任务的状态信息包括:2. The method for processing DMA according to claim 1, wherein the acquiring the status information of the task comprises:设置所述任务编号,所述编号与所述任务对应;Set the task number, and the number corresponds to the task;将所述编号分别写入所述数据DMA队列和所述描述符DMA队列;Write the numbers into the data DMA queue and the descriptor DMA queue respectively;通过所述编号获取所述状态信息。The state information is acquired through the number.3.根据权利要求2所述的处理DMA的方法,其特征在于,所述状态信息包含QoS信息、状态标志、数据信息、所述描述符信息;3. The method for processing DMA according to claim 2, wherein the state information comprises QoS information, a state flag, data information, and the descriptor information;所述QoS信息包含所述任务的优先级、所述带宽配额,所述状态标志包括所述数据DMA和所述描述符DMA,所述数据信息包括当前页地址、当前页偏移、所述流控配额、剩余总大小,所述描述符信息包括当前页地址、当前页偏移、描述符缓存、剩余条目数。The QoS information includes the priority of the task, the bandwidth quota, the status flag includes the data DMA and the descriptor DMA, the data information includes the current page address, the current page offset, the stream Control quota and total remaining size, and the descriptor information includes current page address, current page offset, descriptor cache, and the number of remaining entries.4.根据权利要求3所述的处理DMA的方法,其特征在于,所述控制所述描述符DMA队列处理所述任务的第一阶段包括:4. The method according to claim 3, wherein the first stage of controlling the descriptor DMA queue to process the task comprises:判断所述带宽配额和所述流控配额是否为0;Determine whether the bandwidth quota and the flow control quota are 0;若是,将所述第一阶段的任务作为新的任务进入到所述根据所述任务包含的阶段判断所述状态信息是否满足描述符DMA队列的第一预设条件和/或是否满足所述数据DMA队列的第二预设条件的步骤;If yes, enter the task of the first stage as a new task and enter the stage according to the task to determine whether the state information satisfies the first preset condition of the descriptor DMA queue and/or whether the data satisfies the steps of the second preset condition of the DMA queue;若否,计算DMA参数,所述DMA参数包含DMA传输大小、当前页剩余、起始地址;If not, calculate DMA parameters, the DMA parameters include DMA transfer size, current page remaining, start address;向PCIe发送读DMA的请求,并判断所述剩余总大小是否为0;Send a request to read DMA to PCIe, and determine whether the remaining total size is 0;若所述剩余总大小为0,设置所述描述符DMA为完成状态;If the remaining total size is 0, set the descriptor DMA to a completed state;若所述剩余总大小不为0,返回所述判断所述带宽配额和所述流控配额是否为0的步骤;If the remaining total size is not 0, return to the step of judging whether the bandwidth quota and the flow control quota are 0;所述控制所述数据DMA队列处理所述任务的第二阶段包括:The second stage of controlling the data DMA queue to process the task includes:判断所述带宽配额和所述流控配额是否为0;Determine whether the bandwidth quota and the flow control quota are 0;若是,将所述第二阶段的任务作为新的任务进入到所述根据所述任务包含的阶段判断所述状态信息是否满足描述符DMA队列的第一预设条件和/或是否满足所述数据DMA队列的第二预设条件的步骤;If yes, enter the task of the second stage as a new task and enter the stage according to the task included to determine whether the state information satisfies the first preset condition of the descriptor DMA queue and/or whether the data satisfies the steps of the second preset condition of the DMA queue;若否,计算DMA参数,所述DMA参数包含DMA传输大小、当前页剩余、起始地址;If not, calculate DMA parameters, the DMA parameters include DMA transfer size, current page remaining, start address;向PCIe发送读DMA的请求,并判断所述剩余总大小是否为0;Send a request to read DMA to PCIe, and determine whether the remaining total size is 0;若所述剩余总大小为0,设置所述数据DMA为完成状态;If the remaining total size is 0, set the data DMA to a completed state;若所述剩余总大小不为0,返回所述判断所述带宽配额和所述流控配额是否为0的步骤。If the remaining total size is not 0, return to the step of judging whether the bandwidth quota and the flow control quota are 0.5.根据权利要求4所述的处理DMA的方法,其特征在于,在所述设置所述描述符DMA为完成状态或所述设置所述数据DMA为完成状态之后还包括:5. The method for processing DMA according to claim 4, characterized in that, after the setting of the descriptor DMA to a completed state or the setting of the data DMA to a completed state, further comprising:判断所述数据DMA的所述状态标志或所述描述符DMA的所述状态标志是否为完成状态;Determine whether the state flag of the data DMA or the state flag of the descriptor DMA is a completed state;若是,向调用方发出应答信号。If so, send a reply signal to the caller.6.根据权利要求5所述的处理DMA的方法,其特征在于,在所述通过总线向调用方发出应答信号之后还包括:6. The method for processing DMA according to claim 5, further comprising:回收所述数据DMA的状态标志为完成状态和所述描述符DMA的状态标志为完成状态的所述任务的所述编号。Reclaim the number of the task whose status flag of the data DMA is a completed state and the state flag of the descriptor DMA is a completed state.7.一种处理DMA的装置,其特征在于,包括:7. A device for processing DMA, comprising:获取模块,用于接收用于处理DMA的任务,并获取所述任务的状态信息;an acquisition module for receiving a task for processing DMA, and acquiring status information of the task;判断模块,用于根据所述任务包含的阶段判断所述状态信息是否满足描述符DMA队列的第一预设条件和/或是否满足数据DMA队列的第二预设条件;其中,所述描述符DMA队列用于处理所述任务的第一阶段,所述数据DMA队列用于处理所述任务的第二阶段,若满足所述第一预设条件,则触发第一处理模块,若满足所述第二预设条件,则触发第二处理模块,若不满足所述第一预设条件或所述第二预设条件,则触发执行模块;A judgment module, configured to judge whether the state information satisfies the first preset condition of the descriptor DMA queue and/or whether it satisfies the second preset condition of the data DMA queue according to the stages included in the task; wherein, the descriptor The DMA queue is used to process the first stage of the task, and the data DMA queue is used to process the second stage of the task. If the first preset condition is met, the first processing module is triggered. The second preset condition is to trigger the second processing module, and if the first preset condition or the second preset condition is not satisfied, the execution module is triggered;所述第一处理模块,用于控制所述描述符DMA队列处理所述任务的第一阶段;the first processing module, configured to control the descriptor DMA queue to process the first stage of the task;所述第二处理模块,用于控制所述数据DMA队列处理所述任务的第二阶段;the second processing module, configured to control the data DMA queue to process the second stage of the task;所述执行模块,用于将不满足所述第一预设条件或不满足所述第二预设条件的所述状态信息对应的阶段的任务作为新的任务返回所述接收用于处理DMA的任务,并获取所述任务的状态信息的步骤;The execution module is configured to return the task of the stage corresponding to the state information that does not meet the first preset condition or does not meet the second preset condition as a new task to the received data for processing DMA. task, and the steps of obtaining the status information of the task;其中,所述第一预设条件为描述符缓存中包含下一页地址条目,且所述任务的优先级在所述描述符DMA队列中最高,且带宽配额和流控配额不为0;Wherein, the first preset condition is that the descriptor cache contains a next page address entry, and the priority of the task is the highest in the descriptor DMA queue, and the bandwidth quota and flow control quota are not 0;所述第二预设条件为所述数据DMA包含描述符信息,且所述任务的优先级在所述数据DMA队列中最高,且所述带宽配额和所述流控配额不为0。The second preset condition is that the data DMA includes descriptor information, the priority of the task is the highest in the data DMA queue, and the bandwidth quota and the flow control quota are not 0.8.一种处理DMA的装置,其特征在于,包括存储器,用于存储计算机程序;8. A device for processing DMA, comprising a memory for storing a computer program;处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的处理DMA的方法的步骤。A processor, configured to implement the steps of the method for processing DMA according to any one of claims 1 to 6 when executing the computer program.9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的处理DMA的方法的步骤。9. A computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the processing according to any one of claims 1 to 6 is implemented The steps of the method of DMA.
CN202111251475.4A2021-10-272021-10-27 A method, apparatus, and computer-readable storage medium for processing DMAActiveCN113703951B (en)

Priority Applications (3)

Application NumberPriority DateFiling DateTitle
CN202111251475.4ACN113703951B (en)2021-10-272021-10-27 A method, apparatus, and computer-readable storage medium for processing DMA
PCT/CN2022/090272WO2023071125A1 (en)2021-10-272022-04-29Dma processing method and apparatus, and computer readable storage medium
US18/564,515US20240256477A1 (en)2021-10-272022-04-29Method and apparatus for processing dma, and computer-readable storage medium

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN202111251475.4ACN113703951B (en)2021-10-272021-10-27 A method, apparatus, and computer-readable storage medium for processing DMA

Publications (2)

Publication NumberPublication Date
CN113703951A CN113703951A (en)2021-11-26
CN113703951Btrue CN113703951B (en)2022-02-18

Family

ID=78646963

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN202111251475.4AActiveCN113703951B (en)2021-10-272021-10-27 A method, apparatus, and computer-readable storage medium for processing DMA

Country Status (3)

CountryLink
US (1)US20240256477A1 (en)
CN (1)CN113703951B (en)
WO (1)WO2023071125A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN113703951B (en)*2021-10-272022-02-18苏州浪潮智能科技有限公司 A method, apparatus, and computer-readable storage medium for processing DMA
CN115373810A (en)*2021-12-202022-11-22比科奇微电子(杭州)有限公司 Accelerator processing method and device, storage medium and processor
CN114936223B (en)*2022-05-272024-07-23阿里云计算有限公司Data processing method, device, equipment and storage medium
CN115251882B (en)*2022-08-052025-09-12上海融易迈医疗健康科技有限公司 Bioelectrical impedance tomography system and data acquisition method thereof
CN116860335B (en)*2023-09-012023-11-17北京大禹智芯科技有限公司Method for realizing pipelining operation of direct memory access driving system
CN117807002B (en)*2024-03-012024-05-24山东云海国创云计算装备产业创新中心有限公司Load balancing method, device and medium based on direct memory access channel

Citations (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20100064069A1 (en)*2005-06-302010-03-11Freescale Semiconductor, Inc.Device and method for controlling multiple dma tasks
CN109766296A (en)*2019-01-082019-05-17郑州云海信息技术有限公司 A data processing method, device, system and DMA controller
CN111813713A (en)*2020-09-082020-10-23苏州浪潮智能科技有限公司 Data acceleration operation processing method, device and computer readable storage medium
CN113342721A (en)*2021-07-062021-09-03无锡众星微系统技术有限公司DMA design method for memory controller

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7685254B2 (en)*2003-06-102010-03-23Pandya Ashish ARuntime adaptable search processor
US8706914B2 (en)*2007-04-232014-04-22David D. DuchesneauComputing infrastructure
US8589600B2 (en)*2009-12-142013-11-19Maxeler Technologies, Ltd.Method of transferring data with offsets
JP5803000B2 (en)*2011-03-172015-11-04株式会社Pfu DMA device, information processing device, and data transfer method
US20180107591A1 (en)*2011-04-062018-04-19P4tents1, LLCSystem, method and computer program product for fetching data between an execution of a plurality of threads
US20230231811A1 (en)*2012-05-222023-07-20Xockets, Inc.Systems, devices and methods with offload processing devices
US9332239B2 (en)*2012-05-312016-05-03Apple Inc.Systems and methods for RGB image processing
US8953882B2 (en)*2012-05-312015-02-10Apple Inc.Systems and methods for determining noise statistics of image data
US9025867B2 (en)*2012-05-312015-05-05Apple Inc.Systems and methods for YCC image processing
US9105078B2 (en)*2012-05-312015-08-11Apple Inc.Systems and methods for local tone mapping
US9250954B2 (en)*2013-01-172016-02-02Xockets, Inc.Offload processor modules for connection to system memory, and corresponding methods and systems
JP6467935B2 (en)*2015-01-202019-02-13富士通株式会社 DMA controller, microcontroller, and DMA control method
CN107066407A (en)*2016-11-282017-08-18天津光电通信技术有限公司 A master-slave interactive communication platform and method based on PCIe bus
CN108090018A (en)*2017-10-262018-05-29深圳市风云实业有限公司Method for interchanging data and system
EP4049143A4 (en)*2019-10-252024-02-21GigaIO Networks, Inc.Methods and apparatus for dma engine descriptors for high speed data systems
US11934330B2 (en)*2020-05-082024-03-19Intel CorporationMemory allocation for distributed processing devices
US11409685B1 (en)*2020-09-242022-08-09Amazon Technologies, Inc.Data synchronization operation at distributed computing system
US12093748B2 (en)*2020-09-252024-09-17Intel CorporationDisaggregated computing for distributed confidential computing environment
CN112948124B (en)*2021-03-262023-09-22浪潮电子信息产业股份有限公司Acceleration task processing method, device, equipment and readable storage medium
US11573795B1 (en)*2021-08-022023-02-07Nvidia CorporationUsing a vector processor to configure a direct memory access system for feature tracking operations in a system on a chip
US11593290B1 (en)*2021-08-022023-02-28Nvidia CorporationUsing a hardware sequencer in a direct memory access system of a system on a chip
US12099439B2 (en)*2021-08-022024-09-24Nvidia CorporationPerforming load and store operations of 2D arrays in a single cycle in a system on a chip
CN113703951B (en)*2021-10-272022-02-18苏州浪潮智能科技有限公司 A method, apparatus, and computer-readable storage medium for processing DMA
EP4231163B1 (en)*2022-02-162025-01-29Infineon Technologies AGDirect memory access system, system for processing sensor data and method for direct memory access

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20100064069A1 (en)*2005-06-302010-03-11Freescale Semiconductor, Inc.Device and method for controlling multiple dma tasks
CN109766296A (en)*2019-01-082019-05-17郑州云海信息技术有限公司 A data processing method, device, system and DMA controller
CN111813713A (en)*2020-09-082020-10-23苏州浪潮智能科技有限公司 Data acceleration operation processing method, device and computer readable storage medium
CN113342721A (en)*2021-07-062021-09-03无锡众星微系统技术有限公司DMA design method for memory controller

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"嵌入式操作系统驱动体系的设计和实现";郝丽芳;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20111030;全文*

Also Published As

Publication numberPublication date
WO2023071125A1 (en)2023-05-04
CN113703951A (en)2021-11-26
US20240256477A1 (en)2024-08-01

Similar Documents

PublicationPublication DateTitle
CN113703951B (en) A method, apparatus, and computer-readable storage medium for processing DMA
CN109634718B (en)Method and system for creating mirror image by cloud platform
KR20210011451A (en) Embedded scheduling of hardware resources for hardware acceleration
CN113704301A (en)Data processing method, device, system, equipment and medium for heterogeneous computing platform
CN113366457A (en)Handling input/output store instructions
CN113366438B (en)Processing I/O store instructions
CN114513545B (en)Request processing method, device, equipment and medium
CN116540973A (en)Cross-domain audio processing method and device, electronic equipment and storage medium
JP2021022379A (en)Autonomous job queueing system for hardware accelerators
CN111310638A (en) A data processing method, apparatus and computer readable storage medium
CN113254223B (en) Resource allocation method, system and related components after system restart
WO2024119930A1 (en)Scheduling method and apparatus, and computer device and storage medium
CN110688223A (en) Data processing methods and related products
CN112068908B (en)Graphics processing method, related device and equipment
CN111261206A (en)Read-write method and device, electronic equipment and readable storage medium
CN111143078B (en)Data processing method, device and computer readable storage medium
US11112999B2 (en)Optimizing I/O latency by software stack latency reduction in a cooperative thread processing model
WO2018076647A1 (en)Data processing method and apparatus, and system on chip, device and storage medium
CN113886376A (en) A data cleaning method, device, electronic device and medium
CN105429733A (en) A method and device for dispatching and sending information
CN109656708B (en)Animation playing limiting method for Android, storage medium, electronic equipment and system
CN112269538A (en)Data reading method, device, equipment and medium
CN111562983A (en)Memory optimization method and device, electronic equipment and storage medium
CN111090633A (en)Small file aggregation method, device and equipment of distributed file system
CN110955644A (en)IO control method, device, equipment and storage medium of storage system

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant
CP03Change of name, title or address

Address after:Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province

Patentee after:Suzhou Yuannao Intelligent Technology Co.,Ltd.

Country or region after:China

Address before:Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province

Patentee before:SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Country or region before:China


[8]ページ先頭

©2009-2025 Movatter.jp