Protocol conversion device and method based on multi-type transaction processing, equipment, medium and product

By designing a protocol conversion device based on multi-type transaction processing, the conflict handling problem between different protocol devices in the multi-core processor system is solved, and the orderly processing of write channel transactions and listening requests is realized, avoiding locking.

CN119248607APending Publication Date: 2025-01-03SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 3 Cited by

Patent Information

Application Number
CN202411313718.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

In multi-core processor systems, the conflict handling methods between different protocol devices are different, resulting in lockdown problems. Especially when the master node uses the CHI protocol and requests the node to use the ACE protocol, there is a conflict between the write channel transaction and the listening request processing.

Method used

A protocol conversion device based on multi-type transaction processing is designed, including conversion components, generation components and transaction management components. By receiving and processing write channel transactions and listening requests of different protocols, conflict signals are generated and protocols are carried out in conflict situations. Transformation to ensure orderly processing of writing channel transactions and listening responses.

Benefits of technology

It effectively solves the locking problem caused by different conflict handling methods between devices of different protocols, realizes orderly processing of write channel transactions and listening requests, and ensures the cache consistency of multi-core processor systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119248607A_ABST
    Figure CN119248607A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of multi-core processors, in particular to a protocol conversion device, method and equipment based on multi-type transaction processing, a medium and a product. A conversion component receives a write channel transaction which is transmitted by a processor and conforms to a first bus protocol; receiving a monitoring request which is transmitted by the main node and accords with a second bus protocol; an address to listen to the request access is transmitted to the transaction management component. When there is a write channel transaction having the same address as the listening request, the transaction management component transmits a conflict signal to the translation component. The conversion component transmits the conflict signal and the write channel transaction to the generation component. The generation component generates a monitoring response message conforming to a second bus protocol based on the write channel transaction and the monitoring request, and transmits the monitoring response message to the main node in a monitoring response mode; and after transmission is completed, field zero clearing operation is performed on the monitoring response message, and the obtained invalid message is transmitted to the main node, so that conflict processing between different protocol devices is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of multi-core processors, and in particular to a protocol conversion device, method, equipment, medium and product based on multi-type transaction processing. Background Art

[0002] Each core in a multi-core processor has a cache. Multi-core systems need to process cache data consistently to prevent errors caused by processors using outdated data. The Advanced eXtensible Interface (AXI) is the most important part of the Advanced Microcontroller Bus Architecture (AMBA) 3.0 protocol. It is an on-chip bus for high performance, high bandwidth, and low latency. The AXI Coherency Extensions (ACE) and Coherent Hub Interface (CHI) protocols are protocols that support cache consistency and are used to maintain cache consistency in multi-core processor systems.

[0003] In a multi-core processor, a home node (HN) and multiple request nodes (RN) are generally set. In actual applications, there may be conflicts between listening transactions and write channel transactions. For example, when RN issues a write request, before the write data is completed, it may receive a listening request from HN to access the same address, and a conflict will occur. In the ACE protocol, write channel transactions are processed first. In the CHI protocol, listening transactions are processed first.

[0004] Since the processing methods of ACE protocol and CHI protocol are completely different. If HN uses CHI protocol and RN uses ACE protocol, HN sends a monitoring request to RN, and RN will wait until the previous write channel transaction is completed before processing the monitoring request, but HN needs to receive the monitoring response before processing the write channel transaction. In this way, RN and HN will be in a waiting state all the time, resulting in a lock.

[0005] It can be seen that how to implement conflict handling between devices with different protocols is a problem that needs to be solved by those skilled in the art. Summary of the invention

[0006] The purpose of the embodiments of the present invention is to provide a protocol conversion device, method, equipment, medium and product based on multi-type transaction processing, which can solve the conflict problem between different protocol devices.

[0007] To solve the above technical problems, an embodiment of the present invention provides a protocol conversion device based on multi-type transaction processing, comprising a conversion component, a generation component, and a transaction management component respectively connected to the conversion component and the generation component;

[0008] The conversion component is connected to the generation component, and is used to receive a write channel transaction in accordance with the first bus protocol transmitted by the processor; receive a monitoring request in accordance with the second bus protocol transmitted by the master node; transmit the address accessed by the monitoring request to the transaction management component; in the case of receiving a conflict signal, transmit the conflict signal and the write channel transaction to the generation component; wherein the processor is a device using the first bus protocol; and the master node is a device using the second bus protocol;

[0009] The transaction management component is used to determine whether there is a write channel transaction with the same address when receiving the address accessed by the monitoring request; if there is a write channel transaction with the same address, transmit a conflict signal to the conversion component;

[0010] The generating component is used to generate a monitoring response message that complies with the second bus protocol based on the write channel transaction and the monitoring request when receiving the conflict signal, and transmit the monitoring response message to the master node in the form of a monitoring response; after completing the transmission of the monitoring response message, perform a field clearing operation on the monitoring response message to obtain an invalid message, and transmit the invalid message to the master node.

[0011] On the one hand, the conversion component includes a write request conversion module and a read-write response conversion module for processing write channel transactions, and a listen response conversion module and a listen request conversion module for processing listen transactions; the generation component includes a data generation module and a response generation module; wherein the data generation module includes a decoding submodule, a write data generation submodule for processing write data, and a listen response data generation submodule for processing listen responses.

[0012] On the one hand, the write request conversion module is connected to the data generation module, and is used to receive the write request and write data transmitted by the processor; send the write request identification information corresponding to the write request and the write data to the decoding submodule of the data generation module;

[0013] The decoding submodule is connected to the write data generation submodule, and is used for, after receiving the write data and write request identification information transmitted by the write request conversion module, saving the write data to a memory, and using the write address contained in the write request identification information as a data index of the write data; sending the write data and the write request identification information to the write data generation submodule; and sending the conflict signal to the write data generation submodule when a conflict signal is received;

[0014] The write data generation submodule is used to, upon receiving the write data and the write request identification information, convert the write data and the write request identification information into a write data message that complies with the second bus protocol in accordance with the write data transaction response protocol table; upon receiving the conflict signal, clear all the data field, identification field, valid bit field and type field in the write data message that complies with the second bus protocol to generate a new write data message, and send the new write data message to the master node.

[0015] On the one hand, the write request conversion module is used to receive the write request transmitted by the processor through the write request channel, and receive the write data transmitted by the processor through the write data channel;

[0016] The write data generation submodule is used to send the new write data message to the master node through the data channel.

[0017] On the one hand, the monitoring request conversion module is connected to the monitoring response conversion module and the transaction management component respectively, and is used to receive the monitoring request transmitted by the master node; transmit the transaction identification information corresponding to the monitoring request to the monitoring response conversion module, and transmit the address accessed by the monitoring request and the second bus protocol transaction number to the transaction management component;

[0018] The transaction management component is connected to the monitoring response conversion module, and is used to receive the address accessed by the monitoring request and the second bus protocol transaction number; determine whether there is a write channel transaction with the same address as the monitoring request in the record table; if there is a write channel transaction with the same address as the monitoring request in the record table, pull up the conflict signal, and send a notification of executing the monitoring response to the monitoring response conversion module; wherein the notification carries the conflict signal and the address;

[0019] The monitoring response conversion module is connected to the data generation module, and is used to query the monitoring response protocol conversion table to obtain the type and status field information that conforms to the second bus protocol when receiving the notification of executing the monitoring response; send the second bus protocol transaction number, the type and status field information, the conflict signal and the address included in the transaction identification information to the data generation module;

[0020] The data generation module is used to query the write data corresponding to the address from the memory when receiving the second bus protocol transaction number, the type and status field information, the conflict signal and the address; encapsulate the write data, the second bus protocol transaction number, the type and status field information into a monitoring response message that complies with the second bus protocol, and send the monitoring response message to the master node.

[0021] On the one hand, the transaction management component is used to determine whether the transaction type of the write channel transaction belongs to a write data transaction when there is a write channel transaction with the same address as the listen request in the record table; if the transaction type of the write channel transaction belongs to a write data transaction, set the conflict signal to a conflict signal with data, and send a notification of executing the listen response to the listen response conversion module;

[0022] The monitoring response conversion module is used to, when receiving a notification of executing a monitoring response, determine whether the conflict signal carried in the notification is a conflict signal with data; if the conflict signal is a conflict signal with data, send the second bus protocol transaction number, the type and status field information, the conflict signal and the address included in the transaction identification information to the decoding submodule of the data generation module;

[0023] The decoding submodule is connected to the monitoring response data generating submodule, and is used for determining whether the conflict signal is a conflict signal with data when receiving the second bus protocol transaction number, the type and status field information, the conflict signal and the address; and sending the second bus protocol transaction number, the type and status field information, the conflict signal and the address to the monitoring response data generating submodule when the conflict signal is a conflict signal with data;

[0024] The monitoring response data generation submodule is used to query the write data corresponding to the address from the memory when receiving the second bus protocol transaction number, the type and status field information, the conflict signal and the address; use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the write data, the second bus protocol transaction number, the type and status field information into a monitoring response message that complies with the second bus protocol; and send the monitoring response message that complies with the second bus protocol to the master node through a data channel.

[0025] On the one hand, the monitoring request conversion module is used to store the monitoring message corresponding to the monitoring request in a first-in-first-out queue; parse the monitoring message to obtain the node number of the master node, the address accessed by the monitoring request, the second bus protocol transaction type and the second bus protocol transaction number; transmit the address accessed by the monitoring request to the transaction management component; transmit the second bus protocol transaction number and the second bus protocol transaction type to the monitoring response conversion module;

[0026] The monitoring response conversion module is used for, after receiving the second bus protocol transaction number and the second bus protocol transaction type, converting the second bus protocol transaction type into the first bus protocol transaction type, and storing the second bus protocol transaction number and the first bus protocol transaction type in the monitoring response record table;

[0027] The transaction management component is used to send a warning signal to the listening request conversion module when there is a write channel transaction with the same address as the listening request in the record table; and send a non-warning signal to the listening request conversion module when there is no write channel transaction with the same address as the listening request in the record table;

[0028] The monitoring request conversion module is also used to end the conversion operation of the monitoring message when the alarm signal is received; when the non-alarm signal is received, the monitoring request is converted into monitoring information that complies with the first bus protocol according to the monitoring channel protocol conversion table, and the monitoring information that complies with the first bus protocol is transmitted to the processor through the monitoring request channel.

[0029] On the one hand, the monitoring request conversion module is used to query the monitoring information that complies with the first bus protocol and matches the second bus protocol transaction type from the monitoring channel protocol conversion table.

[0030] On the one hand, the monitoring request conversion module is connected to the monitoring response conversion module and the transaction management component respectively, and is used to receive the monitoring request transmitted by the master node; transmit the transaction identification information corresponding to the monitoring request to the monitoring response conversion module, and transmit the address accessed by the monitoring request and the second bus protocol transaction number to the transaction management component;

