可重配置指令单元阵列的并行配置的制作方法

文档序号:9291663阅读:479来源:国知局
可重配置指令单元阵列的并行配置的制作方法
【专利说明】可重配置指令单元阵列的并行配置
[0001]相关申请的交叉引用
[0002]本申请要求于2015年3月5日提交的美国非临时申请N0.13/784,827的优先权,其全部内容通过援引纳入于此。
技术领域
[0003]本申请涉及可重配置的计算,尤其涉及并行配置或可重配置指令单元阵列。
[0004]背景
[0005]尽管处理器速度已经逐渐提高,但对提高的计算能力的需求仍然未减弱。例如,智能电话现在使其处理器负担令人困惑的各种任务。但单核处理器只能在给定时间容适这么多的指令。因此,现在通常提供能并行地处理指令集的多核或多线程处理器。但此类基于指令的架构始终必须对抗由管芯空间、功耗、以及关于增加指令处理时间的复杂性所施加的限制。
[0006]如与使用可编程处理核相比,存在能够在专用硬件中被更高效地处理的许多算法。例如,图像处理涉及显著并行性以及通过处理步骤的管线的对像素的成群处理。如果算法随后被映射到硬件,则该实现利用该对称性和并行性。但设计专用硬件是昂贵且还是麻烦的,因为如果算法被修改,则专用硬件必须被重新设计。
[0007]为了提供基于指令的架构与专用硬件办法之间的高效折衷,已经开发出可重配置指令单元阵列(RICA)架构。图1A解说了具有可重配置核I的示例RICA系统50。在RICA50中,多个指令单元2(诸如加法器(ADD)、乘法器(MUL)、寄存器(REG)、逻辑运算移位器(SHIFT)、除法器(DIV)、数据比较器(COMP)、逻辑门(LOGIC)、以及逻辑跳转单元(JUMP))通过可编程开关织构4来互连。指令单元2关于它们实现的逻辑功能或指令的配置可以在必要时被重编程以实现给定算法或功能。开关织构4也将被相应地重编程。诸指令单元2包括存储器接口单元12,这些存储器接口单元12对接其余诸指令单元2的(如被检索或加载到数据存储器8中的)数据。指令单元2的结果所得的处理根据从配置RAM 6获取的配置指令10来发生。解码模块11解码指令10以便不仅获取用于指令单元2的配置数据,而且还获取用于开关织构4的配置数据。RICA 50通过I/O端口 16以及专用指令单元寄存器14来与外部系统对接。图1A中所示的附加特征在于2006年4月28日提交的美国专利公布N0.2010/0122105中描述,该公布的内容藉此通过援引整体纳入于此。
[0008]按行和列以可重配置的阵列来安排指令单元是常规的。每个指令单元、任何相关联的寄存器、以及用于指令单元的相关联的输入和输出开关织构可被认为是驻留在开关盒内。图1B示出了按行和列安排的示例开关盒阵列。在所选开关盒之间形成的数据路径被承载在来自多个通道之中的所选通道上。各通道也按行和列安排以与开关盒的行和列相匹配。每个通道具有特定位宽。行方向可被认为是东西走向的,而列方向是南北走向的。开始于初始开关盒100中的指令单元的数据路径在向东行方向上的输出通道101上路由。该数据路径从后续开关盒的路由在恰适的向东/向西行方向或向北/向南列方向上,以使得到达在某个所选行和列位置处的最终开关盒105。在该示例数据路径中,两个指令单元被配置为算术逻辑单元(ALU) 110。其余开关盒中的指令单元为了解说清楚而未示出。每个开关盒包括两个开关矩阵或织构:输入开关织构,用于选择去往其指令单元的通道输入;以及还有输出开关织构,用于选择从该开关盒离开的通道输出。
[0009]与指令单元形成对比的是,现场可编程门阵列(FPGA)中的逻辑块使用查找表(LUT)。例如,设想在经配置FPGA中执行的逻辑运算中需要AND (与)门。相应LUT将以用于AND门逻辑功能的真值表来编程。但指令单元“粗粒度”得多,因为它包含专用逻辑门。例如,ALU指令单元将包括各样的专用逻辑门。ALU指令单元的功能是可配置的一一其原语逻辑门是专用门并因此是不可配置的。例如,常规CMOS反相器是一种类型的专用逻辑门。关于此种反相器是没什么可供配置的,该反相器不需要任何配置位。但FPGA可编程逻辑块中的反相器功能的实例化则改为通过LUT的真值表的相应编程来执行。因此,如本文所使用的,术语“指令单元”指的是包括专用逻辑门的可配置逻辑元素。
[0010]ALU指令单元对一个或多个操作数执行其逻辑功能。该上下文中的操作数是接收到的通道输入。取决于其配置位,ALU指令单元被配置成执行相应的逻辑运算。例如,第一开关盒可包括被配置成将对应于两个通道输入的两个操作数相加的ALU指令单元。但相同的ALU指令单元稍后可被更新为将这两个操作数相减。指令单元内的逻辑运算所产生的操作数可能在另一指令单元中被需要。因此,第一开关盒中的输出开关织构可被配置成通过相应的通道输出将结果所得的操作数驱至第一开关盒之外。与之形成对比的是,FPGA的LUT产生位,这些LUT不生成字。因此FPGA中的开关织构根本上不同于RICA中的开关织构,因为FPGA的开关织构被配置成路由来自FPGA的LUT的位。与之形成对比的是,RICA中的开关盒之间的路由被配置成路由字来作为输入通道和输出通道两者。例如,开关盒阵列可被配置成路由20个通道。这一实施例中的开关盒因此可以从所有四个方向接收20个输入通道并在这四个方向上驱动20个输出通道。
[0011]注意,RICA的优点在于:由于指令单元包括专用逻辑门,因此必需的配置数据量显著地少于用于相当的FPGA的配置数据。开关盒因此可以在相对较短的延迟上被容易地重配置,以使得重配置对于伴随处理器而言实际上是实时的。与之形成对比的是,用于FPGA的巨量配置数据需要相当长的延迟才能将其加载到FPGA中。与传统处理器中的基于软件的实现相比,RICA还具有处理速度优势。例如,算法(诸如涉及通过管线化处理方案处理多个像素的图像处理)能够以仿效专用硬件办法的方式被映射到指令单元。但无需设计专用硬件。而是在只必要时配置指令单元以及开关织构即可。因此,如果必须重新设计算法,则无需重新设计硬件,而是用户可以仅改变配置数据。这相对于传统的基于指令的计算办法而言是相当有优势的。
[0012]尽管RICA因此提供了稳健的优点,但其实现中仍然有挑战。例如,对于每个开关盒内的可配置元素需要数个配置位,诸如用于指令单元和开关织构的配置。每个开关盒因此需要用于存储其配置位的存储元件。在一个示例实施例中,二十行和二十列的阵列(结果有400个开关盒)需要77千位用于其配置。用于加载这么多的配置位的电路系统消耗宝贵的管芯空间和功率。另外,RICA需要最小等待时间来加载配置位。就此,指令单元在RICA中不是被静态编程的一一例如指令单元可以在正常操作期间被重配置若干次。可能不需要这样频繁的重编程,但应提供该能力。由于其他系统(诸如微处理器)可以与RICA对接,因此重配置的等待时间必须被最小化以防止停顿。
[0013]因此,在本领域中对用于可重配置指令单元阵列的面积高效且低等待时间的配置方案存在需求。
[0014]概述
[0015]—种可重配置指令单元阵列(RICA)包括多个开关盒。每个开关盒包括指令单元以及可根据存储在该开关盒的锁存器阵列中的配置字来配置的开关织结构。这些开关盒被安排成广播集以使得每个广播集中的锁存器阵列并行地接收配置字。与使用触发器来存储配置字相比,所公开的RICA所必需的管芯空间因此被显著减小。
[0016]附图简述
[0017]图1A是示例可重配置指令单元阵列(RICA)的框图。
[0018]图1B是图1A的RICA中的开关盒阵列的框图。
[0019]图2示出了被安排成广播集以使得每个广播集的开关盒被配置成并行地接收配置字的开关盒阵列。
[0020]图3是广播集的一部分中的多个锁存器阵列的高级示意图,其中这些锁存器阵列被配置成响应于通过移位寄存器来移位的锁存字而被闭锁。
[0021]图4A是具有被安排成广播集以使得每个广播集的开关盒被配置成并行地接收配置字的开关盒阵列的RICA的更详细的示意图。
[0022]图4B是用于图4A的RICA的配置、更新和测试的时序图。
[0023]图5是广播集的一部分中的多个锁存器阵列的高级示意图,其中这些锁存器阵列被配置成响应于比较器将标签地址与行地址进行比较而被闭锁。
[0024]图6是广播集的一部分中的多个锁存器阵列的高级示意图,其中这些锁存器阵列被配置成响应于比较器将标签地址与行和列地址进行比较而被闭锁。
[0025]图7是配置位的下一状态锁存器和相应的当前状态锁存器的高级示意图,其中这些锁存器还被配置成扫描模式。
[0026]图8是并行地将配置字广播到开关盒阵列中的方法的流程图。
[0027]本发明的各实施例及其优势通过参考以下详细描述而被最好地理解。应当领会,在一个或多个附图中,相同的参考标记被用来标识相同的元件。
[0028]详细描述
[0029]提供了其中配置数据被被并行地广播到开关盒集中的可重配置指令单元阵列(RICA) ο为了节省管芯空间,开关
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1