粗粒度可重配置计算结构中数据输入输出结构的制作方法

文档序号:6573480阅读:347来源:国知局
专利名称:粗粒度可重配置计算结构中数据输入输出结构的制作方法
技术领域
本发明涉及一种数据输入输出结构,特别是粗粒度可重配置计算结构中数据输入输出端口的设计结构。
背景技术
可配置计算又称为自适应计算,是由多个具有可重配置功能的处理单元(PE)和可以配置不同数据传递方向的连接线路一起构成的数据处理结构。目前,可配置计算主要分为两类细粒度配置和粗粒度配置。细粒度配置计算主要是指现场可编程逻辑门阵列FPGA,它在数字芯片开发和系统设计等方面应用非常广泛,但由于细粒度的原因,其实际逻辑单元仅占到实际芯片面积的10%,其余被开关、RAM、布线网络所占有,功耗和工作频率都不是非常理想,在处理一些规则运算,如乘法时效率不高。相对的,粗粒度可配置计算的粒度一般为8,16,32位等,非常适合进行算法级操作。
进入上世纪90年代,随着超大规模集成电路VLSI技术的发展,以可编程开关(program switch)为基础的粗粒度可配置计算结构不断被开发出来,并在图像滤波、特征提取、目标识别与跟踪、通讯算法等方面展示出了非凡的性能与潜力。表1列出的是国外大学中部分粗粒度可配置计算项目技术总结。
表1 现有项目技术总结


在这些项目中,虽然内部涉及的可重配置处理单元结构和功能各不相同,但由相应处理单元构成阵列的数据输入/输出结构却可大致分为两类(1)通过全局总线控制器或者交叉条(crossbar)实现可重配置处理单元阵列与外部的输入输出端口连接。在这种方式下,结构允许根据不同的配置需要,将某个处理单元中数据总线与外部端口相连。采用这种方式的结构主要有PADDI-1,PADDI-2,REMARC,COLT,KressArray,PipeRench。
(2)可重配置处理单元自身的数据输入/输出总线直接与外部接口相连。采用这种方式的结构主要有GarP,RAW,MorphoSys,CHESS,RaPiD。
对于这两种实现方式,都存在各自的不足。对于第一种方式,根据全局总线控制器或者交叉条的控制,外部端口与处理单元阵列中内部某个处理单元数据总线相连,外部端口数据通过此处理单元输入/输出。但面对类似下面的情况,如按顺序串行输入的数据每三个分为一组(a,b,c),在处理单元阵列映射(a*b+c)功能时,这种输入输出结构则无法完成。对于第二种结构设计方式,由于是直接将处理单元的数据引出,外部接口所需的位宽将随着输出数据总线的处理单元数目和数据总线的位宽的增加而增加。以16位MorphoSys为例,它的8*8处理单元阵列与微处理器的接口需要256位,如果处理单元阵列改为12*12,则与微处理器的接口需要384位,这使得接口部分所占芯片面积和控制复杂度增加。

