()主频:主频也叫时钟频率,单位是mhz,用来表示cpu的运算速度。cpu的工作频率(主频)包括两部分:外频与倍频,两者的乘积就是主频。倍频的全称为倍频系数。cpu的主频与外频之间存在着一个比值关系,这个比值就是倍频系数,简称倍频。倍频可以从1.5一直到23以至更高,以0.5为一个间隔单位。外频与倍频相乘就是主频,所以其中任何一项提高都可以使cpu的主频上升。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的cpu实际运算速度较低的现象。因此主频仅仅是cpu性能表现的一个方面,而不代表cpu的整体性能。
适用类型:“cpu适用类型”是指该处理器所适用的应用类型,针对不同用户的不同需求、不同应用范围,cpu被设计成各不相同的类型,即分为嵌入式和通用式、微控制式。嵌入式cpu主要用于运行面向特定领域的专用程序,配备轻量级操作系统,其应用极其广泛,像移动电话、dvd、机顶盒等都是使用嵌入式cpu。微控制式cpu主要用于汽车空调、自动机械等自控设备领域。而通用式cpu追求高性能,主要用于高性能个人计算机系统(即pc台式机)、服务器(工作站)以及笔记本三种。
台式机的cpu,就是平常大部分场合所提到的应用于pc的cpu,平常所说intel的奔腾4、赛扬、Amd的Athlonxp等等都属于此类cpu。
应用于服务器和工作站上的cpu,因其针对的应用范围,所以此类cpu在稳定性、处理速度、同时处理任务的数量等方面的要求都要高于单机cpu。其中服务器(工作站)cpu的高可靠性是普通cpu所无法比拟的,因为大多数的服务器都要满足每天24小时、每周7天的满符合工作要求。由于服务器(工作站)数据处理量很大,需要采用多cpu并行处理结构,即一台服务器中安装2、4、8等多个cpu,需要注意的是,并行结构需要的cpu必须为偶数个。对于服务器而言,多处理器可用于数据库处理等高负荷高速度应用;而对于工作站,多处理器系统则可以用于三维图形制作和动画文件编码等单处理器无法实现的高处理速度应用。另外许多cpu的新技术都是率先开发应用于服务器(工作站)cpu中。
在最早期的cpu设计中并没有单独的笔记本cpu,均采用与台式机的cpu,后来随着笔记本电脑的散热和体积成为发展的瓶颈时,才逐渐生产出笔记本专用cpu。受笔记本内部空间、散热和电池容量的限制,笔记本cpu在外观尺寸、功耗(耗电量)方面都有很高的要求。笔记本电池性能是十分重要的性能,cpu的功耗大小对电池使用时间有着最直接的影响,所以为了降低功耗笔记本处理器中都包含有一些节能技术。在无线网络将要获得更多应用的现在,笔记本cpu还增加了一些定制的针对无线通信的功能。
服务器cpu和笔记本cpu都包含有各自独特的专有技术,都是为了更好的在各自的工作条件下发挥出更好的性能。比如服务器的多cpu并行处理,以及多核多线程技术;笔记本cpu的speedstep(可自动调整工作频率及电压)节能技术。
封装方式三者也有不同之处,笔记本cpu是三者中最小最薄的一种,因为笔记本处理器的体积需要更小,耐高温的性能要更佳,因此在制造工艺上要求也就更高。
三者在稳定性中以服务器cpu最强,因为其设计时就要求有极低的错误率,部分产品甚至要求全年满负荷工作,故障时间不能超过5分钟。
台式机cpu工作电压和功耗都高于笔记本cpu,通常台式机cpu的测试温度上限为75摄氏度,超过75摄氏度,工作就会不稳定,甚至出现问题;;而笔记本cpu的测试温度上限为100摄氏度;服务器cpu需要长时间的稳定工作,在散热方面的要求就更高了。
在选购整机尤其是有特定功能的计算机(如笔记本、服务器等)时,需要注意cpu的适用类型,选用不适合的cpu类型,一方面会影响整机的系统性能,另一方面会加大计算机的维护成本。单独选购cpu时候也要注意cpu的适用类型,建议按照具体应用的需求来购买cpu。
系列型号cpu厂商会给属于同一系列的cpu产品定一个系列型号,而系列型号则是用于区分cpu性能的重要标示。英特尔公司的主要cpu系列型号有pentium、pentium
pro、pentiumii、pentiumiii、pentium4、pentium-m、celeron、celeronii、xeon等等。而Amd公司则有k5、k6、k6-2、duron、Athlonxp、Athlon64等等。
接口类型我们知道,cpu需要通过某个接口与主板连接的才能进行工作。cpu经过这么多年的发展,采用的接口方式有引脚式、卡式、触点式、针脚式等。而目前cpu的接口都是针脚式接口,对应到主板上就有相应的插槽类型。cpu接口类型不同,在插孔数、体积、形状都有变化,所以不能互相接插。
socket478
socket478接口是目前pentium4系列处理器所采用的接口类型,针脚数为478针。socket478的pentium4处理器面积很小,其针脚排列极为紧密。英特尔公司的pentium4系列和p4赛扬系列都采用此接口。
socketA
socketA接口,也叫socket462,是目前Amd公司Athlonxp和duron处理器的插座接口。socketA接口具有462插空,可以支持133mhz外频。
socket423
socket423插槽是最初pentium4处理器的标准接口,socket
423的外形和前几种socket类的插槽类似,对应的cpu针脚数为423。socket423插槽多是基于intel
850芯片组主板,支持1.3ghz~1.8ghz的pentium
4处理器。不过随着ddr内存的流行,英特尔又开发了支持sdrAm及ddr内存的i845芯片组,cpu插槽也改成了socket478,socket
423接口也就销声匿迹了。
socket370
socket370架构是英特尔开发出来代替slot架构,外观上与socket
7非常像,也采用零插拔力插槽,对应的cpu是370针脚。英特尔公司著名的“铜矿”和”图拉丁”系列cpu就是采用此接口。
slot1
slot1是英特尔公司为取代socket7而开发的cpu接口,并申请的专利。这样其它厂商就无法生产slot
1接口的产品。slot1接口的cpu不再是大家熟悉的方方正正的样子,而是变成了扁平的长方体,而且接口也变成了金手指,不再是插针形式。
slot1是英特尔公司为pentiumⅡ系列cpu设计的插槽,其将pentiumⅡ
cpu及其相关控制电路、二级缓存都做在一块子卡上,多数slot1主板使用100mhz外频。slot
1的技术结构比较先进,能提供更大的内部传输带宽和cpu性能。此种接口已经被淘汰,市面上已无此类接口的产品。
slot2
slot2用途比较专业,都采用于高端服务器及图形工作站的系统。所用的cpu也是很昂贵的xeon(至强)系列。slot2与slot
1相比,有许多不同。首先,slot2插槽更长,cpu本身也都要大一些。其次,slot
2能够胜任更高要求的多用途计算处理,这是进入高端企业计算市场的关键所在。在当时标准服务器设计中,一般厂商只能同时在系统中采用两个pentiumⅡ处理器,而有了slot2设计后,可以在一台服务器中同时采用8个处理器。而且采用slot2接口的pentiumⅡ
cpu都采用了当时最先进的0.25微米制造工艺。支持slot2接口的主板芯片组有440gx和450nx。
slotA
slotA接口类似于英特尔公司的slot1接口,供Amd公司的k7Athlon使用的。在技术和性能上,slot
A主板可完全兼容原有的各种外设扩展卡设备。它使用的并不是intel的p6gtl+
总线协议,而是digital公司的Alpha总线协议ev6。ev6架构是种较先进的架构,它采用多线程处理的点到点拓扑结构,支持200mhz的总线频率。
针脚数目前cpu都采用针脚式接口与主板相连,而不同的接口的cpu在针脚数上各不相同。cpu接口类型的命名,习惯用针脚数来表示,比如目前pentium
4系列处理器所采用的socket478接口,其针脚数就为478针;而Athlonxp系列处理器所采用的socket
462接口,其针脚数就为462针。
封装技术所谓“封装技术”是一种将集成电路用绝缘的塑料或陶瓷材料打包的技术。以cpu为例,我们实际看到的体积和外观并不是真正的cpu内核的大小和面貌,而是cpu内核等元件经过封装后的产品。
封装对于芯片来说是必须的,也是至关重要的。因为芯片必须与外界隔离,以防止空气中的杂质对芯片电路的腐蚀而造成电气性能下降。另一方面,封装后的芯片也更便于安装和运输。由于封装技术的好坏还直接影响到芯片自身性能的发挥和与之连接的pcB(印制电路板)的设计和制造,因此它是至关重要的。封装也可以说是指安装半导体集成电路芯片用的外壳,它不仅起着安放、固定、密封、保护芯片和增强导热性能的作用,而且还是沟通芯片内部世界与外部电路的桥梁——芯片上的接点用导线连接到封装外壳的引脚上,这些引脚又通过印刷电路板上的导线与其他器件建立连接。因此,对于很多集成电路产品而言,封装技术都是非常关键的一环。
目前采用的cpu封装多是用绝缘的塑料或陶瓷材料包装起来,能起着密封和提高芯片电热性能的作用。由于现在处理器芯片的内频越来越高,功能越来越强,引脚数越来越多,封装的外形也不断在改变。封装时主要考虑的因素:
芯片面积与封装面积之比为提高封装效率,尽量接近1:1
引脚要尽量短以减少延迟,引脚间的距离尽量远,以保证互不干扰,提高性能
基于散热的要求,封装越薄越好
作为计算机的重要组成部分,cpu的性能直接影响计算机的整体性能。而cpu制造工艺的最后一步也是最关键一步就是cpu的封装技术,采用不同封装技术的cpu,在性能上存在较大差距。只有高品质的封装技术才能生产出完美的cpu产品。
cpu芯片的封装技术:
dip技术
qfp技术
pfp技术
pgA技术
BgA技术
目前较为常见的封装形式:
opgA封装
mpgA封装
cpgA封装
fc-pgA封装
fc-pgA2封装
ooi封装
ppgA封装
s.e.c.c.封装
s.e.c.c.2封装
s.e.p.封装
核心类型核心(die)又称为内核,是cpu最重要的组成部分。cpu中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,cpu所有的计算、接受/存储命令、处理数据都由核心执行。各种cpu核心都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。
为了便于cpu设计、生产、销售的管理,cpu制造商会对各种cpu核心给出相应的代号,这也就是所谓的cpu核心类型。
不同的cpu(不同系列或同一系列)都会有不同的核心类型(例如pentium
4的northwood,willamette以及k6-2的cxt和k6-2+的st-50等等),甚至同一种核心都会有不同版本的类型(例如northwood核心就分为B0和c1等版本),核心版本的变更是为了修正上一版存在的一些错误,并提升一定的性能,而这些变化普通消费者是很少去注意的。每一种核心类型都有其相应的制造工艺(例如0.25um、0.18um、0.13um以及0.09um等)、核心面积(这是决定cpu成本的关键因素,成本与核心面积基本上成正比)、核心电压、电流大小、晶体管数量、各级缓存的大小、主频范围、流水线架构和支持的指令集(这两点是决定cpu实际性能和工作效率的关键因素)、功耗和发热量的大小、封装方式(例如s.e.p、pgA、fc-pgA、fc-pgA2等等)、接口类型(例如socket370,socketA,socket478,sockett,slot1、socket940等等)、前端总线频率(fsB)等等。因此,核心类型在某种程度上决定了cpu的工作性能。
一般说来,新的核心类型往往比老的核心类型具有更好的性能(例如同频的northwood核心pentium41.8Aghz就要比willamette核心的pentium41.8ghz性能要高),但这也不是绝对的,这种情况一般发生在新核心类型刚推出时,由于技术不完善或新的架构和制造工艺不成熟等原因,可能会导致新的核心类型的性能反而还不如老的核心类型的性能。例如,早期willamette核心socket423接口的pentium4的实际性能不如socket370接口的tualatin核心的pentiumiii和赛扬,现在的低频prescott核心pentium4的实际性能不如同频的northwood核心pentium
4等等,但随着技术的进步以及cpu制造商对新核心的不断改进和完善,新核心的中后期产品的性能必然会超越老核心产品。
cpu核心的发展方向是更低的电压、更低的功耗、更先进的制造工艺、集成更多的晶体管、更小的核心面积(这会降低cpu的生产成本从而最终会降低cpu的销售价格)、更先进的流水线架构和更多的指令集、更高的前端总线频率、集成更多的功能(例如集成内存控制器等等)以及双核心和多核心(也就是1个cpu内部有2个或更多个核心)等。cpu核心的进步对普通消费者而言,最有意义的就是能以更低的价格买到性能更强的cpu。
在cpu漫长的历史中伴随着纷繁复杂的cpu核心类型,以下分别就intelcpu和Amd
cpu的主流核心类型作一个简介。主流核心类型介绍(仅限于台式机cpu,不包括笔记本cpu和服务器/工作站cpu,而且不包括比较老的核心类型)。
intelcpu的核心类型
Amdcpu的核心类型
前端总线总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们常常以mhz表示的速度来描述总线频率。总线的种类很多,前端总线的英文名字是front
sideBus,通常用fsB表示,是将cpu连接到北桥芯片的总线。计算机的前端总线频率是由cpu和北桥芯片共同决定的。
北桥芯片负责联系内存、显卡等数据吞吐量最大的部件,并和南桥芯片连接。cpu就是通过前端总线(fsB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。前端总线是cpu和外界交换数据的最主要通道,因此前端总线的数据传输能力对计算机整体性能作用很大,如果没足够快的前端总线,再强的cpu也不能明显提高计算机整体速度。数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。前端总线频率越大,代表着cpu与北桥芯片之间的数据传输能力越大,更能充分发挥出cpu的功能。现在的cpu技术发展很快,运算速度提高很快,而足够大的前端总线可以保障有足够的数据供给给cpu,较低的前端总线将无法供给足够的数据给cpu,这样就限制了cpu性能得发挥,成为系统瓶颈。
外频与前端总线频率的区别:前端总线的速度指的是cpu和北桥芯片间总线的速度,更实质性的表示了cpu和外界数据传输的速度。而外频的概念是建立在数字脉冲信号震荡速度基础之上的,也就是说,100mhz外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了pic及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在pentium4出现之前和刚出现pentium4时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了qdr(quaddaterate)技术,或者其他类似的技术实现这个目前。这些技术的原理类似于Agp的2x或者4x,它们使得前端总线的频率成为外频的2倍、4倍甚至更高,从此之后前端总线和外频的区别才开始被人们重视起来。
相关术语:北桥芯片
外频外频是cpu乃至整个计算机系统的基准频率,单位是mhz(兆赫兹)。在早期的电脑中,内存与主板之间的同步运行的速度等于外频,在这种方式下,可以理解为cpu外频直接与内存相连通,实现两者间的同步运行状态。对于目前的计算机系统来说,两者完全可以不相同,但是外频的意义仍然存在,计算机系统中大多数的频率都是在外频的基础上,乘以一定的倍数来实现,这个倍数可以是大于1的,也可以是小于1的。
说到处理器外频,就要提到与之密切相关的两个概念:倍频与主频,主频就是cpu的时钟频率;倍频即主频与外频之比的倍数。主频、外频、倍频,其关系式:主频=外频×倍频。
在486之前,cpu的主频还处于一个较低的阶段,cpu的主频一般都等于外频。而在486出现以后,由于cpu工作频率不断提高,而pc机的一些其他设备(如插卡、硬盘等)却受到工艺的限制,不能承受更高的频率,因此限制了cpu频率的进一步提高。因此出现了倍频技术,该技术能够使cpu内部工作频率变为外部频率的倍数,从而通过提升倍频而达到提升主频的目的。倍频技术就是使外部设备可以工作在一个较低外频上,而cpu主频是外频的倍数。
在pentium时代,cpu的外频一般是60/66mhz,从pentiumⅡ350开始,cpu外频提高到100mhz,目前cpu外频已经达到了200mhz。由于正常情况下外频和内存总线频率相同,所以当cpu外频提高后,与内存之间的交换速度也相应得到了提高,对提高电脑整体运行速度影响较大。
外频与前端总线(fsB)频率很容易被混为一谈。前端总线的速度指的是cpu和北桥芯片间总线的速度,更实质性的表示了cpu和外界数据传输的速度。而外频的概念是建立在数字脉冲信号震荡速度基础之上的,也就是说,100mhz外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了pic及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在pentium4出现之前和刚出现pentium4时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了qdr(quaddaterate)技术,或者其他类似的技术实现这个目前。这些技术的原理类似于Agp的2x或者4x,它们使得前端总线的频率成为外频的2倍、4倍甚至更高,从此之后前端总线和外频的区别才开始被人们重视起来。
相关术语:处理器主频
倍频cpu的倍频,全称是倍频系数。cpu的核心工作频率与外频之间存在着一个比值关系,这个比值就是倍频系数,简称倍频。理论上倍频是从1.5一直到无限的,但需要注意的是,倍频是以以0.5为一个间隔单位。外频与倍频相乘就是主频,所以其中任何一项提高都可以使cpu的主频上升。
原先并没有倍频概念,cpu的主频和系统总线的速度是一样的,但cpu的速度越来越快,倍频技术也就应允而生。它可使系统总线工作在相对较低的频率上,而cpu速度可以通过倍频来无限提升。那么cpu主频的计算方式变为:主频
=外频x倍频。也就是倍频是指cpu和系统总线之间相差的倍数,当外频不变时,提高倍频,cpu主频也就越高。
制作工艺通常我们所说的cpu的“制作工艺”指得是在生产cpu过程中,要进行加工各种电路和电子元件,制造导线连接各个元器件。通常其生产的精度以微米(长度单位,1微米等于千分之一毫米)来表示,未来有向纳米(1纳米等于千分之一微米)发展的趋势,精度越高,生产工艺越先进。在同样的材料中可以制造更多的电子元件,连接线也越细,提高cpu的集成度,cpu的功耗也越小。
制造工艺的微米是指ic内电路与电路之间的距离。制造工艺的趋势是向密集度愈高的方向发展,。密度愈高的ic电路设计,意味着在同样大小面积的ic中,可以拥有密度更高、功能更复杂的电路设计。微电子技术的发展与进步,主要是靠工艺技术的不断改进,使得器件的特征尺寸不断缩小,从而集成度不断提高,功耗降低,器件性能得到提高。芯片制造工艺在1995年以后,从0.5微米、0.35微米、0.25微米、0.18微米、0.15微米、0.13微米,而0.09微米的制造工艺将是下一代cpu的发展目标。
二级缓存容量cpu缓存(cache
memoney)位于cpu与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内cpu即将访问的,当cpu调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在cpu中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对cpu的性能影响很大,主要是因为cpu的数据交换顺序和cpu与缓存间的带宽引起的。
缓存的工作原理是当cpu要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给cpu处理;如果没有找到,就用相对慢的速度从内存中读取并送给cpu处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。
正是这样的读取机制使cpu读取缓存的命中率非常高(大多数cpu可达90%左右),也就是说cpu下一次要读取的数据90%都在缓存中,只有大约10%需要从内存读取。这大大节省了cpu直接读取内存的时间,也使cpu读取数据时基本无需等待。总的来说,cpu读取数据的顺序是先缓存后内存。
最早先的cpu缓存是个整体的,而且容量很低,英特尔公司从pentium时代开始把缓存进行了分类。当时集成在cpu内核中的缓存已不足以满足cpu的需求,而制造工艺上的限制又不能大幅度提高缓存的容量。因此出现了集成在与cpu同一块电路板上或主板上的缓存,此时就把
cpu内核集成的缓存称为一级缓存,而外部的称为二级缓存。一级缓存中还分数据缓存(i-cache)和指令缓存(d-cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被cpu访问,减少了争用cache所造成的冲突,提高了处理器效能。英特尔公司在推出pentium
4处理器时,还新增了一种一级追踪缓存,容量为12kB.
随着cpu制造工艺的发展,二级缓存也能轻易的集成在cpu内核中,容量也在逐年提升。现在再用集成在cpu内部与否来定义一、二级缓存,已不确切。而且随着二级缓存被集成入cpu内核中,以往二级缓存与cpu大差距分频的情况也被改变,此时其以相同于主频的速度工作,可以为cpu提供更高的传输速度。
二级缓存是cpu性能表现的关键之一,在cpu核心不变化的情况下,增加二级缓存容量能使性能大幅度提高。而同一核心的cpu高低端之分往往也是在二级缓存上有差异,由此可见二级缓存对于cpu的重要性。
cpu在缓存中找到有用的数据被称为命中,当缓存中没有cpu所需的数据时(这时称为未命中),cpu才访问内存。从理论上讲,在一颗拥有二级缓存的cpu中,读取一级缓存的命中率为80%。也就是说cpu一级缓存中找到的有用数据占数据总量的80%,剩下的20%从二级缓存中读取。由于不能准确预测将要执行的数据,读取二级缓存的命中率也在80%左右(从二级缓存读到有用的数据占总数据的16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。目前的较高端的cpu中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的cpu中,只有约5%的数据需要从内存中调用,这进一步提高了cpu的效率。
为了保证cpu访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种较常用的算法是“最近最少使用算法”(lru算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此需要为每行设置一个计数器,lru算法是把命中行的计数器清零,其他各行计数器加1。当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法,其计数器清零过程可以把一些频繁调用后再不需要的数据淘汰出缓存,提高缓存的利用率。
cpu产品中,一级缓存的容量基本在4kB到18kB之间,二级缓存的容量则分为128kB、256kB、512kB、1mB等。一级缓存容量各产品之间相差不大,而二级缓存容量则是提高cpu性能的关键。二级缓存容量的提升是由cpu制造工艺所决定的,容量增大必然导致cpu内部晶体管数的增加,要在有限的cpu面积上集成更大的缓存,对制造工艺的要求也就越高。
核心电压cpu的工作电压(supplyvoltage),即cpu正常工作所需的电压。任何电器在工作的时候都需要电,自然也有对应额定电压,cpu也不例外。目前cpu的工作电压有一个非常明显的下降趋势,较低的工作电压主要三个优点:
采用低电压的cpu的芯片总功耗降低了。功耗降低,系统的运行成本就相应降低,这对于便携式和移动系统来说非常重要,使其现有的电池可以工作更长时间,从而使电池的使用寿命大大延长;
功耗降低,致使发热量减少,运行温度不过高的cpu可以与系统更好的配合;
降低电压是cpu主频提高的重要因素之一。
cpu的工作电压分为两个方面,cpu的核心电压与i/o电压。核心电压即驱动cpu核心芯片的电压,i/o电压则指驱动i/o电路的电压。通常cpu的核心电压小于等于i/o电压。
早期cpu(286~486时代)的核心电压与i/o一致,通常为5v,由于当时的制造工艺相对落后,以致cpu的发热量过大,导致其寿命缩短。不过那时的cpu集成度很低,而目前的cpu集成度相当高,因此显得现在的cpu发热量更大。随着cpu的制造工艺提高,近年来各种cpu的工作电压有逐步下降的趋势,目前台式机用cpu核电压通常为2v以内,笔记本专用cpu的工作电压相对更低,从而达到大幅减少功耗的目的,以延长电池的使用寿命,并降低了cpu发热量。而且现在的cpu会通过特殊的电压id(vid)引脚来指示主板中嵌入的电压调节器自动设置正确的电压级别。
许多面向新款cpu的主板都会提供特殊的跳线或者软件设置,通过这些跳线或软件,可以根据具体需要手动调节cpu的工作电压。很多实验表明在超频的时候适度提高核心电压,可以加强cpu内部信号,对cpu性能的提升会有很大帮助——但这样也会提高cpu的功耗,影响其寿命及发热量,建议一般用户不要进行此方面的操作。
超线程技术cpu生产商为了提高cpu的性能,通常做法是提高cpu的时钟频率和增加缓存容量。不过目前cpu的频率越来越快,如果再通过提升cpu频率和增加缓存的方法来提高性能,往往会受到制造工艺上的限制以及成本过高的制约。
尽管提高cpu的时钟频率和增加缓存容量后的确可以改善性能,但这样的cpu性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,cpu的执行单元都没有被充分使用。如果cpu不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是目前大多数执行线程缺乏ilp(instruction-levelparallelism,多种指令同时执行)支持。这些都造成了目前cpu的性能没有得到全部的发挥。因此,intel则采用另一个思路去提高cpu的性能,让cpu可以同时执行多重线程,就能够让cpu发挥更大效率,即所谓“超线程(hyper-threading,简称“ht”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了cpu的闲置时间,提高的cpu的运行效率。
采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
超线程技术是在一颗cpu同时执行多个程序而共同分享一颗cpu内的资源,理论上要像两颗cpu一样在同一时间执行两个线程,p4处理器需要多加入一个logicalcpupointer(逻辑处理单元)。因此新一代的p4ht的die的面积比以往的p4增大了5%。而其余部分如Alu(整数运算单元)、fpu(浮点运算单元)、l2cache(二级缓存)则保持不变,这些部分是被分享的。
虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的cpu那样,每各cpu都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗cpu的性能。
英特尔p4超线程有两个运行模式,singletaskmode(单任务模式)及multitask
mode(多任务模式),当程序不支持multi-processing(多处理器作业)时,系统会停止其中一个逻辑cpu的运行,把资源集中于单个逻辑cpu中,让单线程程序不会因其中一个逻辑cpu闲置而减低性能,但由于被停止运行的逻辑cpu还是会等待工作,占用一定的资源,因此hyper-threadingcpu运行singletaskmode程序模式时,有可能达不到不带超线程功能的cpu性能,但性能差距不会太大。也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。
需要注意的是,含有超线程技术的cpu需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。目前支持超线程技术的芯片组包括如:英特尔i845ge、pe及矽统isr658
rdrAm、sis645dx、sis651可直接支持超线程;英特尔i845e、i850e通过升级Bios后可支持;威盛p4x400、p4x400A可支持,但未获得正式授权。操作系统如:microsoftwindowsxp、microsoftwindows2003,linuxkernel2.4.x以后的版本也支持超线程技术。
3dnow由Amd公司提出的3dnow!指令集应该说出现在sse指令集之前,并被Amd广泛应用于其k6-2
、k6-3以及Athlon(k7)处理器上。3dnow!指令集技术其实就是21条机器码的扩展指令集。
与intel公司的mmx技术侧重于整数运算有所不同,3dnow!指令集主要针对三维建模、坐标变换
和效果渲染等三维应用场合,在软件的配合下,可以大幅度提高3d处理性能。后来在Athlon上开发了enhanced
3dnow!。这些Amd标准的simd指令和intel的sse具有相同效能。因为受到intel在商业上以及pentiumiii成功的影响,软件在支持sse上比起3dnow!更为普遍。enhanced3dnow!Amd公司继续增加至52个指令,包含了一些sse码,因而在针对sse做最佳化的软件中能获得更好的效能。
多媒体指令集cpu依靠指令来计算和控制系统,每款cpu在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是cpu的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如intel的mmx(multimediaextended)、sse、sse2(streaming-singleinstructionmultipledata-extensions2)和Amd的3dnow!等都是cpu的扩展指令集,分别增强了cpu的多媒体、图形图象和inte等的处理能力。我们通常会把cpu的扩展指令集称为"cpu的指令集"。
1、精简指令集的运用
在最初发明计算机的数十年里,随着计算机功能日趋增大,性能日趋变强,内部元器件也越来越多,指令集日趋复杂,过于冗杂的指令严重的影响了计算机的工作效率。后来经过研究发现,在计算机中,80%程序只用到了20%的指令集,基于这一发现,risc精简指令集被提了出来,这是计算机系统架构的一次深刻革命。risc体系结构的基本思路是:抓住cisc指令系统指令种类太多、指令格式不规范、寻址方式太多的缺点,通过减少指令种类、规范指令格式和简化寻址方式,方便处理器内部的并行处理,提高vlsi器件的使用效率,从而大幅度地提高处理器的性能。
risc指令集有许多特征,其中最重要的有:
指令种类少,指令格式规范:risc指令集通常只使用一种或少数几种格式。指令长度单一(一般4个字节),并且在字边界上对齐。字段位置、特别是操作码的位置是固定的。
寻址方式简化:几乎所有指令都使用寄存器寻址方式,寻址方式总数一般不超过5个。其他更为复杂的寻址方式,如间接寻址等则由软件利用简单的寻址方式来合成。
大量利用寄存器间操作:risc指令集中大多数操作都是寄存器到寄存器操作,只以简单的load和store操作访问内存。因此,每条指令中访问的内存地址不会超过1个,访问内存的操作不会与算术操作混在一起。
简化处理器结构:使用risc指令集,可以大大简化处理器的控制器和其他功能单元的设计,不必使用大量专用寄存器,特别是允许以硬件线路来实现指令操作,而不必像cisc处理器那样使用微程序来实现指令操作。因此risc处理器不必像cisc处理器那样设置微程序控制存储器,就能够快速地直接执行指令。
便于使用vlsi技术:随着lsi和vlsi技术的发展,整个处理器(甚至多个处理器)都可以放在一个芯片上。risc体系结构可以给设计单芯片处理器带来很多好处,有利于提高性能,简化vlsi芯片的设计和实现。基于vlsi技术,制造risc处理器要比cisc处理器工作量小得多,成本也低得多。
加强了处理器并行能力:risc指令集能够非常有效地适合于采用流水线、超流水线和超标量技术,从而实现指令级并行操作,提高处理器的性能。目前常用的处理器内部并行操作技术基本上是基于risc体系结构发展和走向成熟的。
正由于risc体系所具有的优势,它在高端系统得到了广泛的应用,而cisc体系则在桌面系统中占据统治地位。而在如今,在桌面领域,risc也不断渗透,预计未来,risc将要一统江湖。
2、cpu的扩展指令集
对于cpu来说,在基本功能方面,它们的差别并不太大,基本的指令集也都差不多,但是许多厂家为了提升某一方面性能,又开发了扩展指令集,扩展指令集定义了新的数据和指令,能够大大提高某方面数据处理能力,但必需要有软件支持。
mmx指令集
mmx(multimedia
extension,多媒体扩展指令集)指令集是intel公司于1996年推出的一项多媒体指令增强技术。mmx指令集中包括有57条多媒体指令,通过这些指令可以一次处理多个数据,在处理结果超过实际处理能力的时候也能进行正常处理,这样在软件的配合下,就可以得到更高的性能。mmx的益处在于,当时存在的操作系统不必为此而做出任何修改便可以轻松地执行mmx程序。但是,问题也比较明显,那就是mmx指令集与x87浮点运算指令不能够同时执行,必须做密集式的交错切换才可以正常执行,这种情况就势必造成整个系统运行质量的下降。
sse指令集
sse(streamingsimdextensions,单指令多数据流扩展)指令集是intel在pentium
iii处理器中率先推出的。其实,早在piii正式推出之前,intel公司就曾经通过各种渠道公布过所谓的kni(katmainew
instruction)指令集,这个指令集也就是sse指令集的前身,并一度被很多传媒称之为mmx指令集的下一个版本,即mmx2指令集。究其背景,原来"kni"指令集是intel公司最早为其下一代芯片命名的指令集名称,而所谓的"mmx2"则完全是硬件评论家们和媒体凭感觉和印象对"kni"的
评价,intel公司从未正式发布过关于mmx2的消息。
而最终推出的sse指令集也就是所谓胜出的"互联网sse"指令集。sse指令集包括了70条指令,其中包含提高3d图形运算效率的50条simd(单指令多数据技术)浮点运算指令、12条mmx
整数运算增强指令、8条优化内存中连续数据块传输指令。理论上这些指令对目前流行的图像处理、浮点运算、3d运算、视频处理、音频处理等诸多多媒体应用起到全面强化的作用。s
se指令与3dnow!指令彼此互不兼容,但sse包含了3dnow!技术的绝大部分功能,只是实现的方法不同。sse兼容mmx指令,它可以通过simd和单时钟周期并行处理多个浮点数据来有效地提高浮点运算速度。
在后来intel为了应对Amd的3dnow!+指令集,又在sse的基础上开发了sse2,增加了一些指令,使得其p4处理器性能有大幅度提高。到p4设计结束为止,intel增加了一套包括144条新建指令的sse2指令集。像最早的simd扩展指令集,sse2涉及了多重的数据目标上立刻执行一单个的指令(即simd,一个计算低工控最好的方法是让每指令执行更多的工作)。最重要的是sse2能处理128位和两倍精密浮点数学运算。处理更精确浮点数的能力使sse2成为加速多媒体程序、3d处理工程以及工作站类型任务的基础配置。但重要的是软件是否能适当的优化利用它。
3dnow!指令集
由Amd公司提出的3dnow!指令集应该说出现在sse指令集之前,并被Amd广泛应用于其k6-2
、k6-3以及Athlon(k7)处理器上。3dnow!指令集技术其实就是21条机器码的扩展指令集。
与intel公司的mmx技术侧重于整数运算有所不同,3dnow!指令集主要针对三维建模、坐标变换
和效果渲染等三维应用场合,在软件的配合下,可以大幅度提高3d处理性能。后来在Athlon上开发了enhanced
3dnow!。这些Amd标准的simd指令和intel的sse具有相同效能。因为受到intel在商业上以及pentium
iii成功的影响,软件在支持sse上比起3dnow!更为普遍。enhanced
3dnow!Amd公司继续增加至52个指令,包含了一些sse码,因而在针对sse做最佳化的软件中能获得更好的效能。
超频之心_超频之心全文免费阅读_更新完毕!