全节点虚通道的片上网络环形拓扑数据交换方法及其系统的制作方法

文档序号:7743416阅读:192来源:国知局
专利名称:全节点虚通道的片上网络环形拓扑数据交换方法及其系统的制作方法
技术领域
本发明涉及一种芯片上网络系统的通信方式,特别涉及到环形拓扑网络中数据的
传输和交换的控制方法及其系统。
背景技术
随着半导体制造技术的进步,在一个芯片上可以集成的功能模块越来越多,而芯 片内部各个模块之间的通信效率正逐渐成为影响性能的重要因素。 在传统的片上系统中,各模块之间通常通过共享总线技术进行通信。但随着芯片 内部复杂度增加,各模块之间通信任务加重,传统总线式的数据传输渐渐不能满足需要。因 此另一种被称为片上网络的技术逐渐受到人们关注。该技术将传统计算机互联网数据交换 的思想用在了单个芯片上,各个硬件资源通过交换节点,以片上网络的方式交换数据。与一 般总线相比,片上网络有诸多优势,如支持各个部件的并行通信,有更大的数据带宽;可以 根据不同拓扑更方便地增加或减少节点,可扩展性更强;使用全局同步局部异步机制,解决 时钟同步困难的问题等。 片上网络的拓扑结构有环形,二维网格,树形等。其中,环形拓扑的最大优势在于 实现简单,硬件开销小,尤其是在嵌入式应用中更容易做到节省面积降低功耗。然而传统的 环形拓扑片上网络存在多个缺点。例如,当数据在某个节点被堵塞时,其后的所有数据都会 被阻塞,降低了环的传输效率。即使采用了一般的虚通道方式,也只能防止该节点引起的阻 塞,无法解决多个节点共同形成的队头阻塞。如何利用有限的资源,尽量提高环形拓扑片上 网络的通信效率,不仅牵涉到环形系统本身的传输方式设计,也牵涉到交换节点内部的微 架构。

发明内容
为了克服已有片上网络环形拓扑结构的无法解决多个节点共同形成的队头阻塞、 通信效率较低的不足,本发明提供一种能够有效解决多个节点共同形成的队头阻塞、提高 通信效率的全节点虚通道的片上网络环形拓扑数据交换方法及其系统。
本发明解决其技术问题所采用的技术方案是 —种全节点虚通道的片上网络环形拓扑数据交换方法,在所述片上网络环形拓扑 结构中,存在N个交换节点,N为自然数,N个交换节点形成环形拓扑结构,每个交换节点内 存在并行的N-l条虚通道,分别对应来自上一节点的N-l种地址的数据,所有节点中以某个 目标地址节点对应的虚通道组成一个虚拟环,所有发送至该目标节点的数据均通过该虚拟 环发送; 当输入FIFO模块和虚通道同时数据发送至下一节点时,根据优先级配置选择其 中一路数据,发送至物理通道,另一路反馈以阻塞信号,当下一节点收到数据时,产生反馈 信号给上一节点,当收到表示阻塞的反馈信号时,虚通道通过换路,选取其他存在数据的虚 通道进行传输。
作为优选的一种方案所述N-l条虚通道分为两组,分别用在逆时针环和顺时针 环上。 进一步,当节点数N为奇数时,逆时针环和顺时针环上均配置(N-l)/2条虚通道;
当节点数N为偶数时,逆时针环和顺时针环上分别配置(N_2)/2和N/2条虚通道。 作为优选的另一种方案当数据从起始节点发出后,下一节点在接收时根据地址
信息将数据存放到相应的虚通道中,使用固定地址模式每个节点内需要配置一个单独的
地址表,将每个虚通道对应其后节点的地址,此时每次转发时无需更改地址;在数据到达目
的节点之后,最后转发至与其相连的本地资源以供处理使用,完成一次数据传输。 或者是当数据从起始节点发出后,下一节点在接收时根据地址信息将数据存放
到相应的虚通道中,使用递减地址模式每个节点内可以采用同样的虚通道地址分配表,第
i条虚通道对应该节点后第i个节点,i为自然数,此时在每次转发数据时需要自动将地址
减1,在数据到达目的节点之后,最后转发至与其相连的本地资源以供处理使用,完成一次
数据传输。
每条虚通道至少存在1个基本数据单位,并有附加的虚通道空满状态位。 采用时分复用的形式共享节点之间的物理通道,所述虚通道对应独立的缓存资源。 —种全节点虚通道的片上网络环形拓扑数据交换系统,包括N个交换节点,N为自 然数,N个交换节点形成环形拓扑结构, 所述交换节点包括并行的N-l条虚通道、仲裁器和输入输出FIFO模块,所述N-l
条虚通道分别对应来自上一节点的N-l种地址的数据,所有节点中以某个目标地址节点对
应的虚拟道组成一个虚拟环,所有发送至该目标节点的数据均通过该虚拟环发送; 当输入输出FIFO模块和虚通道同时要将数据发送到下一节点时,通过仲裁器根
据优先级选择其中一路数据,另一路反馈以阻塞信号;当下一节点收到数据时,产生反馈信
号给上一节点,当收到表示阻塞的反馈信号时,虚通道通过换路,选取其他存在数据的虚通
道进行传输。 所述N-1条虚通道分为两组,包括逆时针环和顺时针环;所述仲裁器包括逆时针
仲裁单元、顺时针仲裁单元和输出仲裁单元。 所述虚通道对应独立的缓存资源。 本发明的技术构思为提供一种单芯片上多个功能部件之间的环形通信架构,属 于一种片上网络。该架构为可扩展设计,环上可以根据需要配置任意数目的交换节点,每个 节点下面可以根据产品应用连接相应的硬件资源,可以是处理器,也可以是总线型子系统。 各个硬件资源通过交换节点在环上进行数据传输。本发明中,相邻节点之间有顺时针和逆 时针两条物理通道,因此在整个系统中形成了顺逆两个数据环。 从本地硬件资源所发出的数据以一定数据包格式进入本地节点,然后根据其目的 地址,选择顺时针或者逆时针方向发送至下一级节点的缓冲队列中,然后下一节点再将其 转发至其下一级节点,逐级递减,最后到达目的节点并发送至其所连接的硬件资源,完成一 次数据传输。 当整个环上连接N个节点时,每个节点内部含有N-l个转发数据所用的虚通道,以 并行的形式放置,每个虚通道以一定方式对应一个目标节点,称为全节点虚通道方法。N-l
5个虚通道分成两组,分别用在逆时针环和顺时针环上,其中两个方向上的数目可以根据需 要自己定义,并与路由机制相结合。特别的,当N-1个虚通道同时分配在一个方向上时,整 个系统只需要一条物理通道即可。
本发明的有益效果主要表现在能够有效解决多个节点共同形成的队头阻塞、提
高通信效率。


