服务器cpu是什么?

服务器cpu是什么?,第1张

服务器CPU,顾名思义,就是在服务器上使用的CPU(Center Process Unit中央处理器)。众所周知,服务器是网络中的重要设备,要接受少至几十人、多至成千上万人的访问,因此对服务器具有大数据量的快速吞吐、超强的稳定性、长时间运行等严格要求。下面是我收集整理的服务器cpu是什么,欢迎阅读。

服务器cpu是什么?

服务器的中央处理器(CPU),在内部结构上是跟台式机的差不多,它们都是由运算器和控制器组成,CPU的内部结构可分为控制单元,逻辑单元和存储单元三大部分。当然工作原理也是一样。随着两者的需求和发展,台式机和服务器的处理器在技术、性能指标等各方面都存在并存的现象,一个最明显的现象,像Intel的奔腾系列产品,一直应用于服务器的低端领域。但不代表着服务器CPU与台式机将会完全一样,下面内容会让你对服务器CPU有个全方位的了解……

一、产品篇

厂商

32bit 64bit

CISC型 VLIM型 RISC型

IA-32 X86-64 IA-64

AMD64 EM64T

Intel Pentium、Xeon Nocona Itanium

AMD Athlon MP Opteron

Transmeta

(全美达) Efficeon

IBM/Apple POWER、POWERPC

HP PA-RISC、Alpha

SGI MIPS

SUN UltraSPARC

上面简单把服务器处理器列了一下表,我们可以很清晰看出,服务器处理器按CPU的指令系统来区分,有CISC型CPU和RISC型CPU两类,后来出现了一种64位的VLIM指令系统的CPU,这种架构也叫做“IA-64”。目前基于这种指令架构的MPU有Intel的IA-64、EM64T和AMD的x86-64。RISC型的CPU是我们比较不熟悉的'类型,下面一一介绍

IBM:

IBM 的四条处理器产品线 —— POWER 体系结构,PowerPC 系列的处理器,Star 系列(很少用于服务器中),以及 IBM 大型机上所采用的芯片

POWER 是 Power Optimization With Enhanced RISC 的缩写,是 IBM 的很多服务器、工作站和超级计算机的主要处理器。POWER 芯片起源于 801 CPU,是第二代 RISC 处理器。POWER 芯片在 1990 年被 RS 或 RISC System/6000 UNIX 工作站(现在称为 eServer 和 pSeries)采用,POWER 的产品有 POWER1、POWER2、POWER3、POWER4,现在最高端的是 POWER5。POWER5 处理器是目前单个芯片中性能最好的芯片。POWER6计划 2006 年发布。

PowerPC 是 Apple、IBM 和摩托罗拉(Motorola)联盟(也称为 AIM 联盟)的产物,它基于 POWER 体系结构,但是与 POWER 又有很多的不同。例如,PowerPC 是开放的,它既支持高端的内存模型,也支持低端的内存模型,而 POWER 芯片是高端的。最初的 PowerPC 设计也着重于浮点性能和多处理能力的研究。当然,它也包含了大部分 POWER 指令。很多应用程序都能在 PowerPC 上正常工作,这可能需要重新编译以进行一些转换。从 2000 年开始,摩托罗拉和 IBM 的 PowerPC 芯片都开始遵循 Book E 规范,这样可以提供一些增强特性,从而使得 PowerPC 对嵌入式处理器应用(例如网络和存储设备,以及消费者设备)更具有吸引力。PowerPC 体系结构的最大一个优点是它是开放的:它定义了一个指令集(ISA),并且允许任何人来设计和制造与 PowerPC 兼容的处理器为了支持 PowerPC 而开发的软件模块的源代码都可以自由使用。最后,PowerPC 核心的精简为其他部件预留了很大的空间,从新添加缓存到协处理都是如此,这样可以实现任意的设计复杂度。IBM 的 4 条服务器产品线中有两条与 Apple 计算机的桌面和服务器产品线同样基于 PowerPC 体系结构,分别是 Nintendo GameCube 和 IBM 的“蓝色基因(Blue Gene)”超级计算机。现在,三种主要的 PowerPC 系列是嵌入式 PowerPC 400 系列以及独立的 PowerPC 700 和 PowerPC 900 系列。而PowerPC 600 系列,是第一个 PowerPC 芯片。它是 POWER 和 PowerPC 体系结构之间的桥梁。现在的PowerPC970,采用0.13微米SOI工艺制造,其内只有一颗CPU核心,带有512K 芯片内L2 cache。

HP:

HP(惠普)公司自已开发、研制的适用于服务器的RISC芯片——PA-RISC,于1986年问世。目前,HP主要开发64位超标量处理器PA-8000系列。第一款芯片的型号为PA-8000,主频为180MHz,后来陆续推出PA-8200、PA-8500、PA-8600、PA-8700、PA-8800型号。还有一个就是HP的“私生子”Alpha。(Alpha处理器最早由DEC公司设计制造,在Compaq公司收购DEC之后,Alpha处理器继续得到发展,后来又被惠普公司收购)

HP于2002年开始就公布了其两大RISC处理器——PA-RISC和Alpha的发展计划,其中PA-RISC与Alpha处理器至少要发展到2006年,对基于其上的服务器的服务支持将至少持续到2011年。2006年,HP将会推出PA-8900。而对于Alpha的发展,惠普公司于已经于2004年八月份发布了其面向AlphaServer Unix服务器的最后一款处理器产品——EV7z。

SUN:

1987年,SUN和TI公司合作开发了RISC微处理器——SPARC。Sun公司以其性能优秀的工作站闻名,这些工作站的心脏全都是采用Sun公司自己研发的Sparc芯片。SPARC微处理器最突出的特点就是它的可扩展性,这是业界出现的第一款有可扩展性功能的微处理。SPARC的推出为SUN赢得了高端微处理器市场的领先地位。

1999年6月,UltraSPARC III首次亮相。它采用先进的0.18微米工艺制造,全部采用64位结构和VIS指令集,时钟频率从600MHz起,可用于高达1000个处理器协同工作的系统上。UltraSPARC III和Solaris操作系统的应用实现了百分之百的二进制兼容,完全支持客户的软件投资,得到众多的独立软件供应商的支持。

根据Sun公司未来的发展规划,在64位UltraSparc处理器方面,主要有3个系列,首先是可扩展式s系列,主要用于高性能、易扩展的多处理器系统。目前UltraSparc Ⅲs的频率已经达到750GHz。将推出UltraSparc Ⅳs和UltraSparc Ⅴs等型号。其中UltraSparc Ⅳs的频率为1GHz,UltraSparc Ⅴs则为1.5GHz。其次是集成式i系列,它将多种系统功能集成在一个处理器上,为单处理器系统提供了更高的效益。已经推出的UltraSparc Ⅲi的频率达到700GHz,未来的UltraSparc Ⅳi的频率将达到1GHz。最后是嵌入式e系列,为用户提供理想的性能价格比,嵌入式应用包括瘦客户机、电缆调制解调器和网络接口等。Sun公司还将推出主频300、400、500MHz等版本的处理器。

SGI

MIPS技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商,在RISC处理器方面占有重要地位。1984年,MIPS计算机公司成立。1992年,SGI收购了MIPS计算机公司。1998年,MIPS脱离SGI,成为MIPS技术公司。

MIPS公司设计RISC处理器始于二十世纪八十年代初,1986年推出R2000处理器,1988年推R3000处理器,1991年推出第一款64位商用微处器R4000。之后又陆续推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型号。

随后,MIPS公司的战略发生变化,把重点放在嵌入式系统。1999年,MIPS公司发布MIPS32和MIPS64架构标准,为未来MIPS处理器的开发奠定了基础。新的架构集成了所有原来NIPS指令集,并且增加了许多更强大的功能。MIPS公司陆续开发了高性能、低功耗的32位处理器内核(core)MIPS324Kc与高性能64位处理器内核MIPS64 5Kc。2000年,MIPS公司发布了针对MIPS32 4Kc的版本以及64位MIPS 64 20Kc处理器内核。

MIPS技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商。1986年推出R2000处理器,1988年推出R3000处理器,1991年推出第一款64位商用微处理器R4000。之后,又陆续推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型号。1999年,MIPS公司发布MIPS 32和MIPS 64架构标准。2000年,MIPS公司发布了针对MIPS 32 4Kc的新版本以及未来64位MIPS 64 20Kc处理器内核。

一、CISC型CPU其中文意思就是“复杂指令集”,指的是因特尔生产的x86系列的CPU并且也对其他厂商的CPU也兼容。CISC型的CPU是基于PC机的体系结构的,这种CPU的结构通常都是32位的,因此该CPU也被称为IA-32 CPU。CISC类型的CPU目前主要有intel的服务器CPU以及AMD的服务器CPU这两大类。

二、RISC型CPU的中文意思就是“精简指令集”。RISC型CPU是在CISC原有的指令系统的基础上进行发展得到的。在对CISC机进行测试表明,当中一些指令使用的频度存在较大的差异,其中一些较为常见的简单指令,其只占到了指令总数的20%,但是在程序中被使用的频率却达到了80%。使用复杂的指令系统对微处理器的负载型肯定有所增加,促使处理器对研制的时间和成本都有所增加,同时也导致计算机的速度有所降低。

在CISC指令基础上推出的RISC型CPU,不仅对CPU的指令系统进行精简,同时还使用了“超标量和超流水线结构”,这样有效地加快了并行处理能力(并行处理是指在同一台服务器中拥有多个CUP同时进行处理。这种并行处理能够有效地提高服务器对数据的处理能力)。这也就是说,架构在同等频率之下,使用RISC架构的CPU是要比CISC的CPU在性能上要高许多,这也是因为CPU的技术特征所决定的。目前一些中高档的服务器中使用RISC指令系统的CPU较多,特别是在一些高档的服务器采用则是RISC指令系统的CPU。RISC指令系统对高档服务器操作系统UNIX更加适合,目前的Linux也属于类似UNIX的操作系统,美国服务器都是支持Linux系统的。但RISC型CPU与Intel和AMD的CPU在软件和硬件上都不兼容的。

目前,中高档的服务器中使用RISC指令的CPU主要有以下几类:

1、PowerPC处理器

2、SPARC处理器

3、PA-RISC处理器

4、MIPS处理器

5、Alpha处理器

CPU基础 知识大全 详解有哪些? CPU在电脑中是最核心关键的硬件之一,相当于人的大脑,决定了电脑运算能力,因此CPU的选择至关重要。下面就让我带你去看看CPU基础知识大全详解,希望对你有所帮助吧!

程序员必须了解的CPU知识 - 科普篇

1导读

对于一名程序员来说,无论你使用的是什么语言,代码最终都会交给CPU来执行。所以了解CPU相关的知识一方面属于程序员的内功,另一方面也可以帮助你在日常编写代码时写出更加高效的代码

本文不打算对CPU进行深入探究,相反是以简单的语言来帮助大家了解CPU的工作原理以及不得不提到的CPU缓存相关知识,其中晦涩的内容我会通过配图来帮助大家理解,最后会以几个例子来帮助大家更直观的感受到CPU缓存带来的性能影响

2CPU基础知识

CPU即Central Processing Unit(中央处理器),是我们的代码打交道最多的硬件之一,要想让一个CPU工作,就必须给它提供指令和数据,而这里的指令和数据一般就放在我们的内存当中。其中指令就是由我们平常编写的代码翻译而来,数据也是我们代码中需要用到的数据(例如一个int值、一串字符串等等)

以C语言为例,从我们开始编写到运行的生命周期可以粗略的用下图表示:

大致分为以下几个步骤

我们日常中使用编辑器或者IDE敲入代码

代码编写完成后使用编译和链接工具生成可以被执行的程序,也就是机器语言(指令的集合)

当程序被运行时,整个程序(包括指令和数据)会被完整的载入到内存当中

CPU不停的向内存读取该程序的指令执行直到程序结束

通过上述第4步我们知道,CPU自身是没有保存我们的程序的,需要不停的向内存读取

那么有个问题是CPU是如何向内存读取的呢?

这里其实存在一个“总线”的概念,即CPU会通过地址总线、控制总线、数据总线来与我们的内存进行交互。其中地址总线的作用是寻址,即CPU告诉内存需要哪一个内存地址上的数据控制总线的作用是对外部组件的控制,例如CPU希望从内存读取数据则会在控制总线上发一个“读信号”,如果希望往内存中写一个数据则会发一个“写信号”而数据总线的作用顾名思义就是用来传输数据本身的了

例如CPU需要希望从内存中读一条数据,那么整个过程为:

到这里我们已经知道了CPU在执行我们程序的过程中会不断的与内存交互,读取需要的指令和数据或者写入相关的数据。这个过程是非常非常快的,一般CPU与内存交互一次需要200个时钟周期左右,而现代的处理器单个时钟周期一般都短于1纳秒(1秒 = 十亿纳秒)

但我们的前辈们仍然对这个速度不满足,所以又对CPU设计了一套缓存系统来加速对内存中数据的读取

3CPU缓存

现代CPU通常设计三级缓存(L1、L2、L3),其中L1、L2缓存是每个CPU核心独享的,L3缓存是所有CPU核心共享的,而L1缓存又分为数据缓存和指令缓存

我们的数据就从内存先到L3缓存中,再到L2缓存中,再到L1缓存中,最后再到CPU寄存器中

按照大小来看,通常L1 <L2 <L3 <内存 < 磁盘,如果你手边有一台Linu__机器的话,可以通过下面的命令查看CPU各级缓存的大小

以我手上这台服务器为例,L1指令缓存大小为32K、数据缓存大小为32K,L2缓存大小为1MB,L3缓存大小为35.75MB

按照速度来看,通常L1 >L2 >L3 >内存 >磁盘,以时钟周期为计量单位

L1缓存:约 4 个CPU时钟周期

L2缓存:约 10 个CPU时钟周期

L3缓存:约 40 个CPU时钟周期

内存:约 200 个CPU时钟周期

也就意味着如果能命中缓存,我们程序的执行速度至少提升5倍左右,如果能命中L1缓存则提升50倍左右,这已经属于相当大的性能提升了

有了缓存系统后,CPU就不必要每条指令或数据都读一次了,可以一次性读取若干条指令或数据然后放到缓存里供以后查询,因为根据局部性原理,CPU访问内存时,无论是读取指令还是数据,所访问的内存单元都趋于聚集在一个较小的连续区域中,所以一次性读取一块连续的内存有利于后续的缓存命中

现实中,CPU通常情况下每次的读取内存时都会一次性读取内存中连续的64个字节,这个连续的64字节术语就叫做Cache Line(缓存行),所以每一级CPU缓存就像下面这样

如果你手边有一台Linu__机器的话,可以通过下面的命令查看你的机器使用的CPU的Cache Line大小是多少

对于我的服务器来说,L1缓存就有 32KB / 64B = 512 个Cache Line

到这里,我们已经知道了CPU缓存的工作原理和加载方式,这里实际上还遗留了两个话题没有讲,一个是如何组织每一级的 Cache Line(例如 L1 的 512 个Cache Line)来提升访问的命中率另一个更加复杂一点,在现代CPU都是多核的场景下如何保证数据的一致性,因为每个核都有自己的L1和L2缓存,那么如果核心1修改的时候只修改了缓存的数据而没有修改内存中的数据,其他核心读到的就是旧数据了,如何解决这一问题?

由于本篇 文章 只是期望对CPU知识进行一个科普,不希望对于小白来说一次性接触大量的新内容,所以这两个问题我准备在后面的另外两篇再进行更细致的讨论

4性能对比

下面以几个实际的例子来加深大家对Cache Line如何影响程序性能的理解

示例一

我们假设有一个5000万长度的int数组,接着把这个数组的其中一些元素乘以2,考虑下面这两份代码

直觉上代码一比代码二少循环了4倍,并且也少乘2了4倍,理论上代码一比代码二快4倍左右才合理

但在我的服务器上运行的结果是代码一平均花费90毫秒,代码二平均花费93毫秒,性能几乎是差不多的,读者可以自行思考一下原因,再点击下方空白处查看解析

点击下方空白区域查看解析

解析

这里最主要的原因还是Cache Line,虽然代码一需要执行的指令确实比代码二要少4倍,但由于CPU一次会把连续的64个字节都读入缓存,而读写缓存的速度又特别快(还记得吗?L1的读取速度只有约4个时钟周期,是内存的50倍),以至于我们很难察觉到这4倍指令的差距

示例二

假设我们需要遍历一个二维数组,考虑下面这两种遍历 方法 :

由于数组长度是一模一样的,直觉上我们期望的是两份代码运行时间相差无几。但在我的服务器上代码一运行需要23毫秒,代码二运行需要51毫秒,读者可以自行思考一下原因,再点击下方空白处查看解析

点击下方空白区域查看解析

解析

这里最主要的原因依然是Cache Line,由于C语言中二维数组的内存是连续的,所以我们按行访问的时候访问的一直都是连续的内存,而Cache Line也是连续的64个字节,所以按行访问对Cache Line更友好,更容易命中缓存

而按列访问的话每次访问的内存不是连续的,每次的跨度都是256__sizeof(int)也就是1KB,更容易出现缓存Miss

示例三

假设我们有一个数组,我们希望计算所有大于100的元素的和,考虑下面两份代码

其中代码一是随机生成了个长度为1000W的数组,然后统计大于100的所有数字的和代码二也是随机生成了个长度为1000W的数组,但是是先排完序,再统计大于100的所有数字的和。并且可以看到,两份代码都是只计算了统计sum的那段代码的消耗时间,所以两份代码都不考虑随机生成数组和排序花费的时间

理论上来讲两份代码花费时间应当是相差无几的,但实际上在我的机器上跑出来第一份代码输出的是46毫秒,第二份代码输出的是23毫秒

读者可以自行思考一下原因,再点击下方空白处查看解析,提示:第二份代码中在统计sum之前数组是有序的

电脑CPU如何选购? 台式机 CPU知识扫盲和选购建议

CPU有几个重要的参数:架构、主频、核心、线程、缓存、接口。

架构:

有句老话叫“抛开架构看核心主频都是耍流氓”,那什么是架构?假如我们把架构想象成交通工具,那么老的架构就是火车,而新的架构就是高铁,所以架构的提升直接影响CPU的性能。这也就是为什么老式的CPU虽然也有超高的主频但性能还是被现在的i3碾压的原因了。

电脑CPU如何选购?台式机CPU知识扫盲和选购建议

主频:

我们常在CPU的信息里看到 某某CPU主频3.6GHz,这里的主频其实是CPU内核工作的时钟频率,并不直接等于CPU的运算速度,但是高的主频对于CPU的运算速度却至关重要。

核心:

核心又称内核,是CPU用来完成所有计算、接受/存储命令、处理数据等任务的装置。我们可以简单的把核心理解为人的手,单核就是一只手、双核就是两只手、四核就是四只手。

核心数并不是越多越好的,要看使用场景,比如在打字的时候,两只手就比一只手效率高,但是在操作鼠标的时候,使用两只手只会起到适得其反的效果。至于什么场景需要使用多少核心的CPU在下面会讲到。

电脑CPU如何选购?台式机CPU知识扫盲和选购建议

线程:

我们通常会看到“四核四线程” 和“四核八线程”这两种说法,我们可以简单的把工厂里的流水线比作线程,把工人比作核心,早先由于工人工作技能不高,一个工人只能处理一条流水线的任务,我们可以把这个称为单核单线程,但是后来工人技术熟练了,觉得操作一条流水线很无聊,不能体现自己的价值,于是就给又分配一条流水线,让这个工人同时处理两条流水线的任务,我们可以把这个称为“单核双线程”。

缓存:

缓存也是CPU里的一项非常重要的参数,由于CPU的运算速度比内存条的读写速度要快很多,这会让CPU花费很长的时间等待数据的到来或是把数据写入内存条,这个时候CPU内的高速缓存可以作为临时的存储介质来缓解CPU的运算速度与内存读写速度不匹配的矛盾,所以缓存越大越好。

电脑CPU如何选购?台式机CPU知识扫盲和选购建议

接口:

CPU需要通过接口安装在主板上才能工作,而目前CPU的接口都是针脚式接口,AMD和英特尔的CPU在接口上就有很大的差别,所以需要使用适配接口的主板才能正常工作。目前英特尔主流的接口类型为LGA-1151接口(6、7、8代i3 i5 i7都是这种接口)AMD平台主流的接口类型有AM4接口(锐龙系列)和FM2+接口(速龙系列、APU系列)。

PS:英特尔最新的酷睿8代CPU虽然也是LGA-1151接口,但不适配老式的LGA-1151接口主板的平台,需要另购主板

说完了这些重要的参数,相信你也对CPU有了一个大概的了解,我们再谈谈不同场景对CPU的选择。

计算机系统基础:CPU相关知识笔记

1、什么是CPU

计算机的基本硬件系统由运算器、控制器、存储器、输入设备、输出设备5大部件组成。

运算器和控制器等部件被集成在一起称为中央处理单元(Central Processing Unit,CPU).CPU

是硬件系统的核心。

2、CPU的用途

CPU主要负责获取程序指令、对指令进行译码并加以执行。

CPU的功能如下:

3、CPU的组成

CPU主要由运算器、控制器、寄存器和内部总线等部件组成。

3.1 运算器

运算器包括算术逻辑单元(ALU)、累加器、缓冲寄存器、状态条件寄存器等。它的主要工作是完成所规定的的各种算术和逻辑运算。

算术逻辑单元(ALU):ALU的重要组成部件,负责处理数据,实现算术和逻辑运算。

累加器(AC):当执行算术或逻辑运算时,为ALU提供一个工作区。

数据缓冲器(DR):作为CPU和内存、外部设备之间数据传送的中转站、操作速度的缓冲

在单累加器结构的运算器中,DR还可以作为操作数寄存器。

状态寄存器(PSW):保存算术指令和逻辑指令运行或测试的结果建立的的各种条件码内容,分为状态标志和控制标志。

3.2 控制器

用于控制这个CPU的工作,不仅要保证程序的正确执行,还要能处理异常事件。

控制器主要包括指令控制逻辑、时序控制逻辑、总线控制逻辑、中断控制逻辑。

3.2.1 指令控制

指令寄存器(IR):当执行一条指令时,需要先把它从内存存储器取到缓冲寄存器中,再送入IR中暂存,指令译码器会根据IR的内容产生各种微操作命令,控制其他部件协调工作,完成指令的功能。

程序计数器(PC):PC具有寄存和计数两种功能。又称为指令计数器。

地址寄存器(AR):用来保存当前CPU所访问的内存单元地址。

指令译码器(ID):包含指令操作码和地址码两部分,为了能执行任何给定的指令必须对操作码进行分析,以便识别要进行的操作。

3.2.2 时序控制

时序控制要为每条指令按时间顺序提供应有的控制信号。

3.2.3 总线控制

为多个功能部件提供服务的信息通路的控制电路。

3.2.4 中断控制

用于控制各种中断请求,并根据优先级排队,逐个交给CPU处理。

3.3 寄存器组

分为专用寄存器、通用寄存器。运算器和控制器中的寄存器是专用寄存器,作用是固定的。

通用寄存器用途广泛由程序员规定其用途。

4、什么是多核CPU

内核:CPU的核心称为内核,是CPU的最重要组成部分。CPU的所有计算、接收/存储命令、处理数据都是由核心执行。

多核:在一个单芯片上集成两个或者更多个处理器内核,并且每个内核都有自己的逻辑单元、控制单元、中端处理器、运算单元、一级Cache、二级Cache共享或独有。

多核CPU优点:可满足用户同时进行多任务处理等要求。

CPU基础知识大全详解相关文章:

★ CPU的基础知识大全有哪些

★ CPU基础知识拓展大全

★ 电脑主板应用知识大全


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/800878.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-28
下一篇2023-08-28

发表评论

登录后才能评论

评论列表(0条)

    保存