[go: up one dir, main page]

CN118827819B - A protocol conversion device, method, equipment, medium and product - Google Patents

A protocol conversion device, method, equipment, medium and product Download PDF

Info

Publication number
CN118827819B
CN118827819B CN202411312095.0A CN202411312095A CN118827819B CN 118827819 B CN118827819 B CN 118827819B CN 202411312095 A CN202411312095 A CN 202411312095A CN 118827819 B CN118827819 B CN 118827819B
Authority
CN
China
Prior art keywords
bus protocol
response
transaction
read
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202411312095.0A
Other languages
Chinese (zh)
Other versions
CN118827819A (en
Inventor
周利艳
孔令军
赵元
张贞雷
苏康
李亚民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202411312095.0A priority Critical patent/CN118827819B/en
Publication of CN118827819A publication Critical patent/CN118827819A/en
Application granted granted Critical
Publication of CN118827819B publication Critical patent/CN118827819B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及多核处理器技术领域,公开了一种协议转换装置、方法、设备、介质和产品,接收处理器传输的待处理事务;处理器传输的待处理事务符合第一总线协议,为了实现与第二总线协议的主节点的通信,可以根据第二总线协议的报文格式以及待处理事务所属事务类型相匹配的处理方式,将待处理事务转换为第二总线协议事务,并将其传输至主节点。接收主节点传输的信息;主节点传输的信息符合第二总线协议,根据第一总线协议的报文格式以及信息相匹配的处理方式,将信息转换为第一总线协议事务,并将第一总线协议事务传输至处理器。设计第一总线协议接口和第二总线协议接口转换,可以将第一总线协议的处理器核接入第二总线协议的多核处理器系统。

The present invention relates to the technical field of multi-core processors, and discloses a protocol conversion device, method, equipment, medium and product, which receives pending transactions transmitted by a processor; the pending transactions transmitted by the processor conform to a first bus protocol, and in order to realize communication with a master node of a second bus protocol, the pending transactions can be converted into second bus protocol transactions according to the message format of the second bus protocol and a processing method that matches the transaction type to which the pending transactions belong, and transmitted to the master node. Receive information transmitted by the master node; the information transmitted by the master node conforms to the second bus protocol, and according to the message format of the first bus protocol and a processing method that matches the information, convert the information into a first bus protocol transaction, and transmit the first bus protocol transaction to the processor. Designing the conversion between the first bus protocol interface and the second bus protocol interface can connect the processor core of the first bus protocol to the multi-core processor system of the second bus protocol.

Description

Protocol conversion device, method, equipment, medium and product
Technical Field
The present invention relates to the technical field of multi-core processors, and in particular, to a protocol conversion device, method, apparatus, medium, and product.
Background
With the rapid development of artificial intelligence, the demand for computing power is also increasing, and single-core processors cannot meet the computing demand, so that the parallel processing mode of the multi-core processor architecture provides faster and more efficient computing power.
Each core in the multi-core processor is provided with a cache, and the multi-core system needs to perform consistency processing on cache data so as to prevent errors of the data when the processor is used. The bus protocol (Advanced eXtensible Interface, AXI) is the most important part of the advanced microcontroller bus architecture (Advanced Microcontroller Bus Architecture, AMBA) 3.0 protocol, which is an on-chip bus oriented to high performance, high bandwidth, low latency. Both AXI consistency extensions (AXI Coherency Extensions, ACE) and consistency hub interface (Coherent Hub Interface, CHI) protocols may provide consistency maintenance functionality.
The ACE protocol is a consistency extension protocol of the AXI protocol and can be used for processing multi-core consistency. The CHI protocol is an evolutionary version of the ACE protocol, is a popular protocol for cache consistency of the multi-core processor at present, and has wider application. At present, only the implementation scheme for cache consistency based on the CHI protocol does not relate to the processing mode of ACE and CHI conversion, so that an ACE processor core cannot access a multi-core CPU system of the CHI framework.
It can be seen that how to implement a multi-core CPU system with ACE processor cores accessing the CHI architecture is a problem that needs to be solved by those skilled in the art.
Disclosure of Invention
The embodiment of the invention aims to provide a protocol conversion device, a protocol conversion method, protocol conversion equipment, a protocol conversion medium and a protocol conversion product, which can solve the problem that an ACE processor core cannot access a multi-core CPU system of a CHI architecture.
In order to solve the technical problems, the embodiment of the invention provides a protocol conversion device, which comprises a first conversion component, a second conversion component and a transaction management component respectively connected with the first conversion component and the second conversion component, wherein the input end of the first conversion component is connected with a processor of a first bus protocol, the output end of the first conversion component is connected with a main node of a second bus protocol, the output end of the second conversion component is connected with the processor of the first bus protocol, the input end of the second conversion component is connected with the main node of the second bus protocol, and the transaction management component is used for recording transaction information corresponding to the transaction processing of the first conversion component and the second conversion component;
The first conversion component is used for receiving the transaction to be processed transmitted by the processor, converting the transaction to be processed into a transaction of a second bus protocol according to a message format of the second bus protocol and a processing mode matched with the transaction type of the transaction to be processed, and transmitting the transaction of the second bus protocol to the master node;
The second conversion unit is configured to receive the information transmitted by the master node, convert the information into a first bus protocol transaction according to the message format of the first bus protocol and the processing mode matched with the information, and transmit the first bus protocol transaction to the processor.
In one aspect, when the transaction to be processed includes a write channel transaction and a read channel transaction, the first converting unit is configured to transmit first bus protocol identification information of the transaction to be processed to the transaction management unit, so that the transaction management unit records the first bus protocol identification information, convert the transaction to be processed into a second bus protocol request packet according to a message format of the second bus protocol, and transmit the second bus protocol request packet to the master node.
In one aspect, when the transaction to be processed includes a snoop response, the first converting unit is configured to convert, according to a message format of the second bus protocol, information carried in the transaction to be processed and transaction identification information recorded in a self record table into a second bus protocol snoop response message, and transmit the second bus protocol snoop response message carrying snoop last state information to the master node, so that the master node realizes cache consistency with the processor based on the snoop last state information.
On the one hand, when the information belongs to response information, the second conversion unit is used for transmitting second bus protocol identification information corresponding to the response information to the transaction management unit, acquiring matched first bus protocol identification information from the transaction management unit, converting the response information and the first bus protocol identification information into a first bus protocol response message according to a message format of the first bus protocol, and transmitting the first bus protocol response message carrying response last state information to the processor, so that the processor can achieve cache consistency with the master node based on the response last state information.
In one aspect, when the information belongs to the snoop request information, the second converting unit is configured to transmit transaction identification information corresponding to the snoop request information to the first converting unit, so that the first converting unit records the transaction identification information in its own record table, convert the snoop request information into a first bus protocol snoop request according to a message format of the first bus protocol, and transmit the first bus protocol snoop request to the processor.
In one aspect, the write channel transactions include write data transactions and write channel no data transactions;
The first conversion unit is configured to receive a write request transmitted by the processor, transmit a write address, a write channel transaction number and a write channel transaction type carried by the write request to the transaction management unit, so that the transaction management unit records the write address, the write channel transaction number and the write channel transaction type corresponding to the write request, and pull up status information;
the first conversion unit is further configured to receive write data transmitted by the processor, convert the write data into a second bus protocol write message according to a message format of the second bus protocol, receive data packet identification information transmitted by the transaction management unit, use the data packet identification information as a second bus protocol transaction number, and transmit the second bus protocol write message and the second bus protocol transaction number to the master node, where the data packet identification information is identification information generated by the transaction management unit based on the second bus protocol write request.
In one aspect, the read channel transactions include read data transactions and read channel no data transactions;
The first conversion unit is configured to receive a read channel transaction transmitted by the processor, transmit a read address, a read channel transaction number, and a read channel transaction type carried by the read channel transaction to the transaction management unit, so that the transaction management unit records the read address, the read channel transaction number, and the read channel transaction type corresponding to the read channel transaction, and pull up status information.
In one aspect, the first conversion component includes a write request conversion module, a read request conversion module, a request generation module, and a data generation module;
The write request conversion module is respectively connected with the request generation module and the data generation module and is used for transmitting a write address, a write channel transaction number and a write channel transaction type carried by the write request to the request generation module;
The request generating module is configured to convert the received write address, write channel transaction number and write channel transaction type into a second bus protocol write request according to the message format of the second bus protocol, and transmit the second bus protocol write request to the master node;
the data generation module is used for receiving the write data transmitted by the write request conversion module, converting the write data into a second bus protocol write message according to the message format of the second bus protocol, receiving data packet identification information transmitted by the transaction management component, taking the data packet identification information as a second bus protocol transaction number, and transmitting the second bus protocol write message and the second bus protocol transaction number to the master node;
The read request conversion module is connected with the request generation module and is used for transmitting the read address, the read channel transaction number and the read channel transaction type carried by the read channel transaction to the request generation module;
The request generation module is further configured to convert the received read address, read channel transaction number, and read channel transaction type into a second bus protocol read request according to the message format of the second bus protocol, and transmit the second bus protocol read request to the master node.
In one aspect, the snoop response includes a snoop no data response and a snoop data response;
The first conversion component is used for recording transaction identification information into an information record table, receiving a monitoring data response and a monitoring data response transmitted by the processor, converting the monitoring data response, the monitoring data response and the transaction identification information into a second bus protocol monitoring message, transmitting the second bus protocol monitoring message carrying monitoring end state information to the master node, and clearing the information record table.
In one aspect, the first conversion component further includes a snoop response conversion module and a response generation module;
the monitoring response conversion module is respectively connected with the data generation module and the response generation module and is used for receiving transaction identification information transmitted by the monitoring request conversion module, receiving monitoring data responses and monitoring data responses transmitted by the processor, transmitting the monitoring data responses, the monitoring data responses and the transaction identification information to the data generation module when the monitoring data responses are not empty, transmitting the monitoring data responses and the transaction identification information to the response generation module when the monitoring data responses are empty,
The data generation module is used for converting the interception data response, the interception data response and the transaction identification information into a second bus protocol interception data message, transmitting the second bus protocol interception data message carrying interception final state information to the master node, and clearing the information record table;
The response generation module is configured to convert the snoop no-data response and the transaction identifier information into a second bus protocol snoop response message, transmit the second bus protocol snoop response message carrying snoop end state information to the master node, and clear the information record table.
In one aspect, the response information includes write response information and read response information;
The second conversion component is configured to receive the write response information transmitted by the master node, transmit second bus protocol write identification information corresponding to the write response information to the transaction management component, and obtain first bus protocol write identification information corresponding to a write request from the transaction management component; according to the message format of the first bus protocol, converting the write response information and the first bus protocol write identification information into a first bus protocol write response message, and transmitting the first bus protocol write response message to the processor;
The second conversion part is also used for receiving the read response information transmitted by the master node, transmitting second bus protocol read identification information corresponding to the read response information to the transaction management part, acquiring first bus protocol read identification information corresponding to the read request from the transaction management part, converting the read response information and the first bus protocol read identification information into a first bus protocol read response message according to the message format of the first bus protocol, and transmitting the first bus protocol read response message carrying read response last-state information to the processor.
The second conversion component comprises a read-write response conversion module, a read data response conversion module and a data generation module;
the read-write response conversion module is used for processing the write response information and the data-free read response information;
The data generation module is used for generating data corresponding to the transaction management component, the data response conversion module is used for receiving the data response information transmitted by the master node, transmitting a second bus protocol transaction number and second bus protocol data identification information corresponding to the data response information to the transaction management component, and transmitting the data response information to the data generation module;
The data generation module is used for receiving the read data response information transmitted by the read data response conversion module, acquiring a matched first bus protocol transaction number and first bus protocol transaction type from the transaction management component, converting the read data response information, the first bus protocol transaction number and the first bus protocol transaction type into a first bus protocol read data response message according to the message format of the first bus protocol, and transmitting the first bus protocol read data response message carrying the read data response last state information to the processor.
In one aspect, the second conversion component further includes a snoop request conversion module;
The transaction management component is used for receiving a monitoring request transmitted by a master node, recording a second bus protocol transaction number and a first bus protocol transaction type corresponding to the monitoring request in a record table of the monitoring response conversion module, transmitting an address corresponding to the monitoring request to the transaction management component, so that the transaction management component can judge whether to start conflict processing according to each received address;
the monitoring request conversion module is further used for converting the monitoring request into a first bus protocol monitoring request according to the message format of the first bus protocol under the condition that conflict processing is not started, transmitting the first bus protocol monitoring request to the processor, and processing the monitoring request according to the processing flow matched with the started conflict processing under the condition that conflict processing is started.
In one aspect, the first conversion component comprises a first channel group connected with a processor of a first bus protocol, the second conversion component comprises a second channel group connected with the processor of the first bus protocol, the first conversion component comprises a third channel group connected with a main node of a second bus protocol, the second conversion component comprises a fourth channel group connected with the main node of the second bus protocol;
The first conversion component is configured to receive a transaction to be processed transmitted by the processor through the first channel group; transmitting the second bus protocol transaction to the master node through the third channel group;
the second conversion unit is configured to receive, through the fourth channel group, information transmitted by the master node, and transmit the first bus protocol transaction to the processor through the second channel group.
In one aspect, the first channel group includes a write channel group, a read channel, a snoop response channel, and a snoop data channel;
the write channel group is connected with the write request conversion module and is used for receiving a write channel transaction initiated by the processor;
The read channel is connected with the read request conversion module and is used for receiving the read channel transaction transmitted by the processor and transmitting the read channel transaction to the read request conversion module;
the monitoring response channel and the monitoring data channel are connected with the monitoring response conversion module and are used for receiving the monitoring response transmitted by the processor and transmitting the monitoring response to the monitoring response conversion module.
In one aspect, the write channel group includes a write request channel and a write data channel;
The write request channel is used for receiving the write request transmitted by the processor and transmitting the write request to the write request conversion module;
The write data channel is used for receiving write data transmitted by the processor and transmitting the write data to the write request conversion module;
the monitoring response channel is used for receiving the monitoring data response transmitted by the processor and transmitting the monitoring data response to the monitoring response conversion module;
The monitoring data channel is used for receiving the monitoring data response transmitted by the processor and transmitting the monitoring data response to the monitoring response conversion module.
In one aspect, the second channel group includes a write response channel, a read response channel, and a snoop request channel;
The write response channel is connected with the read-write response conversion module and is used for receiving a first bus protocol response message transmitted by the read-write response conversion module and transmitting the first bus protocol response message to the processor;
The read response channel is respectively connected with the read-write response conversion module and the data generation module and is used for receiving the first bus protocol read response message carrying the read response last state information transmitted by the read-write response conversion module and transmitting the first bus protocol read response message carrying the read response last state information to the processor;
The snoop request channel is configured to transmit a first bus protocol snoop request to the processor.
In one aspect, the third channel group includes a request channel, a data channel, and a response channel;
The request channel is connected with the request generation module and is used for feeding back a second bus protocol write request and a second bus protocol read request transmitted by the request generation module to the master node;
the data channel is connected with the data generation module and is used for feeding back the second bus protocol write message and the second bus protocol transaction number transmitted by the data generation module to the master node;
the response channel is connected with the response generation module and is used for feeding back a second bus protocol monitoring response message which is transmitted by the response generation module and carries monitoring terminal state information to the master node.
In one aspect, the fourth group includes a response channel, a data channel, and a listening channel;
the response channel is connected with the read-write response conversion module and is used for transmitting the write response information and the data-free read response information transmitted by the master node to the read-write response conversion module;
the data channel is connected with the read data response conversion module and is used for transmitting read data response information transmitted by the main node to the read data response conversion module;
The monitoring channel is connected with the monitoring request conversion module and is used for transmitting the monitoring request transmitted by the master node to the monitoring request conversion module.
In one aspect, the first bus protocol is an AXI consistency extension protocol, and the second bus protocol is a consistency hub interface protocol.
The embodiment of the invention also provides a protocol conversion method which is suitable for the protocol conversion device, and the method comprises the following steps:
Receiving a transaction to be processed transmitted by a processor;
According to the message format of the second bus protocol and the processing mode matched with the transaction type of the transaction to be processed, converting the transaction to be processed into the transaction of the second bus protocol, and transmitting the transaction of the second bus protocol to a master node;
Receiving information transmitted by the master node;
and converting the information into a first bus protocol transaction according to a message format of the first bus protocol and a processing mode matched with the information, and transmitting the first bus protocol transaction to the processor.
The embodiment of the invention also provides a protocol conversion device, which comprises:
a memory for storing a computer program;
a processor for executing the computer program to implement the steps of the protocol conversion method as described above.
The embodiment of the invention also provides a computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program realizes the steps of the protocol conversion method when being executed by a processor.
The embodiments of the present invention also provide a computer program product comprising a computer program/instruction which, when executed by a processor, implements the steps of the protocol conversion method described above.
The protocol conversion device comprises a first conversion component, a second conversion component and a transaction management component connected with the first conversion component and the second conversion component respectively, wherein the input end of the first conversion component is connected with a processor of a first bus protocol, the output end of the first conversion component is connected with a main node of a second bus protocol, the output end of the second conversion component is connected with the processor of the first bus protocol, the input end of the second conversion component is connected with the main node of the second bus protocol, and the transaction management component is used for recording corresponding transaction information when the first conversion component and the second conversion component process transactions. The system comprises a first conversion component, a second conversion component and a master node, wherein the first conversion component is used for receiving the transaction to be processed transmitted by the processor, the transaction to be processed transmitted by the processor accords with a first bus protocol, and in order to realize communication with the master node of a second bus protocol, the transaction to be processed can be converted into the transaction of the second bus protocol according to a message format of the second bus protocol and a processing mode matched with the transaction type of the transaction to be processed, and the transaction of the second bus protocol is transmitted to the master node. The information transmitted by the master node accords with a second bus protocol, and in order to realize communication with a processor of the first bus protocol, the information can be converted into a first bus protocol transaction according to a message format of the first bus protocol and a processing mode matched with the information, and the first bus protocol transaction is transmitted to the processor.
The invention has the beneficial effects that the conversion between the first bus protocol interface and the second bus protocol interface is realized based on the first bus protocol and the second bus protocol, and the processor connected with the first bus protocol interface is used as a request node to be accessed into the multi-core processor system based on the second bus protocol. The universality, flexibility and expandability of the second bus protocol lead the application of the second bus protocol in the system on chip to be wider and wider, and the protocol conversion device can enable the processor core of the first bus protocol to be connected into the multi-core processor system based on the second bus protocol, meanwhile, cache consistency is kept, richer component selection is provided for the multi-core processor system of the second bus protocol, and further higher operation capability is achieved.
Drawings
For a clearer description of embodiments of the present invention, the drawings that are required to be used in the embodiments will be briefly described, it being apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to the drawings without inventive effort for those skilled in the art.
Fig. 1 is a schematic structural diagram of a protocol conversion device according to an embodiment of the present invention;
fig. 2 is a schematic distribution diagram of each module in a protocol conversion device according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a multi-core processor system according to an embodiment of the present invention;
fig. 4 is a flowchart of a protocol conversion method according to an embodiment of the present invention;
fig. 5 is a block diagram of a protocol conversion device according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by a person of ordinary skill in the art without making any inventive effort are within the scope of the present invention.
The terms "comprising" and "having" in the description of the invention and in the above-described figures, as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements but may include other steps or elements not expressly listed.
In order to better understand the aspects of the present invention, the present invention will be described in further detail with reference to the accompanying drawings and detailed description.
The CHI protocol, an evolutionary version of the ACE protocol, is a currently popular protocol for cache coherency in multi-core processors, is more functional and more scalable, and may contain more types of components, such as independent processors (Standalone Processors), processor clusters (Processor Clusters), graphics processors (Graphic Processors), memory controllers (Memory Controllers), I/O Bridges, PCIe subsystems, and connectors (internnect). The CHI protocol has a wider application. The CHI architecture allows flexible topology for component connection selection, using cross bar (crossbar) structures for small systems, ring (Ring) structures for medium systems, and Mesh (Mesh) structures for large systems, depending on system driving performance, power consumption, and area requirements.
Since some of the processor cores are still based on AXI or ACE protocols, in order to access the CHI architecture system as a Request Node (RN), an interface for converting the ACE and CHI protocols and having the RN function needs to be set up.
Therefore, the embodiments of the present invention provide a protocol conversion device, method, device, medium, and product, which are based on a first bus protocol and a second bus protocol, and are designed to implement conversion between a first bus protocol interface and a second bus protocol interface, so that a processor connected with the first bus protocol interface can be used as a request node to access a multi-core processor system based on the second bus protocol. The first bus protocol can be ACE protocol, the second bus protocol can be CHI protocol, and the protocol conversion scheme provided by the embodiment of the invention can realize that the ACE processor core is accessed to a multi-core CPU system of the CHI architecture.
Next, a protocol conversion device provided by the embodiment of the invention is described in detail. Fig. 1 is a schematic structural diagram of a protocol conversion device according to an embodiment of the present invention, where the device includes a first conversion unit 11, a second conversion unit 12, and a transaction management unit 13 connected to the first conversion unit 11 and the second conversion unit 12, respectively, an input end of the first conversion unit 11 is connected to a processor of a first bus protocol, an output end of the first conversion unit 11 is connected to a main node of the second bus protocol, an output end of the second conversion unit 12 is connected to the processor of the first bus protocol, an input end of the second conversion unit 12 is connected to the main node of the second bus protocol, and the transaction management unit 13 is configured to record transaction information corresponding to when the first conversion unit 11 and the second conversion unit 12 process transactions.
In the embodiment of the present invention, for convenience of distinction, a device using the first bus protocol may be referred to as a processor, and a device using the second bus protocol may be referred to as a Home Node (HN). In order to enable the processor of the first bus protocol to access the system in which the master Node is located, the processor of the first bus protocol may be regarded as a Requesting Node (RN).
A first conversion means 11 for receiving the transaction to be processed transmitted by the processor.
The processor uses a first bus protocol so that the transaction to be processed also conforms to the first bus protocol. In order to transmit the transaction to be processed transmitted by the processor to the master node, the master node may implement processing of the transaction to be processed, and needs to convert a format of the transaction to be processed, and convert the transaction to be processed according to the first bus protocol into a transaction according to the second bus protocol.
In the embodiment of the present invention, the message format of the second bus protocol may be set in the first conversion unit 11, so as to implement conversion from the first bus protocol to the second bus protocol.
In practical applications, the transaction to be processed may include a write channel transaction and a read channel transaction. The write channel transactions may include write data transactions and write channel no data transactions, and the read channel transactions may include read data transactions and read channel no data transactions. Write channel no data transactions include cache line move out transactions (Evict), which refer to no data transactions other than Evict.
The processing modes corresponding to the different types of to-be-processed transactions are different, and the processing modes corresponding to the different types of to-be-processed transactions can be recorded in the first conversion component. The first converting unit 11 may convert the transaction to be processed into a transaction of the second bus protocol according to the message format of the second bus protocol and the processing manner matched with the transaction type of the transaction to be processed, and transmit the transaction of the second bus protocol to the master node.
A second conversion unit 12, configured to receive information transmitted by the master node.
The master node uses a second bus protocol, so that the information transmitted by the master node also conforms to the second bus protocol. In order to transmit the information transmitted by the master node to the processor, so that the processor can process the information, the format of the information needs to be converted, and the information conforming to the second bus protocol is converted into a transaction conforming to the first bus protocol.
In the embodiment of the present invention, the second converting unit 12 may set a message format of the first bus protocol, so as to implement conversion from the second bus protocol to the first bus protocol. The second conversion unit 12 may convert the information into a first bus protocol transaction according to the message format of the first bus protocol and the processing manner of the information matching, and transmit the first bus protocol transaction to the processor.
The corresponding processing modes of different types of to-be-processed transactions are different. In the case that the transaction to be processed includes a write channel transaction and a read channel transaction, the first conversion unit 11 may transmit first bus protocol identification information of the transaction to be processed to the transaction management unit 13, so that the transaction management unit 13 records the first bus protocol identification information, and convert the transaction to be processed into a second bus protocol request message according to a message format of the second bus protocol, and transmit the second bus protocol request message to the master node.
For write channel transactions and read channel transactions, the first bus protocol identification information may include addresses (Addr), transaction numbers (IDs), and transaction types (AxSNOOP) corresponding to the write channel transactions and the read channel transactions.
For the snoop response, when the transaction to be processed includes the snoop response, the first conversion unit 11 may convert, according to the message format of the second bus protocol, the information carried in the transaction to be processed and the transaction identification information recorded in the self record table into a second bus protocol snoop message, and transmit the second bus protocol snoop message carrying the snoop last state information to the master node, so that the master node realizes cache consistency with the processor based on the snoop last state information.
The snoop last state information refers to the state of the processor after completing the snoop request. By carrying the monitoring end state information in the second bus protocol monitoring message, the master node can conveniently and intuitively know the current state of the processor, thereby realizing cache consistency with the processor.
The master node may feed back response information to the processor after receiving the request transmitted by the processor. The master node may also actively transmit snoop requests to the processor. Thus in embodiments of the present invention, the information transmitted by the master node to the second conversion means 12 may comprise response information and snoop request information.
Taking response information as an example, the second conversion unit 12 can transmit second bus protocol identification information corresponding to the response information to the transaction management unit 13 and obtain matched first bus protocol identification information from the transaction management unit 13 when the information belongs to the response information, and convert the response information and the first bus protocol identification information into a first bus protocol response message according to a message format of the first bus protocol, and transmit the first bus protocol response message carrying response last state information to the processor so as to facilitate the processor to achieve cache consistency with the master node based on the response last state information.
For the response information, the second bus protocol identification information may include a transaction number (TxnID) conforming to the second bus protocol, an identification of the response information conforming to the second bus protocol.
Taking the case of the snoop request information as an example, the second conversion unit 12 may transmit the transaction identification information corresponding to the snoop request information to the first conversion unit 11, so that the first conversion unit 11 records the transaction identification information in its own record table, converts the snoop request information into a first bus protocol snoop request according to the message format of the first bus protocol, and transmits the first bus protocol snoop request to the processor.
The pending processor transactions may include write channel transactions and read channel transactions.
The write channel transactions may include write data transactions and write channel no data transactions, among others.
Taking a write data transaction as an example, in practical application, the processor will first transmit a write request to the first conversion unit 11, and then transmit write data to the first conversion unit.
After receiving the write request transmitted by the processor, the first conversion unit 11 may transmit the write address, the write channel transaction number and the write channel transaction type carried by the write request to the transaction management unit 13, so that the transaction management unit 13 records the write address, the write channel transaction number and the write channel transaction type corresponding to the write request and pulls up the state information, and converts the write address, the write channel transaction number and the write channel transaction type carried by the write request into the write request of the second bus protocol according to the message format of the second bus protocol, and transmits the write request of the second bus protocol to the master node.
The transaction management component 13 (Transaction Manager, TM) indicates that there is a transaction currently being processed by pulling the state information (t_stat) high. After completing the transaction, the transaction management component 13 may pull the status information low, indicating that no transaction is currently occurring.
The first conversion unit 11 is further configured to receive the write Data transmitted by the processor, convert the write Data into a second bus protocol write message according to a message format of the second bus protocol, receive Data packet identification information (Data Buffer ID, DBID) transmitted by the transaction management unit 13, use the Data packet identification information as a second bus protocol transaction number, and transmit the second bus protocol write message and the second bus protocol transaction number to the master node.
The transaction number is in two forms, one is a transaction number conforming to the first bus protocol, which is simply referred to as the first bus protocol transaction number, and may be represented by an ID. The other is a transaction number conforming to the second bus protocol, which is simply referred to as the second bus protocol transaction number, and may be denoted by TxnID.
The packet identification information is identification information generated by the transaction management component 13 based on the second bus protocol write request. Each request has its unique corresponding identification information which conforms to the second bus protocol and can therefore be directly used as the second bus protocol transaction number.
For read channel transactions, read channel transactions may include read data transactions and read channel no data transactions. The processing flows of the read data transaction and the read channel data-free transaction are similar, and are not distinguished in the following description, and the read channel transaction is taken as an example for description.
The first conversion unit 11 is configured to receive a read channel transaction transmitted by the processor, transmit a read address, a read channel transaction number, and a read channel transaction type carried by the read channel transaction to the transaction management unit 13, so that the transaction management unit 13 records the read address, the read channel transaction number, and the read channel transaction type corresponding to the read channel transaction, and pull up status information.
In the embodiment of the invention, the first conversion unit 11 is configured to process a transaction transmitted by a processor of the first bus protocol to a master node of the second bus protocol.
For operations that the first conversion unit 11 needs to perform when processing a write channel transaction and a read channel transaction, the first conversion unit 11 may include a write request conversion module (w_req), a read request conversion module (r_req), a request generation module (req_gen), and a data generation module (dat_gen).
The write request conversion module is respectively connected with the request generation module and the data generation module and is used for transmitting a write address, a write channel transaction number and a write channel transaction type carried by a write request to the request generation module and transmitting write data to the data generation module.
The request generation module is used for converting the received write address, the write channel transaction number and the write channel transaction type into a second bus protocol write request according to the message format of the second bus protocol, and transmitting the second bus protocol write request to the master node.
For different transactions, the corresponding address, transaction number, and transaction type may be different, and in order to distinguish between different transactions, the corresponding address, transaction number, and transaction type may be used as an identification for each transaction. For ease of description, for a write channel transaction, its corresponding address may be referred to as a write address, its corresponding transaction number as a write channel transaction number, and its corresponding transaction type as a write channel transaction type.
It should be noted that, the message format of the second bus protocol includes format requirements corresponding to each field. For a write request, the write address, write channel transaction number, and write channel transaction type belong to information corresponding to three fields common in the message format, not all fields in the second bus protocol. The contents of other fields are converted according to the corresponding format requirements, and are not described herein.
The data generation module is used for receiving the write data transmitted by the write request conversion module, converting the write data into a second bus protocol write message according to the message format of the second bus protocol, receiving the data packet identification information transmitted by the transaction management component 13, taking the data packet identification information as the second bus protocol transaction number, and transmitting the second bus protocol write message and the second bus protocol transaction number to the master node.
For a read channel transaction, its corresponding address may be referred to as a read address, its corresponding transaction number as a read channel transaction number, and its corresponding transaction type as a read channel transaction type. The read request conversion module is connected with the request generation module and is used for transmitting the read address, the read channel transaction number and the read channel transaction type carried by the read channel transaction to the request generation module. The request generation module is further configured to convert the received read address, read channel transaction number, and read channel transaction type into a second bus protocol read request according to a message format of the second bus protocol, and transmit the second bus protocol read request to the master node.
In embodiments of the present invention, the snoop response may include a snoop data-free response and a snoop data response.
The first conversion section 11 may record the transaction identification information into the information record table.
Wherein the transaction identification information may be transmitted by the second conversion means 12 to the first conversion means 11. The transaction identifying information may include a transaction number conforming to a second bus protocol, abbreviated as a second bus protocol transaction number (TxnID), and may also include a transaction type conforming to a first bus protocol, abbreviated as a first bus protocol transaction type (ACSNOOP).
When a monitoring request is generated once, transaction identification information corresponding to the monitoring request is recorded in an information record table, and after the processor receives the monitoring request, the processor can feed back a monitoring data-free response and a monitoring data response to the master node through a protocol conversion device. In a specific implementation, the first conversion part 11 receives the interception data response and the interception data response transmitted by the processor, converts interception data response, interception data response and transaction identification information into a second bus protocol interception data response message, and transmits the second bus protocol interception data response message carrying interception final state information to the master node.
In order to ensure that the transaction identification information recorded in the information record table is matched with the monitoring response, the transaction identification information corresponding to the monitoring request needs to be deleted after each monitoring response is completed, namely, the information record table needs to be cleared after a second bus protocol monitoring message carrying monitoring last state information is transmitted to the master node.
In the above description, the first conversion means may include a write request conversion module, a read request conversion module, a request generation module, and a data generation module. For the processing of snoop responses, the first conversion means 11 may further comprise a snoop response conversion module (c_rsp) and a response generation module (rsp_gen).
The data may or may not be carried in the snoop data response. The snoop data response is not null when the data is carried and is null when the data is not carried.
The monitoring response conversion module is respectively connected with the data generation module and the response generation module and is used for receiving transaction identification information transmitted by the monitoring request conversion module, receiving a monitoring data response and a monitoring data response transmitted by the processor, transmitting the monitoring data response, the monitoring data response and the transaction identification information to the data generation module when the monitoring data response is not empty, and transmitting the monitoring data response and the transaction identification information to the response generation module when the monitoring data response is empty.
The data generation module is used for processing the monitoring data response carrying the data. The data generation module can convert the interception data response, the interception data response and the transaction identification information into a second bus protocol interception data message, transmit the second bus protocol interception data message carrying interception final state information to the master node, and clear the information record table.
The response generation module is used for processing the monitoring data response which does not carry data. When the monitoring data response does not carry data, the monitoring data response is empty, and the monitoring data response is not required to be transmitted to the response generation module any more, and the monitoring data response and the transaction identification information are directly transmitted to the response generation module. The response generation module can convert the interception data response and the transaction identification information into a second bus protocol interception response message, transmit the second bus protocol interception response message carrying interception final state information to the master node, and clear the information record table.
In the embodiment of the invention, through the mutual coordination of the monitoring response conversion module, the response generation module and the data generation module, the message format of the monitoring response can be converted to obtain the second bus protocol monitoring data message which can be identified by the master node, thereby realizing that the processor of the first bus protocol transmits the monitoring response to the master node of the second bus protocol and realizing the processing of the monitoring response under different protocol types.
The second conversion means 12 are arranged to process information transmitted by the master node of the second bus protocol to the server of the first bus protocol. The information may include response information and snoop request information.
The response information may include write response information and read response information.
The second conversion unit 12 is configured to receive the write response information transmitted by the master node, transmit second bus protocol write identification information corresponding to the write response information to the transaction management unit 13, obtain first bus protocol write identification information corresponding to the write request from the transaction management unit 13, convert the write response information and the first bus protocol write identification information into a first bus protocol write response message according to a message format of the first bus protocol, and transmit the first bus protocol write response message to the processor.
The first bus protocol write identification information comprises a transaction number and a transaction type corresponding to the write request. The second bus protocol write identification information includes a transaction number corresponding to the write response information and an identification of the write response information conforming to the second bus protocol.
The second conversion unit 12 is further configured to receive the read response information transmitted by the master node, transmit second bus protocol read identification information corresponding to the read response information to the transaction management unit 13, and obtain first bus protocol read identification information corresponding to the read request from the transaction management unit 13, convert the read response information and the first bus protocol read identification information into a first bus protocol read response message according to a message format of the first bus protocol, and transmit the first bus protocol read response message carrying the read response last state information to the processor.
The first bus protocol read identification information comprises a transaction number and a transaction type corresponding to the read request. The second bus protocol read identification information comprises a transaction number corresponding to the read response information and an identification of the read response information conforming to the second bus protocol.
For the processing of the response information, the second conversion section 12 may include a read-write response conversion module (rsp_br), a read response conversion module (dat_r), and a data generation module (dat_gen).
The read response information may include no data read response information and read data response information.
The read-write response conversion module may be used to process the write response information and the data-free read response information.
The read data response conversion module may be configured to receive read data response information transmitted by the master node, transmit a second bus protocol transaction number and second bus protocol data identification information corresponding to the read data response information to the transaction management component 13, and transmit the read data response information to the data generation module.
The data generation module is used for receiving the read data response information transmitted by the read data response conversion module, acquiring the matched first bus protocol transaction number and first bus protocol transaction type from the transaction management component 13, converting the read data response information, the first bus protocol transaction number and the first bus protocol transaction type into a first bus protocol read data response message according to the message format of the first bus protocol, and transmitting the first bus protocol read data response message carrying the read data response last state information to the processor.
The read request corresponds to the read data response information. The transaction management component 13 records a first bus protocol transaction and a first bus protocol transaction type corresponding to a read request transmitted by the processor to the master node. When the master node feeds back the read data response information to the processor through the data generating module, the first bus protocol transaction number and the first bus protocol transaction type corresponding to the read request can be obtained from the transaction management component 13 and used as the first bus protocol transaction number and the first bus protocol transaction type matched with the read data response information.
The read data response last state information is used for indicating last state information of the cache line after the processor processes the read data response information. The main node carries the read data response last state information when transmitting the read data response message of the first bus protocol to the processor, so that the cache consistency of the main node and the processor can be ensured.
If the transaction type is a read data transaction or a read channel data-free transaction, the transaction management component 13 records the DBID of the read-write response conversion module or the read data response conversion module when the read data response conversion module receives the response (including the DBID), the response generation module obtains the DBID from the transaction management component 13, takes the DBID as TxnID, generates CompAck response and sends the response to the CHI domain, and meanwhile, the transaction management component 13 pulls down the state information signal to indicate that the transaction is finished.
For the processing of snoop request information, the second conversion component 12 may also include a snoop request conversion module (snp_c).
The transaction management device comprises a master node, a monitoring request conversion module, a transaction management component 13 and a transaction management component 13, wherein the master node is used for receiving a monitoring request transmitted by the master node, recording a second bus protocol transaction number and a first bus protocol transaction type corresponding to the monitoring request in a record table of the monitoring response conversion module, and transmitting an address corresponding to the monitoring request to the transaction management component 13 so that the transaction management component 13 can judge whether to start conflict processing according to each received address.
The monitoring request conversion module is also used for converting the monitoring request into a first bus protocol monitoring request according to the message format of the first bus protocol under the condition that the conflict processing is not started, and transmitting the first bus protocol monitoring request to the processor, and processing the monitoring request according to the processing flow matched with the started conflict processing under the condition that the conflict processing is started.
In an embodiment of the present invention, the transaction management component 13 may be configured to record information related to each transaction, where each transaction may correspond to a record, and the record may include information corresponding to different fields, such as an address (Addr), a transaction number (ID/TxnID), a transaction type (AxSNOOP), an identification (DBID), status information (t_stat), and a collision signal (sp).
In practical applications, when the state information is pulled high, it indicates that the transaction is being processed, and when the state information is pulled low, it indicates that the transaction has been processed. When the conflict signal is pulled high, it indicates that there is a conflict currently, and when the conflict signal is pulled low, it indicates that there is no conflict.
In the embodiment of the invention, the first bus protocol can be an AXI consistency extension protocol, namely an ACE protocol, and the second bus protocol can be a consistency hub interface protocol, namely a CHI protocol. For ease of description, the following description will be presented with reference to the ACE protocol and the CHI protocol.
For example, assuming that a processor of the ACE protocol issues a write request and receives a snoop (snoop) request before receiving a response, the write request needs to be processed first and then the snoop request is processed according to the ACE protocol, while the CHI protocol is the opposite, so that a protocol conversion device is required to process the conflict, and system lock is avoided.
The snoop request converting module receives the snoop request transmitted from the master node of the CHI protocol, records CHI TxnID and ACE ACSNOOP information in the record table of the snoop response converting module, and sends Addr to the transaction management component 13. The transaction management section 13 determines whether or not a write channel transaction of the same address is in progress to decide whether or not to initiate conflict processing.
If there are no write channel transactions with the same address, no conflict results. The monitoring request conversion module converts the monitoring request information into a monitoring request conforming to the ACE protocol and sends the monitoring request to a processor using the ACE protocol. If a write channel transaction of the same address occurs, then a conflict occurs and the sp signal is pulled high.
Taking the example of a conflict between a write response and a snoop request, the following procedure may be performed:
(1) The data generation module generates a snoop response (SNPRESPDATA) with data to send to the master node, but the data is still retained in the data generation module.
(2) After receiving the snoop response and ending the last transaction, the master node starts to process the write channel transaction and sends a write response (CompDBIDResp) to a read-write response conversion module of the protocol conversion device.
(3) The read-write-response-conversion module sends TxnID and DBID information to the transaction management component 13. The data generation module obtains DBID information from the transaction management component 13, uses it as TxnID, generates CHI write data and sends the CHI write data to the master node, and then the transaction management component 13 pulls sp low and the conflict ends.
In the embodiment of the invention, the conflict transaction can be identified through the transaction management component, and the logic related to the conflict transaction processing is arranged in the first conversion component and the second conversion component, so that the conflict transaction can be orderly processed, the system is prevented from being locked, and the running stability of the system is improved.
The first bus protocol and the second bus protocol are both channel transfer based protocols.
In the embodiment of the invention, the first conversion part 11 comprises a first channel group connected with a processor of a first bus protocol, the second conversion part 12 comprises a second channel group connected with the processor of the first bus protocol, the first conversion part 11 comprises a third channel group connected with a main node of the second bus protocol, and the second conversion part 12 comprises a fourth channel group connected with the main node of the second bus protocol;
A first conversion means 11 for receiving the transaction to be processed transmitted by the processor via the first channel group and transmitting the second bus protocol transaction to the master node via the third channel group. A second conversion unit 12, configured to receive the information transmitted by the master node through the fourth channel group, and transmit the first bus protocol transaction to the processor through the second channel group.
The first translation unit 11 may implement the processing of write channel transactions, read channel transactions, and snoop responses. The first channel group may thus comprise a write channel group, a read channel (AR) and a snoop response Channel (CR) and a snoop data Channel (CD).
The write channel group is connected with the write request conversion module and is used for receiving the write channel transaction initiated by the processor and transmitting the write channel transaction to the write request conversion module. The read channel is connected with the read request conversion module and is used for receiving the read channel transaction transmitted by the processor and transmitting the read channel transaction to the read request conversion module. The monitoring response channel and the monitoring data channel are connected with the monitoring response conversion module and are used for receiving the monitoring response transmitted by the processor and transmitting the monitoring response to the monitoring response conversion module.
The write channel group is used to enable processing of write requests and write data, and thus the write channel group may include a write request channel (AW) and a write data channel (W). The monitoring response channel is used for realizing the processing of monitoring data responses and the monitoring data channel is used for realizing the processing of monitoring data responses.
The write request channel is connected with the write request conversion module and is used for receiving the write request transmitted by the processor and transmitting the write request to the write request conversion module. The write data channel is connected with the write request conversion module and is used for receiving write data transmitted by the processor and transmitting the write data to the write request conversion module.
The monitoring response channel is connected with the monitoring response conversion module and is used for receiving the monitoring data-free response transmitted by the processor and transmitting the monitoring data-free response to the monitoring response conversion module. The monitoring data channel is connected with the monitoring response conversion module and is used for receiving the monitoring data response transmitted by the processor and transmitting the monitoring data response to the monitoring response conversion module.
The second channel group is used to implement processing of response information and snoop request information, and thus the second channel group may include a write response channel (B), a read response channel (R), and a snoop request channel (AC).
The write response channel is connected with the read-write response conversion module and is used for receiving the first bus protocol response message transmitted by the read-write response conversion module and transmitting the first bus protocol response message to the processor.
The read response channel is respectively connected with the read-write response conversion module and the data generation module and is used for receiving the first bus protocol read response message carrying the read response last state information transmitted by the read-write response conversion module and transmitting the first bus protocol read response message carrying the read response last state information to the processor, receiving the first bus protocol read data response message carrying the read data response last state information transmitted by the data generation module and transmitting the first bus protocol read data response message carrying the read data response last state information to the processor.
And the monitoring request channel is used for transmitting the first bus protocol monitoring request to the processor.
The third channel group is used to implement communication with the master node conforming to the second bus protocol, and is based on the processing by the first conversion unit 11 to implement a write channel transaction, a read channel transaction, and a snoop response, and thus may include a request channel (REQ), a data channel (DAT), and a response channel (RSP).
The request channel is connected with the request generation module and is used for feeding back the second bus protocol write request and the second bus protocol read request transmitted by the request generation module to the master node.
The data channel is connected with the data generating module and is used for feeding back the second bus protocol writing message and the second bus protocol transaction number transmitted by the data generating module to the main node, and transmitting the second bus protocol monitoring data message carrying monitoring terminal state information to the main node.
The response channel is connected with the response generation module and is used for feeding back a second bus protocol monitoring response message which is transmitted by the response generation module and carries monitoring terminal state information to the master node.
The fourth channel group is used to implement connectivity with the master node conforming to the second bus protocol, and is based on the processing of the second translation unit 12 to implement write responses, read responses, and snoop requests, so the fourth channel group may include a response channel (RSP), a data channel (DAT), and a snoop channel (SNP).
The response channel is connected with the read-write response conversion module and is used for transmitting the write response information and the data-free read response information transmitted by the master node to the read-write response conversion module.
The data channel is connected with the read data response conversion module and is used for transmitting the read data response information transmitted by the master node to the read data response conversion module.
The monitoring channel is connected with the monitoring request conversion module and is used for transmitting the monitoring request transmitted by the master node to the monitoring request conversion module.
Taking ACE protocol and CHI protocol as examples, the ACE protocol has 8 unidirectional transmission channels, namely a write request channel (AW), a read channel (AR), a write data channel (W), a monitor response Channel (CR), a monitor data Channel (CD), a write response channel (B), a read response channel (R) and a monitor request channel (AC). The CHI protocol has four channels in total, consisting of two channels for bidirectional transmission and two channels for unidirectional transmission. The two bidirectional transmission channels are respectively a response channel (RSP) and a data channel (DAT), and the two unidirectional transmission channels are respectively a request channel (REQ) and a listening channel (SNP).
Table 1 below is a table of the correspondence of ACE channels for each CHI channel. In table 1, the read channel, the write request channel, the write data channel, the snoop response channel, and the snoop data channel belong to channels from ACE to CHI. The read response channel, the write response channel and the monitoring request channel belong to the channel in the CHI phase ACE direction.
Table 1 CHI ACE channels corresponding to channels
The channels contained in the first column in table 1 are the four channels contained in the CHI protocol. The channels contained in columns 2 to 4 of table 1 are 8 channels contained in the ACE protocol. The request channel of the CHI protocol corresponds to the read channel and the write request channel of the ACE protocol. The response channel of the CHI protocol corresponds to the read response channel, the write response channel and the snoop response channel of the ACE protocol. The data channel of the CHI protocol corresponds to the read response channel, the write data channel and the snoop data channel of the ACE protocol. The listening channel of the CHI protocol corresponds to the listening request channel of the ACE protocol.
Fig. 2 is a schematic distribution diagram of each module in a protocol conversion device according to an embodiment of the present invention, where the protocol conversion device may be divided into three major parts, namely a first conversion component, a second conversion component, and a transaction management component. The first conversion means includes a first channel group, a write request conversion module, a read request conversion module, a snoop response conversion module, a request generation module, a data generation module, a response generation module, and a third channel group in the order from left to right and from top to bottom of fig. 2. The first channel group comprises a write request channel, a write data channel, a read request channel, a monitor response channel and a monitor data channel. The third channel group includes a request channel, a data channel, and a response channel.
The second conversion component comprises a second channel group, a monitoring request conversion module, a data generation module, a read-write response conversion module, a read data response conversion module and a fourth channel group. The second channel group comprises a write response channel, a read response channel and a snoop request channel. The fourth channel group includes a response channel, a data channel, and a listening channel.
The data generation module included in the first conversion section mainly processes write data (wdata) and snoop data (cdata). The data generation module contained in the second conversion means mainly processes the read data (rdata).
In the embodiment of the invention, the first conversion component can process the information of each channel of the ACE processor to the CHI main node direction. The write request channel, the write data channel, the read request channel, the write request conversion module, the read request conversion module, the request generation module, the data generation module and the request channel and the data channel in the first conversion component are mutually matched, so that the processing of the request transmitted to the CHI master node by the ACE processor can be completed. The listening response channel, the listening data channel, the listening response conversion module, the data generation module, the response generation module, and the cooperation between the data channel and the response channel in the first conversion component can complete the processing of the listening response transmitted by the ACE processor to the CHI master node. The second conversion component can process the information of each channel of the CHI master node to the ACE processor. The response channel, the data channel, the read-write response conversion module, the read data response conversion module, the data generation module and the mutual configuration of the write response channel and the read response channel in the second conversion component can complete the processing of response information transmitted to the ACE processor by the CHI master node. The monitor channel, the monitor request conversion module and the monitor request channel in the second conversion component cooperate with each other to complete the processing of the monitor request information transmitted from the CHI master node to the ACE processor. The transaction management component is used for recording information corresponding to each transaction.
Fig. 3 is a schematic structural diagram of a multi-core processor system according to an embodiment of the present invention, where the multi-core processor system includes two processor cores and a master node, and the two processor cores are a processor core 1 and a processor core 2 respectively. Each processor core has a two-level cache (L2), both processor core interfaces using the ACE protocol. The master node is based on the CHI protocol and is used for maintaining cache consistency of the two processor cores. The ACE protocol and the CHI protocol cannot communicate directly, and each processor core requires a protocol conversion device (ACCARN) to achieve smooth communication with the host node. The protocol conversion device comprises two-direction bridges, wherein an ACE end is connected with an ACE interface of the processor core, and a CHI end is connected with the main node. The protocol conversion device has the functions of sending requests, receiving responses, receiving monitoring and the like besides the function of interface conversion, and ensures the cache consistency of L2.
In the embodiment of the invention, the ACE processor core can be accessed into the multi-core CHI system through the protocol conversion device, and meanwhile, cache consistency is kept, so that richer component selection is provided for the CHI system, and further, higher operation capability can be achieved. The system may further be applied in a non-uniform memory access (Non Uniform Memory Access, NUMA) system to provide higher computational power.
Fig. 4 is a flowchart of a protocol conversion method according to an embodiment of the present invention, which is applicable to the above-mentioned protocol conversion device, and the method includes:
S401, receiving a transaction to be processed transmitted by a processor.
S402, converting the transaction to be processed into a second bus protocol transaction according to the message format of the second bus protocol and the processing mode matched with the transaction type of the transaction to be processed, and transmitting the second bus protocol transaction to the master node.
S403, receiving information transmitted by the master node.
S404, according to the message format of the first bus protocol and the processing mode of the information matching, converting the information into a first bus protocol transaction, and transmitting the first bus protocol transaction to the processor.
The description of the features in the embodiment corresponding to fig. 4 may be referred to the related description of the embodiment corresponding to fig. 1, and will not be repeated here.
According to the technical scheme, the protocol conversion device can receive the transaction to be processed transmitted by the processor. And converting the transaction to be processed into the transaction of the second bus protocol according to the message format of the second bus protocol and the processing mode of matching the transaction type of the transaction to be processed, and transmitting the transaction of the second bus protocol to the master node. And receiving the information transmitted by the master node. According to the message format of the first bus protocol and the processing mode of the information matching, converting the information into a first bus protocol transaction, and transmitting the first bus protocol transaction to a processor. Based on the first bus protocol and the second bus protocol, the conversion between the first bus protocol interface and the second bus protocol interface is designed and realized, and a processor connected with the first bus protocol interface is used as a request node to be accessed into a multi-core processor system based on the second bus protocol. The universality, flexibility and expandability of the second bus protocol lead the application of the second bus protocol in the system on chip to be wider and wider, and the protocol conversion device can enable the processor core of the first bus protocol to be connected into the multi-core processor system based on the second bus protocol, meanwhile, cache consistency is kept, richer component selection is provided for the multi-core processor system of the second bus protocol, and further higher operation capability is achieved.
Fig. 5 is a block diagram of a protocol conversion device according to an embodiment of the present invention, and as shown in fig. 5, the protocol conversion device includes a memory 50 for storing a computer program;
a processor 51 for implementing the steps of the protocol conversion method according to the above embodiment when executing a computer program.
The protocol conversion device provided in this embodiment may include, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, or the like.
Processor 51 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 51 may be implemented in at least one hardware form of Digital Signal Processing (DSP), field-Programmable gate array (fieldprogrammable GATE ARRAY, FPGA), programmable logic array (Programmable Logic Array, PLA). The processor 51 may also include a main processor for processing data in a wake-up state, also referred to as a central processor (Central Processing Unit, CPU), and a coprocessor for processing data in a standby state, which is a low-power processor. In some embodiments, the processor 51 may be integrated with an image processor (Graphics Processing Unit, GPU) for rendering and rendering of content to be displayed by the display screen. In some embodiments, the processor 51 may also include an artificial intelligence (ARTIFICIAL INTELLIGENCE, AI) processor for processing computing operations related to machine learning.
Memory 50 may include one or more computer-readable storage media, which may be non-transitory. Memory 50 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In this embodiment, the memory 50 is at least used for storing a computer program 501, which, when loaded and executed by the processor 51, is capable of implementing the relevant steps of the protocol conversion method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 50 may also include an operating system 502, data 503, and the like, where the storage mode may be transient storage or permanent storage. Operating system 502 may include Windows, unix, linux, among other things. The data 503 may include, but is not limited to, a message format of a first bus protocol, a message format of a second bus protocol, and the like.
In some embodiments, the protocol conversion device may further include a display screen 52, an input/output interface 53, a communication interface 54, a power supply 55, and a communication bus 56.
Those skilled in the art will appreciate that the structure shown in fig. 5 does not constitute a limitation of the protocol conversion apparatus and may include more or less components than those illustrated.
It will be appreciated that the protocol conversion method of the above embodiments may be stored in a computer readable storage medium if implemented in the form of software functional units and sold or used as a stand alone product. Based on this understanding, the technical solution of the present invention may be embodied essentially or in part or in whole or in part in the form of a software product stored in a storage medium for performing all or part of the steps of the method according to the embodiments of the present invention. The storage medium includes a U disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), an electrically erasable programmable ROM, a register, a hard disk, a removable magnetic disk, a CD-ROM, a magnetic disk, or an optical disk, etc. which can store program codes.
Based on this, the embodiment of the invention further provides a computer readable storage medium, on which a computer program is stored, which when executed by a processor implements the steps of the protocol conversion method as described above.
The embodiments of the present invention also provide a computer program product comprising a computer program/instruction which, when executed by a processor, implements the steps of the protocol conversion method described above.
The protocol conversion device, the protocol conversion method, the protocol conversion equipment, the protocol conversion medium and the protocol conversion product provided by the embodiment of the invention are described in detail. In the description, each embodiment is described in a progressive manner, and each embodiment is mainly described by the differences from other embodiments, so that the same similar parts among the embodiments are mutually referred. 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 points refer to the description of the method section.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative elements and steps are described above generally in terms of functionality in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The protocol conversion device, the protocol conversion method, the protocol conversion equipment, the protocol conversion medium and the protocol conversion product provided by the invention are described in detail. The principles and embodiments of the present invention have been described herein with reference to specific examples, the description of which is intended only to facilitate an understanding of the method of the present invention and its core ideas. It should be noted that it will be apparent to those skilled in the art that the present invention may be modified and practiced without departing from the spirit of the present invention.

