数据处理装置的制作方法

文档序号:6497285阅读:131来源:国知局
专利名称:数据处理装置的制作方法
技术领域
本发明涉及一种可重新配置的数据处理装置。
背景技术
近年,需求一种具有可以实现和DSP(Digital Signal Processor,数字信号处理器)相比的灵活性(可编程性)且和ASIC(Application Specific IntegratedCircuit,专用集成电路)相比的高速、并列处理的可重新配置的数据处理装置。
对应如此需求,如果通过FPGA(Field Programmable Gate Array,现场可编程门阵列)来实现可重新配置的数据路径(data path)的话,因为FPGA为了实现任意的逻辑函数需要具备按每个位都可重新配置的运算器,所以用来重新配置的数据(配置数据)的数据量会变多,导致重新配置的时间变长,从而使电路的动作速度变慢。
于是,通过将ALU(Arithmetic and Logic Unit,算术逻辑单元)排列成矩阵的阵列型处理器而实现可重新配置的数据路径的技术被探讨了。在阵列型处理器中,数据因为可以用4位、8位、16位、32位等的总线单位来处理,比起通过FPGA来实现数据路径的技术,具有处理速度快而且仅需较少的ALU配置数据的优点。
但是,因为多数的应用不只是适应ALU的处理,还包括需要以位为单位的处理的部分,所以将这样的应用安装在阵列型处理器上时,位处理部分会成为瓶颈而导致处理速度的下降或增大所需的资源(ALU的数目)。
为了解决该问题,一般认为将ALU处理器和位处理器组合在一起来使用是有效的。
作为以往的将ALU处理器和位处理器组合在一起的数据处理装置,有(1)将总线化的子阵列和未总线化的子阵列相连接的结构(诸如专利文献1),或(2)在阵列型处理器的所有的构成要素(处理器部件、单元)中具有处理位数不同的多个运算器,或具有可对应多个运算器而设置多种位宽度的总线的结构(诸如专利文献2)等技术方案被提出了。
国际专利申请公开公报2002-544700号[专利文献2]日本专利申请公开公报2003-076668号发明内容但是,(1)的常规结构有2个子阵列之间的通信会成为瓶颈而导致整体的性能降低的问题。
另外,(2)的常规结构,具有以下问题,即,因为分别安装了具有多种位宽度的总线,所以布线会增多而使总线的利用率下降,从而导致处理器部件中的运算器的利用率下降;而且因为需要设定多个运算器来进行位宽度转换的处理,所以配置数据量会增大。
本发明旨在提供一种具备可重新配置的数据路径的数据处理装置,可以分别高效地进行ALU处理和位处理,从而实现高速·并列处理。
本发明的数据处理装置,包括具有n位(n为自然数)的输入输出端口并进行ALU处理的多个第1单元;以及具有n位的输入输出端口并进行ALU处理的1个或多个第2单元,并将所述各个单元用n位总线的网络连接起来。
根据本发明,可以通过进行位处理的1个单元来进行多种位的运算,将ALU处理和位处理分别高效地进行,实现高速、并列处理。该结果可以使单元内部的结构和网络变得简单,将所需的配置数据量变少,以便实现面积小且高速动作的可重新配置的数据路径。


