CN100367730C - 一种互连系统 - Google Patents

一种互连系统 Download PDF

Info

Publication number
CN100367730C
CN100367730C CNB028081242A CN02808124A CN100367730C CN 100367730 C CN100367730 C CN 100367730C CN B028081242 A CNB028081242 A CN B028081242A CN 02808124 A CN02808124 A CN 02808124A CN 100367730 C CN100367730 C CN 100367730C
Authority
CN
China
Prior art keywords
bus
interconnection system
node
data
interconnection
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.)
Expired - Fee Related
Application number
CNB028081242A
Other languages
English (en)
Other versions
CN1504035A (zh
Inventor
I·斯瓦布里克
P·温塞
S·瑞安
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.)
Rambus Inc
Original Assignee
ClearSpeed Technology PLC
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
Priority claimed from GB0103687A external-priority patent/GB0103687D0/en
Priority claimed from GB0103678A external-priority patent/GB0103678D0/en
Priority claimed from GB0121790A external-priority patent/GB0121790D0/en
Application filed by ClearSpeed Technology PLC filed Critical ClearSpeed Technology PLC
Publication of CN1504035A publication Critical patent/CN1504035A/zh
Application granted granted Critical
Publication of CN100367730C publication Critical patent/CN100367730C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • 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/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof

Abstract

一种互连系统(110)将多个可再用的功能单元(105a)、(105b)、(105c)相互连接。该系统(110)包括多个节点(135)、(140)、(145)、(150)、(155)、(160),每个节点与一个功能单元进行通信。在功能单元之间传送多个数据分组。每个数据分组具有与其相关的路由选择信息,使得一个节点能够通过互连系统引导该数据分组。

Description