Claims (23)

1.一种协议转换装置,其特征在于,包括第一转换部件、第二转换部件、以及分别与所述第一转换部件和所述第二转换部件连接的交易管理部件;所述第一转换部件的输入端与第一总线协议的处理器连接,所述第一转换部件的输出端与第二总线协议的主节点连接;所述第二转换部件的输出端与所述第一总线协议的处理器连接,所述第二转换部件的输入端与所述第二总线协议的主节点连接;所述交易管理部件用于记录所述第一转换部件以及所述第二转换部件处理事务时对应的事务信息;1. A protocol conversion device, characterized in that it comprises a first conversion component, a second conversion component, and a transaction management component respectively connected to the first conversion component and the second conversion component; the input end of the first conversion component is connected to a processor of a first bus protocol, and the output end of the first conversion component is connected to a master node of a second bus protocol; the output end of the second conversion component is connected to the processor of the first bus protocol, and the input end of the second conversion component is connected to the master node of the second bus protocol; the transaction management component is used to record the transaction information corresponding to the first conversion component and the second conversion component when processing transactions; 所述第一转换部件,用于接收所述处理器传输的待处理事务;根据所述第二总线协议的报文格式以及所述待处理事务所属事务类型相匹配的处理方式,将所述待处理事务转换为第二总线协议事务,并将所述第二总线协议事务传输至所述主节点;The first conversion component is used to receive the pending transaction transmitted by the processor; convert the pending transaction into a second bus protocol transaction according to the message format of the second bus protocol and the processing method matching the transaction type to which the pending transaction belongs, and transmit the second bus protocol transaction to the master node; 所述第二转换部件,用于接收所述主节点传输的信息;根据所述第一总线协议的报文格式以及所述信息相匹配的处理方式,将所述信息转换为第一总线协议事务,并将所述第一总线协议事务传输至所述处理器;The second conversion component is used to receive information transmitted by the master node; convert the information into a first bus protocol transaction according to the message format of the first bus protocol and a processing method matching the information, and transmit the first bus protocol transaction to the processor; 在所述待处理事务包括监听响应的情况下,所述第一转换部件,用于根据所述第二总线协议的报文格式,将所述待处理事务中携带的信息以及自身记录表中记录的事务标识信息转换为第二总线协议监听响应报文,将携带有监听末态信息的第二总线协议监听响应报文传输至所述主节点,以便于所述主节点基于所述监听末态信息实现与所述处理器的缓存一致性;监听末态信息指的是处理器完成监听请求后的状态信息。In the case where the pending transaction includes a snoop response, the first conversion component is used to convert the information carried in the pending transaction and the transaction identification information recorded in its own record table into a second bus protocol snoop response message according to the message format of the second bus protocol, and transmit the second bus protocol snoop response message carrying the snoop final state information to the master node, so that the master node can achieve cache consistency with the processor based on the snoop final state information; the snoop final state information refers to the state information after the processor completes the snoop request. 2.根据权利要求1所述的协议转换装置,其特征在于,在所述待处理事务包括写通道事务和读通道事务的情况下,所述第一转换部件,用于向所述交易管理部件传输所述待处理事务的第一总线协议标识信息,以便于所述交易管理部件记录所述第一总线协议标识信息;根据所述第二总线协议的报文格式,将所述待处理事务转换为第二总线协议请求报文,将所述第二总线协议请求报文传输至所述主节点。2. The protocol conversion device according to claim 1 is characterized in that, when the pending transaction includes a write channel transaction and a read channel transaction, the first conversion component is used to transmit the first bus protocol identification information of the pending transaction to the transaction management component, so that the transaction management component can record the first bus protocol identification information; according to the message format of the second bus protocol, the pending transaction is converted into a second bus protocol request message, and the second bus protocol request message is transmitted to the master node. 3.根据权利要求2所述的协议转换装置,其特征在于,在所述信息属于响应信息的情况下,所述第二转换部件,用于将所述响应信息对应的第二总线协议标识信息传输至所述交易管理部件,并从所述交易管理部件中获取相匹配的第一总线协议标识信息;根据所述第一总线协议的报文格式,将所述响应信息以及所述第一总线协议标识信息转换为第一总线协议响应报文,将携带有响应末态信息的第一总线协议响应报文传输至所述处理器,以便于所述处理器基于所述响应末态信息实现与所述主节点的缓存一致性;响应末态信息指的是主节点在接收到处理器传输的请求后向处理器反馈响应信息后的状态信息。3. The protocol conversion device according to claim 2 is characterized in that, when the information belongs to response information, the second conversion component is used to transmit the second bus protocol identification information corresponding to the response information to the transaction management component, and obtain the matching first bus protocol identification information from the transaction management component; according to the message format of the first bus protocol, the response information and the first bus protocol identification information are converted into a first bus protocol response message, and the first bus protocol response message carrying the response final state information is transmitted to the processor, so that the processor can achieve cache consistency with the master node based on the response final state information; the response final state information refers to the state information after the master node feeds back the response information to the processor after receiving the request transmitted by the processor. 4.根据权利要求3所述的协议转换装置,其特征在于,在所述信息属于监听请求信息的情况下,所述第二转换部件,用于将所述监听请求信息对应的事务标识信息传输至所述第一转换部件,以便于所述第一转换部件将所述事务标识信息记录在自身记录表中;根据所述第一总线协议的报文格式,将所述监听请求信息转换为第一总线协议监听请求,并将所述第一总线协议监听请求传输至所述处理器。4. The protocol conversion device according to claim 3 is characterized in that, when the information belongs to monitoring request information, the second conversion component is used to transmit the transaction identification information corresponding to the monitoring request information to the first conversion component, so that the first conversion component records the transaction identification information in its own record table; according to the message format of the first bus protocol, the monitoring request information is converted into a first bus protocol monitoring request, and the first bus protocol monitoring request is transmitted to the processor. 5.根据权利要求4所述的协议转换装置,其特征在于,所述写通道事务包括写数据事务和写通道无数据事务;5. The protocol conversion device according to claim 4, characterized in that the write channel transaction includes a write data transaction and a write channel no data transaction; 所述第一转换部件,用于接收所述处理器传输的写请求,将所述写请求携带的写地址、写通道事务编号和写通道事务类型传输至所述交易管理部件,以便于所述交易管理部件记录所述写请求对应的写地址、写通道事务编号和写通道事务类型,并将状态信息拉高;根据所述第二总线协议的报文格式,将所述写请求携带的写地址、写通道事务编号和写通道事务类型转换为第二总线协议写请求,将所述第二总线协议写请求传输至所述主节点;The first conversion component is used to receive a write request transmitted by the processor, and transmit the write address, write channel transaction number and write channel transaction type carried by the write request to the transaction management component, so that the transaction management component records the write address, write channel transaction number and write channel transaction type corresponding to the write request, and pulls up the status information; according to the message format of the second bus protocol, the write address, write channel transaction number and write channel transaction type carried by the write request are converted into a second bus protocol write request, and the second bus protocol write request is transmitted to the master node; 所述第一转换部件还用于接收所述处理器传输的写数据,根据所述第二总线协议的报文格式,将所述写数据转换为第二总线协议写报文;接收所述交易管理部件传输的数据包标识信息,将所述数据包标识信息作为第二总线协议事务编号,并将所述第二总线协议写报文以及所述第二总线协议事务编号传输至所述主节点;其中,所述数据包标识信息为所述交易管理部件基于所述第二总线协议写请求生成的标识信息。The first conversion component is also used to receive write data transmitted by the processor, and convert the write data into a second bus protocol write message according to the message format of the second bus protocol; receive data packet identification information transmitted by the transaction management component, use the data packet identification information as the second bus protocol transaction number, and transmit the second bus protocol write message and the second bus protocol transaction number to the master node; wherein the data packet identification information is identification information generated by the transaction management component based on the second bus protocol write request. 6.根据权利要求5所述的协议转换装置,其特征在于,所述读通道事务包括读数据事务和读通道无数据事务;6. The protocol conversion device according to claim 5, characterized in that the read channel transaction includes a read data transaction and a read channel no data transaction; 所述第一转换部件,用于接收所述处理器传输的读通道事务,将所述读通道事务携带的读地址、读通道事务编号和读通道事务类型传输至所述交易管理部件,以便于所述交易管理部件记录所述读通道事务对应的读地址、读通道事务编号和读通道事务类型,并将状态信息拉高;根据所述第二总线协议的报文格式,将所述读通道事务携带的读地址、读通道事务编号和读通道事务类型转换为第二总线协议读请求,将所述第二总线协议读请求传输至所述主节点。The first conversion component is used to receive the read channel transaction transmitted by the processor, and transmit the read address, read channel transaction number and read channel transaction type carried by the read channel transaction to the transaction management component, so that the transaction management component can record the read address, read channel transaction number and read channel transaction type corresponding to the read channel transaction, and pull up the status information; according to the message format of the second bus protocol, the read address, read channel transaction number and read channel transaction type carried by the read channel transaction are converted into a second bus protocol read request, and the second bus protocol read request is transmitted to the master node. 7.根据权利要求6所述的协议转换装置,其特征在于,所述第一转换部件包括写请求转换模块、读请求转换模块、请求生成模块和数据生成模块;7. The protocol conversion device according to claim 6, characterized in that the first conversion component comprises a write request conversion module, a read request conversion module, a request generation module and a data generation module; 所述写请求转换模块分别与所述请求生成模块和数据生成模块连接,用于将所述写请求携带的写地址、写通道事务编号和写通道事务类型传输至所述请求生成模块;将所述写数据传输至所述数据生成模块;The write request conversion module is connected to the request generation module and the data generation module respectively, and is used to transmit the write address, write channel transaction number and write channel transaction type carried by the write request to the request generation module; and transmit the write data to the data generation module; 所述请求生成模块,用于根据所述第二总线协议的报文格式,将接收到的写地址、写通道事务编号和写通道事务类型转换为第二总线协议写请求,将所述第二总线协议写请求传输至所述主节点;The request generating module is used to convert the received write address, write channel transaction number and write channel transaction type into a second bus protocol write request according to the message format of the second bus protocol, and transmit the second bus protocol write request to the master node; 所述数据生成模块,用于接收所述写请求转换模块传输的所述写数据,根据所述第二总线协议的报文格式,将所述写数据转换为第二总线协议写报文;接收所述交易管理部件传输的数据包标识信息,将所述数据包标识信息作为第二总线协议事务编号,并将所述第二总线协议写报文以及所述第二总线协议事务编号传输至所述主节点;The data generation module is configured to receive the write data transmitted by the write request conversion module, convert the write data into a second bus protocol write message according to the message format of the second bus protocol; receive the data packet identification information transmitted by the transaction management component, use the data packet identification information as the second bus protocol transaction number, and transmit the second bus protocol write message and the second bus protocol transaction number to the master node; 所述读请求转换模块与所述请求生成模块连接,用于将所述读通道事务携带的读地址、读通道事务编号和读通道事务类型传输至所述请求生成模块;The read request conversion module is connected to the request generation module and is used to transmit the read address, read channel transaction number and read channel transaction type carried by the read channel transaction to the request generation module; 所述请求生成模块还用于根据所述第二总线协议的报文格式,将接收到的读地址、读通道事务编号和读通道事务类型转换为第二总线协议读请求,将所述第二总线协议读请求传输至所述主节点。The request generation module is also used to convert the received read address, read channel transaction number and read channel transaction type into a second bus protocol read request according to the message format of the second bus protocol, and transmit the second bus protocol read request to the master node. 8.根据权利要求7所述的协议转换装置,其特征在于,所述监听响应包括监听无数据响应和监听数据响应;8. The protocol conversion device according to claim 7, characterized in that the monitoring response includes monitoring no data response and monitoring data response; 所述第一转换部件,用于向信息记录表中记录事务标识信息;接收所述处理器传输的监听无数据响应和监听数据响应;将所述监听无数据响应、所述监听数据响应以及所述事务标识信息转换为第二总线协议监听报文,将携带有监听末态信息的第二总线协议监听报文传输至所述主节点,并清除所述信息记录表。The first conversion component is used to record transaction identification information in an information recording table; receive a monitoring no data response and a monitoring data response transmitted by the processor; convert the monitoring no data response, the monitoring data response and the transaction identification information into a second bus protocol monitoring message, transmit the second bus protocol monitoring message carrying the monitoring final state information to the master node, and clear the information recording table. 9.根据权利要求8所述的协议转换装置,其特征在于,所述第一转换部件还包括监听响应转换模块和响应生成模块;9. The protocol conversion device according to claim 8, characterized in that the first conversion component further comprises a monitoring response conversion module and a response generation module; 所述监听响应转换模块分别与所述数据生成模块和所述响应生成模块连接,用于接收监听请求转换模块传输的事务标识信息;接收所述处理器传输的监听无数据响应和监听数据响应;在所述监听数据响应不为空的情况下,将所述监听无数据响应、所述监听数据响应以及所述事务标识信息传输至所述数据生成模块;在所述监听数据响应为空的情况下,将所述监听无数据响应以及所述事务标识信息传输至所述响应生成模块,The monitoring response conversion module is connected to the data generation module and the response generation module respectively, and is used to receive the transaction identification information transmitted by the monitoring request conversion module; receive the monitoring no data response and the monitoring data response transmitted by the processor; if the monitoring data response is not empty, transmit the monitoring no data response, the monitoring data response and the transaction identification information to the data generation module; if the monitoring data response is empty, transmit the monitoring no data response and the transaction identification information to the response generation module, 所述数据生成模块,用于将所述监听无数据响应、所述监听数据响应以及所述事务标识信息转换为第二总线协议监听数据报文,将携带有监听末态信息的第二总线协议监听数据报文传输至所述主节点,并清除所述信息记录表;The data generation module is used to convert the monitoring no data response, the monitoring data response and the transaction identification information into a second bus protocol monitoring data message, transmit the second bus protocol monitoring data message carrying the monitoring final state information to the master node, and clear the information recording table; 所述响应生成模块,用于将所述监听无数据响应以及所述事务标识信息转换为第二总线协议监听响应报文,将携带有监听末态信息的第二总线协议监听响应报文传输至所述主节点,并清除所述信息记录表。The response generation module is used to convert the monitoring no data response and the transaction identification information into a second bus protocol monitoring response message, transmit the second bus protocol monitoring response message carrying the monitoring final state information to the master node, and clear the information recording table. 10.根据权利要求9所述的协议转换装置,其特征在于,所述响应信息包括写响应信息和读响应信息;10. The protocol conversion device according to claim 9, characterized in that the response information includes write response information and read response information; 所述第二转换部件,用于接收所述主节点传输的写响应信息,将所述写响应信息对应的第二总线协议写标识信息传输至所述交易管理部件,并从所述交易管理部件中获取写请求对应的第一总线协议写标识信息;根据所述第一总线协议的报文格式,将所述写响应信息以及所述第一总线协议写标识信息转换为第一总线协议写响应报文,将第一总线协议写响应报文传输至所述处理器;The second conversion component is used to receive the write response information transmitted by the master node, transmit the second bus protocol write identification information corresponding to the write response information to the transaction management component, and obtain the first bus protocol write identification information corresponding to the write request from the transaction management component; according to the message format of the first bus protocol, convert the write response information and the first bus protocol write identification information into a first bus protocol write response message, and transmit the first bus protocol write response message to the processor; 所述第二转换部件还用于接收所述主节点传输的读响应信息,将所述读响应信息对应的第二总线协议读标识信息传输至所述交易管理部件,并从所述交易管理部件中获取读请求对应的第一总线协议读标识信息;根据所述第一总线协议的报文格式,将所述读响应信息以及所述第一总线协议读标识信息转换为第一总线协议读响应报文,将携带有读响应末态信息的第一总线协议读响应报文传输至所述处理器。The second conversion component is also used to receive the read response information transmitted by the master node, transmit the second bus protocol read identification information corresponding to the read response information to the transaction management component, and obtain the first bus protocol read identification information corresponding to the read request from the transaction management component; according to the message format of the first bus protocol, convert the read response information and the first bus protocol read identification information into a first bus protocol read response message, and transmit the first bus protocol read response message carrying the read response final state information to the processor. 11.根据权利要求10所述的协议转换装置,其特征在于,所述读响应信息包括无数据读响应信息和读数据响应信息;所述第二转换部件包括读写响应转换模块、读数据响应转换模块和数据生成模块;11. The protocol conversion device according to claim 10, characterized in that the read response information includes no-data read response information and read data response information; the second conversion component includes a read-write response conversion module, a read data response conversion module and a data generation module; 所述读写响应转换模块,用于处理所述写响应信息和所述无数据读响应信息;The read-write response conversion module is used to process the write response information and the no-data read response information; 所述读数据响应转换模块,用于接收所述主节点传输的读数据响应信息;将所述读数据响应信息对应的第二总线协议事务编号和第二总线协议数据标识信息传输至所述交易管理部件;将所述读数据响应信息传输至所述数据生成模块;The read data response conversion module is used to receive the read data response information transmitted by the master node; transmit the second bus protocol transaction number and the second bus protocol data identification information corresponding to the read data response information to the transaction management component; transmit the read data response information to the data generation module; 所述数据生成模块,用于接收所述读数据响应转换模块传输的所述读数据响应信息,从所述交易管理部件中获取匹配的第一总线协议事务编号和第一总线协议事务类型;根据所述第一总线协议的报文格式,将所述读数据响应信息、所述第一总线协议事务编号以及所述第一总线协议事务类型转换为第一总线协议读数据响应报文,将携带有读数据响应末态信息的第一总线协议读数据响应报文传输至所述处理器。The data generation module is used to receive the read data response information transmitted by the read data response conversion module, obtain the matching first bus protocol transaction number and first bus protocol transaction type from the transaction management component; convert the read data response information, the first bus protocol transaction number and the first bus protocol transaction type into a first bus protocol read data response message according to the message format of the first bus protocol, and transmit the first bus protocol read data response message carrying the read data response final state information to the processor. 12.根据权利要求11所述的协议转换装置,其特征在于,所述第二转换部件还包括监听请求转换模块;12. The protocol conversion device according to claim 11, characterized in that the second conversion component further comprises a monitoring request conversion module; 所述监听请求转换模块,用于接收所述主节点传输的监听请求;将所述监听请求对应的第二总线协议事务编号和第一总线协议事务类型记录在所述监听响应转换模块的记录表中;将所述监听请求对应的地址传输至所述交易管理部件,以便于所述交易管理部件根据接收到的各地址判断是否启动冲突处理;The monitoring request conversion module is used to receive the monitoring request transmitted by the master node; record the second bus protocol transaction number and the first bus protocol transaction type corresponding to the monitoring request in the record table of the monitoring response conversion module; transmit the address corresponding to the monitoring request to the transaction management component, so that the transaction management component determines whether to start conflict processing according to each received address; 所述监听请求转换模块还用于在未启动冲突处理的情况下,根据所述第一总线协议的报文格式,将所述监听请求转换为第一总线协议监听请求,并将所述第一总线协议监听请求传输至所述处理器;在启动冲突处理的情况下,按照所启动的冲突处理所匹配的处理流程对所述监听请求进行处理。The monitoring request conversion module is also used to convert the monitoring request into a first bus protocol monitoring request according to the message format of the first bus protocol when conflict handling is not started, and transmit the first bus protocol monitoring request to the processor; when conflict handling is started, the monitoring request is processed according to the processing flow matched by the started conflict handling. 13.根据权利要求12所述的协议转换装置,其特征在于,所述第一转换部件包括与第一总线协议的处理器连接的第一通道组;所述第二转换部件包括与所述第一总线协议的处理器连接的第二通道组;所述第一转换部件包括与第二总线协议的主节点连接的第三通道组;所述第二转换部件包括与所述第二总线协议的主节点连接的第四通道组;13. The protocol conversion device according to claim 12, characterized in that the first conversion component includes a first channel group connected to a processor of a first bus protocol; the second conversion component includes a second channel group connected to the processor of the first bus protocol; the first conversion component includes a third channel group connected to a master node of a second bus protocol; the second conversion component includes a fourth channel group connected to a master node of the second bus protocol; 所述第一转换部件,用于通过所述第一通道组接收所述处理器传输的待处理事务;将所述第二总线协议事务通过所述第三通道组传输至所述主节点;The first conversion component is used to receive the pending transaction transmitted by the processor through the first channel group; and transmit the second bus protocol transaction to the master node through the third channel group; 所述第二转换部件,用于通过所述第四通道组接收所述主节点传输的信息;将所述第一总线协议事务通过所述第二通道组传输至所述处理器。The second conversion component is used to receive the information transmitted by the master node through the fourth channel group; and transmit the first bus protocol transaction to the processor through the second channel group. 14.根据权利要求13所述的协议转换装置,其特征在于,所述第一通道组包括写通道组、读通道和监听响应通道和监听数据通道;14. The protocol conversion device according to claim 13, characterized in that the first channel group includes a write channel group, a read channel, a monitoring response channel and a monitoring data channel; 所述写通道组与所述写请求转换模块连接,用于接收所述处理器发起的写通道事务;将所述写通道事务传输至所述写请求转换模块;The write channel group is connected to the write request conversion module and is used to receive the write channel transaction initiated by the processor; and transmit the write channel transaction to the write request conversion module; 所述读通道与所述读请求转换模块连接,用于接收所述处理器传输的读通道事务,将所述读通道事务传输至所述读请求转换模块;The read channel is connected to the read request conversion module, and is used to receive the read channel transaction transmitted by the processor, and transmit the read channel transaction to the read request conversion module; 所述监听响应通道和监听数据通道与所述监听响应转换模块连接,用于接收所述处理器传输的监听响应,将所述监听响应传输至所述监听响应转换模块。The monitoring response channel and the monitoring data channel are connected to the monitoring response conversion module, and are used to receive the monitoring response transmitted by the processor, and transmit the monitoring response to the monitoring response conversion module. 15.根据权利要求14所述的协议转换装置,其特征在于,所述写通道组包括写请求通道和写数据通道;15. The protocol conversion device according to claim 14, characterized in that the write channel group includes a write request channel and a write data channel; 所述写请求通道,用于接收所述处理器传输的写请求,将所述写请求传输至所述写请求转换模块;The write request channel is used to receive the write request transmitted by the processor and transmit the write request to the write request conversion module; 所述写数据通道,用于接收所述处理器传输的写数据,将所述写数据传输至所述写请求转换模块;The write data channel is used to receive the write data transmitted by the processor and transmit the write data to the write request conversion module; 所述监听响应通道,用于接收所述处理器传输的监听无数据响应,将所述监听无数据响应传输至所述监听响应转换模块;The monitoring response channel is used to receive the monitoring no data response transmitted by the processor, and transmit the monitoring no data response to the monitoring response conversion module; 所述监听数据通道,用于接收所述处理器传输的监听数据响应,将所述监听数据响应传输至所述监听响应转换模块。The monitoring data channel is used to receive the monitoring data response transmitted by the processor, and transmit the monitoring data response to the monitoring response conversion module. 16.根据权利要求15所述的协议转换装置,其特征在于,所述第二通道组包括写响应通道、读响应通道和监听请求通道;16. The protocol conversion device according to claim 15, characterized in that the second channel group includes a write response channel, a read response channel and a listen request channel; 所述写响应通道与所述读写响应转换模块连接,用于接收所述读写响应转换模块传输的第一总线协议响应报文,将所述第一总线协议响应报文传输至所述处理器;The write response channel is connected to the read-write response conversion module, and is used to receive the first bus protocol response message transmitted by the read-write response conversion module, and transmit the first bus protocol response message to the processor; 所述读响应通道分别与所述读写响应转换模块以及所述数据生成模块连接,用于接收所述读写响应转换模块传输的携带有读响应末态信息的第一总线协议读响应报文,并将携带有读响应末态信息的第一总线协议读响应报文传输至所述处理器;接收所述数据生成模块传输的携带有读数据响应末态信息的第一总线协议读数据响应报文,并将携带有读数据响应末态信息的第一总线协议读数据响应报文传输至所述处理器;The read response channel is connected to the read-write response conversion module and the data generation module respectively, and is used to receive the first bus protocol read response message carrying the read response final state information transmitted by the read-write response conversion module, and transmit the first bus protocol read response message carrying the read response final state information to the processor; receive the first bus protocol read data response message carrying the read data response final state information transmitted by the data generation module, and transmit the first bus protocol read data response message carrying the read data response final state information to the processor; 所述监听请求通道,用于向所述处理器传输第一总线协议监听请求。The monitoring request channel is used to transmit a first bus protocol monitoring request to the processor. 17.根据权利要求16所述的协议转换装置,其特征在于,所述第三通道组包括请求通道、数据通道和响应通道;17. The protocol conversion device according to claim 16, characterized in that the third channel group includes a request channel, a data channel and a response channel; 所述请求通道与所述请求生成模块连接,用于将所述请求生成模块传输的第二总线协议写请求和第二总线协议读请求反馈至所述主节点;The request channel is connected to the request generation module and is used to feed back the second bus protocol write request and the second bus protocol read request transmitted by the request generation module to the master node; 所述数据通道与所述数据生成模块连接,用于将所述数据生成模块传输的所述第二总线协议写报文以及所述第二总线协议事务编号反馈至所述主节点;将携带有监听末态信息的第二总线协议监听数据报文传输至所述主节点;The data channel is connected to the data generation module, and is used to feed back the second bus protocol write message and the second bus protocol transaction number transmitted by the data generation module to the master node; and transmit the second bus protocol monitoring data message carrying the monitoring final state information to the master node; 所述响应通道与所述响应生成模块连接,用于将所述响应生成模块传输的携带有监听末态信息的第二总线协议监听响应报文反馈至所述主节点。The response channel is connected to the response generation module, and is used to feed back the second bus protocol monitoring response message carrying the monitoring final state information transmitted by the response generation module to the master node. 18.根据权利要求17所述的协议转换装置,其特征在于,所述第四通道组包括响应通道、数据通道和监听通道;18. The protocol conversion device according to claim 17, characterized in that the fourth channel group includes a response channel, a data channel and a monitoring channel; 所述响应通道与所述读写响应转换模块连接,用于将所述主节点传输的写响应信息和无数据读响应信息传输至所述读写响应转换模块;The response channel is connected to the read-write response conversion module, and is used to transmit the write response information and the data-free read response information transmitted by the master node to the read-write response conversion module; 所述数据通道与所述读数据响应转换模块连接,用于将所述主节点传输的读数据响应信息传输至所述读数据响应转换模块;The data channel is connected to the read data response conversion module, and is used to transmit the read data response information transmitted by the master node to the read data response conversion module; 所述监听通道与所述监听请求转换模块连接,用于将所述主节点传输的监听请求传输至所述监听请求转换模块。The monitoring channel is connected to the monitoring request conversion module and is used to transmit the monitoring request transmitted by the master node to the monitoring request conversion module. 19.根据权利要求1所述的协议转换装置,其特征在于,所述第一总线协议为AXI一致性扩展协议;所述第二总线协议为一致性集线器接口协议。19. The protocol conversion device according to claim 1 is characterized in that the first bus protocol is an AXI consistency extension protocol; and the second bus protocol is a consistency hub interface protocol. 20.一种协议转换方法,其特征在于,适用于权利要求1至19任意一项所述的协议转换装置,所述方法包括:20. A protocol conversion method, characterized in that it is applicable to the protocol conversion device according to any one of claims 1 to 19, and the method comprises: 接收处理器传输的待处理事务;receiving pending transactions transmitted by a processor; 根据第二总线协议的报文格式以及所述待处理事务所属事务类型相匹配的处理方式,将所述待处理事务转换为第二总线协议事务,并将所述第二总线协议事务传输至主节点;According to the message format of the second bus protocol and the processing mode matching the transaction type to which the transaction to be processed belongs, converting the transaction to be processed into a second bus protocol transaction, and transmitting the second bus protocol transaction to the master node; 接收所述主节点传输的信息;Receiving information transmitted by the master node; 根据第一总线协议的报文格式以及所述信息相匹配的处理方式,将所述信息转换为第一总线协议事务,并将所述第一总线协议事务传输至所述处理器;According to the message format of the first bus protocol and the processing method matching the information, converting the information into a first bus protocol transaction, and transmitting the first bus protocol transaction to the processor; 在待处理事务包括监听响应的情况下,根据第二总线协议的报文格式,将待处理事务中携带的信息以及自身记录表中记录的事务标识信息转换为第二总线协议监听报文,将携带有监听末态信息的第二总线协议监听报文传输至主节点,以便于主节点基于监听末态信息实现与处理器的缓存一致性;监听末态信息指的是处理器完成监听请求后的状态信息。In the case where the pending transaction includes a monitoring response, the information carried in the pending transaction and the transaction identification information recorded in its own record table are converted into a second bus protocol monitoring message according to the message format of the second bus protocol, and the second bus protocol monitoring message carrying the monitoring final state information is transmitted to the master node, so that the master node can achieve cache consistency with the processor based on the monitoring final state information; the monitoring final state information refers to the state information after the processor completes the monitoring request. 21.一种协议转换设备,其特征在于,包括:21. A protocol conversion device, comprising: 存储器,用于存储计算机程序;Memory for storing computer programs; 处理器,用于执行所述计算机程序以实现如权利要求20所述协议转换方法的步骤。A processor is used to execute the computer program to implement the steps of the protocol conversion method as claimed in claim 20. 22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求20所述协议转换方法的步骤。22. A computer-readable storage medium, characterized in that a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the protocol conversion method according to claim 20 are implemented. 23.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求20所述协议转换方法的步骤。23. A computer program product, comprising a computer program/instruction, characterized in that when the computer program/instruction is executed by a processor, the steps of the protocol conversion method according to claim 20 are implemented.
CN202411312095.0A 2024-09-20 2024-09-20 A protocol conversion device, method, equipment, medium and product Active CN118827819B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411312095.0A CN118827819B (en) 2024-09-20 2024-09-20 A protocol conversion device, method, equipment, medium and product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411312095.0A CN118827819B (en) 2024-09-20 2024-09-20 A protocol conversion device, method, equipment, medium and product

