高效执行特长指令字的处理器制造技术

技术编号:2888652 阅读:231 留言:0更新日期:2012-04-11 18:40
32位指令50是由4位格式字段51,4位操作字段52,和两个12位操作字段59和60组成。4位操作代码52只能包括(1)用于指示分支操作的操作代码“CC”,该分支操作使用常数寄存器36隐含指示的存储值作为分支地址,或(2)常数“const”。4位操作字段52的内容由格式字段51中提供的格式代码确定。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及具有VLIW(特长指令字)结构的处理器,特别是执行稍短字长和高编码效率的处理器。近年来随着对多媒体装置和电子电路小型化需求的增加,对微处理器的需求是能以高速处理多媒体数据,例如音频数据和图象数据。一类处理器是能够使用VLIW结构的处理器的需求,以后称之为“VLIW处理器”。VLIW处理器包括许多内部操作单元,也就是能够以平行方式同时执行许多种VLIW的操作数。这样的VLIW是由调查在源程序级平行处理的可能生和执行编目录的程序编制器产生。对于用户装置中使用的被嵌入的微处理器,对抑制程序的代码尺寸是重要的。使得具有高关联的无操作指令(以后称为“无操作指令”)和产生的差的代码效率的结果的256位VLIW离理想情况很远。执行相对短字长指令的VLIW处理器的一例是日本公开专利申请H09-26878。该技术是执行32位指令的并能同时指示最大两个操作的VLIW处理器的数据处理装置。附图说明图1A和图1B示出图1示出的用于同时指示两个操作的指令格式和图1B示出的用于指示只一个操作的指令格式的规定技术的指令格式。该技术的目的在于,通过示明在每个指令中的操作数和执行顺序的格式字段410中的2位值来改进代码效率。通过单个32位指令表明的最大两个操作,无论如何没有达到足够的平行度等级。还有一个问题是,当利用一超过给定字长的常数进行操作时会降低指令的代码效率。作为一个举例,当32位常数被提供为上16位和下16位,使得它能被置入寄存器时,恰需要两个32位指令去指示利用该常数的操作。从所述的问题看,本专利技术的一个目的就是提供一种VLIW处理器,能执行相对短字长指令而又具有高等级平行度和高效代码结构,使得能同时指示若干操作。作为一个举例,由单个32位指令能指示三或更多操作。本专利技术的第二个目的是提供一种VLIW处理器,用于执行具有某种结构的相对短字长指令,从而使总的代码效率相对不受影响,甚至当处理相对长的字长的常数时也是如此。通过VLIW(特长指令字)处理器能够实现第一个目的,它能译码和执行具有至少两个操作字段的指令,第一个操作字段能只包括确定操作类型的一个操作代码和第二操作字段包括一个操作代码和至少一个由第二操作字段指示的操作中使用的操作数的组合,该VLIW处理器包括第一译码单元,用于译码在第一操作字段中的操作代码;第一执行单元,用于根据第一译码单元的译码结果执行由在第一操作字段中的操作代码指示的操作;第二译码单元,用于译码在第二操作字段中的操作代码;和第二执行单元,用于根据第二译码单元的译码结果,在由第二操作字段中的操作数指示的数据基础上,执行由第二操作字段中的操作代码指示的操作。在此情况下,由于通过只插入一个操作代码而没有清楚的操作数指示能够指明指令中至少一个操作,从而能降低指令的字长。其结果是,执行相对短字长的而具有高效代码结构的指令,使得能同时指示若干操作的VLIW处理器得以实现。这里,在第一操作字段中由操作代码占有的多个位数可以等于在第二操作字段中由操作代码占有的多个位数。作为一种结果就是,在一指令中包括的所有操作代码都由相同的数目的比特组成多位数,从而简化了例如译码电路的单元。这里,指令可以包括三个操作字段,在三个操作字段中的第三操作字段可以占有如第二操作字段的相同位数和也可以包括一个操作代码和至少一个操作数的组合,该VLIW处理器进一步包括第三译码单元,当一操作代码存在于第三操作字段时,它译码第三操作字段的操作代码;和第三执行单元,用于根据第三译码单元的译码结果,在由第三操作字段中的操作数指示的数据基础上,执行由在第三操作字段的操作代码指示的操作。其结果是,具有高等级平行度从而能同时进行三个操作的VLIW处理器能够实现。这里,第一执行单元可以控制包括该指令的程序流。其结果是,一般不需要大量比特数的分支操作可被赋予短的操作字段。这就意味着可以确定高代码效率的指令集合。这里,第二执行单元可以控制由在第二操作字段中包括的操作数指示的数据的传送,和第三执行单元,在由第三操作字段中包括的操作数指示的数据的基础上,可以控制执行一算术逻辑操作。其结果是,可以由在一指令中的单个操作指示将数据传送到外部存储器和将数据从外部存储器传送来,使得能简化应在VLIW处理器中提供的操作数存取电路。通过VLIW处理器能实现本专利技术的第二个目的,该处理器能译码和执行具有至少两个操作字段的一指令,第一操作字段只包括(i)用于确定一操作类型的一单个操作代码的一个和(ii)一常数,和第二操作字段包括(i)一操作代码和由第二操作字段指示的一操作中使用的至少一个操作数的组合的一个和(ii)一常数,该VLIW处理器包括第一译码单元,用于当操作代码出现在第一操作字段中时,译码在第一操作字段的操作代码;第一执行单元,用于根据第一译码单元的译码结果,执行由在第一操作字段中的操作代码指示的操作;第二译码单元,用于当操作代码存在于第二操作字段时,译码在第二操作字段的操作代码;和第二执行单元,用于根据第二译码单元的译码结果,在由第二操作字段中的操作数指示的数据基础上,执行由第二操作字段的操作代码指示的操作。采用以上结构,当在一指令的操作字段中必须放入无意义的代码时,由不同操作使用的常数可以替换被插入,使得VLIW处理器能实现用于执行具有高代码效率的指令,而不管只具有短的字长。这里,该指令还包括含有指明在第一操作字段中是否只有一个常数和在第二操作字段中是否只有一个常数的格式代码的格式字段,该VLIW处理器进一步包括用于译码格式代码的格式译码单元;和用于当格式译码单元的译码结果表明在第一操作字段和第二操作字段的至少一个中只存在一个常数时,提取在该指令中的该常数并存储该提取的常数的常数存储单元。其结果是,在操作字段中放置的常数能被存储在常数存储单元,用于稍后指令的操作,使得能避免代码效率的降低,甚至是在当利用相对短字长的指令,处理相对长字长的常数也是如此。这里,格式字段,第一操作字段,第二操作字段中的操作代码,在第二操作字段中的每个操作数,在第三操作字段中的操作代码,和第三操作字段中的每个操作数,每个都可占据n位。采用上述结构,组成一指令的所有字段都具有相同的位数,这就能简化VLIW处理器的内部电路。这里,VLIW处理器可以包括取单元,用于取包括有n个操作字段的L位指令;和n个操作单元,每一个都与该取得的指令中的n个操作字段的不同的一个相关联,并且每一个都相互以平行方式单独执行相关操作字段中指示的操作;VLIW处理器的特征在于,n个操作字段并不全是相同尺寸,和L并不是n的整数倍。采用上述结构,并不需要指令的所有操作字段都具有相同的字长,这就可能以高代码效率确定指令。其结果是,VLIW处理器执行相对短字长而具有高效代码结构的指令,使得能实现同时指示若干操作。这里,n可以是3,和L可以是32。采用上述结构实现的VLIW处理器,具有高等级的平行度,从而由一单个32位指令指定的三个操作能被同时进行。这里,在n个操作字段中的至少一个操作字段中包括的操作数的数目,可以不同于在该n个操作字段中的另一个操作字段中的操作数的数目。采用上述结构,不需要指令中的每一个操作字段都具有相同数目的操作数,使得能确定具有高等级的代码效率的指令格式。这里,n个操作字段可以包括只有一本文档来自技高网...

【技术保护点】
一种译码和执行具有至少两个操作字段的指令的VLIW(特长指令字)处理器,其中第一操作字段只能包括用于确定操作类型的一个操作代码和第二操作字段包括一个操作代码和由第二操作字段指示的操作中使用的至少一个操作数的组合, VLIW处理器包括; 第一译码装置,用于译码在第一操作字段中的操作代码; 第一执行装置,用于根据第一译码装置的译码结果,执行由第一操作字段中的操作代码指示的操作; 第二译码装置,用于译码在第二操作字段中的操作代码;和 第二执行装置,用于根据第二译码装置的译码结果,在由第二操作字段中的操作数指示的数据基础上,执行由在第二操作字段中的操作代码指示的操作。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:高山秀一桧垣信生
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1