CN102112983A - Simd并行处理器架构 - Google Patents
Simd并行处理器架构 Download PDFInfo
- Publication number
- CN102112983A CN102112983A CN2009801305396A CN200980130539A CN102112983A CN 102112983 A CN102112983 A CN 102112983A CN 2009801305396 A CN2009801305396 A CN 2009801305396A CN 200980130539 A CN200980130539 A CN 200980130539A CN 102112983 A CN102112983 A CN 102112983A
- Authority
- CN
- China
- Prior art keywords
- data
- access
- access means
- parallel processor
- storage part
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请描述了一种SIMD并行处理器,包括阵列,所述阵列包括处理元件、相关联的数据存储部件和配置成能够访问与至少一个处理元件相关联的至少一个数据存储部件的访问装置;控制处理器;存储器控制装置,配置成能够为控制处理器对至少一个访问装置寻址;以及连接装置,配置成连接存储器控制装置与访问装置。
Description
技术领域
本发明涉及用于单指令多数据(SIMD)并行处理器的处理器架构领域。
背景技术
在计算机图形处理领域中,通常必须实现高水平的数据并行。这是因为定期地需要在大数据集上执行相同或类似的操作。例如,可能需要针对计算机图形的每一个像素执行相同的一个操作或多个操作。在现代计算机图形高分辨率达数千甚至数百万像素并且要求避免滞后或延迟的情况下,并行并因此加快图形处理的优势变得显而易见。并行处理器的典型布局的特点在于单个的中央控制处理器和核(tiles)阵列的组合,每一个核包括固定数量的处理元件和移位寄存器以及与每一个处理元件或一组处理元件相关联的本地帧存储器。这些核通常级联排列,使得输入数据向下移动寄存器行,直到每一个核获得在其移位寄存器中的其输入数据的一部分。然后每一个处理元件对这些数据执行相同序列的指令操作,本地存储器用于存储中间和临时数据。每一个处理元件还可以定期访问相邻的处理元件的数据或相同核的处理元件的数据。一旦完成对数据集的处理,当前数据即现在的输出数据就向下移动该行至输出,并且新输入数据移入核的移位寄存器。中央控制处理器的作用是提供相同的指令给每一个处理元件,以控制移位操作并执行并行处理器的其他全局管理职能。
因为即使用于这个指令的数据不同,在每一个处理元件中也同时执行相同的指令,所以可能不容易操作现在由并行处理元件处理的单个像素的数据。然而,这样做可能在很多情况下是有利的,例如当在单个像素已知有缺陷或单个像素预先是其他特殊的方式时。对于标记或屏蔽目的能够针对单个像素更改数据也是有利的。例如,这特别与文本和子画面(sprites)有关,因为文本和子画面用于游戏应用。
因此,本发明的目的是提供一种并行处理器架构,允许针对单个像素操作数据。
发明内容
根据本发明,提供一种包括阵列的并行处理器,该并行处理器又包括处理元件、与处理部件相关联的数据存储部件和访问装置,该访问装置配置成能够对与至少一个处理元件相关联的至少一个数据存储部件进行访问。并行处理器还包括控制处理器。而且,并行处理器包括存储器控制装置,配置成对于控制处理器能够对至少一个访问装置寻址。而且,并行处理器包括连接装置,配置成连接存储器控制装置与访问装置。
此外,还描述了一种在并行处理器中访问单个像素的图像数据的方法,该并行处理器又包括处理元件和相关联的数据存储部件。该方法还包括通过连接至该数据存储部件的控制处理器对数据存储部件进行寻址。
该并行处理器可以是集成电路或集成电路的部分。该集成电路可以基于互补金属氧化物半导体(complementary metal-oxide-semiconductor)(CMOS)技术。具体地,该并行处理器可以是微控制器的一部分,该微控制器还包括其他部件,例如存储器、时钟或振荡器、输入或输出部件、用于通信协议的模块、无线通信接收机、模拟数字转换器和在集成电路上实现的其它部件。
并行处理器可以被包括在用于智能视觉、智能相机、计算机和视频游戏或者监控领域的设备中。并行处理器也可以包括在汽车中使用的设备中。
该阵列可以是一组任何数量的单个模块,该模块可能是或可能不是彼此相同的,每一个包括一个或更多个处理元件、数据存储部件和访问装置。该阵列包括的单个模块可以按顺序排列。具体地,它们可以按平铺图案(tile pattern)物理排列,尤其是按矩形平铺图案。每一个模块,除了第一和最后一个模块,都可以与前一模块连接并可以与后一模块连接。
每一个处理元件可以包括任何数量的运算逻辑单元(ALU)。每一个处理元件能够执行一个指令集,该指令集是基于指令集的精简指令集运算(RISC)。每一个处理元件可以包括累加器。
每一个数据存储部件可以包括寄存器、移位寄存器和存储器。每一个数据存储部件可能与一个或更多个处理元件相关联。处理元件可以访问与其相关联的数据存储部件,从数据存储部件读取数据并向数据存储部件写入数据。
根据本发明,访问装置配置成向位于包括这些访问装置的模块外部的实体(entity)提供对至少一个数据存储部件的访问。访问装置可以通过模块外部的实体进行寻址,用于提供对至少一个数据存储部件的写访问和读访问。根据本发明,访问装置配置成向控制处理器提供对至少一个数据存储部件的访问。
控制处理器可以是通用处理机(GPU)并可包括任何数量的ALU。控制处理器本身也可以是微控制器。控制处理器可以配置成为处理元件加载指令。控制处理器可以包括存储器,该存储器又包括将为处理元件加载的指令以及控制处理器本身的指令。控制处理器可以配置成控制向数据存储部件中的数据移位。控制处理器可以配置成控制从数据存储部件向外的数据移位。控制处理器可以包括用于输出和用于输入的接口。具体地,控制处理器可以包括集成电路问(inter-integrated circuit)(I2C)通信接口。
控制处理器所包括的存储器控制装置又可以包括通用存储器控制单元(GMCU),配置成接收来自控制处理器的地址输入。存储器控制装置还包括行存储器控制单元(RMCU)。GMCU可以根据接收的地址选择一个RMCU。RMCU可以配置成根据从GMCU接收的地址选择阵列中的一个访问装置。存储器控制装置可以配置成能够从控制处理器对数据存储部件进行读访问或写访问,访问装置提供对数据存储部件的读访问或写访问。
连接装置可以包括在存储器控制装置和阵列的访问装置之间的电连接。连接装置还可以包括多路复用器并包括用于在存储器控制装置和阵列的访问装置之间的连接的多路分配器。
通过并行处理器处理的数据可以是任何一种适合并行处理的数据。尤其是,通过并行处理器处理的数据可以是图像数据。该图像数据可以是任意数字表示类型和任意分辨率的数据。因此,图像数据可以是任意尺寸的。图像数据可以根据任意颜色模型编码。具体地,图像数据可以根据RGB颜色模型编码或者图像数据可以根据CMYK颜色模型编码。图像数据可以包括每个像素任意数量的比特。像素是图形图像中的一个单点。
访问装置可以配置成能够对数据存储部件单独寻址。因此,对单个数据存储部件寻址可能不会影响任何其它数据存储部件。
并行处理器可以配置成处理图像数据,并且因此访问装置可以配置成能够对数据存储部件中的单个像素的图像数据寻址。单个像素的图像数据可以存储在单个数据存储部件中,或者可以存储在任何数量的数据存储部件中。也可能是一个以上像素的图像数据存储在单个数据存储部件中。访问装置可以配置成能够在不影响不是这个像素的图像数据的情况下对该单个像素的整个图像数据进行寻址。
访问装置可以配置成能够对与至少一个处理元件相关联的至少一个数据存储部件进行读访问。因此,访问装置可以配置成针对阵列外部的实体,能够对与至少一个处理元件相关联的至少一个数据存储部件进行读访问。
访问装置可以配置为能够对与至少一个处理元件相关联的至少一个数据存储部件进行写访问。因此,访问装置可以配置成针对阵列外部的实体,能够对与至少一个处理元件相关联的至少一个数据存储部件进行写访问。
对至少一个数据存储部件的写访问可以包括至少一种写屏蔽模式。至少一种写屏蔽模式可以包括设置单独的比特并且清除其余的比特、和设置单独的比特并且其它比特保持不变中的至少一种。设置单独的比特并且清除其余的比特的写屏蔽模式在至少一个数据存储部件的地址处设置数据的一个或更多个比特。在至少一个数据存储部件的地址处可以存在任意数量的比特。在该地址的比特的任意比特集可以设置成与给定的比特数据的相应比特相同的值。在该地址处的比特的其余的比特被清除,即给定逻辑值为零。设置单独的比特并且其它比特保持不变的写屏蔽模式在至少一个数据存储部件的地址处设置数据的一个或更多个比特。在至少一个数据存储部件的地址处可以存在任意数量的比特。在该地址的比特的任意比特集可以设置成与给定的比特数据的相应比特相同的值。在该地址处的比特的其余的比特保持不变,即保持其目前的逻辑值。
数据存储部件可以包括移位寄存器和帧存储器。移位寄存器可以包括触发器,该触发器在包括数据存储部件的阵列中级联。可以有任意数量的移位寄存器,并且移位寄存器可以具有任意比特宽度。帧存储器可以具有任意比特宽度并且是可读可写的。存储器可以通过触发器、通过静态随机存取存储器(SRAM)、通过动态随机存取存储器(DRAM)或者通过任何其它类型的存储器来实现。
访问装置可以包括数据缓冲器。数据缓冲器也可以是高速缓存。数据缓冲器可以是任何尺寸的,并且可以通过触发器、通过SRAM、通过DRAM或者通过任何其它类型的存储器来实现。数据缓冲器可以包括写入缓冲器。数据缓冲器可以包括读取缓冲器。写入缓冲器可以暂时保持将写入数据存储部件的数据。读取缓冲器可以暂时保持从数据存储部件读取的数据。可以按照定期的间隔使数据缓冲器与数据存储部件一致,或者可以在必要时使数据缓冲器与数据存储部件一致。
访问装置可以配置成能够对数据缓冲器进行并行写访问和读访问。访问装置可以配置成针对阵列外部的实体,能够对数据缓冲器进行写访问,同时针对阵列外部的实体,能够对数据缓冲器进行读访问。
数据缓冲器可以配置成从数据缓冲器向帧存储器传输数据。数据缓冲器可以配置成从帧存储器向数据缓冲器传输数据。在帧存储器和数据缓冲器之间的数据传输可以采用8像素的数据粒度进行。
访问装置可以配置成能够对数据缓冲器进行写访问,该写访问可以是对帧存储器的遍写访问(write through access)。对数据缓冲器的遍写访问可能造成写入数据缓冲器的数据同时也写入帧存储器。
访问装置可以配置成能够对数据缓冲器进行读访问,该读访问可以是对帧存储器的遍读访问(read through access)。对数据缓冲器的遍读访问可能造成从帧存储器读取数据并同时更新在数据缓冲器中的读取数据。
包括处理元件、相关联的数据存储部件和访问装置的阵列可以包括在核元件阵列中,其中每一个核元件包括处理元件、数据存储部件和访问装置,该访问装置配置成能够对与核元件包括的至少一个处理元件相关联的至少一个数据存储部件进行访问。核元件是用于集成电路的一块布局,用于形成集成电路的一部分。核元件可以包括所布局的电路元件,例如晶体管。核元件可以包括给定数量和种类的处理元件、某个数量和种类的不同数据存储部件、和某个数量和种类的访问装置。核元件可以形成在集成电路中可以复制任意次数、并且具有适合与相邻的核互连元件的接口的可缩放块(scalable block)。
存储器控制装置可以配置成能够在数据缓冲器和帧存储器之间对于核元件的阵列并行传输数据。因此,控制处理器可以配置成利用存储器控制装置实现从适合的帧存储器向每个核元件中的每一个数据缓冲器同时进行数据传输。因此,控制处理器可以配置为同时对所有核元件进行寻址。因为对于每一个核元件传输是内部的,所以向所有核元件中的每一个数据缓冲器同时进行数据传输是可能的。
存储器控制装置可以配置成能够对核元件的阵列中的一行进行寻址。核元件可以布置成矩形图案,具有任意数量的列和行的核元件。存储器控制装置可以配置为能够对核元件的阵列中的一行同时进行寻址。对核元件的阵列中的一行同时进行寻址使得控制处理器对该行的核元件的数据缓冲器同时进行访问。
存储器控制装置和访问装置可以配置成用于行程编码(run-length encoding,RLE)和行程解码(run-length decoding)。通过采用RLE而获得较少量的比特按照编码形式表示给定数据比特,存储器控制装置可以减少给定数据比特的数量。存储器控制装置也可以对采用RLE编码的比特解码,以获得原始的给定数据比特。通过采用RLE而获得较少量的比特按照编码形式表示给定数据比特,访问装置可以减少给定数据比特的数量。访问装置可以对采用RLE编码的比特解码,以获得原始的给定数据比特。RLE和RLE编码比特的解码可以在存储器控制装置和访问装置中的硬件中实现。RLE可以减小在存储器控制装置和访问装置之间传输数据所需的带宽。
连接装置可以配置成传输行程编码数据。连接装置可以配置成从存储器控制装置向访问装置传输RLE数据。连接装置可以配置成从访问装置向存储器控制装置传输RLE数据。
并行处理器可以是单指令多数据(SIMD)处理器。处理元件可以各自对相应的不同数据同时执行相同的指令。由处理元件执行的指令可以由控制处理器来控制。对其执行指令的数据可以在移位寄存器和与相应的处理元件相关联的帧存储器中。
附图说明
图1是说明根据本发明的并行处理器的示意性框图。
图2是说明将根据本发明的并行处理器集成在图像处理系统中的示意性框图。
图3是说明在根据本发明的并行处理器中核元件的布置的示意性框图。
图4是说明根据本发明并行进行写访问和读访问的示意性框图。
图5是说明在根据本发明的并行处理器中的数据缓冲器的示意性框图。
具体实施方式
图1说明一个典型的并行处理器,在该并行处理器中,阵列1与控制处理器9相连。
阵列1包括处理元件25、27、29、31、33、35的阵列3、数据存储部件37、39、41、43、45、47的阵列5和访问装置49、51、53、55、57、59的阵列7。每一个数据存储部件37、39、41、43、45、47与处理元件25、27、29、31、33、35相关联。每一个访问装置49、51、53、55、57、59配置成能够对数据存储部件37、39、41、43、45、47之一进行访问。
访问装置49配置成能够对与处理元件25相关联的数据存储部件37进行访问。访问装置51配置成能够对与处理元件27相关联的数据存储部件39进行访问。访问装置53配置成能够对与处理元件29相关联的数据存储部件41进行访问。访问装置55配置成能够对与处理元件31相关联的数据存储部件43进行访问。访问装置57配置成能够对与处理元件33相关联的数据存储部件45进行访问。访问装置59配置成能够对与处理元件35相关联的数据存储部件47进行访问。
该典型的并行处理器还包括控制处理器9,目前是通用微控制器。控制处理器9与本地存储器83相连,并且还与存储器控制装置11相连。存储器控制装置11经由连接装置13与访问装置49、51、53、55、57、59相连。控制处理器9正在运行程序代码,并使用来自本地存储器83的数据,并且可以通过存储器地址访问对本地存储器83的任何部分进行直接寻址。根据本发明,控制处理器9也能够间接地通过访问装置49、51、53、55、57、59、存储器控制装置11和连接装置13对数据存储部件37、39、41、43、45、47的任何部分进行寻址。
根据控制处理器9采用的存储器地址,存储器控制装置11决定对数据存储部件37、39、41、43、45、47中的某一个进行访问。举例说明,控制处理器9采用存储器地址对数据存储部件39进行访问。然后,存储器控制装置11决定将使用访问装置51,并经由连接装置13选择访问装置51。举例说明,控制处理器9对数据存储部件39进行写操作访问。
然后,存储器控制装置11采用RLE对将要写入的数据进行编码,并且还使得RLE编码数据经由连接装置13传输至访问装置51。在连接装置13上传输RLE编码格式的数据,与传输未编码格式的数据相比使用的带宽更少。因此,配置成传输RLE编码格式的数据的连接装置13所需的布局区域,比配置成传输未编码格式的相同的数据的连接装置所需的布置区域更小。
访问装置51向数据存储部件39的适当部分写入数据。处理元件27现在能使用写入到数据存储部件39中的数据。
作为另一个示例,控制处理器9也可以对数据存储部件41执行读操作。然后,存储器控制装置决定将使用访问装置53,并且经由连接装置13选择访问装置53。然后,访问装置53从数据存储部件41的适当部分读取数据,并采用RLE对读取的数据进行编码。然后,RLE编码数据从访问装置53经由连接装置13传输至存储器控制装置11。在连接装置13上传输RLE编码格式的数据,与传输未编码格式的数据相比使用的带宽更少。存储器控制装置11将RLE编码数据解码,并传送解码的数据至控制处理器9。控制处理器9现在可以处理该数据,或将该数据写入本地存储器83。
例如,并行处理器可以用于图像处理。在每一个数据存储部件37、39、41、43、45、47中的数据可以与图像的单个像素的图像数据对应。然后,控制处理器9如描述的那样处理,以操作单个像素的图像数据。在例如已知单个像素的数据有缺陷以及需要改正或屏蔽时,这是有利的。屏蔽其数据有缺陷的像素可能必须设置该像素为预定值。例如,如果已知该像素有缺陷,这个有缺陷的像素可以设置为与黑色像素对应的值。代替地,有缺陷的像素可以设置为与从相邻像素的颜色插值的颜色对应的值。作为另一个可能性,如果相邻像素被确定是浅色,有缺陷的像素可以设置为与白色对应的值,如果相邻像素被确定是深色,有缺陷的像素可以设置为与黑色对应的值。
图2示意性示出根据本发明的并行处理器用于图像处理系统。
所说明的系统包括全局控制块85,该全局控制块85依次包括控制处理器9、存储器控制单元11和本地存储器83。全局控制块85具有包括通用输入接口77和通用输出接口79的外部接口,从通用输入接口77接收输入,采用通用输出接口79可以发送输出。全局控制块85还具有用于发送和接收数据的I2C通信接口81。
所说明的系统还包括输入输出(IO)移位寄存器67、帧存储器65、线性处理器阵列63、连接全局控制块85和帧存储器65的连接装置13、和配置为接收视频输入数据73的数据输入处理器69及配置为发送视频输出数据75的数据输出处理器71。
线性处理器阵列63由单个处理器的元件组成,也就是处理元件。线性处理器阵列63的每一个处理元件与帧存储器65的一部分和IO移位寄存器67的一部分相关联。当控制处理器9给出一个信号面开始处理新数据集时,视频输入数据73由数据输入处理器69接收并被移入IO移位寄存器67。IO移位寄存器67的移位也由控制处理器9控制。由数据输入处理器69接收的视频输入数据73被移入IO移位寄存器67,直到接收的视频输入数据73完全填满IO移位寄存器67。
然后,由控制处理器9开始处理IO移位寄存器67中的数据。线性处理器阵列63的元件全部执行由控制处理器9从本地存储器83提供的相同的指令。在这样做的同时,线性处理器阵列63的元件处理IO移位寄存器67中的数据和帧存储器65中的数据。中间结果由线性处理器阵列63的元件保存在帧存储器65中。线性处理器阵列63的每一个元件,即每一个处理元件,对相关联的帧存储器65的一部分以及相关联的IO移位寄存器67的一部分进行访问。并且,线性处理器阵列63的每一个元件对帧存储器65的部分和IO移位寄存器67的部分进行访问,线性处理器阵列63的前一个元件(即前一个处理元件)和线性处理器阵列63的后一个元件(即后一个处理元件)与该部分相关联。
在这个处理过程期间的任何时候,控制处理器9可以对具有图1中公开的装置的帧存储器65进行访问,其中在图2中仅示出了连接装置13。
当IO移位寄存器67中的数据处理完成时,控制处理器9停止由线性处理器阵列63的元件进行的数据处理。然后,在控制处理器9的控制下IO移位寄存器67中的数据移出IO移位寄存器67,并由数据输出处理器71作为视频输出数据75发送。同时,通过数据输入处理器69将下一组视频输入数据73移入IO移位寄存器67。
图3显示出包括核元件的阵列15的配置的阵列1,该阵列15经由存储器控制装置11和连接装置13与目前为通用微控制器的控制处理器9相连。核元件的阵列15按矩形图案布局。连接装置13还包括针对阵列15的核元件的矩形布局的每一行的行寻址装置14。每一个核元件在内部布局方面是相同的,并且包括处理元件、数据存储部件和访问装置。数据存储部件包括帧存储器和IO移位寄存器,这没有分别示出。阵列15的所有核元件的访问装置形成访问装置的阵列7。按照与图3中针对核元件的阵列15的最底行而描述的相同方式,访问装置的阵列7的每一个单独的访问装置与行寻址装置14的实体相连。该连接是双向的,也就是能够对核元件的阵列15的相应核元件的数据存储部件进行读访问和写访问。举例说明,核元件是互连的以便形成级联,其中输入数据通过移入第一核元件的移位寄存器可以被移入所有核元件的IO移位寄存器。为了节省每一个核元件所需的布局区域,可以利用现场可编程门阵列(FPGA)之类的路由互连结构互连核元件。类似地,并且同时地,输出数据通过移出最后一个核元件的移位寄存器可以被移出所有核元件的移位寄存器。
如上所述,控制处理器9通过对来自访问装置的阵列7的特定的访问装置进行访问,可以对来自核元件的阵列15的任何核元件的帧存储器进行寻址。并且,连接装置13所包括的每一个行寻址装置14能够对在核元件的阵列15的矩形布局的特定行中的阵列7的所有访问装置同时进行寻址。采用这些行寻址装置14,控制处理器9通过对来自特定行中的访问装置的阵列7进行访问,能够对来自核元件的阵列15在相同行的所有核元件的帧存储器进行寻址。因此,能够对在该行中的所有核元件的帧存储器同时进行访问。
图4说明目前为通用微控制器的控制处理器9对包括访问装置的阵列7的核元件的阵列15并行进行写和读访问。
如前所述,控制处理器9与存储器控制装置11相连,存储器控制装置1决定了对核元件的数据存储部件进行写访问和对核元件的数据存储部件进行读访问的路由。存储器控制装置11经由连接装置13与访问装置的阵列7相连。连接装置13包括多路复用器17和多路分配器19。此外,连接装置13包括对来自核元件的阵列15的不同的核元件进行访问的单独的线。连接装置13也包括单独的读取线16和写入线18,以及单独的读取和写入端口,形成与来自访问装置的阵列7的每一个访问装置之间的接口。
对于写访问,存储器控制装置11使得多路分配器19选择与来自访问装置的阵列7与将要写入数据的数据存储部件对应的访问装置对应的写入线18。类似地,对于读访问,存储器控制装置11使得多路复用器17选择与来自访问装置的阵列7与将要读取数据的数据存储部件对应的访问装置对应的读取线16。因为多路复用器17和多路分配器19是不同的、分开的,并且可以独立地选择相应的读取线16或写入线18,所以能够对来自核元件的阵列15的不同的核元件的数据存储部件并行进行读访问和写访问。
在本发明的另一个实施例中,为了减小布局区域,可以仅实现写访问,在这种情况下,可以省略专门用于读访问的多路复用器17和连接装置13的读取线16。
在又一个实施例中,还是为了减小布局区域,可以仅实施读访问,在这种情况下,可以省略专门用于写访问的多路分配器19和连接装置13的写入线18。
图5说明数据缓冲器21、23的运行,用于采用访问装置49对数据存储部件25进行访问。
数据存储部件25与读取缓冲器21和写入缓冲器23相连。读取缓冲器21和写入缓冲器23还与包括多路复用器17的连接装置13相连。数据存储部件25还与访问装置49相连,该访问装置49也控制读取缓冲器21和写入缓冲器23的操作。
在如前所述的读操作中,读取的数据可以从数据存储部件25传输到读取缓冲器21,并且从读取缓冲器21再通过连接装置13及其多路复用器17传输到控制处理器9,在图5中未示出。因此,传输到读取缓冲器21的数据保留在读取缓冲器21中。在对相同的数据存储部件25的不同部分进行读访问时,该读取缓冲器21被重写。如果在读取缓冲器21被重写之前发生对相同的数据存储部件25的相同部分进行的读访问,那么从读取缓冲器21读取数据,而不再从数据存储部件25向读取缓冲器21重新传输数据。访问装置49也可以决定请求进行遍读模式的读访问。在这种情况下,强制重写读取缓冲器21中的数据,并且从数据存储部件25向读取缓冲器21的刷新数据传输发生在经由连接装置13进一步传输该数据之前。即使读取缓冲器21中的数据与将读取的新数据已经相同,也会发生这样的情况。
在如前所述的写操作中,将要写入的数据可以从控制处理器9(在图5中未示出)经由连接装置13传输到写入缓冲器23,并且从写入缓冲器23再传输到数据存储部件25。因此,传输到写入缓冲器23的数据保留在写入缓冲器23中。在对相同的数据存储部件25的不同部分进行写访问时,该写入缓冲器23被重写。如果在写入缓冲器被重写之前发生对相同的数据存储部件25的相同部分的写访问,那么该数据从写入缓冲器23被写入数据存储部件25,而不再从控制处理器9经由连接装置13重新传输。也可以在连接装置13的写入方向上没有多路分配器。在这种情况下,在连接装置上的每一个写访问写入所有的写入缓冲器,不仅仅写入数据存储部件25的写入缓冲器23。因此,有可能向所有写入缓冲器同时写入相同的数据,并且随后写入进一步的数据存储部件,而不是单独将数据传输到相应的写入缓冲器。
访问装置49也可以决定请求遍写模式的写访问。在这种情况下,在采用该数据从写入缓冲器23写入数据存储部件25之前,采用经由连接装置13向写入缓冲器23的刷新数据传输,强制重写写入缓冲器23中的数据。即使在写入缓冲器23中的数据与将写入的新数据已经相同时,也会发生这样的情况。访问装置49可以进一步决定请求特殊写屏蔽模式的写访问。在第一写屏蔽模式中,数据存储部件25的数据的选定数量的比特被设置为与写入缓冲器23中的数据的选定比特相同的值,并且其它比特被清除为逻辑值零。在第二写屏蔽模式中,数据存储部件25的数据的选定数量的比特被设置为与写入缓冲器23中的数据的选定比特相同的值,并且其它比特保持其以前的值。
Claims (19)
1.一种并行处理器,包括:
-阵列,包括处理元件、相关联的数据存储部件、以及配置成能够访问与至少一个所述处理元件相关联的至少一个所述数据存储部件的访问装置;
-控制处理器;
-存储器控制装置,配置成能够为控制处理器对至少一个访问装置寻址;以及
-连接装置,配置成将所述存储器控制装置与访问装置相连接。
2.根据权利要求1所述的并行处理器,其中访问装置配置成能够对数据存储部件单独寻址。
3.根据权利要求2所述并行处理器,其中并行处理器配置成处理图像数据,并且访问装置配置成能够对数据存储部件中的单个像素的图像数据寻址。
4.根据前述权利要求任一项所述的并行处理器,其中访问装置配置成能够对与至少一个处理元件相关联的至少一个数据存储部件进行读访问。
5.根据前述权利要求任一项所述的并行处理器,其中访问装置配置成能够对与至少一个处理元件相关联的至少一个数据存储部件进行写访问。
6.根据权利要求5所述的并行处理器,其中对至少一个数据存储部件的写访问包括至少一种写屏蔽模式,所述至少一种写屏蔽模式包括设置单独的比特并且清除其余的比特和设置单独的比特并且其它比特保持不变中的至少一种。
7.根据前述权利要求任一项所述的并行处理器,其中数据存储部件包括移位寄存器和帧存储器。
8.根据前述权利要求任一项所述的并行处理器,其中访问装置包括数据缓冲器。
9.根据权利要求8所述的并行处理器,其中访问装置配置成能够对数据缓冲器并行进行写访问和读访问。
10.根据权利要求8或者9和7所述的并行处理器,其中数据缓冲器配置成向帧存储器传输数据以及从帧存储器传输数据。
11.根据权利要求10所述的并行处理器,其中访问装置配置成能够对数据缓冲器进行写访问,所述写访问是对帧存储器的遍写访问。
12.根据权利要求10或11所述的并行处理器,其中访问装置配置成能够对数据缓冲器进行读访问,所述读访问是对帧存储器的遍读访问。
13.根据权利要求8至12中任一项所述的并行处理器,其中包括处理元件、相关联的数据存储部件和访问装置的所述阵列被包括在核元件的阵列中,其中每一个核元件包括处理元件、数据存储部件和访问装置,所述访问装置配置成能够对与核元件所包括的至少一个处理元件相关联的至少一个数据存储部件进行访问。
14.根据权利要求13所述的并行处理器,其中所述存储器控制装置配置成能够针对核元件的阵列在数据缓冲器和帧存储器之间并行传输数据。
15.根据权利要求13或14所述的并行处理器,其中存储器控制装置配置成能够对核元件的阵列中的一行进行寻址。
16.根据前述权利要求任一项所述的并行处理器,其中存储器控制装置和访问装置配置为行程编码和行程解码。
17.根据权利要求15所述的并行处理器,其中连接装置配置成传输行程编码数据。
18.根据前述权利要求任一项所述的并行处理器,其中并行处理器是单指令多数据处理器。
19.一种在并行处理器中访问单个像素的图像数据的方法,其中并行处理器包括处理元件和相关联的数据存储部件,所述方法包括通过连接到数据存储部件的控制处理器对数据存储部件进行寻址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP08161885 | 2008-08-06 | ||
EP08161885.2 | 2008-08-06 | ||
PCT/IB2009/053406 WO2010016015A1 (en) | 2008-08-06 | 2009-08-05 | Simd parallel processor architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102112983A true CN102112983A (zh) | 2011-06-29 |
Family
ID=41034308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801305396A Pending CN102112983A (zh) | 2008-08-06 | 2009-08-05 | Simd并行处理器架构 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8952976B2 (zh) |
EP (1) | EP2327026A1 (zh) |
CN (1) | CN102112983A (zh) |
WO (1) | WO2010016015A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101747299B1 (ko) * | 2010-09-10 | 2017-06-15 | 삼성전자주식회사 | 데이터 객체 디스플레이 방법 및 장치와 컴퓨터로 읽을 수 있는 저장 매체 |
WO2013106210A1 (en) * | 2012-01-10 | 2013-07-18 | Intel Corporation | Electronic apparatus having parallel memory banks |
US9965824B2 (en) * | 2015-04-23 | 2018-05-08 | Google Llc | Architecture for high performance, power efficient, programmable image processing |
US20230229450A1 (en) * | 2018-02-23 | 2023-07-20 | Untether Ai Corporation | Computational memory |
US10983583B2 (en) * | 2018-08-23 | 2021-04-20 | Apple Inc. | Electronic display reduced blanking duration systems and methods |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040215927A1 (en) * | 2003-04-23 | 2004-10-28 | Mark Beaumont | Method for manipulating data in a group of processing elements |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282583B1 (en) * | 1991-06-04 | 2001-08-28 | Silicon Graphics, Inc. | Method and apparatus for memory access in a matrix processor computer |
US5535291A (en) | 1994-02-18 | 1996-07-09 | Martin Marietta Corporation | Superresolution image enhancement for a SIMD array processor |
US6167502A (en) * | 1997-10-10 | 2000-12-26 | Billions Of Operations Per Second, Inc. | Method and apparatus for manifold array processing |
US6173388B1 (en) * | 1998-04-09 | 2001-01-09 | Teranex Inc. | Directly accessing local memories of array processors for improved real-time corner turning processing |
GB2348972A (en) | 1999-04-09 | 2000-10-18 | Pixelfusion Ltd | Array controller for array of processing elements |
US6785780B1 (en) | 2000-08-31 | 2004-08-31 | Micron Technology, Inc. | Distributed processor memory module and method |
GB2377519B (en) * | 2001-02-14 | 2005-06-15 | Clearspeed Technology Ltd | Lookup engine |
US6868123B2 (en) * | 2001-12-07 | 2005-03-15 | Motorola, Inc. | Programmable motion estimation module with vector array unit |
US20050179675A1 (en) | 2002-05-27 | 2005-08-18 | Koninklijke Phillips Electonics N.C. | Pixel fault masking |
US20040239782A1 (en) | 2003-05-30 | 2004-12-02 | William Equitz | System and method for efficient improvement of image quality in cameras |
US7359565B2 (en) | 2004-05-03 | 2008-04-15 | International Business Machines Corporation | Method of filtering pixels in a video encoding process |
GB0419870D0 (en) | 2004-09-08 | 2004-10-13 | Koninkl Philips Electronics Nv | Apparatus and method for processing video data |
GB0420004D0 (en) | 2004-09-09 | 2004-10-13 | Koninkl Philips Electronics Nv | Interconnections in SIMD processor architectures |
EP1686789A1 (en) | 2005-01-31 | 2006-08-02 | STMicroelectronics (Research & Development) Limited | Imaging system utilizing imaging lens and image sensor and method for aligning optical axis therein |
US7313288B2 (en) | 2005-04-20 | 2007-12-25 | Cypress Semiconductor Corporation | Defect pixel correction in an image sensor |
US20070230586A1 (en) * | 2006-03-31 | 2007-10-04 | Masstech Group Inc. | Encoding, decoding and transcoding of audio/video signals using combined parallel and serial processing techniques |
-
2009
- 2009-08-05 US US13/057,491 patent/US8952976B2/en active Active
- 2009-08-05 CN CN2009801305396A patent/CN102112983A/zh active Pending
- 2009-08-05 EP EP09786811A patent/EP2327026A1/en not_active Withdrawn
- 2009-08-05 WO PCT/IB2009/053406 patent/WO2010016015A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040215927A1 (en) * | 2003-04-23 | 2004-10-28 | Mark Beaumont | Method for manipulating data in a group of processing elements |
Also Published As
Publication number | Publication date |
---|---|
EP2327026A1 (en) | 2011-06-01 |
US8952976B2 (en) | 2015-02-10 |
WO2010016015A1 (en) | 2010-02-11 |
US20110134131A1 (en) | 2011-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100501770C (zh) | 多图形处理器系统、图形处理器和描绘处理方法 | |
CN1993709B (zh) | 信号处理设备 | |
CN105391933B (zh) | 图像处理片上系统和处理图像数据的方法 | |
CN100445975C (zh) | 数据传输控制装置、图像处理装置和数据传输控制方法 | |
JP3828339B2 (ja) | 画像入力システム及び画像入力システムの動作方法 | |
CN102112983A (zh) | Simd并行处理器架构 | |
KR920010558B1 (ko) | 비디오 메모리장치 | |
US7533249B2 (en) | Reconfigurable integrated circuit, circuit reconfiguration method and circuit reconfiguration apparatus | |
US8707132B2 (en) | Information processing apparatus, information processing method, and storage medium | |
US8085274B2 (en) | Video data compression | |
EP3605544B1 (en) | Image processor comprising a shift register with reduced wiring complexity | |
US7596679B2 (en) | Interconnections in SIMD processor architectures | |
CN105491268A (zh) | 应用处理器、片上系统及操作方法 | |
US20050225558A1 (en) | Two level cache memory architecture | |
TW535107B (en) | Data processing device | |
KR101031680B1 (ko) | 고속 pe 간 데이터 재배치 기능을 갖는 프로세서 어레이 시스템 | |
US8612664B2 (en) | Memory management process and apparatus for the same | |
CN106708457A (zh) | 用于dmd动态选区的fpga处理模块及其方法 | |
KR102284078B1 (ko) | 고 처리율의 내부 통신 프로토콜을 구비한 이미지 프로세서 | |
JP2018033036A (ja) | 再構成可能論理回路 | |
JP4697419B2 (ja) | 作業メモリ直接リンクによってフレーム・メモリ・アクセスを減少させる映像符号化システム | |
US20090327653A1 (en) | Reconfigurable computing circuit | |
US20130155082A1 (en) | Data stream processing architecture enabling extension of neighborhood mask | |
GB2530898A (en) | Image processor, image processing system including image processor, system-on-chip including image processing system, and method of operating image processing | |
JP5369669B2 (ja) | Simd型マイクロプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110629 |