CN1114857C - 执行程序指令的装置与方法 - Google Patents

执行程序指令的装置与方法 Download PDF

Info

Publication number
CN1114857C
CN1114857C CN99803152.6A CN99803152A CN1114857C CN 1114857 C CN1114857 C CN 1114857C CN 99803152 A CN99803152 A CN 99803152A CN 1114857 C CN1114857 C CN 1114857C
Authority
CN
China
Prior art keywords
instruction
data
operand
decoding
cliw
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
CN99803152.6A
Other languages
English (en)
Other versions
CN1291306A (zh
Inventor
Y·拉维
R·布卢姆
A·赫尔斯科
H·格拉诺特
E·维恩加滕
R·克努斯
A·罗姆
M·扬尼
G·申德洛维特克
E·科亨
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.)
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 CN1291306A publication Critical patent/CN1291306A/zh
Application granted granted Critical
Publication of CN1114857C publication Critical patent/CN1114857C/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明涉及用于执行程序的指令的数据处理装置,该装置具有第一指令译码器、地址译码器、多个计算单元及执行逻辑单元。该数据处理装置的特征在于所述第一指令译码器判别所述装置是否要执行起动不同类型的指令的执行的参考指令。本发明还涉及执行数据处理装置的指令的方法,该方法的特征在于在译码参考指令时,执行按照包含在参考指令中的信息取不同类型的指令及译码所述不同类型的所述指令来确定要并行执行的操作的步骤。

Description

