CN116009770A - 读响应电路、方法、数据传输系统及相关设备 - Google Patents
读响应电路、方法、数据传输系统及相关设备 Download PDFInfo
- Publication number
- CN116009770A CN116009770A CN202211571714.9A CN202211571714A CN116009770A CN 116009770 A CN116009770 A CN 116009770A CN 202211571714 A CN202211571714 A CN 202211571714A CN 116009770 A CN116009770 A CN 116009770A
- Authority
- CN
- China
- Prior art keywords
- read
- circuit
- read request
- buffer
- slave device
- 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
-
- 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
- Information Transfer Systems (AREA)
Abstract
本申请提供一种读响应电路、方法、数据传输系统及相关设备,涉及数据传输领域。读响应电路包括:缓存电路,分别与主设备和从设备连接;所述缓存电路,用于接收所述主设备发送的读请求,并对所述读请求进行存储;所述缓存电路还用于在接收到任意一个所述从设备返回的所有目标读响应数据后,将目标读请求发送至下一从设备;其中:所述目标读请求为需发送给所述下一从设备的具有第一目标标识信息的读请求;所述目标读响应数据为具有第一目标标识信息的读响应数据,或为具有与所述第一目标标识信息对应的第二目标标识信息的读响应数据。上述读响应电路面积开销较小,可以有效提高主设备的处理效率。
Description
技术领域
本申请涉及数据传输领域,具体而言,涉及一种读响应电路、方法、数据传输系统及相关设备。
背景技术
AXI(Advanced eXtens i b l e I nterface,高级可扩展接口)总线为一种芯片内部传输的总线,主设备与从设备之间可以通过AXI总线实现数据传输。例如,主设备可以通过AXI总线向从设备发送对数据的读请求,从设备接收到读请求之后,向主设备反馈与该读请求对应的读响应数据。
在基于AXI总线实现的数据传输过程中,若针对具有相同I D(也即标识信息)的读请求需要分别发送给不同从设备,那么主设备接收到从设备返回的响应数据的顺序应当与主设备发送具有相同I D的读请求给各从设备的顺序一致,若不一致则会发生死锁。
目前,为避免死锁发生,通常的实现方式有两种,一种是主设备向一个从设备发送读请求并接收到该从设备的读响应数据之后,再向下一从设备发送读请求,但该方式由于主设备必须在收到一个从设备对读请求的读响应数据后才能下发下一个从设备的读请求,因此主设备存在发送间隙,导致主设备存在效率低下的问题。另一种方式是设置一个缓存器将多个从设备反馈的读响应数据暂存,并在接收到所有从设备反馈的读响应数据之后,将所有读响应数据按序反馈给主设备,这样通过控制该缓存器返回读响应数据给主设备的顺序,即可保证主设备接收到读响应数据的顺序是与主设备发送读请求给从设备的顺序是一致的,可以避免死锁。但是,读响应数据通常具有较大的数据量,因此设置的缓存器的存储空间也需要比较大才能满足需求,而缓存器的存储空间越大,则缓存器的面积也越大,从而会导致整个系统具有较大的面积开销。
发明内容
有鉴于此,本申请旨在提供一种读响应电路、方法、数据传输系统及相关设备,以解决上述问题。
第一方面,本申请实施例提供一种读响应电路,包括:缓存电路,分别与主设备和从设备连接;所述缓存电路,用于接收所述主设备发送的读请求,并对所述读请求进行存储;所述缓存电路还用于在接收到任意一个所述从设备返回的所有目标读响应数据后,将目标读请求发送至下一从设备;其中:所述目标读请求为需发送给所述下一从设备的具有第一目标标识信息的读请求;所述目标读响应数据为具有所述第一目标标识信息的读响应数据,或为具有与所述第一目标标识信息对应的第二目标标识信息的读响应数据。
本申请实施例中,通过设置缓存电路用于对读请求进行存储,并且缓存电路是在接收到任意一个从设备返回的所有目标读响应数据后,才将目标读请求发送至下一从设备。因此,通过缓存电路的控制,可以使得主设备接收到的从设备返回的读响应数据的顺序与其发送给各从设备的具有相同标识信息的读请求的顺序一致,从而可以防止出现死锁问题。此外,本申请的方案对于主设备而言,允许其连续发送目标地址为不同从设备的多个具有相同标识信息的读请求,而不必等待接收到一个从设备的所有读响应数据后再向下一个从设备发送具有相同标识信息的读请求,从而相比于第一种现有技术而言,可以有效提高主设备的处理效率。此外,本申请的缓存电路中保存的是读请求,而读请求的数据量远远小于读响应数据的数据量,因此相对于第二种现有技术而言,所需的缓存器的存储空间可以更小,从而可以有效节约面积开销。
一实施例中,所述缓存电路包括:判断电路和第一缓存器;所述判断电路与所述主设备连接;所述第一缓存器与所述判断电路连接;所述判断电路用于在发来所述读请求的所述主设备支持outstand i ng时,将所述读请求发送至所述第一缓存器进行存储,在所述主设备不支持outstand i ng时,将所述读请求发送至该读请求对应的所述从设备。
本申请实施例中,设置判断电路与主设备连接,由此,判断电路可以判断主设备发送的读请求是否支持outstand i ng,通过判断主设备是否支持outstand i ng,以对不同的读请求进行不同的处理方式。对支持outstand i ng的主设备,将其发送至第一缓存器存储,从而可以基于缓存器的作用,在连续发送多个读请求的同时,防止死锁的发生。对于不支持outstand i ng的主设备,将该读请求直接发送至从设备获取对应的读响应数据,从而可以以类似第一种现有技术的方式,防止死锁的发生。
一实施例中,所述第一缓存器为多个,且每一所述第一缓存器均与所述判断电路连接;所述判断电路具体用于,在发来所述读请求的所述主设备支持outstand i ng时,根据所述读请求的标识信息,将所述读请求发送至所述标识信息对应的所述第一缓存器进行存储。
本申请实施例中,设置多个第一缓存器,可以分别对具有不同标识的读请求进行分类存储与发送。根据读请求的标识信息,将读请求发送至标识信息对应的第一缓存器进行存储,由此,可以实现对不同标识信息的读请求的区分管理。同时,相同标识信息的读请求的发送顺序与这些读请求对应的读响应数据的接收顺序才会影响到主设备是否出现死锁问题,因此在将相同标识信息的读请求存入与同一第一缓存器之后,通过该第一缓存器即可实现对于该相同标识信息的读请求的发送顺序的管理,从而有效避免死锁问题的产生。
一实施例中,所述缓存电路还包括多个计数器,每个所述计数器与一个所述第一缓存器连接;所述计数器用于对所连接的所述第一缓存器所发送的所述读请求以及接收到的与所发送的所述读请求对应的所述读响应数据进行计数,在确定所述读请求的发送次数与所述读响应数据的接收次数相同时,向所在的所连接的所述第一缓存器发送触发信号,以触发所述第一缓存器将存储的所述目标读请求发送至下一从设备。
本申请实施例中,每一个第一缓存器均设置一个计数器,并通过计数器来对第一缓存器所发送的读请求以及接收到的与所发送的读请求对应的所述读响应数据进行计数。由此,可以有效简化判断读请求对应的读响应数据是否接收到的过程,即,在确定读请求的发送次数与读响应数据的接收次数相同时,可表征所发出的读请求均已收到各自对应的读响应数据。由此,通过计数器的设计,可以有效实现在第一缓存器将一个从设备的所有读请求下发完毕之后,在接收到该从设备针对这些读请求的所有读响应数据后,再才发送下一个从设备的读请求,从而有效保证具有相同标识信息的读请求的从设备下发顺序与接收到的从设备的读响应数据的顺序是一致的,从而避免死锁问题的产生。且计数器功能简单易于实现,无需占用较大面积,从而可以有效减少判断是否接收到读响应数据对应电路对面积的占用。
一实施例中,所述第一缓存器具体用于,在接收到所述触发信号时,将存储的所有所述目标读请求发送至下一从设备。
本申请实施例中,触发信号可以表征读请求的发送次数与读响应数据的接收次数相同,第一缓存器根据触发信号将读请求发送至从设备,可以避免因从设备不按顺序反馈读响应数据导致出现死锁。同时,将存储的所有目标读请求发送至下一从设备,多个读请求同时发送,无需等待从设备反馈一个读请求对应的读响应数据之后再发送下一读请求,从而有效提高读请求下发的效率,使得第一存储器的存储空间可以更快的周转使用,提高第一缓存器的资源利用率。
一实施例中,所述读响应电路还包括:仲裁电路,所述仲裁电路与所述缓存电路连接,所述仲裁电路用于接收所述缓存电路发送的所有所述目标读请求,并将所述目标读请发送至下一从设备。
本申请实施例中,将仲裁电路与缓存电路连接,通过仲裁电路来依次发出读请求,由此可以避免同一时刻需要发送多个读请求时对于接口等资源产生争抢,进而降低读请求丢失等风险。
一实施例中,所述仲裁电路包括第二缓存器,所述第二缓存器分别与所述缓存电路和所述从设备连接;所述第二缓存器用于将所述读请求依次发送至所述从设备。
本申请实施例中,通过第二缓存器对需要外发的读请求进行发送,从而使得仲裁电路具有依次发送读请求的基础,由此,可以避免同一时刻需要发送多个读请求时对于接口等资源产生争抢,进而降低读请求丢失等风险。
一实施例中,所述缓存电路还包括直通电路,所述直通电路与所述判断电路连接;所述判断电路具体用于在发来所述读请求的所述主设备不支持outstand i ng时,将所述读请求通过所述直通电路发送至所述仲裁电路。
本申请实施例中,对于不支持outstand i ng的读请求,主设备需要在接收到其对应的读响应数据后才能下发下一读请求,因此这类读请求并不会存在死锁风险,因此通过直通电路直接对其进行发送,可以有效提高读请求的发送效率。
一实施例中,所述读响应电路还包括:控制电路,分别与所述主设备与所述缓存电路连接;所述控制电路用于对所述读请求进行扩充,以在所述读请求的标识信息中增加对应从设备的编号。
本申请实施例中,控制电路,分别与主设备与缓存电路连接,控制电路可以对读请求进行扩充,从而在读请求的标识信息中增加对应从设备的编号,由此,控制电路可以将携带有编号的读请求通过缓存电路发送至仲裁电路,仲裁电路可以通过编号确定该读请求对应的从设备,相较于根据读地址确定读请求对应的从设备的方式而言,判断编号更为快速,有效提高仲裁电路确定对应从设备的效率,进而提高读请求的发送效率。
第二方面,本申请实施例提供一种读响应方法,应用于第一方面任一项所述的读响应电路,读响应方法包括:接收并存储主设备发送的读请求;在接收到任意一个所述从设备返回的所有目标读响应数据后,将目标读请求发送至下一从设备;其中:所述目标读请求为需发送给所述下一从设备的具有第一目标标识信息的读请求;所述目标读响应数据为具有所述第一目标标识信息的读响应数据,或为具有与所述第一目标标识信息对应的第二目标标识信息的读响应数据。
第三方面,本申请实施例还提供一种数据传输系统,包括:主设备,用于发出读请求;从设备,用于基于所述读请求反馈读响应数据;如第一方面任一项所述的读响应电路,分别与所述主设备和所述从设备连接。
第四方面,本申请实施例还提供一种GPU(Graphics Process i ng Un it,图形处理器),包括如第三方面所述的数据传输系统。
第五方面,本申请实施例还提供一种电子器件,包括如第四方面所述的GPU。
第六方面,本申请实施例还提供一种电子设备,包括如第四方便所述的GPU或如第五方面所述电子器件。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种数据传输系统的结构示意图;
图2为本申请实施例提供的一种读响应电路的结构示意图;
图3为本申请实施例提供的一种缓存电路的结构示意图;
图4为本申请实施例提供的一种读响应方法的流程图。
图标:缓存电路100;仲裁电路200;控制电路300。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为便于理解本申请,在对本申请的方案进行说明前,先对AXI总线进行说明。
主设备和从设备之间可以通过AXI总线实现数据传输的设备。主设备是指获得总线控制权的设备,从设备是指被主设备访问的设备,用于响应从主设备发来的各种总线命令。
主设备与从设备之间在需要完成一次读事务时,主设备先向从设备发送一个读请求,然后,主设备需等待从设备反馈该读请求对应的读响应数据之后,主设备才可以向该从设备或其他从设备发送下一个读请求。
AXI总线还可以配置有outstanding能力。在outstanding能力未启用时,在需要完成一次读事务时,主设备先向从设备发送一个读请求,必须等待从设备反馈该读请求对应的读响应数据之后,主设备才可以向该从设备或其他从设备发送下一个读请求。而在outstanding能力启用后,基于outstanding能力,主设备可以连续发送多个读请求而不需要等待接收到读响应数据,从而可以提高数据传输的效率。
如前文所述,在outstanding能力启用后,主设备可以连续给多个从设备发送具有相同标识信息的读请求,但为了防止死锁,要求主设备接收到从设备反馈的这些读请求对应的读响应数据的顺序,应当与主设备发送这些读请求给从设备的顺序一致。例如,假设主设备是按照从设备A、从设备B、从设备C的顺序依次下发的相同标识信息的读请求,那么接收读响应数据的顺序也应当是按照从设备A、从设备B、从设备C的顺序依次接收读响应数据的,否则将会发生死锁。
可以理解,在本申请实施例中,标识信息可以是ARID(Read address ID,读地址标识)。
目前,防死锁发生的方式有多种,其中一种方式为:主设备向一个从设备发送读请求,主设备必须在接收到从设备反馈的该读请求对应的读响应数据之后,主设备才能够在向下一个从设备发送读请求。该方式导致主设备的效率较低。
另一种方式为:在主设备与从设备之间设置一个缓存器,可以利用缓存器对从设备反馈的读响应数据进行暂存,主设备在进行读事物时,主设备先将需发送具有相同标识信息读请求的各从设备的依次编号,在接收到从设备反馈的读响应数据之后,将从设备反馈的读响应数据存储到缓存器中,然后待所有从设备对读请求对应的读相应数据反馈完成时,依据读请求编号的顺序,依次反馈各读请求对应的读响应数据,这样通过控制该缓存器返回读响应数据给主设备的顺序,即可保证主设备接收到读响应数据的顺序是与主设备发送读请求给从设备的顺序是一致的,可以避免死锁。但该方式利用缓存器存储读响应数据,读响应数据通常具有较大的数据量,因此,从而需设置较大的缓存器以满足不同读响应数据的存储,缓存器过大会造成较大的面积开销。
鉴于现有的防死锁发生的方案存在主设备的处理效率较低,或电路面积开销较大的问题,本申请提供一种读响应电路、方法、数据传输系统及相关设备,针对需发送给多个从设备的具有相同标识信息的读请求,读响应电路通过存储各读请求,并在收到前一个从设备反馈的针对发给该从设备的读请求对应的所有读响应数据之后,再向下一个从设备发送具有相同标识信息的读请求,从而有效避免死锁发生。同时,主设备仍旧可以支持多个读请求的连续发送,无需等待读响应数据返回后再发送下一读请求,可以减少读请求的发送时间,相较于上述现有技术中的第一种防死锁的方式,可以在防死锁的同时,有效提高主设备的处理效率。此外,由于缓存电路存储的是读请求,读请求的数据量通常都会远小于读响应数据,因此相较于上述现有技术中的第二种防死锁的方式,可以使得读响应电路在达到防死锁的目的的同时使用较小的面积开销。
为便于说明本申请的方案,下面先介绍本申请实施例提供的数据传输系统。请参阅图1,图1为本申请实施例提供的一种数据传输系统的结构示意图。
数据传输系统包括:主设备、从设备和读响应电路。
在本实施例中,主设备用于发送读请求给从设备,以获得从设备反馈的与该读请求对应的读响应数据。从设备用于响应主设备发来的读请求反馈相应的读响应数据。
读响应电路,设置于主设备与从设备之间,用于将主设备发出的读请求进行存储,并用于在接收到任意一个从设备返回的所有目标读响应数据后,再将目标读请求发送至下一从设备,可以使得避免发生死锁。所谓目标读请求是指与发送给反馈了目标读响应数据的从设备的读请求具有相同标识信息的读请求。
接下来,将对读响应电路的具体结构与实现的功能进行说明。
请参阅图2,图2为本申请实施例提供的读响应电路的结构示意图。
在本申请实施例中,读响应电路包括缓存电路100,缓存电路100分别与主设备与从设备连接。
缓存电路100,用于接收主设备发送的读请求,并对读请求进行存储。
读请求可以包括标识信息(可以是ARID)与ADDR(Read address,读地址)。其中,ARID是读地址组的身份标签,用于表征从设备的所处的地址组,多个从设备可以具有相同的ARID。ADDR为被主设备读数据的从设备的地址信息,通过ADDR可以确定该读请求对应的从设备。
缓存电路100用于接收主设备发送的读请求,并对读请求进行存储;缓存电路100还用于在接收到任意一个从设备返回的所有目标读响应数据后,将目标读请求发送至下一从设备。其中,目标读请求为需发送给下一从设备的具有第一目标标识信息的读请求,目标读响应数据为具有第一目标标识信息的读响应数据。
本实施例中,在主设备发出的读请求中,不同的读请求可以发给相同从设备,或发给不同的从设备,从设备在接收到读请求之后,可以向主设备反馈与读请求对应的读响应数据。
其中,主设备在将多个读请求发给相同的从设备时,若主设备支持outstanding,则可以连续发送多个读请求,由于反馈读响应数据的从设备相同,因此,无需等待从设备逐个反馈读响应数据,数据传输系统也不会发生死锁。然而,主设备将多个具有相同标识信息的读请求先后发送给不同从设备时,各从设备反馈读响应数据的时间可能不同,会导致主设备接收不同从设备反馈的读响应数据的顺序可能与向从设备发送读请求的顺序不同,此时数据传输系统可能发生死锁。
故在本实施例中,可以在接收到任意一个从设备返回的所有目标读响应数据后,再才将目标读请求发送至下一从设备,从而通过控制具有相同标识信息的读请求的发送时机,保证主设备接收不同从设备反馈的读响应数据的顺序与发送读请求时从设备的顺序相同,从而避免发生死锁。
其中,由于缓存电路100是用于对读请求进行存储,相较于读响应数据,读请求所需的数据较小,因此,相较于存储读响应数据的缓存器,存储读请求的缓存电路100所需面积开销较小。
本实施例中,在判断读响应数据与读请求是否对应时,可以通过读响应数据中的标识信息可以确定从设备反馈的读响应数据是否与发出的具有第一目标标识信息的读请求对应。若读响应数据中的标识信息也为第一目标标识信息,或者为与第一目标标识信息对应的第二目标标识信息,那么可以确定从设备反馈的读响应数据是否与发出的具有第一目标标识信息的读请求对应。
其中,判断读响应数据的标识信息是否为第二目标标识信息前,可以预先配置读响应数据中的标识信息与第二目标标识信息的对应关系,在判断时,可以基于该对应关系确定读响应数据中的标识信息是否与第一目标标识信息相对应,即确定为读响应数据中的标识信息第二目标标识信息。
请参阅图3,图3为本申请实施例提供的一种缓存电路100的可选结构示意图。
一实施例中,缓存电路100可以包括:判断电路和第一缓存器,判断电路与主设备连接,第一缓存器与判断电路连接,第一缓存器与从设备连接。
本实施例所提供的缓存电路100可以用于不同主设备对从设备的读取。对于部分主设备,其可能不支持outstanding或未开启outstanding,对于不支持outstanding或未开启outstanding的主设备,其在向从设备发送读请求之后,需等待从设备反馈读响应数据之后,才能够发送下一读请求,因此,对于不支持outstanding或未开启outstanding的主设备,无需对读响应数据进行暂存。
本实施例中,可以设置判断电路,判断电路用于判断发来读请求的主设备是否支持outstanding。其中,在主设备支持outstanding将读请求发送至第一缓存器进行存储,在主设备不支持outstanding时,将读请求直接发送至该读请求对应的从设备。
对支持outstand i ng的主设备,将其发送至第一缓存器存储,从而可以基于缓存器的作用,在连续发送多个读请求的同时,防止死锁的发生。对于不支持outstand i ng的主设备,将该读请求直接发送至从设备获取对应的读响应数据,从而可以以类似第一种现有技术的方式,防止死锁的发生。
可以理解,判断电路可以通过各类比较器电路实现,其具体实现方式本申请实施例中不做限制,只要能够实现上述判断电路的功能即可。
一实施例中,判断电路判断主设备是否支持outstanding的过程包括:接收读请求;确定该读请求对应的主设备;获取主设备表征该主设备是否开启outstanding的信息,并基于该信息判断主设备是否支持outstanding。
在一些实施例中,判断电路可以预先配置有支持outstanding的主设备的信息。例如,可以在读请求中设置主设备的地址信息,判断电路在接收到读请求之后,可以将读请求中的地址信息与预先配置的支持outstanding的主设备的地址信息进行对比,在确定预先配置的支持outstanding的主设备的信息中存在任意信息与读请求中的地址信息对应,若存在对应的信息,则可以确定该读请求对应的主设备支持outstanding,反之,则确定该读请求对应的主设备不支持outstanding。
在一些其他的实施方式中,判断电路还可以通过读请求的其他信息,例如,在读请求里添加是否支持outstanding的标签信息,判断电路可以通过标签信息判断发送该读请求的主设备是否支持outstanding,可以理解,上述仅为示例,不应成为对本申请的限定。
请继续参阅图3,一实施例中,第一缓存器可以为多个,且每一第一缓存器均与判断电路连接;判断电路具体用于在发来读请求的主设备支持并启用outstand i ng时,根据读请求的标识信息,将读请求发送至标识信息对应的第一缓存器进行存储。
在主设备发送的多个读请求中,可能包括发送至不同从设备的读请求,在本实施例提供的读响应电路中,对多个具有相同标识信息的读请求发送至从设备时,若各读请求对应的从设备相同,则可以将所有读请求连续发送至该从设备,并接收该从设备反馈的所有读响应数据。若多个具有相同标识信息的读请求分别发送至不同从设备时,则将先将发送至同一从设备的读请求发送给该从设备,并等待该设备反馈所有读请求对应的读响应数据之后,再将其他读请求发送至下一从设备。
而对于不同标识信息的读请求,可以分开执行读请求的发送,不同标识信息的读响应数据在返回时顺序不同不会造成死锁。因此,在本实施例中,可以分别设置多个第一缓存器,不同第一缓存器分别存储不同标识信息的读请求,相同标识信息的读请求存储在同一第一缓存器中。
设置多个第一缓存器,可以分别对具有不同标识的读请求进行分类存储与发送,由此,可以实现对不同标识信息的读请求的区分管理,从而有效避免死锁问题的产生。
判断电路还可以根据读请求的标识信息,确定标识信息对应的第一缓存器,并将该读请求存储对应的第一缓存器中。其中,第一缓存器可以为FIFO(First In First Out,先入先出)缓存器或其他缓存器。
请继续参阅图3,一实施例中,缓存电路100还可以包括多个计数器,每个计数器与一个第一缓存器连接。
一实施例中,计数器用于对所连接的第一缓存器所发送的读请求以及接收到的与所发送的读请求对应的读响应数据进行计数,在确定读请求的发送次数与读响应数据的接收次数相同时,向所在的所连接的第一缓存器发送触发信号,以触发第一缓存器将存储的所述目标读请求发送至下一从设备。
在数据传输系统中,主设备或第一缓存器需收到与读请求相对应的读响应数据之后才能够发送下一读请求,因此,在本实施例中,可以使用计数器判断读请求对应的读响应数据是否返回。通过计数器,可以对第一缓存器所发送的读请求以及接收到的与所发送的读请求对应的读响应数据进行计数,在计数器对读请求的发送次数与读响应数据的接收次数各自的计数相同时,则表征读请求与读响应数据的数量相同,此时,可以使第一缓存器发送下一读请求。
一实施例中,所述第一缓存器具体用于,在接收到触发信号时,将存储的所有目标读请求发送至下一从设备。
本实施例中,在收到计数器的触发信号后,表征此时已接收到与上一读请求相应数量的读响应数据,此时,因此,可以向下一从设备发送读请求。
其中,分别计数方式可以有多种,在一种可选的实施方式中,计数器在第一缓存器向从设备发送读请求之后,计数值加一,在第一缓存器表征接收到读响应数据时计数值减一,计数值为0表征读请求的发送次数与读响应数据的接收次数相同,此时,可以生成触发信号。
其中,当多个读请求为发送给同一从设备时,多个读请求可以在从设备未反馈读响应数据时,连续发送多个读请求,此时,计数器的计数值可以大于1。例如,连续发送5个读请求,则计数值为+5。当缓存电路连续接收多个读响应数据时,计数值可以连续减少,例如,原计数值为5,在接收到三个读响应数据之后,计数值为5-1-1-1=2。
当多个读请求需发送给相同标识信息的不同从设备时,需等待接收读请求的从设备反馈读响应数据之后,才能将读请求发送给下一从设备,即,需等待计数值为0时,生成触发信号并发送给第一缓存器,以使第一缓存器将读请求发送至下一从设备。
为便于理解,在此提供一个示例进行说明。
第一缓存器存有5个读请求,包括2个发送至从设备A的读请求和3个发送至从设备B的读请求,从设备A和从设备B的标识信息相同。此时,第一缓存器将2个发送至从设备A的读请求一次发送至从设备A,此时,计数器的计数值为0+1+1=2,当从设备A反馈两个读请求对应的读响应数据之后,计数值为2-1-1=0,此时,计数值表征发送至A设备的所有读请求均已反馈对应的读响应数据。当计数值为0时,计数器可以生成触发信号,第一缓存器在接收到触发信号之后,将所存有的3个读请求连续发送至从设备B,此时,计数器的计数值为0+1+1+1=3,从设备B反馈三个读请求对应的读响应数据之后,计数值为3-1-1-1=0,此时,表征B设备的所有读请求均已反馈对应的读响应数据。可以理解,上述仅为示例,不应成为对本申请的限定。
在一些实施例中,主设备在收到读请求对应的读响应数据之后,才发送下一读请求,此时,计数值的工作方式为:在第一缓存器发送读请求之后,计数值为0+1=1,在收到该读请求对应的读响应数据之后,计数值为1-1=0,此时,可以生成触发信号,以指示主设备或第一缓存器发送下一读请求。
请继续参阅图2,一实施例中,读响应电路还可以包括:仲裁电路200,仲裁电路200与缓存电路100连接,仲裁电路200与从设备连接。仲裁电路200用于接收缓存电路100发送的所有目标读请求,并将目标读请求发送至下一从设备。
缓存电路100中有多个第一缓存器,不同第一缓存器均需发送多个读请求给各读请求对应的从设备,若将使缓存电路100直接将多个读请求发送给从设备,各读请求可能会对接口等资源进行争抢,从而导致读请求丢失等问题。
因此,在本实施例中,设置仲裁电路200,将仲裁电路200分别与缓存电路100、多个从设备连接,在缓存电路100向从设备发送读请求时,可以通过仲裁电路200逐个发送,由此可以避免同一时刻需要发送多个读请求时对于接口等资源产生争抢,进而降低读请求丢失等风险。
一实施例中,仲裁电路200包括第二缓存器,第二缓存器分别与缓存电路100和从设备连接;第二缓存器用于将读请求依次发送至从设备。
本实施例中,在仲裁电路200中设置第二缓存器,可以暂存多个读请求,由此,缓存电路100的读请求可以先发送至第二缓存器处,避免缓存电路100处无法发送读请求,从而对接收主设备读请求的效率造成影响。对需要外发的读请求进行发送,从而使得仲裁电路具有依次发送读请求的基础,由此,可以避免同一时刻需要发送多个读请求时对于接口等资源产生争抢,进而降低读请求丢失等风险。
本实施例中,第二缓存器可以为FI FO缓存器或是其他能够依次发送读请求的缓存器。通过FI FO缓存器,可以使得读请求可以根据接收时间依次发出,进而使得从设备也可以根据接收到读请求的时间依次反馈读响应数据。
可以理解,本实施例中,第一缓存器夜可以为F I FO缓存器或其他缓存器。
一实施例中,缓存电路100还可以包括直通电路,直通电路与判断电路连接;判断电路具体用于在发来读请求的主设备不支持outstand i ng时,将读请求通过直通电路发送至仲裁电路200。
由于部分主设备不支持outstand i ng,需主设备需从设备反馈读请求对应的读响应数据之后,再进行下一读请求的发送,才不会发生死锁。因此,在本实施例中,可以设置直通电路,并将直通电路与仲裁电路200连接,以将不支持outstand i ng的主设备发来的读请求直接发送至仲裁电路,从而提高读请求的发送效率。
一实施例中,读响应电路还包括:控制电路300,分别与主设备与缓存电路100连接;控制电路300用于对读请求进行扩充,以在读请求的标识信息中增加对应从设备的编号。
本实施例中,控制电路300对读请求进行扩充,扩充时,可以在读请求的标识信息中增加该读请求对应从设备的编号。例如,一个读请求用于发送至0号从设备,此时,可以在该读请求的标识信息中增加编号0。在一些实施例中,可以对标识信息的最高位进行扩展,从而在扩展出的位置处增加编号。本实施例中,控制电路300连接于主设备与缓存电路100的判断电路之间,控制电路300可以将扩充后的读请求通过缓存电路100进发送至仲裁电路。此时,仲裁电路可以通过读请求标识信息中的编号确定对应的从设备,进而将该读请求发送至与该编号对应的从设备。相较于使用读请求中携带的读地址判断对应的从设备,对编号进行判断更为快速,可以有效提高仲裁电路确定对应从设备的效率,进而提高读请求的发送效率。
在一些实施例中,还可以修改控制电路发出的读请求的信号名称。例如,将信号名称修改为标识信息和编号的组合,由此,仲裁电路可以通过读请求的信号名称确定对应的从设备,从而有效提高确定从设备的效率,进而提高读请求的发送效率。
在一些实施例中,计数器可以根据编号对第一缓存器发出的读请求进行计数,以及基于从设备的编号对从设备反馈的读响应信息进行计数,相较于基于读地址对第一缓存器发出的读请求及对应的读响应数据进行计数,可以减少计数器进行计数的数据开销。
基于同一发明构思,本申请实施例还提供一种读响应方法,应用于上述任一实施例所提供读响应电路。
请参阅图4,图4为本申请实施例提供的读响应方法的流程图,读响应方法包括:
S310,接收并存储主设备发送的读请求。
一实施例中,在接收主设备发送的读请求之后,读响应方法还包括:对所述读请求进行扩充,以在所述读请求的标识信息中增加对应从设备的编号。
一实施例中,对读请求进行存储之前,读响应方法还包括:判断发来读请求的主设备是否支持outstand i ng。在发来读请求的主设备支持outstand i ng时,将读请求发送至第一缓存器进行存储,在主设备不支持outstand i ng时,将读请求发送至该读请求对应的从设备。
一实施例中,判断发来读请求的主设备是否支持outstand i ng之后,所述方法包括:在确定发来读请求的主设备支持outstand i ng时,根据读请求的标识信息,将读请求发送至标识信息对应的第一缓存器进行存储。
S320,在接收到任意一个从设备返回的所有目标读响应数据后,将目标读请求发送至下一从设备。
本实施例中,目标读请求为需发送给所述下一从设备的具有第一目标标识信息的读请求;目标读响应数据为具有第一目标标识信息的读响应数据,或为具有与第一目标标识信息对应的第二目标标识信息的读响应数据。
一实施例中,将目标读请求发送至下一从设备之前,读响应方法还包括:对第一缓存器所发送的读请求以及接收到的与所发送的读请求对应的读响应数据进行计数,在确定读请求的发送次数与读响应数据的接收次数相同时,向所在的所连接的第一缓存器发送触发信号,以触发第一缓存器将存储的目标读请求发送至下一从设备。
一实施例中,所述将目标读请求发送至下一从设备,包括:在接收到所述触发信号时,将存储的所有目标读请求发送至下一从设备。
一实施例中,将目标读请求发送至下一从设备之前,所述方法还包括:基于仲裁电路接收所有缓存电路100发送的目标读请求,并将目标读请发送至下一从设备。
一实施例中,并将目标读请发送至下一从设备,包括:将读请求依次发送至从设备。
可以理解,本申请所提供的读响应方法和读响应电路的功能相对应,具体实现过程可以参考对读响应电路部分的说明,在此不再进一步展开。
基于同一发明构思,本申请实施例还提供一种GPU。
本实施例实施例所提供的GPU可以为GPGPU(General-purpose computing ongraphics processing units,通用图形处理器)或者非通用的GPU,但不作为限制。
本实施例中,GPU包括上述实施例中任一项所述的读响应电路。
在本实施例提供的GPU中,与读响应电路所连接的主设备和从设备可以分别为GPU中具有信号传输需求的不同单元。例如,主设备和从设备可以分别为不同的数据处理单元。例如,主设备或从设备可以为GPU中的SM(streamingMultiproeessor,流式多处理器)、SP(strcamingProcessor,流式处理器)等。可以理解,上述仅为示例,不应成为对本申请的限定,主设备和从设备还可以是GPU中的其他模块或单元。可以理解,上述仅为示例,在一些实施例中,上述读响应电路还可以为独立的电路,主设备和从设备分别为不同的独立的电子设备或电子器件。
在一些实施例中,上述读响应电路还可以集成于主设备内。
基于同一发明构思,本申请实施例还提供一种电子器件。
本实施例中,电子器件包括上述实施例所提供的GPU。示例性地,GPU可以为具有GPU的板卡,例如显卡,但不作为限制。
基于同一发明人构思,本申请实施例还提供一种电子设备包括上述实施例所提供的GPU或包括上述实施例所提供的电子器件。
本实施例中,电子设备可以为服务器、手机、电脑等,但不作为限制。
在本申请所提供的实施例中,应该理解到,所揭露电路和方法,可以通过其它的方式实现。以上所描述的电路实施例仅仅是示意性的,例如,所述电路的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
再者,在本申请各个实施例中的各功能电路可以集成在一起形成一个独立的部分,也可以是各个电路单独存在,也可以两个或两个以上电路集成形成一个独立的部分。
为使本发明实施例的目的、技术方案和优点更加清楚,上面结合本发明实施例中的附图,对本发明实施例中的技术方案进行了清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以上对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种读响应电路,其特征在于,包括:
缓存电路,分别与主设备和从设备连接;
所述缓存电路,用于接收所述主设备发送的读请求,并对所述读请求进行存储;所述缓存电路还用于在接收到任意一个所述从设备返回的所有目标读响应数据后,将目标读请求发送至下一从设备;其中:所述目标读请求为需发送给所述下一从设备的具有第一目标标识信息的读请求;所述目标读响应数据为具有所述第一目标标识信息的读响应数据,或为具有与所述第一目标标识信息对应的第二目标标识信息的读响应数据。
2.根据权利要求1所述的读响应电路,其特征在于,所述缓存电路包括:判断电路和第一缓存器;
所述判断电路与所述主设备连接;所述第一缓存器与所述判断电路连接;
所述判断电路用于在发来所述读请求的所述主设备支持outstanding时,将所述读请求发送至所述第一缓存器进行存储,在所述主设备不支持outstanding时,将所述读请求发送至该读请求对应的所述从设备。
3.根据权利要求2所述的读响应电路,其特征在于,所述第一缓存器为多个,且每一所述第一缓存器均与所述判断电路连接;
所述判断电路具体用于,在发来所述读请求的所述主设备支持outstanding时,根据所述读请求的标识信息,将所述读请求发送至所述标识信息对应的所述第一缓存器进行存储。
4.根据权利要求3所述的读响应电路,其特征在于,所述缓存电路还包括多个计数器,每个所述计数器与一个所述第一缓存器连接;
所述计数器用于对所连接的所述第一缓存器所发送的所述读请求以及接收到的与所发送的所述读请求对应的所述读响应数据进行计数,在确定所述读请求的发送次数与所述读响应数据的接收次数相同时,向所在的所连接的所述第一缓存器发送触发信号,以触发所述第一缓存器将存储的所述目标读请求发送至下一从设备。
5.根据权利要求4所述的读响应电路,其特征在于,
所述第一缓存器具体用于,在接收到所述触发信号时,将存储的所有所述目标读请求发送至下一从设备。
6.根据权利要求2所述的读响应电路,其特征在于,所述读响应电路还包括:仲裁电路,所述仲裁电路与所述缓存电路连接,所述仲裁电路用于接收所述缓存电路发送的所有所述目标读请求,并将所述目标读请发送至下一从设备。
7.根据权利要求6所述的读响应电路,其特征在于,所述仲裁电路包括第二缓存器,所述第二缓存器分别与所述缓存电路和所述从设备连接;
所述第二缓存器用于将所述读请求依次发送至所述从设备。
8.根据权利要求6所述的读响应电路,其特征在于,所述缓存电路还包括直通电路,所述直通电路与所述判断电路连接;
所述判断电路具体用于在发来所述读请求的所述主设备不支持outstanding时,将所述读请求通过所述直通电路发送至所述仲裁电路。
9.根据权利要求6所述的读响应电路,其特征在于,所述读响应电路还包括:控制电路,分别与所述主设备与所述缓存电路连接;
所述控制电路用于对所述读请求进行扩充,以在所述读请求的标识信息中增加对应从设备的编号。
10.一种读响应方法,其特征在于,应用于如权利要求1-9任一项所述的读响应电路,读响应方法包括:
接收并存储主设备发送的读请求;
在接收到任意一个所述从设备返回的所有目标读响应数据后,将目标读请求发送至下一从设备;其中:所述目标读请求为需发送给所述下一从设备的具有第一目标标识信息的读请求;所述目标读响应数据为具有所述第一目标标识信息的读响应数据,或为具有与所述第一目标标识信息对应的第二目标标识信息的读响应数据。
11.一种数据传输系统,其特征在于,包括:
主设备,用于发出读请求;
从设备,用于基于所述读请求反馈读响应数据;
如权利要求1-9任一项所述的读响应电路,所述读响应电路分别与所述主设备和所述从设备连接。
12.一种GPU,其特征在于,包括如权利要求10所述的数据传输系统。
13.一种电子器件,其特征在于,包括如权利要求12所述的GPU。
14.一种电子设备,其特征在于,包括如权利要求12所述的GPU,或包括如权利要求13所述的电子器件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211571714.9A CN116009770A (zh) | 2022-12-08 | 2022-12-08 | 读响应电路、方法、数据传输系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211571714.9A CN116009770A (zh) | 2022-12-08 | 2022-12-08 | 读响应电路、方法、数据传输系统及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116009770A true CN116009770A (zh) | 2023-04-25 |
Family
ID=86036488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211571714.9A Pending CN116009770A (zh) | 2022-12-08 | 2022-12-08 | 读响应电路、方法、数据传输系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116009770A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116431558A (zh) * | 2023-06-12 | 2023-07-14 | 太初(无锡)电子科技有限公司 | 一种基于axi协议的请求响应方法、装置、系统及介质 |
-
2022
- 2022-12-08 CN CN202211571714.9A patent/CN116009770A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116431558A (zh) * | 2023-06-12 | 2023-07-14 | 太初(无锡)电子科技有限公司 | 一种基于axi协议的请求响应方法、装置、系统及介质 |
CN116431558B (zh) * | 2023-06-12 | 2023-09-29 | 太初(无锡)电子科技有限公司 | 一种基于axi协议的请求响应方法、装置、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590099B (zh) | 一种多主机访问从机的方法、扩展装置及存储介质 | |
CN110858188B (zh) | 具有分布式信箱结构的多处理器系统及其沟通方法 | |
EP3979088A1 (en) | Inter-core data processing method and system, system on chip and electronic device | |
CN101506783B (zh) | 用于阻隔操作的条件式广播的方法和设备 | |
CN112650558B (zh) | 数据处理方法、装置、可读介质和电子设备 | |
CN116009770A (zh) | 读响应电路、方法、数据传输系统及相关设备 | |
JP3444154B2 (ja) | メモリアクセス制御回路 | |
CN105681222A (zh) | 一种数据接收缓存方法、装置及通信系统 | |
US10095643B2 (en) | Direct memory access control device for at least one computing unit having a working memory | |
CN116089049B (zh) | 基于异步并行i/o请求的进程同步调度方法、装置以及设备 | |
CN115658625B (zh) | 数据解压系统、图形处理系统、装置、设备及解压方法 | |
CN114579319B (zh) | 显存管理方法、显存管理模块、soc及电子设备 | |
CN117132446A (zh) | Gpu的数据访问处理方法、装置及存储介质 | |
US5699552A (en) | System for improved processor throughput with enhanced cache utilization using specialized interleaving operations | |
CN109992560B (zh) | 一种通信方法及通信系统 | |
CN113220608A (zh) | 一种NVMe命令处理器及其处理方法 | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
US8145809B1 (en) | Busy detection logic for asynchronous communication port | |
JP2002024007A (ja) | プロセッサシステム | |
US6345332B1 (en) | Bus interchange apparatus and dual system for accessing a fault information register without regard to buffer conditions | |
CN118034638A (zh) | 重排序缓冲器、系统、组件、设备及传输方法 | |
CN117331702A (zh) | 请求分配方法、装置、电子设备及存储介质 | |
CN117762836A (zh) | 加速单元、专用数据处理器、主机和读写信号传递方法 | |
CN117389915A (zh) | 缓存系统、读命令调度方法、片上系统及电子设备 | |
CN115174673A (zh) | 具备低延迟处理器的数据处理装置、数据处理方法及设备 |
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 |