[0031] The transaction management component is connected to the monitoring response conversion module, and is used to receive the address accessed by the monitoring request and the second bus protocol transaction number; determine whether there is a write channel transaction with the same address as the monitoring request in the record table; if there is a write channel transaction with the same address as the monitoring request in the record table, pull up the conflict signal, and send a notification of executing the monitoring response to the monitoring response conversion module; wherein the notification carries the conflict signal;

[0032] The monitoring response conversion module is connected to the response generation module, and is used to query the monitoring response protocol conversion table to obtain the type and status field information that conforms to the second bus protocol when receiving the notification of executing the monitoring response; and send the second bus protocol transaction number, the type and status field information contained in the transaction identification information to the response generation module;

[0033] The response generation module is used to encapsulate the second bus protocol transaction number, the type and status field information into a monitoring response message that complies with the second bus protocol upon receiving the second bus protocol transaction number, the type and status field information, and send the monitoring response message to the master node.

[0034] On the one hand, the transaction management component is used to determine whether the transaction type of the write channel transaction belongs to a write channel no-data transaction when there is a write channel transaction with the same address as the listen request in the record table; if the transaction type of the write channel transaction belongs to a write channel no-data transaction, set the conflict signal to a conflict signal without data, and send a notification of executing the listen response to the listen response conversion module;

[0035] The monitoring response conversion module is used to, when receiving a notification of executing a monitoring response, determine whether the conflict signal carried in the notification is a conflict signal without data; if the conflict signal is a conflict signal without data, send the second bus protocol transaction number, the type and status field information included in the transaction identification information to the response generation module;

[0036] The response generation module is used to use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the second bus protocol transaction number, the type and status field information into a monitoring response message that complies with the second bus protocol; and send the monitoring response message to the master node through a response channel.

[0037] On the one hand, the read-write response conversion module is connected to the transaction management component, and is used to receive write response information that complies with the second bus protocol and is transmitted by the master node through the response channel; send the data packet identification information carried by the write response information to the transaction management component, and obtain the write request transaction number corresponding to the write request from the transaction management component; according to the write channel dataless transaction response protocol table, convert the write request transaction number and the write response information that complies with the second bus protocol into write response information that complies with the first bus protocol; and feed back the write response information that complies with the first bus protocol to the processor through the write response channel.

[0038] On the one hand, the read-write response conversion module is used to use the write request transaction number as the write response transaction number and set the transaction type to the binary field information corresponding to the write response transaction to obtain write response information that complies with the first bus protocol.

[0039] On the one hand, the write request conversion module is connected to the data generation module, and is used to receive the write request and write data transmitted by the processor; send the write request identification information corresponding to the write request and the write data to the decoding submodule of the data generation module;

[0040] The decoding submodule is connected to the write data generation submodule, and is used for, after receiving the write data and write request identification information transmitted by the write request conversion module, saving the write data to a memory, and using the write address contained in the write request identification information as a data index of the write data; and sending the write data and the write request identification information to the write data generation submodule;

[0041] The write data generation submodule is used for converting the write data and the write request identification information into a write data message conforming to the second bus protocol according to the write data transaction response protocol table when the write data and the write request identification information are received;

[0042] The read-write response conversion module is connected to the transaction management component, and is used to receive the write response information in accordance with the second bus protocol transmitted by the master node; send the data packet identification information carried by the write response information to the transaction management component; convert the write response information in accordance with the second bus protocol into the write response information in accordance with the first bus protocol, and feed back the write response information in accordance with the first bus protocol to the processor;

[0043] The transaction management component is connected to the write data generation submodule, and is used to send a request completion notification carrying the data packet identification information to the write data generation submodule after receiving the data packet identification information transmitted by the read-write response conversion module;

[0044] The write data generation submodule is used to use the data packet identification information as the second bus protocol transaction number of the write data message and send the write data message to the master node when receiving the request completion notification transmitted by the transaction management component.

[0045] On the one hand, the read-write response conversion module is used to obtain a write request transaction number corresponding to the write request from the transaction management component; according to the write channel dataless transaction response protocol table, convert the write request transaction number and the write response information that complies with the second bus protocol into write response information that complies with the first bus protocol;

[0046] The transaction management component is used to send the write request transaction number and the data packet identification information to the write data generation submodule after receiving the data packet identification information transmitted by the read-write response conversion module;

[0047] The write data generation submodule is used to determine whether the write request transaction number transmitted by the transaction management component and the write request transaction number carried in the write request identification information are consistent when receiving the write request transaction number and data packet identification information transmitted by the transaction management component; when the write request transaction number transmitted by the transaction management component and the write request transaction number carried in the write request identification information are consistent, use the data packet identification information as the second bus protocol transaction number of the write data message, and send the write data message to the master node.

[0048] On the one hand, the write data generation submodule is used to store the write data message in the data field of the second bus protocol, and store the message number corresponding to the write data message in the identification field of the second bus protocol; assign the data valid signal carried by the write request identification information to the valid bit field of the second bus protocol; determine the second bus protocol write channel transaction type that matches the write channel transaction type carried by the write request identification information according to the correspondence between the first bus protocol transaction type and the second bus protocol transaction type, and store the second bus protocol write channel transaction type in the type field of the second bus protocol; store the node number of the master node in the destination address field of the second bus protocol, and store the node number of the processor in the source address field of the second bus protocol; and store the data packet identification information in the transaction number field of the second bus protocol.

[0049] On the one hand, the write data generation submodule is used to determine the number of splits of the write data message based on the total number of data packets of the write data message and the data bit width of the data bus; split the write data message into multiple write data sub-messages according to the number of splits; store the multiple write data sub-messages in the data field of the second bus protocol, and store the sub-message number corresponding to each write data sub-message in the identification field of the second bus protocol; and transmit the multiple write data sub-messages to the master node through the data channel in sequence according to the order of their corresponding sub-message numbers.

[0050] On the one hand, the monitoring response conversion module is respectively connected to the transaction management component, the data generation module and the response generation module, and is used to receive the monitoring response transmitted by the processor; determine whether the conflict signal transmitted by the transaction management component is received; if the conflict signal transmitted by the transaction management component is not received, query the monitoring response protocol conversion table to obtain the type and status field information matched by the monitoring response; if the monitoring response is a data-free response, send the type and status field information and the second bus protocol transaction number recorded in the monitoring response record table to the response generation module, and clear the monitoring response record table; if the monitoring response is a data-bearing response, send the monitoring data, the type and status field information and the second bus protocol transaction number to the data generation module, and clear the monitoring response record table;

[0051] The response generation module is used to use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the type and status field information and the second bus protocol transaction number into a monitoring response message that complies with the second bus protocol; and send the monitoring response message to the master node through a response channel;

[0052] The data generation module is used to use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the monitoring data, the type and status field information, and the second bus protocol transaction number into a monitoring response message that complies with the second bus protocol; and send the monitoring response message to the master node through a data channel.

[0053] On the one hand, the monitoring response conversion module is used to receive the monitoring data transmitted by the processor through the monitoring data channel; when the monitoring data transmission completion mark is obtained, all the received monitoring data are transmitted to the decoding submodule of the data generation module;

[0054] The decoding submodule is connected to the monitoring response data generating submodule, and is used for determining whether the response corresponding to the monitoring data belongs to the monitoring response after receiving the monitoring data; if the response corresponding to the monitoring data belongs to the monitoring response, transmitting the monitoring data to the monitoring response data generating submodule;

[0055] The monitoring response data generating submodule is used to determine the number of splits of the monitoring data according to the total number of data packets of the monitoring data and the data bit width of the data bus; split the monitoring data into multiple monitoring sub-data according to the number of splits, and assign a sub-data number to each monitoring sub-data; use the node number of the main node as the destination address, use the node number of the processor as the source address, and encapsulate each monitoring sub-data and its corresponding sub-data number, the type and status field information, and the second bus protocol transaction number into a monitoring response message that complies with the second bus protocol.

[0056] The embodiment of the present invention further provides a protocol conversion method based on multi-type transaction processing, which is applicable to the above-mentioned protocol conversion device based on multi-type transaction processing, and the method includes:

[0057] receiving a write channel transaction in accordance with a first bus protocol transmitted by a processor; wherein the processor is a device using the first bus protocol;

[0058] receiving a monitoring request in accordance with the second bus protocol transmitted by a master node; wherein the master node is a device using the second bus protocol;

[0059] Determine whether there is a write channel transaction having the same address as the monitoring request;

[0060] In the case where there is a write channel transaction having the same address as the snoop request, generating a snoop response message that complies with the second bus protocol based on the write channel transaction and the snoop request, and transmitting the snoop response message to the master node in a snoop response manner;

[0061] After completing the transmission of the intercept response message, performing a field clearing operation on the intercept response message to obtain an invalid message, and transmitting the invalid message to the master node.

[0062] The embodiment of the present invention further provides a protocol conversion device based on multi-type transaction processing, including:

[0063] Memory for storing computer programs;

[0064] A processor is used to execute the computer program to implement the steps of the above-mentioned protocol conversion method based on multi-type transaction processing.

[0065] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above-mentioned protocol conversion method based on multi-type transaction processing are implemented.

[0066] An embodiment of the present invention further provides a computer program product, including a computer program / instruction, which implements the steps of the above-mentioned protocol conversion method based on multi-type transaction processing when executed by a processor.

[0067] It can be seen from the above technical solution that the protocol conversion device based on multi-type transaction processing includes a conversion component, a generation component, and a transaction management component connected to the conversion component and the generation component respectively. The conversion component is used to receive a write channel transaction that complies with the first bus protocol transmitted by the processor; receive a listening request that complies with the second bus protocol transmitted by the master node; and transmit the address accessed by the listening request to the transaction management component. Among them, the processor is a device using the first bus protocol; the master node is a device using the second bus protocol. When the transaction management component receives the address accessed by the listening request, it determines whether there is a write channel transaction with the same address; when there is a write channel transaction with the same address, it indicates that there is a conflict between the write channel transaction and the listening request, and at this time, a conflict signal can be transmitted to the conversion component. When the conversion component receives the conflict signal, it transmits the conflict signal and the write channel transaction to the generation component. When the generation component receives the conflict signal, based on the write channel transaction and the listening request, it generates a listening response message that complies with the second bus protocol, and transmits the listening response message to the master node in the form of a listening response; after completing the transmission of the listening response message, the listening response message is cleared to obtain an invalid message, and the invalid message is transmitted to the master node. The beneficial effect of the present invention is that when faced with conflicts between devices with different protocols, by starting the conflict handling process, orderly processing of write channel transactions and listen requests can be achieved, solving the lock problem caused by different conflict handling methods of different protocols, so that devices with different protocols can complete the processing of write channel transactions and listen requests for the same address. BRIEF DESCRIPTION OF THE DRAWINGS

