CPU带宽和内存带宽之间的匹配.docx

上传人:b****6 文档编号:12278689 上传时间:2023-06-05 格式:DOCX 页数:12 大小:25.28KB
下载 相关 举报
CPU带宽和内存带宽之间的匹配.docx_第1页
第1页 / 共12页
CPU带宽和内存带宽之间的匹配.docx_第2页
第2页 / 共12页
CPU带宽和内存带宽之间的匹配.docx_第3页
第3页 / 共12页
CPU带宽和内存带宽之间的匹配.docx_第4页
第4页 / 共12页
CPU带宽和内存带宽之间的匹配.docx_第5页
第5页 / 共12页
CPU带宽和内存带宽之间的匹配.docx_第6页
第6页 / 共12页
CPU带宽和内存带宽之间的匹配.docx_第7页
第7页 / 共12页
CPU带宽和内存带宽之间的匹配.docx_第8页
第8页 / 共12页
CPU带宽和内存带宽之间的匹配.docx_第9页
第9页 / 共12页
CPU带宽和内存带宽之间的匹配.docx_第10页
第10页 / 共12页
CPU带宽和内存带宽之间的匹配.docx_第11页
第11页 / 共12页
CPU带宽和内存带宽之间的匹配.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

CPU带宽和内存带宽之间的匹配.docx

《CPU带宽和内存带宽之间的匹配.docx》由会员分享,可在线阅读,更多相关《CPU带宽和内存带宽之间的匹配.docx(12页珍藏版)》请在冰点文库上搜索。

CPU带宽和内存带宽之间的匹配.docx

CPU带宽和内存带宽之间的匹配

内存还有CPU带宽如何计算 

2009年08月03日 星期一 下午 04:

05 

CPU带宽是指CPU与北桥之间的数据传输率,从CPU前端总线带宽的计算方法“前端总线带宽=系统外频×N倍速×64位总线位宽/8”中,我们可以知道,P4系列133MHz外频即前端总线为533MHz(133MHz外频×4倍速)的CPU的传输带宽可达s(533MHz×8)速率。

  

由此我们可以换算出其他不同前端总线CPU的带宽:

266MHz FSB的传输带宽为s;333MHz FSB的传输带宽为s;400MHz FSB的传输带宽为s;533MHz FSB的传输带宽为s,800MHz FSB的传输带宽为s。

  

内存速率是指内存的工作频率,例如DDR266的工作频率即为266MHz,根据内存带宽的算法:

带宽=总线位宽/8×一个时钟周期内交换的数据包个数×总线频率,DDR266的带宽=64/8×2×133=2128,它的传输带宽为s,因此DDR266又俗称为PC2100,这里的2100就是指其内存带宽约为2100MB。

  

同理,DDR333的工作频率为333MHz,传输带宽为s,俗称PC2700;DDR400的工作频率为400MHz,传输带宽为s,俗称PC3200。

内存带宽计算公式:

带宽=内存时钟频率×内存总线位数×倍增系数/8。

以目前的DDR400内存为例,它的运行频率为200MHz,数据总线位数为64bit,由于上升沿和下降沿都传输数据,因此倍增系数为2,此时带宽为:

200×64×2/8=s(如果是两条内存组成的双通道,那带宽则为 GB/s)。

很明显,在现有技术水准下,运行频率很难成倍提升,此时数据总线位数与倍增系数是技术突破点。

计算内存带宽  

内存的带宽总量可能是决定一组内存的性能的重要标准之一了。

这个是什么意思呢其实真正理解起来不难,而且还非常容易计算。

我们刚才所说的内存带宽总量其实就是在理想状态下这一组内存在一秒内所能传输的最大数据容量。

公式也很简单:

内存带宽总量(MBytes) = 最大时钟速频率 (MHz) x 总线宽度 (bits) x 每时钟数据段数量/ 8 

好了,我们还是来解释解释吧。

“每时钟数据段数量”这个是最好理解的了——你只需要记住,如果你的内存是SDR那么这里这个值就等于1,如果您使用的是DDR或者是RDRAM的话,那么这个值就是2。

然后我们再将这个值除以8的意义就是将位这个单位换算成为字节。

  所以说,对于一般的标准PC2100 DDR内存来说,他的最大时钟频率应该是133MHz,而它的内存总线宽度为64bit,每时钟数据段数为2。

所以(133x64x2)/8 = 2128MB/s。

一秒种能够传输2128MB,现在你知道为什么叫做PC2100了吧 

再来一个例子。

这次就拿PC800的RDRAM来计算吧。

最大时钟频率为400MHz,内存总线宽度为16bit,每时钟数据段数为2,那么套用公式了之后就是(400x16x2)/8 = 1600MB/s。

  从这里的大家可以看的出来吧,PC2100的DDR内存能够提供高达s 的带宽,而RDRAM内存的带宽只能达到s,但是需要大家注意的是,由于RDRAM是曾对使用,两条内存一共可以s的内存带宽,而新一代的RIMM内存(总线为32位的RDRAM内存) 将会使用两个数据通道进行工作,所以,他们的带宽几一下增加了一倍——这样就成为了s,并且单独一条内存即可使用。

内存带宽计算公式  

内存带宽=内存工作频率X内存总线宽度/8(计算带宽时位和字节的换算) 

SDR和DDR都是64bit的总线宽度,只是DDR可以在时钟信号的上升沿和下降沿都传送数据,因此计算得到的相应带宽要X2。

RDR的总线带宽较窄,只有16bit,但RDR在工作时使用的是对称传输的工作模式,因此计算得到的相应带宽也要X2。

DDR266、333的命名方式是因为DDR的理论效能是SDR的两倍,为了区别SDR,所以分别以SDR工作频率的两倍来区分DDR,分别映射在133、166MHz工作下的DDR。

PC1600、2100、2700的命名方式是指DDR的实际带宽,分别映射在100、133、166MHz工作下的DDR。

 

产生CPU和Memory瓶颈的原因 

现今的存储器速度远远低于处理器的速度。

外频并不一定是CPU的BIU(Bus Interface Unit)的工作频率。

现在的总线的速度一般在200MHz到500MHz。

和CPU一样,总线的工作频率也是通过倍频得到的。

现在的主板提供的内存异步工作模式都是内存频率小于总线频率。

比如Bus工作在266MHz下,内存工作在100MHz下。

 

你说的266应该是DDR内存吧,266MHz的DDR,clock还是133MHz。

如果你的Duron是100MHz的外频,也就是说Bus的频率是200MHz,那么你的DDR的工作clock也是100MHz。

 

 

INTEL系列,CPU通过FSB与北桥芯片连接,北桥芯片负责与内存和显卡通信!

  

英特尔 Pentium 4的FSB分别是400、533、800MHz,总线带宽分别是sec,sec和sec,而DDR 266/DDR 333/DDR 400所能提供的内存带宽分别是sec,sec和sec。

  

数据带宽=(总线频率×数据位宽)÷8. 

无论单核、双核还是多核CPU,前端总线带宽的计算方法与单核的完全一样。

原因很简单,这些多核CPU的前端总线只有一条,只能与单一的内存控制器连接。

这里说一下SMP平台。

在多路处理器平台上(桌面PC除外),没块CPU都有自己独立的内存控制器和相应的内存模块,所有CPU采取并行处理方式工作。

 

64位CPU只是将CPU的物理内存寻址空间提高了,并没有影响到CPU前端总线带宽,所以计算方法同前。

 

问:

看到越来越多的地方提到CPU带宽和内存带宽,我想问一下它们具体是怎么样计算的,北京电脑维修还有主板是否也有带宽计算的问题,如果有应该如何计算 

    答:

带宽计算的一般公式为:

带宽=数据频率x位宽=8。

国贸电脑维修所谓的CPU带宽一般是指CPU 

的前端总线(FSB)带宽,也就是CPU与内存控制器之间传输数据的速度。

比如Intel Celeron/Pentium 4和AMD Athlon/Duron处理器的前端总线位宽都是64 bit, 800 MHz FSB的Pentium 4处理器前端总线带宽为800 MHzX64 bit-' 8= GB/x,400 MHz FSB的Barton核心Athlon XP处理器前端总线带宽为400 MHzX64 bit-' 8= GB/s, 

    内存带宽的计算也是如此,SDRAM和DDRSDRAM内存都是64 bit位宽,DDR 400的带宽 

为400 MHzX64 bit-8= GB/so因为CPU和内存要频繁地交换数据,望京电脑维修所以当内存带宽与CPU前端总线带宽相匹配时才能获得更好的性能。

 

    实际上,计算机中只要有数据传输的地方(不论是串行总线还是并行总线)都会涉及带宽,因此主板也有带宽的问题。

例如前面所讲的前端总线带宽就是CPU和主板北桥芯片之间的数据传输率,内存带宽就是内存和主板北桥芯片之间的数据传输率,还有主板的南北桥之间、ATA/SATA接口和硬盘之间都存在带宽大小的问题  

1、CPU带宽是指CPU与北桥之间的数据传输率,其计算公式如下:

     CPU带宽=前端总线频率×数据总线位数/8 以800MHZ的FSB的P4为例,其带宽为:

 800×64/8=6400MB/S  

2、内存带宽; 

  内存带宽=内存总线频率×数据总线位数/8 以单通道DDR400内存为例,其带宽为:

 400×64/8=3200MB/S 如果为双通道的则×2;

 

 

 

3、总线带宽; 

  总线带宽=总线频率×数据总线位数/8 以32位PCI为例:

33×32/8=132MB/S 再以AGP 8× 为例;528×32/8=2212MB/S AGP 1×的总线频率为66MHZ  

技嘉MA770T-D3L      (AMD 770+SB710,全固态,带COM口)     550 

华硕M4A88T-M LE     (AMD 880G,VGA+DVI+HDMI,全固态)      515 

华硕M4A87TD         (AMD 870+SB850,全固态大板)          670 

主板:

微星870-C45 V2     AMD870+SB710              540 

微星870A-G46        AMD870+SB850             690

Intel的CPU,从P4开始就对内存带宽有一定要求,为什么当年Intel非要推RamBUS来搭配P4就是因为SDRAM和DDRRAM都不足以满足P4的需求。

具体说一下,FSB为533的P4(外频为133),数据带宽需求为S(可以这么粗略估算,CPU带宽=FSB×8),FSB800的P4带宽需求为s。

而同时期的DDR400能提供的带宽也只有s(所以DDR400又叫PC3200内存,就是以带宽命名的),DDR266带宽为s,DDR333带宽为s,可见单根DDR内存满足不了FSB800的P4的需求,当CPU要数据时内存却传不过来足够的数据,造成CPU闲置。

所以Intel费劲功夫硬性推广RamBUS来搭配自家的P4。

但无奈RamBUS成本和产能都摆在那里,成了曲高和寡的东西。

不得已Intel舍弃850芯片组,重新推出的支持SDRAM的845芯片组来搭配P4,早期买P4的可能就是这种主板,其实此时P4的性能被内存制约了。

包括后来出的支持DDR单通道内存的845D、848等等芯片组,都没有完美解决问题。

  后来出现了支持“双通道”的865芯片组才解决了问题,双通道的DDR266带宽正好满足FSB533的P4,而双通道的DDR400则满足了FSB800的P4。

这个规律可以简单的推算为内存标称值*2=FSB频率(补充一下:

内存实际工作频率是标称值的一半,也就是标称DDR400的内存,实际内存工作频率是200MHz,DDR2800内存,实际工作频率是400MHz)。

如DDR400的双通道内存可以满足FSB800的CPU,DDR2533的双通道内存可以满足FSB1066的CPU,DDR2667的内存双通到可以满足FSB1333的CPU,DDR2800内存双通就可以满足FSB1600。

  目前的酷睿CPU,低端的仍旧是FSB800的(肉羊420、E2140、E4300等),此时一根DDR2667的内存还满足不了CPU的需求(如果超频到800也可以),而1根DDR2800的内存则正好能满足需求(或者2跟DDR400内存组双通道也可以,不过极少有这种主板)。

