似曾相识 不过是个Bug...

大狗的窝~

前端总线,外频及单位GT/s,MHz区别

  今天网上逛耗材时候,看到i5 3450参数时候,发现了上图中那个总线频率的单位,我想,应该是前端总线频率吧,但是前端总线频率单位过去都是MHz,这个GT/s他喵的没见过啊!一时不解,特来把前端总线,外频的关系区别知识大恶补一番.

  几个让我混淆的概念:

  (1)主频,即CPU内核工作的时钟频率(Internal Clock frequency),实际运算速度.

  (2)外频,CPU的外部时钟频率(External Clock frequency). 单位MHz.

  (3)前端总线(Front Side Bus, FSB),将CPU连接到北桥芯片的总线. 

  其实,外频即前端总线的时钟频率(FSB Clock frequency).但是,前端总线频率往往被认知为CPU和北桥芯片间总线的传输数据的速率.

  问题就出在,频率速率有时候是不同的!前者是指单位时间中时钟周期的个数,后者指单位时间中数据传输的次数.(在国外wiki里似乎并不区分外频和FSB频率,两者一回事,只不过区分频率和速率是用actual bus frequencyeffective bus frequency来表示的,见参考)

 

  在很久很久以前(Pentium 4之前),在一个总线时钟周期内,CPU的前端总线只传输一次数据.如100MHZ的外频表示1秒内有108个时钟周期,也表示1秒内传输108次数据.所以,它们都用MHz做了单位,前端总线频率和外频相同.

  后来,随着技术发展,为了扩展FSB技术,Intel采用了Quad Data Rate技术,即每个总线时钟周期内传送四次数据,也就是说总线的数据传输速率等于总线时钟频率的4倍.同时,AMD采用了Double data rate,前端总线频率是外频的2倍.

  举个例子,假设一个Intel的CPU的外频是133MHz,倍频系数为10,那么主频为1.33GHz,数据传输速率则为533MHz=133Hz*4.而人们已经习惯用MHz认知FSB,Intel当时也就以533MHz这样来定义前端总线的频率了,但是实际驱动FSB的时钟频率是133MHz.

  内存和CPU类似,内存也分核心频率和工作频率,一般市面上标明的DDR 266内存,266实际指的是工作频率,因为使用DDR(Double data rate)技术,266=133*2,所以核心频率是133MHz.同理,DDR2为4倍,DDR3为8倍,所以当看到DDR3 1333内存时,它的核心频率为166MHZ=1333MHz/8.

(多说几嘴)假设这里将这根DDR266的内存与上面533MHz的CPU相连,会发现内存成为速度的瓶颈,因为前端总线(533MHz)的速度是内存(266MHz)的2倍,CPU总是浪费一半时间在等内存传数据过来,这时要么采用双通道技术(用2根DDR266内存),要么换一根DDR2 533的内存条.

 

  时光荏苒,biu的一下到了现在,又推出了新的总线系统:Intel的QuickPath Interconnect(QPI)以及AMD的HyperTransport(HT).

  QPI抛弃了曾经FSB易混淆的单位MHz,而使用GT/s,MT/s,明确的表示总线实际的数据传输速率,而不是时钟频率.T/s即transfers per second,表示每秒数据传输的次数.

  1 MT/s(megatransfers per second),1秒106次.

  1 GT/s(gigatransfers per second),1秒109次.

WIKI上说,QPI 的时钟频率基于2.4 GHz, 2.93 GHz或 3.2 GHz.而且QPI是双向的,在发送的同时也可以接收另一端传输来的数据.所以QPI的实际数据传输率是时钟频率的2倍.2个时钟周期传送一个基本的QPI数据单元是80bit(每个时钟周期传送2个20bit transfers),其中64bit有效数据.

  根据公式,数据传输速率: Channel width (bits/transfer) × transfers/second = bits transferred/second

  可以得出,时钟频率2.4GHz的QPI的数据传输速率是2.4GHz*2=4.8GT/s,

  实际数据传输比特率(bit rate)是2.4GHz*2*16bit*2/8=19.2GB/s.

 

 

其他参考:

http://www.enet.com.cn/article/2009/0220/A20090220431361.shtml

http://en.wikipedia.org/wiki/Front-side_bus

http://en.wikipedia.org/wiki/Transfer_(computing)

http://en.wikipedia.org/wiki/CPU_multiplier

 

posted on 2012-09-02 03:37  Mr.DejaVu  阅读(3257)  评论(0编辑  收藏  举报

导航

for myself...