[0068] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0069] Figure 1 A schematic diagram of the structure of a protocol conversion device based on multi-type transaction processing provided by an embodiment of the present invention;

[0070] Figure 2 An architectural diagram of a write channel transaction response processing method provided by an embodiment of the present invention;

[0071] Figure 3 An architecture diagram for processing a monitoring response provided by an embodiment of the present invention;

[0072] Figure 4 An architectural diagram of a method for processing a monitoring request provided by an embodiment of the present invention;

[0073] Figure 5 A flowchart of a protocol conversion method based on multi-type transaction processing provided by an embodiment of the present invention;

[0074] Figure 6 A structural diagram of a protocol conversion device based on multi-type transaction processing provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0075] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0076] The terms "including" and "having" in the specification of the present invention and the above-mentioned drawings, as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device including a series of steps or units is not limited to the listed steps or units, but may include steps or units that are not listed.

[0077] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0078] Take the interaction process between the master node and two requesting nodes as an example. The two requesting nodes are RN0 and RN1. After RN1 sends a read request to HN, HN initiates a listening request to RN0. If HN receives a write request sent by RN0 before receiving a listening response from RN0. In the ACE protocol, HN will first respond to the write request and send a write response to RN0. After RN0 receives the write response, it sends a write transaction confirmation signal (WACK) to HN to indicate that the write channel transaction is completed. Only after the write channel transaction is completed will RN0 respond to HN's listening request, that is, RN0 will not process the listening request before sending a write request and not receiving a write response. The listening request will be processed only after the write channel transaction is completed. However, in the CHI protocol, RN0 receives a listening request before receiving a write response. At this time, RN0 will first process the listening request and send a listening response to HN. Only after HN receives the listening response can it process the previous write request from RN0 and send a write response to RN0.

[0079] In general, the ACE protocol and the CHI protocol are processed in completely different ways. If the protocol conversion device sends the CHI protocol listening request directly to the processor using the ACE protocol, the processor will wait until the write channel transaction is completed before processing the listening request, but the master node using the CHI protocol needs to receive the listening response of the listening request before processing the write channel transaction. In this way, the processor using the ACE protocol and the master node using the CHI protocol will always be in a waiting state, forming a deadlock.

[0080] Therefore, the embodiment of the present invention provides a protocol conversion device, method, equipment, medium and product based on multi-type transaction processing, and the protocol conversion device can realize the processing of transactions between different protocols. When facing the conflict between write channel transactions and listening transactions, the data saved by the write channel transaction is replied to the master node in the form of listening response. After completing the transmission of the listening response message, in order to avoid repeated transmission of the same data, the listening response message can be cleared to obtain an invalid message, and the invalid message is transmitted to the master node, thereby realizing the processing of the write channel transaction. Effectively solve the deadlock problem caused by different conflict handling methods of different protocols.

[0081] A processor can be regarded as a request node. In the embodiment of the present invention, a processor and a master node using different bus protocols are used as examples for introduction. For the sake of distinction, the bus protocol used by the processor can be called the first bus protocol, and the bus protocol used by the master node can be called the second bus protocol. The first bus protocol can be the ACE protocol, and the second bus protocol can be the CHI protocol.

[0082] Next, a protocol conversion device based on multi-type transaction processing provided by an embodiment of the present invention is introduced in detail. Figure 1A schematic structural diagram of a protocol conversion device based on multi-type transaction processing provided in an embodiment of the present invention, the protocol conversion device comprises a conversion component 11, a generation component 12 and a transaction management component 13 connected to the conversion component 11 and the generation component 12 respectively.

[0083] The conversion component 11 can be used to receive a write channel transaction in accordance with the first bus protocol transmitted by the processor; receive a monitoring request in accordance with the second bus protocol transmitted by the master node; and transmit the address accessed by the monitoring request to the transaction management component 13. The processor can be a device using the first bus protocol; and the master node can be a device using the second bus protocol.

[0084] When receiving the address accessed by the listening request, the transaction manager (TM) 13 determines whether there is a write channel transaction with the same address. If there is a write channel transaction with the same address, it indicates that there is a conflict between the write channel transaction and the listening request, and a conflict signal can be transmitted to the conversion component 11.

[0085] The conversion component 11 is connected to the generation component, and when receiving a conflict signal, the conflict signal and the write channel transaction can be transmitted to the generation component 12 .

[0086] When receiving the conflict signal, the generating component 12 generates a listening response message that complies with the second bus protocol based on the write channel transaction and the listening request, and transmits the listening response message to the master node in the form of a listening response. After completing the transmission of the listening response message, the protocol conversion device can process the write channel transaction. When the write channel transaction carries write data, the generated listening response message will carry the write data. Therefore, in order to avoid repeated transmission of data, when processing the write channel transaction, it is necessary to perform a field clearing operation on the listening response message to obtain an invalid message, and transmit the invalid message to the master node to complete the write channel transaction.

[0087] In the embodiment of the present invention, the components can be divided into different functional modules according to the different functions that each component needs to implement. The conversion component 11 may include a write request conversion module (w_req) and a read / write response conversion module (rsp_br) for processing write channel transactions, and a snoop response conversion module (c_rsp) and a snoop request conversion module (snp_c) for processing snoop transactions.

[0088] The generating component 12 may include a data generating module (dat_gen) and a response generating module (rsp_gen); the data generating module may be used to process write channel transactions and snoop responses with data, and the response generating module may be used to process snoop responses without data. The data generating module may include a decoding submodule (decode), a write data generating submodule (wdata) for processing write data, and a snoop response data generating submodule (cdata) for processing snoop responses.

[0089] In an embodiment of the present invention, the transaction management component 13 can be used to record relevant information of each transaction. Each transaction can correspond to a record, which may include information corresponding to different fields such as address (Addr), transaction number (ID / TxnID), transaction type (AxSNOOP), identification (DBID), status information (T_Stat) and conflict signal (sp).

[0090] There are two forms of transaction numbers: one is a transaction number that complies with the first bus protocol, referred to as the first bus protocol transaction number, which can be represented by ID. The other is a transaction number that complies with the second bus protocol, referred to as the second bus protocol transaction number, which can be represented by TxnID.

[0091] Write channel transactions include write data transactions and write channel no data transactions. Among them, write channel no data transactions include cache line eviction transactions (Evict). The processing of write channel transactions is mainly completed by the write request conversion module, data generation module, transaction management component and read-write response conversion module.

[0092] For different transactions, the corresponding addresses, transaction numbers and transaction types are different. In order to distinguish different transactions, the corresponding addresses, transaction numbers and transaction types can be used as identifiers for each transaction. For ease of description, for write channel transactions, the corresponding address can be called the write address, the corresponding transaction number can be called the write channel transaction number, and the corresponding transaction type can be called the write channel transaction type. Write channel transactions include write requests and write responses. The transaction number corresponding to the write request can be called the write request transaction number (AWID), and the transaction number corresponding to the write response can be called the write response transaction number (BID).

[0093] The embodiments of the present invention are mainly introduced around the processing flow of writing channel transactions and monitoring transactions.

[0094] Figure 2An architecture diagram of a write channel transaction response provided in an embodiment of the present invention includes a write request conversion module, a data generation module, a transaction management component and a read-write response conversion module. The write request conversion module is connected to the data generation module, and the transaction management component is respectively connected to the data generation module and the read-write response conversion module. Among them, the data generation module may include a decoding submodule, a write data generation submodule, a monitoring response data generation submodule, a memory, and a first-in first-out queue (First Input First Output, FIFO). Among them, the memory may adopt a static random access memory (Static Random-Access Memory, SRAM). The transaction management component can be used to record the transaction information corresponding to the write channel transaction. The read-write response conversion module can realize the processing of the read channel transaction response and the processing of the write channel transaction response, so the read-write response conversion module can include a read-write response decoding submodule, a write response conversion submodule (rsp_b) for processing the write channel transaction response, and a read response conversion submodule (rsp_r) for processing the read channel transaction response.

[0095] In actual applications, there may be conflicts between write channel transactions and listening transactions. Next, the processing flow of write data transactions when there is a conflict will be introduced as an example. There are many types of write data transactions. In the embodiment of the present invention, the writeback transaction (WriteBack) is mainly used as an example to introduce.

[0096] In the event of a conflict, the processing flow for write data transactions is as follows:

[0097] The write request conversion module can receive the write request and write data transmitted by the processor; and send the write request identification information corresponding to the write request and the write data to the decoding submodule of the data generation module.

[0098] In actual applications, the processor may transmit a write request to the write request conversion module through a write request channel (AW), and transmit write data to the write request conversion module through a write data channel (W).

[0099] The write request identification information may include a data valid signal (WSTRB) corresponding to the write request, a write request transaction number (AWID), a write channel transaction type (AWSNOOP), and a write address (AWADDR). The data valid signal is used to indicate whether the corresponding byte of data is valid.

[0100] The decoding submodule is connected to the write data generation submodule, and is used to save the write data to the memory after receiving the write data and write request identification information transmitted by the write request conversion module, and use the write address contained in the write request identification information as the data index of the write data; send the write data and write request identification information to the write data generation submodule; and send the conflict signal to the write data generation submodule when a conflict signal is received.

[0101] The write data generation submodule is used to convert the write data and the write request identification information into a write data message that complies with the second bus protocol according to the write data transaction response protocol table when the write data and the write request identification information are received.

[0102] The write data transaction response protocol table records the correspondence between each field information in the write data transaction conforming to the first bus protocol and each field information in the write data transaction conforming to the second bus protocol.

[0103] The write data channel in the ACE protocol is based on burst transmission. The amount of data written at one time can be divided into multiple write data sub-messages for transmission. The write data transmission completion flag (WLAST) in the write data channel is used to indicate whether this transmission is the last one. If WLAST is pulled high, it means that this transmission is the last one.

[0104] In an embodiment of the present invention, the write data generation submodule can determine the number of splits of the write data message according to the total number of data packets of the write data message and the data bit width of the data bus; and split the write data message into multiple write data sub-messages according to the number of splits.

[0105] According to the conflict handling process, when the write data generation submodule receives a conflict signal, the monitoring response data generation submodule has encapsulated the write data into a monitoring response message and transmitted it to the master node in the form of a monitoring response. In order to avoid repeated transmission of write data, when the write data generation submodule receives a conflict signal, the data field (Data), identification field (DataID), valid bit field (BE) and type field (Resp) in the write data message that complies with the second bus protocol can be cleared to generate a new write data message, and the new write data message is sent to the master node.

