多核网络处理器的片上互联结构及其方法

文档序号:6398848阅读:403来源:国知局
专利名称:多核网络处理器的片上互联结构及其方法
技术领域
本发明涉及网络装置领域,更进一步涉及多核网络处理器的片上互联结构及其方法。本发明可以使多核网络处理器在结构相对简单的同时提供较高的带宽,具有良好的并行性、可扩展性以及公平性。
背景技术
主流网络处理器一般包括若干个多线程包处理器(PPE),一个协处理器,动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)控制单元,加解密单元,网络数据流接口单元等。协处理器在系统启动时对网络处理器各单元进行配置,多个包处理器在网络处理器内部并行运行,通过预先编制好的微码来控制处理流程。存储单元(如DRAM和SRAM单元)、加解密单元、网络数据流接口单元等数据存储和处理单元均属于共享资源。提供共享资源及其用户之间进行数据和命令控制信息相互通信的结构称为互联,亦称总线,它是保证网络处理器高性能的决定性因素。范勇所著“多处 理器片上系统高性能总线互联关键技术研究”的论文中,公开了一种使用基于共享总线的互联结构。该结构由于在任一时间节点上仅允许单独的一组数据在总线上传输,因此该结构存在的不足是,缺乏扩展性以及通信带宽较低。朱艳所著“多核CPU中交叉开关总线的设计”的论文中,公开了一种基于交叉开关的互联结构。该结构实现了处理单元和共享资源间点对点的连接,通信带宽并不会受到总线竞争的限制。但是该互联结构存在的不足是,结构复杂、在成本、面积方面要付出很大的代价。

发明内容
本发明的目的在于克服上述现有技术的不足,提出了一种结构相对简单的同时可以提供较高带宽,并且具有良好的并行性、可扩展性以及公平性的互联结构及其方法。本发明的多核网络处理器的片上互联结构,快速互联模块与处理单元(I)、处理单元(2)、SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元之间用读数据标识总线、写标识总线、写数据总线、命令总线连接;慢速互联模块与处理单元(I)、处理单元(2)、DRAM控制单元(1)、DRAM控制单元(2)用读数据标识总线、写标识总线、写数据总线、命令总线连接。处理单元(I)和处理单元(2),用于发送命令信息、写数据信息,接收读数据标识Ih息、写标识 目息。SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元,用于快速地接收命令信息、写数据信息,发送读数据标识信息、写标识信息。DRAM控制单元(1)、DRAM控制单元(2),用于慢速地接收命令信息、写数据信息,发送读数据标识信息、写标识信息。快速互联模块,用于将处理单元⑴、处理单元(2)的命令信息、写数据信息发送到SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元,将SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元的读数据标识信息、写标识信息发送到处理单元(I)、处理单元(2)。慢速互联模块,用于将处理单元(I)、处理单元(2)的命令信息、写数据信息发送到DRAM控制单元⑴、DRAM控制单元⑵,将DRAM控制单元⑴、DRAM控制单元(2)的读数据标识信息、写标识信息发送到处理单元(I)、处理单元(2)。本发明多核网络处理器的片上互联方法,包括如下步骤:⑴发送命令处理单元(I)与处理单元(2)发出数据请求命令。⑵选择命令2a)命令单元(I)与命令单元(2)中的仲裁器对命令总线上的命令信息进行译码,使能FIFO写总线,将命令信息写入先入先出队列FIFO。2b)仲裁器监测FIFO空状态总线,对不为空的先入先出队列FIFO进行优先级仲裁,使能当前最高优先级先入先出队列FIFO对应的FIFO读总线,将命令信息读出先入先出队列FIFO。2c)多路选择器依据仲裁器发出的选择信号,选择相应的通路。⑶接收命令SRAM控制单元(I)、SRAM控制单元(2)、网络包1/0接口单元、加解密单元、DRAM控制单元(1)、DRAM控制单元(2)通过对命令总线上的命令信息进行译码后,分别接收发往本单元的命令。(4)判断命令是否为读命令4a) SRAM控制单元(I)、SRAM控制单元(2)、网络包1/0接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元(2)对接收的命令进行译码,获得处理单元发送的命令类型。4b)判断处理单元发送的命令类型是否为读命令,如果是,则执行步骤(5);如果否,则执行步骤(8)。(5)发送读数据标识信息SRAM控制单元(I)、SRAM控制单元(2)、网络包1/0接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元(2)发送读数据标识信息。(6)选择读数据标识信息6a)读数据标识单元(I)、读数据标识单元(2)中的仲裁器对读数据标识总线中的读数据标识信息进行译码,使能FIFO写总线,将读数据标识信息写入先入先出队列FIFO。6b)仲裁器监测FIFO空状态总线,对不为空的先入先出队列FIFO进行优先级仲裁,使能当前最高优先级先入先出队列FIFO对应的FIFO读总线,将读数据标识信息读出先入先出队列FIFO。6c)多路选择器依据仲裁器发出的选择信号选择相应的通路。(7)接收读数据标识信息处理单元(I)、处理单元(2)通过对读数据标识总线上的读数据标识信息进行译码后,分别接收发往本单元的读数据标识信息。
(8)发送写标识信息SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元(2)发送读数据标识信息。(9)选择写标识信息9a)写标识单元(I)、写标识单元(2)中的仲裁器对写标识总线中的写标识信息进行译码,使能FIFO写总线,将写标识信息写入先入先出队列FIFO。9b)仲裁器监测FIFO空状态总线,对不为空的先入先出队列FIFO进行优先级仲裁,使能当前最高优先级先入先出队列FIFO对应的FIFO读总线,将写标识信息读出先入先出队列FIFO。9c)多路选择器依据仲裁器发出的选择信号,选择相应的通路。(10)接收写标识信息处理单元(I)、处理单元(2)通过对写标识总线上的写标识信息进行译码后,分别接收发往本单元的写标识信息。(11)发送写数据信息处理单元(I)、处理单元(2)分别通过对接收的写标识信息进行译码后,发送写数据信息。(12)选择写数据信息写数据单元(I)、写数据单元(2)、写数据单元(3)中的译码器依据写标识单元
(I)、写标识单元(2)、写标识(3)中仲裁器发出的数据选择信号,选择相应通路。(13)接收写数据信息SRAM控制单元(I)、SRAM控制单元(2)、网络包1/0接口单元、加解密单元、DRAM控制单元(1)、DRAM控制单元(2)通过对写数据总线上的写数据信息进行译码后,分别接收发往本单元的写数据信息。本发明与现有技术相比有以下特点:第一,由于本发明的系统中每个共享资源都有一组命令总线、读数据标识总线、写标识总线、写数据总线,克服了现有技术共享总线结构所带来扩展性差的缺点,使得本发明共享资源的数量可以根据需要进行扩展。第二,由于本发明的系统采用的互联结构使得各处理单元可以并行工作,克服了现有技术通信带宽比较低的缺点,从而使得本发明通信带宽比较高。第三,由于本发明的系统将片上互联结构分为快速互联结构和慢速互联结构,克服了现有技术处理单元和共享资源之间点对点连接带来的结构复杂、面积大、成本高的缺点,使得本发明片上互联结构相对简单,面积和成本控制比较理想。第四,由于本发明的方法保证了命令选择和数据选择的公平性,使得本发明处理单元和共享资源可以充分发挥性能。


图1是本发明结构的方框图;图2是本发明结构中快速互联模块的方框图;图3是本发明结构中慢速互联模块的方框图4是本发明方法的流程图。
具体实施例方式下面结合附图对本发明的结构做进一步的描述。参照附图1,本发明的结构包括处理单元(I)、处理单元(2)、SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元
(2)。由于SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元和DRAM控制单元(1)、DRAM控制单元(2)在接收数据和发送数据速度的快慢上存在差异,所以将片上互联分为快速互联模块和慢速互联模块。同时为了使片上互联结构具备良好的扩展性,处理单元(I)、处理单元(2)、SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元(2)分别拥有一组读数据标识总线、写标识总线、写数据总线、命令总线。快速互联模块与处理单元(I)、处理单元(2)、SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元之间用读数据标识总线、写标识总线、写数据总线、命令总线连接;慢速互联模块与处理单元(I)、处理单元(2)、DRAM控制单元(I)、DRAM控制单元(2)用读数据标识总线、写标识总线、写数据总线、命令总线连接;处理单元(I)和处理单元(2),用于发送命令信息、写数据信息,接收读数据标识信息、写标识信息;SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元,用于快速地接收命令信息、写数据信息,发送读数据标识信息、写标识信息;DRAM控制单元(I)、DRAM控制单元(2),用于慢速地接收命令信息、写数据信息,发送读数据标识信息、写标识信息;快速互联模块,用于将处理单元(I)、处理单元(2)的命令信息、写数据信息发送到SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元,将SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元的读数据标识信息、写标识信息发送到处理单元(I)、处理单元(2);慢速互联模块,用于将处理单元(I)、处理单元(2)的命令信息、写数据信息发送到DRAM控制单元⑴、DRAM控制单元(2),将DRAM控制单元
(I)、DRAM控制单元(2)的读数据标识信息、写标识信息发送到处理单元(I)、处理单元(2)。参照附图2,本发明结构中的快速互联模块包括读数据标识单元(I)、读数据标识单元(2)、写标识单元(I)、写标识单元(2)、写数据单元(I)、写数据单元(I)、命令单元
(I)。这样每个处理单元分别与一组读数据标识单元、写标识单元、写数据单元相对应,可以使SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元可以快速、并行地发送和接收数据信息。由于一个命令可以请求多组数据,SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元接收命令的次数远小于发送和接收数据的次数,所以快速互联模块中在处理单元(I)、处理单元⑵与SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元之间只设置了一个命令单元(I)。在快速互联模块中的读数据标识单元(I)包括一个仲裁器、四个FIFO、一个多路选择器;仲裁器的输入端通过读数据标识总线与SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接;仲裁器的输出端通过FIFO写总线、FIFO读总线与四个FIFO连接;四个FIFO的输入端通过读数据标识总线与SRAM控制单元⑴、SRAM控制单元⑵、网络包1/0接口单元、加解密单元连接;四个FIFO的输出端通过FIFO空状态总线与仲裁器连接;多路选择器的输入端通过FIFO总线与四个FIFO连接;多路选择器的输入端通过选择总线与仲裁器连接;所述的多路选择器的输出端通过读数据标识总线与处理单元(I)连接。快速互联模块中的读数据标识单元(2)包括一个仲裁器、四个FIFO、一个多路选择器;仲裁器的输入端通过读数据标识总线与SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接;仲裁器的输出端通过FIFO写总线、FIFO读总线与四个FIFO连接;四个FIFO的输入端通过读数据标识总线与SRAM控制单元(I)、SRAM控制单元
(2)、网络包I/O接口单元、加解密单元连接;四个FIFO的输出端通过FIFO空状态总线与仲裁器连接;多路选择器的输入端通过FIFO总线与四个FIFO连接;多路选择器的输入端通过选择总线与仲裁器连接;多路选择器的输出端通过读数据标识总线与处理单元(2)连接。快速互联模块中的写标识单元(I)包括一个仲裁器、四个FIFO、一个多路选择器;仲裁器的输入端通过写标识总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接;仲裁器的输出端通过FIFO写总线、FIFO读总线与四个FIFO连接;四个FIFO的输入端通过写标识总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接;四个FIFO的输出端通过FIFO空状态总线与仲裁器连接;多路选择器的输入端通过FIFO总线与四个FIFO连接;多路选择器的输入端通过选择总线与仲裁器连接;多路选择器的输出端通过写标识总线与处理单元(I)连接。快速互联模块中的写标识单元(2)包括一个仲裁器、四个FIFO、一个多路选择器;仲裁器的输入端通过写标识总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包1/0接口单元、加解密单元连接;仲裁器的输出端通过FIFO写总线、FIFO读总线与四个FIFO连接;四个FIFO的输入端通过写标识总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包1/0接口单元、加解密单元连接;四个FIFO的输出端通过FIFO空状态总线与仲裁器连接;多路选择器的输入端通过FIFO总线与四个FIFO连接;多路选择器的输入端通过选择总线与仲裁器连接;多路选择器的输出端通过写标识总线与处理单元(2)连接。快速互联模块中的写数据单元(I)包括一个译码器,译码器的输入端通过写数据总线与处理单元(I)连接;译码器的输入端通过数据选择总线与写标识单元(I)中的仲裁器连接;译码器的输出端通过写数据总线与SRAM控制单元(1)、SRAM控制单元(2)、网络包1/0接口单元、加解密单元连接。快速互联模块中的写数据单元(2)包括一个译码器,译码器的输入端通过写数据总线与处理单元(2)连接;译码器的输入端通过数据选择总线与写标识单元(2)中的仲裁器连接;译码器的输出端通过写数据总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包1/0接口单元、加解密单元连接。快速互联模块中的命令单元(I)包括一个仲裁器、两个FIFO、一个多路选择器,仲裁器的输入端通过命令总线与处理单元(I)、处理单元(2)连接;仲裁器的输出端通过FIFO写总线、FIFO读总线与两个FIFO连接;两个FIFO的输入端通过命令总线与处理单元(I)、处理单元(2)连接;两个FIFO的输出端通过FIFO空状态总线与仲裁器连接;多路选择器的输入端通过FIFO总线与两个FIFO连接;多路选择器的输入端通过选择总线与仲裁器连接;多路选择器的输出端通过命令总线与DRAM控制单元(I)、DRAM控制单元(2)连接。仲裁器,用于监测输入的总线、FIFO空状态总线,控制先入先出队列FIFO的写入和读出,发出选择信号选通多路选择器;先入先出队列FIF0,用于缓存对应的信息;多路选择器,用于选通相应的数据通路;译码器,用于选通相应的数据通路。参照附图3,慢速互联模块中包括读数据标识单元(3)、写标识单元(3)、写数据单元(3)、命令单元(2)。由于DRAM控制单元(1)、DRAM控制单元(2)接收和发送数据速度比较慢,所以处理单元⑴、处理单元⑵与DRAM控制单元⑴、DRAM控制单元⑵之间只有一组读数据标识单元、写标识单元、写数据单元。一个命令可以请求多个数据,所以也同样只设置了一个命令单元。慢速互联模块中的读数据标识单元(3)包括一个仲裁器、两个FIFO、一个多路选择器;仲裁器的输入端通过读数据标识总线与DRAM控制单元(I)、DRAM控制单元(2)连接;仲裁器的输出端通过FIFO写总线、FIFO读总线与两个FIFO连接;两个FIFO的输入端通过读数据标识总线与DRAM控制单元(I)、DRAM控制单元⑵连接;两个FIFO的输出端通过FIFO空状态总线与仲裁器连接;所述多路选择器的输入端通过FIFO总线与两个FIFO连接;多路选择器的输入端通过选择总线与仲裁器连接;多路选择器的输出端通过写标识总线与处理单元(I)、处理单元(2)连接;慢速互联模块中的写标识单元(3)包括一个仲裁器、两个FIFO、一个多路选择器;仲裁器的输入端通过写标识总线与DRAM控制单元(I)、DRAM控制单元⑵连接;仲裁器的输出端通过FIFO写总线、FIFO读总线与两个FIFO连接;两个FIFO的输入端通过写标识总线与DRAM控制单元(I)、DRAM控制单元⑵连接;两个FIFO的输出端通过FIFO空状态总线与仲裁器连接;多路选择器的输入端通过FIFO总线与两个FIFO连接;多路选择器的输入端通过选择总线与仲裁器连接;多路选择器的输出端通过写标识总线与处理单元(I)、处理单元(2)连接;慢速互联模块的写数据单元(3)包括一个多路选择器、一个译码器;多路选择器的输入端通过写数据总线与处理单元(I)、处理单元(2)连接;多路选择器的输入端通过选择总线与写标识单元(3)中的仲裁器连接;多路选择器的输出端通过输出总线与译码器连接;译码器的输入端通过选择总线与写标识单元(3)中的仲裁器连接;译码器的输出端通过写数据总线与DRAM控制单元⑴、DRAM控制单元⑵连接;仲裁器,用于监测输入的总线、FIFO空状态总线,控制FIFO的写入和读出,发出选择信号选通多路选择器;先入先出队列FIF0,用于缓存对应的信息;多路选择器,用于选通相应的数据通路;译码器,用于选通相应的数据通路。参照附图4,对本发明方法的具体步骤描述如下。步骤1.发送命令处理单元(I)与处理单元(2)并行地发出数据请求命令,命令中包含目标单元、命令类型、数据地址等信息,可以在后面的操作中通过对命令信息的译码得到正确的操作。步骤2.选择命令由于每个先入先出FIFO都有相对应的处理单元,同时快速互联模块和慢速互联模块中都有命令单元,所以需要仲裁器对命令总线上的命令信息进行译码,控制命令信息的写入。仲裁器的优先级算法需要保证命令选择的公平性,优先级不断轮询。2a)命令单元(I)与命令单元(2)中的仲裁器对命令总线上的命令信息进行译码,使能FIFO写总线,将命令信息写入先入先出队列FIFO。2b)仲裁器监测FIFO空状态总线,对不为空的先入先出队列FIFO进行优先级仲裁,使能当前最高优先级先入先出队列FIFO对应的FIFO读总线,将命令信息读出先入先出队列FIFO。2c)多路选择器依据仲裁器发出的选择信号,选择相应的通路。步骤3.接收命令SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(1)、DRAM控制单元(2)通过对命令总线上的命令信息进行译码后,分别接收发往本单元的命令。步骤4.判断命令是否为读命令处理单元发来的命令有两种,一种是读命令,一种是写命令。SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元
(2)对于读命令和写命令的处理方式不同,所以需要判断命令的类型。4a)SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元(2)对接收的命令进行译码,获得处理单元发送的命令类型。4b)判断处理单元发送的命令类型是否为读命令,如果是,则执行步骤(5);如果否,则执行步骤(8)。步骤5.发送读数据标识信息SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元(2)根据命令中的信息,发送读数据标识信息,读数据标识信息中包含数据和标识信息。步骤6.选择读数据标识信息由于每个先入先出FIFO都有相对应的单元,同时快速互联模块和慢速互联模块中都有读数据标识单元,所以需要仲裁器对读数据标识总线上的读数据标识信息进行译码,控制读数据标识信息的写入。仲裁器的优先级算法需要保证读数据标识信息选择的公平性,优先级不断轮询。6a)读数据标识单元(I)、读数据标识单元(2)、读数据标识单元(3)中的仲裁器对读数据标识总线中的读数据标识信息进行译码,使能FIFO写总线,将读数据标识信息写入先入先出队列FIFO。6b)仲裁器监测FIFO空状态总线,对不为空的先入先出队列FIFO进行优先级仲裁,使能当前最高优先级先入先出队列FIFO对应的FIFO读总线,将读数据标识信息读出先入先出队列FIFO。6c)多路选择器依据仲裁器发出的选择信号选择相应的通路。步骤7.接收读数据标识信息处理单元(I)、处理单元(2)通过对读数据标识总线上的读数据标识信息进行译码后,分别接收发往本单元的读数据标识信息。步骤8.发送写标识信息SRAM控制单元(I)、SRAM控制单元(2)、网络包1/0接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元(2)发送写标识信息。步骤9.选择写标识信息由于每个先入先出FIFO都有相对应的单元,同时快速互联模块和慢速互联模块中都有读数据标识单元,所以需要仲裁器对命令总线上的命令信息进行译码,控制写标识信息的写入。仲裁器的优先级算法需要保证命令选择的公平性,优先级不断轮询。第一步,写标识单元(I)、写标识单元⑵、写标识单元(3)中的仲裁器对写标识总线中的写标识信息进行译码,使能FIFO写总线,将写标识信息写入先入先出队列FIFO。第二步,仲裁器监测FIFO空状态总线,对不为空的先入先出队列FIFO进行优先级仲裁,使能当前最高优先级先入先出队列FIFO对应的FIFO读总线,将写标识信息读出先入先出队列FIFO。第三步,多路选择器依据仲裁器发出的选择信号,选择相应的通路。步骤10.接收写标识信息处理单元(I)、处理单元(2)通过对写标识总线上的写标识信息进行译码后,确定写标识信息的目标单元,接收发往本单元的写标识信息。步骤11.发送写数据信息处理单元(I)、处理单元(2)分别通过对接收的写标识信息进行译码后,得到写数据信息,发送写数据信息。步骤12.选择写数据信息写数据信息的选通应该同写标识信息的选通相对应。写数据单元(I)、写数据单元(2)、写数据单元(3)中的译码器依据写标识单元
(I)、写标识单元(2)、写标识(3)中仲裁器发出的数据选择信号,选择相应通路。步骤13.接收写数据信息SRAM控制单元(I)、SRAM控制单元(2)、网络包1/0接口单元、加解密单元、DRAM控制单元(1)、DRAM控制单元(2)通过对写数据总线上的写数据信息进行译码后,分别接收发往本单元的写数据信息。
权利要求
1.多核网络处理器的片上互联结构,其特征在于,快速互联模块与处理单元(I)、处理单元(2)、SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元之间用读数据标识总线、写标识总线、写数据总线、命令总线连接;慢速互联模块与处理单元(I)、处理单元(2)、DRAM控制单元(1)、DRAM控制单元(2)用读数据标识总线、写标识总线、写数据总线、命令总线连接;其中: 所述的处理单元(I)和处理单元(2),用于发送命令信息、写数据信息,接收读数据标识信息、写标识信息; 所述的SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元,用于快速地接收命令信息、写数据信息,发送读数据标识信息、写标识信息; 所述的DRAM控制单元(I)、DRAM控制单元(2),用于慢速地接收命令信息、写数据信息,发送读数据标识信息、写标识信息; 所述的快速互联模块,用于将处理单元(I)、处理单元(2)的命令信息、写数据信息发送到SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元,将SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元的读数据标识信息、写标识信息发送到处理单元(I)、处理单元(2); 所述的慢速互联模块,用于将处理单元(I)、处理单元(2)的命令信息、写数据信息发送到DRAM控制单元(I)、DRAM控制单元(2),将DRAM控制单元(I)、DRAM控制单元(2)的读数据标识信息、写标识信息发送到处理单元(I)、处理单元(2)。
2.根据权利要求1所述的多核网络处理器的片上互联结构,其特征在于,所述快速互联模块中的读数据标识单元(I)包括一个仲裁器、四个FIFO、一个多路选择器;所述仲裁器的输入端通过读数据标识总线与SRAM控制单元⑴、SRAM控制单元⑵、网络包I/O接口单元、加解密单元连接;所述仲裁器的输出端通过FIFO写总线、FIFO读总线与四个FIFO连接;所述的四个F IFO的输入端通过读数据标识总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接;所述四个FIFO的输出端通过FIFO空状态总线与仲裁器连接;所述多路选择器的输入端通过FIFO总线与四个FIFO连接;所述多路选择器的输入端通过选择总线与仲裁器连接;所述的多路选择器的输出端通过读数据标识总线与处理单元(I)连接; 所述快速互联模块中的读数据标识单元(2)包括一个仲裁器、四个FIFO、一个多路选择器;所述仲裁器的输入端通过读数据标识总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接;所述仲裁器的输出端通过FIFO写总线、FIFO读总线与四个FIFO连接;所述的四个FIFO的输入端通过读数据标识总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接;所述四个FIFO的输出端通过FIFO空状态总线与仲裁器连接;所述多路选择器的输入端通过FIFO总线与四个FIFO连接;所述多路选择器的输入端通过选择总线与仲裁器连接;所述多路选择器的输出端通过读数据标识总线与处理单元(2)连接; 所述快速互联模块中的写标识单元(I)包括一个仲裁器、四个FIFO、一个多路选择器;所述仲裁器的输入端通过写标识总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接;所述仲裁器的输出端通过FIFO写总线、FIFO读总线与四个FIFO连接;所述的四个FIFO的输入端通过写标识总线与SRAM控制单元⑴、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接;所述四个FIFO的输出端通过FIFO空状态总线与仲裁器连接;所述多路选择器的输入端通过FIFO总线与四个FIFO连接;所述多路选择器的输入端通过选择总线与仲裁器连接;所述多路选择器的输出端通过写标识总线与处理单元(I)连接; 所述快速互联模块中的写标识单元(2)包括一个仲裁器、四个FIFO、一个多路选择器;所述仲裁器的输入端通过写标识总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接;所述仲裁器的输出端通过FIFO写总线、FIFO读总线与四个FIFO连接;所述的四个FIFO的输入端通过写标识总线与SRAM控制单元⑴、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接;所述四个FIFO的输出端通过FIFO空状态总线与仲裁器连接;所述多路选择器的输入端通过FIFO总线与四个FIFO连接;所述多路选择器的输入端通过选择总线与仲裁器连接;所述多路选择器的输出端通过写标识总线与处理单元(2)连接; 所述快速互联模块中的写数据单元(I)包括一个译码器,所述译码器的输入端通过写数据总线与处理单元(I)连接;所述译码器的输入端通过数据选择总线与写标识单元(I)中的仲裁器连接;所述译码器的输出端通过写数据总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接; 所述快速互联模块中的写数据单元(2)包括一个译码器,所述译码器的输入端通过写数据总线与处理单元(2)连接;所述译码器的输入端通过数据选择总线与写标识单元(2)中的仲裁器连接;所述译码器的输出端通过写数据总线与SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元连接; 所述的快速互联模块中的命令单元(I)包括一个仲裁器、两个FIFO、一个多路选择器,所述仲裁器的输入端通过命令总线与处理单元(I)、处理单元(2)连接;所述仲裁器的输出端通过FIFO写总线、FIFO读总线与两个FIFO连接;所述两个FIFO的输入端通过命令总线与处理单元(I)、处理单元(2)连接;所述两个FIFO的输出端通过FIFO空状态总线与仲裁器连接;所述多路选择器的输入端通过FIFO总线与两个FIFO连接;所述多路选择器的输入端通过选择总线与仲裁器连接;所述多路选择器的输出端通过命令总线与DRAM控制单元⑴、DRAM控制单元⑵连接; 所述的仲裁器,用于监测输入的总线、FIFO空状态总线,控制FIFO的写入和读出,发出选择信号选通多路选择器;所述的FIFO,用于缓存对应的信息;所述的多路选择器,用于选通相应的数据通路;所述的译码器,用于选通相应的数据通路。
3.根据权利要求1所述的多核网络处理器的片上互联结构,其特征在于,所述慢速互联模块中的读数据标识单元(3)包括一个仲裁器、两个FIFO、一个多路选择器;所述仲裁器的输入端通过读数据标识总线与DRAM控制单元(I)、DRAM控制单元(2)连接;所述仲裁器的输出端通过FIFO写总线、FIFO读总线与两个FIFO连接;所述的两个FIFO的输入端通过读数据标识总线与DRAM控制单元(I)、DRAM控制单元⑵连接;所述两个FIFO的输出端通过FIFO空状态总线与仲裁器连接;所述多路选择器的输入端通过FIFO总线与两个FIFO连接;所述多路选择器的输入端通过选择总线与仲裁器连接;所述多路选择器的输出端通过写标识总线与处理单元(I)、处理单元(2)连接; 所述慢速互联模块中的写标识单元(3)包括一个仲裁器、两个FIFO、一个多路选择器;所述仲裁器的输入端通过写标识总线与DRAM控制单元(I)、DRAM控制单元(2)连接;所述仲裁器的输出端通过FIFO写总线、FIFO读总线与两个FIFO连接;所述的两个FIFO的输入端通过写标识总线与DRAM控制单元(1)、DRAM控制单元⑵连接;所述两个FIFO的输出端通过FIFO空状态总线与仲裁器连接;所述多路选择器的输入端通过FIFO总线与两个FIFO连接;所述多路选择器的输入端通过选择总线与仲裁器连接;所述多路选择器的输出端通过写标识总线与处理单元(I)、处理单元(2)连接; 所述慢速互联模块的写数据单元(3)包括一个多路选择器、一个译码器;所述多路选择器的输入端通过写数据总线与处理单元(I)、处理单元(2)连接;所述多路选择器的输入端通过选择总线与写标识单元(3)中的仲裁器连接;所述多路选择器的输出端通过输出总线与译码器连接;所述译码器的输入端通过选择总线与写标识单元(3)中的仲裁器连接;所述译码器的输出端通过写数据总线与DRAM控制单元(I)、DRAM控制单元(2)连接; 所述的仲裁器,用于监测输入的总线、FIFO空状态总线,控制FIFO的写入和读出,发出选择信号选通多路选择器;所述的FIFO,用于缓存对应的信息;所述的多路选择器,用于选通相应的数据通路;所述的译码器,用于选通相应的数据通路。
4.多核网络处理器的片上互联方法,包括如下步骤: (1)发送命令 处理单元(I)与处理单元(2)发出数据请求命令; (2)选择命令 2a)命令单元(I)与命令单元(2)中的仲裁器对命令总线上的命令信息进行译码,使能FIFO写总线,将命令信息写入先入先出队列FIFO ; 2b)仲裁器监测FIFO空状态总线,`对不为空的先入先出队列FIFO进行优先级仲裁,使能当前最高优先级先入先出队列FIFO对应的FIFO读总线,将命令信息读出先入先出队列FIFO ; 2c)多路选择器依据仲裁器发出的选择信号,选择相应的通路; (3)接收命令 SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(1)、DRAM控制单元(2)通过对命令总线上的命令信息进行译码后,分别接收发往本单元的命令; (4)判断命令是否为读命令 4a) SRAM控制单元(1)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元(2)对接收的命令进行译码,获得处理单元发送的命令类型; 4b)判断处理单元发送的命令类型是否为读命令,如果是,则执行步骤(5);如果否,则执行步骤⑶; (5)发送读数据标识信息 SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元(2)发送读数据标识信息; (6)选择读数据标识信息 6a)读数据标识单元(I)、读数据标识单元(2)中的仲裁器对读数据标识总线中的读数据标识信息进行译码,使能FIFO写总线,将读数据标识信息写入先入先出队列FIFO ;6b)仲裁器监测FIFO空状态总线,对不为空的先入先出队列FIFO进行优先级仲裁,使能当前最高优先级先入先出队列FIFO对应的FIFO读总线,将读数据标识信息读出先入先出队列FIFO ; 6c)多路选择器依据仲裁器发出的选择信号选择相应的通路; (7)接收读数据标识信息 处理单元(I)、处理单元(2)通过对读数据标识总线上的读数据标识信息进行译码后,分别接收发往本单元的读数据标识信息; (8)发送写标识信息 SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(I)、DRAM控制单元(2)发送读数据标识信息; (9)选择写标识信息 9a)写标识单元(I)、写标识单元(2)中的仲裁器对写标识总线中的写标识信息进行译码,使能FIFO写总线,将写标识信息写入先入先出队列FIFO ; 9b)仲裁器监测FIFO空状态总线,对不为空的先入先出队列FIFO进行优先级仲裁,使能当前最高优先级先入先出队列FIFO对应的FIFO读总线,将写标识信息读出先入先出队列 FIFO ; 9c)多路选择器依据仲裁器发出的选择信号,选择相应的通路; (10)接收写 标识信息 处理单元(I)、处理单元(2)通过对写标识总线上的写标识信息进行译码后,分别接收发往本单元的写标识信息; (11)发送写数据信息 处理单元(I)、处理单元(2)分别通过对接收的写标识信息进行译码后,发送写数据信息; (12)选择写数据信息 写数据单元(I)、写数据单元(2)、写数据单元(3)中的译码器依据写标识单元(I)、写标识单元(2)、写标识(3)中仲裁器发出的数据选择信号,选择相应通路 (13)接收写数据信息 SRAM控制单元(I)、SRAM控制单元(2)、网络包I/O接口单元、加解密单元、DRAM控制单元(1)、DRAM控制单元(2)通过对写数据总线上的写数据信息进行译码后,分别接收发往本单元的写数据信息。
全文摘要
本发明公开一种多核网络处理器片上互联结构及其方法,本发明结构中的快速互联模块、处理单元、快速共享资源之间通过读数据标识总线、写标识总线、写数据总线、命令总线连接。慢速互联模块、处理单元、慢速共享资源之间通过读数据标识总线、写标识总线、写数据总线、命令总线连接。本发明的方法包括发送命令;选择命令;接收命令;判断命令是否为读命令;发送读数据标识信息;选择读数据标识信息;接收读数据标识信息;发送写标识信息;选择写标识信息;接收写标识信息;发送写数据信息;选择写数据信息;接收写数据信息。本发明提出了一种可用于多核网络处理器的结构简单、较高带宽、良好的并行性、可扩展性以及公平性的互联结构及其方法。
文档编号G06F15/173GK103106177SQ20131003601
公开日2013年5月15日 申请日期2013年1月8日 优先权日2013年1月8日
发明者史江义, 李涛, 李超, 马佩军, 邸志雄, 郝跃 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1