执行程序指令的装置与方法
本发明涉及一种数据处理装置和方法,具体地说,涉及一种用于执行包括多条指令的程序中的指令的数据处理装置和方法。
当前,DSP处理器存在两种主要体系结构。两种体系结构都要在处理速度与程序存储器大小之间前者还是后者享受更大利益作出折衷。第一种主要体系结构也可称作常规机器,它意味着每一机器周期执行一条单一的指令。第二种体系结构通常称作VLIW体系结构(甚长指令字)。使用VLIW体系结构,在一个单一机器周期中执行若干条指令。
每一机器周期执行一条单一指令的常规机器的特征为相对小的程序数据总线。通常,这一程序数据总线为32位宽。在DSP处理器环境中,处理器的执行单元中的计算单元的数目通常比上述第二种体系结构小。程序数据总线宽度与计算单元的数目是与处理器的功耗成正比的。从而,常规处理器体系结构通常比其它先进的体系结构消耗较少功率。然而,常规体系结构的主要缺点在于MIPS(每秒执行的兆指令)数比上述VLIW体系结构的少。
诸如在名为“有条件地将短存储器指令组合成虚拟长指令的指令预处理器”的美国专利5,163,139中描述的常规机器。这一常规机器包括两个计算单元及常规程序数据宽度的主程序存储器。这一专利中所提出的机器还包括指令预处理器单元,它检验是否能将程序存储器中的两条连续的指令有效地组合以便构成其本身的新的指令字。然后机器的两个计算单元解释与执行这一新指令字。美国专利5,163,139的机器的局限性在于只能组合符合预定标准的指令对。从而,该机器极大地制约了程序员开发程序代码。
上述第二种体系结构(VLIW)基于编译程序将若干简单的非互相关联的操作组装到同一指令字中的指令集思想。这种类型的体系结构是1983年6月第十次计算机体系结构年会会报上由J.A.Fisher在“甚长指令字体系结构及ELI-512”中初次提出的。该VLIW体系结构在处理器中采取多个计算单元及分析从程序存储器中取出的指令的若干译码单元。VLIW体系结构具有并行执行若干操作的优点,从而提高了处理器的MIPS性能。然而,VLIW处理器要求较大位宽度的程序存储器。这对于实现该处理器体系结构所需的芯片面积及其功耗都是负担。同时,对于为VLIW处理器编写代码的程序员所要求的编程技巧也内在地较高,因为需要考虑处理器的并行性。
名为“利用分支控制单元生成的路径信息来禁止不在正确路径上的操作的VLIW处理器”的美国专利5,450,556中提出了特殊的VLIW处理器。这一专利提出了有效地处理VLIW程序中的跳转指令的解决方法。为了克服这一问题,它提出了在VLIW指令中增加路径表达字段。这一路径表达字段由处理器中的分支控制单元读取,后者是为了加速条件转移操作而操作的。和所有以前的VLIW处理器体系结构一样,美国专利5,450,556中提出的结构也具有存储VLIW指令所需的相对地大的程序存储器的缺点,尤其是在只允许小的并行度的执行步骤的情况中。
本发明基于需要大的程序存储空间的高度并行计算机体系结构的问题。从而本发明寻求在保持处理器以高度并行方式执行指令的同时降低程序存储器需求。
通过本发明的用于执行包括多条指令的程序中的指令的数据处理装置和方法可以解决上述问题。
按照本发明的一个方面,本发明的装置具有:(a)常规指令译码器,用于从第一程序存储器中顺序地取程序指令及用于译码所述指令,其中所述常规指令译码器区分所述程序指令是常规指令还是参考指令;(b)地址译码器,用于确定要从或向数据存储器加载或写入的数据的地址;(c)多个计算单元,用于按照所述常规指令译码器的解释对数据执行操作及用于提供这些操作的结果;(d)执行逻辑单元,用于向所述多个计算单元提供数据及用于按照常规指令控制所述多个计算单元的操作;其特征在于(e)可配置长度指令字译码器,用于对存储在第二程序存储器中的可配置长度指令字进行译码,其中所述可配置长度指令包括一个包含多个操作代码的操作段、一个用于向每个所述操作分配操作数的操作数赋值段、和一个包含结果赋值的结果赋值段;(f)所述执行逻辑包括接收装置,所述接收装置用于从所述可配置长度指令字译码器接收译码的可配置指令字,(g)其中,当所述译码的程序指令是包括所存储的可配置长度指令字的指针地址的参考指令时,所述可配置长度指令字译码器和所述第二程序存储器被激活而按照所述解码的可配置长度指令字来操作所述执行逻辑单元。
按照本发明的另一个方面,本发明的装置还被配置成允许程序指令和所存储的可配置长度指令字的流水线执行。
按照本发明的又一个方面,本发明的方法包括下述步骤:(a)从第一程序存储器中取第一类型的程序指令;(b)译码所述第一类型的所述程序指令来确定要执行的操作;(c)从数据存储器或从所述数据寄存器读取操作数;(d)对所述操作数上执行操作;以及(e)将所述操作的结果写入所述数据存储器或所述数据寄存器;其特征在于,参考指令包含对其进行译码的预定信息,在对所述参考指令进行译码时,执行以下步骤:(f)按照包含在所述参考指令中的信息,从第二程序存储器中取可配置长度指令字;其中所述可配置长度指令字包括含有多个操作码的操作段、用于把操作数分配给每一个操作的操作数赋值段、和包括结果赋值的结果赋值段;(g)译码所述可配置长度指令字来确定要并行执行的操作。
按照本发明的再一个方面,本发明的方法还包括以下步骤:在对所述参考指令进行译码时对操作数和结果地址信息进行译码。
按照本发明的再一个方面,本发明的方法的译码参考指令的所述步骤及取与特定的参考指令关联的可配置指令字的所述步骤是同时执行的。
按照本发明的再一个方面,本发明的方法的从数据存储器读操作数的所述步骤及译码与所述操作数关联的可配置长度指令字的所述步骤是同时执行的。
按照本发明的再一个方面,本发明的方法是由数据处理装置以流水线方式执行的。
在下面供结合附图阅读的本发明的较佳实施例的描述中说明了使用本发明的进一步优点、特征及可能性。附图中:
图1描绘按照本发明的较佳数据处理装置的电路图;
图2a示出先有技术中使用的甚长指令字的结构的示例;
图2b示出本发明的较佳实施例中所使用的两种不同类型的指令的结构;
图3a为展示先有技术的数据处理装置中的流水线指令的顺序的表;以及
图3b为展示按照本发明的较佳实施例的指令序列的表。
图1示出按照本发明的数据处理装置的较佳实施例的基本体系结构。将特别适用于数字信号处理的数据处理装置配置成用于并行执行若干操作并从而包括多个计算单元。在本较佳实施例中,设置了赋予参照数字61至64的四个计算单元。从执行逻辑单元7向各该计算单元61至64提供操作数数据。另一方面各该计算单元将计算结果发送到多端口寄存器组5的一个或多个寄存器与/或通过连接所述计算单元61至64到所述数据存储器3上的数据总线到数据存储器3,所述数据总线具有r位的位宽度。在较佳实施例中,可将两个结果直接写入具有16位数据位宽度的所述数据存储器中。从而,位宽度r等于2×16位。
通过位宽度n的总线线路将各多端口寄存器5的内容反馈回所述执行逻辑单元7。还将所述多端口寄存器5的内容提供给地址译码器4供有选择地将来自所述多端口寄存器5的数据写入所述数据存储器3。因此通过也具有n位位宽度的总线线路将多端口寄存器5连接在所述地址译码器4上。在较佳实施例中,各寄存器具有16位的数据位宽度。再者,多端口寄存器组5包括总共16个寄存器。从而,在数据处理装置的较佳实施例中,n设定为16×16位=256位。
利用较佳实施例的这种配置,本发明的数据处理装置便能作为寄存器-存储器体系结构机器或存储器-存储器体系结构机器操作。一方面,执行逻辑单元7不仅接收来自所述多端口寄存器5的数据,也接收直接来自所述数据存储器3的数据。另一方面,计算单元61至64不仅写到所述多端口寄存器5还直接写到所述数据存储器。对于熟悉本技术的人员应清楚本发明能类似地实施在加载-存储型体系结构(或者也称作寄存器-寄存器体系结构)的机器中而不偏离本发明的范围。
如上所述,执行逻辑单元7不仅接收来自所述多端口寄存器5的操作数数据,还通过具有o位位宽度的总线线路接收来自所述数据存储器3的操作数数据。所述数据存储器3与所述执行逻辑单元7之间的数据总线的位宽度o与要从所述数据存储器3加载的操作数的数目及各操作数的位宽度成正比。在较佳实施例中,从所述数据存储器3向所述执行逻辑单元7加载最多四个操作数,各具有16位的位宽度,得出总线宽度o为4×16位=64位。
执行逻辑单元7接收来自常规指令译码器1的译码的指令信息。从而执行逻辑单元7从所述多端口寄存器5与/或所述数据存储器3接收用于执行特定指令的操作数并将它们发送给由译码的常规指令所指示的所述计算单元61至64。执行逻辑单元7还包括用于从CLIW指令译码器9(可配置长度指令字)接收译码的指令的装置8。一旦接收到译码的CLIW指令,所述执行逻辑单元7中的所述接收装置8确信不按照从所述常规指令译码器1接收的信息而是只按照从所述CLIW指令译码器9接收的译码的指令进行执行。从而,所述接收装置8用从所述CLIW指令译码器9接收的信息取代来自所述常规指令译码器1的所有信息。
所述常规指令译码器1接收来自常规程序存储器2的一行代码供译码在其中所编码的指令。对于数据处理装置的顺序操作,常规程序存储器2是用程序计数器15的输出寻址的。常规指令译码器1发送译码的指令信息给所述执行逻辑单元7并发送特定指令中所编码的地址给所述地址译码器4。常规指令译码器1还连接在所述CLIW指令译码器9上用于指示下面要译码的是CLIW指令这一事实。
地址译码器4从所述常规指令译码器1接收地址信息用于译码编码在特定指令中的地址。通过具有m位位宽度的总线线路将译码后的地址发送给所述数据存储器3。位宽度m与一次要寻址的地址数目及每一地址的位数成正比。在较佳实施例中,地址译码器4译码各具有16位位宽度的四个地址,从而得出连接所述地址译码器4与所述数据存储器3的总线线路的位宽度m为64位。所述数据存储器3还通过线路R/W连接在所述常规指令译码器1上,线路R/W向所述数据存储器3指示是要从还是向特定地址上读取还是写入数据。
所述CLIW指令译码器9连接在其中存储有表示CLIW指令的代码行的CLIW存储器10上。要从所述CLIW存储器10中读取的特定指令是由所述常规指令译码器1通过连接所述常规指令译码器1的线路P向所述CLIW存储器10指示的。从而,常规指令译码器1指向所述CLIW存储器10的特定存储单元,将存储在其中的CLIW指令发送给所述CLIW指令译码器9。
本发明的较佳实施例的一般操作可描述如下。执行逻辑单元7按照从所述常规程序存储器2中顺序读取的指令操作。只要所述常规指令译码器1并未译码特殊指令,便实际上禁止所述CLIW指令译码器9及所述CLIW存储器10的操作。然而,一旦所述常规指令译码器1译码出特殊指令2(也可称作参考指令),便激活所述CLIW指令译码器9及所述CLIW存储器10的功能。实际上,执行逻辑单元7这时按照从所述CLIW指令译码器9接收的信息而不是从所述常规指令译码器1接收的信息独占地操作。
在本发明的较佳实施例中所提及的来自所述常规程序存储器2的特殊指令包含常规指令译码器1发送给所述地址译码器4的地址信息。为了使数据处理机执行这一特殊指令,将来自所述特殊指令的指令信息与来自相关CLIW指令的指令信息组合在一起。
图2a示出按照先有技术的甚长指令字的典型结构。图2a的指令字14基本上包含4段。第一段中定义多个操作。第二段中将操作数分配给这些操作中的每一个。第三段中将结果赋予这些段中各段。最后在第四段中分别为在所述第二与所述第三段中分配的操作数与结果定义存储器地址。
图2b示出结合本发明使用的指令字的结构。其中示出了具有K位长度的常规(短)指令11。常规指令11具有包含定义指令类型的操作码(op码)的指令首部。图2b还示出也具有K位长度的参考指令的结构。特殊op码存储在参考指令12的op码首部中,该op码区分参考指令12与其它常规指令11。参考指令12还包含特定参考指令要在其上执行的多个存储器地址。最后,参考指令包含指向CLIW指令的指针P。
图2b还示出CLIW指令13的结构。该结构基本上与按照图2a的VLIW指令14之一相同,但除CLIW指令13不包含任何存储器地址之外。事实上,特定CLIW指令的地址包含在通过其指针P指向特定CLIW指令13的参考指令12中。CLIW指令示出为具有1位的位长度。
虽然常规指令11与参考指令12存储在常规程序存储器2中,CLIW指令则存储在CLIW存储器10中。从而,常规程序存储器2与CLIW存储器10是用存储在其中的指令字的各自位长度配置的。在较佳实施例中,常规指令11与参考指令12具有48位的位长度。另一方面,CLIW指令13具有96位的位长度。虽然常规指令译码器1顺序地与连续地译码来自所述常规程序存储器2的指令,来自所述CLIW存储器10的附加指令信息只在所述常规指令译码器1译码参考指令时提供给所述执行逻辑单元7。此时,将来自CLIW指令译码器9的译码的指令馈送给执行逻辑单元7的接收装置8用于取代正常由所述常规指令译码器1提供的所有信息。
图3a为展示按照先有技术用5阶段流水线在处理器中执行正常VLIW指令的表。图3a的表显示了取指令、译码指令、读操作数、执行及写操作数的步骤。
图3b为展示按照本发明流水作业执行程序的表。对于处理常规程序指令,操作序列是与图3a的表中所示的相同的。然而,如果遇到了参考指令便插入两个附加步骤。在译码常规指令时,如果译码出为参考指令,便取出该参考指令中所参照的CLIW指令。例如,见机器周期2与机器周期6之间具有行首部“指令译码与CLIW取”的行。同时,在从存储器读取操作数时,译码前一机器周期中取出的CLIW指令。这是可能的,因为参考指令12包含读取必要的操作数的所有地址信息。参考指令12包含指向要取出与译码以便用要读取的数据执行的特定CLIW指令的指针。在图3b中的表中参见机器周期3与7之间具有行首部“读操作数及CLIW译码”的行。特定指令在流水线中执行的操作序列沿着用箭头指示的表中的对角线。
用一条VLIW指令并行控制多个执行单元的先有技术处理器为了数据处理装置的并行执行的优化使用通常需要大的程序存储器空间。本发明将长指令的使用限制在算法的非常费时的部分上,即所谓的内循环上。从而频繁地执行的指令是在高度并行的方式中执行的,同时大大地降低了不能并行执行的指令的程序代码所需要的存储器空间。先有技术的VLIW指令代码为各执行步骤确定操作码、操作数赋值、输出赋值及存储器地址。这种配置的极大多样性导致各VLIW指令的高的位宽度。虽然VLIW指令为各执行步骤提供完全的编码灵活性,并从而总是支持最大并行性,但程序代码耗用大量程序存储器,特别是对于并不允许完全并行操作的那些执行步骤。
数字信号处理器的典型程序通常包含内循环,其中少数指令非常频繁地重复。数字信号处理器的最大并行性应支持内循环中的指令,因为它们可将所需的运行时间降低到最大程度。
本发明通过使用短指令与可配置长度的指令字(CLIW)的组合解决这一问题。从而,本发明提供最大化内循环的执行效率及限制这些内循环外面的程序代码的程序空间的优点。
内循环外面的常规指令是顺序执行的。只将常规指令引导到执行单元与必要的操作数的某些频繁连接与操作。所有常规指令都是直接从常规程序存储器2中取出的。此外,CLIW指令存储在专用CLIW存储器10中。特殊的参考指令用来启动CLIW指令的执行。参考指令从CLIW存储器10加载CLIW指令。要取出的CLIW指令的地址P是由参考指令定义的。
CLIW指令13定义所有可能的操作类型、操作数连接及输出连接。参考指令包含在与之关联的CLIW指令中定义的操作的所有需要的存储器地址。从而,参考指令与其关联的CLIW指令一起具有按照先有技术的VLIW指令所需的所有信息。
由于最好将常规程序指令(并从而也是参考指令)的位宽度配置成明显小于CLIW指令的位宽度,便有可能编写出比只用VLIW指令紧致得多的程序代码。
相同的CLIW指令的每一次执行的程序代码只包含另一条常规(短)参考指令12。因为在一组CLIW指令内的并行操作的类型与连接通常并不改变(例如对于执行矩阵运算),便有可能只通过改变参考指令中的存储器地址来节省CLIW指令的程序空间。
从而,最好独立于对特定的CLIW指令13的引用指定参考指令12中的操作数的存储器地址。这不仅允许以相同的CLIW指令使用不同的存储器操作数,并且还在使用流水线执行时加速处理器中的指令流执行。
内循环中所需的CLIW指令的数目取决于实际程序。存在着扩展CLIW存储器中可获得的CLIW指令的固定数目的可能性。初始化之后,通过重新调用参考指令能动态地重新配置CLIW存储器。CLIW指令的不同包能用在一个算法的不同部分中。这一特征是通过在运行时重新加载CLIW存储器包实现的。
CLIW存储器的大小是用户可定义的。通常CLIW存储器的大小比程序储存器小得多。可将包含总是CLIW指令的恒定集合的CLIW存储器的这些部分作为只读存储器(ROM)实现。编码在ROM中的CLIW指令仍能与不同存储器地址上的数据一起调用,因为地址信息是包含在参考指令中的。

