PCIe communication architecture and communication method based on multi-priority mechanism
By introducing a multi-priority mechanism PCIe communication architecture in the intelligent driving system, the priority of computing units is reasonably planned, and the real-time and reliability problems of multi-computing units are solved when processing data simultaneously, achieving low-latency transmission of mission-critical data and efficient operation of the system.
Patent Information
- Application Number
- CN202510577747.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-07
- Publication Date
- 2025-08-08
AI Technical Summary
In an intelligent driving system, when multiple computing units process data at the same time, the prior art cannot reasonably plan the priority of computing units, resulting in insufficient real-time and reliability of communication, especially when the transmission of critical mission data, which increases the risk of collision.
The PCIe communication architecture based on a multi-priority mechanism is adopted, including high-priority, medium-priority and low-priority data cache areas and corresponding DMA descriptor pools. Through the global topic subscription table on the RC side and the local topic information table of the EP device, data transmission between multiple EP devices is realized, and the priority of the computing unit is reasonably planned.
It improves the real-time and reliability of communication between computing units, ensures low-latency transmission of mission-critical data, prevents the system from occupying resources due to non-real-time data, and improves the overall performance and resource utilization of the system.
Smart Images

Figure CN120455394A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technology, and in particular to a PCIe communication architecture and a communication method based on a multi-priority mechanism. Background Art
[0002] In intelligent driving systems, vehicles are typically equipped with multiple high-performance computing units, including field-programmable gate arrays (FPGAs), artificial intelligence (AI) processing units, camera processing units, and decision control units. The data exchange between these computing units places extremely high demands on the system's real-time performance, throughput, and reliability to ensure that the system can operate stably and respond in real time to various driving conditions and traffic situations. The publish-subscribe model, as a one-to-many communication mode, has been widely used in the field of intelligent driving and can effectively coordinate data transmission between various computing units. The publish-subscribe architecture based on the high-speed serial computer expansion bus standard (Peripheral Component Interconnect Express, PCIe) currently has certain application prospects.
[0003] However, the computing tasks of various computing units in the intelligent driving field have different requirements for time sensitivity. Critical data such as emergency braking and collision detection require low latency transmission because they directly affect driving safety. If the latency is too high, the vehicle may not be able to brake in time, increasing the risk of a collision.
[0004] Existing technologies, such as those in patent application CN113728599A, propose a network interface controller that optimizes packet injection through priority and selection logic blocks, improving data transmission efficiency. However, this technology primarily focuses on single-node optimization and fails to fully consider data transmission priority management in multi-node scenarios. This is particularly true in intelligent driving systems, where multiple computing units simultaneously process data. Ensuring the prioritized transmission of mission-critical data presents a pressing challenge.
[0005] In summary, in current intelligent driving systems, the existing technology still has the problem of being unable to reasonably plan the priorities of computing units when multiple computing units process data simultaneously, resulting in insufficient real-time and reliability of communication between units. Summary of the Invention
[0006] The purpose of the present invention is to provide a PCIe communication architecture and communication method based on a multi-priority mechanism in order to overcome the defects of the above-mentioned prior art.
[0007] The purpose of the present invention can be achieved by the following technical solutions:
[0008] According to one aspect of the present invention, a PCIe communication architecture based on a multi-priority mechanism is provided, characterized in that the communication architecture includes an RC end, a high-priority data buffer area, a medium-priority data buffer area, and a low-priority data buffer area, and each priority buffer area is respectively equipped with a DMA descriptor pool;
[0009] The RC end is connected to multiple EP devices through the PCIe bus. The RC end is equipped with a global topic subscription table, and the EP device is equipped with a local subject information table.
[0010] The high-priority data buffer is set in the local SRAM of the EP device;
[0011] The medium-priority data buffer is set in the DDR of the EP device, the DDR of the RC end, or the shared memory of the PCIe switch to which the RC is connected;
[0012] The low-priority data buffer is set in the DDR on the RC side or in the NVMe SSD to which the RC is connected.
[0013] As a preferred technical solution, the capacity of the high-priority data buffer is configured to be 1-4MB. The high-priority data buffer is used to temporarily store emergency instructions, including collision detection instructions, laser perception instructions, and radar perception instructions; the DMA descriptor pool equipped with the high-priority buffer adopts a preemptive scheduling strategy.
[0014] As a preferred technical solution, the capacity of the medium priority data buffer is configured to be 1-2GB, and the DMA descriptor pool equipped with the medium priority data buffer is used to manage medium real-time DMA transmission tasks, including video frame intermediate data, periodic sampling data and standard transmission data.
[0015] As a preferred technical solution, the low-priority data buffer is used to store non-real-time data, including historical data, system logs, map OTA and non-real-time configuration data; the DMA descriptor pool equipped with the low-priority data buffer is only started when the system is idle or under low load, and is used to manage the DMA transmission tasks of non-real-time data.
[0016] As a preferred technical solution, the data buffer and DMA descriptor pool of each priority level are managed independently.
[0017] According to another aspect of the present invention, a PCIe communication method based on a multi-priority mechanism is provided. The method is applied to the above-mentioned PCIe communication architecture based on a multi-priority mechanism. In the method, data transmission between multiple EP devices is implemented through a global topic subscription table on the RC end and a local topic information table in the EP device. The method steps are as follows:
[0018] S1. A subscriber pre-subscribes to a topic, obtains a topic publish-subscribe relationship, and stores the topic publish-subscribe relationship in a global topic subscription table;
[0019] S2. The publisher generates topic data and configures the priority identification field in each topic data packet;
[0020] S3. Based on the priority identification field, each data packet is stored in a buffer of corresponding priority, and the priority information is stored in the global topic subscription table;
[0021] S4. Based on the global topic subscription table and the local topic information table, each buffer is used to perform data transmission between EP devices, including the transmission process of high-priority topics, the transmission process of medium-priority topics, and the transmission process of low-priority topics.
[0022] As a preferred technical solution, when a subscriber pre-subscribes to a topic in S1, the subscriber information is sent to the publisher. The specific process includes:
[0023] Write subscriber information into the global topic subscription table via DMA or PCIe transmission; subscriber information includes its own bus number and the destination address of the subscription data;
[0024] The RC updates the global topic subscription table and sends the subscriber information to the publisher synchronously;
[0025] After receiving the message, the publisher updates the subscriber information in the local topic information table.
[0026] As a preferred technical solution, the transmission process of high-priority topics in S4 includes:
[0027] The publisher publishes topic data and stores the data in a high-priority buffer;
[0028] Query the local topic information table, find the topic and obtain the subscriber information corresponding to the topic;
[0029] Based on the subscriber information, the publisher pushes the topic data directly to each subscriber who subscribes to the topic through P2P DMA on the PCIe bus.
[0030] As a preferred technical solution, the transmission process of the medium priority topic in S4 includes:
[0031] The publisher generates data and stores it in a medium-priority buffer.
[0032] Write the data generation information into the global topic subscription table and set the event flag to 1 to indicate that new data has been generated and is available for processing;
[0033] The RC end periodically polls the global topic subscription table or event flag to check whether new data is generated; if so, a notification is sent to the subscriber; if not, the polling step is repeated;
[0034] After receiving the notification, the subscriber uses the DMA engine to read the data into the local memory and queues it according to the first-in-first-out policy.
[0035] As a preferred technical solution, the transmission process of low-priority topics in S4 includes:
[0036] The publisher generates data and stores it in a low-priority buffer;
[0037] Write the data generation information into the global topic subscription table and set the event flag to 1 to indicate that new data has been generated and is available for processing;
[0038] The RC end periodically polls the global topic subscription table or event flag to check whether new data is generated; if so, a notification is sent to the subscriber; if not, the polling step is repeated;
[0039] After receiving the notification, the subscriber reads the topic data from the low-priority buffer and performs related operations on the topic data when issuing preset instructions to process the topic data.
[0040] Compared with the prior art, the present invention has the following beneficial effects:
[0041] 1. The present invention sets a high-priority data cache area, a medium-priority data cache area, a low-priority data cache area and a corresponding DMA descriptor pool in the PCIe architecture. The setting of different priority data cache areas and corresponding DMA descriptor pools can allocate communication resources according to data characteristics, so as to reasonably plan the priority of computing units when multiple computing units process data simultaneously, thereby improving the real-time performance and reliability of communication between units.
[0042] 2. In the present invention, the high-priority data buffer capacity is configured to 1-4MB and set in the local SRAM. Compared with large-capacity storage, the data reading and writing speed is faster, the instruction processing time is shortened, and the overall system performance is improved; and the medium-priority buffer capacity is configured to 1-2GB, which can meet the certain storage requirements of such data without excessively occupying resources, thereby achieving a balance between real-time performance and resource utilization.
[0043] 3. In the present invention, the DMA descriptor pool equipped with the high-priority buffer adopts a preemptive scheduling strategy to ensure that high-priority tasks can interrupt the currently executing medium and low-priority DMA tasks and obtain the DMA transmission channel first.
[0044] 4. In the present invention, the DMA descriptor pool equipped with the low-priority data buffer is only started when the system is idle or under low load, so that it will not affect the normal processing of high- and medium-priority data, prevent the bandwidth and processing resources from being occupied by a large amount of non-real-time data transmission, and ensure the system's efficient processing capability for critical tasks.
[0045] 5. In this invention, data buffers and DMA descriptor pools for each priority level are managed independently, preventing interference during the processing of data of different priorities. This ensures that high-priority data transmission is not delayed by the processing of medium- and low-priority data, ensuring the independence and stability of data transmission and processing at each priority level. Furthermore, the buffer capacity, storage location, and DMA descriptor pool scheduling strategy can be independently set based on the characteristics of data of different priorities, enabling the system to better adapt to diverse data needs and increase data processing flexibility.
[0046] 6. In the present invention, data transmission between multiple EP devices is achieved through the global topic subscription table on the RC side and the local topic information table in the EP device. The setting of the global topic subscription table and the local topic information table promotes the collaborative work between the EP devices, enabling them to achieve efficient communication when processing complex tasks and improve the overall system performance.
[0047] 7. In the present invention, the subscriber subscribes to the topic in advance, obtains the topic publish-subscribe relationship, and stores the topic publish-subscribe relationship in the global topic subscription table; when the subscriber subscribes to the topic, it is necessary to inform the publisher of its own bus number and the destination address of the subscribed data, which further ensures the low latency and high real-time performance of data transmission of high-priority topics. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] Figure 1 The PCIe communication architecture optimized by the priority-based multi-buffer mechanism in the present invention;
[0049] Figure 2 The PCIe publish-subscribe architecture of the present invention;
[0050] Figure 3 A data transmission flow chart for a high priority subject in the present invention;
[0051] Figure 4 A data transmission flow chart for a medium priority topic in the present invention;
[0052] Figure 5 A data transmission flow chart for a low-priority subject in the present invention;
[0053] Figure 6 This is a flowchart of the pre-processing of high-priority topic subscribers in the present invention. DETAILED DESCRIPTION
[0054] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0055] In intelligent driving systems, vehicles are typically equipped with multiple high-performance computing units, including FPGAs, AI processing units, camera processing units, and decision control units. Data exchange between these computing units places extremely high demands on the system's real-time performance, throughput, and reliability to ensure stable operation and real-time response to various driving conditions and traffic situations. The publish-subscribe model, a one-to-many communication model, is widely used in the intelligent driving field and effectively coordinates data transmission between various computing units. The PCIe-based publish-subscribe architecture currently has considerable application prospects.
[0056] However, the computational tasks of multiple computing units in the intelligent driving field have varying requirements, such as time sensitivity. Therefore, critical tasks must be prioritized during data transmission to ensure the system can make timely decisions and avoid accidents. Critical data such as emergency braking and collision detection require low-latency transmission, as they directly impact driving safety. Excessive latency can prevent the vehicle from braking in time, increasing the risk of a collision. Properly prioritizing computing units is crucial to ensuring system real-time performance, reliability, and resource utilization.
[0057] In order to improve the real-time performance and reliability of the system, it is necessary to reasonably define the priority of data publishing and subscription based on the PCIe publish-subscribe architecture to ensure that critical data (such as emergency braking signals) can be transmitted to relevant computing units at high speed and reliably.
[0058] Real-time Example 1
[0059] This embodiment uses a real-time priority-based PCIe (Peripheral Component Interconnect Express) communication optimization method. This method divides the buffer into high-priority, medium-priority, and low-priority buffers based on the data transmission priority requirements of intelligent driving scenarios. It also rationally configures the physical location and data transmission strategy for each buffer level. The method includes three levels of data buffers, a DMA (Direct Memory Access) descriptor pool, and a command management module.
[0060] like Figure 1As shown, there are three levels of data buffers and descriptor pools, including:
[0061] The high-priority data buffer is built in the local SRAM (Static Random Access Memory) of the sensor / actuator. It has a small capacity, generally allocated 1-4MB, and is mainly used for acquiring and parsing data from laser radar and other sensors, and for generating emergency instructions.
[0062] The high-priority descriptor pool serves as the "task instruction set" of the DMA engine. Each descriptor in the descriptor pool defines the metadata of the data transmission (source address, destination address, length, priority tag, etc.). The hardware-level scheduling strategy ensures that high-priority tasks are executed first and supports preemptive transmission.
[0063] The DMA descriptor pool equipped with the high-priority buffer adopts a preemptive scheduling strategy to ensure that high-priority tasks can interrupt the currently executing medium and low-priority DMA tasks and obtain the DMA transmission channel first.
[0064] When transferring task data of high-priority topics, DMA directly transfers data from the publisher EP (Endpoint) to the subscriber's high-priority data buffer, and uses PCIe P2P (Point to Point) to minimize CPU participation and improve the real-time performance of data transmission.
[0065] The medium-priority data buffer is built in the shared memory of the sending-side DDR (Double Data Rate SDRAM), the RC (Root Complex)-side DDR, or the PCIe Switch (a hardware device that provides expansion or aggregation capabilities and allows more devices to be connected to a PCIe port). The buffer size is configured according to specific needs and is generally configured to 1-2GB.
[0066] The DMA descriptor pool equipped with the medium priority buffer is used to manage data transmission for medium real-time tasks, such as video frame intermediate data, periodic sampling, standard transmission, etc.
[0067] The low-priority buffer is generally located in the RC-side DDR or NVMe (Non-Volatile Memory Express, non-volatile memory host controller interface specification) SSD (Solid State Drive), and is mainly used to store historical data, system logs, and non-real-time configuration data.
[0068] The low-priority descriptor pool mainly manages non-real-time DMA transfer tasks, such as log upload and map OTA (Over-The-Air) download technology.
[0069] Data buffers of different priorities are managed independently from the DMA descriptor pool to prevent low-priority data from blocking high-priority data.
[0070] like Figure 2 As shown, the PCIe publish-subscribe architecture used in this embodiment includes an RC device and multiple EP devices. The RC device connects to multiple EP devices via the PCIe bus. Data transmission between multiple EP devices no longer relies on traditional polling. Instead, efficient data exchange is achieved through a shared memory-based topic subscription table and an EP local topic information table. The method includes:
[0071] The local topic information table is stored in the local memory of the RC and EP devices, recording the topics that the device is concerned about and their priorities.
[0072] The global topic subscription table is stored in the shared memory of the RC end and is used to maintain the subscription information of all devices.
[0073] In the PCIe publish-subscribe architecture, topics are divided into three levels according to their priority: high, medium, and low. These levels correspond to high-priority buffers, medium-priority buffers, and low-priority buffers, respectively. The data information of topics at each level is stored in the buffer of the corresponding level.
[0074] Data is predefined into three categories: high priority, medium priority, and low priority according to the requirements of upper-layer applications, and a corresponding priority identification field is included in each data packet to achieve automatic priority identification and scheduling.
[0075] In this embodiment, the data transmission schemes for the three priority topics are as follows:
[0076] The data transmission of high-priority topics is mainly used in key tasks such as collision detection and radar perception, which have high requirements for low latency and real-time performance. Its workflow is as follows: Figure 3 The specific operations are as follows:
[0077] 1) The publisher publishes the topic data;
[0078] 2) The publisher queries the local topic information table, finds the topic and obtains the subscriber information corresponding to the topic, mainly address information;
[0079] 3) The publisher pushes this topic message directly to the high-priority buffer of each subscriber node that subscribes to the topic through P2P DMA on the PCIe bus.
[0080] During the transmission of high-priority topics, publishers push high-priority topic data directly to subscribers via P2P DMA, skipping intermediate links and significantly shortening the data transmission path and time. This enables extremely fast transmission of high-priority data, meeting the stringent timeliness requirements of urgent tasks. This eliminates the need for high-priority data to wait in buffers or undergo complex scheduling processes. Direct transmission reduces data processing overhead, improves data transmission efficiency, enables the system to quickly respond to high-priority tasks, and enhances the system's ability to handle emergency situations.
[0081] In this embodiment, the rapid transmission of high-priority subject data ensures that related tasks (such as collision detection and laser perception) can run continuously and stably, preventing task interruptions or errors due to data delays and ensuring the normal execution of key system functions.
[0082] The data transmission of medium priority topics is mainly used in scenarios such as path planning and temperature control, which require a certain amount of CPU to participate in data processing. Its workflow is as follows: Figure 4 The specific operations are as follows:
[0083] 1) The publisher generates data and stores the data in the medium-priority buffer in the RC-side shared memory;
[0084] 2) The publisher writes the data generation information to the global topic subscription table on the RC side and sets an event flag to indicate that the data has been generated and is available for processing;
[0085] 3) The RC end periodically polls the global topic subscription table or related event flags to check whether new data is generated. If the event flag is set, it means that new data can be processed, and then each subscriber will be notified;
[0086] 4) The subscriber receives the notification information, uses the DMA engine to read the data into the local memory and processes the data.
[0087] During the data transmission process of medium-priority topics, new data generation is checked through RC polling, and then subscribers are notified to read the data. The data is queued and processed using a first-in-first-out strategy to ensure the orderliness of medium-priority data processing, avoid data confusion, and improve the accuracy and efficiency of data processing.
[0088] The data transmission of low-priority topics is mainly used to store low-frequency storage data, such as historical driving records, driving logs, etc. Its workflow is as follows: Figure 5 The specific operations are as follows:
[0089] 1) The publisher generates low-priority data and stores the data in a low-priority buffer in the DDR or SSD on the RC side;
[0090] 2) The publisher writes the data generation information to the global topic subscription table on the RC side so that the RC side and subscribers can query it;
[0091] 3) The RC end periodically polls the global topic subscription table or related event flags to check whether new data is generated. If so, it notifies the subscribers;
[0092] 4) The subscriber receives the notification information and reads the data from the RC-side DDR or SSD and performs related operations when it needs to process the topic data.
[0093] Low-priority topic data is read and processed only when subscribers issue preset instructions. Combined with a mechanism that transmits data only when the system is idle or under low load, this allows for flexible scheduling of system resources, completing non-real-time data processing without impacting high- and medium-priority tasks, thereby improving resource utilization. Low-priority data is not actively pushed, but read on demand. This prevents low-priority data from unnecessarily occupying bandwidth and processing resources, avoiding resource waste, ensuring that system resources prioritize critical tasks, and improving overall system efficiency.
[0094] In order to ensure low latency and high real-time performance of data transmission for high-priority topics, when a subscriber subscribes to a topic, it is necessary to inform the publisher of its bus number and the destination address of the subscribed data. The workflow is as follows: Figure 6 The specific operations are as follows:
[0095] 1) The subscriber first registers the subscription information to the global topic subscription table on the RC side, and writes its own address information into the global topic subscription table through the DMA engine or ordinary PCIe transmission;
[0096] 2) The RC updates the global topic subscription table and then synchronizes the subscriber information to the publisher;
[0097] 3) When the publisher receives the notification from the RC, it will update the subscriber information of the topic in its own local topic information table.
[0098] In summary, this solution divides the data buffer into three levels based on the real-time priority of data in intelligent driving scenarios, and rationally configures the location of the buffers; combines the multi-level buffer mechanism with the PCIe publish-subscribe architecture, and divides topics into three levels based on priority; for high-priority topic data transmission, uses the local high-priority buffer to store data, and preferentially adopts the PCIe P2P method to maximize transmission speed; for medium-priority data transmission, uses the medium-priority buffer to store data, and adopts the DMA transmission strategy to execute in a first-in, first-out order; for low-priority data transmission, uses the low-priority buffer to store data, and executes data transmission in non-busy working scenarios. Compared with the existing technology, this invention constructs different transmission paths for data with different transmission requirements, which can improve the real-time performance and reliability of PCIe communication in intelligent driving scenarios.
[0099] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and such modifications or substitutions are intended to be within the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be subject to the scope of protection of the claims.
Claims
1. A PCIe communication architecture based on a multi-priority mechanism, characterized in that: The communication architecture includes an RC end, a high-priority data buffer area, a medium-priority data buffer area, and a low-priority data buffer area, and each priority buffer area is respectively equipped with a DMA descriptor pool; The RC end is connected to multiple EP devices via a PCIe bus, the RC end is equipped with a global topic subscription table, and the EP device is equipped with a local subject information table; The high priority data buffer is set in the local SRAM of the EP device; The medium priority data buffer is set in the DDR of the EP device, the DDR of the RC end, or the shared memory of the PCIe Switch to which the RC is connected; The low priority data buffer is set in the DDR at the RC end or the NVMe SSD to which the RC is connected.
2. A PCIe communication architecture based on a multi-priority mechanism according to claim 1, characterized in that: The capacity of the high-priority data buffer is configured to be 1-4MB. The high-priority data buffer is used for temporary storage of emergency instructions, including collision detection instructions, laser perception instructions, and radar perception instructions; the DMA descriptor pool equipped with the high-priority buffer adopts a preemptive scheduling strategy.
3. A PCIe communication architecture based on a multi-priority mechanism according to claim 2, characterized in that: The capacity of the medium priority data buffer is configured to be 1-2GB. The DMA descriptor pool equipped with the medium priority data buffer is used to manage medium real-time DMA transmission tasks, including video frame intermediate data, periodic sampling data and standard transmission data.
4. A PCIe communication architecture based on a multi-priority mechanism according to claim 3, characterized in that: The low-priority data buffer is used to store non-real-time data, including historical data, system logs, map OTA and non-real-time configuration data; the DMA descriptor pool equipped with the low-priority data buffer is only started when the system is idle or under low load, and is used to manage the DMA transmission tasks of non-real-time data.
5. The PCIe communication architecture based on a multi-priority mechanism according to claim 1, characterized in that: The data buffers and DMA descriptor pools of each priority level are managed independently.
6. A PCIe communication method based on a multi-priority mechanism, characterized in that: The method is applied to a PCIe communication architecture based on a multi-priority mechanism as described in any one of claims 1 to 5. In the method, data transmission between multiple EP devices is achieved through a global topic subscription table on the RC end and a local topic information table in the EP device. The method steps are as follows: S1. A subscriber pre-subscribes to a topic, obtains a topic publish-subscribe relationship, and stores the topic publish-subscribe relationship in a global topic subscription table. S2. The publisher generates topic data and configures the priority identification field in each topic data packet; S3. Based on the priority identification field, each topic data packet is stored in a buffer of the corresponding priority, and the priority information is stored in the global topic subscription table; S4. Based on the global topic subscription table and the local topic information table, each buffer is used to perform data transmission between EP devices, including the transmission process of high-priority topics, the transmission process of medium-priority topics, and the transmission process of low-priority topics.
7. A PCIe communication method based on a multi-priority mechanism according to claim 6, characterized in that: When a subscriber pre-subscribes to a topic in S1, the subscriber information is sent to the publisher. The specific process includes: Write subscriber information into the global topic subscription table via DMA or PCIe transmission; the subscriber information includes its own bus number and the destination address of the subscription data; The RC updates the global topic subscription table and sends the subscriber information to the publisher synchronously; After receiving the message, the publisher updates the subscriber information in the local topic information table.
8. The PCIe communication method based on a multi-priority mechanism according to claim 6, wherein: The transmission process of high-priority topics in S4 includes: The publisher publishes topic data and stores the data in a high-priority buffer; Query the local topic information table, find the topic and obtain the subscriber information corresponding to the topic; Based on the subscriber information, the publisher pushes the topic data directly to each subscriber who subscribes to the topic through P2P DMA on the PCIe bus.
9. The PCIe communication method based on a multi-priority mechanism according to claim 6, wherein: The transmission process of the medium priority topic in S4 includes: The publisher generates data and stores it in a medium-priority buffer. Write the data generation information into the global topic subscription table and set the event flag to 1 to indicate that new data has been generated and is available for processing; The RC end periodically polls the global topic subscription table or event flag to check whether new data is generated; if so, a notification is sent to the subscriber; if not, the polling step is repeated; After receiving the notification, the subscriber uses the DMA engine to read the data into the local memory and queues it according to the first-in-first-out policy.
10. The PCIe communication method based on a multi-priority mechanism according to claim 6, characterized in that: The transmission process of low-priority topics in S4 includes: The publisher generates data and stores it in a low-priority buffer; Write the data generation information into the global topic subscription table and set the event flag to 1 to indicate that new data has been generated and is available for processing; The RC end periodically polls the global topic subscription table or event flag to check whether new data is generated; if so, a notification is sent to the subscriber; if not, the polling step is repeated; After receiving the notification, the subscriber reads the topic data from the low-priority buffer and performs related operations on the topic data when issuing preset instructions to process the topic data.
Citation Information
Patent Citations
System and method for facilitating efficient packet injection into an output buffer in a network interface controller (NIC)
CN113728599A