具有终止信号传播的机制的可编程流水线结构制造技术

技术编号:2858601 阅读:190 留言:0更新日期:2012-04-11 18:40
公开了一种方法和设备,用于存储和使用“寄存器使用”信息来确定寄存器何时被最后一次使用,从而可以实现功率节省。寄存器使用信息可以采取对于特定寄存器的“最后一次读取”信息的形式。该最后一次读取信息可以用来在读取寄存器之后将该寄存器的值强制为零,或者在掩蔽掉其它寄存器的同时只对该寄存器进行钟控。公开了几种方法和硬件变型,用于使用所述寄存器使用信息来实现功率节省。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及可重新配置的体系结构,更具体来说,涉及用来以流水线式方式处理信息的可重新配置的体系结构。
技术介绍
用于可重新配置的计算的传统方法静态地配置可编程的硬件,以便执行用户定义的应用。这种配置的静态性质导致两个重要问题计算可能要求比可用的硬件更多的硬件,并且单一硬件的设计不能利用附加资源,该附加资源不可避免的在未来的处理世代中变得可用。一种称为流水线式重新配置的技术在一小块硬件上实现了一个大的逻辑配置,这是通过对该硬件的快速重新配置而实现的。利用这种技术,编译器(compiler)不再负责满足固定的硬件约束。此外,一种设计的性能与分配给该设计的硬件数量成比例地改善。通过把单一静态配置断开成相应于应用中的各流水线级的各段,使得流水线式配置包括虚拟化流水线式计算。每个流水线级被每周期一个地加载到该结构中。这使得执行该计算成为可能,即使在该结构中从来不同时存在整个配置。图1例示了虚拟化处理,其中示出了在一个三级结构上虚拟化的五级流水线。图1A示出了一个五级应用以及在六个连续周期中每个逻辑(或虚拟)流水线级的状态。图1B示出了当该结构执行此应用时在该结构中的各物理级的状态。在此例中,虚拟管道级(pipe stage)1在周期1中被配置,并且准备在下一个周期中执行;虚拟管道级1执行两个周期。没有物理管道级4;因此,在周期4中,在物理管道级1配置第四虚拟管道级,以替代第一虚拟级。一旦流水线完整,每五个周期生成持续两个连续周期的两个结果。例如,周期2,3,7,8...消耗输入,而周期6,7,11,12...产生输出。图2是流水线式结构的体系结构等级的概括视图。每一行处理元件(PE)连同其相关联的互连被称作一个条带(stripe)。每个PE典型地包含算术逻辑单元(ALU)和传递寄存器文件(pass register file)。每个ALU包含查找表(LUT)和用于进位链、零检测等等的额外电路。设计者使用一组N个B比特宽的ALU来实现组合逻辑。当特定的虚拟条带驻留在物理条带中时,ALU操作是静态的。设计者可以级联、链接或者以其它方式连接各ALU的各条进位线,以便构造更宽的ALU,并且可以将各PE经由互连网络链接在一起以便建立复杂的组合功能。用于流水线式重新配置的关键使能结构(key enablingstructure)之一是传递寄存器文件。图3中示出传递寄存器文件10的一个示例。传递寄存器文件10由四个寄存器12、14、16、18构成(它们可以具有任意的位宽);在该图中,写端口由四个多路复用器20、22、24、26和写地址译码器28组成;并且在该图中,读端口由响应于读地址的4到1多路复用器30组成。图3的结构允许连接到该寄存器文件10的功能单元从寄存器文件10中读取一个值,并且允许功能单元将一个值写入特定寄存器12、14、16、18中的一个。如果没有通过写端口将值写入寄存器12、14、16、18中的一个,则分别经由线32、34、36、38,将来自前一条带的前一传递寄存器文件中的响应传递寄存器的值写入寄存器12、14、16、18。图4例示了可能使用在应用中的四个传递寄存器文件42、44、46、48。在该图中,传递寄存器文件42、44、46、48连接在一个环中,但是并不需要将它们如此连接。在图4中,在寄存器文件42、44、46、48中的每一个当中只示出了一个寄存器,尽管每一个寄存器文件可以是任意大的。在图4中,由功能单元1生成的数据通过一个传递寄存器文件44前进到功能单元2。图4的结构的一个主要问题是,只打算由功能单元2使用的值,通过其它传递寄存器文件46、48、42在后续的条带中继续。如果该值不由其它条带使用该寄存器重写,则所述值继续传播,一直到传播回功能单元1。这一活动对于计算来说是毫无价值的,并且会耗散相当多的功率。在流水线式可重新配置装置的传递寄存器文件中出现的一个相关功耗问题是,芯片中的来自先前应用的旧的值继续通过芯片传播,从而即使它们与当前计算无关也仍然消耗功率。因此,在流水线结构中需要一种用于终止不再为计算所需的信号的机制。
技术实现思路
本专利技术针对这样一种方法和设备,其用于存储和使用“寄存器使用”信息以便确定最后一次使用寄存器是什么时候,从而可以实现功率节省。寄存器使用信息可以采取对于特定寄存器的“最后一次读取”信息的形式。该最后一次读取信息可以用来在读取寄存器之后将该寄存器的值强制为一个常数,或者在掩蔽掉(mask off)其它寄存器的同时只对该寄存器进行钟控(clock)。公开了几种方法和硬件变型,用于使用所述“寄存器使用”信息来实现功率节省。下面,根据对本专利技术的详细描述,所述优点及益处以及其它优点及益处将变得显而易见。附图说明为更容易地理解和实践本专利技术,下面将出于示例的目的而不是限制性的目的来结合附图描述本专利技术,其中图1A和图1B例示了在三级可重新配置结构上虚拟化五级流水线的处理;图2例示了可重新配置结构的一个条带;图3是传递寄存器文件的一个示例;图4例示了四个各具有单个寄存器的传递寄存器文件,以便演示多余的信号传播;图5例示了本专利技术的一个实施例,用于通过将信号值强制为零来终止多余信号传播;图6例示了本专利技术的另一个实施例,用于通过只对产生要被读取的值所需要的寄存器进行钟控来终止多余信号传播;图7例示了本专利技术的另一个实施例,用于通过只对产生要被读取的值所需要的寄存器进行钟控来终止多余信号传播;图8是例示掩蔽单元的一个实施例的框图;图9例示了对图6的电路的修改,以便使用局部掩蔽单元;图10例示了一个电路,其中由通用时钟信号对寄存器进行钟控,并且使用四个与门和一个译码器来将一个寄存器强制成零值;以及图11例示了对图10的电路的修改,以便使得每个寄存器能够由其自己的时钟信号钟控。具体实施例方式图5例示了本专利技术的一个实施例,用于终止多余信号传播。在图5中,如所知的那样,例如通过将配置字写入物理条带,用虚拟条带来配置每个物理条带。在Schmit等人的“Managing Pipeline-Reconfigurable FPGAs(管理流水线式可重新配置的FPGE)”(出版于ACM6th International Symposium on FPGAs,1998年2月)中提供了对配置管理和数据管理的详细解释,这里引用其全文以作参考。想要知道关于将配置字写入物理条带的任务的更多细节的读者可以参考上述文章。关于可重新配置的结构的构造和操作的附加的细节可以在以下文章中找到Schmit等人的“PipeRencha virtualized programmable datapath in 0.18 Micro Technology(PipeRench0.18微米技术中的虚拟化的可编程数据路径)”(Proceedings of the IEEE CustomIntegrated Circuits Conference(CICC),2002),其全文在此引用以作参考;Schmit的“PipeRencha reconfigurable,architecturaland compiler(PipeRench可重新配置的体系结构和编译器)”(IEEEComputer,第70-76页(2000年4月)),在此引用其全文以本文档来自技高网
...

【技术保护点】
一种在包括多个寄存器的装置中实践的方法,所述多个寄存器被组织成多个条带,该方法包括:向至少特定的条带提供关于寄存器使用的信息;以及使用该信息来减少功率消耗。

【技术特征摘要】
US 2002-8-16 10/222,6081.一种在包括多个寄存器的装置中实践的方法,所述多个寄存器被组织成多个条带,该方法包括向至少特定的条带提供关于寄存器使用的信息;以及使用该信息来减少功率消耗。2.根据权利要求1所述的方法,其中,所述提供信息包括提供关于最后一次需要读取寄存器中的值的信息。3.根据权利要求2所述的方法,其中,所述使用包括将最后一次读取的信号的值强制成常数值。4.根据权利要求2所述的方法,其中,所述使用包括只对包含将在后续条带中使用的数据的那些寄存器进行钟控。5.根据权利要求4所述的方法,还包括从所述信息产生钟控掩码。6.根据权利要求1所述的方法,还包括在存储器中维持一个对应于每个寄存器的状态的比特位。7.一种阻止最后一次读取的信号在装置中传播的方法,所述装置包括被组织成多个条带的多个寄存器,所述方法包括提供关于最后一次需要读取寄存器中的值的信息;以及使用该信息以便将该最后一次读取的值强制为常数。8.根据权利要求7所述的方法,其中,所述使用包括将最后一次读取的信号值输入到一个接收关于最后一次读取的信息的门,并将该门的输出强制为零。9.一种阻止最后一次读取的信号在装置中传播的方法,所述装置包括被组织成多个条带的多个寄存器,所述方法包括提供关于最后一次需要读取寄存器中的值的信息;以及使用...

【专利技术属性】
技术研发人员:H施米特B莱文
申请(专利权)人:卡内基梅隆大学
类型:发明
国别省市:US[美国]

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

1