WO2021244168A1 - System on chip, data transmission method, and broadcast modules - Google Patents

System on chip, data transmission method, and broadcast modules Download PDF

Info

Publication number
WO2021244168A1
WO2021244168A1 PCT/CN2021/088442 CN2021088442W WO2021244168A1 WO 2021244168 A1 WO2021244168 A1 WO 2021244168A1 CN 2021088442 W CN2021088442 W CN 2021088442W WO 2021244168 A1 WO2021244168 A1 WO 2021244168A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
broadcast
node module
data
slave
Prior art date
Application number
PCT/CN2021/088442
Other languages
French (fr)
Chinese (zh)
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 WO2021244168A1 publication Critical patent/WO2021244168A1/en

Links

Classifications

    • 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
    • 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
    • G06F15/781On-chip cache; Off-chip memory
    • 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/542Event management; Broadcasting; Multicasting; Notifications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The present application is applicable to the technical field of electronics, and provides a system on chip, a data transmission method, and broadcast modules. The system on chip comprises at least two master devices, at least one slave device, and a bus; the bus comprises at least two broadcast modules, and each broadcast module is correspondingly connected to one master device; and the broadcast modules are configured as initial node modules or slave node modules. According to embodiments of the present application, the broadcast modules are used as mediums for data transmission between the slave device and the at least two master devices in the system on chip; by means of interaction between the initial node modules in the broadcast modules and the slave device, a data reading request is sent to the slave device, and target data returned from the slave device is obtained; and then the target data is transmitted to each master device by means of the target data transmission between the initial node modules and the slave node modules in the broadcast modules. The embodiments of the present application can solve the problems of how to improve the data transmission efficiency of the system on chip and reduce the power consumption in the prior art.

Description

片上系统、数据传送方法及广播模块System on chip, data transmission method and broadcast module 技术领域Technical field
本申请属于电子技术领域,尤其涉及一种片上系统、数据传送方法及广播模块。This application belongs to the field of electronic technology, and in particular relates to a system on a chip, a data transmission method, and a broadcast module.
本申请要求于2020年6月4日提交中国专利局,申请号为202010500891.2、发明名称为“片上系统、数据传送方法及广播模块”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed with the Chinese Patent Office on June 4, 2020, the application number is 202010500891.2, and the invention title is "System on Chip, Data Transmission Method, and Broadcast Module", the entire content of which is incorporated herein by reference. Applying.
 To
