布线延迟将影响目前主流商用超标量和VLIW技术的长远发展。目前,一些新型多核处理器结构初露端倪,它们依赖于开发指令级并行性以外的其他更粗粒度的并行性,如数据级并行性和线程级并行性,以实现更高性能和应用效能。
仅靠扩充目前占主流的超标量和VLIW技术,要实现新一代处理器是十分困难的,其中一个主要原因是布线延迟问题。随着芯片制造技术的发展,一个时钟周期中信号在芯片内所能传输的范围越来越小。特别当未来采用35纳米以下设计技术时,在一个时钟周期内信号所能传输的范围仅为芯片面积的1%。在采用传统架构的处理器中,为使信号传遍芯片的各个角落往往需要很大的延迟,在进行距离最远的两点间通信时,会产生数十个周期的延迟,因而引起性能的急剧下降。为此,在考虑未来5~10年的处理器设计时,必须从结构设计顶层就充分考虑布线延迟问题。这要求体系结构和微体系结构进行根本的变革。
目前,一些新型CMP结构初露端倪,它们依赖于开发指令级并行性以外的其他更粗粒度的并行性,如数据级并行性和线程级并行性,以实现更高性能和应用效能。
Tile 结构处理器
我们把无布线延迟问题的小尺寸功能块,按一定规则排列构成高速处理器的方式称为Tile结构。这种方式由于受到小尺寸功能块的制约,可以大大减轻在Tile内部产生的布线延迟问题。此外,由于信息传输仅在物理位置相距很近的几个Tile间进行,因而也使Tile间的通信延迟得以缓解。
Tile结构与超标量处理器最大的不同就在于,Tile处理器是由多个采用相同设计的功能块按一定规则排列构成的,其功能部件主要有计算单元、Tile间连接布线和路由器等。它与采用总线或环网连接的多核处理器有许多共同点,然而其设计思想却有很大差别。多核处理器尽量沿用了传统处理器设计技术,只是对高速缓存和互连网络进行了优化以谋求更高的性能。而Tile处理器为了克服布线延迟,在传统处理器从未采用过的Tile内部结构上下足了工夫,即在芯片上配置多个结构完全相同的Tile单元,以提高设计的可重用性,减轻验证等作业的负担。这种Tile结构大多采用在增加Tile单元数时,不降低工作频率的就近连接网络。
旨在提高大量视频和音频数据处理速度的专用多媒体处理器,也有采用类似Tile结构这种将多个处理器配置于二维网格结构的。然而,Tile结构面临的最大挑战是,作为通用处理器它必须能高效地处理各种应用。为了有效利用与传统处理器有很大差异的Tile结构,多数Tile处理器采用了独特的指令集结构,因而放弃了与传统的CISC和RISC处理器的代码互换性。此时,应用程序要用C或Fortran等高级语言描述,并用独特的编译器生成Tile处理器专用的目标代码。下面介绍两种典型的Tile结构处理器。
1)Raw处理器
美国马萨诸塞大学正在开发的Raw处理器可以说是Tile结构的先驱,除克服布线延迟外,用活Tile结构丰富的硬件资源,充分利用处理器有限的管腿也是Raw追求的目标。目前,Raw正在进行芯片试制和系统级评价。
如图1所示,Raw处理器由16个结构相同的Tile单元构成,而每个Tile单元由近似MIPS处理器的单指令发射内部处理计算流水线和静态、动态网络构成。每个Tile单元可作为具有独立程序计数器的处理器工作,当指令或数据缓存发生错误时,则从配置在芯片外的主存获取数据。
Tile单元间的通信必须借助寄存器,所有布线均被设计为短于Tile单元单边的长度。因此,即使是根据应用的性能要求或可用晶体管数的提高,而增加集成的Tile单元数也不会降低芯片的工作频率。假使试制芯片经过每个Tile单元时产生1个周期的延迟,则右下Tile单元要使用左上Tile单元生成的数据,会产生6个周期的通信延迟。
Tile单元中的运算流水线由8级指令流水线构成,每条运算流水线都采用单指令发射的简单结构。尽管一个Tile单元每个时钟周期只能处理一条指令,但16个Tile单元可同时进行运算,因而每个芯片一个时钟周期就可完成16条指令的处理,从而达到较高的峰值性能。