Claims (9)

1.一种用于执行包括多条指令的程序中的指令的数据处理装置,所述装置具有:
(a)常规指令译码器(1),用于从第一程序存储器(2)中顺序地取程序指令及用于译码所述指令,其中所述常规指令译码器(1)区分所述程序指令是常规指令(11)还是参考指令(12);
(b)地址译码器(4),用于确定要从或向数据存储器(3)加载或写入的数据的地址;
(c)多个计算单元(61、62、63、64),用于按照所述常规指令译码器(1)的解释对数据执行操作及用于提供这些操作的结果;
(d)执行逻辑单元(7),用于向所述多个计算单元(61、62、63、64)提供数据及用于按照常规指令(11)控制所述多个计算单元(61、62、63、64)的操作;
其特征在于
(e)可配置长度指令字译码器(9),用于对存储在第二程序存储器(10)中的可配置长度指令字(13)进行译码,其中所述可配置长度指令(13)包括一个包含多个操作代码的操作段、一个用于向每个所述操作分配操作数的操作数赋值段、和一个包含结果赋值的结果赋值段;
(f)所述执行逻辑(7)包括接收装置(8),所述接收装置用于从所述可配置长度指令字译码器(9)接收译码的可配置指令字,
(g)其中,当所述译码的程序指令是包括所存储的可配置长度指令字的指针地址的参考指令时,所述可配置长度指令字译码器(9)和所述第二程序存储器(10)被激活而按照所述解码的可配置长度指令字(13)来操作所述执行逻辑单元(17)。
2.按照权利要求1的装置,其特征在于
所述装置被配置成允许程序指令(11,12)和可配置长度指令字(13)的流水线执行。
3.一种对于包含能并行操作的多个计算单元(61,62,63...,6n)及数据寄存器(5)的数据处理装置用于执行指令的方法,该方法包括下述步骤:
(a)从第一程序存储器(2)中取(IF1,IF2,...,IF5)第一类型的程序指令;
(b)译码(ID1,ID2,...,ID5)所述第一类型的所述程序指令来确定要执行的操作;
(c)从数据存储器(3)或从所述数据寄存器(5)读取(OR1,OR2,...OR5)操作数;
(d)对所述操作数上执行(E1,E2,...E5)操作;以及
(e)将所述操作的结果写入(OW1,OW2,...,OW5)所述数据存储器(3)或所述数据寄存器(5);
其特征在于
参考指令(12)包含对其进行译码的预定信息,在对所述参考指令(12)进行译码时,执行以下步骤:
(f)按照包含在所述参考指令(12)中的信息,从第二程序存储器(10)中取(CF1,CF2...,CF5)可配置长度指令字(13);其中所述可配置长度指令字(13)包括含有多个操作码的操作段、用于把操作数分配给每一个操作的操作数赋值段、和包括结果赋值的结果赋值段;
(g)译码所述可配置长度指令字(13)来确定要并行执行的操作。
4.按照权利要求3的方法,其特征在于
在对所述参考指令进行译码时对操作数和结果地址信息进行译码。
5.按照权利要求3或4的方法,其特征在于
译码参考指令(12)的所述步骤及取与特定的参考指令(12)关联的可配置指令字(13)的所述步骤是同时执行的。
6.按照权利要求3或4的方法,其特征在于
从数据存储器(3)读操作数的所述步骤及译码与所述操作数关联的可配置长度指令字(13)的所述步骤是同时执行的。
7.按照权利要求3或4的方法,其特征在于
所述方法是由数据处理装置以流水线方式执行的。
8.按照权利要求5的方法,其特征在于
所述方法是由数据处理装置以流水线方式执行的。
9.按照权利要求6的方法,其特征在于所述方法是由数据处理装置以流水线方式执行的。
CN99803152.6A 1998-02-19 1999-02-04 执行程序指令的装置与方法 Expired - Fee Related CN1114857C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98102925A EP0942359B1 (en) 1998-02-19 1998-02-19 An apparatus for executing instructions of a program
EP98102925.9 1998-02-19

