首页 理论教育 CPU概述:内部结构和Cache介绍

CPU概述:内部结构和Cache介绍

时间:2024-03-05 理论教育 版权反馈
【摘要】:第一节CPU概述CPU由运算器和控制器组成,它的内部结构可分为逻辑运算单元、控制单元和存储单元三个部分。Cache又被称为“缓存”,这是一种速度比内存更快的存储设备,用于存放CPU常用的指令及相应数据。目前计算机内部有两种Cache,一般都是按距离CPU核心的层数来划分的,即分为L1 Cache和L2 Cache。

CPU概述:内部结构和Cache介绍

第一节 CPU概述

CPU由运算器和控制器组成,它的内部结构可分为逻辑运算单元、控制单元和存储单元三个部分。这三个部分互相协调,进行分析、判断、运算并控制计算机各个部分协调工作。

CPU中的运算器主要用来完成各种算术运算(比如加、减、乘、除)和逻辑运算(逻辑加、逻辑乘和逻辑非运算);控制器主要用来读取各种指令,并对指令进行分析,做出相应的控制。此外,在CPU中还有若干个寄存器,它是CPU内部的临时存储单元。

总的来说,CPU具有三个基本功能:读数据、处理数据和写数据(即将数据写到存储器中)。它是计算机中不可缺少的重要部分,所以人们把CPU形象地比喻为电脑的心脏。

一、CPU主要性能指标

CPU的性能主要由以下因素决定:内部运算结构、字长处理、存取能力及工作时钟频率。处理器的快慢还与主板外围设备的配合等很多因素有关。

1.时钟频率

时钟频率是CPU在单位时间(1秒)内发出的脉冲数,以兆赫(MHz)为单位。时钟频率越高,运算速度就越快。第一代PC机(即PC/XT)的时钟频率只有4.77MHz,而当前普通的Pentium III CPU的时钟频率可以达到550MHz。

时钟频率可分为内部时钟频率和外部时钟频率(总线时钟频率)。内部时钟频率表示CPU内部的数据传输速度;外部时钟频率则表示CPU与外部的数据传输速度。

由于CPU运行时必须配合内存读取数据,因此在速度上必须与内存相一致。早期CPU的内部时钟频率与外部时钟频率是一致的,所以并无内外频率的差异。由于CPU的发展速度太快,而内存的速度却没有发展得那么顺利,如今它的速度远不如CPU。这样就使得CPU的工作速度与外部设备无法相一致。于是就出现了倍频技术,使得CPU的内部时钟频率和外部时钟频率可以不一致。所谓倍频技术就是指在外部频率既定的情况下,通过一个叫做“倍频系数”的协调,使得内外部频率相一致。

例如,CPU的内部时钟频率为300MHz时,外部设备的时钟频率只有100MHz,采用3倍频技术后,便可以使内部时钟频率与外部时钟频率相一致了。当然,此时就算使用了一个时钟频率为500MHz的CPU,在外频为100MHz且倍频系数为3时,CPU也只能工作在300MHz的速度下。

由此可知,CPU真正运行时的频率应该符合以下公式:

CPU实际时钟频率(主频)=外频×倍频系数

2.数据总线宽度

数据总线宽度是CPU可以同时传输的数据位数。位数越多,速度就越快,则CPU性能就越好。数据总线宽度已由最初的8位发展到了目前的64位。

3.地址总线宽度

地址总线宽度决定了CPU可以直接寻址的内存空间大小,位数越大,则可以直接寻址空间就越大。例如,32位地址总线,可能直接寻址4 GB的内存空间。地址总线宽度也已由最初的8位发展到现在的64位。

4.CPU供电电压

当前各种Pentium CPU的工作电压也不尽相同。由于电压越高,消耗电量就越多,因而散发出的热量就越大。如果CPU或机箱内部散热不良,发生死机的现象是在所难免的。因此各CPU厂商都努力将CPU的工作电压逐渐降低,以达到省电、快速和稳定的目的。

CPU的供电电压分为5V,4V,3.xV(3.6V,3.45V,3.3V等),2.xV(2.9V,2.8V,2.7V,2.5V,2.2V等)四个系列。而最新的CPU可以在1.9V的电压下工作。早期的PC286,386的CPU都是工作在5V电压下的;PC486的CPU电压则既有5V的,也有3.xV的;而Pentium CPU基本都工作在3.3V或以下的电压模式。

5.Cache

在解决日益加快的CPU与速度总是滞后的内存之间的矛盾问题中,Cache扮演了一个非常重要的角色。Cache又被称为“缓存”,这是一种速度比内存更快的存储设备,用于存放CPU常用的指令及相应数据。这样CPU运行时就不会因为等待“慢吞吞”的内存将数据送过来,而造成整体运行效率下降。从486开始,Cache便伴随着CPU工作,到了今天,Cache的有无及其性能已成为计算机整体运行效率不可缺少的重要技术指标。

在CPU工作时,首先到Cache中寻找相应的数据,如找到则直接从Cache中将数据取回;若没有找到,就需要到内存中去取数据。所以,CPU到Cache中找到数据的几率对CPU的工作速度同样有影响。当然,这个几率越大越好,一般CPU刚用过的数据若再使用时,到Cache中找到的几率就大。因此在内存将数据送到CPU时,通常都会在Cache中复制一份,准备下次再用。当然,各CPU厂商会不断地研究更好的策略来提高CPU到Cache中找到数据的几率。

目前计算机内部有两种Cache,一般都是按距离CPU核心的层数来划分的,即分为L1 Cache(一级缓存)和L2 Cache(二级缓存)。L1 Cache作为CPU内部指令集的缓存区,一般都安排在CPU芯片内,而L2 Cache则是CPU与内存之间的缓存区,一般都安排在主板上,也有少数的CPU将L2 Cache集成在CPU内核中。

但需要注意的是,如K6-3的CPU内部已集成了L1 Cache和L2 Cache,那么此时若主板上也有L2 Cache时,就应该叫做L3 Cache。

理论上Cache越大,对CPU工作就越有帮助,但实际上超过一定数量和容量之后,Cache的影响力就会相对缩小。所以,各种不同的CPU中所内含的L1 Cache大小也不尽相同。

6.超线程(Hyper Treading)技术

超线程(Hyper Treading)技术是由Intel公司应用在新型P4处理器上的一项创新技术,它的实现原理是在单个P4处理器上配置双逻辑处理器,让多线程软件在操作系统平台上并行处理多任务,并提高处理器执行资源的利用率。通过使用这项技术,处理器的资源利用率平均可提升40%左右,大大增加处理器的可用性能。

7.制造工艺

制造工艺指芯片内最基本的功能门电路间连线的宽度,一般用µm(微米)表示。数值越小,制作工艺越先进,相同核心设计的CPU可达到的频率就越高,单位面积内集成的晶体管也更多,有助于减少CPU的功耗和提高频率极限。

目前,CPU都能达到0.13µm的制造工艺,Intel公司的Prescott核心P4已达到0.09µm(90nm)的制造工艺。

二、CPU中的指令集

近年来,在CPU新技术发展中,最引人瞩目的就是指令集的不断推陈出新。为增强计算机在多媒体、3D图像等方面的应用能力而产生了MMX,3Dnow!,SSE等新指令集。

1.MMX技术(www.xing528.com)

MMX技术一次能处理多个数据,计算机的多媒体处理,通常是指动画再生、图像加工、声音合成等处理。

在多媒体处理中,对于连续的数据必须进行多次反复的相同处理。利用传统的指令集,无论是多小的数据,一次也只能处理一个数据,因此耗费时间较长。为了解决这一问题,在MMX中采用了SIMD(单指令多数据技术),可对一条命令多个数据进行同时处理,它可以一次处理64bit任意分割的数据,数据可按最大值取齐。

MMX的另一个特征是在计算结果超过实际处理能力的时候也能进行正常处理。若用传统的x86指令,计算结果一旦超出了CPU处理数据的限度,数据就要被截掉,而化成较小的数。而MMX利用所谓“饱和(Saturation)”功能,圆满地解决了这个问题。计算结果一旦超过了数据大小的限度,就能在可处理范围内自动变换成最大值。

2.3Dnow!技术

AMD在K6-2中一炮打响的3Dnow!技术实际上是指一组机器码级的扩展指令集(共21条指令)。这些指令仍然以SIMD(单指令多数据技术)的方式实现一些浮点运算、整数运算、数据预取等功能。而这些运算类型(尤其是浮点运算)是从成百上千种运算类型中精选出来的3D处理中最常用的。

3Dnow!似乎与MMX同出一辙,但是二者的用途不完全相同。MMX侧重于整数运算,因而主要针对图形描绘、数据压缩与解压缩、音频处理等应用场合,而3Dnow!侧重的是浮点运算,因而主要针对三维建模、坐标变换、效果渲染等三维应用场合。3Dnow!指令不仅以SIMD方式运行,而且可在两个暂存器的执行通道内以一个时钟周期同时执行两个3Dnow!指令的方式运行,即每个时钟周期可执行四个浮点运算,这就是AMD K6-2能大幅度提高3D处理性能的原因。

3.SSE指令

面对AMD 3Dnow!技术的挑战,Intel在Pentium III处理器中添加了70条新的SSE(KNI)指令,以增强三维和浮点运算能力,并让原来支持MMX的软件运行得更快。SSE指令可以兼容以前的所有的MMX指令,新指令还包括浮点数据类型的SIMD,CPU会并行处理指令,因而在软件重复做某项工作时可以发挥很大的优势。

与之相比,MMX所提供的SIMD仅对整数类型有效。众所周知,三维应用与浮点运算的关系很密切,强化了浮点运算即加快了三维处理能力,在进行变换3D坐标(特别是同时变换几个)工作时,SIMD会在一秒钟内做出更多的操作,所以利用SIMD浮点指令将得到更高的性能,它能进一步加强对场景做渲染、实时影子效果、倒映之类的工作。对于用户来说,这意味着3D物体更生动,表面更光滑,“虚拟现实”更“现实”。

SSE指令可以说是将Intel的MMX和AMD的3Dnow!技术相结合的产物,由于3Dnow!使用的是浮点寄存方式,因而无法较好地同步进行正常的浮点运算。而SSE使用了分离的指令寄存器,从而可以全速运行,保证了与浮点运算的并行性。尤其是两者所使用的寄存器差异颇大——3Dnow!是64位,而SSE是128位。

此外Pentium III处理器还有一个新的特性——“内存流”,它和3Dnow!的Prefetch指令十分相似,作用是在数据被使用之前把它们上传到L1 Cache。不同之处在于它可以选择从所有Cache中取得缓存数据,不只是从L2 Cache中取得缓存数据,因此SSE将比3Dnow!更快。

3Dnow!和SSE虽然彼此并不兼容,但它们却很相似。究其实质,都试图通过SIMD技术来提高CPU的浮点运算能力;它们都支持在一个时钟周期内同时对多个浮点数据进行处理;都有支持如像MPEG解码之类专用运算的多媒体指令。

三、CPU的接口类型

CPU的接口类型是指CPU在封装时根据需要采取的接口形式。目前CPU都采用针脚式接口与主板相连,而不同接口的CPU在针脚数上各不相同。CPU接口类型的命名一般用针脚数来表示,比如,Socket 478,Socket A,Socket 939,Socket 754等。

(1)Socket 478:Socket 478接口类型适用于主流的Intel公司的CPU,包括Northwood核心的P4系列和Celeron 4,以及新型的P4EE系列。

(2)Socket A:Socket A(即Socket 462)接口全面兼容AMD公司的Athlon XP CPU和新Duron CPU,如图2.1.1所示。

图2.1.1 Socket A

(3)LGA 775:Intel 925X/915系列芯片组采用Socket 775插座(也称为Socket T)。与Socket 478相比,Socket 755插座面积更大,并且采用了复杂的金属扣具,如图2.1.2所示。Socket 775插座内布满了775根小小的触针,通过这些有弹性(但非常容易折断)的触针来达到与CPU底部触点接触的目的。由于Socket LGA 775处理器没有针脚,所以大大增加了主板厂商的生产难度和成本。

图2.1.2 LGA 775处理器插槽

(4)Socket 754:Socket 754接口类型目前只支持AMD的Athlon 64 CPU。不兼容Athlon XP系列的CPU。

(5)Socket 939/940:Socket 939接口类型支持AMD的高端Athlon 64 FX-51 CPU,该接口类型的主板只需4层PCB。早期支持Athlon 64 FX-51 CPU接口类型的Socket 940需要必须为6层PCB,在价格上相对较贵,因此会逐渐被Socket 939接口类型所替代。

四、CPU的核心

从外表看来,CPU常常是矩形或正方形的块状物,通过密密麻麻的众多管脚与主板相连。不过,看到的不过是CPU的外衣——CPU的封装。而内部,CPU的核心是一片大小通常不到1/4英寸的薄薄的硅晶片(其英文名称为die,核心)。在这块小小的硅片上,密布着数以百万计的晶体管,它们好像大脑的神经元,相互配合协调,完成着各种复杂的运算和操作。

核心又称为内核,是CPU最重要的组成部分。不同的CPU(不同系列或同一系列)都会有不同的核心类型(例如P4的Northwood,Prescott等)。每一种核心类型都有其相应的制造工艺、核心面积、工作电压/电流等。因此,核心类型在某种程度上决定了CPU的性能。一般说来,新核心的产品往往比老核心的产品具有更好的性能。

五、CPU的封装

封装是一种将集成电路用绝缘的塑料或陶瓷材料打包的技术。目前CPU的封装大多是用绝缘的塑料或陶瓷材料包装起来,这些材料能起到密封和提高芯片电热性能的作用。由于现在处理器芯片的主频越来越高,引脚数越来越多,因此封装的外形也在不断改变。目前Intel P4处理器采用的是FC-PGA2(第二代反转芯片针脚栅格阵列)封装技术,而AMD的Athlon 64系列CPU则采用mPGA(微型球状针脚栅格阵列)封装方式。

下面简要介绍FC-PGA的封装技术。

FC-PGA(Flip Chip Pin-Grid Array)倒装芯片格栅阵列封装就是CPU内核是硅芯片的底部,翻转后封装在电路基板上,也就是通常所说的翻转内核封装形式。

FC-PGA封装不需要专门的连接线,方便了高密度引脚芯片的开发。处理器芯片朝上,露在外面,表面或底部都环绕焊接了一些滤波电容和电阻,有利于芯片的散热和对外界信号干扰的抵抗性。

为了防止插错,芯片底部的引脚插针是交叉排列的,并设计成只能从一个方向插入到插座中。以前的Athlon XP及其以Coppermine为核心的Pentium III,Celeron II都是采用这种封装技术,如图2.1.3所示。

图2.1.3 Athlon XP和Celeron II处理器所采用的封装技术

FC-PGA2封装是在FG-PGA的基础上加装了一个IHS顶盖(Integrated Heat Spreader,整合式散热片)。FC-PGA2的优点是能有效地保护内核免受散热器挤压损坏,还能增强散热效果。目前Intel公司的Tualatin核心的Pentium III/Celeron III,P4和AMD最新的一代CPU——Athlon 64和Opteron都采用这种封装,如图2.1.4所示。

图2.1.4 Athlon 643200+和P4 CPU所采用的封装技术

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