使用网络处理器的服务器加速的制作方法

文档序号:6555336阅读:155来源:国知局
专利名称:使用网络处理器的服务器加速的制作方法
为了帮助感兴趣的读者理解本文说明的发明,请查阅以下有关的出版物,全文引用作为参考美国专利5,008,878,授权日期为1991年4月16日,题目为“用于电路和包交换通信的高速模块化交换装置”;美国专利5,491,804,授权日期为1996年2月13日,题目为“用于自动初始化可插入选项卡的方法和装置”;美国专利5,724,348,授权日期为1998年3月3日,题目为“用于数据交换的有效硬件/软件接口”;序列号为09/330,968,申请日期为1999年6月11日,题目为“用于数据通信的高速并行/串行链路”的美国专利申请;序列号为09/384,689,申请日期为1999年8月27日,题目为“VLSI网络处理器和方法”的美国专利申请;序列号为09/384,691,申请日期为1999年8月27日,题目为“网络处理器处理集合体和方法”的美国专利申请;序列号为09/384,692,申请日期为1999年8月27日,题目为“网络交换、组件以及运行方法”的美国专利申请;以及序列号为09/384,744,申请日期为1999年8月27日,题目为“网络处理器、存储器构成以及方法”的美国专利申请。
通常引用1948年开发的EDVAC计算机系统作为计算机时代的开始。从那时开始,计算机系统已经发展为非常复杂的设备,并且可以在许多不同环境中发现计算机系统。计算机系统通常包括硬件(如半导体、电路板等)和软件(如计算机程序)的组合。随着半导体加工技术和计算机体系结构方面的进展使计算机硬件的性能越来越高,更复杂的计算机软件也已出现,以利用更高性能的硬件,其结果是当前的计算机系统比几年前存在的计算机系统功能更强大。
技术方面的其他变革也深深地影响着我们使用计算机的方式。例如,计算机的广泛普及促使允许计算机与其他计算机进行通信的计算机网络的发展。随着个人计算机(PC)的引入,计算对许多人已非常容易。人们开发了用于个人计算机的网络,以允许各个用户相互通信。这样,公司内的许多人就能够利用在单一计算机系统上运行的应用软件,同时通过网络进行通信。
近来,一个已非常普遍的重要的计算机网络就是因特网。因特网是由计算机和网络的现代激增而来的,并且已经发展为连接计算机系统的复杂的世界性的网络,其中计算机系统包含网页。此通信网络系统和计算机系统一并构成“万维网”,即WWW。位于各自PC(即工作站)希望访问WWW的用户,通常使用称为web浏览器的软件应用进行访问。网页浏览器通过因特网连接到称为web服务器的计算机,并从web服务器接收在其工作站上显示的信息。通常将向用户显示的信息组织为网页,网页是使用称为超文本标注语言(HTML)的专用语言构造的。现在,使用HTML的web浏览器几乎可用于市场上的每一种计算机,使得能够访问计算机和调制解调器的任何人均能访问WWW。尽管WWW正在变得越来越普遍,但访问WWW的计算机用户的快速增长和扩充已经引起了许多伴随问题。在以下讨论中确定这些问题中的某些问题。
服务器园(farm)和DASD(指直接存储存储设备,在下文中讨论)园是万维网中两个产物。在每个情况中,使用术语“园”意指,在该传送中可以任何协作设备的最终用户之间或多或少无缝流动的方式,将一些设备有效地连接起来的通信。因此,多个服务器计算机协作,以划分网络的数据处理需求,或者多个存储设备协作,以提供一个或多个服务器计算机系统的数据存储需求。尽管实现上述划分功能的技术是可用的或正在开发,但问题仍然会在此类环境中出现,本文公开的发明解决并克服了上述问题。
以下说明以此类通信网络中使用的网络数据通信、交换机和路由器知识为先决条件。具体而言,以下说明以熟悉网络体系结构的OSI模型为先决条件,其中该模型将网络操作划分为层。基于OSI模型的典型体系结构从第1层(有时也标识为“L1”)延伸到第7层,其中第1层为物理通道或物理介质,通过第1层将信号向上传送到第2层、第3层、第4层、直至第7层,而第7层为在连接到网络的计算机系统上运行的应用程序。在此文档中,提及L1、L2等时,意指网络体系结构的对应层。本公开也以对此类网络通信中称为包或帧的位串的基本理解为先决条件。
本发明的目的在于加速服务器计算机系统的性能,服务器计算机系统作为诸如局域网之类的网络中的服务器,或支持万维网的节点。为实现此目的,本发明期望向服务器计算机系统添加一块其上有网络处理器的选项卡,否则的话,服务器计算机系统为常规计算机系统。通过将网络处理器添加到服务器系统中,网络处理器能够除掉服务器系统之中央处理器的支持网络活动的大部分负担,释放服务器系统的能力以执行支持网络所需要的其他任务。例如,通过添加本发明期望的选项卡,可以为CPU卸除与网络路由选择报头有关的功能,从而释放系统CPU以进行诸如应用程序使用之类的其他处理。
已经叙述了本发明的某些目的,随着描述的继续,将连同附图一起说明其他目的,其中附图为