Publications (2)

Publication Number Publication Date
CN1291306A CN1291306A (zh) 2001-04-11
CN1114857C true CN1114857C (zh) 2003-07-16

Family

ID=8231450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99803152.6A Expired - Fee Related CN1114857C (zh) 1998-02-19 1999-02-04 执行程序指令的装置与方法

Country Status (5)

Country Link
EP (1) EP0942359B1 (zh)
JP (1) JP2003525476A (zh)
CN (1) CN1114857C (zh)
IL (1) IL136246A0 (zh)
WO (1) WO1999042922A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100378653C (zh) * 2005-01-20 2008-04-02 西安电子科技大学 双算术逻辑单元精简指令集8位微控制器

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1050798A1 (en) 1999-05-03 2000-11-08 STMicroelectronics SA Decoding instructions
WO2001073571A1 (en) 2000-03-27 2001-10-04 Infineon Technologies Ag Method and apparatus for adding user-defined execution units to a processor using configurable long instruction word (cliw)
ATE498158T1 (de) 2000-11-06 2011-02-15 Broadcom Corp Umkonfigurierbares verarbeitungssystem und - verfahren
KR20030007403A (ko) * 2000-11-27 2003-01-23 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 데이터 프로세싱 장치
US7529912B2 (en) 2002-02-12 2009-05-05 Via Technologies, Inc. Apparatus and method for instruction-level specification of floating point format
US7181596B2 (en) 2002-02-12 2007-02-20 Ip-First, Llc Apparatus and method for extending a microprocessor instruction set
US7328328B2 (en) 2002-02-19 2008-02-05 Ip-First, Llc Non-temporal memory reference control mechanism
US7315921B2 (en) 2002-02-19 2008-01-01 Ip-First, Llc Apparatus and method for selective memory attribute control
US7395412B2 (en) * 2002-03-08 2008-07-01 Ip-First, Llc Apparatus and method for extending data modes in a microprocessor
US7546446B2 (en) 2002-03-08 2009-06-09 Ip-First, Llc Selective interrupt suppression
US7373483B2 (en) * 2002-04-02 2008-05-13 Ip-First, Llc Mechanism for extending the number of registers in a microprocessor
US7380103B2 (en) 2002-04-02 2008-05-27 Ip-First, Llc Apparatus and method for selective control of results write back
US7155598B2 (en) * 2002-04-02 2006-12-26 Ip-First, Llc Apparatus and method for conditional instruction execution
US7185180B2 (en) 2002-04-02 2007-02-27 Ip-First, Llc Apparatus and method for selective control of condition code write back
US7302551B2 (en) * 2002-04-02 2007-11-27 Ip-First, Llc Suppression of store checking
US7380109B2 (en) 2002-04-15 2008-05-27 Ip-First, Llc Apparatus and method for providing extended address modes in an existing instruction set for a microprocessor
US11204768B2 (en) 2019-11-06 2021-12-21 Onnivation Llc Instruction length based parallel instruction demarcator

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2245284C3 (de) * 1972-09-15 1975-11-13 Ibm Deutschland Gmbh, 7000 Stuttgart Datenverarbeitungsanlage
US5649135A (en) * 1995-01-17 1997-07-15 International Business Machines Corporation Parallel processing system and method using surrogate instructions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100378653C (zh) * 2005-01-20 2008-04-02 西安电子科技大学 双算术逻辑单元精简指令集8位微控制器

