CN1304088A - 数据处理装置 - Google Patents

数据处理装置 Download PDF

Info

Publication number
CN1304088A
CN1304088A CN01101393A CN01101393A CN1304088A CN 1304088 A CN1304088 A CN 1304088A CN 01101393 A CN01101393 A CN 01101393A CN 01101393 A CN01101393 A CN 01101393A CN 1304088 A CN1304088 A CN 1304088A
Authority
CN
China
Prior art keywords
instruction
data processing
processing equipment
program
aforesaid right
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN01101393A
Other languages
English (en)
Other versions
CN1147786C (zh
Inventor
X·倪
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.)
Infineon Technologies Wireless Solutions Ltd
Infineon Technologies AG
Intel Germany Holding GmbH
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN1304088A publication Critical patent/CN1304088A/zh
Application granted granted Critical
Publication of CN1147786C publication Critical patent/CN1147786C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种数据处理装置,尤其是网络处理器,它用于处理在诸如LAN,ATM开关,IP路由器,基于DSL、以太网或电缆调制解调器的帧中继等应用中的第1~7层协议栈,该网络处理器具有与需并行处理的进程数目相对应的指令缓冲器、指令译码器和指令执行单元,其中,基本上由一个程序流控制单元来控制该并行处理。

Description

数据处理装置
本发明涉及一种并行处理至少两个独立进程(线程)的数据处理装置。
US’A’5,941,983公开过一种利用程序存储器来并行处理独立进程的数据处理装置,所述程序存储器中存放了一个具有许多独立进程(线程)的编译程序,其中,该编译程序具有关于并行性的信息和许多带有多个进程指令的束。
WO 99/21088 A1公开过一种利用线程切换逻辑来并行处理进程(线程)的数据处理装置,它具有用于存储标志和数据的寄存器。
US’A’5,404,469公开过一种数据处理装置(多线程微处理器),它利用的是一种静态的嵌套技术。
众所周知,数据处理装置或处理器的信息通过量及速度可以利用流水线操作和增加时钟频率来提高。
通过增加硬件费用,也就是说使处理器单元倍增,同样也可以提高数据处理速率。对此,基本上已知有两种方案,即多处理器结构和处理器指令级上的并行操作(ILP=指令级并行操作)。
如今,ILP已作为并行处理方案而被广泛实现。相反,多处理器结构由于其复杂的处理器互通信而成就甚小。
有一种ILP方案的实施例是德克萨斯仪器公司C6x结构系列的数字信号处理器的VLIW(极大指令字)结构。因特(Intel)和休勒特-派克特(Hewlett-Packard)公司的新型IA-64结构也基于的是ILP方案。在上述两种结构中,都规定了转换程序代码期间的并行操作。因特公司把它的IA-64结构称为“显式并行指令计算”(EPIC)。在所述的转换过程中,设置了一些预定标志以用于并行性的识别。由此,处理器可以简单地确定并行执行的指令何时在程序流中产生和相应地作用。另外,这会比诸如在全并行操作中譬如双倍设置的硬件要便宜,而所述全并行操作应用在强力PC处理器的超标量结构当中。在那儿,只有在程序运行时间内才规定并行操作,然后再根据该并行操作进行相应地作用。但是,由ILP获得的效益会因数据及控制操作的内在依赖性而受到限制。为了避免这种依赖性,需要有耗费很大的预处理-譬如已经在编程中考虑数据及控制操作的依赖性-,这又提高了整个研制过程的费用。
在1995年第22轮计算机结构国际研讨会的记录中公开的D.M.Tullsen,S.J.Eggers,H.M.Levy的论文“同时多线程:芯片上并行操作的最大化”建议了一种同时多线程处理方案,以用于在芯片级上进行最大化的并行操作。对此,多个独立的进程、指令序列或程序流(线程)在一个时钟周期内被输出到超标量处理器的多个现有单元之中。同时多线程处理的目的在于,通过利用并行操作使所有的处理器单元都同时加满负载,并由此根据处理器性能来减少由慢存储器所引起的长执行时间效应。
在1997年的IEEE计算机的第79~85页公开的、由L.Hammond,B.A.Nayfeh,K.Olukotun所著的论文“单片多处理器”中曾讲述过一种单片多处理器。在该论文中,尤其在性能方面深入讨论了同时多线程处理(SM)和芯片多处理器(CMP)之间的区别。另外它还建议,由于集成电路的集成密度在快速增长,所以需要使用一种多处理器结构来处理并行进程。
本发明的任务在于,建议一种数据处理装置或处理器,它可以并行地执行至少两个进程(线程),其中硬件费用较低。
该任务由权利要求1的特征部分所述的数据处理装置来实现。优选的实施方案由从属权利要求给出。
这种数据处理装置譬如可以优选地在电信应用中用作网络处理器,以便处理LAN应用的协议栈的第1~3层,还可以用于ATM(异步转移模式)开关,IP(因特网协议)路由器,尤其基于DSL(数字用户线)方法、以太网和电缆调制解调器的帧中继等等。尤其是在上述应用中,经常出现独立的、用于处理不同任务(譬如:不同协议)的进程。在电信领域内,这种被称为多线程的并行运行进程以基础应用的形式被进行了相应程度的扩展。在一种可编程IP/ATM接口中(因特网协议/异步转移模式输入输出处理单元),譬如运行独立进程来控制不同的数据通信或控制分离的数据移位操作。
然而,本发明的数据处理装置并不局限于上述应用,它可以应用于存在并行进程的任何地方。此处的实施例有:办公室内计算机或私用计算机中的控制及调节任务,或非常一般的任务。如果必须并行地利用高性能对一般进程进行预处理,那么该应用恰好是很有意义的。
本发明涉及一种并行处理至少两个独立进程(线程)的数据处理装置,它具有
-程序存储器,该存储器中至少存储了一个具有N个多数独立进程的编译程序,其中,所述编译程序具有关于并行性的信息和许多带有多个进程指令的束;
-对所述程序存储器进行寻址的转移控制单元;
-用于存储标志和数据的寄存器,它根据所执行的进程而被切换;以及
-程序流控制单元,由它控制从程序存储器中取出所述的束以及控制所述的转移控制单元,而且它还根据所述指令中包含的、在程序的编译时间装入的信息来控制指令的输出。
本发明的基本思想在于,独立且并行运行的进程中的数据和指令的依赖性要比在用于并行处理的单个程序流(单顺序的程序流)中时小。当程序转换或编译成机器码时,需对程序的并行性进行检查,并为并行性装设特殊的标志或识别信息。
在此,数据处理装置的结构对单程序结构(单线程结构)也是兼容的。需并行执行的指令在一个时钟周期内从程序存储器中取出。每个单独的并行进程都被指定了一个优先级。在读取阶段,数据处理装置通过转移控制单元从程序存储器中取出数据和指令,然后,由程序流控制单元根据分配的优先级和在转换时设置的标志或装入的关于并行性的信息来判断首先执行哪些进程。
对此,数据处理装置具有用于存储并行程序的状态变量的寄存器,譬如程序计数器、寄存器文件、ALU(算术逻辑单元)标志等等。该寄存器可以根据需处理的进程来进行切换,并主要被用来存储进程的数据(所谓的关联切换)。
在该数据处理装置的一种优选实施方案中,为程序存储器并行地后接了N个指令缓冲器,用于存储从该程序存储器读出的指令。
优选地,程序流控制单元的指令输出选择器被如此地控制,使得从指令缓冲器中读出该指令,且并行地输出N个指令。
为了进行并行处理,诸如指令译码器和位于转移控制单元内的程序计数器等中央单元可以根据有效的并行进程倍增,譬如增加一倍。对此,无须为每个并行进程都装设附加的单元,而只是将其设置为同时并行地执行进程时所需要的数目。于是,如果譬如一个程序具有五个不同的进程,而该五个进程中只有两个一直有效,那么使中央单元增加一倍就可以了。与耗费较大的ILP结构相比,这一共只需要较少的硬件。一种用于处理并行进程的特殊结构具有取指令单元(指令缓冲器和指令输出选择器)以及转移单元(转移控制单元)。所建议的结构可以与程序及数据高速缓存器一起应用,也可以不带程序及数据高速缓存器。
优选地,设置N个指令译码器来对输出的指令进行译码。
尤其优选地,设置至少两个指令执行装置来执行该N个被译码的指令。
优选地,至少另外设置至少两个总线,它们把N个指令执行单元和数据存储器连结起来。
一个或多个束的指令尤其可以优选地并行执行。
优选地,转移控制单元输出一个地址指数,用以确定所述束的地址。
在另外一个优选实施方案中,转移控制单元具有:
-第一多路转换器和第二多路转换器,
-一个加法器及
-N个程序计数器,其中
-由程序流控制单元向加法器输入成束的指令的数目,所述加法器把地址指数和该指令的数目相加起来,
-由程序流控制器把用于程序跳跃或功能调用的地址以及进程号输入到第一多路转换器,
-借助第一多路转换器把加法器的输出信号或用于程序跳跃或功能调用的地址写入到有效进程所属的程序计数器中,
-通过由输入的进程号进行控制的第二多路转换器,正好有效的进程所属的程序计数器的内容被输出,以作为新的地址指数。
优选地,通过程序存储器的输出总线的子总线给程序流控制单元输入
-至少一个比特,用于指示并行地执行指令,及/或
-至少一个比特,用于指示下一指令束的长度,及/或
-指令束中一个或多个NOP指示,及/或
-指令进程的优先级。
优选地,通过指定进程号、优先级、以及进程在程序存储器中开始存放的存储地址来调用进程。
数据处理装置优选地作用为网络处理器,用于处理在诸如LAN,ATM开关,IP路由器,基于DSL、以太网或电缆调制解调器的帧中继等应用中的第1~7层协议栈。并行处理尤其在这些应用中具有极其重大的意义,因此此处可以尤其优选地采用本发明的数据处理装置。
下面联系附图并借助对数据处理装置实施例的说明来阐述该结构的作用方式。图中:
图1为本发明的数据处理装置的方框图,
图2用框图示出了程序存储器、程序流控制单元和指令输出选择器的连接,
图3为具有转移控制单元的方框图,
图4为用于解释程序流控制单元工作方式的状态图。
在英文中,转移控制单元被称为“Branch-Control-Unit”,程序流控制单元被称为“Flow-Control-Unit”,指令执行单元被称为“Execution-Unit”,以及指令输出选择器被称为“Instruction-Issue-Selector”。
在图1中示出了用于并行处理两个进程或线程的数据处理装置的方框图。存放在程序存储器12中的程序由转移控制单元BCU 11通过地址指数PCO来进行寻址。在该BCU 11中至少设置了两个用于不同进程或线程的程序计数器。该程序计数器被指定给正好有效的进程。根据正好运行哪一个进程,也就是说,根据由数据处理装置正好处理哪一个进程,来把相应的程序计数器的内容考虑作为地址指数PCO。
为程序存储器12后接了两个指令缓冲器IA 13和IB 14,以用于两个需并行处理的进程。该指令缓冲器存储从程序存储器中读出来的指令。
程序流控制单元10既控制BCU 11又控制指令缓冲器13和14。在指令缓冲器13及14的后面连接了一个指令输出选择器15,指令通过该选择器15从指令缓冲器13及14被多路传送到两个指令译码器16及17上。
为指令译码器16及17装设了寄存器18,用于存储并行运行的进程的零标志、进位标志、溢出标志。该寄存器18具有至少两个寄存器文件,用于存储有效进程的数据和状态。
寄存器18又后接了两个执行单元EX1 19及EX2 20。这两个单元被用来执行指令。对此,两个单元EX1 19和EX2 20均连接在两个总线BUS1(总线1)  21和BUS2(总线2)  22上,通过所述总线来访问存放有数据的存储器23。存储器23优选地为一种写/读存储器(RAM)。
下面来讲述上述装置的作用方式:
程序代码是以固定长度进行编码的。进程的程序不必分开,而是可以组合在一个程序里。进程或线程的起始点对应于一个跳跃,而该跳跃是与用于设置进程号或线程号的附加功能联系在一起的。这种起始点的格式表述如下:
RUN Thread_nr Priority Jump_Adr
因此,进程通过指令RUN进行调用,其中,还给出或指定了线程号Thread_nr、优先级Priority以及进程代码在程序存储器中所处的跳跃地址Jump_Adr。
指令总是以具有一个或两个指令的束的形式进行存储的。在编译的时间点上,ILP如此地进行检查,使得具有指令的束可以并行地执行。这就是说,在编译或编程期间,检查哪些指令在很大程度上相互独立并由此可并行地执行。于是,两个独立的指令被“打包”在一个束内。另外,不同束的指令也可以并行地执行。因此,在任何情况下,束的指令都可以并行地执行,而且必要时不同束或不同进程的指令也可并行地执行。每个束都具有指示下一个束的长度的标志。根据该标志来计算地址指数。在通过地址指数PCO对程序存储器12进行寻址时,该地址指数具有1个可被用来确定指令束长度的比特宽度。
从程序存储器中读取指令(指令读取)是以如下方式进行的:通过地址指数PCO对程序存储器12进行寻址(对此,地址指数PCO指示了束的开始地址);然后,把指令束读入到指令缓冲器13或14中的一个。接着读出另一个指令束,并将其写入到指令缓冲器13或14中的另一个。在此,  第二指令束属于不同于第一指令束的另一个进程。由此便可以处理两个有效进程。一共可以多于两个进程,但在该实施例中处理器只能并行地执行两个有效进程。通过倍增相应的单元,亦即指令缓冲器、指令译码器及执行单元,也可以使多于两个的进程有效,亦即并行处理多于两个的进程。无论如何,在一个读取周期内都是从程序存储器12向指令缓冲器13及14传送两个指令束。
通过包含有多路转换逻辑的指令输出选择器15,从指令缓冲器13和14中输出指令束的指令或NOP(无操作)。该指令或NOP被输入到指令译码器16和17中进行译码。通过指令输出选择器15可以从指令束中选择出两个指令,也即来自于指令缓冲器13或14的两个指令,或者从指令缓冲器13及14中分别选出一个指令。如果指令输出选择器15输出的指令为NOP,则处理器可以进入节能模式。
由程序流控制单元10控制从指令缓冲器13、14及指令输出选择器15中输出和选择指令。这可借助图2来解释。从程序存储器12读出的指令束通过指令总线被输送到指令缓冲器13、14上。通过指令总线25向程序流控制单元10输入来自于指令束的如下信息:
-1比特用于指示指令的并行执行或1比特用于指示下一指令束的长度。但是,若程序代码具有固定的长度,则长度指示是不必要的。
-指令束中一个或多个NOP指示,其中,NOP可以通过其它进程的其它指令来代替。
-当前进程,亦即经由线程总线28的进程号。
程序流控制单元10通过读取控制总线26来控制指令缓冲器13及14,以及通过输出选择总线27来控制指令输出选择器15。程序流控制单元10的内部状态指示了两个进程的指令缓冲器13、14中的剩余指令数目。该程序流控制单元10给出如下输出信号:
-一个用于增加程序计数器的信号。对于指令束具有一个指令的情况,该信号为0,当指令束具有两个指令时该信号为2。
-通过读取控制总线26输出一个读取控制信号,用以允许指令缓冲器13和14,
-通过输出选择总线27输出一个输出选择信号,用以控制所述的指令输出选择器15。
后接在指令输出选择器15上的指令译码器16和17对输入的指令进行译码。每个进程的进程号和优先级被存储在寄存器18内。
在图3中示出了转移控制单元11的结构。该转移控制单元11具有一个加法器30,它把地址指数PCO和通过指令束总线35输入的信号M相加起来。该信号M在指令束具有一个指令时为1,或者在指令束具有两个指令时为2。由此,当前的程序计数器值以1或2增加计数,也就是说,它取决于被读的指令束是具有一个或两个指令来。所述加法器30的输出值被输入到第一多路转换器31。该第一多路转换器31把由加法器30输入的信号或把经转移控制总线36输入的、用于控制跳跃和功能调用的信号接入到两个程序计数器32和33中的一个。写入到哪个程序计数器将取决于经线程总线37输入的进程号TNr。两个有效进程均被指定了一个程序计数器。于是,如果譬如从程序存储器中读出一个进程号为4的具有两个指令的指令束,那么信号M便等于2,且第一多路转换器31把值PCO+2写入到被指定给进程号4的程序计数器PCI 33中。两个程序计数器32和33中的一个通过第二多路转换器34输出地址指数PCO。该进程号又控制输出两个程序计数器中的哪一个。
在图4中示出了程序流控制单元10的状态图。所述的程序流控制单元具有四个不同的状态38~41,它们分别由不同值A和B标示。值A和B给出了指令缓冲器IA 13或IB 14中还存在多少指令。在所示的状态图中,进程A的优先级大于进程B的优先级。
对于每种状态转移过程,图中都给出了执行哪些作用,也就是说,通过指令输出选择器15从指令缓冲器IA 13及/或IB 14输出一个或两个值A及/或B,或把一个或两个来自于程序存储器的指令装入或再装入到指令缓冲器IA 13及/或IB 14中。也可以由指令输出选择器15输出NOP。2A和2B的意思是,从指令缓冲器IA或IB输出两个值,或向该缓冲器中装入两个值,相应地,1A和1B的意思是只输出或(再)装入一个值。

