Vliw处理器的制造方法

文档序号:9235258阅读:385来源:国知局
Vliw处理器的制造方法
【技术领域】
[0001]本发明涉及一种采用VLIW (Very long instruct1n word:超长指令字)架构(architecture)的处理器(VLIW处理器
【背景技术】
[0002]为了对像图像数据那样的大容量数据高效率地进行运算处理,正在开发多种多样的处理器技术。
[0003]例如,在专利文献I中有如下这样的图像处理处理器的公开,所述图像处理处理器是图形处理用的图像处理处理器,所述图像处理处理器具备:加载/存储单元、多个运算单元、以及用于在多个运算单元之间使某个运算单元的运算结果输入到另一个运算单元的切换通道(channe I)。
[0004]可是,在以往的处理器中,在执行图像处理、图像识别处理的情况下,主要执行以8比特或16比特为单位的运算。近年来,伴随着图像处理、图像识别处理的高度化/复杂化,在用于执行图像处理、图像识别处理的处理器中,执行32比特单位的运算的比例不断大幅增加。
[0005]与此伴随地,要求不仅能应对以8比特或16比特为单位的运算、还能应对以32比特为单位的运算的处理器(VLIff处理器)。
[0006]现有技术文献专利文献
专利文献1:日本特开2003 - 216943号公报。
[0007]发明要解决的课题
例如,在使用专利文献I的技术来构成不仅能应对以16比特为单位的运算、还能应对以32比特为单位的运算的处理器的情况下,考虑如图13所示的结构。
[0008]图13是使用现有技术来构成的也能应对以32比特为单位的运算的处理器900的概略结构图。
[0009]如图13所示,处理器900具备命令控制部91、切换通道92、命令执行部93、命令存储器M91、以及数据存储器M92。
[0010]命令控制部91从命令存储器M91读出命令(进行命令取出处理),对读出的命令进行解码(进行命令解码处理)。然后,命令控制部91基于命令解码处理的结果来进行对切换通道92以及命令执行部93的控制。
[0011]命令执行部93为了在I个周期(I个时钟周期)中同时执行多个命令而具备能在I个周期中同时进行运算的多个命令插槽(slot)。如图13所示,命令执行部93具有3个插槽,即,第I插槽931、第2插槽932、以及第3插槽933。
[0012]第I插槽931具有对数据存储器M92进行数据的加载/存储的加载/存储单元。
[0013]第2插槽932具有进行32比特运算的加法运算单元(在图13中用“Add32”示出的单元)、进行16比特运算的逻辑运算单元(在图13中用“Logicl6”示出的单元)、进行32比特运算的位移运算单元(在图13中用“Shift32”示出的单元)。
[0014]第3插槽933具有进行16比特运算的加法运算单元(在图13中用“Addl6”示出的单元)、进行16比特运算的逻辑运算单元(在图13中用“Logicl6”示出的单元)、进行16比特运算的乘法运算单元(在图13中用“Mull6”示出的单元)。
[0015]命令存储器M91是存储用于在处理器900中执行运算的命令等的存储装置。
[0016]数据存储器M92是能够存储用于在处理器900中执行运算的数据等的存储装置。
[0017]从图13可知,在处理器900中,在第2插槽932设置有进行32比特运算的单元,因此,需要从切换通道92向第2插槽932发送2个的量的32比特的数据。例如,在用加法运算单元Addl6进行32比特数据的加法运算的情况下,需要2个32比特数据。因此,在处理器900中,如图13所示,在切换通道92与第2插槽932之间需要4个(数据通路Di92?Di95) 16比特数据的转发用通路。也就是说,在处理器900中,在切换通道92与第2插槽932之间需要64比特的量的数据通路。
[0018]此外,在第2插槽932中执行32比特运算的情况下,其输出结果为32比特数据,因此,为了将该输出结果从第2插槽932发送到切换通道92,需要32比特的量的数据通路。在图13中,由于利用16比特的数据转发用的数据通路Do92、Do93从第2插槽932向切换通道92进行发送,所以确保了 32比特的量的数据通路。
[0019]此外,在处理器900中,在第3插槽933设置有输出结果为32比特的进行16比特数据的乘法运算的乘法运算单元Mull6,因此,为了将该输出结果从第3插槽933发送到切换通道92,需要32比特的量的数据通路。在图13中,由于利用16比特的数据转发用的数据通路Do94、Do95从第3插槽933向切换通道92进行发送,所以确保了 32比特的量的数据通路。
[0020]像这样,在使用现有技术来构成也能应对以32比特为单位的运算的处理器900的情况下,必须设置在切换通道92与命令执行部93之间的输入/输出端口数变多,导致电路规模的增大。此外,虽然也考虑将切换通道92例如置换为通用寄存器堆(register file)的结构,但是,在该情况下,必须设置在通用寄存器堆与命令执行部93之间的输入/输出端口数也会变多,导致电路规模的增大。

【发明内容】

[0021]因此,鉴于上述问题,本发明的目的在于,实现一种能够抑制电路规模的增大并且即使在包括像多用于图像处理、图像识别处理等中的命令流那样进行比特扩展的运算的情况下也能够高效率地执行处理的VLIW处理器。
[0022]用于解决课题的方案为了解决上述课题,第I发明是具备寄存器堆部和命令执行部的VLIW处理器。
[0023]命令执行部包括第I插槽和能够储存N比特的量(N:自然数)的数据的状态寄存器(state register)。
[0024]第I插槽包括:用于输入来自寄存器堆部的输出数据的NX 2比特(N:自然数)的输入端口 ;用于向寄存器堆部输出数据的N比特的第I输出端口 ;以及用于向状态寄存器输出数据的N比特的第2输出端口。此外,第I插槽包括第I插槽用第I扩展运算单元,所述第I插槽用第I扩展运算单元通过对N比特数据进行运算处理,从而取得2XN比特数据的输出数据。
[0025]而且,第I插槽将由扩展运算单元取得的2XN比特数据的输出数据中的N比特的量的数据作为第I数据从第I输出端口输出到寄存器堆部,将由扩展运算单元取得的2XN比特数据的输出数据中的除第I数据以外的N比特的量的数据作为第2数据输出到所述状态寄存器。
[0026]在该VLIW处理器中,第I插槽将由扩展运算单元取得的2XN比特数据作为划分成各N比特的2个数据输出到寄存器堆部和状态寄存器。也就是说,在该VLIW处理器中,即使在执行处理对象为2XN比特数据的2XN比特运算的情况下,该2XN比特数据中的N比特数据也能够由状态寄存器保持,例如,在下一个周期(时钟周期)中由规定的运算单元进行利用。
[0027]此外,在该VLIW处理器中,在第I插槽中,来自寄存器堆部的输入端口是NX2比特(NX2比特的量的输入端口),向寄存器堆部的输出端口是N比特(N比特的量的输出端口),因此,与VLIW处理器只执行N比特运算的情况相比,不需要增加输入/输出端口数。
[0028]像这样,在VLIW处理器中,如上所述,能够在不增加寄存器堆部的输入/输出端口数的情况下支持2XN比特的运算。
[0029]因此,在VLIW处理器中,能够抑制电路规模的增大,并且,即使在包括像多用于图像处理、图像识别处理等中的命令流那样进行比特扩展的运算(NX2比特运算)的情况下,也能够高效率地执行处理。
[0030]第2发明如第I发明,第I插槽输入从第I插槽输出到状态寄存器并由状态寄存器保持的第2数据。
[0031]由此,在该VLIW处理器中,例如,能够在当前的周期中使在前一个周期中从第I插槽输出的N比特数据从状态寄存器输入到第I插槽以用于第I插槽中的运算。
[0032]第3发明如第I发明,命令执行部还具备第2插槽。
[0033]第2插槽包括:用于输入来自寄存器堆部的输出数据的NX 2比特(N:自然数)的输入端口 ;用于向寄存器堆部输出数据的N比特的输出端口 ;以及对N比特数据进行处理的运算的第2插槽用第I运算单元。
[0034]而且,第I插槽输入从第I插槽输出到所述寄存器堆部并由寄存器堆部保持的所述第I数据。
[0035]状态寄存器将从第I插槽输出的第2数据输出到第2插槽。
[0036]由此,在该VLIW处理器中,例如,能够在当前的周期中使在前一个周期中从第I插槽输出的N比特数据从状态寄存器输入到第2插槽以用于第2插槽中的运算。
[0037]第4发明如第3发明,第2插槽还包括读出N比特数据的读出部。
[0038]第2插槽的读出部读出从状态寄存器输出的数据,将读出的数据输出到寄存器堆部。
[0039]在该VLIW处理器中,能够利用第2插槽的读出部读出在状态寄存器中保持的N比特数据并在规定的定时输出到寄存器堆部,因此,即使存在处理2XN比特数据的运算,也能够高效率地向寄存器堆部输出规定的数据并在寄存器堆部中保持所需的数据。
[0040]第5发明如第3或第4发明,第2插槽还包括第2插槽用选择部,所述第2插槽用选择部选择从寄存器堆部输出的数据和从状态寄存器输出的数据的任一方数据,使所选择的数据输入到第2插槽用第I运算单元。
[0041]由此,在该VLIW处理器中,能够选择从寄存器堆部输出的数据和从状态寄存器输出的数据的任一方并使其输入到第2插槽用第I运算单元,因此,能够将所需的数据输入到第2插槽用第I运算单元。例如,在第2插槽用第I运算单元是进行加减法运算处理的运算单元的情况下,在将该运算单元用于N比特数据的加减法运算处理的情况下,能够利用第I选择部输入从寄存器堆部输出的2个N比特数据。另一方面,在将上述运算单元用于2XN比特数据的加减法运算处理的上位N比特的量的加减法运算处理的情况下,只要在状态寄存器中保持2XN比特数据中的上位N比特的量的数据(例如,由第I插槽的加法运算单元取得的N比特的量的数据),利用第2插槽用选择部向上述运算单元输入状态寄存器的输出,进而,从寄存器堆部输入与该上位N比特的量的数据进行加法运算的2XN比特数据的上位N比特数据即可。由此,能够在该运算单元中执行2XN比特数据的加减法运算处理的上位N比特数据的加减法运算处理。
[0042]第6发明如第5发明,第I插槽还包括对N比特数据进行处理的运算的第I插槽用第I运算单元。
[0043]第I插槽用第I扩展运算单元是对2个N比特数据进行乘法运算处理的第I插槽用乘法运算单元。
[0044]第I数据是第I插槽用乘法运算单元通过乘法运算处理取得的2XN比特数据中的下位N比特的数据。
[0045]第2数据是第I插槽用乘法运算单元通过乘法运算处理取得的2XN比特数据中的上位N比特的数据。
[0046]第I插槽用第I运算单元是对2个N比特数据进行加减法运算处理的第I插槽用加减法运算单元。
[0047]第2插槽用第I运算单元是对2个N比特数据进行加减法运算处理的第2插槽用加减法运算单元。
[0048]由此,能够对第I插槽分配进行N比特的乘法运算的单元(乘法运算单元)和进行N比特的加减法运算处理的单元(下位N比特数据的加法运算单元),能够对第2插槽分配进行N比特的加减法运算处理的单元(上位N比特数据的加法运算单元)。
[0049]第7发明如第3至第6的任一项发明,状态寄存器将保持的N比特数据输出到第I插槽。
[0050]第I插槽还包括第I插槽用第2扩展运算单元、第I插槽用第I运算单元、以及第I插槽用选择部。
[0051]第I插槽用第2
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1