用于管理分组的网络处理器的制作方法与工艺

文档序号:12008458阅读:来源:国知局
用于管理分组的网络处理器的制作方法与工艺

技术特征:
1.一种用于管理分组的网络处理器,所述网络处理器包括:-用于保持硬件管理的接收队列(105)的接收队列补充器(RQR)(170),所述接收队列适合处理指向用于存储已被接收的分组的内存位置(111)的第一指针(107);-用于保持硬件管理的发送队列(120)的发送队列补充器(SQR)(160),所述发送队列适合处理第一发送组件(121),所述第一发送组件包括指向所述分组已被处理并且准备被发送的所述内存位置(113)的第二指针;所述第一发送组件包括所述接收队列(105)的标识符,以便向所述RQR(170)指示所述第二指针应被加至哪一个接收队列;-队列管理器(220),用于响应于所述分组已被发送,从所述发送队列(120)接收所述第一发送组件并将所述第一发送组件发送至所述RQR(170),以便所述RQR(170)将所述第二指针加至所述接收队列(105),使得所述内存位置可被重新用来存储另一分组。2.如权利要求1所述的网络处理器,其中,所述接收队列和所述发送队列属于相同的队列对(163)。3.如权利要求2所述的网络处理器,其中,所述接收队列和所述发送队列属于不同的队列对(163),并且其中,所述接收队列标识符进一步包括用于确定所述接收队列所属的队列对的信息。4.如权利要求1、2或3所述的网络处理器,其中,多个软件线程会运行,所述网络处理器进一步包括完成单元(210),所述完成单元适于:-在输入分组抵达时从所述接收队列(105)接收所述第一指针,以便从所述接收队列移除所述第一指针;-给可用的第一软件线程(135)提供所述已收到的第一指针和所述接收队列(105)的标识符,并且由所述第一软件线程(135)来调度(146)所述输入分组的处理;当所述输入分组经过处理后,-从所述第一软件线程(135)接收包括所述第二指针和所述标识符的发送队列组件,其中所述第二指针指向与所述第一指针相同的内存位置(111);-向所述SQR发送所述发送队列组件,以便将其送入(150)所述发送队列中。5.如权利要求1、2或3所述的网络处理器,其中,所述发送队列(120)包括:-存储在内存中的第一FIFO队列(620),-包括第一组锁存器的第一入列群(600),-包括第二组锁存器的第一出列群(610);并且其中所述SQR(160)适于:-使用所述第一入列群(600)作为高速缓存,用于经由直接内存存取(DMA)同时将多个发送组件送入所述第一FIFO队列(620),以及-使用所述第一出列群(610)作为高速缓存,用于经由DMA同时将多个发送组件送出所述第一FIFO队列(620)。6.如权利要求5所述的网络处理器,其中,任何发送组件的长度都是16个字节,并且4个发送组件会同时被送入或送出所述第一FIFO队列。7.如权利要求中1、2、3或6所述的网络处理器,其中,所述接收队列(105)包括:-存储在内存中的第二队列(720),-包括第三组锁存器的第二入列群(700),-包括第四组锁存器的第二出列群(710);并且其中所述RQR适于:-使用所述第二入列群(700)作为高速缓存,用于经由直接内存存取(DMA)同时将多个指针送入所述第二队列(720),以及-使用所述第二出列群(710)作为高速缓存,用于经由DMA同时将多个指针送出所述第二队列(720)。8.如权利要求7所述的网络处理器,其中,任何指针的长度都是8个字节,并且8个指针会同时被送入或送出所述第二队列。9.如权利要求7所述的网络处理器,其中,所述第二队列是FIFO队列、LIFO队列、或堆栈。10.如权利要求1、2、3、6、8或9所述的网络处理器,其中,所述RQR(170)能够管理每个队列对的两个接收队列,第一接收队列包括指向用于存储小型分组的内存位置的指针,以及第二接收队列包括指向用于存储大型分组的内存位置的指针。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1