Claims (12)

1.用于并行地处理至少两个独立进程(线程)的数据处理装置,具有:
-程序存储器(12),该存储器中至少存储了一个具有N个多数独立进程的编译程序,其中,所述编译程序具有关于并行性的信息和许多带有多个进程指令的束;
-对所述程序存储器(12)进行寻址的转移控制单元(11);
-用于存储标志和数据的寄存器(18),它根据所执行的进程而被切换;以及
-程序流控制单元(10),由它控制从程序存储器(12)中取出所述的束以及控制所述的转移控制单元(11),而且它还根据所述指令中包含的、在程序的编译时间装入的信息来控制指令的输出。
2.根据权利要求1所述的数据处理装置,其特征在于:所述N个指令缓冲器(13,14)并行地后接在程序存储器(12)上,并存储从该程序存储器读出的指令。
3.根据权利要求1或2所述的数据处理装置,其特征在于:由所述程序流控制单元(10)如此地控制指令输出选择器(15),使得从所述的指令缓冲器(13,14)中读出该指令,且并行地输出N个指令。
4.根据上述权利要求之一所述的数据处理装置,其特征在于:设置N个指令译码器(16,17),用于对输出的指令进行译码。
5.根据上述权利要求之一所述的数据处理装置,其特征在于:设置至少两个指令执行单元(19,20),用于执行所述N个被译码的指令。
6.根据上述权利要求之一所述的数据处理装置,其特征在于:设置至少两个总线(21,22),它们把所述N个指令执行单元(19,20)与数据存储器(23)连结起来。
7.根据上述权利要求之一所述的数据处理装置,其特征在于:可以并行地执行一个或多个束的指令。
8.根据上述权利要求之一所述的数据处理装置,其特征在于:所述转移控制单元(11)输出一个对束进行寻址的地址指数(PCO)。
9.根据上述权利要求之一所述的数据处理装置,其特征在于:所述转移控制单元(11)
-具有第一多路转换器(31)和第二多路转换器(34)、
-一个加法器(30)以及
-N个程序计数器(32,33),而且
-由所述程序流控制单元(10)把成束的指令的数目(35)输入到所述的加法器(30)中,该加法器把地址指数(PCO)和指令的数目(35)相加起来,
-由程序流控制器(10)把用于程序跳跃或功能调用的地址(36)和进程号(37)输入到所述第一多路转换器(31)中,
-借助第一多路转换器(31)把加法器(30)的输出信号或用于程序跳跃或功能调用的地址(36)写入到有效进程所属的程序计数器中,
-通过由输入的进程号(37)进行控制的第二多路转换器(34),正好有效的进程所属的程序计数器(32,33)的内容被输出,以作为新的地址指数(PCO)。
10.根据上述权利要求之一所述的数据处理装置,其特征在于:通过程序存储器(12)的输出总线(24)的子总线(25)给程序流控制单元(10)输入
-至少一个比特,用于指示并行地执行指令,及/或
-至少一个比特,用于指示下一指令束的长度,及/或
-指令束中一个或多个NOP指示,及/或
-指令进程的优先级。
11.根据上述权利要求之一所述的数据处理装置,其特征在于:通过指定进程号、优先级和进程在所述程序存储器中开始存放的存储地址来调用进程。
12.根据上述权利要求之一所述的数据处理装置,其特征在于:所述数据处理装置作用为网络处理器,用于处理在诸如LAN,ATM开关,IP路由器,基于DSL、以太网或电缆调制解调器的帧中继等应用中的第1~7层协议栈。
CNB011013931A 2000-01-12 2001-01-11 数据处理装置 Expired - Fee Related CN1147786C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10000960.3 2000-01-12
DE10000960A DE10000960C1 (de) 2000-01-12 2000-01-12 Datenverarbeitungsvorrichtung