图1表示实施本发明的计算机系统;图2为一示意图,表示选项卡;图3是一个示意图,表示本发明中使用的网络处理器;以及图4是另一个示意图,表示本发明中使用的网络处理器。
尽管以下将参照说明本发明最佳实施方式的附图来更全面地说明本发明,然而在以下描述开始时应该理解,相应领域的熟练技术人员可以修改本文描述的发明,而仍能实现本发明的有利结果。因此,应该将以下描述理解为引导相应领域之熟练技术人员的广义的、教学公开,而不是限制本发明。
参照图1,根据本发明的计算机系统100包含一个中央处理器(CPU)110,一个主存储器120,一个海量存储器接口140以及一个网络接口150,其中利用系统总线160连接上述所有设备。熟练技术人员可以理解,以上系统包含所有类型的计算机系统个人计算机,中型计算机,大型计算机等。请注意,可以在本发明的范围内,对以上计算机系统100进行许多添加、修改和删除。例如计算机监视器,输入键盘,高速缓冲存储器,和诸如打印机之类的外设。本发明可以以web服务器的方式运行,通常利用个人计算机或中型计算机实现web服务器。
可以利用一个或多个微处理器和/或集成电路来构造CPU110。CPU110执行主存储器120中存储的程序指令。主存储器120存储计算机可存取的程序和数据。当计算机系统100启动时,CPU110首先执行操作系统134的程序指令。操作系统134是一种复杂程序,该程序管理以上简单描述的计算机系统100的资源。上述资源的某些资源为CPU110,主存储器120,海量存储器接口140,网络接口150以及系统总线160。
正如本文说明的那样,主存储器120包含一个web服务器应用122,一个事务处理器124,一个或多个宏文件126,一个配置文件128,一个或多个语言处理器130,一个操作系统134,一个或多个应用程序136,以及程序数据138。CPU110在操作系统134的控制下,执行应用程序136。与作为输入的程序数据138一起运行应用程序136。应用程序136也可以输出其结果,作为主存储器中的程序数据138。当计算机系统100以web服务器的方式运行时,CPU110除执行其他应用外,还执行web服务器应用122。事务处理器124是一个程序,该程序处理一个或多个宏文件126中存储的HTML页面。当初始化事务处理器124时,该处理器读取配置文件128,以便将不同类型的查询与不同的语言处理器130关联起来。当在某页中发现动态数据的查询时,事务处理器124根据配置数据(从配置文件中读取),确定用来处理该查询的语言处理器130。然后,适当的语言处理器130查询诸如存储器或数据库之类的数据源,以检索动态数据。语言处理器130将该动态数据传送到事务处理器124,后者将该动态数据插入到所选页面的HTML数据中。
海量存储器接口140,允许计算机系统100从诸如磁盘(硬盘,软盘)和光盘(CD-ROM)之类的辅助存储设备中检索或存储数据。这些海量存储设备通常称为直接存取存储设备(DASD),并且作为信息的永久存储器。一种合适类型的DASD为软盘驱动器180,后者从软盘186中读取数据或者将数据写入到软盘186中。来自DASD的信息可以为任意格式。常见格式为应用程序和程序数据。通常将从海量存储器接口140中检索的数据放到主存储器120中,在主存储器120中,CPU110可以使用上面简要提及的页面调入和页面调出过程来处理该数据。
尽管主存储器120和DASD设备180通常为独立存储设备,但计算机系统100使用众所周知的虚拟寻址机制,该机制允许计算机系统100的程序就好象只访问一个大的单一存储器实体一样,而不是访问许多较小的存储器实体(如主存储器120和DASD设备185)。因此,尽管将某些组件显示为驻留在主存储器120中,熟练技术人员可以理解,并不需要同时将这些组件全部包含在主存储器120中。应该注意,本文使用的术语“存储器”泛指计算机系统100的所有虚拟存储器。
网络接口150允许计算机系统100向与该系统相连的任意网络发送数据,或者从该网络接收数据。通常由安装在图1所示的美国专利5,491,804(发明人为Heath等,这里引用作为参考)中提及的可选总线连接器上的选项卡,提供网络接口。网络接口卡即NIC使用的网络可以为局域网(LAN),广域网,或者为更具体的因特网170。连接到因特网的合适方法包括已知的模拟和/或数字技术,以及将来开发的联网机制。可以使用许多不同的网络协议来实现网络。这些协议为允许计算机通过网络进行通信的专用计算机程序。用于通过因特网进行通信的TCP/IP(传输控制协议/网际协议),就是合适网络协议的例子。
系统总线160允许在计算机系统100的各种组件之间传送数据。尽管将计算机系统100显示为仅包含一个主CPU和一条系统总线,熟练技术人员可以理解,可以使用具有多个CPU和/或多条总线的计算机系统实施本发明。
此时,重要的是注意到以下事实,即尽管在(并且继续在)完整功能的计算机系统环境中说明本发明,但是熟练技术人员可以理解,能够以各种类型的程序产品的形式分发本发明的组成部分,不管实际执行分发的信号承载介质的特定类型如何,本发明同样适用。信号承载介质的示例包括诸如软盘(如图1的186)和CD ROM之类的可记录类型的介质,以及诸如数字和模拟通信链路之类的传输类型的介质。
在本发明的某些实现中,可以以web服务器的方式操作计算机系统100。为此,CPU110执行web服务器应用程序122。假设操作系统134是多任务操作系统,则另一应用程序136可以在计算机系统100上同时运行。通常将web服务器连接到因特网170。正如所讨论的那样,因特网是一个众所周知的遍布全球的计算机网络,并且由数百万台计算机共享。因特网上有许多web服务器。连接到因特网的每一台计算机均有其特有的唯一地址,以使它能够通过网络与其他计算机进行通信。可以通过因特网发送许多种不同类型的数据。如电子邮件、程序数据、数字化的语音数据、计算机图形和网页。通常,通过在包或帧内提供称为报头的部分数据,将因特网连接的设备的地址与数据关联起来。可以在计算机系统100内内部使用此种寻址技术,以实现本发明的目标。
根据本发明的有显著区别的特征,计算机系统已经通过可选总线将选项卡150(图2)连接到该系统,选项卡具有一个接口设备即网络处理器硬件子系统。熟练技术人员熟知以上提到的选项卡与计算机系统的联合。然而,为了完整性,请感兴趣的读者查阅美国专利5,491,804(发明人Heath等,授权日期1996年2月13日)中的书面说明和附图,本发明在所需范围内引用该说明,以完全理解本发明。可选总线可以为任意的合适总线,例如包括但并不限于所谓的ISA总线,EISA总线,PCI总线,以及各种性能的计算机系统中使用的其他类似总线结构。
卡(插件)150是使用其上有边缘连接器部分152的印刷电路板或卡151组成的。边缘连接器使得在计算机系统内安装卡更容易,并且使得建立信号也更容易,该信号传送该卡与计算机系统的可选总线之间的通信。在所示方式中,卡150具有一个外部连接器,通过该连接器将该卡连接到该计算机系统的外部的网络,利用该网络交换数据。卡上安装有网络处理器155和支持控制点控制器156。
用于在下文中公开的装置的体系结构是基于网络处理器(NP)硬件子系统的,并且作为选择,也是基于在控制点处理器上运行的软件库的。网络处理器子系统是一个高性能的帧转发引擎,最初设计用来句法分析和转换L2、L3和L4+数据字符串。网络处理器子系统能够提供通过装置的快速通路,而软件库和控制点处理器提供管理,并路由维护快速通路所需要的发现功能。控制点处理器和其上运行的软件库一起定义该系统的控制点(CP)。可以将控制点处理器嵌入到网络处理器内,或与其自然分离,或不使用控制点处理器。
行业顾问已将网络处理器定义为能够执行一个或多个下述功能的可编程通信集成电路包分类-根据诸如地址或协议之类的已知特征,识别包;包修改-对包进行修改以符合IP、ATM或其他协议(例如,更新用于IP协议的报头中的生存时间字段);队列/策略管理-反映针对特定应用的用于包入队、出队和包调度的设计策略;以及包转发-在交换结构上传输并接收数据,将包转发或路由到正确地址。
尽管上述定义是早期NP的基本功能的精确描述,但是还需实现NP的完整的潜在功能和益处。通过以硬件方式执行先前以软件方式处理的联网任务,网络处理器能够增加有效的系统带宽,并在很广的应用范围内解决等待时间问题。此外,通过诸如并行分布处理和流水线处理设计之类的体系结构,NP能够提高速度。上述能力能够允许有效的搜索引擎,提高吞吐量,并快速执行复杂任务。上述定义使用单词“包”,其与广域网(WAN)中的常见用法一致。此处公开的发明同样适用于“帧”,该术语与局域网(LAN)中的常见用法一致。本发明期望在单一计算机系统的内部工作中应用此技术。
正如CPU之用于PC,人们期望网络处理器成为用于网络的基本网络构件。NP提供的典型能力为实时处理、安全、存储转发、交换结构、和IP包处理以及学习能力。
处理器模型NP混用多个通用处理器和专用逻辑。供应商正转向此设计,以提供可伸缩的灵活的解决方案,其中该解决方案能够以及时的、高性能价格比的方式适应变化。处理器模型NP允许较低集成水平的分布处理,从而提供较高的吞吐量、适应性和控制。可编程性能够轻易移植到新协议和技术,而无需新的ASIC设计。
尽管此类网络处理器以硬件方式支持多层转发,但它也能够以仅在L2交换的方式运行,并且此方式为在有关申请中公开的最简单方式中的默认运行模式。将各端口置于一个域中,使得该域中的任意设备与该域中的任意其他设备进行通信。该装置在L2是可配置的,使得系统管理员能够配置以下属性将端口分组为不同的域或中继线,配置虚拟LAN(VLAN)段,或强加过滤器。
将在下文中说明的装置的某些部分设计为,使用接口设备或网络处理器(NP)和控制点(CP)作为其基本构件的模块化部件。当将两个以上的接口设备子系统连接起来时,可以使用可选的交换结构设备。可选的交换结构设备可以为,美国专利5,008,878(授权日期为1991年4月16日、题目为“用于电路和包交换通信的高速模块化交换装置”)中公开的设备。
此装置可以包括一个NP、一个CP和一个介质互连机制的单一组件。然而,可以设想使用此处称为“选项卡”或“片(blade)”的印刷电路板组件,来组装更复杂的装置。印刷电路板上安装有电路组件,并且在诸如服务器计算机系统机架之类的装置机架中提供的连接器中安装。该装置企图可以在不同底盘或机架中交换卡,倘若各机架中提供合适的连接器和底板电气连接的话。载体子系统是在许多(若不是全部的话)选项卡上发现的基本组件。从载体子系统开始,可以生成三种类型的卡。第一种类型是只有CP的卡,该卡包括一个载体子系统和一个CP子系统。只有CP的卡主要用于主要要考虑冗余的产品。第二种类型是CP+介质卡,该卡包括一个载体子系统,一个CP子系统和1对3介质子系统。CP+介质卡主要用于端口密度比冗余更重要的产品。第三种类型为介质卡,该卡包括一个载体子系统和1对4介质子系统。介质卡可用于任意底盘,并且使用的介质子系统的类型是可配置的。
卡管理包括故障检测,电源管理,新设备检测,初始化和配置。使用各种寄存器,I/O信号和导向单元接口实现上述管理,其中导向单元接口用于在CP和载体子系统之间进行通信。所有卡上均有可编程设备和存储器。可编程性依赖于卡的类型。当卡上有CP子系统时,CP、载体子系统和介质子系统均是可编程的。
在其最简单的形式中,本发明期望的选项卡接口装置,具有一个控制点处理器和一个有效连接到该控制点处理器的接口设备。最好按此处公开的那样,接口设备(此处标识为网络处理器或NP)为一个具有半导体基底的超大规模集成电路(VLSI)设备或芯片;基底上排列有多个接口处理器;所述基底上排列有内部指令存储器,用于存储可到达接口处理器的指令;该基底上排列有内部数据存储器,用于存储可通过该设备到达接口处理器的数据;以及多个输入/输出端口。此处有时也将接口处理器标识为微微处理器或处理部件。设置的端口包括至少一个用于连接内部数据存储器和外部数据存储器的端口,和至少两个其他端口,这些端口在接口处理器的控制下,通过接口设备与外部设备交换数据。通过将接口处理器执行的指令加载到指令存储器中,以指导控制数据交换输入/输出端口与通过数据存储器的数据流之间的数据交换,控制点与接口设备合作。例如,输入/输出端口可以仅为以太网端口,后者具有以不同范围的传输速率进行传输的能力。当介质速度开始赶上或超过CPU处理能力时,我们认为本发明采用千兆位以太网(1Gbps或更高)速率克服的某些问题是非常有意义的。
除其中安装有网络处理器的组件之外,我们认为此处公开的网络处理器是有发明力的。此外,我们认为此处公开的网络处理器在此处说明的组件内,包含此处并未完全论述的其他的进一步的发明。
为了更全面地理解,图3和图4表示接口设备芯片的框图,该芯片包含基底10以及集成在基底上的多个子组件。将子组件排列为上行端配置和下行端配置。正如此处使用的那样,“上行端”指入站到此处公开的装置的数据流,而“下行端”指从该装置出站进入到该装置服务的设备或网络的数据流。数据流沿各自配置而行。其结果是,存在一个上行端数据流和一个下行端数据流。上行端中的子组件包括入队-出队-调度上行(EDS-UP)逻辑16,多路复用MAC上行(PPM-UP)14,交换数据移动上行(SDM-UP)18,系统接口(SIF)20,数据调整串行链路A(DASLA)22,和数据调整串行链路B(DASLB)24。序列号为909/330,968,申请日期为1999年6月11,题目为“用于数据通信的高速并行/串行链路”的共同未决美国专利申请,完整描述了数据调整串行链路,这里在所需范围内引用该申请作为参考,以便完全理解此处公开的发明。尽管此处公开的本发明的最佳形式的装置使用DASL链路,本发明期望使用其他形式的链路,以获得比较高的数据流速率,特别是在将数据流限制在VLSI结构内时。
选项卡的功能是以介质速度处理网络协议,并将应用程序数据流传送到系统CPU110。选项卡上包括的网络处理器,从到达上行端数据流的入站数据流中除掉网络协议(如与TCP/IP有关的位),并将必要的协议添回到下行端数据流中的出站数据流中。从外部网络入站的数据流,经过以太网MAC电路或类似电路,到达选项卡。出站到外部网络的数据流,通过类似电路,离开选项卡。在本发明的特定实施方式中,经由接口芯片,连接上行端数据流和下行端数据流的DASL接口,从而通过诸如PCI总线之类的可选总线结构,与计算机系统100交换数据流。
下行端中的子组件包括DASL-A26,DASL-B28,SIF30,SDM-DN32,EDS-DN34和PPM-DN36。该芯片还包含多个内部S-RAM,通信量管理调度程序40和嵌入式处理器集合体(EPC)12。利用各DMU总线将接口设备38连接到PMM14和36。接口38可以为任何合适的L1电路,如以太网结构(ENET PHY),ATM帧,SONET ATM上的IP等等。该芯片连接到的网络介质或其他设备部分地规定接口的种类。许多外部D-RAM和S-RAM供该芯片使用。
箭头表示接口设备内的一般数据流。例如,由EDS-UP将从MAC接收的帧放到内部数据存储缓冲器中。将这些帧标识为正常数据帧或系统控制导向帧,并加入到EPC队列中(图1)。EPC包含能够并行处理多达N(N>1)帧的N个协议处理器。在具有10个协议处理器的实施方式中,10个协议处理器中的两个协议处理器是专用的;一个用于处理导向帧(通用中央处理机,即GCH),另一个用于在控制存储器中构造查找数据(通用树处理机,即GTH)。EPC还包含一个匹配新帧与空闲处理器的调度程序,一个维持帧顺序的完成部件,一个由所有10个处理器共享的公用指令存储器,一个确定帧分类的分类器硬件助理,一个帮助确定帧的开始指令地址的协处理器,控制帧缓冲器之读写操作的入口处和出口处数据存储接口,允许10个处理器共享控制存储器的控制存储器仲裁器,一个允许调试访问内部接口设备数据结构的Web控制、仲裁器和接口,以及其他硬件构件。
当GCH可用时,调度程序将导向帧发送到GCH处理器。执行在导向帧中编码的操作,如寄存器写入、计数器读取、MAC配置改变等。将诸如添加MAC或IP条目之类的查找表变更,传送到查找数据处理器,以适合于诸如存储器读写之类的控制存储器操作。诸如MIB计数器读取之类的某些指令,要求创建应答帧,并转发到适当接口设备上的适当端口。在某些情况中,对导向帧进行编码,以适合于接口设备的出口端。将这些帧转发到被查询的接口设备的出口端,然后被查询的接口设备执行经过编码的操作,并创建任一适当的应答帧。
将数据帧调度到下一可用协议处理器,以执行帧查找。将帧数据以及分类器硬件助理(CHA)引擎的结果一并传送到协议处理器。CHA对IP或IPX进行语法分析。其结果确定树搜索算法以及开始公用指令地址(CIA)。支持的树搜索算法包括固定匹配树(要求精确匹配的固定大小模式,如L2 MAC表),最长前缀匹配树(要求可变长度匹配的可变长度模式,如子网IP转发),以及软件管理的匹配树(定义范围或位屏蔽集的两种模式,如用于过滤器规则的模式)。
在树搜索引擎(TSE)协处理器的帮助下执行查找,其中TSE协处理器是各协议处理器的一部分。TSE协处理器执行控制存储器访问,其目的是释放协议处理器以继续执行。控制存储器存储微微码需要的所有表、计数器和其他数据。由控制存储器仲裁器管理控制存储器的操作,其中仲裁器仲裁10个处理器集合体之间的存储器访问。
通过数据存储协处理器访问帧数据。数据存储协处理器包含一个主数据缓冲器(至多保持帧数据的8个16字节段),一个擦除填充数据缓冲器(也至多保持帧数据的8个16字节段),以及用于数据存储操作的某些控制寄存器。一旦发现匹配,则入口帧数据变更可以包含VLAN报头插入或覆盖。此变更不是由接口设备处理器集合体执行的,而是将硬件标识导出,并且其他入口处交换接口硬件执行该变更。通过修改入口处数据存储器中保存的帧内容,可由微微码和数据存储协处理器实现其他的帧变更。
出口树搜索支持入口搜索所支持的相同算法。利用TSE协处理器执行查找,其目的是释放协议处理器以继续执行。由控制存储仲裁器管理所有的控制存储器的操作,仲裁器分配10个处理器集合体之间的存储器访问。
通过数据存储协处理器访问出口帧数据。数据存储协处理器包含一个主数据缓冲器(至多保持帧数据的8个16字节段),一个擦除填充数据缓冲器(也至多保持帧数据的8个16字节段),以及用于数据存储操作的某些控制寄存器。成功查找的结果包含转发信息,并且在某些情况中,还包含帧变更信息。帧变更可以包括VLAN报头删除,生存时间增加(IPX)或减少(IP),IP报头校验和重算,以太网帧CRC覆盖或插入以及MAC DA/SA覆盖或插入。IP报头校验和是由校验和协处理器准备的。接口设备处理器集合体并不执行变更,而是创建硬件标识,并且PMM出口硬件执行该变更。一旦完成,就使用入队协处理器帮助构建必要的格式,以便将该帧放到EDS出口队列中,并将它们发送到完成部件。完成部件保证从10个协议处理器到馈入出口处以太网MAC的EDS出口处队列的帧顺序。
最终,由PMM出口硬件将完成的帧发送到以太网并发出以太网端口。
称为web的一组互连允许访问内部寄存器、计数器和存储器。该web还包含一个控制指令步长和中断控制的外部接口,用于调试和诊断。
树搜索引擎协处理器以与协议处理器执行并行运行的方式,提供存储范围校验,非法存储器访问通知,并执行树搜索指令(如存储器读、写或读加写)。
调度程序控制将所有的帧传送到10个协议处理器,并管理中断和定时器。
完成部件保证从处理器集合体到目标端口队列的帧顺序。充足的指令集包含条件执行,压缩(用于输入散列键),条件分支,符号和无符号操作,计算前导零等。
分类硬件助理引擎传送各帧的L2和L3协议报头,并且在将其调度到协议处理器时,提供帧以及此信息。
控制存储仲裁器控制处理器访问内部和外部存储器。
可以将出口帧存储到一个外部数据缓冲器(如DS0)和两个外部数据缓冲器(DS0和DS1)中。可以利用一对2M×16比特×4排的DDR DRAM(至多存储256K 64字节的帧)或一对4M×16比特×4排的DDR DRAM(至多存储512K 64字节的帧)组成各缓冲器。选择单一外部数据缓冲器(如DS0)用于2.28Mbps,或添加辅助缓冲器(如DS1)以支持4.57Mbps的L2和L3交换。添加辅助缓冲器能够改善性能,但不会增加帧容量。外部数据缓冲器以具有266MHz数据选通脉冲的133MHz的时钟频率运行,并且支持可配置的CAS等待时间和驱动时长。
固定的帧变更包括入口方向上的VLAN标记插入和VLAN标记删除,生存时间增加/减少(IP,IPx),CRC覆盖/插入以及出口方向上的MAC DA/SA覆盖/插入。
端口镜象允许将一个接收端口和一个发送端口复制到一个系统指定的观察端口,而无需使用协议处理器资源。配置镜象的接口设备端口以添加帧和交换控制数据。独立的数据通路允许直接将帧放到入口处交换接口队列中。
在附图和详细说明书中阐述了本发明的最佳实施方式,尽管使用了特定术语,上述说明仅在通用的描述意义上使用术语,并不是用于限制目的。
权利要求
1.一种装置,包括一个计算机系统,该系统具有一个中央处理器,服务器存储器,和一个可选总线;以及一个网络处理器选项卡,通过所述可选总线将选项卡有效连接到所述计算机系统,所述选项卡上安装有多个接口处理器;指令存储器,用于存储可到达所述接口处理器的指令;数据存储器,用于存储可通过所述选项卡从所述服务器存储器到达所述接口处理器的数据;以及多个输入/输出端口;所述输入/输出端口中的一个端口在所述接口处理器的控制下,通过所述选项卡与外部网络交换数据;所述选项卡响应所述接口处理器执行加载到所述指令存储器的指令,与所述网络服务器计算机系统协作,控制所述数据交换输入/输出端口与通过所述数据存储器到达和来自所述服务器存储器的数据流之间的数据交换。
2.根据权利要求1的装置,其中所述接口处理器,所述指令存储器,所述数据存储器和所述输入/输出端口均包含在网络处理器内。
3.根据权利要求2的装置,其中所述网络处理器包含一个半导体基底,并且所述半导体基底上排列有所述接口处理器,所述指令存储器,所述数据存储器和所述输入/输出端口。
4.根据权利要求1的装置,其中所述选项卡处理通信协议,并且与所述计算机系统交换将由所述计算机系统处理的应用程序数据。
5.根据权利要求1的装置,其中所述接口处理器的数目超过4个。
6.一种装置,包括一个计算机系统,该系统具有一个中央处理器,服务器存储器,和一个可选总线;以及一个选项卡,通过所述可选总线将选项卡有效连接到所述计算机系统,所述选项卡上安装有一个利用半导体基底组成的网络处理器设备,在所述基底上形成的多个接口处理器;在所述基底上形成的指令存储器,用于存储可到达所述接口处理器的指令;在所述基底上形成的数据存储器,用于存储可通过所述选项卡从所述服务器存储器到达所述接口处理器的数据;以及多个输入/输出端口;所述输入/输出端口中的一个端口在所述接口处理器的控制下,通过所述选项卡与外部网络交换数据;所述选项卡响应所述接口处理器执行加载到所述指令存储器的指令,与所述网络服务器计算机系统协作,控制所述数据交换输入/输出端口与通过所述数据存储器到达和来自所述服务器存储器的数据流之间的数据交换,以便处理与所述中央处理器无关的通信协议,并且与所述计算机系统交换将由所述计算机系统处理的应用程序数据。
7.一个选项卡,包括一个利用半导体基底组成的网络处理器设备,在所述基底上形成的多个接口处理器;在所述基底上形成的指令存储器,用于存储可到达所述接口处理器的指令;在所述基底上形成的数据存储器,用于存储可通过所述选项卡从任意计算机系统的存储器到达所述接口处理器的数据,其中利用计算机系统有效连接所述选项卡;以及多个输入/输出端口;所述输入/输出端口中的一个端口在所述接口处理器的控制下,通过所述选项卡与外部网络交换数据;所述选项卡响应所述接口处理器执行加载到所述指令存储器的指令,与相关的计算机系统协作,控制所述数据交换输入/输出端口与通过所述数据存储器到达和来自所述服务器存储器的数据流之间的数据交换,以便处理与相关计算机系统无关的通信协议,并且与计算机系统交换将由该计算机系统处理的应用程序数据。
8.一种方法,包括以下步骤通过网络处理器选项卡,从数据网络向计算机系统传送入站到该系统的数据位流;在网络处理器选项卡上,处理并删除位流中的通信协议位;从网络处理器选项卡向计算机系统传送应用程序数据位;通过网络处理器选项卡,向数据网络传送从计算机系统出站的数据位流;在网络处理器选项卡上,将通信协议位添加到位流中;然后从网络处理器选项卡向数据网络传送位流。
全文摘要
一种与计算机系统组合的选项卡和方法,借助该方法,可以减轻计算机系统之中央处理器处理通过数字信号网络的位流中的协议位的负担。
文档编号G06F15/78GK1318780SQ0111681
公开日2001年10月24日 申请日期2001年4月17日 优先权日2000年4月18日
发明者小弗兰西斯·E·诺埃尔, 查尔斯·J·桑尼波利 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1