[0106] Since the data field has been cleared, the newly generated write data message does not carry data, and the new write data message can be regarded as an invalid message. The write data generation submodule can send the new write data message to the master node through the data channel (DAT).

[0107] In the embodiment of the present invention, the snoop transaction includes a snoop request and a snoop response. The snoop response may include a snoop no data response (SnpResp) and a snoop data response (SnpRespData).

[0108] Figure 3 An architecture diagram of a monitoring response provided by an embodiment of the present invention includes a monitoring request conversion module, a monitoring response conversion module, a data generation module, a response generation module, and a transaction management component. Through the cooperation of these modules, a monitoring response from a processor that complies with a first bus protocol can be converted into a monitoring response that complies with a second bus protocol, thereby transmitting the monitoring response that complies with the second bus protocol to a master node. If a conflict occurs with a write channel transaction initiated by the processor during the monitoring process, conflict handling of the monitoring response can be achieved through these modules.

[0109] Figure 3 The data generation module and the response generation module have their own connected first-in-first-out queues. A memory can be set in the monitoring response conversion module to record the monitoring response protocol conversion table. The monitoring response protocol conversion table records the correspondence between each field information in the monitoring response of the first bus protocol and each field information in the monitoring response of the second bus protocol.

[0110] Taking the ACE protocol as an example, the information in each field of the monitoring response of the first bus protocol may include the type and status information corresponding to the monitoring response channel (CRRESP[4:0]), the status information used to represent the completion of the monitoring response (CRRESP[5]), and the data field corresponding to the monitoring data channel (CDDATA). Among them, CRRESP[4:0] indicates that there are 5 bits from CRRESP[0] to CRRESP[4], and each bit has its corresponding meaning.

[0111] CRRESP[0] is the DataTransfer (DT) bit, indicating whether data is carried. CRRESP[1] is the Error (Err) bit, indicating whether the transmission is normal. CRRESP[2] is the PassDirty (PD) bit, indicating whether the master node needs to write dirty data back to the main memory. CRRESP[3] is the IsShared (IS) bit, indicating whether the processor retains the cache copy after the snoop response is completed. CRRESP[4] is the WasUnique (WU) bit, indicating whether the local cache is unique before the snoop response.

[0112] Since it is impossible to use CRRESP[4:0] to determine whether the local cache is in a dirty or clean state after the snoop response is completed, an additional CRRESP[5] can be added to the snoop response field to indicate whether the monitored processor is in a dirty state after completing the snoop response. CRRESP[5]=1 indicates a dirty state, and CRRESP[5]=0 indicates a clean state.

[0113] Taking the second bus protocol as the CHI protocol as an example, the field information in the monitoring response of the second bus protocol may include type and status field information, second bus protocol transaction number (TxnID), destination address (TgtID) and source address (SrcID). Among them, the type and status field information may include the monitoring response type field (Opcode) and the monitoring response status field (Resp[2:0]). If the monitoring response carries data, it may also include a data field (Data) and an identification field (DataID).

[0114] In the embodiment of the present invention, the no-data response type supported by the CHI response channel is SnpResp, and the state information carried in the final state is an invalid state (Invalid), referred to as I state for short.

[0115] The snoop data response type supported by the CHI data channel is SnpRespData, and its final state can be invalid state (I), unique clean state (UC) / unique dirty state (UD), shared clean state (SC), shared dirty state (SD), invalid state (I_PD) reached by transmitting dirty data, shared clean state (SC_PD) reached by transmitting dirty data, unique clean state (UC_PD) reached by transmitting dirty data, and the final state information can be determined according to the transaction type and the initial state of the monitored processor. The final state information is provided by the Resp[2:0] field.

[0116] For example, when CRRESP[0]=0, the corresponding CHI response is a no data snoop response (SnpResp_I (0x1)), state I, resp=0b000, transmitted through the response channel (RSP).

[0117] When CRRESP[0]=1, the corresponding CHI response is a snoop response with data (SnpRespData(0x1)), which is transmitted through the data channel. However, the cache status of the monitored RN after completing the response is related to CRRESP and the snoop request:

[0118] When CRRESP[3]=0 and CRRESP[2]=0, the cache state after completing the snoop response is I state, and the corresponding CHI response type is SnpRespData_I (0x1), resp=0b000.

[0119] When CRRESP[3]=0 and CRRESP[2]=1, the cache state after completing the snoop response is in the I state, and HN is required to write the dirty data back to the main memory. The corresponding CHI response type is SnpRespData_I_PD (0x1), resp=0b100.

[0120] When CRRESP[2]=0, CRRESP[3]=1, CRRESP[4]=1 and the snoop request is a request that the RN initiating this transaction only requests data but does not retain a cache copy (ReadOnce), the cache status after completing the snoop response is UC (CRRESP[5]=0) or UD (CRRESP[5]=1), and the corresponding CHI response type is SnpRespData_UC / UD (0x1), resp=0b010.

[0121] When CRRESP[2]=0, CRRESP[3]=1, CRRESP[5]=1 and the snoop request is not ReadOnce, the cache state after the snoop is completed is SD state, and the corresponding CHI response type is SnpRespData_SD (0x1), resp=0b011.

[0122] When CRRESP[2]=0, CRRESP[3]=1, CRRESP[5]=0 and the snoop request is not ReadOnce, the cache state after the snoop is completed is SC state, and the corresponding CHI response type is SnpRespData_SC (0x1), resp=0b001.

[0123] When CRRESP[2]=1, CRRESP[3]=1, and CRRESP[5]=0, the cache state after the snoop is completed is the SC state, and the HN is required to write the dirty data back to the main memory. The corresponding CHI response type is SnpRespData_SC_PD (0x1), resp=0b101.

[0124] The processing flow for the snoop response with data in the case of a conflict is as follows:

[0125] The monitoring request conversion module is connected to the monitoring response conversion module and the transaction management component 13 respectively, and is used to receive the monitoring request transmitted by the master node; transmit the transaction identification information corresponding to the monitoring request to the monitoring response conversion module, and transmit the address accessed by the monitoring request and the second bus protocol transaction number to the transaction management component 13.

[0126] In practical applications, the master node may transmit the monitoring request to the monitoring request conversion module through the monitoring channel (SNP).

[0127] The transaction identification information may include a transaction number that complies with the second bus protocol, referred to as the second bus protocol transaction number (TxnID); the transaction identification information may also include a transaction type that complies with the first bus protocol, referred to as the first bus protocol transaction type (ACSNOOP).

[0128] The transaction management component 13 is connected to the monitoring response conversion module, and is used to receive the address accessed by the monitoring request and the second bus protocol transaction number; and determine whether there is a write channel transaction with the same address as the monitoring request in the record table. If there is a write channel transaction with the same address as the monitoring request in the record table, it means that there is a transaction processing conflict. At this time, the conflict signal (sp) can be pulled high, and a notification of executing the monitoring response can be sent to the monitoring response conversion module; wherein the notification carries the conflict signal and the address.

[0129] The monitoring response conversion module is connected to the data generation module and is used to query the monitoring response protocol conversion table to obtain the type and status field information that conforms to the second bus protocol when receiving the notification of executing the monitoring response; and send the second bus protocol transaction number, type and status field information, conflict signal and address contained in the transaction identification information to the data generation module.

[0130] The data generation module is used to query the write data corresponding to the address from the memory when receiving the second bus protocol transaction number, type and status field information, conflict signal and address; encapsulate the write data, the second bus protocol transaction number, type and status field information into a monitoring response message that complies with the second bus protocol, and send the monitoring response message to the master node.

[0131] A record table can be set in the transaction management component 13. In the case where there is a write channel transaction with the same address as the listening request in the record table, the transaction management component 13 can determine whether the transaction type of the write channel transaction belongs to a write data transaction; in the case where the transaction type of the write channel transaction belongs to a write data transaction, the conflict signal is set to a conflict signal with data, and a notification of executing the listening response is sent to the listening response conversion module. A record table can also be set in the listening response conversion module to record the second bus protocol transaction number and the first bus protocol transaction type. In order to facilitate distinction, the record table set in the listening response conversion module can be called a listening response record table.

[0132] There are two forms of pulling the conflict signal high: one is sp=0b01, which is used to indicate a conflict signal with data, and the other is sp=0b10, which is used to indicate a conflict signal without data.

[0133] The monitoring response conversion module is used to determine whether the conflict signal carried in the notification is a conflict signal with data when receiving the notification of executing the monitoring response; if the conflict signal is a conflict signal with data, the second bus protocol transaction number, type and status field information, conflict signal and address contained in the transaction identification information are sent to the decoding submodule of the data generation module.

[0134] The decoding submodule is connected to the monitoring response data generating submodule, and is used to determine whether the conflict signal is a conflict signal with data when receiving the second bus protocol transaction number, type and status field information, conflict signal and address; if the conflict signal is a conflict signal with data, the second bus protocol transaction number, type and status field information, conflict signal and address are sent to the monitoring response data generating submodule.

[0135] The monitoring response data generating submodule is used to query the write data corresponding to the address from the memory when receiving the second bus protocol transaction number, type and status field information, conflict signal and address; use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the write data, the second bus protocol transaction number, type and status field information into a monitoring response message that complies with the second bus protocol; and send the monitoring response message that complies with the second bus protocol to the master node through the data channel.

[0136] The node number of the master node can be represented by HN ID. The node number of the processor can be represented by RN ID. Each processor has a corresponding protocol conversion device (ACCARN), so the node number of the processor can also be represented by ACCARN ID.

[0137] For example, when RN initiates a write channel transaction, before the protocol conversion device receives a write response from HN, if snp_c first receives a listen request for the same address from HN, the protocol conversion device needs to process the listen request first, triggering the conflict handling process. Usually, after snp_c receives the listen request from HN, it will send the TxnID and ACSNOOP signals to c_rsp, and send the Addr and TxnID information to TM. After receiving the signal, TM queries whether there is a write channel transaction with the same Addr in the record table. In an embodiment of the present invention, the write channel transaction mainly takes the WriteBack transaction and the Evict transaction as examples. If there is a write channel transaction with the same Addr in the record table, TM will pull up the sp signal in the corresponding transaction table item and notify the c_rsp module to make a listen response.

[0138] When sp=0b01, it indicates that the transaction initiated by this RN is WriteBack, and the write data has been saved in the dat_gen module. Since the cache data is dirty at this time, the dirty data needs to be sent to HN and written back to the main memory by HN. HN then decides whether to feed the data back to RN based on the transaction type initiated by another RN.

[0139] c_rsp receives TxnID and ACSNOOP signals from snp_c, and sp=0b01 and Addr from TM, and obtains CHI response type SnpRespData_I_PD (opcode is 0x1), resp=0b100 according to the sniff response protocol conversion table.