Publications (2)

Publication Number Publication Date
CN118827819A CN118827819A (en) 2024-10-22
CN118827819B true CN118827819B (en) 2025-02-07

Family

ID=93075224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411312095.0A Active CN118827819B (en) 2024-09-20 2024-09-20 A protocol conversion device, method, equipment, medium and product

Country Status (1)

Country Link
CN (1) CN118827819B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120104551B (en) * 2025-02-20 2025-11-11 安谋科技(中国)有限公司 Read/write request processing methods, protocol conversion devices, electronic devices, and storage media
CN120994596A (en) * 2025-10-23 2025-11-21 中科亿海微电子科技(苏州)有限公司 AXI master device and CHI request node read transfer bridging device and method
CN121187989A (en) * 2025-11-26 2025-12-23 苏州元脑智能科技有限公司 Interface conversion device, circuit, electronic device, and interface conversion method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111064804A (en) * 2019-12-30 2020-04-24 杭州迪普科技股份有限公司 Network access method and device
CN111611187A (en) * 2020-06-28 2020-09-01 中国人民解放军国防科技大学 A universal protocol conversion bridge and SoC for CHI bus

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591348B1 (en) * 1999-09-09 2003-07-08 International Business Machines Corporation Method and system for resolution of transaction collisions to achieve global coherence in a distributed symmetric multiprocessor system
US8498871B2 (en) * 2001-11-27 2013-07-30 Advanced Voice Recognition Systems, Inc. Dynamic speech recognition and transcription among users having heterogeneous protocols
CN103150264B (en) * 2013-01-18 2014-09-17 浪潮电子信息产业股份有限公司 Extension Cache Coherence protocol-based multi-level consistency simulation domain verification and test method
CN105814547B (en) * 2013-10-27 2019-12-03 超威半导体公司 I/O Memory Mapped Unit and Northbridge
CN105095254B (en) * 2014-05-07 2023-01-10 深圳市中兴微电子技术有限公司 A method and device for realizing data consistency
CN104699654B (en) * 2015-03-02 2017-10-03 福州瑞芯微电子股份有限公司 One kind is based on interconnection interconnection adaption system and method between CHI on-chip interconnection buss and QPI pieces
US10489323B2 (en) * 2016-12-20 2019-11-26 Arm Limited Data processing system for a home node to authorize a master to bypass the home node to directly send data to a slave
US10795820B2 (en) * 2017-02-08 2020-10-06 Arm Limited Read transaction tracker lifetimes in a coherent interconnect system
US12136934B2 (en) * 2017-10-30 2024-11-05 AtomBeam Technologies Inc. Event-driven data transmission using codebooks with protocol adaption
GB2576493B (en) * 2018-07-23 2022-01-05 Advanced Risc Mach Ltd Data Processing
US10877836B2 (en) * 2018-08-29 2020-12-29 Arm Limited Method and apparatus for coherent interconnect recovery with protocol layer re-transmission
US10698825B1 (en) * 2019-03-12 2020-06-30 Arm Limited Inter-chip communication in a multi-chip system
US11537543B2 (en) * 2021-03-02 2022-12-27 Arm Limited Technique for handling protocol conversion
US11934334B2 (en) * 2021-04-29 2024-03-19 Arm Limited CCIX port management for PCI express traffic
US11507515B1 (en) * 2021-06-29 2022-11-22 Arm Limited Memory management unit with address translation cache
CN114153775B (en) * 2021-12-10 2024-02-09 中国兵器工业集团第二一四研究所苏州研发中心 FlexRay controller based on AXI bus
CN116016715B (en) * 2022-11-30 2026-01-09 东风汽车有限公司东风日产乘用车公司 External device gateways, vehicles, mobile terminal control methods, equipment and media
CN116775509B (en) * 2023-05-31 2024-03-22 合芯科技有限公司 A cache consistency verification method, device, equipment and storage medium
CN117851285A (en) * 2023-11-22 2024-04-09 合芯科技(苏州)有限公司 Full consistency request node, distributed virtual memory operation processing system and method
CN117806553A (en) * 2023-12-28 2024-04-02 浪潮(北京)电子信息产业有限公司 A multi-source heterogeneous distributed system, memory access method and storage medium
CN118568049B (en) * 2024-06-07 2025-01-17 北京开源芯片研究院 Non-consistency master node, on-chip interconnection network, data processing method and device
CN118656342B (en) * 2024-06-07 2025-03-11 北京开源芯片研究院 Cache method, device, electronic device and readable storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111064804A (en) * 2019-12-30 2020-04-24 杭州迪普科技股份有限公司 Network access method and device
CN111611187A (en) * 2020-06-28 2020-09-01 中国人民解放军国防科技大学 A universal protocol conversion bridge and SoC for CHI bus

