CN1910571A - 单芯片协议转换器 - Google Patents

单芯片协议转换器 Download PDF

Info

Publication number
CN1910571A
CN1910571A CNA2004800214749A CN200480021474A CN1910571A CN 1910571 A CN1910571 A CN 1910571A CN A2004800214749 A CNA2004800214749 A CN A2004800214749A CN 200480021474 A CN200480021474 A CN 200480021474A CN 1910571 A CN1910571 A CN 1910571A
Authority
CN
China
Prior art keywords
soc
protocol
processor
core
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004800214749A
Other languages
English (en)
Other versions
CN100524287C (zh
Inventor
克里斯托斯·J·乔吉奥
维克多·L·格雷古里克
英迪拉·奈尔
瓦伦蒂纳·萨拉普拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1910571A publication Critical patent/CN1910571A/zh
Application granted granted Critical
Publication of CN100524287C publication Critical patent/CN100524287C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)

Abstract

片上系统(SoC)部件包括单个独立多处理器子系统核心,多处理器子系统核心包含多个多处理器,每个多处理器具有与其相关的本地存储器,从而形成处理器集群;和开关网络装置,其连接SoC内的每个处理器集群。当被构造成IDSP,协处理器,混合ASIC或网络处理结构时,单个SoC独立多处理器子系统核心能够执行SoC设备的多线程操作处理。SoC核心可配置为单芯片协议转换器集成电路(IC),其能够接收根据第一协议类型产生的分组和处理所述分组以实现协议转换,并且产生第二协议类型的转换分组以进行其输出,完全在核心内执行协议转换的处理。协议转换器芯片能够被实现成片上系统(SoC)实现中的宏核心,协议转换的处理被包含在SoC协议转换宏核心内,不需要主机系统的处理资源。

Description