[0140] c_rsp sends the TxnID and opcode, resp, sp, and Addr signals in the monitoring response record table to the dat_gen module.

[0141] After the dat_gen module receives the information, if sp=0b01, it instructs cdata to start the conflict handling process, query the write data with the same Addr in the memory, divide the data into 4 data packets in units of 16B, and number them in ascending order according to the data address, and assign them to the corresponding DataID[1:0] field.

[0142] cdata combines the data with TxnID, opcode, and resp sent by c_rsp to generate a monitoring response message that complies with the CHI protocol format. Among them, TgtID is the HN ID and SrcID is the ACCARN ID. The monitoring response message that complies with the CHI protocol format is sent to the HN through the DAT channel.

[0143] In the embodiment of the present invention, the processing of the monitoring request is mainly completed by the monitoring request conversion module in cooperation with the transaction management component and the monitoring response conversion module.

[0144] Next, the processing of monitoring requests will be introduced:

[0145] The master node may transmit the monitoring request to the monitoring request conversion module through the monitoring channel.

[0146] The monitoring request conversion module can store the monitoring message corresponding to the monitoring request in a first-in-first-out queue; parse the monitoring message to obtain the node number of the master node, the address accessed by the monitoring request, the second bus protocol transaction type and the second bus protocol transaction number; transmit the address accessed by the monitoring request to the transaction management component 13; transmit the second bus protocol transaction number and the second bus protocol transaction type to the monitoring response conversion module. After receiving the second bus protocol transaction number and the second bus protocol transaction type, the monitoring response conversion module converts the second bus protocol transaction type into the first bus protocol transaction type, and stores the second bus protocol transaction number and the first bus protocol transaction type in the monitoring response record table.

[0147] The transaction management component 13 is used to send a warning signal to the listening request conversion module when there is a write channel transaction with the same address as the listening request in the record table; and send a non-warning signal to the listening request conversion module when there is no write channel transaction with the same address as the listening request in the record table.

[0148] The monitoring request conversion module is also used to terminate the conversion operation of the monitoring message when a warning signal (hazard) is received; when a non-warning signal (no_hazard) is received, the monitoring request is converted into monitoring information that complies with the first bus protocol according to the monitoring channel protocol conversion table, and the monitoring information that complies with the first bus protocol is transmitted to the processor through the monitoring request channel.

[0149] The monitoring channel protocol conversion table records the correspondence between each field information in the monitoring request that complies with the first bus protocol and each field information in the monitoring request that complies with the second bus protocol. The monitoring request conversion module can query the monitoring information that complies with the first bus protocol and matches the second bus protocol transaction type, the second bus protocol transaction number corresponding to the monitoring request, the address accessed by the monitoring request, and the second bus protocol from the monitoring channel protocol conversion table.

[0150] Figure 4 An architecture diagram for processing a listening request provided by an embodiment of the present invention includes a listening request conversion module, a transaction management component, and a listening response conversion module. The listening request conversion module includes a first-in-first-out queue control submodule, a listening request decoding submodule, and a message conversion submodule (ACE snp gen). The listening channel protocol conversion table can be recorded in the message conversion submodule.

[0151] The FIFO queue control submodule reads the monitoring message that complies with the CHI protocol from the master node, which can be called a CHI snoop message. The FIFO queue control submodule stores the monitoring message in a FIFO queue.

[0152] The snoop request decoding submodule reads the CHI snoop message from the FIFO queue, decodes its important information and sends it to other related modules. Confirm that the TgtID in the message is the node ID. Identify the address (Addr), transaction type (opcode), TxnID and security information (NS) it requests to access. Send the Addr information to the TM, and send the TxnID and opcode to the c_rsp module.

[0153] After receiving the TxnID and opcode information, the c_rsp module can convert the opcode information into ACSNOOP that complies with the ACE protocol by querying the monitoring channel protocol conversion table, and record the TxnID and ACSNOOP in the same entry of the monitoring response record table.

[0154] After receiving the Addr information, TM queries the local record table to see if there is an unfinished transaction with the same Addr and transaction type of Writeback or Evict. If not, it sends a no_hazard signal to the monitoring request decoding submodule. If there is such an unfinished transaction, it means that there is currently a write data transaction accessing the same address, and a conflict occurs. It is necessary to send a hazard signal to the monitoring request decoding submodule. At the same time, the sp signal of the record is set. After the sp signal is set, this record is sent to the c_rsp module for processing together with the received TxnID information.

[0155] If the snoop request decoding submodule receives a hazard signal, the snoop message conversion ends. If the snoop request decoding submodule receives a no_hazard signal, it sends the opcode, Addr, TxnID, and NS information to the ACE snp gen module, and then reads the next CHI snoop message from the first-in first-out queue.

[0156] The c_rsp module receives conflicting transaction records and Txn information from the TM, compares the Txn information in the local directory, and sends the corresponding CHI SNP RESP information to the HN according to the conflict handling principle.

[0157] After the ACE snp gen module receives the signal from the sniff request decoding submodule, it converts the CHI message into the corresponding ACE message according to the sniff channel protocol conversion table and sends it to the processor through the sniff request channel (AC).

[0158] In the CHI protocol, Txn is transmitted in the form of messages, and each type of message contains different domain segments. In the ACE protocol, the AC channel contains several signals. By building a monitoring channel protocol conversion table, the CHI message information can be mapped to the ACE signal to ensure accurate transmission of the message information. The monitoring channel conversion function of the ACE protocol and the CHI protocol is realized, so that various CHI monitoring requests issued by the master node can be accurately and timely converted into ACE monitoring requests and sent to the processor for processing.

[0159] In the event of a conflict, the processing flow of the snoop response with data is as follows:

[0160] The monitoring request conversion module is connected to the monitoring response conversion module and the transaction management component 13 respectively, and is used to receive the monitoring request transmitted by the master node; transmit the transaction identification information corresponding to the monitoring request to the monitoring response conversion module, and transmit the address accessed by the monitoring request and the second bus protocol transaction number to the transaction management component 13.

[0161] The transaction management component 13 is connected to the monitoring response conversion module, and is used to receive the address accessed by the monitoring request and the second bus protocol transaction number; determine whether there is a write channel transaction with the same address as the monitoring request in the record table; if there is a write channel transaction with the same address as the monitoring request in the record table, pull up the conflict signal, and send a notification of executing the monitoring response to the monitoring response conversion module; wherein the notification carries the conflict signal.

[0162] The monitoring response conversion module is connected to the response generation module and is used to query the monitoring response protocol conversion table to obtain the type and status field information that conforms to the second bus protocol when receiving the notification of executing the monitoring response; and send the second bus protocol transaction number, type and status field information contained in the transaction identification information to the response generation module.

[0163] The response generation module is used to encapsulate the second bus protocol transaction number, type and status field information into a monitoring response message that complies with the second bus protocol upon receiving the second bus protocol transaction number, type and status field information, and send the monitoring response message to the master node.

[0164] In the case where there is a write channel transaction with the same address as the listening request in the record table, the transaction management component 13 can determine whether the transaction type of the write channel transaction belongs to a write channel no data transaction. In the case where the transaction type of the write channel transaction belongs to a write channel no data transaction, the conflict signal is set to a conflict signal without data, and a notification of executing the listening response is sent to the listening response conversion module.

[0165] The monitoring response conversion module is used to determine whether the conflict signal carried in the notification is a conflict signal without data when receiving the notification of executing the monitoring response; if the conflict signal is a conflict signal without data, the second bus protocol transaction number, type and status field information contained in the transaction identification information are sent to the response generation module.

[0166] The response generation module is used to use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the second bus protocol transaction number, type and status field information into a monitoring response message that complies with the second bus protocol; and send the monitoring response message to the master node through the response channel.

[0167] For example, when sp=0b10, it indicates that the transaction initiated by the processor is Evict, that is, without data. For any snoop request, only the snoop response of SnpResp_I type can be returned. c_rsp receives the TxnID and ACSNOOP signals from snp_c, and the sp=0b10 signal from TM, and obtains the CHI response type SnpResp_I (opcode is 0x1), resp=0b000 according to the snoop response protocol conversion table. c_rsp sends the TxnID and opcode, resp in the snoop response record table to the rsp_gen module. After receiving the information, the rsp_gen module organizes the information into a snoop response message that conforms to the CHI protocol format, where TgtID is the HN ID and SrcID is the ACCARN ID. The snoop response message is sent to HN through the RSP channel.

[0168] The above content mainly introduces the processing of write channel transactions and listen transactions when there is a conflict. In actual applications, there may be situations where there is no conflict. Next, the processing of write channel transactions when there is no conflict will be introduced.

[0169] Write channel transactions include write channel no data transactions and write channel transactions. For write channel no data transactions, regardless of whether there is a conflict, the response method remains unchanged, and the processing flow is as follows:

[0170] The read-write response conversion module is connected to the transaction management component 13, and is used to receive write response information that complies with the second bus protocol and is transmitted by the master node through the response channel; send the data packet identification information carried by the write response information to the transaction management component 13, and obtain the write request transaction number corresponding to the write request from the transaction management component 13; according to the write channel dataless transaction response protocol table, convert the write request transaction number and the write response information that complies with the second bus protocol into write response information that complies with the first bus protocol; and feed back the write response information that complies with the first bus protocol to the processor through the write response channel.

[0171] The write channel no data transaction response protocol table records the correspondence between each field information in the write channel no data transaction that complies with the first bus protocol and each field information in the write channel no data transaction that complies with the second bus protocol.

[0172] In practical applications, the read-write response conversion module may use the write request transaction number as the write response transaction number, and set the transaction type to the binary field information corresponding to the write response transaction, so as to obtain write response information that complies with the first bus protocol.

[0173] When there is no conflict, the processing flow of the write data transaction is as follows:

[0174] The write request conversion module is connected to the data generation module, and is used to receive the write request and write data transmitted by the processor; and send the write request identification information corresponding to the write request and the write data to the decoding submodule of the data generation module.

[0175] The decoding submodule is connected to the write data generation submodule, and is used to save the write data to the memory after receiving the write data and write request identification information transmitted by the write request conversion module, and use the write address contained in the write request identification information as the data index of the write data; and send the write data and write request identification information to the write data generation submodule.

[0176] The write data generation submodule is used to convert the write data and the write request identification information into a write data message that complies with the second bus protocol according to the write data transaction response protocol table when the write data and the write request identification information are received.

[0177] The read-write response conversion module is connected to the transaction management component 13, and is used to receive write response information that complies with the second bus protocol transmitted by the master node; send the data packet identification information carried by the write response information to the transaction management component 13; convert the write response information that complies with the second bus protocol into write response information that complies with the first bus protocol, and feed back the write response information that complies with the first bus protocol to the processor.