背景技术Background technique
在现有的片上系统(System-on-a-chip,SoC)中,包括多个主设备(Master)及多个从设备(Slave),各个主设备及各个从设备通过总线相连,以实现数据传送。然而,现有的数据传送方式中,总线在任一时刻只能被一个主设备及一个从设备占用,若有多个主设备需要向同一从设备请求读取数据,该多个主设备只能按序等待获取总线的使用权,分多次分别从该从设备中读取数据。In the existing System-on-a-chip (SoC), it includes multiple master devices (Master) and multiple slave devices (Slave). Each master device and each slave device are connected through a bus to realize data Transmit. However, in the existing data transmission method, the bus can only be occupied by one master device and one slave device at any time. If multiple master devices need to request data from the same slave device, the multiple master devices can only press The sequence waits to obtain the right to use the bus, and reads data from the slave device in multiple times.
上述的数据传送方法,由于多个主设备需要按序等待读取数据,并且从设备需要多次耗费功率去分别处理多个主设备的请求,因此存在着数据传送效率低且浪费功耗的缺陷。In the above-mentioned data transmission method, since multiple master devices need to wait to read data in order, and the slave device needs to consume power multiple times to process the requests of multiple master devices separately, it has the defects of low data transmission efficiency and waste of power consumption. .
技术解决方案Technical solutions
有鉴于此,本申请实施例提供了片上系统、数据传送方法及广播模块,以解决现有技术中如何提高片上系统的数据传送效率及降低功耗的问题。In view of this, the embodiments of the present application provide a system-on-chip, a data transmission method, and a broadcast module to solve the problems of how to improve the data transmission efficiency of the system-on-chip and reduce power consumption in the prior art.
本申请实施例的第一方面提供了一种片上系统,所述片上系统包括至少两个主设备、至少一个从设备以及总线;所述总线包括至少两个广播模块,且每个所述广播模块对应连接一个所述主设备;其中,被配置为广播拓扑结构中的初始节点的所述广播模块为初始节点模块,在所述广播拓扑结构中除所述初始节点模块以外的所述广播模块为从属节点模块;The first aspect of the embodiments of the present application provides a system on chip, the system on chip includes at least two master devices, at least one slave device, and a bus; the bus includes at least two broadcast modules, and each of the broadcast modules Correspondingly connected to one of the main devices; wherein, the broadcast module configured as the initial node in the broadcast topology is the initial node module, and the broadcast modules other than the initial node module in the broadcast topology are Slave node module;
所述主设备,用于通过所述广播模块发送数据读取请求以及获取目标数据;The main device is configured to send a data read request and obtain target data through the broadcast module;
所述初始节点模块,且每个所述广播模块对应连接一个所述主设备;其中,被配置为广播拓扑结构中的初始节点的所述广播模块为初始节点模块,在所述广播拓扑结构中除所述初始节点模块以外的所述广播模块为从属节点模块;The initial node module, and each of the broadcast modules is connected to one of the master devices; wherein, the broadcast module configured as the initial node in the broadcast topology is the initial node module, and in the broadcast topology The broadcast module other than the initial node module is a slave node module;
所述从属节点模块,用于接收所述从属节点模块对应的第二主设备发送的第二数据读取请求,并根据所述第二数据读取请求获取所述初始节点模块广播的目标数据,将所述目标数据发送至所述第二主设备;其中,所述第二数据读取请求携带的标识信息与所述第一数据读取请求携带的所述标识信息一致;The slave node module is configured to receive a second data read request sent by a second master device corresponding to the slave node module, and obtain the target data broadcast by the initial node module according to the second data read request, Sending the target data to the second master device; wherein the identification information carried in the second data read request is consistent with the identification information carried in the first data read request;
所述从设备,用于接收所述初始节点模块发送的所述第一数据读取请求,并根据所述第一数据读取请求发送目标数据至所述初始节点模块。The slave device is configured to receive the first data read request sent by the initial node module, and send target data to the initial node module according to the first data read request.
本申请实施例的第二方面提供了一种数据传送方法,该方法应用于广播模块中的初始节点模块,该数据传送方法包括:The second aspect of the embodiments of the present application provides a data transmission method, which is applied to the initial node module in the broadcast module, and the data transmission method includes:
接收所述初始节点模块对应的第一主设备发送的数据读取请求,所述第一数据读取请求携带标识信息;Receiving a data read request sent by a first master device corresponding to the initial node module, where the first data read request carries identification information;
将所述数据读取请求发送至相应的从设备,并接收所述从设备返回的目标数据;Sending the data read request to the corresponding slave device, and receiving the target data returned by the slave device;
将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块对应的从属节点模块。Sending the target data to the first master device and broadcasting the target data to the slave node module corresponding to the initial node module.
本申请实施例的第三方面提供了另一种数据传送方法,该方法应用于广播模块中的从属节点模块,该数据传送方法包括:The third aspect of the embodiments of the present application provides another data transmission method, which is applied to the slave node module in the broadcast module, and the data transmission method includes:
接收所述从属节点模块对应的第二主设备发送的第二数据读取请求,所述第二数据读取请求携带标识信息;Receiving a second data read request sent by a second master device corresponding to the slave node module, where the second data read request carries identification information;
根据所述第二数据读取请求获取所述从属节点模块对应的初始节点模块广播的目标数据,其中所述初始节点模块存在携带所述标识信息的第一数据读取请求;Acquiring, according to the second data read request, the target data broadcast by the initial node module corresponding to the slave node module, where the initial node module has a first data read request carrying the identification information;
将所述目标数据发送至所述第二主设备。Sending the target data to the second master device.
本申请实施例的第四方面提供了一种广播模块,若该广播模块具体为初始节点模块,则包括:The fourth aspect of the embodiments of the present application provides a broadcast module. If the broadcast module is specifically an initial node module, it includes:
第一接收单元,用于接收所述初始节点模块对应的第一主设备发送的第一数据读取请求,所述第一数据读取请求携带标识信息;A first receiving unit, configured to receive a first data read request sent by a first master device corresponding to the initial node module, where the first data read request carries identification information;
数据读取请求发送单元,用于根据所述标识信息,将所述第一数据读取请求发送至相应的从设备,并接收所述从设备返回的目标数据;A data read request sending unit, configured to send the first data read request to a corresponding slave device according to the identification information, and receive target data returned by the slave device;
第一发送单元,用于将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块对应的从属节点模块;A first sending unit, configured to send the target data to the first master device and broadcast the target data to the slave node module corresponding to the initial node module;
或者,广播模块具体为从属节点模块,包括:Or, the broadcast module is specifically a slave node module, including:
第二接收单元,用于接收所述从属节点模块对应的第二主设备发送的第二数据读取请求;A second receiving unit, configured to receive a second data read request sent by a second master device corresponding to the slave node module;
目标数据获取单元,用于根据所述第二数据读取请求获取所述从属节点模块对应的初始节点模块广播的目标数据,其中所述初始节点模块存在携带所述标识信息的第一数据读取请求;The target data obtaining unit is configured to obtain, according to the second data reading request, the target data broadcast by the initial node module corresponding to the slave node module, wherein the initial node module contains the first data read carrying the identification information ask;
第二发送单元,用于将所述目标数据发送至所述第二主设备。The second sending unit is configured to send the target data to the second master device.
本申请实施例的第五方面提供了一种广播模块,包括:The fifth aspect of the embodiments of the present application provides a broadcast module, including:
读命令缓存子模块,用于通过读命令通道接入外部的主设备,以获取所述主设备发送的数据读取请求,所述数据读取请求携带标识信息;The read command cache submodule is used to access an external main device through the read command channel to obtain a data read request sent by the main device, and the data read request carries identification information;
指令门模块,所述指令门模块的输入端与所述读命令缓存子模块的输出端连接,用于接收所述读命令缓存子模块传送的所述数据读取请求;所述指令门模块的输出端与外部的从设备连接,用于若所述广播模块被配置为初始节点模块,则所述指令门模块的输出端为开启状态,根据所述数据读取请求携带的所述标识信息从所述外部的从设备中确定所述数据读取请求对应的从设备,并将所述数据读取请求发送至所述对应的从设备;还用于若所述广播模块被配置为从属节点模块,则所述指令门模块的输出端为关闭状态,禁止所述数据读取请求的外发;Instruction gate module, the input end of the instruction gate module is connected with the output end of the read command buffer submodule, and is used to receive the data read request transmitted by the read command buffer submodule; The output terminal is connected to an external slave device, and is used for if the broadcast module is configured as an initial node module, the output terminal of the instruction gate module is in an open state, and the output terminal of the instruction gate module is switched on according to the identification information carried in the data read request. The external slave device determines the slave device corresponding to the data read request, and sends the data read request to the corresponding slave device; and is also used for if the broadcast module is configured as a slave node module , The output terminal of the instruction gate module is in the closed state, and the outgoing of the data read request is prohibited;
第一选择器,所述第一选择器的第一输入端与所述外部的从设备连接,用于若所述广播模块被配置为所述初始节点模块,则根据所述数据读取请求携带的所述标识信息从所述对应的从设备获取目标数据;若所述广播模块被配置为从属节点模块,则所述第一选择器的第二输入端被配置为与所述广播模块的父节点模块连接,用于从所述父节点模块获取目标数据;其中,所述父节点模块为在广播拓扑结构中位于所述广播模块的上一级节点的其它广播模块;A first selector, the first input terminal of the first selector is connected to the external slave device, and is used to carry data according to the data read request if the broadcast module is configured as the initial node module The identification information obtains target data from the corresponding slave device; if the broadcast module is configured as a slave node module, the second input terminal of the first selector is configured to be the same as the parent of the broadcast module The node module is connected to obtain target data from the parent node module; wherein the parent node module is another broadcast module located at the upper level node of the broadcast module in the broadcast topology;
读数据缓存子模块,所述读数据缓存子模块的输入端与所述第一选择器的输出端连接,用于缓存所述目标数据;若所述广播模块存在对应的子节点模块,则所述读数据缓存子模块的输出端被配置为与所述子节点模块连接,用于向所述子节点模块发送所述目标数据;其中所述子节点模块为在广播拓扑结构中位于所述广播模块的下一级节点的其它广播模块;The read data cache sub-module, the input end of the read data cache sub-module is connected to the output end of the first selector, and is used to cache the target data; if the broadcast module has a corresponding child node module, then The output end of the read data cache sub-module is configured to be connected to the sub-node module for sending the target data to the sub-node module; wherein the sub-node module is located in the broadcast topology in the broadcast topology. Other broadcast modules of the next-level node of the module;
第二选择器,所述第二选择器的第一输入端、第二输入端分别与所述读数据缓存子模块、所述外部的从设备连接,用于获取所述目标数据;所述第二选择器的输出端通过读数据通道与所述主设备连接,用于向所述主设备传送所述目标数据。The second selector, the first input terminal and the second input terminal of the second selector are respectively connected to the read data buffer submodule and the external slave device, and are used to obtain the target data; The output terminal of the second selector is connected to the master device through a read data channel, and is used to transmit the target data to the master device.
本申请实施例的第六方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,使得终端设备实现如第二方面或者第三方面所述的数据传送方法的步骤。The sixth aspect of the embodiments of the present application provides a terminal device, including a memory, a processor, and a computer program stored in the memory and running on the processor. When the processor executes the computer program At this time, the terminal device is caused to implement the steps of the data transmission method as described in the second aspect or the third aspect.
本申请实施例的第七方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得终端设备实现如第二方面或者第三方面所述的数据传送方法的步骤。The seventh aspect of the embodiments of the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the terminal device realizes the second aspect or The steps of the data transmission method described in the third aspect.
本申请实施例的第八方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行如第二方面或者第三方面所述的数据传送方法的步骤。The eighth aspect of the embodiments of the present application provides a computer program product, which when the computer program product runs on a terminal device, causes the terminal device to execute the steps of the data transmission method described in the second aspect or the third aspect.
本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,以广播模块作为从设备与至少两个主设备间数据传送的媒介,通过广播模块中的初始节点模块与从设备进行交互,向该从设备发送数据读取请求并获取从设备返回的目标数据;之后,通过广播模块中的初始节点模块和从属节点模块间的目标数据传送,最终将目标数据传送到每个主设备。由于通过总线中的多个广播模块,使得在进行一次的目标数据读取的情况下便能够让多个主设备获取到同一从设备的目标数据,因此能够提高主设备与从设备之间的数据传送效率;并且,由于在数据传送过程中,从设备只需与广播模块中的初始节点模块进行交互,无需重复处理多次数据读取请求,因此能够降低系统功耗。Compared with the prior art, the embodiment of this application has the following beneficial effects: In the embodiment of this application, the broadcast module is used as the medium for data transmission between the slave device and at least two master devices, and the initial node module and the slave The device interacts, sends a data read request to the slave device and obtains the target data returned from the device; then, through the target data transmission between the initial node module and the slave node module in the broadcast module, the target data is finally transmitted to each The main device. Due to the multiple broadcast modules in the bus, multiple master devices can obtain the target data of the same slave device when the target data is read once, so the data between the master device and the slave device can be improved. Transmission efficiency; and, because in the data transmission process, the slave device only needs to interact with the initial node module in the broadcast module, and does not need to process multiple data read requests repeatedly, thereby reducing system power consumption.
附图说明Description of the drawings
图1是本申请实施例提供的第一种片上系统的结构示例图;FIG. 1 is a structural example diagram of the first system-on-chip provided by an embodiment of the present application;
图2是本申请实施例提供的第二种片上系统的结构示例图;FIG. 2 is a structural example diagram of a second system-on-chip provided by an embodiment of the present application;
图3是本申请实施例提供的第三种片上系统的结构示例图;FIG. 3 is a structural example diagram of a third system-on-chip provided by an embodiment of the present application;
图4是本申请实施例提供的第四种片上系统的结构示例图;FIG. 4 is a structural example diagram of a fourth system-on-chip provided by an embodiment of the present application;
图5是本申请实施例提供的一种其它类型的片上系统的结构示意图;FIG. 5 is a schematic structural diagram of another type of system-on-chip provided by an embodiment of the present application;
图6是本申请实施例提供的第一种数据传送方法的实现流程示意图;FIG. 6 is a schematic diagram of the implementation process of the first data transmission method provided by an embodiment of the present application;
图7是本申请实施例提供的第二种数据传送方法的实现流程示意图;FIG. 7 is a schematic diagram of the implementation process of the second data transmission method provided by an embodiment of the present application;
图8是本申请实施例提供的一种初始节点模块的结构示例图;Fig. 8 is a structural example diagram of an initial node module provided by an embodiment of the present application;
图9是本申请实施例提供的一种从属节点模块的结构示例图;FIG. 9 is a structural example diagram of a slave node module provided by an embodiment of the present application;
图10是本申请实施例提供的一种广播模块的内部结构示例图;FIG. 10 is an example diagram of the internal structure of a broadcast module provided by an embodiment of the present application;
图11是本申请实施例提供的终端设备的示意图。FIG. 11 is a schematic diagram of a terminal device provided by an embodiment of the present application.
本发明的实施方式Embodiments of the present invention
实施例一:Example one:
图1示出了本申请实施例提供的第一种片上系统的结构示意图,详述如下:FIG. 1 shows a schematic structural diagram of the first system on chip provided by an embodiment of the present application, and the details are as follows:
片上系统包括至少两个主设备1(Master)、至少一个从设备2(Slave)、以及总线3(BUS);所述总线3至少包括至少两个广播模块31(Broadcast module,BRC),且每个所述广播模块31对应连接一个所述主设备1;其中,被配置为广播拓扑结构中的初始节点的所述广播模块为初始节点模块,在所述广播拓扑结构中除所述初始节点模块以外的所述广播模块为从属节点模块。The system-on-chip includes at least two master devices 1 (Master), at least one slave device 2 (Slave), and a bus 3 (BUS); the bus 3 includes at least two broadcast modules 31 (Broadcast module, BRC), and each Each of the broadcast modules 31 is connected to one of the main equipment 1; wherein, the broadcast module configured as the initial node in the broadcast topology is the initial node module, and the initial node module is excluded from the broadcast topology. The other broadcast modules are slave node modules.
本申请实施例中,总线为片上系统内各个功能部件传送信息的公共通信干线;主设备为一次总线传输期间,拥有总线控制权的设备,从设备为一次总线传输期间,供主设备访问并向主设备提供相应数据的设备。示例性地,主设备可以为处理器,而从设备可以为存储器。In the embodiments of the present application, the bus is a common communication backbone for the various functional components in the system-on-chip to transmit information; the master device is a device that has the control right of the bus during a bus transmission, and the slave device is a device that is accessed by the master during a bus transmission. The main equipment provides the corresponding data equipment. Exemplarily, the master device may be a processor, and the slave device may be a memory.
如图1所示,片上系统可以包括M个主设备1,N个从设备2以及一条总线3,其中M的值大于或者等于二,N的值大于或者等于一。进一步地,M和N的值可以相同也可以不同;优选地,M的值大于N的值,即在片上系统中,多个主设备可以共享同一个从设备的数据。As shown in FIG. 1, the system on chip may include M master devices 1, N slave devices 2 and a bus 3, where the value of M is greater than or equal to two, and the value of N is greater than or equal to one. Further, the values of M and N may be the same or different; preferably, the value of M is greater than the value of N, that is, in the system-on-chip, multiple master devices can share the data of the same slave device.
本申请实施例中,总线3为主设备和从设备的传输数据的公共通信干线,具体地,该总线3包括两个或者两个以上的广播模块31,每个广播模块31对应连接一个主设备1。即,每个广播模块31与需要通过广播操作来获取数据的一个主设备1对应连接,可以理解地,片上系统还可以包括无需与广播模块31对应连接的主设备1,这种情况下的主设备无需与其它主设备共享一个从设备的数据,该主设备可以根据自身的数据读取请求,独立地直接从从设备中获取数据。In the embodiment of the present application, the bus 3 is a common communication trunk for transmission of data between the master device and the slave device. Specifically, the bus 3 includes two or more broadcast modules 31, and each broadcast module 31 is connected to a master device. 1. That is, each broadcast module 31 is connected to a master device 1 that needs to obtain data through broadcast operations. Understandably, the system-on-chip may also include a master device 1 that does not need to be connected to the broadcast module 31. In this case, the master device 1 The device does not need to share the data of a slave device with other master devices. The master device can independently obtain data directly from the slave device according to its own data read request.
具体地,广播模块除了与对应的主设备连接外,广播模块之间也存在着连接关系,该连接关系可以灵活配置。具体地,广播模块之间的连接关系根据已配置的广播拓扑结构确定,被配置为广播拓扑结构中的初始节点的广播模块为初始节点模块,如图1所示的BRC0;在所述广播拓扑结构中除所述初始节点模块以外的所述广播模块为从属节点模块,如图1所示的BRC1、BRC2、BRC3。其中,初始节点模块能够根据数据读取请求直接与从设备进行命令及数据传送;而从属节点模块无法直接与从设备进行交互。可选地,本申请实施例可存在多组广播拓扑结构,每组广播拓扑结构中分别配置着一个初始节点模块及至少一个从属节点模块,每个初始节点模块、从属节点模块根据提前获取的广播拓扑结构的配置信息,可以获知其对应的从属节点模块及初始节点模块。Specifically, in addition to connecting the broadcasting module with the corresponding main device, there is also a connection relationship between the broadcasting modules, and the connection relationship can be flexibly configured. Specifically, the connection relationship between the broadcast modules is determined according to the configured broadcast topology. The broadcast module configured as the initial node in the broadcast topology is the initial node module, such as BRCO as shown in FIG. 1; The broadcast modules other than the initial node module in the structure are slave node modules, such as BRC1, BRC2, and BRC3 as shown in FIG. 1. Among them, the initial node module can directly transmit commands and data with the slave device according to the data read request; the slave node module cannot directly interact with the slave device. Optionally, there may be multiple groups of broadcast topology structures in the embodiment of the present application, and each group of broadcast topology structures is respectively configured with an initial node module and at least one slave node module, and each initial node module and slave node module is based on the broadcast obtained in advance The configuration information of the topology structure can learn its corresponding subordinate node modules and initial node modules.
所述主设备,用于通过所述广播模块发送数据读取请求以及获取目标数据。The main device is used to send data read requests and obtain target data through the broadcast module.
本申请实施例中,每个与广播模块连接的主设备分别通过该对应的广播模块进行数据读取请求的发送及目标数据的获取。如图1所示,主设备Master0~Master3分别将各自的数据读取请求发送至广播模块BRC0~BRC3,以及分别从广播模块BRC0~BRC3获取目标数据。In the embodiment of the present application, each main device connected to the broadcasting module respectively sends a data reading request and obtains target data through the corresponding broadcasting module. As shown in Figure 1, the master devices Master0~Master3 respectively send their respective data read requests to the broadcast modules BRC0~BRC3, and respectively obtain target data from the broadcast modules BRC0~BRC3.
所述初始节点模块,用于接收所述初始节点模块对应的第一主设备发送的第一数据读取请求;根据所述第一数据读取请求中携带的标识信息,将所述第一数据读取请求发送至与所述标识信息对应的从设备,并接收所述从设备返回的所述目标数据,将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块的从属节点模块。The initial node module is configured to receive a first data read request sent by a first master device corresponding to the initial node module; according to the identification information carried in the first data read request, the first data The read request is sent to the slave device corresponding to the identification information, and the target data returned by the slave device is received, the target data is sent to the first master device, and the target data is broadcast to all The subordinate node module of the initial node module.
本申请实施例中的初始节点模块为位于总线的广播拓扑结构中的初始节点的广播模块,该初始节点模块至少连接一个对应的从属节点模块;本申请实施例中的第一主设备为与初始节点模块连接的主设备。初始节点模块在接收到第一主设备发送的第一数据读取请求后,根据该第一数据读取请求中携带的标识信息,从多个从设备中确定与该标识信息对应的从设备,并将该第一数据读取请求发送给该从设备。可选地,该标识信息可以为第一数据读取请求所请求的目标数据的地址信息,该地址信息可以包括存储该目标数据的从设备的物理地址信息及所请求的目标数据在该从设备中的具体索引地址信息。根据该地址信息确定相应的从设备。在将第一数据读取请求发送给该从设备后,接收该从设备返回的目标数据,并将该目标数据发送给第一主设备以及将该目标数据广播至该初始节点模块对应的从属节点模块,即已被配置为与该初始节点模块连接的从属节点模块。The initial node module in the embodiment of the application is the broadcast module of the initial node in the broadcast topology of the bus, and the initial node module is connected to at least one corresponding slave node module; the first master device in the embodiment of the application is the same as the initial node module. The main device connected to the node module. After receiving the first data read request sent by the first master device, the initial node module determines the slave device corresponding to the identification information from the plurality of slave devices according to the identification information carried in the first data read request, And send the first data read request to the slave device. Optionally, the identification information may be the address information of the target data requested by the first data read request, and the address information may include the physical address information of the slave device storing the target data and the requested target data in the slave device. The specific index address information in. Determine the corresponding slave device according to the address information. After sending the first data read request to the slave device, receive the target data returned by the slave device, send the target data to the first master device, and broadcast the target data to the slave node corresponding to the initial node module Module, that is, the slave node module that has been configured to connect with the initial node module.
示例性地,如图1所示,BRC0即为初始节点模块,该初始节点模块与对应的第一主设备Master0连接,用于接收第一主设备Master0发送的第一数据读取请求;之后,根据该第一数据读取请求携带的标识信息,确定当前对应的从设备为从设备Slave1,对应将该第一数据读取请求至从设备Slave1,并接收从该从设备Slave1返回的目标数据。之后,BRC0将接收到的目标数据广播至从属节点模块BRC1、BRC2以及BRC3。可选地,当初始节点模块检测到从属节点模块已缓存了与该第一数据读取请求的标识信息一致的第二数据读取请求时,即判定从属节点模块已准备好接收目标数据,此时再将目标数据广播至从属节点模块。Exemplarily, as shown in Figure 1, BRC0 is the initial node module, which is connected to the corresponding first master device Master0, and is used to receive the first data read request sent by the first master device Master0; after that, According to the identification information carried in the first data read request, it is determined that the current corresponding slave device is the slave device Slave1, the first data read request is sent to the slave device Slave1 correspondingly, and the target data returned from the slave device Slave1 is received. After that, BRCO broadcasts the received target data to the slave node modules BRC1, BRC2, and BRC3. Optionally, when the initial node module detects that the slave node module has cached the second data read request that is consistent with the identification information of the first data read request, it is determined that the slave node module is ready to receive the target data. Then broadcast the target data to the slave node module.
所述从属节点模块,用于接收所述从属节点模块对应的第二主设备发送的第二数据读取请求,并根据所述第二数据读取请求获取所述初始节点模块广播的目标数据,将所述目标数据发送至所述第二主设备;其中,所述第二数据读取请求携带的标识信息与所述第一数据读取请求携带的所述标识信息一致。The slave node module is configured to receive a second data read request sent by a second master device corresponding to the slave node module, and obtain the target data broadcast by the initial node module according to the second data read request, The target data is sent to the second master device; wherein the identification information carried in the second data read request is consistent with the identification information carried in the first data read request.
本申请实施例中的从属节点模块为广播拓扑结构中除初始节点以外的广播模块,各个从属节点模块直接与初始节点模块连接或者通过其它从属节点模块间接地于初始节点模块建立通信;本申请实施例中的第二主设备为与该从属节点模块连接的主设备。示例性地,如图1所示,BRC1、BRC2、BRC3均为从属节点模块,各自分别与对应的第二主设备Master1、Master2、Master3连接,用于接收对应的第二主设备发送的数据读取请求。并且,从属节点模块BRC1、BRC2、BRC3还直接或者间接地与初始节点模块BRC0通信,用于根据接收的第二数据读取请求获取初始节点模块广播的目标数据。之后,各自将获取的目标数据发送至各自对应的第二主设备Master1、Master2、Master3。具体地,从属节点模块获取的第二数据读取请求与该初始节点模块获取的第一数据读取请求的标识信息一致,即,从属节点模块及其对应的初始节点模块都是接收同样类型的数据读取请求,以获取同样的目标数据。可选地,若各个从属节点模块获取的第二数据读取请求与第一数据读取请求的标识信息不一致,则各个从属节点模块分别独立地寻找与该第二数据读取请求对应的从设备,独立地从对应的从设备中获取与该第二数据读取请求对应的目标数据,而不通过初始节点模块进行目标数据的获取。The subordinate node modules in the embodiments of this application are broadcast modules other than the initial node in the broadcast topology. Each subordinate node module is directly connected to the initial node module or indirectly establishes communication with the initial node module through other subordinate node modules; implementation of this application The second master device in the example is the master device connected to the slave node module. Exemplarily, as shown in Figure 1, BRC1, BRC2, and BRC3 are all slave node modules, which are respectively connected to the corresponding second master device Master1, Master2, and Master3 for receiving data read sent by the corresponding second master device. Fetch request. In addition, the slave node modules BRC1, BRC2, BRC3 also directly or indirectly communicate with the initial node module BRCO, and are used to obtain the target data broadcast by the initial node module according to the received second data read request. Afterwards, each sends the acquired target data to their corresponding second master devices Master1, Master2, and Master3. Specifically, the second data read request acquired by the slave node module is consistent with the identification information of the first data read request acquired by the initial node module, that is, the slave node module and its corresponding initial node module all receive the same type Data read request to obtain the same target data. Optionally, if the identification information of the second data reading request obtained by each slave node module is inconsistent with the identification information of the first data reading request, each slave node module independently searches for the slave device corresponding to the second data reading request. , Independently obtain the target data corresponding to the second data reading request from the corresponding slave device, instead of acquiring the target data through the initial node module.
所述从设备,用于接收所述初始节点模块发送的所述第一数据读取请求,并根据所述第一数据读取请求发送所述目标数据至所述初始节点模块。The slave device is configured to receive the first data read request sent by the initial node module, and send the target data to the initial node module according to the first data read request.
本申请实施例中的从设备具体为初始节点模块根据当前的第一数据读取请求携带的标识信息确定的从设备,在广播拓扑结构中,该从设备只与广播拓扑结构中的初始节点模块进行数据传送。具体地,从设备接收初始节点模块发送的第一数据读取请求,根据该第一数据读取请求查询从设备自身存储的对应的目标数据,并将该目标数据发送至该初始节点模块。如图1所示,从设备Slave1只与初始节点模块BRC0建立连接,接收BRC0的数据读取请求,并返回与该数据读取请求对应的目标数据至BRC0。The slave device in the embodiment of the present application is specifically a slave device determined by the initial node module according to the identification information carried in the current first data read request. In the broadcast topology, the slave device only interacts with the initial node module in the broadcast topology. Perform data transfer. Specifically, the slave device receives the first data read request sent by the initial node module, queries the corresponding target data stored in the slave device itself according to the first data read request, and sends the target data to the initial node module. As shown in Figure 1, the slave device Slave1 only establishes a connection with the initial node module BRCO, receives a data read request from BRCO, and returns the target data corresponding to the data read request to BRCO.
本申请实施例中,以广播模块作为从设备与至少两个主设备间数据传送的媒介,通过广播模块中的初始节点模块与从设备进行交互,向该从设备发送数据读取请求并获取从设备返回的目标数据;之后,通过广播模块中的初始节点模块和从属节点模块间的目标数据传送,最终将目标数据传送到每个主设备。由于通过总线中的多个广播模块,使得在进行一次的目标数据读取的情况下便能够让多个主设备获取到同一从设备的目标数据,因此能够提高主设备与从设备之间的数据传送效率;并且,由于在数据传送过程中,从设备只需与广播模块中的初始节点模块进行交互,无需重复处理多次数据读取请求,因此能够降低系统功耗。In the embodiment of this application, the broadcast module is used as the medium for data transmission between the slave device and at least two master devices, and the initial node module in the broadcast module interacts with the slave device, sends a data read request to the slave device and obtains the slave device. The target data returned by the device; after that, the target data is transmitted to each master device through the target data transmission between the initial node module and the slave node module in the broadcast module. Due to the multiple broadcast modules in the bus, multiple master devices can obtain the target data of the same slave device when the target data is read once, so the data between the master device and the slave device can be improved. Transmission efficiency; and, because in the data transmission process, the slave device only needs to interact with the initial node module in the broadcast module, and does not need to process multiple data read requests repeatedly, thereby reducing system power consumption.
可选地,所述广播拓扑结构为两级的拓扑结构或者两级以上的拓扑结构;Optionally, the broadcast topology is a two-level topology or a two-level topology;
若所述广播拓扑结构为两级的拓扑结构,则所述初始节点模块被配置为直接与各个所述从属节点模块连接;If the broadcast topology is a two-level topology, the initial node module is configured to be directly connected to each of the slave node modules;
若所述广播拓扑结构为两级以上的拓扑结构,则所述初始节点模块被配置为与指定的至少一个所述从属节点模块连接,且各个所述从属节点模块之间存在预设的连接关系。If the broadcast topology is a topology with more than two levels, the initial node module is configured to be connected to at least one designated slave node module, and there is a preset connection relationship between each of the slave node modules .
本申请实施例中的广播拓扑结构可以为两级或者两级以上的拓扑结构。The broadcast topology in the embodiment of the present application may be a two-level or more than two-level topology.
当所述广播拓扑结构为两级的拓扑结构时,广播拓扑结构中的初始节点模块被配置为直接与各个从属节点模块相连接,而各个从属节点模块相关之间不存在连接关系。如图2所示,初始节点模块BRC0直接分别与从属节点模块BRC1、BRC2、BRC3连接。在这种情况下,由于所有的从属节点模块都直接与初始节点模块连接,因此初始节点模块对目标数据的广播具体为将目标数据分别直接地发送给各个从属节点模块。When the broadcast topology is a two-level topology, the initial node module in the broadcast topology is configured to be directly connected to each subordinate node module, and there is no connection relationship between each subordinate node module. As shown in Figure 2, the initial node module BRCO is directly connected to the subordinate node modules BRC1, BRC2, and BRC3. In this case, since all the subordinate node modules are directly connected with the initial node module, the broadcast of the target data by the initial node module specifically refers to directly sending the target data to each subordinate node module.
当所述广播拓扑结构为两级以上的拓扑结构时,广播拓扑结构中的初始节点模块被配置为与部分的从属节点模块相连接,而从属节点模块之间也存在着进一步的预设连接关系。示例性地,如图3所示为一种广播拓扑结构为三级的拓扑结构的示意图,其中初始节点模块BRC0与从属节点模块BRC1相连接,而从属节点模块BRC1再进一步分别与从属节点模块BRC2和从属节点模块BRC3连接。示例性地,如图4所示为一种广播拓扑结构为四级的拓扑结构的示意图,其中初始节点模块BRC0与从属节点模块BRC1相连接,从属节点模块BRC1进一步与从属节点模块BRC2相连接,从属节点模块BRC2再进一步与从属节点模块BRC3相连接,从而构成了逐级连接的关系。这种情况下,由于初始节点模块只与部分的从属节点模块相连接,因此初始节点模块对目标数据的广播具体为将目标数据发送给与该初始节点模块直接连接的从属节点模块,再由该从属节点模块逐级地将目标数据传送给其它没有与初始节点模块相连接的从属节点模块。When the broadcast topology is a topology with more than two levels, the initial node module in the broadcast topology is configured to be connected to some of the subordinate node modules, and there is a further preset connection relationship between the subordinate node modules . Illustratively, FIG. 3 is a schematic diagram of a three-level broadcast topology, where the initial node module BRCO is connected to the slave node module BRC1, and the slave node module BRC1 is further connected to the slave node module BRC2. Connect with the slave node module BRC3. Illustratively, FIG. 4 is a schematic diagram of a four-level broadcast topology, where the initial node module BRCO is connected with the slave node module BRC1, and the slave node module BRC1 is further connected with the slave node module BRC2, The slave node module BRC2 is further connected with the slave node module BRC3, thereby forming a gradual connection relationship. In this case, since the initial node module is only connected to part of the subordinate node modules, the broadcast of the target data by the initial node module is specifically to send the target data to the subordinate node module directly connected to the initial node module, and then this The subordinate node module transmits the target data to other subordinate node modules that are not connected with the initial node module step by step.
应理解地,本申请实施例中,图2、图3、图4中的三种类型的广播拓扑结构仅为示例而非限定,广播拓扑结构还可以为其它图中未示出的结构。广播拓扑结构的层级关系具体可以根据实际需求设置,当数据传输需要较高的实时性时,广播拓扑结构配置为层级较少的结构,例如包含两级节点的结构,以提高数据传输的实时性;当数据传输对实时性要求较低时,广播拓扑结构配置为层级较高的结构,以提高数据传输的时序性。It should be understood that, in the embodiments of the present application, the three types of broadcast topology structures in FIG. 2, FIG. 3, and FIG. 4 are only examples and not limitation, and the broadcast topology structures may also be structures not shown in other figures. The hierarchical relationship of the broadcast topology can be specifically set according to actual needs. When data transmission requires high real-time performance, the broadcast topology is configured as a structure with fewer levels, such as a two-level node structure, to improve the real-time performance of data transmission ; When the real-time requirements for data transmission are low, the broadcast topology is configured as a higher-level structure to improve the timing of data transmission.
可选地,所述片上系统还包括:Optionally, the system on chip further includes:
主控模块,用于获取用户配置指令,生成广播拓扑结构的配置信息并传送至各个所述广播模块,其中所述广播拓扑结构的配置信息至少包括各个所述广播模块的模块类型、各个所述广播模块的父节点模块的信息以及各个所述广播模块的子节点模块的信息,所述模块类型包括初始节点模块和从属节点模块,所述广播模块的父节点模块为在所述广播拓扑结构中位于所述广播模块的上一级节点的其它广播模块,所述广播模块的子节点模块为在所述广播拓扑结构中位于所述广播模块的下一级节点的其它广播模块。The main control module is used to obtain user configuration instructions, generate and transmit the configuration information of the broadcast topology to each of the broadcast modules, where the configuration information of the broadcast topology includes at least the module type of each broadcast module and each of the broadcast modules. The information of the parent node module of the broadcasting module and the information of the child node modules of each of the broadcasting modules. The module types include the initial node module and the subordinate node module. The parent node module of the broadcasting module is in the broadcasting topology. Other broadcast modules located at the upper-level node of the broadcast module, and child node modules of the broadcast module are other broadcast modules located at the lower-level node of the broadcast module in the broadcast topology.
本申请实施例中,如图1所示的片上系统还可以包括主控模块4,该主控模块4可以获取用户配置指令,生成当前的广播拓扑结构的配置信息,并将广播拓扑结构的配置信息传送给片上系统的各个广播模块,从而使各个广播模块明确自身在对应的广播拓扑结构中的模块类型及连接关系。具体地,该广播拓扑结构的配置信息包括模块类型,广播模块的父节点模块的信息以及子节点模块的信息。具体地,该模块类型包括初始节点模块和从属节点模块,通过该模块类型,各个广播模块可以明确自身在广播拓扑结构中是否能够直接与对应的从设备进行通信。具体地,广播模块的父节点模块为在所述广播拓扑结构中位于该广播模块的上一级节点的其它广播模块,广播模块的子节点模块为在广播拓扑结构中位于该广播模块的下一级节点的其它广播模块,通过该父节点模块的信息和子节点模块的信息,可以让各个广播模块与其它广播模块的连接关系,以便之后进行相互间的数据广播传送。In the embodiment of the present application, the system-on-chip shown in FIG. 1 may also include a main control module 4, which can obtain user configuration instructions, generate configuration information of the current broadcast topology, and configure the configuration of the broadcast topology The information is transmitted to each broadcast module of the system-on-chip, so that each broadcast module clarifies its own module type and connection relationship in the corresponding broadcast topology. Specifically, the configuration information of the broadcast topology includes the module type, the information of the parent node module of the broadcast module, and the information of the child node module. Specifically, the module type includes an initial node module and a slave node module. Through this module type, each broadcast module can clarify whether it can directly communicate with the corresponding slave device in the broadcast topology. Specifically, the parent node module of the broadcast module is another broadcast module located at the upper level node of the broadcast module in the broadcast topology, and the child node module of the broadcast module is located next to the broadcast module in the broadcast topology. The other broadcast modules of the level node, through the information of the parent node module and the information of the child node module, can make the connection relationship between each broadcast module and other broadcast modules for subsequent data broadcast transmission between each other.
示例性地,如图3所示的广播拓扑结构为根据用户配置指令对广播模块BRC0~BRC3作如下配置得到的结构:将BRC0的模块类型配置为初始节点模块,让其与从设备Slave1建立连接,并将BRC0的子节点模块的信息配置为BRC1;BRC1的模块类型配置为从属节点模块,并将其父节点模块的信息配置为BRC0、将其子节点模块模块的信息配置为BRC2;BRC2和BRC3的模块类型均配置为从属节点模块,并将其父节点模块的信息配置为BRC1,以这两个从属节点模块作为末尾节点模块,因此不再为这两个广播模块配置子节点模块的信息。Exemplarily, the broadcast topology shown in Fig. 3 is a structure obtained by configuring the broadcast modules BRC0~BRC3 as follows according to user configuration instructions: configure the BRC0 module type as the initial node module, and let it establish a connection with the slave device Slave1 , And configure the information of the child node module of BRC0 as BRC1; configure the module type of BRC1 as a slave node module, and configure the information of its parent node module as BRC0, and configure the information of its child node module as BRC2; BRC2 and The module types of BRC3 are configured as slave node modules, and the information of its parent node module is configured as BRC1, and the two slave node modules are used as the end node modules, so the two broadcast modules are no longer configured with child node module information .
本申请实施例中,由于能够根据用户配置指令灵活地生成广播拓扑结构的配置信息,以灵活地构建片上系统的广播拓扑结构,因此能够提高片上系统数据传输的灵活性及扩展性;并且能够将该广播拓扑结构的配置信息传送至各个广播模块,使得各个广播模块明确自身的模块类型及连接关系,以便之后准确地实现目标数据的广播传送。In the embodiments of the present application, since the configuration information of the broadcast topology can be flexibly generated according to the user configuration instructions to flexibly construct the broadcast topology of the system-on-chip, the flexibility and scalability of data transmission of the system-on-chip can be improved; The configuration information of the broadcast topology is transmitted to each broadcast module, so that each broadcast module clarifies its own module type and connection relationship, so as to accurately realize the broadcast transmission of the target data afterwards.
为了方便对比理解,如图5所示,给出了一种不存在广播模块的其它类型片上系统的结构示意图作为本申请实施例的片上系统的对照示例。在图5中,当主设备Master0~Master3都需要向从设备Slave1获取同样的目标数据时,只能各自依次与Slave1进行交互,Slave1需要接收四次的数据读取请求,四次返回的目标数据,才能够满足主设备Master0~Master3的需求。而本申请实施例中如图1至图4的片上系统结构,从设备Slave1只需与初始节点模块进行交互,只需接收一次数据读取请求,返回一次目标数据,即可借助广播模块完成各个主设备的数据传送,相对于图5所示的片上系统,能够减少从设备交互的次数,从设备的一次交互即可让多个主设备能够获取到目标数据,从而大大提高数据传送效率,降低系统功耗。In order to facilitate comparison and understanding, as shown in FIG. 5, a schematic structural diagram of another type of system on chip without a broadcast module is given as a comparative example of the system on chip of the embodiment of the present application. In Figure 5, when the master device Master0~Master3 all need to obtain the same target data from the slave device Slave1, they can only interact with Slave1 in turn. Slave1 needs to receive four data read requests and return the target data four times. It can meet the requirements of master devices Master0~Master3. In the embodiment of this application, the system on chip structure shown in Figure 1 to Figure 4, the slave device Slave1 only needs to interact with the initial node module, and only needs to receive a data read request once, return the target data once, and then use the broadcast module to complete each Compared with the system-on-chip shown in Figure 5, the data transmission of the master device can reduce the number of slave device interactions. One interaction of the slave device allows multiple master devices to obtain the target data, which greatly improves the data transmission efficiency and reduces System power consumption.
示例性地,本申请实施例中的片上系统可以为用于运行神经网络算法的人工智能(Artificial Intelligence,AI)芯片。该AI芯片中,主设备具体为多个神经网络处理器,从设备具体为存储共享参数的双倍速率同步动态随机存储器(Double Data Rate SDRAM,DDR)。由于在运行神经网络算法时,多个神经网络处理器之间可能需要进行参数共享,因此以DDR作为从设备存储共享参数,通过本申请实施例的片上系统结构,能够实现多个神经网络处理器高效地获取从设备DDR的共享参数,并且能够降低系统功耗以及节省DDR带宽,从而提高AI芯片的运算效率。Exemplarily, the system on chip in the embodiment of the present application may be artificial intelligence (Artificial Intelligence, AI) chips. In this AI chip, the master device is specifically multiple neural network processors, and the slave device is specifically a double-rate synchronous dynamic random access memory (Double Data Rate) that stores shared parameters. SDRAM, DDR). Since multiple neural network processors may need to share parameters when running neural network algorithms, DDR is used as a slave device to store and share parameters. Through the system-on-chip structure of the embodiment of the present application, multiple neural network processors can be realized Efficiently obtain the shared parameters of the slave device DDR, and can reduce system power consumption and save DDR bandwidth, thereby improving the computing efficiency of the AI chip.
实施例二:Embodiment two:
图6示出了本申请实施例提供的一种数据传送方法的流程示意图,该数据传送方法的执行主体为如实施例一所述的初始节点模块,详述如下:FIG. 6 shows a schematic flowchart of a data transmission method provided by an embodiment of the present application. The execution subject of the data transmission method is the initial node module as described in Embodiment 1, and the details are as follows:
在S601中,接收所述初始节点模块对应的第一主设备发送的第一数据读取请求,所述第一数据读取请求携带标识信息。In S601, a first data read request sent by a first master device corresponding to the initial node module is received, where the first data read request carries identification information.
初始节点模块与对应的第一主设备连接,接收第一主设备发送的第一数据读取请求,该第一数据读取请求具体携带了标识信息。可选地,该标识信息可以包括该第一数据读取请求所请求的目标数据的地址信息,该地址信息可以包括存储该目标数据的从设备的物理地址信息及所请求的目标数据在该从设备中的具体索引地址信息。可选地,该标识信息还可以为指定的从设备的设备号信息。The initial node module is connected to the corresponding first master device, and receives a first data read request sent by the first master device, where the first data read request specifically carries identification information. Optionally, the identification information may include address information of the target data requested by the first data read request, and the address information may include physical address information of the slave device storing the target data and the requested target data in the slave device. Specific index address information in the device. Optionally, the identification information may also be the device number information of the designated slave device.
在S602中,根据所述标识信息,将所述第一数据读取请求发送至相应的从设备,并接收所述从设备返回的目标数据。In S602, according to the identification information, the first data read request is sent to the corresponding slave device, and the target data returned by the slave device is received.
收到第一主设备发送的数据读取请求后,根据该数据读取请求包含的标识信息,确定相应的从设备,并将该数据读取请求发送至该从设备中。之后,接收该从设备返回的目标数据。After receiving the data read request sent by the first master device, determine the corresponding slave device according to the identification information included in the data read request, and send the data read request to the slave device. After that, the target data returned by the slave device is received.
在S603中,将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块对应的从属节点模块。In S603, the target data is sent to the first master device and the target data is broadcast to the slave node module corresponding to the initial node module.
初始节点模块在收到目标数据后,将该目标数据发送至与该初始节点模块对应连接的第一主设备,并将该目标数据广播至该初始节点模块对应的从属节点模块。具体地,该初始节点模块可以根据自身存储的广播拓扑结构的配置信息确定对应的从属节点模块。具体地,将目标数据广播至初始节点模块对应的从属节点模块包括:根据自身存储的广播拓扑结构的配置信息,将目标数据发送至与该初始节点模块直接连接的从属节点模块,即发送至该初始节点模块对应的子节点模块。该子节点模块为在广播拓扑结构中,位于该初始节点模块的下一级节点的广播模块。之后,再由该子节点模块根据广播拓扑结构的配置信息确定是否需要将初始节点模块发送的目标数据进一步地逐级传送至更多没有与初始节点模块直接连接的从属节点模块。After receiving the target data, the initial node module sends the target data to the first master device corresponding to the initial node module, and broadcasts the target data to the slave node module corresponding to the initial node module. Specifically, the initial node module may determine the corresponding slave node module according to the configuration information of the broadcast topology structure stored by itself. Specifically, broadcasting the target data to the slave node module corresponding to the initial node module includes: sending the target data to the slave node module directly connected to the initial node module according to the configuration information of the broadcast topology structure stored by itself, that is, to the slave node module directly connected to the initial node module. The child node module corresponding to the initial node module. The child node module is a broadcast module located at the next level node of the initial node module in the broadcast topology structure. After that, the child node module determines whether the target data sent by the initial node module needs to be further transferred to more subordinate node modules that are not directly connected to the initial node module according to the configuration information of the broadcast topology structure.
可选地,初始节点模块先获取该初始节点模块对应的从属节点模块,若检测到对应的从属节点模块处于准备好接收目标数据的状态,再将目标数据广播至对应的从属节点模块。Optionally, the initial node module first obtains the slave node module corresponding to the initial node module, and if it detects that the corresponding slave node module is in a state ready to receive target data, then broadcasts the target data to the corresponding slave node module.
可选地,在所述步骤S601之后,还包括:Optionally, after the step S601, the method further includes:
缓存所述第一数据读取请求;Cache the first data read request;
对应地,所述步骤S603,包括:Correspondingly, the step S603 includes:
当检测到所述初始节点模块对应的从属节点模块已存在携带所述标识信息的第二数据读取请求时,将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块的对应的从属节点模块。When it is detected that the slave node module corresponding to the initial node module has a second data read request carrying the identification information, the target data is sent to the first master device and the target data is broadcast to The corresponding slave node module of the initial node module.
本申请实施例中,初始节点模块在接收到第一主设备发送的第一数据读取请求之后,将该第一数据读取请求进行缓存。待初始节点模块收到目标数据之后,检测该初始节点模块对应的从属节点模块是否存在与该初始节点模块缓存的第一数据读取请求的标识信息一致的第二数据读取请求。当检测到所述初始节点模块对应的从属节点模块已存在携带同样的标识信息的第二数据读取请求时,说明该从属节点模块对应的主设备也需要获取目标数据,从属节点模块也收到了同样的数据读取请求,已准备好接收目标数据。此时,将所述目标数据发送至第一主设备以及将目标数据广播至该初始节点模块对应的从属节点模块。可选地,若初始节点模块对应的从属节点模块中存在着异常节点模块,则初始节点模块直接将目标数据广播至除该异常节点模块以外的从属节点模块。其中,该异常节点模块具体为在预设检测时长内均无法被检测到存在该第二数据读取请求的从属节点模块。由于在存在异常节点模块时,初始节点模块也能够及时将目标数据广播至除该异常节点模块以外的从属节点模块,而无需一直等待该异常节点模块的数据读取状态,因此能够提高数据广播的及时性及有效性。In the embodiment of the present application, after receiving the first data read request sent by the first master device, the initial node module caches the first data read request. After the initial node module receives the target data, it is detected whether the slave node module corresponding to the initial node module has a second data read request consistent with the identification information of the first data read request cached by the initial node module. When it is detected that the slave node module corresponding to the initial node module already has a second data read request carrying the same identification information, it means that the master device corresponding to the slave node module also needs to obtain the target data, and the slave node module has also received it. The same data read request is ready to receive target data. At this time, the target data is sent to the first master device and the target data is broadcast to the slave node module corresponding to the initial node module. Optionally, if there is an abnormal node module in the slave node module corresponding to the initial node module, the initial node module directly broadcasts the target data to the slave node modules other than the abnormal node module. Wherein, the abnormal node module is specifically a slave node module that cannot be detected as having the second data reading request within a preset detection time period. Since when there is an abnormal node module, the initial node module can also broadcast the target data to the slave node modules other than the abnormal node module in time without waiting for the data reading status of the abnormal node module, so the data broadcasting performance can be improved. Timeliness and effectiveness.
本申请实施例中,由于对第一数据读取请求进行缓存,以便在接收到目标数据后将该第一数据读取请求与从属节点模块存在的第二数据读取请求进行比对,作为目标数据广播的触发条件,使得初始节点模块能够在恰当的时机进行目标数据的广播,因此能够提高数据传送的准确性及有效性。In the embodiment of the present application, the first data read request is cached, so that after receiving the target data, the first data read request is compared with the second data read request existing in the slave node module as the target The trigger condition of the data broadcast enables the initial node module to broadcast the target data at an appropriate time, thereby improving the accuracy and effectiveness of data transmission.
可选地,在所述步骤S601之前,还包括:Optionally, before the step S601, the method further includes:
获取广播拓扑结构的配置信息,根据所述广播拓扑结构的配置信息确定自身的模块类型以及与其它广播模块的连接关系。Obtain the configuration information of the broadcast topology, and determine its own module type and the connection relationship with other broadcast modules according to the configuration information of the broadcast topology.
本申请实施例中,在进行数据传送前,先获取主控模块配置的广播拓扑结构的配置信息,根据广播拓扑结构的配置信息确定自身的节点类型为初始节点模块,并确定该初始节点模块与其它广播模块的连接关系,具体地,通过该广播拓扑结构的配置信息确定与该初始节点模块连接的子节点模块的信息,该子节点模块即为在广播拓扑结构中位于该初始节点模块的下一级节点的从属节点模块的信息。In the embodiment of the present application, before data transmission is performed, the configuration information of the broadcast topology structure configured by the main control module is first obtained, and the node type of itself is determined as the initial node module according to the configuration information of the broadcast topology structure, and the initial node module and the initial node module are determined The connection relationship of other broadcast modules, specifically, the information of the child node module connected to the initial node module is determined by the configuration information of the broadcast topology structure, and the child node module is located under the initial node module in the broadcast topology structure. The information of the subordinate node module of the first-level node.
本申请实施例中,广播模块具体通过获取广播拓扑结构的配置信息确定自身的模块类型为初始节点模块类型以及确定在广播拓扑结构中与该初始节点模块存在连接关系的从属节点模块,以便之后准确地完成数据广播操作。In the embodiment of the present application, the broadcast module specifically determines its own module type as the initial node module type by obtaining the configuration information of the broadcast topology structure and determines the subordinate node modules that have a connection relationship with the initial node module in the broadcast topology structure, so as to be accurate later. Complete the data broadcast operation.
本申请实施例中,由初始节点模块来进行向从设备发送第一数据读取请求以及接收目标数据的操作,之后将该目标数据发送至该初始节点模块对应的第二主设备以及广播至该初始节点模块对应的从属节点模块。由于只通过初始节点模块与从设备的一次交互后,通过数据广播即可最终使得多个主设备可以获取得到目标数据,因此提高主设备与从设备之间的数据传送效率;并且,由于在数据传送过程中,从设备只需与该初始节点模块进行交互,无需重复处理多次数据读取请求,因此能够降低系统功耗。In the embodiment of the present application, the initial node module performs the operations of sending the first data read request to the slave device and receiving the target data, and then the target data is sent to the second master device corresponding to the initial node module and broadcasted to the The slave node module corresponding to the initial node module. After only one interaction between the initial node module and the slave device, multiple master devices can finally obtain the target data through data broadcasting, thus improving the efficiency of data transmission between the master device and the slave device; During the transmission process, the slave device only needs to interact with the initial node module and does not need to process multiple data read requests repeatedly, thus reducing system power consumption.
实施例三:Embodiment three:
图7示出了本申请实施例提供的另一种数据传送方法的流程示意图,该数据传送方法的执行主体为实施例一所述的从属节点模块,详述如下:FIG. 7 shows a schematic flowchart of another data transmission method provided by an embodiment of the present application. The execution subject of the data transmission method is the slave node module described in Embodiment 1, and the details are as follows:
在S701中,接收所述从属节点模块对应的第二主设备发送的第二数据读取请求,所述第二数据请求携带标识信息。In S701, a second data read request sent by a second master device corresponding to the slave node module is received, where the second data request carries identification information.
从属节点模块与对应的第二主设备连接,接收第二主设备发送的数据读取请求,该第二数据请求携带标识信息,可选地,该标识信息可以包括该第二数据读取请求所请求的目标数据的地址信息,该地址信息可以包括存储该目标数据的从设备的物理地址信息及所请求的目标数据在该从设备中的具体索引地址信息。可选地,该标识信息还可以为指定的从设备的设备号信息。The slave node module is connected to the corresponding second master device, and receives a data read request sent by the second master device. The second data request carries identification information. Optionally, the identification information may include the second data read request. Address information of the requested target data, the address information may include physical address information of the slave device storing the target data and specific index address information of the requested target data in the slave device. Optionally, the identification information may also be the device number information of the designated slave device.
在S702中,根据所述第二数据读取请求获取所述从属节点模块对应的初始节点模块广播的目标数据,其中所述初始节点模块存在携带所述标识信息的第一数据读取请求。In S702, the target data broadcast by the initial node module corresponding to the slave node module is acquired according to the second data read request, where the initial node module has a first data read request carrying the identification information.
根据接收到的第二数据读取请求,获取该从属节点模块的对应的初始节点模块广播的目标数据,该目标数据为与该第二数据读取请求对应的数据。具体地,从属节点模块根据自身预存的广播拓扑结构的配置信息,确定对应的初始节点模块,该初始节点模块存在与第二数据读取请求携带的标识信息一致的第一数据读取请求。具体地,若该从属节点模块直接与初始节点模块连接,则该从属节点模块直接接收该初始节点模块发送的目标数据;若该从属节点模块没有直接与初始节点模块连接,而是通过中间的其它从属节点模块的与该初始节点模块间接通信,则该从属节点模块通过接收自身的父节点模块(即在广播拓扑结构中位于该从属节点模块的上一级节点的广播模块)转发的目标数据来间接获取初始节点模块广播的目标数据。According to the received second data read request, the target data broadcast by the corresponding initial node module of the slave node module is obtained, where the target data is data corresponding to the second data read request. Specifically, the slave node module determines the corresponding initial node module according to its pre-stored configuration information of the broadcast topology structure, and the initial node module has a first data read request consistent with the identification information carried in the second data read request. Specifically, if the subordinate node module is directly connected with the initial node module, the subordinate node module directly receives the target data sent by the initial node module; if the subordinate node module is not directly connected with the initial node module, but through other intermediate nodes If the slave node module communicates indirectly with the initial node module, the slave node module receives the target data forwarded by its own parent node module (that is, the broadcast module of the upper-level node of the slave node module in the broadcast topology). Indirectly obtain the target data broadcast by the initial node module.
在S703中,将所述目标数据发送至所述第二主设备。In S703, the target data is sent to the second master device.
从属节点模块在接收到目标数据之后,至少将接收到的目标数据发送至第二主设备,使得第二主设备获取到与该数据读取请求对应的数据。After receiving the target data, the slave node module at least sends the received target data to the second master device, so that the second master device obtains the data corresponding to the data read request.
可选地,所述从属节点模块存在对应的子节点模块,对应地,所述步骤S703包括:Optionally, the slave node module has a corresponding child node module. Correspondingly, the step S703 includes:
将所述目标数据发送至所述第二主设备以及将所述目标数据广播至所述从属节点模块对应的所述子节点模块。Sending the target data to the second master device and broadcasting the target data to the child node module corresponding to the slave node module.
本申请实施例中,从属节点模块具体为在两级以上的广播拓扑结构中处于中间节点的广播模块,即该从属节点模块存在对应的子节点模块,该子节点模块具体为在广播拓扑结构中位于该从属节点模块的下一级节点的其它广播模块。In the embodiment of the present application, the subordinate node module is specifically a broadcast module that is an intermediate node in a two-level or more broadcast topology, that is, the subordinate node module has a corresponding sub-node module, and the sub-node module is specifically in the broadcast topology. Other broadcast modules located at the next node of the subordinate node module.
示例性地,本申请实施例的从属节点模块可以为如图3所示的从属节点模块BRC1,其存在对应的子节点模块BRC2和BRC3。示例性地,本申请实施例的从属节点模块可以为如图4所示的从属节点模块BRC1,其存在对应的子节点模块BRC2;或者本申请实施例的从属节点模块可以为如图4所示的从属节点模块BRC2,其存在对应的子节点模块BRC3。对应地,该从属节点模块除了将目标数据发送至与其对应连接的第二主设备以外,还将目标数据进一步广播至该从属节点模块的子节点模块,以使更多的主设备能够通过广播模块获得目标数据。Exemplarily, the slave node module in the embodiment of the present application may be the slave node module BRC1 as shown in FIG. 3, which has corresponding child node modules BRC2 and BRC3. Exemplarily, the slave node module in the embodiment of the present application may be the slave node module BRC1 as shown in FIG. 4, which has a corresponding sub-node module BRC2; or the slave node module in the embodiment of the present application may be as shown in FIG. 4 The slave node module BRC2 has a corresponding child node module BRC3. Correspondingly, in addition to sending the target data to the second master device corresponding to the slave node module, the slave node module further broadcasts the target data to the child node modules of the slave node module, so that more master devices can pass the broadcast module. Obtain target data.
可选地,在所述步骤S701之后,还包括:Optionally, after the step S701, the method further includes:
缓存所述第二数据读取请求;Cache the second data read request;
对应地,所述将所述目标数据发送至所述第二主设备以及将所述目标数据广播至所述从属节点模块的子节点模块,包括:Correspondingly, the sending the target data to the second master device and broadcasting the target data to the child node module of the slave node module includes:
当检测到所述从属节点模块的子节点模块已存在同样的所述数据读取请求时,将所述目标数据发送至所述第二主设备以及将所述目标数据广播至所述从属节点模块的子节点模块。When it is detected that the child node module of the slave node module has the same data read request, sending the target data to the second master device and broadcasting the target data to the slave node module The child node module.
本申请实施例中,从属节点模块在接收到第二主设备发送的第二数据读取请求之后,将该第二数据读取请求进行缓存。待从属节点模块收到目标数据之后,检测该从属节点模块的子节点模块是否存在与该从属节点模块缓存的第二数据读取请求一致的第二数据读取请求。当检测到该从属节点模块的子节点模块已存在同样的数据读取请求时,说明该子节点模块对应的主设备也需要获取目标数据,子节点模块也收到了同样的数据读取请求,已准备好接收目标数据。此时,将所述目标数据发送至第二主设备以及将目标数据广播至该从属节点模块的子节点模块。In the embodiment of the present application, after receiving the second data read request sent by the second master device, the slave node module caches the second data read request. After the slave node module receives the target data, it is detected whether the slave node module of the slave node module has a second data read request consistent with the second data read request cached by the slave node module. When it is detected that the child node module of the slave node module has the same data read request, it means that the master device corresponding to the child node module also needs to obtain the target data, and the child node module also receives the same data read request. Ready to receive target data. At this time, the target data is sent to the second master device and the target data is broadcast to the child node modules of the slave node module.
本申请实施例中,由于对第二数据读取请求进行缓存,以便在接收到目标数据后将该第二数据读取请求与子节点模块存在的第二数据读取请求进行比对,作为目标数据广播的触发条件,使得从属节点模块能够在恰当的时机进行目标数据进一步广播,因此能够提高数据传送的准确性及有效性。In the embodiment of the present application, the second data read request is cached, so that after receiving the target data, the second data read request is compared with the second data read request existing in the sub-node module as the target The trigger condition of the data broadcast enables the slave node module to further broadcast the target data at an appropriate time, thus improving the accuracy and effectiveness of data transmission.
可选地,在所述步骤S701之前,还包括:Optionally, before the step S701, the method further includes:
获取广播拓扑结构的配置信息,根据所述广播拓扑结构的配置信息确定自身的模块类型以及与其它广播模块的连接关系。Obtain the configuration information of the broadcast topology, and determine its own module type and the connection relationship with other broadcast modules according to the configuration information of the broadcast topology.
本申请实施例中,在进行数据传送前,先获取主控模块配置的拓扑信息,根据拓扑信息确定自身的节点类型为从属节点模块,并确定与该从属节点模块连接的上一级节点的其它广播模块(即父节点模块)的信息以及与该从属节点模块连接的下一级节点的其它广播模块(即子节点模块)的信息。具体地,通过父节点模块的唯一标识号来作为父节点模块的信息、子节点模块的唯一标识号来作为子节点模块的信息。可选地,若该从属节点模块不存在对应的子节点模块,则该子节点模块的信息可以为空,或者用“null”“0”“N/A”等字符作为该子节点模块的信息。通过广播拓扑结构的配置信息的获取,能够准确确定该从属节点模块在广播拓扑结构中的位置,以便该从属节点模块准确地进行数据传送。In the embodiment of the present application, before data transmission, the topology information configured by the master control module is obtained, the node type of itself is determined as the slave node module according to the topology information, and the other nodes of the upper level node connected to the slave node module are determined. The information of the broadcast module (namely the parent node module) and the information of other broadcast modules (namely the child node modules) of the next-level node connected to the subordinate node module. Specifically, the unique identification number of the parent node module is used as the information of the parent node module, and the unique identification number of the child node module is used as the information of the child node module. Optionally, if the subordinate node module does not have a corresponding sub-node module, the information of the sub-node module can be empty, or characters such as "null", "0", "N/A", etc. can be used as the information of the sub-node module . By acquiring the configuration information of the broadcast topology, the position of the subordinate node module in the broadcast topology can be accurately determined, so that the subordinate node module can accurately transmit data.
本申请实施例中,由于从属节点模块以及与该从属节点模块对应的第二主设备都无需与从设备进行交互,只需获取从属节点模块对应的初始节点模块广播的目标数据即可最终使得第二主设备获得目标数据。由于第二主设备无需逐一等待与从设备进行交互便可通过从属节点模块获取到目标数据,因此能够提高主设备与从设备之间的数据传送效率;并且,由于在数据传送过程中,从设备无需重复处理第二主设备的数据读取请求,因此能够降低系统功耗。In the embodiment of the present application, since neither the slave node module nor the second master device corresponding to the slave node module need to interact with the slave device, only the target data broadcast by the initial node module corresponding to the slave node module can be obtained. 2. The master device obtains the target data. Since the second master device can obtain the target data through the slave node module without waiting for the interaction with the slave device one by one, the data transmission efficiency between the master device and the slave device can be improved; and, because the slave device There is no need to repeatedly process the data read request of the second master device, so the system power consumption can be reduced.
实施例四:Embodiment four:
图8示出了本申请实施例提供的第一种广播模块的结构示意图,该广播模块具体为初始节点模块,为了便于说明,仅示出了与本申请实施例相关的部分:FIG. 8 shows a schematic structural diagram of the first broadcast module provided by an embodiment of the present application. The broadcast module is specifically an initial node module. For ease of description, only the parts related to the embodiment of the present application are shown:
该初始节点模块包括:第一接收单元81、数据读取请求发送单元82、第一发送单元83。其中:The initial node module includes: a first receiving unit 81, a data read request sending unit 82, and a first sending unit 83. in:
第一接收单元81,用于接收所述初始节点模块对应的第一主设备发送的第一数据读取请求,所述第一数据读取请求携带标识信息。The first receiving unit 81 is configured to receive a first data read request sent by a first master device corresponding to the initial node module, where the first data read request carries identification information.
数据读取请求发送单元82,用于根据所述标识信息,将所述第一数据读取请求发送至相应的从设备,并接收所述从设备返回的目标数据。The data read request sending unit 82 is configured to send the first data read request to the corresponding slave device according to the identification information, and receive the target data returned by the slave device.
第一发送单元83,用于将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块对应的从属节点模块。The first sending unit 83 is configured to send the target data to the first master device and broadcast the target data to the slave node module corresponding to the initial node module.
可选地,该初始节点模块还包括:Optionally, the initial node module further includes:
缓存单元,用于缓存所述第一数据读取请求;A cache unit, configured to cache the first data read request;
对应地,所述第一发送单元83,具体用于当检测到所述初始节点模块对应的从属节点模块已存在携带所述标识信息的第二数据读取请求时,将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块对应的从属节点模块。Correspondingly, the first sending unit 83 is specifically configured to send the target data to when it is detected that the slave node module corresponding to the initial node module already has a second data read request carrying the identification information The first master device broadcasts the target data to the slave node module corresponding to the initial node module.
可选地,该初始节点模块还包括:Optionally, the initial node module further includes:
第一获取模块,用于获取广播拓扑结构的配置信息,根据所述广播拓扑结构的配置信息确定自身的模块类型以及与其它广播模块的连接关系。The first obtaining module is configured to obtain configuration information of the broadcast topology, and determine its own module type and the connection relationship with other broadcast modules according to the configuration information of the broadcast topology.
图9示出了本申请实施例提供的第二种广播模块的结构示意图,该广播模块具体为从属节点模块,为了便于说明,仅示出了与本申请实施例相关的部分:Figure 9 shows a schematic structural diagram of a second type of broadcast module provided by an embodiment of the present application. The broadcast module is specifically a slave node module. For ease of description, only the parts related to the embodiment of the present application are shown:
该从属节点模块包括:第二接收单元91、目标数据获取单元92、第二发送单元93。其中:The slave node module includes: a second receiving unit 91, a target data acquiring unit 92, and a second sending unit 93. in:
第二接收单元91,用于接收所述从属节点模块对应的第二主设备发送的第二数据读取请求。The second receiving unit 91 is configured to receive a second data read request sent by the second master device corresponding to the slave node module.
目标数据获取单元92,用于根据所述第二数据读取请求获取所述从属节点模块对应的初始节点模块广播的目标数据,其中所述初始节点模块存在携带所述标识信息的第一数据读取请求。The target data acquiring unit 92 is configured to acquire the target data broadcast by the initial node module corresponding to the slave node module according to the second data read request, wherein the initial node module has a first data read carrying the identification information. Fetch request.
第二发送单元93,用于将所述目标数据发送至所述第二主设备。The second sending unit 93 is configured to send the target data to the second master device.
可选地,该从属节点模块存在子节点模块,对应地,所述第二发送单元93,具体用于将所述目标数据发送至所述第二主设备以及将所述目标数据广播至所述从属节点模块的子节点模块。Optionally, the slave node module has child node modules. Correspondingly, the second sending unit 93 is specifically configured to send the target data to the second master device and broadcast the target data to the The child node module of the subordinate node module.
可选地,该从属节点模块还包括:Optionally, the slave node module further includes:
第二获取模块,用于获取广播拓扑结构的配置信息,根据所述广播拓扑结构的配置信息确定自身的模块类型以及与其它广播模块的连接关系。The second acquiring module is used to acquire the configuration information of the broadcast topology, and determine its own module type and the connection relationship with other broadcast modules according to the configuration information of the broadcast topology.
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。It should be noted that the information interaction and execution process among the above-mentioned devices/units are based on the same concept as the method embodiment of this application, and its specific functions and technical effects can be found in the method embodiment section. I won't repeat it here.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and conciseness of description, only the division of the above-mentioned functional units and modules is used as an example. In practical applications, the above-mentioned functions can be allocated to different functional units and modules as required. Module completion, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist alone physically, or two or more units can be integrated into one unit. The above-mentioned integrated units can be hardware-based Formal realization can also be realized in the form of a software functional unit. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the present application. For the specific working process of the units and modules in the foregoing system, reference may be made to the corresponding process in the foregoing method embodiment, which will not be repeated here.
应理解地,本申请实施例中初始节点模块及从属节点模块这两种类型的广播模块的实体结构可以相同也可以不同。可选地,初始节点模块及从属节点模块为对同一种实体结构的广播模块进行不同的线路选通规则,或者安装不同的计算机程序得到的不同功能的广播模块。It should be understood that the physical structures of the two types of broadcast modules, the initial node module and the subordinate node module, in the embodiments of the present application may be the same or different. Optionally, the initial node module and the subordinate node module are broadcast modules with different functions obtained by performing different line gating rules on the broadcasting modules of the same physical structure, or by installing different computer programs.
示例性地,图10示出了本申请实施例提供的一种广播模块的实体结构示意图。如图10所示,该广播模块包括读命令缓存子模块ARBUF、读数据缓存子模块RBUF、指令门模块AR CMD Gating、第一选择器MUX-0及第二选择器MUX-1,其中:Exemplarily, FIG. 10 shows a schematic diagram of the physical structure of a broadcast module provided by an embodiment of the present application. As shown in Figure 10, the broadcast module includes a read command buffer sub-module ARBUF, a read data buffer sub-module RBUF, an instruction gate module AR CMD Gating, a first selector MUX-0 and a second selector MUX-1, in which:
读命令缓存子模块ARBUF,用于通过读命令通道AR Channel接入外部的主设备,以获取所述主设备发送的数据读取请求,所述数据读取请求携带标识信息。The read command buffer submodule ARBUF is used to access an external main device through the read command channel AR Channel to obtain a data read request sent by the main device, and the data read request carries identification information.
读命令缓存子模块ARBUF通过读命令通道AR Channel接入外部的主设备,以获取所述主设备发送的数据读取请求,该数据读取请求携带标识信息。该标识信息可以包括该数据读取请求所请求的目标数据的地址信息,该地址信息可以包括存储该目标数据的从设备的物理地址信息及所请求的目标数据在该从设备中的具体索引地址信息。可选地,该标识信息还可以为指定的从设备的设备号信息。The read command buffer submodule ARBUF accesses an external main device through the read command channel AR Channel to obtain a data read request sent by the main device, and the data read request carries identification information. The identification information may include the address information of the target data requested by the data read request, and the address information may include the physical address information of the slave device storing the target data and the specific index address of the requested target data in the slave device. information. Optionally, the identification information may also be the device number information of the designated slave device.
指令门模块AR CMD Gating,所述指令门模块AR CMD Gating的输入端与所述读命令缓存子模块ARBUF的输出端连接,用于接收所述读命令缓存子模块ARBUF传送的所述数据读取请求;所述指令门模块AR CMD Gating的输出端与外部的从设备连接,用于若所述广播模块被配置为初始节点模块,则所述指令门模块AR CMD Gating的输出端为开启状态,根据所述数据读取请求携带的所述标识信息从所述外部的从设备中确定所述数据读取请求对应的从设备,并将所述数据读取请求发送至所述对应的从设备;还用于若所述广播模块被配置为从属节点模块,则所述指令门模块AR CMD Gating的输出端为关闭状态,禁止所述数据读取请求的外发。Command gate module AR CMD Gating, said command gate module AR The input end of CMD Gating is connected with the output end of the read command buffer submodule ARBUF, and is used to receive the data read request transmitted by the read command buffer submodule ARBUF; the instruction gate module AR The output terminal of CMD Gating is connected with an external slave device, and is used to instruct the gate module AR if the broadcast module is configured as an initial node module The output terminal of CMD Gating is in the on state, and the slave device corresponding to the data read request is determined from the external slave device according to the identification information carried in the data read request, and the data read request Sent to the corresponding slave device; and also used for instructing the gate module AR if the broadcast module is configured as a slave node module The output terminal of CMD Gating is in the closed state, and the outgoing of the data read request is prohibited.
本申请实施例的指令门模块AR CMD Gating具体用于控制数据读取请求的外发,具体地,通过指令门模块AR CMD Gating的输出端的状态配置(包括开启状态和关闭状态)来控制数据读取请求的外发。具体地,指令门模块AR CMD Gating的输入端与读命令缓存子模块ARBUF的输出端连接,接收从读命令缓存子模块ABRUF传送过来的数据读取请求。指令门模块AR CMD Gating的输出端与外部的从设备连接,具体可以先提前与片上系统上广播模块外部的所有从设备建立物理连接。当该广播模块被配置为初始节点模块时,指令门模块AR CMD Gating的输出端被配置为开启状态,此时,当指令门模块AR CMD Gating接收到数据读取请求后,根据该数据读取请求携带的标识信息,从预先建立物理连接的所有外部的从设备中确定出当前的数据读取请求对应的从设备,并将该数据读取请求发送给该对应的从设备。具体地,若该广播模块被配置为从属节点模块,则该指令门模块AR CMD Gating的输出端为关闭状态,读命令缓存子模块ABRUF无法向外发送该数据读取请求。The instruction gate module AR CMD Gating of the embodiment of the present application is specifically used to control the outgoing of data read requests, specifically, through the instruction gate module AR The state configuration (including open state and closed state) of the output terminal of CMD Gating controls the outgoing of data read requests. Specifically, the instruction gate module AR The input terminal of CMD Gating is connected with the output terminal of the read command buffer sub-module ARBUF, and receives the data read request transmitted from the read command buffer sub-module ABRUF. Command gate module AR The output terminal of CMD Gating is connected with external slave devices. Specifically, physical connections can be established in advance with all slave devices outside the broadcast module on the chip system. When the broadcast module is configured as the initial node module, instruct the door module AR The output terminal of CMD Gating is configured to be in the open state. At this time, when the instruction gate module AR CMD Gating receives a data read request, it will send data from all external slaves that have pre-established physical connections according to the identification information carried in the data read request. The device determines the slave device corresponding to the current data read request, and sends the data read request to the corresponding slave device. Specifically, if the broadcast module is configured as a slave node module, the instruction gate module AR The output terminal of CMD Gating is closed, and the read command cache sub-module ABRUF cannot send the data read request.
第一选择器MUX-0,所述第一选择器MUX-0的第一输入端与所述外部的从设备连接,用于若所述广播模块被配置为所述初始节点模块,则从所述对应的从设备获取目标数据;若所述广播模块被配置为从属节点模块,则所述第一选择器的第二输入端被配置为与所述广播模块的父节点模块连接,用于从所述父节点模块获取目标数据;其中,所述父节点模块为在广播拓扑结构中位于所述广播模块的上一级节点的其它广播模块。The first selector MUX-0, the first input terminal of the first selector MUX-0 is connected to the external slave device, and is configured to follow the slave device if the broadcast module is configured as the initial node module The corresponding slave device obtains target data; if the broadcast module is configured as a slave node module, the second input terminal of the first selector is configured to be connected to the parent node module of the broadcast module for slave The parent node module obtains target data; wherein, the parent node module is another broadcast module located at the upper-level node of the broadcast module in the broadcast topology.
第一选择器MUX-0的第一输入端与外部的所有从设备预先建立物理连接,当该广播模块被配置为初始节点模块时,根据前述确定的与该数据读取请求携带的标识信息对应的从设备,从该对应的从设备获取目标数据。当该广播模块被配置为从属节点模块时,该第一选择器MUX-0的第二输入端通过广播线路BRC_BUS与该从属节点模块的父节点模块(即在广播拓扑结构中位于所述广播模块的上一级节点的其它广播模块)连接,用于当该广播模块被配置为从属节点模块时,获取该广播模块的父节点模块传送的目标数据。具体地,该父节点模块可以为初始节点模块,也可以为处于当前的从属节点模块与初始节点模块中间的其它从属节点模块。The first input terminal of the first selector MUX-0 establishes a physical connection with all external slave devices in advance. When the broadcast module is configured as the initial node module, it corresponds to the identification information carried in the data read request according to the aforementioned determination The slave device obtains the target data from the corresponding slave device. When the broadcasting module is configured as a slave node module, the second input terminal of the first selector MUX-0 communicates with the parent node module of the slave node module (that is, located in the broadcasting module in the broadcasting topology) through the broadcasting line BRC_BUS. Other broadcast modules of the upper-level node) connected to, when the broadcast module is configured as a slave node module, to obtain the target data transmitted by the parent node module of the broadcast module. Specifically, the parent node module may be the initial node module, or may be other subordinate node modules between the current subordinate node module and the initial node module.
读数据缓存子模块RBUF,所述读数据缓存子模块RBUF的输入端与所述第一选择器MUX-0的输出端连接,用于缓存所述目标数据;若所述广播模块存在对应的子节点模块,则所述读数据缓存子模块RBUF的输出端被配置为与所述子节点模块连接,用于向所述子节点模块发送所述目标数据。The read data buffer submodule RBUF, the input end of the read data buffer submodule RBUF is connected to the output end of the first selector MUX-0, and is used to buffer the target data; if the broadcast module has a corresponding submodule Node module, the output terminal of the read data buffer sub-module RBUF is configured to be connected to the sub-node module and used to send the target data to the sub-node module.
读数据缓存子模块RBUF的输入端与第一选择器MUX-0的输出端连接,用于缓存获取到的目标数据。若该广播模块自身存在对应的子节点模块(即在广播拓扑结构中位于该广播模块的下一级节点的其它广播模块),则读数据缓存子模块RBUF的一个输出端被配置为通过广播线路BRC_BUS与该子节点模块连接,用于向该子节点模块发送该目标数据。可选地,该广播模块对应的子节点模块可以为一个或者多个;该广播模块可以同时向多个子节点模块发送目标数据。The input end of the read data buffer sub-module RBUF is connected to the output end of the first selector MUX-0, and is used to buffer the acquired target data. If the broadcast module itself has a corresponding child node module (that is, other broadcast modules located at the next node of the broadcast module in the broadcast topology), one output end of the read data buffer sub-module RBUF is configured to pass through the broadcast line BRC_BUS is connected to the sub-node module and used to send the target data to the sub-node module. Optionally, there may be one or more child node modules corresponding to the broadcast module; the broadcast module may send target data to multiple child node modules at the same time.
第二选择器MUX-1,所述第二选择器MUX-1的第一输入端、第二输入端分别与所述读数据缓存子模块RBUF、所述外部的从设备连接,用于获取所述目标数据;所述第二选择器MUX-1的输出端通过读数据通道R Channel与所述主设备连接,用于向所述主设备传送所述目标数据。The second selector MUX-1, the first input terminal and the second input terminal of the second selector MUX-1 are respectively connected to the read data buffer sub-module RBUF and the external slave device for obtaining all The target data; the output terminal of the second selector MUX-1 is connected to the master device through the read data channel R Channel, and is used to transmit the target data to the master device.
第二选择器MUX-1的第一输入端与读数据缓存子模块RBUF连接,第二选择器MUX-1的第二输入端与外部的从设备连接,以获取目标数据。具体地,当广播模块需要执行目标数据广播操作时,第二选择器选择通过第一输入端从读数据缓存子模块RBUF获取目标数据;当广播模块无需执行目标数据广播操作时,第二选择器选择通过第二输入端直接获取与当前的数据读取请求的标识信息对应的从设备的目标数据。第二选择器MUX-1的输出端通过读数据通道R Channel与对应的主设备连接,以向该主设备传送目标数据。The first input terminal of the second selector MUX-1 is connected to the read data buffer sub-module RBUF, and the second input terminal of the second selector MUX-1 is connected to an external slave device to obtain target data. Specifically, when the broadcast module needs to perform the target data broadcast operation, the second selector selects to obtain the target data from the read data buffer submodule RBUF through the first input; when the broadcast module does not need to perform the target data broadcast operation, the second selector Select to directly obtain the target data of the slave device corresponding to the identification information of the current data reading request through the second input terminal. The output terminal of the second selector MUX-1 is connected to the corresponding master device through the read data channel R Channel to transmit target data to the master device.
可选地,读命令缓存子模块ABRUF还用于若所述广播模块被配置为从属节点模块,则通过广播线路BRC_BUS与父节点模块连接,以在自身获取了数据读取请求后,向父节点模块通知自身已处于可以接收目标数据的准备状态。读命令缓存子模块ABRUF还用于若所述广播模块存在子节点模块,则通过广播线路BRC_BUS与该子节点模块连接,以接收该子节点模块的准备状态的通知;当接收到该下一级节点的广播模块的准备状态的通知时,再控制广播线路BRC_BUS向该子节点模块传送目标数据。Optionally, the read command cache sub-module ABRUF is further configured to connect to the parent node module through the broadcast line BRC_BUS if the broadcast module is configured as a slave node module, so as to send the data read request to the parent node after it has obtained the data read request. The module informs itself that it is ready to receive target data. The read command buffer sub-module ABRUF is also used to connect to the sub-node module through the broadcast line BRC_BUS if there is a sub-node module in the broadcast module to receive the notification of the ready state of the sub-node module; when the next-level module is received When the node's broadcast module is notified of the ready status, the broadcast line BRC_BUS is then controlled to transmit the target data to the child node module.
本申请实施例中,通过上述广播模块的结构,进行线路的选通,能够灵活地配置广播模块的模块类型、相应的连接关系,以作为主设备与从设备之间的媒介灵活地实现相应的数据传送功能,从而提高主设备与从设备之间的数据传送效率以及降低片上系统的系统功耗。In the embodiment of the application, the above-mentioned structure of the broadcast module is used to select the line, and the module type and the corresponding connection relationship of the broadcast module can be flexibly configured, so as to be used as the medium between the master device and the slave device to flexibly realize the corresponding Data transfer function, thereby improving the data transfer efficiency between the master device and the slave device and reducing the system power consumption of the system-on-chip.
实施例五:Embodiment five:
图11是本申请一实施例提供的终端设备的示意图。如图11所示,该实施例的终端设备11包括:处理器110、存储器111以及存储在所述存储器111中并可在所述处理器110上运行的计算机程序112,例如数据传送程序。所述处理器110执行所述计算机程序112时实现上述各个数据传送方法实施例中的步骤,例如图6所示的步骤S601至S603或例如图7所示的步骤S701至S703。或者,所述处理器110执行所述计算机程序112时实现上述各装置实施例中各模块/单元的功能,例如图8所示单元81至83的功能或例如图9所示单元91至93的功能。FIG. 11 is a schematic diagram of a terminal device provided by an embodiment of the present application. As shown in FIG. 11, the terminal device 11 of this embodiment includes: a processor 110, a memory 111, and a computer program 112 stored in the memory 111 and running on the processor 110, such as a data transfer program. When the processor 110 executes the computer program 112, the steps in the foregoing data transmission method embodiments are implemented, such as steps S601 to S603 shown in FIG. 6 or steps S701 to S703 shown in FIG. 7. Alternatively, when the processor 110 executes the computer program 112, the functions of the modules/units in the foregoing device embodiments are implemented, such as the functions of the units 81 to 83 shown in FIG. 8 or the functions of the units 91 to 93 shown in FIG. Features.
示例性的,所述计算机程序112可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器111中,并由所述处理器110执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序112在所述终端设备11中的执行过程。例如,所述计算机程序112可以被分割成第一接收单元、数据读取请求发送单元、第一发送单元,各单元具体功能如下:Exemplarily, the computer program 112 may be divided into one or more modules/units, and the one or more modules/units are stored in the memory 111 and executed by the processor 110 to complete This application. The one or more modules/units may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program 112 in the terminal device 11. For example, the computer program 112 can be divided into a first receiving unit, a data reading request sending unit, and a first sending unit, and the specific functions of each unit are as follows:
第一接收单元,用于接收所述初始节点模块对应的第一主设备发送的第一数据读取请求,所述第一数据读取请求携带标识信息。The first receiving unit is configured to receive a first data read request sent by a first master device corresponding to the initial node module, where the first data read request carries identification information.
数据读取请求发送单元,用于根据所述标识信息,将所述第一数据读取请求发送至相应的从设备,并接收所述从设备返回的目标数据。The data read request sending unit is configured to send the first data read request to the corresponding slave device according to the identification information, and receive the target data returned by the slave device.
第一发送单元,用于将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块对应的从属节点模块。The first sending unit is configured to send the target data to the first master device and broadcast the target data to the slave node module corresponding to the initial node module.
或者,所述计算机程序112可以被分割成第二接收单元、目标数据获取单元、第二发送单元,各单元具体功能如下:Alternatively, the computer program 112 may be divided into a second receiving unit, a target data acquiring unit, and a second sending unit, and the specific functions of each unit are as follows:
第二接收单元,用于接收所述从属节点模块对应的第二主设备发送的第二数据读取请求。The second receiving unit is configured to receive a second data read request sent by the second master device corresponding to the slave node module.
目标数据获取单元,用于根据所述第二数据读取请求获取所述从属节点模块对应的初始节点模块广播的目标数据,其中所述初始节点模块存在携带所述标识信息的第一数据读取请求。The target data obtaining unit is configured to obtain, according to the second data reading request, the target data broadcast by the initial node module corresponding to the slave node module, wherein the initial node module contains the first data read carrying the identification information ask.
第二发送单元,用于将所述目标数据发送至所述第二主设备。The second sending unit is configured to send the target data to the second master device.
所述终端设备11可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器110、存储器111。本领域技术人员可以理解,图11仅仅是终端设备11的示例,并不构成对终端设备11的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。The terminal device 11 may be a computing device such as a desktop computer, a notebook, a palmtop computer, and a cloud server. The terminal device may include, but is not limited to, a processor 110 and a memory 111. Those skilled in the art can understand that FIG. 11 is only an example of the terminal device 11, and does not constitute a limitation on the terminal device 11. It may include more or less components than shown in the figure, or a combination of certain components, or different components. For example, the terminal device may also include input and output devices, network access devices, buses, and so on.
所称处理器110可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。The so-called processor 110 may be a central processing unit (Central Processing Unit, CPU), other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
所述存储器111可以是所述终端设备11的内部存储单元,例如终端设备11的硬盘或内存。所述存储器111也可以是所述终端设备11的外部存储设备,例如所述终端设备11上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器111还可以既包括所述终端设备11的内部存储单元也包括外部存储设备。所述存储器111用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器111还可以用于暂时地存储已经输出或者将要输出的数据。The memory 111 may be an internal storage unit of the terminal device 11, such as a hard disk or a memory of the terminal device 11. The memory 111 may also be an external storage device of the terminal device 11, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), and a secure digital (Secure Digital, SD) equipped on the terminal device 11. Flash card Card) etc. Further, the memory 111 may also include both an internal storage unit of the terminal device 11 and an external storage device. The memory 111 is used to store the computer program and other programs and data required by the terminal device. The memory 111 can also be used to temporarily store data that has been output or will be output.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and conciseness of description, only the division of the above-mentioned functional units and modules is used as an example. In practical applications, the above-mentioned functions can be allocated to different functional units and modules as required. Module completion, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist alone physically, or two or more units can be integrated into one unit. The above-mentioned integrated units can be hardware-based Formal realization can also be realized in the form of a software functional unit. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the present application. For the specific working process of the units and modules in the foregoing system, reference may be made to the corresponding process in the foregoing method embodiment, which will not be repeated here.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。In the above-mentioned embodiments, the description of each embodiment has its own focus. For parts that are not described in detail or recorded in an embodiment, reference may be made to related descriptions of other embodiments.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。A person of ordinary skill in the art may be aware that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether these functions are executed by hardware or software depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered as going beyond the scope of this application.
 To

Claims (12)

  1. 一种片上系统,其特征在于,所述片上系统包括至少两个主设备、至少一个从设备以及总线;所述总线包括至少两个广播模块,且每个所述广播模块对应连接一个所述主设备;其中,被配置为广播拓扑结构中的初始节点的所述广播模块为初始节点模块,在所述广播拓扑结构中除所述初始节点模块以外的所述广播模块为从属节点模块;A system on a chip, characterized in that the system on chip includes at least two master devices, at least one slave device, and a bus; the bus includes at least two broadcast modules, and each broadcast module is connected to one of the master devices. Device; wherein, the broadcast module configured as the initial node in the broadcast topology is the initial node module, and the broadcast modules other than the initial node module in the broadcast topology are the slave node modules;
    所述主设备,用于通过所述广播模块发送数据读取请求以及获取目标数据;The main device is configured to send a data read request and obtain target data through the broadcast module;
    所述初始节点模块,用于接收所述初始节点模块对应的第一主设备发送的第一数据读取请求;根据所述第一数据读取请求中携带的标识信息,将所述第一数据读取请求发送至与所述标识信息对应的从设备,并接收所述从设备返回的所述目标数据,将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块的从属节点模块;The initial node module is configured to receive a first data read request sent by a first master device corresponding to the initial node module; according to the identification information carried in the first data read request, the first data The read request is sent to the slave device corresponding to the identification information, and the target data returned by the slave device is received, the target data is sent to the first master device, and the target data is broadcast to all The subordinate node module of the initial node module;
    所述从属节点模块,用于接收所述从属节点模块对应的第二主设备发送的第二数据读取请求,并根据所述第二数据读取请求获取所述初始节点模块广播的目标数据,将所述目标数据发送至所述第二主设备;其中,所述第二数据读取请求携带的标识信息与所述第一数据读取请求携带的所述标识信息一致;The slave node module is configured to receive a second data read request sent by a second master device corresponding to the slave node module, and obtain the target data broadcast by the initial node module according to the second data read request, Sending the target data to the second master device; wherein the identification information carried in the second data read request is consistent with the identification information carried in the first data read request;
    所述从设备,用于接收所述初始节点模块发送的所述第一数据读取请求,并根据所述第一数据读取请求发送所述目标数据至所述初始节点模块。The slave device is configured to receive the first data read request sent by the initial node module, and send the target data to the initial node module according to the first data read request.
  2. 如权利要求1所述的片上系统,其特征在于,所述广播拓扑结构为两级的拓扑结构或者两级以上的拓扑结构;The system on chip according to claim 1, wherein the broadcast topology is a two-level topology or a two-level topology;
    若所述广播拓扑结构为两级的拓扑结构,则所述初始节点模块被配置为直接与各个所述从属节点模块连接;If the broadcast topology is a two-level topology, the initial node module is configured to be directly connected to each of the slave node modules;
    若所述广播拓扑结构为两级以上的拓扑结构,则所述初始节点模块被配置为与指定的至少一个所述从属节点模块连接,且各个所述从属节点模块之间存在预设连接关系。If the broadcast topology is a topology with more than two levels, the initial node module is configured to be connected to at least one designated slave node module, and there is a preset connection relationship between each of the slave node modules.
  3. 如权利要求1所述的片上系统,其特征在于,所述片上系统还包括:The system on chip of claim 1, wherein the system on chip further comprises:
    主控模块,用于获取用户配置指令,生成广播拓扑结构的配置信息并传送至各个所述广播模块,其中所述广播拓扑结构的配置信息至少包括各个所述广播模块的模块类型、各个所述广播模块的父节点模块的信息以及各个所述广播模块的子节点模块的信息,所述模块类型包括初始节点模块和从属节点模块,所述广播模块的父节点模块为在所述广播拓扑结构中位于所述广播模块的上一级节点的其它广播模块,所述广播模块的子节点模块为在所述广播拓扑结构中位于所述广播模块的下一级节点的其它广播模块。The main control module is used to obtain user configuration instructions, generate and transmit the configuration information of the broadcast topology to each of the broadcast modules, where the configuration information of the broadcast topology includes at least the module type of each broadcast module and each of the broadcast modules. The information of the parent node module of the broadcasting module and the information of the child node modules of each of the broadcasting modules. The module types include the initial node module and the subordinate node module. The parent node module of the broadcasting module is in the broadcasting topology. Other broadcast modules located at the upper-level node of the broadcast module, and child node modules of the broadcast module are other broadcast modules located at the lower-level node of the broadcast module in the broadcast topology.
  4. 一种数据传送方法,所述方法应用于初始节点模块,其特征在于,包括:A data transmission method, which is applied to an initial node module, and is characterized in that it includes:
    接收所述初始节点模块对应的第一主设备发送的第一数据读取请求,所述第一数据读取请求携带标识信息;Receiving a first data read request sent by a first master device corresponding to the initial node module, where the first data read request carries identification information;
    根据所述标识信息,将所述第一数据读取请求发送至相应的从设备,并接收所述从设备返回的目标数据;Send the first data read request to the corresponding slave device according to the identification information, and receive the target data returned by the slave device;
    将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块对应的从属节点模块。Sending the target data to the first master device and broadcasting the target data to the slave node module corresponding to the initial node module.
  5. 如权利要求4所述的数据传送方法,其特征在于,在所述接收所述初始节点模块对应的第一主设备发送的第一数据读取请求之后,还包括:The data transmission method according to claim 4, wherein after the receiving the first data read request sent by the first master device corresponding to the initial node module, the method further comprises:
    缓存所述第一数据读取请求;Cache the first data read request;
    对应地,所述将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块对应的从属节点模块,包括:Correspondingly, the sending the target data to the first master device and broadcasting the target data to the slave node module corresponding to the initial node module includes:
    当检测到所述初始节点模块对应的从属节点模块已存在携带所述标识信息的第二数据读取请求时,将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块对应的从属节点模块。When it is detected that the slave node module corresponding to the initial node module has a second data read request carrying the identification information, the target data is sent to the first master device and the target data is broadcast to The slave node module corresponding to the initial node module.
  6. 一种数据传送方法,所述方法应用于从属节点模块,其特征在于,包括:A data transmission method, which is applied to a slave node module, and is characterized in that it includes:
    接收所述从属节点模块对应的第二主设备发送的第二数据读取请求,所述第二数据读取请求携带标识信息;Receiving a second data read request sent by a second master device corresponding to the slave node module, where the second data read request carries identification information;
    根据所述第二数据读取请求获取所述从属节点模块对应的初始节点模块广播的目标数据,其中所述初始节点模块存在携带所述标识信息的第一数据读取请求;Acquiring, according to the second data read request, the target data broadcast by the initial node module corresponding to the slave node module, where the initial node module has a first data read request carrying the identification information;
    将所述目标数据发送至所述第二主设备。Sending the target data to the second master device.
  7. 如权利要求6所述的数据传送方法,其特征在于,所述从属节点模块存在对应的子节点模块,对应地,所述将所述目标数据发送至所述第二主设备,包括:7. The data transmission method according to claim 6, wherein the slave node module has a corresponding child node module, and correspondingly, the sending the target data to the second master device comprises:
    将所述目标数据发送至所述第二主设备以及将所述目标数据广播至所述从属节点模块对应的所述子节点模块。Sending the target data to the second master device and broadcasting the target data to the child node module corresponding to the slave node module.
  8. 如权利要求4或6所述的数据传送方法,其特征在于,所述方法还包括:The data transmission method according to claim 4 or 6, wherein the method further comprises:
    获取广播拓扑结构的配置信息,根据所述广播拓扑结构的配置信息确定自身的模块类型以及与其它广播模块的连接关系。Obtain the configuration information of the broadcast topology, and determine its own module type and the connection relationship with other broadcast modules according to the configuration information of the broadcast topology.
  9. 一种广播模块,其特征在于,所述广播模块具体为初始节点模块,包括:A broadcast module, characterized in that the broadcast module is specifically an initial node module, including:
    第一接收单元,用于接收所述初始节点模块对应的第一主设备发送的第一数据读取请求,所述第一数据读取请求携带标识信息;A first receiving unit, configured to receive a first data read request sent by a first master device corresponding to the initial node module, where the first data read request carries identification information;
    数据读取请求发送单元,用于根据所述标识信息,将所述第一数据读取请求发送至相应的从设备,并接收所述从设备返回的目标数据;A data read request sending unit, configured to send the first data read request to a corresponding slave device according to the identification information, and receive target data returned by the slave device;
    第一发送单元,用于将所述目标数据发送至所述第一主设备以及将所述目标数据广播至所述初始节点模块对应的从属节点模块;A first sending unit, configured to send the target data to the first master device and broadcast the target data to the slave node module corresponding to the initial node module;
    或者,所述广播模块具体为从属节点模块,包括:Alternatively, the broadcast module is specifically a slave node module, including:
    第二接收单元,用于接收所述从属节点模块对应的第二主设备发送的第二数据读取请求;A second receiving unit, configured to receive a second data read request sent by a second master device corresponding to the slave node module;
    目标数据获取单元,用于根据所述第二数据读取请求获取所述从属节点模块对应的初始节点模块广播的目标数据,其中所述初始节点模块存在携带所述标识信息的第一数据读取请求;The target data obtaining unit is configured to obtain, according to the second data reading request, the target data broadcast by the initial node module corresponding to the slave node module, wherein the initial node module contains the first data read carrying the identification information ask;
    第二发送单元,用于将所述目标数据发送至所述第二主设备。The second sending unit is configured to send the target data to the second master device.
  10. 一种广播模块,其特征在于,包括:A broadcast module, characterized in that it includes:
    读命令缓存子模块,用于通过读命令通道接入外部的主设备,以获取所述主设备发送的数据读取请求,所述数据读取请求携带标识信息;The read command cache submodule is used to access an external main device through the read command channel to obtain a data read request sent by the main device, and the data read request carries identification information;
    指令门模块,所述指令门模块的输入端与所述读命令缓存子模块的输出端连接,用于接收所述读命令缓存子模块传送的所述数据读取请求;所述指令门模块的输出端与外部的从设备连接,用于若所述广播模块被配置为初始节点模块,则所述指令门模块的输出端为开启状态,根据所述数据读取请求携带的所述标识信息从所述外部的从设备中确定所述数据读取请求对应的从设备,并将所述数据读取请求发送至所述对应的从设备;还用于若所述广播模块被配置为从属节点模块,则所述指令门模块的输出端为关闭状态,禁止所述数据读取请求的外发;Instruction gate module, the input end of the instruction gate module is connected with the output end of the read command buffer submodule, and is used to receive the data read request transmitted by the read command buffer submodule; The output terminal is connected to an external slave device, and is used for if the broadcast module is configured as an initial node module, the output terminal of the instruction gate module is in an open state, and the output terminal of the instruction gate module is switched on according to the identification information carried in the data read request. The external slave device determines the slave device corresponding to the data read request, and sends the data read request to the corresponding slave device; and is also used for if the broadcast module is configured as a slave node module , The output terminal of the instruction gate module is in the closed state, and the outgoing of the data read request is prohibited;
    第一选择器,所述第一选择器的第一输入端与所述外部的从设备连接,用于若所述广播模块被配置为所述初始节点模块,则从所述对应的从设备获取目标数据;若所述广播模块被配置为从属节点模块,则所述第一选择器的第二输入端被配置为与所述广播模块的父节点模块连接,用于从所述父节点模块获取目标数据;其中,所述父节点模块为在广播拓扑结构中位于所述广播模块的上一级节点的其它广播模块;A first selector, the first input of the first selector is connected to the external slave device, and is used to obtain from the corresponding slave device if the broadcast module is configured as the initial node module Target data; if the broadcast module is configured as a slave node module, the second input of the first selector is configured to be connected to the parent node module of the broadcast module for obtaining from the parent node module Target data; wherein, the parent node module is another broadcast module located in the upper-level node of the broadcast module in the broadcast topology;
    读数据缓存子模块,所述读数据缓存子模块的输入端与所述第一选择器的输出端连接,用于缓存所述目标数据;若所述广播模块存在对应的子节点模块,则所述读数据缓存子模块的输出端被配置为与所述子节点模块连接,用于向所述子节点模块发送所述目标数据;其中所述子节点模块为在广播拓扑结构中位于所述广播模块的下一级节点的其它广播模块;The read data cache sub-module, the input end of the read data cache sub-module is connected to the output end of the first selector, and is used to cache the target data; if the broadcast module has a corresponding child node module, then The output end of the read data cache sub-module is configured to be connected to the sub-node module and used to send the target data to the sub-node module; wherein the sub-node module is located in the broadcast topology in the broadcast topology. Other broadcast modules of the next-level node of the module;
    第二选择器,所述第二选择器的第一输入端、第二输入端分别与所述读数据缓存子模块、所述外部的从设备连接,用于获取所述目标数据;所述第二选择器的输出端通过读数据通道与所述主设备连接,用于向所述主设备传送所述目标数据。The second selector, the first input terminal and the second input terminal of the second selector are respectively connected with the read data buffer submodule and the external slave device, and are used to obtain the target data; The output end of the second selector is connected to the master device through a read data channel, and is used to transmit the target data to the master device.
  11. 一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,使得所述终端设备实现如权利要求4至8任一项所述方法的步骤。A terminal device, comprising a memory, a processor, and a computer program stored in the memory and capable of running on the processor, characterized in that, when the processor executes the computer program, the terminal is The device implements the steps of the method according to any one of claims 4 to 8.
  12. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,使得终端设备实现如权利要求4至8任一项所述方法的步骤。A computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, it enables a terminal device to implement any one of claims 4 to 8 Method steps.
PCT/CN2021/088442 2020-06-04 2021-04-20 System on chip, data transmission method, and broadcast modules WO2021244168A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010500891.2A CN111797051B (en) 2020-06-04 2020-06-04 System on chip, data transmission method and broadcast module
CN202010500891.2 2020-06-04

Publications (1)

Publication Number Publication Date
WO2021244168A1 true WO2021244168A1 (en) 2021-12-09

Family

ID=72803009

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/088442 WO2021244168A1 (en) 2020-06-04 2021-04-20 System on chip, data transmission method, and broadcast modules

Country Status (2)

Country Link
CN (1) CN111797051B (en)
WO (1) WO2021244168A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797051B (en) * 2020-06-04 2022-05-17 深圳云天励飞技术股份有限公司 System on chip, data transmission method and broadcast module
CN112822127B (en) * 2020-12-29 2023-07-04 北京灵汐科技有限公司 Data broadcasting method, device, chip and medium of network-on-chip
CN112367236B (en) * 2021-01-12 2021-04-06 南京芯驰半导体科技有限公司 Data scheduling method and system of LIN bus
WO2022246803A1 (en) * 2021-05-28 2022-12-01 华为技术有限公司 Access method and communication apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341129A (en) * 2016-04-29 2017-11-10 上海磁宇信息科技有限公司 Cellular array computing system and its method of testing
CN108121679A (en) * 2017-08-07 2018-06-05 鸿秦(北京)科技有限公司 A kind of embedded SoC system bus and its protocol conversion bridge-set
CN108132910A (en) * 2016-12-01 2018-06-08 三星电子株式会社 System interconnection and the system on chip with system interconnection
CN110674075A (en) * 2019-09-27 2020-01-10 山东华芯半导体有限公司 Method and system for realizing AXI bus broadcasting mechanism
CN111797051A (en) * 2020-06-04 2020-10-20 深圳云天励飞技术有限公司 System on chip, data transmission method and broadcast module

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158891A (en) * 1991-12-06 1993-06-25 Fujitsu Ltd Response information collecting system for multi-addres transmission
CN100365602C (en) * 2004-12-31 2008-01-30 北京中星微电子有限公司 Apparatus for realizing access of driven devices on a unified bus by a plurality of active devices
US7246188B2 (en) * 2005-02-10 2007-07-17 Qualcomm Incorporated Flow control method to improve bus utilization in a system-on-a-chip integrated circuit
US7617343B2 (en) * 2005-03-02 2009-11-10 Qualcomm Incorporated Scalable bus structure
JP2007241612A (en) * 2006-03-08 2007-09-20 Matsushita Electric Ind Co Ltd Multi-master system
US7493468B2 (en) * 2006-06-01 2009-02-17 International Business Machines Corporation Method for broadcasting instructions/data to a plurality of processors in a multiprocessor device via aliasing
KR100813256B1 (en) * 2006-06-23 2008-03-13 삼성전자주식회사 Apparatus and method for arbitrating bus access
CN100524252C (en) * 2007-09-20 2009-08-05 华为技术有限公司 Embedded system chip and data read-write processing method
KR20120097831A (en) * 2011-02-25 2012-09-05 삼성전자주식회사 System on chip bus system
US9009446B2 (en) * 2012-08-02 2015-04-14 Oracle International Corporation Using broadcast-based TLB sharing to reduce address-translation latency in a shared-memory system with electrical interconnect

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341129A (en) * 2016-04-29 2017-11-10 上海磁宇信息科技有限公司 Cellular array computing system and its method of testing
CN108132910A (en) * 2016-12-01 2018-06-08 三星电子株式会社 System interconnection and the system on chip with system interconnection
CN108121679A (en) * 2017-08-07 2018-06-05 鸿秦(北京)科技有限公司 A kind of embedded SoC system bus and its protocol conversion bridge-set
CN110674075A (en) * 2019-09-27 2020-01-10 山东华芯半导体有限公司 Method and system for realizing AXI bus broadcasting mechanism
CN111797051A (en) * 2020-06-04 2020-10-20 深圳云天励飞技术有限公司 System on chip, data transmission method and broadcast module

