WO2023030128A1 - 通信方法、装置、电子设备、存储介质及片上系统 - Google Patents

通信方法、装置、电子设备、存储介质及片上系统 Download PDF

Info

Publication number
WO2023030128A1
WO2023030128A1 PCT/CN2022/114499 CN2022114499W WO2023030128A1 WO 2023030128 A1 WO2023030128 A1 WO 2023030128A1 CN 2022114499 W CN2022114499 W CN 2022114499W WO 2023030128 A1 WO2023030128 A1 WO 2023030128A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
functional module
information
task
module
Prior art date
Application number
PCT/CN2022/114499
Other languages
English (en)
French (fr)
Inventor
徐可凡
戴亮
王坚烽
Original Assignee
上海商汤智能科技有限公司
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 上海商汤智能科技有限公司 filed Critical 上海商汤智能科技有限公司
Publication of WO2023030128A1 publication Critical patent/WO2023030128A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Definitions

  • the present disclosure relates to the field of computer technology, in particular, to a communication method, device, electronic equipment, storage medium, and system on chip.
  • SoC System-on-a-Chip
  • SoC is an integrated circuit that combines many elements of a computing system or other electronic system into a single chip. SoC usually integrates multiple functional modules, and these functional modules may be pre-designed circuit functional modules, such as intellectual property cores (Intellectual Property cores, IP cores).
  • intellectual property cores Intelligent Property cores, IP cores.
  • the performance of the candidate functional modules will be evaluated, and the appropriate functional modules will be selected for integration.
  • the screened functional modules may belong to different types, and the evaluation environment of each functional module is isolated, and usually only evaluates the independent operation of a single functional module, and cannot evaluate the performance of multiple functional modules operating together.
  • one functional module needs to follow the design of the port protocol of the other functional module.
  • two mutually independent communication tasks are affected by the port constraints of the functional modules, and the next communication task may need to be completed after one communication task is completed, resulting in low communication efficiency of the functional modules.
  • Embodiments of the present disclosure at least provide a communication method, device, electronic device, storage medium, and system on chip.
  • an embodiment of the present disclosure provides a communication method, the method is applied to a communication module in a system-on-chip, and the system-on-chip further includes a first function module and a second function module, and the method includes: responding to The first functional module sends the first communication information corresponding to the first communication information to the first functional module for the first communication information sent by the first communication task with the second functional module, so that the The first function module sends the second communication information for the second communication task to the second function module; sends the first communication information to the second function module, so that the second function module executes the The receiving work corresponding to the first communication task; wherein, there is a communication dependency between the first communication task and the second communication task; the first communication readiness information is used to indicate that the receiving preparation work corresponding to the first communication task is completed.
  • the first function module after detecting the first communication information, directly sends the first communication ready information to the first function module without waiting for the second function module to prepare for reception, so that the first function module directly sends the second communication task of the second communication task.
  • the communication information decouples the communication dependency between the first communication task and the second communication task, so that the two communication tasks can be executed in parallel, and the communication efficiency is improved.
  • the sending the first communication information to the second functional module includes: storing the first communication information in a communication queue; If it is empty, send queue readable information to the second functional module, so that the second functional module reads the communication information stored in the communication queue.
  • the communication queue is used to store the first communication information
  • the readable information of the queue is used to notify the second functional module to read the communication information stored in the communication queue.
  • the first-in-first-out characteristic of the communication queue can ensure that the second functional module The timing when reading communication information is correct.
  • the method further includes: deleting the first communication information from the communication queue when the second functional module is enabled to refer to the communication ready information, wherein, enabling The reference communication ready information may indicate that the second functional module is ready to receive data of the first communication task.
  • the first communication information in the communication queue is deleted, so that the second functional module can read the next stored communication information in the communication queue , and prepare for the next communication task, effectively ensuring the accuracy of the communication sequence.
  • the method further includes: when detecting that the communication queue changes from non-empty to empty, sending queue unreadable information to the second functional module, so that the The second function module stops reading the communication queue.
  • the second functional module stops reading the communication queue, which can reduce the invalid reading of the communication queue by the second functional module , thereby reducing the consumption of computing resources.
  • the method further includes: when detecting that the communication queue is fully loaded, sending queue unwritable information to the first functional module, so that the first functional module Stop sending new first communication information.
  • the queue unwritable information includes an invalid state of the first communication ready information.
  • the first communication task includes a write address task; the second communication task includes a write data task; the first communication information includes a write address valid signal; the first communication ready information includes a write An address ready signal; the second communication information includes a write data valid signal.
  • This embodiment can be applied to write address tasks and write data tasks, so that the write data tasks and write address tasks can be executed in parallel without being restricted by functional modules, and the efficiency is high.
  • the embodiment of the present disclosure also provides a system on chip, including a plurality of functional modules and at least one communication module; the communication module is used to implement the above first aspect, or any possible implementation of the first aspect steps in the method.
  • the multiple functional modules include a first functional module and a second functional module
  • the communication module is deployed on the first functional module and directly communicates with the first functional module
  • the second functional module communicates with the communication module and the first functional module respectively through a bus.
  • the embodiment of the present disclosure further provides a communication device, including: a response circuit, configured to respond to the first communication information sent by the first functional module for the first communication task with the second functional module, to the The first function module sends the first communication ready information corresponding to the first communication information, so that the first function module sends the second communication information for the second communication task to the second function module; the sending circuit, It is used to send the first communication information to the second function module, so that the second function module performs the receiving work corresponding to the first communication task; wherein, the first communication task and the second communication task There is a communication dependency between the two communication tasks; the first communication readiness information is used to indicate that the reception preparation corresponding to the first communication task is completed.
  • a communication device including: a response circuit, configured to respond to the first communication information sent by the first functional module for the first communication task with the second functional module, to the The first function module sends the first communication ready information corresponding to the first communication information, so that the first function module sends the second communication information for the second communication task to the second function
  • an embodiment of the present disclosure further provides a chip, including the system on chip as described in the second aspect above.
  • an embodiment of the present disclosure further provides an electronic device, including: a processor, a memory, and a bus, the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processing
  • the processor communicates with the memory through a bus, and when the machine-readable instructions are executed by the processor, the above-mentioned first aspect, or the steps in any possible implementation manner of the first aspect are executed; or, the steps include: The chip described in the fourth aspect.
  • the embodiments of the present disclosure also provide a computer-readable storage medium, on which a computer program is stored, and when the computer program is run by a processor, the above-mentioned first aspect, or any of the first aspects in the first aspect, can be executed. Steps in one possible implementation.
  • FIG. 1 shows a schematic diagram of a system-on-a-chip provided by an embodiment of the present disclosure
  • FIG. 2 shows a schematic diagram of a communication module in an embodiment of the present disclosure
  • FIG. 3 shows a flowchart of a communication method provided by an embodiment of the present disclosure
  • FIG. 4 shows a sequence diagram of executing a first communication task and a second communication task in an embodiment of the present disclosure
  • Fig. 5 shows a schematic diagram of a communication device provided by an embodiment of the present disclosure
  • Fig. 6 shows a schematic diagram of an electronic device provided by an embodiment of the present disclosure.
  • a and/or B may mean: A exists alone, A and B exist simultaneously, and B exists independently. situation.
  • at least one herein means any one of a variety or any combination of at least two of the more, for example, including at least one of A, B, and C, which may mean including from A, Any one or more elements selected from the set formed by B and C.
  • the present disclosure provides a communication method, device, electronic equipment, storage medium, and system-on-chip.
  • the present disclosure first responds to the first The functional module sends first communication information corresponding to the first communication information to the first functional module for the first communication information sent by the first communication task with the second functional module, so that the first The function module sends the second communication information for the second communication task to the second function module, and then sends the first communication information to the second function module, so that the second function module executes the The receiving work corresponding to the first communication task, wherein there is a communication dependency between the first communication task and the second communication task, and the first communication readiness information is used to indicate that the receiving preparation work corresponding to the first communication task is completed.
  • the disclosure directly sends the first communication ready information to the first functional module without waiting for the second functional module to prepare for reception after detecting the first communication information, so that the first functional module directly sends the second communication of the second communication task information, decoupling the communication dependency between the first communication task and the second communication task, so that the two communication tasks can be executed in parallel, and the communication efficiency is improved.
  • the embodiment of the present disclosure discloses a system-on-chip.
  • the system-on-chip shows two functional modules, a first functional module 1 and a second functional module 2, and a communication module 3, but
  • the present disclosure does not limit the number of functional modules and communication modules.
  • the first functional module 1 and the second functional module 2 may be intellectual property cores (Intellectual Property core, IP core)
  • the communication module 3 may be deployed on the functional modules, and one communication module may be deployed on one functional module.
  • the communication module 3 may be constructed using circuit resources in the SoC for the deployed functional modules, or may use an IP core or other existing electronic devices to connect with the deployed functional modules, which is not limited in this disclosure.
  • Multiple functional modules can communicate through the bus, and the functional module deployed with the communication module can communicate directly with the communication module deployed on it, and the communication module can communicate with other functional modules through the bus, so that the functional modules can pass the
  • the communication module communicates with other functional modules, and the communication module can be used to implement the communication method provided by the embodiments of the present disclosure.
  • multiple functional modules communicate through the reference bus, that is to say, the communication between multiple functional modules needs to meet the specifications of the reference bus, and the output/input ports of the functional modules correspond to the input/input ports of the communication modules deployed on them.
  • the output ports are electrically connected by wires, so as to realize direct communication.
  • the direct communication may or may not comply with the above-mentioned reference bus specification, which is not limited in the present disclosure.
  • the first functional module 1 is deployed with a communication module 3, the first functional module 1 can communicate directly with the communication module 3, and the communication module 3 can communicate with the second functional module 2 through a bus Communication, whereby the first functional module 1 can communicate with the second functional module 2 through the communication module 3 deployed thereon. Meanwhile, the first functional module 1 and the second functional module 2 can communicate through the bus.
  • the above functional modules can realize the transmission of data or control signals through the bus based on the handshake mechanism.
  • the first functional module 1 can directly send the handshake signal to the communication module 3, and then communicate with the second function through the communication module 3 and the bus.
  • Module 2 communicates.
  • the bus can include multiple communication channels.
  • AXI Advanced eXtensible Interface
  • it can include 5 independent channels, which are respectively write address, write data, write response, read address, read
  • the five channels are independent of each other, and each channel uses a handshake mechanism to transmit information, and the handshake mechanism can be a valid/ready (VALID/READY) mechanism.
  • the sender enables (such as setting high) the VALID signal to indicate that the sender has prepared data, address or control information and keeps them on the bus; the receiver enables (such as setting high) the READY signal to indicate that the receiver
  • the reception preparation has been done, and when the READY and VALID signals are both enabled, the receiver can read the data, address or control information prepared by the sender from the bus.
  • the write address task can be performed through the write address channel, and similarly, the write data task can be performed through the write data channel.
  • write operations can include write address tasks, write data tasks, and response tasks, and the corresponding tasks can be implemented by handshaking through the write address channel, write data channel, and response channel respectively.
  • the process of the write operation includes: the first functional module (such as the master device) sends a write address request through the write address channel (such as enabling the VALID signal by enabling the write address channel), and sends a write data valid signal through the write data channel. signal (such as enabling the VALID signal by enabling the write data channel), after the second functional module (such as a slave) is ready and sends the READY signal corresponding to the write address channel and the write data channel respectively, the second functional module starts to read Data to be transmitted on the bus.
  • the second function module since both the address and the data are sent from the first functional module to the second functional module, there is no sequence constraint between the two channels of writing address and writing data.
  • the second function module After the second function module receives the data to be transmitted on the bus, it will enable the BVALID (write response valid) signal through the response channel, and the first function module can enable the BREADY (write response ready) signal of the response task at the beginning of the write operation.
  • the first functional module judges that the BVALID signal is enabled, the BREADY signal and the BVALID signal on the response channel are both in an enabled state.
  • the first functional module can determine the status of the write transaction according to the signal on the response channel. state, the write operation is officially completed.
  • the functional module may cause the functional module to receive the ready information of the communication task of the writing address channel. (for example, READY signal), the communication task of writing the data channel can be started, resulting in an increase in the time consumed by communication, thereby affecting the communication efficiency of the entire communication network.
  • the ready information of the communication task of the writing address channel for example, READY signal
  • the embodiment of the present disclosure discloses a communication method, which can be applied to an electronic device with computing capability, such as the communication module in the above-mentioned system on chip.
  • the communication method may include the following steps:
  • the communication dependency for example, the first functional module needs to detect the first communication ready information of the second functional module before starting to execute the second communication task.
  • the first communication ready information is used to indicate that the reception preparation corresponding to the first communication task is completed.
  • the above-mentioned first functional module and second functional module may be the intellectual property core in the above-mentioned system-on-chip
  • the first communication task and the second communication task may be the task of sending data or signals from the first functional module to the second functional module
  • the first The communication task such as write address task
  • the second communication task such as write data task
  • the first communication task and the second communication task can be realized through the handshake mechanism.
  • the first communication information may include a VALID signal in the first communication task, such as a write address valid signal.
  • the first communication ready information may be a READY signal in the first communication task, such as a write address ready signal.
  • the second communication information may include a VALID signal in the second communication task, such as a write data valid signal.
  • the first communication information may also include at least one of address data and control information involved in the write task, wherein the address data is such as write address, write address ID (Identity document, identity mark), control Information such as the number of transmission packets in the write task, the size of the write data packet, the transmission type of the write data packet, etc.
  • address data is such as write address, write address ID (Identity document, identity mark), control Information such as the number of transmission packets in the write task, the size of the write data packet, the transmission type of the write data packet, etc.
  • the communication module may replace the first functional module to send the first communication information to the second functional module, and replace the second functional module to send the first communication ready information to the first functional module.
  • the first communication task is an address writing task.
  • the first functional module After the first functional module starts to execute the first communication task, prepares the address data to be transmitted, and saves the address data on the bus, it can send the first communication task to the second functional module.
  • a communication message At this time, the communication module intercepts the first communication message after detecting it, and sends the second communication message to the first functional module.
  • the first communication task is an address writing task
  • the first functional module starts to execute the first communication task, prepares the address data to be transmitted, and writes the address data, control information, and VALID involved in the writing task.
  • the first communication information such as the signal is directly sent to the communication module. After the communication module detects the enabled VALID signal, it enables the READY signal of the address writing task and sends it to the first functional module.
  • the communication module may generate first communication ready information corresponding to the first communication information and send it to the first functional module, So that the first functional module determines that the first communication task is completed, and thus starts to execute the second communication task.
  • the first functional module determines that the current first communication task has been completed, it may start to execute a new first communication task, but at this time the second functional module may still be executing the previous first communication task, The new first communication task cannot be executed immediately. Therefore, the communication module can temporarily store the received and new first communication information, and then provide them to the second function module one by one, so that the second function module can gradually complete each first communication. Task.
  • the first communication ready information may be a corresponding READY signal.
  • the first communication task as an address writing task as an example, when the first functional module is ready to write the address data required by the address task, the first functional module can set the VALID signal high, and send the VALID signal to the second functional module through the communication module. Send the first communication information.
  • the task of writing the data is usually required.
  • the task of writing the address is a task of transmitting address information
  • the task of writing data is a task of transmitting data.
  • the second function module After the second function module receives the information sent by the first function module for executing the write address task and the write data task, the second function module writes the specified data to the specified address according to the received information.
  • the task of writing data and the task of writing address are independent of each other and can be executed in parallel at the same time. Whether one task is completed or not has no influence on the execution of the other task.
  • the port protocol designed for some special types of functional modules creates a communication dependency between the task of writing data and the task of writing addresses, for example, it is necessary to detect the first communication ready information of the second functional module in the first functional module After that, the first functional module can start to execute the second communication task, that is, only when the first functional module detects the READY signal corresponding to the address writing task, can it send the VALID signal of the data writing task to the second functional module. In this way, the two communication tasks cannot be executed in parallel, resulting in an increase in the time consumed by the communication tasks.
  • the embodiment of the present disclosure adds a communication module to detect the first communication information.
  • the communication module directly sends the first communication ready information to the first functional module, so that the first functional module can send the second communication information when the preparation for receiving the first communication task of writing the address is not completed, for example, for the first VALID signal of the second communication task, and start to execute the second communication task, thereby decoupling the communication dependencies of the two communication tasks.
  • the above-mentioned first communication ready information sent to the first functional module is a READY signal generated by the communication module, not generated and sent by the second functional module, and the first communication ready information is used to indicate the reception preparation of the first communication task job done.
  • the second function module may not have completed the preparation for receiving the first communication task.
  • the communication module sends a false Communication readiness information. After the first functional module detects the READY signal corresponding to the first communication information, the first functional module will determine that the preparation for receiving the first communication task is completed, and at this time the execution conditions of the second communication task are met, and the conditions between the two are satisfied. communication dependencies, that is, sending the second communication information of the second communication task to the second functional module, thereby starting to execute the second communication task.
  • the second function module can obtain the communication data stored in the communication module by the first function module after the receiving preparation is completed, such as address data, control information, and the like.
  • the communication module can cache the first communication information, and then send the first communication information to the second functional module, where the communication module sends the first communication information
  • the step of sending to the second function module may be executed synchronously with the step of sending the first communication ready information corresponding to the first communication information to the first function module, or may be executed asynchronously.
  • the communication module sends the enabling state of the VALID signal included in the first communication information to the second function module, so as to notify the second function module that a first communication task is currently coming.
  • the second function module executes the reception preparation work corresponding to the first communication task, and enables the reference communication ready information (such as the corresponding READY signal) after the reception preparation work is completed, when the VALID signal of the first communication information and the reference communication ready information After all the signals are enabled, the second function module can read the address data and/or control information written by the first function module from the communication module through the bus, so as to complete the first communication task.
  • the reference communication ready information such as the corresponding READY signal
  • the second function module when the second function module completes the reception preparation work corresponding to the first communication task, the second function module can set the READY signal corresponding to the received VALID signal high, that is, refer to the communication ready information, and the VALID When the signal and the READY signal are set high at the same time, the data transmission of the first communication task can be performed through the communication module, and the address writing task can be completed.
  • FIG. 4 it is a sequence diagram of the first functional module executing the first communication task and the second communication task in an embodiment, wherein the first communication task is, for example, a write address task, and the second communication task is, for example, a write data task .
  • the first functional module prepares relevant data of the write address, it stores it on the connection line connected to the communication module, and enables the VALID signal of the write address.
  • the communication module detects that the state of the VALID signal of the write address is enabled, the corresponding write address READY signal is enabled, so that the first functional module determines that the communication dependency between the first communication task and the second communication task is satisfied at this time. , and then enable the VALID signal of the write data on the write data channel of the AXI bus, that is, the first functional module starts to execute the second communication task.
  • the READY signal of the write address is enabled through the write address channel connected to the communication module, that is, referring to the communication ready information, and the second function module starts to read the data on the communication module.
  • the stored data related to the write address completes the first communication task.
  • the second communication task related to writing data may have been executed for a period of time, and the second communication task can be executed before the second functional module sends the READY signal for writing the address, instead of waiting until the first functional module Executing after receiving the READY signal for writing the address sent by the second functional module can effectively reduce the total time for executing the first communication task and the second communication task.
  • the communication module directly sends the first communication ready information to the first function module without waiting for the second function module to prepare for receiving after detecting the first communication information, so that the first function module can send the first communication task of the second communication task.
  • Two communication information so as to decouple the communication dependency between the first communication task and the second communication task, so that the two communication tasks can be executed in parallel, and the communication efficiency is improved.
  • the first functional module may also prepare for the second communication task after receiving the first communication ready information, and send the second communication information after completing the corresponding preparation.
  • the communication module sends the first communication ready information of the first communication task to the first functional module, if the reference communication ready information generated by the second functional module after the receiving preparation is completed is also sent to the first functional module, it may be Resulting in confusion on the first communication mission. Furthermore, if in the process of executing the current first communication task, the first functional module executes a new first communication task, for example, sends a VALID signal of a new write address, then the communication module will also send a new address to the second functional module. Send this new VALID signal.
  • the second function module does not directly receive the new VALID signal sent by the communication module, but receives the VALID signal asynchronously, it is easy to cause confusion in the timing of communication tasks, and the VALID signal and READY signal between different communication tasks are misplaced, resulting in communication There was an error in the task.
  • an embodiment of the present disclosure provides a possible implementation manner, in which a communication queue may be deployed in the communication module, and the first communication information is sent to the second functional module through the communication queue.
  • the communication module may include a communication queue (not shown in the figure), and the communication queue may be a first-in-first-out (First Input First Output, FIFO) queue.
  • the communication module may include a FIFO memory, which has the characteristics of first write first read, and can ensure the sequence of data transmission and control signal transmission on the communication channel.
  • the FIFO memory can respond to the write enable signal (wren) of the first functional module, so that the first functional module can write data (wrdata) to the FIFO memory. When the FIFO memory is full, the queue can be sent to the first functional module.
  • Write information such as a full load signal (wrfull)
  • the FIFO memory can also respond to the read enable signal (rden) of the second function module, so that the second function module can read the data in the FIFO memory, and when the FIFO memory is empty Next, send queue unreadable information to the second functional module, such as a read empty signal (rdempty).
  • a read empty signal rdempty
  • the first communication task is the write address task
  • the second communication task is the write data task
  • the first communication information includes the VALID signal of the write address task and the write address task.
  • the first functional module may send the VALID signal of the write address task to the communication module by enabling the wren signal. For example, set the level of the wren signal to enable or disable the VALID signal.
  • the communication module can send pseudo communication ready information by enabling the READY signal, that is, the first communication ready information.
  • the READY signal can be a signal that inverts the wrfull signal, and the NOT gate and signal The connection relationship is not shown in FIG. 2 .
  • the first functional module can determine the state of the READY signal by directly detecting the value of wrfull, and determine that the READY signal is in an enabled state when the value of wrfull is 0; determine READY when the value of wrfull is 1 The signal is in an invalid state.
  • the first functional module can write data to the communication module on the wrdata signal line, so as to store the address data and control information related to the write address task into the communication module, and the wrdata signal
  • the number of bits of the line is determined according to the number of bits of information such as address data and control information; the first functional module can also start to execute the second communication task.
  • the communication module can enable the VALID signal to notify the second functional module that there is an address writing task to be executed.
  • the VALID signal can be a signal that inverts the rdempty signal. The connection relationship between the NOT gate and the signal is not shown in FIG. 2 .
  • the second function module can directly determine the state of the VALID signal by detecting the value of rdempty, and determine that the VALID signal is in an enabled state when the value of rdempty is 1; determine that the VALID signal is in an invalid state when the value of rdempty is 0 .
  • the second function module can read data from the communication module on the Rddata signal line, so as to read the address data and control information related to the write address task.
  • the number of bits of the Rddata signal line is the same as that of the wrdata signal line.
  • the communication module sends the first communication information to the second function module.
  • the second function module can enable the READY signal for the write address task by enabling the rden signal, to indicate that the preparation for receiving the write address task is done.
  • the communication module When the communication module is fully loaded, the communication module can set the value of the wrfull signal to 1, that is, set READY to an invalid state, so as to realize sending queue unwritable information to the first functional module, thereby prompting the first functional module to stop sending data.
  • the communication module After the second function module reads all the data stored in the communication module, the communication module is in an empty state, and the communication module can set the value of the rdempty signal to 1, that is, to set VALID to an invalid state, so as to realize sending to the second function module.
  • the second function module sends the message that the queue is unreadable, thereby prompting the second function module to stop reading data.
  • the first communication information can be sent to the second function module through the following steps:
  • the above-mentioned communication queue has the characteristics of first-in-first-out, which can be realized by using FIFO memory.
  • the second function module reads communication information from the communication queue, it can read in the order in which the communication queue is written, thereby ensuring the integrity of the communication task .
  • the FIFO memory can send queue readable information to the second functional module, for example, by setting the value of the rdempty signal to 0, to indicate that the second functional module can read data in the communication queue, so that the second The function module can read the first written data in the FIFO memory.
  • the second functional module can start receiving preparations, and enable the rden read enable signal after completion, so that the second functional module can use the READY signal for the first communication information, that is, refer to Communication ready information, after that, the second function module can start to read data from the communication module.
  • the second functional module After the second functional module completes the receiving preparation work corresponding to the first communication task, it will send reference communication ready information.
  • the above reference communication ready information is the READY signal corresponding to the first communication task. Since the communication module has sent the first communication task The ready information is sent to the first functional module, and the reference communication ready information is not sent to the first functional module in order to ensure the integrity of the communication task.
  • the second functional module When the second functional module reads the first communication information from the queue, because of the characteristics of the FIFO memory, it can be guaranteed that the read first communication information is at the head of the queue, and when the second functional module completes the receiving corresponding to the first communication task In the case of working, the first communication information is deleted from the communication queue, thereby preventing the second functional module from still reading the first communication information when the current first communication task is completed. Wherein, being able to refer to the communication ready information indicates that the second functional module is ready to receive the data of the first communication task.
  • the above-mentioned communication queue has a certain depth, and the depth may refer to the maximum number of N-bit data that can be stored in the communication queue, and the depth may be set according to the amount of data to be stored in the communication task. Due to the existence of the depth of the communication queue, when the communication queue is full, no new communication information can be stored. Therefore, when the communication queue is full, the queue can not be written to the first functional module, indicating that the communication queue is not available. The written status is used to make the first functional module stop sending new first communication information, so as to avoid loss of the communication task or conflict with the current communication task.
  • the communication module can detect the amount of communication information stored in the communication queue with a preset time period. After the non-writable information, the first functional module may not send new communication information to the communication module.
  • the unwritable information of the queue can be an enable signal, which is set high when the communication queue is full, and set low when the communication queue is not full, and the first function module sets high when the signal of the unwritable information of the queue is detected It is possible to suspend writing new communication information, and after the signal is set low, or after receiving the signal to continue sending, the new first communication task can be executed.
  • the second functional module when it is detected that the data stored in the communication queue is empty, due to the read request, the second functional module will still try to read the data in the communication queue, resulting in a waste of computing resources.
  • the queue unreadable information may be sent to the second functional module, so that the second functional module stops reading the communication queue.
  • first communication task in the embodiment of the present disclosure is an address writing task
  • second communication task is a data writing task
  • any two tasks are independent of each other and are caused by the design of functional modules. All communication tasks that have communication dependencies can implement the above communication methods.
  • the writing order of each step does not mean a strict execution order and constitutes any limitation on the implementation process.
  • the specific execution order of each step should be based on its function and possible
  • the inner logic is OK.
  • each module in the device can implement each step in the communication method of each of the above-mentioned embodiments, and can achieve the same beneficial effect, therefore, for the same part No more details here. Specifically, as shown in FIG.
  • the communication device includes: a response circuit 510, configured to respond to the first communication information sent by the first functional module for the first communication task with the second functional module, to the first The function module sends the first communication ready information corresponding to the first communication information, so that the first function module sends the second communication information for the second communication task to the second function module; the sending circuit 520 is configured to sending the first communication information to the second function module, so that the second function module performs the receiving work corresponding to the first communication task; wherein, the first communication task and the second communication There is a communication dependency between the tasks; the first communication readiness information is used to indicate that the receiving preparation work corresponding to the first communication task is completed.
  • the sending circuit 520 is specifically configured to: store the first communication information in a communication queue; when it is detected that the communication queue is not empty, send the message to the second functional module Sending queue-readable information, so that the second function module reads the communication information stored in the communication queue.
  • the sending circuit 520 is further configured to: delete the first communication information from the communication queue when the second functional module is enabled to refer to the communication ready information, wherein , enabling the reference communication ready information indicates that the second functional module is ready to receive data of the first communication task.
  • the sending circuit 520 is further configured to: send queue unreadable information to the second functional module when it is detected that the communication queue changes from non-empty to empty, so that The second function module stops reading and reads the communication queue.
  • the sending circuit 520 is further configured to: when it is detected that the communication queue is fully loaded, send queue unwritable information to the first functional module, so that the first The function module stops sending new first communication information.
  • the first communication task includes a write address task; the second communication task includes a write data task; the first communication information includes a write address valid signal; the first communication ready information includes a write address A ready signal; the second communication information includes a valid signal for writing data.
  • An embodiment of the present disclosure further provides a system on chip, including a plurality of functional modules and at least one communication module; the communication module is configured to execute any of the communication methods described above.
  • the multiple functional modules include a first functional module and a second functional module
  • the communication module is deployed on the first functional module and directly communicates with the first functional module, so The second functional module communicates with the communication module and the first functional module respectively through a bus.
  • An embodiment of the present disclosure further provides a chip, and the chip includes the above-mentioned system on a chip.
  • the embodiment of the present disclosure also provides an electronic device 600, as shown in FIG.
  • the memory 62 is used to store execution instructions, including a memory 621 and an external memory 622, or includes the above-mentioned chip with a system-on-chip deployed; the memory 621 here is also called an internal memory, and is used to temporarily store the calculation data in the processor 61, and communicate with The data exchanged by the external memory 622 such as hard disk, the processor 61 exchanges data with the external memory 622 through the memory 621, when the electronic device 600 is running, the processor 61 communicates with the memory 62 through the bus 63, so that the processor 61 executes the following instructions : in response to the first communication information sent by the first functional module for the first communication task with the second functional module, sending the first communication ready information corresponding to the first communication information to the first functional module, so as to Make the first function module send second communication information for a second communication task to the second function module; send the first communication information to the second function module
  • Embodiments of the present disclosure further provide a computer-readable storage medium, on which a computer program is stored, and when the computer program is run by a processor, the steps of the communication method described in the foregoing method embodiments are executed.
  • the storage medium may be a volatile or non-volatile computer-readable storage medium.
  • Embodiments of the present disclosure also provide a computer program product, including a computer-readable storage medium storing program codes.
  • the instructions included in the program codes can be used to execute the steps of the communication method described in the above method embodiments. For details, see The foregoing method embodiments are not described in detail here.
  • the computer program product may be specifically realized by hardware, software or a combination thereof.
  • the computer program product is embodied as a computer storage medium, and in another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (Software Development Kit, SDK) etc. wait.
  • a software development kit Software Development Kit, SDK
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the functions are realized in the form of software function units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium executable by a processor.
  • the technical solution of the present disclosure is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in various embodiments of the present disclosure.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disc and other media that can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