发明内容
本发明的技术解决问题克服现有技术的不足,提供一种粗粒度可重配置计算结构中数据输入输出结构,既利于映射算法中数据的输入输出,又减少了输入输出端口。
本发明的技术解决方案粗粒度可重配置计算结构中数据输入输出结构,包括分散功能DEMUX模块、合并功能MERGE模块、RAM功能控制器、地址发生器、RAM和交叉条C1、C2、C3;交叉条C1为DEMUX模块选择输入的数据总线,被选的数据总线包括输入数据总线、相邻PEA数据输入和RAM输入数据,被C1选中后的数据输入到DEMUX模块,经DEMUX模块分散控制后的数据输入处理单元阵列PEA进行处理;从处理单元阵列PEA输出的多路数据总线经MERGE模块合并为一条数据总线输出,此数据通过交叉条C2控制后输出数据总线,或通过交叉条C2和交叉条C3的联合控制输入到RAM或者输出数据到相邻PEA;地址发生器和RAM功能控制器为正确执行RAM中数据操作产生必须的地址信息和控制信号;RAM读出的数据允许通过交叉条C3的控制,传递到交叉条C1或者输出数据到相邻PEA。
本发明与现有技术相比的优点在于(1)由于存在合并和分散功能模块后,将N+1个数据总线中的数据合并于一条数据总线中输入输出,可明显减少外部端口数量。
(2)输入数据经分散功能模块输入后,顺序输入的数据可分配给不同的处理单元,同时开始处理,能够实现类似下面的情况;输入数据每三个分为一组(a,b,c),在处理单元阵列中映射(a*b+c)功能。
(3)处理单元阵列PEA输出的数据经合并功能模块后,多个输入数据允许从一条输出数据总线中顺序输出,便于进行RAM操作。
(4)本发明采用由交叉条控制的数据传递路径,方便灵活,不但能够实现数据到处理单元阵列的输入输出,而且能够实现数据在处理单元阵列间的传递;同时,能够为接口结构中RAM内读出的数据建立一条输入处理单元阵列的数据路径。
(5)本发明的地址发生器中将DMA功能集成于接口结构之中,加快了数据的输入和输出,利于数据流的处理,充分发挥配置计算的优势。