一种互连系统
技术领域
本发明涉及一种互连网络。特别但不专门地涉及一种芯片内互连网络。
背景技术
一个用于互连多个功能单元(或处理单元)的典型的总线系统由一组带有三态驱动器的线路或者是包含多路复用器以获得在总线上的数据的两个单向数据路径组成。对总线的访问由一个判优单元控制,判优单元接受对使用总线的请求,并许可一个功能单元在任一时间访问总线。判优器可以是流水线式的,并且总线本身可以是流水线式的,以便实现一个较高的时钟速率。为了沿总线路由发送数据,系统可以包括多个典型地包括一个查询表的路由器。然后将数据与路由查询表内的条目进行比较,以便将在总线上的数据路由发送到其正确的目的地。
然而,这种路由方案不能在一个芯片上实现,因为其部件的复杂性和尺寸使得这是不能实行的。在现有的片上(on-chip)总线系统上已经通过采用一种不同的方案克服了这一问题,在该不同的方案中,数据被广播,即,从一个功能单元向多个其他的功能单元同时传送数据。这避免了对路由表的需要。然而,将数据广播到芯片上的所有功能单元消耗了相当大的功率,因此是不经济的。并且在一个时钟周期内将数据传送相对长的距离也变得愈加困难。
此外,在一个典型的总线系统中,由于对使用总线(处理装置)的每一个请求必须连接到中央判优器,因此这限制了系统的可伸缩性。建立的系统越大,功能单元离判优器越远,则等待时间增多,可以被一单个判优器处理的并行请求的数目受到限制。因此,在这样的基于中央判优器的总线系统中,总线长度和处理装置的数目通常在起初就是固定的。因此,不可能在以后的阶段延长总线来满足各不相同的系统需求。
另一种形式的互连是一个直接互连网络。这些类型的网络典型地包括多个节点,每个节点是一个分立的路由器芯片。每个节点(路由器)可以连接到一个处理器和多个其他节点,形成一个网络拓扑结构。
在过去,将这个基于网络的方法用作对片上总线的替代是不可能的,因为单个节点太大而不能在一个芯片上实现。
许多现有的总线是为了与一个特定协议一起工作而创建的。许多定制线路涉及该协议的特定特征。相反,许多协议是基于一个具体总线实施方案的,例如,具有特定的归档数据来在某些方面帮助判优器。
发明内容
本发明的目的是提供一种互连网络来作为一个片上总线系统。
特别地,本发明提供一种互连系统,用于连接多个功能单元,此互连系统包括多个节点,根据硬连线的预定义的拓扑结构,每个节点具有固定的地址,并且每个节点与功能单元通信,此互连系统在功能单元之间传送多个数据分组,其中每个数据分组具有与之相关的路由选择信息,使得一个节点能够将数据分组引导到此互连系统的另一节点,此路由选择信息被预编译。
本发明还提供一种用于在多个节点之间选择路由发送数据分组的方法,根据硬连线的预定义的拓扑结构,每个节点具有固定的地址,并且每个节点与功能单元通信,每个数据分组具有与之相关的路由选择信息,此路由选择信息被预编译,此方法包括如下步骤:(a)读取此路由选择信息;(b)根据此路由选择信息,确定传送数据分组的方向;以及(c)在步骤(b)中所确定的方向上,传送数据分组。
本发明还提供一种处理系统,其结合根据本发明的互连系统。
本发明还提供一种集成电路,其结合根据本发明的互连系统。
本发明还提供一种集成系统,包括多个芯片,每个芯片结合根据本发明的互连系统,其中此互连系统互连这多个芯片,并且其中在芯片集成时,编译路由选择信息。
与广播数据相比,这是通过在总线上为数据选择路由来实现的。数据的路由选择利用一个简单的寻址方案来实现,在该方案中,每个事务处理具有与其相关的路由选择信息,例如一个地理地址,使得互连网络内的节点能够为事务处理选择路由到其正确的目的地。
以这种方式,路由选择信息包含关于要发送数据分组的方向的信息。这个路由选择信息不仅仅是一个目的地的地址,还提供了方向信息,例如一个网格的x,y坐标来给出方向。这样,节点不需要路由表或全局信号来确定方向,因为节点需要的所有信息都包含在数据分组的路由选择信息中。这使得节点和互连系统的线路能够被简化,使得系统能够被集成在一个芯片上。
如果每个功能单元与一个节点相连,并且所有节点连接在一起,则在系统中的每对节点之间存在一个流水线式连接。插入其间的节点的数目将控制流水线级的数目。如果有成对的连接节点之间因距离太大而不能在一单个时钟周期内发送数据,则可以在节点之间插入一个中继器块。这个中继器块寄存数据,同时与其他总线模块保持相同的协议。中继器块的包含使得能够创建任意长度的互连。
依据本发明的互连系统可以被用在一个芯片内互连网络中。数据传送都被分组,分组可以是数据路径宽度的倍数的任何长度。用于创建互连网络的总线的节点(节点和T开关)都具有在数据路径上的寄存器。
本发明的主要优点是它固有地就是可再用的。实施者只需要例示出足够的功能块来形成正确长度的互连,用合适数目的接口和足够的中继器块来实现所希望的时钟速率。
依据本发明的互连系统采用分布式判优。随着增加了更多块,判优性能提高。因此,如果总线需要被延长,则仅仅需要例示更多节点和可能的中继器。由于每个模块管理其自身内部的自己的判优,因此互连的整体判优性能提高。这使得本发明的总线系统比其他常规的总线系统具有更好的可伸缩性(在长度上和整体带宽上)。
由本发明的系统采用的判优是真正地分布式和“局部化”的。这被简化得使得没有象在常规分布式系统中那样的轮询过程来看下游路由是否空闲,而是由“阻塞节点”启动这个信息并由上游节点流水线式地输送回互连(总线)。
依据本发明的互连在功率消耗方面是高效的。由于分组被路由发送而不是广播,只有源和目的节点之间的线路被转换(toggle)。剩余的总线驱动器是时钟门控的。因此本发明的系统消耗更少的功率。
此外,总线上的每个节点具有一个与其相关的唯一地址:接口地址。保留分组中的一个字段来保存一个目的地接口地址。总线上的每个节点将询问一个输入分组的这个字段;如果与其接口地址匹配,则它为这个分组选择路由脱离互连(或总线),如果不匹配,则它沿总线向下为这个分组选择路由。这个寻址方案将被扩展到支持用于广播消息的“通配符”;如果地址的一个子集匹配接口地址,则为分组选择路由脱离总线并沿总线向下传递,否则仅仅沿总线向下转送。
对于来到总线上的分组,每个接口单元询问该分组的目的地接口地址。这是用来判定从一个附加单元到达总线上的一个分组将被向哪一个方向选择路由。在一个线性总线的情况下,这将是一个简单的比较:如果目的地地址大于数据源的接口地址,则分组被沿总线“向上”路由发送,否则分组被沿总线“向下”路由发送。这可以被扩展到每个接口单元,使得每个节点将目的地地址或地址范围映射到总线上的方向上。
优选地,接口单元根据这个比较的结果设置一个二进制航线(lane)信号。以这种方式,将功能性在节点和接口单元之间分割开。要被传送的数据的所有“准备”(包括协议要求)在接口单元中实现。由于不管要被传送的数据的类型如何该节点都是不变的,这允许更大的灵活性,使得节点能在不同的电路中再用。更优选地,节点引导分组脱离互连系统而到达一个功能单元。
更优选地,对于以互连为目的地的数据,接口单元可以实现下面的功能:从功能单元取出分组,确保一个正确的目的地模块ID、头位和尾位;将目的地模块ID与本地模块ID比较,并根据这个比较的结果设置一个二进制航线信号;将模块ID、数据和任何高级(非总线)控制信号打包成一个数字流(flit);实现所需要的任何协议改变;以及,采用注入协议将航线信号和流数字传送到该节点。
T结点或开关的工作方式类似;判决在这里仅仅是判断将分组沿一个分支还是另一个分支向下选择路由发送。这将典型地对于地址范围来完成;如果地址大于一些预定值,则分组向左选择路由发送,否则向右选择路由发送。然而,如果需要的话,可以实现一些复杂的路由方案。
寻址方案可以扩展到支持芯片间通信。在这种情况下,使用地址内的一个字段来定义一个目标芯片地址,例如用这个字段中的0代表芯片的本地地址。当一个分组到达该芯片时,将这个字段与芯片的预先编程的地址进行比较。如果匹配,则将该字段设置为零,本地路由的操作如上。如果不匹配,则将分组沿总线路由发送到适当的芯片间接口,以便向其最终的目的地路由发送。这个方案可以扩展到允许一个分层寻址方案来管理跨越系统、子系统、板级、芯片组以及单个芯片的路由。
依据本发明的系统并不适合于所有总线类型的应用。因为没有中央判优点,源和目的地处理装置被分离。本发明的方法的优点在于可以构造长总线(网络)并带有非常高的合计(aggregate)带宽。
本发明的系统是协议不可知的(agnostic)。本发明的互连仅仅传送数据分组。依据本发明的接口单元管理所有协议特定特征。这意味着容易转移到一个新的协议,因为只有接口单元需要被重新设计。
本发明还提供了灵活的拓扑结构和长度。
本发明的中继器块允许非常高的时钟速率,因为互连的整个模块化结构防止时钟速率受到长布线的限制。这简化了合成和布局。中继器块不仅在数据向下游行进时流水线式输送数据,它们还实现一个流程控制协议;将阻塞信息沿互连(或总线)向上流水线式输送(而不是全局分布一个阻塞信号)。当被阻塞时,这个机制的一个特征是在总线上实现至少两倍于等待时间数值的数据压缩(固有缓冲),即,如果通过中继器的等待时间是一个周期,则在其被阻塞时将串行连接两个数据控制流数字(数字流flits:在本发明的互连上的数据传送的基本单位。它包括n字节的数据以及一些边带控制信号。流控制数字的尺寸等于总线数据路径的尺寸)。这意味着任何阻塞的范围将被最小化,从而减小了功能块中的排队需要。
数据流控制数字的流由一个流控制协议结合前面描述的存储块(和中继器单元)中的双缓冲来管理。
本发明的互连的部件管理分组的运输。定制接口单元处理协议特定特征。这些典型地涉及控制信息和数据的打包和拆包以及地址变换。定制接口单元可以被创建为匹配任何特定并行操作。
许多分组可以同时沿本发明的互连的单独分开的部分前进。这使得可达到的带宽要比线路的原始带宽(总线宽度乘以时钟速率)高得多。例如,如果有四个相邻的片上块A、B、C和D,则A和B可以在C和D通信的同时进行通信。在这种情况下,可达到的带宽是基于广播的总线的两倍。
将分组注入(门控)到在每个节点的互连上,使得每个节点被分配一特定数量的整体带宽分配(例如,在每100个周期内能够发送比方说10个流控制数字)。这个分布式方案控制整体带宽分配。可以持续推动分组到本发明的互连上,直到它饱和。所有分组将最终被传送。这意味着可以将互连用作一个带有内置流控制机制的缓冲器。
附图说明
图1是包含依据本发明的一个实施例的互连系统的系统的方框示意图;
图2是显示图1的虚拟部件接口系统的启动器和目标的方框示意图;
图3是图1所示的互连系统的节点的方框示意图;
图4是在图1所示的系统的虚拟部件之间的依据本发明的互连上的连接的方框示意图;
图5a是图1的T-开关的典型结构的示意图;
图5b是显示图5a的T-开关的内部连接的示意图;
图6显示了图1的系统的模块ID(接口ID)编码;
图7显示了依据本发明的一个实施例的互连系统中的握手信号;
图8显示了当occup(占用)[1:0]=01时本发明的一个实施例的互连系统的阻塞行为;
图9显示了依据本发明的一个实施例的互连系统的两个周期的阻塞;
图10显示了依据本发明的一个实施例的虚拟部件接口握手;
图11显示了依据本发明的一个实施例的系统的线性芯片排列;
图12是显示一个替换拓扑结构的本发明的互连系统的示意方框图;
图13是显示另一个替换拓扑结构的本发明的互连系统的示意方框图;
图14显示了依据本发明的一个实施例的业务处理子系统的一个例子;
图15显示了依据本发明的一个优选实施例的方法用于在虚拟网格上定位芯片的系统;以及
图16显示了依据本发明的一个优选实施例的方法路由发送一个事务处理。
具体实施方式
用于在功能块之间通信数据和控制信息的基本机制是各块采用依据本发明的互连系统100交换消息。总线系统可以被扩展到在多芯片系统中连接各块,同样的机制可用于一个芯片内的各块或不同芯片上的各块。
如图1所示,包含依据本发明的一个实施例的互连系统110的系统100的一个例子包括多个可再用的片上功能块或虚拟部件块105a、105b和105c。这些功能单元与互连接口,可以被固定。它们可以在不同的电路设计中的各个抽象级别(例如,RTL,门电平,GDSII布局数据)被再用。一旦尺寸、高宽比和对互连的I/O的位置已知,则拓扑结构可以被固定。每个片上功能单元105a、105b、105c通过其接口单元与互连系统110相连。接口单元处理地址译码和协议转换。片上功能块105a例如通过一个相关虚拟部件接口启动器115a和外围虚拟部件接口启动器120a与互连系统110相连。
片上功能块105b例如通过一个相关虚拟部件接口目标125b和外围虚拟部件接口目标130b与互连系统110相连。片上功能块105c例如通过一个相关虚拟部件接口启动器115c和外围虚拟部件接口目标130c与互连系统110相连。图1中所示的用于每个片上功能块的相关启动器和目标仅仅是例示性的,可以根据相关的块需求而变化。一个功能块可以具有到互连系统的数个连接。每个连接具有一个高级虚拟部件接口(形成基本虚拟部件接口的一个超集的扩展。这是用于本发明的系统中的主要数据接口的协议)或外围虚拟部件接口接口(允许基本操作的低带宽接口,在本发明中主要用于控制寄存器访问)。
用于将如图1所示的这种片上功能单元连接到依据本发明的实施例的系统互连的一种当前被接受的协议是虚拟部件接口。虚拟部件接口是一个用于在总线和/或虚拟部件之间通信的OCB标准接口,与任何特定总线或虚拟部件协议无关。
有三种类型的虚拟部件接口,外围虚拟部件接口120a、130b、130c、基本虚拟部件接口和高级虚拟部件接口。基本虚拟部件接口是一个比外围虚拟部件接口更宽、更高带宽的接口。基本虚拟部件接口允许分割事务处理。分割事务处理是分离对数据的请求和响应,使得在启动进一步的事务处理之前对数据的请求不需要等待响应被返回。高级虚拟部件接口是基本虚拟部件接口的一个超集。高级虚拟部件接口和外围虚拟部件接口在依据本发明的实施例的系统中已经被采用。高级虚拟部件接口单元包括一个目标和一个启动器。目标和启动器是发送请求分组和接收响应分组的虚拟部件。启动器是启动事务处理的代理程序,例如DMA(或F150上的EPU)。
如图2所示,将一个启动读或写事务处理的接口单元称为启动器210(发出一个请求220),而将一个接收事务处理的接口称为目标230(响应于一个请求240)。这是标准虚拟部件术语。
每个片上功能块105a、105b和105c及其相关启动器和目标之间的通信是采用虚拟部件接口协议作出的。每个启动器115a、120a、115c和目标125b、130b、130c连接到一个唯一的节点135、140、145、150、155和160。每个启动器115a、120a、115c和目标125b、130b、130c之间的通信采用依据本发明的实施例的并将在下面更详细描述的协议。
依据本发明的一个实施例的互连系统110包括三条分离总线165、170和175。RTL部件具有可参数化的宽度,因此这些可以具有三个不同宽度的实例。一个例子可以是一个64位宽度的外围虚拟部件总线170(32位地址+32数据位)、一个128位高级虚拟部件接口总线165和一个256位高级虚拟部件接口总线175。虽然这里显示了三条分离总线,但显然本发明的互连系统可以包含任何数目的分离总线。
对于所有总线165、170和1175,可以沿总线长度以规则的间隔插入一个中继器单元180。在总线165、170和175的长度上没有任何限制。总线165、170和175的长度上的变化仅仅需要增加中继器单元180的个数。当然仅仅在由于互连线路的长度而使得不能满足两个节点之间的定时约束时才需要中继器单元。
对于复杂的拓扑结构,可以提供T开关(3向连接等)。本发明的互连系统可以被用在任何拓扑结构中,但在拓扑结构包含循环时则要注意,因为可能会产生死锁。
将数据以分组形式在本发明的互连网络上传送。分组可以是为数据路径宽度的倍数的任何长度。用于生成互连网络(节点和T开关)的依据本发明的节点135、140、145、150、155和160在数据路径上都具有寄存器。
每个接口单元与互连系统本身内的一个节点相连,因此与总线的一个特定航线相连。连接可以是启动器或目标类型的,但不是同时是这两种类型的一遵循虚拟部件接口的惯例。在实践中,每一块可能具有一个用于配置和控制的外围虚拟部件接口目标接口。
依据本发明的实施例的总线部件采用分布式判优,其中总线系统中的每一块管理对其自身资源的访问。
在图3中显示了一个依据本发明的实施例的节点135。每个节点135、140、145、150、155和160都基本上类似。节点135与图1的总线175相连。每个节点包括第一和第二输入存储器315、320。第一输入存储器315具有一个连接到第一总线航线305的输入。第二输入存储器320具有一个连接到第二总线航线310的输入。第一输入存储器315的输出连接到第三总线航线306,第二输入存储器320的输出连接到第四总线航线311。每个节点进一步包括一个注入控制单元335和一个消耗控制单元325。节点不需要消耗判优,例如,节点可以具有一个用于每个单向航线但保留消耗握手的输出。注入控制单元335的输入连接到用于该节点的各个功能单元的接口单元的输出。注入控制单元335的输出连接到第五总线航线307和第六总线航线312。消耗控制单元325的输入连接到一个多路复用器321的输出。多路复用器321的输入连接到第四总线航线311和第三总线航线306。消耗控制单元325的输出连接到一个与用于该节点的各个功能单元的接口单元相连的总线330。第五总线航线307和第三总线航线306连接到一个多路复用器308的输入。多路复用器308的输出连接到第一总线航线305。第四总线航线311和第六总线航线312连接到一个多路复用器313的输入。多路复用器313的输出连接到第二总线航线310。
节点是数据离开或进入总线的连接点。它还形成运输媒介的一部分。节点形成它所连接到的总线航线的一部分,包括数据路径的两个方向。节点在它所连接到的航线上在没有阻塞时以一个周期的等待时间传送数据。它还允许连接功能块通过其接口单元在任一方向上注入和消耗数据。所注入的或经过的数据的判优全部在节点内执行。在内部,总线175由第一航线305和第二航线310组成。第一和第二航线305和310是被多路复用和去多路复用到节点135内的同一接口的在物理上分离的单向总线。如图3所示,第一航线305的数据流的方向是与第二航线310的数据流相反的方向。每个航线305和310具有一个航线号。航线号是一个从接口单元传送到节点以确定每个分组要被发送到哪一航线(因此到哪一方向)的参数。当然,可以理解,第一和第二航线305和310的数据流的方向可以在同一方向。如果总线上的块处理仅仅需要在一个方向上发送分组,这将是所希望的。
节点135能够在同一总线航线上同时接收和注入数据。同时,它可以使数据在另一个航线上通过。每个单向航线305、310运载一个单独的数据流306、307、311、312。这些数据流306、307、311、312在数据通过接口单元115a和120a(这里未显示)离开节点135进入片上模块105a(这里未显示)的点321被多路复用在一起。数据流306、307、311、312被从片上块105a去多路复用到总线航线305和310上,以便将数据放在互连110上。
这是本地判优的一个例子,其中对资源的竞争是在那些资源所在的块105a中解决的。在这种情况下,是对于访问总线航线和访问离开总线的单个航线的竞争。这个使用本地判优的方法被使用在整个互连系统中,并且对于其伸缩性是关键的。一种替换是两个输出总线都是从节点到功能单元,这样则不需要判优多路复用器。
每个航线可以独立地阻塞或使数据通过。每次可以从一个航线消耗数据,同时在一个航线注入数据。在同一航线上的同时注入和消耗也被允许。每个分组被注入到哪一航线上是在接口单元内确定的。
每个输入存储器(或寄存器)315和320在数据从节点到节点穿过时寄存数据。每个存储器315、320包含两个流数字宽度的寄存器。当对于总线资源没有竞争时,只使用一个寄存器。当总线阻塞时,则使用两个寄存器。还实现“阻塞在标题上”的特征。需要这一特征来允许分组在标题流数字上阻塞,以使得一个新的分组可以被注入到总线上。
输出接口单元321、325将两个总线航线305、310多路复用到一个通过连接到节点135的接口单元馈入片上功能单元105a的航线330上。输出接口单元321、325还执行一个判优功能,许可一个航线访问片上功能单元,同时阻塞另一个航线。每个节点还包括一个输入接口单元335。输入接口单元335执行分组到总线航线305、310中的一个上的去多路复用。它还执行一个判优功能,阻塞正在被输入的分组,直到所请求的航线可用。
沿互连110的长度按间隔提供多个中继器单元180。每个中继器单元180被用于引入数据路径上的额外寄存器。它增加一个额外周期的等待时间,但只用在难以满足定时约束的时候。每个中继器单元180包括一个与节点的存储单元类似的存储器。存储器单元仅仅将数据向上传送,并实现阻塞行为。没有在中继器单元中实现的切换。中继器块在芯片布局上允许更大的自由度。例如,它允许在节点之间的长布线距离,或者,在一个块具有一单个节点来连接一单个航线的地方,可以将中继器插入到其他航线中来在所有航线上产生统一的定时特性。在两个节点之间可以有不止一个中继器。
依据本发明的实施例的系统是协议不可知的,也就是说,诸如节点135、140、145、150、155、160、中继器单元180和T开关185的数据运输块仅仅将数据分组从一个源接口路由传送到一个目的接口。每个分组将包含控制信息和数据。这个信息的打包和拆包在接口单元115a、120a、125b、130b、115c、130c中执行。对于优选实施例,这些接口单元是虚拟部件接口,但应该理解,通过创建定制接口单元可以支持任何其他协议。
一个大的片上块可以具有对同一总线的几个接口。
接口单元的目标和启动器115a、120a、125b、130b、115c、130c执行在启动器中的高级虚拟部件接口和总线协议以及目标中的从总线到高级虚拟部件接口之间的变换。协议是一个在图10所示的高级虚拟部件接口一侧的异步握手。接口单元启动器包括一个发送路径。这个路径执行高级虚拟部件接口通信协议到总线协议之间的变换。它提取出一个目的地模块ID或接口ID。并且,一个块可以以在每个总线地址上的不同的模块(接口)ID连接到几个总线,将其打包成分组的正确部分,并结合一个硬更连线的路由表使用模块ID来产生一个航线号(例如,1用于右边,0用于左边)。在数据不能被发送到总线上时,启动器将数据阻塞在高级虚拟部件接口。接口单元启动器还包括一个响应路径。响应路径接收先前请求的数据,从总线通信协议变换成虚拟部件接口协议。如果片上虚拟部件块不能接收数据,则将数据阻塞在总线上。
接口单元目标包括一个接收输入的读和写请求的发送路径。目标从总线通信协议变换成高级虚拟部件接口协议。如果数据不能通过虚拟部件接口被接受,则将数据阻塞在总线上。目标还包括一个运载读(以及用于确认目的的写)请求的响应路径。它将高级虚拟部件接口通信协议变换成总线协议,如果数据不能被发送到总线上,则将数据阻塞在高级虚拟部件接口。
在本发明的实施例中采用的其他类型的接口单元是一个外围虚拟部件接口。外围虚拟部件接口和高级虚拟部件接口之间的主要差别是外围虚拟部件接口的数据接口可能比高级虚拟部件接口窄(直至4字节),并且外围虚拟部件接口不是分割事务处理。
外围虚拟部件接口单元执行在启动器中的外围虚拟部件接口和总线协议之间以及目标中的从总线协议到外围虚拟部件接口协议的变换。协议是一个在外围虚拟部件接口一侧的异步握手。
接口单元启动器包括一个发送路径。它从存储器地址产生目的地模块ID和运输航线号。当数据不能被发送到总线上时,启动器将数据阻塞在外围虚拟部件接口。启动器还包括一个响应路径。这个路径接收先前请求的数据,从总线通信协议变换成外围虚拟部件接口协议。如果片上块(虚拟部件块)不能接收数据,则将数据阻塞在总线上。
外围虚拟部件接口单元目标包括一个接收输入的读和写请求的发送路径。如果数据不能通过虚拟部件接口被接受,则将数据阻塞在总线上。目标还包括一个运载读(以及用于确认目的的写)请求的响应路径。它将外围虚拟部件接口通信协议变换成总线协议,如果数据不能被发送到总线上,则将数据阻塞在虚拟部件接口。
外围虚拟部件接口启动器可以包括一个合并的启动器和目标。可以从其读出启动器的调试寄存器(例如)的地方就是这样。
参考图4,可以在依据本发明的互连系统上将虚拟部件(片上)块相互连接。第一虚拟部件(片上)块425与接口单元目标430点对点地连接。接口单元目标430将一个虚拟部件启动器接口440呈现给片上块425的虚拟部件目标445。接口单元目标430使用一个总线协议变换单元448与总线互连450进行接口。接口单元启动器460将一个目标接口470呈现给第二片上块455的启动器457,并再次在另一端使用一个总线协议变换单元468。
图1的T开关185是一个连接3个节点的块,允许比简单线性互连更复杂的互连。在每个输入端口,每个分组的接口D被译码并翻译成一单个位,该单个位代表两个可能的输出端口。T开关内部的一个硬连线的表执行这个译码。对于T开关上的每个输入端口有一个这样的表。如果有冲突,则对输出端口进行判优。胜者可以发送当前分组,但在该分组已经被发送之后则必须让步。图5a和5b显示了T开关的结构的一个例子。
该T开关包括连接到每对单向总线航线520、525、530的三组输入/输出端口505、510、515。在T开关内,为每对总线航线520、525、530提供一个T接头535、540、545,以使得进入输入端口515的输入总线520例如可以通过输出端口505或510输出。
分组在总线上的任何点处都不改变航线,因此T开关可以被视为一组n个3向开关,其中n是单向总线航线的个数。T开关185包括一个航线选择单元。航线选择单元接受输入分组的模块ID,并产生一个对应于开关上的两个可能的输出端口的1位结果。T开关还在每个输入航线上包括一个存储块。每个存储块存储数据流控制数字,并在输出端口临时不能接收时允许它们阻塞在适当位置。它还执行一个“阻塞在标题上”的功能,允许切换出现在分组级(而不是流控制数字级)。T开关还包括一个用于在请求之间判优以使用输出端口的判优器。
在初始化期间,依据本发明的实施例的互连系统加电到一个可用状态。路由选择信息被硬编码到总线部件中。例如如图6所示的目的地模块接口ID(modID)是将一个分组路由传送到另一个节点所需的全部信息。为了使该节点返回一个响应分组,必须已经发送了发送者的模块接口ID。
在一个处理系统中可以有不止一个互连。在每条总线上,每一个接口(包括一个注入和消耗端口)具有一个唯一的ID。这些ID在硅编译时间被硬编码(hard-coded)。
连在总线上的单元(片上块)在复位之后可以直接自由启动通信。接口单元将(通过不应答它们)延缓通信,直到它已经准备好开始操作。
依据本发明的互连系统具有一个通用的内部协议。在对片上块的接口上可以将其变换成一些其他协议,例如如上所述的虚拟部件接口。内部协议将被称为总线协议。如果对资源没有争用,这个总线协议对于沿总线行进的分组允许单个周期的等待时间,并当出现争用时允许分组阻塞在适当的位置。
总线协议被用于所有内部(非接口/虚拟部件接口)数据传送。它由五个信号组成:发送器735和接收器730之间的occup(占用)705、head(头)710、tail(尾)715、data(数据)720和valid(有效)725。这些显示在图7中。
分组由一个或多个流控制数字组成。在发送器声明valid信号的每一个周期上,接收器必须在下一个正时钟边沿上接受该数据。
接收器730采用occup信号705通知发送器735关于其当前的状态。这是一个两位宽度的信号。
  Occup[1:0]   含义
  00   接收器是空的一可以发送数据。
  01   接收器具有流控制数字一如果在这个周期发送流控制数字,则在下一个周期不发送流控制数字。
  10   接收器是满的。不要发送任何流控制数字,直到Occup减小。
  11   未使用。