单芯片协议转换器
技术领域
本发明涉及多处理器设备,尤其涉及通过提供自包含处理器子系统作为片上系统(System-on-Chip)设计的部件来简化复杂片上系统(SOC)实现的设计的系统和方法。本发明还涉及网络处理器设备和存储区网络,尤其涉及通过提供在单个IC芯片内实现,或作4个常规SoC,DSP,FPGA或类似集成电路子系统中的子处理器核心部件的协议转换体系结构来跨越多个网络协议的系统和方法。
背景技术
当前建立SoC的技术尤其需要设计人员完成以下工作:a)从诸如微处理器,存储器,基本I/O宏(例如成帧器)的基本部件开始装配;b)模拟不同设备之间的总线争用并选择适当的总线结构;c)在SoC硬件设计期间集成所有部件;和d)使用定制软件集成所有部件。
然而,现有技术SoC设计方法存在其固有的问题,其中包含但不局限于:工作量大;易出错;需要熟悉特定应用领域的高水平设计人员;在总线模拟和/或模拟公共系统总线上的争用方面需要很大的模拟开销;需要进行硬件和软件集成以提供诸如TCP/IP,InfiniBand,FibreChannel,iSCSI和其它标准化协议的基本服务。在摩托罗拉公司的MPC8560集成通信处理器中已经实现了成功SoC集成设计方案的例子。
由于提高系统成本,故障发生概率和高度互连多层板的成本的部件数量,将多个子系统集成在卡或板上的其它SoC设计方案也存在问题。
描述SoC处理器和部件设计的各个方面的相关文献包含:
美国专利6,331,977描述了一种片上系统(SOC),其包含芯片内部的若干功能I/O和若干外部连接管脚之间的交叉开关(crossbarswitch),其中管脚的数量小于内部I/O的数量。
美国专利6,262,594描述了实现用于片上系统的片组(group ofpads)的可配置使用的交叉开关的设备和方法。
美国专利6,038,630描述了实现交叉开关的设备和方法,该交叉开关用于为集成系统的共享访问控制器设备提供通过多个数据总线访问外部结构的多个功能单元。
美国专利申请US2002/0184419描述了一种允许将不同部件用于利用公共总线系统的片上系统的ASIC,并且描述了用于具有不同速度和数据宽度的功能单元,以实现与公共总线的兼容的封装接口(wrapper)。
美国专利申请US2002/0176402描述了用于链接SoC上的功能单元的八边形互连网络。互连网络上的功能单元被组织成环,并且使用若干连接中途部件的交叉数据链路。
美国专利申请US2001/0042147描述了用于SoC互连的系统资源路由器,其包括用于连接每个数据高速缓存(D高速缓存)和指令高速缓存(I高速缓存)的2个通道套接字。还包含外部数据传送发起方,2个内部M通道总线和M通道控制器,以提供互连。
美国专利申请US2002/0172197描述了以点到点方式通过芯片中嵌入的交叉开关连接多个发送和接收设备的通信系统。
美国专利申请US2001/0047465描述了为通信系统(通常为SoC或ASIC)提供可伸缩体系结构的发明的若干变型,其通过将传输分割成单独的传输任务,确定每个传输任务的计算复杂度并且使计算复杂度基于每个电路的MIPS数,来使总门数(total gates)最少。
在A.Brinkmann,J.C.Niemann,I.Hehemann,D.Langen,M.Porrmann和U.Ruckert的文献″On-Chip Interconnects for NextGeneration System-on-Chips″,Conf.Proceedings of ASIC2003,2003年9月26-27日,Rochester,New York中,描述了使用有源开关盒(active switch boxes)连接处理器单元以允许分组网络通信的SoC体系结构。该文献没有提及或描述具有多线程能力的处理器核心(processor core)。
在Kyeong Keol Ryu,Eung Shin和Vincent J.Mooney的文献″AComparison of Five Different Multiprocessor SoC BusArchitectures″,Conf.proceedings of Euromicro Symposium onDigital System Design(DSS′01),2001年9月04-06日,Warsaw,Poland中描述了多处理器SoC总线体系结构,包含全局总线I体系结构(GBIA),全局总线II体系结构(GBIIA),Bi-FIFO总线体系结构(BFBA),交叉开关总线体系结构(CSBA)和CoreConnect总线体系结构(CCBA)。
现有技术的构造没有教导这样的处理器核心,其包括多线程构造的多个子处理器(线程组)(其每一个本地连接SRAM或eDRAM)以改进处理器性能,以及SoC,ASIC,NP或DSP集成。
于是,非常期望提供以多处理器子系统作为部件的SoC集成电路,以及具有作为独立SoC部件实现的预定功能的自包含多处理器子系统,并且提供多线程能力。
随着市场升级到存储区网络(SAN)和网络连接存储(NAS)系统,以及因特网的巨大扩充,对服务器和存储设计提出了新的要求。通过并行SCSI连接连接的存储器正被光纤通道(FC)存储区网络(SAN)和其它正在出现的网络体系结构,例如iSCSI和IP光纤通道(FC-IP)所替代。iSCSI涉及通过通常围绕千兆位以太网建立的TCP/IP网络传送分组数据,而FC-IP是基于网际协议(IP)的存储网络技术,其通过在IP网络上的SAN设备之间隧道传送数据来允许传输FC信息。
通用CPU不能满足网络协议转换的计算要求,而且在单位成本,空间和功耗方面代价过高。这已经导致将许多网络和协议处理功能从主处理器卸载到主机-总线适配器(HBA)或网络接口控制器(NIC)。最初,在使用硬连线逻辑的ASIC中实现多数HBA和NIC。但是随着实现复杂网络协议(例如TCP/IP或iSCSI)的需求的出现,可编程解决方案已经变得更有吸引力,因为它们具有若干优点:它们可以适应不同和演变中的协议;它们可通过程序改变容易地进行升级;它们提供更快的投入市场时间。
现有SAN经常在物理上是远程的,有时会具有更大的距离,并且通常使用多个网络体系结构。为了合并现有SAN并且利用现有的WAN和LAN基础设施,在数据通信和电信领域均需要进行网络协议转换。协议转换允许无缝集成和系统中的所有不同部分的操作。
Brocade Communications Systems发布了用于多协议结构路由服务的系统级协议转换器产品[http://biz.yahoo.com/prnews/031028/sftu100_1.html],它计划提供光纤通道-光纤通道(FC-FC),iSCSI-FC桥接和光纤通道-FC-IP转换。
现有协议转换器将多个芯片集成在一个卡上以获得期望的逻辑功能,或更加通常的是将主机总线适配器卡(HBA)插到现有主机系统中,或作为主机I/O卡上的子卡,从而导致体积巨大和在单位成本,空间和功耗方面代价更高的产品。另外,现有协议转换器不可编程或可编程能力非常有限,并且不易于升级以适应不同或新的协议。另外,提供各种物理层接入模块或芯片,其实现和电路技术通常针对一个具体物理层协议而优化,从而当在一个端口上需要更新的物理层协议时,需要替换整个主机总线适配器(HBA)卡或若干部件。通常不进行相同物理I/O卡内的转换,也不在单芯片解决方案内进行,或作为SoC半导体器件内的嵌入式核心。
图1(a)图解了根据现有技术的片上系统设计20。它包括例如PPC440(Power PC)25的处理单元,本地处理器总线(PLB)21,片上外设总线(OPB)24和若干部件,例如SRAM 15,DDR控制器18,PCI-X桥22,DMA 26和DMA控制器28,用于为以太LAN系统提供数据链路层的以太网介质访问控制(MAC)协议设备50,处理器核心定时器33和中断控制器35,和与OPB总线24和PLB 21接口的OPB桥29。在图1(a)描述的现有技术实现中,使用IBM的嵌入式PowerPC 440处理器核心和CoreConnect本地总线,但是也可以发现使用其它嵌入式处理器核心的类似配置,例如ARM,参见http://www.arm.com/products/?OpenDocument,MIPS(参见http://www.ce.chalmers.se/~thomasl/in1E/mips32_4Kp_brief.pdf上的MIPS:″MIPS32 4KP-Embedded MIPS Processor Core″)处理核心等等。如图1(a)所示,提供用于和片上外设总线24接口的其它设备包含以下一或多个:RAM/ROM外设控制器45a,外部总线主设备45b,UART设备45c,IC间总线(I2C)接口45d,通用I/O接口45e和网关接口45f。
基于单个嵌入式处理器的解决方案为某些应用提供了成本较低的集成解决方案,但是可能缺少要求更高的应用所需的计算能力,以及协议转换的灵活性或将来的协议速度提高,例如2.5Gbps光纤通道提高到10Gbps光纤通道。
在近几年内,通过增加如图1(b)所示连接到公共总线(PLB)、与处理器核心25并行操作的专用处理器核心(加速器)39,图1(a)的SoC的计算能力在许多网络应用中已经得到提高。这些附加的专用处理器核心39a,39b等等的硅面积通常较小,因为排除了典型的通用处理器中出现的许多特征(例如,支持虚拟寻址的存储器管理单元等等)。这个方案的例子是IBM的PowerNP(例如参见参考文献″IBMPower Network processor architecture″,Proceedings of Hot Chips 12,Palo Alto,CA,USA,August 2000,IEEE Computer Society,M.Heddes,和NEC的TCP/IP卸载引擎(例如参见参考文献″NEC′s NewTCP/IP Offload Engine Powered by 10 Tensilica Xtensa ProcessorCores″,http://www.tensilica.com/html/pr_2003_05_12.html)。虽然这些系统是可编程的并且因此与硬连线加速器相比更加灵活,然而它们具有若干缺点:a)它们在SoC总线(例如PLB 21)上产生附加传输,因为总线现在必须支持针对处理器加速器的指令和数据流,可能导致带宽争用和限制系统性能;b)通常不是针对多处理器性能,但是针对SoC系统中的标准化部件和连接协议优化SoC总线;和c)处理器加速器39通常只实现非常有限的指令集并且使用汇编语言,于是使得处理器加速器上运行的应用程序的开发和维护非常困难和昂贵。
第三种SoC设计75是经由交叉开关连接的嵌入式处理器核心,例如摩托罗拉的MPC 5554微控制器(Design News,November 3rd,2003 page#38),图2中描述了它的模决图。如图2所示,摩托罗拉的SoC设计包括许多与包含PowerPC处理器核心,存储器和总线接口的图1(a)和1(b)的SoC设计类似的单元,然而特别地实现了3×5交叉开关72以作为本地总线之一的替换。通过将交叉开关72引入SoC设计中,处理器核心通信可以更加快速,其中三(3)个线同时工作,从而在某种程度上解决了带宽争用问题。然而,仍然没有针对多处理器支持,单个SoC芯片或高速接口内类似于协议转换的更高级功能来优化SoC。芯片内的I/O通信受到交叉开关的限制,并且仍然需要与外部总线接口和主机系统总线进行通信,从而限制了微控制器(SoC芯片)的性能和任何将来升级的灵活性。任何协议转换将需要在芯片外,在若干级段或芯片中执行。另外,数据分组不能与放到主机系统总线中的指令分离。在图2的例子中,例如汽车应用中通常使用的FlexCan(CAN协议:″控制区网络″)数据流的一个协议经由外部I/O桥78以及例如DSPI(或″串行外围接口″)或eSCI(″增强串行通信接口″)的其它协议在Motorola MPC5554芯片中实现,每个协议或I/O特定流通过I/O桥,交叉开关,并且通常通过内部芯片总线或外部总线接口传递到系统总线。
当前,在单芯片内没有从一个独立协议或协议版本级别到全新协议或版本级别的协议转换,并且对于连接到内部芯片总线的嵌入式核心也没有用于这种协议转换的手段。
当前的协议转换只在系统或卡的级别进行,涉及前述的多个芯片,一个例子是如图3所示前面针对SAN网络提及的BrocadeSilkworm网络应用服务器(参见例如http://www.Brocade.com/san/extending_valueof_SANs.jsp)。
例如在图3中概念性地描述的现有技术Brocade系统80中,提供光纤通道-光纤通道(FC-FC)路由82,iSCSI-FC桥接84和光纤通道至FC-IP转换83设施。Brocade的设计对当前的已有技术的改进之处在于一个光纤I/O端口卡能够支持多个协议,甚至在不干扰系统内其它端口上的传输的情况下在相同I/O卡上从一个协议迁移到另一个协议。通过将数据和控制帧分割到处理器卡内的分组处理功能,具有本地存储器和帧缓冲区的若干内嵌RISC处理器芯片,软件预处理器和转换引擎,实现此目的。这是对标准单HBA卡的改进,其允许在单个HBA卡内有2个网络协议,降低成本和空间,在不干扰主系统总线上的传输的情况下提供改变协议的灵活性,降低主系统处理器存储器上的数据传送开销和存储器争用。Brocade方案中的多处理器是完全流水线化的,并且连接到本地存储器。
非常期望将这个功能引入到单芯片而不是单HBA卡或桥接卡内,以允许单芯片内的真正协议转换,在协议转换器内处理数据和控制帧以传递完整的分组到本地SoC总线或系统总线。这将允许进一步减少I/O卡,节省硬件(芯片数量),减少带宽争用,存储器争用,并且允许有更高协议速度,在SoC芯片内有更多处理器(或连接到本地系统总线),以及更高吞吐率。
发明内容
本发明的目的是提供自包含多处理器子系统部件,其充当能够在SoC集成电路中执行多线程操作的特别编程的部件。
本发明的另一个目的是在单芯片上提供协议转换器,或作为SoC宏来嵌入,其在不需要主机系统的资源的情况下完全在单芯片或嵌入式宏实现内执行协议转换处理。
根据本发明的一个方面,自包含多处理器(MP)部件包含子处理器核心,每个子处理器核心包含本地存储器(例如SRAM)以允许多线程处理器核心作为SoC设计中的部件。自包含多处理器部件中还包含连接到SoC集成电路的单本地处理器总线的本地互连介质,例如交叉开关(或类似类型的开关设计)。SoC IC可以被构成为先进微处理器,DSP(数字信号处理器),协处理器,混合ASIC,网络处理器(NP)或其它类似的处理器方案ASIC。这种具有自包含多处理器子系统部件的SoC集成电路提供多线程能力,而子处理器核心(线程单元)通过允许来自一个上下文的程序代码和数据保持独立于其它上下文,从而独立于其它线程地进行操作。交叉开关还允许通过明确定义的硬件和软件接口与芯片的其余部分进行通信。
在本发明的另一方面,作为SoC ASIC设计中的部件的自包含多处理器(MP)部件可作为具有用于特定用途的适当软件的准备好的多线程处理器核心。MP部件使用例如处理器本地总线(PLB)适配器的标准化接口连接到其它部件,所述标准化接口将本地互连介质桥接到标准化ASIC方法总线,例如CoreConnect-PLB总线,或任何其他片上总线或总线协议。
本发明的提供多线程操作的自包含多处理器(MP)部件不仅改进了处理器速度,而且降低了芯片外访问时间,明显降低高速缓存时延,并且改进了指令和数据分组处理。通过可容易地重新配置的软件轮询技术,处理器核心可以适于不同通信协议(光纤通道,以太网,IPsec,ATM,IPv6等等)。
在本发明的另一方面,多处理器核心包含轮询软件,该轮询软件允许MP核心连接到本地处理器总线和/或公共介质接口MAC,例如以太网,光纤通道,iSCSI等等。这允许进行更加高效的数据处理,可重用核心设计,协议无关核心设计,并且允许多个系统处理核心连接到公共处理器总线以得到更高的SoC性能。当构造成SoC微处理器设计时,公共总线连接的多处理器增强了性能(更快的速度,更低的时延,大大改进的高速缓存性能,和/或除了外部存储器和请求之外,还免除芯片外高速缓存或存储器卸载)。随着处理器速度的增加(例如大于2GHz-10GHz),本发明提供了很有效的方式以利用今天的PC和工作站计算机设计中发现的公共微处理器速度和存储器高速缓存瓶颈。
有利的是,本发明的SoC设计可以针对各种应用和用途而实现,这些应用和用途包含但不局限于:IPsec VPN(虚拟专用网)隧道引擎;TCP/IP卸载引擎;iSCSI网络处理;多媒体处理,例如,MPEG编/解码,声音/语音/视频处理,加密引擎,压缩/解压缩引擎,等等。
根据本发明的另一方面,提供一种单半导体芯片上的有效协议转换器,或作为用于SoC类型设计的单芯片嵌入式协议转换器宏,该单芯片或嵌入式SoC宏实现能够将一个通信协议转换为单独的新通信协议,和/或能够将一个通信协议版本级别转换为另一个通信协议版本级别。例如,SoC嵌入式协议转换器宏或单芯片协议转换器可配置为将分组从一个协议版本级别,例如光纤通道2Gb/s转换为另一个协议版本级别,例如光纤通道10Gb/s,或在单芯片或嵌入式SoC宏内从一个协议转换到完全不同的协议(例如从光纤通道转换到以太网或iSCSI等等)。
无论被实现为单芯片还是嵌入式宏,协议转换器均包括一或多个处理器核心组件,每个均包括两个或更多微处理器设备,其能够执行操作以实现协议转换能力;与所述两个或更多微处理器设备相关的本地存储设备,用于存储每个单处理器核心组件中的数据和指令的至少一个;一或多个可配置接口设备,允许根据一或多个通信协议接收和发送通信分组;和用于允许所述两个或更多微处理器设备和接口设备之间的通信的互连装置。于是,有利的是,单芯片协议转换器和嵌入式宏设计包含将SoC类型设计定标到更高协议速度的装置,并且包含在SoC实现内引入更大量处理器的能力。
通过使用完全流水线化、多线程、多处理器芯片设计,可以实现单芯片或嵌入式协议转换器功能,其中本地存储器被引入到芯片内(或作为SoC附加宏)以处理协议转换的所有功能(调整大小,重新格式化,控制,划分),从而传递全部分组到本地总线。
优选地,单芯片协议转换器和嵌入式宏设计在不需要主机系统总线的资源的情况下执行大部分协议处理(即处理在SoC附加宏中进行),即必要时将任何协议转换的分组随后放置在本地SoC或系统总线上。在独立设计的SoC协议宏或协议转换芯片内完全执行协议处理指令。能够提高总线性能,系统带宽,系统内协议的数量,并且显著降低或消除主机总线附加卡。
由于单芯片嵌入式宏,消除了通常在协议转换应用程序中使用的主要系统子卡,于是降低成本和增加性能。
此外,可容易地将SoC嵌入式协议转换器宏或单芯片协议转换器体系结构从一个功能(即协议转换)重新配置到全新的功能(TCP/IP卸载,加速器,防火墙功能等等)。于是,可以将单芯片或嵌入式协议转换器宏的操作功能修改到全新的操作功能,该全新操作功能相对于其初始编程的第一操作功能是不同和独特的。这种操作功能改变可以基于这样的因素,其包含但不局限于:芯片中处理器核心组件(处理器集群)的数量,集群内处理器的数量,集群内本地存储器(例如指令高速缓冲存储器)的量,和与每个集群相关的本地存储器(SRAM,DRAM等等)的量。
根据本发明的另一个方面,单芯片协议转换器集成电路(IC)或SoC协议转换宏核心实现使用单芯片设计的嵌入有足够本地存储器,控制逻辑,收集和工作队列,交叉开关或其它开关子系统,协议控制,接口和总线桥I/O功能的多线程、流水线多处理器核心。通过向片上系统(SoC)本地总线引入标准总线桥I/O功能,另外实现了嵌入式协议转换器宏,以提高密度,效率,主处理器性能,改进带宽和存储器争用,以及降低开销。在多线程方案中,通过以少量指令,简单处理器结构,嵌入式存储器和不专注于处理器的上下文进行的流水线化,可以使得协议转换器芯片或嵌入式宏高度可修改和重新配置到多个协议,版本级别,甚至是分别的网络功能,而不是原来想要的最初协议转换器芯片或嵌入式SoC宏。
有利的是,本发明的SoC嵌入式协议转换器宏或单芯片协议转换器适用于从SAN网络,服务器,家庭网络,汽车网络,工业和电信到简单I/O协议数据流的许多应用。
附图说明
参照以下说明,所附权利要求书和附图可以更好地理解本发明的设备和方法的其它特性,方面和优点,其中:
图1(a),1(b)和图2图解了包含多个处理核心,存储器和接口的网络处理器芯片的各种现有技术实现;
图3的模块图描述了Brocade的基于现有技术的用于SAN网络的SilkwormTM结构应用服务器;
图4(a)和4(b)描述了基于本发明一个实施例的示例性处理器核心;
图5描述了实现根据本发明的一个实施例的功能的多处理器子系统的示例性概述;
图6描述了使用根据本发明的另一个实施例的图4(b)的SoC子系统的网络连接处理器的进一步实施例;
图7描述了使用根据本发明的另一个实施例的基于处理器的子系统的SoC;
图8描述了根据本发明的另一个实施例的SoC多处理器子系统;
图9描述了图8的系统中提供的桥接部件的可能实现;
图10描述了实现根据本发明的独立多处理器核心150的一个示例性网络处理器结构200;
图11描述了基于本发明另一实施例的单芯片协议转换器核心设计的示例性概述;
图12是被配置为基于本发明另一实施例的光纤通道到千兆位以太网单芯片协议转换器的协议核心的示例性图解;
图13描述了基于本发明另一实施例的单芯片协议转换器内的示例性存储器分配;
图14描述了配置为基于本发明另一方面的SoC设计中的嵌入式宏的协议转换器芯片;
图15针对基于本发明的图14的系统描述了SoC宏内到外部I/O的SoC协议转换器分组流程;而
图16描述了基于本发明从主机总线到SoC设备外部分组传送接口的示例性SoC协议转换器分组流程。
具体实施方式
片上多处理器系统包括不同部件的多个实例:(i)功能单元;(ii)存储器(包含高速缓存和主存储器);和(iii)互连。设计选择包含部件的相对和绝对数量,其具体特性,及其相对于彼此的布局。
图4(b)描述了作为根据本发明的片上多处理器系统设计的部件的示例性基于自包含处理器的子系统90。在图4(b)中描述的例子中,基于自包含处理器的子系统90包括多个处理器单元85,例如由SRAM存储器提供的共享存储器93,和开关网络(switch fabric)95。如图4(a)所示,每个处理器单元85包括多个单独的处理器核心87,例如包括图4(a)所述的处理单元或″象限(Quad)″85的4个(4)处理核心87,其中每个处理器核心87包括执行单元或处理器设备,并且连接到如SRAM所示、例如提供16千字节存储器的公共本地(专用)存储器88。
在一个实施例中,图4(b)中描述的基于自包含处理器的子系统90基于本发明的受让人国际商用机器公司(IBM)开发的多线程体系结构芯片设计,该设计在这里被称作″Cyclops″,并且在C.J.Georgiou等人的文献″A programmable scalable platform for next generationnetworking″,Proceedings of Workshop on Network Processors,2002年2月8-9日,Anaheim,CA中有详细描述。单个Cyclops芯片可以包括较大数量(通常有数百)的简单线程执行单元,每个简单线程执行单元同时执行独立的指令流。每个单独线程的性能使得合计芯片性能更加优于具有相等数量晶体管的常规设计。Cyclops使用存储器中处理器(processor-in-memory)(PIM)设计,其中主存储器和处理逻辑被组合(自包含)到单个硅片段中。通过使用Cyclops作为构件,用蜂窝方案建立大型可伸缩系统,其中通过每个芯片中提供的通信链路以正常模式互连各个单元。
在图4(b)示出的实施例中,针对网络应用描述的Cyclops设计包含8个(8)处理器单元或″象限″85,每个象限还通过内部存储器连接到嵌入式共享存储器(SRAM)93,并且连接到可以是片上交叉开关或分组开关网络等等的片上开关网络95。于是,在一个实施例中,基于自包含处理器的子系统90部件提供32线程的执行,多达128kB的本地RAM 88,和512千字节的共享SRAM 93。应当理解,也可以使用包含针对科学/工程应用的64位高端版本的其它设计。在这种设计中,许多处理任务可以被分解成许多并行运行的线程以提供真正多线程能力。
更具体地,如图5所示,多处理方案包含许多形成处理器集群100的简单核心125,其中每个核心具有精减但通用的、有大约40个RISC类型指令的指令集。如图5所示,集群100的每个处理器核心125具有其自身的寄存器堆126,算术逻辑单元(ALU)127,指令定序器128。在描述的实施例中,处理器核心125具有单提交体系结构,该体系结构具有简单的4级深流水线。4个核心共享本地SRAM 130,以存储其堆栈和本地变量,以及需要处理的部分分组,例如分组头字段,并且这些核心可以有效地作为信息″高速缓存″设备,虽然没有处理器数据高速缓存的任何通常属性。在描述的实施例中,2个4处理器集群100共享指令高速缓存(I高速缓存)131,其带宽足够使处理器125防止指令饥饿(instruction starvation),并且适应多数工作的处理器组,但没有使高速缓存变得无用(trashing)和提高指令命中失误率。应当理解,每个处理器核心125包括线程组,并且可以通过I高速缓存131连接以使用多线程能力进行执行。在加快处理器周期时间和降低高速缓存要求/时延方面,子处理器(线程组)越多,则总体处理器核心的操作就越好。示例性实施例描述了32子处理器组,然而应当理解,其它实施例可以实现2-256子处理器组。然而应当理解,本发明提供了真正同时,多线程,多处理器的设计,其不受子处理器数量的限制。
较小的指令集和功能的简单允许处理器核心具有最小尺寸,从而得到较高的硅面积的MIPS/mm2比率。这使得芯片上许多核心的布局能够具有相当小的占用面积,以得到线程级的并发。于是,本发明可以有利地被用来允许得到更高的集成/板密度,以降低卡装配成本;并且象真正″片上系统″实现那样为较高带宽应用和处理核心提供增强的可伸缩性,从而允许即插即用系统设计具有多个″核心″,并且得到更大的体系结构灵活性。然而应当理解,处理器核心不能根据传输任务或计算负载进行伸缩以降低门或晶体管数量,而是属于根据应用/目标市场的固定设计。此外,多处理器或子系统核心不分解任务和将它们分配给DSP或ASIC功能模块,而是在多个子处理器(线程组)中处理程序代码和数据分组,其中每个子处理器具有相当的存储器(例如用于数据高速缓存的16kB SRAM)和电路(ALU,寄存器堆等等)。这些线程组内的子处理器形成线程单元,所述线程单元包括作为整体连接到本地系统或片上本地总线(对于SoC应用)的处理器核心。
在本发明中,每个本地处理器(线程组,其依次包含多个线程单元或子处理器)被排列成蜂窝结构,使得每个处理器具有N组的对称片内存储器(例子:4×64KB的256KB SRAM,或n×512KB块的4或8MB eDRAM),每个组通过交叉开关可寻址到每个本地处理器组(线程组)。提供SRAM或eDRAM的分立片内存储器,以处理针对所有子处理器核心(或线程组)的连续地址空间。芯片上的所有处理器线程可访问集成16KB SRAM存储器(每个线程组一个)。
在这里描述的本发明的实施例中,应当理解,术语″协议″是指通常由标准组织指定,或能够是公司内部专用接口的任何特定输入/输出(I/O)通信数据物理层流,其例子包含但不局限于:光纤通道,千兆位以太网,iSCSI,IP,TCP/IP,FC-IP,ESCON,FCON,CAN,SAMBA,DSL,VoIP,MPLS,GMPLS和其它。此外,在这里描述的本发明的实施例中,协议是例如光纤通道,以太网,iSCSI,ESCON,FCON,IP,分层或封装协议(例如FC-IP,IP/MPLS等等)的通信协议。数据通信协议通常按字节,字或组,帧和分组排列数据位,具有例如帧起始,帧结束,源地址,目的地址等等的控制字符,以及位流的有效负载中的实际数据。
在图10的更加详细的视图中,本发明的多处理器SoC设计包括存储区网络(SAN)处理器体系结构150,其能够根据但不局限于以下协议处理网络分组通信功能:光纤通道201,InfiniBand 202和Gb以太网203。如图5所示,网络处理器SoC设计150包含嵌入式存储器组160,用于存储数据分组,连接信息和程序。嵌入存储器(SRAM或DRAM)的使用是有利的,因为大量存储器可以被放到芯片中,而没有过多地增加其尺寸。另外,嵌入存储器具有短和可预测的访问时间,这种访问时间可以在单个分组的处理的时间预算中加以考虑,并且嵌入存储器与常规芯片外存储器相比提供了显著的性能优点,因为在内部互连上降低了总体业务量,从而导致较少的资源冲突,较低的性能退化和功耗。除了存储数据之外,还在嵌入存储器160中保存当前控制,状态和路由信息。由于某些应用可能需要超过可用片内存储器的存储器,SoC网络处理器体系结构使用通过高带宽DDR存储器接口165连接的芯片外DRAM(未示出)。外部DRAM可以存储统计数据,档案信息,并且提供阻塞缓冲。
在图5的SoC网络处理器150中,大部分网络通信协议功能以编程的方式实现。然而,通过硬件加速器实现低层网络协议的时间要求非常严格的功能。硬件加速器处理低层协议任务,例如数据编码/解码,串行化/解串行化,链路管理和CRC和校验和计算。对传送分组的每个字节执行这些任务,并且如果通过软件实现,这些任务的计算成本会非常高。于是,这些功能的硬件实现被提供为在针对光纤通道和千兆位以太网的网络接口175中,和针对Infiniband的网络接口185中实现的硬件加速器,所述每个网络接口只需要较小的硅面积,并且与相应的Infiniband和光纤通道通信链路190,195接口。
此外如图5所示,SoC网络处理器设计150包含内部互连,该内部互连包括互连处理器集群100、共享存储器块160、用于外部DRAM存储器访问的外部存储器接口165、和网络协议层硬件支持设备175,185的交叉开关120。在示例性实施例中,交叉开关120具有64位数据路径,并且提供若干用于流水线化和标记信号传送的字以避免数据溢出。处理器象限共享到交叉开关120的端口,所以具有例如16端口的交叉开关足以互连多达32处理器系统。然而应当理解,交叉开关120可以用伪交叉开关,总线,交换机,或其它适当的互连替代,如这里针对图8所描述的。
如这里所提及的,SoC网络处理器体系结构是蜂窝式的,即允许根据应用需求定制设计的规模。例如,与具有到Infiniband的iSCSI协议转换的更加复杂的TCP/IP终结相比,光纤通道的端点功能需要较少的计算能力。然而在本发明中,处理器核心或集群100和嵌入存储器块的数量可容易地适应应用需求,但不需要进行显著的设计改变。
图6描述了使用图5和10的自包含多处理器子系统150的SoC网络连接处理器200的第一实施例。可从受让人IBM得到的CyclopsE是被用作子系统150的一种可能。在图6的实施例中,子系统150通过公共宏(例如PLB连接器宏)连接到处理器本地总线210,从而允许将真正即插即用片上系统(SOC)应用于多源总线体系结构,例如,处理器本地总线210可包括诸如ARM AMBA(先进微控制器总线体系结构)的SoC标准化处理器本地总线(PLB),MIP(微处理器接口程序),开放标准CoreConnect,AHB(高级高性能总线)等等。
应当理解,图6和10描述的网络连接处理器200的实施例实现PowerPC或其它类似的处理器225,用于在SoC子系统中提供计算能力。同等地,PPC440可以用SoC集成方(SoC integrator)选择的另一个PPC核心,MIPS核心或其它此类微处理器替代。同样地,图6中描述的其它部件包含SRAM 215,DDR控制器218,PCI-X桥222,直接存储器访问DMA设备226,DMA控制器228,片上外设总线(OPB)240,其通过一或多个I/O接口设备245与外部部件接口。另外使用介质访问控制(MAC)协议设备250提供以太LAN系统的数据链路层,根据特定SoC的设计者/集成方的选择,可以提供或省略处理器核心定时器233和中断控制器235。
图7图解了根据本发明的片上系统(SOC)网络连接多处理系统300的另一实施例。如图6中那样,图7的SoC多处理系统300包括处理器(例如440核心),本地处理器总线(PLB)210,片上外设总线(OPB),和诸如SRAM,DDR控制器,PCI-X桥和DMA控制器的若干部件,然而包含与OPB总线240接口的OPB桥229。处理器总线或PLB 210是诸如AMBA,MIP,CoreConnect PLB,AHB等等的SoC标准化处理器本地总线。连接到PLB 210的部件之一是下面参照图8更详细地描述的基于处理器的子系统350。图7中描述的单元是示例性和非限制性的。例如,PPC440可以被SoC集成方选择的另一个PPC核心类型的PPC 405或PPC440,或ARM或MIPS处理器核心,或其它这样的微处理器替代,或者可以包含完全新型的核心,而不限制本发明的主要范围。同样地,根据特定SoC的设计者/集成方的选择,可以提供或省略这里列出的其它部件(或任何其他来自SoC库的部件)。例如,如图7所示,提供用于和片上外设总线240接口的设备可以包含但不限于下面的一或多个:RAM/ROM外设控制器245a,外部总线主设备245b,UART设备245c,IC间总线(I2C)接口245d,通用I/O接口245e和网关接口245f。于是应当理解,允许有多种芯片构造。
图8描述了根据本发明的另一个实施例的基于自包含处理器的子系统350。这些子系统被集成为例如图6和7中描述的SoC网络连接处理器系统中的部件,并且通过可以是ASIC库中的公共宏的PLB桥连接到处理器总线210。基于处理器的子系统350包括例如图5的处理器集群100的一或多个处理器集群,用于存储数据和/或指令的一或多个本地存储器单元,和被实现为分立总线,网络结构,交叉开关或其它互连装置120的本地互连装置。在优选实施例中,多处理器子系统350包括用于在SoC网络处理器总线210上进行通信的PLB桥宏部件410,然而应当理解,可以选择任何其他桥接宏以允许在基于处理器的子系统350和SoC总线210之间传送数据流。处理器总线210是片上系统组件中用于连接处理器和部件的分立总线,交换机或互连装置。
分离子系统和处理器总线210(图6和7)的有利之处在于:1)子系统业务量与PLB业务量分离,避免了带宽争用;2)只有全局标准化总线上子系统和SoC系统之间的业务量是接口业务量(数据接收和发送);3)子系统总线/交换机互连结构被设计成提供用于实现高性能解决方案的优化MP网络,而不需要在SoC系统中包含标准化部件和连接协议。通过这种方式,SoC解决方案可以因两个方面而受益:可以优化多处理器(MP)网络以得到MP高性能,并且可以使用来自SoC库的所有标准现有部件。
包含互连总线/开关/网络120的子系统350以现有的桥所执行的方式,例如PLB-OPB桥,或PLB-PCI-X,具体使用适合2个通信系统之间的不同速度,数据宽度,信号和信令协议的桥接部件410,连接到处理器总线210。通过实现针对例如PLB或AMBA的标准化处理器本地互连的接口,允许将这个新部件集成到SoC部件库中。图9示出了这个桥部件410的可能实现。这个桥宏410的目的是在SoC处理器总线210和基于处理器的子系统本地总线120之间转换/调整控制信号,数据宽度,工作频率和地址空间。最好是,桥宏部件410对入出基于处理器的子系统模块的数据实现数据缓冲,并且可以包含针对子系统和PLB的DMA控制器。配置和状态寄存器可以被实现成子系统地址空间中的存储器映射寄存器。配置寄存器由基于处理器的子系统350设置,并且也读取桥410的状态。这个模块也可以包含各种设置,用于在SoC处理器总线的各种数据宽度之间进行选择(例如设置操作模式以工作于64或128PLB),和/或支持各种操作模式,例如线和突发数据传送。SoC地址空间和子系统地址空间可以共享相同的地址空间,但不是必须如此。
图9的桥宏410在PLB总线上的具体功能是作为PLB从设备420a和作为PLB主设备420b。作为PLB从设备,它实现来自SoC处理器的用于从基于处理器的子系统350得到一段数据的读、写请求。在针对基于处理器的子系统的存储器中的数据的读请求期间,桥从PLB 210接收读请求,解析地址并且产生针对基于处理器的子系统总线/网络/开关120的读请求。它缓冲从基于处理器的子系统350读取的数据,并且以PLB总线210指定的宽度和速度向PLB 210传送数据。在针对基于处理器的子系统的存储器中的数据的写请求期间,桥缓冲来自PLB 210的针对写请求的数据,解析针对基于处理器的子系统中的存储器组的地址,并且将数据传送到基于处理器的子系统350中由其总线/网络/开关120指定的适当存储器组。
相反,当充当PLB主设备420b时,它能够实现用于针对基于处理器的子系统传送数据的DMA控制器,但是不必如此。在DMA控制器从基于处理器的子系统向SoC的DDR存储器传送数据时,控制器设置PLB写请求的地址和信令,并且向DDR存储器传送数据。在从DDR到基于处理器的子系统的数据DMA传送期间,宏设置PLB读请求的地址和信令,缓冲数据,并且向基于处理器的子系统中的存储器组传送数据。
在优选实施例中,基于处理器的子系统350包括为特定功能组提供预制功能(个性化)的嵌入软件。可以使用从一个网络协议到另一个网络协议的网络协议转换,协议业务量终结,类似TCP/IP卸载引擎,IPSec VPN隧道引擎,用于iSCSI的网络处理,加密引擎,压缩/解压缩引擎,或用于多媒体处理,类似MPEG编/解码,或声音/语音/视频处理。
作为对基于处理器的子系统中的数据流的说明,现在将使用图8的基于处理器的子系统和图6和/或7的SoC体系结构的TCP/IP卸载引擎的可能实现描述如下:
●SoC处理器核心225(例如PPC440)设置针对数据处理的请求,并且通过桥410向基于处理器的子系统350发送请求和指向DDR存储器中数据的指针。这可以被实现成发出中断信号,或写入数据到定期轮询的专用寄存器(未示出)或预定存储器位置;
●基于处理器的子系统350识别这个请求,并且启动DMA引擎226(图7)以便从SoC存储器向基于处理器的子系统中的存储器传送数据;
●数据被传送到基于处理器的子系统350中的存储器,并且通知数据结束;
●基于处理器的子系统350实现规定的协议任务,例如TCP/IP协议,将数据划分成系列分组,产生分组等等的适当的头,并且发送数据到以太网MAC(介质访问控制)网络接口电路。如协议所定义的,在没有SoC处理器350的干预的情况下,它根据需要重发分组;
一旦发送了所有数据,通知SoC处理器350任务完成。这可以被实现成向PPC发送中断,或者对由SoC处理器定期轮询的某个预定位置进行写入。
以下是在一个最优实施例中的示例性子系统代码,用于根据一或多个网络协议路由接收的分组:
for(;;)
{
  poll MAC;
  if(接收到分组)
    根据协议处理分组
    if(成功接收了分组)
      通过PLB桥传送分组
      产生针对CoreConnect总线主设备的通知事件
  轮询PLB桥状态;
  if(请求)
    处理请求
    if(应当发送分组)
      通过MAC传送分组
}
虽然通过例如介质I/O(MAC)设备和处理器本地总线(PLB)之间的软件轮询来执行基于处理器的子系统中的数据流,然而应当理解,连接是协议无关的,并且可以在相同连接线路上支持多个网络协议类型(以太网,光纤通道,IPv6,ATM,IPsec,HIPPI等等)。提供软件轮询和连接机构以控制总线,并且I/O介质连接进一步使本发明的功能受益和得到增强,以识别何时已经成功处理数据分组,无论其媒体类型或来源,其中这些功能包含并发和流水线结构。
在本发明的单芯片协议转换器设计中,使用如这里描述的被实现为独立或集成于SoC(片上系统)类型设计的特殊处理器子系统。这里参照图11图解和描述可以被使用作为SoC实现的宏的基协议转换器芯片350′的模块图。
现在描述这种核心的基本结构和操作。概括地讲,如图11所示,单芯片上的的协议转换器(或作为SoC嵌入式宏核心)是专用于协议转换的基于自包含处理器的子系统350′,但是可重新配置到其它网络功能,包括一或多个处理器集群100,用于存储数据和/或指令的一或多个本地存储器组160,实现为交叉开关(或可选地,可以使用网络开关或MP总线)或其它类似开关装置的本地互连装置120。本发明的单芯片协议转换器设计包括具有由例如PowerPC体系结构导出的缩减通用指令集的许多简单处理器核心。每个处理器集群100包括一或多个处理核心,每个处理核心是具有4级段深的流水线的单提交体系结构,每个处理器核心具有其自身的寄存器堆,算术逻辑单元(ALU)和指令定序器,例如图5中所示。在图11描述的单芯片协议转换器和图14描述的协议转换SoC嵌入式宏的实施例中,8个处理器核心125与指令高速缓存131一起被封装在处理器集群100中。指令高速缓存的尺寸是设计选项,例如32kB,对于网络应用是足够的。另外提供通过本地总线与至少两个处理器核心125相关的本地SRAM存储器单元。支持足够计算能力所需的协议转换器350′中的处理器集群100的确切数量(例如1个,2个或甚至16个处理器集群(包括128个核心))取决于应用需求。例如,与更加复杂的TCP/IP终结,IP或iSCSI协议转换实现相比,实现光纤通道网络协议的功能需要较少计算能力。
本发明的基于处理器的子系统协议转换器350′的另一特征是使用嵌入式存储器160存储应用使用的应用程序,当前控制信息和数据。在正常工作条件下提供平滑操作的足够数量的存储器被布置在协议转换器中,没有过多增加其尺寸。与常规芯片外存储器相比,嵌入式存储器的另一个优点在于提供短和可预测的访问时间,在分组处理的时间预算估计中精确考虑到该访问时间。
协议转换器芯片350′中的所有单元通过交叉开关120互连,交叉开关120具体地互连处理器集群100,共享存储器块160和网络协议层硬件支持设备或嵌入式MAC接口175′,185′。当实现为SoC中的嵌入式宏(例如这里参照图14-16描述的)时,交叉开关120则通过桥接宏(总线)224或直接连接到SoC处理器本地总线210或主机或外部系统总线210(例如PCI或PCI-X等等)。桥接器可以适应不同速度,总线宽度,信号和信令协议。在宏SoC实现中,协议转换器宏350′和嵌入式处理器本地总线210之间的标准接口(例如IBM的CoreConnect中的PLB或ARMBA,MIP等等中的ARM)的优点在于允许将协议转换器集成为SoC部件库中的宏。
为网络协议低层的时间要求非常严格的功能还实现有硬件加速器,其处理低级协议任务,例如数据编码/解码,串行化/解串行,链路管理,和CRC和校验和计算。对传送分组的每个字节执行这些任务,并且如果通过软件实现,这些任务的计算成本会非常高。于是,这些功能的硬件实现被提供为在针对光纤通道和千兆位以太网185′的网络接口175′中实现的硬件加速器,所述每个网络接口只需要较小的硅面积,并且分别与相应的光纤通道和千兆位以太网通信链路190,195接口。
分离协议转换器核心350′和处理器总线(单芯片实现中的SoC处理器本地总线或系统总线)的附加优点是:1)只有协议核心和SoC系统或系统总线之间的传输是数据流传输(接收和发送的数据),于是最小化带宽争用;和2)子系统互连网络(即开关)为协议核心提供优化高性能解决方案,不需要包含总体SoC的标准部件接口和连接协议,连接到开关网络的其它处理器或主系统总线本身,从而允许更高的协议转换速度,在单个SoC或主机总线适配器卡内处理更多的协议,并且在主系统总线上的争用较少。
现在描述当实现为协议转换器(或独立单芯片或嵌入式SoC宏)时处理器子系统的操作。在一个实施例中,单芯片协议转换器350′(或SoC设计的嵌入式宏)提供光纤通道(FC)到千兆位以太网(GE)的转换。应当理解,该设计允许许多组合,例如光纤通道到IP,光纤通道到iSCSI,光纤通道到Infiniband,TCP/IP到iSCSI,和这里提及的任何其它协议。事实上,实现不单纯局限于数据通信协议,而是可以在汽车网络,家庭或工业环境中实现,例如类似于用于例如CAN的汽车网络或针对家庭应用的SAMBA网络的摩托罗拉MPC5554微控制器。
图12是被配置为光纤通道到千兆位以太网单芯片协议转换器300的图11的单芯片协议核心350′的示例性图解。
在图12示出的协议核心中,实现所需的端点功能,以及2个协议之间的转换所需的分组调整大小和重新格式化。这种实现的基础是划分协议操作,使得它们能够被芯片上的不同资源处理。除了某些时间要求严格的功能之外,对处理器(或处理器组)的每个协议操作近似于通过硬件加速器实现的网络物理接口。现在参照图12描述分组和处理流程如下:已经从空闲缓冲区列表接收了指向空存储器区域的指针的DMA逻辑将接收的分组和某些状态信息从入站FIFO缓冲区传送到嵌入式存储器。根据需要,通过从存储器获得控制信息,或在分组是新的交换的第一个分组的情况下通过产生新的控制信息,检查分组头以确定分组上下文和切换当前上下文。另外,确认接收的分组以保证它符合所属于的交换的服务等级。如果对接收的分组的确认需要被回送到源(例如光纤通道中的等级2服务),则产生确认分组。装配确认分组的相应头信息,并且分组被发送到出站光纤通道网络接口。在本说明书中分组被定义为数据位的集合,至少包含目的地信息,并且对于通信分组,通常也包含头。
同时,为所接收分组产生千兆位以太网分组头,并且基于以太网协议对分组调整大小。新形成的分组(或各分组)被传送到以太网(EMAC)网络接口硬件模块185′中的出站FIFO缓冲区。进行类似任务以执行相反的协议转换,即从以太网传送分组到光纤通道网络。在图12中图解了这个原型单芯片光纤通道/以太网协议转换器实现300的逻辑表示。这个示例性实现使用14个处理器,其进行图12示出的处理模块260中描述的光纤通道(FC)到以太网转换的操作,其中在处理器P1处接收FC输入分组,而在图12的处理模块270中描述了相反的转换处理。
如下,根据图12中描述的处理流程执行对硬件资源的协议任务分配。处理器P1负责光纤通道入站DMA设置和目标存储器区域分配;处理器P2根据分组头信息向根据需要执行上下文切换,分组验证和确认分组生成的4个处理器P3-P6中的一个分派分组;处理器P7执行以太网头生成,建立到以太网出站网络接口的数据传送,和向空闲缓冲区的链表返回不再需要的存储器区域块。类似地,如图12所述,由处理器P8-P14处理从以太网到光纤通道网络的分组流。指向要发送到以太网的分组的指针被放在工作队列249中,而指向要在光纤通道上发送的分组的指针被放到光纤通道出站工作队列259中。
能够容易地以类似方式实现其它网络协议或协议转换。例如,在实现iSCSI或TCP/IP协议堆栈时,能够重用单处理器实现的现有代码,从而只需要进行适度的编程工作以使其适合该体系结构。更具体地,必须实现分组分派和收集的任务(处理器P2和P7用于接收路径,处理器P9和P14用于发送路径),但是网络协议适于在处理器P3到P6和P10到P13上几乎不变地并行运行。必须根据任务复杂度来确定并行运行协议任务的处理器的数量以满足定时需求。例如,在图12描述的用于执行单芯片协议转换的例子中,iSCSI协议转换可能需要多于14个的处理器。
通过遵循运行到完成方案或通过流水线化,执行多个处理器核心上的分组处理,在运行到完成方案中,分组被分配给执行所有处理操作的单处理器,而通过流水线化,分组处理操作被分成分配给不同处理器的多个流水线级段。在这里描述的一个实现中,流水线化方案提供对例如I高速缓存的硬件资源的更好利用。能够被分配给不同流水线级段的网络操作的例子是头处理,分组验证,确认响应的生成,分组重定序和消息装配,和端到端控制。
在初始化期间静态地给处理器安排协议任务,即每个处理器125对各个分组执行相同的操作集合。同样地,为避免与例如垃圾收集的动态存储器管理相关的开销,使用静态存储器管理。在系统启动期间初始化所使用的所有存储器结构230。这些包含用于存储数据分组的存储器区域275,用于现有网络连接的控制和状态信息的存储器280,程序代码285和工作队列。在图13中图解了体系结构中使用的各种存储器结构。提供这些结构,其允许分组协议转换的所有子处理仍然在单芯片内进行,或提供为连接到SoC类型设计的嵌入式宏,从而允许最终完成的分组被传送到系统总线或内部SoC总线。
如图13所示,存储数据分组的存储器区域230被组织成链表275。入站分组被存储在从链表中获得的下一空闲缓冲区中。在分组处理期间,在处理器之间只传递指向其中存储分组的存储器区域的指针。当完成分组处理时,分组被传送到出站网络接口,并且缓冲区被返回到空闲缓冲区列表。
以通过如(图13)中进一步描述的工作队列290进行的消息传送的形式执行处理器同步。在这个方案中,每个处理器P1-P4与工作队列290相关,工作队列290存储指向等待被该线程处理的分组的指针。当处理器准备好处理下一分组时,它从其工作队列得到下一待处理分组的指针。当它完成处理时,它将指向分组的指针放入流水线中下一线程的工作队列中。为保证存储器访问冲突时的正确操作,使用锁定。
处理器调度中的一个重要考虑是所有流水线级段可能不需要相同分组处理时间,此外,每个流水线级段的处理时间可能因分组上下文而改变。例如,在光纤通道中,分组处理时间取决于分组是分组序列中的第一个,中间还是最后分组,它是否传递链路控制信息,以及它是否属于经请求还是未经请求的消息。如果流水线的一个级段明显慢于其它级段,则其工作队列会过载,从而变成瓶颈。通过使用若干处理器,例如图13中的P1-P4在相同流水线级段上并行工作,来对此进行补救。
由于流水线级段中的处理时间可能随分组而改变,可能并不完全使用所有处理器。相反,通过提供足够的缓冲和分离逻辑来实现流水线级段之间的匹配吞吐率。
分配多个处理器以工作于相同任务需要引入任务分派处理器(例如在图13中描述为处理器P5并且标记有″MT″)。分组分配方法是简单的,使得它在短处理时间内执行,并且必须不因资源争用和锁定而导致性能退化。
相反,对于光纤通道实现,使用箱排序算法,其导致单处理器对所有分组的处理属于相同上下文组。在处理器的寄存器堆中高速缓存有关当前上下文的信息,从而减少资源争用和获取这个信息的平均访问时间。通过使用简单的散列函数,使排序开销保持较低。在一个实现中,分组排序和处理器分配任务只引入大约50个指令。然而可以理解,这可以根据设计选择而改变,并且可能为35-200指令范围内的任何数量。在描述的实施例中,使用尽可能小的指令集,例如范围为35-50指令。在任意规定时间典型网络传输中可以有比处理器更加活跃的上下文组,若干不同上下文可以同时被分配给单处理器。在最坏情况下,所有分组可以只被分配给一个处理器,使得该处理器过载。然而,运行真实应用的网络传输揭示出这并不是问题,因为上下文组被平均分布在并行操作的处理器间。
单芯片协议转换器的体系结构是蜂窝式的,从而允许伸缩所定制的设计。在设计中,处理器核心和嵌入存储器块的数量可容易地适应应用需求,但不需要进行显著的设计改变。例如在下面的网络应用中,以10Gb/s的线路速度操作的多处理器协议转换器的所需计算容量可以如此后所描述的那样改变。注意,在这点上,协议转换器设计实际上能通过布局设计,嵌入式存储器,由不同过程处理并且分配给各个子处理器的网络和协议资源的划分来″不受限制地″″适应″其它网络处理功能,即处理器独立于特定网络功能,这不同于以前的现有技术,在现有技术中每个处理器只有一个指定的潜在功能,例如TCP/IP卸载功能,帧分类器功能,预处理功能,硬件加速器,RISC或数据处理功能等等。在本发明的单芯片协议转换器350′中,或作为嵌入式宏核心550,相同处理器和本地存储器对能够执行不同网络功能(即操作),只要允许有为期望操作而确定的足够处理能力。下面列出一些例子:
协议转换:14个处理器(即,2个8核心处理器集群)。图11和12中示出的包含64字节I高速缓存,64千字节数据SRAM,PowerPC440(或其它处理器)和其它宏的芯片在0.13m ASIC技术下会所需大约35mm2
TCP/IP卸载引擎:32个处理器,即4个处理器集群,假定128千字节的I高速缓存和128千字节的SRAM,在上述技术下这会占用50mm2
集成防火墙:128个处理器(估计),即16个处理器核心集群。假定512千字节的I高速缓存和512千字节的SRAM,则所得到的芯片会占用大约150mm2
相同基本体系结构(在指定应用所需的芯片内或作为SoC嵌入式宏,能够建立许多子处理器)能够随着网络速度或市场条件的改变而修改。例如,该体系结构适于将芯片重新配置为″防火墙处理器″或″协议转换器″,或甚至是全新的设计或甚至未实现的协议。于是,一个基本设计可扩展到许多应用和潜在功能。通过简单选择处理器和存储器单元的数量并且接着应用适当的软件代码或版本级别,能够不经重新设计芯片而改变芯片或嵌入式宏SoC核心的网络功能。通过针对期望的新功能而统计模拟核心性能,选择用于新协议功能的处理器和存储器单元的数量。
如前所述,协议转换器能够被实现成分离半导体基底上的独立集成电路芯片,或嵌入为SoC类型设计,FPGA,DSP等等中的宏。在图14中描述了根据本发明第二方面被实现为SoC(片上系统)设计400中的嵌入式宏核心的协议转换器的例子。应当理解,宏不局限于SoC设计,而是也可以在标准DSP,微控制器,FPGA,ASIC和微处理器中实现,因为所有需要的只是标准总线接口或桥接器以传递完成的数据分组(经转换或不经转换)。术语″SoC″通常被用于定义片上系统,其具有连接到本地总线或多个片上总线的至少一个处理单元,存储器元件,I/O接口和核心。
如图14所示,包含嵌入式协议转换器宏核心550的SoC 400的实施例(在图11中也被描述为独立芯片设计)包括CPU或MPU单元425(这里示出为IBM的PowerPC 440,然而应当理解,可以实现除PowerPC之外的其它SoC处理器核心,例如ARM,MIP等等),本地SoC总线210(图14中图解为IBM的CoreConnect PLB 210(处理器本地总线)),可选慢速总线(图14中图解为IBM的片上外设总线或OPB240),和例如图14中示出的任何数量的SoC部件(核心),包含SRAM415,DDR控制器418,PCI-X桥422,DMA 426和DMA控制器428,OPB桥429等等。OPB 240连接包含一或多个以下设备的其它设备:RAM/ROM外设控制器445a,外部总线主设备445b,UART设备445c,IC间总线(I2C)接口445d,通用I/O接口445e和网关接口445f。
图14描述的实施例包含被集成为SoC系统400中单芯片协议转换器或嵌入式宏核心的自包含、基于处理器的协议转换器550,并且通过桥接器224和PLB 210与处理器核心425总线通信。如上所述,基于处理器的协议转换器宏核心550包括一或多个处理器集群200,用于存储数据和/或指令的一或多个本地存储器组230,例如所述实施例中的交叉开关120的本地互连装置,或等价的结构或N×X开关等等,以及用于至少两个网络协议的至少两个介质访问控制(MAC)接口单元175′,185′(介质访问控制)。如图14所示,这些MAC单元175′,185′与可以是物理层芯片(PHY),SoC嵌入MAC或PHY功能,或与SoC或主机卡分离的外部协议芯片的各个外部MAC接口设备475,485接口。即,图14示出的MAC 475,485可以包括光纤通道硬件支持核心和以太网10/100/1G EMAC,然而可以包含用于任何协议的接口,在芯片外被集成为分离MAC或PHY设备(物理层芯片)或在本地卡上的SoC芯片的外部。在今天的慢速应用中,例如在汽车应用或家庭网络中,这是期望的。
图15图解了嵌入式SoC内单个分组到外部协议接口的协议转换的处理流程。由于宏内的本地存储器控制分组的处理和DMA传送,能够在宏之外的协议转换之后将分组从第一接口传送到第二I/O接口,或输出到本地SoC总线210并最终输出到主机系统总线223(例如,图15中所述的PCI-X 133MHz或类似总线)。优选地,通信是双工的,即包含允许发送和接收方向的通信的链路。以图15所示的为例,其中用根据第一协议的分组示出了A到B分组转换,其中在SoC外部协议芯片,宏或EMAC(外部以太网I/O)接口485处接收1G以太网分组,并且该以太网分组通过交叉开关120被转发到转换器宏的EMAC 185′的内部FIFO以进入宏的内部存储器230。宏的内部存储器(SRAM,DRAM等等)通过工作信号(work cues)收集以太网分组,并且片上控制器功能通过交叉开关向例如附图915所示的″处理器1″集群的子处理器传送以太网分组。应当理解,如这里描述的,由于并发,流水线化和多线程,协议转换处理被平均分解到用于协议转换的嵌入式协议转换器宏核心550内的若干子处理器中间,并且若干转换处理匹配有一个处理器。于是,尽管只有一轮,例如描述了从″处理器1″到″处理器3″的″A″到达″B″,然而实际上分组被划分到用于转换的若干处理器中间。虽然图15中描述的是协议A到B分组转换,然而可选的处理会包括使协议B′分组在″B完成″的另一侧进入并在协议#1(A侧)退出。应理解,B′和A′处理流程将在双向双工链路的另一侧。
在嵌入式协议转换器宏核心550中包含的处理单元上执行实际协议转换代码。宏具有并行运行的若干进程P0,P1…Pn,每个方向(即接收和发送)有一组。这些进程中的每个被映射到宏的标记为处理器0,处理器1,处理器2等等的处理单元之一。在描述的实施例中,提供3个不同类型的处理以在嵌入式SoC宏的处理器上运行,包含:
1.分派:为处理器分配任务的处理
2.协议处理:协议处理任务
3.收集:设置DMA SoC控制器传送分组到核心的内部存储器之外,以及在传送分组之后执行某些存储器管理功能。
通过工作队列实现这些处理之间的通信,工作队列是例如图13描述的存储器中的基本上专用的区域。空闲进程通过周期性轮询其工作队列来确定它是否具有任何待处理的工作。
协议宏核心实现所有需要的特定协议任务,例如将数据划分成IP分组系列,生成IP分组头,生成以太网分组等等,并且将分组移动回到以太网MAC宏。如果需要重发分组,如协议所定义的,这在没有来自SoC本地处理器的干预的情况下进行,外部DMA或DDR存储器只需要分组/数据传送请求或实际数据传送。在分组″A″到″B″的协议转换之后,分组被传送回到本地片上宏存储器,并且通知数据的结束。由此,本地宏存储器和嵌入式本地DMA控制器通过交叉开关,光纤通道接口和最终的外部I/O接口传送转换的分组。可选地,光纤通道接口能够使嵌入式控制器发送最终的转换的分组。
外部SoC DDR 418或DMA 426可以另外请求通过总线桥将分组传送到本地SoC总线,并且最终到主机系统总线223(如果需要),而不是从协议转换器接口发送分组。同样地,主机总线223可以将用于协议转换的分组发送到宏,并且接收反向转换的完整分组,或根据各个协议和分组类型传送到外部协议接口475,485。
图16图解了将从主机总线223接收的单个分组进行协议转换并且传送到外部SoC接口485以进行发送的示例性处理流程。在图16图解的示例性处理流程中,光纤通道协议分组被从主机系统总线223发送(发出)并且被发送到SoC协议转换器宏350′以进行转换和发送到例如外部以太网接口1G EMAC接口485。如图16所示,SoC主处理器(PowerPC 440)设置数据处理请求并且通过总线桥224向协议转换器宏核心550发送针对外部DDR存储器中的数据的请求和指针。在描述的实施例中,中断信号置位,但是这可以通过写入数据到专用寄存器或预先指定的存储器位置来实现。
嵌入式协议转换器宏核心550识别请求并且启动DMA引擎以将数据从外部主机或SoC本地存储器传送到宏本地存储器。通过本地SoC总线和桥接器总线将数据(例如分组#B)传送到宏的本地存储器230。当发送了所有数据,通知SoC处理器任务完成。这可以通过向PowerPC 440发送中断,或者对由PowerPC 440定期轮询的某个预定位置进行写入来实现。
通过工作队列,收集序列和作为任务分派处理器(MT)一个处理器(图13所示),光纤通道分组(B)通过如这里描述的分组划分被从宏的本地存储器传送到多个子处理器。当完成例如从协议″B″(光纤通道类型)到协议″A″(千兆位以太网类型)的协议转换时,通过交叉开关120向本地宏的存储器回送完成的分组。本地DMA请求将分组″A″从宏的存储器传送到外部以太网接口485以完成传送和转换。
与现有技术相比,这里描述的方法允许减少I/O卡和芯片的数量,大大改进灵活性,网络功能,提高密度(更多处理器连接到本地或主机总线),提高协议处理速度,提高带宽,减少存储器争用,提高终端系统客户的灵活性,方便网络设计/升级,大大改进协议转换。
虽然前面已经具体参照示例性和预定的实施例示出和描述了本发明,然而本领域的技术人员会理解,在不偏离本发明的宗旨和范围的前提下,可以在形式和细节方面进行上述和其它变化,而本发明的范围应当由所附权利要求书来限定。

Claims (57)

1.一种用于包括通信总线设备的片上系统(SoC)集成电路(IC)的微处理器子系统,所述微处理器子系统包括:
两个或更多微处理器设备,其被形成为单处理器核心组件,并且能够执行操作以实现指定的处理功能;
与所述子系统中所述两个或更多微处理器设备相关的存储设备,用于存储所述单处理器核心组件中的数据和指令的至少之一;
位于所述单处理器核心组件中的互连装置,用于允许在所述两个或更多微处理器设备和所述SoC IC通信总线设备之间进行通信,使得所述单处理器核心组件可以与所述SoC IC的部件通信。
2.如权利要求1所述的微处理器子系统,其中所述SoC IC是网络处理器组件,所述微处理器子系统实现分组通信处理功能。
3.如权利要求2所述的微处理器子系统,其中所述单处理器核心组件还包括一或多个接口设备,其能够根据网络通信协议接收通信,该网络通信协议包含来自包括以下协议的组中的一或多个协议:光纤通道,Gb以太网,Infiniband。
4.如权利要求3所述的微处理器子系统,其中所述网络处理器组件被构造成DSP,协处理器,混合ASIC或其它网络处理结构之一,所述网络处理组件包括:
网络处理设备,和
高速本地总线装置,用于互连所述网络处理组件的部件和所述网络处理设备。
5.如权利要求4所述的微处理器子系统,其中所述网络处理器组件的部件包含从包括以下部件的组中选择的一或多个部件:SRAM,DDR控制器,PCI-X桥,直接存储器访问DMA设备,DMA控制器,用于通过一或多个I/O接口设备与外部部件接口的片上外设总线(OPB),和用于提供针对以太网局域网(LAN)系统的数据链路层接口的介质访问控制(MAC)协议设备。
6.如权利要求1所述的微处理器子系统,其中所述单处理器核心组件还包括可编程处理器本地总线桥设备,用于允许在所述SoC IC的微处理器子系统和所述通信总线设备之间执行数据流。
7.如权利要求6所述的微处理器子系统,其中所述可编程处理器本地总线桥设备适配通过实现所述单处理器核心组件的所述SoC IC进行通信的2个通信系统之间的通信信号和信令协议。
8.如权利要求1所述的微处理器子系统,其中所述互连装置包括交叉开关装置,用于将对应于两个或更多微处理器设备的独立线程组联系在一起。
9.如权利要求1所述的微处理器子系统,其中与所述子系统中两个或更多微处理器设备相关的所述本地存储器存储设备包含本地SRAM存储器,存储器高速缓存和连接子处理器的I高速缓存中的一或多个。
10.如权利要求5所述的微处理器子系统,其中所述单处理器核心组件的所述两个或更多微处理器设备包括用于轮询所述SoC IC的通信总线设备以控制一或多个网络协议通信的处理的装置。
11.一种片上系统(SoC)集成电路(IC)网络处理器体系结构,包括:
网络处理器核心,用于控制多个网络处理器部件中的SoC网络处理器功能;
SoC本地系统总线设备,用于允许在所述SoC网络处理器部件中间进行通信,一个SoC网络处理器部件包括独立的多处理器子系统核心,该多处理器子系统核心包括:
i)实现指定功能的至少一个微处理器;
ii)存储数据和指令的至少之一的至少一个存储器存储设备;和
iii)互连装置,用于允许在两个或更多微处理器设备和所述SoCIC本地系统总线设备之间进行高速通信,
其中所述单个SoC多处理器子系统核心提供多线程网络处理能力。
12.如权利要求11所述的SoC IC网络处理器体系结构,其中所述单个SoC多处理器子系统核心还包括一或多个接口设备,其能够根据网络通信协议接收通信,该网络通信协议包含来自包括以下协议的组中的一或多个协议:光纤通道,GB以太网,Infiniband。
13.如权利要求12所述的SoC IC网络处理器体系结构,被构造为DSP,协处理器,混合ASIC或其它网络处理结构之一,其中所述SoC本地系统总线设备是用于互连所述SoC网络处理器部件与所述网络处理核心的高速本地总线装置。
14.如权利要求13所述的SoC IC网络处理器体系结构,其中所述网络处理器组件的部件包含从包括以下部件的组中选择的一或多个部件:SRAM,DDR控制器,PCI-X桥,直接存储器访问DMA设备,DMA控制器,用于通过一或多个I/O接口设备与外部部件接口的片上外设总线(OPB),和用于提供针对以太网局域网(LAN)系统的数据链路层接口的介质访问控制(MAC)协议设备。
15.如权利要求11所述的SoC IC网络处理器体系结构,其中所述多处理器子系统核心还包括可编程处理器本地总线桥设备,用于允许在所述微处理器子系统和所述SoC本地系统总线设备之间执行数据流。
16.如权利要求15所述的SoC IC网络处理器体系结构,其中所述可编程处理器本地总线桥设备适配通过实现所述单个多处理器子系统核心的所述SoC IC设备进行通信的2个通信系统之间的通信信号和信令协议。
17.如权利要求11所述的SoC IC网络处理器体系结构,其中所述单个多处理器子系统核心的所述互连装置包括交叉开关装置,用于将对应于两个或更多微处理器设备的独立线程组联系在一起。
18.如权利要求11所述的SoC IC网络处理器体系结构,其中与所述子系统中两个或更多微处理器设备相关的所述至少一个存储器存储设备包含本地SRAM存储器,存储器高速缓存和连接微处理器设备的I高速缓存中的一或多个。
19.如权利要求18所述的SoC IC网络处理器体系结构,其中所述单个多处理器子系统核心包括用于轮询所述SoC IC的本地系统总线设备以控制一或多个网络协议通信的处理的装置。
20.一种片上系统(SoC)处理器集成电路(IC)体系结构,包括:
处理器核心,用于控制多个SoC部件设备中的SoC处理功能;
SoC本地系统总线设备,用于允许在所述SoC部件设备中间进行通信,一个SoC部件设备包括单个独立多处理器子系统核心,该多处理器子系统核心包括:
多个多处理器,每个多处理器具有与其相关的的本地存储器,从而形成处理器集群;和
开关网络装置,用于连接所述SoC IC内的每个处理器集群,
其中所述单个SoC多处理器子系统核心能够执行多线程操作处理。
21.如权利要求20所述的片上系统(SoC)处理器集成电路(IC)体系结构,其中包括多个多处理器的所述独立多处理器子系统核心实现预定功能组,以便用作功能SoC部件,所述开关网络连接所述SoCIC内的每个处理器集群,从而允许用于所述核心内所述功能所需的处理的数据传输流。
22.如权利要求20所述的片上系统(SoC)处理器集成电路(IC)体系结构,其中所述开关网络装置包括交叉开关装置,其以蜂窝方式组织多处理器子系统核心内的独立线程组。
23.如权利要求22所述的片上系统(SoC)处理器集成电路(IC)体系结构,其中所述多个多处理器中的每个包含本地SRAM存储器,算术逻辑单元或浮点单元(FPU)和相应的数据高速缓存之一,和I高速缓存。
24.如权利要求22所述的片上系统(SoC)处理器集成电路(IC)体系结构,其中SoC实现中所述单个独立多处理器子系统核心功能包含以下之一:微处理器,DSP,协处理器,混合ASIC或其它网络处理器结构。
25.如权利要求22所述的片上系统(SoC)处理器集成电路(IC)体系结构,还包含用于控制总线和I/O介质连接的软件轮询连接装置,所述轮询连接装置轮询所述SoC本地系统总线设备以处理一或多个网络协议。
26.一种单芯片协议转换器集成电路(IC),其能够接收根据第一类型产生的分组和处理所述分组以实现协议转换,并且产生第二类型的转换分组以进行其输出,从而完全在单个集成电路芯片内执行协议转换处理。
27.如权利要求26所述的单芯片协议转换器集成电路(IC),所述芯片包括:
一或多个处理器核心组件,每个处理器核心组件包括能够执行操作以实现协议转换能力的两个或更多微处理器设备;
与所述两个或更多微处理器设备相关的本地存储设备,用于存储每个处理器核心组件中的数据和指令中的至少之一;
一或多个接口设备,允许根据一或多个通信协议接收和发送通信分组;和
驻留于所述协议转换器中的互连装置,用于允许所述两个或更多微处理器设备和所述接口设备之间的通信。
28.如权利要求27所述的单芯片协议转换器IC,其中所述一或多个可配置接口设备包含来自包括以下设备的组中的一或多个设备:可编程介质访问控制接口设备(MAC),和用于接收特定协议的分组的协议接口加速器设备。
29.如权利要求28所述的单芯片协议转换器IC,其中所述一或多个处理器核心组件,存储设备,互连装置和接口设备协同允许第一和第二协议之间的转换所需的分组调整大小和重新格式化,所述单芯片协议转换器设计还适于允许单个协议类型的不同版本级别之间的接收分组的转换。
30.如权利要求27所述的单芯片协议转换器IC,其中第一类型的所接收分组被划分到一或多个微处理器设备,每个处理器设备运行相同的指令集合并且与特定协议处理配对。
31.如权利要求27所述的单芯片协议转换器IC,其中接收的用于协议转换的指令被完全包括在处理器核心组件内,所述处理包含划分协议操作以便由单芯片协议转换器IC上的不同资源处理。
32.如权利要求27所述的单芯片协议转换器IC,其中所述互连装置包含交叉开关。
33.如权利要求27所述的单芯片协议转换器IC,还包含用于修改单芯片协议转换器设计以执行与协议转换相关的一或多个功能的装置。
34.如权利要求27所述的单芯片协议转换器IC,其中所述单芯片协议转换器被实现成片上系统(SoC)集成电路(IC)中的宏核心,协议转换的处理被包含在SoC协议转换宏核心内。
35.如权利要求27所述的单芯片协议转换器IC,其中SoC IC包括包含处理器单元,存储器存储单元,本地通信总线和I/O接口的部件,所述单芯片协议转换器核心还包含用于允许所述单芯片协议转换器核心和所述SoC IC的所述部件之间通过所述本地通信总线的通信的总线接口设备。
36.如权利要求27所述的单芯片协议转换器IC,其中所述一或多个可配置接口设备能够接收根据网络通信协议的通信,所述网络通信协议包含来自包括以下协议的组的一或多个协议:光纤通道,Gb以太网,InfiniBand,iSCSI,FC-IP,TCP/IP,IP,MPLS,VoDSL,CAN和SAMBA。
37.一种片上系统(SoC)集成电路(IC)设备,包括处理器单元,存储器存储单元和本地通信总线,和用于接收根据一协议类型的分组的接口装置,和嵌入式协议转换器核心设备,其能够接收根据第一协议类型的分组,处理所述分组以实现协议转换和产生第二协议类型的转换分组以便进行其输出,从而协议转换处理完全在嵌入式单芯片协议转换器设备内执行。
38.如权利要求37所述的SoC IC设备,其中所述嵌入式协议转换器核心设备包括:
一或多个处理器核心组件,每个处理器核心组件包括能够执行操作以实现协议转换能力的两个或更多微处理器设备;
与所述两个或更多微处理器设备相关的本地存储设备,用于存储每个处理器核心组件中的数据和指令中的至少之一;
一或多个接口设备,允许根据一或多个通信协议接收和发送通信分组;和
驻留于所述协议转换器中的互连装置,用于允许所述两个或更多微处理器设备和所述接口设备之间的通信。
39.如权利要求38所述的SoC IC设备,其中所述接口装置包括来自包括以下设备的组的一或多个设备:可编程介质访问控制接口设备(MAC),和协议接口加速器设备,用于从外部链路接收特定协议的分组,并且向所述嵌入式协议转换器核心设备的接口设备转发所述分组。
40.如权利要求39所述的SoC IC设备,其中所述一或多个可配置接口设备包含来自包括以下设备的组中的一或多个设备:可编程介质访问控制接口设备(MAC),和用于从所述SoC IC接收特定协议的分组的协议接口加速器设备。
41.如权利要求38所述的SoC IC设备,其中所述一或多个处理器核心组件,存储设备,互连装置和接口设备协同允许第一和第二协议之间的转换所需的分组调整大小和重新格式化,所述单芯片协议转换器核心设备还适于允许单个协议类型的不同版本级别之间的接收分组的转换。
42.如权利要求38所述的SoC IC设备,其中第一类型的接收分组被划分到一或多个微处理器设备,每个处理器设备运行相同的指令集合并且与特定协议处理配对,所述用于协议转换的指令集合被完全包括在处理器核心组件内,所述处理包含划分协议操作以便由单芯片协议转换器IC上的不同资源处理。
43.如权利要求38所述的SoC IC设备,其中所述一或多个可配置接口设备能够接收根据网络通信协议的通信,所述网络通信协议包含来自包括以下协议的组的一或多个协议:光纤通道,Gb以太网,InfiniBand,iSCSI,FC-IP,TCP/IP,IP,MPLS,VoDSL,CAN和SAMBA。
44.如权利要求41所述的SoC IC设备,被构造为DSP,协处理器,混合ASIC或其它网络处理结构实现之一,所述处理器单元包括网络处理设备,所述本地通信总线设备用于互连所述嵌入式协议转换器核心设备与所述网络处理设备。
45.如权利要求44所述的SoC IC设备,其中所述网络处理器实现的部件包含从包括以下部件的组中选择的一或多个部件:SRAM,DDR控制器,PCI-X桥,直接存储器访问DMA设备,DMA控制器和用于通过一或多个I/O接口设备与外部部件接口的片上外设总线(OPB)。
46.一种单芯片协议转换器集成电路(IC),其能够接收根据第一协议版本级别产生的分组和处理所述分组以实现协议转换,并且产生基于相同协议类型内的第二协议版本级别的转换分组以进行其输出,从而完全在单个集成电路芯片内执行协议转换处理。
47.如权利要求46所述的单芯片协议转换器集成电路(IC),所述芯片包括:
一或多个处理器核心组件,每个处理器核心组件包括能够执行操作以实现协议转换能力的两个或更多微处理器设备;
与所述两个或更多微处理器设备相关的本地存储设备,用于存储每个处理器核心组件中的数据和指令中的至少之一;
一或多个接口设备,允许根据一或多个通信协议接收和发送通信分组;和
驻留于所述协议转换器中的互连装置,用于允许所述两个或更多微处理器设备和所述接口设备之间的通信。
48.如权利要求47所述的单芯片协议转换器IC,其中所述单芯片协议转换器被实现成片上系统(SoC)集成电路(IC)中的宏核心,协议转换的处理被包含在SoC协议转换宏核心内。
49.一种半导体集成电路芯片(IC),包括:
一或多个处理器核心组件,每个核心组件包括能够执行根据第一功能的操作的两个或更多微处理器设备;
与所述两个或更多微处理器设备相关的本地存储器存储设备,用于存储每个处理器核心组件中的数据和指令中的至少之一;
一或多个接口设备,允许根据通信协议接收和发送通信分组;和
驻留于所述半导体IC中的互连装置,用于允许所述两个或更多微处理器设备和所述接口设备之间的通信,
所述IC能够根据第一操作功能接收和处理所述分组,并且适于重新配置以用于根据与所述第一操作功能不同的全新操作功能接收和处理分组。
50.如权利要求49所述的半导体IC,其中与所述核心组件中的所述两个或更多微处理器设备相关的所述本地存储器存储设备包含以下中的一或多个:本地SRAM存储器,存储器高速缓存,和本地指令高速缓存(I高速缓存),所述IC适于重新配置一定量的所述I高速缓存,或与每个组件相关的一定量的所述本地存储器,以执行所述新操作功能。
51.如权利要求49所述的半导体IC,其中所述IC适于重新配置一定量的微处理器设备以执行所述新操作功能。
52.如权利要求49所述的半导体IC,其中所述IC适于重新配置实现软件协议的一或多个接口设备以执行所述新操作功能。
53.一种用于片上系统(″SoC″)应用的嵌入式宏核心,所述核心包括:
一或多个处理器核心组件,每个核心组件包括能够执行根据第一功能的操作的两个或更多微处理器设备;
与所述两个或更多微处理器设备相关的本地存储器存储设备,用于存储每个处理器核心组件中的数据和指令中的至少之一;
一或多个接口设备,允许根据通信协议接收和发送通信分组;和
驻留于所述嵌入式宏核心中的互连装置,用于允许所述两个或更多微处理器设备和所述接口设备之间的通信,
所述嵌入式宏核心能够根据第一操作功能接收和处理所述分组,并且适于重新配置以用于根据与所述第一操作功能不同的全新操作功能接收和处理分组。
54.如权利要求53所述的嵌入式宏核心,其中与所述核心组件中的所述两个或更多微处理器设备相关的所述本地存储器存储设备包含以下中的一或多个:本地SRAM存储器,存储器高速缓存,和本地指令高速缓存(I高速缓存),所述IC适于重新配置一定量的所述I高速缓存,或与每个组件相关的一定量的所述本地存储器,以执行所述新操作功能。
55.如权利要求53所述的嵌入式宏核心,适于重新配置一定量的微处理器设备以执行所述新操作功能。
56.如权利要求53所述的嵌入式宏核心,适于重新配置实现软件协议的一或多个接口设备以便执行所述新操作功能。
57.一种可重新配置的半导体嵌入式宏核心,包括:
一或多个处理器核心组件,每个核心组件包括能够执行根据第一功能的操作的两个或更多微处理器设备;
与所述两个或更多微处理器设备相关的本地存储器存储设备,用于存储每个处理器核心组件中的数据和指令中的至少之一;
一或多个接口设备,允许根据通信协议接收和发送通信分组;和
驻留于所述嵌入式宏核心中的互连装置,用于允许所述两个或更多微处理器设备和所述接口设备之间的通信,
所述嵌入式宏核心能够根据第一操作功能接收和处理所述分组,并且适于重新配置以用于根据与所述第一操作功能不同的全新操作功能接收和处理分组,
其中所述协议接口可再编程为从第一协议接口转换到不同于第一协议接口的不同协议接口。
CNB2004800214749A 2003-07-25 2004-07-23 微处理器子系统 Expired - Lifetime CN100524287C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/604,491 2003-07-25
US10/604,491 US7353362B2 (en) 2003-07-25 2003-07-25 Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus
US10/768,828 2004-01-30

