管线式与心跳式及单指令多数据流的阵列处理架构及方法

文档序号:6407693阅读:209来源:国知局
专利名称:管线式与心跳式及单指令多数据流的阵列处理架构及方法
技术领域
本发明涉及一种管线式与心跳式及单指令多数据流的阵列处理架构及其方法,特别是有关一种混合广播式(Broadcasting)及心跳式(Systolic)的方式连接多个管线式(Pipelined)处理元件(Processing element),来完成单指令(Single Instruction)处理多数据流(Multiple Data Stream)的阵列架构及其设计的方法,它可用于计算机并行处理器、影像处理器以及数字信号处理器等设计,它可用于计算机并行处理器、影像处理器以及数字信号处理器等设计,而且在数据传送与转移方面具有更佳效率的处理,还可以制成一单片以倍增其实用性。
本发明的管线式(pipelined)与心跳式(systolic)及单指令多数据流(SIMD)的阵列处理架构及其方法,其目的在于提供一种数据输入/输出移位、转换运算等方式,使其处理速度较快、较有效率,此为其主要目的。
根据本发明的管线式与心跳式及单指令多数据流的阵列处理架构及其方法,由于其数据输入/输出有效的使用,使其能节省其数据线(Data lines)及集成电路引脚数(pincount),避免控制线数量太多带来的麻烦,促进存储器的使用效率,并且能将其制成一单片,此为其次要目的。
根据本发明的管线式与心跳式及单指令多数据流的阵列处理架构及其方法,它可应用于一维及二维的架构上,此为其另一目的。
根据本发明的管线式与心跳式及单指令多数据流的阵列处理架构及其方法,它可以作成单片直接加装于计算机或电视上,达到多种影像处理效果,具有实用性、方便性,并且节省使用空间,此为其又一目的。
为达到上述目的,本发明由管线式(pipelined)处理元件(Processing Element)、寄存器(register)以及多路复用器(multiplexer)等组成,在处理元件(PE)的前后输入/输出端,连接寄存器(register)以及多路复用器(multiplexer),以混合广播式(Broadcasting)及心跳式(Systolic)的方式将数据传送至处理元件(PE),由于在处理元件(PE)的输入/输出端加入寄存器及多路复用器,并且将各寄存器及多路复用器相互接连控制,故使本发明在动作时尤其是数据更新时,不需要将全部数据重新载入,只需将所欠缺的数据载入,而将原有的数据根据需要转换载入,这样,便可节省其载入数据的时间,同时也节省了数据线及控制线的数量,更有利于本发明集成电路的实现。
至于本发明的详细构造、应用原理、作用与功效,则参照下列依附图所作的说明即可得到完全的了解

图1为本发明管线式与心跳式及单指令多数据流的阵列处理架构的线路架构图。
图2为本发明处理元件(Processing element)的内部架构图。
图3为本发明处理元件的模式控制只读存储器输入输出真值表。
图4为本发明处理元件(PE)内部第一模式架构图。
图5为本发明处理元件内部第二模式架构图。
图6为本发明处理元件内部第三模式架构图。
图7为本发明处理元件内部第四模式架构图。
图8为本发明处理元件内部第五模式架构图。
图9为本发明处理元件内部第六模式架构图。
图10为本发明处理元件矩阵运算(matrix computation)的线路架构图。
图11为本发明处理矩阵运算时,按时钟周期(clock cycle)为基准的数据载入示意图。
图12为本发明处理矩阵运算时,按时钟周期(clock cycle)为基准的数据转换示意图。
图13为本发明处理有限脉冲响应滤波器(FIR Filters)的线路架构图。
图14为本发明处理有限脉冲响应滤波器(FIR Filters)时,按时钟周期为基准的数据处理示意图。
图15为本发明处理无限脉冲响应滤波器(IIR Filters)的线路架构图。
图16为本发明处理无限脉冲响应滤波器(IIR Filters)时,按时钟周期为基准的数据处理示意图。
图17为本发明处理边缘检测(Edge detection)及平滑(smoothing)的线路架构图。
图18为本发明处理边缘检测(Edge detection)及平滑(smoothing)时,按时钟周期为基准的数据处理示意图。
图19为本发明处理边缘检测(Edge detection)以及处理平滑(smoothing)时,按时钟周期为基准的各控制信号动作示意图。
图20为本发明处理一维离散余弦转换(Two-Dimensional DCT)的线路架构图。
图21为本发明处理二维离散余弦转换的常数(constants)载入的控制及数据信号示意图。
图22及图23为本发明处理二维离散余弦转换时,按时钟周期为基准的控制及数据信号示意图。
图24为本发明二维阵列架构实施例图。
图25为本发明二维阵列架构及处理元件(Processing element)内部架构的实施例图。
图26为本发明以二维阵列架构处理二维离散余弦转换(Two-Dimensional DCT)的常数(constants)数据载入示意图。
图27和图28为本发明以二维阵列架构处理二维离散余弦转换时,按时钟周期(Clock Cycle)为基准的控制(control)及数据(Data)信号示意图。
图29为本发明以二维阵列架构来处理影像移动评估(Motion estimation)以及样板比对(template matching)的线路架构图。
图30为本发明用来处理影像移动评估以及样板比对的二维阵列架构及处理元件(Processing element)内部架构的实施例图。
图31为本发明以二维阵列架构(Two-Dimensional array architecture)来处理影像移动评估(Motion estimation)及样板比对(template matching)时,按时钟周期为基准的数据信号示意图。
图32为本发明以二维阵列架构来处理影像评估及样板比对时,按时钟周期为基准的控制信号示意图。
图33为本发明采用分阶管线式(stage pipelined)架构实施例的阵列架构图。
图34为本发明用以计算1008点的离散傅利叶变换的实施例阵列架构图。
图35为本发明与心跳式结构(systolic Architecture)相结合的实施例阵列架构图。
图36为本发明应用于影像压缩系统实施例的阵列架构图。
如图1所示,其为本发明管线式(pipelined)与心跳式(systolic)及单指令多数据流(SIMD)的阵列处理架构的线路图,其包括数个处理元件(Processing element)PE1-PEn,在处理元件PE1-PEn的输入端装设寄存器rs11-rsln、rs21-rs2n、rb及多路复用用器Mu11-Mu1n、Mu21-Mu2n、Mb,而在处理元件的输出端亦加入寄存器rol-rol及多路复用器Mol-Mon、Mob,并且在输入/输出端的寄存器rs11-rs1n、rs21-rs2n、rb、ros1-rosn的前端加入一多端口存储器(multi-port memory)M,另以一控制器(controller)C来控制这一管线式(pipelined)与心跳式(systolic)及单指令多数据流(SIMD)的阵列处理架构,而控制器(controller)C的各控制信号,则叙述如下控制信号1对移位寄存器阵列(Shift register Array)rs21-rs2n载入移位的控制(load control)。
控制信号2对移位寄存器阵列rs21-rs2n清零的控制(clear control)。
控制信号3对移位寄存器阵列rs11-rsln载入移位的控制。
控制信号4对移位寄存器阵列rsll-rsln清零的控制。
控制信号5对多路复用器Mull-Muln的数据选择(Data Select)控制。
控制信号6对多路复用器Mu21-Mu2n的数据选择控制。
控制信号7对多路复用器Mb的广播数据选择(Broadcasting Data Select)控制。
控制信号8对寄存器rb载入广播数据(Broadcasting data)的控制。
控制信号9对处理元件PE1-PEn的功能控制(Processing element function control)。
控制信号10对处理元件PE1-PEn的复位控制(Processing element reset)。
控制信号11对移位寄存器阵列rol-ron的输出移位控制。
控制信号12对输出移位阵列的数据选择多路复用器Mol-Mon的数据选择控制。
控制信号13对输出移位阵列的数据选择多路复用器Mob的数据选择控制。
控制信号14对多端口存储器的控制,包括地址线(Addresses)、读写(read/write)、致能(Enable)等。
数据传送控制信号15为外加控制管线式与心跳式及单指令多数据流的阵列处理架构的数据传送控制信号。
数据传送控制信号16为控制数据传送至其他处理器的数据传送线。
根据本发明的数据处理运算,当输入数据至处理元件PEl-PEn进行数据处理时,是由控制信号1-8来进行控制的,控制信号2如为1(高电位)时,则将寄存器rs21-rs2n清除为0,控制信号4如为1(高电位)时,亦将寄存器rsll-rsln清除为0。而控制信号1如为1时,则寄存器rs21的数据则由多端口存储器M(ms2)输入,而原本rs21的数据则转移给rs22,rs22原先数据转移至rs23,如此类推,构成一数据的转移,控制信号3如为1时,也是进行数据的转移,将多端口存储器M(msl)的数据传给rsll,而每个寄存器中皆含有二个多路复用器(例寄存器rsll与rsl2之间含有多路复用器Mu11及Mu21)。而多路复用器Mull-Mu1n由控制信号5控制,多路复用器Mu21-Mu2n由控制信号6控制,故寄存器rs12的输入数据,则由两多路复用器处理后的数据isl供给,而寄存器rs13则由数据is2输入,如此类推,至于多路复用器Mu11-Mu1n,由控制信号5控制,当控制信号5为1(高电位),则多路复用器Mu11-Mu1n的输出数据与寄存器rs11-rsln的输出数据相同,若控制信号为0(低电位),则多路复用器Mull-Muln的输出数据则与处理元件PEl-PEn的输出数据Oil-Oil相同,而多路复用器Mu21-Mu2n则由控制信号6控制,当控制信号6为1时,则多路复用器Mu21-Mu2n的输出数据则与上一笔多路复用器Mu11-Muln的输出数据相同,当控制信号6为0时,则多路复用器Mu21-Mu2n的输出数据与寄存器rs21-rs2n的输出数据相同,另外控制信号8则控制寄存器rb的数据载入,若控制信号8为1,则寄存器rb的数据即从多端口存储器(multi-port memory)M载入,而控制信号7即控制多路复用器Mb的数据选择,当控制信号7为0时,则输出信号ib=Ob,控制信号7为1时,则输出信号ib=寄存器rb内的数据,而在输出控制方面,则由控制信号11-13来进行控制,其控制方法亦与前述的控制方法相同,由控制信号11控制移位寄存器阵列rol-ron的数据转移,而控制信号12则控制多路复用器Mol-Mon的数据选择,控制信号13则为多路复用器Mob的数据选择控制,至于控制信号14,则供作多端口存储器M的控制,进行各种数据的读写控制。
图2所示,为本发明其管线式(pipelined)处理元件(Processing Element)PE的内部构造图,其由一先进先出(first-in first-out)存储栈100、常数寄存器档(constant register file)101、多路复用器102、103、108及114、寄存器106、107及110、乘法器(Multiplier)104、绝对差值器(Absolute-Difference util)105、加法器(Adder)109、数据寄存器档(Data register file)113、三态缓冲器(tristate buffer)111以及译码器(Decoder)112所组成,并且由控制器(Controller)C的控制信号9来进行功能控制(Function control),而其功能控制可再分为先进先进控制(FIFO control)91、模式控制(mode control)92、寄存器载入控制(Register load control)93、加法器控制(Adder control)94、识别码(ID)95、常数寄存器档控制(constant register file control)96、数据寄存器档控制(Data register file control)97。
以模式控制(mode control)92而言,其装设一只读存储器(ROM)921,来驱动其输出端C0-C7的控制,以其控制的方式而言(如图3所示),它是使用只读存储器(ROM)921动作的,而使其输出端C0-C7有8种模式产生,而C0、C1为控制多路复用器102的输入选项,C2、C3、C4则控制多路复用器103,C5、C6控制多路复用器108,C7则控制多路复用器114,这样,使得处理元件因受到此模式控制(MODE CONTROL)92,而能使处理元件(Processing Element)其内部处理模式改变,即其因数据传输的不同变化,而使其处理元件(Porcessing Element)内部形态改变,而本发明其处理元件受控制而可以有六种形态上的变化(如图4、图5、图6、图7、图8、图9所示),而各种形态的阵列构造,可以处理不同的阵列运算,使本发明能更有效率地处理多种运算。
至于其他控制线的用途、控制方式以及图面标号,则说明如下911……先进先出存储栈100的数据读出控制信号。
912……先进先出存储栈100的数据写入控制信号。
913……先进先出寄存器100的复位控制信号。
931……寄存器106的数据载入控制信号。
932……寄存器107的数据载入控制信号。
933……寄存器110的数据载入控制信号。
94……加法器109的加法控制信号。
95……为处理元件的识别码(ID),亦为译码器(Decoder)112的输入信号。
961……常数寄存器档101的数据读出控制信号。
962……常数寄存器档101的数据读出地址信号。
963……常数寄存器档101的数据写入控制信号。
964……常数寄存器档101的数据写入地址信号。
971……数据寄存器档113的数据读出控制信号。
972……数据寄存器档113的数据读出地址信号。
973……数据寄存器档113的数据写入控制信号。
974……数据寄存器档113的数据写入地址信号。
如图10所示,其为本发明应用于处理矩阵运算(Matrix computation)的阵列结构实施例图,本发明在处理矩阵运算时,由控制器(controller)C进行控制,故其处理元件(Processing element)的内部结构便处于第一模式下(亦即图4所示),其控制多路复用器Mull-Muln的控制信号5、控制多路复用器Mu21-Mu2n的控制信号6、控制多路复用器Mb的控制信号7以及控制多路复用器Mob的控制信号13,皆处于1(高电位)的状态进行控制,故多路复用器Mull-Muln、Mu21-Mu2n、Mb以及Mob其数据传输的选择状态就如图10所示,而且这里使用2个处理元件来进行较简单的说明,并以计算 为例说明以进行上述矩阵运算(matrix computation)而言,本实施例处理元件PE1载入a00,a01,a02,a03,a20,a21,a22,a23这些数据,处理元件PE2载入a10,a11,a12,a13,a30,a31,a32,a33,它利用寄存器rs11及寄存器rs12进行数据载入,并配合各控制信号(请配合参照图11),其控制信号3皆处于1(高电位)的状态,故寄存器rs11及rs12能将数据载入移位阵列处理,其数据由多端口存储器M供给,先送入数据a10至寄存器rs11中,当下笔数据a00送来时,就将a10送给寄存器rs12,而当数据a11再传送来时,就将数据a10,a00转移到处理元件中,这时,控制常数寄存器档101的数据写入控制信号963动作为1(高电位)的状态,使处理元件PE1截取a00这笔数据,而处理元件PE2则截取数据a10,如此继续数据的传送、截取,致使处理元件PE1载入a00,a01,a02,a03,a20,a21,a22,a23,而处理元件PE2则载入a10,a11,a12,a13,a30,a31,a32,a33,在运算方面,则须靠处理元件PE1、PE2其内部的运算,及配合寄存器rb(请配合参照图12),以矩阵运算(matrix computation)而言,其运算结果如下y00=a00x00+a01x10+a02x20+a03x30y10=a10x00+a11x10+a12x20+a13x30y20=a20x00+a21x10+a22x20+a23x30y30=a30x00+a31x10+a32x20+a33x30y01=a00x01+a01x11+a02x21+a03x31y11=a10x01+a11x11+a12x21+a13x31y21=a20x01+a21x11+a22x21+a23x31y31=a30x01+a31x11+a32x21+a33x31由于先前皆将[aij]载入处理元件PE1及PE2中,此时再由多端口存储器M将数据x00送入寄存器rb中,而接着送入下一笔数据x10给寄存器rb,致使原先的数据x00送入处理元件PE1及PE2中,同时处理元件PE1及PE2内的常数寄存器档101亦将a00及a10的数据送出,致使乘法器(Multiplier)104运算后送至寄存器106中,而加法器(Adder)109受其加减控制信号94的动作,当其控制信号94为1(高电位)时,就将送入的数据直接传送至寄存器110中,再由寄存器110回传至加法器109的输入端,与后续的运算数据一起进行加法运算,而控制多路复用器M01,M02的控制信号12,当其控制信号为0(低电位)时,则将O2的数据导入寄存器r02中,O1的数据导入寄存器r01中,再由寄存器r01、r02进行数据的移位传送,如果持续动作,致使本发明将矩阵运算(matrix computation)后的全部数据传送出供使用,达到本发明处理矩阵运算功能。
图13所示,为本发明应用于处理有限脉冲响应滤波器(FIRFilters)实施例的阵列结构图,此时控制器(controller)各控制线的状态为处理元件(Processing element)PE的内部结构受控制而处于第二模式下(如图5所示),而控制多路复用器Mull-Muln的控制信号5处于1(高电位)状态,控制多路复用器M6及多路复用器Mob的控制信号7及控制信号13也处于1(高电位)状态,同时它是采用二个处理元件(PE1、PE2)进行说明的,故其阵列结构如图13所示,并以计算yi=a0Xi+a1Xi-1+a2Xi-2+a3Xi-3为例说明要计算yi=a0Xi+a1Xi-1+a2Xi-2+a3Xi-3故y0=a0X0+a1X-1+a2X-2+a3X-3y1=a0X1+a1X0+a2X-1+a3X-2y2=a0X2+alX1+a2X0+a3X-1y3=a0X3+alX2+a2X1+a3X0y4=a0X4+a1X3+a2X2+a3X1y5=a1X5+a1X4+a2X3+a3X2如此延伸类推。
在进行数据处理时(请配合参照图14),是利用寄存器rs21、rs22及rs11、rs12来关[X(m)]数据,寄存器rb则控制[a(n)]数据的载入,并配合多路复用器Mu21、Mu22及控制信号6的动作,使数据能顺利地送至处理元件PE1及PE2中进行运算处理,同时在输出方面,通过控制信号12控制多路复用器M01、M02,使之传送运算结果,至于其数据的传送载入、运算,现说明如下由多端口存储器(Multi-Port Memory)M,传送X1数据给寄存器rs21,传送第二笔数据X0至寄存器rs21,而原先的数据X1移送给寄存器rs22,而此时控制多路复用器Mu21、Mu22的控制信号6,其给予控制信号为0(低电位)状态,故使处理元件PE1、PE2的输入端is1、is2截取寄存器rs21、rs22的数据,同时多端口存储器M传送a0数据至寄存器rb,使处理元件PE1进行a0及X0的运算,处理元件PE2进行a0及X1的运算,接着Mu21、Mu22的控制信号6变成1(高电位)状态,如此再由寄存器rs11、rs12进行数据陆续的移转,同时由处理元件PE1、PE2内部控制加法器109的加减控制信号94来处理数据的累加,并且由控制多路复用器M01、M02的控制信号12来处理运算结果的输出,使之得到运算结果后能送给寄存器r01、r02,致使寄存器r01、r02的数据转移至多端口存储器M或其他功能处理器供使用,并达到有限脉冲响应滤波器(FIR Filter)的功能。
如图15所示,为本发明处理无限脉冲响应滤波器(IIR Filter)实施例的阵列结构图,此时控制器C的各控制信号使其阵列结构的状态为处理元件(Processing element)PE1、PE2处于第二模式下,并且有对输出回授输入ob信号的控制,同时还用到清除寄存器rs21、rs22的控制信号2、控制多路复用器Mu21、Mu22的控制信号6、控制多路复用器Mb的控制信号7以及控制多路复用器M01、M02的控制信号12,应用这些控制信号来控制数据的移送、变化,使之达到无限脉冲响应滤波器(IIR Filter)的功能,现以计算yi+b1yi-1+b2yi-2+b3yi-3=a0Xi+a1Xi-1+a2Xi-2+a3Xi-3为例说明故y0+b1y-1+b2y-2+b3y-3=a0X0+a1X-1+a2X-2+a3X-3y1+b1y0+b2y-1+b3y-2=a0X1+a1X0+a2X-1+a3X-2y2+b1y1+b2y0+b3y-1=a0X2+a1X1+a2X0+a3X-1y3+b1y2+b2y1+b3y0=a0X3+a1X2+a2X1+a3X0如此延伸类推(请配合参照图16),它由处理元件PE1计算y0(=-b1y-1-b2y-2-b3y-3+a0X0+a1X-1+a2X-2+a3X-3)、y2、y4等,由处理元件PE2计算y1(=-b1y0-b2y-1-b3y-2+a0X1+a1X0+a2X-1+a3X-2)、y3、y5等,至于数据的载入,传送方式则说明如下其先由多端口存储器(Multi-Port Memory)M将数据X1送至寄存器rs21中,再将数据X0送入寄存器rs21,而原先的数据X1转移进寄存器rs22中,此时控制多路复用器Mu21、Mu22的控制信号6作选项控制为0(低电位),使处理元件PE1、PE2的输入信号is1、is2截取暂存器rs21、rs22的数据,而寄存器rb同时载入数据a0,使之进行运算处理,如此继续进行数据的载入、转移、运算,当处理元件PE1运算至aOX0+alX-1,处理元件PE2运算至a0X1+a1X0时,则动作控制信号2为1(高电位),使寄存器rs21、rs22清除为0,则再载入运算-b(n)y(m)的数据,并且回授出数据y0进行输入运算,而待处理元件PE1、PE2的运算结果y0、y1产生时,则控制多路复用器M01、M02的控制信号12动作为0(低电位),使数据输出至寄存器r01、r02,同时新数据再载入运算,如此循环连续运算,就达到处理无限脉冲响应滤波器(IIR filter)的功能。
如图17所示,为本发明应用于处理边缘检测(Edge detction)及平滑(smoothing)的阵列结构图,它是使用四个处理元件(Processing Element)PE1、PE2、PE3、PE4来进行说明的,而处理元件PE1、PE2、PE3、PE4的内部受控制器的控制处于第二模式下,同时还用到先进先出存储栈100,并以计算y30=X50 W20+X51 W21+X52 W22 y31=X51 W20+X52 W21+X53 W22+X40 W10+X41 W11+X42 W12 +X41 W10+X42 W11+X43 W12+X30 W00+X31 W01+X32 W02 +X31 W00+X32 W01+X33 W02y20=X40 W20+X41 W21+X42 W22 y21=X41 W20+X42 W21+X43 W22+X30 W10+X31 W11+X22 W12 +X31 W10+X32 W11+X33 W12+X20 W00+X21 W01+X22 W02 +X21 W00+X22 W01+X23 W02y10=X30 W20+X31 W21+X32 W22 y11=X31 W20+X32 W21+X33 W22
+X20 W10+X21 W11+X22 W12 +X21 W10+X22 W11+X23 W12+X10 W00+X11 W01+X12 W02 +X11 W00+X12 W01+X12 W02y00=X20 W20+X21 W21+X22 W22 y01=X21 W20+X22 W21+X23 W22+X10 W10+X11 W11+X12 W12 X11 W10+X12 W11+X13 W12+X00 W00+X01 W01+X02 W02 +X01 W00+X02 W01+X03 W02上述算式为例说明,它由处理元件PE1计算y30、y31,处理元件PE2计算y20、y21,处理元件PE3计算y10、y11,处理元件PE4计算y00、y01,至于其数据输入流程,各控制信号的动作(请配合参照图18、图19)说明如下它是以控制信号5控制多路复用器Mu11、Mu12、Mu13、Mu14所选择的输入数据的,而控制信号6则控制多路复用器Mu21、Mu22、Mu23、Mu24,另外控制信号911、912、913具有处理先进先出存储栈100数据读出、数据写入及复位控制的功能,而数据的载入与运算受各控制信号的动作而能同时进行,待运算完毕后就将控制信号12的状态设定为0(低电位),并将运算结果载入寄存器ro1、ro2、ro3、ro4以供输出使用。
图20为本发明处理二维离散余弦转换(TWO-Dimensional DCT)的阵列架构图,处理元件PE1、PE2、PE3是处于第一模式下的,并且用到对常数寄存器档(constant register file)101,数据寄存器档(Data register file)113,译码器(Decoder)112以及三态缓冲器(Tristate buffer)111的控制,现以计算
为例说明,此为计算[Xij]矩阵的二维离散余弦转换[Zij],是先计算 至于数据的载入、运算及各控制信号的动作,则配合参照图21、图22以及图23,现说明如下如图21所示,先将a(ij)数据载入处理元件PE1、PE2、PE3内的常数寄存器档101中,而后将X(ij)数据由多端口存储器(Multi-Port Memory)M载入寄存器rb(如图22所示),运算求得y00、y01、y02(PE1)、y10、y11、y12(PE2),y20、y21,y22(PE3)数据,再利用三态缓冲器(Tristate buffer)111及译码器112产生的控制信号使y(ij)(顺序为y00,y01,y02,y10,y11,y12,y20,y21,y22)数据回传至处理元件作运算输入,则可完成二维离散余弦转换(Two-Dimensional DCT)的运算。
而图24所示为本发明二维阵列架构的实施例图,用来计算二维离散余弦转换的过程,其以六个处理元件(如图25所示)PE11、PE12、PE21、PE22、PE31、PE32来进行说明,至于数据载入、各控制线动作流程及运算方式(请配合参照图26、图27、图28),现说明如下先将a(ij)数据载入处理元件PE11、PE21、PE31、PE12、PE22、PE32内的常数寄存器档(constant register file)101内,(如图26所示),而后由多端口存储器(Multi-Port Memory)M将X(ij)数据由寄存器rb送入,在处理元件PE11、PE21、PE31运算求得y(ij)数据(如图27所示),再通过Ob输入到处理元件PE12、PE22、PE32中,使处理元件PE12求得Z00、Z10、Z20数据,处理元件PE22求得Z01、Z11、Z21,处理元件PE32求得Z02、Z12、Z22数据(如图28所示),从而达成处理二维离散余弦转换的功能。
图29为本发明二维阵列架构(n×m个处理元件),应用于处理影像移动评估(Motion estimation)以及样板比对(template matching)的实施例阵列架构图,其中P1、P2、Pm为可编程延迟器(programmable delay),并且以3×3的处理阵列来说明(如图30所示),其中P1、P2为3个时钟周期的延迟器,而其处理元件PE11、PE12、PE13、PE21、PE22、PE23、PE31、PE32、PE33的内部结构处于第六模式下(如图9所示),并以计算Z20=|X20-Y40|+|X21-Y41|+|X22-Y42|+|X10-Y30|+|X11-Y31|+|X12-Y32|+|X00-Y20|+|X01-Y21|+|X02-Y22|Z21=|X20-Y41|+|X21-Y42|+|X22-Y43|+|X10-Y31|+|X11-Y32|+|X12-Y33|+|X00-Y21|+|X01-Y22|+|X02-Y23|Z22=|X20-Y42|+|X21-Y43|+|X22-Y44|+|X10-Y32|+|X11-Y33|+|X12-Y34|+|X00-Y22|+|X01-Y23|+|X02-Y24|Z10=|X20-Y30|+|X21-Y31|+|X22-Y32|+|X10-Y20|+|X11-Y21|+|X12-Y22|+|X00-Y10|+|X01-Y11|+|X02-Y12|Z11=|X20-Y31|+|X21-Y32|+|X22-Y33|+|X10-Y21|+|X11-Y22|+|X12-Y23|+|X00-Y11|+|X01-Y12|+|X02-Y13|Z12=|X20-Y32|+|X21-Y33|+|X22-Y34|
+|X10-Y22|+|X11-Y23|+|X12-Y24|+|X00-Y12|+|X01-Y13|+|X02-Y14|Z00=|X20-Y20|+|X21-Y21|+|X22-Y22|+|X10-Y10|+|X11-Y11|+|X12-Y12|+|X00-Y00|+|X01-Y01|+|X02-Y02|Z01=|X20-Y21|+|X21-Y22|+|X22-Y23|+|X10-Y11|+|X11-Y12|+|X12-Y13|+|X00-Y01|+|X01-Y02|+|X02-Y03|Z02=|X20-Y22|+|X21-Y23|+|X22-Y24|+|X10-Y12|+|X11-Y13|+|X12-Y14|+|X00-Y02|+|X01-Y03|+|X02-Y04|为例说明请配合参照图31、图32,它是以处理元件PE11计算Z20,PE12计算Z21,PE13计算Z22,PE21计算Z10,PE22计算Z11,PE23计算Z12,PE31计算Z00,PE32计算Z01,PE33计算Z02的,而且都能以运算达到处理影像移动评估(Motion estimation)以及样板比对(tempiate matching)的功能。
图33为本发明采用分阶管线式架构的实施例阵列架构图,它是将管线式与心跳式单指令多数据流阵列处理架构2001、2002……至200n以n个阵列处理架构,以管线式(pipelined)方法连接的,成为分阶管线式(stage pipelined)架构,并可与微处理器(Microprocessor)或数字信号处理器(DSP processor)1001相结合,有助于增加运算速度,而以计算1008点的离散傅利叶变换(DFT)为例(如图34所示),它是在微处理器(Microprocessor)或数字信号处理器(DSP processor)1001两端串接计算7点离散傅利叶变换的管线式与心跳式及单指令多数据流的阵列处理架构3000、计算9点离散傅利叶变换的管线式与心跳式及单指令多数据流的阵列处理架构3001、以及计算16点离散傅利叶变换的管线式与心跳式及单指令多数据流的阵列处理架构3002,以此架构来运算处理,即能达到计算1008点的离散傅利叶变换(DFT),且其运算速度倍增的功能。
图35所示,为本发明与心跳式结构(systolic Architecture)相结合的实施例阵列架构图,它可以在阵列处理架构的前后,与多个处理元件所组成的心跳式结构连接,并连接控制微处理器(Microprocessor)或数字信号处理器(DSP processor),而以图35为例说明,它是在两组管线式与心跳式及单指令多数据流的阵列处理架构4000、4001之间,加入数组处理元件PE1-PEn,而构成一心跳式结构(systolic Architecture)4002,并可与微处理器或数字信号处理器相结合,现以影像压缩系统为例说明(如图36所示),它是使用二维离散余弦转换(DCT)的管线式与心跳式及单指令多数据流的阵列处理架构5000,及反向二维离散余弦转换(IDCT)的管线式、心跳式、单指令多数据流的阵列处理架构5001与心跳式结构5002相连接的,并且二维离散余弦转换的管线式与心跳式及单指令多数据流的阵列处理架构5000、及二维反向离散余弦转换的管线式与心跳式及单指令多数据流的阵列处理架构5001均与控制微处理器(Microprocessor)或数字信号处理器(DSP processor)1001连接,而心跳式结构内部包含于数个处理元件的连接,有量化器(Quantizer)PE11、斜向扫描器(Zig-Zag scan processor)PE21、编码器(Coder)PE31、逆量化器(Dequantizer)PE12、逆斜向扫描器(inverse Zig-Zag scan processor)PE22、译码器(Decoder)PE32以及多路复用器Mul,其各处理元件皆以心跳式方法连接,并有一控制信号19来控制多路复用器Mul的数据传输选项,而能达成影像压缩的功效。
综上所述,本发明的管线式与心跳式及单指令多数据流的阵列处理架构及其方法,其对于数据的运算、转移、输入/输出,皆能按各控制信号的控制同时进行,使其运算时间较为节省,而同时亦能节省数据载入所耗费的大量时间、连接线,并能制成一单片,具有商业价值,且本发明并未曾见于相关产业界,符合专利法要件,故依法提出此项发明专利申请。
权利要求
1.一种管线式与心跳式及单指令多数据流的阵列处理架构,其特征在于由数个管线式处理元件串接为主体结构,并在处理元件的输入端设有多组串接的寄存器组,而寄存器组均与多端口存储器连接,同时在这些寄存器的数据传送口设有多路复用器,而在各处理元件的输出端设有寄存器及多路复用器,并在此结构的外部接设一控制器,此控制器连接控制各寄存器、多路复用器、处理元件以及多端口存储器。
2.一种管线式与心跳式及单指令多数据流的阵列处理方法,其特征在于在处理元件的输入及输出端,以混合广播式及心跳式的方法串组各寄存器,并在寄存器之间加入多路复用器进行数据转移的选择,同时处理元件输出的数据亦可进行返回输入,使数据传输应用得当,同时数据的转移、运算及输入/输出可同时进行处理。
3.如权利要求1所述的管线式与心跳式及单指令多数据流的阵列处理架构,其特征在于管线式处理元件包含有先进先出存储栈、常数寄存器档、乘法器、加法器、绝对差值运算元件、数据寄存器档、三态缓冲器、译码器、寄存器以及多路复用器,并且连接一控制器以供其处理元件产生六种不同运算模式。
4.如权利要求1所述的管线式与心跳式及单指令多数据流的阵列处理架构,其特征在于处理元件的主体结构是采用二维阵列连接的。
5.如权利要求1所述的管线式与心跳式及单指令多数据流的阵列处理架构,其特征在于它是采用分阶管线式的阵列架构与微处理器或数字信号处理器相结合的。
6.如权利要求1所述的管线式与心跳式及单指令多数据流的阵列处理架构,其特征在于在阵列处理架构的前后,与多个处理元件所组成的心跳式结构连接,并与控制微处理器或数字信号处理器相连接。
全文摘要
一种管线式与心跳式及单指令多数据流的阵列处理架构及其方法,它包括管线式处理元件、寄存器以及多路复用器等组成;它在各处理元件的输入端及输出端加上数个寄存器及多路复用器进行数据转移,以混合广播式及心跳式的方式传送数据进出各处理元件,并由单一控制器控制,使本发明可用以实现处理运算、移位、转换等功能,促使其处理速度更为快速,且各处理元件仅需使用少量内部存储器,并通过对多端口存储器的控制,存储器的使用更有效率。
文档编号G06F15/80GK1107597SQ94101719
公开日1995年8月30日 申请日期1994年2月24日 优先权日1994年2月24日
发明者吴乾弥 申请人:吴乾弥
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1