Simd处理器的制造方法

文档序号:9235273阅读:208来源:国知局
Simd处理器的制造方法
【技术领域】
[0001]本发明涉及一种米用VLIW (Very long instruct1n word:超长指令字)结构(architecture)的 SIMD (single instruct1n multiple data:单指令多数据)处理器。
【背景技术】
[0002]能够与图像识别处理所需的宽范围的功能变更对应的图像处理器正在被开发。
[0003]例如,在专利文献I中公开了对使用亮度梯度柱状图(HOG (Histogram ofOriented Gradients:方向梯度直方图))执行图像识别处理的图像处理器。
[0004]在执行使用了这样的亮度梯度柱状图HOG的图像识别处理的情况下,例如,执行以下的(I)?(3 )的处理,由此,取得亮度梯度柱状图HOG。
[0005](I)按作为处理对象像素的每个注目像素(使注目像素的坐标为(X,y),将其像素值记为I (X,y)),利用dx Cx, y) = I (x + 1,y) — I (x — 1,y)算出注目像素和在左右与该注目像素相邻的像素之间的X方向上的梯度强度dx (X,y)。
[0006]此外,利用dy (X,y) = I (x,y + I) — I (x,y — I)算出注目像素和在上下与该注目像素相邻的像素之间的Y方向上的梯度强度dy (X,γ)。
[0007](2)接着,基于将Y方向上的梯度强度dy (x,y)除以X方向上的梯度强度dx (x,y)而取得的值,利用如下公式算出注目像素的梯度向量角度gradient (x,y),
gradient (x, y) = atan (dy (x,y)/dx (x,y)),atan O:反正切函数(arctan)。
[0008](3)然后,基于算出的梯度向量角度gradient (x,y)、dx (x,y)以及dy (x,y)的符号(正负)决定注目像素的梯度向量方向,基于所决定的梯度向量方向生成亮度柱状图。
[0009]例如,如图10所示那样,设定以π/4为单位分割成8个的空间(bin)BINO?7,决定包含注目像素的梯度向量方向的空间,对决定为包含在该空间的频率进行计数(累加)。将其对规定的图像区域(例如,由N像素XM像素(N、M:自然数)构成的图像区域)所包含的全部的像素执行,由此,取得该规定的图像区域的亮度梯度柱状图H0G。
[0010]图像处理处理器使用这样取得的亮度梯度柱状图HOG执行例如图像识别处理。
[0011]现有技术文献专利文献
专利文献1:日本特开2012 - 221131号公报。

【发明内容】