图1是均衡分配的全节点虚通道环形片上网络结构图。
图2是7个节点时全节点虚通道所形成的虚拟环的示意图。
图3是虚拟环上的数据传输过程的示意图。
图4是交换节点内部结构图。
具体实施例方式
下面结合附图对本发明作进一步描述。
实施例1 参照图1 图4,一种全节点虚通道的片上网络环形拓扑数据交换方法,在所述片 上网络环形拓扑结构中,存在N个交换节点,N为自然数,N个交换节点形成环形拓扑结构, 每个交换节点内存在并行的N-l条虚通道,分别对应来自上一节点的N-l种地址的数据,所 有节点中以某个目标地址节点对应的虚通道组成一个虚拟环,所有发送至该目标节点的数 据均通过该虚拟环发送; 当输入FIFO模块和虚通道同时数据发送至下一节点时,根据优先级配置选择其 中一路数据,发送至物理通道,另一路反馈以阻塞信号,当下一节点收到数据时,产生反馈 信号给上一节点,当收到表示阻塞的反馈信号时,虚通道通过换路,选取其他存在数据的虚 通道进行传输。 所述N-1条虚通道分为两组,分别用在逆时针环和顺时针环上。当节点数N为奇 数时,逆时针环和顺时针环上均配置(N-l)/2组虚通道;当节点数N为偶数时,逆时针环和 顺时针环上分别配置(N-2)/2和N/2组虚通道。 该系统在传输过程中,每个数据都伴随一个地址信息。当数据从起始节点发出后, 下一节点在接收时根据地址信息将数据存放到相应的虚通道中,使用固定地址模式每个 节点内需要配置一个单独的地址表,将每个虚通道对应其后节点的地址,此时每次转发时 无需更改地址;在数据到达目的节点之后,最后转发至与其相连的本地资源以供处理使用, 完成一次数据传输。 或者是当数据从起始节点发出后,下一节点在接收时根据地址信息将数据存放 到相应的虚通道中,使用递减地址模式每个节点内可以采用同样的虚通道地址分配表,第 i条虚通道对应该节点后第i个节点,i为自然数,此时在每次转发数据时需要自动将地址 减l,在数据到达目的节点之后,最后转发至与其相连的本地资源以供处理使用,完成一次 数据传输。 每条虚通道至少可以存放l个基本数据单位,并有附加的虚通道空满状态位。采 用时分复用的形式共享节点之间的物理通道,所述虚通道对应独立的缓存资源。
当整个环上连接N个节点时,每个节点内部含有N-1个转发数据所用的虚通道,以 并行的形式放置,每个虚通道以一定方式对应一个目标节点,称为全节点虚通道方法。N-l 个虚通道分成两组,分别用在逆时针环和顺时针环上,其中两个方向上的数目可以根据需 要自己定义,并与路由机制相结合。特别的,当N-l个虚通道同时分配在一个方向上时,整 个系统只需要一条物理通道即可。 采用最短路径路由机制。即在顺时针和逆时针两条路径中,数据包选择经过节点 较少的那条传输。按此机制,任意节点发出的数据包最多经过[N/2](即不超过N/2的最大 整数)跳数即可到达目的节点。由于虚通道是用以缓存来自上一节点的转发数据的,而按 此路由机制来自上一节点的数据同方向上最多可以有[N/2]个目的地址,因此本发明在每 个节点内部,两个方向上均配置[N/2]条虚通道。特别的,当节点数N为偶数时,由于从某 个节点发往最远距离节点时,顺时针和逆时针跳数相同,此时如果定义数据包只能往一个 方向发送,则每个节点在另一方向上可以减少一条虚通道,即两个方向的虚通道数目分别 为(N-2)/2和N/2。
实施例2 参照图1 图4,一种全节点虚通道的片上网络环形拓扑数据交换系统,包括N个 交换节点,N为自然数,N个交换节点形成环形拓扑结构,所述交换节点包括虚通道组、仲裁 器、路由器、输入FIFO和输出FIFO模块,其中虚通道组包括N-l条独立缓存资源的虚通道, 分别对应来自上一节点的N-l种地址的数据,所有节点中以某个目标地址节点对应的虚拟 道组成一个虚拟环,所有发送至该目标节点的数据均通过该虚拟环发送;
当输入输出FIFO模块和虚通道同时要将数据发送到下一节点时,通过仲裁器根 据优先级选择其中一路数据,另一路反馈以阻塞信号;当下一节点收到数据时,产生反馈信 号给上一节点,当收到表示阻塞的反馈信号时,虚通道通过换路,选取其他存在数据的虚通 道进行传输。 所述N-1条虚通道分为两组,包括逆时针环和顺时针环;所述仲裁器包括逆时针
仲裁单元、顺时针仲裁单元和输出仲裁单元。 所述虚通道对应独立的缓存资源。 图1是根据本发明的第一个实例的环形片上网络基本结构图。图中采用了顺时针 和逆时针两个方向数据环,因此节点内部的虚通道也分为两组。需要注意的是,为了表述方 便,这里每组虚通道均设置了 N/2条虚通道,实际应用中,可以根据节点数的奇偶性节省1 到2条。由于顺时针和逆时针数据环除了方向不同外,其他特征和实现方式都一致,因此这 里只举例讨论逆时针数据环。图中,根据最小条数路由,节点O可以将数据发送到节点1, 节点2,……,节点N/2,这些数据在发送到节点1时,都会先缓存到节点1的输入队列,即 逆时针虚通道中。因此,节点1的逆时针虚通道中的数据可能有的地址分别为1,2,……, N/2,共N/2个。本发明给每个地址均分配了一条虚通道,当节点O中的数据发送到节点1 时,首先根据该数据的目标地址,在节点1的逆时针虚通道中选择对应该地址的那条并存 储数据,之后节点1再从多条虚通道中选择一条,将其中的数据发送到本地节点或下一节 点。在这种机制下,当整个环的N个节点中,某个节点由于硬件资源处理能力有限等原因而 无法接收新的数据时,每个节点的虚通道组中以该节点为目标地址的虚通道被处在阻塞状 态,此时以其他节点为目标地址的数据可以通过它相应地址的虚通道进行传输,而不会被阻塞。 在这种机制下,每个节点内的每条虚通道都对应不同的目的节点,因此本发明称作全节点虚通道。同时,不同节点内以相同目标节点为地址的各个虚通道又构成一条虚拟环。图2是在7个节点时,以节点0为目标节点的各个虚通道所组成的虚拟环。从图中可以看到,7个节点时每个节点内在顺时针和逆时针方向上各有3条虚通道。由于按最短路径路由机制,节点4发送到节点0的数据必定是经过节点5,节点6的,无需经过节点3和节点4的虚通道。同理,节点3发出的数据也无需经过两者的虚通道组。因此,这个虚拟环由逆时针上节点5,节点6,节点0,以及顺时针上节点2,节点l,节点0各自的一条虚通道组成。同理,以节点1为目的地址的各条虚通道也可以形成这么一个虚拟数据环。各个虚拟环以时分复用的形式共享节点间的物理通道,但节点内的存储资源则各自独立,因此不会在节点内造成不同目的节点之间数据的阻塞。图2中示例了 7个节点时虚拟环的情况,当节点数更少或者更多时可以同理类推。 图2的实施例中,对数据包的地址处理可以采用两种方式,如发明内容所述,其1是固定地址模式,其2是地址递减模式。第一种模式时,每条黑色的虚通道都固定为以节点O为目标地址,这样更为直观,但不同的节点配置各不相同。第二种模式中,先给虚通道组进行编号,自下而上分别为0到2,其中编号为i的虚通道对应该节点后第i个节点,如节点5中黑色的虚通道编号为2,因此对应其后第2个节点,即节点0。当以节点0为目标地址的数据从节点5转发到节点6时,须将其地址自动减l,从而节点6可以将数据存储在它的虚通道1中,对应节点6后第1个节点,即节点0。当数据包存放在某个节点的虚通道O时,表示已经到达目标节点,此时节点须将该数据发送到本地硬件资源,而不是继续转发至下一节点。 图3是虚拟环上数据的传输过程。图中,节点I中的虚通道J,节点1+1中的虚通道J-1等共同组成了以节点I+J为目标地址的一个虚拟环。每个虚通道可以根据应用设置不同的深度。在图3的实施例中使用了深度为2的输入缓冲。数据从节点I发送至节点1+1后,由节点1+1根据是否接收了该数据、以及该编号虚通道是否还有剩余空间等信息发送反馈信号至节点I,然后节点I可以根据该反馈信号决定是否继续发送下一个数据。这个过程可以通过流水线的形式完成,使得数据在虚拟环上可以无停顿地连续传输。
本发明中,数据通过节点进行接收和发送时,除了虚通道组之外,还需要路由器,仲裁器,输入输出FIFO等模块进行协同工作。图4为一个交换节点内部结构图的实施例。图中,交换节点有顺时针环、逆时针环和本地硬件资源三个输入端口 ,数据经过交换节点后同样有这三个输出端口 。其中,来自任意一个输入端口的数据都可以将数据输出到其他两个输出端口。同样,任意一个输出端口也有来自两个不同输入端口的数据。因此一个输出端口在将数据发送到物理通道之前,需要一个仲裁器根据优先级从两个输入端口中选择一个,即图4中两个环仲裁器和一个输出仲裁器的作用。图4中,输入FIFO模块用来暂存来自本地硬件资源的数据,路由模块用来判断该数据使用顺时针还是逆时针环来发送数据。输出FIFO将来自环形网络上的数据发送至本地硬件资源。需要注意的是,图4的实施例仅仅描述了一种使用全节点虚通道的环形拓扑网络中交换节点的微结构,因此,可以在不脱离本发明范围的情况下,对前述内容进行若干变更,例如可以将多个仲裁器集合起来等。
应该注意到,以上实施例中是以平均方式分配顺时针和逆时针环上的虚通道数目来实现的。但按其他比例分配虚通道数目也在本发明的权利范围。特别的,当每个节点中,所有虚通道都分配在同一个方向的环上时,整个环形网络架构只有一条物理通道。这种方式牺牲了部分性能,但节省了节点之间的布线资源。
权利要求
一种全节点虚通道的片上网络环形拓扑数据交换方法,其特征在于在所述片上网络环形拓扑结构中,存在N个交换节点,N为自然数,N个交换节点形成环形拓扑结构,每个交换节点内存在并行设置的N-1条虚通道,分别对应来自上一节点的N-1种地址的数据,所有节点中以某个目标地址节点对应的虚通道组成一个虚拟环,所有发送至该目标节点的数据均通过该虚拟环发送;当输入FIFO模块和虚通道同时数据发送至下一节点时,根据优先级配置选择其中一路数据,发送至物理通道,另一路反馈以阻塞信号,当下一节点收到数据时,产生反馈信号给上一节点,当收到表示阻塞的反馈信号时,虚通道通过换路,选取其他存在数据的虚通道进行传输。
2. 如权利要求1所述的全节点虚通道的片上网络环形拓扑数据交换方法,其特征在 于所述N-l条虚通道分为两组,分别用在逆时针环和顺时针环上。
3. 如权利要求2所述的全节点虚通道的片上网络环形拓扑数据交换方法,其特征在 于当节点数N为奇数时,逆时针环和顺时针环上均配置(N-l)/2]组虚通道;当节点数N为 偶数时,逆时针环和顺时针环上分别配置(N_2)/2和N/2组虚通道。
4. 如权利要求1 3之一所述的全节点虚通道的片上网络环形拓扑数据交换方法,其 特征在于当数据从起始节点发出后,下一节点在接收时根据地址信息将数据存放到相应的虚通道中,使用固定地址模式每个节点内需要配置一个单独的地址表,将每个虚通道对 应其后节点的地址,此时每次转发时无需更改地址;在数据到达目的节点之后,最后转发至 与其相连的本地资源以供处理使用,完成一次数据传输。
5. 如权利要求1 3之一所述的全节点虚通道的片上网络环形拓扑数据交换方法,其 特征在于当数据从起始节点发出后,下一节点在接收时根据地址信息将数据存放到相应 的虚通道中,使用递减地址模式每个节点内可以采用同样的虚通道地址分配表,第i条虚 通道对应该节点后第i个节点,i为自然数,此时在每次转发数据时需要自动将地址减l,在 数据到达目的节点之后,最后转发至与其相连的本地资源以供处理使用,完成一次数据传 输。
6. 如权利要求1 3之一所述的全节点虚通道的片上网络环形拓扑数据交换方法,其特征在于每条虚通道至少存在1个基本数据单位,并有附加的虚通道空满状态位。
7. 如权利要求1 3之一所述的全节点虚通道的片上网络环形拓扑数据交换方法,其特征在于采用时分复用的形式共享节点之间的物理通道,所述虚通道对应独立的缓存资 源。
8. —种用如权利要求1所述的全节点虚通道的片上网络环形拓扑数据交换方法实现的片上网络环形拓扑数据交换系统,其特征在于所述片上网络环形拓扑数据交换系统包括N个交换节点,N为自然数,N个交换节点形成环形拓扑结构,所述交换节点包括虚通道 组、仲裁器、路由器、输入FIFO模块和输出FIFO模块,其中虚通道组含有并行放置的N-l条 虚通道,分别对应来自上一节点的N-l种地址的数据,所有节点中以某个目标地址节点对 应的虚拟道组成一个虚拟环,所有发送至该目标节点的数据均通过该虚拟环发送;当输入FIFO模块和虚通道同时要将数据发送到下一节点时,通过仲裁器根据优先级 选择其中一路数据,另一路反馈以阻塞信号;当下一节点收到数据时,产生反馈信号给上一 节点,当收到表示阻塞的反馈信号时,虚通道通过换路,选取其他存在数据的虚通道进行传输。
9. 如权利要求8所述的片上网络环形拓扑数据交换系统,其特征在于所述N-l条虚 通道分为两组,包括逆时针环和顺时针环;所述仲裁器包括逆时针仲裁单元、顺时针仲裁单 元和输出仲裁单元。
10. 如权利要求8或9所述的片上网络环形拓扑数据交换系统,其特征在于所述虚通 道对应独立的缓存资源。
全文摘要
一种全节点虚通道的片上网络环形拓扑数据交换方法,N个交换节点形成环形拓扑结构,每个交换节点内存在并行设置的N-1条虚通道,分别对应来自上一节点的N-1种地址的数据,所有节点中以某个目标地址节点对应的虚拟道组成一个虚拟环,所有发送至该目标节点的数据均通过该虚拟环发送;当输入FIFO模块和虚通道同时数据发送至下一节点时,根据优先级配置选择其中一路数据,发送至物理通道,另一路反馈以阻塞信号,当下一节点收到数据时产生反馈信号给上一节点,当收到表示阻塞的反馈信号时,虚通道通过换路选取其他存在数据的虚通道进行传输。以及提出了环形拓扑数据交换系统。本发明能够有效解决各节点共同形成的队头阻塞、提高通信效率。
文档编号H04L12/46GK101789892SQ20101012232
公开日2010年7月28日 申请日期2010年3月11日 优先权日2010年3月11日
发明者严晓浪, 周升, 潘赟, 薛念, 陈雷, 颜晓峰 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1