CN116303207A - 一种总线传输方法、装置、设备及存储介质 - Google Patents
一种总线传输方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116303207A CN116303207A CN202310540984.1A CN202310540984A CN116303207A CN 116303207 A CN116303207 A CN 116303207A CN 202310540984 A CN202310540984 A CN 202310540984A CN 116303207 A CN116303207 A CN 116303207A
- Authority
- CN
- China
- Prior art keywords
- read address
- storage space
- read
- read data
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请涉及通信技术领域,公开了一种总线传输方法、装置、设备及存储介质,应用于基于高级可扩展接口协议的总线矩阵,包括:接收主设备发送的各读地址信号,并将各读地址信号存储至相应的读地址存储空间;读地址存储空间设置在总线矩阵中,且与从设备具有对应关系;将各读地址存储空间中存储的各读地址信号发送至相应的从设备;接收从设备返回的各读数据,并将各读数据存储至相应的读数据存储空间;读地址存储空间设置在总线矩阵中,且与从设备具有对应关系;将各读数据存储空间中存储的各读数据发送至主设备。本申请能够提高单个主设备和多个从设备之间基于高级可扩展接口协议进行数据传输的传输效率,避免设备通信死锁情况发生。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种总线传输方法、装置、设备及存储介质。
背景技术
高级可扩展接口协议(AXI,Advanced eXtensible Interface)是一个点对点的主从接口协议,当多个外设需要互相交互数据时,需要加入一个总线矩阵(AXI互联矩阵)提供将主设备连接到从设备的一种交换机制。目前一个总线矩阵IP核最多可以支持16个主设备、16个从设备,如果需要更多的接口,可以多加入几个IP核。但在AXI传输中,主设备和从设备之间往往会发生死锁从而导致设备间通讯失败,数据传输效率较低。
因此,上述技术问题亟待本领域技术人员解决。
发明内容
有鉴于此,本发明的目的在于提供一种总线传输方法、装置、设备及存储介质,能够提高单个主设备和多个从设备之间基于高级可扩展接口协议进行数据传输的传输效率,避免设备通信死锁情况发生。其具体方案如下:
本申请的第一方面提供了一种总线传输方法,应用于基于高级可扩展接口协议的总线矩阵,包括:
接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间;所述读地址存储空间设置在所述总线矩阵中,且与从设备具有对应关系;
将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;
接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间;所述读地址存储空间设置在所述总线矩阵中,且与所述从设备具有对应关系;
将各所述读数据存储空间中存储的各所述读数据发送至所述主设备。
可选的,所述将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备,包括:
按照先进先出规则将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;所述读地址存储空间为先进先出存储器。
可选的,所述接收所述从设备返回的各读数据,包括:
确定出所述读数据对应的所述读地址信号具有的事务编号;
判断所述主设备在发送与该读数据对应的所述读地址信号之前是否向其他所述从设备发送过具有相同所述事务编号的所述读地址信号;
如果是,则判断向其他所述从设备发送的具有相同所述事务编号的所述读地址信号是否已经得到相应所述从设备的响应,如果是,则确定接收所述读数据。
可选的,所述判断向其他所述从设备发送的具有相同所述事务编号的所述读地址信号是否已经得到相应所述从设备的响应,包括:
判断向其他所述从设备发送的具有相同所述事务编号的所述读地址信号对应的标志位是否为无效标志位,如果是,则判定已经得到相应所述从设备的响应。
可选的,所述确定接收所述读数据之后,还包括:
将确定接收的所述读数据对应的标志位修改为无效标志位。
可选的,所述所述将各所述读数据存储空间中存储的各所述读数据发送至所述主设备,包括:
对各所述读数据存储空间进行轮询仲裁;
如果当前轮询仲裁的所述读数据存储空间不为空,则按照先进先出规则将所述读数据存储空间中存储的各所述读数据发送至所述主设备;所述读数据存储空间为先进先出存储器;
如果当前轮询仲裁的所述读数据存储空间为空,则继续轮询仲裁下一个所述读数据存储空间。
可选的,所述接收主设备发送的各读地址信号之后,还包括:
如果所述总线矩阵中不存在与所述读地址信号对应的所述读地址存储空间,则将所述读地址信号存储至容错空间,并按照预设规则对所述主设备进行响应。
本申请的第二方面提供了一种总线传输装置,应用于基于高级可扩展接口协议的总线矩阵,包括:
第一接收及存储模块,用于接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间;所述读地址存储空间设置在所述总线矩阵中,且与从设备具有对应关系;
第一发送模块,用于将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;
第二接收及存储模块,用于接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间;所述读地址存储空间设置在所述总线矩阵中,且与所述从设备具有对应关系;
第二发送模块,用于将各所述读数据存储空间中存储的各所述读数据发送至所述主设备。
本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述总线传输方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述总线传输方法。
本申请中,基于高级可扩展接口协议的总线矩阵先接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间;所述读地址存储空间设置在所述总线矩阵中,且与从设备具有对应关系;然后将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;接着接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间;所述读地址存储空间设置在所述总线矩阵中,且与所述从设备具有对应关系;最后将各所述读数据存储空间中存储的各所述读数据发送至所述主设备。可见,本申请通过在总线矩阵中设置读地址存储空间和读数据存储空间,利用这两种存储空间在单个主设备与多个从设备之间的总线传输中进行数据流转,提高主设备和从设备之间基于高级可扩展接口协议进行数据传输的传输效率,避免设备通信死锁情况发生。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种总线传输方法流程图;
图2为本申请实施例提供的一种具体的总线传输架构示例图;
图3为本申请实施例提供的一种具体的总线传输方法流程图;
图4为本申请实施例提供的一种具体的总线传输方法流程图;
图5为本申请实施例提供的一种总线传输装置结构示意图;
图6为本申请实施例提供的一种总线传输电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前在AXI传输中,主设备和从设备之间往往会发生死锁从而导致设备间通讯失败,数据传输效率较低。针对上述技术缺陷,本省内情诶你提供一种总线传输方案,通过在总线矩阵中设置读地址存储空间和读数据存储空间,利用这两种存储空间在单个主设备与多个从设备之间的总线传输中进行数据流转,提高主设备和从设备之间基于高级可扩展接口协议进行数据传输的传输效率,避免设备通信死锁情况发生。
图1为本申请实施例提供的一种总线传输方法流程图。参见图1所示,该总线传输方法应用于基于高级可扩展接口协议的总线矩阵,包括:
S11:接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间;所述读地址存储空间设置在所述总线矩阵中,且与从设备具有对应关系。
本实施例中,所述总线矩阵(Bus Matrix)实际上是一个AXI总线互联(Interconnect)模块,类似于交换机里面的交换矩阵。在一个片上系统SOC中,有处理器(有时不止一个)、存储器和众多的各种各样的设备,要使它们高速度并且高效率地工作,需要一个高性能的片上总线,高性能的片上总线可以使得片上系统SOC具有更小的面积、更低的功耗和更高的性能。但片上系统SOC的片上总线尚处于发展阶段,不像微机总线那样成熟,目前还没有统一的标准,AMBA(Advanced Microcontroller Bus Architecture,高级微处理器总线架构)是一个较为常用的SOC总线标准,AMBA协议的目的是为了要推出片上总线的规范。AMBA3.0中新增加了AXI总线,它是一种面向高性能、高带宽、低延迟的片内总线,它的地址/控制和数据相位是分离的,支持不对齐的数据传输,在突发传输中,只需要首地址。同时,分离的读写数据通道以及支持显著传输访问和乱序访问的特点使得AXI成为AMBA中一个新的高性能协议。AXI技术丰富了现有的AMBA标准内容,满足超高性能和复杂的SOC设计的需求。AXI总线采取读-写分离,地址/控制与数据分离的传输机制,通过定义读地址通道(AR)、读数据通道(R)、写地址通道(AW)、写数据通道(W)、写响应通道(B)五个独立的传输通道,很大程度上提高了传输效率。在基于AXI总线协议的SOC中,主设备(Master)和从设备(Slave)之间常通过所述总线矩阵实现数据交换,所述总线矩阵兼容AXI协议所支持的Outstanding传输访问和乱序(Out-of-Order,OoO)访问机制,这在一方面提升了传输吞吐率,但在另一方面也增加了总线死锁的风险。
基于此,本实施例在所述总线矩阵中设置读地址存储空间,所述读地址存储空间与从设备具有对应关系,即一个所述从设备对应一个所述读地址存储空间。这里每个所述从设备对应一组存储空间,分别是读地址存储空间和读数据存储空间,传输架构如图2所示。AXI协议提供了一个单独的接口定义来描述接口:主设备和总线矩阵之间、从设备和总线矩阵之间、主设备和从设备之间。上述接口定义使各种不同的互连易于表达。设备之间的互联,与其他具有对称的主端口和从端口设备一样,可以连接真正的主设备和从设备。大多数系统采用如下三种互连的方式之一:共享地址和数据总线、共享地址总线和多个数据总线、拥有多个地址和数据总线的多层互联。
本实施例中,所述总线矩阵接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间。所述读地址信号为所述主设备通过PCIE接口发送的读请求,所述从设备采用的是AXI标准总线接口,可以为VGA接口、H2B接口或MCTP接口等。所述总线矩阵在接收读地址信号时将其发送到相应从设备所对应的所述读地址存储空间,PCIE可以连续发读地址信号。需要说明的是,本实施例只针对AXI的读操作,因为AXI4的协议取消了WID,所以写操作只能顺序执行,不再支持乱序,自然也就不存在死锁的问题。
进一步的,如果所述总线矩阵中不存在与所述读地址信号对应的所述读地址存储空间,则将所述读地址信号存储至容错空间,并按照预设规则对所述主设备进行响应。即所述总线矩阵中除了读地址存储空间和读数据存储空间之外,还设置了一个容错空间,该容错空间用于处理读操作错误情况,即每个从设备都不匹配所述主设备的PCIE接口发送的读请求,那么就会将该信号发送给容错空间,所述容错空间可以是一个先进先出存储器FIFO,深度为8,宽度数据通道各信号位宽之。所述容错空间中存放的是无法匹配从设备的所述读地址信号的id、user等,last置1,resp为2’b11(error情况需返回的响应),data为全1。此为按照预设规则对所述主设备进行响应的过程。
S12:将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备。
本实施例中,将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备。其中,所述读地址存储空间为先进先出存储器FIFO,表示为Addr FIFO,将读地址信号写入到Addr FIFO中之后,只要Addr FIFO非空,即可发送给相对应的从设备,具体的,按照先进先出规则将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备。Addr FIFO的深度为8,宽度为地址通道各个信号的位宽总和。
S13:接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间;所述读地址存储空间设置在所述总线矩阵中,且与所述从设备具有对应关系。
本实施例中,在将Addr FIFO发送至从设备的同时,所述总线矩阵随时可以接收返回的读数据。即接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间,如前文所述,所述总线矩阵中设置有所述读数据存储空间,同样的,所述读数据存储空间也为先进先出存储器,表示为Data FIFO。从从设备接收读数据的过程具体包括(如图3所示):
S131:确定出所述读数据对应的所述读地址信号具有的事务编号。
本实施例中,在从所述从设备接收所述读数据时,所述总线矩阵先确定出所述读数据对应的所述读地址信号具有的事务编号。在AXI传输中,所述主设备用ID号来标记每一次传输(即每一次事务),上述ID号即所述事务编号,同一个所述主设备向不同的所述从设备用同一个ID号发出不同的传输,不同的传输必须按照顺序进行,而所述从设备可以以乱序的方式返回不同ID号的传输。这个过程会存在死锁,对于多主设备对多从设备的传输架构,可以通过单从设备或相同ID仅可用于单一从设备的机制进行规避,也就是说,是一个主设备不能发送相同的ID给不同从设备,除非之前的这个ID已经处理完。但这对于单主设备对多从设备的传输架构来说是不适用的,例如,主设备发送相同ID给两个从设备,发送顺序为先从设备1后从设备2,如果从设备2处理较快,这时也不能返回,因为需要按照主设备的发送顺序返回,如果从设备1一直不返回,就会大大影响和从设备2的通信,所以上述处理方法,只适用于多主设备对多从设备,如果一个主设备对多个从设备这种情况再使用这种方法会使效率变低。
S132:判断所述主设备在发送与该读数据对应的所述读地址信号之前是否向其他所述从设备发送过具有相同所述事务编号的所述读地址信号。
S133:如果是,则判断向其他所述从设备发送的具有相同所述事务编号的所述读地址信号是否已经得到相应所述从设备的响应,如果是,则确定接收所述读数据。
本实施例中,在确定出所述读数据对应的所述读地址信号具有的事务编号之后,先判断所述主设备在发送与该读数据对应的所述读地址信号之前是否向其他所述从设备发送过具有相同所述事务编号的所述读地址信号,如果是,则进一步判断向其他所述从设备发送的具有相同所述事务编号的所述读地址信号是否已经得到相应所述从设备的响应,如果是,则确定接收所述读数据。
本实施例中,可以通过信号的标志位判断所述主设备在发送与该读数据对应的所述读地址信号之前是否向其他所述从设备发送过具有相同所述事务编号的所述读地址信号,具体的,判断向其他所述从设备发送的具有相同所述事务编号的所述读地址信号对应的标志位是否为无效标志位,如果是,则判定已经得到相应所述从设备的响应。其中,读地址信号的标志位是自定义添加的,可以根据实际情况进行修改,所述总线矩阵在接收到读地址信号时这个标志位设置为有效标志位,在传输完成后即可修改为无效标志位,即将确定接收的所述读数据对应的标志位修改为无效标志位。
由此可见,上述过程主要通过控制从设备的返回数据来达到相同ID的顺序执行。对于PCIE每次发送的信号需要加上一个标志位后进行存储,此时该标志位表明本次传输有效,当传输完成后无效掉此标志位。本实施例中,如果所述主设备在发送与该读数据对应的所述读地址信号之前没有向其他所述从设备发送过具有相同所述事务编号的所述读地址信号如果否,则确定接收所述读数据,如果向其他所述从设备发送的具有相同所述事务编号的所述读地址信号尚未得到相应所述从设备的响应之后,则暂停接收所述读数据。每次在从设备返回到Data FIFO的数据之前都要比对一下该数据的ID之前是否发过、且是否有效、且是否是到不同从设备的,如果是,则说明有主设备到不同从设备本ID还没有处理完,因为需要顺序返回数据,所以本次ID的传输会先暂停,但是不会阻碍PCIE发送其他ID的事务,这种处理方式不会阻碍其他ID的事务,不会造成阻塞,从而大大提高传输效率。当然,如果比对之后不满足,则继续传输本ID的数据,不会影响任何传输,当某笔传输结束时,会清除该笔传输所在位置的标志位和其中的数据。
S14:将各所述读数据存储空间中存储的各所述读数据发送至所述主设备。
本实施例中,将各所述读数据存储空间中存储的各所述读数据发送至所述主设备,即将Data FIFO中的读数据发送给PCIE,具体包括如下步骤(如图4所示):
S141:对各所述读数据存储空间进行轮询仲裁。
S142:如果当前轮询仲裁的所述读数据存储空间不为空,则按照先进先出规则将所述读数据存储空间中存储的各所述读数据发送至所述主设备;所述读数据存储空间为先进先出存储器。
S143:如果当前轮询仲裁的所述读数据存储空间为空,则继续轮询仲裁下一个所述读数据存储空间。
本实施例中,在向主设备返回读数据时,主要通过对各所述读数据存储空间进行轮询仲裁的方式,如果当前轮询仲裁的所述读数据存储空间不为空,则按照先进先出规则将所述读数据存储空间中存储的各所述读数据发送至所述主设备;所述读数据存储空间为先进先出存储器。如果当前轮询仲裁的所述读数据存储空间为空,则继续轮询仲裁下一个所述读数据存储空间。即本实施例用于PCIE的读操作,对读到Data FIFO中的数据仲裁,将各个Data FIFO中的数据读出并发给PCIE,此处用的仲裁方法为轮询仲裁:首先按顺序判断Data FIFO,只要有非空的就开始发送本Data FIFO中的数据,直至为空,再去判断下一个Data FIFO,按顺序轮询。
需要说明,此处用于存放从从设备读到的数据通道的信息的Data FIFO,每个burst最高为256,暂定深度为256,若需修改,后续再改参数,前文中的Addr FIFO的深度也一样是暂定的,后续修改参数即可。
可见,本申请实施例在进行总线传输时,基于高级可扩展接口协议的总线矩阵先接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间;所述读地址存储空间设置在所述总线矩阵中,且与从设备具有对应关系;然后将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;接着接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间;所述读地址存储空间设置在所述总线矩阵中,且与所述从设备具有对应关系;最后将各所述读数据存储空间中存储的各所述读数据发送至所述主设备。本申请实施例通过在总线矩阵中设置读地址存储空间和读数据存储空间,利用这两种存储空间在单个主设备与多个从设备之间的总线传输中进行数据流转,提高主设备和从设备之间基于高级可扩展接口协议进行数据传输的传输效率,避免设备通信死锁情况发生。
参见图5所示,本申请实施例还相应公开了一种总线传输装置,应用于基于高级可扩展接口协议的总线矩阵,包括:
第一接收及存储模块11,用于接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间;所述读地址存储空间设置在所述总线矩阵中,且与从设备具有对应关系;
第一发送模块12,用于将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;
第二接收及存储模块13,用于接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间;所述读地址存储空间设置在所述总线矩阵中,且与所述从设备具有对应关系;
第二发送模块14,用于将各所述读数据存储空间中存储的各所述读数据发送至所述主设备。
可见,本申请实施例在进行总线传输时,基于高级可扩展接口协议的总线矩阵先接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间;所述读地址存储空间设置在所述总线矩阵中,且与从设备具有对应关系;然后将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;接着接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间;所述读地址存储空间设置在所述总线矩阵中,且与所述从设备具有对应关系;最后将各所述读数据存储空间中存储的各所述读数据发送至所述主设备。本申请实施例通过在总线矩阵中设置读地址存储空间和读数据存储空间,利用这两种存储空间在单个主设备与多个从设备之间的总线传输中进行数据流转,提高主设备和从设备之间基于高级可扩展接口协议进行数据传输的传输效率,避免设备通信死锁情况发生。
在一些具体实施例中,所述第一发送模块12,具体用于按照先进先出规则将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;所述读地址存储空间为先进先出存储器。
在一些具体实施例中,所述第二接收及存储模块13,具体包括:
编号确定单元,用于确定出所述读数据对应的所述读地址信号具有的事务编号;
第一判断单元,用于判断所述主设备在发送与该读数据对应的所述读地址信号之前是否向其他所述从设备发送过具有相同所述事务编号的所述读地址信号;
第二判断单元,用于如果是,则判断向其他所述从设备发送的具有相同所述事务编号的所述读地址信号是否已经得到相应所述从设备的响应,如果是,则确定接收所述读数据。
在一些具体实施例中,所述第二判断单元,具体用于判断向其他所述从设备发送的具有相同所述事务编号的所述读地址信号对应的标志位是否为无效标志位,如果是,则判定已经得到相应所述从设备的响应。
在一些具体实施例中,所述总线传输装置还包括:
修改模块,用于将确定接收的所述读数据对应的标志位修改为无效标志位;
容错模块,用于如果所述总线矩阵中不存在与所述读地址信号对应的所述读地址存储空间,则将所述读地址信号存储至容错空间,并按照预设规则对所述主设备进行响应。
在一些具体实施例中,所述第二发送模块14,具体包括:
轮询单元,用于对各所述读数据存储空间进行轮询仲裁;
发送单元,用于如果当前轮询仲裁的所述读数据存储空间不为空,则按照先进先出规则将所述读数据存储空间中存储的各所述读数据发送至所述主设备;所述读数据存储空间为先进先出存储器;
继续轮询单元,用于如果当前轮询仲裁的所述读数据存储空间为空,则继续轮询仲裁下一个所述读数据存储空间。
进一步的,本申请实施例还提供了一种电子设备。图6是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图6为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,至少实现如下步骤:
接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间;所述读地址存储空间设置在所述总线矩阵中,且与从设备具有对应关系;
将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;
接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间;所述读地址存储空间设置在所述总线矩阵中,且与所述从设备具有对应关系;
将各所述读数据存储空间中存储的各所述读数据发送至所述主设备。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的总线传输方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的信号数据。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,至少实现如下步骤:
接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间;所述读地址存储空间设置在所述总线矩阵中,且与从设备具有对应关系;
将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;
接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间;所述读地址存储空间设置在所述总线矩阵中,且与所述从设备具有对应关系;
将各所述读数据存储空间中存储的各所述读数据发送至所述主设备。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的总线传输方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种总线传输方法,其特征在于,应用于基于高级可扩展接口协议的总线矩阵,包括:
接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间;所述读地址存储空间设置在所述总线矩阵中,且与从设备具有对应关系;
将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;
接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间;所述读地址存储空间设置在所述总线矩阵中,且与所述从设备具有对应关系;
将各所述读数据存储空间中存储的各所述读数据发送至所述主设备。
2.根据权利要求1所述的总线传输方法,其特征在于,所述将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备,包括:
按照先进先出规则将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;所述读地址存储空间为先进先出存储器。
3.根据权利要求1所述的总线传输方法,其特征在于,所述接收所述从设备返回的各读数据,包括:
确定出所述读数据对应的所述读地址信号具有的事务编号;
判断所述主设备在发送与该读数据对应的所述读地址信号之前是否向其他所述从设备发送过具有相同所述事务编号的所述读地址信号;
如果是,则判断向其他所述从设备发送的具有相同所述事务编号的所述读地址信号是否已经得到相应所述从设备的响应,如果是,则确定接收所述读数据。
4.根据权利要求3所述的总线传输方法,其特征在于,所述判断向其他所述从设备发送的具有相同所述事务编号的所述读地址信号是否已经得到相应所述从设备的响应,包括:
判断向其他所述从设备发送的具有相同所述事务编号的所述读地址信号对应的标志位是否为无效标志位,如果是,则判定已经得到相应所述从设备的响应。
5.根据权利要求4所述的总线传输方法,其特征在于,所述确定接收所述读数据之后,还包括:
将确定接收的所述读数据对应的标志位修改为无效标志位。
6.根据权利要求3所述的总线传输方法,其特征在于,所述所述将各所述读数据存储空间中存储的各所述读数据发送至所述主设备,包括:
对各所述读数据存储空间进行轮询仲裁;
如果当前轮询仲裁的所述读数据存储空间不为空,则按照先进先出规则将所述读数据存储空间中存储的各所述读数据发送至所述主设备;所述读数据存储空间为先进先出存储器;
如果当前轮询仲裁的所述读数据存储空间为空,则继续轮询仲裁下一个所述读数据存储空间。
7.根据权利要求1至6任一项所述的总线传输方法,其特征在于,所述接收主设备发送的各读地址信号之后,还包括:
如果所述总线矩阵中不存在与所述读地址信号对应的所述读地址存储空间,则将所述读地址信号存储至容错空间,并按照预设规则对所述主设备进行响应。
8.一种总线传输装置,其特征在于,应用于基于高级可扩展接口协议的总线矩阵,包括:
第一接收及存储模块,用于接收主设备发送的各读地址信号,并将各所述读地址信号存储至相应的读地址存储空间;所述读地址存储空间设置在所述总线矩阵中,且与从设备具有对应关系;
第一发送模块,用于将各所述读地址存储空间中存储的各所述读地址信号发送至相应的所述从设备;
第二接收及存储模块,用于接收所述从设备返回的各读数据,并将各所述读数据存储至相应的读数据存储空间;所述读地址存储空间设置在所述总线矩阵中,且与所述从设备具有对应关系;
第二发送模块,用于将各所述读数据存储空间中存储的各所述读数据发送至所述主设备。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的总线传输方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的总线传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310540984.1A CN116303207A (zh) | 2023-05-11 | 2023-05-11 | 一种总线传输方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310540984.1A CN116303207A (zh) | 2023-05-11 | 2023-05-11 | 一种总线传输方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116303207A true CN116303207A (zh) | 2023-06-23 |
Family
ID=86796222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310540984.1A Pending CN116303207A (zh) | 2023-05-11 | 2023-05-11 | 一种总线传输方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116303207A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938631A (zh) * | 2023-09-19 | 2023-10-24 | 芯原科技(上海)有限公司 | 配置总线生成方法、系统、存储介质及电子设备 |
CN117971439A (zh) * | 2024-03-29 | 2024-05-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种任务处理方法、系统、设备及计算机可读存储介质 |
-
2023
- 2023-05-11 CN CN202310540984.1A patent/CN116303207A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938631A (zh) * | 2023-09-19 | 2023-10-24 | 芯原科技(上海)有限公司 | 配置总线生成方法、系统、存储介质及电子设备 |
CN116938631B (zh) * | 2023-09-19 | 2023-12-29 | 芯原科技(上海)有限公司 | 配置总线生成方法、系统、存储介质及电子设备 |
CN117971439A (zh) * | 2024-03-29 | 2024-05-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种任务处理方法、系统、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6295571B1 (en) | Shared memory apparatus and method for multiprocessor systems | |
US4979097A (en) | Method and apparatus for interconnecting busses in a multibus computer system | |
US4864496A (en) | Bus adapter module for interconnecting busses in a multibus computer system | |
US5282272A (en) | Interrupt distribution scheme for a computer bus | |
CN116303207A (zh) | 一种总线传输方法、装置、设备及存储介质 | |
EP0358716B1 (en) | Node for servicing interrupt request messages on a pended bus | |
EP1422626B1 (en) | Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process | |
US5919254A (en) | Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system | |
JPH0642236B2 (ja) | コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置 | |
EP0358715B1 (en) | Interrupting node for providing interrupt requests to a pended bus | |
US5548780A (en) | Method for semaphore communication between incompatible bus locking architectures | |
EP0358725B1 (en) | Apparatus and method for servicing interrupts utilizing a pended bus | |
US7783817B2 (en) | Method and apparatus for conditional broadcast of barrier operations | |
EP1200897B1 (en) | Mechanism for reordering transactions in computer systems with snoop-based cache consistency protocols | |
US8065401B2 (en) | Systems and methods for frame ordering in wide port SAS connections | |
JPH0677248B2 (ja) | ピン数の少ない高性能バスインターフェイス | |
JPH06119297A (ja) | データ処理システムにおける命令の実行順序を決定する方法および装置 | |
TWI245222B (en) | Accessing configuration registers by automatically changing an index | |
US6216193B1 (en) | Apparatus and method in a network interface for recovering from complex PCI bus termination conditions | |
US6502150B1 (en) | Method and apparatus for resource sharing in a multi-processor system | |
US20030084223A1 (en) | Bus to system memory delayed read processing | |
WO1996003697A1 (en) | Method for semaphore communication between incompatible bus locking architectures | |
CN117880364B (zh) | 一种数据传输方法、系统以及相关装置 | |
EP4373038A1 (en) | Processing system, related integrated circuit, device and method | |
JP2001119413A (ja) | ログイン装置、被ログイン装置、及び装置間通信システム、ログイン制御方法、並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |