Bridging module, interaction method and related equipment
By introducing a bridge module between the PCIe terminal device and the high-speed serial computer extension bus, the problem that traditional devices cannot interact with the bus equipped with the AXI bridge is solved, and efficient data interaction between devices is achieved.
Patent Information
- Application Number
- CN202411633274.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-15
- Publication Date
- 2025-03-04
AI Technical Summary
Traditional PCIe terminal devices cannot interact with high-speed serial computer extension buses equipped with AXI bridges.
A bridge module is proposed, including a converter, a first AXI master and a first AXI slave, for bridging a PCIe terminal device with a high-speed serial computer extension bus. The converter converts the PCIe data into AXI data and sends the AXI data to the first AXI host or the first AXI slave to realize the interaction between the PCIe terminal device and the AXI bridge.
Through the bridge module, effective interaction between PCIe terminal equipment and the high-speed serial computer extension bus equipped with AXI bridge is achieved, solving the problem that traditional devices cannot interact.
Smart Images

Figure CN119557251A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of PCIe devices, and in particular to a bridge module, an interaction method and related devices. Background Art
[0002] Currently, existing high-speed serial computer expansion bus (Peripheral Component Interconnect Express, PCIe) terminal devices often only complete data transmission with the high-speed serial computer expansion bus through a sending port (Transport, TX) and a receiving port (Receive, RX), and the sending port and receiving port of the PCIe terminal device can only send or receive PCIe data. However, many host manufacturers currently often carry an AXI (Advanced eXtensible Interface) bridge on the PCIe IP (the intellectual property core of the high-speed serial computer expansion bus standard device) to increase data transmission stability, but the receiving port and sending port of the traditional PCIe terminal device cannot interact with the interface of the AXI bridge, that is, the interaction mode between the traditional PCIe terminal device and the high-speed serial computer expansion bus is single, and the traditional PCIe terminal device cannot interact with the high-speed serial computer expansion bus equipped with the AXI bridge. Summary of the invention
[0003] The main purpose of this application is to propose a bridge module, an interaction method and related equipment, aiming to solve the problem that traditional PCIe terminal devices cannot interact with a high-speed serial computer expansion bus equipped with an AXI bridge.
[0004] To achieve the above-mentioned purpose, the present application proposes a bridge module, an interaction method and related devices. In an embodiment of the present application, a bridge module is proposed, the bridge module is used to bridge a PCIe terminal device and a high-speed serial computer expansion bus, the bridge module includes a converter, a first AXI host, and a first AXI slave;
[0005] The converter is communicatively connected with the first AXI host and the first AXI slave, and the converter is also used for communicating with the PCIe terminal device;
[0006] The converter is used to convert PCIe data received from the PCIe terminal device into AXI data, and send the converted AXI data to the first AXI host or the first AXI slave. The converter is also used to convert AXI data received from the first AXI host or the first AXI slave into PCIe data, and send the converted PCIe data to the PCIe terminal device;
[0007] The first AXI host is further used to communicate with a second AXI slave of the AXI bridge carried by the high-speed serial computer expansion bus; the first AXI host is further used to send the AXI data received from the converter to the second AXI slave; the first AXI host is further used to receive PCIe data from the second AXI slave, and send the PCIe data received from the second AXI slave to the converter;
[0008] The first AXI slave is also used to communicate with the second AXI master of the AXI bridge of the high-speed serial computer expansion bus; the first AXI slave is also used to send the AXI data received from the converter to the second AXI master; the first AXI slave is also used to receive PCIe data from the second AXI host, and send the PCIe data received from the second AXI host to the converter.
[0009] In the embodiment of the present application, the first AXI master and the first AXI slave of the bridge module both include a first AXI channel, and the first AXI channel is used for communication connection with the second AXI channel of the AXI bridge.
[0010] In an embodiment of the present application, the bridge module is further provided with a bypass channel, and the bypass channel is used to communicate with the native sending port and the native receiving port of the high-speed serial computer expansion bus.
[0011] In an embodiment of the present application, the bridge module is further configured to: after the bridge module is communicatively connected with the PCIe terminal device and the high-speed serial computer expansion bus, determine whether the high-speed serial computer expansion bus is equipped with an AXI bridge.
[0012] In the embodiment of the present application, the bridge module determines whether the high-speed serial computer expansion bus is equipped with an AXI bridge by the following method:
[0013] receiving a test data packet sent by the PCIe terminal device, and sending the test data packet to the second AXI channel based on the first AXI channel; if the sending is successful, determining that the high-speed serial computer expansion bus is equipped with an AXI bridge; if the sending fails, determining that the high-speed serial computer expansion bus is not equipped with an AXI bridge;
[0014] or,
[0015] receiving a test data packet sent by the PCIe terminal device, and sending the test data packet to a native receiving port of the high-speed serial computer expansion bus based on the bypass channel; if the sending is successful, determining that the high-speed serial computer expansion bus is not equipped with an AXI bridge;
[0016] or,
[0017] receiving a test data packet sent by the high-speed serial computer expansion bus, and sending the test data packet to a receiving port of the PCIe terminal device based on the first AXI channel, and if the sending is successful, determining that the high-speed serial computer expansion bus is equipped with an AXI bridge; if the sending fails, determining that the high-speed serial computer expansion bus is not equipped with an AXI bridge;
[0018] or,
[0019] A test data packet sent by the high-speed serial computer expansion bus is received, and the test data packet is sent to the receiving port of the PCIe terminal device based on the bypass channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge; if the sending fails, it is determined that the high-speed serial computer expansion bus is equipped with an AXI bridge.
[0020] In the embodiment of the present application, the bridging module is further configured as:
[0021] If the high-speed serial computer expansion bus is equipped with an AXI bridge, data transmission between the high-speed serial computer expansion bus and the PCIe terminal device is performed based on the first AXI channel;
[0022] If the high-speed serial computer expansion bus is not equipped with an AXI bridge, data transmission between the high-speed serial computer expansion bus and the PCIe terminal device is performed based on the bypass channel.
[0023] The present application also proposes an interaction method, which is applied to a high-speed serial computer expansion bus, wherein at least one PCIe terminal device is communicatively connected to the high-speed serial computer expansion bus, and the at least one PCIe terminal device is communicatively connected to the high-speed serial computer expansion bus through any of the bridge modules described above, wherein the interaction method comprises:
[0024] Receiving, based on the converter, an interaction request sent by the PCIe terminal device to the high-speed serial computer expansion bus;
[0025] Convert the interactive request into AXI data based on the converter, and send the data to the first AXI host;
[0026] The converted interaction request is sent to the second AXI slave based on the first AXI host.
[0027] In the embodiment of the present application, the interaction method further includes:
[0028] Receiving, based on the first AXI host, an interactive response sent by a second AXI slave of the AXI bridge of the high-speed serial computer expansion bus, the interactive response being an interactive response corresponding to an interactive request sent by the PCIe terminal device to the high-speed serial computer expansion bus;
[0029] sending the interactive response to the converter based on the first AXI slave;
[0030] The interactive response is converted into PCIe data based on the converter, and sent to the receiving port of the PCIe terminal device.
[0031] In the embodiment of the present application, the interaction method further includes:
[0032] Receiving an interaction request sent by a second AXI master of the AXI bridge of the high-speed serial computer expansion bus based on the first AXI slave;
[0033] sending the interaction request to the converter based on the first AXI slave;
[0034] The interactive request is converted into PCIe data based on the converter and sent to the receiving port of the PCIe terminal device.
[0035] In the embodiment of the present application, the interaction method further includes:
[0036] Receiving, based on the converter, an interactive response sent by the PCIe terminal device, the interactive response being an interactive response corresponding to an interactive request sent by the high-speed serial computer expansion bus to the PCIe terminal device;
[0037] Convert the interactive response into AXI data based on the converter, and send the data to the first AXI slave;
[0038] The AXI data is sent to the second AXI master based on the first AXI slave.
[0039] In the embodiment of the present application, the interaction method further includes:
[0040] Receive a test data packet sent by the PCIe terminal device, and send the test data packet to the second AXI channel based on the first AXI channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus is equipped with an AXI bridge; if the sending fails, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge.
[0041] In the embodiment of the present application, the interaction method further includes:
[0042] A test data packet sent by the PCIe terminal device is received, and the test data packet is sent to a native receiving port of the high-speed serial computer expansion bus based on the bypass channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge.
[0043] In the embodiment of the present application, the interaction method further includes:
[0044] A test data packet sent by the high-speed serial computer expansion bus is received, and the test data packet is sent to the receiving port of the PCIe terminal device based on the first AXI channel. If the sending is successful, it is determined that the high-speed serial computer expansion bus is equipped with an AXI bridge; if the sending fails, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge.
[0045] In the embodiment of the present application, the interaction method further includes:
[0046] A test data packet sent by the high-speed serial computer expansion bus is received, and the test data packet is sent to the receiving port of the PCIe terminal device based on the bypass channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge; if the sending fails, it is determined that the high-speed serial computer expansion bus is equipped with an AXI bridge.
[0047] In the embodiment of the present application, the interaction method further includes:
[0048] If the high-speed serial computer expansion bus is equipped with an AXI bridge, data transmission between the high-speed serial computer expansion bus and the PCIe terminal device is performed based on the first AXI channel;
[0049] If the high-speed serial computer expansion bus is not equipped with an AXI bridge, data transmission between the high-speed serial computer expansion bus and the PCIe terminal device is performed based on the bypass channel.
[0050] The present application also proposes a computer-readable storage medium, on which a computer program is stored. When the computer program is processed and executed, the interaction method described in any of the above embodiments is implemented.
[0051] The present application also proposes a high-speed serial computer expansion bus component, comprising the bridge module described in any of the above embodiments.
[0052] The present application also proposes a computing device, characterized in that it includes the high-speed serial computer expansion bus component as described in claim 17.
[0053] In the embodiment of the present application, a bridge module is set up, and the communication protocol format of the interactive data can be converted by using the converter in the bridge module, and then the AXI channel of the first AXI host and the first AXI slave can be used to realize the interaction between the PCIe terminal device and the high-speed serial computer expansion bus equipped with an AXI bridge. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the structures shown in these drawings without paying any creative work.
[0055] Figure 1 It is a structural diagram of a high-speed serial computer expansion bus in one embodiment of the present application;
[0056] Figure 2 This is a schematic diagram of the connection between a PCIe terminal device and a high-speed serial computer expansion bus in an embodiment of the present application;
[0057] Figure 3 is a structural diagram of a bridge module in an embodiment of the present application;
[0058] Figure 4 This is a schematic diagram of the interaction of the bridge module in one embodiment of the present application;
[0059] Figure 5 This is a schematic diagram of the interaction of the bridge module in another embodiment of the present application;
[0060] Figure 6 This is a schematic diagram of the interaction of the bridge module in another embodiment of the present application;
[0061] Figure 7 This is a schematic diagram of the interaction of the bridge module in another embodiment of the present application;
[0062] Figure 8 is a structural diagram of a bridge module in an embodiment of the present application;
[0063] Fig. 9 A step diagram of an interaction method in an embodiment of the present application;
[0064] Fig.10 A step diagram of an interaction method in another embodiment of the present application;
[0065] Fig.11 is a step diagram of an interaction method in yet another embodiment of the present application;
[0066] Fig.12A step diagram of an interaction method in yet another embodiment of the present application;
[0067] Fig.13 A module diagram of a computer-readable storage medium in an embodiment of the present application;
[0068] Fig.14 A module diagram of a computing device in one embodiment of the present application. Description of the drawings:
[0070] 100-bridge module, 110-first AXI slave, 120-first AXI master, 130-converter, 200-PCIe terminal device, 300-high-speed serial computer expansion bus, 310-AXI bridge, 320-second AXI master, 330-second AXI slave.
[0071] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0072] The terms "first", "second", etc. in the specification and claims of the embodiments of the present application and the above-mentioned drawings are used to distinguish similar objects (for example, the first AXI host and the second AXI host are respectively represented as different AXI hosts, and the others are similar), and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or modules is not necessarily limited to those steps or modules that are clearly listed, but may include other steps or modules that are not clearly listed or inherent to these processes, methods, products or devices. The division of modules that appear in the embodiments of the present application is only a logical division. There may be other division methods when implemented in actual applications. For example, multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling between modules, and the communication connection may be electrical or other similar forms, which are not limited in the embodiments of the present application. Moreover, the modules or submodules described as separate components may or may not be physically separated, may or may not be physical modules, or may be distributed in multiple circuit modules, and some or all of the modules may be selected according to actual needs to achieve the purpose of the embodiments of the present application.
[0073] The principles and spirit of the present application are explained in detail below with reference to several representative implementations of the present application.
[0074] Exemplary Devices
[0075] like Figure 1 As shown, Figure 1 The architecture diagram of the high-speed serial computer expansion bus (PCIe) includes the root complex, the switch, and the endpoint interface (PCIe Endpoint). The root complex is the interface between the CPU and the high-speed serial computer expansion bus, and the switch provides expansion or aggregation capabilities, allowing multiple PCIe terminal devices to be connected to the same endpoint interface.
[0076] like Figure 2 As shown, Figure 2 The figure is a schematic diagram of the connection between a PCIe terminal device and a high-speed serial computer expansion bus in the prior art. The PCIe terminal device includes various electronic devices or tools for completing various tasks. For example, the PCIe terminal device can be:
[0077] Input devices, such as keyboard, mouse, scanner, etc.;
[0078] Storage devices such as hard drives, solid-state drives, USB flash drives, etc.;
[0079] Network equipment, such as routers, switches, modems, etc.;
[0080] Display devices, such as monitors, image output systems, etc.;
[0081] Output devices, such as printers, plotters, etc.
[0082] The endpoint interface (PCIe endpoint interface) of the PCIe terminal device includes a transmit port (TX) and a receive port (RX). The transmit port (TX) of the PCIe terminal device is point-to-point connected to the transmit port (TX) in the physical layer (PCIePIPE) of the high-speed serial computer expansion bus, and the receive port (RX) of the PCIe terminal device is point-to-point connected to the receive port (RX) in the physical layer of the high-speed serial computer expansion bus.
[0083] based on Figure 1 , Figure 2It can be seen that the existing PCIe terminal equipment is directly connected to the high-speed serial computer expansion bus through the TX-TX and RX-RX point-to-point mode, and can only exchange data under the PCIe communication protocol format. If an AXI bridge is installed in the high-speed serial computer expansion bus, it is necessary to exchange data according to the AXI communication protocol, but the sending port and receiving port in the PCIe terminal equipment cannot exchange data under the AXI communication protocol, so it is impossible to exchange data with the high-speed serial computer expansion bus equipped with an AXI bridge.
[0084] Based on this, Figure 3 As shown, this exemplary embodiment proposes a bridge module 100 to solve the problem that a PCIe terminal device cannot interact with a high-speed serial computer expansion bus equipped with an AXI bridge. In the embodiment of the present application, the bridge module 100 is used to bridge a PCIe terminal device 200 and a high-speed serial computer expansion bus 300, and the bridge module 100 includes a converter 130, a first AXI host 120, and a first AXI slave 110;
[0085] The converter 130 is connected to the first AXI host 120 and the first AXI slave 110 for communication, and the converter 130 is also used for connecting to the PCIe terminal device 200 for communication;
[0086] The converter 130 is used to convert the PCIe data received from the PCIe terminal device 200 into AXI data, and send the converted AXI data to the first AXI host 120 or the first AXI slave 110. The converter 130 is also used to convert the AXI data received from the first AXI host 120 or the first AXI slave 110 into PCIe data, and send the converted PCIe data to the PCIe terminal device 200.
[0087] The first AXI host 120 is further used to communicate with the second AXI slave 330 of the AXI bridge 310 carried by the high-speed serial computer expansion bus 300; the first AXI host 120 is further used to send the AXI data received from the converter 130 to the second AXI slave 330; the first AXI host 120 is further used to receive PCIe data from the second AXI slave 330, and send the PCIe data received from the second AXI slave 330 to the converter 130;
[0088] The first AXI slave 110 is also used to communicate with the second AXI host 320 of the AXI bridge 310 of the high-speed serial computer expansion bus 300; the first AXI slave 110 is also used to send the AXI data received from the converter 130 to the second AXI host 320; the first AXI slave 110 is also used to receive PCIe data from the second AXI host 320, and send the PCIe data received from the second AXI host 320 to the converter 130.
[0089] like Figure 3 As shown, Figure 3 The bridge module 100 in the embodiment of the present application is an architecture diagram in an application scenario, wherein the bridge module 100 connects the PCIe terminal device 200 to the high-speed serial computer expansion bus 300. In addition, the AXI bridge 310 is also mounted on the native receiving port and the native sending port of the physical layer (PIPE) of the high-speed serial computer expansion bus 300, and the high-speed serial computer expansion bus 300 can also be mounted in any server. The present application does not limit the application scenario of the high-speed serial computer expansion bus 300.
[0090] In the embodiment of the present application, the PCIe terminal device 200 can be any one of the various electronic devices or tools mentioned in the above embodiments, which will not be described one by one here.
[0091] The converter 130 is mainly used for data format conversion, such as converting data in the PCIe communication protocol format into data in the AXI communication protocol format, or converting data in the AXI communication protocol format into data in the PCIe communication protocol format. In addition, the PCIe data in the embodiment of the present application is the data required to be interacted between the PCIe terminal device 200 and the high-speed serial computer expansion bus 300, and it is in the data format under the PCIe communication protocol; the AXI data is also the data required to be interacted between the PCIe terminal device 200 and the high-speed serial computer expansion bus 300, but the difference is that it is in the data format under the AXI communication protocol. The converter 130 can convert PCIe data into AXI data, or convert AXI data into PCIe data. It should be noted that in the conversion process, only the communication protocol format of the data is changed to satisfy the corresponding communication protocol, while the substantive content of the interactive data remains unchanged.
[0092] At the bridge module 100 end, the first AXI host 120 (Manager) is responsible for initiating data transmission requests, and the first AXI slave 110 (Subordinate) is responsible for responding to these requests. At the high-speed serial computer expansion bus 300 end, the second AXI host 320 (Manager) of the AXI bridge 310 is responsible for initiating data transmission requests, and the second AXI slave 330 (Subordinate) is responsible for responding to these requests. The second AXI host 320 and the second AXI slave 330 of the AXI bridge 310 are connected to the native sending port and receiving port of the high-speed serial computer expansion bus 300. When the bridge module 100 is connected to the high-speed serial computer expansion bus 300 equipped with the AXI bridge 310, the first AXI host 120 is paired with the second AXI slave 330 for communication connection, and the second AXI slave 330 is paired with the second AXI host 320 for communication connection.
[0093] Next, the bridge module 100 proposed in the present application is described by taking the PCIe terminal device 200 as the initiator of the interaction request and the high-speed serial computer expansion bus 300 equipped with the AXI bridge 310 as the initiator of the interaction request as examples.
[0094] PCIe terminal device 200 is the initiator of the interaction request
[0095] like Figure 4 As shown, Figure 4Take the case where the PCIe terminal device 200 initiates a read memory request (MRd) as an example, wherein the PCIe terminal device 200 sends the read memory request to the converter 130 through its sending port. The read memory request is in the data format under the PCIe communication protocol, that is, the read memory request is PCIe data. Therefore, after receiving the read memory request sent by the PCIe terminal device 200, the converter 130 can convert it into data in the AXI communication protocol format, and after the conversion is completed, send it to the first AXI host 120. After receiving the read memory request in the AXI communication protocol format, the first AXI host 120 sends it to the second AXI slave 330 of the AXI bridge 310 of the high-speed serial computer expansion bus 300. Since the read memory request sent by the first AXI host 120 is already data in the AXI communication protocol format at this time, it can be smoothly communicated with the AXI bridge 310 of the high-speed serial computer expansion bus 300. The second AXI slave 330 communicates, and the second AXI slave 330 then sends a read memory request through the sending port of the high-speed serial computer expansion bus 300. After the read memory request is sent, after several clocks, the read data (RDATA) requested to be read by the read memory request is returned from the receiving port of the high-speed serial computer expansion bus 300 and sent to the second AXI slave 330 of the high-speed serial computer expansion bus 300. The second AXI slave 330 then sends the read data in the format of the AXI communication protocol to the first AXI host 120. After receiving it, the first AXI host 120 sends it to the converter 130. The converter 130 converts the read data into the PCIe communication protocol format and then sends it to the receiving port of the PCIe terminal device 200. At this time, the process of the read memory request initiated by the PCIe terminal device 200 and the high-speed serial computer expansion bus 300 returning the read data is completed.
[0096] In addition, it should be noted that when the first AXI host 120 sends the read memory request initiated by the PCIe terminal device 200 to the second AXI slave 330, only the read address (ADDR) in the read memory request can be sent to the second AXI slave 330. For example, after the converter 130 converts the read memory request sent by the PCIe terminal device 200 into the AXI communication protocol format, it sends it to the first AXI host 120, and the first AXI host 120 obtains the read address (ADDR) from the read memory request, and only sends the read address to the second AXI slave 330, thereby reducing communication overhead.
[0097] High-speed serial computer expansion bus 300 is the initiator of the interactive request
[0098] like Figure 5 As shown, Figure 5Take the high-speed serial computer expansion bus 300 initiating a read memory request (MRd) as an example, wherein the high-speed serial computer expansion bus 300 sends the read memory request to the second AXI host 320 of the AXI bridge 310 through its native receiving port. After receiving the read memory request, the second AXI host 320 sends it to the first AXI slave 110. The read memory request sent by the second AXI host 320 is in the AXI communication protocol format, and the first AXI slave 110 can directly receive it. After receiving the read memory request in the AXI communication protocol format, the first AXI slave 110 sends it to the converter 130. After the converter 130 converts the read memory request in the AXI communication protocol format into a read memory request in the PCIe communication protocol format, it sends it to the receiving port of the PCIe terminal device 200. The PCIe terminal device After receiving the read memory request, 200 sends the read data (RDATA) corresponding to the read memory request to the converter 130 through the sending port of the PCIe terminal device 200. At this time, the read data sent by the PCIe terminal device 200 is in the PCIe communication protocol format. The converter 130 converts it into the AXI communication protocol format and sends it to the first AXI slave 110. The first AXI slave 110 then sends it to the second AXI host 320 of the AXI bridge 310. After receiving the data corresponding to the read memory request, the second AXI host 320 sends it to the high-speed serial computer expansion bus 300 through the sending port of the high-speed serial computer expansion bus 300. At this time, the process of the read memory request initiated by the high-speed serial computer expansion bus 300 and the PCIe terminal device 200 returning the read data is completed.
[0099] In addition, it should be noted that when the second AXI host 320 sends the read memory request initiated by the high-speed serial computer expansion bus 300 to the first AXI slave 110, only the read address (ADDR) in the read memory request can be sent to the second AXI slave 330. For example, after the high-speed serial computer expansion bus 300 sends the read memory request to the second AXI host 320 through its receiving port, the second AXI host 320 obtains the read address from the read memory request and only sends the read address to the first AXI slave 110, thereby reducing communication overhead.
[0100] like Figure 3 As shown, in the embodiment of the present application, the first AXI host 120 and the first AXI slave 110 of the bridge module 100 both include a first AXI channel, and the first AXI channel is used for communication connection with the second AXI channel of the AXI bridge 310 .
[0101] The first AXI channels included in the first AXI host 120 and the first AXI slave 110 and the second AXI channels included in the second AXI host 320 and the second AXI slave 330 are all AXI channels with the same channel type and quantity, and the channels of the same type correspond one to one.
[0102] For example, Figure 3 As shown, in the embodiment of the present application, the first AXI channel and the second AXI channel both include: a write address channel (AW), a write data channel (W), a write response channel (B), a read address channel (AR), and a read data channel (R).
[0103] Among them, after the bridge module 100 is connected to the high-speed serial computer expansion bus 300 equipped with an AXI bridge 310, the first AXI host 120 is paired with the second AXI slave 330, and the first AXI host 120 and the second AXI slave 330 have the above-mentioned five channels (i.e., write address channel (AW), write data channel (W), write response channel (B), read address channel (AR), and read data channel (R)), and data exchange is performed through the above-mentioned five channels; similarly, the first AXI slave 110 is paired with the second AXI host 320, and the first AXI slave 110 and the second AXI host 320 have the above-mentioned five channels, and the first AXI slave 110 and the second AXI host 320 also exchange data through the above-mentioned five channels.
[0104] For example, Figure 4 As shown, the first AXI host 120 may send a read address (ADDR) to the second AXI slave 330 based on the read address channel (AR), and the second AXI slave 330 may send read data (ADATA) to the first AXI host 120 based on the read data channel (R). Figure 5 As shown, the second AXI master 320 may send a read address (ADDR) to the first AXI slave 110 based on the read address channel (AR), and the first AXI slave 110 may send read data (ADARA) to the second AXI master 320 based on the read data channel (R).
[0105] Next, the embodiment of the present application takes the interactive request being a write request as an example to explain the bridge module 100 in the present application.
[0106] PCIe terminal device 200 is the initiator of the write request
[0107] like Figure 6 As shown, Figure 6Taking the write request MWr (Memory Write) as an example, the PCIe terminal device 200 sends the write request MWr to the converter 130 through its sending port. The write request is in the data format under the PCIe communication protocol, that is, the write request is PCIe data. In addition, the write request includes a write address and write data. After receiving the write request sent by the PCIe terminal device 200, the converter 130 can convert it into data in the AXI communication protocol format, and after the conversion is completed, send it to the first AXI host 120. After receiving the write request (including write data and write address) in the AXI communication protocol format, the first AXI host 120 sends the write address (WA) to the second AXI slave 330 of the AXI bridge 310 of the high-speed serial computer expansion bus 300 through the write address channel (AW), and sends the write data (WD) to the second AXI slave 330 of the AXI bridge 310 of the high-speed serial computer expansion bus 300 through the write data channel (W). Since the write request sent by the first AXI host 120 is already data in the AXI communication protocol format at this time, it can be smoothly connected to the high-speed serial computer expansion bus. The second AXI slave 330 communicates with the second AXI slave 330 of the AXI bridge 310 of the line 300, and the second AXI slave 330 then sends the received write address and write data through the sending port of the high-speed serial computer expansion bus 300. After a preset clock, the second AXI slave 330 automatically returns a write response of the write request to the first AXI host 120, wherein the write response of the write request is data in the AXI communication protocol format and is sent to the first AXI host 120 through the write response channel (B). After receiving the write response of the write request, the first AXI host 120 can synchronize the write response to the specified area of the PCIe terminal device 200 in a preset manner. The specific synchronization method is based on the design of different PCIe terminal devices 200. At this point, the write request initiated by the PCIe terminal device 200 is completed.
[0108] High-speed serial computer expansion bus 300 is the initiator of the write request
[0109] like Figure 7 As shown, Figure 7Take the high-speed serial computer expansion bus 300 initiating a write request MWr (Memory Write) as an example, wherein the high-speed serial computer expansion bus 300 sends the write request to the second AXI host 320 of the AXI bridge 310 through its receiving port, wherein the write request includes a write address (WA) and write data (WD). After receiving the write request, the second AXI host 320 sends the write address to the first AXI slave 110 through the write address channel (AW), and sends the write data to the first AXI slave 110 through the write data channel (W), wherein the write address and the write request are both data in the AXI communication protocol format, and the first AXI The slave 110 then sends the write address and write data to the converter 130, which converts the write address and write data into data in the PCIe communication protocol format and sends it to the receiving port of the PCIe terminal device 200. After a preset clock, the first AXI slave 110 automatically returns a write response of the write request to the second AXI host 320, wherein the write response of the write request is data in the AXI communication protocol format and is sent to the second AXI host 320 through the write response channel (B). At this point, the write request initiated by the high-speed serial computer expansion bus 300 is completed.
[0110] In addition, it should be noted that the above Figure 6 , 7 The write request is MWr as an example. In other embodiments, it can also be other write requests, such as IO Wr (IO Memory Write, IO write request), etc. The embodiment of the present application does not limit the type of write request. In addition, whether the interactive request between the PCIe terminal device 200 and the high-speed serial computer expansion bus 300 is a write request or a read request, the corresponding AXI channel can be selected for data transmission between the first AXI host 120 and the second AXI slave 330, and between the second AXI host 320 and the first AXI slave 110.
[0111] For the high-speed serial computer expansion bus 300 without the AXI bridge 310, the PCIe terminal device 200 can communicate with it directly through the native sending port and receiving port. However, if the bridge module 100 is set between the PCIe terminal device 200 and the high-speed serial computer expansion bus 300 without the AXI bridge 310, the PCIe terminal device 200 and the high-speed serial computer expansion bus 300 cannot communicate. Therefore, in order to increase the communication mode of the bridge module 100, such as Figure 8As shown, in the embodiment of the present application, the bridge module 100 is also provided with a bypass channel (By bass), and the bypass channel is used to communicate with the native sending port and the native receiving port of the high-speed serial computer expansion bus 300. Then, regardless of whether the high-speed serial computer expansion bus 300 is connected to the AXI bridge 310, the bridge module 100 can realize smooth communication between the PCIe terminal device 200 and the high-speed serial computer expansion bus 300. For example, when the high-speed serial computer expansion bus 300 is equipped with the AXI bridge 310, the first AXI host 120 or the second AXI slave 330 is selected to realize the interactive communication between the PCIe terminal device 200 and the high-speed serial computer expansion bus 300. When the high-speed serial computer expansion bus 300 is not equipped with the AXI bridge 310, the PCIe terminal device 200 and the high-speed serial computer expansion bus 300 are realized based on the bypass channel.
[0112] Therefore, in the embodiment of the present application, the bridge module 100 is further configured to: after the bridge module 100 is communicatively connected with the PCIe terminal device 200 and the high-speed serial computer expansion bus 300, determine whether the high-speed serial computer expansion bus 300 is equipped with an AXI bridge 310.
[0113] In the embodiment of the present application, whether the high-speed serial computer expansion bus 300 is equipped with the AXI bridge 310 can be determined through a handshake protocol.
[0114] For example, in the embodiment of the present application, the bridge module 100 determines whether the high-speed serial computer expansion bus 300 is equipped with the AXI bridge 310 by the following methods 1 to 4:
[0115] Method 1
[0116] A test data packet is received from the PCIe terminal device 200, and the test data packet is sent to the second AXI channel based on the first AXI channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus 300 is equipped with an AXI bridge 310; if the sending fails, it is determined that the high-speed serial computer expansion bus 300 is not equipped with an AXI bridge 310.
[0117] After the bridge module 100 establishes a communication connection with the PCIe terminal device 200 and the high-speed serial computer expansion bus 300, an initialization test is performed. During the initialization test, the PCIe terminal device 200 sends a test data packet to the bridge module 100. The test data packet is in the PCIe communication protocol format. The bridge module 100 converts it into data in the AXI communication protocol format based on the converter 130, and sends it to the second AXI slave 330 using the first AXI channel based on the first AXI host 120. If the transmission is successful, it means that the high-speed serial computer expansion bus 300 is equipped with an AXI bridge 310. If the transmission fails, it means that the high-speed serial computer expansion bus 300 is not equipped with an AXI bridge 310.
[0118] Method 2
[0119] Receive the test data packet sent by the PCIe terminal device 200, and send the test data packet to the native receiving port of the high-speed serial computer expansion bus 300 based on the bypass channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus 300 is not equipped with the AXI bridge 310.
[0120] Among them, in method 2, after the current bridge module 100 receives the test data sent by the PCIe terminal device 200, it directly uses the bypass channel to send it to the high-speed serial computer expansion bus 300. If the sending is successful, the high-speed serial computer expansion bus 300 is not equipped with the AXI bridge 310.
[0121] Method 3
[0122] A test data packet sent by the high-speed serial computer expansion bus 300 is received, and the test data packet is sent to the receiving port of the PCIe terminal device 200 based on the first AXI channel. If the sending is successful, it is determined that the high-speed serial computer expansion bus 300 is equipped with an AXI bridge 310; if the sending fails, it is determined that the high-speed serial computer expansion bus 300 is not equipped with an AXI bridge 310.
[0123] Method 4
[0124] A test data packet sent by the high-speed serial computer expansion bus 300 is received, and the test data packet is sent to the receiving port of the PCIe terminal device 200 based on the bypass channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus 300 is not equipped with an AXI bridge 310; if the sending fails, it is determined that the high-speed serial computer expansion bus 300 is equipped with an AXI bridge 310.
[0125] By using the above methods 1 to 4, during the initialization process, the first AXI channel or the bypass channel can be used to verify whether the high-speed serial computer expansion bus 300 is equipped with an AXI bridge 310. If the test determines that the high-speed serial computer expansion bus 300 is equipped with an AXI bridge 310, then when the subsequent PCIe terminal device 200 and the high-speed serial computer expansion bus 300 interact, the first AXI channel in the bridge module 100 can be selected for data transmission. If the test determines that the high-speed serial computer expansion bus 300 is not equipped with an AXI bridge 310, then when the subsequent PCIe terminal device 200 and the high-speed serial computer expansion bus 300 interact, the bypass channel in the bridge module 100 can be selected for data transmission. The present application sets a bypass channel in the bridge module 100, determines whether the high-speed serial computer expansion bus 300 is equipped with an AXI bridge 310 during the initialization process, and selects the corresponding channel for interaction during the subsequent communication process, which can meet the requirements that the PCIe terminal device 200 can interact with different high-speed serial computer expansion buses 300, enriching the interaction mode.
[0126] In the embodiment of the present application, by setting up a bridge module 100, the converter 130 in the bridge module 100 can be used to convert the communication protocol format of the interactive data, and then the first AXI channel of the first AXI host 120 and the second AXI host 320 can be used to realize the interaction between the PCIe terminal device 200 and the high-speed serial computer expansion bus 300 equipped with an AXI bridge 310.
[0127] Exemplary Methods
[0128] like Fig. 9 As shown, this exemplary embodiment proposes an interaction method, which is applied to the bridge module described in any embodiment of the above exemplary device. In the embodiment of the present application, the interaction method includes the following steps S110-S130:
[0129] Step S110: receiving, based on the converter, an interaction request sent by the PCIe terminal device to the high-speed serial computer expansion bus;
[0130] Step S120: converting the interaction request into AXI data based on the converter, and sending the data to the first AXI host;
[0131] Step S130: sending the converted interaction request to the second AXI slave based on the first AXI host.
[0132] The specific implementation methods of steps S110 - S130 refer to the embodiment in which the PCIe terminal device is the initiator of the interaction request in the above-mentioned bridge module implementation mode, and are not described in detail here.
[0133] like Fig.10 As shown, the interaction method also includes the following steps S210-S230:
[0134] Step S210: receiving an interactive response sent by a second AXI slave of the AXI bridge of the high-speed serial computer expansion bus based on the first AXI host, wherein the interactive response is an interactive response corresponding to an interactive request sent by the PCIe terminal device to the high-speed serial computer expansion bus;
[0135] Step S220: sending the interactive response to the converter based on the first AXI slave;
[0136] Step S230: converting the interactive response into PCIe data based on the converter, and sending the data to the receiving port of the PCIe terminal device.
[0137] The specific implementation methods of steps S210-S230 refer to the embodiment in which the PCIe terminal device is the initiator of the interaction request in the above-mentioned bridge module implementation mode, and are not described in detail here.
[0138] like Fig.11 As shown, the interactive method also includes the following steps S310-S330:
[0139] Step S310: receiving an interaction request sent by a second AXI master of the AXI bridge of the high-speed serial computer expansion bus based on the first AXI slave;
[0140] Step S320: sending the interaction request to the converter based on the first AXI slave;
[0141] Step S330: Based on the converter, the interactive request is converted into PCIe data, and sent to the receiving port of the PCIe terminal device.
[0142] The specific implementation methods of steps S310-S330 refer to the above-mentioned bridge module implementation method, in which the high-speed serial computer expansion bus is used as the initiator of the interactive request, and are not described in detail here.
[0143] like Fig.12 As shown, the interaction method also includes the following steps S410-S430:
[0144] Step S410: receiving an interactive response sent by the PCIe terminal device based on the converter, where the interactive response is an interactive response corresponding to an interactive request sent by the high-speed serial computer expansion bus to the PCIe terminal device;
[0145] Step S420: converting the interactive response into AXI data based on the converter, and sending the data to the first AXI slave;
[0146] Step S430: sending the AXI data to the second AXI master based on the first AXI slave.
[0147] The specific implementation methods of steps S410-S430 refer to the above-mentioned bridge module implementation method, in which the high-speed serial computer expansion bus is used as the initiator of the interactive request, and are not described in detail here.
[0148] In the embodiment of the present application, the interaction method further includes:
[0149] Receive a test data packet sent by the PCIe terminal device, and send the test data packet to the second AXI channel based on the first AXI channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus is equipped with an AXI bridge; if the sending fails, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge.
[0150] In the embodiment of the present application, the interaction method further includes:
[0151] A test data packet sent by the PCIe terminal device is received, and the test data packet is sent to a native receiving port of the high-speed serial computer expansion bus based on the bypass channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge.
[0152] In the embodiment of the present application, the interaction method further includes:
[0153] A test data packet sent by the high-speed serial computer expansion bus is received, and the test data packet is sent to the receiving port of the PCIe terminal device based on the first AXI channel. If the sending is successful, it is determined that the high-speed serial computer expansion bus is equipped with an AXI bridge; if the sending fails, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge.
[0154] In the embodiment of the present application, the interaction method further includes:
[0155] A test data packet sent by the high-speed serial computer expansion bus is received, and the test data packet is sent to the receiving port of the PCIe terminal device based on the bypass channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge; if the sending fails, it is determined that the high-speed serial computer expansion bus is equipped with an AXI bridge.
[0156] In the embodiment of the present application, the interaction method further includes:
[0157] If the high-speed serial computer expansion bus is equipped with an AXI bridge, data transmission between the high-speed serial computer expansion bus and the PCIe terminal device is performed based on the first AXI channel;
[0158] If the high-speed serial computer expansion bus is not equipped with an AXI bridge, data transmission between the high-speed serial computer expansion bus and the PCIe terminal device is performed based on the bypass channel.
[0159] The data processing method proposed in the embodiment of the present application is applied to the bridge module described in any of the above embodiments, and therefore, it has at least all the beneficial effects of the above bridge module, which will not be described one by one here.
[0160] Exemplary Media
[0161] After introducing the method, medium and system of the exemplary embodiments of the present application, next, reference is made to Fig.13 For a description of the computer-readable storage medium of the exemplary embodiment of the present application, please refer to Fig.13 , the computer-readable storage medium shown is a CD 70, on which a computer program (i.e., a program product) is stored. When the computer program is executed by the processor, each step recorded in the above method implementation is implemented, for example, based on the converter receiving the interaction request sent by the PCIe terminal device to the high-speed serial computer expansion bus; based on the converter converting the interaction request into AXI data and sending it to the first AXI host; based on the first AXI host sending the converted interaction request to the second AXI slave. The specific implementation of each step is not repeated here. It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other optical or magnetic storage media, which are not repeated here.
[0162] Exemplary Computing Devices
[0163] The present application also proposes a high-speed serial computer expansion bus component, comprising a bridge module as described in any of the above embodiments.
[0164] For an introduction to the high-speed serial computer expansion bus component provided in the embodiment of the present application, please refer to the specific embodiment of the bridge module mentioned above, which will not be repeated here.
[0165] refer to Fig.14 , the present application also provides a computing device.
[0166] Fig.14 A block diagram of an exemplary computing device 80 suitable for implementing embodiments of the present application is shown. The computing device 80 may be a computer system or a server. Fig.14 The computing device 80 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0167] like Fig.14 As shown, the components of the computing device 80 may include, but are not limited to: one or more processors or processing units 801, a system memory 802, and a bus 803 connecting different system components (including the system memory 802 and the processing unit 801).
[0168] The computing device 80 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the computing device 80, including volatile and non-volatile media, removable and non-removable media.
[0169] The system storage 802 may include computer system readable media in the form of volatile storage, such as random access memory (RAM) 8021 and / or cache memory 8022. The computing device 70 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the ROM 8023 may be used to read and write non-removable, non-volatile magnetic media ( Fig.14 is not shown in the Fig.14 As shown in FIG. 8 , a disk drive for reading and writing a removable non-volatile disk (e.g., a “floppy disk”) and an optical disk drive for reading and writing a removable non-volatile optical disk (e.g., a CD-ROM, a DVD-ROM, or other optical media) can be provided. In these cases, each drive can be connected to bus 803 via one or more data medium interfaces. System storage 802 may include at least one program product having a set (e.g., at least one) of program modules that are configured to perform the functions of each embodiment of the present application.
[0170] A program / utility 8025 having a set (at least one) of program modules 8024 may be stored, for example, in system memory 802, and such program modules 8024 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. Program modules 8024 generally perform the functions and / or methods of the embodiments described herein.
[0171] The computing device 80 may also communicate with one or more external devices 804 (e.g., a keyboard, a pointing device, a display, etc.). Such communication may be performed via an input / output (I / O) interface. Furthermore, the computing device 80 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 806. Fig.14 As shown, the network adapter 806 communicates with other modules (such as the processing unit 801, etc.) of the computing device 80 via the bus 803, and the high-speed serial computer expansion bus component proposed in the present application can be integrated into the bus 803. It should be understood that although Fig.14 Not shown, other hardware and / or software modules may be used in conjunction with computing device 80 .
[0172] The processing unit 801 executes various functional applications and data processing by running the program stored in the system memory 802, for example, based on the converter, receiving the interactive request sent by the PCIe terminal device to the high-speed serial computer expansion bus; based on the converter, converting the interactive request into AXI data and sending it to the first AXI host; based on the first AXI host, sending the converted interactive request to the second AXI slave. The specific implementation of each step is not repeated here. It should be noted that although several units / modules or sub-units / sub-modules of the computing device are mentioned in the above detailed description, this division is only exemplary and not mandatory. In fact, according to the embodiment of the present application, the features and functions of two or more units / modules described above can be concretized in one unit / module. Conversely, the features and functions of one unit / module described above can be further divided into multiple units / modules to be concretized.
[0173] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The protection scope of the present application is not limited thereto. Although the present application is described in detail with reference to the above-described embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above-described embodiments within the technical scope disclosed in the present application, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
[0174] In addition, although the operations of the method of the present application are described in a specific order in the drawings, this does not require or imply that the operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0175] Based on the above description, the embodiments of the present application propose the following technical solutions, but are not limited thereto:
[0176] 1. A bridge module, the bridge module is used to bridge a PCIe terminal device and a high-speed serial computer expansion bus, the bridge module comprises a converter, a first AXI host, and a first AXI slave;
[0177] The converter is communicatively connected with the first AXI host and the first AXI slave, and the converter is also used for communicating with the PCIe terminal device;
[0178] The converter is used to convert PCIe data received from the PCIe terminal device into AXI data, and send the converted AXI data to the first AXI host or the first AXI slave. The converter is also used to convert AXI data received from the first AXI host or the first AXI slave into PCIe data, and send the converted PCIe data to the PCIe terminal device;
[0179] The first AXI host is further used to communicate with a second AXI slave of the AXI bridge carried by the high-speed serial computer expansion bus; the first AXI host is further used to send the AXI data received from the converter to the second AXI slave; the first AXI host is further used to receive PCIe data from the second AXI slave, and send the PCIe data received from the second AXI slave to the converter;
[0180] The first AXI slave is also used to communicate with the second AXI master of the AXI bridge of the high-speed serial computer expansion bus; the first AXI slave is also used to send the AXI data received from the converter to the second AXI master; the first AXI slave is also used to receive PCIe data from the second AXI host, and send the PCIe data received from the second AXI host to the converter.
[0181] 2. As described in Technical Solution 1, the first AXI host and the first AXI slave of the bridge module both include a first AXI channel, and the first AXI channel is used to communicate with the second AXI channel of the AXI bridge.
[0182] 3. As described in technical solution 1 or 2, the bridge module is also provided with a bypass channel, and the bypass channel is used to communicate with the native sending port and the native receiving port of the high-speed serial computer expansion bus.
[0183] 4. As described in any one of technical solutions 1-3, the bridge module is also configured to: after the bridge module is communicatively connected with the PCIe terminal device and the high-speed serial computer expansion bus, determine whether the high-speed serial computer expansion bus is equipped with an AXI bridge.
[0184] 5. The bridge module according to any one of technical solutions 1 to 4, wherein the bridge module determines whether the high-speed serial computer expansion bus is equipped with an AXI bridge by the following method:
[0185] receiving a test data packet sent by the PCIe terminal device, and sending the test data packet to the second AXI channel based on the first AXI channel; if the sending is successful, determining that the high-speed serial computer expansion bus is equipped with an AXI bridge; if the sending fails, determining that the high-speed serial computer expansion bus is not equipped with an AXI bridge;
[0186] or,
[0187] receiving a test data packet sent by the PCIe terminal device, and sending the test data packet to a native receiving port of the high-speed serial computer expansion bus based on the bypass channel; if the sending is successful, determining that the high-speed serial computer expansion bus is not equipped with an AXI bridge;
[0188] or,
[0189] receiving a test data packet sent by the high-speed serial computer expansion bus, and sending the test data packet to a receiving port of the PCIe terminal device based on the first AXI channel, and if the sending is successful, determining that the high-speed serial computer expansion bus is equipped with an AXI bridge; if the sending fails, determining that the high-speed serial computer expansion bus is not equipped with an AXI bridge;
[0190] or,
[0191] A test data packet sent by the high-speed serial computer expansion bus is received, and the test data packet is sent to the receiving port of the PCIe terminal device based on the bypass channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge; if the sending fails, it is determined that the high-speed serial computer expansion bus is equipped with an AXI bridge.
[0192] 6. The bridge module according to any one of technical solutions 1 to 5, wherein the bridge module is further configured as:
[0193] If the high-speed serial computer expansion bus is equipped with an AXI bridge, data transmission between the high-speed serial computer expansion bus and the PCIe terminal device is performed based on the first AXI channel;
[0194] If the high-speed serial computer expansion bus is not equipped with an AXI bridge, data transmission between the high-speed serial computer expansion bus and the PCIe terminal device is performed based on the bypass channel.
[0195] 7. An interaction method, applied to a high-speed serial computer expansion bus, wherein at least one PCIe terminal device is communicatively connected to the high-speed serial computer expansion bus, and the at least one PCIe terminal device is communicatively connected to the high-speed serial computer expansion bus through a bridge module as described in any one of technical solutions 1 to 6, the interaction method comprising:
[0196] Receiving, based on the converter, an interaction request sent by the PCIe terminal device to the high-speed serial computer expansion bus;
[0197] Convert the interactive request into AXI data based on the converter, and send the data to the first AXI host;
[0198] The converted interaction request is sent to the second AXI slave based on the first AXI host.
[0199] 8. The interactive method according to technical solution 7, further comprising:
[0200] Receiving, based on the first AXI host, an interactive response sent by a second AXI slave of the AXI bridge of the high-speed serial computer expansion bus, the interactive response being an interactive response corresponding to an interactive request sent by the PCIe terminal device to the high-speed serial computer expansion bus;
[0201] sending the interactive response to the converter based on the first AXI slave;
[0202] The interactive response is converted into PCIe data based on the converter, and sent to the receiving port of the PCIe terminal device.
[0203] 9. The interactive method according to technical solution 7 or 8, further comprising:
[0204] Receiving an interaction request sent by a second AXI master of the AXI bridge of the high-speed serial computer expansion bus based on the first AXI slave;
[0205] sending the interaction request to the converter based on the first AXI slave;
[0206] The interactive request is converted into PCIe data based on the converter and sent to the receiving port of the PCIe terminal device.
[0207] 10. The interactive method according to any one of technical solutions 7 to 9, further comprising:
[0208] Receiving, based on the converter, an interactive response sent by the PCIe terminal device, the interactive response being an interactive response corresponding to an interactive request sent by the high-speed serial computer expansion bus to the PCIe terminal device;
[0209] Convert the interactive response into AXI data based on the converter, and send the data to the first AXI slave;
[0210] The AXI data is sent to the second AXI master based on the first AXI slave.
[0211] 11. The interactive method according to any one of technical solutions 7 to 10, further comprising:
[0212] Receive a test data packet sent by the PCIe terminal device, and send the test data packet to the second AXI channel based on the first AXI channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus is equipped with an AXI bridge; if the sending fails, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge.
[0213] 12. The interactive method according to any one of technical solutions 7 to 11, further comprising:
[0214] A test data packet sent by the PCIe terminal device is received, and the test data packet is sent to a native receiving port of the high-speed serial computer expansion bus based on the bypass channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge.
[0215] 13. The interactive method according to any one of technical solutions 7 to 12, further comprising:
[0216] A test data packet sent by the high-speed serial computer expansion bus is received, and the test data packet is sent to the receiving port of the PCIe terminal device based on the first AXI channel. If the sending is successful, it is determined that the high-speed serial computer expansion bus is equipped with an AXI bridge; if the sending fails, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge.
[0217] 14. The interactive method according to any one of technical solutions 7 to 13, further comprising:
[0218] A test data packet sent by the high-speed serial computer expansion bus is received, and the test data packet is sent to the receiving port of the PCIe terminal device based on the bypass channel; if the sending is successful, it is determined that the high-speed serial computer expansion bus is not equipped with an AXI bridge; if the sending fails, it is determined that the high-speed serial computer expansion bus is equipped with an AXI bridge.
[0219] 15. The interactive method according to technical solution 7-14, further comprising:
[0220] If the high-speed serial computer expansion bus is equipped with an AXI bridge, data transmission between the high-speed serial computer expansion bus and the PCIe terminal device is performed based on the first AXI channel;
[0221] If the high-speed serial computer expansion bus is not equipped with an AXI bridge, data transmission between the high-speed serial computer expansion bus and the PCIe terminal device is performed based on the bypass channel.
[0222] 16. A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when processed and executed, implements the interactive method as described in any one of technical solutions 7-15.
[0223] 17. A high-speed serial computer expansion bus component, comprising a bridge module as described in any one of technical solutions 1-6.
[0224] 18. A computing device comprising a high-speed serial computer expansion bus component as described in technical solution 17.
Claims
1. A bridge module, characterized in that: The bridge module is used to bridge the PCIe terminal device and the high-speed serial computer expansion bus, and the bridge module includes a converter, a first AXI host, and a first AXI slave; The converter is communicatively connected with the first AXI host and the first AXI slave, and the converter is also used for communicating with the PCIe terminal device; The converter is used to convert PCIe data received from the PCIe terminal device into AXI data, and send the converted AXI data to the first AXI host or the first AXI slave. The converter is also used to convert AXI data received from the first AXI host or the first AXI slave into PCIe data, and send the converted PCIe data to the PCIe terminal device; The first AXI host is further used to communicate with a second AXI slave of the AXI bridge carried by the high-speed serial computer expansion bus; the first AXI host is further used to send the AXI data received from the converter to the second AXI slave; the first AXI host is further used to receive PCIe data from the second AXI slave, and send the PCIe data received from the second AXI slave to the converter; The first AXI slave is also used to communicate with the second AXI master of the AXI bridge of the high-speed serial computer expansion bus; the first AXI slave is also used to send the AXI data received from the converter to the second AXI master; the first AXI slave is also used to receive PCIe data from the second AXI host, and send the PCIe data received from the second AXI host to the converter.
2. The bridge module according to claim 1, characterized in that: The first AXI master and the first AXI slave of the bridge module each include a first AXI channel, and the first AXI channel is used for communication connection with the second AXI channel of the AXI bridge.
3. The bridge module according to claim 2, characterized in that: The bridge module is also provided with a bypass channel, and the bypass channel is used for communication connection with the native sending port and the native receiving port of the high-speed serial computer expansion bus.
4. The bridge module as claimed in claim 3, characterized in that: The bridge module is further configured to determine whether the high-speed serial computer expansion bus is equipped with an AXI bridge after the bridge module is communicatively connected with the PCIe terminal device and the high-speed serial computer expansion bus.
5. An interaction method, applied to a high-speed serial computer expansion bus, wherein at least one PCIe terminal device is communicatively connected to the high-speed serial computer expansion bus, and the at least one PCIe terminal device is communicatively connected to the high-speed serial computer expansion bus through a bridge module as described in any one of claims 1 to 4, characterized in that: The interaction method comprises: Receiving, based on the converter, an interaction request sent by the PCIe terminal device to the high-speed serial computer expansion bus; Convert the interactive request into AXI data based on the converter, and send the data to the first AXI host; The converted interaction request is sent to the second AXI slave based on the first AXI host.
6. The interactive method according to claim 5, characterized in that: The interaction method further comprises: Receiving, based on the first AXI host, an interactive response sent by a second AXI slave of the AXI bridge of the high-speed serial computer expansion bus, the interactive response being an interactive response corresponding to an interactive request sent by the PCIe terminal device to the high-speed serial computer expansion bus; sending the interactive response to the converter based on the first AXI slave; The interactive response is converted into PCIe data based on the converter, and sent to the receiving port of the PCIe terminal device.
7. The interactive method according to claim 5, characterized in that: The interaction method further comprises: Receiving an interaction request sent by a second AXI master of the AXI bridge of the high-speed serial computer expansion bus based on the first AXI slave; sending the interaction request to the converter based on the first AXI slave; The interactive request is converted into PCIe data based on the converter and sent to the receiving port of the PCIe terminal device.
8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is processed and executed, the interaction method according to any one of claims 5 to 7 is implemented.
9. A high-speed serial computer expansion bus assembly, characterized in that: Comprising the bridge module as described in any one of claims 1-4.
10. A computing device, characterized in that Comprising the high speed serial computer expansion bus assembly as claimed in claim 9.