资源预览内容
第1页 / 共70页
第2页 / 共70页
第3页 / 共70页
第4页 / 共70页
第5页 / 共70页
第6页 / 共70页
第7页 / 共70页
第8页 / 共70页
第9页 / 共70页
第10页 / 共70页
亲,该文档总共70页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第6章 选择CPU,情境引入 本章内容结构 本章学习目标 6.1 CPU的子部件 6.2 指令集 6.3 对称多处理技术 6.4 CISC和RISC,下一页,第6章 选择CPU,6.5 制造商的选择 6.6 多核处理器 6.7 增加和升级处理器 6.8 本章小结 专业术语 缩略语提示,上一页,返回,情境引入,某公司因为业务的发展和规模的扩大,公司原有的计算机网络已不能满足办公自动化的需要。公司决定在现有网络中增加若干台服务器,以实现诸如:公司网内电子邮件手法、FTP服务、Web服务等。 众所周知,CPU是一台计算机的核心,如何选择一台计算机的CPU以满足用户的需求,作为一名优秀的网络管理人员应该对CPU进行全方位的掌握。,返回,本章内容结构,返回,本章学习目标,了解多处理器的特点及优缺点。 理解一台服务器的处理器子系统。 熟练安装硬件。 增加处理器的方法和注意事项。 人们习惯把服务器中央处理单元称为CPU,它是系统中主要的微处理器。它的芯片组是一对有特定功能的微处理器。声卡、显卡和调制解调器都利用数字信号处理器(DSP)。DSP是经过特殊处理的自带板载微处理器的微处理器和SC SI适配器。而这些只是列表内容的一小部分而已(如图6-1所示)。,下一页,返回,本章学习目标,在CPU的内部,有几个CPU的子部件来执行特定的功能而且一些指令在需要时也会被编入CPU。每个了商都有自己特殊的CPU设计,因此,主要的子部件都必须在特定的位置上,不是每个制造商在设计他们的产品时都使用同一个逻辑。同样,CPU的基本指令集必须能够执行相同的任务,以便被视为“Intel一兼容”,还有更多能提升CPU性能的指令集。这些附加的指令集是由制造商设计的,并且对于特定的产品是否能适合于用在给定的功能上有强烈的影响。 但是,Intel没有受到服务器领域的限制。事实上,最强大的服务器经常使用的不是Intel平台。Intel的CPU主要是复杂指令集计算(CISC)芯片。一些功能最强的网络操作系统运行在精简指令集计算(RISC)处理器上。本章稍后将深入探讨这些芯片。,上一页,返回,6.1 CPU的子部件,CPU是一个非常小的设备。即使是最大的CPU,它也能非常合适地放在大多数人的手掌里。然而,能放在手掌中的设备要比实际的芯片大很多。在微处理器里有大量的支持电路使它与系统连接起来。芯片本身并不比小手指的指甲大多少。 尽管规模很小,但是令人难以置信的是,大量的晶体管被塞进了这个狭小的空间里。晶体管负责所有的工作,而一个晶体管只不过是一个极小的开/关转换器。为院成晶体管进行的工作,CPU是由数以万计的这些细小开关的集合聚集在一起形成的一个块。事实上,在最新的Intel的Itanium处理器里,有超过2 500万个晶体管在CPU的核心部件中,还有另外3亿个晶体管组成了它的缓存。,下一页,返回,6.1 CPU的子部件,显微下的CPU看似有点像在鸟瞰一个城市,它的布局完全符合建筑和街道的要求。这个“城市”的缩影是以块的形式被列出的,每一块代表了处理器的一个子部件(如图6-2所示)。这些块包括: 控制单元:可被称之为“政务指挥官”。这是负责记录手头任务的单元,来决定下一步将要进行什么任务和由哪个子部件来完成。 预取单元:当CPU需要另外的数据或指令时,它会发出预取指令来寻找那个数据。 数据和指令缓存:一旦预取指令定位和检索到数据或指令,这些数据或指令需要一个地方来存储它们,直到控制单元准备好将它们调入正确的寄存器集合中。,上一页,下一页,返回,6.1 CPU的子部件,解码单元:大量进入CPU的指令太复杂以至于控制单元不能处理它们。解码单元将这些指令分解成了CPU能理解的简单的二进制命令。 算术逻辑单元(ALU):这是CPU的基本的计算器,来处理简单的整数计算。 浮点单元(FPU):CPU的“科学的”计算器,它处理更高级的数学功能。 通用寄存器:在处理过程中,相同的数据集合很可能被一定数量的不同指令编辑成短信息。当数据被处理时,通用寄存器是存放数据的地点。,上一页,下一页,返回,6.1 CPU的子部件,理解处理器性能 根据性能,CPU被夸大的一个特点是它原始的时钟速度。当然,如果有一个芯片每秒钟能执行10亿次或更多倍的指令是非常优秀的。但是,如果想充分利用这一速度,就必须保证CPU总是有任务要处理。如果有一个2. 4GHz的CPU要花费18亿次的时钟周期等待某项任务要它完成,那么这样并不能加强CPU的性能。而且,如果指令集非常有限,程序员必须使用高级编程语言来完成由CPU指挥的任务,这将会引进另一种瓶颈问题。程序员所写的一行代码也许会被分成十几个或更多的CPU指令。因此,一个更快的前端总线和一个强大的指令集将比一般的时钟周期对系统性能有更大的影响。接下来通过本章的阐述,对一些高级的CPU功能有一个基本的理解是很有意义的,从而会做出更多明智的决定。,上一页,返回,6.2 指令集,当CPU需要特定的指令或命令来完成一项任务时,它就会发出预取指令来寻找数据。预取指令第一个要寻找的地方是CPU的内置式指令集。预取指令每次到CPU的外部去寻找指令,CPU在等待命令到达之前都会浪费几个时钟周期。丢失多少个时钟周期决定于计算机最终在哪个位置定位到这个命令。如果CPU请求的命令或指令在硬盘驱动上,而没有在缓存或内存上,在CPU得到要处理的特定数据集之前,可能有数万,甚至数十万个时钟周期逝去。,下一页,返回,6.2 指令集,有些命令是在重复的被CPU使用。因此,如果CPU总是在反复使用这个命令,为什么不把这个特定的命令存储到CPU当中呢?那样,CPU只花费一个时钟周期去寻找它。以80486微处理为例,Intel公司开始设计一种他们称为1386的指令集,并将这些指令存储到他们公司的所有CPU中,这是他们期望能被CPU重复使用的核心指令集。几年来,很多附加的指令集被添加到CPU中。,上一页,下一页,返回,6.2 指令集,第一个指令集就是MMX,这是Intel的多媒体指令集。AMD有它自己的3D指令。指令集增强了3D图形表现的处理功能。Intel随后在他们的Pentium III CPU中模仿了3D这一功能。 当购买CPU时,知道哪种指令集对于CPU而言是完整的是很必要的。所有的制造商都在他们自己的网页上提供了包含非常详细的CPU信息的数据表。在相信媒体的吹嘘之前,请先做个调查,作出个人选择,不要让那些流行的杂志束缚思想。,上一页,下一页,返回,6.2 指令集,高级CPU功能 工程设计师全身心的投入CPU的研发当中,让CPU具有更多的新功能,这样他才能让用户信服然后完全不顾一切地购买最新最近发布的CPU。从一台服务器的立场而言,有些CPU的高级功能是必要的,但是其他一些功能虽然做得非常好,可是没有多大的意义。以下主要列出了一些最普遍见到的功能及这些功能为用户提供哪些内容。 保护模式:保护模式不再是一种高级功能,因为现代的操作系统没有它就不能进行任何操作。保护模式允许多个进程同时在CPU内活动而且彼此之间不会发生干扰。每个线程都受到其他线程的保护。,上一页,下一页,返回,6.2 指令集,指令流水线:在旧的计算机时代里,在CPU里已有的指令完全运行完并移出寄存器时,它才能开始另一组新的指令。结果,当接近处理完成一组指令时,CPU的很多寄存器都是空闲的。指令流水线允许CPU只要在寄存器可用时就开始执行下一组指令,不用考虑前一组指令是否已被执行完成。 一超标量体系结构:在20世纪90年代初发布的Pentium CPU,只有一条路径可使数据通过CPU。虽然指令流水线对CPU产生了极大的帮助,但是在CPU中仍然还是只有一条信道。一个多任务系统会发现CPU本身就是一个瓶颈。超标量体系结构是设计师为数据建立的多个信道来通过处理周期的复杂方式。,上一页,下一页,返回,6.2 指令集,分支预测:在数据处理过程中,信道上有很多的分叉,如果用户为一个特定的提示输入“Y”,那么就会有一个指令来响应,如果用户说“N”,那么就会有完全不同的一个指令来执行操作。直到用户最终输入完他们的选择,CPU才会停下来。分支预测处理是由预取指令载入开始的几行用户决定如何进行处理方式的代码的过程。 预测执行:这个过程是分支预测的下一个级别。它从每个分支中不只是载入前几行代码,它实际上也处理所有的分支。这样,不管用户选择哪个分支,CPU都能进行处理。它一般会丢弃任何一个不必要的数据。,上一页,下一页,返回,乱序执行:这是比较少见的情况:无论是数据或指令,在它们到达CPU之前,其他数据或指令控制单元需要首先被显示出来。过去,数据到达CPU会被储存在任何指令高速缓存或数据高速缓存器里,并等待其他信息的到来。然后其他信息到达后CPU就会按照顺序来处理这些数据。乱序执行允许CPU在数据或指令到达后就进行处理。 一清晰并行指令计算:这项技术允许CPU在每个时钟周期上运行很多不同的操作(多达20个)。 这些功能将比其他功能更有益于服务器。但是它们都是必要的。确保处理器能支持尽可能多的高级功能。,上一页,返回,6.2 指令集,单个用户使用电脑时,很少把一个CPU使用到接近其极限。技术的发展使人们能远远超过这个极限。但是,服务器不会如此奢侈的处理单个用户的请求。计算一下网络上的用户数量,这些数量就是潜在的可能会要求CPU同时响应这些用户的请求。清晰并行指令计算能在任意给定的时钟周期上执行20多个操作,它能提供1 500位用户同时登录到网络上。 大多数为服务器设计的主板都能支持两个或两个以上的CPU。一些公司提供的用来构建个人服务器的主板产品能支持4个CPU。在一个任务量非常繁重的服务器上,将CPU的数量翻倍比将一个CPU的速度翻倍造成的影响要大很多。虽然将CPU翻倍也就是将要被处理的指令数量翻倍,但是缓存空间和指令流水线的数量也被翻倍了等。,下一页,返回,6.3 对称多处理技术,一些CPU是以对称多处理(SMP)的理念而设计的。如果制造商的数据表上显示某一特定产品是SMP的准备,这意味着产品在设计过程中需要考虑一些必要的功能。最重要的一个功能是所有已安装的CPU都共享同一个物理内存。普通的主板和CPU设计是迫使每一个CPU从同一总线上来访问内存。如果CPU是专门为SMP的使用而设计的,则它与内存会建立自己的一条信道。每个CPU都能产生自身的RAM扩展信道,如果CPU需要在RAM里建立一个额外的缓存,它能标记这些数据,这样另一个CPU就不会接收错误的数据集。这个过程叫做总线监听。 【专业术语】总线监听:在一个SMP系统里,个人处理器标记它们自己的专用内存地址空间的过程。,上一页,下一页,返回,6.3 对称多处理技术,另一个要解决的问题是普通内存一次只能为有限数量的请求服务。这个问题的解决方法是为内存开辟一个独立的信道,这是多组标准内存被使用时最高效的方法。因此,内存信道的作用是,两组256 MB的内存要比一个512 MB的内存强很多。最近出现了一种叫做虚拟信道SDRAM (VCSDRAM)的新型内存。VC SDRAM能够在一组内存中建立16个不同的信道。DDR-II是另一种支持虚拟信道的内存类型。,上一页,下一页,返回,6.3 对称多处理技术,考试注意:当为对称多处理系统进行配置时,CPU的同一性是很必要的。这里包括经常被忽视的发行代码。发行代码代表了CPU的版本,而且它经常由于芯片制造商的改变而改变,CPU制造商发现和修理小的补丁时也会造成发行代码的改变。因此,如果想要一个SMP计算机,就必须购买两个新的CPU而不是一个。一个与现有CPU绝对匹配的并不容易找到。而现在一次购买两个,仍然还可以购买到匹配的一对。 【专业术语】发行代码(批号):分配给一个CPU模型的几种不同进化版本的特定修正号。,上一页,下一页,返回,6.3 对称多处理技术,很明显地,为了适应SMP计算机,主板也必须支持SMP。主板上有几个CPU的套接口(没有区分),但是芯片组仍然要支持这些接口。不是所有的有多个CPU套接口的系统主板都是为多处理设计的。如果一个主板的架构为Socket3
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号