Also Published As

Publication number Publication date
CN1291306A (zh) 2001-04-11
EP0942359B1 (en) 2012-07-04
WO1999042922A1 (en) 1999-08-26
JP2003525476A (ja) 2003-08-26
IL136246A0 (en) 2001-05-20
EP0942359A1 (en) 1999-09-15

Similar Documents

Publication Publication Date Title
CN1114857C (zh) 执行程序指令的装置与方法
EP1102166B1 (en) Software scheduled superscalar computer architecture
CN1126027C (zh) 处理不同宽度的命令的vliw处理器
US5129067A (en) Multiple instruction decoder for minimizing register port requirements
US6892293B2 (en) VLIW processor and method therefor
US5590352A (en) Dependency checking and forwarding of variable width operands
EP0380849B1 (en) Method and data processing unit for preprocessing implied specifiers in a pipelined processor
US20050198476A1 (en) Parallel multithread processor (PMT) with split contexts
EP0565849A2 (en) A method and system for synchronizing threads within a process
KR19990087940A (ko) 단일클럭사이클내에불연속명령을페치하기위한방법및시스템
CN1711563A (zh) 令牌触发多线程操作的方法和装置
WO2005096141A2 (en) Apparatus and method for asymmetric dual path processing
US6292845B1 (en) Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively
US5890006A (en) Apparatus for extracting instruction specific bytes from an instruction
US6061775A (en) Apparatus and method for predicting a first microcode instruction of a cache line and using predecode instruction data to identify instruction boundaries and types
JP2828219B2 (ja) オブジェクト・コード互換性を与える方法、オブジェクト・コード互換性並びにスカラ・プロセッサ及びスーパスカラ・プロセッサとの互換性を与える方法、ツリー命令を実行するための方法、データ処理システム
US20050262328A1 (en) Processor and method for processing vliw instructions
EP0992891A1 (en) A processor
US20040148490A1 (en) Multiple register load using a Very Long Instruction Word
JPH01307830A (ja) 情報処理装置
JPH04162134A (ja) シングルチップ・マイクロコンピュータ

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: 20110401

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

Owner name: INFINEON TECHNOLOGIES WIRELESS COMMUNICATION SOLUT

Free format text: FORMER NAME: INFINEON TECHNOLOGIES AG

Owner name: LINGTE DEUTSCHLAND GMBH

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

COR Change of bibliographic data

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

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: 20110401

Address after: German Neubiberg

Patentee after: Infineon Technologies AG

Address before: Munich, Germany

Patentee before: INFINEON TECHNOLOGIES AG

TR01 Transfer of patent right

Effective date of registration: 20180507

Address after: German Neubiberg

Patentee after: LANTIQ BETEILIGUNGS GmbH & Co.KG

Address before: German Neubiberg

Patentee before: Lantiq Deutschland GmbH

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

Granted publication date: 20030716

Termination date: 20180204

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