现代CPU的传统体系结构

现代CPU所采用的体系结构主要通过深度流水来提高处理器的时钟频率,采用复杂设计来深入挖掘单处理器指令流中的指令级并行性。现有体系结构的发展遭遇瓶颈。
在过去二十年,时钟频率以每年40%的速度增长。这种趋势在Intel x86系列处理器中体现得相当明显,Intel在1985年发布的80386,采用2微米工艺,时钟频率为33MHz,每个时钟周期为80个FO4(Fan-Out-Four)反相器,2006年发布的Pentium4,流水线达到了32级,采用65纳米工艺,时钟频率为3.8GHz,每个时钟周期为12-16个FO4反相器,时钟频率增加了100多倍。然而,处理器的时钟频率不能无限发展,时钟频率的增长趋势在将来很难再延续下去,最新的分析和预测表明,最小可实现的逻辑深度近似于10-12个FO4,考虑到控制流水线的锁存器本身的延迟,实际留给有效处理工作的逻辑只剩下了6-9个FO4。
传统体系结构采用资源集中的复杂设计来挖掘指令级并行性,其中最典型的是90年代以来盛行的超标量技术(和超标量相关的技术统称为超标量技术)。Pentium4、Opteron等处理器普遍采用超标量、超流水、推测技术、增强取值和转移技术、踪迹高速缓存等技术,它们共同的特点是组织发射宽度更宽的实现结构,设置更多的功能部件,芯片内安装多级大容量cache,显著提高内存带宽,强化转移预测功能,增加多媒体指令和专用电路,以激进的数据和控制预测来实现高效的指令乱序并发执行。然而,随着半导体工艺由深亚微米逐渐转向纳米级别,超标量处理器中一些集中式大结构,如指令发射窗口、重命名表、分支预测器、旁路网络、寄存器堆和cache都将变慢,进而导致某一特定频率下的IPC(Instructions Per Cycle)下降。其次,由于多功能部件的控制复杂性随部件数量平方关系增长,导致资源利用率低,电路延时大,这在很大程度上限制了更高指令级并行性和资源利用率的开发。最后,受到数据相关和控制相关的影响,程序中指令级并行性是有限的。研究表明程序的指令级并行性在4~10之间,目前通过超标量技术开发已经达到了2~4,在硬件可实现的指令调度窗口之内,进一步开发单处理器指令流中存在的指令级并行性收益越来越小。综上,当前传统的高主频复杂设计遇到了难以逾越的障碍。
应用的变化对体系结构提出了新的要求。原来的科学和工程计算应用主要关注浮点计算能力,随着网络和多媒体应用的普及,对处理器的性能需要发生了变化。Internet迅猛发展,出现了web服务和数据库应用等各种商业服务,这些新的应用要求微处理器具备响应实时性,能够处理流式数据类型,并且支持数据级和线程级并行性。为了适应新的市场和不断变化的应用需求,需要采用新的处理器体系结构。
综上所述,体系结构到了变革的时期,未来的芯片需要简单的、分布式控制的结构,即体系结构越来越强调结构的层次化、功能部件的模块化和分布化。每个功能部件都相对简单,部件内部尽可能保持连线的局部性,在支持指令级并行性的同时支持数据级并行和线程级并行,消耗更低的能量,降低设计的复杂性并具备可伸缩。
作者:计算所微处理器中心
相关文章
- 乔布斯教给我们十条经验 - (2011-10-05)
- 2011年 - (2011-01-04)
- 初探Go语言 - (2009-11-14)
- Go语言 - (2009-11-11)
- subversion客户端版本不一致引来的错误 - (2009-09-28)
- 今天开博了! - (2009-09-18)
- 相册 - (2009-09-18)
- Emacs - (2009-09-18)
- Programming - (2009-09-18)
- 关于 - (2009-09-18)