CN1819550A - 在处理器单元中的多个处理元件间提供有效通信的方法和装置 - Google Patents
在处理器单元中的多个处理元件间提供有效通信的方法和装置 Download PDFInfo
- Publication number
- CN1819550A CN1819550A CN200510121730.8A CN200510121730A CN1819550A CN 1819550 A CN1819550 A CN 1819550A CN 200510121730 A CN200510121730 A CN 200510121730A CN 1819550 A CN1819550 A CN 1819550A
- Authority
- CN
- China
- Prior art keywords
- bus
- data
- treatment element
- data message
- control
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims description 11
- 238000004891 communication Methods 0.000 title description 5
- 230000005540 biological transmission Effects 0.000 claims description 25
- 230000007246 mechanism Effects 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 4
- 239000004744 fabric Substances 0.000 claims description 2
- 238000010276 construction Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 101150032799 PE15 gene Proteins 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000009432 framing Methods 0.000 description 3
- 101100136063 Mycobacterium tuberculosis (strain ATCC 25618 / H37Rv) PE11 gene Proteins 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 101100136064 Mycobacterium tuberculosis (strain ATCC 25618 / H37Rv) PE13 gene Proteins 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
- G06F13/4252—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a handshaking protocol
Abstract
一个文本转发总线在一个处理器单元中的多个处理元件间有效地传送控制和数据,该处理器单元具有多个处理元件。基于一个第一总线将控制和数据信息从一个处理元件向另一个处理元件传递。
Description
相互参考的交叉引用
无可用的。
关于联合发起研究的声明
无可用的
背景
如本领域技术人员已知的,诸如路由器的数据转发装置以相对较高的线速率处理到来的分组,如OC-192(10Gbps)。数据转发装置可包括网络处理器,诸如多核心的,例如Intel公司的单模IXP 1200网络处理器。在具有多个处理元件的网络处理器中,接收到的分组的头信息被发送到一个处理线程,该处理线程对该分组进行分类并根据各种运算法则修改网络状态。这些运算法则对由同一数据流中的多个分组共享的数据结构进行处理。但是,该被共享的数据分组应按照分组的到达顺序被访问。有效的将控制和数据传递到下一个属于同一数据流的一个分组的线程处理过程是困难的。例如,一个网络处理器可包括16个处理元件,这些处理元件必须交换控制和/或数据。
附图的简要说明
通过下面结合附图的详细说明,可更加全面的理解包含在此的实施例,其中:
图1是一个示范系统的图,该系统包括一个具有一个网络处理器单元的网络装置,该网络处理器单元具有一个文本转发总线;
图2是一个示范网络处理器的图,该网络处理器具有一个文本转发总线;
图3是一个示范运行微码的处理元件(PE)的图;
图4是一个处理单元的结构图,该处理单元具有多个连接到一个文本转发总线的处理元件;
图5是一个示范文本转发元件的结构图;
图6是一个时序图,其表示了在一个文本转发总线上以32比特模式的控制和数据传递;
图6A是一个时序图,其表示了在一个文本转发总线上以64比特模式的控制和数据传递;
图7是一个处理单元的结构图,该处理单元具有多个与一个具有一个开关的文本转发总线相连接的处理元件;和
图8是一个示范文本转发总线开关执行的结构图。
详细说明
图1表示一个示例的网络装置2,其包括具有多个处理元件(PE)的多个网络处理器单元(NPU),这些处理元件通过一个文本转发总线结构互相连接。该NPU对从一个数据源6到来的分组进行处理并将处理过的数据发送到一个目的地装置8。该网络装置2可包括例如一个路由器、一个开关等等。例如,该数据源6和目的地装置8可包括多个目前已知的或尚未开发出的网络装置,它们可通过一个通信路径连接,诸如一个具有OC-192(10Gbps)线速度的光路径。
该例举的网络装置2的特点在于一个线路卡LC1-LC4(“刀片”)的集合,这些线路卡通过一个开关结构SF(例如一个交叉开关或共享存储器的开关结构)相互连接。该开关结构SF例如可符合CSIX(普通开关接口)或其它结构技术,诸如高速传输、极大带宽、PCI(外围部件互联),基于SONET的分组、高速IO、和/或UTOPIA(用于ATM的通用测试和操作PHY接口)。
单个的线路卡(例如LC1)可包括一个或多个物理层(PHY)装置PD1、PD2(例如光、有线或无线的PHY),它们掌握着基于网络连接的通信。这些PHYPD在由不同网络介质承载的物理信号和由数字系统使用的比特(例如“0”和“1”)之间进行转换。线路卡LC也可包括成帧装置(如以太网、同步光网络(SONET)、高级数据链路(HDLC)成帧器或其它“二层”装置)FD1、FD2,它们能够在诸如错误检测和/或修正的帧上执行操作。所表示的线路卡LC也可包括一个或多个网络处理器NP1、NP2,其可对通过PHY接收到的分组执行分组处理操作,并通过开关结构SF将该分组传递给一个提供有出口接口的线路卡LC以转发该分组。潜在的,该网络处理器NP可执行“二层”职责而不是成帧装置FD。
图2例示了一个包括一个处理器12的系统10,其可以是一个网络处理器。该处理器12连接到一个或多个I/O装置,例如,网络装置14和16,以及一个存储器系统18。处理器12包括多个处理器(“处理引擎”或“PE”)20,每一个具有多个受执行线程22控制的硬件。在所表示的例子中,具有“n”个处理元件20,并且每个处理元件20能够处理多个线程22。每个处理元件20连接到并且能够与相邻的处理元件通信。如下所详细描述的,PE20能够与一个文本转发总线(CFB)结构相互连接,该总线结构能够使在PE中的控制和数据信息有效传递。
在一个实施例中,处理器12也包括一个通用处理器24,该处理器24协助对处理元件20和处理器12的其它资源装载微码控制,并执行其它诸如操作协议等的计算机类型的功能。在网络处理应用中,处理器24也能对不能由处理元件20掌握的更高层的网络处理任务提供支持。
每一个处理元件20都能使用共享资源进行操作,这些共享资源例如包括存储器系统18、一个外部总线接口26、I/O接口28和控制和状态寄存器(CSR)32。I/O接口28负责将处理器12控制并连接到I/O装置14、16。存储器系统18包括一个动态随机访问存储器(DRAM)34,可使用一个DRAM控制器36和一个静态随机访问存储器(SRAM)38对其进行访问,可使用一个SRAM控制器40对SRAM38进行访问。尽管没有示出,处理器12也将包括一个非易失性的存储器以支持引导操作。DRAM34和DRAM控制器36典型的用于处理例如在网络应用中的大篇幅数据,处理来自网络分组的有效载荷。在网络实现中,SRAM38和SRAM控制器40用于低潜伏期、快速访问任务,例如,访问查表等。
装置14和16可以是任何能够发送和/或接收网络业务数据的网络装置,诸如成帧/MAC(媒体访问控制)装置,例如,用于连接到基于T以太网、千兆以太网、ATM(异步传输模式)或其它类型网络的10/100的装置,或用于连接到一个开关结构的装置。例如,在一个配置中,网络装置14可以是一个以太网MAC装置(连接到一个以太网,没有示出),其向处理器12和装置16发送数据,装置16可以是一个开关结构装置,该开关结构装置从用于向一个开关结构上发送的处理器12接收处理过的数据。
此外,每个网络装置14、16可包括多个端口来被处理器12服务。I/O接口28因此支持一种或多种类型的接口,诸如一个用于分组和在一个PHY装置和一个更高层(如链路层)间的信元传递的接口,或者一个在业务管理器和用于异步传输模式(ATM)、因特网协议(IP)、以太网以及类似的数据通信应用之间的接口。I/O接口28可包括单独接收和发送块,并且每一个可对一个由处理器12支持的特殊接口单独配置。
其它装置,诸如主计算机和/或总线外围设备(没有示出),可连接到一个由外部总线接口26控制的外部总线,该外部总线接口26也可受处理器12的服务。
通常,作为一个网络处理器,处理器12能够接口到多种类型的通信装置或接收/发送数据的接口。处理器12作为一个网络处理器的功能可以从一个类似于网络装置14的网络装置接收信息单元,并以并行的方式处理这些单元。信息单元可包括一个整个的网络分组(例如以太网分组)或一个分组的一部分,例如是一个诸如普通交换接口(或“CSIX”)信元或ATM信元、或分组段的信元。也可以打算使用其它单元。
处理器12的每一个功能单元连接到一个内部总线结构或内部连接42。存储器总线44a、44b分别将存储器控制器36和40连接到存储器系统18的各个存储器单元DRAM34和SRAM38。I/O接口28通过各个I/O总线线路46a和46b分别连接到装置14和16。
参考图3,示出了一个处理元件20的例子。处理元件(PE)20包括一个控制单元50、控制逻辑(或微控制器)52和一个文本判别器/事件逻辑53,其中控制单元50包括一个控制存储器51。控制存储器51用于存储微码。该微码可由处理器24装载。该PE线程22的功能从而由通过用于一个特殊用户的应用的核心处理器24所装载进处理元件的控制存储器51内的微码来确定。
微控制器52包括一个指令解码器和用于每个所支持的线程的程序计数(PC)单元。文本判别器/事件逻辑53可从任何共享资源接收消息,例如SRAM38、DRAM34或处理器核心24等等。这些消息提供是否一个所请求的功能已经完成的信息。
PE20也包括一个执行数据路径54和一个连接到控制单元50的通用寄存器(GPR)文件单元56。数据路径54可包括多个不同数据路径元件,例如一个ALU(算术逻辑单元)、一个复用器和一个内容可访问存储器(CAM)。
GPR文件单元56(GPR)的寄存器在单独的两侧提供,A侧56a和B侧56b。在程序控制下对GPR进行单独的读取和写入。当作为指令中的一个源时,GPR向数据路径54提供操作数。当作为指令中的一个目的地时,它们被写入数据路径54的结果。指令指定选为源或目的地的特殊GPR的寄存器数目。由控制单元50提供的指令中的OP码(Opcode)选择将要执行由该指令定义的操作的数据路径元件。
PE20进一步包括一个写入传递(传递出)寄存器文件62和一个读取传递(传递进)寄存器文件64。写入传递寄存器文件62的写入传递寄存器把将要写入到一个资源的外部数据存储到处理元件。在示范实施例中,该写入寄存器文件被分割成用于SRAM(SRAM写入传递寄存器62a)和DRAM(DRAM写入传递寄存器62b)的各个寄存器文件。读取传递寄存器文件64用于把来自一个外部资源的返回数据存储到处理元件20。类似于写入传递寄存器文件,该读取传递寄存器文件被分别分割成用于SRAM和DRAM的各个寄存器文件,寄存器文件64a和64b。传递寄存器文件62、64连接到数据路径54和控制存储器50。应当注意,处理器12的结构支持允许任何PE访问任何其它PE的传递寄存器的“发射器”指令。
同样包括在PE20中的是本地存储器66。本地存储器66由寄存器68a(“LM_Addr_1”)、68b(“LM_Addr_0”)寻址,其向数据路径54提供操作数,并从作为目的地的数据路径54接收结果。
PE20也包括本地控制和状态寄存器(CSR)70,其连接到传递寄存器,用于存储本地内部线程和全局事件信令信息,以及其它控制和状态信息。其它存储器和功能单元,如,循环冗余码校验(CRC)单元(未示出),也可包括在该处理单元中。
PE20的其它寄存器类型包括下一个相邻(NN)寄存器74,其连接到控制存储器50和执行数据路径54,用于存储从一个在基于下一个相邻输入信号76a的传递路径处理中的先前相邻的PE(“上行流PE”),或从同一个PE接收到的信息,并受存储在本地CSR70中的信息的控制。下一个邻居将信号76b输出到在一个处理传递路径中的下一个相邻PE(“下行流PE”),该处理传递路径可在本地CSR70的控制下提供。从而,在任何PE上的线程可通过下一个邻居信令将线程发信号到下一个PE上。如下所详细描述的,处理元件可由一个文本转发总线(CFB)相互连接,从而在多个PE中有效的传递数据和控制信息。
虽然例示了硬件并在此进行了一些详细的描述,应当理解所例示的实施例和在此对文本转发总线的描述可应用于多种硬件、处理器、结构、装置、开发系统/工具等等。
图4例示了文本转发总线(CFB)结构100,该结构相互连接下一个相邻结构中的一个网络处理单元的处理元件102a-102q(PE0-PE15)。第16个PE102。(PE15)连接到第一个PE102a(PE0)。文本转发总线(CFB)使用下一个邻居连接以一种环形相互连接结构连接多个PE。每一个处理元件可包括一个最大数目的称为线程的处理文本,如8个。由于处理需求从分组到分组是变化的,以时间顺序处理所有分组是困难的。为了在同一数据流中挨个的处理分组,需要一个线程来将某些所依赖的变量信息传递到分配给用于那一数据流的下一分组的线程。这个下一个等待中的线程可以对当前线程不是“关闭的”,其中关闭表示相同或相邻的PE。正如下面所详细描述的,CFB结构减小了在多个线程间传递文本数据中的过多的延迟。
虽然示出了16个处理元件,应当理解可使用任何可行数目的处理元件。应进一步理解到,为了符合特殊应用的需要,可选PE与PE相互连接的结构对于现有技术中的普通技术是容易和显然的。此外,虽然主要表示了文本转发总线并配合传递文本信息进行了描述,应当理解,可使用文本转发总线从一个处理元件向另一个处理元件传递任何类型的数据、信息、信令、控制等等。
如图5所示,每个PE102包括一个CFB电路150,该电路150具有一个存储器或重定时元件152,例如寄存器,其缓存CFB数据。从一个存储器元件152到下一个存储器元件的路径在一个预定的频率上操作。每个CFB电路150进一步包括一个诸如FIFO的输入存储器机构154和一个输出存储器机构156。该输入和输出存储器机构154、156能存储数据并控制信息。该输出存储器机构,其可被理解为“数据从存储器出去”,控制输出的数据直到将该数据置于总线上为止。在一个实施例中,该输出存储器机构156支撑8个长字(LW)数据。在写入数据前,输入PE/线程应检查该输出存储器机构156中是否有足够可用的空闲空间。如果空间可用,则写入数据。否则PE/线程等待直到通过检测其状态得知该输出存储器机构156中的空间成为可用为止。
每个CFB电路150还包括一个数据路径复用器158以从先前的PE或从输出存储器机构156传递数据160。类似的,一个控制复用器162从先前的PE或从输出存储器机构156传递控制信息。解码器162通过一个复用选择信号163确定经过该数据和控制复用器158、162传递的路径,在下文将更加全面的描述。
在一个实施例中,CFB传递的块大小对于32比特模式能达到2个长字(32比特),对于64比特模式能达到4个长字。两种模式使用两个底盘周期以从一个处理元件向传递路径方式中的下一个传递数据块。
在一个特殊的实施例中,CFB结构包括一个例如可为12比特宽度的控制总线,和一个例如可为32或64比特宽度的数据总线。该控制总线承载用于在数据总线上传输的数据的控制信息。控制信息被分为在一个周期的第一部分发送的第一部分和在该周期的第二部分发送的第二部分。
表1定义了一个示例的数据结构,该数据结构定义为32和64比特模式的CFB结构。
表1:用于32比特模式和64比特模式的控制和数据总线字段说明
模式 | 名称 | 字段 | 说明 |
32比特模式中的CFB数据总线 | C0[11∶0] | PE数目[4∶0] | 目标PE数目 |
线程数目[7∶5] | 目标线程数目 | ||
LW数目有效[9∶8] | 在该传递块中的有效LW数目 | ||
未使用的[10] | 该比特当前未使用 | ||
控制有效[11] | 该位置上为“1”表示在该块传递中的信息是有效的 | ||
C1[11∶0] | 传递寄存器数目[7∶0] | 目标传递或下一个相邻寄存器数目 | |
信号数目[3∶0] | 到目标PE/线程的信号数目以表示数据传递的完成 | ||
数据0[31∶0] | D0[31∶0] | 块传递的第一个LW。其始终有效。{C0[9∶8]=xx} | |
数据1[31∶0] | D1[31∶0] | 块传递的第二个LW。{C0[9∶8]=01,10,11} | |
64比特模式中的CFB数据总线 | C0[11∶0] | PE数目[4∶0] | 目标PE数目 |
线程数目[7∶5] | 目标线程数目 | ||
LW数目有效[9∶8] | 在该传递块中的有效LW数目 | ||
未使用的[10] | 该比特当前未使用 | ||
控制有效[11] | 该位置上为“1”表示在该块传递中的信息是有效的 | ||
C1[11∶0] | 传递寄存器数目[7∶0] | 目标传递或下一个相邻寄存器数目 | |
信号数目[3∶0] | 到目标PE/线程的信号数目以表示数据传递的完成 | ||
数据0[31∶0] | D0[31∶0] | 块传递的第一个LW。其始终有效。{C0[9∶8]=xx} | |
数据1[31∶0] | D1[31∶0] | 块传递的第二个LW。{C0[9∶8]=01,10,11} | |
数据2[31∶0] | D3[31∶0] | 块传递的第三个LW。{C0[9∶8]=10,11} | |
数据3[31∶0] | D4[31∶0] | 块传递的第四个LW。{C0[9∶8]=11} |
图6例示了一个时序图200,其包括一个用于第四个PE102d的输入上的CFB的时序图200a(图4),其可称为PE4,和一个用于PE4的输出上的CFB的时序图200b。以32比特模式表示该操作。
在详细描述该时序图200以前,应当注意可通过分成3类来帮助理解CFB的操作:
1.当CFB元件象缓存器(重定时元件)一样对已经在该总线上的数据工作时。
2.当CFB元件从对其指定的总线拉取数据时。
3.当CFB元件在感觉到一个空时隙后在该总线上插入一个新数据时。
系统时钟202控制PE交互和一个传递开始(SOT)204信号以及在控制总线208上的控制信息的所有定时,该传递开始信号表示在数据总线206上的数据开始。为了举例说明,总线行为信息210识别对于当前传递周期有影响的PE。
在引入的时序图200a的一个C1周期中,由PE4接收第一和第二数据字D0、D1和用于PE7的第一和第二控制字C0、C1。对于第二周期C2,CFB是空的,即总线上不存在控制或数据字。在第三周期C3,CFB上存在对于PE4的数据字D0、D1和控制字C0、C1。如在该输出时序图200b中所能见到的,PE4将数据和控制字D0、D1、C0、C1带离该总线并使这些时隙对使用是空的和可用的。
在第四个周期C4中,对于PE8的数据和控制字D0、C0、C1被沿着CFB传递给了PE5,其是PE4的下一个相邻的PE。在第五个周期C5中,PE4将对于PE7的数据和控制字D0、D1、C0、C1插入到CFB上。PE7在收到后将把这些数据和控制字带离该总线。如所能见到的,CFB在C5的开始PE4的输入处是空的,使PE4对于一个下行流PE将数据插入到CFB上。
图6A表示了一个用于64比特模式的时序图200’。很容易可以见到,与图6的时序图200具有实质上的类似。为了简短,在图6A中参考图6是多余的/明显的特征不在做说明。在64比特模式中,第一、第二、第三和第四数据字D0、D1、D2、D3被置于该总线上。第一数据字D0被置于比特[31∶0]上,而第二数据字D1被并行置于比特[63∶32]上。第三数据字D2在第一个字之后被置于比特[31∶0]上,并且第四数据字D4在第二个字之后被置于比特[63∶32]上。
结合图6再次参考图5,多种CFB的操作可进一步详细描述。如上面所描述的,对于第一周期C1,CFB元件150可对于已经在总线上的数据提供一个缓存器(重定时元件)。解码器162解码控制信息,如控制字[11∶0]和“传递开始”(SOT)。当SOT为“1”并且C0[11]为“1”时,CFB上存在有效数据。如果该数据不是用于这个PE的,解码器162输出对复用选择信号产生一个逻辑“0”值,从而已经在该总线上的数据/控制信息将通过复用器158、162传递给下一个PE。如果解码器162解码的时隙是空的,例如SOT=1并且C0[11]=0,则复用选择163信号为逻辑“1”,并且如果存在,PE将有效数据和控制字插入。如果该PE没有用于传递的任何有效数据,其将C0[11]=0再次插入到总线上,从而传播该空时隙。
如在第三个周期C3中所示的,一个PE能从指定于该PE的CFB拉取数据。当解码器162解码SOT=1并且C0[11]=1时,该总线上的数据是有效的。其将该PE数与它自己的数目相比较,并确定是否匹配。如果匹配,则该总线上的数据块是用于该PE的。该数据被拉进并写入在由线程数目和寄存器数目所定义的位置上。如果定义了对于该事件的一个信号,该信号也对于该线程发送。当该数据被带离了该总线时,时隙为空并且解码器162对该时隙产生一个为“1”的复用选择信号163。如果PE在CFB总线上具有用于传递的有效数据,其连同为“1”的C0[11]一起插入数据/控制字。如果PE不具有任何用于传递的有效数据,其将C0[11]写为“0”从而标志该时隙为空。
如在第五个周期C5中所示的,一个CFB元件能在感觉到一个空时隙之后将数据插入到CFB上。当解码器162将复用选择信号163设置为“1”时,该PE能将新数据插入到该总线上。为了将数据放置到总线上,依照表1产生控制字C0、C1并将其写入到该总线上的各个空时隙中。连同控制字C0、C1,将相关数据写入到该数据总线上。如表1中所示,C0[9∶8]定义了LW(长字)有效的数目。如果总线处于64比特模式,将数据字D0和D1插入到该周期的第一部分中的D0[31∶0]和D1[63∶32]中,并将D2和D3写入到该周期的第二部分中的D0[31∶0]和D1[63∶32]中。
容易看到,对于16个元件的配置,PE0和PE15间的距离是15个底盘时钟周期的最小值。类似的,由于CFB总线仅在前进方向中传播数据,PE1和PE0间的距离也是15个时钟周期的最小值。但是,由于一个线程分配模块能将连续的分组分配给在该CFB结构中相互关闭的那些线程,因而最大的时钟周期传递也是最小的。例如,参看图4,PE3对PE2是关闭的,但由于CFB仅在前进方向中传播数据,因而PE1不是关闭的。由于平均起来大多数连续的线程(具有连续分组的线程)是相对关闭的(在一对底盘周期内),以上定义的总线结构可在等待的PE间有效的移动数据。因而,可在一个所谓的线程池程序模型中实现OC-192的性能,或接近与OC-192的性能。
在图7所示的另一个实施例中,一个CFB开关具有第一和第二模块302a、302b,其可被加入到图4的结构中以减少一半以上所描述的最大延迟。处PE到PE的路径之外,开关300是某些PE组成为旁路。例如,从PE0来的数据可通过每个PE1、PE2、PE3传递到第二开关模块302b,然后到达PE12、PE13、PE14和它的目的地PE15。PE4-11被旁路了,从而将最大延迟从15减小到了大约7个底盘时钟。
图8结合图7表示了一个用于第二开关模块302b的实施例。开关模块302b包括一个诸如FIFO的第一存储器机构304,其例如从PE3接收一个第一输入;一个诸如FIFO的第二存储器机构306,其从其它开关模块302a接收数据;和一个诸如FIFO的第三存储器机构308,其例如从PE11接收数据。每个FIFO304、306、308向每个第一、第二和第三复用器310、312、314提供输入。第一复用器310可连接到第一开关模块302a,第二复用器312可连接到PE4,第三复用器314可连接到PE12。第一和第二开关模块302a、b可具有相同或不同的结构。
通过这种排列,第二开关模块302b可提供从PE3到PE4(与图4中没有开关模块302的情况相同)、从PE3到第一开关模块302a、从PE3到PE12、从PE11到PE12(与图4相同)的路径。可通过一个普通的现有技术容易的确定复用器的控制。
在此所描述的实施例提供了在一个处理单元中相互连接多个处理元件的文本转发总线,其可形成于一个单独的模块上并且在该模块上具有多个核心,从而在处理元件中有效传递控制和数据信息。通过这种排列,实现了在处理元件中的内部线程通信,从而支持相对快速的线速率,例如OC-192。
Claims (21)
1、一种处理单元,包括:
在该处理单元中的第一处理元件:和
在该处理单元中的第二处理元件,其通过第一总线连接到第一处理元件,该第一总线具有控制信息总线和数据信息总线,该第二处理元件包括第一电路,其用于从第一总线获取用于该第二处理元件的控制信息和数据信息,将用于第一处理元件的控制信息和数据信息插入到第一总线上的可用时隙上,并在第一总线上传递用于连接到该第一总线的其它处理元件的控制信息和数据信息。
2、依照权利要求1的单元,其中第一电路包括输入存储器机构以保持来自第一总线的用于第二处理元件的控制和/或数据信息。
3、依照权利要求1的单元,其中第一电路包括输出存储器机构以保持控制和/或数据信息,从而由第二处理元件将这些信息放置在第一总线上。
4、依照权利要求3的单元,其中第一电路包括数据存储器元件以保持不是用于第二处理单元的数据信息,并将这些信息在第一总线上传递。
5、依照权利要求1的单元,其中处理单元形成在单个管芯上。
6、依照权利要求6的单元,其中第一总线连续地互连每一个处理元件。
7、依照权利要求1的单元,其中控制信息和数据信息包括处理中的上下文信息。
8、依照权利要求1的单元,其中数据总线包括第一和第二总线以并行发送数据信息。
9、依照权利要求1的单元,其中控制总线包括用于一个或多个目标处理元件、目标线程数、用于传递的字数、给定传递的数据是否有效、下一个相邻寄存器数目、用于指示传递完成的到目标PE的信号数目的信息。
10、依照权利要求1的单元,进一步包括连接到多个处理元件中的选定一些的开关,来减小与最远距离的处理元件的最大延迟。
11、一种网络转发装置,包括:
至少一个线路卡,用于向交换结构的多个端口转发数据;
该至少一个线路卡包括具有配置为执行微码的多线程处理元件的网络处理器,该网络处理器包括
第一处理元件;和
通过第一总线连接到该第一处理元件的第二处理元件,该第一总线具有控制信息总线和数据信息总线,该第二处理元件包括
第一电路,其用于从第一总线获取用于该第二处理元件的控制信息和数据信息,将用于第一处理元件的控制信息和数据信息插入到第一总线上的可用时隙上,并在第一总线上传递用于连接到该第一总线的其它处理元件的控制信息和数据信息。
12、依照权利要求11的装置,其中第一电路包括输入存储器机构以保持来自第一总线的用于第二处理元件的控制和/或数据信息。
13、依照权利要求11的装置,其中第一电路包括输出存储器机构以保持控制和/或数据信息,从而由第二处理元件将这些信息放置在第一总线上。
14、依照权利要求13的装置,其中第一电路包括数据存储器元件以保持不是用于第二处理单元的数据信息,并将这些信息在第一总线上传递。
15、依照权利要求14的装置,其中数据总线包括第一和第二总线以并行发送数据信息。
16、依照权利要求14的装置,其中控制总线包括用于一个或多个目标处理元件、目标线程数、用于传递的字数、给定传递的数据是否有效、下一个相邻寄存器数目、用于指示传递完成的到目标PE的信号数目的信息。
17、一种在处理单元的多个处理元件中传递数据和控制信息的方法,包括:
在具有相互连接这些处理元件的控制总线和数据总线的第一总线上接收控制和数据信息;
通过目标处理元件将控制和数据信息带离该第一总线;
通过非目标处理元件沿该第一总线传递控制和数据信息;并
将控制和数据信息插入到该第一总线上以传输到另一个处理元件。
18、依照权利要求17的方法,其中处理元件包括第一电路,该第一电路具有输入存储机构以保持脱离该第一总线的控制和/或数据信息。
19、依照权利要求18的方法,其中该第一电路包括输出存储机构以保持将被插入到该第一总线上的控制和/或数据信息。
20、依照权利要求19的方法,其中该第一电路包括数据存储元件以保持将在该第一总线上传递的数据信息。
21、依照权利要求17的方法,其中控制信息包括用于一个或多个目标处理元件、目标线程数、用于传递的字数、给定传递的数据是否有效、下一个相邻寄存器数目、用于指示传递完成的到目标PE的信号数目的信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/018,579 | 2004-12-21 | ||
US11/018,579 US7555630B2 (en) | 2004-12-21 | 2004-12-21 | Method and apparatus to provide efficient communication between multi-threaded processing elements in a processor unit |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1819550A true CN1819550A (zh) | 2006-08-16 |
Family
ID=36540231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510121730.8A Pending CN1819550A (zh) | 2004-12-21 | 2005-12-21 | 在处理器单元中的多个处理元件间提供有效通信的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7555630B2 (zh) |
EP (1) | EP1828911A2 (zh) |
CN (1) | CN1819550A (zh) |
WO (1) | WO2006069355A2 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8607241B2 (en) | 2004-06-30 | 2013-12-10 | Intel Corporation | Compare and exchange operation using sleep-wakeup mechanism |
US7474658B2 (en) * | 2005-02-10 | 2009-01-06 | International Business Machines Corporation | Data processing system, method and interconnect fabric supporting concurrent operations of varying broadcast scope |
US20070157030A1 (en) * | 2005-12-30 | 2007-07-05 | Feghali Wajdi K | Cryptographic system component |
US8195921B2 (en) * | 2008-07-09 | 2012-06-05 | Oracle America, Inc. | Method and apparatus for decoding multithreaded instructions of a microprocessor |
US8806258B2 (en) | 2008-09-30 | 2014-08-12 | Intel Corporation | Platform communication protocol |
Family Cites Families (126)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
US5257218A (en) | 1992-01-06 | 1993-10-26 | Intel Corporation | Parallel carry and carry propagation generator apparatus for use with carry-look-ahead adders |
US5460349A (en) | 1992-09-25 | 1995-10-24 | Parker-Hannifin Corporation | Expansion valve control element for air conditioning system |
US5477383A (en) | 1993-02-05 | 1995-12-19 | Apa Optics, Inc. | Optical array method and apparatus |
JPH0713945A (ja) * | 1993-06-16 | 1995-01-17 | Nippon Sheet Glass Co Ltd | 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造 |
US5398244A (en) * | 1993-07-16 | 1995-03-14 | Intel Corporation | Method and apparatus for reduced latency in hold bus cycles |
EP0727076B1 (en) | 1993-11-02 | 1997-10-22 | Taligent, Inc. | Object-oriented graphic system and method |
US5442576A (en) | 1994-05-26 | 1995-08-15 | Motorola, Inc. | Multibit shifting apparatus, data processor using same, and method therefor |
US5864822A (en) | 1996-06-25 | 1999-01-26 | Baker, Iii; Bernard R. | Benefits tracking and correlation system for use with third-party enabling organization |
US5868909A (en) * | 1997-04-21 | 1999-02-09 | Eastlund; Bernard John | Method and apparatus for improving the energy efficiency for separating the elements in a complex substance such as radioactive waste with a large volume plasma processor |
US5911056A (en) * | 1997-05-01 | 1999-06-08 | Hewlett-Packard Co. | High speed interconnect bus |
US5890008A (en) * | 1997-06-25 | 1999-03-30 | Sun Microsystems, Inc. | Method for dynamically reconfiguring a processor |
US5974525A (en) | 1997-12-05 | 1999-10-26 | Intel Corporation | System for allowing multiple instructions to use the same logical registers by remapping them to separate physical segment registers when the first is being utilized |
US6282554B1 (en) | 1998-04-30 | 2001-08-28 | Intel Corporation | Method and apparatus for floating point operations and format conversion operations |
US6263426B1 (en) * | 1998-04-30 | 2001-07-17 | Intel Corporation | Conversion from packed floating point data to packed 8-bit integer data in different architectural registers |
US6247116B1 (en) * | 1998-04-30 | 2001-06-12 | Intel Corporation | Conversion from packed floating point data to packed 16-bit integer data in different architectural registers |
US6266769B1 (en) | 1998-04-30 | 2001-07-24 | Intel Corporation | Conversion between packed floating point data and packed 32-bit integer data in different architectural registers |
US6292815B1 (en) | 1998-04-30 | 2001-09-18 | Intel Corporation | Data conversion between floating point packed format and integer scalar format |
US6549451B2 (en) * | 1998-09-30 | 2003-04-15 | Raj Kumar Jain | Memory cell having reduced leakage current |
US6510075B2 (en) * | 1998-09-30 | 2003-01-21 | Raj Kumar Jain | Memory cell with increased capacitance |
US6587856B1 (en) | 1998-12-07 | 2003-07-01 | Oracle International Corporation | Method and system for representing and accessing object-oriented data in a relational database system |
US6401120B1 (en) | 1999-03-26 | 2002-06-04 | Microsoft Corporation | Method and system for consistent cluster operational data in a server cluster using a quorum of replicas |
US6606704B1 (en) * | 1999-08-31 | 2003-08-12 | Intel Corporation | Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode |
US6668317B1 (en) * | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
US6427196B1 (en) | 1999-08-31 | 2002-07-30 | Intel Corporation | SRAM controller for parallel processor architecture including address and command queue and arbiter |
US6687246B1 (en) * | 1999-08-31 | 2004-02-03 | Intel Corporation | Scalable switching fabric |
US6487107B1 (en) | 1999-09-29 | 2002-11-26 | Infineon Technologies Ag | Retention time of memory cells by reducing leakage current |
US6571333B1 (en) | 1999-11-05 | 2003-05-27 | Intel Corporation | Initializing a memory controller by executing software in second memory to wakeup a system |
US6714952B2 (en) | 1999-11-10 | 2004-03-30 | Emc Corporation | Method for backup and restore of a multi-lingual network file server |
US6599842B2 (en) | 1999-11-29 | 2003-07-29 | Applied Materials, Inc. | Method for rounding corners and removing damaged outer surfaces of a trench |
US6532509B1 (en) * | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
US6694380B1 (en) * | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US6631430B1 (en) | 1999-12-28 | 2003-10-07 | Intel Corporation | Optimizations to receive packet status from fifo bus |
US6560667B1 (en) * | 1999-12-28 | 2003-05-06 | Intel Corporation | Handling contiguous memory references in a multi-queue system |
US6324624B1 (en) | 1999-12-28 | 2001-11-27 | Intel Corporation | Read lock miss control and queue management |
US6307789B1 (en) | 1999-12-28 | 2001-10-23 | Intel Corporation | Scratchpad memory |
US6463072B1 (en) | 1999-12-28 | 2002-10-08 | Intel Corporation | Method and apparatus for sharing access to a bus |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6584522B1 (en) * | 1999-12-30 | 2003-06-24 | Intel Corporation | Communication between processors |
US6631462B1 (en) | 2000-01-05 | 2003-10-07 | Intel Corporation | Memory shared between processing threads |
US20020107811A1 (en) | 2000-01-07 | 2002-08-08 | Sandeep Jain | Use of time-stamps and digital signatures |
US20020073091A1 (en) * | 2000-01-07 | 2002-06-13 | Sandeep Jain | XML to object translation |
US20020069121A1 (en) * | 2000-01-07 | 2002-06-06 | Sandeep Jain | Supply assurance |
US20020087862A1 (en) | 2000-01-07 | 2002-07-04 | Sandeep Jain | Trusted intermediary |
AU2001226401A1 (en) * | 2000-01-14 | 2001-07-24 | Saba Software, Inc. | Method and apparatus for a business applications server |
US7072934B2 (en) * | 2000-01-14 | 2006-07-04 | Saba Software, Inc. | Method and apparatus for a business applications server management system platform |
US6971086B2 (en) * | 2000-03-16 | 2005-11-29 | Silicon Graphics, Inc. | Common user interface development toolkit for a system administration program |
US6633987B2 (en) | 2000-03-24 | 2003-10-14 | Intel Corporation | Method and apparatus to implement the ACPI(advanced configuration and power interface) C3 state in a RDRAM based system |
US6442697B1 (en) * | 2000-03-24 | 2002-08-27 | Intel Corporation | Method and apparatus to control processor power and performance for single phase lock loop (PLL) processor systems |
US7682837B2 (en) * | 2000-05-05 | 2010-03-23 | Board Of Trustees Of Leland Stanford Junior University | Devices and methods to form a randomly ordered array of magnetic beads and uses thereof |
US7146277B2 (en) * | 2000-06-13 | 2006-12-05 | James H. Prestegard | NMR assisted design of high affinity ligands for structurally uncharacterized proteins |
US6469925B1 (en) | 2000-07-14 | 2002-10-22 | Raj Kumar Jain | Memory cell with improved retention time |
US6469924B2 (en) * | 2000-07-14 | 2002-10-22 | Infineon Technologies Ag | Memory architecture with refresh and sense amplifiers |
US6545905B2 (en) | 2000-07-14 | 2003-04-08 | Infineon Technologies Ag | Multi-port memory cell with refresh port |
US6628551B2 (en) | 2000-07-14 | 2003-09-30 | Infineon Technologies Aktiengesellschaft | Reducing leakage current in memory cells |
US6629237B2 (en) * | 2000-09-01 | 2003-09-30 | Intel Corporation | Solving parallel problems employing hardware multi-threading in a parallel processing environment |
US20020055852A1 (en) * | 2000-09-13 | 2002-05-09 | Little Erik R. | Provider locating system and method |
US6975628B2 (en) | 2000-12-22 | 2005-12-13 | Intel Corporation | Method for representing and controlling packet data flow through packet forwarding hardware |
US6738068B2 (en) * | 2000-12-29 | 2004-05-18 | Intel Corporation | Entering and exiting power managed states without disrupting accelerated graphics port transactions |
US20020106085A1 (en) | 2001-01-05 | 2002-08-08 | Sandeep Jain | Security breach management |
US8467894B2 (en) | 2001-01-06 | 2013-06-18 | Hewlett-Packard Development Company, L.P. | Method and apparatus for managing product end of life |
US20030004720A1 (en) * | 2001-01-30 | 2003-01-02 | Harinath Garudadri | System and method for computing and transmitting parameters in a distributed voice recognition system |
US6449548B1 (en) | 2001-02-14 | 2002-09-10 | Ford Global Technologies, Inc. | Automatic transmission shift control |
US7120134B2 (en) | 2001-02-15 | 2006-10-10 | Qualcomm, Incorporated | Reverse link channel architecture for a wireless communication system |
US6666862B2 (en) | 2001-03-01 | 2003-12-23 | Cardiac Pacemakers, Inc. | Radio frequency ablation system and method linking energy delivery with fluid flow |
DE10109974B4 (de) * | 2001-03-01 | 2006-02-16 | Infineon Technologies Ag | Verfahren und System zur digitalen Echtzeit-Datenverarbeitung |
US6694397B2 (en) * | 2001-03-30 | 2004-02-17 | Intel Corporation | Request queuing system for a PCI bridge |
US7774408B2 (en) | 2001-04-23 | 2010-08-10 | Foundationip, Llc | Methods, systems, and emails to link emails to matters and organizations |
US20020184352A1 (en) | 2001-05-17 | 2002-12-05 | Sunit Jain | Firmware common operations and reset environment |
US7082104B2 (en) | 2001-05-18 | 2006-07-25 | Intel Corporation | Network device switch |
US6983153B2 (en) | 2001-06-07 | 2006-01-03 | Qualcomm Incorporated | Method and apparatus for congestion control in a wireless communication system |
US7961616B2 (en) | 2001-06-07 | 2011-06-14 | Qualcomm Incorporated | Method and apparatus for congestion control in a wireless communication system |
US7624444B2 (en) * | 2001-06-13 | 2009-11-24 | Mcafee, Inc. | Method and apparatus for detecting intrusions on a computer system |
US6996597B2 (en) * | 2001-06-15 | 2006-02-07 | Centillium Communications, Inc. | Increasing precision in multi-stage processing of digital signals |
US6898746B2 (en) | 2001-06-19 | 2005-05-24 | Intel Corporation | Method of and apparatus for testing a serial differential/mixed signal device |
US6662120B2 (en) * | 2001-06-19 | 2003-12-09 | Endress + Hauser Flowtec Ag | Excitation circuits for coriolis mass flowmeters |
US7328455B2 (en) * | 2001-06-28 | 2008-02-05 | Intel Corporation | Apparatus and method for enabling secure content decryption within a set-top box |
US6668311B2 (en) | 2001-07-30 | 2003-12-23 | Intel Corporation | Method for memory allocation and management using push/pop apparatus |
US7031887B2 (en) * | 2001-07-31 | 2006-04-18 | Agilent Technologies, Inc. | System architecture synthesis and exploration for multiple functional specifications |
US7165225B2 (en) * | 2001-08-15 | 2007-01-16 | Microsoft Corporation | Cursor tracking in a multi-level GUI |
US6961932B2 (en) * | 2001-08-15 | 2005-11-01 | Microsoft Corporation | Semantics mapping between different object hierarchies |
US7076785B2 (en) * | 2001-08-15 | 2006-07-11 | Microsoft Corporation | Lazy loading with code conversion |
US6904446B2 (en) * | 2001-08-24 | 2005-06-07 | Freescale Semiconductor, Inc. | Floating point multiplier/accumulator with reduced latency and method thereof |
US6868476B2 (en) * | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
US7225281B2 (en) * | 2001-08-27 | 2007-05-29 | Intel Corporation | Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms |
US7487505B2 (en) * | 2001-08-27 | 2009-02-03 | Intel Corporation | Multithreaded microprocessor with register allocation based on number of active threads |
US7216204B2 (en) * | 2001-08-27 | 2007-05-08 | Intel Corporation | Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment |
US7076417B2 (en) * | 2001-09-05 | 2006-07-11 | Agilent Technologies, Inc. | Method for modeling and processing asynchronous functional specification for system level architecture synthesis |
US7315863B2 (en) * | 2001-09-20 | 2008-01-01 | Oracle International Corp | Method and apparatus for automatic notification of database events |
US20030065785A1 (en) * | 2001-09-28 | 2003-04-03 | Nikhil Jain | Method and system for contacting a device on a private network using a specialized domain name server |
US6671552B2 (en) * | 2001-10-02 | 2003-12-30 | Medtronic, Inc. | System and method for determining remaining battery life for an implantable medical device |
US6853597B2 (en) * | 2001-10-03 | 2005-02-08 | Infineon Technologies Aktiengesellschaft | Integrated circuits with parallel self-testing |
US7389359B2 (en) * | 2001-10-19 | 2008-06-17 | Foundry Networks, Inc. | Method and system for intelligently forwarding multicast packets |
US6823425B2 (en) * | 2001-10-23 | 2004-11-23 | Ivivity, Inc. | System and method for implementing advanced RAID using a set of unique matrices as coefficients |
US20030081582A1 (en) * | 2001-10-25 | 2003-05-01 | Nikhil Jain | Aggregating multiple wireless communication channels for high data rate transfers |
US7068706B2 (en) * | 2002-10-15 | 2006-06-27 | Tensorcomm, Inc. | System and method for adjusting phase |
US7054628B2 (en) * | 2001-12-07 | 2006-05-30 | Qualcomm Incorporated | Apparatus and method of using a ciphering key in a hybrid communications network |
US6848090B2 (en) * | 2001-12-11 | 2005-01-25 | Cadence Design Systems, Inc. | Mechanism for recognizing and abstracting pre-charged latches and flip-flops |
US7158964B2 (en) * | 2001-12-12 | 2007-01-02 | Intel Corporation | Queue management |
US6738831B2 (en) * | 2001-12-12 | 2004-05-18 | Intel Corporation | Command ordering |
US7107413B2 (en) * | 2001-12-17 | 2006-09-12 | Intel Corporation | Write queue descriptor count instruction for high speed queuing |
US7269179B2 (en) * | 2001-12-18 | 2007-09-11 | Intel Corporation | Control mechanisms for enqueue and dequeue operations in a pipelined network processor |
US7031898B2 (en) * | 2001-12-21 | 2006-04-18 | Cadence Design Systems, Inc. | Mechanism for recognizing and abstracting memory structures |
US6779084B2 (en) | 2002-01-23 | 2004-08-17 | Intel Corporation | Enqueue operations for multi-buffer packets |
US7610451B2 (en) * | 2002-01-25 | 2009-10-27 | Intel Corporation | Data transfer mechanism using unidirectional pull bus and push bus |
US20050018601A1 (en) * | 2002-06-18 | 2005-01-27 | Suresh Kalkunte | Traffic management |
US7324520B2 (en) * | 2002-07-03 | 2008-01-29 | Intel Corporation | Method and apparatus to process switch traffic |
US7313140B2 (en) * | 2002-07-03 | 2007-12-25 | Intel Corporation | Method and apparatus to assemble data segments into full packets for efficient packet-based classification |
US20040004972A1 (en) * | 2002-07-03 | 2004-01-08 | Sridhar Lakshmanamurthy | Method and apparatus for improving data transfer scheduling of a network processor |
US7251219B2 (en) * | 2002-07-03 | 2007-07-31 | Intel Corporation | Method and apparatus to communicate flow control information in a duplex network processor system |
US20040006724A1 (en) * | 2002-07-05 | 2004-01-08 | Intel Corporation | Network processor performance monitoring system and method |
US7478407B2 (en) * | 2002-07-11 | 2009-01-13 | Oracle International Corporation | Supporting multiple application program interfaces |
US6819201B2 (en) * | 2002-07-19 | 2004-11-16 | M/A-Com | Balanced high isolation fast state transitioning switch apparatus |
US7337275B2 (en) * | 2002-08-13 | 2008-02-26 | Intel Corporation | Free list and ring data structure management |
US6973550B2 (en) * | 2002-10-02 | 2005-12-06 | Intel Corporation | Memory access control |
US7603662B2 (en) * | 2002-10-09 | 2009-10-13 | Microsoft Corporation | System and method for sensing types of local variables |
JP4210649B2 (ja) * | 2002-10-15 | 2009-01-21 | テンソルコム インコーポレイテッド | チャンネル振幅推定および干渉ベクトル構築のための方法および装置 |
US7433307B2 (en) * | 2002-11-05 | 2008-10-07 | Intel Corporation | Flow control in a network environment |
US20040093261A1 (en) * | 2002-11-08 | 2004-05-13 | Vivek Jain | Automatic validation of survey results |
US7788556B2 (en) * | 2002-11-13 | 2010-08-31 | Fujitsu Limited | System and method for evaluating an erroneous state associated with a target circuit |
US7769623B2 (en) * | 2002-12-17 | 2010-08-03 | International Business Machines Corporation | Method and system for conducting online marketing research in a controlled manner |
US20040117791A1 (en) * | 2002-12-17 | 2004-06-17 | Ajith Prasad | Apparatus, system and method for limiting latency |
US7350060B2 (en) * | 2003-04-24 | 2008-03-25 | International Business Machines Corporation | Method and apparatus for sending thread-execution-state-sensitive supervisory commands to a simultaneous multi-threaded (SMT) processor |
US20050010761A1 (en) * | 2003-07-11 | 2005-01-13 | Alwyn Dos Remedios | High performance security policy database cache for network processing |
US6829056B1 (en) | 2003-08-21 | 2004-12-07 | Michael Barnes | Monitoring dimensions of features at different locations in the processing of substrates |
-
2004
- 2004-12-21 US US11/018,579 patent/US7555630B2/en not_active Expired - Fee Related
-
2005
- 2005-12-20 EP EP05855489A patent/EP1828911A2/en not_active Ceased
- 2005-12-20 WO PCT/US2005/046937 patent/WO2006069355A2/en active Application Filing
- 2005-12-21 CN CN200510121730.8A patent/CN1819550A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2006069355A3 (en) | 2006-08-24 |
EP1828911A2 (en) | 2007-09-05 |
US7555630B2 (en) | 2009-06-30 |
US20060155959A1 (en) | 2006-07-13 |
WO2006069355A2 (en) | 2006-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9111151B2 (en) | Network on chip processor with multiple cores and routing method thereof | |
US9294097B1 (en) | Device array topology configuration and source code partitioning for device arrays | |
US8127112B2 (en) | SIMD array operable to process different respective packet protocols simultaneously while executing a single common instruction stream | |
CN1801775B (zh) | 流分配 | |
US9444757B2 (en) | Dynamic configuration of processing modules in a network communications processor architecture | |
US20160173104A1 (en) | Programmable forwarding plane | |
WO2006069126A2 (en) | Method and apparatus to support multiple memory banks with a memory block | |
US7000061B2 (en) | Caching queue status updates | |
CN103959261A (zh) | 网络处理器中的多内核互联 | |
CN1819550A (zh) | 在处理器单元中的多个处理元件间提供有效通信的方法和装置 | |
CN109905321A (zh) | 一种用于自定义高速接口与以太网交互的路由控制系统 | |
US7536692B2 (en) | Thread-based engine cache partitioning | |
CN1781293A (zh) | 用于修改从源传输到目的地的数据的系统和方法 | |
US7277990B2 (en) | Method and apparatus providing efficient queue descriptor memory access | |
CN1997973A (zh) | 动态缓存引擎指令 | |
US7218638B2 (en) | Switch operation scheduling mechanism with concurrent connection and queue scheduling | |
Lee et al. | MRCN: Throughput-oriented multicast routing for customized network-on-chips | |
Seifi et al. | Clustered NOC, a suitable design for group communications in Network on Chip | |
CN1781079A (zh) | 利用门管理器维护实体顺序 | |
US20060140203A1 (en) | System and method for packet queuing | |
US7940764B2 (en) | Method and system for processing multicast packets | |
US20040081158A1 (en) | Centralized switching fabric scheduler supporting simultaneous updates | |
Seifi et al. | A clustered NoC in group communication | |
Yoon et al. | Scalable flow-based network processor for premium network services | |
US11934337B2 (en) | Chip and multi-chip system as well as electronic device and data transmission method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |