最新cpu知识全面讲解(cpu知识普及)
今天为大家介绍的内容是cpu知识最新全面讲解(cpu知识科普)下面跟着小编看看详细内容吧。
CPU是中央处理器的缩写。 CPU一般由逻辑运算单元、控制单元和存储单元组成。逻辑运算控制单元包括一些寄存器,这些寄存器用于CPU处理数据时临时存储数据。大家需要深入了解的CPU指标/参数主要有:
1、主频。
主频也称为时钟频率,单位是MHz,用来表示CPU的运算速度。 CPU主频=外频倍频系数。很多人认为主频决定了CPU的运行速度。这不仅是片面的,而且对于服务器来说,这种认识也是有偏差的。到目前为止,还没有一个明确的公式可以实现主频率与实际运算速度之间的数值关系。就连两大处理器厂商英特尔和AMD在这一点上也存在很大争议。我们从Intel的产品发展趋势来看,可以看出Intel非常重视加强自家主频的开发。与其他处理器制造商一样,曾经有人将其与1G Transmeta 处理器进行比较。其运行效率相当于2G Intel处理器。
因此CPU的主频与CPU的实际运算能力并没有直接关系。主频率表示CPU中数字脉冲信号振荡的速度。我们还可以在英特尔的处理器产品中看到这样的例子:1 GHz Itanium 芯片的运行速度几乎与2.66 GHz Xeon/Opteron 一样快,或者1.5 GHz Itanium 2 大约与4 GHz Xeon/Opteron 一样快。 CPU的运算速度还取决于CPU的流水线各方面的性能指标。
当然,主频与实际运算速度有关。只能说主频只是CPU性能的一方面,并不代表CPU的整体性能。
英特尔奔腾D 820
2.外部频率。
FSB是CPU的基础频率,其单位也是MHz。 CPU的外频决定了整个主板的运行速度。说白了,在台式电脑中,我们所说的超频,就是指对CPU的外频进行超频(当然,正常情况下,CPU倍频是锁定的)。我相信这一点很好理解。但对于服务器CPU来说,超频是绝对不允许的。前面说过,CPU决定了主板的运行速度。两者同步运行。如果服务器CPU超频并且改变外频,就会发生异步操作。 (很多桌面主板都支持异步操作。)这会导致整个服务器异步运行。系统不稳定。
在当前大多数计算机系统中,外频也是内存和主板之间的同步运行速度。这样就可以理解为CPU的外频直接与内存相连,实现了两者的同步运行状态。外频和外频很容易混淆。下面我们就FSB介绍来谈谈两者的区别。
3. 前端总线(FSB) 频率。
前端总线(FSB)频率(即总线频率)直接影响CPU和内存之间直接数据交换的速度。有一个公式可以计算出来,即数据带宽=(总线频率数据带宽)/8。数据传输的最大带宽取决于同时传输的所有数据的宽度和传输频率。例如,目前支持64位的Xeon Nocona,前端总线为800MHz。根据公式计算,其最大数据传输带宽为6.4GB/秒。
外频与外频的区别:外频的速度是指数据传输的速度,外频是CPU与主板之间同步运算的速度。也就是说,100MHz外频特指每秒振荡一千万次的数字脉冲信号;而100MHz前端总线是指CPU每秒可以接受的数据传输量,即100MHz64bitpide; 8字节/位=800MB/秒。
事实上,“HyperTransport”架构的出现改变了实际的前端总线(FSB)频率。之前我们知道IA-32架构必须具备三个重要组件:内存控制器集线器(MCH)、I/O控制器集线器和PCI集线器,比如Intel典型的芯片组Intel 7501和Intel7505芯片组,都是双Xeon。处理器是量身定制的。它们包含的MCH为CPU提供了533MHz的前端总线频率。采用DDR内存,前端总线带宽可达4.3GB/秒。然而,随着处理器性能的不断提升,也给系统架构带来了很多问题。 “HyperTransport”架构不仅解决了问题,还更有效地提高了总线带宽,例如AMD Opteron处理器。灵活的HyperTransport I/O总线架构使其能够集成内存控制器,从而使处理器不通过系统总线传输数据。芯片组直接与内存交换数据。说到这里,我不知道从哪里开始谈论AMD Opteron 处理器中的前端总线(FSB) 频率。
4. CPU 位和字长。
位:二进制用于数字电路和计算机技术,编码只有“0”和“1”。 “0”或“1”在CPU中都是“位”。
字长:在计算机技术中,CPU在单位时间内(同时)一次能够处理的二进制位数称为字长。因此,能够处理字长为8位数据的CPU通常称为8位CPU。同理,32位CPU单位时间内可以处理字长为32位的二进制数据。字节和字长的区别:由于常用的英文字符可以用8位二进制来表示,因此8位通常称为一个字节。字长的长度不是固定的,对于不同的CPU,字长的长度是不同的。 8位CPU一次只能处理1个字节,而32位CPU一次可以处理4个字节。同样,64位CPU一次可以处理8个字节。
AMD AM2 速龙64
5、倍频系数。
倍频系数是指CPU主频与外频之间的相对比例关系。相同外频下,倍频越高,CPU主频越高。但实际上,在外频相同的前提下,高倍频的CPU本身意义不大。这是因为CPU和系统之间的数据传输速度是有限的。一味追求高倍频、获得高主频的CPU会产生明显的“瓶颈”效应——CPU从系统获取数据的最高速度无法满足CPU的运算要求。速度。一般来说,除了工程样片外,Intel的CPU都是锁倍频的,但AMD之前没有锁过。
6.缓存。
缓存大小也是CPU的重要指标之一,缓存的结构和大小对CPU的速度影响很大。 CPU中的缓存运行频率非常高,一般与处理器运行在同一频率,其工作效率远大于系统内存和硬盘。在实际工作中,CPU经常需要重复读取同一个数据块,而缓存容量的增加可以大大提高CPU内部读取数据的命中率,而不必在内存或硬盘中查找,从而提高系统性能表现。但由于CPU芯片面积和成本等因素,缓存很小。
L1 Cache(一级缓存)是CPU的第一级缓存,分为数据缓存和指令缓存。内置L1缓存的容量和结构对CPU的性能影响较大。然而,高速缓冲存储器由静态RAM组成并且结构复杂。当CPU die面积不能太大时,L1缓存的容量就不够了。可能是做得太大了。一般服务器CPU的L1缓存容量通常为32-256KB。
L2 Cache(二级缓存)是CPU的二级缓存,分为芯片内部和外部。内部片上二级缓存以与主频相同的速度运行,而外部二级缓存仅以主频的一半运行。二级缓存容量也会影响CPU的性能。原则是越大越好。目前家用CPU最大容量为512KB,而服务器和工作站上CPU的二级缓存高达256-1MB,有的高达2MB或3MB。
L3 Cache(三级缓存)分为两种。早期的是外置的,现在的是内置的。其实际效果是,L3缓存的应用可以在计算大量数据时进一步减少内存延迟,提高处理器性能。减少内存延迟、提高大数据计算能力对于游戏来说是有帮助的。在服务器领域,添加L3缓存在性能上还是有明显的提升。例如,具有较大L3 缓存的配置将更有效地使用物理内存,因此它可以比较慢的磁盘I/O 子系统处理更多的数据请求。具有较大L3 缓存的处理器可提供更高效的文件系统缓存行为以及更短的消息和处理器队列长度。
事实上,最早的L3缓存应用在AMD发布的K6-III处理器上。当时的L3缓存受到制造工艺的限制,没有集成到芯片中,而是集成在主板上。三级缓存只能与系统总线频率同步,实际上与主存没有太大区别。后来,L3缓存被Intel的安腾处理器用于服务器市场。然后是P4EE 和Xeon MP。英特尔还计划推出具有9MB L3缓存的Itanium2处理器,稍后将推出具有24MB L3缓存的双核Itanium2处理器。
但基本上L3缓存对于处理器性能的提升并不是很重要。例如,配备1MB L3缓存的Xeon MP处理器仍然不是Opteron的对手。可见前端总线的增加比缓存的增加更有效。性能改进。
7.CPU扩展指令集。
CPU依靠指令来计算和控制系统。每个CPU都设计有一系列与其硬件电路相匹配的指令系统。指令的强弱也是CPU的一个重要指标。指令集是提高微处理器效率最有效的工具之一。从目前主流架构来看,指令集可以分为两部分:复杂指令集和简化指令集。从具体应用来看,如Intel的MMX(多媒体扩展)、SSE、SSE2(Streaming-单指令多数据-扩展2)、SEE3以及AMD的3DNow!都是CPU的扩展指令集,分别增强了CPU的多媒体、图形和互联网处理能力。我们通常将CPU的扩展指令集称为“CPU指令集”。 SSE3指令集也是目前最小的指令集。此前,MMX 包含57 个命令,SSE 包含50 个命令,SSE2 包含144 个命令,SSE3 包含13 个命令。目前,SSE3也是最先进的指令集。 Intel Prescott 处理器已经支持SSE3 指令集。 AMD将为未来的双核处理器添加对SSE3指令集的支持。 Transmeta 处理器也将支持该指令集。
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制造工艺。
10.指令集。
(1)CISC指令集
CISC指令集,又称复杂指令集,英文名称为CISC,(ComplexInstructionSetComputer的缩写)。在CISC微处理器中,程序的每条指令都是按顺序串行执行的,每条指令中的操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。其实就是Intel生产的x86系列(即IA-32架构)CPU及其兼容CPU,如AMD、VIA等。甚至新的X86-64(也称为AMD64)也属于CISC的范畴。
要知道什么是指令集,我们还得从今天的X86架构CPU说起。 X86指令集是Intel为其首款16位CPU(i8086)专门开发的。 IBM于1981年推出的世界上第一台PC机——i8088(i8086的简化版)中的CPU也采用了X86指令。同时,计算机加入了X87芯片,提高浮点数据处理能力。今后X86指令集和X87指令集统称为X86指令集。
虽然随着CPU技术的不断发展,Intel陆续开发出更新的i80386、i80486,一直到过去的PII Xeon、PIII Xeon、Pentium 3,最后到今天的Pentium 4系列、Xeon(不包括Xeon Nocona),但为了为了确保计算机能够继续运行过去开发的各种应用程序以保护和继承丰富的软件资源,Intel生产的所有CPU都继续使用X86指令集,因此它的CPU仍然属于X86系列。由于Intel X86系列及其兼容CPU(如AMD Athlon MP等)均采用X86指令集,所以形成了如今庞大的X86系列及其兼容CPU阵容。 x86CPU目前主要包括Intel服务器CPU和AMD服务器CPU。
(2)RISC指令集
RISC是英文“ReducedInstructionSetComputing”的缩写,中文意思是“精简指令集”。它是在CISC指令系统的基础上开发的。有人测试CISC机器,发现各种指令的使用频率差异较大。最常用的指令是一些比较简单的指令,仅占指令总数的20%。但在节目中出现的频率却占了80%。复杂的指令系统必然会增加微处理器的复杂性,使得处理器的开发周期长、成本高。而复杂的指令需要复杂的运算,这必然会降低计算机的速度。基于以上原因,RISC CPU于20世纪80年代诞生。与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(显式并行指令计算机)是否是RISC 和CISC 系统的继承者,存在很多争论。单就EPIC系统而言,它更像是Intel处理器向RISC系统迈进的重要一步。理论上,在相同主机配置下,EPIC系统设计的CPU可以比基于Unix的应用软件更好地处理Windows应用软件。
Intel采用EPIC技术的服务器CPU是Itanium(开发代号:Merced)。它是64 位处理器,也是IA-64 系列中的首款处理器。微软还开发了代号为Win64的操作系统,并在软件上对其进行支持。 Intel采用该集后,于是使用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处理器的32位寻址空间仅限于4GB内存,而IA-64处理器与x86不兼容。 AMD充分考虑客户的需求,增强了x86指令集的功能,使该指令集可以同时支持64位计算模式。因此,AMD将其结构称为x86-64。从技术上来说,为了在x86-64架构中执行64位操作,AMD推出了新的R8-R15通用寄存器,作为原来使用这些寄存器的扩展。原来的EAX、EBX等寄存器也从32位扩展到了64位。 SSE 单元中添加了8 个新寄存器以提供对SSE2 的支持。寄存器数量的增加将带来性能的提升。同时,为了同时支持32位和64位代码和寄存器,x86-64架构允许处理器工作在以下两种模式:Long Mode(长模式)和Legacy Mode(遗传模式)。 Long模式分为两个子模式:Mode(64bit模式和Compatibility模式)。该标准已在AMD 的Opteron 服务器处理器中引入。
今年还推出了支持64位的EM64T技术。在正式命名为EM64T之前,它是IA32E。这是Intel为了区分X86指令集而采用的64位扩展技术的名称。 Intel的EM64T支持64位子模式,这与AMD的X86-64技术类似。它采用64位线性平面寻址,增加了8个新的通用寄存器(GPR),并增加了8个寄存器来支持SSE指令。与AMD类似,英特尔的64位技术将兼容IA32和IA32E。 IA32E 仅在运行64 位操作系统时使用。 IA32E将由2个子模式组成:64位子模式和32位子模式,向后兼容AMD64。 Intel的EM64T将与AMD的X86-64技术完全兼容。现在Nocona处理器加入了一些64位技术,Intel的Pentium 4E处理器也支持64位技术。
应该说,两者都是兼容x86指令集的64位微处理器架构,但是EM64T和AMD64还是有一些区别的。 AMD64 处理器中的NX 位在Intel 处理器中不会提供。
11. 超级流水线和超标量。
在解释超管道和超标量之前,我们先来了解一下管道。该流水线最早由Intel在486芯片中使用。装配线的工作原理类似于工业生产中的装配线。在CPU中,一条指令处理流水线是由5-6个不同功能的电路单元组成,然后一条X86指令被分成5-6步,然后分别由这些电路单元执行,从而可以一次完成一条指令CPU时钟周期。从而提高CPU的运算速度。经典Pentium的每条整数流水线分为四级流水线,分别是指令预取、译码、执行、写回结果。浮点流水线分为八级流水线。
超标量使用内置的多个管道同时执行多个处理器。其本质是用空间换取时间。超级流水线是通过细化流水线、提高主频,在一个机器周期内完成一项或多项操作。其本质是用时间换取空间。例如,Pentium 4的流水线长达20级。流水线的步骤(阶段)设计得越长,完成一条指令的速度就越快,因此可以适应更高工作频率的CPU。但过长的管道也会带来一定的副作用。主频越高的CPU,其实际运算速度很可能会越低。 Intel的Pentium 4就是这样,虽然它的主频可以高达1.4G以上。但其计算性能却远远不如AMD的1.2G Athlon甚至Pentium III。
12. 包装形式。
CPU封装是采用特定材料将CPU芯片或CPU模块固化在其中,防止损坏的一种保护措施。一般来说,CPU必须经过包装才能交付给用户。 CPU的封装方式取决于CPU的安装形式和器件集成设计。从大的分类来看,通常采用Socket插槽安装的CPU均采用PGA(网格阵列)形式封装,而采用Slot x插槽安装的CPU则全部采用SEC(单面接线盒)形式的封装。还有PLGA(塑料焊盘栅格阵列)和OLGA(有机焊盘栅格阵列)等封装技术。由于市场竞争日益激烈,目前CPU封装技术的发展方向主要是节省成本。
13.多线程。
同时多线程,简称SMT。 SMT可以复制处理器上的结构状态,允许同一处理器上的多个线程同时执行并共享处理器的执行资源。它可以最大限度地提高广泛问题、无序超标量处理并改进处理器操作。组件利用率,减轻由数据依赖性或缓存未命中引起的内存访问延迟。当多线程不可用时,SMT处理器几乎与传统的宽问题超标量处理器相同。 SMT最吸引人的地方在于它只需要对处理器内核的设计进行很小的改变,就可以在几乎不需要额外成本的情况下显着提高性能。多线程技术可以为高速计算核心准备更多的数据进行处理,减少计算核心的空闲时间。这对于低端桌面系统来说无疑是非常有吸引力的。从3.06GHz Pentium 4开始,所有Intel处理器都将支持SMT技术。
14.多核。
多核也指芯片多处理器(简称CMP)。 CMP是由美国斯坦福大学提出的。其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片中,每个处理器并行执行不同的进程。与CMP相比,SMT处理器结构的灵活性更加突出。然而,当半导体工艺进入0.18微米时,线延迟已经超过了门延迟,要求微处理器的设计必须通过划分许多规模更小、局部性更好的基本单元结构来进行。相比之下,CMP结构由于划分了多个处理器核心进行设计,每个核心都比较简单,有利于优化设计,因而更具有发展前景。目前IBM的Power 4芯片和Sun的MAJC5200芯片均采用CMP结构。多核处理器可以共享处理器内部的缓存,提高缓存利用率,简化多处理器系统设计的复杂度。
2005年下半年,Intel和AMD的新处理器也将集成到CMP结构中。新安腾处理器的开发代号是Montecito。它采用双核设计,拥有至少18MB的片上缓存,采用90nm工艺制造。它的设计对于当今的芯片行业来说绝对是一个挑战。每个核心都有独立的L1、L2 和L3 缓存,并包含大约10 亿个晶体管。
15.SMP。
SMP(Symmetric Multi-Processing),对称多处理结构的缩写,是指在一台计算机上组装了一组处理器(多个CPU),CPU之间共享内存子系统和总线结构。在该技术的支持下,服务器系统可以同时运行多个处理器并共享内存和其他主机资源。像双Xeon,也就是我们所说的两路,这是对称处理器系统中最常见的类型(Xeon MP最多可以支持四路,AMD Opteron可以支持1-8路)。也有少数是16号的。但一般来说,SMP结构的机器扩展性较差,很难做到100个以上的多处理器。常规的一般是8到16个,但这对于大多数用户来说已经足够了。它最常见于高性能服务器和工作站级主板架构,例如可支持多达256 个CPU 的系统的UNIX 服务器。
构建SMP系统的必要条件是:支持SMP的硬件,包括主板和CPU;支持SMP的系统平台和支持SMP的应用软件。
为了使SMP系统能够高效地执行,操作系统必须支持SMP系统,例如WINNT、LINUX、UNIX等32位操作系统。即执行多任务和多线程的能力。多任务是指操作系统可以让不同的CPU同时完成不同的任务;多线程是指操作系统可以让不同的CPU并行地完成同一个任务。
要构建SMP系统,对所选CPU有很高的要求。首先,CPU内部必须内置APIC(高级可编程中断控制器)单元。英特尔多处理规范的核心是高级可编程中断控制器(APIC)的使用;再次,相同的产品型号、相同类型的CPU核心、完全相同的工作频率;最后,尽可能保持产品序列号相同,因为当两批生产的CPU作为双处理器运行时,可能会出现一个CPU过载而另一个CPU负载很少的情况,无法发挥最大性能,甚至更糟。否则可能会导致崩溃。
16.NUMA技术。
NUMA是非均匀访问的分布式共享存储技术。它是由多个独立节点通过高速专用网络连接而成的系统。每个节点可以是单CPU 或SMP 系统。在NUMA中,Cache一致性的解决方案有多种,需要操作系统和专用软件的支持。图2 是Sequent 的NUMA 系统的示例。这里有
3个SMP模块用高速专用网络联起来,组成一个节点,每个节点可以有12个CPU。像Sequent的系统最多可以达到64个CPU甚至256个CPU。显然,这是在SMP的基础上,再用NUMA的技术加以扩展,是这两种技术的结合。 17、乱序执行技术。 乱序执行(out-of-orderexecution),是指CPU允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。这样将根据个电路单元的状态和各指令能否提前执行的具体情况分析后,将能提前执行的指令立即发送给相应电路单元执行,在这期间不按规定顺序执行指令,然后由重新排列单元将各执行单元结果按指令顺序重新排列。采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并相应提高了CPU的运行程序的速度。分枝技术:(branch)指令进行运算时需要等待结果,一般无条件分枝只需要按指令顺序执行,而条件分枝必须根据处理后的结果,再决定是否按原先顺序进行。 18、CPU内部的内存控制器。 许多应用程序拥有更为复杂的读取模式(几乎是随机地,特别是当cache hit不可预测的时候),并且没有有效地利用带宽。典型的这类应用程序就是业务处理软件,即使拥有如乱序执行(out of order execution)这样的CPU特性,也会受内存延迟的限制。这样CPU必须得等到运算所需数据被除数装载完成才能执行指令(无论这些数据来自CPU cache还是主内存系统)。当前低段系统的内存延迟大约是120-150ns,而CPU速度则达到了3GHz以上,一次单独的内存请求可能会浪费200-300次CPU循环。即使在缓存命中率(cache hit rate)达到99%的情况下,CPU也可能会花50%的时间来等待内存请求的结束- 比如因为内存延迟的缘故。本文由91培训发布,不代表东辰网立场,转载联系作者并注明出处:https://www.ktwxcd.com/shzs/334026.html