表I:Occup信号值及其含义
occup信号705告知发送器735是否以及何时能够发送数据。当发送器735被允许发送一个数据流控制数字时,用一个valid信号725来证明其资格。
在每个分组中的第一个流控制数字由head=’1’进行标记。最后一个流控制数字由tail=’1’进行标记。一单个流控制数字分组具有信号head=tail=valid=’1’。每个节点和T开关使用这些信号来执行在分组级的切换。
图8显示了在依据本发明的一个实施例的互连系统上的阻塞行为的一个例子。Occup信号被设置为‘1’,含义是“如果在这个周期发送一个流控制数字,不要在下一个周期发送一个流控制数字”。
图9更全面地显示了阻塞机制的一个例子。Occup信号被设置到01(二进制),然后设置到10(二进制)。当occup信号被设置回01时,发送器可以重新开始发送流控制数字一在该点当前未发送一个流控制数字,因此能够在下一个周期发送一个。
在节点和接口单元之间的边界的协议与刚刚描述的不同,而与虚拟部件接口所使用的类似。在发送和接收接口,有一个val和一个ack信号。当val=ack=1时,为注入协议交换一个流控制数字。消耗(总线输出)协议不同于注入协议,但是是允许所寄存的输出的最小逻辑(因此简化了合成和集成为芯片上的一个系统)。消耗协议被定义为:在上升时钟边沿,如果CON_BLOCK=1,在下一个时钟边沿将数据阻塞;在上升时钟边沿,如果CON_BLOCK=0,在下一个时钟边沿对数据解除阻塞;CON_BLOCK是来自功能单元的流控制(阻塞)信号。
当然,在这个接口的协议可以被改变,而不影响总线的总体操作。
这个和虚拟部件接口之间的差别在于ack信号是默认为高的,只在不能接收数据时才在一个周期上声明为低。如果没有这个限制,节点将需要额外的寄存器组。
总线协议允许交换由一个或多个流控制数字组成的分组。第一分组的高位部分中的八位运载目的地模块ID,由总线系统用来传送分组。前2位也用于内部总线目的。在所有其他的位字段中,流控制数字的打包与总线系统无关。
在每个接口单元,使用虚拟部件接口协议。接口控制和数据字段由发送接口打包成总线流控制数字,然后在接收接口单元拆包。对总线的主要的高带宽接口采用高级虚拟部件接口。除了用于优化OCB的内部操作的那些特征之外,高级虚拟部件接口的所有特征都被实现。
虚拟部件接口协议使用如图8所示的一个异步握手。当VAL=ACK=1时,数据有效。总线接口将数据和控制信息从虚拟部件接口协议变换到总线内部通信协议。
总线系统不在控制信息和数据之间进行区分。事实上,控制位和数据被打包成分组,并发送到目的地接口单元,在那里将其拆包并分离回数据和控制。
虽然在最佳实施例中,利用了服从虚拟部件接口的接口单元,但应该理解,可以使用不同的接口单元来替代(例如,服从ARM AMBA的接口)。
表II显示了由依据本发明的一个实施例的互连系统使用的数据流控制数字内的字段。流控制数字内的所有其他信息由总线简单地运输。编码和译码由接口单元执行。接口单元还将head和tail位插入到流控制数字中,并将MOD ID插入到正确的位字段中。
名字   位 注释
Head   FLOW CONTROLDIGIT_WIDTH-1 设置为“1”来指示分组的第一个流控制数字。
Tail   FLOW CONTROLDIGIT_WIDTH-2 设置为“1”来指示分组的最后一个流控制数字。
ModID   FLOW CONTROLDIGIT_WIDTH-3:FLOW CONTROLDIGIT_WIDTH-10 分组要被发送到的接口的ID。虚拟部件接口调用这个MOD ID。它真正地是一个接口ID,因为一个大的功能单元可以具有多个总线接口,在这种情况下,需要将其区分开。
表II:特定字段
高级虚拟部件接口分组类型是读请求、写请求和读响应。读请求是一单个流控制数字分组,所有相关的虚拟部件接口控制字段被打包成流控制数字。写请求由两个或更多流控制数字组成。第一个流控制数字包含虚拟部件接口控制信息(例如地址)。后续的流控制数字包含数据和字节使能。读响应由一个或更多流控制数字组成。第一个和后续的流控制数字都包含数据以及虚拟部件接口响应字段(例如RSCRID、RTRDID和RPKTID)。
下面描述将高级虚拟部件接口映射到分组上的一个例子。这个例子是用于一个带有128位宽度的数据路径的总线的。应该注意,节点从每个分组的第一个流控制数字中的位159:152提取出目的地模块ID。在读响应分组的情况下,这对应于虚拟部件接口RSCRID字段。
  AVCI/BVCI信号名称   宽度   位   只有标题流控制数字?   只有读响应?   方向   注释
  CLOCK   1   -   -   -   IA
  RESETN   1   -   -   -   IA
  CMDACK   1   -   -   -   TI   握手信号
  CMDVAL   1   -   -   -   IT   握手信号
  WDATA   128   127:0   IT   只用于写请求
  BE   16   143:128   IT   只用于写请求
  ADDRESS   64   63:0   ǒ   -   IT
  CFIXED   1   64   ǒ   IT
  CLEN   8   72:65   ǒ   IT   ***需要更新***
  CMD   2   75:74   ǒ   IT
  CONTIG   1   76   ǒ   IT
  EOP   1   -   -   -   IT   握手信号
  CONST   1   77   ǒ   IT
PLEN 9 86:78   ǒ   IT
  WRAP   1   87   ǒ   IT
  RSPACK   1   -   -   -   IT   握手信号
  RSPVAL   1   -   -   -   TI   握手信号
  RDATA   128   127:0   ǒ   TI   只用于读响应
  REOP   1   -   -   -   TI   握手信号
  RERROR   2   143:142   ǒ   TI   只用于读响应
DEFD 1 88   ǒ   IT
WRPLEN 5 93:89   ǒ   IT
  RFLAG   4   141:138   ǒ   TI   只用于读响应
SCRID 8 151:144   ǒ   IT
  TRDID   2   95:94   ǒ   IT
  PKTID   8   103:96   ǒ   IT
  RSCRID   8   159:152   ǒ   TI   只用于读响应
  RTRDID   2   137:136   ǒ   TI   只用于读响应
RPKTID 8 135:128   ǒ   TI   只用于读响应
  IT=启动器到目标TI=目标到启动器IA=到所有设备的输入   ǒ字段存在于这些流控制数字中。字段未被包括在这些流控制数字中。-不可应用-不使数据被发送的信号(例如握手信号)。
表III:用于128位宽度总线的可能的虚拟部件接口字段
在总线上不支持外围虚拟部件接口突发模式的读和写事务处理,因为这些不能被高效地实现。由于这个原因,外围虚拟部件接口EOP信号应该被固定在逻辑“1”。任何附加的处理单元或外部单元可以被附着在总线上,但EOP信号应该还被固定在逻辑“1”。利用这个改变,新单元可以正常地工作。
读请求类型是一个运载要被读取的数据的32位地址的单个流控制数字分组。读响应是一个包含所请求的32位数据的单个流控制数字响应。写请求是一个包含要被写入的位置的32位地址加上32位数据以及4位的字节使能的单个流控制数字分组。写响应防止一个目标以与其响应一个读请求类似的方式响应一个写请求。利用所有这些附加信号,32位(数据)外围虚拟部件接口占据了总线上的69位。
  PVCI信号名称   位字段   读请求   读响应   写请求   注释
  CLOCK   -   -   -   -   系统信号
  RESETN   -   -   -   -   系统信号
  VAL   -   -   -   -   握手信号
  ACK   -   -   -   -   握手信号
  EOP   -   -   -   -   握手信号
  ADDRESS   63:32   ǒ   ǒ
  RD   100   ǒ   ǒ
  BE   67:64   ǒ
  WDATA   31:0   ǒ
  RDATA   31:0   ǒ
  RERROR   68   ǒ
