瑞星卡卡安全论坛
首页
»
技术交流区
»
硬件交流
»
计算机硬件大观-cpu篇(新)
追光 - 2009-8-25 15:39:00
前言
本篇本着“不负责任”的态度:kaka12: ,以自己所了解的知识,以平常人的视点来“观”电脑的主要硬件。
本文其实是对于硬件一些常见的名词解释,但尽量不引用生涩难懂的专业术语,对于经常接触硬件,但对名词概念比较模糊的朋友们应有较大的帮助。但本人知识有限,难免出现疏漏以及偏差,请大家踊跃补充和指正。
如果您有兴趣继续钻研,建议您去阅读一些有关的高级教材。
最后,在您观看文章时最好将整篇文章全部看完后,再看括号中的注释。
Cpu
(中央处理器)篇
简单说,
Cpu
是一由块纯净的硅
(一种半导体材料)
,通过光刻蚀和掺杂等方法使纯净硅形成门电路,经过测试封装后就是我们见到的
cpu
了。
cpu
在电脑中的主要作用就是将用户的命令进行运算
(运算不单指数xxx算,还包括图形运算、逻辑运算等,这里将cpu的所有工作统称为“运算”)(没有看错,虽然现在显卡负担了大部分的图形运算,但仍有cpu参与)
,
然后将运算结果反馈并由相关硬件输出结果。
首先,
cpu
经过这么多年发展,已经产生
N
代的产品,
cpu
不同代产品在表面都标有对应的型号,可搜索“
cpu
型号表”来查询。另外不细分的话还有一个最简单的区分方法就是看接口类型了
(还是有相同接口类型但是分代的产品)
,
例如现在
AMD
主流的
AM2
接口
,
因为
cpu
下面有
940
根插针
(没数过)
,
我们又常叫它
940
接口。还有
intel
主流的
SOCKET 775
接口,不过它的
cpu
下面却都是触点,
775
个
(仍没数过)
触脚都在主板上,当然,也例行的称它为
775
接口。早期还有:
(从奔腾时代开始,更早的X86系列接触过少。另全以针脚数来区分,熟悉SOCKET和
SLOT
接口的朋友可以给出对应表)
321
接口:代表有奔腾
mmx
;
AMD K6
等等
370
接口:代表有
intel
奔腾
2
、奔腾
3
;
via C3
等等
423
接口:最早的奔腾
4
采用此接口
462
接口:代表有
amd
早期
K7
、雷鸟、毒龙,近期的速龙,闪龙等等,此接口
amd
使用了相当长的时间
478
接口:代表有
intel 478
奔腾
4
全系列
754
接口:
amd
速龙
64
、
fx
系列
939
接口:
754
的升级接口,
amd
速龙
64
、
fx
系列。
940
接口的上代产品,上市时间相当短,然后就被
940
所取代
其实还有相当多的接口类型,但不常见或使用在服务器上,有兴趣的朋友可以查阅资料。
cpu
的主频是用外频*倍频得出的,是用来表示cpu的运算、处理数据的速度。虽然主频是越高越好,但主频不过是其中的一个参数,是不能完全代表CPU的性能的
(没记错的话,主频是指cpu每秒计算加法的次数)。
外频是cpu的基准频率,不过外频的意义在于它决定了主板的运行速度。对于服务器,主板须和cpu外频同步
(同步是指工作频率相同)
,以免因为异步产生的不稳定
(不过多数的台式机主板是支持异步的,不然怎么超频)
。通常情况下,外频也是内存与主板之间的运行速度,
在这种方式下,可以理解为CPU的外频直接与内存相连通,实现CPU与内存同步。
(CPU、主板和内存都同步的配置,个人认为是最理想的)(早期的CPU外频和前端总线是相同的,所说的外频或前端总线是同一意思,但两者的意义并不相同)
前端总线(fsb)通常是用来计算cpu与内存之间带宽用的,公式是:
数据带宽=(总线频率×数据位宽)/8
(例如一个64位,100MHz的前端总线,数据带宽=100MHz×64bit÷8bit/Byte=800MB/s,这个数据就是CPU每秒钟可接受的数据传输量)
。简单解释下带宽,带宽并不是指传输的数据多少,而是给数据一个“通道”,这个“通道”所能通过的大小叫做带宽的大小。计算机中带宽的大小是指单位时间里,能吞吐最大数据量,所以大家不要把带宽和硬件处理数据量搞混了。当然了,如果带宽大小不能满足硬件的处理数据量,就会形成瓶颈,影响硬件性能发挥了。相对前端总线,
HyperTransport
是近几年AMD CPU所使用的一种架构,单位也为MHZ,仍是用来计算带宽的
(不同于前端总线,HyperTransport是
为主板上的集成电路互连而设计的端到端总线技术,可以在内存控制器、磁盘控制器以及PCI总线控制器之间提供更高的数据传输带宽
)
。HyperTransport I/O总线体系结构让AMD的CPU整合了内存控制器,使处理器不通过系统总线传给芯片组而直接和内存交换数据。对于这样的情况,前端总线(FSB)频率在使用HyperTransport架构的AMD处理器中就不存在了。
关于CPU的倍频,从计算CPU主频的公式上就可以看出,
倍频即主频与外频之比的倍数
,和性能基本无关。在相同的外频下,倍频越大,CPU的主频也就越高,但既然外频不变
,
CPU与系统之间数据传输速度有限,就会形成系统提供的数据不能满足CPU运算速度的瓶颈。
缓存对CPU的性能有直接的影响。在实际工作中,CPU经常需要重复读取同样的数据块,而有了缓存后,就可以把这类数据存放在缓存里,而且因为CPU缓存的速度远远高于内存和硬盘,所以可以大幅度提升CPU性能,但因为芯片面积
(CPU外壳大小不过几厘米见方,核心就更小了)
和成本
(比内存贵多了)
限制,缓存都不大。缓存分有一级缓存、二级缓存和三级缓存。一级缓存是一种“静态RAM”
(对于RAM和rom,在内存篇中介绍)
,分有数据缓存区和指令缓存区,分别用来存放数据和处理数据的指令。二级缓存采用的是“高速动态ram”
(比普通“动态ram”速度要快)
,
性能不如“静态ram”,但有更高的集成度
(占据空间小,静态是动态体积的6倍左右)
和相对比较低的成本
(静态是动态的4倍左右),
是一种提升性能,但控制成本的办法。三级缓存的功能和二级缓存几乎相同,就不再单独介绍。
从理论上讲,在一颗拥有二级缓存的CPU中,首先读取一级缓存,命中率约为80%。也就是说CPU一级缓存中找到的有用数据约占数据总量的80%,然后剩下的20%从二级缓存中读取,命中率约16%,如果还找不到就只能到内存中找。所以在CPU核心不变的情况下,增加二级缓存可以大幅提升CPU性能。
下面介绍个简单的知识:cpu的位。在电脑中采用的是二进制,代码只有“0”和“1”,所有的程序都是0和1这两个代码组成,每一个代码在CPU中都是一“位”。在电脑单位换算中,1字节=8位
(位是电脑最小的单位。1kB=1024字节,1MB=1024kb,1gb=1024mb,1tb=1024gb)
。下面就好理解了,32位cpu就代表单位时间内能处理32位,等于4个字节,64位就是能处理64位,等于8个字节了。
常说的多核心,指单芯片多处理器
(多个CPU共同工作的组成方式常在服务器或大型、巨型计算机上使用,例如“银河”超级计算机)
,也就是将多个处理器集成在同一个芯片内,各个处理器并行
(同时)
执行不同的进程。这的好处是多个程序一起运行时,多个处理器分别处理,效率远远高于单个CPU
(可以理解成有好多事情,多人干要比一个人干快)
,不过对于运行单独程序,多核并没有明显的性能优势。
说起多核,想到早先时候,Intel所使用的“超线程”技术,虽然在“任务管理器”中也是显示2个CPU,但并不是实际上的双核,而是利用CPU的剩余资源
(有超线程技术的cpu都在2G以上,处理普通的程序往往只用不到百分之50的资源)
,通过主板芯片、操作系统等的支持,来模拟出另一个CPU。对于简单的多程序运行,“超线程”还是体现出一些优势。
(大型程序?1个程序就把CPU资源占完了,这个时候
”
超线程
”
就完全没有意义了)
每次cpu的升级换代,都是核心电路设计的进步。对于核心我们可以简单的理解为,核心设计的越好,cpu的执行效率越高。这样在相同的频率下,核心越好,处理命令的速度越快。例如频率相同
(当然还有缓存的区别,但不能算主要原因)
的奔腾2和奔腾3
(指接口相同并且可用在同一主板上早期产品)
在处理同一任务时,奔腾3处理速度明显领先于奔腾2。
(这也是奔腾4时代,为什么amd的低频率cpu丝毫不逊于intel高频cpu的主要原因,虽然也有硬件软件方面对奔腾4支持不好的原因)
集成在cpu中的
扩展指令集
,作用是增强cpu执行对应程序的效率,最有名的应属intel的奔腾mmx
(增强CPU在音像、图形和通信应用方面的性能)
和
AMD
的3DNow!了
(作用是增强cpu的3D运算性能,尤其在3DMAX等软件应用时)
。当年intel独大时,AMD就是靠3DNow!扩展指令集
(当然不单单是)
抢占了一部分市场。不少人都认为,如果当初没有3DNow!指令集,amd能否存活并发展到能几乎能和intel比肩的如此高度。
这里还有一个大家不太关注的地方,那就是cpu的功耗了,功耗越小,发热量就越小
(当初754接口的amd部分cpu就是靠低功耗的市场宣传占据了不少的市场。实际测试,十几分钟不用散热器真没问题,长时间没敢试)
,耗电也跟着降低了。
对于cpu,以上只是大家常见到的一些名词的解释,而像“指令集”这类能写一本书的“非主流”知识,大家都可通过搜索资料来自行学习。
用户系统信息:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
sinoer - 2009-8-25 15:41:00
想了解这方面的知识,去intel、IBM、amd等厂商的网站看技术白皮书会更有收获
追光 - 2009-8-25 15:46:00
相较第一篇发表的文章,这次增加了更多的知识,但相对较为难理解的术语也多了起来。
不管怎么说,对于上次推迟所做的承诺终于兑现了,一身轻松,一身轻松。:kaka12:
追光 - 2009-8-25 15:47:00
引用:
原帖由
sinoer
于 2009-8-25 15:41:00 发表
想了解这方面的知识,去intel、IBM、amd等厂商的网站看技术白皮书会更有收获
是的,想了解更专业的知识,请查阅编辑严谨,资料丰富的官方“白皮书”。:kaka1:
sinoer - 2009-8-25 15:47:00
欢迎更新,多讲讲工艺、架构、指令集、能效等等
追光 - 2009-8-25 15:56:00
引用:
原帖由
sinoer
于 2009-8-25 15:47:00 发表
欢迎更新,多讲讲工艺、架构、指令集、能效等等
要这种专业东西最好办了,到网上来个复制粘贴就成了:kaka12: 。不过,这种复制粘贴没意义的事情,好没动力地。:kaka16:
下篇是内存,随后还有显卡、主板、硬盘等常见硬件名词的介绍。发表完后,我去翻翻相关资料,如果自认能对你所说知识有独到见解,我也就不私藏了,“大放厥词”一下,博大家一观。:kaka18:
1
查看完整版本:
计算机硬件大观-cpu篇(新)
© 2000 - 2024 Rising Corp. Ltd.