CN105468546B - 互连电路的数据处理装置和方法 - Google Patents

互连电路的数据处理装置和方法 Download PDF

Info

Publication number
CN105468546B
CN105468546B CN201510791842.8A CN201510791842A CN105468546B CN 105468546 B CN105468546 B CN 105468546B CN 201510791842 A CN201510791842 A CN 201510791842A CN 105468546 B CN105468546 B CN 105468546B
Authority
CN
China
Prior art keywords
circuit
transaction information
data processing
buffer
outfan
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.)
Active
Application number
CN201510791842.8A
Other languages
English (en)
Other versions
CN105468546A (zh
Inventor
刘雨辰
罗韬
刘少礼
张士锦
陈云霁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201510791842.8A priority Critical patent/CN105468546B/zh
Publication of CN105468546A publication Critical patent/CN105468546A/zh
Priority to PCT/CN2016/086109 priority patent/WO2017084331A1/zh
Application granted granted Critical
Publication of CN105468546B publication Critical patent/CN105468546B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Abstract

本发明提供一种互连电路的数据处理装置及方法,为互联电路中用于将一个或多个事务数据源连接到一个或多个事务数据目的地的互连节点,该数据处理装置包括:至少一个输入端和至少一个输出端,所述输入端包含多个输入端口、输出端口、至少两个复用器、和至少一个缓冲存储器;缓冲存储分配电路,控制所述复用器为输入的事务数据根据所述缓冲存储器的当前状态分配临时存储位置;路由选择电路,为缓冲队列的事务数据选择输出端;仲裁电路,裁决出具有优先传输权的所述缓冲队列,并使竞争同一输出端的多个事务数据传输按照预设的仲裁策略依次获得输出通路占用权;多路选择器电路,连接所述输出端口和所述输出端,中转所述互连电路中的数据传输。

Description

互连电路的数据处理装置和方法
技术领域
本发明属于集成电路领域。更具体地,本发明涉及一种作为所述互联电路中用于将一个或多个事务数据源连接到一个或多个事务数据目的地的互连节点的数据处理装置和方法。
背景技术
集成电路中经常存在一个或多个事务数据源和一个或多个事务数据目的地之间的数据传输,这样的电路往往不是简单地通过一条数据链路将源和目的直接相连,而是需要通过一个或多个会聚节点对事物数据进行会聚和分发,所有的源和目的节点均与各个会聚节点相连,形成一个互连电路,而互连电路中的会聚节点就是一个数据处理装置,用于接收来自事物数据源的数据并转发至下一个会聚节点或者直接发送至与之相连的事物数据目的地,从而实现源到目的地的数据传输。多个互连节点可以形成不同的拓扑结构布置。一个实例拓扑结构是网格状的拓扑,每个事务数据源节点也是目的节点,而会聚节点呈矩形网格状布局,每个会聚节点与一个事务数据节点相连。互连拓扑结构的另一个实例环形互联电路,其中会聚节点均以环形放置,事务数据围绕该环形传递。
在数据处理装置中,即会聚节点的内部,来自于各个输入端口的事务数据往往需要竞争有限的传输通路资源。例如,数据处理装置中多个输入端口处缓冲存储中的事务数据在同一周期请求传输到同一输出端口。在这个实例中,需要仲裁电路决定这些事务数据对传输通道的先后占用权,同时下游的数据处理装置在接收到该事务数据后需要用到缓冲存储分配器电路决定如何存储接收到的数据,以完成合适的数据流量控制。
在不同形式的互连电路拓扑结构中,当数据的传输量增大或者电路的工作频率增加时,两个以上的相同传输通道请求会显著增多,在这样的情况下数据处理装置会成为妨碍系统性能的瓶颈,需要用到能够提升互连电路内数据吞吐率的数据处理装置和方法。
专利文献1(公开号为CN104205082A)公开了一种集成电路汇聚互联节点控制,具体地,集成电路(2)包括经由互连电路连接的一个或多个事务数据源(4)和一个或多个事务数据目的地(6、8),其中该互连电路包括多个互连节点(10、12、14、16、18、20、22)。在互连节点内有一个或多个会聚互连节点(14)。会聚互连节点(14)包括用于从会聚互连节点(14)读取当前事务数据项的特征、并且生成将在未来的预定时间被返回到会聚互连节点(14)的未来事务数据项的关联预测数据的预测数据生成电路(24)。该预测数据被存储在预测数据存储电路(26)内,并且在对应于该预测数据的未来事务数据项被返回到会聚互连节点(14)时被预测数据评估电路(28)读取来控制对该未来事务数据项的处理。但是该专利文献虽然能够在会聚互连节点提供预测数据生成、预测数据存储和预测数据评估,在一定程度上提高了数据处理效率,但是由于需要为预测数据预留空间,且在输入端缓冲区的设置上需要为每个输出端口单独设置一个缓冲区,存在浪费存储空间及功耗开销大的问题。因而还需求一种能够提升互联电路的事务数据的处理速度,实现良好的数据流量控制,提升互连电路内数据吞吐率的数据处理装置。
发明内容
本发明的目的在于,解决至少上述问题和缺陷,采用以下技术方案,提升互连电路内数据吞吐率。
本发明提供一种互连电路的数据处理装置,为所述互联电路中用于将一个或多个事务数据源连接到一个或多个事务数据目的地的互连节点,所述数据处理装置包括:至少一个输入端和至少一个输出端,每个所述输入端包含多个输入端口、输出端口、至少两个复用器、和至少一个缓冲存储器;连接于所述复用器的缓冲存储分配电路,用于控制所述复用器为输入的事务数据根据所述缓冲存储器的当前状态分配临时存储位置;连接于所述缓冲存储器的路由选择电路,用于为缓冲队列的事务数据选择输出端;仲裁电路,用于裁决出具有优先传输权的所述缓冲队列,并使竞争同一输出端的多个事务数据传输按照预设的仲裁策略依次获得输出通路占用权;多路选择器电路,连接所述输出端口和所述输出端,用于中转所述互连电路中的数据传输。
本发明的互连电路的数据处理装置,其中,
所述缓冲存储器,包括多个存储位置,每个存储位置与每个所述输入端口相关联,使事务数据在到达所述输入端口且转发到相应的输出端口前,临时存放在相应的存储位置。
本发明的互连电路的数据处理装置,其中,
所述路由选择电路,根据所述存储位置中待发送事务数据的地址信息,判断与目的源相关联的输出端。
本发明的互连电路的数据处理装置,其中,
所述存储位置包含至少一个存储部分,由所述缓冲存储分配电路分配事务数据的所述存储位置。
本发明的互连电路的数据处理装置,其中,
所述多路选择器电路,将所述存储部分与输出端相连,为获得输出通路占用权的事务数据建立传输通路。
本发明的互连电路的数据处理装置,其中,
所述仲裁电路还包括优先权寄存器,所述优先权寄存器存储有获得所述优先传输权的缓冲队列标号;
所述仲裁电路检查所述优先权寄存器,判决所述缓冲队列是否获得所述输出通路占用权。
本发明的互连电路的数据处理装置,其中,
所述仲裁电路允许所述事务数据获得所述输出通路占用权后,查询所述输出端是否正在被占用,并在所述输出端空闲时让获得所述通路占用权的事务数据完成传输。
另外,本发明还提供一种互连电路的数据处理方法,使用上述的互连电路的数据处理装置进行数据处理,所述数据处理方法包括如下步骤:
步骤1,多路选择器电路接收事务数据;
步骤2,缓冲存储分配电路为所述事务数据分配临时存储位置;
步骤3,路由选择电路为所述事务数据选择输出端;
步骤4,仲裁电路根据所述事务数据的传送请求裁决出具有优先传输权的缓冲队列,并使竞争同一输出端口的多个事务数据传输按照预设的仲裁策略依次获得输出通路占用权;
步骤5,多路选择器电路为获得数据通路的占用权的事务数据分配传输通路,并将事务数据传入所述互联电路的下游节点。
本发明的互连电路的数据处理方法,其中,所述步骤4进一步包括如下步骤,
步骤41,仲裁电路按照轮询的方式在各周期分别使不同的缓冲队列获得所述优先传输权,或者,在一缓冲队列全部传输完成后再让另一缓冲队列获得所述优先传输权。
本发明的互连电路的数据处理方法,其中,所述步骤4还包括:
步骤42,仲裁电路判断获得所述优先传输权的事务数据所请求的输出端是否被占用,若是,则等待下一个周期的仲裁处理,若否,则仲裁电路根据所述事务数据的传输请求,检查是否存在多个事务数据请求争用同一输出端,若是,则仲裁电路使竞争同一传输通路的多个事务数据依次获得所述出通路占用权,若否,则执行所述步骤5。
本发明的效果如下:
(1)在每个输入端设置多个缓冲区,可根据不同的输入数据灵活地分配存储位置,每个缓冲区可灵活地配置为与不同输出端口相关联,由存储分配电路控制;
(2)不用为预测数据预留空间,而是动态分配缓冲存储,节省了存储和功耗开销;
(3)在用于连接数量众多的事务数据源、目的地的情况下,在输入端缓冲区的设置上不用为每个输出端口单独设置一个缓冲区,只需少量的缓冲区甚至两个即可,这样,尤其在少量数据通信的互连电路中,既能满足数据传输需求又节省了存储和功耗开销;
(3)对每个输入端的待发事务数据有统一的仲裁,通过仲裁电路来综合考虑各个输入端的数据传输请求,提高数据通路的利用率。
因此,本发明能够对到达互连电路中会聚节点中的多个事务数据根据其目的地选择相应的传输通路,同时对同一时刻竞争同一传输通路的数据传输请求进行仲裁,从而,提升互联电路的事务数据的处理速度,实现良好的数据流量控制,提升互连电路内数据吞吐率的数据处理装置。
附图说明
图1示意示出了包括数据处理装置的互连电路;
图2是根据本发明的一个实施例的数据处理装置的框图,更详细示出图1的数据处理装置
图3是本发明的互连电路的数据处理的流程图
图4是根据本发明的一个实施例示出的事务数据从到达数据处理装置到获得传输通道占用权并输出至下游节点的流程图。
附图标记说明
11、12、13 输入端
1050、1100、1150 输出端
51、52、53 输入端的输入端口
54、55、56 输入端的输出端口
23、25、27 缓冲存储分配电路
41、42、43 路由选择电路
22、24、26、28、30、32 缓冲存储器
30、35、40、45、50、60 复用器
36 冲裁电路
38 多路选择电路
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明的互连电路的数据处理装置及方法进行进一步详细说明。
本发明提供的互连电路的数据处理装置,用于具有一个或多个事务数据源、以及一个或多个事务数据目的地的互连电路中,并作为所述互连电路的汇聚节点,图1示意性地表示出了包括事务数据源和事务数据目的地以及数据处理装置10、11的集成电路2。应该理解,本发明的实施例可用于多事务数据源和目的的多路互连中的任何位置,并且互连拓扑结构将比图1中示出的复杂得多。图1示例的互连电路包括两个数据处理装置10、11,这两个数据处理装置直接相连,可相互发送事务数据,互为对方的上、下游节点,其中数据处理装置10与既是事务数据源也是事务数据目的地的4、6相连,而数据处理装置11与既是事务数据源也是事务数据目的地的5、7相连。
又如图1所示,事务数据节点4、6相互通信时,均只需经过作为会聚节点的数据处理装置10,由其转发数据,5、7之间的相互传输数据也需要由数据处理装置11转发,而事务数据节点4、6中任意一个节点向5、7节点中任意一个节点发送数据时,均需首先发给数据处理装置10,在数据处理装置10内部建立传输通路,由其转发给数据处理装置11,然后再转发给目的节点5或7。
本发明提供的互连电路的数据处理装置,具备:缓冲存储器,用于临时存储经由所述装置的事务数据,优选包括多个静态RAM存储电路,每个静态RAM存储电路包括多个存储体;缓冲存储分配器电路,用于为进入所述装置的事务数据分配临时存储的具体位置,以达到流量控制的目的;路由选择电路,用于执行在进入所述装置的事务数据根据其目的地选择输出的数据通路;仲裁电路,用于执行在通过所述装置的多个数据传送请求之间的仲裁操作,使多个竞争同一传输通路的多个数据传输按照预设的仲裁方法依次获得通路的占用权;多路选择器电路,连接多个事务数据源和事务数据目的地,用于中转互连电路中的数据传输。
本发明的数据处理装置有多个输入输出端,其中每个输入端对应一个事务数据源,也可以是事务数据在互连电路中由源到目的传输过程中途径该数据处理装置的上游节点,且每个输入端包含多个输入端口、输出端口、至少两个复用器、和至少两个缓冲存储器。而每个输出端对应一个事务数据目的地,也可以事务数据传输的下游节点。上游节点在一个实施例中可同时作为事务数据的下游节点,即与所述数据处理装置连接的所有节点均可与该装置采用全双工数据传输。
到达数据处理装置的任意一个事务数据仅与一个数据输入端相关联,当事务数据到达时,将被缓冲存储分配器电路根据该输入端的数据缓冲存储装置的状态,为该事务数据分配一个存储位置,临时存放数据,同时也将所有到达该输入端的数据按照先后顺序形成一个或多个等待队列,等待分配相应的数据通路。
每个输入端的缓冲存储区分为一个或多个存储部分,每个存储部分之间相互独立且呈并列关系,缓冲存储器分配电路可将到达所述数据处理装置的事务数据分配到任意一个存储部分。在一个实施例中,每个输入端的缓冲存储位置被分为两个存储部分,缓冲存储器分配电路根据每个到达数据装置的事务数据按照其目的地分配存储部分,相同目的地的事务数据被分配到同一个存储部分中,这样就能够避免在其中一个存储部分的事务数据暂时未分配到数据通路的情况下,另一个存储部分可以同时竞争不同的数据通路(不同的数据通路对应不同的输出端,因而这两个不同目的地的存储部分竞争的是不同的数据通路)。当两个存储部分的任意一个已满时,缓冲存储器分配电路将与该存储部分相关联的状态寄存器置1,并标识该存储部分对应的目的地,以阻止上游节点继续向该端发送相同目的地的事务数据,而一旦该存储部分有了空余空间,则将状态寄存器置0,允许上游节点继续发送数据。
每个输入端相关联的存储部分中,所有事务数据根据到达的先后顺序形成一个队列,所述路由选择电路会在每个时钟周期对每个队首的事务数据进行路由选择,确定一个输出端,该输出端的标号将临时存储在所对应存储队列的相关端口标识寄存器中,标识该存储队列的数据均从该端输出。当存储队列中原有的事务数据全部发送完成后,端口标识寄存器即被清空,直到新的事务数据到达后被更新。
所述仲裁电路在每个周期检查所有通道的传输情况和处理各个存储位置的数据传输请求,以根据预设的顺序控制各输入端处事务数据的传输。在一个实施例中,每个输入端有多个缓冲存储队列即多个存储部分,所述数据处理装置中有多个这样的输入端和多个输出端,仲裁电路先分别对每个输入端所对应的多个存储队列的数据传输请求执行仲裁操作,决定其中一个传输队列优先传输,可以按照轮询的方式在各个周期分别使不同的存储队列获得传输优先权,也可以将一个存储队列的事务数据全部传输完成后再让另一个存储队列获得优先权,这样每个传输输入端处的存储位置在一个周期内最多产生一个传输优先权的事务数据请求,同时在相应的优先权寄存器中写入获得优先权的存储队列标号。然后,仲裁电路检查每个输入端处的优先权寄存器,判决其中的一个或多个事务数据请求获得输出端的占用权。在此判决的过程中,仲裁电路根据各个事务数据所请求的输出端标号,分别查询所请求输出端的状态,检查该输出端是否正被其他事务数据传输占用,对于正在被其他事务数据使用的输出端,仲裁电路会继续该数据的传输并将请求该端的事务数据延后传输,而对于空闲的输出端,仲裁电路会对所有请求该端占用权的传输请求再次执行仲裁操作,决定其中之一获得端占用优先权,而其他请求将在该传输完成后再次仲裁获得端通道的占用权,也可以采用轮询或者其他的预设方式来仲裁对同一输出端的多个传输请求。
在一个实施例中,仲裁电路在对各传输请求执行仲裁的过程中,会检查所请求端的状态寄存器和所对应的目的地址寄存器,这些寄存器标识了该输出端所连接的下游节点中是否有空余的空间接收新的数据,以及下游节点当前能缓存发往哪些目的地的事务数据,仲裁电路仅为满足这两个条件的传输请求分配通道占用权。下游节点会根据输入端缓冲存储的当前状态,实时维护该输入端口所对应的上游节点输出端的相关寄存器的值。
所述多路选择器电路,将所有的输入端的存储部分与所有的输出端相连,当其中的一个或多个存储部分即缓冲存储队列中的事务数据获得通道占用权时,多路选择器电路将在这些存储队列与其所请求的输出端间建立传输通道,使事务数据得以从所处数据处理装置传输至互连电路的下游节点中。
作为本发明的互连电路的数据处理装置的一个实施例,图2更详细且示意性地示出了数据处理装置10。该数据处理装置包含三个输入端11、12、13和三个输出端1050、1100、1150,三个输入端各包含输入端口51、52、53、输出端口54、55、56、两个复用器30、35、40、45、50、60和两个缓冲存储22、24、26、28、30、32。其中,复用器30、40、50分别将由各自输入端口到达数据处理装置的事务数据根据缓冲存储的当前状态存储到分配的存储部分中,其分配过程由与复用器相关联的缓冲存储分配器电路23、25、27分别对复用器进行控制。如缓冲存储分配器电路23根据缓冲存储22、24的存储状态为当前到达数据处理装置的事务数据分配存储位置,若缓冲存储22为空则将到达数据存至其中,并将标识该存储器中数据目的地的寄存器置为该事务数据的目的地;若缓冲存储22不为空则查询其数据目的地寄存器,若与到达数据的相同则将该数据存至此,若不同则用同样的方式对缓冲存储24进行操作。
又如图2所示,路由选择电路41、42、43分别与复用器35、45、60以及多个缓冲存储器22、24、26、28、30、32相关联,为每个缓冲存储的队首数据分配一个输出端(若缓冲队列中没有数据则不分配),并将各个缓冲队列中事务数据请求传输的输出端标识写入到相应输出端标识寄存器中。仲裁电路36与三个输入端以及路由选择电路相关联,在每个周期会对三个输入端处的缓冲存储进行仲裁,决定哪个缓冲存储队列具有优先传输权,如缓冲存储22、24中均为非空,则仲裁电路36按照预设的规则决定其中一个缓冲存储可以优先传输,并将该缓冲存储标号写入优先传输标识寄存器内,若只有一个缓冲存储中有数据则其为优先传输。类似的,缓冲存储26、28和缓冲存储30、32也采用同样的方式仲裁出优先传输的缓冲存储部分。然后,仲裁电路检查各个优先传输的缓冲存储相关联的输出端标识寄存器,并同时检查输出端105、110、115的状态,若缓冲存储中待传输的事务数据请求的各输出端标号不冲突,且所有被请求的端均空闲,则仲裁电路允许所有的事务数据传输;若部分输出端被其他缓冲存储的事务数据所占用,则仲裁电路将请求该端的事务数据延后发送;若多个事务数据请求同一个输出端,则仲裁电路采用预设的仲裁方式使这些事务数据分不同的时钟周期先后发送。
又如图2所示,多路选择器电路38与复用器35、45、55以及输出端105、110、115相连。当仲裁电路36为部分缓冲存储队列分配输出端占用权后,各存储队列中的事务数据由复用器途径多路选择器电路38传输至相应的输出端上,进而传输到互联电路的下游节点中。
此外,本发明还提供一种互连电路的数据处理方法,如图3所示,使用上述的互连电路的数据处理装置进行数据处理,包括如下步骤:
S1,多路选择器模块接收新的事务数据;
S2,缓冲存储分配器模块为事务数据分配临时存储位置;
S3,路由选择模块为事务数据选择输出的数据通路;
S4,仲裁模块根据事务数据的多个数据传送请求执行仲裁操作,使竞争同一传输通路的多个事务数据的传输按照预设的仲裁方法依次获得数据通路的占用权;
S5,多路选择器模块为获得数据通路的占用权的事务数据分配传输通路,并将事务数据传如互联电路的下游节点。
其中,所述步骤S4进一步包括:
步骤41,仲裁电路按照轮询的方式在各周期分别使不同的缓冲队列获得所述优先传输权,或者,在一缓冲队列全部传输完成后再让另一缓冲队列获得所述优先传输权。
所述步骤4还包括:
步骤42,仲裁电路判断获得所述优先传输权的事务数据所请求的输出端是否被占用,若是,则等待下一个周期的仲裁处理,若否,则仲裁电路根据所述事务数据的传输请求,检查是否存在多个事务数据请求争用同一输出端,若是,则仲裁电路使竞争同一传输通路的多个事务数据依次获得所述出通路占用权,若否,则执行上述步骤5。
图4是作为本发明的一个实施例,示意性地示出事务数据从到达数据处理装置到获得传输通道占用权并输出至下游节点的流程图。在步骤62处,输入端接收新的事务数据。在步骤64处,缓冲存储分配器电路基于新到达的事务数据的目的地为其分配缓冲存储。在步骤66处,路由选择电路为步骤64存储进缓冲队列的队首数据选择输出端并保存在相应寄存器中。在步骤68处,仲裁电路分别对每个输入端对应的缓冲存储仲裁出获得优先传输权的缓冲队列。在步骤70处,仲裁电路判断获得优先传输前的事务数据所请求的输出端是否被其他存储部分的数据传输所占用,若是则进入步骤72,等待下一个周期的仲裁处理,若没被占用则进入步骤74。在步骤74处,仲裁电路根据所有的事务数据传输请求,检查是否存在多个数据传输请求争用同一输出端的情况,若存在则进入步骤76,通过仲裁电路决定哪一个传输请求获得通道占用权,并在步骤78为获得通道占用权的数据分配传输通路,而未获得占用权的则返回步骤74。对于不存在输出端争用的数据则直接进入步骤78。在步骤78处,多路选择器电路为获得输出通路占用权的事务数据建立由缓冲存储到输出端的数据通路,并在步骤80处将事务数据传入互连电路的下游节点。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶合、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。
在本发明中,“模块”、“装置”等等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。
而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外相同的要素。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应当理解可由计算机程序指令实现流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定的方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
以上对本发明所提供的互连电路的数据处理装置和方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限值。

Claims (10)

1.一种互连电路的数据处理装置,为所述互联电路中用于将一个或多个事务数据源连接到一个或多个事务数据目的地的互连节点,其特征在于,所述数据处理装置包括:
至少一个输入端和至少一个输出端,每个所述输入端包含多个输入端口、输出端口、至少两个复用器、和至少一个缓冲存储器;
连接于所述复用器的缓冲存储分配电路,用于控制所述复用器为输入的事务数据根据所述缓冲存储器的当前状态以及事务数据的目的地分配临时存储位置,其中相同目的地的事务数据分配到同一临时存储位置;
连接于所述缓冲存储器的路由选择电路,用于为缓冲队列的事务数据选择输出端;
仲裁电路,用于裁决出具有优先传输权的所述缓冲队列,所述仲裁电路每个周期检查所有通道的传输情况和处理各个存储位置的数据传输请求,并使竞争同一输出端的多个事务数据传输按照预设的仲裁策略依次获得输出通路占用权;
多路选择器电路,连接所有的所述输出端口和所有的所述输出端,用于中转所述互连电路中的数据传输,事务数据由所述复用器通过所述多路选择器电路直接传输至相应的所述输出端上。
2.根据权利要求1所述的互连电路的数据处理装置,其特征在于,所述缓冲存储器,包括多个存储位置,每个存储位置与每个所述输入端口相关联,使事务数据在到达所述输入端口且转发到相应的输出端口前,临时存放在相应的存储位置。
3.根据权利要求2所述的互连电路的数据处理装置,其特征在于,所述路由选择电路,根据所述存储位置中待发送事务数据的地址信息,判断与目的源相关联的输出端。
4.根据权利要求2所述的互连电路的数据处理装置,其特征在于,所述存储位置包含至少一个存储部分,由所述缓冲存储分配电路分配事务数据的所述存储位置。
5.根据权利要求4所述的互连电路的数据处理装置,其特征在于,
所述多路选择器电路,将所述存储部分与输出端相连,为获得输出通路占用权的事务数据建立传输通路。
6.根据权利要求1所述的互连电路的数据处理装置,其特征在于,
所述仲裁电路还包括优先权寄存器,所述优先权寄存器存储有获得所述优先传输权的缓冲队列标号;
所述仲裁电路检查所述优先权寄存器,判决所述缓冲队列是否获得所述输出通路占用权。
7.根据权利要求1或6所述的互连电路的数据处理装置,其特征在于,
所述仲裁电路允许所述事务数据获得所述输出通路占用权后,查询所述输出端是否正在被占用,并在所述输出端空闲时让获得所述通路占用权的事务数据完成传输。
8.互连电路的数据处理方法,使用权利要求1-7中任一所述的互连电路的数据处理装置进行数据处理,所述数据处理方法的特征在于,包括如下步骤:
步骤1,多路选择器电路接收事务数据;
步骤2,缓冲存储分配电路根据缓冲存储器的当前状态以及输入事务数据的目的地为所述事务数据分配临时存储位置,其中相同目的地的事务数据分配到同一临时存储位置;
步骤3,路由选择电路为所述事务数据选择输出端;
步骤4,仲裁电路根据每个周期检查所有通道的传输情况和各个存储位置所述事务数据的传送请求裁决出具有优先传输权的缓冲队列,并使竞争同一输出端口的多个事务数据传输按照预设的仲裁策略依次获得输出通路占用权;
步骤5,多路选择器电路为获得数据通路的占用权的事务数据分配传输通路,所述事务数据由复用器通过多路选择器电路直接传输至相应的输出端上,进而将所述事务数据传入所述互联电路的下游节点。
9.根据权利要求8所述的互连电路的数据处理方法,其特征在于,所述步骤4进一步包括如下步骤,
步骤41,仲裁电路按照轮询的方式在各周期分别使不同的缓冲队列获得所述优先传输权,或者,在一缓冲队列全部传输完成后再让另一缓冲队列获得所述优先传输权。
10.根据权利要求8或9所述的互连电路的数据处理方法,其特征在于,所述步骤4还包括:
步骤42,仲裁电路判断获得所述优先传输权的事务数据所请求的输出端是否被占用,若是,则等待下一个周期的仲裁处理,若否,则仲裁电路根据所述事务数据的传输请求,检查是否存在多个事务数据请求争用同一输出端,若是,则仲裁电路使竞争同一传输通路的多个事务数据依次获得所述输出通路占用权,若否,则执行所述步骤5。
CN201510791842.8A 2015-11-17 2015-11-17 互连电路的数据处理装置和方法 Active CN105468546B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510791842.8A CN105468546B (zh) 2015-11-17 2015-11-17 互连电路的数据处理装置和方法
PCT/CN2016/086109 WO2017084331A1 (zh) 2015-11-17 2016-06-17 互连电路的数据处理装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510791842.8A CN105468546B (zh) 2015-11-17 2015-11-17 互连电路的数据处理装置和方法

Publications (2)

Publication Number Publication Date
CN105468546A CN105468546A (zh) 2016-04-06
CN105468546B true CN105468546B (zh) 2017-04-12

Family

ID=55606271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510791842.8A Active CN105468546B (zh) 2015-11-17 2015-11-17 互连电路的数据处理装置和方法

Country Status (2)

Country Link
CN (1) CN105468546B (zh)
WO (1) WO2017084331A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468546B (zh) * 2015-11-17 2017-04-12 中国科学院计算技术研究所 互连电路的数据处理装置和方法
CN109522254B (zh) * 2017-10-30 2022-04-12 上海寒武纪信息科技有限公司 运算装置及方法
CN112765925B (zh) * 2021-04-09 2021-07-13 北京燧原智能科技有限公司 互联电路系统、验证系统及方法
CN115412476A (zh) * 2021-05-29 2022-11-29 宝星智能科技(上海)有限公司 一种工业现场数据路由控制器
CN113900978A (zh) * 2021-10-27 2022-01-07 海光信息技术股份有限公司 数据传输方法、装置和芯片
CN114826930B (zh) * 2022-04-20 2024-02-23 山东云海国创云计算装备产业创新中心有限公司 一种实现扁平式蝴蝶型网络拓扑的系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657693B2 (en) * 2007-09-28 2010-02-02 Intel Corporation Router to use three levels of arbitration for a crossbar channel
US9037670B2 (en) * 2012-09-18 2015-05-19 Cisco Technology, Inc. Ultra low latency network buffer storage
US9251108B2 (en) * 2012-11-05 2016-02-02 International Business Machines Corporation Managing access to shared buffer resources
US9407578B2 (en) * 2013-03-12 2016-08-02 Imagination Technologies Limited System and method of arbitrating access to interconnect
CN204515761U (zh) * 2015-02-03 2015-07-29 杭州士兰控股有限公司 片上系统
CN105468546B (zh) * 2015-11-17 2017-04-12 中国科学院计算技术研究所 互连电路的数据处理装置和方法

Also Published As

Publication number Publication date
WO2017084331A1 (zh) 2017-05-26
CN105468546A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
CN105468546B (zh) 互连电路的数据处理装置和方法
US11036556B1 (en) Concurrent program execution optimization
CN106209679A (zh) 用于使用多个链接的存储器列表的方法及装置
KR100590387B1 (ko) 네트워크 프로세서에서 메모리 대역폭을 효율적으로공유하기 위한 장치 및 방법
CN109154897B (zh) 分布式处理方法、存储介质、和分布式处理系统
US9606945B2 (en) Access controller, router, access controlling method, and computer program
KR20070028406A (ko) 시간 슬롯 할당을 위한 집적 회로 및 방법
CN116235469A (zh) 网络芯片和网络设备
US10547514B2 (en) Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
GB2502861A (en) Network-on-chip comprising distributed reorder buffers
US20200396158A1 (en) Throughput in a crossbar network element by modifying mappings between time slots and ports
US9407578B2 (en) System and method of arbitrating access to interconnect
US8040821B2 (en) Switching device, switching method, and switch control program
US20100246590A1 (en) Dynamic assignment of data to switch-ingress buffers
CN112134814B (zh) 一种板级互联网络结构及通信方法
US9727512B1 (en) Identical packet multicast packet ready command
Salah et al. Design of a 2d mesh-torus router for network on chip
CN209345188U (zh) 低延时网络路由器
US20050050233A1 (en) Parallel processing apparatus
Daniel et al. A router architecture for flexible routing and switching in multihop point-to-point networks
US20040190524A1 (en) Scheduler device for a system having asymmetrically-shared resources
US9727513B1 (en) Unicast packet ready command
CN117793800A (zh) 流量均衡方法、设备及系统
CN110516329A (zh) 一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant