文档介绍:高性能通用微处理器研发现状及发展策略
胡伟武i 张民选ii
1. 高性能微处理器体系结构技术
应用需求和半导体工艺水平的提高一直是微处理器发展的最主要动力。推动微处理
器性能提高的因素主要有两个:更高的主频和更先进的体系结构。处理器主频的不断提
升可以直接提高性能,但随着超大规模集成电路生产工艺的发展逐渐饱和并接近极限,
处理器的性能提升还必须依赖体系结构技术的不断突破。
目前高性能微处理器在体系结构技术方面主要通过开发处理器中各个层次的并行
性来提高性能,包括指令级并行性(ILP1)、数据级并行性、以及线程/进程级并行性。
其中指令级并行性包括通过流水线技术实现指令之间重叠,通过多发射或超长指令字技
术实现空间重复,以及通过乱序执行技术充分发挥流水线的效率。数据级并行性主要使
一条指令完成对不同数据的多个相同操作,主要包括向量处理技术以及单指令流多数据
流(SIMD2)技术。线程/进程级并行性包括单处理器的多线程/进程技术以及多处理器
的多线程/进程技术。在线程级并行方面目前比较突出的工作包括多线程/同时多线程
(SMT3)技术以及单芯片多处理器技术(CMP4)。
指令级并行性的开发
指令级并行性的开发主要包括超标量/超流水技术以及超长指令字/显式并行技术。
超标量技术全部利用微处理器硬件开发指令级并行性,自从八十年代出现产品以
来,技术发展已十分成熟,积累非常丰富。目前,超标量微处理器在市场上占有绝对优
势。RISC5结构的超标量微处理器主要有:Alpha、MIPS、、 SPARC、PA-RISC,而 CISC6
结构的超标量微处理器主要由英特尔和 AMD 公司开发,如:AMD 的 Opteron 和英特
尔的 Pentium 系列等。研究表明可用的 ILP 在 4~10 之间,而目前通过超标量技术开发
已经达到 2~4。单纯通过硬件进一步开发 ILP 已经非常困难,实现的复杂性所带来的性
能下降已越来越严重,很难获得更大的性能增益。
1 Instruction Level Parallelism
2 Single-Instruction Stream Multiple-Data Stream
3 Simultaneous Multithreading
4 chip multiprocessor
5 Reduced Instruction puter—精简指令集计算机
plex Instruction puter—复杂指令集计算机
1
为提高微处理器性能,超标量技术通常与超流水技术融合,以提高芯片的频率,如
英特尔 Pentium 4系列主频已经达到 3GHz 以上。但深度多级流水线技术也使流水线清
空时的代价增大,对分支预测提出了更高的要求。
进一步开发并行性的另一种方法是软、硬件协作开发,主要有超长指令字( VLIW7)
技术和显式并行指令计算(EPIC8)技术。软硬件协同开发指令级并行性能够降低硬件
复杂度,提高效率,便于低功耗、简单实现。VLIW 技术完全依赖于软件编译开发,硬
件只提供大量的计算资源,并不负责开发指令级并行性。VLIW 技术已经广泛应用于
DSP9领域。
惠普和英特尔于 1994 年开始合作开发基于 EPIC 技术的 IA-64 架构。一方面,英特
尔/惠普通过大力开发先进的编译技术,使编译程序在比处理器硬件指令发射窗口更大的
范围内,通过程序分析和指令重新调度把原始源代码转换成指令包序列。指令包包含有
编译程序识别的能够并行执行的指令信息以及各种调度信息,允许编译器为处理器的执
行过程提供提示,从而优化处理器的执行效率;同时,处理器硬件提供丰富的计算资源
(多条功能部件流水线和大量的寄存器)。由于编译器事先进行了大量工作,因而能够
在一定程度上简化处理器硬件设计,实现高并行性和高性能。2001 年英特尔/惠普推出
了 Itanium,2002 年推出了 Itanium 2,2003 年推出了改进的 Itanium 2,实践证明EPIC
技术具有广阔的发展空间。
VLIW 和 EPIC 体系结构对软件的压力较大。处理器的开发必须与系统软件的开发和
应用开发紧密结合,微处理器的效率才能得以发挥。同时,由于 VLIW 和 EPIC 处理器
的指令集与传统指令集有着极大的区别,为了实现指令集兼容性还必须研究二进制兼容
问题。如:Transmeta 公司10的 Crusoe 芯片和 Elbruk 公司11的 E2k 芯片,采用二进制翻
译技术解决兼容性问题。
由于其良好的兼容性,沿袭传统的指令级并行方法加速单线程应用的努力将不会终
止。其目标在于进