Publications (2)

Publication Number Publication Date
CN1304088A true CN1304088A (zh) 2001-07-18
CN1147786C CN1147786C (zh) 2004-04-28

Family

ID=7627270

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011013931A Expired - Fee Related CN1147786C (zh) 2000-01-12 2001-01-11 数据处理装置

Country Status (6)

Country Link
US (1) US20010016899A1 (zh)
EP (1) EP1117037B1 (zh)
JP (1) JP3702184B2 (zh)
KR (1) KR100417482B1 (zh)
CN (1) CN1147786C (zh)
DE (2) DE10000960C1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006000145A1 (en) * 2004-06-28 2006-01-05 Xiaobo Li A 'l' driving method for driving program/instruction and architecture and processor thereof
CN100342367C (zh) * 2002-05-10 2007-10-10 微软公司 资源的并发、分布式网络的协作
CN100452767C (zh) * 2004-09-23 2009-01-14 国际商业机器公司 用于在数据处理网络中管理信息包通信量的方法及其网络

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050195743A1 (en) * 2000-04-03 2005-09-08 P-Cube Ltd. Real time charging of pre-paid accounts
US7042886B2 (en) * 2001-12-06 2006-05-09 P-Cube Ltd. Apparatus, method, and computer program for wire-speed classification and pre-processing of data packets in an ATM network
US7254632B2 (en) * 2002-04-26 2007-08-07 P-Cube Ltd. Apparatus and method for pattern matching in text based protocol
US20050240380A1 (en) * 2004-03-31 2005-10-27 Jones Kenneth D Reducing context memory requirements in a multi-tasking system
US7599361B2 (en) * 2004-07-02 2009-10-06 P-Cube Ltd. Wire-speed packet management in a multi-pipeline network processor
US20070217490A1 (en) * 2005-03-15 2007-09-20 Bae Systems Plc Modem
JP4404065B2 (ja) * 2006-04-12 2010-01-27 ヤマハ株式会社 デジタル信号処理装置
US7996520B2 (en) 2007-09-19 2011-08-09 Cisco Technology, Inc. Behavioral classification of communication sessions using active session initiation

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2911278B2 (ja) * 1990-11-30 1999-06-23 松下電器産業株式会社 プロセッサ
GB9123271D0 (en) * 1991-11-02 1991-12-18 Int Computers Ltd Data processing system
US5404469A (en) * 1992-02-25 1995-04-04 Industrial Technology Research Institute Multi-threaded microprocessor architecture utilizing static interleaving
US5546593A (en) * 1992-05-18 1996-08-13 Matsushita Electric Industrial Co., Ltd. Multistream instruction processor able to reduce interlocks by having a wait state for an instruction stream
WO1994027216A1 (en) * 1993-05-14 1994-11-24 Massachusetts Institute Of Technology Multiprocessor coupling system with integrated compile and run time scheduling for parallelism
JP3547482B2 (ja) * 1994-04-15 2004-07-28 株式会社日立製作所 情報処理装置
US5812811A (en) * 1995-02-03 1998-09-22 International Business Machines Corporation Executing speculative parallel instructions threads with forking and inter-thread communication
US5944816A (en) * 1996-05-17 1999-08-31 Advanced Micro Devices, Inc. Microprocessor configured to execute multiple threads including interrupt service routines
KR100500002B1 (ko) * 1996-08-27 2005-09-08 마츠시타 덴끼 산교 가부시키가이샤 복수의명령흐름을독립적으로처리하고,명령흐름단위로처리성능을유연하게제어하는멀티스레드프로세서
US5913925A (en) * 1996-12-16 1999-06-22 International Business Machines Corporation Method and system for constructing a program including out-of-order threads and processor and method for executing threads out-of-order
US5941983A (en) * 1997-06-24 1999-08-24 Hewlett-Packard Company Out-of-order execution using encoded dependencies between instructions in queues to determine stall values that control issurance of instructions from the queues
US6170051B1 (en) * 1997-08-01 2001-01-02 Micron Technology, Inc. Apparatus and method for program level parallelism in a VLIW processor
US6105051A (en) * 1997-10-23 2000-08-15 International Business Machines Corporation Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US6182210B1 (en) * 1997-12-16 2001-01-30 Intel Corporation Processor having multiple program counters and trace buffers outside an execution pipeline
US6324639B1 (en) * 1998-03-30 2001-11-27 Matsushita Electric Industrial Co., Ltd. Instruction converting apparatus using parallel execution code
US6317820B1 (en) * 1998-06-05 2001-11-13 Texas Instruments Incorporated Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism
US6272616B1 (en) * 1998-06-17 2001-08-07 Agere Systems Guardian Corp. Method and apparatus for executing multiple instruction streams in a digital processor with multiple data paths
JP2000305781A (ja) * 1999-04-21 2000-11-02 Mitsubishi Electric Corp Vliw方式プロセッサ、コード圧縮装置、コード圧縮方法およびコード圧縮プログラムを記録した媒体
US6404752B1 (en) * 1999-08-27 2002-06-11 International Business Machines Corporation Network switch using network processor and methods

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100342367C (zh) * 2002-05-10 2007-10-10 微软公司 资源的并发、分布式网络的协作
WO2006000145A1 (en) * 2004-06-28 2006-01-05 Xiaobo Li A 'l' driving method for driving program/instruction and architecture and processor thereof
CN100452767C (zh) * 2004-09-23 2009-01-14 国际商业机器公司 用于在数据处理网络中管理信息包通信量的方法及其网络