本公开提供了一种通信方法、装置、电子设备、存储介质及片上系统。其中,本公开首先响应于第一功能模块针对与第二功能模块之间的第一通信任务发送的第一通信信息,向所述第一功能模块发送所述第一通信信息对应的第一通信就绪信息,以使所述第一功能模块向所述第二功能模块发送针对第二通信任务的第二通信信息;然后,将所述第一通信信息发送给所述第二功能模块,以使所述第二功能模块执行所述第一通信任务对应的接收工作;其中,所述第一通信任务和所述第二通信任务之间具有通信依赖关系;第一通信就绪信息用于表示第一通信任务对应的接收准备工作完成。

Description

通信方法、装置、电子设备、存储介质及片上系统 技术领域
本公开涉及计算机技术领域,具体而言,涉及一种通信方法、装置、电子设备、存储介质及片上系统。
背景技术
片上系统(System-on-a-Chip,SoC)是一种集成电路,它将计算系统或其他电子系统的许多元素整合到一个芯片中。SoC通常集成有多个功能模块,这些功能模块可以是预先被设计好的电路功能模块,如知识产权核(Intellectual Property core,IP核)。
在对SoC进行功能模块的集成时,会对候选的功能模块进行性能评估,筛选出合适的功能模块进行集成。然而,筛选出的功能模块可能属于不同的类型、且各个功能模块的评估环境是孤立的,通常仅针对单个功能模块的独立运行情况进行评估,不能评估多种功能模块共同运行下的性能。在集成到系统级别时,由于功能模块对自身携带的端口协议做出的约束,不同功能模块之间进行通信时,一方功能模块需要遵循对方功能模块端口协议的设计,比如,在两功能模块进行通信时,两个相互独立的通信任务受到功能模块的端口约束的影响,可能需要在一个通信任务完成后才能开始下一通信任务,导致功能模块在通信时的效率较低。
发明内容
本公开实施例至少提供一种通信方法、装置、电子设备、存储介质及片上系统。
第一方面,本公开实施例提供了一种通信方法,所述方法应用于片上系统中的通信模块,所述片上系统还包括第一功能模块和第二功能模块,所述方法包括:响应于第一功能模块针对与第二功能模块之间的第一通信任务发送的第一通信信息,向所述第一功能模块发送所述第一通信信息对应的第一通信就绪信息,以使所述第一功能模块向所述第二功能模块发送针对第二通信任务的第二通信信息;将所述第一通信信息发送给所述第二功能模块,以使所述第二功能模块执行所述第一通信任务对应的接收工作;其中,所述第一通信任务和所述第二通信任务之间具有通信依赖关系;第一通信就绪信息用于表示第一通信任务对应的接收准备工作完成。
该方面,通过在检测到第一通信信息后不等待第二功能模块进行接收准备工作,直接向第一功能模块发送第一通信就绪信息,使得第一功能模块直接发送第二通信任务的第二通信信息,将第一通信任务与第二通信任务之间的通信依赖关系进行解耦,使两个通信任务能够并行执行,提高了通信效率。
在一种可能的实施方式中,所述将所述第一通信信息发送给所述第二功能模块,包括:将所述第一通信信息存储至通信队列中;在检测到所述通信队列非空的情况下,向所述第二功能模块发送队列可读信息,以使所述第二功能模块读取所述通信队列中存储的通信信息。
该实施方式,利用通信队列存储第一通信信息,并利用队列可读信息通知第二功能模块读取通信队列中存储的通信信息,借由通信队列先进先出的特性,能够保证第二功能模块在读取通信信息时的时序正确。
在一种可能的实施方式中,所述方法还包括:在所述第二功能模块使能参考通信就绪信息的情况下,将所述第一通信信息从所述通信队列中删除,其中,使能所述参考通信就绪信息表示所述第二功能模块准备接收所述第一通信任务的数据。
该实施方式,通过在接收到第二功能模块使能的参考通信就绪信息后,将通信队列中的第一通信信息删除,使得第二功能模块能够读取到通信队列中下一个存储的通信信息,并为下一次通信任务做准备,有效保证了通信顺序的准确性。
在一种可能的实施方式中,所述方法还包括:在检测到所述通信队列从非空转换至空载的情况下,向所述第二功能模块发送队列不可读信息,以使所述第二功能模块停止对所述通信队列进行读取。
该实施方式,通过在通信队列为空的情况下向第二功能模块发出队列不可读信息,使得第二功能模块停止对通信队列进行读取,能够减少第二功能模块对通信队列的无效读取,从而降低计算资源的消耗。
在一种可能的实施方式中,所述方法还包括:在检测到所述通信队列转换至满载的情况下,向所述第一功能模块发送队列不可写信息,以使所述第一功能模块停止发送新的第一通信信息。
该实施方式,通过在通信队列满载时禁止第一功能模块发送新的第一通信信息,能够减少因通信队列满载导致的通信信息溢出或丢失。
在一种可能的实施方式中,所述队列不可写信息包括所述第一通信就绪信息的无效 状态。
在一种可能的实施方式中,所述第一通信任务包括写地址任务;所述第二通信任务包括写数据任务;第一通信信息包括写地址有效信号;所述第一通信就绪信息包括写地址就绪信号;所述第二通信信息包括写数据有效信号。
该实施方式,能够适用于写地址任务及写数据任务,使得写数据任务与写地址任务能够不受功能模块的限制并行执行,效率较高。
第二方面,本公开实施例还提供一种片上系统,包括多个功能模块以及至少一个通信模块;所述通信模块,用于执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
在一种可能的实施方式中,所述多个功能模块包括第一功能模块和第二功能模块,所述通信模块部署于所述第一功能模块上且与所述第一功能模块直接通信,所述第二功能模块分别与所述通信模块、所述第一功能模块通过总线通信。
第三方面,本公开实施例还提供一种通信装置,包括:响应电路,用于响应于第一功能模块针对与第二功能模块之间的第一通信任务发送的第一通信信息,向所述第一功能模块发送所述第一通信信息对应的第一通信就绪信息,以使所述第一功能模块向所述第二功能模块发送针对第二通信任务的第二通信信息;发送电路,用于将所述第一通信信息发送给所述第二功能模块,以使所述第二功能模块执行所述第一通信任务对应的接收工作;其中,所述第一通信任务和所述第二通信任务之间具有通信依赖关系;第一通信就绪信息用于表示第一通信任务对应的接收准备工作完成。
第四方面,本公开实施例还提供一种芯片,包括如上述第二方面所述的片上系统。
第五方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤;或者,包含如第四方面所述的芯片。
第六方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述通信装置、片上系统、芯片、电子设备、及计算机可读存储介质的效果描述参见通信方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种片上系统的示意图;
图2示出了本公开实施例中通信模块的示意图;
图3示出了本公开实施例所提供的一种通信方法的流程图;
图4示出了本公开实施例中执行第一通信任务及第二通信任务的时序图;
图5示出了本公开实施例所提供的一种通信装置的示意图;
图6示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如, A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
针对现有技术中,不同类型的功能模块由于端口协议限制导致通信时效率低的缺陷,本公开提供了一种通信方法、装置、电子设备、存储介质及片上系统,本公开首先响应于第一功能模块针对与第二功能模块之间的第一通信任务发送的第一通信信息,向所述第一功能模块发送所述第一通信信息对应的第一通信就绪信息,以使所述第一功能模块向所述第二功能模块发送针对第二通信任务的第二通信信息,然后,将所述第一通信信息发送给所述第二功能模块,以使所述第二功能模块执行所述第一通信任务对应的接收工作,其中,所述第一通信任务和所述第二通信任务之间具有通信依赖关系,第一通信就绪信息用于表示第一通信任务对应的接收准备工作完成。本公开通过在检测到第一通信信息后不等待第二功能模块进行接收准备工作,直接向第一功能模块发送第一通信就绪信息,使得第一功能模块直接发送第二通信任务的第二通信信息,将第一通信任务与第二通信任务之间的通信依赖关系进行解耦,使两个通信任务能够并行执行,提高了通信效率。
下面通过具体的实施例,对本公开实施例公开的通信方法、装置、电子设备、存储介质及片上系统进行说明。
如图1所示,本公开实施例公开了一种片上系统,为简单起见,该片上系统示出了第一功能模块1和第二功能模块2共两个功能模块以及一个通信模块3,但本公开并不限制功能模块和通信模块的数量。第一功能模块1和第二功能模块2可以为知识产权核(Intellectual Property core,IP核),通信模块3可以部署于功能模块之上,一个通信模块可以部署在一个功能模块上。该通信模块3可以是使用SoC中的电路资源为所部署的功能模块搭建的,也可以使用IP核或其他已有的电子器件与所部署的功能模块相连接,本公开对此不作限制。多个功能模块之间可以通过总线进行通信,部署有通信模块的功能模块能够与其上部署的通信模块进行直接通信,通信模块能够与其他功能模块通过总线通信,从而实现功能模块通过其上部署的通信模块与其他功能模块进行通信,通信模块可以用于执行本公开实施例提供的通信方法。
示例性的,多个功能模块间通过参考总线进行通信,也就是说多个功能模块间的通信需要满足参考总线的规范,而功能模块的输出/输入端口与其上部署的通信模块对应的 输入/输出端口之间通过连线进行电连接,从而实现直接通信,该直接通信可以遵守上述参考总线的规范,也可以无需遵守上述参考总线的规范,本公开对此不作限制。
示例性的,在图1所提供的片上系统中,第一功能模块1部署有通信模块3,第一功能模块1可以与通信模块3直接通信,通信模块3可以与第二功能模块2通过总线通信,由此,可以实现第一功能模块1通过其上部署的通信模块3与第二功能模块2进行通信。同时,第一功能模块1与第二功能模块2可以通过总线通信。
上述功能模块之间可以通过总线基于握手机制来实现数据或控制信号的传输,类似的,第一功能模块1可以直接将握手信号发送至通信模块3,然后通过通信模块3及总线与第二功能模块2进行通信。总线可以包括多个通信通道,比如,在高性能扩展总线接口(Advanced eXtensible Interface,AXI)总线协议下,可以包括5个独立的通道,分别为写地址、写数据、写响应、读地址、读数据通道,5条通道相互独立,并且各个通道分别使用握手机制来实现信息的传递,该握手机制可以为有效/就绪(VALID/READY)机制。在一次握手中,发送方使能(如置高)VALID信号表示发送方已经将数据,地址或者控制信息准备就绪,并保持于总线上;接收方使能(如置高)READY信号表示接收方已经做好接收准备工作,在READY和VALID信号都使能的情况下,接收方可从总线上读取发送方准备好的数据、地址或控制信息。写地址任务可以通过写地址通道执行,相似的,写数据任务可以通过写数据通道执行。
在AXI总线协议下,写操作可以包括写地址任务、写数据任务、响应任务,相应任务可以分别通过写地址通道、写数据通道、响应通道进行握手实现。相关技术中,写操作的过程包括:第一功能模块(例如主设备)通过写地址通道发出写地址请求(例如通过使能写地址通道使能VALID信号),通过写数据通道发出写数据有效的信号(例如通过使能写数据通道使能VALID信号),在第二功能模块(例如从设备)准备好并发出写地址通道及写数据通道分别对应的READY信号之后,第二功能模块开始读取总线上的待传输数据。其中,由于地址和数据都是由第一功能模块向第二功能模块发出的,写地址通道和写数据通道这两个通道之间没有先后顺序的约束。第二功能模块接收总线上的待传输数据后会通过响应通道使能BVALID(写响应有效)信号,第一功能模块可以在写操作开始时就使能响应任务的BREADY(写响应就绪)信号,这样,在第一功能模块判断出BVALID信号使能后,响应通道上的BREADY信号和BVALID信号都处于使能状态,此时第一功能模块可以根据响应通道上的信号,确定本次写事务的状态,该次写操作正式执行完成。
然而,功能模块的多个通信任务之间可能具有一定的依赖关系和约束限制,且功能模块的开发通常是基于孤立的运行环境进行的,功能模块的性能评估结果也是基于孤立的运行环境得到的,并不考虑多种类型的功能模块组成的片上系统的带宽、通信延迟等因素。进一步的,在片上系统的环境下,需要基于集成的各个功能模块的端口协议,将各个功能模块互联起来形成通信网络,但各个功能模块自身端口协议上的限制会影响到整个片上系统的通信网络。比如,在AXI协议下,写地址、写数据两个通道的通信任务互相独立,然而,由于功能模块自身端口设计的原因,可能会导致功能模块需要在接收到写地址通道的通信任务的就绪信息(例如READY信号)后才能开始写数据通道的通信任务,导致通信消耗的时间增加,从而影响整个通信网络上的通信效率。
如图3所示,为了解决上述技术问题,本公开实施例公开了一种通信方法,该方法可以应用于具有计算能力的电子设备上,如上述片上系统中的通信模块等。具体的,该通信方法可以包括如下步骤:
S310、响应于第一功能模块针对与第二功能模块之间的第一通信任务发送的第一通信信息,向所述第一功能模块发送所述第一通信信息对应的第一通信就绪信息,以使所述第一功能模块向所述第二功能模块发送针对第二通信任务的第二通信信息。
其中,所述第一通信任务和所述第二通信任务之间具有通信依赖关系。通信依赖关系例如第一功能模块需要在检测到第二功能模块的第一通信就绪信息后,才开始执行第二通信任务。第一通信就绪信息用于表示第一通信任务对应的接收准备工作完成。
上述第一功能模块与第二功能模块可以为上述片上系统中的知识产权核,第一通信任务和第二通信任务可以为第一功能模块向第二功能模块发送数据或信号的任务,第一通信任务例如写地址任务,第二通信任务例如写数据任务,第一通信任务和第二通信任务可以通过握手机制实现。第一通信信息可以包括第一通信任务中的VALID信号,例如写地址有效信号。相应的,第一通信就绪信息可以为第一通信任务中的READY信号,例如写地址就绪信号。第二通信信息可以包括第二通信任务中的VALID信号,例如写数据有效信号。
在一种可能的实施方式中,第一通信信息还可以包括写任务涉及的地址数据、控制信息中的至少一个,其中,地址数据如写地址、写地址ID(Identity document,身份标识),控制信息如写任务中传输包的个数、写数据包的大小、写数据包的传输类型等。
在一种可能的实施方式中,通信模块可以替代第一功能模块向第二功能模块发送第 一通信信息,以及替代第二功能模块向第一功能模块发送的第一通信就绪信息。
示例性的,第一通信任务为写地址任务,在第一功能模块开始执行第一通信任务,准备待传输的地址数据,并将地址数据保存在总线上后,可以向第二功能模块发送第一通信信息,此时通信模块检测到第一通信信息后将其拦截,并向第一功能模块发送第二通信信息。
在另一种可能的实现方式中,第一通信任务为写地址任务,第一功能模块开始执行第一通信任务,准备待传输的地址数据,并将写任务涉及的地址数据、控制信息以及VALID信号等第一通信信息直接发给通信模块,通信模块在检测到使能的VALID信号后,将写地址任务的READY信号置为使能并发给第一功能模块。
在通信模块检测到第一功能模块向第二功能模块发送的第一通信信息的情况下,通信模块可以生成第一通信信息对应的第一通信就绪信息,并将其发送至第一功能模块,以便第一功能模块判定第一通信任务完成,从而开始执行第二通信任务。
进一步的,第一功能模块在判定当前的第一通信任务已经完成的情况下,可能会开始执行新的第一通信任务,但此时第二功能模块可能仍在执行之前的第一通信任务,无法立刻执行新的第一通信任务,因此,通信模块可以将接收到的、新的第一通信信息暂存起来,再逐个提供给第二功能模块,使第二功能模块逐步完成各个第一通信任务。
其中,在第一通信信息包括VALID信号的情况下,第一通信就绪信息可以为与其对应的READY信号。以第一通信任务为写地址任务为例,在第一功能模块准备好写地址任务所需的地址数据时,第一功能模块即可将VALID信号置高,并通过通信模块向第二功能模块发送第一通信信息。
一般情况下,在进行一次数据通信时,除了写地址任务,通常还需要进行写数据任务,写地址任务是传输地址信息的任务,写数据任务则为传输数据的任务。在第二功能模块接收到第一功能模块为执行写地址任务及写数据任务发送的信息后,第二功能模块根据接收到的信息将指定的数据写入至指定的地址处。在AXI总线协议下,写数据任务和写地址任务之间是相互独立的,可以在同一时间并行执行,一任务是否完成对另一任务的执行不存在影响。然而,为一些特殊类型的功能模块所设计的端口协议使得写数据任务与写地址任务之间产生了通信依赖关系,比如,需要在第一功能模块检测到第二功能模块的第一通信就绪信息后,第一功能模块才能够开始执行第二通信任务,也即,只有第一功能模块检测到了写地址任务对应的READY信号,才能够向第二功能模块发送 写数据任务的VALID信号。这样,两次通信任务不能够并行执行,导致通信任务消耗的时间增加。
为了减轻上述因功能模块自身限制使第一通信任务和第二通信任务之间具有通信依赖,从而引起通信效率较低的问题,本公开实施例通过增加通信模块,在检测到第一通信信息的情况下,通信模块直接向第一功能模块发送第一通信就绪信息,使得第一功能模块能够在的写地址的第一通信任务的接收准备工作未完成时,发送第二通信信息,例如针对第二通信任务的VALID信号,并开始执行第二通信任务,从而将两次通信任务的通信依赖关系解耦。
其中,上述向第一功能模块发送的第一通信就绪信息为通信模块生成的READY信号,而并非是第二功能模块生成并发送的,第一通信就绪信息用于表示第一通信任务的接收准备工作完成。需要注意的是,在第一通信就绪信息使能时,第二功能模块可能仍未完成第一通信任务的接收准备工作,为了将两次通信任务的通信依赖关系解耦,通信模块发送了伪通信就绪信息。在第一功能模块检测到第一通信信息对应的READY信号后,第一功能模块会判定第一通信任务的接收准备工作完成,此时满足第二通信任务的执行条件,并满足两者之间的通信依赖关系,即可向第二功能模块发送第二通信任务的第二通信信息,从而开始执行第二通信任务。
S320、将所述第一通信信息发送给所述第二功能模块,以使所述第二功能模块执行所述第一通信任务对应的接收工作。
本步骤中,第二功能模块在执行完毕接收准备工作后可以获取所述第一功能模块存储在通信模块上的通信数据,例如地址数据、控制信息等。
在检测到第一通信信息包括的VALID信号使能的情况下,通信模块可以将第一通信信息缓存下来,然后将第一通信信息发送给第二功能模块,这里,通信模块将第一通信信息发送给第二功能模块的步骤,可以与向第一功能模块发送第一通信信息对应的第一通信就绪信息的步骤同步执行,也可以异步执行。通信模块将第一通信信息包括的VALID信号的使能状态发送给第二功能模块,以通知第二功能模块当前有第一通信任务到来。第二功能模块执行第一通信任务对应的接收准备工作,并在接收准备工作执行完毕后使能参考通信就绪信息(如对应的READY信号),当第一通信信息的VALID信号与参考通信就绪信息的信号都使能后,第二功能模块可以通过总线从通信模块上读取之前第一功能模块写入的地址数据和/或控制信息等,从而完成第一通信任务。
示例性的,在第二功能模块执行完毕第一通信任务对应的接收准备工作时,第二功能模块即可置高与接收到的VALID信号对应的READY信号,也即参考通信就绪信息,在VALID信号与READY信号同时置高时,即可通过通信模块进行第一通信任务的数据传输,完成写地址任务。
参见图4所示,为一实施例中第一功能模块执行第一通信任务及第二通信任务的时序图,其中,第一通信任务例如为写地址任务,第二通信任务例如为写数据任务。在第一通信任务的执行过程中,第一功能模块在准备好写地址的相关数据后,将其存储至与通信模块连接的连线上,并使能写地址的VALID信号。通信模块在检测到写地址的VALID信号的状态为使能后使能相应的写地址READY信号,使得第一功能模块判定此时满足了第一通信任务及第二通信任务之间的通信依赖关系,进而在AXI总线的写数据通道上使能写数据的VALID信号,即第一功能模块开始执行第二通信任务。
第二功能模块确定可以接收第一通信任务的数据时,通过与通信模块相连接的写地址通道使能写地址的READY信号,也即参考通信就绪信息,第二功能模块开始读取通信模块上存储的写地址相关的数据,完成第一通信任务。在某些情况下,写数据有关的第二通信任务可能已经开始执行了一段时间,第二通信任务能够在第二功能模块发送写地址的READY信号之前就开始执行,而并非等到第一功能模块接收到第二功能模块发送的写地址的READY信号后再执行,能够有效降低执行第一通信任务及第二通信任务的总时间。
这样,通过通信模块在检测到第一通信信息后不等待第二功能模块进行接收准备工作,直接向第一功能模块发送第一通信就绪信息,使得第一功能模块可以发送第二通信任务的第二通信信息,从而将第一通信任务与第二通信任务之间的通信依赖关系进行解耦,使两个通信任务能够并行执行,提高了通信效率。本公开实施例中,第一功能模块还可以在接收到第一通信就绪信息后,进行第二通信任务的准备工作,并在完成相应准备工作后发送第二通信信息。
由于上述通信模块将第一通信任务的第一通信就绪信息发送至第一功能模块,若第二功能模块在接收准备工作完成后生成的参考通信就绪信息也被发送至第一功能模块,可能会导致第一通信任务的混乱。再者,若在执行当前第一通信任务的过程中,第一功能模块执行了新的第一通信任务,例如,发送了新的写地址的VALID信号,那么通信模块也会向第二功能模块发送该新的VALID信号。如果第二功能模块并不直接接收通信模块发送的新VALID信号,而是异步接收该VALID信号,容易造成通信任务在时序 上的混乱,不同通信任务之间的VALID信号与READY信号错位,导致通信任务出现错误。
为了解决上述问题,本公开实施例提供了一种可能的实施方式,可以在通信模块中部署通信队列,并通过通信队列将第一通信信息发送给第二功能模块。
如图2所示,为本公开实施例中通信模块的示意图,通信模块内可以包含通信队列(图中未示出),通信队列可以为先进先出(First Input First Output,FIFO)的队列,通信模块可以包括FIFO存储器,具有先写入先读出的特性,能够保证通信通道上数据传输和控制信号传输的顺序性。FIFO存储器能够响应第一功能模块的写入使能信号(wren),从而实现第一功能模块对FIFO存储器进行写入数据(wrdata)操作,在FIFO存储器满载时可以向第一功能模块发送队列不可写信息,例如满载信号(wrfull),FIFO存储器还能够响应第二功能模块的读取使能信号(rden),实现第二功能模块读取FIFO存储器中的数据,并在FIFO存储器为空的情况下向第二功能模块发送队列不可读信息,例如读空信号(rdempty)。值得注意的是,图2所示各信号的排列情况不代表各信号在时序上的关联关系。
为方便理解,下面将结合图2所示通信模块,以第一通信任务为写地址任务、第二通信任务为写数据任务,以及第一通信信息包括写地址任务的VALID信号和写地址任务相关的地址数据、控制信息等为例,对本公开提供的通信方法流程进行描述。首先,为执行第一通信任务,第一功能模块可以通过使能wren信号的方式向通信模块发送写地址任务的VALID信号。例如,设置wren信号的电平使能或无效VALID信号。在通信模块处于未存储数据的“空”的情况下,通信模块的wrfull信号的值为0,rdempty信号的值为1。需要注意的是,此处和后续的电平值仅仅为一个示例,本公开并不限制高电平和低电平对应的信号状态。然后,通信模块可以通过使能READY信号的方式发送伪通信就绪信息,也即第一通信就绪信息,在一个示例中,该READY信号可以为对wrfull信号进行取反的信号,该非门和信号连接关系并未在图2中示出。在另一个示例中,第一功能模块可以通过直接检测wrfull的值的方式,确定READY信号的状态,当wrfull的值为0时确定READY信号处于使能状态;当wrfull的值为1时确定READY信号处于无效状态。在接收到第一通信就绪信息后,第一功能模块可以在wrdata信号线上对通信模块进行写入数据操作,以将写地址任务相关的地址数据、控制信息等存储至通信模块中,wrdata信号线的位数根据地址数据、控制信息等信息的位数确定;第一功能模块还可以开始执行第二通信任务。
在通信模块中存储有写地址任务相关的数据且未满载的情况下,示例性的,wrfull信号的值保持为0,rdempty信号的值被置为0。通信模块可以使能VALID信号以通知第二功能模块存在待执行的写地址任务,该VALID信号可以为对rdempty信号进行取反的信号,该非门和信号连接关系未在图2中示出。或者,第二功能模块可以直接通过检测rdempty的值的方式,确定VALID信号的状态,当rdempty的值为1时确定VALID信号处于使能状态;当rdempty的值为0时确定VALID信号处于无效状态。第二功能模块可以在Rddata信号线上对通信模块进行读取数据操作,从而读取写地址任务相关的地址数据、控制信息等,Rddata信号线的位数与wrdata信号线的位数相同。由此,实现了通信模块将第一通信信息发送给第二功能模块。第二功能模块可以通过使能rden信号实现使能对写地址任务的READY信号,以表示做好了写地址任务的接收准备工作。
在上述过程中,如果通信模块存储有数据且未满载,也即wrfull信号和rdempty信号的值均为0。此时,第一功能模块从而确定READY信号使能,也即READY=1,可以向通信模块继续发送数据;第二功能模块确定VALID信号使能,也即VALID=1,可以从通信模块中读取数据。
当通信模块满载时,通信模块可以将wrfull信号的值置为1,也即将READY设置为无效状态,以实现向第一功能模块发送队列不可写信息,从而提示第一功能模块停止发送数据。当第二功能模块将存储在通信模块中的数据全部读取出后,通信模块处于空的状态,通信模块可以通过将rdempty信号的值置为1,也即将VALID设置为无效状态,实现向第二功能模块发送队列不可读信息,从而提示第二功能模块停止读取数据。
在上述通信模块的基础上,可以通过以下步骤将第一通信信息发送给第二功能模块:
将所述第一通信信息存储至通信队列中;
在检测到所述通信队列非空的情况下,向所述第二功能模块发送队列可读信息,以使所述第二功能模块读取所述通信队列中存储的通信信息。
上述通信队列具有先入先出的特性,可以利用FIFO存储器实现,在第二功能模块从通信队列中读取通信信息时,能够按照通信队列的写入顺序进行读取,从而保证通信任务的完备性。
示例性的,FIFO存储器可以向第二功能模块,例如通过将rdempty信号的值置为0的方式,发送队列可读信息,以表示第二功能模块可以读取通信队列中的数据,使得第二功能模块能够读取FIFO存储器中的最先写入的数据。响应于队列可读信息,第二功 能模块可以开始进行接收准备工作,并在完成后使能rden读取使能信号,以使能第二功能模块对于第一通信信息的READY信号,也即参考通信就绪信息,之后,第二功能模块可以开始从通信模块读取数据。
具体的,第二功能模块在完成第一通信任务对应的接收准备工作后,会发送参考通信就绪信息,上述参考通信就绪信息为第一通信任务对应的READY信号,由于通信模块已经将第一通信就绪信息发送至第一功能模块,为了保证通信任务的完备性该参考通信就绪信息并不发给第一功能模块。在第二功能模块从该队列中读取第一通信信息时,因为FIFO存储器的特性,可以保证读取的第一通信信息在队列首,在第二功能模块在完成第一通信任务对应的接收工作的情况下,将第一通信信息从通信队列中删除,从而防止第二功能模块在完成当前的第一通信任务的情况下仍旧读取该第一通信信息。其中,使能参考通信就绪信息表示第二功能模块准备接收第一通信任务的数据。
上述通信队列存在一定的深度,深度可以指通信队列能够存储的N位数据的个数的最大值,该深度可以根据通信任务需要存储的数据量设定。由于通信队列的深度的存在,在通信队列满载的情况下,无法再存储新的通信信息,因此可以在通信队列满载的情况下,向第一功能模块发送队列不可写信息,表示通信队列处于不可写入的状态,以使第一功能模块停止发送新的第一通信信息,从而避免通信任务的丢失,或与当前的通信任务发生冲突。
示例性的,通信模块可以以预设时间周期对通信队列中存储的通信信息数量进行检测,在检测到通信队列满载时,通信模块可以向第一功能模块发送队列不可写信息,在接收到队列不可写信息后第一功能模块可以不再向通信模块发送新的通信信息。
一种可能的实施方式中,队列不可写信息可以为使能信号,在通信队列满载时置高,在通信队列不满载时置低,第一功能模块在检测到队列不可写信息的信号置高时可以暂停写入新的通信信息,在该信号置低后,或者接收到继续发送信号后,可以开始执行新的第一通信任务。
另外,在检测到通信队列中存储的数据为空的情况下,由于读取请求的原因,第二功能模块仍会尝试读取通信队列中的数据,造成计算资源的浪费,为了解决上述问题,可以在通信队列为空的情况下,向第二功能模块发送队列不可读信息,以使第二功能模块停止对通信队列进行读取。
需要注意的是,虽然本公开实施例中的第一通信任务为写地址任务、第二通信任务 为写数据任务,但本领域技术人员可以理解,任意两个互相独立、因功能模块的设计导致存在通信依赖关系的通信任务都可以实施上述通信方法。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
对应于上述通信方法,本公开还公开一种通信装置,该装置中的各个模块能够实现上述各个实施例的通信方法中的每个步骤,并且能够取得相同的有益效果,因此,对于相同的部分这里不再进行赘述。具体地,如图5所示,通信装置包括:响应电路510,用于响应于第一功能模块针对与第二功能模块之间的第一通信任务发送的第一通信信息,向所述第一功能模块发送所述第一通信信息对应的第一通信就绪信息,以使所述第一功能模块向所述第二功能模块发送针对第二通信任务的第二通信信息;发送电路520,用于将所述第一通信信息发送给所述第二功能模块,以使所述第二功能模块执行所述第一通信任务对应的接收工作;其中,所述第一通信任务和所述第二通信任务之间具有通信依赖关系;第一通信就绪信息用于表示第一通信任务对应的接收准备工作完成。
一种可能的实施方式中,所述发送电路520具体用于:将所述第一通信信息存储至通信队列中;在检测到所述通信队列非空的情况下,向所述第二功能模块发送队列可读信息,以使所述第二功能模块读取所述通信队列中存储的通信信息。
一种可能的实施方式中,所述发送电路520还用于:在所述第二功能模块使能参考通信就绪信息的情况下,将所述第一通信信息从所述通信队列中删除,其中,使能所述参考通信就绪信息表示所述第二功能模块准备接收所述第一通信任务的数据。
一种可能的实施方式中,所述发送电路520还用于:在检测到所述通信队列从非空转换至空载的情况下,向所述第二功能模块发送队列不可读信息,以使所述第二功能模块停止读取对所述通信队列进行读取。
一种可能的实施方式中,所述发送电路520还用于:在检测到所述通信队列转换至满载的情况下,向所述第一功能模块发送队列不可写信息,以使所述第一功能模块停止发送新的第一通信信息。
一种可能的实施方式中,所述第一通信任务包括写地址任务;所述第二通信任务包括写数据任务;第一通信信息包括写地址有效信号;所述第一通信就绪信息包括写地址就绪信号;所述第二通信信息包括写数据有效信号。
本公开实施例还提供一种片上系统,包括多个功能模块以及至少一个通信模块;所述通信模块,用于执行上述任一所述的通信方法。
一种可能的实施方式中,所述多个功能模块包括第一功能模块和第二功能模块,所述通信模块部署于所述第一功能模块上且与所述第一功能模块直接通信,所述第二功能模块分别与所述通信模块、所述第一功能模块通过总线通信。
本公开实施例还提供一种芯片,所述芯片包含上述片上系统。
对应于上述通信方法,本公开实施例还提供了一种电子设备600,如图6所示,为本公开实施例提供的电子设备600结构示意图,包括:处理器61、存储器62、和总线63;存储器62用于存储执行指令,包括内存621和外部存储器622,或者包含上述部署有片上系统的芯片;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换,当电子设备600运行时,处理器61与存储器62之间通过总线63通信,使得处理器61执行以下指令:响应于第一功能模块针对与第二功能模块之间的第一通信任务发送的第一通信信息,向所述第一功能模块发送所述第一通信信息对应的第一通信就绪信息,以使所述第一功能模块向所述第二功能模块发送针对第二通信任务的第二通信信息;将所述第一通信信息发送给所述第二功能模块,以使所述第二功能模块执行所述第一通信任务对应的接收工作;其中,所述第一通信任务和所述第二通信任务之间具有通信依赖关系;第一通信就绪信息用于表示第一通信任务对应的接收准备工作完成。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的通信方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供了一种计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述通信方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (13)

  1. 一种通信方法,其特征在于,所述方法应用于片上系统中的通信模块,所述片上系统还包括第一功能模块和第二功能模块,所述方法包括:
    响应于所述第一功能模块针对与所述第二功能模块之间的第一通信任务发送的第一通信信息,向所述第一功能模块发送所述第一通信信息对应的第一通信就绪信息,以使所述第一功能模块向所述第二功能模块发送针对第二通信任务的第二通信信息;
    将所述第一通信信息发送给所述第二功能模块,以使所述第二功能模块执行所述第一通信任务对应的接收工作;
    其中,所述第一通信任务和所述第二通信任务之间具有通信依赖关系;第一通信就绪信息用于表示所述第一通信任务对应的接收准备工作完成。
  2. 根据权利要求1所述的方法,其特征在于,所述将所述第一通信信息发送给所述第二功能模块,包括:
    将所述第一通信信息存储至通信队列中;
    在检测到所述通信队列非空的情况下,向所述第二功能模块发送队列可读信息,以使所述第二功能模块读取所述通信队列中存储的通信信息。
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:
    在所述第二功能模块使能参考通信就绪信息的情况下,将所述第一通信信息从所述通信队列中删除,其中,使能所述参考通信就绪信息表示所述第二功能模块准备接收所述第一通信任务的数据。
  4. 根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
    在检测到所述通信队列从非空转换至空载的情况下,向所述第二功能模块发送队列不可读信息,以使所述第二功能模块停止对所述通信队列进行读取。
  5. 根据权利要求2至4任一项所述的方法,其特征在于,所述方法还包括:
    在检测到所述通信队列转换至满载的情况下,向所述第一功能模块发送队列不可写信息,以使所述第一功能模块停止发送新的第一通信信息。
  6. 根据权利要求5所述的方法,其特征在于,所述队列不可写信息包括所述第一通信就绪信息的无效状态。
  7. 根据权利要求1至6任一所述的方法,其特征在于,所述第一通信任务包括写地址任务;所述第二通信任务包括写数据任务;所述第一通信信息包括写地址有效信号;所述第一通信就绪信息包括写地址就绪信号;所述第二通信信息包括写数据有效信号。
  8. 根据权利要求1至7任一所述的方法,其特征在于,所述方法还包括:
    接收所述第一功能模块发送的所述第一通信信息;
    和/或,
    接收所述第二功能模块发送的参考通信就绪信息。
  9. 一种片上系统,其特征在于,包括多个功能模块以及至少一个通信模块;
    所述通信模块,用于执行如权利要求1至8中任一所述的通信方法。
  10. 根据权利要求9所述的系统,其特征在于,所述多个功能模块包括第一功能模块和第二功能模块,所述通信模块部署于所述第一功能模块上且与所述第一功能模块直接通信,所述第二功能模块分别与所述通信模块、所述第一功能模块通过总线通信。
  11. 一种芯片,其特征在于,包括:如权利要求9所述的片上系统。
  12. 一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至8任一项所述的通信方法的步骤;或者,包含如权利要求11所述的芯片。
  13. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至8任意一项所述的通信方法的步骤。
PCT/CN2022/114499 2021-08-31 2022-08-24 通信方法、装置、电子设备、存储介质及片上系统 WO2023030128A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111013376.2A CN113704006B (zh) 2021-08-31 2021-08-31 通信方法、装置、电子设备、存储介质及片上系统
CN202111013376.2 2021-08-31

Publications (1)

Publication Number Publication Date
WO2023030128A1 true WO2023030128A1 (zh) 2023-03-09

Family

ID=78658095

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/114499 WO2023030128A1 (zh) 2021-08-31 2022-08-24 通信方法、装置、电子设备、存储介质及片上系统

Country Status (2)

Country Link
CN (1) CN113704006B (zh)
WO (1) WO2023030128A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704006B (zh) * 2021-08-31 2023-11-03 上海阵量智能科技有限公司 通信方法、装置、电子设备、存储介质及片上系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090170557A1 (en) * 2006-10-02 2009-07-02 Prashant Chauhan Systems and methods for enabling communication features utilizing various bearer media
CN103139509A (zh) * 2013-02-26 2013-06-05 西安创芯科技有限责任公司 一种基于axi总线协议的osd控制显示方法及装置
CN104281548A (zh) * 2013-07-03 2015-01-14 炬芯(珠海)科技有限公司 一种基于axi总线传输数据的方法、装置及系统
CN105005546A (zh) * 2015-06-23 2015-10-28 中国兵器工业集团第二一四研究所苏州研发中心 一种内置交点队列的异步axi总线结构
CN113704006A (zh) * 2021-08-31 2021-11-26 上海阵量智能科技有限公司 通信方法、装置、电子设备、存储介质及片上系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845410B1 (en) * 1999-09-29 2005-01-18 Silicon Graphics, Inc. System and method for a hierarchical system management architecture of a highly scalable computing system
CN110830276B (zh) * 2018-08-09 2021-03-19 通号城市轨道交通技术有限公司 一种基于冷冗余机制的EtherCAT通信系统及方法
CN110297722B (zh) * 2019-06-28 2021-08-24 Oppo广东移动通信有限公司 线程任务通信方法及相关产品
CN111026697A (zh) * 2019-11-21 2020-04-17 Oppo广东移动通信有限公司 核间通信方法、系统、电子器件以及电子设备
CN111586335B (zh) * 2020-04-29 2021-12-28 从法信息科技有限公司 一种远程会见方法、装置、系统和电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090170557A1 (en) * 2006-10-02 2009-07-02 Prashant Chauhan Systems and methods for enabling communication features utilizing various bearer media
CN103139509A (zh) * 2013-02-26 2013-06-05 西安创芯科技有限责任公司 一种基于axi总线协议的osd控制显示方法及装置
CN104281548A (zh) * 2013-07-03 2015-01-14 炬芯(珠海)科技有限公司 一种基于axi总线传输数据的方法、装置及系统
CN105005546A (zh) * 2015-06-23 2015-10-28 中国兵器工业集团第二一四研究所苏州研发中心 一种内置交点队列的异步axi总线结构
CN113704006A (zh) * 2021-08-31 2021-11-26 上海阵量智能科技有限公司 通信方法、装置、电子设备、存储介质及片上系统