如果进行超频,比如E2140,当CPU外频从200超到266,FSB为1066,此时双通道的DDR2533可以满足带宽,超频到333外频时则双通道的667可以满足带宽,超频到400外频时,此时FSB已是1600了,则只有双通道的DDR2800内存才能满足CPU的需求。

  由此可见,如果不超频,搭配FSB800系列,最好起步就是单根800的内存,如果购买的是FSB1066或1333的U,单根内存就彻底没法满足要求了,最好上双通道。

如果还打算超频,比如大家梦寐以求的400外频,则最好一次就购入2条800的内存组成双通道。

否则即使CPU频率上去了,实际使用中还是会因为内存带宽不足而拖CPU的后退。

目前800内存和667内存几乎一个价,所以就不要再考虑667内存了。

-t6K8O36Y%I'K0e5j!

a)p9_    如果不知道自己的系统到底cpu和内存带宽是多少,可以运行一个叫EVEREST的软件,在“主板”-“主板”下可以查到2者的带宽情况。

只要内存带宽高于前端总线(FSB)带宽就可以了。

KB)

.h(c0[8K9D'K2008-11-2120:

13

 

"J,h5p5r2j6t)T  M

)O)X#M8V0d0j:

Y部分CPU的FSB

4t$g)H  A%J9_1}FSB800      赛扬4XX系列,奔腾E2XXX系列,酷睿E4XXX系列,还有很老的奔腾D系列。

%u3k*A4l7j7|/C7oFSB1066    部分E6XXX系列(6300/6400/6500/6320/6420),E7XXX系列(7200/7300),X6(X6800),4核的Q6XXX系列(6600/6700)。

1b6M#Q0d48I*g6D2~%cFSB1333    部分E6XXX系列(6550/6750/6850),E8XXX系列(8100/8200/8300/8400),4核的Q9XXX系列(9100/9300/9550)/QX9XXX(9650)/QX6XXX(6850),

补充:

最近发现老有DIYer选用E7200/E8300之类CPU,却只搭配1根DDR2800内存,这样会严重拖累系统的。

请装机时注意避免。

9u&k#z0O0{

'X!

H  Z'q;{0a,*|3Y注:

对于AMD的CPU,因为内部整合了内存管理器,所以不需要经过北桥来读取内存数据,而是CPU直接读取数据,因此不像Intel的CPU这么需要强调带宽搭配问题,一般可以用单条2GDDR2800来装机。

超频基础知识:

简单核算CPU前端总线和内存带宽匹配的问题

带宽计算公式:

带宽=时钟频率×总线位数×倍增系数/8

    在Intel平台,内存控制器集成在北桥里,CPU和内存交换数据,是经由CPU前端总线和北桥交换数据,再由北桥和内存交换数据。

所以北桥到内存的带宽必须大于等于CPU到北桥的带宽这样才不会产生瓶颈。

前端总线和内存位数都是64。

现在的内存都是DDR内存,即DOUBLE DATA RATE(双倍数据率),倍增系数都是2,我们平时所说的DDR2 667或DDR2 800等等都是乘上了“2”这个倍增系数的频率,内存实际工作的频率为333和400MHZ,如果按我们的习惯称谓来计算内存带宽,就不需再乘以备增系数。

    可以看出,按我们的习惯,在这个公式里,只有时钟频率是不一定的,在其他系数均相同的情况下,完全可以简单的比较前端总线和内存的频率关系来核算两者带宽是否匹配。

 

    例如:

E4500的前端总线为800MHZ,如果采用1条DDR2 800MHZ内存,那么两个频率相等即带宽相等,不存在瓶颈。

又如E6550的前端总线为1333MHZ,由于没有这么高频率的DDR2内存,所以如果采用单条内存方案,无论匹配哪种DDR2内存,都会产生瓶颈。

