对于寄望成为计算机架构工程师的设计者们来说,他们会面临何种未来?随着英特尔逐渐淡出制造更高速CPU内核的舞台,转而将重点集中到片上多处理系统,处理器架构的时代似乎已走到了尽头。
Ron Wilson
然而这种终结又何尝不是好事一桩呢?微处理器架构曾致力于重建几乎所有大型计算机的体系,包括从第一台电子管计算机到最后复杂的IBM 360超标量架构。人们采用了能够利用的所有技术,从微程序设计和精简的load-store管道架构,到预测执行(speculative execution)和分支预测(branch prediction)。好在几乎没有人够胆说,在这种在较低的集成层级下,已经充分考虑了问题的方方面面。
至此,处理器主导商们才惊觉前途不妙。最根本的问题在于,基于90nm工艺的时序预算(timing budget)已对处理器时钟频率的增加造成了困难。究其原因,主要包括能量密度的快速增长、难于对快速晶体管泄漏电流进行有效控制,以及不断变化的电流参数(甚至在最稳定工艺的条件下)等。
与此同时,还存在着其它问题。仅试图通过增加执行管道数量来提高每个时钟周期中所执行的指令数量,将遇到极大的困难(hit the wall),正如计算机科学家们所警告的,这种情况在三到五年之内必会发生。只有非常独特的人工优化的程序似乎才能从更多的指令级并行处理中获益。
伴随时钟频率和每个时钟周期中执行指令数量达到极限,CPU的极限看来也为时不远了。更为糟糕的是,由于CPU在等待访问存储器的过程中,多数时间处于闲置状态,因而在多数系统中CPU的性能仅仅停留于理论上, 对此多线程技术也无能为力。
因此下一步的发展将是在单裸片上集成多个内核,并希望混合执行的任务能够保持系统的高效率。在某些重要商用应用中(如在大量虚拟连接时进行深层数据包检测的网络路由器),这种方法可能值得尝试。
然而这种多内核架构又会对VLSI设计中的片上互连和封装/板设计引发难以估量的困难,其中一个问题就是存储器的带宽。如果存储器无法快到使一个CPU不进入空闲,那么这种存储器也就无法满足八个CPU的速度要求。同时如果设计人员在芯片设计中面对最大的问题时引用信号完整性和互连变量,则多CPU局部总线、两级快速缓存的多个实例以及片上多个存储器的总线就可能使问题陷入复杂化。
所以眼下的技术重点不在于CPU内核,而在于环境。最近的几个设计中,包括IBM Cell芯片和Raza Microelectronics的XLR,已采用片上光纤网络的点对点环形记忆网络,从而在多个DRAM端口中加入多缓存结构。现在正是存储器和互连使问题变得复杂,因此也许最终还是需要架构工程师来解决问题。
作者:Ron Wilson
EETimes