【技术实现步骤摘要】
本专利技术涉及总线数据传输,特别涉及用于维持多通道顺序规则的装置及相应方法。
技术介绍
在总线的数据传输过程中,为了实现链路的高效利用,同时也为了减少不同类别的数据包之间不必要的相互阻塞,把所要传送的数据包划分为多个类别,每一类数据包在逻辑上占用各自的虚通道,在物理上复用同一个物理链路。以现有技术中常见的HyperTransport总线或PCI-e总线为例,采用HyperTransport总线或PCI-e总线的设备支持三种基本的虚通道,分别用于传输读、写、回复三种类型的数据包,因此,这些虚通道也被分别称为NonPosted Channel、Posted Channel以及Respond Channel(为了说明的方便,在下文中将三种虚通道所传输的数据包简称为NP包、P包以及R包)。上述虚通道都通过分时复用机制在一个物理链路上复用。总线中的各个虚通道分别对应各自的缓存,总线在传送数据包时,将根据虚通道的类型把数据包传送到特定的缓存中,再由用户接口从缓存中读取数据。例如,在图1中给出了一种支持HyperTransport总线或PCI-e总线的设备的接收端,该设备中的物理链路通过分发器分别连接到三个缓冲区,其中的一个缓冲区与第一虚通道(VC,Virtual Channel)连接,因此该缓冲区被称为VC1缓冲区,类似的,其它缓冲区分别被称为VC2缓冲区以及VC3缓冲区。当设备的接收端通过物理链路串行依次接收到标号为1,2,...,7的7个数据包后,需要根据他们的虚通道属性分发到上述的三个虚通道缓冲区内,如将数据包1和5分发到VC1缓冲区,将数据包2、3、4分发到 ...
【技术保护点】
一种用于维持多通道顺序规则的装置,包括读控制逻辑、写控制逻辑、分别用于缓存NP包、P包以及R包的三个缓冲区,其特征在于,还包括用于记录各个数据包的包首地址的包地址次序池,以及用于记录NP包的包首地址的NP_L寄存器和用于记录R包的包首地址的R_L寄存器;所述的缓冲区与所述的包地址次序池并行连接在所述的写控制逻辑与所述的读控制逻辑之间;所述的NP_L寄存器、R_L寄存器和所述的读控制逻辑连接;所述的缓冲区与所述的包地址次序池采用先进先出队列;其中, 所述的写控制逻辑用于从外部得到数据包后,根据所述数据包的类型将所述数据包分别写入对应的缓冲区中,并将所述数据包中的P包以及PPW位无效的NP包和R包的包首地址按照所述数据包的输入顺序写入所述的包地址次序池中; 所述的包地址次序池用于将位于队列头部的NP包或R包的包首地址弹出后,将所述NP_L寄存器或R_L寄存器设为有效状态,并根据所述寄存器的有效状态,将所述NP包或R包缓冲区头部的数据包设为可读状态; 所述的NP包或R包缓冲区用于将PPW位有效的数据包直接设为可读状态; 所述的P包缓冲区用于将与所述包地址次序池的队列头部的包首地址相一致的数据 ...
【技术特征摘要】
1、一种用于维持多通道顺序规则的装置,包括读控制逻辑、写控制逻辑、分别用于缓存NP包、P包以及R包的三个缓冲区,其特征在于,还包括用于记录各个数据包的包首地址的包地址次序池,以及用于记录NP包的包首地址的NP_L寄存器和用于记录R包的包首地址的R_L寄存器;所述的缓冲区与所述的包地址次序池并行连接在所述的写控制逻辑与所述的读控制逻辑之间;所述的NP_L寄存器、R_L寄存器和所述的读控制逻辑连接;所述的缓冲区与所述的包地址次序池采用先进先出队列;其中,所述的写控制逻辑用于从外部得到数据包后,根据所述数据包的类型将所述数据包分别写入对应的缓冲区中,并将所述数据包中的P包以及PPW位无效的NP包和R包的包首地址按照所述数据包的输入顺序写入所述的包地址次序池中;所述的包地址次序池用于将位于队列头部的NP包或R包的包首地址弹出后,将所述NP_L寄存器或R_L寄存器设为有效状态,并根据所述寄存器的有效状态,将所述NP包或R包缓冲区头部的数据包设为可读状态;所述的NP包或R包缓冲区用于将PPW位有效的数据包直接设为可读状态;所述的P包缓冲区用于将与所述包地址次序池的队列头部的包首地址相一致的数据包设为可读状态;所述的读控制逻辑用于将设为可读状态的数据包读出。2、根据权利要求1所述的用于维持多通道顺序规则的装置,其特征在于,所述缓冲区与所述包地址次序池采用双端口RAM。3、根据权利要求1所述的用于维持多通道顺序规则的装置,其特征在于,所述的NP_L寄存器用于指示是否允许NP包从保存NP包的缓存中读出。4、根据权利要求1所述的用于维持多通道顺序规则的装置,其特征在于,所述的R_L寄存器用于指示是否允许R包从保存R包的缓存中读出。5、一种在权利要求1-4之一的用于维持多通道顺序规则的装置上实现数据包写操作的方法,包括:步骤1)、对要写入缓冲区的数据包的类型进行检查;步骤2)、将数据包中的P包写入对应的缓冲区,并将所述P包的包首在缓冲区中的地址按数据包的输入顺序写入包地址次序池中;步骤3)、将数据包中的NP包和R包写入对应的缓冲区,并对所述NP包和R包的PPW的有效性进行判断;步骤4)、将PPW位无效的NP包和R包的包首在缓冲区中的地址按数据包的输入顺序写入包地址次序池中。6、一种在权利要求1-4之一的用于维持多通道顺序规则的装置上实现数据包读操作的方法,包括:步骤1)、当所述包地址次序池中位于头部的数据为NP包的包首地址或R包的包首地址时,将所述的NP包的包首地址弹出并写入所述的NP_L寄存器,或将所述的R包的包首地址弹出并写入所述的R_L寄存...
【专利技术属性】
技术研发人员:陈飞,杨晓君,孙凝晖,赵晓芳,安学军,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。