图1是表示本发明的一个实施方式涉及的数据处理装置的单元的配置结构的例子的图。
图2是表示所述实施方式涉及的数据处理装置的A单元的内部的逻辑电路的图。
图3是表示所述实施方式涉及的数据处理装置的B单元的内部的逻辑电路的图。
图4是表示卷积编码电路的电路结构的图。
图5是表示在图1的数据处理装置中设置图4所示的卷积编码电路时的电路结构的图。
图6是表示在图1的数据处理装置中设置图4所示的卷积编码电路时的电路结构的图。
图7是表示图5以及图6的B 1单元的内部的逻辑电路的图。
图8是表示图5的B2单元的内部的逻辑电路的图。
图9是表示图5的B3单元的内部的逻辑电路的图。
图10是表示CRC运算电路的电路结构的图。
图11是表示在图1的数据处理装置中设置图10所示的CRC运算电路时的电路结构的图。
图12是表示在图1的数据处理装置中设置图10所示的CRC运算电路时的电路结构的图。
图13是表示图11的B1单元的内部的逻辑电路的图。
图14是表示图11的B2单元的内部的逻辑电路的图。
图15是表示图11的B3单元的内部的逻辑电路的图。
图16是表示图11的B4单元的内部的逻辑电路的图。
图17是表示所述实施方式涉及的数据处理装置的A单元的内部的逻辑电路的图。
图18是表示所述实施方式涉及的数据处理装置的B单元的内部的逻辑电路的图。
具体实施例方式
本发明的要点在于配置多个进行ALU处理的单元和进行位处理的单元,每个单元具有n位的输入输出端口,将各个单元用n位总线的网络连接起来,而且在进行位处理的单元中,当输出位数小于n时,将与输出无关的阶的位固定成“0”或“1”。
以下,参照附图详细说明本发明的实施方式。
(实施方式)在本实施方式中,如图1所示将进行ALU处理的A单元100和进行位处理的B单元150按3∶1的比例排列配置成数据处理装置。另外,在图1中,A单元100和B单元150都具有4位的输入端口,总线宽度为4位。
A单元100如图2所示包括选择器201、ALU202、寄存器文件203、总线开关204、205。另外,A单元100在配置存储器中(未示出)存储着用来控制单元内的电路部件的配置信息,也就是ALU202实行的命令,选择器201的连接方法,总线开关204、205的连接方法的信息。通过改写配置存储器中的内容,可以再构成单元的功能和单元之间的网络。
选择器201基于配置信息,从来自总线的输入或存储于寄存器文件203中的值,选择输入到ALU202的2个值。ALU202对2个输入数据,根据配置信息进行加法、减法、逻辑或、逻辑与、异或和1位移位中的指定运算。寄存器文件203存储ALU202的运算结果。总线开关204、205,根据配置信息将来自ALU202以及寄存器文件203的输出转送出去。
B单元150如图3所示,包括逻辑电路301、选择器302、位屏蔽电路303、总线开关304、305。另外B单元150在配置存储器中(未示出)存储着用来控制单元内的电路部件的配置信息,也就是存储表示逻辑电路实行的逻辑函数,选择器的连接方法,总线开关的连接方法,位屏蔽电路使用的屏蔽的值的信息。
逻辑电路301为4个输入和1个输出的可重新配置的电路,根据配置信息来进行指定的逻辑运算。选择器302根据配置信息,选择输入到位屏蔽电路303的输入。位屏蔽电路303根据配置信息,通过和屏蔽值进行AND运算或OR运算,将输出的规定的位固定成“0”或“1”。总线开关304、305,根据配置信息将来自位屏蔽的输出转送出去。
以下作为第1个例子,说明将图4所示的卷积编码电路设置在图1的数据处理装置的情形(图5、图6)。另外,图6是将和图5等效的电路映射在图1的阵列上的图。
在图5中,电路501实现了图4的并行-串行转换电路401,电路502实现了图4的8位移位寄存器402,电路503、504分别实现了图4的8位输入奇偶校验树403。
另外,在图5中,4位的并行数据每4时钟输入(input)一次,经编码处理的数据输出到4位总线中的低位2位。
图7、8、9是表示在图5的B1单元151、B2单元152、B3单元153的内部进行运算的图。图7的B1单元151,通过逻辑电路301进行4位输入奇偶校验运算,而且通过位屏蔽电路303对分配给4位的信号和“0001”进行AND运算,并将运算结果1位输出到最低位,将“0”输出到其它位。图8的B2单元152,通过逻辑电路301进行4位输入奇偶校验运算,而且通过位屏蔽电路303对分配给4位的信号和“0010”进行AND运算,并将运算结果1位输出到第2位,将“0”输出到其它位。图9的B3单元153提取通过逻辑电路301输入的最高位并将其分为4位,随后通过位屏蔽电路303来与“0011”进行AND运算,并将和输入的最高位相同的值输出到最低位以及第2位,将“0”输出到其它位。
在此,为了将和B1单元151同样的功能通过A单元100来实现,需要5个A单元100。另外,为了将和B2单元152同样的功能通过A单元100来实现,需要5个A单元100。另外,为了将和B3单元153同样的功能通过A单元100来实现,需要2个A单元100。
另外,通过所述以往的(1)的结构安装卷积编码电路的话,结构化阵列(总线化阵列)和非结构化阵列(位处理阵列)的阵列之间的通信会变多,将这2个阵列很好地协同起来使用非常难,最后只有将所有的电路全都映射到非结构化阵列上。结果,配置数据量变多,电路的可操作速度会变慢,对FPGA的优势荡然无存。
另外,通过所述以往的(2)的结构安装卷积编码电路的话,需要和本发明同等的单元数(处理器部件数),和本发明相比,各个单元变得复杂,因为具有2种总线所以布线量会增多,面积会增大,配置数据量会增加。
综上所述,本发明的数据处理电路,配置了多个进行ALU处理的单元和进行位处理的B单元,每个单元都有n位的输入输出端口,将各个单元用n位总线的网络连接起来。
由此,可以通过进行位处理的1个单元来进行多种的位运算,将ALU处理和位处理分别高效地进行,实现高速、并列处理,利用少量的单元来实现卷积编码电路。另外,因为可以使用n位统一起来的网络,所以可以使布线减少,面积变小,所需的配置数据的量减少。
而且,通过分散配置位处理单元、ALU处理单元,可以使通信分散,全局布线减少。
接下来,作为第2个例子,说明将如图10所示的CRC运算电路设置在图1的数据处理装置的情形(图11、图12)。另外,图12是将和图11等效的电路映射在图1的阵列上的图。在此,利用3个B单元150(B2单元152、B3单元153、B4单元154)来实现和电路1104的3个A单元100同等的功能,以此来实现在图1的阵列上的映射。
在图11中,电路1101实现了图10的并行-串行转换电路1001,电路1102实现了图10的由24位移位寄存器构成的CRC运算电路1002,电路1103实现了用于做出生成多项式的电路1003。另外,在B2单元152、B3单元153、B4单元154存储着作为屏蔽的生成多项式的位表达式,电路1103当移位寄存器的最高位为“1”时,输出生成多项式;当最高位为“0”时,输出“0”。
图13、14、15、16,是表示在图11的B1单元151、B2单元153、B3单元152、B4单元154的内部进行的运算的图。图13的B1单元151将输入的最高位取出,并输出到各阶的位。图14的B2单元152将最低位、第2位的输入原封不动地输出,将“0”输出到其它的位。图15的B3单元153将第2位、第3位的输入原封不动地输出,将“0”输出到其它的位。图16的B4单元154将最低位、第2位、第3位的输入原封不动地输出,将“0”输出到最高位。
另外,B2单元152、B3单元152、B4单元154利用常数进行AND操作,所以通过A单元100也可以实现。
另外,本实施方式说明了将A单元100、B单元150按网格状进行排列的情形,本申请发明不限定单元的配置状态,树形构造等有规则地排列也可以。
另外,本申请发明如图17所示,可以将某个A单元100中的ALU的进位输出(carry-out)和其它的一个A单元100中的ALU的进位输入(carry-in)相连接。由此,可以进行n位以上的运算。
另外,本申请发明通过向B单元150的逻辑电路301添加1位来实现n+1位和输入1位输出的任意的逻辑函数的电路,如图18所示,可以将1个A单元100中的ALU的进位输出(carry-out)作为B单元150中的输入,也可以将B单元150中的逻辑电路301的输出和其它的A单元100中的进位输入(carry-in)相连接。该结果,A单元100的进位输出(carry-out)会输入到B单元150的逻辑电路301的添加的1位的部分。由此,可以保持和图17的A单元100具有良好的相容性,网络拓扑结构(形状)的均一性。
另外,本申请发明在B单元150可以将逻辑函数通过查找表来实现。
本说明书是根据2003年10月17日申请的日本专利2003-357994号。其内容全部包含于此作为参考。
工业实用性本发明可以很好地适用于将总线化的ALU处理单元和位处理单元组合起来,具有可以重新配置的数据路径的数据处理装置。
权利要求
1.一种数据处理装置,包括具有n位的输入输出端口并进行ALU处理的多个第1单元,其中n为自然数;和具有n位的输入输出端口并进行位处理的1个或多个第2单元,其中将所述各个单元用n位总线的网络连接起来,其中n为自然数。
2.如权利要求1所述的数据处理装置,所述第2单元当输出位数小于n时,将与输出无关的阶的位固定成“0”或“1”。
3.如权利要求2所述的数据处理装置,所述第2单元包括实现n位输入和1位输出的任意的逻辑函数的电路;以及将该输出分配给n位并实施任意的屏蔽给所分配的n位信号的电路。
4.如权利要求1所述的数据处理装置,其中将1个第1单元中的ALU的进位输出和其它的1个第1单元中的ALU的进位输入相连接。
5.如权利要求4所述的数据处理装置,其中使第2单元的逻辑电路为实现n+1位输入和1位输出的任意的逻辑函数的电路;将1个第1单元中的ALU的进位输出作为所述第2单元的输入;和将所述第2单元的逻辑电路的输出和其它的A单元中的进位输入相连接。
全文摘要
一种可以重新配置的数据处理装置。在该装置中,配置了多个进行ALU处理的A单元(100)(cell)和进行位处理的B单元(150),每个单元都有n位的输入输出端口,将各个单元用n位总线的网络连接起来。而且,在B单元(150)中,当输出位数小于n时,将与输出无关的阶的位固定成“0”或“1”。由此,组合总线化的ALU处理单元和位处理单元来处理数据时,可以分别高效率地进行ALU处理和位处理,从而实现高速、并列处理。
文档编号G06F15/78GK1867887SQ200480030558
公开日2006年11月22日 申请日期2004年10月6日 优先权日2003年10月17日
发明者本塚裕幸, 山中隆太朗 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1