Vliw处理器的制造方法_4

文档序号:9235258阅读:来源:国知局
将进行加法运算的32比特数据(例如,累积加法运算值(32比特数据))的下位16比特数据输出到第3插槽33。
[0150]第3插槽33的加法运算单元331对经由数据通路Di31、Di32输入的2个16比特数据执行加法运算处理。然后,加法运算单元331将加法运算结果的16比特数据作为16比特数据Do3输出到寄存器堆部2。寄存器堆部2将所接收的该16比特数据Do3储存在规定的寄存器中。再有,通过加法运算单元331中的加法运算处理取得的进位比特也被输出到寄存器堆部2并储存在规定的寄存器(例如,进位寄存器)中。再有,对进位比特的数据通路省略了图示。
[0151](Cyc4): 在周期4 (Cyc4)中,命令控制部I通过控制信号Ctl2对命令执行部3发布加法运算命令(AddH命令),第2插槽32的加法运算单元321变为能够执行的状态。此外,寄存器堆部2基于来自命令控制部I的控制信号Ctl2经由数据通路Di22将进行加法运算的32比特数据(例如,累积加法运算值(32比特数据))的上位16比特数据输出到第2插槽32。
[0152]此外,状态寄存器34经由第I切换部324将在周期2中储存的乘法运算结果(由乘法运算单元333得到的乘法运算结果的上位16比特数据)输出到加法运算单元321。此时,第I切换部324被控制为根据控制信号Ctl2向加法运算单元321输出状态寄存器34的输出。
[0153]第2插槽32的加法运算单元321对经由数据通路Di22输入的16比特数据、从第I切换部324输出的16比特数据(由乘法运算单元333得到的乘法运算结果的上位16比特数据)、以及通过加法运算单元331中的加法运算处理取得的进位比特(未对进位比特的输入通路进行图示)执行加法运算处理。然后,加法运算单元321将加法运算结果的16比特数据作为16比特数据Do2经由第2切换部325输出到寄存器堆部2。再有,此时,第2切换部325被控制为根据控制信号Ctl2向寄存器堆部2输出加法运算单元321的输出。
[0154]寄存器堆部2将所接收的该16比特数据Do2储存在规定的寄存器中。再有,通过加法运算单元321中的加法运算处理取得的进位比特也被输出到寄存器堆部2并储存在规定的寄存器(例如,进位寄存器)中。再有,对进位比特的数据通路省略了图示。
[0155]此外,在周期4中,命令控制部I通过控制信号Ctl2对命令执行部3发布乘法运算命令,第3插槽33的乘法运算单元333变为能够执行的状态。然后,执行与周期2的第3插槽33的乘法运算单元333的处理相同的处理。也就是说,与上述同样地执行对另外的数据的乘法运算处理(由第3插槽的乘法运算单元333进行的乘法运算处理)。再有,该乘法运算处理的处理对象在周期2、3中由第I插槽31的加载/存储单元311从数据存储器M2读出并储存在寄存器堆部2的规定的寄存器中。
[0156]根据以上,在VLIW处理器1000中,能够对2个16比特数据执行乘法运算处理,能够执行将作为该乘法运算结果的32比特数据与其它32比特数据进行加法运算的处理(MulAdd 处理)。
[0157](1.2.3:MulShiftAdd 处理)
接着,使用图8、图9来说明在VLIW处理器1000中对2个16比特数据执行乘法运算处理、对作为该乘法运算结果的32比特数据进行位移运算、将该位移运算结果与其它32比特数据进行加法运算的情况(将在该情况下的处理称为“MulShiftAdd处理”。)。作为该MulShiftAdd处理的一个例子,有对2个16比特数据的乘法运算结果数据在对准了固定小数点位置之后进行累积加法运算的处理。这样的处理多用在图像处理、图像识别处理等中。
[0158]图8的左图是按每个周期示出在VLIW处理器1000执行MulShiftAdd处理的情况下分配给各插槽(第I插槽31、第2插槽32以及第3插槽33)的运算处理的图。此外,图8的右图是明示了在周期4 (Cyc4)中被激活的部分的图。
[0159]图9是与图8相同的图。
[0160]图9的右图是明示了在周期5 (Cyc5)中被激活的部分的图。
[0161](CycO ?3):
因为周期O?3 (CycO?3)的处理与“1.2.1:MulShift处理”中的周期O?3的处理相同,所以省略详细的说明。
[0162](Cyc4):
在周期4 (Cyc4)中,命令控制部I通过控制信号Ctl2对命令执行部3发布加法运算命令(AddL命令),第3插槽33的加法运算单元331变为能够执行的状态。此外,寄存器堆部2基于来自命令控制部I的控制信号Ctl2在周期3中经由数据通路Di31将储存在规定的寄存器中的位移运算处理结果的下位16比特数据输出到第3插槽33。此外,寄存器堆部2基于来自命令控制部I的控制信号Ctl2经由数据通路Di32将进行加法运算的32比特数据(例如,累积加法运算值(32比特数据))的下位16比特数据输出到第3插槽33。
[0163]第3插槽33的加法运算单元331对经由数据通路Di31、Di32输入的2个16比特数据执行加法运算处理。然后,加法运算单元331将加法运算结果的16比特数据作为16比特数据Do3输出到寄存器堆部2。寄存器堆部2将所接收的该16比特数据Do3储存在规定的寄存器中。再有,通过加法运算单元331中的加法运算处理取得的进位比特也被输出到寄存器堆部2并储存在规定的寄存器(例如,进位寄存器)中。再有,对进位比特的数据通路省略了图示。
[0164](Cyc5):
在周期5 (Cyc5)中,命令控制部I通过控制信号Ctl2对命令执行部3发布加法运算命令(AddH命令),第2插槽32的加法运算单元321变为能够执行的状态。此外,寄存器堆部2基于来自命令控制部I的控制信号Ctl2经由数据通路Di22将进行加法运算的32比特数据(例如,累积加法运算值(32比特数据))的上位16比特数据输出到第2插槽32。
[0165]此外,状态寄存器34经由第I切换部324将在周期3中储存的位移运算处理结果(由位移运算单元334得到的位移运算处理结果的上位16比特数据)输出到加法运算单元321。此时,第I切换部324被控制为根据控制信号Ctl2向加法运算单元321输出状态寄存器34的输出。
[0166]第2插槽32的加法运算单元321对经由数据通路Di22输入的16比特数据、从第I切换部324输出的16比特数据(由位移运算单元334得到的位移运算处理结果的上位16比特数据)、以及通过加法运算单元331中的加法运算处理取得的进位比特(未对进位比特的输入通路进行图示)执行加法运算处理。然后,加法运算单元321将加法运算结果的16比特数据作为16比特数据Do2经由第2切换部325输出到寄存器堆部2。再有,此时,第2切换部325被控制为根据控制信号Ctl2向寄存器堆部2输出加法运算单元321的输出。
[0167]寄存器堆部2将所接收的该16比特数据Do2储存在规定的寄存器中。再有,通过加法运算单元321中的加法运算处理取得的进位比特也被输出到寄存器堆部2并储存在规定的寄存器(例如,进位寄存器)中。再有,对进位比特的数据通路省略了图示。
[0168]此外,在周期5中,命令控制部I通过控制信号Ctl2对命令执行部3发布乘法运算命令,第3插槽33的乘法运算单元333变为能够执行的状态。然后,执行与周期2的第3插槽33的乘法运算单元333的处理相同的处理。也就是说,与上述同样地执行对另外的数据的乘法运算处理(由第3插槽的乘法运算单元333进行的乘法运算处理)。再有,该乘法运算处理的处理对象在周期3、4中由第I插槽31的加载/存储单元311从数据存储器M2读出并储存在寄存器堆部2的规定的寄存器中。
[0169]根据以上,在VLIW处理器1000中,能够对2个16比特数据执行乘法运算处理,能够对作为该乘法运算结果的32比特数据进行位移运算,能够执行将该位移运算结果与其它32比特数据进行加法运算的处理(MulShiftAdd处理)。
[0170](1.2.4:ShiftAdd 处理)
接着,使用图10?12来说明在VLIW处理器1000中对32比特数据执行位移运算处理、对作为该位移运算处理结果的32比特数据和其它32比特数据进行加法运算的情况(将在该情况下的处理称为“ShiftAdd处理”。)。作为该ShiftAdd处理的一个例子,有对准了固定小数点位置后的累积加法运算处理。这样的处理多用在图像处理、图像识别处理等中。
[0171]图10的左图是按每个周期示出在VLIW处理器1000执行ShiftAdd处理的情况下分配给各插槽(第I插槽31、第2插槽32以及第3插槽33)的运算处理的图。此外,图10的右图是明示了在周期2 (Cyc2)中被激活的部分的图。
[0172]图11、图12是与图10相同的图。
[0173]图11的右图是明示了在周期3 (Cyc3)中被激活的部分的图。
[0174]图12的右图是明示了在周期4 (Cyc4)中被激活的部分的图。
[0175](CycO ?I):
因为周期O?I (CycO?I)的处理与“1.2.1:MulShift处理”中的周期O?I的处理相同,所以省略详细的说明。
[0176](Cyc2):
在周期2 (Cyc2)中,命令控制部I通过控制信号Ctl2对命令执行部3发布位移运算命令(Shift32命令),第3插槽33的位移运算单元334变为能够执行的状态。此外,寄存器堆部2基于来自命令控制部I的控制信号Ctl2在周期0、1中将储存在规定的寄存器中的位移运算处理对象的32比特数据的下位16比特数据经由数据通路Di31输出到第3插槽33并且将该数据的上位16比特数据经由数据通路Di32输出到第3插槽33。
[0177]第3插槽33的位移运算单元334对经由数据通路Di31输入的16比特数据和经由数据通路Di32及第3切换部335输入的16比特数据的2个16比特数据执行位移运算处理。然后,位移运算单元334将位移运算处理结果的32比特数据的上位16比特数据作为16比特数据Ds3经由第5切换部337输出到状态寄存器34。
[0178]状态寄存器34储存所接收的16比特数据Ds3。
[0179]此外,位移运算单元334将位移运算处理结果的32比特数据的下位16比特数据作为16比特数据Do3经由第4切换部336输出到寄存器堆部2。寄存器堆部2将所接收的该16比特数据Do3储存在规定的寄存器中。
[0180](Cyc3):
在周期3 (Cyc3)中,命令控制部I通过控制信号Ctl2对命令执行部3发布加法运算命令(AddL命令),第3插槽33的加法运算单元331变为能够执行的状态。此外,寄存器堆部2基于来自命令控制部I的控制信号Ctl2在周期2中经由数据通路Di31将储存在规定的寄存器中的位移运算处理结果的下位16比特数据输出到第3插槽33。此外,寄存器堆部2基于来自命令控制部I的控制信号Ctl2经由数据通路Di32将进行加法运算的32比特数据(例如,累积加法运算值(32比特数据))的下位16比特数据输出到第3插槽33。
[0181]第3插槽33的加法运算单元331对经由数据通路Di31、Di32输入的2个16比特数据执行加法运算处理。然后,加法运算单元331将加法运算结果的16比特数据作为16比特数据Do3输出到寄存器堆部2。寄存器堆部2将所接收的该16比特数据Do3储存在规定的寄存器中。再有,通过加法运算单元331中的加法运算处理取得的进位比特也被输出到寄存器堆部2并储存在规定的寄存器(例如,进位寄存器)中。再有,对进位比特的数据通路省略了图示。
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1