Also Published As

Publication number Publication date
CN113704006B (zh) 2023-11-03
CN113704006A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
US10140242B2 (en) General purpose input/output (GPIO) signal bridging with I3C bus interfaces and virtualization in a multi-node network
US10515030B2 (en) Method and device for improved advanced microcontroller bus architecture (AMBA) and advanced extensible interface (AXI) operations
US7363396B2 (en) Supercharge message exchanger
CN109726163B (zh) 一种基于spi的通信系统、方法、设备和储存介质
CN112534418A (zh) 通过固定pcie物理传输网络的逻辑传输
CN103218313B (zh) 用于实现缓存描述符交互的方法和电子设备
CN108132910B (zh) 系统互连以及具有系统互连的片上系统
US20120260005A1 (en) Controller for direct access to a memory for the direct transfer of data between memories of several peripheral devices, method and computer program enabling the implementation of such a controller
WO2023030128A1 (zh) 通信方法、装置、电子设备、存储介质及片上系统
JP2009527815A5 (zh)
CN115934625A (zh) 一种用于远程直接内存访问的敲门铃方法、设备及介质
US10938622B2 (en) Interconnection network for integrated circuit with fault detection circuitry provided locally to an upstream location
KR100476895B1 (ko) 가변 가능한 데이터 전송 모드를 갖는 인터페이스 장치 및그것의 동작 방법
US8756356B2 (en) Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size
JPH11272603A (ja) バスブリッジ装置及びトランザクションフォワード方法
JP2004021351A (ja) Icカード及びその制御方法
US9152588B2 (en) Race-free level-sensitive interrupt delivery using fabric delivered interrupts
US20220263757A1 (en) Information processing apparatus, computer-readable recording medium having stored therein information processing program, and method for processing information
US10185684B2 (en) System interconnect and operating method of system interconnect
CN107870885A (zh) 通信系统、装置及方法
CN112835834B (zh) 数据传输系统
WO2012009996A1 (zh) 一种存储器装置及智能手机系统
US7577560B2 (en) Microcomputer logic development device
US8131893B2 (en) Memory device that mediates mutual communication among a pluraliity of CPUs
US20100138577A1 (en) Apparatus and method for writing bitwise data in system on chip

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22863267

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE