《《计算机维修技术 第3版》第03章 CPU系统结构与故障维修2013.ppt》由会员分享,可在线阅读,更多相关《《计算机维修技术 第3版》第03章 CPU系统结构与故障维修2013.ppt(102页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机维修技术计算机维修技术 第第3版版教学课件教学课件 易建勋易建勋 编著编著清华大学出版社清华大学出版社2013年年8月月本课件随教材免费赠送免费赠送给读者,读者可自由播放、复制、分发本课件,也可对课件内容进行修改。课件中部分图片来自因特网公开的技术资料,这些图片的版版权属于原作者权属于原作者。感谢在因特网上提供技术资料的企业和个人。本课件不得用于任何商业用途本课件不得用于任何商业用途。课件版权属于作者和清华大学出版社,其他任何单位和个人都不得对本课件进行销售或修改后销售。作者:易建勋2013年8月 作者声明作者声明第第3章章 CPU系统结构与故障维修系统结构与故障维修3.1 CPU类型与
2、组成3.1.1 CPU的发展3.1.2 CPU的类型3.1.3 CPU型号标识3.1.4 CPU基本组成基本组成3.1.5 CPU接口形式3.2 CPU基本结构3.2.1 CPU系统结构系统结构3.2.2 高速缓存单元3.2.3 取指令单元3.2.4 译码单元3.2.5 控制单元3.2.6 执行单元3.2.7 退出单元3.3 CPU设计技术3.3.1 x86指令系统3.3.2 流水线技术流水线技术3.3.3 多核CPU技术3.3.4 CPU设计热功耗3.3.5 CPU节能技术3.3.6 CPU温度控制技术温度控制技术3.4 CPU故障分析与处理3.4.1 CPU产品选择3.4.2 CPU超频方
3、法3.4.3 CPU发热故障处理3.4.4 CPU负载100%故障处理3.4.5 CPU故障维修案例3.1 CPU类型与组成类型与组成3.1.1 CPU的发展的发展1971年,年,Intel公司的公司的Ted Hoff(特德(特德霍夫)设计霍夫)设计了世界上第一个了世界上第一个微处理器微处理器Intel 40044004。3.1.2 CPU的类型的类型x86系列系列CPU生产厂商:生产厂商:Intel Intel(英特尔英特尔)、AMD AMD(超微超微)、VIA VIA(威盛威盛)。x86系列系列CPU在操作系统一级在操作系统一级相互兼容相互兼容。产品覆盖产品覆盖90%以上的桌面微机市场。以
4、上的桌面微机市场。非非x86系列系列CPU生产厂商有:生产厂商有:IBM、ARM(安媒)(安媒)、Sun、HP、MIPS等。等。产品产品主要用于大型服务器和嵌入式系统主要用于大型服务器和嵌入式系统。产品大多互不兼容。产品大多互不兼容。3.1.2 CPU的类型的类型1Intel公司CPU产品类型桌面型桌面型桌面型桌面型例:例:Core/2/i3/i5/i7系列,系列,用于商业办公和个人计算机用于商业办公和个人计算机。移动型移动型移动型移动型例:例:Core、Atom系列系列,用于笔记本计算机用于笔记本计算机,平板计算机。,平板计算机。服务器型服务器型服务器型服务器型例:例:Xeon、Itaniu
5、m系列系列,用于用于服务器主机。服务器主机。嵌入式嵌入式嵌入式嵌入式例:例:8051、Atom系列系列,用于工业控制和智能手机用于工业控制和智能手机。3.1.2 CPU的类型的类型【补充】CPU产品应用领域产品类型产品类型应用领域应用领域产品特点产品特点桌面型办公和个人微机高性价比,兼容性移动型笔记本、平板PC、上网本低功耗和低发热服务器型服务器、集群高性能,多CPU系统嵌入式IPC、手机等超低功耗(10W以下)3.1.2 CPU的类型的类型Intel公司桌面型产品:公司桌面型产品:酷睿(酷睿(Core)系列)系列,市场主流;,市场主流;奔腾(奔腾(Pentium)系列,趋于淘汰;)系列,趋于
6、淘汰;赛扬(赛扬(Celeron)系列,零星产品。)系列,零星产品。以上系列在以上系列在软件上相互兼容软件上相互兼容软件上相互兼容软件上相互兼容。3.1.2 CPU的类型的类型2.AMD公司CPU产品类型AMD PhenomAMD Phenom系列(系列(羿羿龙);AMD Athlon系列(系列(速速龙););AMD Sempron系列(系列(闪龙););AMD笔笔记本系列(炫本系列(炫龙););AMD Opteron服服务器系列(皓器系列(皓龙)。)。3.1.2 CPU的类型的类型3.1.3 CPU型号标识型号标识1.CPU型号标识方法第第1行行:Intel/出产日期出产日期/型号。型号。第
7、第2行行:产品系列。产品系列。第第3行行:S-Spec编码和封装地。编码和封装地。第第4行行:CPU技术参数。技术参数。第第5行行:产品出厂编号。产品出厂编号。3.1.3 CPU型号标识型号标识2.S-Spec编码方法Intel公司为用户查询公司为用户查询CPU产品制定的编码。产品制定的编码。编码为编码为5位,以位,以“SLxxxSLxxx”进行标记,进行标记,“xxx”为英文字母或数字。为英文字母或数字。没有没有S-Spec编码的编码的CPU大多是工程测试样品。大多是工程测试样品。包装盒3.1.3 CPU型号标识型号标识S-Spec编码编码查询查询网站网站:http:/ CPU型号标识型号标
8、识PCG(平台兼容性指南)(平台兼容性指南)参数含义参数含义PCG参数是参数是CPU发挥正常功能必需的电源发挥正常功能必需的电源标准标准版本,这个标准仅版本,这个标准仅适用于桌面适用于桌面CPU,笔记本,笔记本CPU和服务器和服务器CPU均无此参数。均无此参数。3.工艺步进表示:表示:字母字母字母字母+数字数字数字数字 字母和数字越大,字母和数字越大,CPU核心工艺就越新。核心工艺就越新。例:例:“E0”和和“C0”两种工艺步进中,两种工艺步进中,E0核心比核心比C0核心更稳定。核心更稳定。3.1.3 CPU型号标识型号标识提高提高CPU性能的方法性能的方法 改进改进CPU系统结构;系统结构;
9、改进改进CPU的指令系统;的指令系统;改进改进CPU制造工艺;制造工艺;改进改进CPU工作环境。工作环境。3.1.3 CPU型号标识型号标识【补充补充】与与CPU性能相关的性能相关的3个因素个因素(1)程程序序编编译译后后,在在CPU中中运运行行的的机机器器指指令令数数量量,它与它与CPU的的指令系统指令系统指令系统指令系统与与编译程序编译程序编译程序编译程序有关;有关;(2)执执行行机机器器指指令令所所需需的的平平均均机机器器周周期期数数量量,它它与与CPU系统结构系统结构系统结构系统结构和设计技术有关;和设计技术有关;(3)每每个个机机器器周周期期执执执执行行行行时时时时间间间间的的长长短
10、短,它它与与CPU材材料料和加工工艺有关。和加工工艺有关。3.1.4 CPU基本组成基本组成1.CPU基本组成基本组成CPU由半导体硅芯片,基板,针脚或无针脚触点,导热材料,金属由半导体硅芯片,基板,针脚或无针脚触点,导热材料,金属外壳等部件组成。外壳等部件组成。无针脚触点电阻和电容3.1.4 CPU基本组成基本组成AMD Phenom II CPU(羿龙羿龙4核)核)3.1.4 CPU基本组成基本组成【补充补充】非非x86系列系列CPU3.1.4 CPU基本组成基本组成CPU基本组成基本组成FC-PGA封装封装3.1.4 CPU基本组成基本组成(1)外壳)外壳(HIS)镀镍铜板,保护镀镍铜板
11、,保护CPU核心,有利于散热片核心,有利于散热片的良好接触的良好接触。(2)导热材料)导热材料(TIM)导热膏,良好的绝缘性和导热性能。导热膏,良好的绝缘性和导热性能。(3)CPU核心核心(die)硅晶片硅晶片硅晶片硅晶片(4)转接层)转接层将将CPU内核信号转接到内核信号转接到CPU针脚;针脚;保护保护CPU核心不受损伤;核心不受损伤;固定固定CPU核心;核心;为为CPU提供绝缘和导热性。提供绝缘和导热性。3.1.4 CPU基本组成基本组成(5)基板)基板连接转接层与连接转接层与CPU针脚;防止针脚;防止CPU内核高频信号对主板产生干扰。内核高频信号对主板产生干扰。(6)电阻和电容)电阻和电
12、容消除消除CPU电路干扰。电路干扰。(7)针脚)针脚镀金无针脚触点。镀金无针脚触点。讨论:为什么讨论:为什么CPUCPU引脚越来越多引脚越来越多?3.1.4 CPU基本组成基本组成2.CPU内核组成内核组成Intel Core i7 CPU物理内核(物理内核(4核)核)3.1.4 CPU基本组成基本组成AMD Phenom CPU物理内核(物理内核(4核)核)3.1.4 CPU基本组成基本组成Core i7内核内核面积面积:18.9mm13mm=246mm2。CPU内核分为核心与非核心两大部分。内核分为核心与非核心两大部分。核心核心:CPU执行流水线执行流水线;L1、L2级高速缓存。级高速缓存
13、。非核心:非核心:L3级高速缓存级高速缓存;集成集成内存内存控制器(控制器(IMC);快速路径互连总线(快速路径互连总线(QPI);功耗与时钟控制单元等。功耗与时钟控制单元等。3.1.5 CPU接口形式接口形式CPUCPU无针脚设计,采用无针脚设计,采用LGALGA插座安装。插座安装。LGA插座3.1.5 CPU接口形式接口形式AMD公司公司CPU接口形式接口形式CPUCPU短短针脚针脚设计,采用设计,采用AMAM插座安装插座安装。AM3插座插座3.2 CPU基本结构基本结构3.2.1 CPU系统结构系统结构1.CPU工作过程将指令和数据加载到将指令和数据加载到Cache(指令缓存指令缓存指令
14、缓存指令缓存)从从Cache或内存获取指令(或内存获取指令(取指令取指令取指令取指令)将指令译码为微操作指令(将指令译码为微操作指令(译码译码译码译码)对微操作指令分配资源(对微操作指令分配资源(指令控制指令控制指令控制指令控制)对操作数进行计算(对操作数进行计算(执行执行执行执行)计算结果写回缓存和内存(计算结果写回缓存和内存(退出退出退出退出)3.2.1 CPU系统结构系统结构2.Core i7 CPU结构3.2.1 CPU系统结构系统结构3.Core i7 CPU指令执行速度(单核)5个个64位位ALU,3个个128位位FPU;每个每个时钟周期可以取指令周期可以取指令160位;位;译码5
15、条条x86指令;指令;发射射7条微指令;条微指令;重排序和重命名重排序和重命名4条微指令;条微指令;发送送6条微指令到条微指令到执行行单元;元;完成并退出完成并退出完成并退出完成并退出4 4条微指令条微指令条微指令条微指令。3.2.2 高速缓存单元高速缓存单元1.存储器局部性原理CPU对局部范围的内存地址频繁访问,而对此范对局部范围的内存地址频繁访问,而对此范围以外的地址则访问比较少的现象,称为围以外的地址则访问比较少的现象,称为存储器存储器存储器存储器局部性原理局部性原理局部性原理局部性原理。时间局部性时间局部性近期访问的程序代码,可能不久将再次访问近期访问的程序代码,可能不久将再次访问。空
16、间局部性空间局部性地址相邻近的程序代码,可能会连续访问。地址相邻近的程序代码,可能会连续访问。3.2.2 高速缓存单元高速缓存单元指令地址指令地址的规律的规律一般连续分布,一般连续分布,因为因为程序往往重复使用它刚刚使用过的指令。程序往往重复使用它刚刚使用过的指令。循环程序段和子程序段需要重复执行多次,对这些地址的访问就循环程序段和子程序段需要重复执行多次,对这些地址的访问就具有空间上集中的倾向。具有空间上集中的倾向。数据数据地址的规律地址的规律数据数据分布的随机性较大,集中存放的倾向不如指令明显。分布的随机性较大,集中存放的倾向不如指令明显。数组这种数据结构,在内存单元的分布相对集中。数组这
17、种数据结构,在内存单元的分布相对集中。3.2.2 高速缓存单元高速缓存单元2.高速缓存技术高速缓存高速缓存在内存与在内存与CPU寄存器之间设置一个高速的(与计算单元速度同步)寄存器之间设置一个高速的(与计算单元速度同步),容量相对较小的存储器,将一部分马上需要执行地指令或数据,容量相对较小的存储器,将一部分马上需要执行地指令或数据,从内存复制到这个存储器中,供从内存复制到这个存储器中,供CPU在一段时间内使用。这个介在一段时间内使用。这个介于内存与于内存与CPU之间的高速存储器称为之间的高速存储器称为Cache。CPU内部的内部的高速缓存由硬件控制高速缓存由硬件控制高速缓存由硬件控制高速缓存由
18、硬件控制,不需要软件进,不需要软件进行调度指挥。行调度指挥。3.2.2 高速缓存单元高速缓存单元3.命中率CPU访问内存时,先访问访问内存时,先访问Cache。在在Cache中找到所需数据的概率称为中找到所需数据的概率称为命中率命中率命中率命中率。对对于于没没有有命命中中的的指指令令或或数数据据,CPU只只好好再再次次访访问问内存,这时内存,这时CPU将会浪费更多的时间。将会浪费更多的时间。目前目前CPU中中高速缓存的命中率可达到高速缓存的命中率可达到95%以上以上。3.2.2 高速缓存单元高速缓存单元4Core i7 CPU高速缓存结构三级缓存结构三级缓存结构一一级级缓缓存存(L1 Cach
19、e),二二级级缓缓存存(L2 Cache)和和三三级级缓缓存存(L3 Cache)。)。L1 Cache分为数据缓存和指令缓存,两者可以同时被分为数据缓存和指令缓存,两者可以同时被CPU访问。访问。3.2.2 高速缓存单元高速缓存单元5.TLB(旁路转换缓冲器)的基本功能虚拟地址寻址虚拟地址寻址x86 CPU对内存采用虚拟地址寻址对内存采用虚拟地址寻址虚拟地址虚拟地址=虚页号虚页号+页内偏移量页内偏移量3.2.2 高速缓存单元高速缓存单元TLB工作原理工作原理TLB是一个专用高速缓冲器;是一个专用高速缓冲器;TLB用于存放近期经常使用的页表项;用于存放近期经常使用的页表项;CPU进行地址转换时
20、,可以在进行地址转换时,可以在TLB中直接转换;中直接转换;在在TLB没有命中时,才需要访问内存中的页表。没有命中时,才需要访问内存中的页表。TLB功能功能将将虚拟内存地址转换成物理内存地址虚拟内存地址转换成物理内存地址的硬件单元。的硬件单元。3.2.3 取指令单元取指令单元1.指令预取单元结构3.2.3 取指令单元取指令单元2.指令预取缓冲区读取的指令块越长,读取的指令块越长,CPU能够对程序分支作出更能够对程序分支作出更加正确的预测。加正确的预测。指令长度指令长度如果指令平均长度不超过如果指令平均长度不超过4个字节,那么个字节,那么Core i7平均每个时钟周期平均每个时钟周期可以处理可以
21、处理4条指令。条指令。很多指令长度有可能大于很多指令长度有可能大于5个字节。个字节。64位模式中,位模式中,SSE指令长度经常指令长度经常为为79个字节。个字节。3.2.3 取指令单元取指令单元4.指令分支预测单元对指令进行对指令进行分支预测分支预测分支预测分支预测,可以避免出现译码中断。,可以避免出现译码中断。例:遇到分支指令例:遇到分支指令“if then else”等语句时,必须等待条件判断等语句时,必须等待条件判断成立后,才能继续执行运算。成立后,才能继续执行运算。分支指令的数量分支指令的数量程序中约有程序中约有10%的语句是无条件分支指令;的语句是无条件分支指令;约约10%20%的语
22、句是有条件分支指令。的语句是有条件分支指令。3.2.3 取指令单元取指令单元分支预测的基本原理分支预测的基本原理设立一个分支设立一个分支目标缓冲区目标缓冲区目标缓冲区目标缓冲区(BTB););在缓存区中存放最近一次运行时,分支判断成功的信息。在缓存区中存放最近一次运行时,分支判断成功的信息。如果当前指令与分支目标缓冲区中某一条指令的地址相同,如果当前指令与分支目标缓冲区中某一条指令的地址相同,则该则该指令(如循环指令)是分支指令,并预测成功。指令(如循环指令)是分支指令,并预测成功。从从BTB直接获得目标指令指针。直接获得目标指令指针。反之,则顺序取指令。反之,则顺序取指令。3.2.4 译码单
23、元译码单元1.译码单元结构x86 CPU将指令译码成将指令译码成1个或多个长度相同、格式个或多个长度相同、格式固定、类似固定、类似RISC形式的形式的微指令微指令微指令微指令。3.2.4 译码单元译码单元译码译码单元类型单元类型硬件电路译码硬件电路译码:速度比微指令译码快,但是电路复杂,而且扩展速度比微指令译码快,但是电路复杂,而且扩展指令时,需要重新设计硬件译码电路。指令时,需要重新设计硬件译码电路。微指令译码微指令译码:速度慢,但是指令扩展容易实现。速度慢,但是指令扩展容易实现。x86 CPU将指令译码成将指令译码成1个或多个长度相同、格式个或多个长度相同、格式固定、类似固定、类似RISC
24、形式的形式的微指令微指令微指令微指令(OPOP)。x86 CPUCPU计算单元执行的指令是译码后的微指令计算单元执行的指令是译码后的微指令计算单元执行的指令是译码后的微指令计算单元执行的指令是译码后的微指令,而不是编译后的而不是编译后的x86指令。指令。说明:微指令是说明:微指令是CISCCISC与与RISCRISC融合的形式。融合的形式。3.2.4 译码单元译码单元2.简单指令译码器(SD)SD用来处理对应用来处理对应1条微指令的简单条微指令的简单x86指令指令。例例:所有所有SSE指令都可以用简单译码器处理,生成指令都可以用简单译码器处理,生成1条微指令。条微指令。实际应用中,往往采用硬件
25、电路实现简单实际应用中,往往采用硬件电路实现简单x86指令的译码。指令的译码。3.复杂指令译码器(CD)CD用来处理对应用来处理对应4条微指令条微指令以上以上的复杂的复杂x86指令。指令。例例:向量指令是一种复杂指令,它需要微码向量指令是一种复杂指令,它需要微码ROM和和复杂复杂译码器共译码器共同完成译码工作。同完成译码工作。应用程序很少使用复杂的应用程序很少使用复杂的x86指令,因此复杂指令译码器对指令,因此复杂指令译码器对CPU的的整体性能影响不大。整体性能影响不大。3.2.4 译码单元译码单元4.微指令ROM长于长于4个微指令个微指令的的复杂复杂x86指令,需要由微指令,需要由微程序程序
26、ROM和复杂译码器共同和复杂译码器共同处理。处理。微程序控制思想:微程序控制思想:将复杂的将复杂的x86指令编制成多条微指令,以简化控制操作;指令编制成多条微指令,以简化控制操作;由若干微指令组成一段微程序,解释执行一条由若干微指令组成一段微程序,解释执行一条x86指令;指令;微程序编制好后,事先存放在微程序编制好后,事先存放在CPU内部的微程序内部的微程序ROM中中;复杂指令译码时复杂指令译码时,由微程序,由微程序ROM和复杂指令译码器共同译码和复杂指令译码器共同译码。说明:微指令是硬件软件化的设计思想。说明:微指令是硬件软件化的设计思想。3.2.5 控制单元控制单元1.指令控制单元基本结构
27、 指令指令控制单元(控制单元(ICU)采用乱序执行)采用乱序执行技术技术。3.2.5 控制单元控制单元2.乱序执行(OOO)指指CPU允许多条指令,不按程序规定的顺序,分允许多条指令,不按程序规定的顺序,分开发送给各相应电路单元进行处理。然后将处理开发送给各相应电路单元进行处理。然后将处理结果重新排序。结果重新排序。例:某一程序片段有例:某一程序片段有7条指令,此时条指令,此时CPU乱序执行引擎将检查指令乱序执行引擎将检查指令能否提前执行(相关性检查);如果没有指令和数据相关,就根能否提前执行(相关性检查);如果没有指令和数据相关,就根据各单元电路的空闲状态,将能够提前执行的指令立即发送给相据
28、各单元电路的空闲状态,将能够提前执行的指令立即发送给相应电路执行。各单元乱序执行完指令后,乱序执行引擎再将运算应电路执行。各单元乱序执行完指令后,乱序执行引擎再将运算结果重新按原来程序指定的顺序排列。结果重新按原来程序指定的顺序排列。采用乱序执行技术的目的,是为了使采用乱序执行技术的目的,是为了使CPU内部电内部电路满负荷运转,提高路满负荷运转,提高CPU运行程序的速度。运行程序的速度。3.2.5 控制单元控制单元3.寄存器重命名(RAT)寄存器重名寄存器重名问题问题在乱序执行技术中,不同的指令可能需要用到相同的通用寄存器在乱序执行技术中,不同的指令可能需要用到相同的通用寄存器(GPR),特别
29、是指令需要改写该通用寄存器的情况下,为了让),特别是指令需要改写该通用寄存器的情况下,为了让这些指令能并行计算,解决方法是对一些寄存器进行重命名,不这些指令能并行计算,解决方法是对一些寄存器进行重命名,不同的指令可以通过具有相同名字,但实际不同的寄存器来解决。同的指令可以通过具有相同名字,但实际不同的寄存器来解决。3.2.6 执行单元执行单元1.执行单元(EXE)结构5 5个个个个6464位位位位ALUALU(整数算术逻辑运算单元整数算术逻辑运算单元)3 3个个个个128128位位位位FPUFPU(浮点处理单元浮点处理单元)3 3个个个个128128位位位位SSESSE(向量处理单元向量处理单
30、元)ALU、FPU、SSE共享某些硬件资源。共享某些硬件资源。3.2.6 执行单元执行单元执行单元结构执行单元结构3.2.6 执行单元执行单元2.数据分配端口(DP)在在同一时间内,同一时间内,1个数据分配端口只能由一条微指个数据分配端口只能由一条微指令进入令进入。3.整数执行单元(IEU)每个每个执行单元可以独立处理一个执行单元可以独立处理一个64位的位的整数。整数。Core i7的单核的单核可以在一时钟周期内同时执行可以在一时钟周期内同时执行3组组64位的整数运算位的整数运算。3.2.6 执行单元执行单元4.浮点处理执行单元(FPEU)在处理器中,浮点运算与整数运算的指令调度是在处理器中,
31、浮点运算与整数运算的指令调度是完全分离的,并且它们的处理方式也完全不同。完全分离的,并且它们的处理方式也完全不同。端口端口1的浮点处理执行单元负责加减简单运算的浮点处理执行单元负责加减简单运算;端口端口0的浮点处理执行单元负责乘除等运算的浮点处理执行单元负责乘除等运算;端口端口5的浮点处理执行单元负责移位等运算。的浮点处理执行单元负责移位等运算。Core i7具备在一周期内完成具备在一周期内完成3条浮点指令的能力。条浮点指令的能力。讨论:3GHz的Core i7每秒钟执行多少条指令?3.2.7 退出单元退出单元1.载入/存储单元结构(Load/Store)Load/Store例:如例:如MOV
32、、PUSH等指令的操作。等指令的操作。运算过程中,会用到数据和生成数据,这些运算过程中,会用到数据和生成数据,这些数据的存取操作由数据的存取操作由数据的存取操作由数据的存取操作由Load/StoreLoad/Store单元完成单元完成单元完成单元完成。Load单元功能单元功能将数据从内存或缓存加载到运算单元的寄存器中。将数据从内存或缓存加载到运算单元的寄存器中。Store单元功能单元功能将计算结果从寄存器写回缓存和内存。将计算结果从寄存器写回缓存和内存。3.2.6 执行单元执行单元Load/Store结构结构3.2.7 退出单元退出单元载入载入/存储的特点存储的特点CPU中中Load/Stor
33、e操操作作十十分分频频繁繁,约约占占所所有有指指令令的的1/3,它对系统性能影响很大。它对系统性能影响很大。Load操作发生频率比操作发生频率比Store操作高。操作高。Store操操作作并并不不影影响响系系统统性性能能,因因为为数数据据开开始始写写入入后后,CPU可可以以马马上上开开始始进进行行其其他他的的工工作作,不不必必等等到到写写入入操操作作完成。完成。【补充补充】ARM单核微处理器结构单核微处理器结构 3.3 CPU设计技术设计技术3.3.1 x86指令系统指令系统1.x86基本指令集组成:组成:标准标准标准标准80868086指令;指令;指令;指令;浮点处理指令;浮点处理指令;浮点
34、处理指令;浮点处理指令;一共一共166条。条。长度:长度:x86指令长度为指令长度为115字节不等;字节不等;大部分指令在大部分指令在大部分指令在大部分指令在5 5 5 5个字节以下个字节以下个字节以下个字节以下。3.3.1 x86指令系统指令系统2.MMX扩展指令集(多媒体扩展)1997年年Intel公司公司推出推出;主要主要用于增强用于增强CPU对多媒体信息的处理能力,提对多媒体信息的处理能力,提高高CPU处理处理3D图形、视频和音频信息的能力图形、视频和音频信息的能力。采用采用了单指令多数据(了单指令多数据(SIMD)技术。技术。3.3.1 x86指令系统指令系统3.SSE扩展指令集优化
35、优化内存中连续数据块传输内存中连续数据块传输指令指令;提高提高3D图形运算图形运算效率效率;SIMD浮点运算浮点运算指令指令;整数整数运算增强运算增强指令。指令。3.3.1 x86指令系统指令系统SSE指令系统的发展指令系统的发展3.3.1 x86指令系统指令系统【补充】指令执行中的20-80规律在在x86程序中,大约有程序中,大约有50%的指令是存储器访问指令(如的指令是存储器访问指令(如MOV、PUSH等)。等)。大约有大约有15%20%的指令是分支指令(如的指令是分支指令(如JMP、CALL等)。等)。75%的的x86指令短于指令短于4字节,这些短指令占代码大小的字节,这些短指令占代码大
36、小的53%。其余指令大部分是简单指令。其余指令大部分是简单指令。复杂指令只占很少一部分。复杂指令只占很少一部分。在在x86指令系统中,指令系统中,大约大约大约大约2020的指令占据了的指令占据了的指令占据了的指令占据了8080的的的的处理机时间处理机时间处理机时间处理机时间。3.3.2 流水线技术流水线技术1.流水线设计方法流水线是高性能流水线是高性能CPU设计的关键技术。设计的关键技术。流水线是将指令执行过程分解成若干个子过程,流水线是将指令执行过程分解成若干个子过程,流水线是将指令执行过程分解成若干个子过程,流水线是将指令执行过程分解成若干个子过程,这些子过程可以同时执行这些子过程可以同时
37、执行这些子过程可以同时执行这些子过程可以同时执行。各个功能段所需的时间应尽量相等,否则,时间各个功能段所需的时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈。长的功能段将成为流水线的瓶颈。功能段的时间一般为一个时钟周期功能段的时间一般为一个时钟周期功能段的时间一般为一个时钟周期功能段的时间一般为一个时钟周期。3.3.2 流水线技术流水线技术指令执行过程指令执行过程取指令取指令指令译码指令译码取操作数取操作数执行运算执行运算写回结果写回结果虽虽然然流流水水线线使使指指令令的的执执行行周周期期延延长长了了,但但能能使使CPU在每个时钟周期都有指令输出在每个时钟周期都有指令输出。Core 2和
38、和Core i7 CPU流水线长度为流水线长度为1414工步工步工步工步。3.3.2 流水线技术流水线技术2.理想的流水线(1)所有)所有指令必须指令必须通过相同的流水段顺序流出;通过相同的流水段顺序流出;(2)两个流水段之间不共享任何资源;)两个流水段之间不共享任何资源;(3)通过所有流水段的操作和传输延时都相等;)通过所有流水段的操作和传输延时都相等;(4)调度一个指令进入流水线后,不会对流水段中)调度一个指令进入流水线后,不会对流水段中其他部件造成其他部件造成影响影响;(5)流水流水段的段的时间由时间由最慢的流水最慢的流水段决定段决定。3.3.2 流水线技术流水线技术理想状态下流水线执行
39、流程理想状态下流水线执行流程3.3.2 流水线技术流水线技术3.流水线中的相关性指指一条指令的运行依赖于另一条指令一条指令的运行依赖于另一条指令一条指令的运行依赖于另一条指令一条指令的运行依赖于另一条指令。【例【例3-1】:某个程序指令队列如下:】:某个程序指令队列如下:A=100 (指令(指令1)B=200 (指令(指令2)C=A+B (指令(指令3)可见可见指令指令3与与指令指令1和和2存在数据相关。存在数据相关。流水线相关性流水线相关性数据相关数据相关数据相关数据相关资源相关资源相关资源相关资源相关控制相关控制相关控制相关控制相关3.3.2 流水线技术流水线技术消除相关性的方法消除相关性
40、的方法保证在保证在 i+1 阶段执行的指令和阶段执行的指令和 1i 阶段执行的指令无关;阶段执行的指令无关;根据前一流水段的反馈来使用根据前一流水段的反馈来使用暂停指令暂停指令或终止指令。或终止指令。暂停执行3.3.2 流水线技术流水线技术5.Core i7 CPU流水线设计Core i7 CPU采用采用14级流水线设计。级流水线设计。Intel公司没有公布其结构。公司没有公布其结构。流水线优点:流水线优点:流水线越长,流水线越长,CPU频率提升潜力越大;频率提升潜力越大;流水线缺点:流水线缺点:一旦产生分支一旦产生分支指令指令预测失败预测失败,或者高速缓存取指令不能命中或者高速缓存取指令不能
41、命中时时,CPU就需要到内存取指令,这时流水线必须清空,并重新执行流就需要到内存取指令,这时流水线必须清空,并重新执行流水线操作,因此延迟时间就会增加。水线操作,因此延迟时间就会增加。流水线不是越长越好,流水线不是越长越好,关键是关键是找到速度与效率的平衡点。找到速度与效率的平衡点。3.3.2 流水线技术流水线技术分支指令分支指令预测失败预测失败导致导致的流水线清的流水线清空空。重新取指令分支指令预测失败清空流水线指令3.3.2 流水线技术流水线技术【补充补充】Atom CPU流水线结构流水线结构3.3.2 流水线技术流水线技术【补充补充】Pentium CPU流水线结构流水线结构3.3.3
42、多核多核CPU技术技术6.超标量技术超超超超标标标标量量量量技技术术是是集集成成多多条条流流水水线线结结构构的的CPU,并并且且每每时时钟钟周周期内可以完成一条以上的指令。期内可以完成一条以上的指令。时钟周期时钟周期取指令取指令译码译码取操作数取操作数执行执行写回写回1指令1指令22指令3指令1指令4指令23指令5指令3指令1指令6指令4指令24指令7指令5指令3指令1指令8指令6指令4指令25指令9指令7指令5指令3指令1指令10指令8指令6指令4指令2超标量流水线(双发射)3.3.3 多核多核CPU技术技术单单核核CPU过过快快的的温温度度和和功功耗耗上上升升,使使得得CPU厂厂商商不得不
43、采用多核不得不采用多核CPU提高性能。提高性能。多多多多核核核核CPUCPU具具具具有有有有更更更更强强强强的的的的并并并并行行行行处处处处理理理理能能能能力力力力,大大大大减减少少了了CPU的发热和功耗。的发热和功耗。多多多多核核核核CPUCPU需需需需要要要要软软软软件件件件支支支支持持持持,只只有有在在基基于于线线程程化化的的软软件上,多核件上,多核CPU才能发挥出效能。才能发挥出效能。3.3.3 多核多核CPU技术技术Intel 48核核CPU测试测试3.3.3 多核多核CPU技术技术Intel 48核核CPU测试测试3.3.4 CPU设计热功耗设计热功耗1CPU功耗降低降低CPU功耗
44、功耗,可以通过降低,可以通过降低CPU频率频率,减少,减少CPU工作电压和寄生电容来达到目的工作电压和寄生电容来达到目的。台式台式计算机计算机CPU功耗功耗为为50130W之间之间。3.3.4 CPU设计热功耗设计热功耗2CPU设计热功耗(TDP)TDP是是CPU达到最大负载时释放出的热量,单位达到最大负载时释放出的热量,单位W。TDP小于小于CPU的实际功耗。的实际功耗。CPU功耗是对主板提出的要求功耗是对主板提出的要求功耗是对主板提出的要求功耗是对主板提出的要求,要求主板能提供,要求主板能提供相应的电压和电流;相应的电压和电流;TDP是对散热系统提出的要求是对散热系统提出的要求是对散热系统
45、提出的要求是对散热系统提出的要求,要求散热系统能,要求散热系统能把把CPU发出的热量发散掉。发出的热量发散掉。3.3.4 CPU设计热功耗设计热功耗Intel Coer i7 CPU功耗与温度的关系功耗与温度的关系3.3.5 CPU节能技术节能技术1动态功耗与静态功耗动态功耗动态功耗动态功耗动态功耗:由:由CPU晶体管开关引起。晶体管开关引起。静态功耗静态功耗静态功耗静态功耗:由由CPU漏电流引起。漏电流引起。3.3.5 CPU节能技术节能技术2.CPU节能设计的基本方法理想方法:理想方法:不同工作模式下,使用不同的工作电压。不同工作模式下,使用不同的工作电压。缺点:造成缺点:造成CPU设计太
46、过复杂。设计太过复杂。简单方法:简单方法:按照按照高性能高电压,低性能低电压高性能高电压,低性能低电压高性能高电压,低性能低电压高性能高电压,低性能低电压的原则进行设计的原则进行设计;使用多种时钟频率来降低芯片中部分单元的工作频率。使用多种时钟频率来降低芯片中部分单元的工作频率。Core i7 CPU电源管理功能电源管理功能大部分功能单元在不使用时,可以进入睡眠状态以降低耗电。大部分功能单元在不使用时,可以进入睡眠状态以降低耗电。CPU内部总线在没有信号传输时,可以进入睡眠状态。内部总线在没有信号传输时,可以进入睡眠状态。3.3.5 CPU节能技术节能技术【补充补充】Core i7 能耗控制电
47、路能耗控制电路3.3.6 CPU温度控制技术温度控制技术1CPU工作状态CPU温度控制电路工作状态示意图温度控制电路工作状态示意图3.3.6 CPU温度控制技术温度控制技术CPUCPU警戒温度为警戒温度为警戒温度为警戒温度为7272CPU内内核核温温度度达达到到7272时时,CPU内内核核的的温温度度控控制制电电路路被被激激活活,它它会会降降低低CPU任任务务周周期期信信号号,强强制制CPU的的工工作作频频率率按按这这个个信信号号指指定定的周期运行,达到降低的周期运行,达到降低CPU工作频率的目的。工作频率的目的。极限温度为极限温度为极限温度为极限温度为135135当当 CPU温温 度度 升升
48、 高高 到到 135时时,CPU将将 自自 动动 发发 出出 关关 机机 指指 令令(THERMTRIP#),从而关闭计算机系统。),从而关闭计算机系统。酷睿酷睿CPU的警戒温度的警戒温度Intel公司没有给出一个明确的警戒温度和极限温度。公司没有给出一个明确的警戒温度和极限温度。Intel公公司司的的设设计计热热功功耗耗规规定定,只只要要不不超超过过Tj Max温温度度就就算算是是正正常常工作。工作。例例如如,Intel Core i5的的Tj Max温温度度是是105,根根据据Intel的的说说法法,只只要不超过要不超过105摄氏度都是正常工作范围。摄氏度都是正常工作范围。3.3.6 CP
49、U温度控制技术温度控制技术2CPU内部温度监控系统CPU温控系统特点:温控系统特点:CPU内核中集成了两套相互独立的热敏二极管。内核中集成了两套相互独立的热敏二极管。第一套热敏二极管监测第一套热敏二极管监测CPU温度,并传输给主板上的温度监控电温度,并传输给主板上的温度监控电路,这套电路通过关闭系统来保护路,这套电路通过关闭系统来保护CPU,只在紧急情况才启用。,只在紧急情况才启用。第二套热敏二极管集成在第二套热敏二极管集成在CPU内核温度最高的部位,如内核温度最高的部位,如ALU(算(算术逻辑单元)附近。术逻辑单元)附近。CPU工作时,这两套热敏二极管的电阻和电流会随温度而变化。工作时,这两
50、套热敏二极管的电阻和电流会随温度而变化。CPU的警戒温度和极限温度值,由的警戒温度和极限温度值,由CPU制造商根据制造工艺和封制造商根据制造工艺和封装形式确定,并在技术白皮书中给出。装形式确定,并在技术白皮书中给出。Intel将将CPU的警戒温度和极限温度写入的警戒温度和极限温度写入CPU内部温控电路中,内部温控电路中,用用用用户无法修改它们户无法修改它们户无法修改它们户无法修改它们。讨论:CPU发热会导致起火吗?3.4 CPU故障分析与处理故障分析与处理3.4.1 CPU产品选择产品选择1根据应用需求选择CPU产品(1)普通应用)普通应用例:例:Word,PPT,IE、QQ等。等。办公自动化