Also Published As

Publication number Publication date
CN111797051B (en) 2022-05-17
CN111797051A (en) 2020-10-20

Similar Documents

Publication Publication Date Title
WO2021244168A1 (en) System on chip, data transmission method, and broadcast modules
US11025544B2 (en) Network interface for data transport in heterogeneous computing environments
EP2985699B1 (en) Memory access method and memory system
US8699953B2 (en) Low-latency interface-based networking
WO2020078470A1 (en) Network-on-chip data processing method and device
US9576026B2 (en) System and method for distributed SQL join processing in shared-nothing relational database clusters using self directed data streams
WO2022099573A1 (en) Chip extension method for hundred million-grade brain-like computer
CN103440223A (en) Layering system for achieving caching consistency protocol and method thereof
CN105874758B (en) Memory pool access method, interchanger and multicomputer system
US9164944B2 (en) Semiconductor system, relay apparatus, and chip circuit
CN110119304B (en) Interrupt processing method and device and server
CN108270877B (en) Distributed network node data sharing system
CN107391422A (en) multi-path asynchronous serial communication data access system and method
CN111630487A (en) Centralized-distributed hybrid organization of shared memory for neural network processing
CN113190528B (en) Parallel distributed big data architecture construction method and system
CN116301667B (en) Database system, data access method, device, equipment and storage medium
CN102591817B (en) Multi-bus bridge controller and implementing method thereof
US10496565B2 (en) Micro-architectural techniques to minimize companion die firmware loading times in a server platform
US20220358078A1 (en) Integrated circuit, data processing device and method
TW202008172A (en) Memory system
WO2022110681A1 (en) Returning method and returning control apparatus for command response information, and electronic device
CN112506824A (en) Chip and data interaction method
US11811512B2 (en) Multicast routing method, interconnection device, mesh network system and configuration method thereof
EP4322001A1 (en) Memory expansion method and related device
US20230403232A1 (en) Data Transmission System and Method, and Related Device

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: 21817769

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21817769

Country of ref document: EP

Kind code of ref document: A1