一种基于交叉开关结构的片上互联方法技术

技术编号:6979164 阅读:244 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了基于交叉开关结构的片上互联方法,处理元件与共享资源间提供多组并行总线以提高数据交互的并行性;命令总线与数据总线分离;为每个资源目标的数据读取和数据写入提供单独的总线,这些总线分别称为读总线和写总线;其中读总线包括读数据总线和读ID总线;写总线包括写数据总线和写ID总线;读ID总线和写ID总线作为数据读取和写入的标识信息配合读数据总线和写数据总线完成包处理单元与共享资源之间的数据传输;为命令总线、读总线以及写总线分别提供一组轻型仲裁器。从而可为系统设计者提供多种仲裁算法。此外,基于本仲裁方案中仲裁器的独立性的特点,系统总线的扩展变得极其简单,从而提高了网络处理器系统的可扩展性。

【技术实现步骤摘要】

本专利技术涉及,属于计算

技术介绍
网络处理器作为面向网络应用领域的应用特定指令处理器,是面向数据分组处理的专用设备,应用于特定通信领域的各种任务,比如包处理、协议分析、声音/数据的汇聚、 路由查找、防火墙、QoS(Quality of krvice,即服务质量)等。例如以网络处理器为核心的交换机和路由器等网络设备被设计成以包的形式在高速率下转发网络通信量。处理网络通信量的一个最重要的考虑是包吞吐量。为了处理包,网络处理器需要分析发往本设备的数据报文中的包报头信息,提取包目的地,服务分类等信息,确定数据报文的下一跳目的地址,修改数据报文并发往相应网络端口。现代网络处理器一般由多个多线程包处理单元(通常称为PPE)、通用处理器、静态随机存取存储器(SRAM)控制器、动态随机存取存储器(SDRAM)控制器、加解密鉴权单元、 数据流接口单元构成。多线程包处理单元和通用处理器(通常统一称作处理元件)作为包处理动作的发起者,执行大量存取操作来访问系统内的多种共享资源;静态随机存取存储器控制器、动态随机存取存储器控制器、加解密鉴权单元、数据流接口单元作为包数据处理具体实施者可被任一包处理单元访问,是网络处理中典型的共享资源。在包处理期间,包处理单元以及比如通用处理器的其它可选择的处理元件通过总线共享访问多种系统资源。因此必须提供一套高性能的系统互联总线,以提供芯片上的大量处理元件以及芯片上大量共享资源之间的片上数据传输基础结构。传统的网络处理器系统互联采用共享总线的结构,共享总线一般采用多路复用技术。多种处理元件被耦合到一组共享总线上通过争用总线访问被耦合到总线上的多个资源目标,不同处理元件一般具有不同的总线访问优先级权限,总线仲裁器根据访问优先级由高到低对处理元件依次授权。图1提供了一个传统的共享总线体系结构示意图。该体系结构包含有多个包处理元件102,以及多种共享资源,包括SRAM单元112、DRAM单元114、加解密鉴权单元116和数据流接口 118。这些处理单元全部被耦合到一组系统共享总线上,如图 1所示命令及数据总线120。此外,系统中还包括一个负责调度各处理单元争用共享总线的全局仲裁器110。系统内处理元件与资源目标之间通过共享总线进行通信,一般分为以下几个步骤步骤一处理元件首先向全局仲裁器申请总线占有权。步骤二 如果总线处于空闲状态,全局仲裁器监测当前总线的申请请求,并对具有最高优先级的总线申请请求发起者进行授权。如果总线正在传输数据,则仲裁器等待当前通信结束后再对总线申请请求进行仲裁。步骤三处理元件获得总线授权后开始占用总线与目标单元进行通信。步骤四通信结束后释放总线,仲裁器再次监测当前总线的申请请求进行授权。共享总线互联方式的特点是系统仅包含一组共享总线,其好处是结构紧凑,节省布线资源。然而这种共享总线的结构在任一时间节点上仅允许单独的一组数据在总线上传输,因此限制了处理元件与共享资源之间的通信带宽。此外,在多个处理元件同时请求使用总线时,由于上述原因在该时间节点上仅有一个处理元件可被授权,因此会引入总线访问的争用问题,处理元件发起的通信请求由于优先级较低可能长时间得不到授权从而使该处理元件长时间处于停滞状态,从而影响系统包处理速率。
技术实现思路
有鉴于此,本专利技术提出一种交叉开关(crossbar switch)结构与分布式总线互连相结合的片上互联方案,通过在处理元件与共享资源间提供多组并行总线以提高数据交互的并行性,解决因共享总线所带来的通信带宽瓶颈问题,从而提高网络处理器系统包处理速率。为了实现上述目的,本专利技术的互联方案包括本专利技术将包处理单元作为主控端(master),是包处理事务的发起者;静态随机存储器控制器、动态随机存储器控制器、加解密鉴权单元、数据流接口单元是数据处理的具体实施者,作为系统共享资源可被任一主控端访问。本专利技术为网络处理器系统互联提供命令总线与数据总线分离的技术,提高总线交易执行的并行性。将包处理事务的发起与执行分离,包处理单元不必监测事务执行的细节, 仅专注于数据的分组与转发;包处理单元发起事务可根据系统需要转而执行其它事务,而不必一直等待上一事务的完成。为了缓解共享总线中访问争用的问题,本方案为每个资源目标的数据读取和数据写入提供单独的总线,这些总线被称为读总线和写总线。(需要注意的是,数据读取与数据写入是从共享资源目标的观点而言。即数据读取是从资源目标中读取数据发往主控端,而数据写入是将主控端发出的数据写入资源目标。)其中读总线包括读数据总线和读ID总线;写总线包括写数据总线和写ID总线。读ID总线和写ID总线作为数据读取和写入的标识信息配合读数据总线和写数据总线完成包处理单元与共享资源之间的数据传输。为了支持命令总线与数据总线分离的技术以及数据总线内读总线与写总线分离的技术。本专利技术提供分布式的仲裁方案,而不是使用传统的采用系统全局仲裁的方法。本专利技术为命令总线、读总线以及写总线分别提供一组轻型仲裁器。每一个仲裁器仅对一个主控端或资源目标进行控制;此外,系统设计者可根据系统实际要求对仲裁器采用不同的优先级算法。正如以上所述,本专利技术的一个或多个方面可提供以下优点。本专利技术采用命令总线与数据总线分离的技术,将事务发起与事务具体实施分离, 保证包处理单元仅关注事务的发起及调度,共享资源负责事务具体实施以及数据交互。在同一时间节点为上,系统总线中可发出多个事务,并且支持多个包处理单元与资源目标之间的数据通信,保证了系统事务的并行执行,提高系统总线数据吞吐率。本专利技术在数据总线中还提供相互独立的读数据总线和写数据总线以及对应的读 ID总线和写ID总线,将读/写数据传输隔离,多个处理元件可以在一个时间节点上同时对不同的共享资源目标进行读和写访问,从而更加有效的缓解了共享总线中访问争用的问题。本专利技术还提供分布式的仲裁方案,为命令总线、读总线以及写总线分别提供一组轻型仲裁器。其最大的特点是极大的降低了系统仲裁的复杂度,每一组仲裁器以及一组仲裁器中的任意两个仲裁器都是相互独立的。从而可为系统设计者提供多种仲裁算法。此外,基于本仲裁方案中仲裁器的独立性的特点,系统总线的扩展变得极其简单,从而提高了网络处理器系统的可扩展性。附图说明图1是基于共享总线结构的传统网络处理器系统互联方案示意图;图2是根据本专利技术的一个实施例的网络处理器系统互联结构的示意图;图3是根据本专利技术的一个实施例的命令总线细节示意图;图4是根本本专利技术的一个实施例的命令传输流程图;图5是根据本专利技术的一个实施例的写总线细节示意图;图6是根据本专利技术的一个实施例的写数据传输流程图;图7是根据本专利技术的一个实施例的读总线细节示意图;图8是根据本专利技术的一个实施例的读数据传输流程具体实施例方式以下结合具体实施例,对本专利技术进行详细说明。实施例1参考图2所示的一个实施例的网络处理器体系结构。在该体系结构中,包括四个包处理单元202A、202B、202C、202D。需要注意的是本专利技术并不对此作出限定,例如在其它实施例中包括(但不限于)六个或八个包处理单元;包处理单元可根据系统设计者的需要完成相同或不同的功能。包处理单元作为网络处理器包处理的核心元件,与系统内其它数据处理单元频繁交互数据。包处理单元作为主控端发起事务,对目标资源进行本文档来自技高网
...

【技术保护点】
1.一种基于交叉开关结构的片上互联方法,其特征在于,处理元件与共享资源间提供多组并行总线以提高数据交互的并行性;命令总线与数据总线分离;为每个资源目标的数据读取和数据写入提供单独的总线,这些总线分别称为读总线和写总线;其中读总线包括读数据总线和读ID总线;写总线包括写数据总线和写ID总线;读ID总线和写ID总线作为数据读取和写入的标识信息配合读数据总线和写数据总线完成包处理单元与共享资源之间的数据传输;为命令总线、读总线以及写总线分别提供一组轻型仲裁器。

【技术特征摘要】

【专利技术属性】
技术研发人员:李康范勇雷理赵庆贺史江一马佩军郝跃
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:87

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1