[0178] The transaction management component 13 is connected to the write data generation submodule, and is used to send a request completion notification carrying the data packet identification information to the write data generation submodule after receiving the data packet identification information transmitted by the read-write response conversion module.

[0179] The write data generation submodule is used to, upon receiving the request completion notification transmitted by the transaction management component 13, use the data packet identification information as the second bus protocol transaction number of the write data message and send the write data message to the master node.

[0180] In a specific implementation, the read-write response conversion module can obtain the write request transaction number corresponding to the write request from the transaction management component 13; according to the write channel dataless transaction response protocol table, the write request transaction number and the write response information that complies with the second bus protocol are converted into write response information that complies with the first bus protocol.

[0181] After receiving the data packet identification information transmitted by the read-write response conversion module, the transaction management component 13 sends the write request transaction number and the data packet identification information to the write data generation submodule.

[0182] The write data generation submodule is used to determine whether the write request transaction number transmitted by the transaction management component 13 and the write request transaction number carried in the write request identification information are consistent when receiving the write request transaction number and data packet identification information transmitted by the transaction management component 13. When the write request transaction number transmitted by the transaction management component 13 and the write request transaction number carried in the write request identification information are consistent, the data packet identification information can be used as the second bus protocol transaction number of the write data message, and the write data message is sent to the master node.

[0183] The fields in the write data transaction response protocol table that comply with the second bus protocol include a data field (Data), an identification field (DataID), a valid bit field (BE), a type field of the second bus protocol, a destination address field (TgtID), a source address field (SrcID), and a transaction number field (TxnID). The type field of the second bus protocol may include Opcode, Resp, and RespErr.

[0184] When performing protocol conversion, the write data generation submodule can store the write data message in the data field of the second bus protocol, and store the message number corresponding to the write data message in the identification field of the second bus protocol; assign the data valid signal carried by the write request identification information to the valid bit field of the second bus protocol; determine the second bus protocol write channel transaction type that matches the write channel transaction type carried by the write request identification information based on the correspondence between the first bus protocol transaction type and the second bus protocol transaction type, and store the second bus protocol write channel transaction type in the type field of the second bus protocol; store the node number of the master node in the destination address field of the second bus protocol, and the node number of the processor in the source address field of the second bus protocol; and store the data packet identification information in the transaction number field of the second bus protocol.

[0185] The write data generation submodule can determine the number of splits of the write data message based on the total number of data packets of the write data message and the data bit width of the data bus; split the write data message into multiple write data sub-messages according to the number of splits; store the multiple write data sub-messages in the data field of the second bus protocol, and store the sub-message number corresponding to each write data sub-message in the identification field of the second bus protocol; and transmit the multiple write data sub-messages to the master node through the data channel in the order of their corresponding sub-message numbers.

[0186] For example, the w_req module receives the write request transmitted by the processor through the AW channel and the write data transmitted through the W channel. After the WLAST of the W channel is pulled high, all the data (usually 64B) and WSTRB as well as the AWID, AWSNOOP, and AWADDR signals of the AW channel are sent to the data_gen module. The data_gen module can process the write data and monitor the response data. After receiving the data and signal from w_req, the decoding submodule in the data_gen module confirms that it is a write request and write data, saves the data to the memory, and records the corresponding AWADDR as the data index. At the same time, the remaining signals are sent to the wdata submodule.

[0187] The wdata submodule generates a CHI format write data message with these signals and data according to the write data transaction response protocol table. The data is placed in the data field of the CHI message. Since the data bus is 16B, the 64B data needs to be split into 4 data packets and sent separately. The DataID field indicates the number of the data packet. The WSTRB signal is assigned to the BE field in the CHI message to indicate whether the data of the corresponding byte is valid. The Opcode and resp fields in the CHI message need to be determined according to AWSNOOP. TgtID is set to HN ID, and SrcID is set to this ACCARN ID.

[0188] The rsp_br module receives the response from the HN CHI RSP channel. If it is a write channel transaction response (CompDBIDResp), it is processed by the rsp_b submodule. The rsp_b submodule sends the DBID field to the TM and records it in the table entry of the corresponding transaction. The corresponding AWID information is obtained from the TM and assigned to the BID. BRESP[1:0] is set to 0b00 and a response is sent to the processor through the ACE B channel, indicating that the transaction is completed.

[0189] After receiving the DBID information from the rsp_br module, the TM sends the AWID and DBID information to the w_data submodule. After receiving the information from the TM, the w_data submodule confirms that the AWID is the same and uses the DBID information as the TxnID information of the CHI message. Four CHI data messages are generated and saved to the FIFO. The FIFO control submodule sends the data messages to the HN through the DAT channel of the CHI in turn.

[0190] By constructing the write data transaction response protocol table and the write channel no-data transaction response protocol table, the write data channel conversion function of the ACE protocol and the CHI protocol is realized, so that the ACE write data sent by the processor can be accurately and timely converted into CHI write data response and sent to the HN for processing.

[0191] When there is no conflict, the processing flow of the monitoring response is as follows:

[0192] A listening response record table can be set in the listening response conversion module, and the second bus protocol transaction number and the first bus protocol transaction type can be recorded in the listening response record table. The listening response conversion module is connected to the transaction management component 13, the data generation module and the response generation module respectively, and is used to receive the listening response transmitted by the processor; determine whether the conflict signal transmitted by the transaction management component 13 is received; if the conflict signal transmitted by the transaction management component 13 is not received, it means that there is no conflict, and the listening response operation can be directly executed at this time. The listening response conversion module can query the listening response protocol conversion table to obtain the type and status field information of the listening response match.

[0193] Each time a listening request is generated, the transaction identification information corresponding to the listening request will be recorded in the listening response record table. After receiving the listening request, the processor can feedback the listening no data response and the listening data response to the master node through the protocol conversion device. In order to ensure that the transaction identification information recorded in the listening response record table matches the listening response, after each listening response is completed, the transaction identification information corresponding to the listening request needs to be deleted, that is, after the second bus protocol listening message carrying the listening end state is transmitted to the master node, the listening response record table needs to be cleared.

[0194] When the monitoring response is a no-data response, the monitoring response conversion module may send the type and status field information and the second bus protocol transaction number recorded in the monitoring response record table to the response generation module, and clear the monitoring response record table.

[0195] In the case where the monitoring response is a response with data, the monitoring response conversion module may send the monitoring data, type and status field information, and the second bus protocol transaction number to the data generation module, and clear the monitoring response record table.

[0196] The response generation module is used to use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the type and status field information and the second bus protocol transaction number into a monitoring response message that complies with the second bus protocol; and send the monitoring response message to the master node through the response channel.

[0197] The data generation module is used to use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the monitoring data, type and status field information and the second bus protocol transaction number into a monitoring response message that complies with the second bus protocol; and send the monitoring response message to the master node through the data channel.

[0198] In practical applications, the processor can transmit the monitoring data to the monitoring response conversion module through the monitoring data channel (CD); when the monitoring response conversion module obtains the monitoring data transmission completion mark (CDLAST), it transmits all the received monitoring data to the decoding submodule of the data generation module. The decoding submodule is connected to the monitoring response data generation submodule, and is used to determine whether the response corresponding to the monitoring data belongs to the monitoring response after receiving the monitoring data; if the response corresponding to the monitoring data belongs to the monitoring response, the monitoring data is transmitted to the monitoring response data generation submodule.

[0199] The monitoring response data generating submodule is used to determine the number of splits of the monitoring data according to the total number of data packets of the monitoring data and the data bit width of the data bus; split the monitoring data into multiple monitoring sub-data according to the number of splits, and assign a sub-data number to each monitoring sub-data; use the node number of the main node as the destination address, use the node number of the processor as the source address, and encapsulate each monitoring sub-data and its corresponding sub-data number, type and status field information and the second bus protocol transaction number into a monitoring response message that complies with the second bus protocol.

[0200] For example, c_rsp obtains Opcode and resp according to the sniff response protocol conversion table. If CRRESP[0]=0, it means that the sniff response is a sniff response without data, that is, a no-data response. The corresponding CHI response type is SnpResp_I (Opcode is 0x1), resp=0b000. c_rsp sends Opcode, resp and the TxnID signal in the sniff response record table to the rsp_gen module, and clears the sniff response record table. rsp_gen organizes the information into a sniff response message in the CHI protocol format, where TgtID is the HN ID and SrcID is the ACCARN ID, and sends the sniff response message to the HN through the RSP channel.

[0201] If CRRESP[0]=1, it means that the snoop response is a snoop response with data, i.e., a response with data. The corresponding CHI response is SnpRespData (Opcode is 0x1), and resp is determined by the snoop response protocol conversion table. c_rsp queries the snoop response protocol conversion table to obtain opcode 0x1 and resp, and sends it to the dat_gen module together with the TxnID signal in the snoop response record table, and clears the snoop response record table. c_rsp also receives data from the CD channel, and when the CDLAST signal is 1, it sends all data to the dat_gen module. The dat_gen module determines that the response is a snoop response based on the transmission channel, and then orders cdata to process the data and signal, divides the data into 4 data packets in units of 16B, and numbers them in ascending order according to the data address, and assigns them to the corresponding DataID[1:0] field. The dat_gen module combines the data with the TxnID, opcode, and resp sent by c_rsp to generate a message in the CHI DAT channel format. Among them, TgtID is HN ID, SrcID is ACCARN ID, and it is sent to HN through the DAT channel.

[0202] In an embodiment of the present invention, a sniff response protocol conversion table between the first bus protocol and the second bus protocol is provided, and the sniff response conversion function between the first bus protocol and the second bus protocol is realized, so that various sniff responses with or without data that comply with the first bus protocol issued by the processor can be accurately and timely converted into sniff responses that comply with the second bus protocol, and sent to the master node for processing. The sniff response carries field information used to characterize the final state, which can help complete cache consistency maintenance.

[0203] Figure 5 A flowchart of a protocol conversion method based on multi-type transaction processing provided by an embodiment of the present invention is applicable to a protocol conversion device based on multi-type transaction processing, and the method includes:

[0204] S501: receiving a write channel transaction transmitted by a processor that complies with a first bus protocol.

[0205] The processor is a device using a first bus protocol.

[0206] S502: Receive a monitoring request that complies with the second bus protocol and is transmitted by the master node.

[0207] The master node is a device using the second bus protocol.

[0208] S503: Determine whether there is a write channel transaction with the same address as the monitoring request.

[0209] In the case that there is a write channel transaction having the same address as the snoop request, S504 is executed.

[0210] S504: Based on the write channel transaction and the snoop request, generate a snoop response message that complies with the second bus protocol, and transmit the snoop response message to the master node in a snoop response manner.

