用于嵌入式可重配置计算的切换结构的制作方法

文档序号:9291994阅读:361来源:国知局
用于嵌入式可重配置计算的切换结构的制作方法
【专利说明】用于嵌入式可重配置计算的切换结构
[0001]相关申请的交叉引用
[0002]本申请要求于2013年3月I日提交的美国非临时申请N0.13/781,755的优先权,其全部内容通过援引纳入于此。
技术领域
[0003]本申请涉及可重配置计算,尤其涉及用于可重配置计算的切换结构。
[0004]背景
[0005]尽管处理器速度已经逐渐提高,但对提高的计算能力的需求仍然未减弱。例如,智能电话现在使其处理器负担繁杂的各种任务。但单核处理器在给定时间只能容适这么多的指令。由此,现在通常提供能并行地处理指令集的多核或多线程处理器。但此类基于指令的架构必须始终对抗管芯空间施加的限制、功耗以及关于增加指令处理时间的复杂性。
[0006]与使用可编程处理核相比,存在能够在专用硬件中更高效地处理的许多算法。例如,图像处理涉及显著并行性以及通过处理步骤流水线对像素的分群处理。如果算法然后被映射到硬件,则实现利用该对称性和并行性。但设计专用硬件是昂贵且麻烦的,因为如果算法被修改,专用硬件必须被重新设计。
[0007]为了提供基于指令的架构与专用硬件办法之间的高效折衷,已经开发出可重配置的指令格阵列(RICA)架构。图1A解说了具有可重配置核I的示例RICA系统50。在RICA 50中,多个指令格2 (诸如加法器(ADD)、乘法器(MUL)、寄存器(REG)、逻辑运算移位器(SHIFT)、除法器(DIV)、数据比较器(COMP)、逻辑门(LOGIC)以及逻辑跳格(JUMP))通过可编程切换结构4来互连。指令格2关于它们实现的逻辑功能或指令的配置可以在必要时在每一时钟周期被重新编程为实现给定算法或功能。切换结构4也将被相应地重新编程。指令格2包括存储器接口格12,这些存储器接口格对接被检索或加载到数据存储器8中的用于指令格2的数据。指令格2的所得处理根据从配置RAM 6获取的配置指令10来进行。解码模块11解码指令10以便不仅获取用于指令格2的配置数据,而且获取用于切换结构4的配置数据。RICA 50通过I/O端口 16以及专用指令格寄存器14来与外部系统对接。图1a所示的附加特征在2006年4月28日提交的美国专利公开N0.2010/0122105中描述,该公开的内容通过援引整体纳入于此。
[0008]注意,RICA的优点在于:算法(诸如涉及通过流水线处理方案来处理多个像素的图像处理)能够以模拟专用硬件办法的方式被映射到指令格。但是无需设计专用硬件,取而代之地,可仅仅在需要时对这些格和切换结构进行编程。由此,如果必须重新设计算法,则无需重新设计硬件,而是用户可仅在必要时改变编程。这相对于传统的基于指令的计算办法而言是相当有优势的。
[0009]尽管RICA由此提供了稳健的优点,但其实现中仍然有挑战。例如,按行和列以可重配置阵列来排列指令格是常规的。每一指令格、任何相关联的寄存器以及用于指令格的相关联的输入和输出切换结构可被认为是驻留在切换盒内。图1B示出了以行和列排列的切换盒的示例阵列。在所选切换盒之间形成的数据路径承载在多个通道中的所选通道上。通道也以匹配切换盒的行和列的行和列来排列。每一通道具有特定位宽。行方向可被认为是东西向,而列方向是南北向的。开始于初始切换盒100中的指令格的数据路径从初始切换盒100开始以东行向在通道101上走线。数据路径从后续切换盒开始的走线沿合适的东/西行向或北/南列向,以使得到达在某一所选行和列位置的最终切换盒105。在该示例数据路径中,两个指令格被配置为算术逻辑单元(ALU) 110。其余切换盒的指令格为了解说清楚性而未示出。注意到,每一切换盒则必须容适两个切换矩阵或结构:用于选择其指令格的通道输入的输入切换结构以及用于选择该切换盒的通道输出的输出切换结构。本公开聚焦于输出切换结构。
[0010]RICA的通道数目是任意的一一例如,假定有20个通道,每一个为8位宽。用于切换盒的任何给定方向的输出切换结构则可以使用20*8 = 160个复用器来驱动20个通道中的160位。例如,在这一实施例中,初始切换盒101将包括160个复用器以在东行向101上驱动20个通道。在图1C中示出示例输出切换结构150。切换结构150被配置成关于北、南、东和西向来切换通道。关于每一方向,切换结构150接收输入导体上的通道。类似地,切换结构150在每一方向上在对应的输出导体上驱动通道。如集成电路布局领域所公知的,通道的走线发生在对应的金属层中的迹线中。例如,通道的南输入导体被布置在迹线171中,迹线171成为通道的北输出导体的迹线。针对北-南、东-西以及西-东走线的类似迹线跨越切换结构150。通道由对应的复用器驱动在输出导体上从切换结构150的每一侧离开。
[0011]尽管“通道”是信号,该信号与承载该信号的导体相异,但简单地将承载在对应输入导体上的通道称为“输入通道”是方便的。类似地,承载在对应输出导体上的通道是“输出通道”。例如,南切换电路155包括用于驱动南输出通道的复用器。类似地,东切换电路160包括用于驱动东输出通道的复用器,西切换电路165包括用于驱动西输出通道的复用器,而北切换电路170包括用于驱动北输出通道的复用器。
[0012]再次参考图1B,给定切换盒的输出切换结构的输出通道成为相邻切换盒的输出切换结构的输入通道。例如,图1B中的通道101是初始切换盒100的东输出通道,而通道101是相邻切换盒115的西输入通道。
[0013]通过将所有输出复用器编组成对应的切换电路,图1C的输出切换结构150遭受很大程度的总线转向。就此方面,如走线领域所公知的,行和列走线通常被组织在对应的迹线中。关于切换结构,给定方向上的输入导体的迹线成为相对方向上的输出导体的迹线。此类迹线极大地简化了行和列走线。例如,西输入通道的迹线172横跨北切换电路170和东切换电路160的管芯空间。迹线172不穿过专用于南切换电路155的管芯空间。因为用于南北方向的通道走线不会与用于东西方向的通道走线短路,所以行和列走线发生在专用金属层中。例如,第一金属层(或第一多个金属层)可专用于东/西行走线,而第二金属层(或第二多个金属层)将承载北/南列走线。
[0014]西输入通道因而必须在不同金属层中进行“总线转向”以在南切换电路155中的复用器处被接收。西输入通道可能无法直接通过第一金属层来走线以耦合至南切换电路155,因为它们会在它们通往南切换电路155的迹线中与东输入通道短路。类似总线转向必然针对其他切换电路而发生。例如,南输入通道要求总线转向以在东切换电路160处被接收。此类总线转向浪费管芯空间,要求过多的功耗,并且导致定时延迟。
[0015]切换结构150的通道切换针对它在其半导体基板表面上的占据区域的北、南、西和东侧来传导。关于任何给定的占据区域侧,对应的切换电路可以关于输入通道选择而从三个剩余侧中进行选择。例如,南切换电路155中的复用器可以从北输入通道、东输入通道和西输入通道中进行选择。但南切换电路155不能从南输入通道进行选择。类似地,东切换电路160可以从用于北、南和西占据区域侧的输入通道中进行选择。这种将来自任何给定切换结构占据区域侧的输出限制为三个剩余侧是常规性的,因为它导致可观的走线复杂性缩减。
[0016]已耗费了针对遵循对于任何给定切换结构侧从三个剩余侧中进行通道选择的各种切换结构架构的许多研究。图2A示出了一类被称为不相交矩阵的切换结构架构。在这一示例中,有5行和5列,每一行和列从O编号到4。每一行(或每一列)可以被认为表示给定数据字的通道。因而,在这一系统中有5个数据通道。为了解说清楚性,并未单独地示出输入和输出通道。替代地,给定通道(诸如西通道4)表示西输入通道4和西输出通道4。在不相交矩阵中,给定通道被限制为走线到同一通道中。例如,承载在其西输入上的通道O的数据字可以被切换成在通道O的北输出中传播,但是不能被切换成在其余的通道I到4的北输出中传播。面向给定基本方向(北、南、东或西)的切换结构侧的每一通道输出可因而由3:1复用器(未解说)来选择,该3:1复用器从面向其余的基本方向的其余侧中进行选择。
[0017]注意到,不相交矩阵的优点如下:3:1复用器可被置于给定通道的行和列的相交处。对3:1复用器的输入恰恰在相交处一一不需要总线转向或横跨其他通道来获得输入。此类不相交切换结构因而极大地简化了布局设计。但这一不相交简化在走线灵活性方面带来很大限制:不相交矩阵无法提供用于关于任何给定通道输出从其他通道中进行选择的手段。
[0018]为了提供更灵活的走线能力,已经开发了通用切换矩阵和Wilton切换矩阵,分别如图2B和图2C中所示。在这些切换矩阵或结构中,用于给定基本方向中的通道的输出信号的选择并不被限制于同一通道。例如,在通用切换矩阵中,北方向上的通道4中的输出可以从通道O西输入、通道4南输入、以及通道4东输入中进行选择。类似地,在Wilton切换矩阵中,通道4北中的输出可以从通道I西、通道O东和通道4南的输入中进行选择。但就像不相交矩阵一样,通用或Wilton切换矩阵的给定方向上的每一输出可以由3:1复用器来提供,该3:1复用器从其余方向的通道输入中进行选择。
[0019]无论矩阵的类型如何,列维度中的给定通道输出要么去往北(N)方向要么去往南方向(S)。类似地,行维度中的给定通道输出要么去往西(W)方向要么去往东(E)方向。输入和输出
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1