[0012]发明要解决的课题
在上述的取得亮度梯度柱状图HOG的处理中将例如图像中的全部像素作为处理对象来执行,所以,优选利用数据并行处理来执行处理。即,可以说这样的处理是面向SMD处理器的处理。
[0013]然而,在取得亮度梯度柱状图HOG的处理中,为了决定梯度向量方向,需要执行与梯度向量角度gradient (x,y)对应的条件分支处理。在利用SIMD处理器执行这样的条件分支处理的情况下,考虑使用条件标记来执行处理。由于在SMD处理器中各处理器元件(PE)只能执行相同的命令,所以,在需要根据数据值来变更处理内容的情况下,需要按每个处理器元件(PE)设定条件标记并且各处理器元件根据所设定的条件标记执行处理。S卩,在SMD处理器中,在使用条件标记进行条件分支处理的情况下,需要执行很多非常繁杂的处理,其结果是,运算处理效率降低。
[0014]为了解决这样的课题,在专利文献I的技术中追加专门执行取得亮度梯度柱状图HOG的处理的运算器(硬件),利用该运算器执行取得亮度梯度柱状图HOG的处理,由此,防止运算处理效率的降低。
[0015]然而,在专利文献I的技术中,亮度梯度柱状图HOG的空间数以及各空间的范围(角度范围)被固定,不能使空间数或各空间的范围(角度范围)可变。此外,执行取得亮度梯度柱状图HOG的处理的运算器(硬件)被构成为该处理的专用电路,所以,不能使用于其它的用途。在专利文献I的技术中,例如,不能将在取得亮度梯度柱状图HOG的处理中使用的值域判断处理用的电路使用于在其它的用途中使用的值域判断处理。该值域判断处理多使用于图像处理或图像识别处理,所以,优选作为通用性高的硬件在SMD处理器内构成。
[0016]因此,鉴于上述课题,本发明的目的在于实现一种具有能够有效地执行多使用于图像处理以及图像识别的值域判断处理的硬件结构的SMD处理器。
[0017]用于解决课题的方案
为了解决上述课题,第I发明是具备命令控制部、寄存器堆(register file)部、条件寄存器部、命令执行部、第I寄存器、第2寄存器、选择器、控制信号生成部、第I比较部、第2比较部、综合部的SMD处理器。
[0018]命令控制部执行命令提取处理和命令解码处理,并且,生成用于执行规定的运算的值域控制信号、值域方向设定信号、第I等价控制信号、第2等价控制信号。
[0019]寄存器堆部具有包括保持源数据的寄存器的多个寄存器。
[0020]条件寄存器部能够存储条件标记,基于条件标记生成用于执行附条件运算的条件控制信号。
[0021]命令执行部具有包括值域判断运算单元的第I插槽。
[0022]而且,值域判断运算单元从寄存器堆部输入源数据。此外,值域判断运算单元具备第I寄存器、第2寄存器、选择器、控制信号生成部、第I比较部、第2比较部、综合部。
[0023]第I寄存器存储第I寄存器值。
[0024]第2寄存器存储第2寄存器值。
[0025]选择器根据值域控制信号来选择从寄存器堆部输入的源数据和第2寄存器值的任意一个。
[0026]控制信号生成部基于值域控制信号和值域方向设定信号生成第I比较控制信号、第2比较控制信号、综合控制信号。
[0027]第I比较部基于控制信号生成部生成的第I比较控制信号和第I等价控制信号对从选择器输出的值和第I寄存器值进行比较,取得比较结果作为第I比较数据。
[0028]第2比较部基于控制信号生成部生成的第2比较控制信号和第2等价控制信号对源数据和第2寄存器值进行比较,取得比较结果作为第2比较数据。
[0029]综合部基于综合控制信号对第I比较数据和第2比较数据进行综合,从而取得条件标记。
[0030]在值域控制信号是非激活的情况下,第I寄存器根据源数据来更新第I寄存器值。[0031 ] 条件寄存器部存储由综合部取得的条件标记。
[0032]在该SMD处理器中,在命令执行部的值域判断运算单元中具备能够保持两个值的第I寄存器和第2寄存器,能够使用该两个值和从寄存器堆部输入的源数据这3个值来灵活地设定决定值域判断处理的处理对象数据、值域判断处理的处理对象范围的两个边界值。
[0033]而且,在该SMD处理器中,在值域判断运算单元中具备两个比较部即第I比较部和第2比较部,能够根据值域控制信号、值域方向设定信号、第I等价控制信号、第2等价控制信号来灵活地变更比较对象数据和比较范围,能够将处理对象数据是否包含在设定的范围内的判定结果作为条件标记CF进行输出。
[0034]进而,在该SMD处理器中,对于第I寄存器的第I寄存器值来说,在值域控制信号是非激活的情况下,根据源数据来更新第I寄存器值,因此,还能容易地按每一个周期变更值域判断处理的范围。其结果是,在该SMD处理器中,例如,能够效率良好地执行柱状图算出处理的值域判断处理(处理对象数据是否包含于各空间的判断处理)。
[0035]因此,在该SMD处理器中,能够利用通用性高的硬件结构有效地执行在图像处理和图像识别中多采用的值域判断处理。
[0036]另外,“非激活”在正逻辑中是相当于“O”的值,在负逻辑中是相当于“I”的值。而且,“激活”在正逻辑中是相当于“I”的值,在负逻辑中是相当于“O”的值。
[0037]第2发明如第I发明,命令控制部在对命令执行部发出值域判断命令的情况下,对值域判断运算单元输出用于执行取得条件标记的处理的值域控制信号、值域方向设定信号、第I等价控制信号、第2等价控制信号,使值域判断运算单元执行取得条件标记的处理。
[0038]由此,在该SMD处理器中,命令控制部对命令执行部发出值域判断命令,从而能使值域判断运算单元执行取得条件标记的处理。
[0039]第3发明如第I或第2发明,
(I)在执行柱状图算出处理的情况下,即,在判断处理对象数据是否包含在柱状图算出用的规定的空间的范围的情况下,命令控制部将值域控制信号的信号值设定为“0”,选择器基于值域控制信号选择第2寄存器值。
[0040](2)在判断处理对象数据是否是由第I寄存器值和第2寄存器值规定的范围内的情况下,命令控制部将值域控制信号的信号值设定为“ I ”,选择器基于值域控制信号选择从寄存器堆部输入的源数据。
[0041]由此,在该SMD处理器中,设定值域控制信号的信号值,由此,能够用相同的硬件结构来执行以下两个处理:(1)如柱状图算出处理的值域判断处理那样,按每个周期变更值域判断处理的范围的处理;(2)在固定期间使值域判断处理的范围固定而执行的值域判断处理。
[0042]另外,信号值的是逻辑值,例如通过以下方式实现,S卩,在正逻辑中,将规定的电平以上的信号(H信号)与“I”对应,将小于规定的电平的信号(L信号)与“O”对应,或者,在负逻辑中,将规定的电平以上的信号(H信号)与“O”对应,将小于规定的电平的信号(L信号)与“I”对应。
[0043]第4发明如第I至第3的任意一个的发明,在执行柱状图算出处理的情况下,即,在判断处理对象数据是否包含在用于进行柱状图算出的规定的空间的范围的情况下,
(1)在处理对象数据为空间的范围内时,命令控制部将值域方向设定信号的信号值设定为“0”,使得条件标记的值被设定为“ I ”,
(2)在处理对象数据为空间的范围外时,命令控制部将值域方向设定信号的信号值设定为“ I ”,使得条件标记的值被设定为“ I ”。
[0044]由此,在该SMD处理器中,能够根据值域方向设定信号的信号值来选择是在处理对象数据为范围内时使条件标记的值为“I”或者是在处理对象数据为范围外时使条件标记的值为“I”。
[0045]第5发明如第I至第4的任意一个的发明,
(I)在由命令控制部生成的第I等价控制信号的信号值被设定为“I”的情况下,在针对处理对象数据的值域判断处理中,在处理对象数据与规定值域判断处理的范围的两个边界值中的作为小的一方的值的第I边界值相等的情况下,值域判断运算单元使条件标记的值为“I”进行输出。
[0046](2)在由命令控制部生成的第2等价控制信号的信号值被设定为“I”的情况下,在针对处理对象数据的值域判断处理中,在处理对象数据与规定值域判断处理的范围的两个边界值中的作为大的一方的值的第2边界值相等的情况下,值域判断运算单元使条件标记的值为“I”进行输出。
[0047]由此,在该SMD处理器中,能够根据第I等价控制信号和/或第2等价控制信号,设定是否在处理对象数据与规定值域判断处理的范围的边界值相等的情况下使条件标记为“I”进行输出。
[0048]第6发明如第I至第5的任意一个的发明,控制信号生成部
(1)在值域控制信号的信号值为“I ”且值域方向设定信号的信号值为“ I ”的情况下,使第I比较控制信号的信号值设为“1”,在除此以外的情况下,使第I比较控制信号的信号值为 “0”,
(2)在值域控制信号的信号值为“I”且值域方向设定信号的信号值为“O”的情况下,使第2比较控制信号的信号值为“1”,在除此以外的情况下,使第2比较控制信号的信号值为“0”,
(3)在值域控制信号的信号值为“I”且值域方向设定信号的信号值为“I”的情况下,使综合控制信号的信号值为“1”,在除此以外的情况下,使综合控制信号的信号值设为“O”。
[0049]由此,在该SMD处理器中,能实现根据上述条件来生成各种控制信号的控制信号发生部。
[0050]第7发明如第6发明,第I比较部进行以下的处理。
[0051](I)第I比较部在第I比较控制信号的信号值为“O”且第I等价控制信号的信号值为“O”的情况下,在输入到第I比较部的第I输入数据Dinll和第2输入数据Dinl2为Dinll>Dinl2时,使来自第I比较部的输出数据Dlout为“ I”进行输出,在Dinll ^ Dinl2时,使来自第I比较部的输出数据Dlout为“O”进行输出。
[0052](2)第I比较部在第I比较控制信号的信号值为“O”且第I等价控制信号的信号值为“I”的情况下,在输入到第I比较部的第I输入数据Dinll和第2输入数据Dinl2为Dinll彡Dinl2时,使来自第I比较部的输出数据Dlout为“ I”进行输出,在Dinll〈Dinl2时,使来自第I比较部的输出数据Dlout为“O”进行输出。
[0053](3)第I比较部在第I比较控制信号的信号值为“I”且第I等价控制信号的信号值为“O”的情况下,在输入到第I比较部的第I输入数据Dinll和第2输入数据Dinl2为Dinll〈Dinl2时,使来自第I比较部的输出数据Dlout设为“I”进行输出,在Dinll彡Dinl2时,使来自第I比较部的输出数据Dlout为“O”进行输出。
[0054](4)第I比较部在第I比较控制信号的信号值为“I”且第I等价控制信号的信号值为“I”的情况下,在输入到第I比较部的第I输入数据Dinll和第2输入数据Dinl2为Dinll ( Dinl2时,使来自第I比较部的输出数据Dlout为“ I”进行输出,在Dinll>Dinl2时,使来自第I比较部的输出数据Dlout为“O”进行输出。
[0055]由此,在该SMD处理器中,能够实现根据上述条件来生成表示比较结果的信号的第I比较部。
[0056]第8发明如第6或第7发明,第2比较部进行以下的处理。
[0057](I)第2比较部在第2比较控制信号的信号值为“O”且第2等价控制信号的信号值为“O”的情况下,在输入到第2比较部的第I输入数据Din21和第2输入数据Din22为Din21>Din22时,使来自第2比较部的输出数据D2out为“ I”进行输出,在Din21 ( Din22时,使来自第2比较部的输出数据D2out为“O”进行输出。
[0058](2)第2比较部在第2比较控制信号的信号值为“O”且第2等价控制信号的信号值为“I”的情况下,在输入到第2比较部的第I输入数据Din21和第2输入数据Din22为Din21彡Din22时,使来自第2比较部的输出数据D2out为“ I ”进行输出,在Din21〈Din22时,使来自第2比较部的输出数据D2out为“O”进行输出。
[0059](3)第2比较部在第2比较控制信号的信号值为“I”且第2等价控制信号的信号值为“O”的情况下,在输入到第2比较部的第I输入数据Din21和第2输入数据Din22为Din21〈Din22时,使来自第2比较部的输出数据D2out为“ I”进行输出,在Din21彡Din22时,使来自第2比较部的输出数据D2out为“O”进行输出。
[0060](4)第2比较部在第I比较控制信号的信号值为“I”且第2等价控制信号的信号值为“I”的情况下,在输入到第2比较部的第I输入数据Din21和第2输入数据Din22为Din21 ( Din22时,使来自第2比较部的输出数据D2out为“ I”进行输出,在Din21>Din22时,使来自第2比较部的输出数据D2out为“O”进行输出。
[0061]由此,在该SMD处理器中,能够实现根据上述条件来生成表示比较结果的信号的第2比较部。
[0062]第9发明如第6至第8的任意一个的发明,综合部具备“与”门、“或”门、第2选择器。
[0063]“与”门将来自第I比较部的输出和来自第2比较部的输出作为输入,取来自第I比较部的输出和来自第2比较部的输出的逻辑积。
[0064]“或”
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1