CN100378652C - 变指令长度处理 - Google Patents

变指令长度处理 Download PDF

Info

Publication number
CN100378652C
CN100378652C CNB008025614A CN00802561A CN100378652C CN 100378652 C CN100378652 C CN 100378652C CN B008025614 A CNB008025614 A CN B008025614A CN 00802561 A CN00802561 A CN 00802561A CN 100378652 C CN100378652 C CN 100378652C
Authority
CN
China
Prior art keywords
parameter
byte
instruction
value
parameters
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 - Lifetime
Application number
CNB008025614A
Other languages
English (en)
Other versions
CN1335958A (zh
Inventor
W·L·萨维尔勒
K·罗斯
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.)
NXP BV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1335958A publication Critical patent/CN1335958A/zh
Application granted granted Critical
Publication of CN100378652C publication Critical patent/CN100378652C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • 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/3016Decoding the operand specifier, e.g. specifier format
    • 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/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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/3017Runtime instruction translation, e.g. macros
    • G06F9/30178Runtime instruction translation, e.g. macros of compressed or encrypted 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
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

在处理系统中形成变长度指令用于执行。每个指令包含:一个参数部分,具有一个或者多个预定类型的参数;以及一个操作码部分。操作码部分指明要执行的操作、指令中的参数数目、以及该参数的定义特征。该参数可以表示可压缩的数据,因此能够减少指令中参数的大小。

Description

变指令长度处理
发明背景技术
1.发明领域
本发明涉及处理系统中指令的格式,尤其是变长度指令的格式。
2.相关技术描述
在处理系统中数据的操作是通过使用指令完成的,每个指令包含一操作码部分和一参数部分。操作码部分指定由本系统中的处理器执行的操作,参数部分包含一个或多个表示数据的参数,例如用于在存储器中定位数据的地址和/或由处理器进行操作的数字。
在任何一个包含了一个或多个表示地址的参数的指令中,指令的总位数长度必须足够大从而能够表示最大可能的地址值。一种用于减小该位长的通用方法是使用地址索引,借此可以提供多种具有不同长度的地址参数的指令。例如,可以提供多种具有不同长度的偏移量参数以及需要不同字节数的JUMP指令。
相似地,在任何一个包含一个或多个用来表示处理器进行操作的数的参数的指令中,总位数长度必须足够大从而能够表示该数的最大可能的值。通常,处理系统具有多个不同位长度容量的存储器(寄存器、ROM、RAM等),而且能够移动具有各种不同位长的数。为了容易做到这一点,通常的做法是为每种可能的位长组合提供不同的MOVE指令。例如,即使在全部存储器容量都相同的情况下(例如,三十二位容量),也可能需要四种不同的MOVE指令,即:
第一MOVE指令,用于把一个八位数移动到一个具有三十二位容量的存储单元;
第二MOVE指令,用于把一个十六位数移动到一个具有三十二位容量的存储单元;
第三MOVE指令,用于把一个二十四位数移动到一个具有三十二位容量的存储单元;
第四MOVE指令,用于把一个三十二位数移动到一个具有三十二位容量的存储单元;
在前三个例子中,处理器将自动地把要移动的字扩展为一个三十二位的值。
发明概述
本发明的目的是减少程序所需要的存储器空间。这可以通过压缩参数而不增加操作码的数目来实现。
根据本发明,一种在处理系统中形成执行指令的方法包含:
提供一个用来确定至少一个由处理器执行的操作的操作码部分;以及
提供一个可压缩的参数部分,它包含至少一个表示相应数据值的参数,该参数部分还包含一个扩展指示符用来表示该至少一个参数的压缩状态。
注意在这里所使用的词语“存储器”,是指广泛使用的存储器类型相一致,包含各种类型的易失性和非易失性器件,没有局限性地包含RAM、DRAM、ROM、寄存器以及这些器件的组合。另外,在这里使用的“指针”一词,指的是任何标识存储单元的值。此外,“存取”数据,是指从存储器中获得数据,或是把数据放入存储器中。
附图简要说明
图1是一个框图,说明了一个用于阐明本发明最佳实施例的处理系统示例。
图2A到2D显示了在阐明本发明时所使用的参数示例。
图3A到3L显示了在阐明本发明时所使用的指令示例。
最佳实施例的描述
图1所示的处理系统包含一个处理器10和一个存储器20。处理器10是一个硬件加速单元,它使用时钟脉冲来顺序处理由程序计数寄存器标识的指令。通常,程序计数寄存器包含下一个由处理器读取并进行操作的指令的存储单元。
此外处理器还包含:一个环境寄存器组12、一个指令译码器14以及一个算术逻辑单元16。在这个实施例中,存储器20包含一个具有多个存储单元的RAM,用于存储数据和/或系统变量,并用来作为一个LIFO(后进先出)堆栈以促进程序方法和/或过程的执行。
处理器10和存储器20与公共总线30相连从而实现相互之间的连接,并且和其他连接到该总线上的硬件相连。总线包含相应的用于传送数据诸如地址、中断、数据、读选通、写选通以及设备选取选通等的线路。更可取地,这是一条高速总线,其中至少有一部分是在具有处理器和存储器的通用硅衬底上形成的。
环境寄存器组12包含一个程序计数寄存器121、一个或多个通用寄存器123、以及一个用于堆栈寻址的寄存器124。更具体地说,在环境寄存器组中的寄存器包含:
程序计数寄存器121,用来保存一个不断更新的程序计数PC以标识下一个被处理器访问的存储器地址;
通用寄存器123,用于包含从存储器20读取的数据或者是由算术逻辑单元16生成的数据;
寄存器124,用来保存一个堆栈指针SP以标识当前访问的堆栈地址的存储单元。
指令译码器14是一个传统的硬件部件,诸如一个序列发生器或者微序列发生器,用于把从存储器20中读取的指令转换成低级操作码。算术逻辑单元16也是一个传统的硬件部件。
依据本发明,至少有一些由处理器执行的指令包含一参数部分和一操作码部分。参数部分可包含以下几种用于表示处理器所使用的数据的参数中的一种:
UmNC是一种表示无符号(U)、未压缩(NC)以及总位数长度为m位的数据的参数;
SmNC是一种表示有符号(S)、未压缩(NC)以及总位数长度为m位的数据的参数;
Um_C是一种表示有无符号(U)、可压缩(_C)以及总位数长度为m位的数据的参数;
Sm_C是一种表示有符号(S)、可压缩(_C)以及总位数长度为m位的数据的参数。
注意那些参数类型UmNC以及SmNC已经为大家所熟知,但是为了说明本发明的向后兼容性而将它们包含在其中。此外还要注意到,在每种情况下,m都表示由相应参数所表示的最后的、未压缩的数据的总位数。同样根据本发明所形成的每种参数都包含一个或多个预定位长的字节。在所描述的实施例中,每个字节的长度为八位。
图2A和2B显示了每一种相应的类型UmNC、SmNC的参数示例格式。在这些例子中,每个参数包含两个字节。具体地说:
图2A显示一个UmNC类型两字节的参数,它表示一个无符号、未压缩且总位数长度为16位(m16)的数据值。在这个例子中,参数的每个字节等于它所表示数据的相应字节。
图2B显示了一个SmNC类型两字节的参数,它表示一个有符号、未压缩且总位数长度为16位(m16)的数据值。在这个例子中,该参数的每个字节再次等于它所表示的数据的相应字节,不过该数据值的第一位是一个符号位s。
图2C显示了一个Um_C类型的两字节参数,它表示一个无符号、可压缩且总位数长度为16位(m16)的数据值,但是该数据值可以大于该参数本身的位长,这取决于该数据是否已经被压缩了。这由该参数第一个字节中的扩展位e来指示。e值决定或者该处理器扩展该参数的第一个字节为数据值的完全16位大小,或者从存储器中读取第二字节。
图2D显示了一个Sm_C类型的两字节参数,它表示一个有符号、可压缩且总位数长度为16位(m16)的数据值,但是该数据值可以再次大于该参数本身的位长,这取决于该数据是否已经被压缩了。再次,这由该参数第一个字节所包含的一个扩展位e来指示,且e值决定或者是处理器扩展参数的第一个字节为数据值的完全16位大小,或者是从存储器中读取第二字节。第二位是符号位s。
在每个包含一个或多个参数类型UmNC、SmNC、Um_C、Sm_C参数的指令中,具体的操作码决定:
一个或者多个由该处理器执行的操作;
在指令中这些参数的数目;
每一参数所定义的特征,包含:
该参数是否表示可压缩的数据;
由该参数表示的数据的未压缩长度m;
该参数是有符号的(包含一个符号)还是无符号的(不包含一个符号)。
对于多字节参数,同样必须决定处理器为了形成该参数而读取和排列字节的次序。这可以用多种方法来完成,例如通过在和相应参数相关的具体指令的定义中包含这个次序,通过为具体的处理器定义一个参数排列的固定次序,通过在参数本身中包含指定排列次序的代码,等等。
更可取地,指令操作码部分的格式已经内在地指定了参数的数目以及他们的特征。例如,一个ADD指令,由ALU16把一个操作数A和一个操作数B相加并且把总和保存在地址C中,其操作码可能包含三个参数,每个对应于相应的操作数A、B和C。要注意到,例如,A和B可以是可压缩的值,而C可以是从一个基准地址开始的索引,它也可能是一个可压缩的数。此外,指令本身的定义将指定这些参数中每一个的相关特征。作为另一例子,一个ENTER指令,其中处理器10将寄存器124中的堆栈指针值SP递减得到该堆栈中的一个地址,从而将提供由值M表示的存储空间,该指令的操作码可能包含该单个无符号参数M。M的大小可以是压缩的,因为这是一个基于由SP定位的当前地址的索引。指令本身的定义将同样指定参数M的其他相关特征。
处理器10通过访问由不断更新的程序计数器PC所指示的存储器地址,逐个字节地形成每个指令。更可取地,这些地址指向在一个快速存取存储器中的单元,例如一个在处理器本身中的高速缓冲存储器(没有显示)。首先,处理器读取操作码,然后读取由具体操作码所定义的参数数目。图3A到3J说明了如何来处理不同类型参数的典型例子。每个指令包含一个操作码部分,以及随后的一个包含一个或多个参数的参数部分。具体地说:
图3A显示了一个具有单个一字节的UmNC类型参数的指令。在这个例子中,m=8,且该8位的参数和它所表示的数据值是相同的。
图3B显示了一个具有单个一字节的SmNC类型参数的指令。在这个例子中,m=8,且该8位参数包含一个符号位s=0,并和它所表示的数据值是相同的。
图3C显示了一个具有单个双字节Um_C类型参数的指令。在这个例子中,m=16,且该参数的第一个字节包含了一个扩展位值e=0,这表明第一个字节是没有压缩的。因此,处理器就必须另外读取一个字节来形成完整的16位参数。
图3D显示了一个具有两个单字节Um_C类型参数的指令。对每个参数来说,m=16,且第一位是一个扩展位,其值e=1。这告诉处理器10将每个参数扩展为由该参数所表示的完整的16位数据值。这可以通过任何与这个指令的具体操作码有关的解压缩方法来完成。例如,如果某一参数表示一个写入16位寄存器中的索引值,但是它的最大值能够用7位或者更少的位形成。通过删除扩展位和在剩余7位前面插入9位预定值(例如9个零),就能够将该参数扩展为16位。或者,通过与具体操作码有关的解压缩算法能够将该8位参数扩展为完整的16位。
图3E显示了一个具有一个四字节Um_C类型参数的指令。在这个例子中,m=32,并且前三个字节中的每一个都包含一个扩展位,其值e=0。处理器读取并删除这三个扩展位的值,从前三个字节中的每一个读取7个数据位,从第四个字节中读取8个数据位,然后在剩余的29位前面插入3位预定值(例如3个零),从而将该参数扩展到32位。
图3F显示了一个具有一个三字节Um_C类型参数的指令。在这个例子中,m=32,前两个字节的每一个都包含一个扩展位,其值e=0,而且第三个字节包含一个扩展位,其值e=1。处理器从这三个字节中的每一个读取7个数据位,读取且删除这三个扩展位的值,然后在剩余的21位的前面插入11位预定值(对应于删除的扩展位每一个插入一位,对应于具有值e=1的扩展位插入8位),从而将该参数扩展到32位。如果通过用零来填充整个数据值的缺少位来完成扩展,处理器将在由该三字节参数所提供的21个数据位的前面插入11位的零值。注意到,在本发明的最佳格式中,将参数字节以相反的次序,即从最不重要的字节到最重要的字节,保存在存储器中并以该次序从存储器中读取。因此,在图3F的例子中:
读取本参数的第一个字节构成数据值最不重要的7位[1010101];
读取本参数的第二个字节构成本数据值其次重要的7位[1110000];
读取本参数的第三个字节构成本数据值最重要的7位[1100110];以及
在最后读取的参数第三个字节的前面插入11个零从而构成完整的数据值[00000000000110011011100001010101]。
图3G显示了一个具有单个双字节Sm_C类型参数的指令。在这个例子中,m=16,第一字节包含一个值e=0的扩展位以及一个值s=0的符号位。因此,处理器读取这两个字节并在该符号位和读取的剩余14个数据位之间插入一位预定值。为简便起见,更可取地使这个预定值和符号位的值相同。
图3H显示了一个具有单个一字节Sm_C类型参数的指令。在这个例子中,m=16,该字节包含一个值e=1的扩展位以及一个值s=1的符号位。因此,处理器读取该单字节,并在该符号位和读取的剩余的六个数据位之间插入9位预定值(例如符号位的值)。
图3I显示了一个具有单个四字节Sm_C类型参数的指令。在这个例子中,m=32,第一个字节包含一个值e=0的扩展位以及一个值s=0的符号位,第二个和第三个字节中的每一个都包含一个值e=0的扩展位,并第四个字节包含剩余的8位数据值。因此,处理器读取这四个字节,并且在符号位和读取的剩余二十八个数据位之间插入三位预定值,例如符号位的值。
图3J显示了一个具有单个三字节Sm_C类型参数的指令。在这个例子中,m=32,第一个字节包含一个值e=0的扩展位以及一个值s=1的符号位,第三个字节包含一个值e=1的扩展位。因此,处理器不改变地读取前两个字节,并以8位扩展第三个字节从而形成由该参数表示的完整32位数据值。
在上述例子中,每个参数都是逐位读取的,并且通过读取在每个字节中的扩展字段来决定是否扩展该参数。由扩展字段占据的空间减少了整个寻址范围。作为选择,扩展字段可以仅仅包含在参数的第一个字节中。在这种情况下,参数要么保存在一个压缩的单字节格式中,要么保存在一个扩展的格式中。
图3K和3L说明了在参数字段内如何做到这些的典型例子。这些图中的每一个都表示了一个32位数据值的参数实例。紧跟着操作码的第一个字节包含一个位字段,它包含扩展位e。扩展位的值指示两种可能情况中存在哪一个。这就是说,要么参数部分包含仅仅单个必须扩展为32位的被压缩参数,要么参数部分包含四个字节表示扩展了的32位数据值。
参考图3K和3L:
图3K显示一个具有单个Um_C类型参数的指令。在这个例子中,m=32,且参数的第一个(而且是唯一的)字节包含一个值e=1的扩展位。这告诉处理器把该参数扩展为由该参数表示的整个32位数据值。
图3L同样显示一个具有单个Um_C类型参数的指令。在这个例子中,又一次m=32,但是参数的第一(共4个)个字节包含一个值e=0的扩展位。这告诉处理器读取另外的三个字节来形成完整的数据值。
虽然已经对本发明的具体实施例进行了描述,但是在本发明的范围内可能有许多选择。例如,不是在操作码中内在地指定相关参数的数目,而是可以用参数本身内部的位字段来指出这一点,而且其他涉及参数的特征包含:
由参数表示的数据值的位数m;
参数的字节数;
该参数是否表示一个压缩的数据值。

Claims (9)

1.一种在处理系统中形成执行指令的方法,所述方法包含:
(a)提供一个操作码部分,用来确定将被该处理器执行的至少一次操作,并从多个可能的长度中指定至少一个数据值的长度;以及
(b)提供一个参数部分,它包含至少一个表示所述数据值的参数,所述参数部分包括一个指示符,所述指示符表示所述参数是否表示一个压缩值;
(c)如果所述参数表示一个压缩值,则扩展所述参数,以形成一个指定长度的数据值。
2.如权利要求1所述的方法,其中参数部分包含至少一个下述类型的参数:
(1)一个可压缩、无符号、具有预定长度的参数;
(2)一个可压缩、有符号、具有预定长度的参数。
3.如权利要求1所述的一种方法,其特征在于:操作码定义了参数部分中的参数数目。
4.如权利要求1所述的一种方法,其特征在于:操作码定义了至少一个参数的未压缩长度。
5.如权利要求1所述的一种方法,其特征在于:操作码定义了所述的至少一个参数是否包含符号。
6.如权利要求1所述的一种方法,其特征在于:该至少一个参数表示一个存储器地址。
7.如权利要求1所述的一种方法,其特征在于:参数部分包含多个参数,且操作码部分确定所述参数的排列次序。
8.如权利要求1所述的一种方法,其特征在于:该至少一个参数包含一个位字段,以指示一个和参数有关的特征。
9.如权利要求8所述的一种方法,其特征在于:位字段表示至少一个:
(a)由该至少一个参数所表示的数据值的位数;
(b)该至少一个参数的字节数;
(c)该至少一个参数是否表示一个已压缩的数据值。
CNB008025614A 1999-09-07 2000-08-30 变指令长度处理 Expired - Lifetime CN100378652C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/391,647 US7376814B1 (en) 1999-09-07 1999-09-07 Method for forming variable length instructions in a processing system
US09/391,647 1999-09-07