Also Published As

Publication number Publication date
JP2001249807A (ja) 2001-09-14
DE50014979D1 (de) 2008-04-03
JP3702184B2 (ja) 2005-10-05
KR20010070512A (ko) 2001-07-25
DE10000960C1 (de) 2001-12-20
CN1147786C (zh) 2004-04-28
EP1117037B1 (de) 2008-02-20
KR100417482B1 (ko) 2004-02-05
EP1117037A2 (de) 2001-07-18
EP1117037A3 (de) 2005-08-10
US20010016899A1 (en) 2001-08-23

Similar Documents

Publication Publication Date Title
CN1127687C (zh) 带外部协处理器可访问的上下文切换寄存器组的risc处理器
EP1152329B1 (en) Method, computer program product and apparatus for identifying splittable packets in a multithreated vliw processor
CN1149489C (zh) 提供流水线存储器控制器的设备
CN100342325C (zh) 减少多线程处理器中寄存器文件端口的方法和装置
KR101754462B1 (ko) 동적 비순차적 프로세서 파이프라인을 구현하기 위한 방법 및 장치
CN1286019C (zh) 多核心多线程处理器
CN1147786C (zh) 数据处理装置
CA2337172C (en) Method and apparatus for allocating functional units in a multithreaded vliw processor
US20030154358A1 (en) Apparatus and method for dispatching very long instruction word having variable length
CN1279783A (zh) 利用规格字段指令编码的处理器
CN1841314A (zh) 双线程处理器
CN1945525A (zh) 从队列处理指令刷新的生存期计数器设计的系统和方法
CN1258361A (zh) 处理不同宽度的命令的vliw处理器
KR20160046331A (ko) 범용 유닛을 기반으로 하는 고성능 프로세스 시스템 및 방법
CA2341098C (en) Method and apparatus for splitting packets in a multithreaded vliw processor
CN101051265A (zh) 共享一组合寄存器文件的操作数存取端口的装置
US7383419B2 (en) Address generation unit for a processor
CN1659514A (zh) 用于在多线程处理器中数据传送的寄存器
CN101763251A (zh) 多线程微处理器的指令译码缓冲装置
CN1227584C (zh) 用于构造一个预调度的指令高速缓存的方法和装置
JP2002063025A (ja) 可変長データ処理用プロセッサ
CN1816799A (zh) 在时间-固定处理器中对条件操作的支持
CN1791856A (zh) 用于指令对准的方法和设备
CN1177137A (zh) 程序执行方法及利用该方法的装置
CN1494692A (zh) 用于处理流水线化数据的设备和方法

