当前位置: 首页 > 专利查询>清华大学专利>正文

一种动态可重构阵列内数据缓存的装置及方法制造方法及图纸

技术编号:7250132 阅读:226 留言:0更新日期:2012-04-11 18:40
本申请提供了一种动态可重构阵列内数据缓存的装置和方法,其中的装置具体包括:输入数据缓存器,用于从外部存储器中读入数据,并进行缓存,待需要时将数据输出至处理单元阵列;处理单元阵列,用于从输入数据缓存器或通用寄存器堆读入数据,并对数据进行逻辑运算操作;通用寄存器堆,用于与处理单元阵列互联,从所述处理单元阵列读入数据进行缓存,待需要时将数据输出至所述处理单元阵列;输出数据缓存器,用于缓存经过所述处理单元阵列处理后的结果数据,需要时将数据读出到外部存储器。本申请可以减少动态可重构阵列与外部存储器之间的数据读写次数,从而提高动态可重构处理器的性能。

【技术实现步骤摘要】

本申请涉及嵌入式系统
,特别是涉及。
技术介绍
动态可重构处理器是一种新型的处理器构架,其结合了软件的灵活性和硬件的高效性,和传统单核微处理器相比,不仅可以改变控制流,还可以改变数据通路,具有高性能、 低功耗、灵活性好、扩展性好的优点,尤其适合于处理计算密集型的算法,例如媒体处理、模式识别、基带处理等。因此动态可重构处理器也成为目前处理器结构的一个重要发展方向, 如欧洲微电子中心(IMEC)的ADRES处理器和惠普(HP)的CHESS处理器,前者由紧耦合的超长指令字(Very Long Instruction Word,VLIW)处理器内核和粗颗粒度并行矩阵计算的可重构硬件构成,后者由大量可重构算术计算单元阵列构成。动态可重构处理器的核心一般为一个二维的可重构算术逻辑单元(ALU)阵列,该结构是并行计算以提高处理能力的基础。同时,可重构算术逻辑单元间需要拥有较为灵活的互联结构以保证运算通用性,这种可配置的互联结构使得动态可重构处理器可以改变数据流,实现了对数据流的高速并行处理,相对于传统单核、少核处理器大大的提升了计算性能。由于可重构阵列规模的限制,很容易出现算法的部分结构无法布局进阵列,此时就要求对这类算法流图进行分割,增加配置次数,而配置之间的数据是相关的,上次配置的计算结果需要先写入外部存储器中,下次配置调用这些数据时再从外部存储器中读出,外部存储器的读写速度比较慢,从而影响了动态可重构处理器的计算性能。总之,本领域技术人员需要迫切解决的一个技术问题就是如何能够实现动态可重构阵列内数据的缓存,有效提高动态可重构处理器的性能。
技术实现思路
本申请所要解决的技术问题是提供,通过在动态可重构阵列内添加通用寄存器堆,使通用寄存器堆与处理单元阵列全互联, 实现动态可重构阵列内数据的缓存,减少动态可重构阵列与外部存储器之间的数据读写次数,从而提高动态可重构处理器的性能。为了解决上述问题,本申请公开了一种动态可重构阵列内数据缓存的装置,包括输入数据缓存器,用于从外部存储器中读入数据,并进行缓存,待需要时将数据输出至处理单元阵列;处理单元阵列,用于从输入数据缓存器或通用寄存器堆读入数据,并对数据进行逻辑运算操作;通用寄存器堆,用于与处理单元阵列互联,从所述处理单元阵列读入数据进行缓存,待需要时将数据输出至所述处理单元阵列;输出数据缓存器,用于缓存经过所述处理单元阵列处理后的结果数据,需要时将数据读出到外部存储器。优选的,所述通用寄存器堆包含多个寄存器堆子单元,将所述寄存器堆子单元分成η行Xm列的形式,η和m的规模等同于处理单元阵列内处理单元的规模;所述寄存器堆子单元用于缓存上一行处理单元输出的结果数据或缓存上一行中某一寄存器堆子单元中输出的数据。优选的,所述处理单元阵列包括处理单元,用于完成对输入数据的逻辑运算操作;路由单元,用于完成处理单元以及寄存器堆子单元间的数据连接。优选的,所述处理单元包括输入寄存器,用于寄存当前运算所需要的操作数;算术逻辑单元,用于执行所述操作数的算术或者逻辑运算;输出寄存器,用于寄存当前运算的计算结果。优选的,所述操作数来自输入数据缓存器,或者来自上一行处理单元的运算结果, 或者来自上一行中寄存器堆子单元中存储的数据。另一方面,本申请还公开了一种动态可重构阵列内数据缓存的方法,包括输入数据缓存器从外部存储器中读入数据,并进行缓存,待需要时将数据输出至处理单元阵列;处理单元阵列从输入数据缓存器或通用寄存器堆读入数据,并对数据进行逻辑运算操作;通用寄存器堆与处理单元阵列互联,从所述处理单元阵列读入数据进行缓存,待需要时将数据输出至所述处理单元阵列;输出数据缓存器缓存经过处理单元阵列处理后的结果数据,需要时将数据读出到外部存储器。优选的,所述通用寄存器堆包含多个寄存器堆子单元,将所述寄存器堆子单元分成η行Xm列的形式,η和m的规模等同于处理单元阵列内处理单元的规模;所述寄存器堆子单元缓存上一行处理单元输出的结果数据或缓存上一行中某一寄存器堆子单元中输出的数据。优选的,所述处理单元阵列从输入数据缓存器读入数据,并对数据进行逻辑运算操作的步骤包括处理单元对输入数据进行逻辑运算操作; 路由单元将处理单元以及寄存器堆子单元间的数据进行连接。优选的,所述处理单元对输入数据进行逻辑运算操作的步骤包括输入寄存器寄存当前运算所需要的操作数;算术逻辑单元对所述操作数执行算术或者逻辑运算;输出寄存器寄存当前运算的计算结果。优选的,所述操作数来自输入数据缓存器,或者来自上一行处理单元的运算结果, 或者来自上一行中寄存器堆子单元中存储的数据。与现有技术相比,本申请包括以下优点首先,通过通用寄存器堆缓存动态可重构阵列内的中间数据,在数据相关的两个配置之间实现数据传递,减少了可重构阵列与外部存储器之间传递数据的次数,利用寄存器快速的读写能力,提高了数据的读写速度、配置之间的切换效率。其次,通过通用寄存器堆缓存中间数据,可增加动态可重构阵列额外的数据通路, 实现阵列扩展,使阵列的配置更加灵活,可以将多个配置合并为一个配置,减少配置次数, 从而也减少了可重构阵列与外部存储器之间传递数据的次数,提高动态可重构处理器性能。再次,对于可流水的多个配置之间,可通过通用寄存器堆缓存数据,从而实现数据流图的变形来提高流水线效率。附图说明图1是本申请一种动态可重构阵列内数据缓存装置的简单结构框图2是本申请动态可重构阵列内处理单元阵列与通用寄存器堆的连接示意图图3表示使用本申请的配置1数.据流图4表示使用本申请的配置2数.据流图5表示未使用本申请的配置3数据流图6表示使用本申请后的配置3数据流图7表示未使用本申请的配置4数据流图8表示使用本申请后的配置4数据流图9表示未使用本申请的配置4完成4级流水消耗周期图10表示使用本申请后配置4完成4级流水消耗周期图。具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。本申请的核心构思之一在于,在动态可重构阵列内部添加通用寄存器堆,由于寄存器堆可高速暂存指令、数据和地址,是系统获取资料最快捷的途径,同时寄存器的读写速度也非常快,因此通过通用寄存器堆可实现可重构阵列内数据的缓存,从而可实现阵列扩展,减少可重构阵列与外部存储器之间传递数据的次数,还可通过通用寄存器堆缓存数据, 实现数据流图的变形,从而提高动态可重构处理器性能。动态可重构阵列是动态可重构处理器的核心部分,用于对数据进行逻辑运算操作,该结构是并行计算以提高处理能力的基础。参照图1,示出了本申请一种动态可重构阵列内数据缓存装置的简单结构框图。该装置具体包括输入数据缓存器(Input FIFO),用于从外部存储器中读入数据,并进行缓存,待需要时将数据输出至处理单元阵列(RCA);处理单元阵列(RCA),用于从输入数据缓存器或通用寄存器堆读入数据,并对数据进行逻辑运算操作;6通用寄存器堆(Temp_reg),用于与处理单元阵列互联,从所述处理单元阵列读入数据进行缓存,待需要时将数据输出至所述处理单元阵列;输出数据缓存器(Output FIFO),用于缓存经过处理单元阵列处理后的结果数据, 需要时将数据读出到外部存储器。其中,外部存储器用于存储动态可重构处理器待本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:刘雷波朱敏王延升朱建峰杨军曹鹏时龙兴尹首一魏少军
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术