Publications (2)

Publication Number Publication Date
CN1335958A CN1335958A (zh) 2002-02-13
CN100378652C true CN100378652C (zh) 2008-04-02

Family

ID=23547411

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008025614A Expired - Lifetime CN100378652C (zh) 1999-09-07 2000-08-30 变指令长度处理

Country Status (7)

Country Link
US (1) US7376814B1 (zh)
EP (1) EP1125193A1 (zh)
JP (1) JP2003508863A (zh)
KR (1) KR100764260B1 (zh)
CN (1) CN100378652C (zh)
TW (1) TWI234109B (zh)
WO (1) WO2001018643A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020008101A (ko) * 2001-12-12 2002-01-29 주식회사 애니콤소프트웨어 데이터의 비트 인덱스 압축방법
US7917734B2 (en) * 2003-06-30 2011-03-29 Intel Corporation Determining length of instruction with multiple byte escape code based on information from other than opcode byte
US7263621B2 (en) * 2004-11-15 2007-08-28 Via Technologies, Inc. System for reducing power consumption in a microprocessor having multiple instruction decoders that are coupled to selectors receiving their own output as feedback
US7921088B1 (en) * 2005-07-22 2011-04-05 X-Engines, Inc. Logical operations encoded by a function table for compressing index bits in multi-level compressed look-up tables
US7430560B1 (en) * 2005-07-22 2008-09-30 X-Engines, Inc. Multi-level compressed lock-up tables formed by logical operations to compress selected index bits
US7827218B1 (en) 2006-11-18 2010-11-02 X-Engines, Inc. Deterministic lookup using hashed key in a multi-stride compressed trie structure
US8149711B2 (en) 2007-07-25 2012-04-03 Silicon Image, Inc. Data stream control for network devices
KR101158534B1 (ko) * 2009-09-21 2012-06-21 자바정보기술 주식회사 다양한 환경에서의 데이터 처리를 위한 동적 프로세스 관리 시스템
CN101859325B (zh) * 2010-06-07 2012-07-11 华为技术有限公司 一种数据表项的查找处理方法和装置
JP4862100B1 (ja) * 2011-03-25 2012-01-25 好一 北岸 中央演算処理装置及びマイクロコンピュータ
EP4080354A1 (en) * 2021-04-23 2022-10-26 Nxp B.V. Processor and instruction set

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4363091A (en) * 1978-01-31 1982-12-07 Intel Corporation Extended address, single and multiple bit microprocessor
CN86103765A (zh) * 1985-06-28 1986-12-24 惠普公司 在指令串中嵌入数据的方法
US5673407A (en) * 1994-03-08 1997-09-30 Texas Instruments Incorporated Data processor having capability to perform both floating point operations and memory access in response to a single instruction
US5745722A (en) * 1995-06-15 1998-04-28 Sanyo Electric Co., Ltd. Apparatus for decoding instruction immediate data to produce a string having a single bit different from other bit thereof

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4236206A (en) 1978-10-25 1980-11-25 Digital Equipment Corporation Central processor unit for executing instructions of variable length
CA1174370A (en) 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
US4530050A (en) 1981-08-26 1985-07-16 Hitachi, Ltd. Central processing unit for executing instructions of variable length having end information for operand specifiers
JPS58146941A (ja) 1982-02-26 1983-09-01 Hitachi Ltd マイクロプログラム制御デ−タ処理装置
US4586130A (en) 1983-10-03 1986-04-29 Digital Equipment Corporation Central processing unit for a digital computer
US5307474A (en) * 1987-09-30 1994-04-26 Mitsubishi Denki Kabushiki Kaisha Apparatus and method for processing literal operand computer instructions
JPH0769806B2 (ja) * 1988-10-14 1995-07-31 三菱電機株式会社 データ処理装置
JPH0810428B2 (ja) 1988-12-26 1996-01-31 三菱電機株式会社 データ処理装置
US5109495A (en) 1989-02-03 1992-04-28 Digital Equipment Corp. Method and apparatus using a source operand list and a source operand pointer queue between the execution unit and the instruction decoding and operand processing units of a pipelined data processor
CA2037708C (en) 1990-05-04 1998-01-20 Richard J. Eickemeyer General purpose compound apparatus for instruction-level parallel processors
JP3004108B2 (ja) * 1991-11-27 2000-01-31 株式会社東芝 情報処理装置
DE69326066T2 (de) 1992-03-25 2000-03-30 Zilog Inc Schnelle befehlsdekodierung in einem pipeline-prozessor
WO1997022922A1 (en) 1995-12-15 1997-06-26 Intel Corporation Instruction encoding techniques for microcontroller architecture
US5787302A (en) 1996-05-15 1998-07-28 Philips Electronic North America Corporation Software for producing instructions in a compressed format for a VLIW processor
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
JP3745039B2 (ja) * 1996-08-01 2006-02-15 株式会社ルネサステクノロジ 遅延命令を有するマイクロプロセッサ
EP0843253B1 (en) 1996-11-15 2001-08-08 STMicroelectronics S.r.l. A method for reducing the number of bits needed for the representation of constant values in a data processing device
DE19826826A1 (de) 1998-06-16 1999-07-15 Siemens Ag Verfahren zum Decodieren und Ausführen von Befehlen in einem RISC-Prozessor
US6338132B1 (en) * 1998-12-30 2002-01-08 Intel Corporation System and method for storing immediate data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4363091A (en) * 1978-01-31 1982-12-07 Intel Corporation Extended address, single and multiple bit microprocessor
CN86103765A (zh) * 1985-06-28 1986-12-24 惠普公司 在指令串中嵌入数据的方法
US5673407A (en) * 1994-03-08 1997-09-30 Texas Instruments Incorporated Data processor having capability to perform both floating point operations and memory access in response to a single instruction
US5745722A (en) * 1995-06-15 1998-04-28 Sanyo Electric Co., Ltd. Apparatus for decoding instruction immediate data to produce a string having a single bit different from other bit thereof