图1为本发明的结构框图;图2为本发明中的分散功能DEMUX结构图;图3为本发明的分散功能DEMUX模块顺序接收4个输入数据时的功能示意图;图4为本发明的合并功能MERGE模块结构图;图5为本发明的合并功能MERGE模块合并4路输入数据功能示意图;图6为本发明的RAM功能控制器结构框图;图7为本发明的地址发生器结构框图;图8为发明采用的交叉条结构示意图;图9为发明的路径控制示意图。
具体实施例方式
如图1所示,本发明主要由分散功能DEMUX模块、合并功能MERGE模块、RAM功能控制器、地址发生器、RAM和交叉条C1、C2、C3组成。在图1中,各外部接口信号线分别定义为●‘相邻PEA数据输入’-表示相邻PEA输入到此输入输出接口结构的数据总线;●‘输出数据到相邻PEA’-表示此输入输出接口结构向相邻PEA输出的数据总线;●‘输出数据总线’-为此接口结构向外部输出的数据总线;●‘输入数据总线’-为外部向此接口结构输入的数据总线;●‘地址总线’-为此接口结构读取外部数据随机存储器(SRAM)时必需的地址总线;
●RD、WR-为此输入/输出结构读写外部RAM数据提供控制信号。
交叉条C1、C2、C3控制数据传递路径,为功能模块选择合理的输入数据总线和输出数据方向,交叉条C1为DEMUX模块选择输入的数据总线,被选的数据总线包括输入数据总线、相邻PEA数据输入和RAM输入数据,被C1选中后的数据输入到DEMUX模块,经DEMUX模块分散控制后的数据输入处理单元阵列PEA进行处理;从处理单元阵列PEA输出的多路数据总线经MERGE模块合并为一条数据总线输出,此数据通过交叉条C2控制后输出,或通过交叉条C3,输入到RAM或者输出数据到相邻PEA;地址发生器和RAM功能控制器为正确执行RAM中数据操作产生必须的地址信息和控制信号,针对RAM的数据操作主要有DMA方式读,DMA方式写,和根据输入的地址数据进行读操作,针对RAM的控制信号包括数据写入控制信号WR和数据读出控制信号RD;RAM读出的数据通过交叉条C3的控制,反馈到交叉条C1或者输出数据到相邻PEA,成为RAM输入数据。
如图2所示,本发明中的分散功能DEMUX模块由数据计数器、配置代码寄存器、数据存储位置表、N+1个译码器、N+1个数据寄存器、最大计数值寄存器、路由选通电路单元组成。配置代码寄存器作用是预先存储配置数据,分为两部分高(m+1)比特作为第一部分,其余的4×(N+1)比特,每4比特一组,作为第二部分,其N与m的关系为m=[log2(N+1)],]]>[]的含义是取整。数据存储位置表内部由N+1个寄存器组成,其内部寄存的数据指输入数据的存储位置。m位数据计数器主要负责对输入的有效数据进行计数;最大计数值寄存器存储的是分散功能模块分散输出的数据总线数目。数据寄存器x(x=0,1,......N)在数据输出触发信号作用下,允许将内部寄存器中存储的数据从输出数据总线x(x=0,1,......N)输出。
配置代码寄存器内部的第一部分、第二部分数据分别与最大计数值寄存器和数据存储位置表相连,外部输入数据分别输入到m位数据计数器和各个数据寄存器的路由选通电路switch,m位数据计数器将记录的输入数据数目同时输入到数据存储位置表和最大计数值寄存器,为输入数据读取内部寄存器指定的存储位置信息,送入各个路由选通电路对应的译码电路。译码电路负责控制路由选通电路。m位数据计数器与最大计数值寄存器相连,一旦记录的输入数据个数与最大计数值寄存器的数据相等,则会产生控制信号,此控制信号一方面作为m位数据计数器的清零信号,另一方面作为数据输出触发信号触发数据寄存器x(x=0,1,......N)向外部输出数据。
如图3所示,本发明的分散功能DEMUX模块顺序串行接收4个输入数据,并同时并行从输出数据总线1,2,3,4中输出接收到的4个数据。
如图4所示,本发明的数据合并功能MERGE模块主要由有效数据标志字寄存器,配置代码1寄存器,配置代码2寄存器,数据存储位置表,最大计数值寄存器,计数器,‘1’保持器,存储数据寄存器,路由选通电路及逻辑比较电路组成。有效数据标志字寄存器由N+1位组成,每位分别对应外部输入数据x(x=0,1,......N),当外部输入数据有效时,寄存器中相应位置‘1’,否则清零。‘1’保持器作为高电平保持器,在输入触发信号的作用下,输出维持高电平,直到有清零信号到来,恢复为低电平。存储数据寄存器内部由N+1个寄存器组成,能够同时并行存储外部输入数据;并根据输入的地址信息,读出相应寄存器中的数据,向外部输出。数据存储位置表内部由N+1个寄存器组成,其内部寄存的数据指示的是输入数据的存储位置。数据计数器主要负责对输入的有效数据进行计数;最大计数值寄存器存储的是合并功能模块将合并输入的数据总线数目。配置代码1寄存器预先存储的是输入数据总线中将被合并输出的数据总线信息,由N+1位组成,每位分别对应外部输入数据x(x=0,1,......N),当某一位置‘1’时,说明此位对应的外部输入数据将被合并输出。配置代码2寄存器预先存储的配置数据分为两部分高(m+1)比特作为第一部分,其余的4×(N+1)比特,每4比特一组,作为第二部分,其N与m的关系为m=[log2(N+1)].]]>外部输入的有效数据在输入到存储数据寄存器的同时,数据中的有效信息输入到有效数据标志字寄存器,它与预先存储的配置代码1寄存器中的数据经逻辑比较电路,形成控制信号。在此控制信号有效时,触发‘1’保持器,使能计数器。计数器从零开始对时钟信号进行计数;并同时切断外部输入数据路由选通电路,阻止此功能模块接收新的外部输入数据。输出的计数值同时输入到数据存储位置表和最大计数值寄存器。数据存储位置表会读取输入数据指示的内部寄存器中位置信息,送入存储数据寄存器,以向外部输出数据。计数器与最大计数值寄存器相连,一旦计数值与最大计数值寄存器的数据相等,则会产生控制信号,恢复‘1’保持器为低电平状态。
如图5所示,本发明的合并功能MERGE模块并行接收4个输入数据总线中的数据,并顺序串行从输出数据总线中输出数据。
如图6所示,本发明的RAM功能控制器主要由计数器,长度寄存器,DMA传输数据长度配置存储器,RAM功能配置存储器,功能控制寄存器,读写信号发生器和逻辑比较电路组成。计数器负责在DMA工作方式下对输入的时钟进行计数,同时此时钟信号作为递增功能触发信号向外输入到地址发生器中。RAM功能配置存储器是一个3位的寄存器,分别与功能控制寄存器中的各位相对应,定义模块允许的工作方式DMA读(read),DMA写(write),正常读(general read)。读写信号发生器负责产生读取外部RAM的读写信号。
DMA传输数据长度配置存储器和RAM功能配置存储器预先存储的配置数据分别写入长度寄存器和功能控制寄存器。功能控制寄存器中的DMA方式控制位与时钟信信号经过逻辑组合后,即向外输出控制信号,成为递增功能触发信号,又输入到计数器对其进行计数。计数器中的数值与长度寄存器同时输入逻辑比较电路。如果比较一致,则形成DMA结束信号向外输出;否则,允许读写信号发生器在DMA方式下产生读写信号。外部输入数据总线形成的有效数据标志字寄存器在正常读方式下,在读写信号发生器内部与时钟信号经逻辑组合形成向外输出的读RD、写WR控制信号。
如图7所示,本发明中的地址发生器模块主要由递增功能控制器,DMA起始地址配置寄存器,RAM功能配置存储器,功能控制寄存器和有效数据标志字寄存器单元组成。递增功能控制器负责在DMA方式工作时,对初始输入的数据在外部递增功能触发信号的作用下,不断加1,并从输出地址总线输出;在正常读写工作方式时,则仅是将输入的数据作为地址直接输出。DMA起始地址配置寄存器负责配置DMA方式工作时的起始地址信息;RAM功能配置存储器是一个3位的寄存器,分别与功能控制寄存器中的各位相对应,定义模块允许的工作方式DMA读(read),DMA写(write),正常读(general read)。
外部输入数据总线和DMA起始地址配置寄存器中的数据同时输入到内部的多路选择器,多路选择器选择的数据输入递增功能控制器。多路选择器的选通控制信号主要依靠两个信号实现DMA工作方式下与延迟输入的外部配置命令经组合逻辑形成的控制信号;正常读方式下外部输入数据总线形成的数据有效信号。
图1中,C1,C2,C3是交叉条,起到的作用是根据不同的配置信息,控制数据传递的路径,图8为本发明采用的交叉条的结构图。在这些路由开关的控制作用下,能够根据需要,形成如图9所示的数据传递路径。
如图9所示,INx→DEMUXx,MERGEx→OUTx(x1,2)为数据的输入、输出控制;MERGE1→RAM1,MERGE2→RAM3为从处理单元阵列到RAM的路径;RAM1→DEMUX2,RAM3→DEMUX2,RAM1→DEMUX1,RAM15→DEMUX1为从RAM到处理单元阵列的路径;RAM15→RAM1,RAM1→RAM3为相邻RAM块之间的数据传递路径。INx→DEMUXx完成数据的分散功能,将外部输入的数据根据配置的不同情况,分成多路数据,同时输入到PEA阵列;MERGEx→OUTx完成数据的合并功能,将PEA阵列向外输出的数据,合并后从一条数据总线输出。RAM15→RAM1,RAM1→RAM3在实现RAM间数据传递的同时,也能够实现数据间接寻址功能。以RAM15→RAM1为例,首先在RAM15中按顺序存储准备在RAM1中读出数据的地址信息,然后顺序读取RAM15中的数据,并传递给RAM1作为地址信息,则RAM1输出的数据内容即是本发明所期望地址的数据。
权利要求
1.粗粒度可重配置计算结构中数据输入输出结构,其特征在于包括分散功能DEMUX模块、合并功能MERGE模块、RAM功能控制器、地址发生器、RAM和交叉条C1、C2、C3;交叉条C1为DEMUX模块选择输入的数据总线,被选的数据总线包括输入数据总线、相邻PEA数据输入和RAM输入数据,被C1选中后的数据输入到DEMUX模块,经DEMUX模块分散控制后的数据输入处理单元阵列PEA进行处理;从处理单元阵列PEA输出的多路数据总线经MERGE模块合并为一条数据总线输出,此数据通过交叉条C2控制后输出数据总线,或通过交叉条C2和交叉条C3的联合控制输入到RAM或者输出数据到相邻PEA;地址发生器和RAM功能控制器为正确执行RAM中数据操作产生必须的地址信息和控制信号;RAM读出的数据通过交叉条C3的控制,传递到交叉条C1或者输出数据到相邻PEA。
2.根据权利要求1所述的粗粒度可重配置计算结构中数据输入输出结构,其特征在于所述的分散功能DEMUX模块具有一路外部输入数据总线,N+1路外部输出数据总线,包括数据计数器、配置代码寄存器、数据存储位置表、N+1个译码器、N+1个数据寄存器、最大计数值寄存器、路由选通电路;配置代码寄存器预先存储配置数据;数据存储位置表内部由N+1个寄存器组成;m位数据计数器对输入的有效数据进行计数;最大计数值寄存器存储输出的有效数据总线数目;数据寄存器x,x=0,1,......N在数据输出触发信号作用下,将内部寄存器中存储的数据从输出数据总线输出;配置代码寄存器内部与最大计数值寄存器和数据存储位置表相连,外部输入数据分别输入到m位数据计数器和各个数据寄存器的路由选通电路,m位数据计数器将记录的输入数据数目同时输入到数据存储位置表和最大计数值寄存器,数据存储位置表会读取输入数据指示的内部寄存器中位置信息,送入各个路由选通电路对应的译码电路,译码电路负责控制路由选通电路,m位数据计数器与最大计数值寄存器相连,一旦记录的输入数据个数与最大计数值寄存器的数据相等,则会产生控制信号,此控制信号一方面作为m位数据计数器的清零信号,另一方面作为数据输出触发信号触发数据寄存器x,x=0,1,......N向外部输出数据。
3.根据权利要求2所述的粗粒度可重配置计算结构中数据输入输出结构,其特征在于所述的配置代码寄存器分为两部分高(m+1)比特作为第一部分,其余的4×(N+1)比特,每4比特一组,作为第二部分,其N与m的关系为m=[log2(N+1)].]]>
4.根据权利要求1所述的粗粒度可重配置计算结构中数据输入输出结构,其特征在于所述的合并功能MERGE模块具有N+1路外部输入数据总线,一路外部输出数据总线,包括有效数据标志字寄存器、配置代码1寄存器、配置代码2寄存器、数据存储位置表、最大计数值寄存器、计数器、‘1’保持器、存储数据寄存器、路由选通电路及逻辑比较电路;有效数据标志字寄存器由N+1位组成,每位分别对应外部输入数据x,x=0,1,......N,当外部输入数据有效时,有效数据标志字寄存器中相应位置‘1’,否则清零;‘1’保持器作为高电平保持器,在输入触发信号的作用下,输出维持高电平,直到有清零信号到来,恢复为低电平;存储数据寄存器内部由N+1个寄存器组成,能够同时并行存储外部输入数据,并根据输入的地址信息,读出相应寄存器中的数据,向外部输出;数据存储位置表由N+1个寄存器组成,其内部寄存的数据指示输入数据的存储位置;数据计数器对输入的有效数据进行计数;最大计数值寄存器存储被合并输出的输入数据总线数目;配置代码1寄存器预先存储输入数据总线中将被合并输出的数据总线信息,由N+1位组成,每位分别对应外部输入数据x,x=0,1,......N,当某一位置‘1’时,此位对应的外部输入数据将被合并输出,配置代码2寄存器预先存储配置数据;外部输入的有效数据在输入到存储数据寄存器的同时,数据中的有效信息输入到有效数据标志字寄存器,它与预先存储的配置代码1寄存器中的数据经逻辑比较电路,形成控制信号,在此控制信号有效时,触发‘1’保持器,使能计数器从零开始对时钟信号进行计数,并同时切断外部输入数据路由选通电路,不接收新的外部输入数据,输出的计数值同时输入到数据存储位置表和最大计数值寄存器;数据存储位置表读取输入数据指示的内部寄存器中位置信息,送入存储数据寄存器,以向外部输出数据;计数器与最大计数值寄存器相连,一旦计数值与最大计数值寄存器的数据相等,产生控制信号,恢复‘1’保持器为低电平状态。
5.根据权利要求4所述的粗粒度可重配置计算结构中数据输入输出结构,其特征在于所述的配置代码2寄存器预先存储的配置数据分为两部分高(m+1)比特作为第一部分,其余的4×(N+1)比特,每4比特一组,作为第二部分,其N与m的关系为m=[log2(N+1)].]]>
6.根据权利要求1所述的粗粒度可重配置计算结构中数据输入输出结构,其特征在于所述的RAM功能控制器包括计数器、长度寄存器、DMA传输数据长度配置存储器、RAM功能配置存储器、功能控制寄存器、读写信号发生器和逻辑比较电路;计数器负责在DMA工作方式下对输入的时钟进行计数,同时此时钟信号作为递增功能触发信号向外输入到地址发生器中;RAM功能配置存储器分别与功能控制寄存器中的各位相对应;读写信号发生器负责产生读取外部RAM的读写信号;DMA传输数据长度配置存储器和RAM功能配置存储器预先存储的配置数据分别写入长度寄存器和功能控制寄存器,功能控制寄存器中的DMA方式控制位与时钟信信号经过逻辑组合后,即作为递增功能出发信号向外输出,又输入到计数器对其进行计数,计数器中的数值与长度寄存器同时输入逻辑比较电路,如果比较一致,则形成DMA结束信号向外输出;否则,允许读写信号发生器在DMA方式下产生读写信号,外部输入数据总线形成的有效数据标志字寄存器在正常读方式下,在读写信号发生器内部与时钟信号经逻辑组合形成向外输出的读RD、写WR控制信号。
7.根据权利要求1所述的粗粒度可重配置计算结构中数据输入输出结构,其特征在于所述的地址发生器模块包括递增功能控制器、DMA起始地址配置寄存器、RAM功能配置存储器、功能控制寄存器及有效数据标志字寄存器单元;递增功能控制器负责在DMA方式工作时,对初始输入的数据在外部递增功能触发信号的作用下,不断加1,并从输出地址总线输出,在正常读写工作方式时,则仅将输入的数据作为地址直接输出;DMA起始地址配置寄存器负责配置DMA方式工作时的起始地址信息;RAM功能配置存储器分别与功能控制寄存器中的各位相对应;外部输入数据总线和DMA起始地址配置寄存器中的数据同时输入到内部的多路选择器,多路选择器选择的数据输入递增功能控制器,多路选择器的选通控制信号主要依靠两个信号实现DMA工作方式下与延迟输入的外部配置命令经组合逻辑形成的控制信号;正常读方式下外部输入数据总线形成的数据有效信号。
全文摘要
粗粒度可重配置计算结构中数据输入输出结构包括分散功能DEMUX模块、合并功能MERGE模块、RAM功能控制器、地址发生器、RAM和交叉条C1、C2、C3,交叉条C1为DEMUX模块选择输入的数据总线,被C1选中后的数据输入到DEMUX模块,经DEMUX模块分散控制后的数据输入处理单元阵列PEA进行处理;从处理单元阵列PEA输出的多路数据总线经MERGE合并为一条数据总线输出,此数据通过交叉条C2控制后输出,或通过交叉条C3控制,输入到RAM或者输出数据到相邻PEA;地址发生器和RAM功能控制器为正确执行写入及读出RAM中数据操作产生必须的地址信息和控制信号;从RAM中读出的数据允许通过交叉条C3的控制,反馈到交叉条C1或者输出数据到相邻PEA。本发明利于映射算法中数据的输入输出,同时又减少了输入输出端口。
文档编号G06F15/78GK101030191SQ20071006542
公开日2007年9月5日 申请日期2007年4月13日 优先权日2007年4月13日
发明者宋立国 申请人:北京时代民芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1