Publications (2)

Publication Number Publication Date
CN1910571A true CN1910571A (zh) 2007-02-07
CN100524287C CN100524287C (zh) 2009-08-05

Family

ID=34079572

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800214749A Expired - Lifetime CN100524287C (zh) 2003-07-25 2004-07-23 微处理器子系统

Country Status (5)

Country Link
US (2) US7353362B2 (zh)
JP (1) JP4542845B2 (zh)
KR (1) KR100690557B1 (zh)
CN (1) CN100524287C (zh)
TW (1) TWI291104B (zh)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101472088A (zh) * 2007-12-25 2009-07-01 新奥特(北京)视频技术有限公司 一种系统间交互方法
CN101739241A (zh) * 2008-11-12 2010-06-16 中国科学院微电子研究所 一种片上多核dsp簇和应用扩展方法
CN102226895A (zh) * 2011-06-01 2011-10-26 展讯通信(上海)有限公司 协处理器和主处理器共享存储器的系统及访问方法
CN102238083A (zh) * 2010-04-20 2011-11-09 马维尔国际贸易有限公司 用于适配分组处理流水线的系统和方法
CN102460406A (zh) * 2009-06-04 2012-05-16 美光科技公司 内部处理器与外部处理器之间的通信
CN102469161A (zh) * 2010-11-02 2012-05-23 巴比禄股份有限公司 网络中继装置及其控制方法、以及数据中继方法
WO2012088895A1 (zh) * 2010-12-29 2012-07-05 中兴通讯股份有限公司 一种光网络单元中协议的切换方法及光网络单元
CN102637157A (zh) * 2011-02-15 2012-08-15 郑磊 一种片上数字模板系统dtsoc
CN102831908A (zh) * 2011-06-14 2012-12-19 上海三旗通信科技股份有限公司 Mtk平台下中星微协处理器外部声音回传的控制和播放
CN103415777A (zh) * 2011-03-09 2013-11-27 英特尔公司 用于进行功能和结构测试和调试的基于功能结构测试控制器
CN103635894A (zh) * 2012-05-11 2014-03-12 松下电器产业株式会社 总线控制装置、总线控制系统以及网络接口
CN104216352A (zh) * 2013-06-03 2014-12-17 英飞凌科技股份有限公司 传感器接口
US9043665B2 (en) 2011-03-09 2015-05-26 Intel Corporation Functional fabric based test wrapper for circuit testing of IP blocks
US9288288B2 (en) 2011-06-27 2016-03-15 Marvell Israel (M.I.S.L) Ltd. FCoE over trill
CN105409173A (zh) * 2013-06-19 2016-03-16 施耐德电器工业公司 统一以太网解决方案
CN105814537A (zh) * 2013-12-27 2016-07-27 英特尔公司 可扩展输入/输出系统和技术
CN105808502A (zh) * 2014-12-29 2016-07-27 杭州华为数字技术有限公司 片上系统
CN106254061A (zh) * 2016-08-14 2016-12-21 北京数盾信息科技有限公司 一种高速网络存贮加解密方法
CN106462550A (zh) * 2013-09-27 2017-02-22 英特尔公司 共享嵌入式硬件资源
CN109313618A (zh) * 2016-06-30 2019-02-05 英特尔公司 用于分组传递的图形处理单元(gpu)
CN110769125A (zh) * 2019-10-29 2020-02-07 江苏微锐超算科技有限公司 一种适用于处理芯片的通信协议选择方法及装置
CN111124984A (zh) * 2019-12-24 2020-05-08 广州小鹏汽车科技有限公司 多车载微控制单元间的通信方法及系统
CN111367852A (zh) * 2020-03-23 2020-07-03 广州视源电子科技股份有限公司 一种设备的操作方法、装置、设备和存储介质
CN112882989A (zh) * 2021-02-04 2021-06-01 无锡沐创集成电路设计有限公司 协议处理系统和协议数据处理方法
CN113157248A (zh) * 2020-01-07 2021-07-23 爱思开海力士有限公司 存内处理(pim)系统和pim系统的操作方法
CN113391142A (zh) * 2020-03-12 2021-09-14 爱德万测试公司 使用主机总线适配器在自动化测试设备中提供协议灵活性
CN113765892A (zh) * 2014-05-09 2021-12-07 谷歌有限责任公司 用于适应网络协议更新的系统、方法和计算机可读介质
CN117389931A (zh) * 2023-12-12 2024-01-12 芯动微电子科技(武汉)有限公司 适用于总线访问gpu核内存储器的协议转换模块及方法
US12079098B2 (en) 2013-02-21 2024-09-03 Advantest Corporation Automated test equipment with hardware accelerator

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383421B2 (en) 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
US8020163B2 (en) * 2003-06-02 2011-09-13 Interuniversitair Microelektronica Centrum (Imec) Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof
WO2005089241A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing object triggers
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US7401316B2 (en) * 2004-04-23 2008-07-15 Sony Computer Entertainment Inc. Methods and apparatus for synthesizable pipeline control
JP4416572B2 (ja) * 2004-05-27 2010-02-17 富士通株式会社 信号処理回路
US20060031622A1 (en) * 2004-06-07 2006-02-09 Jardine Robert L Software transparent expansion of the number of fabrics coupling multiple processsing nodes of a computer system
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US20060069811A1 (en) * 2004-08-27 2006-03-30 Kelly Edmund J Computer cluster
US8478907B1 (en) * 2004-10-19 2013-07-02 Broadcom Corporation Network interface device serving multiple host operating systems
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
KR100737802B1 (ko) * 2004-12-30 2007-07-10 전자부품연구원 모듈형 디지털 신호 프로세서 블록 및 이를 이용한시스템-온-칩
KR100674934B1 (ko) * 2005-01-06 2007-01-26 삼성전자주식회사 온 칩 버스(On Chip Bus)에서 최적화된타일-스위치(tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US8631130B2 (en) 2005-03-16 2014-01-14 Adaptive Computing Enterprises, Inc. Reserving resources in an on-demand compute environment from a local compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
EP1713007B1 (en) * 2005-04-11 2008-09-17 STMicroelectronics S.r.l. A dynamically reconfigurable System-on-Chip comprising a plurality of reconfigurable gate array devices
US8990501B1 (en) * 2005-10-12 2015-03-24 Azul Systems, Inc. Multiple cluster processor
KR100653087B1 (ko) * 2005-10-17 2006-12-01 삼성전자주식회사 AXI가 적용된 NoC 시스템 및 그 인터리빙 방법
JP2007122256A (ja) * 2005-10-26 2007-05-17 Hideaki Harada ネットワーク通信システム
JP4687399B2 (ja) * 2005-11-07 2011-05-25 セイコーエプソン株式会社 マルチプロセッサシステム及びデータバックアップ方法
EP1947799A4 (en) * 2005-11-08 2014-03-19 Sony Computer Entertainment Inc DATA COMMUNICATION METHOD, COMPUTER AND INFORMATION STORAGE MEDIUM
US8605712B1 (en) * 2005-11-21 2013-12-10 At&T Intellectual Property Ii, L.P. Method and apparatus for distributing video with offload engine
US7475182B2 (en) * 2005-12-06 2009-01-06 International Business Machines Corporation System-on-a-chip mixed bus architecture
US7568063B2 (en) * 2006-02-02 2009-07-28 Hewlett-Packard Development Company, L.P. System and method for a distributed crossbar network using a plurality of crossbars
US8977836B2 (en) * 2006-02-03 2015-03-10 Russell H. Fish, III Thread optimized multiprocessor architecture
FR2898753B1 (fr) * 2006-03-16 2008-04-18 Commissariat Energie Atomique Systeme sur puce a controle semi-distribue
US7761817B2 (en) * 2006-05-22 2010-07-20 Coherent Logix, Incorporated Designing an ASIC based on execution of a software program on a processing system
BRPI0713792A8 (pt) * 2006-06-27 2018-01-09 Hadasit Medical Res Services And Development Limited uso de derivados de estilbeno para tratamento e prevenção de infecções por fungos aquáticos
US7356671B1 (en) * 2006-07-27 2008-04-08 Vbridge Microsystem, Inc. SoC architecture for voice and video over data network applications
US8244718B2 (en) * 2006-08-25 2012-08-14 Teradata Us, Inc. Methods and systems for hardware acceleration of database operations and queries
US20080059764A1 (en) * 2006-09-01 2008-03-06 Gheorghe Stefan Integral parallel machine
US20080059763A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski System and method for fine-grain instruction parallelism for increased efficiency of processing compressed multimedia data
TWI376605B (en) * 2006-09-04 2012-11-11 Novatek Microelectronics Corp Method and apparatus for enhancing data rate of advanced micro-controller bus architecture
US20100325481A1 (en) * 2006-10-20 2010-12-23 Freescale Semiconductor, Inc. Device having redundant core and a method for providing core redundancy
US7613753B2 (en) * 2006-11-28 2009-11-03 Alcatel Lucent Platform and method for functional programming (FP) processing
US7521961B1 (en) * 2007-01-23 2009-04-21 Xilinx, Inc. Method and system for partially reconfigurable switch
KR100855701B1 (ko) * 2007-01-26 2008-09-04 엠텍비젼 주식회사 복수의 프로세서 코어가 통합된 칩 및 데이터 처리 방법
US7765351B2 (en) * 2007-03-12 2010-07-27 International Business Machines Corporation High bandwidth low-latency semaphore mapped protocol (SMP) for multi-core systems on chips
GB0706134D0 (en) * 2007-03-29 2007-05-09 Nokia Oyj A modular device component
KR100862918B1 (ko) 2007-05-04 2008-10-13 성균관대학교산학협력단 멀티프로세서 SoC 플랫폼 및 이를 사용하는 DVB-T베이스밴드 수신장치
US8156273B2 (en) * 2007-05-10 2012-04-10 Freescale Semiconductor, Inc. Method and system for controlling transmission and execution of commands in an integrated circuit device
US7836372B2 (en) * 2007-06-08 2010-11-16 Apple Inc. Memory controller with loopback test interface
DE102007037064B4 (de) * 2007-06-28 2009-06-10 IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik Einchipsystem
WO2009001368A2 (en) * 2007-06-28 2008-12-31 Indian Institute Of Science A method and system-on-chip fabric
JP2009048298A (ja) * 2007-08-15 2009-03-05 Sony Corp 情報処理装置、情報処理方法、当該情報処理方法を実行するためのプログラム及び当該プログラムを記録した媒体、並びにdmaコントローラ、dma転送方法、当該dma転送方法を実行するためのプログラム及び当該プログラムを記録した媒体
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
FR2925187B1 (fr) * 2007-12-14 2011-04-08 Commissariat Energie Atomique Systeme comportant une pluralite d'unites de traitement permettant d'executer des taches en parallele,en mixant le mode d'execution de type controle et le mode d'execution de type flot de donnees
US7743191B1 (en) * 2007-12-20 2010-06-22 Pmc-Sierra, Inc. On-chip shared memory based device architecture
US20090199290A1 (en) * 2008-02-01 2009-08-06 Secure Computing Corporation Virtual private network system and method
US7904872B2 (en) * 2008-05-22 2011-03-08 International Business Machines Corporation System-on-chip (SOC), design structure and method
WO2009145608A1 (en) * 2008-05-27 2009-12-03 Eonic B.V. Flexible architecture data processing unit
US8195784B2 (en) * 2008-05-30 2012-06-05 Microsoft Corporation Linear programming formulation of resources in a data center
US8812421B1 (en) * 2008-06-09 2014-08-19 Euler Optimization, Inc. Method and apparatus for autonomous synchronous computing
US8250280B1 (en) 2008-07-15 2012-08-21 Marvell Israel (M.I.S.L.) Ltd. Bus transaction maintenance protocol
US8311057B1 (en) 2008-08-05 2012-11-13 Xilinx, Inc. Managing formatting of packets of a communication protocol
US7804844B1 (en) * 2008-08-05 2010-09-28 Xilinx, Inc. Dataflow pipeline implementing actions for manipulating packets of a communication protocol
US8160092B1 (en) 2008-08-05 2012-04-17 Xilinx, Inc. Transforming a declarative description of a packet processor
US7949007B1 (en) 2008-08-05 2011-05-24 Xilinx, Inc. Methods of clustering actions for manipulating packets of a communication protocol
US7917684B2 (en) * 2008-11-05 2011-03-29 Micron Technology, Inc. Bus translator
US20100191814A1 (en) * 2008-12-23 2010-07-29 Marco Heddes System-On-A-Chip Employing A Network Of Nodes That Utilize Receive Side Flow Control Over Channels For Messages Communicated Therebetween
US8631208B2 (en) 2009-01-27 2014-01-14 Intel Corporation Providing address range coherency capability to a device
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US9195464B2 (en) * 2009-04-27 2015-11-24 Intel Corporation Tracking written addresses of a shared memory of a multi-core processor
US8364862B2 (en) * 2009-06-11 2013-01-29 Intel Corporation Delegating a poll operation to another device
US9069929B2 (en) 2011-10-31 2015-06-30 Iii Holdings 2, Llc Arbitrating usage of serial port in node card of scalable and modular servers
US9465771B2 (en) 2009-09-24 2016-10-11 Iii Holdings 2, Llc Server on a chip and node cards comprising one or more of same
US20130107444A1 (en) 2011-10-28 2013-05-02 Calxeda, Inc. System and method for flexible storage and networking provisioning in large scalable processor installations
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US8599863B2 (en) 2009-10-30 2013-12-03 Calxeda, Inc. System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US9077654B2 (en) 2009-10-30 2015-07-07 Iii Holdings 2, Llc System and method for data center security enhancements leveraging managed server SOCs
US9054990B2 (en) 2009-10-30 2015-06-09 Iii Holdings 2, Llc System and method for data center security enhancements leveraging server SOCs or server fabrics
US9876735B2 (en) 2009-10-30 2018-01-23 Iii Holdings 2, Llc Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect
US8473818B2 (en) * 2009-10-12 2013-06-25 Empire Technology Development Llc Reliable communications in on-chip networks
US9648102B1 (en) 2012-12-27 2017-05-09 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9680770B2 (en) 2009-10-30 2017-06-13 Iii Holdings 2, Llc System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US9311269B2 (en) 2009-10-30 2016-04-12 Iii Holdings 2, Llc Network proxy for high-performance, low-power data center interconnect fabric
US8380724B2 (en) * 2009-11-24 2013-02-19 Microsoft Corporation Grouping mechanism for multiple processor core execution
US8650629B2 (en) * 2009-12-16 2014-02-11 Intel Corporation Interface logic for a multi-core system-on-a-chip (SoC)
KR101043199B1 (ko) * 2010-01-22 2011-06-21 한국과학기술원 싱글 코어용 캐시 컨트롤러를 이용한 멀티 코어용 캐시 회로, 이를 포함하는 캐시 장치, 반도체 장치 및 캐시 메모리 제어 방법
US20110249744A1 (en) * 2010-04-12 2011-10-13 Neil Bailey Method and System for Video Processing Utilizing N Scalar Cores and a Single Vector Core
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
US9098438B2 (en) * 2010-09-30 2015-08-04 Texas Instruments Incorporated Synchronized voltage scaling and device calibration
US8880866B2 (en) 2010-10-15 2014-11-04 Coherent Logix, Incorporated Method and system for disabling communication paths in a multiprocessor fabric by setting register values to disable the communication paths specified by a configuration
MY169787A (en) * 2010-11-29 2019-05-15 Mimos Berhad A system-on-chip for baseband processing
US8583850B2 (en) * 2011-02-14 2013-11-12 Oracle America, Inc. Micro crossbar switch and on-die data network using the same
US8522189B2 (en) 2011-03-09 2013-08-27 Intel Corporation Functional fabric based test access mechanism for SoCs
JPWO2012172682A1 (ja) * 2011-06-17 2015-02-23 富士通株式会社 演算処理装置及び演算処理装置の制御方法
WO2013001578A1 (ja) * 2011-06-29 2013-01-03 株式会社日立製作所 入出力制御装置及び入出力制御装置のフレーム処理方法
US8929373B2 (en) * 2011-09-29 2015-01-06 Intel Corporation Sending packets with expanded headers
CN103106174A (zh) * 2011-11-09 2013-05-15 深圳市德赛微电子技术有限公司 一种复杂soc的片上通信方法
WO2013081580A1 (en) * 2011-11-29 2013-06-06 Intel Corporation Raw memory transaction support
KR20130087853A (ko) * 2012-01-30 2013-08-07 삼성전자주식회사 파워 컨트롤 시스템 및 그 동작 방법
KR101975288B1 (ko) 2012-06-15 2019-05-07 삼성전자 주식회사 멀티 클러스터 프로세싱 시스템 및 그 구동 방법
US9229895B2 (en) * 2012-09-13 2016-01-05 Intel Corporation Multi-core integrated circuit configurable to provide multiple logical domains
US9129071B2 (en) * 2012-10-24 2015-09-08 Texas Instruments Incorporated Coherence controller slot architecture allowing zero latency write commit
US9526285B2 (en) 2012-12-18 2016-12-27 Intel Corporation Flexible computing fabric
US9019832B2 (en) * 2013-03-14 2015-04-28 Mediatek Inc. Network switching system and method for processing packet switching in network switching system
GB2515053A (en) * 2013-06-12 2014-12-17 Acano Uk Ltd Collaboration Server
US9270659B2 (en) 2013-11-12 2016-02-23 At&T Intellectual Property I, L.P. Open connection manager virtualization at system-on-chip
US9456071B2 (en) 2013-11-12 2016-09-27 At&T Intellectual Property I, L.P. Extensible kernel for adaptive application enhancement
US9424173B2 (en) 2014-10-23 2016-08-23 GlobalFoundries, Inc. Performing secure address relocation within a multi-processor system sharing a same physical memory channel to external memory
CN104391821A (zh) * 2014-11-20 2015-03-04 天津大学 一种多核共享simd协处理器的系统级模型构建方法
KR102106890B1 (ko) * 2014-12-11 2020-05-07 한화디펜스 주식회사 소형통합제어장치
CN104519055A (zh) * 2014-12-11 2015-04-15 曙光信息产业(北京)有限公司 Vpn业务实现方法、装置和vpn服务器
KR102106889B1 (ko) * 2014-12-11 2020-05-07 한화디펜스 주식회사 소형통합제어장치
US10523585B2 (en) 2014-12-19 2019-12-31 Amazon Technologies, Inc. System on a chip comprising multiple compute sub-systems
US10394731B2 (en) 2014-12-19 2019-08-27 Amazon Technologies, Inc. System on a chip comprising reconfigurable resources for multiple compute sub-systems
CN104580257B (zh) * 2015-02-03 2018-08-03 厦门中智信系统集成有限公司 智能化建筑群io点交互通讯方法
US11200192B2 (en) 2015-02-13 2021-12-14 Amazon Technologies. lac. Multi-mode system on a chip
US9588921B2 (en) * 2015-02-17 2017-03-07 Amazon Technologies, Inc. System on a chip comprising an I/O steering engine
EP3274851B1 (en) 2015-03-27 2020-06-17 Intel Corporation Dynamic configuration of input/output controller access lanes
EP3266175A4 (en) 2015-05-29 2018-09-26 Hewlett Packard Enterprise Development LP Determining actions to be immediately performed on a network packet with an application specific integrated circuit
US9946674B2 (en) * 2016-04-28 2018-04-17 Infineon Technologies Ag Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller
CN107196757B (zh) * 2017-05-19 2020-06-09 广州瑞特租赁服务有限公司 服务器通信安全加密芯片
US11500681B2 (en) * 2017-06-29 2022-11-15 Intel Corporation Technologies for managing quality of service platform interconnects
KR102424962B1 (ko) * 2017-11-15 2022-07-25 삼성전자주식회사 병렬 연산 처리를 수행하는 메모리 장치 및 이를 포함하는 메모리 모듈
US10628365B2 (en) 2017-11-17 2020-04-21 Hewlett Packard Enterprise Development Lp Packet tunneling for multi-node, multi-socket systems
EP4009183A1 (en) * 2018-10-18 2022-06-08 Shanghai Cambricon Information Technology Co., Ltd Network-on-chip data processing method and device
US10893003B2 (en) * 2018-12-12 2021-01-12 Coke S. Reed Method and apparatus for improved data transfer between processor cores
US11264361B2 (en) 2019-06-05 2022-03-01 Invensas Corporation Network on layer enabled architectures
CN110321317B (zh) * 2019-06-28 2021-10-01 兆讯恒达科技股份有限公司 一种多接口和多协处理器的芯片
US11487683B2 (en) 2020-04-15 2022-11-01 AyDeeKay LLC Seamlessly integrated microcontroller chip
KR102623397B1 (ko) * 2023-04-07 2024-01-10 메티스엑스 주식회사 매니코어 시스템
CN117332746B (zh) * 2023-12-01 2024-03-08 中国海洋大学三亚海洋研究院 一种兼顾常态低速和短时高速的信号处理板卡设计方法

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633394A (en) * 1984-04-24 1986-12-30 International Business Machines Corp. Distributed arbitration for multiple processors
US4751634A (en) * 1985-06-14 1988-06-14 International Business Machines Corporation Multiple port communications adapter apparatus
US4751635A (en) * 1986-04-16 1988-06-14 Bell Communications Research, Inc. Distributed management support system for software managers
US4829511A (en) * 1987-10-14 1989-05-09 International Business Machines Corporation Switched network of optical buses
US4929939A (en) * 1988-10-31 1990-05-29 International Business Machines Corporation High-speed switching system with flexible protocol capability
US4952930A (en) * 1988-11-18 1990-08-28 International Business Machines Corp. Multipath hierarchical network
JP2986802B2 (ja) * 1989-03-13 1999-12-06 株式会社日立製作所 プロトコル高速処理方法
US6070003A (en) * 1989-11-17 2000-05-30 Texas Instruments Incorporated System and method of memory access in apparatus having plural processors and plural memories
US5161156A (en) * 1990-02-02 1992-11-03 International Business Machines Corporation Multiprocessing packet switching connection system having provision for error correction and recovery
FR2667465A1 (fr) * 1990-09-27 1992-04-03 Cit Alcatel Pont pour relier un reseau local, conforme a la norme ieee 802.3, a un reseau de telecommunication a technique temporelle asynchrone.
US5250943A (en) * 1991-03-29 1993-10-05 International Business Machines Corporation GVT-NET--A Global Virtual Time Calculation Apparatus for Multi-Stage Networks
US5189314A (en) * 1991-09-04 1993-02-23 International Business Machines Corporation Variable chip-clocking mechanism
JP2571655B2 (ja) * 1991-11-27 1997-01-16 インターナショナル・ビジネス・マシーンズ・コーポレイション プロトコル変換機構、交換ネットワーク及びコンピュータ・システム
US5640399A (en) * 1993-10-20 1997-06-17 Lsi Logic Corporation Single chip network router
US5586273A (en) * 1994-08-18 1996-12-17 International Business Machines Corporation HDLC asynchronous to synchronous converter
US5838935A (en) * 1995-06-15 1998-11-17 Intel Corporation Method and apparatus providing programmable decode modes for secondary PCI bus interfaces
DE69610548T2 (de) 1995-07-21 2001-06-07 Koninklijke Philips Electronics N.V., Eindhoven Multi-media-prozessorarchitektur mit hoher leistungsdichte
US5798918A (en) * 1996-04-29 1998-08-25 International Business Machines Corporation Performance-temperature optimization by modulating the switching factor of a circuit
JPH10161973A (ja) 1996-11-29 1998-06-19 Hitachi Ltd バス制御装置およびバスユニット
DE19782200B4 (de) 1996-12-19 2011-06-16 Magnachip Semiconductor, Ltd. Maschine zur Videovollbildaufbereitung
US5905873A (en) * 1997-01-16 1999-05-18 Advanced Micro Devices, Inc. System and method of routing communications data with multiple protocols using crossbar switches
US5931933A (en) * 1997-06-16 1999-08-03 International Business Machines Corporation Apparatus and method for communication and translation for selected one of a variety of data bus formats
US6055581A (en) * 1997-08-18 2000-04-25 International Business Machines Corporation Vital product data concentrator and protocol converter
US6032245A (en) * 1997-08-18 2000-02-29 International Business Machines Corporation Method and system for interrupt handling in a multi-processor computer system executing speculative instruction threads
US6038630A (en) * 1998-03-24 2000-03-14 International Business Machines Corporation Shared access control device for integrated system with multiple functional units accessing external structures over multiple data buses
JP2000004273A (ja) * 1998-04-16 2000-01-07 Toshiba Corp 通信プラットフォームlsiシステム、及び同システムに用いられる通信プラットフォームlsi、並びに同システムに於けるその通信制御方法
US6331977B1 (en) * 1998-08-28 2001-12-18 Sharp Electronics Corporation System on chip (SOC) four-way switch crossbar system and method
US6385748B1 (en) * 1999-03-30 2002-05-07 Nec Electronics, Inc. Direct access logic testing in integrated circuits
US6262594B1 (en) * 1999-11-05 2001-07-17 Ati International, Srl Apparatus and method for configurable use of groups of pads of a system on chip
US6405289B1 (en) * 1999-11-09 2002-06-11 International Business Machines Corporation Multiprocessor system in which a cache serving as a highest point of coherency is indicated by a snoop response
US6769046B2 (en) * 2000-02-14 2004-07-27 Palmchip Corporation System-resource router
US6839830B2 (en) * 2000-03-01 2005-01-04 Realtek Semiconductor Corporation Logical pipeline for data communications system
JP2001325207A (ja) 2000-05-17 2001-11-22 Hitachi Ltd キャッシュ内蔵型スイッチおよび計算機システムおよびキャッシュ内蔵型スイッチのスイッチ制御方法
US7042892B2 (en) * 2000-06-02 2006-05-09 Radisys Corporation Voice-over IP communication without echo cancellation
US6678535B1 (en) * 2000-06-30 2004-01-13 International Business Machines Corporation Pervasive dock and router with communication protocol converter
US6721313B1 (en) * 2000-08-01 2004-04-13 International Business Machines Corporation Switch fabric architecture using integrated serdes transceivers
US6651131B1 (en) * 2000-09-06 2003-11-18 Sun Microsystems, Inc. High bandwidth network and storage card
US6662253B1 (en) * 2000-09-13 2003-12-09 Stmicroelectronics, Inc. Shared peripheral architecture
US7218616B2 (en) * 2001-03-09 2007-05-15 Stmicroelectronics, Inc. Octagonal interconnection network for linking processing nodes on an SOC device and method of operating same
US20020172197A1 (en) * 2001-05-18 2002-11-21 Dale Michele Zampetti System interconnect with minimal overhead suitable for real-time applications
US20020174244A1 (en) * 2001-05-18 2002-11-21 Telgen Corporation System and method for coordinating, distributing and processing of data
GB2376390B (en) * 2001-06-05 2003-08-06 3Com Corp Asic system architecture including data aggregation technique
US20030046492A1 (en) * 2001-08-28 2003-03-06 International Business Machines Corporation, Armonk, New York Configurable memory array
US7404000B2 (en) 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US6904040B2 (en) * 2001-10-05 2005-06-07 International Business Machines Corporaiton Packet preprocessing interface for multiprocessor network handler
US7072970B2 (en) * 2001-10-05 2006-07-04 International Business Machines Corporation Programmable network protocol handler architecture
US7013398B2 (en) * 2001-11-15 2006-03-14 Nokia Corporation Data processor architecture employing segregated data, program and control buses
US6753747B2 (en) * 2002-04-01 2004-06-22 Intel Corporation Integrated microsprings for high speed switches
US7093258B1 (en) * 2002-07-30 2006-08-15 Unisys Corporation Method and system for managing distribution of computer-executable program threads between central processing units in a multi-central processing unit computer system

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101472088A (zh) * 2007-12-25 2009-07-01 新奥特(北京)视频技术有限公司 一种系统间交互方法
CN101739241A (zh) * 2008-11-12 2010-06-16 中国科学院微电子研究所 一种片上多核dsp簇和应用扩展方法
CN102460406A (zh) * 2009-06-04 2012-05-16 美光科技公司 内部处理器与外部处理器之间的通信
CN102460406B (zh) * 2009-06-04 2015-03-25 美光科技公司 内部处理器与外部处理器之间的通信
USRE49172E1 (en) 2010-04-20 2022-08-09 Marvell Asia Pte Ltd System and method for adapting a packet processing pipeline
CN102238083A (zh) * 2010-04-20 2011-11-09 马维尔国际贸易有限公司 用于适配分组处理流水线的系统和方法
CN102238083B (zh) * 2010-04-20 2016-01-20 马维尔国际贸易有限公司 用于适配分组处理流水线的系统和方法
US9191315B1 (en) 2010-04-20 2015-11-17 Marvell World Trade Ltd. System and method for adapting a packet processing pipeline
CN102469161A (zh) * 2010-11-02 2012-05-23 巴比禄股份有限公司 网络中继装置及其控制方法、以及数据中继方法
WO2012088895A1 (zh) * 2010-12-29 2012-07-05 中兴通讯股份有限公司 一种光网络单元中协议的切换方法及光网络单元
CN102637157A (zh) * 2011-02-15 2012-08-15 郑磊 一种片上数字模板系统dtsoc
CN102637157B (zh) * 2011-02-15 2014-12-03 郑磊 一种片上数字模板系统dtsoc
CN103415777A (zh) * 2011-03-09 2013-11-27 英特尔公司 用于进行功能和结构测试和调试的基于功能结构测试控制器
US9043665B2 (en) 2011-03-09 2015-05-26 Intel Corporation Functional fabric based test wrapper for circuit testing of IP blocks
CN103415777B (zh) * 2011-03-09 2015-09-16 英特尔公司 用于进行功能和结构测试和调试的基于功能结构测试控制器
CN102226895A (zh) * 2011-06-01 2011-10-26 展讯通信(上海)有限公司 协处理器和主处理器共享存储器的系统及访问方法
CN102831908A (zh) * 2011-06-14 2012-12-19 上海三旗通信科技股份有限公司 Mtk平台下中星微协处理器外部声音回传的控制和播放
US9288288B2 (en) 2011-06-27 2016-03-15 Marvell Israel (M.I.S.L) Ltd. FCoE over trill
US9380132B2 (en) 2011-06-27 2016-06-28 Marvell Israel (M.I.S.L.) Ltd. FCoE over trill
CN103635894A (zh) * 2012-05-11 2014-03-12 松下电器产业株式会社 总线控制装置、总线控制系统以及网络接口
US9678905B2 (en) 2012-05-11 2017-06-13 Panasonic Intellectual Property Management Co., Ltd. Bus controller, bus control system and network interface
US12079098B2 (en) 2013-02-21 2024-09-03 Advantest Corporation Automated test equipment with hardware accelerator
CN104216352A (zh) * 2013-06-03 2014-12-17 英飞凌科技股份有限公司 传感器接口
US10042793B2 (en) 2013-06-19 2018-08-07 Schneider Electric Industries Sas Universal ethernet solution
CN105409173A (zh) * 2013-06-19 2016-03-16 施耐德电器工业公司 统一以太网解决方案
US11977502B2 (en) 2013-06-19 2024-05-07 Schneider Electric Industries Sas Universal ethernet solution
CN106462550A (zh) * 2013-09-27 2017-02-22 英特尔公司 共享嵌入式硬件资源
CN106462550B (zh) * 2013-09-27 2019-10-25 英特尔公司 用于共享嵌入式硬件资源的方法、设备和装置
US11074042B2 (en) 2013-12-27 2021-07-27 Intel Corporation Scalable input/output system and techniques to transmit data between domains without a central processor
CN105814537B (zh) * 2013-12-27 2019-07-09 英特尔公司 可扩展输入/输出系统和技术
CN105814537A (zh) * 2013-12-27 2016-07-27 英特尔公司 可扩展输入/输出系统和技术
US11561765B2 (en) 2013-12-27 2023-01-24 Intel Corporation Scalable input/output system and techniques to transmit data between domains without a central processor
US10127012B2 (en) 2013-12-27 2018-11-13 Intel Corporation Scalable input/output system and techniques to transmit data between domains without a central processor
CN113765892A (zh) * 2014-05-09 2021-12-07 谷歌有限责任公司 用于适应网络协议更新的系统、方法和计算机可读介质
CN105808502B (zh) * 2014-12-29 2019-09-13 杭州华为数字技术有限公司 片上系统
CN105808502A (zh) * 2014-12-29 2016-07-27 杭州华为数字技术有限公司 片上系统
CN109313618A (zh) * 2016-06-30 2019-02-05 英特尔公司 用于分组传递的图形处理单元(gpu)
CN109313618B (zh) * 2016-06-30 2023-07-28 英特尔公司 用于分组传递的图形处理单元(gpu)
CN106254061A (zh) * 2016-08-14 2016-12-21 北京数盾信息科技有限公司 一种高速网络存贮加解密方法
CN106254061B (zh) * 2016-08-14 2019-08-23 北京数盾信息科技有限公司 一种高速网络存贮加解密方法
CN110769125A (zh) * 2019-10-29 2020-02-07 江苏微锐超算科技有限公司 一种适用于处理芯片的通信协议选择方法及装置
CN111124984A (zh) * 2019-12-24 2020-05-08 广州小鹏汽车科技有限公司 多车载微控制单元间的通信方法及系统
CN113157248A (zh) * 2020-01-07 2021-07-23 爱思开海力士有限公司 存内处理(pim)系统和pim系统的操作方法
CN113391142A (zh) * 2020-03-12 2021-09-14 爱德万测试公司 使用主机总线适配器在自动化测试设备中提供协议灵活性
CN111367852B (zh) * 2020-03-23 2021-08-10 广州视源电子科技股份有限公司 一种设备的操作方法、装置、设备和存储介质
CN111367852A (zh) * 2020-03-23 2020-07-03 广州视源电子科技股份有限公司 一种设备的操作方法、装置、设备和存储介质
CN112882989A (zh) * 2021-02-04 2021-06-01 无锡沐创集成电路设计有限公司 协议处理系统和协议数据处理方法
CN112882989B (zh) * 2021-02-04 2024-04-02 无锡沐创集成电路设计有限公司 协议处理系统和协议数据处理方法
CN117389931A (zh) * 2023-12-12 2024-01-12 芯动微电子科技(武汉)有限公司 适用于总线访问gpu核内存储器的协议转换模块及方法
CN117389931B (zh) * 2023-12-12 2024-05-03 芯动微电子科技(武汉)有限公司 适用于总线访问gpu核内存储器的协议转换模块及方法

Also Published As

Publication number Publication date
CN100524287C (zh) 2009-08-05
US7353362B2 (en) 2008-04-01
US20070239966A1 (en) 2007-10-11
TW200604836A (en) 2006-02-01
JP2005044361A (ja) 2005-02-17
TWI291104B (en) 2007-12-11
JP4542845B2 (ja) 2010-09-15
KR100690557B1 (ko) 2007-03-09
US20050021871A1 (en) 2005-01-27
US7917729B2 (en) 2011-03-29
KR20050013076A (ko) 2005-02-02

Similar Documents

Publication Publication Date Title
CN1910571A (zh) 单芯片协议转换器
KR100986006B1 (ko) 마이크로프로세서 서브시스템
US20240296140A1 (en) Scalable Network-on-Chip for High-Bandwidth Memory
CN1239999C (zh) 处理iSCSI命令的方法和系统
CN1279469C (zh) 一种处理器中处理数据的方法和处理数据的系统
CN1188794C (zh) 到一个共享的协处理器资源的多个逻辑接口
CN1256681C (zh) 从外围设备向主计算机系统传输中断的方法和装置
CN1488105A (zh) 控制数据处理系统间经由存储器的数据流的方法和装置
CN1661583A (zh) 协议转换和仲裁电路、系统及转换和仲裁信号的方法
CN1640089A (zh) 用于NGIO/InfiniBandTM应用的远程密钥验证的方法和机制
CN1488104A (zh) 控制数据处理系统间经由存储器的数据流的方法和装置
CN1881934A (zh) 微处理器、网络系统和通信方法
WO2005073866A2 (en) Systems and methods for reconfigurable computing
CN101040268A (zh) 宽带网络计算机体系结构中的外部数据接口
CN1146804C (zh) 快速16位分离事务i/o总线
CN1716227A (zh) 操作装置及操作装置控制方法、程序和计算机可读介质
CN1864149A (zh) 单连接和容错对称多计算系统上的组到组通信
CN1813250A (zh) 在数据驱动架构网状阵列中控制存储器存取装置
CN1275143C (zh) 数据处理系统及方法
JP4088611B2 (ja) シングル・チップ・プロトコル・コンバーター
CN1585934A (zh) 在存储器互连中进行读发起优化的方法和装置
CN1842059A (zh) 在计算机网络中接收包的方法和系统
CN101043446A (zh) 数据转发处理的方法和装置
CN1351297A (zh) 具有网络拓扑结构的自适应信息处理系统
CN100338593C (zh) 在计算机部件之间设置改进接口的装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT CORP.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 20120417

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120417

Address after: Washington State

Patentee after: Microsoft Corp.

Address before: American New York

Patentee before: International Business Machines Corp.

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CX01 Expiry of patent term

Granted publication date: 20090805

CX01 Expiry of patent term