Legal Events

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

Owner name: INFINEON TECHNOLOGIES AG

Free format text: FORMER OWNER: INFENNIAN TECHNOLOGIES AG

Effective date: 20110411

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee

Owner name: LANTIQ DEUTSCHLAND GMBH

Free format text: FORMER NAME: INFINEON TECHNOLOGIES WIRELESS COMMUNICATION SOLUTIONS CO., LTD.

Owner name: INFINEON TECHNOLOGIES WIRELESS COMMUNICATION SOLUT

Free format text: FORMER NAME: INFINEON TECHNOLOGIES AG

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: MUNICH, GERMANY TO: NEUBIBERG, GERMANY

CP01 Change in the name or title of a patent holder

Address after: German Neubiberg

Patentee after: Lantiq Deutschland GmbH

Address before: German Neubiberg

Patentee before: Infineon Technologies Wireless Solutions Ltd.

Address after: German Neubiberg

Patentee after: Infineon Technologies Wireless Solutions Ltd.

Address before: German Neubiberg

Patentee before: Infineon Technologies AG

TR01 Transfer of patent right

Effective date of registration: 20110411

Address after: German Neubiberg

Patentee after: Infineon Technologies AG

Address before: Munich, Federal Republic of Germany

Patentee before: INFINEON TECHNOLOGIES AG

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

Granted publication date: 20040428

Termination date: 20170111

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