CN101416216A - 并行图像处理系统控制方法和设备 - Google Patents
并行图像处理系统控制方法和设备 Download PDFInfo
- Publication number
- CN101416216A CN101416216A CNA2006800541190A CN200680054119A CN101416216A CN 101416216 A CN101416216 A CN 101416216A CN A2006800541190 A CNA2006800541190 A CN A2006800541190A CN 200680054119 A CN200680054119 A CN 200680054119A CN 101416216 A CN101416216 A CN 101416216A
- Authority
- CN
- China
- Prior art keywords
- operation code
- order
- element processor
- processed
- repeating
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims description 59
- 238000006243 chemical reaction Methods 0.000 claims abstract description 90
- 238000013519 translation Methods 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 3
- 230000003252 repetitive effect Effects 0.000 abstract description 4
- 230000003044 adaptive effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 45
- 238000003860 storage Methods 0.000 description 28
- 238000004364 calculation method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 13
- 238000003491 array Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Image Processing (AREA)
Abstract
[问题]为了减少当在具有比沿要处理图像宽度方向的像素数量少的数量的PE的一维SIMD并行图像处理系统中处理整个图像时所需要的程序代码数量。[解决问题的手段]用于控制PE阵列1的控制器2包括命令重复执行部分22,所述命令重复执行部分22包括操作数转换部分221、存储器地址转换部分222以及操作代码转换部分223。当命令读取/解码部分21读取和执行存储在程序存储器3中的程序代码时,所述重复执行部分22确定程序代码以使操作数转换部分221、存储器地址转换部分222以及操作代码转换部分223根据命令执行转换,从而重复执行适配于分配至PE的多个相关像素的一个命令程序描述,因而可以减少程序代码量。
Description
技术领域
本发明涉及并行图像处理系统,更具体地,涉及包括一维SIMD(单指令多数据)处理器阵列结构的并行图像处理系统的控制方法和设备。
背景技术
在日本专利公开号2839026(专利文件1)和日本待审专利公开号2002-7359(专利文件2)中公开了传统并行图像处理系统的一个示例。通过PE阵列和用于控制所述PE阵列的控制器配置传统并行图像处理系统,在所述PE阵列中,大量计算元件处理器(处理器元件,以下称为“PE”)一维并行连接。每个PE具有如下配置:计算部分(ALU),用于执行计算过程;本地存储器,用于存储要处理的图像的本地像素值;以及寄存器,用于保存临时计算结果。
当针对存储在本地存储器的要处理的图像的特定行执行某种计算时,具有这种配置的传统并行图像处理系统从与本地存储器的特定行相对应的地址中读取像素值,并将该像素值存储在寄存器中。然后,读出存储在寄存器中的像素值,在ALU中执行计算,以及在寄存器中存储计算结果。将在寄存器中存储的计算结果存储在本地存储器的特定行中。当在计算中需要位于要处理的像素外围的像素值时,使用PE间的数据转移单元收集必要的像素值,并执行计算。
日本待审专利公开号2004-362086(专利文件3)公开了一种SIMD并行处理系统,所述系统具有根据PE的并行性自动执行PE命令的重复执行、以在系统在要处理的图像中不具有最佳数量的PE的情况下提高程序效率的功能。在并行处理系统中,根据程序指示的并行信息以及SIMD计算器的并行信息计算重复执行的数量、以及根据系统PE的数量实现将PE命令自动重复执行必要的次数。
专利文件1:日本专利公开号2839026(例如图1,段落0008)
专利文件2:日本待审专利公开号2002-7359(例如图1,段落0014至0016)
专利文件3:日本待审专利公开号2004-362086(例如段落0011至0021,图1)
发明内容
本发明要解决的问题
然而,在传统的并行图像处理系统中,不考虑在PE的数量小于沿要处理的图像的宽度方向的像素数量、以及将多个像素分配至每个PE以执行在存储器上设置像素以及通过PE自动获取数据的过程的情况下的像素在存储器上的设置以及通过PE获取数据的自动化。
在专利文件3描述的系统中,重复地执行相同的命令或相同的子程序,但是在这种简单的重复执行中不能够使包括与相邻PE进行通信的过程自动化。为了实现需要相邻像素值的过程,有必要添加与在相同的PE还是在相邻的PE中分配必要的相邻像素值相对应的特定过程,以及程序代码数量增加。
本发明的目的是提供新颖的并行图像处理系统及其控制方法,实现需要相邻像素值的过程的自动化。
本发明的另一个目的是提供图像处理系统的控制方法和设备,以能够以与具有沿要处理的图像宽度方向的像素数量相同数量的PE的一维SIMD并行图像处理系统相同程度的程序代码量(甚至在需要相邻像素值的过程中),针对整个图像执行图像处理。
用于解决问题的方式
本发明涉及并行图像处理系统的控制方法,所述系统具有比要处理的数据条数少的数量的元件处理器,每个元件处理器处理多条要处理的数据;所述方法包括根据分配至元件处理器的要处理的数据条数,自动重复执行命令;当重复执行预定命令时,根据在各个重复执行期间要处理的数据来替换操作代码;以及通过所替换的操作代码控制元件处理器。
根据本发明的一个示例性实施例,本发明涉及并行图像处理系统的控制方法,所述系统包括具有比沿要处理的图像的宽度方向的像素数量少的数量的元件处理器,每个元件处理器处理多个像素;所述方法包括根据分配至元件处理器的像素数量,自动重复执行命令;其中当重复地执行相邻像素值获取命令时,根据要处理的像素位置,利用用于从相邻元件处理器转移像素值的命令和用于获取自有元件处理器上的像素值的命令的组合来替换操作代码;以及通过所替换的操作代码控制元件处理器。
此外,根据分配至每个元件处理器的像素数量划分寄存器组用于使用,以及重写操作数以在重复执行中切换要使用的寄存器组;以及在存储器访问命令的重复执行中,将与分配至元件处理器的像素数量相对应的偏移值加至地址上。
根据本发明的一个示例的并行图像处理系统包括:在用于根据程序控制PE阵列控制器中,用于根据分配至每个PE的像素的数量自动执行程序中每个命令的重复执行的设备;以及还包括用于转换要重复执行的命令中的操作数的设备;用于转换要重复执行的命令中的存储器访问中的地址的设备;以及用于在重复执行中根据分配至每个PE的多个像素中的像素位置转换操作代码的设备。
利用这样的配置,可以通过针对分配至每个PE的要处理的多个像素自动执行程序中所描述的一个命令、以及执行操作代码转换来实现需要相邻像素值的过程的自动化,由此,可以以与具有沿要处理的图像宽度方向的像素数量相同数量的PE的一维SIMD并行图像处理系统相同程度的程序代码量,针对整个图像执行图像处理。
本发明的有益效果
如上所描述的,根据本发明,根据分配至元件处理器的要处理的数据条数,自动地重复执行命令,当重复执行预定命令时,根据在各个重复执行期间要处理的数据,替换操作代码;以及通过所替换的操作代码控制元件处理器。因而,可以在需要利用依据要执行的像素位置的不同操作而被执行的周围像素值获取命令等中,执行考虑了像素位置的命令转换,以及可以利用少量的程序代码实现需要相邻像素值的过程的自动化。
在具有比沿要处理的图像的宽度方向的像素数量少的PE数量的一维SIMD图像处理系统中,可以根据设置在控制器中的重复执行设备、转换操作数的设备、以及转换存储器地址的设备,仅利用针对一个像素的命令的程序描述来自动进行重复执行,此外,通过转换操作代码,可以实现需要相邻像素值的过程的自动化,以及可以执行针对整个图像的图像处理,而不增加程序代码量。
实施本发明的最佳方式
将在以下结合附图详细描述本发明的示例性实施例。
1.系统配置
图1是示出了根据本发明一个示例性实施例的并行图像处理系统的功能性配置的框图。根据示例性实施例的并行图像处理系统包括用于在每个图像处理中执行命令操作的PE阵列1,用于根据程序来控制PE阵列1的操作的控制器2,以及用于存储描述要执行的图像处理的程序的程序存储器3。
PE阵列1具有以下配置:其中对多个PE 10排阵列,并一维连接,以及每个PE被配置为执行相同程序的SIMD类型。注意为了避免复杂化在图1中仅示出了3个相邻PE。
每个PE包括本地存储器11、计算部分12、以及寄存器组13。可期望地,包含在PE阵列1中的PE 10的数量是沿要处理的图像宽度方向的像素数的整约数(integral submultiple)。这样可以分配给每个PE 10相同数量的像素。然而,即使不能满足整约数的条件,本发明也是可应用的,并且可以获得类似效果。
控制器2是用于控制PE阵列1的操作序列的单元,以及包括命令读取/解码部分21和重复执行部分22。重复执行部分22是用于根据针对控制器2执行的命令分配给每个PE的要处理的像素数量而进行重复执行的单元,以及包括操作数转换部分221、存储器地址转换部分222、操作代码转换部分223、重复执行计数器224、重复执行指定寄存器225、以及待处理图像高度寄存器226。
重复执行计数器224是使命令重复执行了重复执行部分22中的重复执行指定寄存器225的值所指定的次数时使用的计数器CR。重复执行指定寄存器225是当重复执行命令时用于指定和保持重复数量NR的寄存器,并且根据PE的数量与沿要处理的图像宽度方向的像素数量的比率,指定了重复的必要数量,即,分配至每个PE的要处理的像素的数量。待处理图像高度寄存器226是用于存储和保持沿要处理的图像高度方向的像素数量NH的寄存器,其中使用这种值计算在存储器访问命令的重复执行中存储要处理的图像的地址的偏移值。
1.1)PE阵列
PE阵列1将要处理的图像的像素分配至每个PE 10,并通过在每个中PE中并行操作相同的命令来执行图像处理操作。PE 10是用于存储和计算要处理的图像中所分配的像素值的元件处理器,并具有常规处理器的命令执行功能,并响应来自控制器2的控制信号执行命令操作。每个PE 10与相邻的PE 10连接以交换数据。
本地存储器11是在每个PE 10中单独设置并与计算部分12紧密连接的存储器,该本地存储器存储分配至每个PE的要处理的图像中的像素值、以及在处理的过程中存储计算结果等。分配至要处理的图像的每个PE的相应的像素值分别存储在具有沿要处理的图像的高度方向的像素数量的偏移的地址中。在这种情况下,地址偏移值,即,沿要处理的图像的高度方向的像素数量假定为Om。例如,如果将左端的像素值存储在地址A中,则分配至PE的像素值相应地存储在地址A、A+Om、A+2×Om、以及A+3×Om中。
计算部分12是用于执行寄存器组13的读/写命令、以及本地存储器11上的读/写命令、算术计算命令、逻辑计算命令等的单元,并且在图像处理中针对所分配的像素值执行计算等。
寄存器组13是在每个PE 10的计算部分12中单独设置的计算寄存器,以及存储在计算操作中成为输入的值和要输出的计算结果。给予每个寄存器从R(0)到R(寄存器数-1)的寄存器号。为了自动处理分配给每个PE 10的多个像素,将所包含的寄存器数除以所分配的像素数量用于使用。例如,如果将两个像素分配至每个PE 10,则寄存器组13的寄存器数除以2(即,前一半和后一半)用于使用,然而,如果将4个像素分配至每个PE 10,则寄存器组13的寄存器数除以4用于使用。
1.2)控制器
控制器2通过命令读取/解码部分21继续读取存储在程序存储器3中的程序,解译该程序并控制PE阵列1以进行图像处理。
命令读取/解码部分21是组成从程序存储器3中读取程序、解译操作代码和操作数、以及执行PE阵列1的控制的控制器2的核心部分的单元。将从程序存储器3读取的操作代码和操作数提供给重复执行部分22以确定重复执行。如果重复执行部分22确定重复执行,则停止后续程序的读取,直到完成指定数量的重复。使用根据重复执行部分22重复执行的每个步骤重写的操作代码和操作数,控制PE阵列1。
重复执行部分22确定命令读取/解码部分21输入的操作代码是否是要重复执行的命令,以及如果操作代码是目标代码,则使用重复执行计数器224,使重复操作执行由重复执行指定寄存器225所指定的次数NR。此外,指示命令读取/解码部分21停止来自程序存储器的后续命令的读取,直到终止所述重复执行。当执行重复操作时,根据重复执行指定寄存器225指定的次数NR(即分配至每个PE的要处理的像素数量)以及根据重复执行计数器224的值CR计算的要处理的像素组中的像素位置,通过操作数转换部分221、存储器地址转换部分222、以及操作代码转换部分223执行操作数、存储器地址、以及操作代码的转换。
1.3)操作数转换部分
操作数转换部分221是用于在重复执行期间根据要处理的像素位置,使用在寄存器组13中的部分转换寄存器号以切换寄存器的单元。通过从命令读取/解码部分21输入的操作代码确定命令是否需要操作数转换。如果操作数转换是必要的,则将PE阵列1的寄存器组13中的寄存器数除以存储在重复执行指定寄存器225中的重复执行数量NR,并将每个除过的寄存器数乘以存储在重复执行计数器224中的从0到(NR-1)的值,以获得在切换寄存器位置中使用的偏移值。
如果寄存器数不可被重复执行数量NR除尽,则省略小数点之后的数字从而产生整数值用于使用,然后又乘以重复执行寄存器224的值CR,以计算偏移值。将所计算的偏移值加至从命令读取/解码部分21输入的操作数(寄存器号)上以执行操作数转换,并将作为转换结果的操作数提供给命令读取/解码部分。
用于计算偏移值的设备可以包括使用除法器或乘法器的配置,或使用表格的配置。之后,将描述配置用于使用表格计算偏移值的操作数转换部分221。
图2是功能性示出了在根据示例性实施例的并行图像处理系统中操作数转换部分配置的框图。操作数转换部分221通过使用设置了重复执行指定寄存器值NR和重复执行计数器值CR作为密钥的偏移计算表来确定在寄存器号的转换中使用的偏移值。这里,为了响应重复执行指定寄存器225指定的重复执行次数,准备了可以响应一次(不进行重复执行)到四次的偏移值计算表221.1。
图2中的偏移计算表221.1描述寄存器数为N。确定操作代码是否是要转换操作数的命令(221.6),以及根据这个结果,选择(221.7)是输出当前输入的寄存器号、还是输出加上了(221.5)由偏移计算表221.1确定的偏移值的寄存器号。即,如果操作代码是要转换偏移值操作数的命令,则输出将所输入寄存器号和偏移计算表221.1确定的偏移值相加的结果,以及如果操作代码不是要转换操作数的命令,则输出当前输入的寄存器号。
操作数转换部分221具有当参照偏移计算表221.1时用于调整重复执行计数器值CR的计数器值调整部分。当进行相邻像素值获取命令的重复执行时,计数器值调整部分是必要的单元。当进行相邻像素值获取命令的重复执行时,根据重复执行计数器224的值CR,存在如下两种情况:一种情况是相邻的PE保持了必要的相邻像素值,并将像素值从相邻的PE转移(transfer)到自有(own)的PE,一种情况是自有的PE保持了必要的相邻像素值,并参照其寄存器号被偏移了的寄存器。在这种情况下,根据该命令是参照左侧还是右侧的像素值的命令、以及转移目的地是相邻PE还是自有PE,输入操作数中指定的寄存器号需要被偏移。
如图2所示,当参照偏移计算表221.1时,替换重复执行计数器值CR。根据操作代码确定计数器值CR的调整是否必要(221.2),如果有必要调整计数器值CR(221.3),则选择调整后的结果(221.4),并参照偏移计算表221.1。如果计数器值CR的调整没有必要,则选择所输入的计数器值CR(221.4),并参照偏移计算表221.1。
1.4)存储器地址转换部分
存储器地址转换部分222是用于当重复执行存储器访问命令时转换要访问的地址的单元。如果从命令读取/解码部分21输入的操作代码是本地存储器11的读/写命令,则执行将通过将待处理图像高度寄存器226的值NH与重复执行计数器224的值CR相乘获得的值加至输入地址上的地址转换,并将所转换的地址提供至命令读取/解码部分21。
1.5)操作代码转换部分
操作代码转换部分223是当执行左/右相邻的像素值的获取命令(其中需要根据在重复执行中待执行的像素位置来执行不同的操作)时,用于转换要在PE阵列中执行的操作代码的单元。如果从命令读取/解码部分21输入的操作代码是左/右相邻的像素值的获取命令,则通过重复执行计数器224和重复执行指定寄存器225的值CR和NR计算分配至像素的每个PE的多个像素中的像素位置(即当前执行目标),确定要获得的相邻像素值是保持在其自有PE的寄存器中还是保持在相邻PE的寄存器中,以及将被转换以从该像素的PE寄存器读取的操作代码或从右边相邻PE转移的寄存器值转发到命令读取/解码部分21。
2.操作
图3是示出了根据示例性实施例的并行图像处理系统的整体操作的流程图。命令读取/解码部分21从存储在程序存储器3中的程序中读取地址的程序代码以便执行,并将其提供给重复执行部分22(步骤A1)。重复执行部分22确定所提供的程序代码的操作代码是否是要重复执行的命令(步骤A2)。如果确定不是要重复执行的命令(步骤A2中的否),则将程序代码不予改变地提供给命令读取/解码部分21,控制PE阵列1,并执行命令过程(步骤A3、A4)。
如果确定操作代码是要重复执行的命令(步骤A2中的是),则将重复执行计数器224的值CR初始化为零(步骤A5),以及将程序代码提供至操作数转换部分221、存储器地址转换部分222、以及操作代码转换部分223(步骤A6、A7、A8)。
命令读取/解码部分21接收操作数转换部分221、存储器地址转换部分222以及操作代码转换部分223转换的程序代码(步骤A9),对其进行解译以控制PE阵列1,并执行符合每个命令的过程(步骤A10)。
重复执行计数器224的值CR以1递增(步骤A11),并与重复执行指定寄存器225的值NR比较(步骤A12)。如果重复执行计数器224的值CR小于重复执行指定寄存器225的值NR(步骤A12的否),则过程返回步骤A6、A7和A8,并进行重复执行。在重复执行计数器224的值CR等于重复执行指定寄存器225的值NR时(步骤A12中的是),则过程进行至程序代码的下一个过程,确定针对所输入的程序代码的一个步骤结束必要的重复执行数量。
将在以下详细操作数转换部分221、存储器地址转换部分222和操作代码转换部分223执行的步骤A6、A7、和A8。
2.1)操作数转换
图4是示出了根据示例性实施例的并行图像处理系统的操作数转换操作的流程图。操作数转换部分221确定要成为包含在从命令读取/解码部分21输入的程序代码中的输入源以及输出目的地的每个操作数是否要通过操作代码和操作数位置转换(步骤B1)。如果不转换操作数(步骤B1中的否),则不执行转换,以及照原样输出所输入的寄存器号。
如果要转换操作数(步骤B1中的是),则确定操作代码是否是相邻像素值的获取命令(步骤B2)。如上所述,当重复执行相邻像素值获取命令时,根据重复执行计数器224的值CR,存在如下两种情况:一种情况是通过相邻PE保持要获得的相邻像素值,并将像素值从相邻PE转移到自有PE,一种情况是通过自有PE保持要获取的要获取的相邻像素值,并参照其寄存器号被偏移了的寄存器。在这种情况下,由于需要根据命令是参照左侧还是右侧的像素值的命令、以及转移源是相邻PE还是自有PE,对所输入的操作数中指定的寄存器号进行偏移,所以当参照偏移计算表时需要执行替代重复执行计数器值CR的过程。如果操作代码是相邻像素值的获取命令(步骤B2中的是),则确定操作代码是用于获取左侧相邻像素值的命令、或用于获取右侧相邻像素值的命令(步骤B3)。
如果操作代码是用于获取右侧相邻像素值的命令,则参照自有PE的寄存器,以及如果(重复执行计数器值CR)小于(重复执行指定寄存器值NR-1),则不执行计数器值调整。如果(重复执行计数器值CR)等于(重复执行指定寄存器值NR-1),则参照将像素保持在右侧相邻PE的左端的寄存器,在这种情况下,将所输入的重复执行计数器值CR调整(转换)为0(步骤B4)。
如果操作代码是用于获取左侧相邻像素值的命令,则参照自有PE的寄存器,以及如果(重复执行计数器值CR)大于0,则不执行计数器值调整。如果(重复执行计数器值CR)等于0,则参照左侧相邻PE的寄存器,但是参照成为左侧相邻PE保持的像素右端的寄存器值,因而将所输入的重复执行计数器值CR调整(转换)为(重复执行指定寄存器值NR-1)(步骤B5)。
其后,利用调整为必要密钥的重复执行指定寄存器225的值NR和重复执行计数器224的值CR参照偏移计算表221.1,以及确定操作数的偏移值(步骤B6)。将偏移值加至所输入的寄存器号的结果输出作为操作数转换结果(步骤B7)。
2.2)存储器地址转换
图5是示出了根据示例性实施例的并行图像处理系统的存储器地址转换操作的流程图。存储器地址转换部分222确定所输入的操作代码是否是成为存储器地址转换目标的存储器读取命令/存储器写入命令等(步骤C1)。
如果所输入的操作代码是要转换的命令(步骤C1中的是),则将通过重复执行计数器224的值CR与待处理图像高度寄存器226的值NH相乘获得的值计算为存储器地址的偏移值(步骤C2)。将其中所计算的偏移值加至所输入的存储器地址上的值输出作为所转换的存储器地址(步骤C3)。如果所输入的操作代码不是要转换的命令(步骤C1中的否),则不执行转换且照原样输出地址。
2.3)操作代码转换
图6是示出了根据示例性实施例的并行图像处理系统的操作代码转换操作的流程图。操作代码转换部分223确定从命令读取/解码部分21输入的操作代码是否是要转换的左/右相邻像素值的获取命令(步骤D1)。
当所输入的操作代码是左/右相邻像素值的获取命令时(步骤D1中的是),根据操作代码是右侧相邻像素值获取命令还是左侧相邻像素值获取命令来执行下列操作(步骤D2)。
如果操作代码是用于获取右侧相邻像素值的命令,则如果重复执行计数器值CR小于(重复执行指定寄存器值NR-1),则参照自有PE的寄存器,因而将相同PE中的寄存器间移动命令输出作为转换后的操作代码。如果重复执行计数器值CR等于(重复执行指定寄存器值NR-1),则参照在右侧相邻PE的左端保持像素的寄存器,因而照原样输出用于转移右侧相邻PE的寄存器值的命令,即所输入的操作代码(步骤D3)。
当操作代码是用于获取左侧相邻像素值的命令时,如果重复执行计数器值CR大于0,则参照自有PE的寄存器,因而将相同PE中的寄存器间移动命令输出作为转换后的操作代码。如果重复执行计数器值CR等于0,则参照保持左侧相邻PE的寄存器,因而照原样输出用于转移左侧相邻PE的寄存器值的命令,即所输入的操作代码(步骤D4)。
当所输入的操作代码不是左/右相邻像素值的获取命令时(步骤D1中的否),不执行操作代码转换,并照原样将操作代码输出至命令读取/解码部分21。
3.效果
如上所述,根据示例性实施例,当命令读取/解码部分21针对从程序存储器3读取的程序代码的一个命令进行解译/执行时,通过重复执行部分22执行与多个命令相对应的PE阵列控制。因而,利用一个命令描述分配至每个像素PE的多个像素的过程,由此可以减少程序代码的数量。
由于操作代码转换部分223设置在重复执行部分22中,所以可以在需要相邻左/右像素值交换的过程中,在一个命令中共同描述需要不同命令的操作,即,当在一个PE中分配多个像素时所需要的相邻PE间的转移操作、以及使用在自有PE中保持的像素值的操作。相应地,可以进一步减少程序代码的数量,以及在不改变程序的情况下可以容易地实现在具有不同数量的PE的SMID并行图像处理系统上的图像处理。
示例
现在将描述根据本发明的一个示例的并行图像处理系统的操作。作为一个示例的是这样的并行图像系统,其中在具有256像素宽×256像素高的要处理的图像上使用PE阵列1,在该PE阵列1中一维排列了128个(这是宽度方向上像素数量的一半)PE。
图7是示出了根据本发明一个示例的用于操作并行图像处理系统的程序的一个示例的视图。在该示例中,示出了获取具有每个像素相邻侧的像素值的差的绝对值的过程。在该示例中,每个PE假定包括36个寄存器。由于PE的数量是沿要处理的图像宽度方向的像素数量的一半,所以将每两个像素分配至每个PE。因而,在程序执行之前,将NR=2存储在重复执行指定寄存器225中,以及通过分成R(0)至R(17)和R(18)至R(35)两组来使用寄存器组13。
将要处理的图像存储在从MEM1地址起的本地存储器11中。在本示例中,以分配至每个PE的两个像素执行过程,因而将这两个像素存储在具有偏移256(这是沿高度方向的像素数量)的地址中。对于分配至PE的图像,从地址MEM1地址至地址(MEM1+255)存储了左侧的像素值,以及从加上了偏移值256的地址(MEM1+256)至地址(MEM1+511)存储了右侧的像素值。因而,将256(这是沿要处理的图像的高度方向的像素数量)存储在待处理图像高度寄存器226中。将所处理的结果图像存储在MEM2地址之后。
将参照图7示出的程序作为一个示例、也参照图3的流程图,描述本发明并行图像处理系统的操作。
首先,命令读取/解码部分21从程序存储器3读取第一行的程序代码(LD MEM1,R(0)),并将其提供至重复执行部分22(图3的步骤A1)。第一行程序代码的操作内容是读取在本地存储器11的地址MEM1中存储的值,以及将相同的值存储在寄存器R(0)中。由于程序代码的操作代码部分是存储器读取命令(LD),所以重复执行部分22将该存储器读取命令确定为要重复执行的命令,以及将重复执行计数器224设置为0(步骤A5)。
然后将程序代码提供至操作数转换部分221、存储器地址转换部分222、以及操作代码转换部分223。操作数转换部分221参照重复执行指定寄存器225和重复执行计数器224的值NR和CR,并从偏移值计算表221.1获取0作为偏移值。通过将该偏移值加至所输入的寄存器号0上,然后获取结果“0”,并将结果0提供至命令读取/解码部分21作为所转换的寄存器号(步骤A6)。存储器地址转换部分222参照重复执行计数器224的值CR,并且由于值CR是0,故在不执行转换的情况下将存储器地址MEM1提供至命令读取/解码部分21(步骤A7)。由于所输入的操作代码是存储器读取命令(LD)而不是需要操作代码转换的左/右相邻像素值的获取命令,所以操作代码转换部分223不执行操作代码转换,并照原样将所输入的操作代码提供至命令读取/解码部分21(步骤A8)。命令读取/解码部分21基于从重复执行部分22输入的操作代码、存储器地址、以及操作数来操作PE阵列1,并将本地存储器11的地址MEM1的内容存储在寄存器R(0)中(步骤A9、A10)。
接下来,重复执行部分22将重复执行计数器224的值CR增加1,且将值CR设置为1(步骤A11)。之后,将重复执行计数器224的值CR=1与重复执行指定寄存器225的值NR=2相比较,确定由于这些值不相同,所以不将所述执行重复必要的次数,并且过程返回操作数转换部分221、存储器地址转换部分222、以及操作代码转换部分223的执行(步骤A12)。
操作数转换部分221参照重复执行指定寄存器225和重复执行计数器224的值NR和CR,以及从偏移计算表221.1中获得18作为偏移值。通过将该偏移值加至所输入的寄存器号0,然后获得结果“18”,以及将结果“18”提供给命令读取/解码部分21作为转换后的寄存器号(步骤A6)。由于重复执行计数器224的值是1,所以存储器地址转换部分222将给存储器地址MEM1添加了偏移256的地址(MEM1+256)提供至命令读取/解码部分21(步骤A7)。由于所输入的操作代码是存储器读取命令(LD)而不是需要操作代码转换的左/右相邻像素值的获取命令,所以操作代码转换部分223不执行操作代码转换,并照原样将所输入的操作代码提供至命令读取/解码部分21(步骤A8)。命令读取/解码部分21基于从重复执行部分22输入的操作代码、存储器地址、以及操作数来操作PE阵列1,以及将本地存储器11的地址(MEM1+256)地址的内容存储在寄存器R(18)中(步骤A9、A10)。
然后,重复执行部分22将重复执行计数器224的值CR增加1,且将值CR设置为2(步骤A11)。之后,将重复执行计数器224的值CR与重复执行指定寄存器225指定的值NR相比较,以及由于值CR和NR相等,所以确定完成必要的重复执行,且与第一行的程序代码相对应的过程结束,以及过程进行至下一个命令过程(步骤A12)。
接下来,命令读取/解码部分21从程序存储器3读取第二行的程序代码(MVL R(0)R(1)),且将其提供至重复执行部分22(步骤A1)。第二行操作代码的操作内容是将与右侧像素相对应的寄存器R(0)的值存储在寄存器R(1)中。在将一个像素分配至一个PE的系统中,执行诸如将存储在右侧相邻PE的寄存器R(0)中的值转移至自有PE、并将该值存储在寄存器R(1)的操作,但是由于在本示例中,将两个像素分配至一个PE,所以右侧相邻PE不持续保持右侧像素,将相对于分配至PE的要处理像素的左侧像素的右侧像素的值存储在PE中的另一个寄存器中。因而,右侧像素值的获取操作分为两种类型,即,根据要处理的像素,在自有PE中读取寄存器值的操作,或将右侧相邻PE的寄存器R(0)转移至自有PE的操作。由于操作代码是右侧相邻像素值的转移命令,所以重复执行部分22将该操作代码确定为要重复执行的命令,并将重复执行计数器224的值设置为0,之后,操作该操作数转换部分221以及操作代码转换部分223(步骤A2、A5)。
操作数转换部分221针对程序代码中指定的输入源寄存器和输出目的地寄存器执行操作数转换过程(步骤A6)。由于所输入的操作代码是右侧相邻像值的获取命令(MVL),所以在输入源寄存器和输出目的地寄存器中执行不同的操作数操作。针对输入源寄存器,参照重复执行指定寄存器225和重复执行计数器224的值NR和CR,以及使用偏移计算表221.1获取18作为偏移值。通过将偏移值加至输入寄存器号0,然后获取结果“18”,以及将结果“18”提供至命令读取/解码部分21作为所转换的输入源寄存器号。针对输出目的地寄存器,通过在参照偏移计算表为0并执行偏移计算时调整重复执行计数器值CR,获取偏移值“0”,以及将偏移值“0”加至所输入的寄存器号1,因而获取结果“1”,然后将结果“1”提供值命令读取/解码部分21作为所转换的输出目的地寄存器号。
操作代码转换部分223确定右侧相邻像素值获取命令(MVL)是需要操作代码转换的命令,由于重复执行计数器224的值CR不等于(重复执行指定寄存器225的值NR-1),所以将命令(MVL)转换为相同PE中的寄存器间移动命令,以及将该命令提供至命令读取/解码部分21(步骤A8)。命令读取/解码部分21操作PE阵列1,以及将寄存器(18)的内容存储在寄存器R(1)中(步骤A9、A10)。
重复执行部分22将重复执行计数器224的值CR增加1,且将值CR设置至1(步骤A11)。之后,将重复执行计数器224的值CR=1与重复执行指定寄存器225指定的值NR=2相比较,以及由于这些值不同,所以确定没有完成必要的重复执行,以及过程返回操作数转换部分221和操作代码转换部分223的执行(步骤A12)。
由于操作代码是右侧相邻像素值的转移命令(MVL),以及重复执行计数器224的值CR等于(重复执行指定寄存器225的值NR-1),所以操作数转换部分221执行转换从而转移右侧PE的寄存器R(0)的内容。因而,针对输入源寄存器,通过在参照偏移计算表221.1为0并执行偏移计算时调整重复执行计数器值CR,获取偏移值“0”,以及将偏移值“0”加至所输入的输入源寄存器号0,因而获取结果“0”,然后将结果“0”提供至命令读取/解码部分21作为所转换的输入源寄存器号。针对输出目的地寄存器,执行类似于第一行的转换,根据重复执行指定寄存器225和重复执行计数器224的值NR和CR,通过使用偏移计算表221.1,获取偏移值“18”,以及将偏移值“18”加至所输入的输出目的地寄存器号1,因而获取结果“19”,然后将结果“19”提供值命令读取/解码部分21作为所转换的输出目的地寄存器号(步骤A6)。
尽管所输入的操作代码是要执行操作代码转换的命令,由于重复执行计数器224的值CR等于(重复执行指定寄存器225的值NR-1),所以操作代码转换部分223不执行转换,并将命令提供至命令读取/解码部分21(步骤A8)。命令读取/解码部分21操作PE阵列1,以及将右侧PE的寄存器R(0)的内容存储在寄存器R(19)中(步骤A9、A10)。
重复执行部分22将重复执行计数器224的值CR增加1,且将值CR设置为2(步骤A11)。该值与重复执行指定寄存器225中指定的值NR相同,因而确定终止必要的重复执行,与第二行的程序代码相对应的过程结束,以及过程进行至下一个命令过程(步骤A12)。
命令读取/解码部分21从程序存储器3读取第三行的程序代码(ABS R(0),R(1),R(2)),并将该程序代码提供至重复执行部分22。第三行程序代码的操作内容是计算寄存器R(0)和寄存器R(1)之间的差的绝对值,以及将计算结果存储在寄存器R(2)中。类似于第一行的情况,重复执行部分22针对指定输入源和指定输出目的地的操作数执行转换以执行重复操作,以及作为命令读取/解码部分21操作PE阵列1的事实的结果,将寄存器R(0)和R(1)之间的差的绝对值存储在寄存器R(2)中,以及将寄存器R(18)和R(19)之间的差的绝对值存储在寄存器R(20)中,以及过程进行至下一个命令过程。
命令读取/解码部分21读取第四行的程序代码(ST MEM2,R(2)),并将程序代码提供至重复执行部分22。第四行程序代码的操作内容是读取存储在寄存器R(2)中的值,以及将该值写入本地存储器11的地址MEM2。在重复执行部分22中执行类似于第一行的情况的存储器地址和操作数的转换,命令读取/解码部分21操作PE阵列1,以及将寄存器R(2)的值存储在本地存储器11的地址MEM2地址中,以及将寄存器R(20)的值存储在本地存储器11的地址(MEM2+256)地址中。
因此,在本示例中,由于通过重复执行部分22执行与两个命令相对应的PE阵列控制,所以相对于从程序存储器3读取的程序代码的一个命令,可以减少程序代码的数量。此外,由于在操作代码转换部分223的重复执行期间在部分循环中可以执行不同的命令,所以在与不能利用相同命令的重复执行进行处理的相邻像素的交换过程中也可以进行自动重复执行的操作,以及可以进一步减少程序代码量。
在本示例中描述了沿要处理的图像的宽度方向的像素数量与PE数量的比率是2:1的示例,但是比率不限于此,以及也可应用于沿要处理的图像的宽度方向的像素数量大于系统中PE数量(例如3:1,4:1,...,N:1)的情况。
工业应用
根据本发明,可以应用到具有视频图像、传感器图像等作为输入的图像处理设备、图像检查设备、以及图像识别设备。
[附图说明]
图1是示出了根据本发明一个示例性实施例的并行图像处理系统的功能性配置的框图。
图2是功能性示出了在根据示例性实施例的并行图像处理系统中的操作数转换部分配置的框图。
图3是示出了根据示例性实施例的并行图像处理系统的整体操作的流程图。
图4是示出了根据示例性实施例的并行图像处理系统的操作数转换操作的流程图。
图5是示出了根据示例性实施例的并行图像处理系统的存储器地址转换操作的流程图。
图6是示出了根据示例性实施例的并行图像处理系统的操作代码转换操作的流程图。
图7是示出了根据本发明一个示例的用于操作并行图像处理系统的程序的一个示例的视图。
[符号说明]
1 PE阵列
2 控制器
3 程序存储器
10 PE
11 本地存储器
12 计算部分
13 寄存器
21 命令读取/解码部分
22 重复执行部分
221 操作数转换部分
222 存储器地址转换部分
223 操作代码转换部分
224 重复执行计数器
225 重复执行指定寄存器
226 待处理图像高度寄存器
Claims (11)
1.一种具有比要处理的数据条数少的数量的元件处理器的并行图像处理系统的控制方法,每个元件处理器处理多条要处理的数据;所述方法包括:
根据分配至元件处理器的要处理的数据条数,自动重复执行命令;
当重复执行预定命令时,根据在各个重复执行期间要处理的数据来替换操作代码;以及
通过所替换的操作代码控制元件处理器。
2.如权利要求1所述的并行图像处理系统的控制方法,其中当处理作为处理数据的多个像素时,
根据分配至元件处理器的像素数量,自动重复执行命令;
当重复地执行相邻像素值获取命令时,根据要处理的像素的位置,利用用于从相邻元件处理器转移像素值的命令和用于获取自有元件处理器上的像素值的命令的组合,来替换操作代码;以及
通过所替换的操作代码控制元件处理器。
3.如权利要求2所述的并行图像处理系统的控制方法,其中
根据分配至每个元件处理器的像素数量,划分寄存器组以便使用,以及重写操作数,以在重复执行中切换要使用的寄存器组;以及
在存储器访问命令的重复执行中,将与分配至元件处理器的像素数量相对应的偏移值加至地址上。
4.一种具有比要处理的数据条数少的数量的元件处理器的并行图像处理系统的控制设备,每个元件处理器处理多条要处理的数据;所述设备包括:
重复执行装置,用于根据分配至元件处理器的要处理的数据条数,自动重复执行命令;其中
所述重复执行装置包括操作代码转换装置,用于当重复执行预定命令时,根据在各个重复执行期间要处理的数据来替换操作代码,以及通过所替换的操作代码控制所述元件处理器。
5.如权利要求4所述的并行图像处理系统的控制设备,其中当处理作为处理数据的多个像素时,
所述重复执行装置根据分配至所述元件处理器的像素数量,自动重复执行命令;以及
所述重复执行装置包括操作代码转换装置,用于当重复地执行相邻像素值获取命令时,根据要处理的像素的位置,利用用于从相邻元件处理器转移像素值的命令和用于获取自有元件处理器上的像素值的命令的组合,来替换操作代码,以及通过所替换的操作代码控制所述元件处理器。
6.如权利要求5所述的并行图像处理系统的控制设备,其中
所述元件处理器包括用于处理多个像素的一维处理器阵列结构;以及
所述一维处理器阵列结构是一维SIMD(单指令多数据)处理器阵列结构。
7.如权利要求6所述的并行图像处理系统的控制装置,其中所述重复执行装置还包括,
操作数转换装置,用于根据分配至每个元件处理器的像素数量划分寄存器组用于使用,以及重写操作数以在重复执行中切换要使用的寄存器组;以及
存储器地址转换装置,用于在存储器访问命令的重复执行中,将与分配至元件处理器的像素数量相对应的偏移值加至地址上。
8.一种具有比要处理的数据条数少的数量的元件处理器的并行图像处理系统,每个元件处理器处理多条要处理的数据;所述并行图像处理系统包括:
重复执行装置,用于根据分配至元件处理器的要处理的数据数量,自动重复执行命令;其中
所述重复执行装置包括操作代码转换装置,用于当重复执行预定命令时,根据在各个重复执行期间要处理的数据来替换操作代码,以及通过所述所替换的操作代码控制所述元件处理器。
9.如权利要求8所述的并行图像处理系统,其中当处理作为处理数据的多个像素时,
所述重复执行装置根据分配至所述元件处理器的像素数量,自动重复执行命令;以及
所述重复执行装置包括操作代码转换装置,用于当重复地执行相邻像素值获取命令时,根据要处理的像素位置,利用用于从相邻元件处理器转移像素值的命令和用于获取自有元件处理器上的像素值的命令的组合,来替换操作代码,以及通过所替换的操作代码控制所述元件处理器。
10.一种用于使配置了具有比要处理的数据量少的元件处理器的并行图像处理系统的计算机执行如下功能的程序,其中每个元件处理器处理多条要处理的数据:
根据分配至所述元件处理器的要处理的数据条数,自动重复执行命令;
当在重复执行步骤中重复执行预定命令时,根据在各个重复执行期间要处理的数据来替换操作代码,以及
通过所替换的操作代码控制所述元件处理器。
11.如权利要求10所述的程序,用于当处理作为处理数据的多个像素时,使计算机执行以下功能:
根据分配至所述元件处理器的像素数量,自动重复执行命令;
当在重复执行步骤中重复执行相邻像素值获取命令时,根据要处理的像素的位置,利用用于从相邻元件处理器转移像素值的命令和用于获取自有元件处理器上的像素值的命令的组合来替换操作代码;以及
通过所替换的操作代码控制所述元件处理器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006092831 | 2006-03-30 | ||
JP092831/2006 | 2006-03-30 | ||
PCT/JP2006/324213 WO2007116560A1 (ja) | 2006-03-30 | 2006-12-05 | 並列画像処理システムの制御方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101416216A true CN101416216A (zh) | 2009-04-22 |
CN101416216B CN101416216B (zh) | 2012-11-21 |
Family
ID=38580862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800541190A Expired - Fee Related CN101416216B (zh) | 2006-03-30 | 2006-12-05 | 并行图像处理系统控制方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8106912B2 (zh) |
EP (1) | EP2000973B1 (zh) |
JP (1) | JP5077579B2 (zh) |
KR (1) | KR20080100380A (zh) |
CN (1) | CN101416216B (zh) |
WO (1) | WO2007116560A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2464292A (en) | 2008-10-08 | 2010-04-14 | Advanced Risc Mach Ltd | SIMD processor circuit for performing iterative SIMD multiply-accumulate operations |
JP4901891B2 (ja) * | 2008-11-05 | 2012-03-21 | 株式会社東芝 | 画像処理プロセッサ |
US10733478B2 (en) * | 2016-08-31 | 2020-08-04 | Facebook, Inc. | Systems and methods for processing media content that depict objects |
CN110728364A (zh) * | 2018-07-17 | 2020-01-24 | 上海寒武纪信息科技有限公司 | 一种运算装置和运算方法 |
US11182160B1 (en) * | 2020-11-24 | 2021-11-23 | Nxp Usa, Inc. | Generating source and destination addresses for repeated accelerator instruction |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04291659A (ja) * | 1991-03-20 | 1992-10-15 | Hitachi Ltd | 並列コンピュータシステムおよびその動作方法 |
JP3223549B2 (ja) * | 1991-12-24 | 2001-10-29 | ソニー株式会社 | Simd型並列演算装置 |
JP2839026B1 (ja) | 1997-06-25 | 1998-12-16 | 日本電気株式会社 | 並列画像処理装置 |
KR100665485B1 (ko) * | 1997-12-08 | 2007-01-10 | 소니 가부시끼 가이샤 | 디지털 신호 처리 장치 및 디지털 신호 처리 방법 |
CN1338090A (zh) * | 1998-12-15 | 2002-02-27 | 因坦塞斯公司 | 使用编程的并行计算机实现图像处理功能和控制的数字摄像机 |
US7506136B2 (en) * | 1999-04-09 | 2009-03-17 | Clearspeed Technology Plc | Parallel data processing apparatus |
JP2002007359A (ja) | 2000-06-21 | 2002-01-11 | Sony Corp | Simd制御並列処理方法および装置 |
GB2377519B (en) * | 2001-02-14 | 2005-06-15 | Clearspeed Technology Ltd | Lookup engine |
JP4143302B2 (ja) | 2002-01-15 | 2008-09-03 | キヤノン株式会社 | 画像処理装置、画像処理方法、制御プログラム及び記録媒体 |
JP4136432B2 (ja) * | 2002-04-15 | 2008-08-20 | 松下電器産業株式会社 | 図形描画装置 |
AU2003241771A1 (en) * | 2002-05-28 | 2003-12-12 | Dai Nippon Printing Co., Ltd. | Parallel processing system |
JP2004362086A (ja) * | 2003-06-03 | 2004-12-24 | Matsushita Electric Ind Co Ltd | 情報処理装置および機械語プログラム変換装置 |
WO2005069215A1 (en) | 2004-01-14 | 2005-07-28 | Koninklijke Philips Electronics N.V. | Processor architecture |
WO2005109221A2 (en) * | 2004-05-03 | 2005-11-17 | Silicon Optix | A bit serial processing element for a simd array processor |
JP4478050B2 (ja) | 2005-03-18 | 2010-06-09 | 株式会社リコー | Simd型マイクロプロセッサ及びデータ処理方法 |
-
2006
- 2006-12-05 CN CN2006800541190A patent/CN101416216B/zh not_active Expired - Fee Related
- 2006-12-05 JP JP2008509691A patent/JP5077579B2/ja not_active Expired - Fee Related
- 2006-12-05 US US12/224,988 patent/US8106912B2/en not_active Expired - Fee Related
- 2006-12-05 EP EP06833968.8A patent/EP2000973B1/en not_active Not-in-force
- 2006-12-05 WO PCT/JP2006/324213 patent/WO2007116560A1/ja active Application Filing
- 2006-12-05 KR KR1020087023995A patent/KR20080100380A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
US20090106528A1 (en) | 2009-04-23 |
EP2000973A2 (en) | 2008-12-10 |
JP5077579B2 (ja) | 2012-11-21 |
KR20080100380A (ko) | 2008-11-17 |
CN101416216B (zh) | 2012-11-21 |
EP2000973A4 (en) | 2012-01-04 |
WO2007116560A1 (ja) | 2007-10-18 |
JPWO2007116560A1 (ja) | 2009-08-20 |
US8106912B2 (en) | 2012-01-31 |
EP2000973A9 (en) | 2009-03-04 |
EP2000973B1 (en) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102258414B1 (ko) | 처리 장치 및 처리 방법 | |
US10585621B2 (en) | Statically-schedulable feed and drain structure for systolic array architecture | |
CN111381880B (zh) | 一种处理器、介质和处理器的操作方法 | |
CN100410919C (zh) | 处理器 | |
EP3798823A1 (en) | Apparatuses, methods, and systems for instructions of a matrix operations accelerator | |
CN117724763A (zh) | 用于矩阵操作加速器的指令的装置、方法和系统 | |
CN111381939B (zh) | 多线程处理器中的寄存器文件 | |
CN101416216B (zh) | 并行图像处理系统控制方法和设备 | |
US11093439B2 (en) | Processor and control methods thereof for performing deep learning | |
CN115552371A (zh) | 用于矩阵处理的可变位置移位 | |
CN113366462A (zh) | 具有向量第一和多通道配置的向量处理器 | |
WO2016024508A1 (ja) | マルチプロセッサ装置 | |
EP3264261B1 (en) | Processor and control method of processor | |
US11481223B2 (en) | Reducing operations of sum-of-multiply-accumulate (SOMAC) instructions | |
US20230289287A1 (en) | Programmable Multi-Level Data Access Address Generator | |
US7783861B2 (en) | Data reallocation among PEs connected in both directions to respective PEs in adjacent blocks by selecting from inter-block and intra block transfers | |
CN112418417B (zh) | 基于simd技术的卷积神经网络加速装置及方法 | |
CN112074810A (zh) | 并行处理设备 | |
EP0363174A2 (en) | Branch on bit processing | |
CN115713104A (zh) | 用于神经网络的数据处理电路、神经网络电路和处理器 | |
CN101258480A (zh) | 具有分离串行模块的处理器阵列 | |
Vincze | Parallelization by vectorization in Fuzzy Rule Interpolation adapted to FRIQ-Learning | |
CN115552372A (zh) | 为矩阵处理掩蔽行或列位置 | |
US11416261B2 (en) | Group load register of a graph streaming processor | |
JP2010123083A (ja) | 相関処理装置及びその相関処理装置で読みとり可能な媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121121 Termination date: 20141205 |
|
EXPY | Termination of patent right or utility model |