只有组建双通道才能解决瓶颈问题,比如采用两条ddr2 667内存,根据以上说明,简单将其频率相加为1333MHZ,则代表此时两者带宽刚好匹配,无瓶颈产生.

    在AMD平台,内存控制器集成在CPU内部,CPU通过HT总线直接和内存交换数据,绕开了北桥的连接,所以没有前端总线一说。

也就没有内存带宽和前端总线带宽是否匹配的说法!

AMD CPU内部的内存控制器采用了分频的方式,这个方式有点复杂,可以通过以下的频率关系公式计算得出内存实际运行频率:

1、内存分频=主频(超频前,目前均为200MHZ)×倍频(超频后)÷内存频率(BIOS内设置值)后取整。

2、主频×倍频=CPU实际运行频率。

3、CPU实际运行频率÷内存分频=内存实际运行频率,这个非常重要,很多人超频不成功就是因为内存的实际运行频率大大高于默认频率,而内存条的超频性能又不是很好。

    所以,AMD平台在大多数时候,内存都工作在一个非标准的频率下,这个频率随着CPU主频、倍频、设定内存频率的变化而变化,内存带宽也就千变万化,但是总结经验如下:

不超频采用双通道667足够,超频就必须用体质好的DDR2 800内存组建双通道,以避免因内存分频关系,造成超频后内存实际工作频率过高而引起的不稳定!

CPU总线带宽和内存带宽匹配

外频

外频是由主板为CPU提供的基准时钟频率,一般常见的有100、133、166、200。

我们说的FSB(FrontSystemBus)指的是系统前端总线,他是处理器和主板北桥芯片或内存控制集线器之间的数据通道,常见频率有400、333、533、800。

作为新手不必掌控那么多概念性的东西,只要记住以下几个公式:

主频=外频*倍频(MHz)

IntelCPU前端总线=外频*4(MHz)

AMDCPU前端总线=外频*2(MHz)

CPU数据带宽=前端总线*8(MB/s)

内存带宽=内存等效工作频率*8(MB/s)

前端总线频率

  总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。

通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。

人们常常以MHz表示的速度来描述总线频率。

总线的种类非常多,前端总线的英文名字是FrontSideBus,通常用FSB表示,是将CPU连接到北桥芯片的总线。

计算机的前端总线频率是由CPU和北桥芯片一起决定的。

    北桥芯片负责联系内存、显卡等数据吞吐量最大的部件,并和南桥芯片连接。