Also Published As

Publication number Publication date
CN118827819A (en) 2024-10-22

Similar Documents

Publication Publication Date Title
CN118827819B (en) A protocol conversion device, method, equipment, medium and product
CN110647480B (en) Data processing methods, remote direct access network cards and equipment
CN101097545B (en) Exclusive ownership snoop filter
CN101794271B (en) Implementation method and device of consistency of multi-core internal memory
TW457437B (en) Interconnected processing nodes configurable as at least one non-uniform memory access (NUMA) data processing system
CN105095254B (en) A method and device for realizing data consistency
US20060080398A1 (en) Direct access of cache lock set data without backing memory
CN119254847B (en) A method, apparatus, device, and storage medium for protocol conversion of transactions.
TW460797B (en) Block snooping support for multiple processor systems
CN115048226B (en) Virtual control system and method of multi-core heterogeneous processor
CN118113631B (en) A data processing system, method, device, medium and computer program product
CN111651384A (en) Register reading and writing method, chip, subsystem, register bank and terminal
US9213656B2 (en) Flexible arbitration scheme for multi endpoint atomic accesses in multicore systems
US9372796B2 (en) Optimum cache access scheme for multi endpoint atomic access in a multicore system
EP4390646A1 (en) Data processing method in distributed system, and related system
CN116561036B (en) Data access control methods, devices, equipment and storage media
TW200945033A (en) Memory allocation and access method and device using the same
CN111258769B (en) Data transmission device and method
WO2023124304A1 (en) Chip cache system, data processing method, device, storage medium, and chip
CN119440881A (en) A multi-core consistency processing method, system, device and storage medium
CN116719764B (en) Data synchronization method, system and related device
CN119248607A (en) A protocol conversion device, method, equipment, medium and product based on multi-type transaction processing
CN118708542A (en) File system acceleration method, device, equipment, storage medium and program product
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
CN116860185A (en) Data access apparatus, system, method, device, chip and medium for SRAM array

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant