CPU主频,倍频,外频,系统总线频率,前端总线频率
现在网上对主频、外频、倍频、前端总线频率、内存频率的叫法千奇百怪,对同一种事物的叫法都没有统一,给人感觉好像有很多种类似的,所以很有必要先理清头绪,搞清楚多种不同叫法之间的等价关系:
1.主频=CPU频率=CPU内部的频率
2.外频=CPU外频=CPU外部的频率
3.倍频=CPU倍频
4.前端总线频率=FSB频率
5.内存频率=DRAM频率
一、参数名称的历史沿革、发展及它们之间的关系概述
我们知道,电脑有许多配件,配件不同,速度也就不同。在286、386和早期的486电脑里,CPU的速度不是太高,和内存保持一样的速度。后来随着CPU速度的飞速提升,内存由于电气结构关系,无法象CPU那样提升很高的速度,于是造成了内存和CPU之间出现了速度差异,这时就提出一个CPU的主频、倍频和外频的概念。外频顾名思义就是CPU外部的频率,早期也就是内存的频率,CPU以这个频率来与内存联系。CPU的主频就是CPU内部的实际运算速度,主频肯定是比外频高的,高一定的倍数,这个数就是倍频。例如:一个老的INTEL 486 CPU,上面印着486 DX/2 66。这个486的CPU的主频是66MHZ,DX/2代表是2倍频的,于是算出CPU的外频是33MZ,也就是内存的工作频率,这同时也是前端总线(英文 Front Side Bus)FSB的频率。因为CPU是通过前端总线来与内存发生联系的,所以内存的工作频率(或者说外频也行)就是前端总线的频率,即前端总线的频率就是33MZ。这样的前端总线结构一直延续到486之后的奔腾(俗话说的586)、奔腾2、奔腾3。
到了奔腾4年代,内存和CPU的工作模式发生了改变,前端总线的概念也变得有些复杂了。奔腾4 CPU采用了Quad Pumped(4倍并发)技术,该技术可以使系统总线在一个时钟周期内传送4次数据,也就是传输效率是原来的4倍,相当于用了4条原来的前端总线来和内存发生联系,即前端总线FSB有效频率=外频X4。在外频仍然是133MHZ的时候,前端总线的速度增加4倍变成了133X4=533MHZ,当外频升到200MHZ,前端总线变成200X4=800MHZ,所以你会看到533 MHZ前端总线的P4和800 MHZ前端总线的P4,就是这样来的。但他们的实际外频只有133 MHZ和200 MHZ,不过,由于人们保留了以前老的概念——前端总线就是外频,所以习惯了这样的叫法:533 MHZ外频的P4和800 MHZ外频的P4。其实应该叫533 MHZ前端总线P4或533 MHZ FSB的P4才准确。到现在,外频与前端前线的概念则出现了明显的区别:即外频是CPU与主板之间同步运行的速度,是指数字脉冲信号在每秒钟震荡的次数;而前端总线的速度指的是数据传输的速度,即每秒钟CPU可接受的数据传输量。两者的区别就在于,前者是震荡频率的概念,而后者则是传输量的概念。也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡1千万次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz×64bit=6400Mbit/s=800MByte/s(1Byte=8bit)。
那内存的情况怎么样呢?外频不完全等于前端总线了,那外频还等于内存的频率吗?内存发展到了DDR,跟原来相比,一个时钟周期内可以传送比原来多一倍的数据,DDR就是DOUBLE DATA RATE的缩写,意思就是双倍的数据传输速率,也就是说,内存的有效频率=内存原实际频率×2。在133MHZ的外频下,DDR的传输速度是266,外频提高到200MHZ的时候,DDR的传输速度是400,DDR266的内存和DDR400的内存就是这个意思。
再看一下现在外频、内存频率、CPU的前端总线频率的关系。在以前P3的时候,133的外频,内存的频率就是133,CPU的前端总线频率也是133,三者是一回事。现在P4的CPU,在133的外频下,前端总线有效频率达到了133×4=533MHZ,内存频率是133×2=266(DDR266)。问题出现了,前端总线是CPU与内存发生联系的桥梁,P4这时候的前端总线达到533之高,而内存只有266的速度,内存比CPU的前端总线慢了一半,理论上CPU有一半时间要等内存传数据过来才能处理数据,等于内存拖了CPU的后腿。这样的情况的确存在的,845和848的主板就是这样。于是提出一个双通道内存的概念,两条内存使用两条通道一起工作,一起提供数据,等于速度又增加一倍,两条DDR266就有266X2=533的速度,刚好是P4 CPU的前端总线速度,没有拖后腿的问题。外频提升到200的时候,CPU前端总线变为800,两条DDR400内存组成双通道,内存传输速度也是800了。所以要P4发挥好,一定要用双通道内存,865以上的主板都提供这个功能。但845和848主板就没有内存双通道功能了。
当然,现在的主板都支持内存异步技术,就是内存的频率高于或低于外频都可以。内存异步技术则是让内存频率与CPU外频不同,比如200MHz外频的P4 520在内存异步时,内存可以运行在166MHz,也可以运行在266MHz。现今的内存异步技术,可以通过在BIOS中设置内存分频系数,使内存与CPU外频的异步运行甚至可以设定在4:3或2:1等的比例状态下,可以更为灵活的搭配内存,帮助升级用户节省下更换内存的资金。从理论上讲,内存频率低于外频,即使是双通道,也会成为系统瓶径。所以,在异步情况下,内存频率最好比外频高一些。
刚才说的是INTEL P4的前端总线FSB概念,它的对手AMD的CPU却有所不同。旧的462针脚的AMD CPU,采用ev6前端总线,相当于外频的两倍,即FSB=外频×2,也就是133外频时,AMD 462脚的CPU的FSB是266,使用DDR266内存和他搭配就刚刚好,如果用两条DDR266做成双通道,虽然内存有533的传输速度,但对于266的FSB,作用不大,所以双通道内存对CPU的帮助不明显。新的AMD 754/939 64位CPU,内部就集成了内存管理器(以前内存管理器在主板芯片里),所以AMD 64位CPU的前端总线FSB频率与CPU实际频率一致。
AMD的K8处理器可说是划时代的,它把内存控制器集成在了CPU里面,通过内建内存控制器让处理器直接调配内存,可以减少处理器需要调用内存数据时,通过前端总线将指令传输到北桥,再由北桥中的内存控制器对内存进行操作的延迟,而且全面引入了HT(Hyper Transport)总线(“超传输”总线)的概念。这是一种高速点对点总线技术,在K8平台上起到传输CPU和主板芯片组之间数据的作用。K8和以往的处理器最大的区别在于:由于CPU已不通过传统的前端总线而是直接从内存获得数据,在AMD发布的Athlon64 CPU规格表以及各个芯片组厂商发布的芯片组原理图上,前端总线这个名词消失了,取而代之的是HT。它和FSB到底有什么具体的区别呢?首先,FSB和外频是密不可分的,外频提高之后,FSB会随之提高,这是不可调的。但是K8平台的超频就不一样,当提高CPU的外频时,往往要将HT的倍数往下调,以保持HT总线频率不变!用AM2 Athlon64 3000+来打个比方,其默认外频是200MHz,假设主板支持1000MHz的HT总线,外频由200MHz超到250MHz时最好把HT的倍数从5调到4,使HT总线仍然保持在1000MHz上,这样可以提高超频的成功率。而如今,AMD K10的推出,HT技术从原来的1.0发展到现在的3.0,HT 3.0的总线规范提供了1.8GHz、2.0GHz、2.4GHz、2.6GHz几种频率,最高可以支持32通道。32位通道下,单向带宽最高可支持20.8GB/s的传输效率。考虑到其DDR的特性,其总线的传输效率可以达到史无前例的41.6GB/s。鉴于AMD K8之后的CPU都在内部集成了内存控制器,所以无论搭配什么主板,其内存分频机制都是一定的。每一个确定了硬件配置的AMD平台都有其固定的内存分频系数,这些系数影响内存的运行频率。例如,AM2 接口的Athlon64 3000+ 搭配DDR2 667内存时在BIOS里把内存频率设置为DDR2 667,而此时内存实际工作在DDR2 600下,这就是由内存分频系数引起的。由于此时BIOS 里的设置值并非内存的实际工作频率,因此我们把BIOS中的设置值设为内存标称频率。AMD平台内存分频系数的计算方法如下:分频系数N=CPU默认主频×2÷内存标称频率,得到的数值再用“进一法”取整数,注意,“进一法”不是四舍五入,而是把小数点后的数字舍掉,在前面的整数部分加一。这时内存实际运行频率F=CPU主频÷分频系数N(CPU主频的提高,会使内存的实际运行频率提高)。以前面提到的AM2接口的Athlon64 3000+ 搭配DDR2 667内存为例,N=1800×2÷667≈5.397,取整数=6,此时内存的实际运行频率F=1800MHz÷6=300MHz,即DDR2 600。通过上面的计算公式,我们就知道了超频时内存的运行频率,如果已经远高于内存的工作极限频率,那么这时选择较高的分频比,就能让内存工作在正常的范围之内。
二、参数之间的关系
综上所述,可得出主频、外频、倍频、前端总线、内存频率之间的关系为:
1、CPU主频=外频×倍频(MHz)
2、Intel CPU前端总线=外频×4(MHz)
AMD CPU前端总线=外频×2(MHz)
3、DDR2内存频率=内存原频率×2(MHz)
DDR3内存频率=内存原频率×3(MHz)
AMD K8之后平台的内存频率=主频÷分频系数
4、Intel内存分频系数=前端总线FSB频率:内存DRAM频率
AMD K8之后平台内存分频系数=(CPU默认主频×2÷内存标称频率)用“进一法”取整数+1 (注意,“进一法”不是四舍五入,而是把小数点后的数字舍掉,在前面的整数部分加1)
此时,内存实际运行频率=CPU主频÷分频系数
5、数据带宽=(前端总线×数据位宽)÷8(MB/s)
由于现在的电脑均采用64bit的数据位宽进行数据传输,因此:
CPU数据带宽=前端总线×8(MB/s)
内存带宽=内存等效工作频率×8(MB/s)
(注意单位是字节,这里的8的单位是字节B,不是指的8个bit,是64bit/8=8B得到的,64bit是计算机每次传输的数据位数)
CPU | FSB Clock | Number of Transfers/Cycle | Bus Width | Transfer Rate |
---|---|---|---|---|
Pentium | 50 MHz-66 MHz | 1 | 64-bit | 400 MB/s-528 MB/s |
Pentium Overdrive | 25 MHz-66 MHz | 1 | 64-bit | 200 MB/s-528 MB/s |
Pentium MMX | 60 MHz-66 MHz | 1 | 64-bit | 480 MB/s-528 MB/s |
Pentium MMX Overdrive | 50 MHz-66 MHz | 1 | 64-bit | 400 MB/s-528 MB/s |
Pentium II | 66 MHz-100 MHz | 1 | 64-bit | 528 MB/s-800 MB/s |
Pentium II Overdrive | 60 MHz-66 MHz | 1 | 64-bit | 480 MB/s-528 MB/s |
Pentium III | 100 MHz-133 MHz | 1 | 64-bit | 800 MB/s-1064 MB/s |
Pentium III-M | 100 MHz-133 MHz | 1 | 64-bit | 800 MB/s-1064 MB/s |
Pentium 4 | 100 MHz-133 MHz | 4 | 64-bit | 3200 MB/s-4256 MB/s |
Pentium 4-M | 100 MHz | 4 | 64-bit | 3200 MB/s |
Pentium 4 HT | 133 MHz-200 MHz | 4 | 64-bit | 4256 MB/s-6400 MB/s |
Pentium 4 HT Extreme Edition | 200 MHz-266 MHz | 4 | 64-bit | 6400 MB/s-8512 MB/s |
Pentium D | 133 MHz-200 MHz | 4 | 64-bit | 4256 MB/s-6400 MB/s |
Pentium Extreme Edition | 200 MHz-266 MHz | 4 | 64-bit | 6400 MB/s-8512 MB/s |
Pentium M | 100 MHz-133 MHz | 4 | 64-bit | 3200 MB/s-4256 MB/s |
Core Solo | 133 MHz-166 MHz | 4 | 64-bit | 4256 MB/s-5312 MB/s |
Core Duo | 133 MHz-166 MHz | 4 | 64-bit | 4256 MB/s-5312 MB/s |
Core 2 Solo | 133 MHz-200 MHz | 4 | 64-bit | 4256 MB/s-6400 MB/s |
Core 2 Duo | 133 MHz-333 MHz | 4 | 64-bit | 4256 MB/s-10656 MB/s |
Core 2 Quad | 266 MHz-333 MHz | 4 | 64-bit | 8512 MB/s-10656 MB/s |
Core 2 Extreme | 200 MHz-400 MHz | 4 | 64-bit | 6400 MB/s-12800 MB/s |
Atom | 133 MHz-166 MHz | 4 | 64-bit | 4256 MB/s-5312 MB/s |
Celeron | 66 MHz-266 MHz | 1-4 | 64-bit | 528 MB/s-8512 MB/s |
Celeron D | 133 MHz | 4 | 64-bit | 4256 MB/s |
Celeron M | 100 MHz-200 MHz | 4 | 64-bit | 3200 MB/s-6400 MB/s |
Celeron Dual-Core | 133 MHz-200 MHz | 4 | 64-bit | 4256 MB/s-6400 MB/s |
Pentium Dual-Core | 133 MHz-266 MHz | 4 | 64-bit | 4256 MB/s-8512 MB/s |
Pentium Pro | 60 MHz-66 MHz | 1 | 64-bit | 480 MB/s-528 MB/s |
Pentium II Xeon | 100 MHz | 1 | 64-bit | 800 MB/s |
Pentium III Xeon | 100 MHz-133 MHz | 1 | 64-bit | 800 MB/s-1064 MB/s |
Xeon | 100 MHz-400 MHz | 4 | 64-bit | 3200 MB/s-12800 MB/s |
Itanium | 100 MHz-133 MHz | 1 | 64-bit | 800 MB/s-1064 MB/s |
Itanium 2 | 100 MHz-166 MHz | 4 | 64-bit | 3200 MB/s-5312 MB/s |
[edit]AMD processors
CPU | FSB Clock | Number of Cycles | Bus Width | Transfer Rate |
---|---|---|---|---|
K5 | 50 MHz-66 MHz | 1 | 64-bit | 400 MB/s-528 MB/s |
K6 | 66 MHz | 1 | 64-bit | 528 MB/s |
K6-II | 66 MHz-100 MHz | 1 | 64-bit | 528 MB/s-800 MB/s |
K6-III | 66 MHz-100 MHz | 1 | 64-bit | 528 MB/s-800 MB/s |
Athlon | 100 MHz-133 MHz | 2 | 64-bit | 1600 MB/s-2128 MB/s |
Athlon XP | 100 MHz-200 MHz | 2 | 64-bit | 1600 MB/s-3200 MB/s |
Mobile Athlon 4 | 100 MHz | 2 | 64-bit | 1600 MB/s |
Athlon XP-M | 100 MHz-133 MHz | 2 | 64-bit | 1600 MB/s-2128 MB/s |
Duron | 100 MHz-133 MHz | 2 | 64-bit | 1600 MB/s-2128 MB/s |
Sempron | 166 MHz-200 MHz | 2 | 64-bit | 2656 MB/s-3200 MB/s |
Athlon MP | 100 MHz-133 MHz | 2 | 64-bit | 1600 MB/s-2128 MB/s |
Vital Statistics
Warning: This is a confusing collection of numbers. What is important is how the different numbers relate to each other. Specific numbers are plugged in because they are occasionally mentioned in the literature.
Example: There are two versions of the Intel 2.4 GHz Pentium 4. One get a clock speed from the mainboard of 100 MHz, but since it transfers data 4 times per clock tick its "Font Side Bus" (FSB) to memory and I/O is said to be four times the clock or 400 MHz. Internally the CPU has a "multiplier" of 24, meaning the external clock is divided into 24 periods to produce the 2.4 GHz value. A slightly more modern version of P4 gets a 133 MHz clock, has a 533 MHz Front Side Bus and has a multiplier of 18. The equivalent AMD Athlon XP 2400+ gets a clock of 133 MHz, has a Front Side Bus twice that at 266 MHz, and an internal multiplier of 15. That gives it an internal speed of 2.0 GHz, but since it executes more instructions per internal clock tick it is rated to be equivalent to Intel's 2.4 GHz.
Chip Type | Actual Clock | Bits/Clock | FSB | Multiplier | Speed |
Pentium 4 2.4 | 100 MHz | 4 | 400 MHz | 24 | 2.4 GHz |
Pentium 4 2.4A | 133 MHz | 4 | 533 MHz | 18 | 2.4 GHz |
Athlon XP 2400 | 133 MHz | 2 | 266 MHz | 15 | 2.0 GHz |
The earliest PC had one clock, and its signal applied to the CPU, memory, and all the I/O devices. A modern PC has many different clock signals for different areas of the machine. Clocks are generated by the mainboard. Their speed is often set in the BIOS setup panels that appear when the user presses DEL or another key during the power up boot.
- CPU socket clock
- The mainboard generates a clock signal that paces the transfer of data to and from the CPU. Data from the CPU may be going to memory, to the AGP video card, or to an I/O device. The mainboard may sense the CPU chip and set the clock based on the manufacturer's recommendation, or it may provide a BIOS setup panel that lets the user adjust the clock value. The standard values tend to be 100, 133, 166, or 200 MHz.
- Front Side Bus (FSB)
- The CPU transfers data to the "Northbridge" chip on the mainboard. From there it can go to memory, the video card, or the I/O bus. An Intel CPU transfers data 4 times for every cycle of the CPU socket clock. So while the actual clock speed may be 200 MHz, an Intel CPU chip is typically described as having an 800 MHz Front Side Bus. AMD is more complicated. The old 32 bit Athlon processors transferred data only twice per clock cycle. With a CPU clock of 166 MHz, the FSB is 333 MHz. However, the new Athlon 64 CPU chip has its own integrated memory controller and a high speed HyperTransport integrated I/O bus. FSB numbers would be meaningless. There is no Northbridge chip between the CPU and other devices. The CPU can use its direct connection to memory while at the same time performing high speed I/O to video or other devices.
- Multiplier
- The CPU generates an internal clock that runs faster than the mainboard clock. If the mainboard clock is 100 MHz and the CPU "multiplier" is 24, then the internal clock cycles 24 times for every tick of the mainboard clock, producing a CPU speed of 2.4 GHz. The same 2.4 GHz can also be produced by applying a multiplier of 18 to a mainboard clock running at 133 MHz. The multiplier is manufactured into the CPU chip and cannot be changed.
- Memory
- Modern mainboards generate a separate clock to the memory. As it happens, the current memory clock rates are also 100, 133, 166, and 200 MHz. Some motherboards generate this clock as a completely independent number, while others express it as a ratio to the CPU bus clock. DDR (double data rate) memory transfers data twice per cycle (on the tick and again on the tock) and is therefore often quoted as having a speed that is twice the actual clock speed (200, 266, 333, or 400 MHz).
- PCI Bus
- The PCI standard calls for a 33 MHz clock speed. Some systems generate this independently, but most systems simply divide the 100 MHz CPU bus clock by three or the 133 MHz clock by 4. This is fine as long as you stick to the standard values. If you use the BIOS to nudge the CPU up slightly to a non-standard value like 110 MHz, then the PCI bus will also be running fast. At some point, one of the adapter cards will be far enough out of spec that it will become unreliable.
The Front Side Bus connects the CPU to memory. If the FSB is running at an effective rate of 800 MHz but the fastest memory is 400 MHz, then the CPU gets no benefit from its data transfer ability. The newest high performance mainboards have two separate memory buses. DDR memory has to be installed in pairs. A memory reference is split between the two 400 MHz buses producing an 800 MHz aggregate transfer rate that matches the speed of the CPU.