CPU就是通过前端总线(FSB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。

前端总线是CPU和外界交换数据的最主要通道,因此前端总线的数据传输能力对计算机整体性能作用非常大,如果没足够快的前端总线,再强的CPU也不能明显提高计算机整体速度。

数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。

目前PC机上所能达到的前端总线频率有266MHz、333MHz、400MHz、533MHz、800MHz几种,最高到1066MHz。

前端总线频率越大,代表着CPU和北桥芯片之间的数据传输能力越大,更能充分发挥出CPU的功能。

目前的CPU技术发展非常快,运算速度提高非常快,而足够大的前端总线能保障有足够的数据供给给CPU,较低的前端总线将无法供给足够的数据给CPU,这样就限制了CPU性能得发挥,成为系统瓶颈。

外频和前端总线频率的差别

    前端总线的速度指的是CPU和北桥芯片间总线的速度,更实质性的表示了CPU和外界数据传输的速度。

而外频的概念是建立在数字脉冲信号震荡速度基础之上的,也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一万万次,他更多的影响了PCI及其他总线的频率。

之所以前端总线和外频这两个概念容易混淆,主要的原因是在以前的非常长一段时间里(主要是在Pentium4出现之前和刚出现Pentium4时),前端总线频率和外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。

随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了QDR(QuadDateRate)技术,或其他类似的技术实现这个目的。

这些技术的原理类似于AGP的2X或4X,他们使得前端总线的频率成为外频的2倍、4倍甚至更高,从此之后前端总线和外频的差别才开始被人们重视起来,目前的主流产品均采用这些技术。

DDR和DDR2内存说明

DDR传输标准  

    严格的说DDR应该叫DDRSDRAM,人们习惯称为DDR,部分初学者也常看到DDRSDRAM,就认为是SDRAM。

DDRSDRAM是DoubleDataRateSDRAM的缩写,是双倍速率同步动态随机存储器的意思。

DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即可实现DDR内存的生产,可有效的降低成本。

    SDRAM在一个时钟周期内只传输一次数据,他是在时钟的上升期进行数据传输;而DDR内存则是个时钟周期内传输两次次数据,他能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。

DDR内存能在和SDRAM相同的总线频率下达到更高的数据传输率。

和SDRAM相比:

DDR运用了更先进的同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,又保持和CPU完全同步;DDR使用了DLL(DelayLockedLoop,延时锁定回路提供一个数据滤波信号)技术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器模块的数据。

DDR本质上不必提高时钟频率就能加倍提高SDRAM的速度,他允许在时钟脉冲的上升沿和下降沿读出数据,因而其速度是标准SDRA的两倍。

    从外形体积上DDR和SDRAM相比差别并不大,他们具有同样的尺寸和同样的针脚距离。

但DDR为184针脚,比SDRAM多出了16个针脚,主要包含了新的控制、时钟、电源和接地等信号。

DDR内存采用的是支持电压的SSTL2标准,而不是SDRAM使用的电压的LVTTL标准。

  DDR内存的频率能用工作频率和等效频率两种方式表示,工作频率是内存颗粒实际的工作频率,不过由于DDR内存能在脉冲的上升和下降沿都传输数据,因此传输数据的等效频率是工作频率的两倍。

  PC1600如果按照传统习惯传输标准的命名,PC1600(DDR200)应该是PC200。

在当时DDR内存正在和RDRAM内存进行下一代内存标准之争,此时的RDRAM按照频率命名应该叫PC600和PC800。

这样对于不是非常了解的人来说,自然会认为PC200远远落后于PC600,而JEDEC基于市场竞争的考虑,将DDR内存的命名规范进行了调整。

传统习惯是按照内存工作频率来命名,而DDR内存则以内存传输速率命名。

因此才有了今天的PC1600、PC2100、PC2700、PC3200、PC3500等(在用CPU-Z工具查看机器时,在SPD中显示的最大带宽)。

  PC1600的实际工作频率是100MHz,而等效工作频率是200MHz,那么他的数据传输率就为“数据传输率=频率*每次传输的数据位数”,就是200MHz*64bit=12800Mb/s,再除以8就换算为MB为单位,就是1600MB/s,从而命名为PC1600。

DDR2传输标准  

    DDR2能看作是DDR技术标准的一种升级和扩展:

DDR的核心频率和时钟频率相等,但数据频率为时钟频率的两倍,也就是说在一个时钟周期内必须传输两次数据。

而DDR2采用“4bitPrefetch(4位预取)”机制,核心频率仅为时钟频率的一半、时钟频率再为数据频率的一半,这样即使核心频率还在200MHz,DDR2内存的数据频率也能达到800MHz也就是所谓的DDR2800。

目前,已有的标准DDR2内存分为DDR2400和DDR2533,DDR2667和DDR2800,其核心频率分别为100MHz、133MHz、166MHz和200MHz,其总线频率(时钟频率)分别为200MHz、266MHz、333MHz和400MHz,等效的数据传输频率分别为400MHz、533MHz、667MHz和800MHz,其对应的内存传输带宽分别为sec、sec、sec和sec,按照其内存传输带宽分别标注为PC23200、PC24300、PC25300和PC26400。

DDRSDRAM是“DoubleDataRateSDRAM”的缩写,即“双倍速率同步动态随机存储器”。

和早期的SDRAM相比,DDRSDRAM内存可在时钟脉冲的上升和下降沿同时传输信号,这意味着在相同的工作频率下,DDRSDRAM的理论传输速率为SDRAM的两倍。

例如:

同为133MHz的工作频率,SDR

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2