微处理机(又称为CPU或中央处理单元)是装配在单颗芯片上的一个完整的计算引擎。第一颗微处理器是1971年问世的Intel 4004。微处理机能完成取
指令、执行指令,以及与外界
存储器和逻辑部件交换信息等操作,是
微型计算机的运算控制部分。它可与
存储器和外围
电路芯片组成
微型计算机。
基本概念
自从1971年Intel公司推出第一片微处理器芯片4004、尤其是1974年推出8位微处理机芯片8080以后,摩尔定律(即集成电路的集成度,性能大约每18个月翻一番)就开始。从90年代初开始,国际上采用主流的微处理机芯片研制高性能并行计算机已成为一种发展趋势。
微处理机(又称为CPU或中央处理单元)是装配在单颗芯片上的一个完整的计算引擎。微处理机能完成取
指令、执行指令,以及与外界
存储器和逻辑部件交换信息等操作,是
微型计算机的运算控制部分。它可与
存储器和外围电路芯片组成
微型计算机。
微处理机芯片结构
微处理器基本结构如图1:
这是一个进行了最大程度简化的微处理器。此微处理器具有:
(1)一条地址总线(总线宽度可以8位、16位或32位),用于向内存发送一个地址;
(2)一条数据总线(总线宽度可以是8位、16位或32位),能够将数据发送到内存或从内存取得数据;
(3)一条RD(读)和WR(写)线路,告诉内存它是希望写入某个地址位置还是获得某个地址位置的内容;
(4)一条时钟线路,将时钟脉冲序列发送到处理器;
(5)复位线路,用于将程序计数器重置为零(或者其他内容)并重新开始执行。
微处理器执行一组机器指令,这组指令可向处理器告知应执行哪些操作。微处理器就会根据指令执行三种基本工作:
(1)通过使用ALU(算术/逻辑单元),微处理器可以执行数学计算。例如:加法、减法、乘法和除法。现代的微处理器包含完整的浮点处理器,它可以对很大的浮点数执行非常复杂的浮点运算。
(2)微处理器可以将数据从一个内存位置移动到另一个位置。
(3)微处理器可以做出决定,并根据这些决定跳转到一组新指令。
微处理器能够执行许多非常复杂的工作,但是所有工作都属于这三种基本操作的范畴。
微处理机芯片器的发展
CISC微处理器
这种计算机为复杂指令系统计算机,简称CISC。这种计算机采用的微处理器属于CISC结构的微处理器。在CISC微处理器中,程序的各条指令是按顺序串行执行的;每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但机器各部分的利用率不高,执行速度慢。Intel的80386系列就属于CISC结构的微处理器。
对CISC机进行测试表明,各种指令的使用频度相当悬殊,最常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。复杂的指令系统必然增加微处理器的复杂性,使微处理器研制时间长、成本高。复杂指令需要复杂的操作,从而降低了机器的速度。
RISC微处理器
70年代末,John Cocke提出精简指令的想法。80年代初斯坦福大学研制出MIPS机,为精简指令系统计算机(简称RISC)的诞生与发展起了很大作用。RISC机中采用的微处理器统称RISC处理器。MIPS R3000,HP-PA8000系列,Motorola M88000等均属于RISC微处理器。它们的指令数目只有几十条。RISC微处理器不仅精简了指令系统,还采用超标量和超流水线结构,大大增强了并行处理能力,并在构建并行精简指令系统多处理机中起着核心的作用。由于RISC处理器指令简单、采用硬布线控制逻辑、处理能力强、速度快,世界上绝大部分UNIX工作站和服务器厂商均采用RISC芯片作CPU用。这些RISC芯片的时钟频率低,功率消耗少,温升也少,机器不易发生故障和老化,提高了系统的可靠性。
EPIC微处理器
何谓64位计算机?现今工业界对64位计算机的描述,是指具有64位运算能力、64位寻址空间和64位数据通路的计算机。
64位的硬件环境能提供的好处:
(1)64位的CPU和数据通路,可以提供快速双精度的运算能力;
(2)64位的指针可以提供大于1TB的虚拟存储空间,文件长度可以大于1TB;
(3)物理地址空间大于1TB。
64位CPU可以快速而精确地执行应用程序,允许程序人员在设计程序时可以使用比以往更大的数据库和存储空间,可以处理很复杂的计算模型。简单地说,EPIC处理器首先由编译程序分析指令之间的依赖关系;然后将没有依赖关系的指令组合成群;最后由内置的执行单元读入指令群并分头并行执行。由于各条指令究竟分配给哪个单元是由编译器来决定的,而不是由硬件进行调度,因此降低了处理器的制造成本。
Intel的Intanium(安腾)处理器和AMD的Athlon(速龙)处理器均属于64位的EPIC微处理器,两者均采用0.18微米的CMOS制造工艺。不同的是IA- 64的奔腾处理器与IA-32应用程序不能完全兼容,而AMD的x86- 64可以运行IA-32的应用程序。因此在64位的EPIC处理器战场上,Intel和AMD两大厂商展开了激烈的竞争。
Alpha处理器
Alpha的设计思想可以用一句话来概括:一个聪明的编译程序和一个聪明的处理器开发Alpha体系结构的明显目标是实现在编译程序、处理器体系结构和实际线路设计等方面都能够创造性地提高性能。Alpha设计成能够利用编译时和运行时的信息。当编译出错时,设计了一个无序指令发送机制使得计算机能够适应程序的运行过程而不是阻塞计算机的运行。此外,编译程序在程序中只有有限的视野,经常不能跨过子程序或模块的边界进行优化。同时多线程允许Alpha处理器除了指令级并行外还能够利用线程级并行。Alpha是为广泛范围的商业应用设计的。同时,多线程是Alpha无序指令执行的自然扩展,它也是在大多数应用负载下利用显性并行的最有效机制。
MIPS处理器
MIPS 84000是最早推出的64位处理器之一。SGI在收购MIPS(后MIPS又独立)之后继续发展T系列的64位处理器,先后推出了R6000,R8000,R10000,R12000等型号。
MIPS 812000是超标量的RISC微处理器,它采用ANDES(无序动态执行和调度)的体系结构。在每个流水线周期内可对4条指令进行译码。该微处理器有5条执行流水线分别连接到整数和浮点执行单元,并具有推理机制及无序动态执行机制。
H2是一种设计用于满足用户在今后十年使用的最苛求的技术和商业计算应用需要的新型微处理器系列。利用在处理单和多处理器环境中迅速将大数据集合从CPU输出和输入到CPU的技术,这种微处理器系列集成了消除处理器与系统设计之间存在的传统瓶颈的创新内存。在保持编码和指令集兼容性的同时,H2将为大型可伸缩服务器级计算机到桌面系统提供动力。
微处理器芯片的新发展
过去的微处理器主频大多比较低,不断提高主频、降低线宽、采用超流水、多发射等技术是提高处理器性能的主要设计方法,处理器主频高低几乎成为微处理器性能强弱的代名词。随着主频持续增长在物理设计上出现了一些困难。特别是处理器性能增长速度远低于处理器主频的增长速度。以Intel公司微处理器发展历史为例,从I486发展到Pentium 4,处理器主频增长了15倍,但性能才提高5倍。另外传统的提高性能方法易导致芯片面积增大、功耗过大、晶体管数量过多等一系列问题。随着处理器设计技术和生产工艺的发展,处理器突破性的性能提升还必须依赖处理器的结构更新。
2001年以后微处理器微系统结构设计中出现了一些令人瞩目的新变化。如主频的增长不再符合摩尔定律,主频高低不再是最关键的处理器性能评价指标,线程级并行变得更普遍,64位计算正在向低端用户普及、支持无线上网且低功耗的处理器成为笔记本电脑的主流。新技术的原理是什么?如何实现?是什么原因导致要采用新技术而不是传统的微系统结构技术?以上问题应从技术和应用需求等多个角度进行考察,主频增长困难的前提下,确保微处理器性能继续提高的新技术进行考察,对新技术的原理、效果、必要性以及应用需求进行介绍和分析。
追随CISC还是转向RISC
RISC(全称Reduced Instruction Set Computer,精简指令系统计算机)是一套优化过的指令架构,它是根据著名的80/20法则所订立。计算机科学家们发现,计算机中80%的任务只是动用了大约20%的指令,而剩下20%的任务才有机会使用到其他80%的指令。如果对指令系统作相应的优化,就可以从根本上快速提高处理器的执行率。
IBM公司在1975年成功开发出第一款RISC处理器,从此RISC架构开始走进超级计算机中。由于指令高度简约,RISC处理器的晶体管规模普遍都很小而性能强大,深受超级计算机厂商所青睐。
无论在执行效率、芯片功耗还是制造成本上,选择RISC都比沿用X86更加英明。在工艺相同的情况下,芯片面积大小取决于所集成的晶体管规模。RISC处理器核心精简、效率更高,只要很少的晶体管就能达到与X86产品媲美的效能,制造成本可大大低于现有的X86处理器。而小晶体管规模亦有助于保持较低的能耗值,RISC处理器在这方面表现相当杰出,现在的嵌入式设备几乎都采用RISC产品,原因就在于这类产品的功耗值超低。
PARROT基于RISC思想
Intel在IDF技术峰会上提出的”PARROT'概念便充分体现了这种思想。PARROT的全称是“Power Awareness through Selective Dynamically Optimized Traces”,从其名称不难得知,PARROT是一项借助”动态优化执行路径”来提高处理器执行效率的技术。它的理论基础也是著名的80/20法则,但与RISC不同,X86处理器无法从指令系统层面上实现这一点。Intel另辟蹊径,提出了一个全新的发展思路,将20%的常用指令定义为“热代码(Hot Code)”,剩余的80%指令使用频率没那么高,被定义为“冷代码(Cold Code) ”。对应的CPU也在逻辑上被划分为两个部分:一是热核(Hot印ot),只针对调用到热代码的程序;另一部分则是冷核(Cold Spot),负责执行20%的次常用任务。由于热核部分要执行80%的任务,设计者便可以将它设计得较为强大,占据更多的晶体管资源。而冷核部分任务相对简单,没有必要在它身上花费同样的功夫。
“PARROT”创造了一种崭新的双核概念,过去我们谈论的双核心是横向维度的对等设计。而PARROT则是一种纵向维度的双核理念,热核与冷核地位并不对等,且无法独立运作,只能说是一个CPU内核中的两部分分立逻辑。它所起到的是提高CPU的硬件资源利用率,以高执行效率达到高效能的目的,这种做法显然比目前业界鼓吹的“双核心”更具革命意义。
分布式计算思想
分布式计算的核心思想很简单:让整个网络的计算机系统联结为一体,使之可以用共同的计算力来执行同一个任务。分布计算网络内的计算机数量越多,该网络所拥有的计算力就越强大。
我们知道,PC的功能一直都在不断延伸,所面对的任务也变得越来越复杂,而硬件技术的发展似乎永远不够一往往在你惊叹某款X86处理器多快多快的时候,一项新出现的大型应用就足以让它捉襟见肘,例如,将DVD压缩成DIVX、编辑高分辨率的复杂图像、JD环境渲染生成、大文件压缩和解压、HDTV编解码、大型JD游戏等等,一般的PC很难胜任这些任务,但如果处理器可直接支持分布式计算,问题便迎刃而解了。借助分布计算网络,每一台计算机都有了强大的后盾,参与运算工作的并非只有本机,而是整个计算机网络,即便本机的性能不高,照样可以很轻松完成高度复杂的任务。而计算网络的规模越庞大,所具有的计算力就越可观,相信这不论对于大中型企业客户,还是普通家庭用户都有非常积极的意义。
让PC同步执行两套系统
在以往,这种多操作系统技术仅限于超级计算机领域,但Intel决定让PC也拥有同样的功能,并发展出一套名为“Van-derpool”的技术。要在同一个硬件平台上同时生成两套操作环境并不容易,Vanderpool如何解决二者可能存在的冲突问题?Intel引入了一项名为“VMM (virtual machine monitor,虚拟机监控器)”的技术解决了问题。首先,Vanderpool在硬件平台上分别构建了隔绝的逻辑区,每个逻辑区都包含完整的运作状态,它们包括处理器的运算资源和内存资源;其次,VMM可对处理器、内存和其他硬件资源进行统一的管理和分配,确保每个操作环境都可以获得相应的计算资源,由此保证多个操作环境同步运作。这样在用户看来,他所面对的就是两套同步运行,且完全独立的操作环境。而常规的计算机系统只有三层逻辑结构,自上而下分别是应用软件、操作系统和底层硬件,未有起衔接作用的”虚拟机”层。
更有效地利用能源
功耗过高可以说是目前X86处理器所遇到的最大问题。Pre Scott核心的Pentium 4处理器功耗突破100瓦大关,而Pentium 4 600系列更将达到130瓦的惊人水平,这不仅仅意味着大量的能源消耗,系统稳定性也成问题。
然而,CPU所消耗的这些能源绝大多数都没有得到利用,其有效利用率竟然只有0.1%的低水平。在去年2月份召开的“国际固态电路年会”上,与会专家对此问题提出许多积极的意见。
其中,东京大学的Takayasau Sakurai在会上发表一项电压和频率缩放技术,该技术可根据软件的负载情况来直接调整晶体管的阂值电压,如果系统执行的是需要大量计算的任务,处理器便会以最快的时钟频率和最高的电压运行。如果该技术能被未来的微处理器所采纳,能源浪费现象将可得到很大程度的缓解。
全美达公司的技术总监戴维也在大力推销自己的LongRun2节能技术,除了继承上一代技术的动态调节电压/频率特性外,LongRun2最主要的新特性就是可对晶体管漏电流进行有效的控制。随着半导体制造工艺的升级,晶体管线宽变得越来越小,各逻辑门间的障壁也越来越薄,漏电流现象就变得越发难以控制。90纳米Pre Scott核心的功耗过高、漏电流是一个很重要的因素,这也是半导体业界所面临的共同难题。而全美达的LongRun2技术却从芯片设计角度上很好解决了这个问题。