Also Published As

Publication number Publication date
KR100764260B1 (ko) 2007-10-05
WO2001018643A1 (en) 2001-03-15
EP1125193A1 (en) 2001-08-22
KR20010075681A (ko) 2001-08-09
US7376814B1 (en) 2008-05-20
TWI234109B (en) 2005-06-11
JP2003508863A (ja) 2003-03-04
CN1335958A (zh) 2002-02-13

Similar Documents

Publication Publication Date Title
US5652878A (en) Method and apparatus for compressing data
US6275921B1 (en) Data processing device to compress and decompress VLIW instructions by selectively storing non-branch NOP instructions
CN100378652C (zh) 变指令长度处理
CA2132762C (en) Method and apparatus for data compression
US5896529A (en) Branch prediction based on correlation between sets of bunches of branch instructions
US6915413B2 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
CN100432959C (zh) 压缩高速缓存内数据的机制
CN101189585A (zh) 字节可寻址存储器的提取索引寻址
US6256783B1 (en) Object conversion apparatus, object conversion method and program storing medium
US5963982A (en) Defragmentation of stored data without pointer indirection
US4628477A (en) Programmable push-pop memory stack
KR100474357B1 (ko) 다단계 분할을 이용한 기억소자 할당방법
EP3057100A1 (en) Memory device and operating method of same
JPH09231071A (ja) コンピュータ装置
EP0217479A2 (en) Information processing unit
US7676651B2 (en) Micro controller for decompressing and compressing variable length codes via a compressed code dictionary
US6691211B2 (en) Method of selecting registers from a primitive register set
US11100267B1 (en) Multi dimensional memory compression using bytewide write enable
US7124261B2 (en) Access to bit values within data words stored in a memory
US6205546B1 (en) Computer system having a multi-pointer branch instruction and method
US6513053B1 (en) Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
CN100353335C (zh) 增加处理器中存储器的方法
US6202144B1 (en) Computer system having a single pointer branch instruction and method
US20020023205A1 (en) Processor and information processing method
KR20010085562A (ko) 데이터 랜덤 액세스 메모리를 사용하는 다양한 사이즈의마이크로컨트롤러를 위한 강제 페이지 페이징 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: ROYAL PHILIPS ELECTRONICS CO., LTD.

Effective date: 20070810

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

Effective date of registration: 20070810

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklike Philips Electronics N. V.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: KALAI HANXILE CO., LTD.

Free format text: FORMER OWNER: KONINKL PHILIPS ELECTRONICS NV

Effective date: 20120210

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

Effective date of registration: 20120210

Address after: American Delaware

Patentee after: NXP BV

Address before: Holland Ian Deho Finn

Patentee before: Koninkl Philips Electronics NV

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080402