[0211] S505: After completing the transmission of the monitoring response message, perform a field clearing operation on the monitoring response message to obtain an invalid message, and transmit the invalid message to the master node.

[0212] It can be seen from the above technical scheme that the protocol conversion device based on multi-type transaction processing receives a write channel transaction in accordance with the first bus protocol transmitted by the processor. Receive a listening request in accordance with the second bus protocol transmitted by the master node. Wherein, the processor is a device using the first bus protocol; the master node is a device using the second bus protocol. It is determined whether there is a write channel transaction with the same address as the listening request. In the case of a write channel transaction with the same address as the listening request, a listening response message in accordance with the second bus protocol is generated based on the write channel transaction and the listening request, and the listening response message is transmitted to the master node in the form of a listening response. After the transmission of the listening response message is completed, the field of the listening response message is cleared to obtain an invalid message, and the invalid message is transmitted to the master node. The beneficial effect of the present invention is that, in the face of conflicts between devices with different protocols, by starting a conflict handling process, the orderly processing of write channel transactions and listening requests can be achieved, and the locking problem caused by different conflict handling methods of different protocols is solved, so that the processing of write channel transactions and listening requests of the same address can be completed between devices with different protocols.

[0213] Figure 5 The description of the features in the corresponding embodiments can be found in Figure 1 The relevant descriptions of the corresponding embodiments will not be repeated here one by one.

[0214] Figure 6 A structural diagram of a protocol conversion device based on multi-type transaction processing provided by an embodiment of the present invention, such as Figure 6 As shown, the protocol conversion device based on multi-type transaction processing includes: a memory 60 for storing a computer program;

[0215] The processor 61 is used to implement the steps of the protocol conversion method based on multi-type transaction processing in the above embodiment when executing the computer program.

[0216] The protocol conversion device based on multi-type transaction processing provided in this embodiment may include but is not limited to a smart phone, a tablet computer, a laptop computer or a desktop computer.

[0217] Among them, the processor 61 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 61 can be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). The processor 61 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 61 may be integrated with a graphics processing unit (GPU), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 61 may also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.

[0218] The memory 60 may include one or more computer-readable storage media, which may be non-transitory. The memory 60 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory 60 is at least used to store the following computer program 601, wherein, after the computer program is loaded and executed by the processor 61, the relevant steps of the protocol conversion method based on multi-type transaction processing disclosed in any of the aforementioned embodiments can be implemented. In addition, the resources stored in the memory 60 may also include an operating system 602 and data 603, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 602 may include Windows, Unix, Linux, etc. Data 603 may include but is not limited to monitoring response messages, invalid messages, etc.

[0219] In some embodiments, the protocol conversion device based on multi-type transaction processing may also include a display screen 62 , an input and output interface 63 , a communication interface 64 , a power supply 65 , and a communication bus 66 .

[0220] Those skilled in the art will understand that Figure 6 The structure shown in the figure does not constitute a limitation on the protocol conversion device based on multi-type transaction processing, and may include more or less components than those shown in the figure.

[0221] It is understandable that if the protocol conversion method based on multi-type transaction processing in the above embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present invention is essentially or part of the contribution to the current technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium to execute all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), electrically erasable programmable ROM, register, hard disk, removable disk, CD-ROM, magnetic disk or optical disk and other media that can store program codes.

[0222] Based on this, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the protocol conversion method based on multi-type transaction processing are implemented as described above.

[0223] An embodiment of the present invention further provides a computer program product, including a computer program / instruction, which implements the steps of the above-mentioned protocol conversion method based on multi-type transaction processing when executed by a processor.

[0224] The above is a detailed introduction to a protocol conversion device, method, equipment, computer-readable storage medium and computer program product based on multi-type transaction processing provided by an embodiment of the present invention. Each embodiment in the specification is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description.

[0225] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0226] The above is a detailed introduction to a protocol conversion device, method, equipment, computer-readable storage medium and computer program product based on multi-type transaction processing provided by the present invention. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principle of the present invention, the present invention can also be improved and modified, and these improvements and modifications also fall within the scope of protection of the present invention.

Claims

1. A protocol conversion device based on multi-type transaction processing, characterized in that: It includes a conversion component, a generation component, and a transaction management component connected to the conversion component and the generation component respectively; The conversion component is connected to the generation component and is used to receive a write channel transaction that complies with the first bus protocol and is transmitted by the processor; receiving a monitoring request in accordance with a second bus protocol transmitted by a master node; Transmitting the address of the monitoring request access to the transaction management component; In case of receiving a conflict signal, the conflict signal and the write channel transaction are transmitted to the generating component; wherein the processor is a device using a first bus protocol; and the master node is a device using a second bus protocol; The transaction management component is used to determine whether there is a write channel transaction with the same address when receiving the address accessed by the monitoring request; if there is a write channel transaction with the same address, transmit a conflict signal to the conversion component; The generating component is used to generate a monitoring response message that complies with the second bus protocol based on the write channel transaction and the monitoring request when receiving the conflict signal, and transmit the monitoring response message to the master node in the form of a monitoring response; after completing the transmission of the monitoring response message, perform a field clearing operation on the monitoring response message to obtain an invalid message, and transmit the invalid message to the master node.

2. The protocol conversion device based on multi-type transaction processing according to claim 1, characterized in that: The conversion component includes a write request conversion module and a read-write response conversion module for processing write channel transactions, and a listen response conversion module and a listen request conversion module for processing listen transactions; the generation component includes a data generation module and a response generation module; wherein the data generation module includes a decoding submodule, a write data generation submodule for processing write data, and a listen response data generation submodule for processing listen responses.

3. The protocol conversion device based on multi-type transaction processing according to claim 2 is characterized in that: The write request conversion module is connected to the data generation module, and is used to receive the write request and write data transmitted by the processor; send the write request identification information corresponding to the write request and the write data to the decoding submodule of the data generation module; The decoding submodule is connected to the write data generation submodule, and is used for, after receiving the write data and write request identification information transmitted by the write request conversion module, saving the write data to a memory, and using the write address contained in the write request identification information as a data index of the write data; and sending the write data and the write request identification information to the write data generation submodule; In case of receiving a conflict signal, sending the conflict signal to the write data generation submodule; The write data generation submodule is used for converting the write data and the write request identification information into a write data message conforming to the second bus protocol according to the write data transaction response protocol table when the write data and the write request identification information are received; When the conflict signal is received, the data field, identification field, valid bit field and type field in the write data message that complies with the second bus protocol are all cleared to generate a new write data message, and the new write data message is sent to the master node.

4. The protocol conversion device based on multi-type transaction processing according to claim 3 is characterized in that: The write request conversion module is used to receive the write request transmitted by the processor through the write request channel, and receive the write data transmitted by the processor through the write data channel; The write data generation submodule is used to send the new write data message to the master node through the data channel.

5. The protocol conversion device based on multi-type transaction processing according to claim 3 is characterized in that: The monitoring request conversion module is connected to the monitoring response conversion module and the transaction management component respectively, and is used to receive the monitoring request transmitted by the master node; transmit the transaction identification information corresponding to the monitoring request to the monitoring response conversion module, and transmit the address accessed by the monitoring request and the second bus protocol transaction number to the transaction management component; The transaction management component is connected to the monitoring response conversion module, and is used to receive the address accessed by the monitoring request and the second bus protocol transaction number; determine whether there is a write channel transaction with the same address as the monitoring request in the record table; if there is a write channel transaction with the same address as the monitoring request in the record table, pull up the conflict signal, and send a notification of executing the monitoring response to the monitoring response conversion module; wherein the notification carries the conflict signal and the address; The monitoring response conversion module is connected to the data generation module, and is used to query the monitoring response protocol conversion table to obtain the type and status field information that conforms to the second bus protocol when receiving the notification of executing the monitoring response; send the second bus protocol transaction number, the type and status field information, the conflict signal and the address included in the transaction identification information to the data generation module; The data generation module is used to query the write data corresponding to the address from the memory when receiving the second bus protocol transaction number, the type and status field information, the conflict signal and the address; encapsulate the write data, the second bus protocol transaction number, the type and status field information into a monitoring response message that complies with the second bus protocol, and send the monitoring response message to the master node.

6. The protocol conversion device based on multi-type transaction processing according to claim 5, characterized in that: The transaction management component is used to determine whether the transaction type of the write channel transaction belongs to a write data transaction when there is a write channel transaction with the same address as the monitoring request in the record table; In the case where the transaction type of the write channel transaction belongs to a write data transaction, setting the conflict signal to a conflict signal with data, and sending a notification of executing a snoop response to the snoop response conversion module; The monitoring response conversion module is used to determine whether the conflict signal carried in the notification is a conflict signal with data when receiving a notification of executing the monitoring response; In the case where the conflict signal is a conflict signal with data, the second bus protocol transaction number, the type and status field information, the conflict signal and the address included in the transaction identification information are sent to the decoding submodule of the data generation module; The decoding submodule is connected to the monitoring response data generating submodule, and is used to determine whether the conflict signal is a conflict signal with data when receiving the second bus protocol transaction number, the type and status field information, the conflict signal and the address; In the case where the conflict signal is a conflict signal with data, the second bus protocol transaction number, the type and status field information, the conflict signal and the address are sent to the monitoring response data generation submodule; The monitoring response data generation submodule is used to query the write data corresponding to the address from the memory when receiving the second bus protocol transaction number, the type and status field information, the conflict signal and the address; use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the write data, the second bus protocol transaction number, the type and status field information into a monitoring response message that complies with the second bus protocol; and send the monitoring response message that complies with the second bus protocol to the master node through a data channel.

7. The protocol conversion device based on multi-type transaction processing according to claim 5, characterized in that: The monitoring request conversion module is used to store the monitoring message corresponding to the monitoring request into a first-in-first-out queue; Parsing the monitoring message to obtain the node number of the master node, the address accessed by the monitoring request, the second bus protocol transaction type, and the second bus protocol transaction number; Transmitting the address accessed by the monitoring request to the transaction management component; Transmitting the second bus protocol transaction number and the second bus protocol transaction type to the sniff response conversion module; The monitoring response conversion module is used for, after receiving the second bus protocol transaction number and the second bus protocol transaction type, converting the second bus protocol transaction type into the first bus protocol transaction type, and storing the second bus protocol transaction number and the first bus protocol transaction type in the monitoring response record table; The transaction management component is used to send a warning signal to the listening request conversion module when there is a write channel transaction with the same address as the listening request in the record table; and send a non-warning signal to the listening request conversion module when there is no write channel transaction with the same address as the listening request in the record table; The monitoring request conversion module is also used to end the conversion operation of the monitoring message when the alarm signal is received; when the non-alarm signal is received, the monitoring request is converted into monitoring information that complies with the first bus protocol according to the monitoring channel protocol conversion table, and the monitoring information that complies with the first bus protocol is transmitted to the processor through the monitoring request channel.