表IV
总线的内部寻址机制是基于系统中的所有片上块都具有一个固定的8位模块D的假设的。
虚拟部件接口指定单个全局地址空间的使用。总线根据系统中的每块的模块ID在内部传送分组。模块ID是8位宽度。所有全局地址将包含8位模块ID,接口单元将简单地从该地址中提取出目的地模块ID。地址内的模块ID位的位置被预先确定。
每个系统中的模块ID被分成多组。每组可以包含多至16个模块。系统中的T开关使用组ID来确定将每个分组发送到哪个输出端口。
在每组内,可以有多至16个片上块,每块带有一个唯一的子ID。每组中只包含16个模块并不限制总线拓扑结构。在每个线性总线部分内,可以有不止一个组,但来自不同组的模块不能交叉。在T开关之间可以有不止16个模块。使用一个组ID和子ID的唯一目的是简化T开关内部的路由表。如果不使用T开关,则模块的数目可以是任意的。如果使用一个线性总线拓扑结构并且对接口顺序地编号,这可以简化航线号的产生,因为可以使用一个比较器来代替一个表。然而,在逻辑最小化之后结果一个表可能仍然是更小的。不同总线上的两个接口可以具有相同的mod ID(=接口ID)。
这里描述减少在依据本发明的实施例的互连上的错误业务的一个例子。当不具有一个合法mod ID的分组被呈现给接口单元时,它将应答这些分组,但还将会在rerror虚拟部件接口字段中产生一个错误。分组将不会被发送到总线上。接口单元将其“吸收”并破坏。
在最佳实施例中,总线系统块以与任何给定过程中的可合成的RTL块相同的时钟速率操作。对于一个0.13μm的40G处理器,目标时钟速率是400MHz。将有三条分开的总线。每条总线包括一个分开的参数化的部件。将有一个64位宽度的外围虚拟部件接口总线连接到芯片上的所有功能单元。将有两个高级虚拟部件接口总线,一条带有128位的数据路径(在每个单向航线上的原始带宽是51.2G比特/秒),另一条带有256位的数据路径(在每个单向航线上的原始带宽是102.4G比特/秒)。由于控制和请求分组的开销,这个带宽不能被全部利用,并且不可能总是实现将数据高效打包成流控制数字。由于总线上的并行数据传送,可以看到带宽有一些增大,但这只能在系统模拟中确定。
在实施例中,总线上的分组的等待时间是在发送接口单元的一个周期、在数据通过的每个总线块(节点和中继器)的一个周期、在节点消耗单元的一个或两个附加周期、在接收接口单元的一个周期以及n-1个周期,其中n是流控制数字中的分组长度。这个数字给出了用于整个数据传送的等待时间,意味着等待时间随着分组尺寸而增大。
通过将可编程性引入节点中的注入控制器,有可能控制带宽分配。
分组不可能在总线航线之间进行切换。一旦一个分组被输入总线系统,它总是在同一条总线航线上,直到在目的地接口单元将其清除。从不允许总线上的分组交叉。不需要在每一个时钟周期都注入新的流控制数字。换句话说,可以具有间隙周期。当分组在总线系统内部时,这些间隙将保留在分组中,将会浪费带宽。当它们在总线系统内并且未被阻塞时,这些分组将保留在分组中,因而浪费带宽。如果阻塞,则只将有效数据连接起来,从而可以去除任何中间的非有效数据。除了帮助使间隙分组的数目最小之外,还需要确保提供了足够的FIFO缓冲来允许该块一直注入流控制数字,直到每个分组已经被完全发送,或者以一种使得间隙不出现的方式来设计该块。
在依据本发明的系统中,不限制分组的长度(以流控制数字表示)。然而,对于过大的分组,由于它们将使用更大量的总线资源,因此应该进行考虑。由于具有一个标题流控制数字位的额外开销,因此长分组可以比数个较短分组更高效。
依据本发明的互连系统不保证所请求的数据项按照它们被请求的顺序被返回到一个模块。如果顺序是要紧的,则该块负责对分组重新排序。这是采用高级虚拟部件接口pktid字段实现的,该pktid字段被用于对突出的事务处理进行标记和重新排序。不能假设数据将以与它被请求的相同的顺序从系统中的其他块到达该片上块。当排序很重要时,接收片上块必须能够对分组重新排序。不坚持这个规则就可能会导致系统死锁。
依据本发明的互连系统提供了在互连拓扑结构的选择上的相当大的灵活性。然而,目前在拓扑结构中具有循环是不可取的,因为这些将引入死锁的可能性。
然而,如果要使用循环,以无死锁的方式对路由表进行编程则是可能的。这需要一些提供无死锁的方法以及实现所需检查的软件。
依据本发明的互连系统的进一步的优点是在以分组充满总线时不会使其出现故障。分组最终将被传送,但平均等待时间会显著增大。如果将拥挤减小到低于最大通过量,则它将返回到“正常操作”。
在这个方面,应该考虑下面的规则,即在总线拓扑结构中应该没有循环,片上块一定不能依赖于按顺序返回并且等待时间是重要的事务处理,并且多个处理装置需要使用相同的总线分段,应该有一个最大的分组尺寸。如上所述,如果在将来需要循环,则必须存在一些死锁防止措施。在理想情况下,这将包括一个形式证明。进一步地,如果排序是重要的,这些块必须能够对事务处理重新排序。来自同一目标的在相同航线上行进的两个事务处理将被以与目标发送的相同的顺序返回。如果对两个不同的目标作出请求,则排序是不确定的。
本发明的大多数互连部件将涉及直接的RTL合成并且随后是放置和路由。接口单元可以被包含在片上块或一个为总线保留的区域中,这取决于整个设计的要求,例如,在总线下可能有很多自由的区域,因此使用这个区域比增加功能块区域将更有意义,因为这将减少整个芯片面积。
互连系统形成一个片上系统平台的基础。为了加速将一个片上系统放在一起的过程,已经提出使节点包含必要的“分支钩(hook)”来处理系统时钟复位信号的分布。首先看一个单个芯片,启动器和目标之间的事务处理和响应的路由由连接到互连系统的接口块以及系统中的任何交叉的T开关单元来执行。块的寻址被硬连线并且是地理上的,路由选择信息在芯片集成时被编译成接口和T开关逻辑。该平台要求一些在芯片级上以及芯片上的块级的模块化。因此,关于它们所连接到的何种其他芯片或其内部结构的知识不能被硬编码在芯片本身内,因为这可能根据不同的线卡而变化。
然而,利用本发明,可以通过给予每个芯片一些简单规则并设计芯片的拓扑结构和列举以支持这一点来提供带有硬连线的路由选择信息的灵活的芯片排列。这具有包括简单性以及是对芯片本身内的路由机制的自然扩展的双重好处。
图11显示了线性芯片排列的一个例子。当然,可以理解,依据本发明可以实现不同的拓扑结构。在这样一个线性排列中,容易对芯片1100(0)到(2)顺序地进行编号,使得任何芯片中的任何块知道一个事务处理必须沿互连1110“向上”或“向下”被选择路由到达其目的地,如物理地址的芯片ID字段中所指示的。这与该块执行的路由选择到同一芯片上的另一块的过程完全相同。在这种情况下,利用一个2级判定。如果在“当前芯片”中,则在块ID上选择路由,否则在芯片ID上选择路由。
在图12中显示了一个替换拓扑结构。它包括并行排列的第一总线航线1201和第二总线航线1202。第一和第二总线航线对应于本发明的实施例的互连系统。多个多线程阵列处理器(MTAP)1210连接穿过这两个总线航线1201、1202。网络输入设备1220、采集器设备1230、分配器设备1240、网络输出设备1250与第二总线航线1202相连,表查找引擎1260与第一总线航线1201相连。在这里不提供与总线航线相连的设备的操作的细节。
如图12所示,在一个替换拓扑结构中,第一总线航线1201(例如,256位宽度)专用于快速路径分组数据。第二总线航线1202(例如,128位宽度)被用于一般的非分组数据,例如表查找、取指令、外部存储器访问等等。访问总线航线1201、1202的块使用AVCI协议。可以使用一个附加总线航线(这里未显示)来用于读和写块配置和状态寄存器。访问这个航线的块使用PVCI协议。
更普遍地,可以选择块在何处连接到互连以及它们使用哪个或哪些航线。对底层计划约束条件的容限显然必须被考虑进去。例如各块可以具有多个总线接口。航线宽度可以被配置为满足系统的带宽要求。
由于本发明的互连系统使用接口之间的点对点连接,并使用分布式判优,因此可以具有几对在没有争用或干扰的情况下同时进行通信的功能块。各块之间的业务只有在业务沿着一个共享总线分段以同一方向前进时才会干扰。这种情况可以通过选择一个合适的布局来避免。这样,在快速路径分组流中可以避免总线争用。这对于实现可预测的以及可靠的性能以及避免过度供应互连是很重要的。
上面的例子避免了快速路径中的总线争用,因为分组数据通过NIP-DIS-MTAP-COL-NOP在总线航线1201上从左向右流。由于分组不会通过任何总线分段多于一次,因此没有总线争用。在MTAP处理器之间没有干扰,因为一次只有一个处理器在发送或接收。避免总线争用的另一种方式是将MTAP处理器放在离开主数据路径的“支线”上,如图13所示。
这个拓扑结构使用一个T接头1305来利用在同一总线分段1300上以相反方向行进的业务是不干扰的这样一个事实。采用T接头块1305可以使考虑布局和底层计划约束条件的总线拓扑的设计简单。
在抽象的最低(硬件)级,本发明的互连系统优选地支持高级虚拟部件接口事务处理,该事务处理仅仅是从启动器接口发送到一个目标接口的如同在虚拟部件接口标准中定义的可变尺寸消息,其后面可能在晚些时间跟着一个响应。因为响应可以被延迟,这被称为虚拟部件接口系统中的一个分割事务处理。网络处理系统体系结构在块间通信协议中定义了两个较高级别的抽象,组块和抽象数据报(常常简称为数据报)。组块是一个代表要从一块传送到另一块的相当小的数量的数据的逻辑实体。抽象数据报是一个代表用于应用的自然单位的数据的逻辑实体。在网络处理应用中,抽象数据报几乎总是对应于网络数据报或分组。作出区分是为了在除了网络之外的其他应用中可以使用该体系结构块。组块与CSIX C帧稍微有些类似,并用于类似的目的,即为了具有一个方便的小的数据传送单位。组块具有一个规定的最大尺寸,典型地大约是512字节,而数据报可以大得多,典型地直至9K字节;确切的尺寸界限是可配置的。当一个数据报需要从一块传送到另一块时,实际传送是通过发送一序列组块来完成的。在总线接口的一系列AVCI事务处理中将组块打包。
下面更详细地描述依据本发明的实施例的系统寻址方案。依据本发明的一个实施例的系统可以横跨在不止一个芯片中实现的子系统。
首先看一单个芯片,启动器和目标之间的事务处理和响应的路由由连接到互连本身的接口块以及互连中的交叉的T开关单元执行。各块的依据本发明的一个实施例的寻址是硬连线的和地理的,路由选择信息被编译成在芯片集成的接口单元、T开关和节点单元逻辑。
接口ID占据了64位物理地址的上半部分,较低位是块内偏移。另外的物理位是为芯片ID保留的,以支持多芯片扩展。
依据本发明的实施例的平台需要在芯片级上以及在芯片上的块级的一些模块化,它们所连接到的何种其他芯片或其内部结构的知识不能被硬编码,因为这可能根据不同的线卡而变化。这防止使用与存在于一个芯片内的用于事务处理的接口单元中的相同的硬连线的总线路由选择信息方案。
然而,可以通过给予每个芯片一些简单规则并设计芯片的拓扑结构和列举以支持这一点来提供带有硬连线的路由选择信息的灵活的芯片排列。这具有包括简单性以及是对芯片本身内的路由机制的自然扩展的双重好处。
在图14和15中显示了一个业务处理程序子系统的例子,其中在两个存储器集线器芯片周围实施了分组队列存储器。
在该例子中,四个芯片具有到其他芯片的四个连接。这导致了关于一个事务处理从一个芯片到下一个所采用的路线的可能的模糊。因此,需要通过适当地配置硬件和软件来控制事务处理的流程,但不需要必须在互连中包括可编程的路由功能。
这是通过使芯片ID是x,y坐标而不是一单个数字来实现的。例如,芯片1401的芯片ID可以是4,2,芯片1403可以是5,1,芯片1404可以是5,3,芯片1402可以是6,2。简单地,将硬连线规则运用到如何路由一个目的地是另一个芯片的事务处理的下一次转发。这样,在一个虚拟“网格”上定位芯片,使得本地规则产生所希望的事务处理流。可以通过留下间隙或错位来使网格“变形”以实现所希望的效果。
每个芯片具有其本身的全面的知识包括它具有多少外部端口以及其对N、S、E、W罗盘点的分配。这个知识被连线到接口单元和T开关中。一个芯片对于何种其他芯片与其相连或它们的x,y坐标一无所知。
在每个芯片的本地规则是这样的:
1.在与其相关网格位置形成最小夹角的接口上为一个事务处理选择路由发送出去。
2.在持平的情况下,N-S接口比E-W接口受欢迎。
将这些规则应用到上面的四个芯片例子上,沿主水平轴通过到达和分发芯片1401、1402的事务处理仅仅采用x坐标上的上/下来选择路由发送,其中y=2。
从到达和分发芯片1401、1402到存储器集线器1403、1404之一的事务处理具有一个45度的角度,并运用第二个规则来路由发送这些N-S而不是E-W。
从存储器集线器1403、1404到任何其他芯片的响应具有一个清楚的E/W选择,因为没有其他芯片具有x=5。
假设没有不能由合适的芯片坐标和上述的规则应用的选择所表达的芯片拓扑结构或事务处理流。
虽然已经在附图中显示了并在前面的详细描述中描述了本发明的方法和系统的一个最佳实施例,应该理解,本发明并不限于所公开的实施例,而是能够在不偏离如下面的权利要求书所阐述的本发明的范围的情况下进行各种改变、修改。

Claims (24)

1.一种互连系统,用于连接多个功能单元,此互连系统包括多个节点,
根据硬连线的预定义的拓扑结构,每个节点具有固定的地址,并且每个节点与功能单元通信,
此互连系统在功能单元之间传送多个数据分组,其中每个数据分组具有与之相关的路由选择信息,使得一个节点能够将数据分组引导到此互连系统的另一节点,
此路由选择信息被预编译。
2.依据权利要求1的互连系统,其中当在第一节点和第二节点之间没有数据分组被传送时,只有此互连系统在第一节点和第二节点之间的部分被停用并汲取最小功率。
3.依据权利要求1的互连系统,其中此互连系统是协议不可知的。
4.依据权利要求1的互连系统,其中在这些功能单元之间分布判优。
5.依据权利要求1的互连系统,进一步包括多个中继器单元,这多个中继器单元沿着互连被隔开预定距离,以便在单个时钟周期中在相连的中继器单元和/或节点之间传送数据分组。
6.依据权利要求5的互连系统,其中在这些节点和/或中继器单元之间流水线式传送数据分组。
7.依据权利要求5的互连系统,其中每个中继器单元包括在互连阻塞时压缩数据的装置。
8.依据权利要求1的互连系统,其中此路由选择信息包括目的地的x、y坐标。
9.依据权利要求1的互连系统,其中通过此互连系统,分布时钟信号。
10.依据权利要求1的互连系统,其中每个节点包括输入缓冲器、注入控制器和/或消耗控制器。
11.依据权利要求10的互连系统,其中每个节点可以同时注入和输出数据。
12.依据权利要求1的互连系统,其中此互连系统包括多条总线。
13.依据权利要求12的互连系统,其中每个节点连接到多条总线之中的至少一条总线。
14.依据权利要求12的互连系统,其中每条总线的至少一部分包括一对单向总线航线。
15.依据权利要求14的互连系统,其中在相对方向在每条总线航线上传送数据。
16.依据权利要求1的互连系统,进一步包括至少一个T型开关,所述T型开关根据与每个数据分组相关的路由选择信息来确定传送数据分组的方向。
17.一种用于在多个节点之间选择路由发送数据分组的方法,根据硬连线的预定义的拓扑结构,每个节点具有固定的地址,并且每个节点与功能单元通信,每个数据分组具有与之相关的路由选择信息,此路由选择信息被预编译,此方法包括如下步骤:
(a)读取此路由选择信息;
(b)根据此路由选择信息,确定传送数据分组的方向;以及
(c)在步骤(b)中所确定的方向上,传送数据分组。
18.一种处理系统,结合依据权利要求1的互连系统。
19.依据权利要求18的处理系统,其中每个功能单元通过接口单元被连接到节点。
20.依据权利要求19的处理系统,其中每个接口单元包括为将要被传送到此互连系统的数据和将从此互连系统中接收的数据设置协议的装置。
21.依据权利要求19的处理系统,其中这些功能单元使用分布式判优来访问此互连系统。
22.依据权利要求19的处理系统,其中每个功能单元包括可再用系统片上功能单元。
23.一种集成电路,结合依据权利要求1的互连系统。
24.一种集成系统,包括多个芯片,每个芯片结合依据权利要求1的互连系统,其中此互连系统互连这多个芯片,并且其中在芯片集成时,编译路由选择信息。
CNB028081242A 2001-02-14 2002-02-14 一种互连系统 Expired - Fee Related CN100367730C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
GB0103687A GB0103687D0 (en) 2001-02-14 2001-02-14 Network processing-architecture II
GB0103678A GB0103678D0 (en) 2001-02-14 2001-02-14 Network processing
GB0103678.9 2001-02-14
GB0103687.0 2001-02-14
GB0121790.0 2001-09-10
GB0121790A GB0121790D0 (en) 2001-02-14 2001-09-10 Network processing systems

Publications (2)

Publication Number Publication Date
CN1504035A CN1504035A (zh) 2004-06-09
CN100367730C true CN100367730C (zh) 2008-02-06

Family

ID=27256074

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB028081242A Expired - Fee Related CN100367730C (zh) 2001-02-14 2002-02-14 一种互连系统
CNA02808148XA Pending CN1613041A (zh) 2001-02-14 2002-02-14 时钟分配系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNA02808148XA Pending CN1613041A (zh) 2001-02-14 2002-02-14 时钟分配系统

Country Status (6)

Country Link
US (10) US7290162B2 (zh)
JP (2) JP2004524617A (zh)
CN (2) CN100367730C (zh)
AU (1) AU2002233500A1 (zh)
GB (5) GB2377519B (zh)
WO (2) WO2002065700A2 (zh)

