CN103020890B - 基于多层次并行处理的视觉处理装置 - Google Patents
基于多层次并行处理的视觉处理装置 Download PDFInfo
- Publication number
- CN103020890B CN103020890B CN201210548515.6A CN201210548515A CN103020890B CN 103020890 B CN103020890 B CN 103020890B CN 201210548515 A CN201210548515 A CN 201210548515A CN 103020890 B CN103020890 B CN 103020890B
- Authority
- CN
- China
- Prior art keywords
- data
- parallel processing
- instruction
- port
- array
- 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.)
- Active
Links
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种基于多层次并行处理的视觉处理装置,该装置包含一个高速图像传感器阵列,多个层次的处理器单元阵列,精简指令集(RISC)微处理器子系统。图像传感器用于采集现实世界的图像。最底层的低级处理器单元阵列具有最高的并行度,但是相对较弱的运算能力,而随着层次的提高,处理器阵列的并行度逐渐降低而运算能力逐渐提高。层次化的体系结构更加利于硬件结构与各种不同并行程度、运算复杂度的图像处理算法之间的紧密耦合。RISC处理器用于进行系统控制与图像处理线程的调度。利用本发明,能够使系统具有高灵活性、高数据吞吐率,并实现多线程并行工作模式,大大提高了图像处理能力和速度。
Description
技术领域
本发明涉及视觉处理技术领域,尤其涉及一种基于多层次并行处理的视觉处理装置,用于灵活高速地可以实现各种图像处理任务。
背景技术
图像处理技术广泛应用于军事、工业、民用领域,如目标追踪、人脸识别、步态识别、手势识别、机器人视觉等。如何实现高速实时图像处理是科技发展中的一个重要问题。图像处理具有大数据量、大运算量的特点,即便是处理能力极强的个人电脑,针对一些图像处理任务也无法达到实时性的应用要求。大型计算机处理能力强大,可以一定程度上提高实时性,但是其功耗大、体积大、无法携带。因此,在实际应用中还缺少同时具有高实时性、低功耗、处理能力强的图像处理硬件构架。
随着近年来信息技术的快速发展,利用大规模高性能现场可编程门阵列(FPGA),数字信号处理器(DSP)以及嵌入式处理器的硬件系统正成为研究热点,然而受制于传统的体系构架,仍然很难在处理能力、功耗、实时各方面达到平衡。
发明内容
(一)要解决的技术问题
针对以上的问题,本发明提供了一种基于多层次并行处理的视觉处理装置,通过多层次的并行设计构架,有效提高系统的灵活性以及处理能力,从而实现高速实时、低功耗、多线程图像处理任务。
(二)技术方案
为达到上述目的,本发明提供了一种基于多层次并行处理的视觉处理装置,该装置包括:用于采集现实世界图像信号的高速图像传感器阵列模块;用于传输采集的现实世界图像信号的图像输入模块;用于接收图像输入模块输入的现实世界图像信号并进行低级图像处理的低级并行处理单元阵列10;用于对低级并行处理单元阵列10处理后的信号进行中级运算处理的中级处理单元阵列11;用于对中级处理单元阵列11处理后的信号进行高级运算处理的高级并行处理单元阵列12;用于对高、中、低级并行处理单元阵列进行控制的阵列控制器13;用于进行系统控制及图像处理线程调度的精简指令集处理器子系统14;以及用于输出图像特征的图像处理结果输出模块。
(三)有益效果
本发明提出的基于多层次并行处理的视觉处理装置,包括低级二维处理单元阵列10和中、高级并行处理单元阵列11、12,阵列控制器13、RISC子系统14和阵列控制器15,其中每个低级二维处理单元由算术逻辑部件和存储器组成,并且可以同时进行图像载入和简单的低级图像处理任务;每个低级处理单元可以向邻近的低级处理单元传输数据或者接收数据。中级处理单元阵列和高级处理单元阵列具有不同的运算能力、不同的并行度。中级处理单元阵列具有较高的并行度,但是较弱的运算能力,高级并行处理单元阵列具有较强的运算能力,但是并行度较低。每个级别中若干个处理单元由硬件划分为一个组块,每个组块分别接收一个上一级别的处理单元发来的指令。该设计方案中层次化的并行处理阵列,在保证图像处理任务中的并行度的前提下,使得系统具有更高的灵活性,可以实现多线程处理,并且更好的和不同并行度不同计算复杂度的图像处理任务进行耦合,从而大大提高整个系统的处理速度,使该构架可以应用于各种图像处理任务之中。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面对实施例描述中的附图进行简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来说,在不付出任何创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明提出的基于多层次并行处理的视觉处理装置的结构示意图;
图2是图1中低级处理单元的结构示意图;
图3是图1中的中级处理单元的结构示意图;
图4是图1中高级处理单元的结构示意图;
图5是图1中阵列控制器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
如图1所示为基于多层次并行处理的视觉处理装置的结构示意图,该视觉处理装置包含有用于采集物理信号的一个图像处理器,一个用于传输图像数据的图像输入模块,多个不同并行度以及计算能力的并行处理阵列10、11、12用于对图像进行低、中、高级处理、以及精简指令集处理器子系统14。在具有单周期多指令执行能力的低级并行处理单元阵列的支持下,该视觉处理装置可以在处理某一帧图像的同时读入下一帧图像,掩盖了图像传感器阵列的曝光时间。中、高级并行处理单元并行度逐级降低,运算能力逐级升高,可以应对不同的图像处理任务。精简指令集处理器子系统对整个视觉处理装置进行有效的管理、硬件资源分配,使系统性能达到最佳。
图1中的低级并行处理阵列10,是包含有呈二维阵列排列的多个低级处理器单元100组成的。图1中的多个低级并行处理单元又构成组块101,整个低级处理单元阵列被分成了若干组块,这样的分组方式将处理器阵列分成了若干组,任何组块均接收来自中级处理单元的指令,在进行图像处理的时候,组与组之间相互独立又联系。同时,该阵列支持单周期双指令执行,能够同时进行图像载入、处理任务。该阵列可以存储一幅或者多幅图像,每一个处理单元对应图像的一个像素或者多个像素。通过将复杂的多位数学运算或者逻辑运算分解成为多个简单的较少位数的数学运算或逻辑运算,每个处理单元可以在多个周期内完成任意位数的数学运算和逻辑运算。每个处理单元的数据可以与其上下左右的数据进行交互。因为将并行处理阵列分成了多个组,使其每个组进行独立的图像任务处理,使系统的灵活性大大提高。
如在本实施例中要处理两幅图像,当底层并行处理单元在利用逻辑运算部件20和存储器22处理第N幅图像的时候,在其单周期双指令能力的支持下,第N+1幅图像被载入到移位寄存器21中,掩盖了图像传感器的曝光时间。处理单元阵列中各个单元首先执行一样的指令,进行诸如滤波、边缘检测等低级图像处理任务。处理单元在完成8位的加法运算的时候,将8位的运算分解成8次1位的加法运算和一次进位操作,共九次完成。该处理单元阵列利用分组的方式,将并行阵列分割成为多个独立的组块,每一组由一个中级处理单元控制,这样的方式允许该并行阵列对图像进行分块并行处理。如在本实施例中低层处理单元阵列为64×64,每8×8个低层处理单元被划分为一个组块,整个阵列被划分为了64个组块,分别对应64个中级处理单元。
如图2所示为低级处理单元的结构示意图,该低级处理单元包括处理位数为R的算术逻辑部件(ALU)20,可以实现求和,求或,求与求非等算术逻辑操作,一个临时寄存器23用于临时存储算术逻辑部件20运算的结果,并作为可能的操作数2输入至多路选择器25。一个静态随机存储器22用于存储图像处理任务需要使用的变量以及结果,并作为可能的操作数1输入至多路选择器24。第一个多路选择器24和第二个多路选择器25分别用于选择操作数1、操作数2的来源。低级并行处理单元阵列的所有控制指令都来源于中级处理单元。移位寄存器21存储图像数据,并通过指令移位,将数据逐列从左移动到右,使其传递至整个并行阵列,同时该移位寄存器中的数据也可以通过算术逻辑部件传输到存储器中。
如本实施例中采用的是1位处理能力的ALU,存储器容量256比特(bit)。这样可以实现一个处理单元对应超过20个像素的存储要求,另外还有超过80比特用于处理过程中的中间变量存储。1位的ALU可以在多个时钟周期实现复杂的多位运算,如可以在9个时钟周期内完成8位的加法运算。
如图3所示为中级处理单元的结构示意图,该中级处理单元包括算术运算部件30、指令解析器31、寄存器组34、三个多路选择器32、33、35,输入缓存36,以及本地存储器37。
如在本实施例中,寄存器组包括64字节,可以用来保存图像处理任务中的初始值、中间变量,以及最后的结果等。此外输入缓存为8个字节的移位寄存器,每次可以并行载入8个低级处理单元的数据,然后通过算术运算单元将其输入寄存器组中。
如图3所示的中级处理单元的逻辑算术运算部件具有较强运算能力。如在本实例中,中级处理单元的逻辑运算部件能够完成8比特、16比特加法、8比特与非、比较大小等运算功能。
与低级处理单元阵列划分为多个低级组块的方式相似,若干个中级处理单元被硬件划分为中级组块,每个中级组块接收其对应的高级处理单元发送的指令,并按照此指令进行中级图像处理任务。如本实施例中64个中级处理单元,相邻4个被划分为一个中级组块,整个阵列被划分为了16个中级组块,分别对应16个高级处理单元。
如在本实例中要完成二值图像的一阶不变距运算,首先通过输入缓存将低级组块中的数据读入,然后利用中级处理单元的逻辑算术部件的与运算和加法运算,可以完成一个低级组块处理单元对应的图像区域的一阶不变距计算。
如图4为高级处理单元120的结构示意图,该高级处理单元包括高级算术运算部件40,指令解析器41,寄存器组42,共享存储控制器43、共享存储器44、本地存储器45,以及多路选择器46、输入缓存47。
在本实施例中,高级算术部件40支持乘、除、开平方等多种运算,对这些高级运算的支持是完成较为复杂的图像处理任务的基础。如在本实施例中,该运算部件可以完成傅立叶变换、小波变换、Gabor滤波等较为复杂的图像处理。
在本实施例中,指令解析器41,接收来自指令缓存中的指令,通过分析该指令的格式,确定指令是否为高级处理单元指令。如果非高级处理单元指令,则将指令发送到中级处理单元的指令解析器中,否则在高级处理单元中执行该条指令,对处理单元中的各个部件进行控制。
在本实施例中,寄存器组42包括256字节,本地存储单元45包括256字节,输入缓存47为4个字节的移位寄存器。移位寄存器可以并行输入4个中级组块的数据。寄存器组合本地存储单元可以用于存储初始数据、中间变量以及最后结果。寄存器组、本地存储单元的存储容量较大,可以为高级图像处理中的复杂运算、高精度数据提供足够的运算空间。
在本实施例中,共享存储44包括64字节,主要为各个高级处理单元之间共享数据提供存储空间。该存储空间下的所有数据均可被其他高级处理单元所读取。这一点符合高级图像处理中存在大量全局共享数据这一特点。共享存储单元的行为由共享存储接口43控制,通过共享存储接口,其他高级处理单元的数据可以被读入,并通过多路选择器46的选择,可以进入到寄存器组中,从而进行本地运算。也可以通过共享存储接口43,将共享存储器中的共享数据读出至共享存储器接口,是其他高级处理单元可以获得本处理单元中的共享数据。
如图5所示为阵列控制器的结构示意图,包括指令存储器50,缓存控制器51,多个指令缓存521组成的指令缓存阵列52,以及指令控制器53。
指令存储器50用于存储各个并行处理单元阵列执行操作所需的指令,指令存储器通过其总线接口,挂载于高速总线之上,在系统启动或者运行中可以通过高速总线向其中写入指令。在本实施例中,指令存储器有32千字节(KB)的大小,可以满足存储高中低三个并行处理层次所需指令的需求。
缓存控制器51,通过总线接口挂载于高速总线之上,其主要作用是接收来自精简指令集处理器子系统的控制字、并根据控制字内容将指令存储器中的部分代码载入指令缓存阵列52中的各个指令缓存521上。如在本实施例中,两个高级处理单元可能分别进行快速傅立叶变化或者快速小波变换,则缓存控制器将两个代码段分别载入到不同的指令缓存中。
指令缓存阵列52,由多个指令缓存521组成。如在本实施列中,指令缓存阵列由16个指令缓存组成,每个缓存分别和一个高级处理单元阵列。
指令控制器53,通过总线接口挂载于高速总线之上,通过精简指令集处理器子系统可以对其进行配置。该控制器则控制整个指令缓存阵列52,使其能够正确的将指令发送到各个高级处理单元。
数据缓存54,通过总线接口挂载于高速总线上,并接收来自高级处理单元的数据,作为高级处理单元和精简指令集系统之间的数据交互缓存;
如在本实施例中,通过指令存储器50、缓存控制器51、指令缓存阵列52、指令控制器53,数据缓存54组成的阵列控制器可以对高中低三个层次的并行处理阵列进行控制,同时在多指令缓存的支持下,各个层次,以及每个层次中的组块可以实现不同的运算操作,使系统具有多线程多任务的处理能力。
图1中的精简指令集处理器子系统14它有一个处理能为X位的RISC核140,一个存储容量为Y的随机只读存储器(ROM)141,和一个存储容量为Z的随机存储器(RAM)142组成(X,Y,Z为大于1的正整数)。它们之间通过先进的高性能总线互连。其中RISC核是一个处理器,ROM是程序存储器,RAM是数据存储器。RISC核从ROM中获取程序,根据整个系统的图像处理任务对系统硬件资源进行调度控制,使系统性能达到最佳。
如本实施例中选择32位的RISC核,64千字节(KB)的ROM,128KB的RAM,即X=32,Y=64KB,Z=128KB。32位的RISC核,能够一次处理一个字,64KB的ROM空间,可以满足各种控制、算法所需的程序空间,128KB的RAM则提供足够大的空间可以满足过程中各种中间变量的存储要求。本实施例中,RISC核心的主要任务是对硬件资源进行分配、控制整个硬件系统。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (25)
1.一种基于多层次并行处理的视觉处理装置,其特征在于,该装置包括:
用于采集现实世界图像信号的高速图像传感器阵列模块;
用于传输采集的现实世界图像信号的图像输入模块;
用于接收图像输入模块输入的现实世界图像信号并进行低级图像处理的低级并行处理单元阵列(10);其中,所述低级并行处理单元阵列(10)包括呈二维阵列排列的多个低级并行处理单元(100),多个低级并行处理单元(100)被划分为多个组块(101);
用于对低级并行处理单元阵列(10)处理后的信号进行中级运算处理的中级并行处理单元阵列(11);其中,所述中级并行处理单元阵列(11)包括呈阵列的多个中级并行处理单元(110),该多个中级并行处理单元(110)被划分为多个中级组块;
用于对中级并行处理单元阵列(11)处理后的信号进行高级运算处理的高级并行处理单元阵列(12);
用于对高、中、低级并行处理单元阵列进行控制的阵列控制器(13);
用于进行系统控制及图像处理线程调度的精简指令集处理器子系统(14);以及
用于输出图像特征的图像处理结果输出模块。
2.根据权利要求1所述的基于多层次并行处理的视觉处理装置,其特征在于,所述多个低级并行处理单元(100)呈二维阵列排列,用于存储一幅或者多幅图像,并行地对该存储在低级并行处理单元阵列中图像完成适合于全并行处理的图像操作;每个处理单元对应图像的一个像素或者多个像素。
3.根据权利要求2所述的基于多层次并行处理的视觉处理装置,其特征在于,所述每个低级并行处理单元通过将复杂的多位的数学运算或逻辑运算分解成多个简单的较少位数的数学运算或逻辑运算,在多个周期内能完成任意位数的数学运算和逻辑运算。
4.根据权利要求2所述的基于多层次并行处理的视觉处理装置,其特征在于,每个所述低级并行处理单元的数据能够被传递到其上、下、左、右的近邻低级并行处理单元,并于这些低级并行处理单元做运算。
5.根据权利要求2所述的基于多层次并行处理的视觉处理装置,其特征在于,每个所述低级并行处理单元同时利用数据传输指令来处理来自图像输入模块的数据以及根据数据处理指令进行数据处理,即同时执行两条不同类型的指令,使系统在进行数据处理的时候,仍能读入图像数据,掩盖图像传感器曝光时间。
6.根据权利要求1所述的基于多层次并行处理的视觉处理装置,其特征在于,每个所述组块接收来自上层所述中级并行处理单元阵列(11)中某一个中级并行处理单元的控制指令,并与该中级并行处理单元进行数据交互,且各组块之间所执行的指令相互独立。
7.根据权利要求6所述的基于多层次并行处理的视觉处理装置,其特征在于,每个所述组块能够被所述中级并行处理单元阵列(11)中某一个中级并行处理单元选中或者不选中,不选中亦即不工作,能够降低系统功耗。
8.根据权利要求1所述的基于多层次并行处理的视觉处理装置,其特征在于,每个所述低级并行处理单元(100)包括:
算术逻辑部件(20),用于实现至少包括求和、求或、求与、求非的算术逻辑操作;
移位寄存器(21),用于实现图像数据的输入和存储;
静态随机存储器(22),用于存储算术逻辑部件的运算初始值、中间变量及结果;
临时寄存器(23),用于暂时存储算术逻辑部件(20)的运算结果;
第一个多路选择器(24),用于选择算术逻辑部件(20)的第一个操作数;
第二个多路选择器(25),用于选择算术逻辑部件(20)的第二个操作数;
五个互连端口,包括上近邻、右近邻、左近邻、下近邻共四个近邻低级并行处理单元的数据输入端口以及一个输出至邻近低级并行处理单元的数据输出端口;
一个左近邻多比特输入端口,一个右近邻多比特输出端口,用于传输图像数据;
控制指令输入端口,接收来自所在组块对应的中级并行处理单元(110)的指令信号。
9.根据权利要求8所述的基于多层次并行处理的视觉处理装置,其特征在于,所述静态随机存储器(22)包括:
用于接收待存储数据的输入端口,该输入端口连接到所述算术逻辑部件(20)的一个输出端口;
用于从存储器中输出数据的输出端口,该输出端口连接到所述第一个多路选择器(24)的一个输入端口;
存储器的读地址信号和存储器的写地址信号,该读地址信号和该写地址信号由该组块对应的中级并行处理单元(110)给出。
10.根据权利要求1所述的基于多层次并行处理的视觉处理装置,其特征在于,每个所述中级组块均接收来自上层所述高级并行处理单元阵列(12)中某一个高级并行处理单元的控制指令,并与该高级并行处理单元进行数据交互,且各中级组块之间相互独立,可执行相同的指令或不同的指令。
11.根据权利要求1所述的基于多层次并行处理的视觉处理装置,其特征在于,每个所述中级组块具有高于所述低级并行处理单元(100)的处理能力及较低的并行度,适于进行各项中级图像处理任务,并能够对所述低级并行处理单元阵列(10)中的组块(101)进行控制和数据交互,并行处理一个组块(101)内的数据,亦即处理一幅图像中的一个区域或多幅图像的相同区域。
12.根据权利要求1所述的基于多层次并行处理的视觉处理装置,其特征在于,所述中级并行处理单元(110)用于进行较为复杂的数学运算或逻辑运算,其处理字长为8比特,亦即一个字节。
13.根据权利要求1所述的基于多层次并行处理的视觉处理装置,其特征在于,所述中级并行处理单元(110)包括:
算术运算部件(30),包括实现至少多比特加、减、大小比较以及多种逻辑操作;
指令解析器(31),用于接收并分析上层传输的程序指令,并决定是否在本层次执行此指令或者将其传输至下一层次;
寄存器组(34),用于存储算术运算部件所需的变量或者计算产生的变量;
用于算术运算部件的操作数选择的第一多路选择器(32);
用于算术运算部件的操作数选择的第二多路选择器(33);
结果写回多路选择器(35);
输入缓存(36),作为低级组块中的数据与中级并行处理单元中的缓存;
本地存储器(37),为算术运算部件进行中级图像处理提供足够的运算存储空间。
14.根据权利要求13所述的基于多层次并行处理的视觉处理装置,其特征在于,所述中级并行处理单元(110)还包括:
用于接收低级并行处理单元数据的低级并行处理单元数据输入端口;
用于接收共享缓存输入的输入端口;
用于接收高级处理单元指令的指令输入端口、输出给低级组块的指令输出端口;
用于控制与高级处理单元共享缓存的写数据端口、写地址端口、以及读地址端口;
用于控制寄存器组的读地址1输入端口、读地址2输入端口、写地址1端口;
用于寄存器组数据输入的数据输入端口、以及读数据1端口和读数据2端口;
用于计算结果输入的本地存储器数据输出端口,该本地存储器数据输出端口和高级处理单元的中级并行处理单元数据输入端口相连,用于将中级处理完成的数据送入高级处理单元中。
15.根据权利要求1所述的基于多层次并行处理的视觉处理装置,其特征在于,所述高级并行处理单元阵列(12)包括多个高级处理单元(120),该高级处理单元(120)具有复杂运算处理能力,任何一个高级处理单元能够获得其他高级处理单元中的全局共享数据。
16.根据权利要求15所述的基于多层次并行处理的视觉处理装置,其特征在于,各个高级处理单元(120)所执行的操作完全由其接收的指令决定,使系统能够实现多任务同时处理。
17.根据权利要求15所述的基于多层次并行处理的视觉处理装置,其特征在于,所述高级处理单元(120)包括:
算术运算部件(40),用于完成复杂乘法、除法、开方运算,支持高级图像处理任务;
指令解析器(41),解析来自指令缓存的指令类型,并确定指令流的方向;
寄存器组(42),用于运算器运算过程中存储初始值、中间变量及结果;
共享存储接口(43),用于各个高级处理单元之间共享数据传递;
共享存储器(44),存储各个高级处理单元之间共享的全局数据;
本地存储器(45),用于存储高级处理中出现的本地私有数据;
多路选择器(46),用于选择写回寄存器的数据来源;
输入缓存(47),作为中级组块输入数据与高级处理单元之间的缓存。
18.根据权利要求17所述的基于多层次并行处理的视觉处理装置,其特征在于,所述高级处理单元(120)还包括:
用于输入中级并行处理单元数据的中级并行处理单元数据输入端口;
用于接收指令缓存数据的指令输入端口,以及指令输出端口;
用于进行全局数据读取的共享存储接口的输入端和输出端;
用于寄存器组的读地址1、读地址2端口,写地址1端口,以及数据输入端口,和算术运算部件读取操作数的读数据1端口、读数据2端口;
用于本地存储器单元的写地址端口、读地址端口、以及数据输入端口、数据输出端口;
用于共享存储单元的写地址端口、读地址端口、以及数据输入、输出端口。
19.根据权利要求17所述的基于多层次并行处理的视觉处理装置,其特征在于,所述算术运算部件(40)区别于低级、中级并行处理单元中的运算部件,用于完成乘法、除法或开平方运算,应对多数高级图像处理任务,其包括两个操作数输入端口,两个结果输出端口,分别和算术运算部件、本地存储单元、共享存储单元相连接;算术运算部件(40)由指令解析器给出的指令来控制。
20.根据权利要求17所述的基于多层次并行处理的视觉处理装置,其特征在于,所述寄存器组(42)用于存储图像处理所需的初始数据、中间变量及结果,包括两个读数据端口、两个读地址端口、以及一个写地址端口、一个数据输入端口。
21.根据权利要求17所述的基于多层次并行处理的视觉处理装置,其特征在于,所述共享存储接口(43)提供各个处理单元之间的共享数据交互接口,共享存储接口由交叉开关组成,控制信号同样来自于指令解析器。
22.根据权利要求17所述的基于多层次并行处理的视觉处理装置,其特征在于,所述共享存储器(44)和本地存储器(45)为静态随机存储器。
23.根据权利要求1所述的基于多层次并行处理的视觉处理装置,其特征在于,所述阵列控制器(13)用于控制高、中、低级三个并行处理单元阵列,该阵列控制器内部使用多个指令缓存,每个缓存对应一个高级处理单元,每个高级处理单元根据指令缓存所下达的控制指令进行操作,完成各种高级图像处理任务。
24.根据权利要求23所述的基于多层次并行处理的视觉处理装置,其特征在于,所述阵列控制器(13)包括:
用于存储三个并行处理单元阵列所需的控制指令的指令存储器(50),该指令存储器通过总线接口挂载于高速总线之上;
用于为各个指令缓存分配指令段的缓存控制器(51),该缓存控制器通过总线接口挂载于高速总线之上,接收来自精简指令集处理器子系统的命令并将相应指令段根据进程需要分配到不同的指令缓存中;
多个指令缓存(520)组成的指令缓存阵列(52),用于接收来自缓存控制器的指令段,指令控制器控制每个指令缓存的指令发送;
指令控制器(53),通过总线接口挂载于高速总线之上,用于接收来自精简指令集处理器子系统的命令,控制整个指令缓存阵列的指令发送机制;
数据缓存(54),用于接收来自高级处理单元的数据,并通过总线接口挂载于总线之上,通过总线与精简指令集处理器子系统进行数据交互。
25.根据权利要求1所述的基于多层次并行处理的视觉处理装置,其特征在于,所述精简指令集处理器子系统(14)包括:
一个精简指令集处理器核(140);
一个随机只读存储器(141),用于存储精简指令集处理器核(140)的程序;
一个随机存储器(142),用于实现精简指令集处理器核(140)处理过程中的数据存储和读取;
实现互连的先进的高性能总线,用于将精简指令集处理器核(140)、随机只读存储器(141)和随机存储器(142)三者互连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210548515.6A CN103020890B (zh) | 2012-12-17 | 2012-12-17 | 基于多层次并行处理的视觉处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210548515.6A CN103020890B (zh) | 2012-12-17 | 2012-12-17 | 基于多层次并行处理的视觉处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103020890A CN103020890A (zh) | 2013-04-03 |
CN103020890B true CN103020890B (zh) | 2015-11-04 |
Family
ID=47969464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210548515.6A Active CN103020890B (zh) | 2012-12-17 | 2012-12-17 | 基于多层次并行处理的视觉处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103020890B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9615013B2 (en) * | 2014-12-22 | 2017-04-04 | Google Inc. | Image sensor having multiple output ports |
CN104537666A (zh) * | 2014-12-26 | 2015-04-22 | 中国科学院半导体研究所 | 一种芯片封装外观缺陷检测系统及方法 |
CN106851296A (zh) * | 2015-12-04 | 2017-06-13 | 宁波舜宇光电信息有限公司 | 基于嵌入式平台的图像处理系统和图像处理方法 |
US10204396B2 (en) * | 2016-02-26 | 2019-02-12 | Google Llc | Compiler managed memory for image processor |
US10016896B2 (en) * | 2016-06-30 | 2018-07-10 | Brain Corporation | Systems and methods for robotic behavior around moving bodies |
CN108399595A (zh) * | 2017-02-07 | 2018-08-14 | 深圳市中兴微电子技术有限公司 | 一种图像处理算法的实现装置及方法 |
CN107680030B (zh) * | 2017-09-21 | 2020-10-30 | 中国科学院半导体研究所 | 一种图像处理器及处理方法 |
CN108053361B (zh) * | 2017-12-29 | 2021-08-03 | 中国科学院半导体研究所 | 多互连视觉处理器及采用其的图像处理方法 |
CN108184062B (zh) * | 2017-12-29 | 2020-08-25 | 中国科学院半导体研究所 | 基于多层次异构并行处理的高速追踪系统及方法 |
CN109741237B (zh) * | 2018-12-28 | 2020-10-23 | 中国科学院半导体研究所 | 大规模图像数据处理系统及方法 |
CN113867789A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
CN113867790A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡和计算方法 |
CN113867793A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
CN113867800A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
CN113867799A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
CN112001836A (zh) * | 2020-07-03 | 2020-11-27 | 北京博雅慧视智能技术研究院有限公司 | 一种图像处理装置 |
CN112528765A (zh) * | 2020-11-25 | 2021-03-19 | 上海菲戈恩微电子科技有限公司 | 一种生物特征识别图像处理装置及处理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101811502A (zh) * | 2010-01-07 | 2010-08-25 | 中国科学院半导体研究所 | 基于并行处理的快速车道线检测装置 |
CN102665049A (zh) * | 2012-03-29 | 2012-09-12 | 中国科学院半导体研究所 | 基于可编程视觉芯片的视觉图像处理系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2007361004A1 (en) * | 2007-11-16 | 2009-05-22 | Tele Atlas B.V. | Method of and apparatus for producing lane information |
-
2012
- 2012-12-17 CN CN201210548515.6A patent/CN103020890B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101811502A (zh) * | 2010-01-07 | 2010-08-25 | 中国科学院半导体研究所 | 基于并行处理的快速车道线检测装置 |
CN102665049A (zh) * | 2012-03-29 | 2012-09-12 | 中国科学院半导体研究所 | 基于可编程视觉芯片的视觉图像处理系统 |
Non-Patent Citations (2)
Title |
---|
A Programmable Vision Chip Based on Multiple Levels of Parallel Processors;Wancheng Zhang等;《IEEE Journal of Solid-State Circuits》;20110930;第2133页第2段,2134页第3段,图1-3 * |
面向视觉处理的并行体系结构;杨士强 等;《小型微型计算机系统》;19921130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103020890A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103020890B (zh) | 基于多层次并行处理的视觉处理装置 | |
US11586907B2 (en) | Arithmetic unit for deep learning acceleration | |
EP3531349B1 (en) | Acceleration unit for a deep learning engine | |
US11610362B2 (en) | Data volume sculptor for deep learning acceleration | |
CN112840356B (zh) | 运算加速器、处理方法及相关设备 | |
Du et al. | ShiDianNao: Shifting vision processing closer to the sensor | |
EP3035249B1 (en) | Method and apparatus for distributed and cooperative computation in artificial neural networks | |
US20190012170A1 (en) | Deep vision processor | |
EP3035204B1 (en) | Storage device and method for performing convolution operations | |
CN103019656B (zh) | 可动态重构的多级并行单指令多数据阵列处理系统 | |
US11544191B2 (en) | Efficient hardware architecture for accelerating grouped convolutions | |
Mittal | A survey of accelerator architectures for 3D convolution neural networks | |
WO2017020165A1 (zh) | 自适应芯片和配置方法 | |
CN110333946A (zh) | 一种基于人工智能cpu数据处理系统及方法 | |
EP3035203A1 (en) | Fine-grain storage interface and method for low power accelerators | |
Huang et al. | IECA: An in-execution configuration CNN accelerator with 30.55 GOPS/mm² area efficiency | |
Xie et al. | High throughput CNN accelerator design based on FPGA | |
EP3035205A1 (en) | Reconfigurable functional unit and method for artificial neural networks | |
CN111045727B (zh) | 一种基于非易失性内存计算的处理单元阵列及其计算方法 | |
CN108053361A (zh) | 多互连视觉处理器及采用其的图像处理方法 | |
CN109741237B (zh) | 大规模图像数据处理系统及方法 | |
Yousefzadeh et al. | Energy-efficient in-memory address calculation | |
Müller et al. | NEROvideo: A general-purpose CNN-UM video processing system | |
US11823771B2 (en) | Streaming access memory device, system and method | |
WO2020059156A1 (en) | Data processing system, method, and program |
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 |