为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

CPU芯片测试技术

2018-01-17 50页 doc 188KB 36阅读

用户头像

is_977556

暂无简介

举报
CPU芯片测试技术CPU芯片测试技术 1 目录 第一章 CPU芯片封装概述 1(1 集成电路的发展„„„„„„„„„„„„„„ 1(1(1 世界集成电路的发展„„„„„„„„„„„„.. 1(1(2 我国集成电路的发展„„„„„„„„„„„„ 1(1(3 CPU芯片的发展„„„„„„„„„„„„„„„ 1.2 CPU构造原理„„„„„„„„„„„„„„„ 1.2.1 算术逻辑单元ALU(Arithmetic Logic Unit)……… 1.2.2 寄存器组 RS(Register Set或Registers)…………... 1.2.3...
CPU芯片测试技术
CPU芯片测试技术 1 目录 第一章 CPU芯片封装概述 1(1 集成电路的发展„„„„„„„„„„„„„„ 1(1(1 世界集成电路的发展„„„„„„„„„„„„.. 1(1(2 我国集成电路的发展„„„„„„„„„„„„ 1(1(3 CPU芯片的发展„„„„„„„„„„„„„„„ 1.2 CPU构造原理„„„„„„„„„„„„„„„ 1.2.1 算术逻辑单元ALU(Arithmetic Logic Unit)……… 1.2.2 寄存器组 RS(Register Set或Registers)…………... 1.2.3 控制单元(Control Unit)…………………………….. 1.2.4. 总线(Bus)…………………………………………… 1(3.1 CPU工作原理„„„„„„„„„„„„„„„ 1(3(2 CPU的工作流程………………………………………. 1(4 CPU性能指标………………………………………. 1.4.1 主频………………………………………………... 1.4.2 外频 …………………………………………….. 1.4.3 前端总线(FSB)频率 ………………………….. 1.4..4 CPU的位和字长……………………………….. 1.4.5 倍频系数…………………………………………. 1.4.6 缓存………………………………………………. 1.4.7 CPU扩展指令集……………………………… 1.4.8 CPU内核和I/O工作电压……………………. 2 1.4.9 制造…………………………………….. 1.4.10 指令集…………………………………………. 1(4(11 超流水线与超标量…………………………. 1(4(12 封装形式……………………………………. 1(4(13 多线程………………………………………… 1(4(14 多核心………………………………………… 1(4(15 SMP ………………………………………… 1(4(16 NUMA技术…………………………………. 1(4(17 乱序执行技术……………………………….. 1(4(18 CPU内部的内存控制器………………………. 1(5 如何提高CPU工作效率…………………………. 第二章 测试 2(1 测试设备介绍„„„„„„„„„„„„„„ 2(1(1 Handler(传送机)介绍„„„„„„„„„„„ 2(1(2 Tester(测试机)介绍„„„„„„„„„„„„. 2(1(3 Chiller(温控设备)介绍„„„„„„„„„„. 2(2 测试系统„„„„„„„„„„„„„„ 2(2(1 SUMMIT ATC 2.13 (温度控制系统)„„„„„„„ 2(2(2 T2000( 测试系统)„„„„„„„„„„.. 2(2(3 其它相关系统„„„„„„„„„„„„„. 2(3 测试„„„„„„„„„„„„„„„.. 2(3(1 电性能测试„„„„„„„„„„„„„ 2(3(2 电功能测试„„„„„„„„„„„„„.. 3 3(3 测试„„„„„„„„„„„„„„„„„ 3(3(1 测试原理„„„„„„„„„„„„„„. 2 测试分类„„„„„„„„„„„„„„.. 3(3( 3(3(3 电性能测试……………………………………. 4 电功能测试„„„„„„„„„„„„„.. 3(3( 第三章 测试的重要性 3(1 可靠性测试„„„„„„„„„„„„„„ 第四章 测试实例分析 4 第一章 集成电路概述 1(1 集成电路的发展 1(1(1 世界集成电路的发展 世界集成电路产业结构的变化及其发展历程 自1958年美国德克萨斯仪器公司(TI)发明集成电路(IC)后,随着硅平面技术的发展,二十世纪六十年代先后发明了双极型和MOS型两种重要的集成电路,它标志着由电子管和晶体管制造电子整机的时代发生了量和质的飞跃,创造了一个前所未有的具有极强渗透力和旺盛生命力的新兴产业集成电路产业。 回顾集成电路的发展历程,我们可以看到,自发明集成电路至今40多年以来,"从电路集成到系统集成"这句话是对IC产品从小规模集成电路(SSI)到今天特大规模集成电路(ULSI)发展过程的最好总结,即整个集成电路产品的发展经历了从传统的板上系统(System-on-board)到片上系统(System-on-a-chip)的过程。在这历史过程中,世界IC产业为适应技术的发展和市场的需求,其产业结构经历了三次变革。 第一次变革:以加工制造为主导的IC产业发展的初级阶段。 70年代,集成电路的主流产品是微处理器、存储器以及标准通用逻辑电路。这一时期IC制造商(IDM)在IC市场中充当主要角色,IC设计只作为附属部门而存在。这时的IC设计和半导体工艺密切相关。IC设计主要以人工为主,CAD系统仅作为数据处理和图形编程之用。IC产业仅处在以生产为导向的初级阶段。 第二次变革:Foundry公司与IC设计公司的崛起。 80年代,集成电路的主流产品为微处理器(MPU)、微控制器(MCU)及专用IC(ASIC)。这时,无生产线的IC设计公司(Fabless)与标准工艺加工线(Foundry)相结合的方式开始成为集成电路产业发展的新模式。 随着微处理器和PC机的广泛应用和普及(特别是在通信、工业控制、消费电子等领域),IC产业已开始进入以客户为导向的阶段。一方面标准化功能的 IC已难以满足整机客户对系统成本、可靠性等要求,同时整机客户则要求不断增加IC的集成度,提高保密性,减小芯片面积使系统的体积缩小,降低成本,提高产品的性能价格比,从而增强产品的竞争力,得到更多的市场份额和更丰厚的利润;另一方面,由于IC微细加工技术的进步,软件的硬件化已成为可能,为了改善系统的速度和简化程序,故各种硬件结构的ASIC如门阵列、可编程逻辑器件(包括FPGA)、标准单元、全定制电路等应运而生,其比例在整个IC销售额中 1982年已占12,;其三是随着EDA工具(电子设计自动化工具)的发展,PCB设计方法引入IC设计之中,如库的概念、工艺模拟参数及其仿真概念等,设计开始进入抽象化阶段,使设计过程可以独立于生产工艺而存在。有远见的整机厂商和创业者包括风险投资基金(VC)看到ASIC的市场和发展前景,纷纷开始成 5 立专业设计公司和IC设计部门,一种无生产线的集成电路设计公司(Fabless)或设计部门纷纷建立起来并得到迅速的发展。同时也带动了标准工艺加工线(Foundry)的崛起。全球第一个Foundry工厂是1987年成立的台湾积体电路公司,它的创始人张忠谋也被誉为"晶芯片加工之父"。 第三次变革:"四业分离"的IC产业 90年代,随着INTERNET的兴起,IC产业跨入以竞争为导向的高级阶段,国际竞争由原来的资源竞争、价格竞争转向人才知识竞争、密集资本竞争。以DRAM为中心来扩大设备投资的竞争方式已成为过去。如1990年,美国以Intel为代表,为抗争日本跃居世界半导体榜首之威胁,主动放弃 DRAM市场,大搞CPU,对半导体工业作了重大结构调整,又重新夺回了世界半导体霸主地位。这使人们认识到,越来越庞大的集成电路产业体系并不有利于整个IC产业发展,"分"才能精,"整合"才成优势。于是,IC产业结构向高度专业化转化成为一种趋势,开始形成了设计业、制造业、封装业、测试业独立成行的局面(如下图所示),近年来,全球IC产业的发展越来越显示出这种结构的优势。如台湾IC业正是由于以中小企业为主,比较好地形成了高度分工的产业结构,故自1996年,受亚洲经济危机的波及,全球半导体产业出现生产过剩、效益下滑,而IC设计业却获得持续的增长。 特别是96、97、98年持续三年的DRAM的跌价、MPU的下滑,世界半导体工业的增长速度已远达不到从前17,的增长值,若再依靠高投入提升技术,追求大尺寸硅片、追求微细加工,从大生产中来降低成本,推动其增长,将难以为继。而IC设计企业更接近市场和了解市场,通过创新开发出高附加值的产品,直接推动着电子系统的更新换代;同时,在创新中获取利润,在快速、协调发展的基础上积累资本,带动半导体设备的更新和新的投入;IC设计业作为集成电路产业的"龙头",为整个集成电路产业的增长注入了新的动力和活力。 1(1(2 我国集成电路的发展 我国集成电路产业诞生于六十年代,共经历了三个发展阶段: 1965年-1978年:以计算机和军工配套为目标,以开发逻辑电路为主要产 品,初步建立集成电路工业基础及相关设备、仪器、材料的配套条件; 1978年-1990年:主要引进美国二手设备,改善集成电路装备水平,在―治散治乱‖的同时,以消费类整机作为配套重点,较好地解决了彩电集成电路的国产化; 1990年-2000年:以908工程、909工程为重点,以CAD为突破口,抓好科技攻关和北方科研开发基地的建设,为信息产业服务,集成电路行业取得了新的发展。 近几年,中国集成电路产业取得了飞速发展。中国集成电路产业已经成为全球半导体产业关注的焦点,即使在全球半导体产业陷入有史以来程 6 度最严重的低迷阶段时,中国集成电路市场仍保持了两位数的年增长率,凭借巨大的市场需求、较低的生产成本、丰富的人力资源,以及经济的稳定发展和宽松的政策环境等众多优势条件,以京津唐地区、长江三角洲地区和珠江三角洲地区为代表的产业基地迅速发展壮大,制造业、设计业和封装业等集成电路产业各环节逐步完善。 2006年中国集成电路市场销售额为4862.5亿元,同比增长27.8%。其中IC设计业年销售额为186.2亿元,比2005年增长49.8%。 2007年中国集成电路产业规模达到1251.3亿元,同比增长24.3%,集成电路市场销售额为5623.7亿元,同比增长18.6%。而计算机类、消费类、网络通信类三大领域占中国集成电路市场的88.1%。 目前,中国集成电路产业已经形成了IC设计、制造、封装测试三业及支撑配套业共同发展的较为完善的产业链格局,随着IC设计和芯片制造行业的迅猛发展,国内集成电路价值链格局继续改变,其总体趋势是设计业和芯片制造业所占比例迅速上升。 1.2 CPU芯片的介绍 1.2.1 CPU芯片的发展 图1.1 图名 CPU的溯源可以一直去到1971年。在那一年,当时还处在发展阶段的INTEL公司推出了世界上第一台微处理器4004。这不但是第一个用于计算器的4位微处理器,也是第一款个人有能力买得起的电脑处理器~4004含有2300个晶体管,功能相当有限,而且速度还很慢,被当时的蓝色巨人IBM以及大部分商业用户不屑一顾,但是它毕竟是划时代的产品,从此以后,INTEL便与微处理器结下了不解之缘。可以这么说,CPU的历史发展历程其实也就是 INTEL公司X86系列CPU的发展历程,我们就通过它来展开我们的―CPU历史之旅‖。 1978年,Intel公司再次领导潮流,首次生产出16位的微处理器,并命名为i8086,同时还生产出与之相配合的数学协处理器 i8087,这两种芯片使用相互兼容的指令集,但在i8087指令集中增加了一些专门用于对数、指数和三角函数等数学计算指令。由于这些指令集应用于 i8086和i8087,所以人们也这些指令集统一称之为X86指令集。虽然以后Intel又陆续生产出第二代、第三代等更先进和更快的新型CPU,但都 仍然兼容原来的X8 7 6指令,而且Intel在后续CPU的命名上沿用了原先的X86序列,直到后来因商标注册问题,才放弃了继续用阿拉伯数字命名。至于在 后来发展壮大的其他公司,例如AMD和Cyrix等,在486以前(包括486)的CPU都是按Intel的命名方式为自己的X86系列CPU命名,但到 了586时代,市场竞争越来越厉害了,由于商标注册问题,它们已经无法继续使用与Intel的X86系列相同或相似的命名,只好另外为自己的586、 686兼容CPU命名了。 1979年,INTEL公司推出了8088芯片,它仍旧是属于16位微处理器,内含29000个晶体管,时钟频率为4.77MHz,地址总线 为20位,可使用1MB内存。8088内部数据总线都是16位,外部数据总线是8位,而它的兄弟8086是16位。1981年8088芯片首次用于IBM PC机中,开创了全新的微机时代。也正是从8088开始,PC(personal computer——个人电脑)的概念开始在全世界范围内发展起来。 1982年,许多年轻的读者尚在襁褓之中的时候,INTE已经推出了划时代的最新产品枣80286芯片,该芯片比8006和8088都有了飞 跃的发展,虽然它仍旧是16位结构,但是在CPU的内部含有13.4万个晶体管,时钟频率由最初的6MHz逐步提高到20MHz。其内部和外部数据总线皆 为16位,地址总线24位,可寻址16MB内存。从80286开始,CPU的工作方式也演变出两种来:实模式和保护模式。 Intel 80286处理器 1985年INTEL推出了80386芯片,它是80X86系列中的第一种32位微处理器,而且制造工艺也有了很大的进步,与80286相比, 80386内部内含27.5万个晶体管,时钟频率为12.5MHz,后提高到20MHz,25MHz,33MHz。80386的内部和外部数据总线都是 32位,地址总线也是32位,可寻址高达4GB内存。它除具有实模式和保护模式外,还增加了一种叫虚拟86的工作方式,可以通过同时模拟多个8086处理 器来提供多任务能力。除了标准的80386芯片,也就是我们以前经常说的80386DX外,出于不同的市场和应用考虑,INTEL又陆续推出了一些其它类 型的80386芯片:80386SX、80386SL、80386DL等。1988年推出的80386SX是市场定位在80286和80386DX之间的 一种芯片,其与80386DX的不同在于外部数据总线和地址总线皆与80286相同,分别是16位和24位(即寻址能力为16MB)。 1990年推出的80386 SL和80386 DL都是低功耗、节能型芯片,主要用于便携机和节能型台式机。80386 SL与80386 DL的不同在于前者是基于80386SX的,后者是基于80386DX的,但两者皆增加了一种新的工作方式:系统管理方式。当进入系统管理方式后,CPU 就自动降低运行速度、控制显示屏和硬盘等其它部件暂停工作,甚至停止运行,进入―休眠‖状态,以达到节能目的。1989年,我们大家耳熟能详的80486 芯片由IN 8 TEL推出,这种芯片的伟大之处就在于它实破了100万个晶体管的界限,集成了120万个晶体管。80486的时钟频率从25MHz逐步提高到 33MHz、50MHz。80486是将80386和数学协处理器80387以及一个8KB的高速缓存集成在一个芯片内,并且在80X86系列中首次采用 了RISC(精简指令集)技术,可以在一个时钟周期内执行一条指令。它还采用了突发总线方式,大大提高了与内存的数据交换速度。由于这些改进,80486 的性能比带有80387数学协处理器的80386DX提高了4倍。80486和80386一样,也陆续出现了几种类型。上面介绍的最初类型是 80486DX。1990年推出了80486SX,它是486类型中的一种低价格机型,其与80486DX的区别在于它没有数学协处理器。80486 DX2由系用了时钟倍频技术,也就是说芯片内部的运行速度是外部总线运行速度的两倍,即芯片内部以2倍于系统时钟的速度运行,但仍以原有时钟速度与外界通 讯。80486 DX2的内部时钟频率主要有40MHz、50MHz、66MHz等。80486 DX4也是采用了时钟倍频技术的芯片,它允许其内部单元以2倍或3倍于外部总线的速度运行。为了支持这种提高了的内部工作频率,它的片内高速缓存扩大到 16KB。80486 DX4的时钟频率为100MHz,其运行速度比66MHz的80486 DX2快40%。80486也有SL增强类型,其具有系统管理方式,用于便携机或节能型台式机。 踏入新世纪的CPU 进入新世纪以来,CPU进入了更高速发展的时代,以往可望而不可及的1Ghz大关被轻松突破了,在市场分布方面,仍然是Intel跟AMD公司在 两雄争霸,它们分别推出了Pentium4、Tualatin核心Pentium ?和Celeron、Tunderbird核心Athlon、AthlonXP和Duron等处理器,竞争日益激烈。 1、在Intel方面,在上个世纪末的2000年11月,Intel发布了旗下第四代的Pentium处理器,也就是我们天天都能接触到的 Pentium 4。Pentium 4没有沿用PIII的架构,而是采用了全新的设计,包括等效于的400MHz前端总线(100 x 4), SSE2指令集,256K-512KB的二级缓存,全新的超管线技术及NetBurst架构,起步频率为1.3GHz。 第一个Pentium4核心为Willamette,全新的Socket 423插座,集成256KB的二级缓存,支持更为强大的SSE2指令集,多达20级的超标量流水线,搭配i850/i845系列芯片组,随后Intel陆 续推出了1.4GHz-2.0GHz的Willamette P4处理器,而后期的P4处理器均转到了针角更多的Socket 478插座。 和奔腾III一样,第一个Pentium4核心并不受到太多的好评,主要原因是新的CPU架构还不能受到程序软件的充分支持,因此 Pentium4经常大幅落后于同频的Athlon,甚至还如Intel自己的奔腾III。但在一年以后, 9 Intel发布了第二个Pentium4核心, 代号为Northwood,改用了更为精细的0.13微米制程,集成了更大的512KB二级缓存,性能有了大幅的提高,加上Intel孜孜不倦的推广和主 板芯片厂家的支持,目前Pentium4已经成为最受欢迎的中高端处理器。 在低端CPU方面,Intel发布了第三代的Celeron核心,代号为Tualatin,这个核心也转用了0.13微米的工艺,与此同时二 级缓存的容量提高到256KB,外频也提高到100Mhz,目前Tualatin Celeron的主频有1.0、1.1、1.2、1.3Ghz等型号。Intel也推出了Tualatin核心的奔腾III,集成了更大的512KB二级 缓存,但它们只应用于服务器和笔记本电脑市场,在台式机市场很少能看到。 2、在AMD方面,在2000年中发布了第二个Athlon核心——Tunderbird,这个核心的Athlon有以下的改进,首先是制造工 艺改进为0.18微米,其次是安装界面改为了SocketA,这是一种类似于Socket370,但针脚数为462的安装接口。最后是二级缓存改为 256KB,但速度和CPU同步,与Coppermine核心的奔腾III一样。 Tunderbird核心的Athlon不但在性能上要稍微领先于奔腾III,而且其最高的主频也一直比奔腾III高,1Ghz频率的里程碑 就是由这款CPU首先达到的。不过随着Pentium4的发布,Tunderbird开始在频率上落后于对手,为此,AMD又发布了第三个Athlon核 心——Palomino,并且采用了新的频率标称,从此Athlon型号上的数字并不代表实际频率,而是根据一个公式换算相当于竞争对手(也就是 Intel)产品性能的频率,名字也改为AthlonXP。例如AthlonXP1500+处理器实际频率并不是1.5Ghz,而是1.33GHz。最 后,AthlonXP还兼容Intel的SSE指令集,在专门为SSE指令集优化的软件中也能充分发挥性能。 在低端CPU方面,AMD推出了Duron CPU,它的基本架构和Athlon一样,只是二级缓存只有64KB。Duron从发布开始,就能远远抛离同样主攻低端市场的Celeron,而且价格更 低廉,一时间Duron成为低价DIY兼容机的第一选择,但Duron也有它致命的弱点,首先是继承了Athlon发热量大的特点,其次是它的核心非常脆弱,在安装CPU散热器时很容易损坏。 各品牌的双核处理器 英特尔 ―酷睿‖是一款领先节能的新型微架构,设计的出发点是提供卓然出众的性能和能效,提高每瓦特性能,也就是所谓的能效比。早期的酷睿是基于笔记本处理器的。 AMD 采用Socket AM2针脚的内核被称为―F‖步进,它拥有目前―E‖步进核心的全部特性,区别只在于由上代支持双通道DDR 400提升至双通道DDR2 800,并加入AMD虚拟技术。 1(2 .2 CPU构造 10 CPU是中央处理单元(Central Processing Unit)的缩写,它可以被简称做微处理器(Microprocessor),不过经常被人们直接称为处理器(processor)。不要因为这些简称而忽视它的作用,CPU是计算机的核心,其重要性好比大脑对于人一样,因为它负责处理、运算计算机内部的所有数据,而主板芯片组则更像是心脏,它控制着数据的交换。CPU的种类决定了你使用的操作系统和相应的软件。CPU主要由运算器、控制器、寄存器组和内部总线等构成,是PC的核心,再配上储存器、输入/输出接口和系统总线组成为完整的PC。 CPU的基本结构、功能及参数CPU主要由运算器、控制器、寄存器组和内部总线等构成。寄存器组用于在指令执行过后存放操作数和中间数据,由运算器完成指令所规定的运算及操作。 1. 算术逻辑单元ALU(Arithmetic Logic Unit) ALU是运算器的核心。它是以全加器为基础,辅之以移位寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下可完成加、减、乘、除四则运算和各种逻辑运算。就像刚才提到的,这里就相当于工厂中的生产线,负责运算数据。 2. 寄存器组 RS(Register Set或Registers) RS实质上是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据。而通用寄存器用途广泛并可由程序员规定其用途。通用寄存器的数目因微处理器而异。 3. 控制单元(Control Unit) 正如工厂的物流分配部门,控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器0C(Operation Controller)三个部件组成,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。 4.总线(Bus) 就像工厂中各部位之间的联系渠道,总线实际上是一组导线,是各种公共信号线的集合,用于作为电脑中所有各组成部分传输信息共同使用的―公路‖。直接和CPU相连的总线可称为局部总线。其中包括: 数据总线DB(Data Bus)、地址总线AB(Address Bus) 、控制总线CB(Control Bus)。其中,数据总线用来传输数据信息;地址总线用于传送CPU发出的地址信息;控制总线用来传送控制信号、时序信号和状态信息等。 1.2.3 CPU工作原理 在了解CPU工作原理之前,我们先简单谈谈CPU是如何生产出来的。CPU是在特别纯净的硅材料上制造的。一个CPU芯片包含上百万个精巧的晶体管。人们在一块指甲盖大小的硅片上,用化学的方法蚀刻或光刻出晶体管。因此,从 11 这个意义上说,CPU正是由晶体管组合而成的。简单而言,晶体管就是微型电子开关,它们是构建CPU的基石,你可以把一个晶体管当作一个电灯开关,它们有个操作位,分别代表两种状态:ON(开)和OFF(关)。这一开一关就相当于晶体管的连通与断开,而这两种状态正好与二进制中的基础状态―0‖和―1‖对应~这样,计算机就具备了处理信息的能力。 但你不要以为,只有简单的―0‖和―1‖两种状态的晶体管的原理很简单,其实它们的发展是经过科学家们多年的辛苦研究得来的。在晶体管之前,计算机依靠速度缓慢、低效率的真空电子管和机械开关来处理信息。后来,科研人员把两个晶体管放置到一个硅晶体中,这样便创作出第一个集成电路,再后来才有了微处理器。 看到这里,你一定想知道,晶体管是如何利用―0‖和―1‖这两种电子信号来执行指令和处理数据的呢,其实,所有电子设备都有自己的电路和开关,电子在电路中流动或断开,完全由开关来控制,如果你将开关设置为OFF,电子将停止流动,如果你再将其设置为ON,电子又会继续流动。晶体管的这种ON与OFF的切换只由电子信号控制,我们可以将晶体管称之为二进制设备。这样,晶体管的ON状态用―1‖来表示,而OFF状态则用―0‖来表示,就可以组成最简单的二进制数。众多晶体管产生的多个―1‖与―0‖的特殊次序和模式能代表不同的情况,将其定义为字母、数字、颜色和图形。举个例子,十进位中的1在二进位模式时也是 ―11‖,4是―100‖,5是―101‖,6是―110‖等等,―1‖,2在二进位模式时是―10‖,3是 依此类推,这就组成了计算机工作采用的二进制语言和数据。成组的晶体管联合起来可以存储数值,也可以进行逻辑运算和数字运算。加上石英时钟的控制,晶体管组就像一部复杂的机器那样同步地执行它们的功能。 1.2.4 CPU的工作流程 由晶体管组成的CPU是作为处理数据和执行程序的核心,其英文全称是:Central Processing Unit,即中央处理器。首先,CPU的内部结构可以分为控制单元,逻辑运算单元和存储单元(包括内部总线及缓冲器)三大部分。CPU的工作原理就像一个工厂对产品的加工过程:进入工厂的原料(程序指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。在这个过程中,我们注意到从控制单元开始,CPU就开始了正式的工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作的结束。 数据与指令在CPU中的运行 刚才已经为大家介绍了CPU的部件及基本原理情况,现在,我们来看看数据是怎样在CPU中运行的。我们知道,数据从输入设备流经内存,等待CPU的处理,这些将要处理的信息是按字节存储的,也就是以8位二进制数或8比特为1个单元存储,这些信息可以是数据或指令。数据可以是二进制表示的字符、数字或颜色等等。而指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。 我们假设在内存中的数据是最简单的原始数据。首先,指令指针(Instruction Pointer)会通知CPU,将要执行的指令放置在内存中的存储位置。因为内存中的每个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到控制单元中,指令译码器从指令寄存器IR中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元(ALU)什么时候计算,告诉指令读取器什么时候获取数值,告诉指令译码器什 12 么时候翻译指令等等。 假如数据被送往算术逻辑单元,数据将会执行指令中规定的算术运算和其他各种运算。当数据处理完毕后,将回到寄存器中,通过不同的指令将数据继续运行或者通过DB总线送到数据缓存器中。 基本上,CPU就是这样去执行读出数据、处理数据和往内存写数据3项基本工作。但在通常情况下,一条指令可以包含按明确顺序执行的许多操作,CPU的工作就是执行这些指令,完成一条指令后,CPU的控制单元又将告诉指令读取器从内存中读取下一条指令来执行。这个过程不断快速地重复,快速地执行一条又一条指令,产生你在显示器上所看到的结果。我们很容易想到,在处理这么多指令和数据的同时,由于数据转移时差和CPU处理时差,肯定会出现混乱处理的情况。为了保证每个操作准时发生,CPU需要一个时钟,时钟控制着CPU所执行的每一个动作。时钟就像一个节拍器,它不停地发出脉冲,决定CPU的步调和处理时间,这就是我们所熟悉的CPU的标称速度,也称为主频。主频数值越高,表明CPU的工作速度越快。 1.2.5 CPU性能指标 1.主频 主频也叫时钟频率,单位是MHz(或GHz),用来表示CPU的运算、处理数据的速度。CPU的主频,外频×倍频系数。很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差。至今,没有一条确定的公式能够实现主频和实际的运算速度两者之间的数值关系,即使是两大处理器厂家Intel和AMD,在这点上也存在着很大的争议,我们从Intel的产品的发展趋势,可以看出Intel很注重加强自身主频的发展。像其他的处理器厂家,有人曾经拿过一块1G的全美达处理器来做比较,它的运行效率相当于2 G的Intel处理器。 所以,CPU的主频与CPU实际的运算能力是没有直接关系的,主频表示在CPU内数字脉冲信号震荡的速度。在Intel的处理器产品中,我们也可以看到这样的例子:1 GHz Itanium芯片能够表现得差不多跟2.66 GHz Xeon/Opteron一样快,或是1.5 GHz Itanium 2大约跟4 GHz Xeon/Opteron一样快。CPU的运算速度还要看CPU的流水线、总线等等各方面的性能指标。 当然,主频和实际的运算速度是有关的,只能说主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。 2.外频 外频是CPU的基准频率,单位是MHz。CPU的外频决定着整主板的运行速度。通俗地说,在台式机中,我们所说的超频,都是超CPU的外频(当然一般情况下,CPU的倍频都是被锁住的)相信这点是很好理解的。但对于服务器CPU来讲,超频是绝对不允许的。前面说到CPU决定着主板的运行速度,两者是同步运行的,如果把服务器CPU超频了,改变了外频,会产生异步运行,(台式机很多主板都支持异步运行)这样会造成整个服务器系统的不稳定。 13 目前的绝大部分电脑系统中外频也是内存与主板之间的同步运行的速度,在这种方式下,可以理解为CPU的外频直接与内存相连通,实现两者间的同步运行状态。外频与前端总线(FSB)频率很容易被混为一谈,下面的前端总线介绍我们谈谈两者的区别。 3.前端总线(FSB)频率 前端总线(FSB)频率(即总线频率)是直接影响CPU与内存直接数据交换速度。有一条公式可以计算,即数据带宽,(总线频率×数据位宽)/8,数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率。比方,现在的支持64位的至强Nocona,前端总线是800MHz,按照公式,它的数据传输最大带宽是6.4GB/秒。 外频与前端总线(FSB)频率的区别:前端总线的速度指的是数据传输的速度,外频是CPU与主板之间同步运行的速度。也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一亿次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz×64bit?8bit/Byte=800MB/s。 其实现在―HyperTransport‖构架的出现,让这种实际意义上的前端总线(FSB)频率发生了变化。之前我们知道IA-32架构必须有三大重要的构件:内存控制器Hub (MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的芯片组 Intel 7501、Intel7505芯片组,为双至强处理器量身定做的,它们所包含的MCH为CPU提供了频率为533MHz的前端总线,配合DDR内存,前端总线带宽可达到4.3GB/秒。但随着处理器性能不断提高同时给系统架构带来了很多问题。而―HyperTransport‖构架不但解决了问题,而且更有效地提高了总线带宽,比方AMD Opteron处理器,灵活的HyperTransport I/O总线体系结构让它整合了内存控制器,使处理器不通过系统总线传给芯片组而直接和内存交换数据。这样的话,前端总线(FSB)频率在AMD Opteron处理器就不知道从何谈起了。 4. CPU的位和字长 位:在数字电路和电脑技术中采用二进制,代码只有―0‖和―1‖,其中无论是 ―0‖或是―1‖在CPU中都是 一―位‖。 字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以能处理字长为8位数据的CPU通常就叫8位的CPU。同理32位的CPU就能在单位时间内处理字长为32位的二进制数据。字节和字长的区别:由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。字长的长度是不固定的,对于不同的CPU、字长的长度也不一样。8位的CPU一次只能处理一个字节,而32位的CPU一次就能处理4个字节,同理字长为64位的CPU一次可以处理8个字节。 5.倍频系数 14 倍频系数是指CPU主频与外频之间的相对比例关系。在相同的外频下,倍频越高CPU的频率也越高。但实际上,在相同外频的前提下,高倍频的CPU本身意义并不大。这是因为CPU与系统之间数据传输速度是有限的,一味追求高倍频而得到高主频的CPU就会出现明显的―瓶颈‖效应—CPU从系统中得到数据的极限速度不能够满足CPU运算的速度。一般除了工程样版的Intel的CPU都是锁了倍频的,而AMD之前都没有锁,现在AMD推出了黑盒版CPU(即不锁倍频版本,用户可以自由调节倍频,调节倍频的超频方式比调节外频稳定得多。) 6. 缓存 缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。 L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般服务器CPU的L1缓存的容量通常在32—256KB。 L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,以前家庭用CPU容量最大的是512KB,现在笔记本电脑中也可以达到2M,而服务器和工作站上用CPU的L2高速缓存更高,可以达到8M以上。 L3 Cache(三级缓存),分为两种,早期的是外置,现在的都是内置的。而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力对游戏都很有帮助。而在服务器领域增加L3缓存在性能方面仍然有显著的提升。比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。 其实最早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。在只能够和系统总线频率同步的L3缓存同主内存其实差不了多少。后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。接着就是P4EE和至强MP。Intel还打算推出一款9MB L3缓存的Itanium2处理器,和以后24MB L3缓存的双核心Itanium2处理器。 15 但基本上L3缓存对处理器的性能提高显得不是很重要,比方配备1MB L3缓存的Xeon MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。 7.CPU扩展指令集 CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single i nstruction multiple data-Extensions 2)、SEE3和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。我们通常会把CPU的扩展指令集称为‖CPU的指令集‖。SSE3指令集也是目前规模最小的指令集,此前MMX包含有57条命令,SSE包含有50条命令,SSE2包含有144条命令,SSE3包含有13条命令。目前SSE3也是最先进的指令集,英特尔Prescott处理器已经支持SSE3指令集,AMD会在未来双核心处理器当中加入对SSE3指令集的支持,全美达的处理器也将支持这一指令集。 8.CPU内核和I/O工作电压 从586CPU开始,CPU的工作电压分为内核电压和I/O电压两种,通常CPU的核心电压小于等于I/O电压。其中内核电压的大小是根据CPU的生产工艺而定,一般制作工艺越小,内核工作电压越低;I/O电压一般都在1.6~5V。低电压能解决耗电过大和发热过高的问题。 9.制造工艺 制造工艺的微米是指IC内电路与电路之间的距离。制造工艺的趋势是向密集度愈高的方向发展。密度愈高的IC电路设计,意味着在同样大小面积的IC中,可以拥有密度更高、功能更复杂的电路设计。现在主要的180nm、130nm、90nm、65nm、45nm。最近官方已经表示有32nm的制造工艺了。 10. 指令集 (1)CISC指令集 CISC指令集,也称为复杂指令集,英文名是CISC,(Complex Instruction Set Computer的缩写)。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。其实它是英特尔生产的x86系列(也就是IA-32架构)CPU及其兼容CPU,如AMD、VIA的。即使是现在新起的X86-64(也被成AMD64)都是属于CISC的范畴。 16 要知道什么是指令集还要从当今的X86架构的CPU说起。X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,IBM1981年推出的世界第一台PC机中的CPU—i8088(i8086简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加了X87芯片,以后就将X86指令集和X87指令集统称为X86指令集。 虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到过去的PII至强、PIII至强、Pentium 3,最后到今天的Pentium 4系列、至强(不包括至强Nocona),但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。由于Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。x86CPU目前主要有intel的服务器CPU和AMD的服务器CPU两类。 (2)RISC指令集 RISC是英文―Reduced Instruction Set Computing ‖ 的缩写,中文意思是―精简指令集‖。它是在CISC指令系统基础上发展起来的,有人对CISC机进行测试表明,各种指令的使用频度相当悬殊,最常使用的是一些比较简单的指令,它们仅占指令总数的20,,但在程序中出现的频度却占80,。复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。并且复杂指令需要复杂的操作,必然会降低计算机的速度。基于上述原因,20世纪80年代RISC型CPU诞生了,相对于CISC型CPU ,RISC型CPU不仅精简了指令系统,还采用了一种叫做―超标量和超流水线结构‖,大大增加了并行处理能力。RISC指令集是高性能CPU的发展方向。它与传统的CISC(复杂指令集)相对。相比而言,RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多了。目前在中高档服务器中普遍采用这一指令系统的CPU,特别是高档服务器全都采用RISC指令系统的CPU。RISC指令系统更加适合高档服务器的操作系统UNIX,现在Linux也属于类似UNIX的操作系统。RISC型CPU与Intel和AMD的CPU在软件和硬件上都不兼容。 目前,在中高档服务器中采用RISC指令的CPU主要有以下几类:PowerPC处理器、SPARC处理器、PA-RISC处理器、MIPS处理器、Alpha处理器。 3、IA-64 EPIC(Explicitly Parallel Instruction Computers,精确并行指令计算机)是否是RISC和CISC体系的继承者的争论已经有很多,单以EPIC体系来说,它更像Intel的处理器迈向RISC体系的重要步骤。从理论上说,EPIC体系设计的CPU,在相同的主机配置下,处理Windows的应用软件比基于Unix下的应用软件要好得多。 17 Intel采用EPIC技术的服务器CPU是安腾Itanium(开发代号即Merced)。它是64位处理器,也是IA,64系列中的第一款。微软也已开发了代号为Win64的操作系统,在软件上加以支持。在Intel采用了X86指令集之后,它又转而寻求更先进的64-bit微处理器,Intel这样做的原因是,它们想摆脱容量巨大的x86架构,从而引入精力充沛而又功能强大的指令集,于是采用EPIC指令集的IA-64架构便诞生了。IA-64 在很多方面来说,都比x86有了长足的进步。突破了传统IA32架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可观理性等方面获得了突破性的提高。 IA-64微处理器最大的缺陷是它们缺乏与x86的兼容,而Intel为了IA-64处理器能够更好地运行两个朝代的软件,它在IA-64处理器上(Itanium、Itanium2 ……)引入了x86-to-IA-64的解码器,这样就能够把x86指令翻译为IA-64指令。这个解码器并不是最有效率的解码器,也不是运行x86代码的最好途径(最好的途径是直接在x86处理器上运行x86代码),因此Itanium 和Itanium2在运行x86应用程序时候的性能非常糟糕。这也成为X86-64产生的根本原因。 4、X86-64 (AMD64 / EM64T) AMD公司设计,可以在同一时间内处理64位的整数运算,并兼容于X86-32架构。其中支持64位逻辑定址,同时提供转换为32位定址选项;但数据操作指令默认为32位和8位,提供转换成64位和16位的选项;支持常规用途寄存器,如果是32位运算操作,就要将结果扩展成完整的64位。这样,指令中有―直接执行‖和―转换执行‖的区别,其指令字段是8位或32位,可以避免字段过长。 x86-64(也叫AMD64)的产生也并非空穴来风,x86处理器的32bit寻址空间限制在4GB内存,而IA-64的处理器又不能兼容x86。AMD充分考虑顾客的需求,加强x86指令集的功能,使这套指令集可同时支持64位的运算模式,因此AMD把它们的结构称之为x86-64。在技术上AMD在x86-64架构中为了进行64位运算,AMD为其引入了新增了R8-R15通用寄存器作为原有X86处理器寄存器的扩充,但在而在32位环境下并不完全使用到这些寄存器。原来的寄存器诸如EAX、EBX也由32位扩张至64位。在SSE单元中新加入了8个新寄存器以提供对SSE2的支持。寄存器数量的增加将带来性能的提升。与此同时,为了同时支持32和64位代码及寄存器,x86-64架构允许处理器工作在以下两种模式:Long Mode(长模式)和Legacy Mode(遗传模式),Long模式又分为两种子模式(64bit模式和Compatibility mode兼容模式)。该标准已经被引进在AMD服务器处理器中的Opteron处理器. 而今年也推出了支持64位的EM64T技术,再还没被正式命为EM64T之前是IA32E,这是英特尔64位扩展技术的名字,用来区别X86指令集。I 18 ntel的EM64T支持64位sub-mode,和AMD的X86-64技术类似,采用64位的线性平面寻址,加入8个新的通用寄存器(GPRs),还增加8个寄存器支持SSE指令。与AMD相类似,Intel的64位技术将兼容IA32和IA32E,只有在运行64位操作系统下的时候,才将会采用IA32E。IA32E将由2个sub-mode组成:64位sub-mode和32位sub-mode,同AMD64一样是向下兼容的。Intel的EM64T将完全兼容AMD的X86-64技术。现在Nocona处理器已经加入了一些64位技术,Intel的Pentium 4E处理器也支持64位技术。 应该说,这两者都是兼容x86指令集的64位微处理器架构,但EM64T与AMD64还是有一些不一样的地方,AMD64处理器中的NX位在Intel的处理器中将没有提供。 1(4(11 超流水线与超标量 在解释超流水线与超标量前,先了解流水线(pipeline)。流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。 超标量是通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以时间换取空间。例如Pentium 4的流水线就长达20级。将流水线设计的步(级)越长,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。但是流水线过长也带来了一定副作用,很可能会出现主频较高的CPU实际运算速度较低的现象,Intel的奔腾4就出现了这种情况,虽然它的主频可以高达1.4G以上,但其运算性能却远远比不上AMD 1.2G的速龙甚至奔腾III。 1(4(12 封装形式 CPU封装是采用特定的材料将CPU芯片或CPU模块固化在其中以防损坏的保护措施,一般必须在封装后CPU才能交付用户使用。CPU的封装方式取决于CPU安装形式和器件集成设计,从大的分类来看通常采用Socket插座进行安装的CPU使用PGA(栅格阵列)方式封装,而采用Slot x槽安装的CPU则全部采用SEC(单边接插盒)的形式封装。现在还有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封装技术。由于市场竞争日益激烈,目前CPU封装技术的发展方向以节约成本为主。 1(4(13 多线程 同时多线程Simultaneous multithreading,简称SMT。SMT可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处 19 理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。当没有多个线程可用时,SMT处理器几乎和传统的宽发射超标量处理器一样。SMT最具吸引力的是只需小规模改变处理器核心的设计,几乎不用增加额外的成本就可以显著地提升效能。多线程技术则可以为高速的运算核心准备更多的待处理数据,减少运算核心的闲置时间。这对于桌面低端系统来说无疑十分具有吸引力。Intel从3.06GHz Pentium 4开始,所有处理器都将支持SMT技术。 1(4(14 多核心 多核心,也指单芯片多处理器(Chip multiprocessors,简称CMP)。CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。与CMP比较, SMT处理器结构的灵活性比较突出。但是,当半导体工艺进入0.18微米以后,线延时已经超过了门延迟,要求微处理器的设计通过划分许多规模更小、局部性更好的基本单元结构来进行。相比之下,由于CMP结构已经被划分成多个处理器核来设计,每个核都比较简单,有利于优化设计,因此更有发展前途。目前,IBM 的Power 4芯片和Sun的 MAJC5200芯片都采用了CMP结构。多核处理器可以在处理器内部共享缓存,提高缓存利用率,同时简化多处理器系统设计的复杂度。 2005年下半年,Intel和AMD的新型处理器也将融入CMP结构。新安腾处理器开发代码为Montecito,采用双核心设计,拥有最少18MB片内缓存,采取90nm工艺制造,它的设计绝对称得上是对当今芯片业的挑战。它的每个单独的核心都拥有独立的L1,L2和L3 cache,包含大约10亿支晶体管。 1(4(16 SMP SMP(Symmetric Multi-Processing),对称多处理结构的简是指在 一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子统以及总线结构。在这种技术的支持下,一个服务器系统可以同时运行多个处理器,并共享内存和其他的主机资源。像双至强,也就是我们所说的二路,这是在对称处理器系统中最常见的一种(至强MP可以支持到四路,AMD Opteron可以支持1-8路)。也有少数是16路的。但是一般来讲,SMP结构的机器可扩展性较差,很难做到100个以上多处理器,常规的一般是8个到16个,不过这对于多数的用户来说已经够用了。在高性能服务器和工作站级主板架构中最为常见,像UNIX服务器可支持最多256个CPU的系统。 构建一套SMP系统的必要条件是:支持SMP的硬件包括主板和CPU;支持SMP的系统平台,再就是支持SMP的应用软件。 20 为了能够使得SMP系统发挥高效的性能,操作系统必须支持SMP系统,如WINNT、LINUX、以及UNIX等等32位操作系统。即能够进行多任务和多线程处理。多任务是指操作系统能够在同一时间让不同的CPU完成不同的任务;多线程是指操作系统能够使得不同的CPU并行的完成同一个任务 要组建SMP系统,对所选的CPU有很高的要求,首先、CPU内部必须内置APIC(Advanced Programmable Interrupt Controllers)单元。Intel 多处理的核心就是高级可编程中断控制器(Advanced Programmable Interrupt Controllers–APICs)的使用;再次,相同的产品型号,同样类型的CPU核心,完全相同的运行频率;最后,尽可能保持相同的产品序列编号,因为两个生产批次的CPU作为双处理器运行的时候,有可能会发生一颗CPU负担过高,而另一颗负担很少的情况,无法发挥最大性能,更糟糕的是可能导致死机。 1(4(16 NUMA技术 NUMA即非一致访问分布共享存储技术,它是由若干通过高速专用网络连接起来的独立节点构成的系统,各个节点可以是单个的CPU或是SMP系统。在NUMA中,Cache 的一致性有多种解决,需要操作系统和特殊软件的支持。图2中是Sequent公司NUMA系统的例子。这里有3个SMP模块用高速专用网络联起来,组成一个节点,每个节点可以有12个CPU。像Sequent的系统最多可以达到64个CPU甚至256个CPU。显然,这是在SMP的基础上,再用NUMA的技术加以扩展,是这两种技术的结合。 1(4(17 乱序执行技术 乱序执行(out-of-orderexecution),是指CPU允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。这样将根据个电路单元的状态和各指令能否提前执行的具体情况分析后,将能提前执行的指令立即发送给相应电路单元执行,在这期间不按规定顺序执行指令,然后由重新排列单元将各执行单元结果按指令顺序重新排列。采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并相应提高了CPU的运行程序的速度。分枝技术:(branch)指令进行运算时需要等待结果,一般无条件分枝只需要按指令顺序执行,而条件分枝必须根据处理后的结果,再决定是否按原先顺序进行。 1(4(18 CPU内部的内存控制器 许多应用程序拥有更为复杂的读取模式(几乎是随机地,特别是当cache hit不可预测的时候),并且没有有效地利用带宽。典型的这类应用程序就是业务处理软件,即使拥有如乱序执行(out of order execution)这样的CPU特性,也会受内存延迟的限制。这样CPU必须得等到运算所需数据被除数装载完成才能执行指令(无论这些数据来自CPU cache还是主内存系统)。当前低段系统的内存延迟大约是120,150ns,而CPU速度 21 则达到了3GHz以上,一次单独的内存请求可能会浪费200,300次CPU循环。即使在缓存命中率(cache hit rate)达到99,的情况下,CPU也可能会花50,的时间来等待内存请求的结束, 比如因为内存延迟的缘故。 你可以看到Opteron整合的内存控制器,它的延迟,与芯片组支持双通道DDR内存控制器的延迟相比来说,是要低很多的。英特尔也按照计划的那样在处理器内部整合内存控制器,这样导致北桥芯片将变得不那么重要。但改变了处理器访问主存的方式,有助于提高带宽、降低内存延时和提升处理器性 制造工艺:现在CPU的制造工艺是0.35微米,最新的PII可以达到0.28微米,在将来的CPU制造工艺可以达到0.18微米。 1(5 如何提高CPU工作效率 既然CPU的主要工作是执行指令和处理数据,那么工作效率将成为CPU的最主要内容,因此,各CPU厂商也尽力使CPU处理数据的速度更快。 根据CPU的内部运算结构,一些制造厂商在CPU内增加了另一个算术逻辑单元(ALU),或者是另外再设置一个处理非常大和非常小的数据浮点运算单元(Floating Point Unit,FPU),这样就大大加快了数据运算的速度。 而在执行效率方面,一些厂商通过流水线方式或以几乎并行工作的方式执行指令的方法来提高指令的执行速度。刚才我们提到,指令的执行需要许多独立的操作,诸如取指令和译码等。最初CPU在执行下一条指令之前必须全部执行完上一条指令,而现在则由分布式的电路各自执行操作。也就是说,当这部分的电路完成了一件工作后,第二件工作立即占据了该电路,这样就大大增加了执行方 面的效率。 另外,为了让指令与指令之间的连接更加准确,现在的CPU通常会采用多种预测方式来控制指令更高效率地执行。 22 第二章 测试原理 一种电子产品的可靠性高低,由它的研制,生产,检验,使用各阶段所决定。因此,需要环环紧扣,处处把关。从纵的方面来看,生产部门和使用部门有矛盾又有统一,而使用部门的面是相当广的:从横的方面看,要使生产,使用部门提高可靠性,就要涉及到材料配件,设备仪器等部门。在技术上,除了具备产品本身的设计,制造等专业以外,还要具备诸如可靠性数学,可靠性物理,环境技术,试验分析技术等有关可靠性方面的广泛知识。在组织管理上,则需要和部门协同行动,大至国家一级部门,小到企业单位内部,都要有专门的机构来从事管理,规划,制订方针政策和组织领导等工作。此外可靠性总是还与国家经济制度,管理政策以及国际上的技术政策密切相关。此外,可靠性工程投资大,耗时长,因此,要从社会的总体应用效果来权衡它的经济效果和政治效果。 电子产品的可靠性首先是和规定的条件相关的,同一产品在不同的温度,温度,或者是在不同的额定功率,额定电压的条件下,它的可靠性是不一样的,一般情况下,温度越高,额定负荷越大,产品的可靠性就越低。所谓规定的条件就是指产品所处的环境条件,负荷条件及它的工作方式等等。 环境条件包括气候环境(温度,湿度,气压,辐射,霉菌,盐雾,风,沙,工业气体等)和机械环境(冲击,振动,离心,碰撞,跌落,摇摆,引线疲劳,变频振动等)负荷条件包括所加电压,电流的大小和它所处的电场条件等等,工作方式双分为连续工作或间断工作等。 电子产品的可靠性是时间的函数,随着时间的推移,产品的可靠性会越来越低,产品的可靠性是有时间性的,通常在设计产品时就考虑产品的使用期,保险期或有效期等等。 产品的可靠性与规定睥功能有着极为密切的联系。所谓产品规定的功能,就是指产品的性能指标。如电阻器的阻值,功率,温度系数,精度;电容器的容量,损耗角正切,绝缘电阻,耐压,精度;晶体管的放大倍数,反向漏电流等;电子计算机的运算速度,字长,容量,指令数;雷达的距离分辨力,测角,测速精度,频率范围,脉冲峰值功率,跟踪速度;通信机的频率范围,输出功率,通信距离,调制度,信道,工种,失真度,保 23 密性,兼容性,机动性等。产品的可靠性可以针对产品完成某种功能而言,也可以针对其多种功能的综合而言,因此,在讨论某一具体的产品可靠性以前,首先必须对产品在什么情况下叫做不可靠,在什么情况叫做失效加以规定。 在可靠性工作中,调查环境条件对产品可靠性的影响,以便研究对策,采取有效措施,设计和制造出耐环境的产品,是一项重要的任务。 3.1 测试原理 产品UNIT 经传送机传入,再经加热处理到恒定温度,再打入TIU上,以接通电流,在TIU主板上,供给CPU特定的电压,进行测试并采集数据。主要包括针 其中PXI在这里,是进行温度信号的采集,反馈给SUMMIT ATC 系脚的信号采集,( 统控制,)再经GPIB传送到TESTER,以T2000进行数据分析,最后得出结果,再经GPIB传送到CTSC系统显示,和传送到PCS过程系统控制,PCMD等系统中分析和临控.测试完后,再经传送机传出. 其中每个产品,都有一个周期,会在这个周期内,对规定的产品及数量,针对性测试。 产品从上个站点下来,在测试站点,对于不同型号的产品,会有针对性的测试方案。如冷、热测试,常温或高温,还有低温。对于同一个种产品,当再次测试时,会针对其问题,下载不同的测试参数,再测。对有疑问的产品,会对所测的产品,几个到这个批次,几个批次,甚至更多的产品,针对性测试。并还会对所测试已合格的产品,对不同批次,产品类型,采用不同的方案抽样检查测试。如再次发现不合格的,会针对所触发的原因,采取措施,如是产品本生的原因引起,会对这对个周期性内的所有产品,拉回重测。 3(2 测试分类 测试安生产过程分:有老化前测试和老化后测试 测试安产品类型人:服务器产品、台式机产品、笔机本产品。 测试安温度分:高温测试、低温测试和常温测试。 测试安测试类型分:电性能测试和电功能性测试。 24 1.电性能测试 性能测试在质量保证中起着重要的作用,它包括的测试内容丰富多样。中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。 ?应用在客户端性能的测试 应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。它主要包括并发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能测试是重点。 并发性能测试是重点 并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 并发性能测试的目的主要体现在三个方面:以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案例,以评价系统的当前性能;当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题。电性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 2.电功能测试 功能测试是一种用来测试半成品/成品或生产环节中的某一个工序,以此来判断被测对象是否达到了初始设计者目的。 功能测试能够检测大量实际重要功能通路及结构验证,确定没有硬件错误,以弥补前面测试过程遗漏的部分。这需要将大量模拟/数字激励不断加到被测单元上,同时监测同样多数量的模拟/数字响应,并完全控制其执行过程。 功能测试可在产品制造生命周期不同阶段应用,首先是工程开发阶段,在系统生 25 产验证前确认新产品功能;然后在生产中也是必须的,作为整个流程的一部分,通过昂贵的系统测试降低缺陷发现成本(遗漏成本);最后,在发货付运阶段也是不可缺少的,它可以减少在应用现场维修的费用,保证功能正常而不会被送回来。 3.3 测试环境条件 环境条件是指产品在贮存,运输和工作过程中可能遇到的一切外界影响因素。配置测试环境是测试实施的一个重要阶段,测试环境的适合与否会严重影响测试结果的真实性和正确性。测试环境包括硬件环境和软件环境,硬件环境指测试必需的服务器、客户端、网络连接设备以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统、数据库及其他应用软件构成的环境。 一个充分准备好的测试环境有三个优点:一个稳定、可重复的测试环境,能够保证测试结果的正确;保证达到测试执行的技术需求;保证得到正确的、可重复的以及易理解的测试结果。 1气候条件 气候条件约可分为温度,湿度,气压,风,雨,冰,露,霜,沙尘,盐雾,油雾,游离气体等,气候条件对电子产品的主要影响是使产品的电性能改变,机械变形,材料腐蚀等。 2机械条件 机械条件约可分为振动,冲击,离心,碰撞,跌落,摇摆,静力负荷,失重,声振,爆炸,冲击波等,主要机械条件对电子产品的影响。 3辐射条件 辐射条件包括太阳辐射,核辐射,宇宙射线辐射等等。 4电的条件 电的条件包括电场,磁场,闪电,雷击,电晕,放电等。 5生物条件 生物条件包括昆虫,霉菌,啮齿动物等 6人为因素 人为因素包括使用,维护,包装,保管等 26 第三章 CPU芯片测试设备 2(1 测试设备介绍 2(1(1 Handler(传送机)介绍 它由于8个ATL(料箱自动升降机)、1个ATT(料盘转换机)、2个PNP Gantry(机械手)构成前面贮存原料部分,再由中间Pltter(转盘)、Turret(转动小塔)、Chuck(加热装置)、Pusher等组成机械运动部分,另外还14个Isabellas板、2个MBX盒、一个PXI(数据采集PC机)、一个Handler 控制PC机和UPS电池构成控制系统。除这外,还有其它像Sensor、Lonizer等设备。 图3.1 Handler 外观图 其工作过程 PNP GANTRY 机器手,可以抓取芯片,并可在X,Y,Z轴方向上,自由传送,并精确放入下个测试Carrier中,这儿的精确度是由Senoer和Isabellas板控制,其具体运动,是由专用的控制电板控制。例如PNP IN Gantry ,X,Y轴共用一组电板,Z轴由另一个电板控制,这里PNP OUT Gantry的运动,也如PNP IN Gantry一样,由另两组电板单独控制。机器手的作用是把芯片在测试机和传送机中,来回的传送,并把芯片精确的放入8个分BIN箱中,其中IN PNP GANTRY 控制1, 27 2 ATL箱,OUT PNP GANTRY 控制45678箱中,1,2ATL箱是未测试产品,4567是测试后合格的产品,8是不合格的产品,3是入是空TRRAY,8个ATL分别由5678Isabellas板控制,上面PNP Gantry占用了1、2和3、4Isabellas板。这其中共2Isabellas板还控制ATT的运动。Plattler的运动是由另一个Isabellas板控制, Turret是10Isabellas板控制,在它上面的CHUCK是由于14Isabellas板控制。其整体控制图是 : PC机--- 2个 MBX板-------14个Isabellas板---再控制其它相对应的Motor(马达) 2(1(2 Tester(测试机)介绍 其主要由Mainframe(大型计算机),其中最多可以放4台计算机,现由两台计算机构成、Monitor、Cooling unit(降温装置)还有Test Head与Handler相连的TIU相连,主要提供各种测试电压,它由四个部分组成,向TIU提供测试电压输出,这是其硬件构成。 Tester的主要任务,是完成CPU的测试工作,其主要工作过程,是在T2000系统下,由特定的测试程序,在一定的测试环境,把采集的数据进行分析,得出结果,完成CPU的电性能测试和电功能测试,并把得出的结果传输到其他设备贮存和显示结果给相关的人分析。 图3 Tester 实物图 2(1(3 Chiller(温控设备)介绍 Chiller由两部分构成,其中一个部分是由传统的HFE – 7500 ATC冷却散热剂(其性质比洁净水优越)构成的降温系统,给CHUCK提供加热和降温;另一个部分是由FC-3283 3M 特殊液体构成的降温系统,其作用是给前面一个降温系统实现快速降温,即快速热量传递。 28 图4 Chiller 实物图 2(2 测试系统 2(2(1 SUMMIT ATC 2.13 (温度控制系统) 这个系统的主要作用是CHUCK的精确温度控制,他由单独的温控电板控制,其中PXI PC机主要作用是通过PXI电板,实现对温度的跟踪和反馈信息,通过Sonsor电板实现温度精确控制,其中PXI PC机还对数据进行采集,通过GPIB传送给Tester进行数据分析。 29 SUM ATC PXI电板 SUMMIT ATC 温度控制 2(2(2 T2000( 测试系统) 其由两台计算机构成,在Wondos XP中安装的T2000测试分BIN软件,把GPIB传送过来的数据,进行测试分析,并把结果反馈给人们。 2(2(3 其它相关系统 WS(相应待加工产或测试的产品查找系统) CTSC(分频显示系统) AEPT(机器状态系统) TSS(T2000控制系统) PCS(过程系统控制) PCMD(产品问题与机器分析系统) 30 第四章 测试实例分析 我们把测试中可能遇到的不同结果,共归纳99种结果,并把这99种结果其引起的原因,作CPU系统内部分析,和触发的可能原因,及解决方法总结如下: 4.1 典型问题 1. 4.2 问题分析及解决方案 4.3 期待的解决问题 1~6为合格的CPU。 7以后的结果描述和可能原因及解决方法 8 Vcc连续性测试是从CPU的die和package的level来测试电源电压和接地之间是否存在短路或开路。书面描述Vcc的连续性测试的规格为:当给Vcc的引脚提供一个预定的正向 电流时,电压将上升到平衡点,通常这点的电压值将在短路下限和开路上限之间,如果测出该电压值超出这个范围,那么这颗Unit将被定为Bin8失效 。 1. TIU长期使用后,Pogo Pin损坏或者变脏.可更换TIU. 2. Unit本身的引脚弯曲. (Bent Pin) 可取出此Unit. 3.测试机的DVM板可能由于没有校准,提供的电流或者测出的电压不 准而造成Bin8的失效. 可做DVM版的校准或者换一个DVM板. 4.封装时,在package表面,金属掉落在VCC和VSS引脚间造成短路. 可取出此Unit.如trigger SBL,RV为solid fail,送LAB做LYA. 5.Unit内部金属杂志:在die内部,在VCC引脚和VSS引脚间的金属 杂志会引起短路使测试电压小于0.25V. 同上. 6. Hanlder压力不够,使Unit未紧密接触TIU. 可调整Socket的位 置或者力度. 7. Unit放如Substrate的方向错误. 可正确放置后重测. 31 9 漏电流测试.在高阻态下,筛选出输入/输出引脚到Vss和Vcc或者相邻的信号引脚间非正常的电流泄放路径.其所需的主要测试构件是三态输出缓冲器,无泄放器件,缓冲器上 的上拉式下拉式有源器件.目的是要在禁止态下检查缓冲器上任何由设计产生的泄漏路径。由于在高阻态下设计产生的漏电路径不同,所以测试方法也因各产品而不同。传统的漏电 流测试方法是Unit放到三态模式下,用测试机的PMU部件给其提供一个电压,然后测量由此产生的电流.此电流设有一上限,如果该值超过上限,unit将被定义为失效.测试时,被测引脚 和它相邻的引脚及电路路径的电源必须设为反逻辑供应,目的是产生最大的压差,能在各种缺陷导致的漏电路径中最大程度上找出潜在的失效. 能性 1.静电放电.不良的生产环境导致静电累计,操作Unit过程中将可能由于未遵守SOP(例如,手直接触摸Die)造成静电放电损坏Unit. 可遵守SOP,保持人和设 备良好接地减少静电累计和静电放电. 2.过电流.测试中给Unit的加载过量,例如供应过量的编程电压对Unit造成损害。 如果SBL trigger后RV为Valid fail,送LAB做LYA. 3.封装过程中由于设备造成的Die Crack. 同上. 4.FAB工艺的改变造成某一批次的material高漏电流. 同上. 5.Handler在运行中累计的ESD过高,接地不好或者消除ESD的离子风出现问题. 可检查Handler接地和静电消除设备. 10 短路测试.当一个或者多个引脚被发现短路时,他们将被定义为短路测试失效.这可能是发生在信号引脚间,信号引脚到地或者信号引脚到电源引脚.短路测试将不包含Vcc连 续性测试对Vcc引脚间做的测试.我们可以预期封装可能会造成一定的失效,测试机和TIU的问题都可以影响这个失效.首先应该目视检查这个Unit,更换TIU。在某一个channel的连 续失效很可能来自于TIU的pogo pins损坏或者测试头输出引脚损坏。 1.Unit受损.例如Bent Pin. 可在测试前挑出Unit,避免测试设备收损. 32 2.TIU的docking不好. 可重新做Dock. 3.在TIU或者测试头上有外来杂质或TIU损坏. 可清除杂质或更换TIU. 4.Die方向在封装时不正确,或使用不当的产品配TIU.一些产品的外观相同,用在TIU上可能导致短路. 可在Introduce前确认好产品和TIU.如SBL trigger,RV为 Valid fail,送LAB做LYA. 11 VIX(Voltage input High or Low)测试. 这个测试的目的是选出缓冲器一类的可以改变开关特性器件的缺陷,防止他们产生非设计所需的转换.测试是为了验证输入缓 冲器是否能够正确地将有效的输入电压转换到正确的level.TIU,tester,错误的pattern和levels,TAP计算问题和FAB以及封装都可以引起这种失效. 1.TIU由于阻抗变化造成输入引脚的时延. 可校准或者更换TIU. 2.测试机造成. 可校准或者更换测试机. 3.产生的Pattern错误将导致大量的Bin13 fail. 可重新修改Pattern. 4.产生的Level错误. 大量的边缘性fail将导致限制设根据表征重新设定. 5.来料原因,FAB或者封装引起. 如果SBL trigger后RV为Valid fail,送LAB做FA.如果找到FAB或者封装引起的共性,则需要提交MRB. 6.VOX测试依靠TAP (Test Access Port)从输入缓冲器拿取数据。TAP的失效会导致大家误认为是VIX失效但实际是TAP的问题.TAP一般很少发生. 如SBL trigger,RV为Valid fail,送LAB做LYA. 12 基本功能测试.一般情况下,它产生设计是预定的Pattern,跑简单功能测试,包括对Unit进行重置,设置MSRs,和在用户平台下的一些基本功能测试.测试机和TIU都可以引起这 个失效.通常,对于测试机问题引起的阻抗变化,信号的形状强度和时间也会改变,Pattern对此变化是非常敏感的。基本功能测试的信息将包含失效的channel,pattern和矢量计数.作 33 为一个经验法则,对于一个单一的引脚的问题往往是TIU造成的;如果是某一个pattern或者vector的失效,则往往是测试机的问题. 1.TIU某些引脚的校准不准造成波形的延迟,导致传播的波形时间不正确. 可换TIU. 2.测试温度的变化影响基本功能测试结果. 可换测试机做RV. 3.Pattern与边界扫描单元不同步 如果SBL trigger,做Shmoo来看Unit的Pass/fail在不同电压频率下的分布. 4.触发的Level不正确.可能是测试机触发器件,TIU信号引脚信号衰减,继电器开关,Unit内部缺陷等多种原因造成. 如果SBL trigger,换测试机/TIU做Shmoo 来看Unit的Pass/fail在不同电压频率下的分布. 5.时间方程信号设置错误.本来的加信号变为一个减信号或者相反的例子,将造成测试的错误设置. 如果SBL trigger,做Shmoo来看Unit的Pass/fail在不同电压 频率下的分布. 13 VOX (Voltage output High or Low)测试.这个测试是为了挑除制造缺陷,工艺改变引起的输出缓冲器直流驱动能力降低的问题.TIU,测试机,pattern或者level错 误,FAB或者封装的问题都可能引起Bin13 fail. 1.TIU由于阻抗变化造成输入引脚的时延. 可校准或者更换TIU. 2.测试机造成. 校准或者更换测试机. 3.产生的Pattern错误将导致大量的Bin13 fail. 可重新修改Pattern. 4.产生的Level错误. 大量的边缘性fail将导致限制设根据表征重新设定. 5.来料原因,FAB或者封装引起. 如果SBL trigger后RV为Valid fail,送LAB做FA.如果找到FAB或者封装引起的共性,则需要提交MRB. 15 开路测试.有几种方法来测试开路,这一测试是用来检查在DUT的引脚上是否有缺失或者弱连接,这是通常被视为测试机引脚的高阻抗测试.封装,测 34 试机和TIU的都可能造成这 个失效.首先应该目视检查这个Unit,然后更换TIU.在某一个channel的连续失效很可能来自于TIU的pogo pins损坏或者测试头输出引脚损坏.大量随机的失效很与Handler的socket 设置(比如压力)或者docking相关. 1.Unit受损.例如Bent Pin. 在测试前挑出Unit,避免测试设备收损. 2.TIU的docking不好. 重新做Dock. 3.TIU的或者测试头的pogo pin损坏可能导致间歇性失效. 先检查TIU,再检查测试头,更换Pogo Pin. 4.在TIU或者测试头上有外来杂质. 清除杂质或更换TIU. 5. Hanlder压力不够,使Unit未紧密接触TIU. 调整Socket的位置或者力度. 18 静态Icc测试.测试目的是为了挑出由于生产或者工艺缺陷引起的过高的静态电流.静态电流是由测试机的DPS(device power supply)或者PMU(precision measurement unit)进行测试,使用的方法是单一的瞬时测试(不同于动态Icc在一定周期内的采样-停止),需要一定的时间来完成器件的状态转换. 1.温度校准.某些产品对温度很敏感,设备温度校准的差异容易使他们有高的B18失效率. MTE重新校准设备温度. 2.设备的DPS的稳定性造成. 让MTE检查DPS. 3.DLCP的共性.某些特定DLCP的产品对B18比较敏感,会有较高的失效率. 材料本身特性. Case by case. 19 重置测试.它通常放置在fail flow用于选出main flow的fail是否是valid市场fail或者说这个Unit是完全不能启动.这个测试是用于检查这个Unit在重置以后时候可以重 新启动. 1.无效的Pattern,level,timing或者测试条件.如果一些改变不符合硬件要求,那么Unit将会fail Bin98.例如,如果level是负值 35 或Pattern错误。 如果SBL trigger,做Shmoo来看Unit的Pass/fail在不同电压频率下的分布. 2.所有的Prescott系列的产品在低频测试下PLL锁频有问题. 如果SBL trigger,做Shmoo来看Unit的Pass/fail在不同电压频率下的分布. 24 低频测试.目的是为了筛选出潜在的PLL频率锁定和Unit高速缓存阵列中行与行间相互作用的问题。正常的硅器件在低频率下比正常频率工作下更有效.但也有一些少数情况 ,Unit可以在3.0ghz的高频下工作,但在1.0ghz的低频下失效.虽然这个频率可能永远不会被客户使用,但就长远而言这是一个潜在的可靠性问题. 1.真正的低频失效. 如果SBL trigger,做Shmoo来看Unit的Pass/fail在不同电压频率下的分布.(可以在低频模式下对PLL锁频率对其验证) 2.测试机的timing错误. 检查测试机的timing校准 37 测试时间缩减监控.Intel的测试程序在逐步删除一些对客户质量和可靠性没有影响的测试项目.这些测试项目由合格率和DPM(defect per million)来监控,如果有测试 项目没有对质量或可靠性方面产生影响,这些测试将回从普通的class test删除,加入监控的TTR测试. 1.某种测试项目由于附近的测试项目已经覆盖了它的测试,于是将其移出放入TTR监控的内容.后由于某些原因,其他附近的测试项目也被删除后,这时会产生比较高 的B37失效. 让TP integrator重新把这个测试从TTR中放会普通的class测试. 2.某种pattern测试由于附近的pattern测试已经覆盖了它的测试,于是将其移出放入TTR监控的内容.后由于某些原因,其他附近的pattern测试也被删除后,这时会 产生比较高的B37失效. 让TP integrator重新把这个pattern测试从TTR中放会普通的class测试. 36 3.TP release不同步.由于新的测试程序更新,一些批次的产品在7721下已经用老的测试程序测过了,然后在7751下用新的程序测试,由于加入TTR,他们可能就会 trigger EQA. 在7721下用新程序做RV. 41 扫描链测试.测试目的是保证每一个扫描链是可选的,也就是每个扫描单元都能够被置0或1并正常切换. 1.器件功能失效. 如果SBL trigger,做Shmoo来看Unit的Pass/fail在不同电压频率下的分布. 2.测试机引起. 用STD unit检查测试机. 3.测试程序. Pattern的level, timing造成的overkill. 检查测试程序. 53 ULT数据相关的失效.下载UTL信息失败或部分丢失. 1.前面站点没有End lot.未上传UTL信息. Pull back后重新做End lot. 2.BI未成功上传ULT中Lot的信息. 在1A后end summary,标CTSC会生成ULT的list,在2A时再次下载 UTL信息,测试后会recover. 3.混料造成UTL信息丢失. Case by case. 60 一级缓存缓阵列测试(它可能由以下原因引起:固定性故障.电路缺陷迫使节点值始终为0或1;单元耦合.缺陷发生在单元间的接壤处;金属桥.两个相邻的金属线间有一个电 阻性的短路;地址错误.不正确内存地址访问;高速失效.由低速单元门,低速地址译码器,高速门路径的缓冲,等等.低频Unit或与高的Vcc下限/上限,TIU,测试机,温度, pattern, timing, levels. 1.Unit本身的缺陷( 如果SBL trigger,做Shmoo来看Unit的Pass/fail在不同电压频率下的分布. 2.温度引起的失效. 如果SBL trigger,做Shmoo来看Unit的Pass/fail在不同电压频率下的分布. 3.TIU或测试机的Pogo Pin也可能将导致大量的失效( 换TIU&测试机做RV. 62 二级一级缓存缓阵列测试(同Bin60. 同上. 同上. 37 64 热传感器测试.热传感器是一种保护电路,它防止芯片在过高的温度下工作,避免热失控和潜在的不可逆损害.热传感器电路在芯片最热部分的附近.该传感器向处理器提出中 断,产生一个内部的停止时钟信号代码来使处理器节流.热传感器提供一个PROCHOT信号给外部电路来控制stpclk引脚.第二个热传感器控制thermtrip引脚,来区分节流/PROCHOT热传 感器和热二极管。 如何运作:当融合节流温度达到后,一个中断将被发送到处理器微代码.这个微代码将开启节流功能.热传感器等待约一分钟以检查节流温度.如果热传感器的温度已降至低于节流的温 度,那么热传感器将使处理器回复为正常运作,否则,微码将继续节流处理器.该节流的运作将一些机器状态参数,热传感器和微型代码进行组合.热传感器显示为“温度比截流设定点 高或低”.当传感器发出一个“热”信号后,第一机器状态控制器将给第二个机器状态发出一个“开始节流”的信号.当这个积极激活后,第二个机器状态将定期给处理器发出“停止 时钟”/动时钟”信号微代码(约3us调整以满足对开时钟/关时钟的目标).这些开时钟/关时钟的周期继续进行,直至第一机器状态控制器停止发出“开始节流”的信号.第一机器 状态控制器约每隔1毫秒(这将因CPU时钟频率而定)对热传感器进行采样,并响应地作出宣称/继续宣称/停止宣称”截流信号”.所以,一旦节流开始,它将继续约1ms的采样并最低和 可以延长1ms递增,直至Die的温度低于截流点的温度. 1.热传感器的trip point在产品的规格限外。每种产品都用一定量的电熔设定了对热传感器了补偿.通常有五个电熔.一个作为标志,4个作为补偿.这将转化为+ / ,15度的热传感器的范围。如果热trip point(节流点)的温度在这个范围以外,该Unit被定义为Bin64(softbin根据产品不同). 检查handler的温度,找出与bin97的共性或 38 者看是否由FAB工艺的变化引起(这可能使热传感器的trip point的分布发生转移) 2.没有发现热传感器的trip point.热传感器的Pattern不能使截流点的温度在产品设置的范围内.可能是DUT本身缺陷或者Pattern不稳定. 如果SBL trigger,做Shmoo来看Unit的Pass/fail在不同电压频率下的分布. 3.热传感器的寄存器固定失效.这种情况下,热传感器在任何条件下都会报出截流点使CPU一直截流. 同上. 4.TAP端口不正常工作.热传感器Pattern用TAP端口测算trip point,导致测算结果错误. 同上. 67 Visual ID测试.检测handler/tester通信.这一失效是由于handler不能读出package上的Visual ID造成. 1.照像功能未打开. 打开后重测. 2.读Visual ID失败. 重做照相机的位置. 3.读出Visual ID的长度不符合要求. 用laser检查Visual ID. 70 FAILED_JANUS. 一种随机指令测试错误。JANUS是DOS环境下的一种随机指令测试集(RIT Random Instruction)。从CMV收到指令,包括最大频率(Fmax)和Scoreboarded指令集在内。Janus和Frits都 是DOS环境下随机指令测试的一部分指令集。 如果继续fail, DPM WG将跟踪并反馈给Class test TP developers以便在下一版本的测试程序里能克服这个问题,确保所有fail杜绝在到达PPV之前。 将情 况反映给division。 73 FAILED_LINUX. DUT在LINUX环境下测试失败。 由于CD site在LINUX环境下的测试仅仅是开关机/进出系统测试,没有功能测试,所以很少会有valid Bin73 fail,如果有应该是设计问题。 如果很多fail 39 Bin37,将会在DPM validation(PPV RV)时发现。如果fail Bin73xx有影响,PE会跟踪并反馈给Division。 74 FAILED_WIN2K. DUT在windows2000测试环境下运行失败。 这颗unit确实是坏的。折中fail跟温度有关或者由于降频导致。 检测这颗unit是否真的坏了。MTE应该查看rack的显示器,看unit是否不能工作。在完成 第一步的基础上,应该换一台好的TIU重新在engineer模式下测试该unit,确认是否降频。如果继续出现很多fail Bin74xx,会在DPM validation(PPV RV)发现,因为PPV/M和PPV/S 测试里都包含了Windows2K测试环境。如果这个fail有影响,PE应该跟踪并跟Division联系。 75 FAILED_WINXP. DUT在Windows XP环境下测试失败。 这颗unit确实是坏的。折中fail跟温度有关或者由于降频导致。 检测这颗unit是否真的坏了。MTE应该查看rack的显示器,看unit是否不能工作。在完成 第一步的基础上,应该换一台好的TIU重新在engineer模式下测试该unit,确认是否降频。如果继续出现很多fail Bin74xx,会在DPM validation(PPV RV)发现,因为PPV/M和PPV/S 测试里都包含了Windows2K测试环境。如果这个fail有影响,PE应该跟踪并跟Division联系。 76 Itanium服务器unit工作在40度温度下在登陆64位服务器的Windows系统时失败,或者在包括该操作系统的其他测试中运行失败。 1.硬盘崩溃。NT64分区模式出错 ,导致系统无法正常运行NT64。 1.更换一个好的硬盘。 2.7603:读取温度值时报错。 2.检查连到RTD的管子是否松了,导致无法正确读取温度值。 40 77 FAILED_DOS. DUT在DOS环境下测试失败。测试程序里规定的硬盘版本跟实际使用的硬盘版本不匹配。Fuse file不是最新的版本,或者fuse file里没有Sspec信息。硬盘里ucode代码错误。 通常由机器故障导致。需要换TIU测试这颗unit,确定是DHH的问题,还是TIU里的BIOS,版本,或者ucode信号引起的问题。 1.根据softbin分析fail的原因。 2.如果fail Bin7700(FAILED_DOS_BOOT),该unit必须在其他的TIU上重测。 3.如果fail Bin7704 (FAILED_FUSE_CHECK),PE必须查看fuse file的版本是否正确。如果是这个原因,应该整个lot都会fail。 4.如果fail Bin7726 (FAILED_FSB_SPEED_FUSE_CHECK),MT应该查看产品名字是否正确。如果整个lot都fail MPT(Manufacturing Product Technician) 必须调查原因或者请PE帮忙研究。 5.如果fail Bin7729 (FAILED_SPEED_CHECK),MPT应该检查是否由于混料所致。 80 FAILED_NON_OS. 非操作系统错误。该failure由TIU的问题或者是socket的问题引起。 1.TIU接触不好。 1.查看socket pin是否处于失效状态(FM),TIU的引脚连接和机械性能都可能导致这种fail。 2.测试内容有问题。 2.检查TP的代码对unit和产品的参数定义是否正确。有些时候产品特性参数已经更新了,但还在使用旧的测试程序,其中对 Step,Steping等参数的设定与实际不符。 3.人为原因(错误的处理方法或者混料)。 3.手动把unit放到socket上做PPV时,可能unit的位置没有放好,或者由于PPV前道的误操作导致混料及其他问题。 41 4.fuse出错。 4.检查CLASS/OLF/PPV的fuse file 定义是否一致,或者fuse读取出错。 81 FAILED_POST. DUT不能正常上电,或者其他部件的上电问题。 母板socket与DUT之间接触不好。DUT的内部问题导致不能正常上电及启动。这种fail在PPV很常见,有时是由于超时引起,TSG和TE负责跟踪调查。 如果 fail Bin1801,MT应该检查TIU socket,清洁socket能保证更好的接触。遇到这样的bin应该更换TIU上的母板 82 FAIL_FRITS. 一种随机指令测试报错。FRITS是DOS环境下的一种随机指令测试集。从CMV收到指令,包括最大频率(Fmax)和Scoreboarded指令集在内。 多数情况是由于Speed路径或者结构设计问题造成的 如果继续fail该bin,应该让DPM WG 跟踪并反馈信息给Class Test TP developers,使下一个版本的测试程 序能够将该fail杜绝在产品到达PPV之前 85 FAIL_FTS. PPV通常将测试的各种pattern,他们成为seeds,放在FTS里测试。 1.TIU接触不好。 1.检测socket pin是否处于失效状态(FM),TIU的引脚连接和机械性能都可能导致fail。 2.TCU温度没有校准。 2.该测试与温度有关,如果TCU的任何部件有偏离,即使很小的偏离都会影响TCU对温度的校准。 3.测试内容出错(硬盘里的测试pattern缺失或不完整)。 3.查看硬盘里的测试内容(pattern)是否完整和正确,产品对应的OBJ文件是否正确。 4.时延出错(不合适的关机时延)。 4.查看对关机及其他操作的时延设置是否恰当。 86 FAIL_FTS_GV3. Penryn M0就遇到很多GV fail。 42 1.TIU接触不好。 1.检测socket pin是否处于失效状态(FM),TIU的引脚连接和机械性能都可能导致fail。 2.TCU温度没有校准。 2.该测试与温度有关,如果TCU的任何部件有偏离,即使很小的偏离都会影响TCU对温度的校准。 3.测试内容出错(硬盘里的测试pattern缺失或不完整)。 3.查看硬盘里的测试内容(pattern)是否完整和正确,产品对应的OBJ文件是否正确。 4.时延出错(不合适的关机时延)。 4.查看对关机及其他操作的时延设置是否恰当。 87 PIROM failure. PIROM测试:1.确定EEPROM准确地放置在chip的SM总线上。2.将产品的参数信息(如ULT,频率,cache大小,温度补偿等)写到EEPROM寄存器里供客户使用。3.确认写到EEPROM寄存器里 的信息正确。4.fuse PIROM的lockout位(一旦这一位被熔断,PIROM将不能再运行)。 1.SM总线引脚的校准不好导致波形延迟,或者由于SM总线引脚接触不好造成。 1.更换loadboard板。 2.tester的问题。与SM总线引脚连接的Pinslices出现问题。 2.校准SM总线,确认所有的pinslice工作正常。 3.封装问题影响到SM总线的芯片电路。 3.查看输入引脚或者EEPROM寄存器之间有没有相连接。 4.pirom配置文件包含了将被写进EEPROM寄存器的数据。 4.这个文件通常放在主目录下,而且随产品不同文件名也不同。 90 INIT_FAIL. PPV module初始化失败。 DLL版本不正确,导致初始化错误。 MTE应该根据正在测试的产品查看DLL文件的版本是否正确。(同一个时期,不只一种产品在同一台机器上测试) 91 FAILED_SYSTEM_FAIL. 43 系统报错。大部分跟module相关的报错都归为bin91xx。 MTE应该在rack flow里核对传感器,TP download,报错信息和fail的站点等信息。 92 在class测试中downbin到Bin2。 downbin是指在PBIC更严格的测试条件下能过通过,但在FC/QA相对宽松的测试条件下却只能降低到更低的速度才能通过。在综合测试中,允许units在测试的main flow中downbin, 在composite里面,有6条测试条件和pattern都不同的speed flows。在ST中,downbin发生在main speed flow和man Geyserville speedflow,包括在最大和最小Vcc电压下的测试 cache, pbist,sbft。在FT中,downbin发生在speed flows PSMI,BF,Xship,GV 和TAPTSC。softbin表明downbin之前的bin值。比如B92,说明是从Bin1 (9201) downbin下来的。 1. 材料老化。 1. 检查handler recipe的压力参数,重新测试确认downbin是否有效。 2. 与温度有关。 2.在那些站点重新测Class/cold/QA,做shmoo,确认是否downbin与材料老化有关,或者是marginal downbin,或者由温度导致。 3. 错误的Sspec config in fuse files。 3.查看CTSC/UBE文件,确定给units定的sspec正确。 4. 错误的pattern 4.查看pattern list,确定units在fail的站点使用的pattern正确。 5. 错误的levels, timing ecuations 5.确定测试的定义正确。包括正确的参数定义,level,timing name。对于错误的timing ecuation,查看 device/bins文件中对guardband的定义。 6. 错误的recipe setup 6.确定recipe file的指向正确。 93 在class测试中downbin到Bin 3。 downbin是指在PBIC更严格的测试条件下能够通过,但在FC/QA相对宽松的测试条件下却只能降低到更低的速度才能通过。在综合测试中,允许units 44 在主测试flow中downbin,在 composite里面,有6条测试条件和pattern都不同的speed flows。在ST中,downbin发生在main speed flow和man Geyserville speed flow,包括在最大和最小Vcc电压下的测试 cache, pbist,sbft。在FT中,downbin发生在speed flows PSMI,BF,Xship,GV 和TAPTSC。softbin表明downbin之前的bin值。比如B93,说明是从Bin1 (9301) 和Bin 2 (9302) downbin下来的。 1. 材料老化。 1. 检查handler recipe的压力参数,重新测试确认downbin是否有效。 2. 与温度有关。 2.在那些站点重新测Class/cold/QA,做shmoo,确认是否downbin与材料老化有关,或者是marginal downbin,或者由温度导致。 3. 错误的Sspec config in fuse files。 3.查看CTSC/UBE文件,确定给units定的sspec正确。 4. 错误的pattern 4.查看pattern list,确定units在fail的站点使用的pattern正确。 5. 错误的levels, timing ecuations 5.确定测试的定义正确。包括正确的参数定义,level,timing name。对于错误的timing ecuation,查看 device/bins文件中对guardband的定义。 6. 错误的recipe setup 6.确定recipe file的指向正确。 94 在class测试中downbin到Bin 4。 downbin是指在PBIC更严格的测试条件下能够通过,但在FC/QA相对宽松的测试条件下却只能降低到更低的速度才能通过。在综合测试中,允许units在主测试flow中downbin,在 composite里面,有6条测试条件和pattern都不同的speed flows。在ST中,downbin发生在main speed flow和man Geyserville speed flow,包括在最大和最小Vcc电压下的测试 cache, pbist,sbft。在FT中,downbin发生在speed flows PSMI,BF,Xship,GV 和TAPTSC。softbin表明downbin之前的bin值。比如B94,说明是从Bin1 45 (9401),Bin 2 (9402)和Bin 3 (9403) downbin下来的。 1. 材料老化。 1. 检查handler recipe的压力参数,重新测试确认downbin是否有效。 2. 与温度有关。 2.在那些站点重新测Class/cold/QA,做shmoo,确认是否downbin与材料老化有关,或者是marginal downbin,或者由温度导致。 3. 错误的Sspec config in fuse files。 3.查看CTSC/UBE文件,确定给units定的sspec正确。 4. 错误的pattern 4. 查看pattern list,确定units在fail的站点使用的pattern正确。 5. 错误的levels, timing ecuations 5.确定测试的定义正确。包括正确的参数定义,level,timing name。对于错误的timing ecuation,查看 device/bins文件中对guardband的定义。 6. 错误的recipe setup 6.确定recipe file的指向正确。 95 在class测试中downbin到Bin 5。 downbin是指在PBIC更严格的测试条件下能够通过,但在FC/QA相对宽松的测试条件下却只能降低到更低的速度才能通过。在综合测试中,允许units在主测试flow中downbin,在 composite里面,有6条测试条件和pattern都不同的speed flows。在ST中,downbin发生在main speed flow和man Geyserville speed flow,包括在最大和最小Vcc电压下的测试 cache, pbist,sbft。在FT中,downbin发生在speed flows PSMI,BF,Xship,GV 和TAPTSC。softbin表明downbin之前的bin值。比如B95,说明是从Bin1 (9501),Bin2 (9502),Bin3 (9503),Bin4 (9504) downbin下来的。 1. 材料老化。 1. 检查handler recipe的压力参数,重新测试确认downbin是否有效。 46 2. 与温度有关。 2.在那些站点重新测Class/cold/QA,做shmoo,确认是否downbin与材料老化有关,或者是marginal downbin,或者由温度导致。 3. 错误的Sspec config in fuse files。 3.查看CTSC/UBE文件,确定给units定的sspec正确。 4. 错误的pattern 4. 查看pattern list,确定units在fail的站点使用的pattern正确。 5. 错误的levels, timing ecuations 5.确定测试的定义正确。包括正确的参数定义,level,timing name。对于错误的timing ecuation,查看 device/bins文件中对guardband的定义。 6. 错误的recipe setup 6.确定recipe file的指向正确。 96 在class测试中downbin到Bin 6。 downbin是指在PBIC更严格的测试条件下能够通过,但在FC/QA相对宽松的测试条件下却只能降低到更低的速度才能通过。在综合测试中,允许units在主测试flow中downbin,在 composite里面,有6条测试条件和pattern都不同的speed flows。在ST中,downbin发生在main speed flow和man Geyserville speed flow,包括在最大和最小Vcc电压下的测试 cache, pbist,sbft。在FT中,downbin发生在speed flows PSMI,BF,Xship,GV 和TAPTSC。softbin表明downbin之前的bin值。比如B96,说明是从Bin1 (9601),Bin2 (9602),Bin3 (9603),Bin4 (9604),Bin5 (9605) downbin下来的。 1. 材料老化。 1. 检查handler recipe的压力参数,重新测试确认downbin是否有效。 2. 与温度有关。 2.在那些站点重新测Class/cold/QA,做shmoo,确认是否downbin与材料老化有关,或者是marginal downbin,或者由温度导致。 47 3. 错误的Sspec config in fuse files。 3.查看CTSC/UBE文件,确定给units定的sspec正确。 4. 错误的pattern 4. 查看pattern list,确定units在fail的站点使用的pattern正确。 5. 错误的levels, timing ecuations 5.确定测试的定义正确。包括正确的参数定义,level,timing name。对于错误的timing ecuation,查看 device/bins文件中对guardband的定义。 6. 错误的recipe setup 6.确定recipe file的指向正确。 97 热二极管测试.主要是用以验证该DUT在适当的温度被测试。 1.Handler问题.Handler设置的温度与CTSC不一致;热流体没有供DUT使用;Handler的热传感器没有校准;Handler的recipe参数在硬盘上被改过. 修理Handler 2.TIU.在测试机和热二级管间的接触不良,影响测量值. 更换TIU. 98 系统失效.它多发生在测试机硬件失效,主要是指其操作系统的失效.同时,它也可由硬件振荡的报警限制产生. 1.振荡报警:这些振荡是由TIU的电源引脚检测到的振荡.操作系统管理未处理好电源引脚上小的振荡信号,或者测试的硬件对电源引脚加载的一些震荡会引起报警. 重新测试. 2.HCDPS(High Current device power supply)报警:由TIU电源引脚检测到的尖峰值. 重新Calibrate HCDPS. 3.TP的错误代码.包括测试条件,无效参数等等. 检查TP. 4.如果一些变量没有达到测试硬件的要求,那么B98将会产生. 检查TP的设置和测试机的硬件上限. 99 DPS报警失效.通常是由测试机的DPS的错误引起.潜在的根源和修复:从DC子系统到DUT(device under unit)整条路径的连接不好或者租抗过大造成电流过多损耗,从而要求 测试程序的嵌位电压需要增加. 48 1.TIU:如果TIU的电源没有和测试机的电源输出线连接好,那么B99将会出现. 确保TIU和DC subsystem间的良好连接. 2.测试机的DPS受损或者没有校准. 校准DPS 3.Handler: handler的socket和DUT的接触不好. 增加handler的压力,确保DUT在socket上和TIU良好接触. 49
/
本文档为【CPU芯片测试技术】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索