Families Citing this family (274)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549056B2 (en) 1999-03-19 2009-06-16 Broadcom Corporation System and method for processing and protecting content
WO2002060150A2 (en) * 2001-01-24 2002-08-01 Broadcom Corporation Method for processing multiple security policies applied to a data packet structure
JP2004524617A (ja) * 2001-02-14 2004-08-12 クリアスピード・テクノロジー・リミテッド クロック分配システム
US7107478B2 (en) * 2002-12-05 2006-09-12 Connex Technology, Inc. Data processing system having a Cartesian Controller
US7383421B2 (en) * 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
US20030078997A1 (en) * 2001-10-22 2003-04-24 Franzel Kenneth S. Module and unified network backplane interface for local networks
FI113113B (fi) 2001-11-20 2004-02-27 Nokia Corp Menetelmä ja laite integroitujen piirien ajan synkronoimiseksi
US7055123B1 (en) * 2001-12-31 2006-05-30 Richard S. Norman High-performance interconnect arrangement for an array of discrete functional modules
US6836808B2 (en) * 2002-02-25 2004-12-28 International Business Machines Corporation Pipelined packet processing
US7944920B2 (en) * 2002-06-11 2011-05-17 Pandya Ashish A Data processing system using internet protocols and RDMA
US7415723B2 (en) * 2002-06-11 2008-08-19 Pandya Ashish A Distributed network security system and a hardware processor therefor
US7408957B2 (en) * 2002-06-13 2008-08-05 International Business Machines Corporation Selective header field dispatch in a network processing system
US8015303B2 (en) * 2002-08-02 2011-09-06 Astute Networks Inc. High data rate stateful protocol processing
US7684400B2 (en) * 2002-08-08 2010-03-23 Intel Corporation Logarithmic time range-based multifield-correlation packet classification
US7360007B2 (en) * 2002-08-30 2008-04-15 Intel Corporation System including a segmentable, shared bus
US20040066779A1 (en) * 2002-10-04 2004-04-08 Craig Barrack Method and implementation for context switchover
US7961723B2 (en) * 2002-10-08 2011-06-14 Netlogic Microsystems, Inc. Advanced processor with mechanism for enforcing ordering between information sent on two independent networks
US7984268B2 (en) 2002-10-08 2011-07-19 Netlogic Microsystems, Inc. Advanced processor scheduling in a multithreaded system
US7627721B2 (en) 2002-10-08 2009-12-01 Rmi Corporation Advanced processor with cache coherency
US20050044324A1 (en) * 2002-10-08 2005-02-24 Abbas Rashid Advanced processor with mechanism for maximizing resource usage in an in-order pipeline with multiple threads
US8015567B2 (en) 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7924828B2 (en) * 2002-10-08 2011-04-12 Netlogic Microsystems, Inc. Advanced processor with mechanism for fast packet queuing operations
US8478811B2 (en) 2002-10-08 2013-07-02 Netlogic Microsystems, Inc. Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip
US7346757B2 (en) 2002-10-08 2008-03-18 Rmi Corporation Advanced processor translation lookaside buffer management in a multithreaded system
US9088474B2 (en) * 2002-10-08 2015-07-21 Broadcom Corporation Advanced processor with interfacing messaging network to a CPU
US8176298B2 (en) 2002-10-08 2012-05-08 Netlogic Microsystems, Inc. Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline
US20050033831A1 (en) * 2002-10-08 2005-02-10 Abbas Rashid Advanced processor with a thread aware return address stack optimally used across active threads
US7334086B2 (en) * 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US7596621B1 (en) * 2002-10-17 2009-09-29 Astute Networks, Inc. System and method for managing shared state using multiple programmed processors
US8151278B1 (en) 2002-10-17 2012-04-03 Astute Networks, Inc. System and method for timer management in a stateful protocol processing system
US7814218B1 (en) 2002-10-17 2010-10-12 Astute Networks, Inc. Multi-protocol and multi-format stateful processing
ATE438242T1 (de) * 2002-10-31 2009-08-15 Alcatel Lucent Verfahren zur bearbeitung von datenpaketen auf schicht drei in einer telekommunikationsvorrichtung
US7715392B2 (en) * 2002-12-12 2010-05-11 Stmicroelectronics, Inc. System and method for path compression optimization in a pipelined hardware bitmapped multi-bit trie algorithmic network search engine
JP4157403B2 (ja) * 2003-03-19 2008-10-01 株式会社日立製作所 パケット通信装置
US8477780B2 (en) * 2003-03-26 2013-07-02 Alcatel Lucent Processing packet information using an array of processing elements
US8539089B2 (en) * 2003-04-23 2013-09-17 Oracle America, Inc. System and method for vertical perimeter protection
JP2006525585A (ja) 2003-05-07 2006-11-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データを伝送する処理システム及び方法
US7558268B2 (en) * 2003-05-08 2009-07-07 Samsung Electronics Co., Ltd. Apparatus and method for combining forwarding tables in a distributed architecture router
US7500239B2 (en) * 2003-05-23 2009-03-03 Intel Corporation Packet processing system
US20050108518A1 (en) * 2003-06-10 2005-05-19 Pandya Ashish A. Runtime adaptable security processor
US7349958B2 (en) * 2003-06-25 2008-03-25 International Business Machines Corporation Method for improving performance in a computer storage system by regulating resource requests from clients
US7174398B2 (en) * 2003-06-26 2007-02-06 International Business Machines Corporation Method and apparatus for implementing data mapping with shuffle algorithm
US7702882B2 (en) * 2003-09-10 2010-04-20 Samsung Electronics Co., Ltd. Apparatus and method for performing high-speed lookups in a routing table
CA2442803A1 (en) * 2003-09-26 2005-03-26 Ibm Canada Limited - Ibm Canada Limitee Structure and method for managing workshares in a parallel region
US7886307B1 (en) * 2003-09-26 2011-02-08 The Mathworks, Inc. Object-oriented data transfer system for data sharing
US7120815B2 (en) * 2003-10-31 2006-10-10 Hewlett-Packard Development Company, L.P. Clock circuitry on plural integrated circuits
US7634500B1 (en) * 2003-11-03 2009-12-15 Netlogic Microsystems, Inc. Multiple string searching using content addressable memory
WO2005057964A1 (en) * 2003-11-26 2005-06-23 Cisco Technology, Inc. Method and apparatus to inline encryption and decryption for a wireless station
US6954450B2 (en) * 2003-11-26 2005-10-11 Cisco Technology, Inc. Method and apparatus to provide data streaming over a network connection in a wireless MAC processor
US7340548B2 (en) 2003-12-17 2008-03-04 Microsoft Corporation On-chip bus
US7058424B2 (en) * 2004-01-20 2006-06-06 Lucent Technologies Inc. Method and apparatus for interconnecting wireless and wireline networks
GB0403237D0 (en) * 2004-02-13 2004-03-17 Imec Inter Uni Micro Electr A method for realizing ground bounce reduction in digital circuits adapted according to said method
US7903777B1 (en) 2004-03-03 2011-03-08 Marvell International Ltd. System and method for reducing electromagnetic interference and ground bounce in an information communication system by controlling phase of clock signals among a plurality of information communication devices
US20050216625A1 (en) * 2004-03-09 2005-09-29 Smith Zachary S Suppressing production of bus transactions by a virtual-bus interface
US7478109B1 (en) * 2004-03-15 2009-01-13 Cisco Technology, Inc. Identification of a longest matching prefix based on a search of intervals corresponding to the prefixes
KR100990484B1 (ko) * 2004-03-29 2010-10-29 삼성전자주식회사 직렬 버스 통신을 위한 송신 클럭 신호 발생기
US20050254486A1 (en) * 2004-05-13 2005-11-17 Ittiam Systems (P) Ltd. Multi processor implementation for signals requiring fast processing
DE102004035843B4 (de) * 2004-07-23 2010-04-15 Infineon Technologies Ag Router-Netzwerkprozessor
GB2417105B (en) 2004-08-13 2008-04-09 Clearspeed Technology Plc Processor memory system
US7913206B1 (en) * 2004-09-16 2011-03-22 Cadence Design Systems, Inc. Method and mechanism for performing partitioning of DRC operations
US7508397B1 (en) * 2004-11-10 2009-03-24 Nvidia Corporation Rendering of disjoint and overlapping blits
US8170019B2 (en) * 2004-11-30 2012-05-01 Broadcom Corporation CPU transmission of unmodified packets
US20060156316A1 (en) * 2004-12-18 2006-07-13 Gray Area Technologies System and method for application specific array processing
US20060212426A1 (en) * 2004-12-21 2006-09-21 Udaya Shakara Efficient CAM-based techniques to perform string searches in packet payloads
US7769858B2 (en) * 2005-02-23 2010-08-03 International Business Machines Corporation Method for efficiently hashing packet keys into a firewall connection table
US7818705B1 (en) 2005-04-08 2010-10-19 Altera Corporation Method and apparatus for implementing a field programmable gate array architecture with programmable clock skew
WO2006127596A2 (en) 2005-05-20 2006-11-30 Hillcrest Laboratories, Inc. Dynamic hyperlinking approach
WO2006128459A1 (en) * 2005-06-01 2006-12-07 Teklatech A/S A method and an apparatus for providing timing signals to a number of circuits, an integrated circuit and a node
US7373475B2 (en) * 2005-06-21 2008-05-13 Intel Corporation Methods for optimizing memory unit usage to maximize packet throughput for multi-processor multi-threaded architectures
JP4797482B2 (ja) * 2005-07-20 2011-10-19 ブラザー工業株式会社 配線基板及び配線基板の製造方法
US20070086456A1 (en) * 2005-08-12 2007-04-19 Electronics And Telecommunications Research Institute Integrated layer frame processing device including variable protocol header
US8325768B2 (en) 2005-08-24 2012-12-04 Intel Corporation Interleaving data packets in a packet-based communication system
US7904852B1 (en) 2005-09-12 2011-03-08 Cadence Design Systems, Inc. Method and system for implementing parallel processing of electronic design automation tools
US8218770B2 (en) * 2005-09-13 2012-07-10 Agere Systems Inc. Method and apparatus for secure key management and protection
US7353332B2 (en) * 2005-10-11 2008-04-01 Integrated Device Technology, Inc. Switching circuit implementing variable string matching
US7451293B2 (en) * 2005-10-21 2008-11-11 Brightscale Inc. Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing
US7551609B2 (en) * 2005-10-21 2009-06-23 Cisco Technology, Inc. Data structure for storing and accessing multiple independent sets of forwarding information
US7835359B2 (en) * 2005-12-08 2010-11-16 International Business Machines Corporation Method and apparatus for striping message payload data over a network
TW200806039A (en) * 2006-01-10 2008-01-16 Brightscale Inc Method and apparatus for processing algorithm steps of multimedia data in parallel processing systems
US20070162531A1 (en) * 2006-01-12 2007-07-12 Bhaskar Kota Flow transform for integrated circuit design and simulation having combined data flow, control flow, and memory flow views
JP2009524952A (ja) * 2006-01-27 2009-07-02 エフテーエス コンピューターテヒニク ゲゼルシャフト ミット ベシュレンクテル ハフツング 時間制御型のセキュアな通信
KR20070088190A (ko) * 2006-02-24 2007-08-29 삼성전자주식회사 멀티미디어 데이터 처리를 위한 서브워드 병렬 처리 방법
KR20080100380A (ko) * 2006-03-30 2008-11-17 닛본 덴끼 가부시끼가이샤 병렬 화상 처리 시스템과 병렬 화상 처리 시스템의 제어 방법 및 그 장치
US7617409B2 (en) * 2006-05-01 2009-11-10 Arm Limited System for checking clock-signal correspondence
US8390354B2 (en) * 2006-05-17 2013-03-05 Freescale Semiconductor, Inc. Delay configurable device and methods thereof
US8041929B2 (en) * 2006-06-16 2011-10-18 Cisco Technology, Inc. Techniques for hardware-assisted multi-threaded processing
JP2008004046A (ja) * 2006-06-26 2008-01-10 Toshiba Corp リソース管理装置及びそのためのプログラム
US7584286B2 (en) * 2006-06-28 2009-09-01 Intel Corporation Flexible and extensible receive side scaling
US8448096B1 (en) 2006-06-30 2013-05-21 Cadence Design Systems, Inc. Method and system for parallel processing of IC design layouts
US7516437B1 (en) * 2006-07-20 2009-04-07 Xilinx, Inc. Skew-driven routing for networks
CN1909418B (zh) * 2006-08-01 2010-05-12 华为技术有限公司 通用无线接口的时钟分配装置及实现速率切换的方法
US20080040214A1 (en) * 2006-08-10 2008-02-14 Ip Commerce System and method for subsidizing payment transaction costs through online advertising
JP4846486B2 (ja) * 2006-08-18 2011-12-28 富士通株式会社 情報処理装置およびその制御方法
CA2557343C (en) * 2006-08-28 2015-09-22 Ibm Canada Limited-Ibm Canada Limitee Runtime code modification in a multi-threaded environment
US20080059762A1 (en) * 2006-09-01 2008-03-06 Bogdan Mitu Multi-sequence control for a data parallel system
WO2008027567A2 (en) * 2006-09-01 2008-03-06 Brightscale, Inc. Integral parallel machine
US20080244238A1 (en) * 2006-09-01 2008-10-02 Bogdan Mitu Stream processing accelerator
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
US9563433B1 (en) 2006-09-01 2017-02-07 Allsearch Semi Llc System and method for class-based execution of an instruction broadcasted to an array of processing elements
US20080055307A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski Graphics rendering pipeline
US20080059467A1 (en) * 2006-09-05 2008-03-06 Lazar Bivolarski Near full motion search algorithm
US7657856B1 (en) 2006-09-12 2010-02-02 Cadence Design Systems, Inc. Method and system for parallel processing of IC design layouts
US7783654B1 (en) 2006-09-19 2010-08-24 Netlogic Microsystems, Inc. Multiple string searching using content addressable memory
JP4377899B2 (ja) * 2006-09-20 2009-12-02 株式会社東芝 リソース管理装置及びプログラム
US8010966B2 (en) * 2006-09-27 2011-08-30 Cisco Technology, Inc. Multi-threaded processing using path locks
US8179896B2 (en) * 2006-11-09 2012-05-15 Justin Mark Sobaje Network processors and pipeline optimization methods
US7996348B2 (en) 2006-12-08 2011-08-09 Pandya Ashish A 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters
US9141557B2 (en) 2006-12-08 2015-09-22 Ashish A. Pandya Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine
JP4249780B2 (ja) * 2006-12-26 2009-04-08 株式会社東芝 リソースを管理する装置、およびプログラム
US7676444B1 (en) 2007-01-18 2010-03-09 Netlogic Microsystems, Inc. Iterative compare operations using next success size bitmap
JP5158091B2 (ja) * 2007-03-06 2013-03-06 日本電気株式会社 自律または共通制御されるpeアレイを有するシステムのためのデータ転送ネットワークおよび制御装置
JP2009086733A (ja) * 2007-09-27 2009-04-23 Toshiba Corp 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
US20090089029A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Enhanced execution speed to improve simulation performance
US8548777B2 (en) * 2007-09-28 2013-10-01 Rockwell Automation Technologies, Inc. Automated recommendations from simulation
US20090089031A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Integrated simulation of controllers and devices
US8069021B2 (en) * 2007-09-28 2011-11-29 Rockwell Automation Technologies, Inc. Distributed simulation and synchronization
US7801710B2 (en) * 2007-09-28 2010-09-21 Rockwell Automation Technologies, Inc. Simulation controls for model variability and randomness
US20090089234A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Automated code generation for simulators
US7995618B1 (en) * 2007-10-01 2011-08-09 Teklatech A/S System and a method of transmitting data from a first device to a second device
US8515052B2 (en) * 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
US9596324B2 (en) 2008-02-08 2017-03-14 Broadcom Corporation System and method for parsing and allocating a plurality of packets to processor core threads
US8726289B2 (en) * 2008-02-22 2014-05-13 International Business Machines Corporation Streaming attachment of hardware accelerators to computer systems
US8250578B2 (en) * 2008-02-22 2012-08-21 International Business Machines Corporation Pipelining hardware accelerators to computer systems
US20090268736A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
US20090268727A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
US20090271532A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
US8543005B2 (en) * 2008-04-30 2013-09-24 Hewlett-Packard Development Company, L.P. Intentionally skewed optical clock signal distribution
JP2009271724A (ja) * 2008-05-07 2009-11-19 Toshiba Corp ハードウェアエンジン制御装置
EP3413206B1 (en) * 2008-05-30 2020-10-28 Advanced Micro Devices, Inc. Local and global data share
US8958419B2 (en) * 2008-06-16 2015-02-17 Intel Corporation Switch fabric primitives
US8566487B2 (en) 2008-06-24 2013-10-22 Hartvig Ekner System and method for creating a scalable monolithic packet processing engine
US7949007B1 (en) 2008-08-05 2011-05-24 Xilinx, Inc. Methods of clustering actions for manipulating 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
US8311057B1 (en) 2008-08-05 2012-11-13 Xilinx, Inc. Managing formatting of packets of a communication protocol
US8160092B1 (en) 2008-08-05 2012-04-17 Xilinx, Inc. Transforming a declarative description of a packet processor
CN102112983A (zh) * 2008-08-06 2011-06-29 Nxp股份有限公司 Simd并行处理器架构
CN101355482B (zh) * 2008-09-04 2011-09-21 中兴通讯股份有限公司 实现嵌入式设备地址顺序识别的设备、方法和系统
US8493979B2 (en) 2008-12-30 2013-07-23 Intel Corporation Single instruction processing of network packets
JP5238525B2 (ja) * 2009-01-13 2013-07-17 株式会社東芝 リソースを管理する装置、およびプログラム
KR101553652B1 (ko) * 2009-02-18 2015-09-16 삼성전자 주식회사 이종 프로세서에 대한 명령어 컴파일링 장치 및 방법
US8140792B2 (en) * 2009-02-25 2012-03-20 International Business Machines Corporation Indirectly-accessed, hardware-affine channel storage in transaction-oriented DMA-intensive environments
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US8874878B2 (en) * 2010-05-18 2014-10-28 Lsi Corporation Thread synchronization in a multi-thread, multi-flow network communications processor architecture
US8170062B2 (en) * 2009-04-29 2012-05-01 Intel Corporation Packetized interface for coupling agents
US8743877B2 (en) * 2009-12-21 2014-06-03 Steven L. Pope Header processing engine
CN101807288B (zh) * 2010-03-12 2014-09-10 中兴通讯股份有限公司 一种景点导游系统及其实现方法
US8332460B2 (en) * 2010-04-14 2012-12-11 International Business Machines Corporation Performing a local reduction operation on a parallel computer
US20120017062A1 (en) * 2010-07-19 2012-01-19 Advanced Micro Devices, Inc. Data Processing Using On-Chip Memory In Multiple Processing Units
US8880507B2 (en) * 2010-07-22 2014-11-04 Brocade Communications Systems, Inc. Longest prefix match using binary search tree
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
RU2436151C1 (ru) * 2010-11-01 2011-12-10 Федеральное государственное унитарное предприятие "Российский Федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики" (ФГУП "РФЯЦ-ВНИИЭФ") Способ определения структуры гибридной вычислительной системы
US9667539B2 (en) * 2011-01-17 2017-05-30 Alcatel Lucent Method and apparatus for providing transport of customer QoS information via PBB networks
US8869162B2 (en) 2011-04-26 2014-10-21 Microsoft Corporation Stream processing on heterogeneous hardware devices
US9020892B2 (en) * 2011-07-08 2015-04-28 Microsoft Technology Licensing, Llc Efficient metadata storage
US8880494B2 (en) 2011-07-28 2014-11-04 Brocade Communications Systems, Inc. Longest prefix match scheme
WO2013020001A1 (en) 2011-08-02 2013-02-07 Cavium, Inc. Lookup front end output processor
US8923306B2 (en) 2011-08-02 2014-12-30 Cavium, Inc. Phased bucket pre-fetch in a network processor
US8910178B2 (en) 2011-08-10 2014-12-09 International Business Machines Corporation Performing a global barrier operation in a parallel computer
US9154335B2 (en) * 2011-11-08 2015-10-06 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for transmitting data on a network
US9542236B2 (en) 2011-12-29 2017-01-10 Oracle International Corporation Efficiency sequencer for multiple concurrently-executing threads of execution
WO2013100783A1 (en) 2011-12-29 2013-07-04 Intel Corporation Method and system for control signalling in a data path module
US9495135B2 (en) 2012-02-09 2016-11-15 International Business Machines Corporation Developing collective operations for a parallel computer
WO2013124713A1 (en) * 2012-02-24 2013-08-29 Freescale Semiconductor, Inc. Clock distribution module, synchronous digital system and method therefor
US20130229290A1 (en) * 2012-03-01 2013-09-05 Eaton Corporation Instrument panel bus interface
JP6353359B2 (ja) * 2012-03-23 2018-07-04 株式会社Mush−A データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法
JP2013222364A (ja) * 2012-04-18 2013-10-28 Renesas Electronics Corp 信号処理回路
US8775727B2 (en) 2012-08-31 2014-07-08 Lsi Corporation Lookup engine with pipelined access, speculative add and lock-in-hit function
US9082078B2 (en) 2012-07-27 2015-07-14 The Intellisis Corporation Neural processing engine and architecture using the same
CN103631315A (zh) * 2012-08-22 2014-03-12 上海华虹集成电路有限责任公司 便于时序修复的时钟设计方法
US9185057B2 (en) * 2012-12-05 2015-11-10 The Intellisis Corporation Smart memory
US9639371B2 (en) 2013-01-29 2017-05-02 Advanced Micro Devices, Inc. Solution to divergent branches in a SIMD core using hardware pointers
US9391893B2 (en) 2013-02-26 2016-07-12 Dell Products L.P. Lookup engine for an information handling system
US20140269690A1 (en) * 2013-03-13 2014-09-18 Qualcomm Incorporated Network element with distributed flow tables
US9185003B1 (en) * 2013-05-02 2015-11-10 Amazon Technologies, Inc. Distributed clock network with time synchronization and activity tracing between nodes
US20150012679A1 (en) * 2013-07-03 2015-01-08 Iii Holdings 2, Llc Implementing remote transaction functionalities between data processing nodes of a switched interconnect fabric
US10331583B2 (en) 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
DK3055127T3 (da) * 2013-10-11 2017-11-27 Wpt Gmbh Elastisk gulvbelægning i form af en metervare, der kan rulles på
US20150120224A1 (en) 2013-10-29 2015-04-30 C3 Energy, Inc. Systems and methods for processing data relating to energy usage
JP2017504236A (ja) * 2013-11-29 2017-02-02 日本電気株式会社 Mtcのための装置、システム、及び方法
US9547553B1 (en) 2014-03-10 2017-01-17 Parallel Machines Ltd. Data resiliency in a shared memory pool
US9372724B2 (en) * 2014-04-01 2016-06-21 Freescale Semiconductor, Inc. System and method for conditional task switching during ordering scope transitions
US9372723B2 (en) * 2014-04-01 2016-06-21 Freescale Semiconductor, Inc. System and method for conditional task switching during ordering scope transitions
US9781027B1 (en) 2014-04-06 2017-10-03 Parallel Machines Ltd. Systems and methods to communicate with external destinations via a memory network
US9594688B1 (en) 2014-12-09 2017-03-14 Parallel Machines Ltd. Systems and methods for executing actions using cached data
US9690713B1 (en) 2014-04-22 2017-06-27 Parallel Machines Ltd. Systems and methods for effectively interacting with a flash memory
US9529622B1 (en) 2014-12-09 2016-12-27 Parallel Machines Ltd. Systems and methods for automatic generation of task-splitting code
US9733981B2 (en) 2014-06-10 2017-08-15 Nxp Usa, Inc. System and method for conditional task switching during ordering scope transitions
US9753873B1 (en) 2014-12-09 2017-09-05 Parallel Machines Ltd. Systems and methods for key-value transactions
US9639473B1 (en) 2014-12-09 2017-05-02 Parallel Machines Ltd. Utilizing a cache mechanism by copying a data set from a cache-disabled memory location to a cache-enabled memory location
US9781225B1 (en) 2014-12-09 2017-10-03 Parallel Machines Ltd. Systems and methods for cache streams
US9632936B1 (en) 2014-12-09 2017-04-25 Parallel Machines Ltd. Two-tier distributed memory
US10061531B2 (en) 2015-01-29 2018-08-28 Knuedge Incorporated Uniform system wide addressing for a computing system
US9552327B2 (en) 2015-01-29 2017-01-24 Knuedge Incorporated Memory controller for a network on a chip device
US9749225B2 (en) * 2015-04-17 2017-08-29 Huawei Technologies Co., Ltd. Software defined network (SDN) control signaling for traffic engineering to enable multi-type transport in a data plane
EP3278213A4 (en) 2015-06-05 2019-01-30 C3 IoT, Inc. SYSTEMS, METHODS AND DEVICES FOR AN APPLICATION DEVELOPMENT PLATFORM OF AN INTERNET OF THE THINGS OF A COMPANY
US20160381136A1 (en) * 2015-06-24 2016-12-29 Futurewei Technologies, Inc. System, method, and computer program for providing rest services to fine-grained resources based on a resource-oriented network
CN106326967B (zh) * 2015-06-29 2023-05-05 四川谦泰仁投资管理有限公司 一种带互动开关输入端口的rfid芯片
US10063407B1 (en) 2016-02-08 2018-08-28 Barefoot Networks, Inc. Identifying and marking failed egress links in data plane
US10313231B1 (en) * 2016-02-08 2019-06-04 Barefoot Networks, Inc. Resilient hashing for forwarding packets
US10027583B2 (en) 2016-03-22 2018-07-17 Knuedge Incorporated Chained packet sequences in a network on a chip architecture
US9595308B1 (en) 2016-03-31 2017-03-14 Altera Corporation Multiple-die synchronous insertion delay measurement circuit and methods
US10346049B2 (en) 2016-04-29 2019-07-09 Friday Harbor Llc Distributed contiguous reads in a network on a chip architecture
US10402168B2 (en) 2016-10-01 2019-09-03 Intel Corporation Low energy consumption mantissa multiplication for floating point multiply-add operations
US10664942B2 (en) * 2016-10-21 2020-05-26 Advanced Micro Devices, Inc. Reconfigurable virtual graphics and compute processor pipeline
US10084687B1 (en) 2016-11-17 2018-09-25 Barefoot Networks, Inc. Weighted-cost multi-pathing using range lookups
US10416999B2 (en) 2016-12-30 2019-09-17 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10572376B2 (en) 2016-12-30 2020-02-25 Intel Corporation Memory ordering in acceleration hardware
US10474375B2 (en) 2016-12-30 2019-11-12 Intel Corporation Runtime address disambiguation in acceleration hardware
US10558575B2 (en) 2016-12-30 2020-02-11 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10404619B1 (en) 2017-03-05 2019-09-03 Barefoot Networks, Inc. Link aggregation group failover for multicast
US10237206B1 (en) 2017-03-05 2019-03-19 Barefoot Networks, Inc. Equal cost multiple path group failover for multicast
US10296351B1 (en) * 2017-03-15 2019-05-21 Ambarella, Inc. Computer vision processing in hardware data paths
US10243882B1 (en) 2017-04-13 2019-03-26 Xilinx, Inc. Network on chip switch interconnect
CN107679620B (zh) * 2017-04-19 2020-05-26 赛灵思公司 人工神经网络处理装置
CN107704922B (zh) * 2017-04-19 2020-12-08 赛灵思公司 人工神经网络处理装置
CN107679621B (zh) * 2017-04-19 2020-12-08 赛灵思公司 人工神经网络处理装置
US10514719B2 (en) * 2017-06-27 2019-12-24 Biosense Webster (Israel) Ltd. System and method for synchronization among clocks in a wireless system
US10387319B2 (en) 2017-07-01 2019-08-20 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10445234B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10515046B2 (en) 2017-07-01 2019-12-24 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10445451B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10515049B1 (en) 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
US10469397B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods with configurable network-based dataflow operator circuits
US10467183B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods for pipelined runtime services in a spatial array
US10496574B2 (en) 2017-09-28 2019-12-03 Intel Corporation Processors, methods, and systems for a memory fence in a configurable spatial accelerator
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US10380063B2 (en) 2017-09-30 2019-08-13 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator
US10445098B2 (en) 2017-09-30 2019-10-15 Intel Corporation Processors and methods for privileged configuration in a spatial array
CN107831824B (zh) * 2017-10-16 2021-04-06 北京比特大陆科技有限公司 时钟信号传递方法、装置、复用芯片和电子设备
GB2568087B (en) * 2017-11-03 2022-07-20 Imagination Tech Ltd Activation functions for deep neural networks
US10445250B2 (en) 2017-12-30 2019-10-15 Intel Corporation Apparatus, methods, and systems with a configurable spatial accelerator
US10565134B2 (en) 2017-12-30 2020-02-18 Intel Corporation Apparatus, methods, and systems for multicast in a configurable spatial accelerator
US10417175B2 (en) 2017-12-30 2019-09-17 Intel Corporation Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator
US10673745B2 (en) 2018-02-01 2020-06-02 Xilinx, Inc. End-to-end quality-of-service in a network-on-chip
US10503690B2 (en) 2018-02-23 2019-12-10 Xilinx, Inc. Programmable NOC compatible with multiple interface communication protocol
JP2019153909A (ja) * 2018-03-02 2019-09-12 株式会社リコー 半導体集積回路およびクロック供給方法
US10621129B2 (en) 2018-03-27 2020-04-14 Xilinx, Inc. Peripheral interconnect for configurable slave endpoint circuits
US10564980B2 (en) 2018-04-03 2020-02-18 Intel Corporation Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US10505548B1 (en) 2018-05-25 2019-12-10 Xilinx, Inc. Multi-chip structure having configurable network-on-chip
US10853073B2 (en) 2018-06-30 2020-12-01 Intel Corporation Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US10459866B1 (en) 2018-06-30 2019-10-29 Intel Corporation Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US10838908B2 (en) 2018-07-20 2020-11-17 Xilinx, Inc. Configurable network-on-chip for a programmable device
US10824505B1 (en) 2018-08-21 2020-11-03 Xilinx, Inc. ECC proxy extension and byte organization for multi-master systems
US11176281B2 (en) * 2018-10-08 2021-11-16 Micron Technology, Inc. Security managers and methods for implementing security protocols in a reconfigurable fabric
US10963460B2 (en) 2018-12-06 2021-03-30 Xilinx, Inc. Integrated circuits and methods to accelerate data queries
US10678724B1 (en) 2018-12-29 2020-06-09 Intel Corporation Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
US10796040B2 (en) * 2019-02-05 2020-10-06 Arm Limited Integrated circuit design and fabrication
US10936486B1 (en) 2019-02-21 2021-03-02 Xilinx, Inc. Address interleave support in a programmable device
US10680615B1 (en) 2019-03-27 2020-06-09 Xilinx, Inc. Circuit for and method of configuring and partially reconfiguring function blocks of an integrated circuit device
US10965536B2 (en) 2019-03-30 2021-03-30 Intel Corporation Methods and apparatus to insert buffers in a dataflow graph
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US11029927B2 (en) 2019-03-30 2021-06-08 Intel Corporation Methods and apparatus to detect and annotate backedges in a dataflow graph
US11386038B2 (en) * 2019-05-09 2022-07-12 SambaNova Systems, Inc. Control flow barrier and reconfigurable data processor
US11188312B2 (en) 2019-05-23 2021-11-30 Xilinx, Inc. Hardware-software design flow with high-level synthesis for heterogeneous and programmable devices
US10891132B2 (en) 2019-05-23 2021-01-12 Xilinx, Inc. Flow convergence during hardware-software design for heterogeneous and programmable devices
US10891414B2 (en) 2019-05-23 2021-01-12 Xilinx, Inc. Hardware-software design flow for heterogeneous and programmable devices
US11301295B1 (en) 2019-05-23 2022-04-12 Xilinx, Inc. Implementing an application specified as a data flow graph in an array of data processing engines
US11288244B2 (en) * 2019-06-10 2022-03-29 Akamai Technologies, Inc. Tree deduplication
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US10977018B1 (en) 2019-12-05 2021-04-13 Xilinx, Inc. Development environment for heterogeneous devices
US11907713B2 (en) 2019-12-28 2024-02-20 Intel Corporation Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
US11320885B2 (en) 2020-05-26 2022-05-03 Dell Products L.P. Wide range power mechanism for over-speed memory design
US11496418B1 (en) 2020-08-25 2022-11-08 Xilinx, Inc. Packet-based and time-multiplexed network-on-chip
CN114528246A (zh) * 2020-11-23 2022-05-24 深圳比特微电子科技有限公司 运算核、计算芯片和加密货币矿机
US11336287B1 (en) 2021-03-09 2022-05-17 Xilinx, Inc. Data processing engine array architecture with memory tiles
US11520717B1 (en) 2021-03-09 2022-12-06 Xilinx, Inc. Memory tiles in data processing engine array
US11768714B2 (en) 2021-06-22 2023-09-26 Microsoft Technology Licensing, Llc On-chip hardware semaphore array supporting multiple conditionals
US11797480B2 (en) * 2021-12-31 2023-10-24 Tsx Inc. Storage of order books with persistent data structures
US11848670B2 (en) 2022-04-15 2023-12-19 Xilinx, Inc. Multiple partitions in a data processing array

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1142303A (zh) * 1994-03-03 1997-02-05 杰奥内脱有限公司L.P. 用于管理网络计算机应用的系统
US5828858A (en) * 1996-09-16 1998-10-27 Virginia Tech Intellectual Properties, Inc. Worm-hole run-time reconfigurable processor field programmable gate array (FPGA)
US5923660A (en) * 1996-01-31 1999-07-13 Galileo Technologies Ltd. Switching ethernet controller
US6009488A (en) * 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel

Family Cites Families (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1061921B (it) * 1976-06-23 1983-04-30 Lolli & C Spa Perfezionamento nei diffusori per impianti di condizionamento d aria
USD259208S (en) * 1979-04-23 1981-05-12 Mccullough John R Roof vent
GB8401805D0 (en) * 1984-01-24 1984-02-29 Int Computers Ltd Data processing apparatus
JPS61156338A (ja) * 1984-12-27 1986-07-16 Toshiba Corp マルチプロセツサシステム
US4641571A (en) * 1985-07-15 1987-02-10 Enamel Products & Plating Co. Turbo fan vent
US4850027A (en) * 1985-07-26 1989-07-18 International Business Machines Corporation Configurable parallel pipeline image processing system
JP2564805B2 (ja) * 1985-08-08 1996-12-18 日本電気株式会社 情報処理装置
US4755986A (en) * 1985-09-13 1988-07-05 Nec Corporation Packet switching system
US5021947A (en) * 1986-03-31 1991-06-04 Hughes Aircraft Company Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing
GB8618943D0 (en) * 1986-08-02 1986-09-10 Int Computers Ltd Data processing apparatus
EP0258740B1 (en) * 1986-09-02 1995-07-19 Fuji Photo Film Co., Ltd. Method of and apparatus for processing an image with gradation correction of video signal
US5418970A (en) * 1986-12-17 1995-05-23 Massachusetts Institute Of Technology Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content
GB8723203D0 (en) * 1987-10-02 1987-11-04 Crosfield Electronics Ltd Interactive image modification
DE3742941A1 (de) * 1987-12-18 1989-07-06 Standard Elektrik Lorenz Ag Einrichtungen zur paketvermittlung
JP2559262B2 (ja) * 1988-10-13 1996-12-04 富士写真フイルム株式会社 磁気デイスク
JPH02105910A (ja) * 1988-10-14 1990-04-18 Hitachi Ltd 論理集積回路
AU620994B2 (en) * 1989-07-12 1992-02-27 Digital Equipment Corporation Compressed prefix matching database searching
US5212777A (en) * 1989-11-17 1993-05-18 Texas Instruments Incorporated Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation
US5218709A (en) * 1989-12-28 1993-06-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Special purpose parallel computer architecture for real-time control and simulation in robotic applications
US5426610A (en) * 1990-03-01 1995-06-20 Texas Instruments Incorporated Storage circuitry using sense amplifier with temporary pause for voltage supply isolation
JPH04219859A (ja) * 1990-03-12 1992-08-10 Hewlett Packard Co <Hp> 並列プロセッサに直列命令ストリームデータを分散するハードウェアディストリビュータ
US5327159A (en) * 1990-06-27 1994-07-05 Texas Instruments Incorporated Packed bus selection of multiple pixel depths in palette devices, systems and methods
US5121198A (en) * 1990-06-28 1992-06-09 Eastman Kodak Company Method of setting the contrast of a color video picture in a computer controlled photographic film analyzing system
US5765011A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5963746A (en) 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5752067A (en) 1990-11-13 1998-05-12 International Business Machines Corporation Fully scalable parallel processing system having asynchronous SIMD processing
US5625836A (en) 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US5285528A (en) * 1991-02-22 1994-02-08 International Business Machines Corporation Data structures and algorithms for managing lock states of addressable element ranges
WO1992015960A1 (en) * 1991-03-05 1992-09-17 Hajime Seki Electronic computer system and processor elements used for this system
US5313582A (en) * 1991-04-30 1994-05-17 Standard Microsystems Corporation Method and apparatus for buffering data within stations of a communication network
US5224100A (en) 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
WO1993001669A1 (en) * 1991-07-01 1993-01-21 Australian And Overseas Telecommunications Corporation Limited High speed switching architecture
US5404550A (en) * 1991-07-25 1995-04-04 Tandem Computers Incorporated Method and apparatus for executing tasks by following a linked list of memory packets
US5155484A (en) * 1991-09-13 1992-10-13 Salient Software, Inc. Fast data compressor with direct lookup table indexing into history buffer
JP2750968B2 (ja) * 1991-11-18 1998-05-18 シャープ株式会社 データ駆動型情報処理装置
US5307381A (en) * 1991-12-27 1994-04-26 Intel Corporation Skew-free clock signal distribution network in a microprocessor
US5603028A (en) * 1992-03-02 1997-02-11 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for data distribution
JPH0696035A (ja) 1992-09-16 1994-04-08 Sanyo Electric Co Ltd 処理要素とそれを用いる並列処理計算機
EP0601715A1 (en) * 1992-12-11 1994-06-15 National Semiconductor Corporation Bus of CPU core optimized for accessing on-chip memory devices
US5579223A (en) * 1992-12-24 1996-11-26 Microsoft Corporation Method and system for incorporating modifications made to a computer program into a translated version of the computer program
US5640551A (en) * 1993-04-14 1997-06-17 Apple Computer, Inc. Efficient high speed trie search process
GB2277235B (en) * 1993-04-14 1998-01-07 Plessey Telecomm Apparatus and method for the digital transmission of data
US5420858A (en) * 1993-05-05 1995-05-30 Synoptics Communications, Inc. Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium
JP2629568B2 (ja) * 1993-07-30 1997-07-09 日本電気株式会社 Atmセル交換方式
US5918061A (en) * 1993-12-29 1999-06-29 Intel Corporation Enhanced power managing unit (PMU) in a multiprocessor chip
US5524223A (en) 1994-01-31 1996-06-04 Motorola, Inc. Instruction accelerator for processing loop instructions with address generator using multiple stored increment values
DE69428186T2 (de) * 1994-04-28 2002-03-28 Hewlett Packard Co Mehrfachsendeeinrichtung
DE69519449T2 (de) * 1994-05-05 2001-06-21 Conexant Systems Inc Raumzeigersdatenpfad
WO1995031078A1 (en) 1994-05-06 1995-11-16 Motorola Inc. Call routing system for a wireless data device
US5463732A (en) * 1994-05-13 1995-10-31 David Sarnoff Research Center, Inc. Method and apparatus for accessing a distributed data buffer
US5659781A (en) * 1994-06-29 1997-08-19 Larson; Noble G. Bidirectional systolic ring network
US5682480A (en) * 1994-08-15 1997-10-28 Hitachi, Ltd. Parallel computer system for performing barrier synchronization by transferring the synchronization packet through a path which bypasses the packet buffer in response to an interrupt
US5586119A (en) * 1994-08-31 1996-12-17 Motorola, Inc. Method and apparatus for packet alignment in a communication system
US5949781A (en) * 1994-08-31 1999-09-07 Brooktree Corporation Controller for ATM segmentation and reassembly
US5754584A (en) * 1994-09-09 1998-05-19 Omnipoint Corporation Non-coherent spread-spectrum continuous-phase modulation communication system
WO1996014617A1 (en) * 1994-11-07 1996-05-17 Temple University - Of The Commonwealth System Higher Education Multicomputer system and method
US5651099A (en) * 1995-01-26 1997-07-22 Hewlett-Packard Company Use of a genetic algorithm to optimize memory space
JPH08249306A (ja) * 1995-03-09 1996-09-27 Sharp Corp データ駆動型情報処理装置
US5634068A (en) * 1995-03-31 1997-05-27 Sun Microsystems, Inc. Packet switched cache coherent multiprocessor system
US5835095A (en) * 1995-05-08 1998-11-10 Intergraph Corporation Visible line processor
JP3515263B2 (ja) * 1995-05-18 2004-04-05 株式会社東芝 ルータ装置、データ通信ネットワークシステム、ノード装置、データ転送方法及びネットワーク接続方法
US5689677A (en) 1995-06-05 1997-11-18 Macmillan; David C. Circuit for enhancing performance of a computer for personal use
US6147996A (en) * 1995-08-04 2000-11-14 Cisco Technology, Inc. Pipelined multiple issue packet switch
US6115802A (en) * 1995-10-13 2000-09-05 Sun Mircrosystems, Inc. Efficient hash table for use in multi-threaded environments
US5612956A (en) * 1995-12-15 1997-03-18 General Instrument Corporation Of Delaware Reformatting of variable rate data for fixed rate communication
US5822606A (en) * 1996-01-11 1998-10-13 Morton; Steven G. DSP having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
WO1997029613A1 (en) 1996-02-06 1997-08-14 International Business Machines Corporation Parallel on-the-fly processing of fixed length cells
US5781549A (en) * 1996-02-23 1998-07-14 Allied Telesyn International Corp. Method and apparatus for switching data packets in a data network
US6035193A (en) 1996-06-28 2000-03-07 At&T Wireless Services Inc. Telephone system having land-line-supported private base station switchable into cellular network
US6101176A (en) 1996-07-24 2000-08-08 Nokia Mobile Phones Method and apparatus for operating an indoor CDMA telecommunications system
US6088355A (en) * 1996-10-11 2000-07-11 C-Cube Microsystems, Inc. Processing system with pointer-based ATM segmentation and reassembly
US6791947B2 (en) * 1996-12-16 2004-09-14 Juniper Networks In-line packet processing
JPH10271132A (ja) * 1997-03-27 1998-10-09 Toshiba Corp パケット交換網におけるフロー制御方式
JP3000961B2 (ja) * 1997-06-06 2000-01-17 日本電気株式会社 半導体集積回路
US5969559A (en) * 1997-06-09 1999-10-19 Schwartz; David M. Method and apparatus for using a power grid for clock distribution in semiconductor integrated circuits
US5828870A (en) * 1997-06-30 1998-10-27 Adaptec, Inc. Method and apparatus for controlling clock skew in an integrated circuit
JP3469046B2 (ja) * 1997-07-08 2003-11-25 株式会社東芝 機能ブロック、および半導体集積回路装置
US6047304A (en) * 1997-07-29 2000-04-04 Nortel Networks Corporation Method and apparatus for performing lane arithmetic to perform network processing
TW400473B (en) * 1997-09-17 2000-08-01 Sony Electronics Inc Triplet architecture in a multi-port bridge for a local area network including method and apparatus for periodically updating entries in a content addressable memory
JPH11194850A (ja) * 1997-09-19 1999-07-21 Lsi Logic Corp 集積回路用クロック分配ネットワークおよびクロック分配方法
US5872993A (en) * 1997-12-01 1999-02-16 Advanced Micro Devices, Inc. Communications system with multiple, simultaneous accesses to a memory
US6081523A (en) * 1997-12-05 2000-06-27 Advanced Micro Devices, Inc. Arrangement for transmitting packet data segments from a media access controller across multiple physical links
US6219796B1 (en) * 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
US6301603B1 (en) * 1998-02-17 2001-10-09 Euphonics Incorporated Scalable audio processing on a heterogeneous processor array
JP3490286B2 (ja) 1998-03-13 2004-01-26 株式会社東芝 ルータ装置及びフレーム転送方法
JPH11272629A (ja) * 1998-03-19 1999-10-08 Hitachi Ltd データ処理装置
US6052769A (en) * 1998-03-31 2000-04-18 Intel Corporation Method and apparatus for moving select non-contiguous bytes of packed data in a single instruction
US6275508B1 (en) * 1998-04-21 2001-08-14 Nexabit Networks, Llc Method of and system for processing datagram headers for high speed computer network interfaces at low clock speeds, utilizing scalable algorithms for performing such network header adaptation (SAPNA)
CA2331820A1 (en) * 1998-05-07 1999-11-11 Cabletron Systems, Inc. Multiple priority buffering in a computer network
US6131102A (en) * 1998-06-15 2000-10-10 Microsoft Corporation Method and system for cost computation of spelling suggestions and automatic replacement
US6305001B1 (en) * 1998-06-18 2001-10-16 Lsi Logic Corporation Clock distribution network planning and method therefor
DE69840947D1 (de) 1998-09-10 2009-08-13 Ibm Paketvermittlunganpassungseinrichtung für Datenpaketen mit variabler Länge
US6393026B1 (en) * 1998-09-17 2002-05-21 Nortel Networks Limited Data packet processing system and method for a router
EP0992895A1 (en) * 1998-10-06 2000-04-12 Texas Instruments Inc. Hardware accelerator for data processing systems
JP3504510B2 (ja) * 1998-10-12 2004-03-08 日本電信電話株式会社 パケットスイッチ
JP3866425B2 (ja) * 1998-11-12 2007-01-10 株式会社日立コミュニケーションテクノロジー パケットスイッチ
US6272522B1 (en) * 1998-11-17 2001-08-07 Sun Microsystems, Incorporated Computer data packet switching and load balancing system using a general-purpose multiprocessor architecture
US6256421B1 (en) * 1998-12-07 2001-07-03 Xerox Corporation Method and apparatus for simulating JPEG compression
JP3704438B2 (ja) * 1998-12-09 2005-10-12 株式会社日立製作所 可変長パケット通信装置
US6338078B1 (en) * 1998-12-17 2002-01-08 International Business Machines Corporation System and method for sequencing packets for multiprocessor parallelization in a computer network system
US6366584B1 (en) * 1999-02-06 2002-04-02 Triton Network Systems, Inc. Commercial network based on point to point radios
JP3587076B2 (ja) 1999-03-05 2004-11-10 松下電器産業株式会社 パケット受信装置
US6605001B1 (en) * 1999-04-23 2003-08-12 Elia Rocco Tarantino Dice game in which categories are filled and scores awarded
GB2352536A (en) * 1999-07-21 2001-01-31 Element 14 Ltd Conditional instruction execution
GB2352595B (en) * 1999-07-27 2003-10-01 Sgs Thomson Microelectronics Data processing device
USD428484S (en) * 1999-08-03 2000-07-18 Zirk Todd A Copper roof vent cover
US6631422B1 (en) 1999-08-26 2003-10-07 International Business Machines Corporation Network adapter utilizing a hashing function for distributing packets to multiple processors for parallel processing
US6404752B1 (en) * 1999-08-27 2002-06-11 International Business Machines Corporation Network switch using network processor and methods
US6631419B1 (en) * 1999-09-22 2003-10-07 Juniper Networks, Inc. Method and apparatus for high-speed longest prefix and masked prefix table search
US6963572B1 (en) * 1999-10-22 2005-11-08 Alcatel Canada Inc. Method and apparatus for segmentation and reassembly of data packets in a communication switch
WO2001046777A2 (en) * 1999-10-26 2001-06-28 Pyxsys Corporation Mimd arrangement of simd machines
JP2001177574A (ja) * 1999-12-20 2001-06-29 Kddi Corp パケット交換網における伝送制御装置
GB2357601B (en) * 1999-12-23 2004-03-31 Ibm Remote power control
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
HUP0203823A2 (en) * 2000-01-07 2003-05-28 Ibm Method and system for frame and protocol classification
US20030093613A1 (en) * 2000-01-14 2003-05-15 David Sherman Compressed ternary mask system and method
JP2001202345A (ja) * 2000-01-21 2001-07-27 Hitachi Ltd 並列プロセッサ
ATE319249T1 (de) * 2000-01-27 2006-03-15 Ibm Verfahren und vorrichtung für klassifizierung von datenpaketen
US20020107903A1 (en) * 2000-11-07 2002-08-08 Richter Roger K. Methods and systems for the order serialization of information in a network processing environment
US6704794B1 (en) * 2000-03-03 2004-03-09 Nokia Intelligent Edge Routers Inc. Cell reassembly for packet based networks
JP2001251349A (ja) * 2000-03-06 2001-09-14 Fujitsu Ltd パケットプロセッサ
US7139282B1 (en) * 2000-03-24 2006-11-21 Juniper Networks, Inc. Bandwidth division for packet processing
US7089240B2 (en) * 2000-04-06 2006-08-08 International Business Machines Corporation Longest prefix match lookup using hash function
US7107265B1 (en) * 2000-04-06 2006-09-12 International Business Machines Corporation Software management tree implementation for a network processor
US6718326B2 (en) * 2000-08-17 2004-04-06 Nippon Telegraph And Telephone Corporation Packet classification search device and method
DE10059026A1 (de) 2000-11-28 2002-06-13 Infineon Technologies Ag Einheit zur Verteilung und Verarbeitung von Datenpaketen
GB2370381B (en) * 2000-12-19 2003-12-24 Picochip Designs Ltd Processor architecture
USD453960S1 (en) * 2001-01-30 2002-02-26 Molded Products Company Shroud for a fan assembly
US6832261B1 (en) 2001-02-04 2004-12-14 Cisco Technology, Inc. Method and apparatus for distributed resequencing and reassembly of subdivided packets
GB2407673B (en) 2001-02-14 2005-08-24 Clearspeed Technology Plc Lookup engine
JP2004524617A (ja) 2001-02-14 2004-08-12 クリアスピード・テクノロジー・リミテッド クロック分配システム
JP4475835B2 (ja) * 2001-03-05 2010-06-09 富士通株式会社 入力回線インタフェース装置及びパケット通信装置
CA97495S (en) * 2001-03-20 2003-05-07 Flettner Ventilator Ltd Rotor
USD471971S1 (en) * 2001-03-20 2003-03-18 Flettner Ventilator Limited Ventilation cover
US6687715B2 (en) * 2001-06-28 2004-02-03 Intel Corporation Parallel lookups that keep order
US6922716B2 (en) 2001-07-13 2005-07-26 Motorola, Inc. Method and apparatus for vector processing
EP1423957A1 (en) * 2001-08-29 2004-06-02 Nokia Corporation Method and system for classifying binary strings
US7283538B2 (en) * 2001-10-12 2007-10-16 Vormetric, Inc. Load balanced scalable network gateway processor architecture
US7317730B1 (en) * 2001-10-13 2008-01-08 Greenfield Networks, Inc. Queueing architecture and load balancing for parallel packet processing in communication networks
US6941446B2 (en) 2002-01-21 2005-09-06 Analog Devices, Inc. Single instruction multiple data array cell
US7382782B1 (en) 2002-04-12 2008-06-03 Juniper Networks, Inc. Packet spraying for load balancing across multiple packet processors
US20030231627A1 (en) * 2002-06-04 2003-12-18 Rajesh John Arbitration logic for assigning input packet to available thread of a multi-threaded multi-engine network processor
US7200137B2 (en) * 2002-07-29 2007-04-03 Freescale Semiconductor, Inc. On chip network that maximizes interconnect utilization between processing elements
US8015567B2 (en) 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US7620050B2 (en) 2004-09-10 2009-11-17 Canon Kabushiki Kaisha Communication control device and communication control method
US7787454B1 (en) 2007-10-31 2010-08-31 Gigamon Llc. Creating and/or managing meta-data for data storage devices using a packet switch appliance
JP5231926B2 (ja) 2008-10-06 2013-07-10 キヤノン株式会社 情報処理装置、その制御方法、及びコンピュータプログラム
US8493979B2 (en) * 2008-12-30 2013-07-23 Intel Corporation Single instruction processing of network packets
US8014295B2 (en) 2009-07-14 2011-09-06 Ixia Parallel packet processor with session active checker

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1142303A (zh) * 1994-03-03 1997-02-05 杰奥内脱有限公司L.P. 用于管理网络计算机应用的系统
US5923660A (en) * 1996-01-31 1999-07-13 Galileo Technologies Ltd. Switching ethernet controller
US5828858A (en) * 1996-09-16 1998-10-27 Virginia Tech Intellectual Properties, Inc. Worm-hole run-time reconfigurable processor field programmable gate array (FPGA)
US6009488A (en) * 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel

Also Published As

Publication number Publication date
US8127112B2 (en) 2012-02-28
GB0203634D0 (en) 2002-04-03
GB2390506B (en) 2005-03-23
GB2374442B (en) 2005-03-23
GB2389689B (en) 2005-06-08
US8200686B2 (en) 2012-06-12
US7856543B2 (en) 2010-12-21
GB2374442A (en) 2002-10-16
US20030041163A1 (en) 2003-02-27
JP2004524617A (ja) 2004-08-12
US20020161926A1 (en) 2002-10-31
GB2377519B (en) 2005-06-15
AU2002233500A1 (en) 2002-08-28
US20040130367A1 (en) 2004-07-08
US20040114609A1 (en) 2004-06-17
US7917727B2 (en) 2011-03-29
US20020159466A1 (en) 2002-10-31
GB0203633D0 (en) 2002-04-03
GB2377519A (en) 2003-01-15
GB2390506A (en) 2004-01-07
GB0203632D0 (en) 2002-04-03
US20070217453A1 (en) 2007-09-20
GB2374443A (en) 2002-10-16
US20050243827A1 (en) 2005-11-03
US20070220232A1 (en) 2007-09-20
US7818541B2 (en) 2010-10-19
US20110083000A1 (en) 2011-04-07
GB0319801D0 (en) 2003-09-24
WO2002065700A3 (en) 2002-11-21
JP2004525449A (ja) 2004-08-19
CN1504035A (zh) 2004-06-09
US7290162B2 (en) 2007-10-30
GB2374443B (en) 2005-06-08
US20050242976A1 (en) 2005-11-03
WO2002065700A2 (en) 2002-08-22
GB2389689A (en) 2003-12-17
CN1613041A (zh) 2005-05-04
WO2002065259A1 (en) 2002-08-22
GB0321186D0 (en) 2003-10-08

Similar Documents

Publication Publication Date Title
CN100367730C (zh) 一种互连系统
EP3776231B1 (en) Procedures for implementing source based routing within an interconnect fabric on a system on chip
Galles Spider: A high-speed network interconnect
US10608640B1 (en) On-chip network in programmable integrated circuit
CN1689312B (zh) 用于建立事务的集成电路和方法
Zeferino et al. SoCIN: a parametric and scalable network-on-chip
CN101232456B (zh) 一种分布式可测试片上网络路由器
JP3816530B2 (ja) 低い待ち時間、高いクロック周波数、プレジオ非同期 パケット・ベースクロスバー・スイッチング・チップ・システム及び方法
US7940666B2 (en) Communication node architecture in a globally asynchronous network on chip system
US10707875B1 (en) Reconfigurable programmable integrated circuit with on-chip network
US7940788B2 (en) System for transmitting data within a network between nodes of the network and flow control process for transmitting the data
US20080232387A1 (en) Electronic Device and Method of Communication Resource Allocation
Pande et al. High-throughput switch-based interconnect for future SoCs
US7439763B1 (en) Scalable shared network memory switch for an FPGA
US7151752B2 (en) Method for the broadcasting of a data packet within a switched network based on an optimized calculation of the spanning tree
CN114844827A (zh) 一种用于片上网络芯片的基于共享存储的生成树路由硬件架构及方法
US7568074B1 (en) Time based data storage for shared network memory switch
US8645557B2 (en) System of interconnections for external functional blocks on a chip provided with a single configurable communication protocol
US8571016B2 (en) Connection arrangement
CN105871761A (zh) 一种高阶矩阵开关、片上网络及通信方法
Evain et al. NoC design flow for TDMA and QoS management in a GALS context
WO2006089559A1 (en) A network, a system and a node for use in the network or system
Marconett A Survey of Architectural Design and Implementation Tradeoffs in Network on Chip Systems
CN112631985B (zh) 一种链路共享的片上网络
CN101594291B (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
ASS Succession or assignment of patent right

Owner name: CLEARSPEED TECHNOLOGY PLC

Free format text: FORMER OWNER: CLEAR SPID SOLUTIONS CO., LTD.

Effective date: 20050311

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

Effective date of registration: 20050311

Address after: Bristol

Applicant after: Clearspeed Technology PLC

Address before: Bristol

Applicant before: Klier Speed Solutions Ltd

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: CRIRSPETER TECHNOLOGY INC.

Free format text: FORMER NAME: CLEARSPEED TECHNOLOGY PLC

CP01 Change in the name or title of a patent holder

Address after: Bristol

Patentee after: Crirspeter Technology Inc.

Address before: Bristol

Patentee before: Clearspeed Technology PLC

ASS Succession or assignment of patent right

Owner name: RAMBUS INC.

Free format text: FORMER OWNER: CRIRSPETER TECHNOLOGY INC.

Effective date: 20110415

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: BRISTOL, UK TO: CALIFORNIA, THE USA

TR01 Transfer of patent right

Effective date of registration: 20110415

Address after: American California

Patentee after: Rambus Inc.

Address before: Bristol

Patentee before: Crirspeter Technology Inc.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080206

Termination date: 20130214