8. The protocol conversion device based on multi-type transaction processing according to claim 7 is characterized in that: The monitoring request conversion module is used to query the monitoring information compliant with the first bus protocol that matches the second bus protocol transaction number corresponding to the monitoring request, the address accessed by the monitoring request, and the second bus protocol transaction type from the monitoring channel protocol conversion table.

9. The protocol conversion device based on multi-type transaction processing according to claim 2, characterized in that: The monitoring request conversion module is connected to the monitoring response conversion module and the transaction management component respectively, and is used to receive the monitoring request transmitted by the master node; transmit the transaction identification information corresponding to the monitoring request to the monitoring response conversion module, and transmit the address accessed by the monitoring request and the second bus protocol transaction number to the transaction management component; The transaction management component is connected to the monitoring response conversion module, and is used to receive the address accessed by the monitoring request and the second bus protocol transaction number; determine whether there is a write channel transaction with the same address as the monitoring request in the record table; if there is a write channel transaction with the same address as the monitoring request in the record table, pull up the conflict signal, and send a notification of executing the monitoring response to the monitoring response conversion module; wherein the notification carries the conflict signal; The monitoring response conversion module is connected to the response generation module, and is used to query the monitoring response protocol conversion table to obtain the type and status field information that conforms to the second bus protocol when receiving the notification of executing the monitoring response; and send the second bus protocol transaction number, the type and status field information contained in the transaction identification information to the response generation module; The response generation module is used to encapsulate the second bus protocol transaction number, the type and status field information into a monitoring response message that complies with the second bus protocol upon receiving the second bus protocol transaction number, the type and status field information, and send the monitoring response message to the master node.

10. The protocol conversion device based on multi-type transaction processing according to claim 9, characterized in that: The transaction management component is used to determine whether the transaction type of the write channel transaction belongs to a write channel no-data transaction when there is a write channel transaction having the same address as the monitoring request in the record table; In the case where the transaction type of the write channel transaction belongs to a write channel data-free transaction, setting the conflict signal to a conflict signal without data, and sending a notification of executing a listen response to the listen response conversion module; The monitoring response conversion module is used to determine whether the conflict signal carried in the notification is a conflict signal without data when receiving a notification of executing a monitoring response; In the case where the conflict signal is a conflict signal without data, the second bus protocol transaction number, the type and status field information included in the transaction identification information are sent to the response generation module; The response generation module is used to use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the second bus protocol transaction number, the type and status field information into a monitoring response message that complies with the second bus protocol; The monitoring response message is sent to the master node through a response channel.

11. The protocol conversion device based on multi-type transaction processing according to claim 2, characterized in that: The read-write response conversion module is connected to the transaction management component, and is used to receive the write response information that complies with the second bus protocol and is transmitted by the master node through the response channel; send the data packet identification information carried by the write response information to the transaction management component, and obtain the write request transaction number corresponding to the write request from the transaction management component; According to the write channel no-data transaction response protocol table, converting the write request transaction number and the write response information conforming to the second bus protocol into write response information conforming to the first bus protocol; Write response information that complies with the first bus protocol is fed back to the processor through a write response channel.

12. The protocol conversion device based on multi-type transaction processing according to claim 11, characterized in that: The read-write response conversion module is used to use the write request transaction number as the write response transaction number and set the transaction type to the binary field information corresponding to the write response transaction to obtain write response information that complies with the first bus protocol.

13. The protocol conversion device based on multi-type transaction processing according to claim 2, characterized in that: The write request conversion module is connected to the data generation module, and is used to receive the write request and write data transmitted by the processor; send the write request identification information corresponding to the write request and the write data to the decoding submodule of the data generation module; The decoding submodule is connected to the write data generation submodule, and is used for, after receiving the write data and write request identification information transmitted by the write request conversion module, saving the write data to a memory, and using the write address contained in the write request identification information as a data index of the write data; and sending the write data and the write request identification information to the write data generation submodule; The write data generation submodule is used for converting the write data and the write request identification information into a write data message conforming to the second bus protocol according to the write data transaction response protocol table when the write data and the write request identification information are received; The read-write response conversion module is connected to the transaction management component and is used to receive the write response information that complies with the second bus protocol transmitted by the master node; Sending the data packet identification information carried by the write response information to the transaction management component; converting the write response information conforming to the second bus protocol into the write response information conforming to the first bus protocol, and feeding back the write response information conforming to the first bus protocol to the processor; The transaction management component is connected to the write data generation submodule, and is used to send a request completion notification carrying the data packet identification information to the write data generation submodule after receiving the data packet identification information transmitted by the read-write response conversion module; The write data generation submodule is used to use the data packet identification information as the second bus protocol transaction number of the write data message and send the write data message to the master node when receiving the request completion notification transmitted by the transaction management component.

14. The protocol conversion device based on multi-type transaction processing according to claim 13, characterized in that: The read-write response conversion module is used to obtain a write request transaction number corresponding to the write request from the transaction management component; According to the write channel no-data transaction response protocol table, converting the write request transaction number and the write response information conforming to the second bus protocol into write response information conforming to the first bus protocol; The transaction management component is used to send the write request transaction number and the data packet identification information to the write data generation submodule after receiving the data packet identification information transmitted by the read-write response conversion module; The write data generation submodule is used to determine whether the write request transaction number transmitted by the transaction management component and the write request transaction number carried in the write request identification information are consistent when receiving the write request transaction number and the data packet identification information transmitted by the transaction management component; When the write request transaction number transmitted by the transaction management component is consistent with the write request transaction number carried in the write request identification information, the data packet identification information is used as the second bus protocol transaction number of the write data message, and the write data message is sent to the master node.

15. The protocol conversion device based on multi-type transaction processing according to claim 13, characterized in that: The write data generation submodule is used to store the write data message in the data field of the second bus protocol, and store the message number corresponding to the write data message in the identification field of the second bus protocol; Assigning a data valid signal carried by the write request identification information to a valid bit field of the second bus protocol; Determine, according to the correspondence between the first bus protocol transaction type and the second bus protocol transaction type, a second bus protocol write channel transaction type that matches the write channel transaction type carried by the write request identification information, and store the second bus protocol write channel transaction type in the type field of the second bus protocol; storing the node number of the master node into the destination address field of the second bus protocol, and storing the node number of the processor into the source address field of the second bus protocol; The data packet identification information is stored in the transaction number field of the second bus protocol.

16. The protocol conversion device based on multi-type transaction processing according to claim 13, characterized in that: The write data generation submodule is used to determine the number of splits of the write data message according to the total number of data packets of the write data message and the data bit width of the data bus; and split the write data message into multiple write data sub-messages according to the number of splits; Store multiple write data sub-messages in the data field of the second bus protocol, and store the sub-message number corresponding to each write data sub-message in the identification field of the second bus protocol; transmit the multiple write data sub-messages to the master node through the data channel in sequence according to their corresponding sub-message numbers.

17. The protocol conversion device based on multi-type transaction processing according to claim 2, characterized in that: The monitoring response conversion module is connected to the transaction management component, the data generation module and the response generation module respectively, and is used to receive the monitoring response transmitted by the processor; determine whether the conflict signal transmitted by the transaction management component is received; if the conflict signal transmitted by the transaction management component is not received, query the monitoring response protocol conversion table to obtain the type and status field information of the monitoring response match; In the case where the monitoring response is a no-data response, the type and status field information and the second bus protocol transaction number recorded in the monitoring response record table are sent to the response generation module, and the monitoring response record table is cleared; In the case where the monitoring response is a response with data, the monitoring data, the type and status field information, and the second bus protocol transaction number are sent to the data generation module, and the monitoring response record table is cleared; The response generation module is used to use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the type and status field information and the second bus protocol transaction number into a monitoring response message that complies with the second bus protocol; Sending the monitoring response message to the master node through a response channel; The data generation module is used to use the node number of the master node as the destination address, the node number of the processor as the source address, and encapsulate the monitoring data, the type and status field information, and the second bus protocol transaction number into a monitoring response message that complies with the second bus protocol; The monitoring response message is sent to the master node through a data channel.

18. The protocol conversion device based on multi-type transaction processing according to claim 17, characterized in that: The monitoring response conversion module is used to receive the monitoring data transmitted by the processor through the monitoring data channel; when the monitoring data transmission completion mark is obtained, all the received monitoring data are transmitted to the decoding submodule of the data generation module; The decoding submodule is connected to the monitoring response data generating submodule, and is used to determine whether the response corresponding to the monitoring data belongs to the monitoring response after receiving the monitoring data; In a case where the response corresponding to the monitoring data is a monitoring response, transmitting the monitoring data to the monitoring response data generating submodule; The monitoring response data generating submodule is used to determine the number of splits of the monitoring data according to the total number of data packets of the monitoring data and the data bit width of the data bus; split the monitoring data into multiple monitoring sub-data according to the number of splits, and assign a sub-data number to each monitoring sub-data; use the node number of the main node as the destination address, use the node number of the processor as the source address, and encapsulate each monitoring sub-data and its corresponding sub-data number, the type and status field information, and the second bus protocol transaction number into a monitoring response message that complies with the second bus protocol.

19. A protocol conversion method based on multi-type transaction processing, characterized in that: The protocol conversion device based on multi-type transaction processing according to any one of claims 1 to 18, wherein the method comprises: receiving a write channel transaction in accordance with a first bus protocol transmitted by a processor; wherein the processor is a device using the first bus protocol; receiving a monitoring request in accordance with the second bus protocol transmitted by a master node; wherein the master node is a device using the second bus protocol; Determine whether there is a write channel transaction having the same address as the monitoring request; In the case where there is a write channel transaction having the same address as the snoop request, generating a snoop response message that complies with the second bus protocol based on the write channel transaction and the snoop request, and transmitting the snoop response message to the master node in a snoop response manner; After completing the transmission of the intercept response message, performing a field clearing operation on the intercept response message to obtain an invalid message, and transmitting the invalid message to the master node.

20. A protocol conversion device based on multi-type transaction processing, characterized in that: include: Memory for storing computer programs; A processor is used to execute the computer program to implement the steps of the protocol conversion method based on multi-type transaction processing as claimed in claim 19.

21. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by the processor, the steps of the protocol conversion method based on multi-type transaction processing as claimed in claim 19 are implemented.

22. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the protocol conversion method based on multi-type transaction processing described in claim 19 are implemented.

Citation Information

Cited By

  • Write transmission device and method for CHI bus protocol system and AXI4 equipment

    CN120994590A

  • Transaction processing method of multi-core processor, multi-core processor and electronic equipment

    CN121722712A

  • Data transmission method and device and related equipment

    CN121907940A