Intel X86的turboboost 动态变频

turboboost是Intel在iCore平台引入的动态变频技术。

在这之前,或者说大约20+年前,在Intel奔腾处理器的时代,在那个CPU性能主要决定于主频的时代,各大院校的高年级学生非常热衷于购买Intel的赛扬处理器,因为它具有超强的超频能力,比如200MHz的CPU,通过主板跳线就可以超频到300MHz,甚至更高。在大家Hi的不亦乐乎的时候,也面临着CPU玩完的风险,因为超频太高,温度高,导致CPU的永久损坏。

到了iCore之后,Intel把变频技术design-inCPU,这样就不用在打开机箱,拨弄跳线了。这个变频技术就是turboboost。它不仅仅是超频,也包括了降频,为啥要降频?这就好像家里的空调,晚上睡觉了就希望空调吹的小一些,温柔一些,既省电,还能安静睡眠。所以,降频也是为了节约系统的功耗,在系统负载小的时候就把CPU的总频率降下来,节约用电,save the earth。

简单来说,Intel的turboboos就是根据目前CPU的功耗/温度特性,动态调整CPU核心频率的技术。

比如一个4核心的CPU,标称频率2.4GHz,当其中core1被一个任务占用而忙,其余三个core的负载很轻的情况下,CPU会把core1的频率提到到2.8GHz,甚至更高,只要总的温度/功耗特性仍然在CPU的设计范围之内就可以。如果很不幸,所有的4个core都很忙,CPU使用率都很高,那么这个时候大家都还是按照CPU出厂的标称频率2.4GHz进行工作。

具体的turboboost的描述,请参考Intel的文档。

还是用测试来形象地展示一下它的工作。

测试系统是在Intel Xeon E7-EX上测试的,系统一共72个核心,18*4,没有超线程,标称频率2.4GHz。

首先看缺省的情况,

Socket [0] - [physical cores=18, logical cores=18, max onlinecores ever=18]

  CPU Multiplier 24x ||Bus clock frequency (BCLK) 100.00 MHz

  TURBO ENABLED on 18Cores, Hyper Threading OFF

  Max Frequency withoutconsidering Turbo 2500.00 MHz (100.00 x [25])

  Max TURBO Multiplier (ifEnabled) with 1/2/3/4/5/6/7/8/9/10/11/12/13/14/15 cores is  33x/33x/31x/30x/29x/28x/28x/28x/28x/28x/28x

  Real Current Frequency2798.83 MHz (Max of below)

        Core [core-id]  :Actual Freq (Mult.)      C0%  Halt(C1)%  C3 %   C6 % Temp

        Core 1 [0]:       2798.83 (27.99x)       100      0       0       0   34

        Core 2 [1]:       2798.80 (27.99x)        25   70.8       0       0   34

        Core 3 [2]:       2798.80 (27.99x)      24.2   71.7       0       0   34

        Core 4 [3]:       2798.83 (27.99x)      99.5      0       0       0   33

        Core 5 [4]:       2798.83 (27.99x)      65.5   23.6       0       0   32

需要关注的是第5行,它显示了,如果一个或者两个core工作的情况下,它可以有3.3GHz(33x100MHz),如果有4个core工作的情况下,最高可以到3.0GHz(30x100MHz),以此类推。

而现在的工作频率是2.8GHz。

现在看关掉turboboost之后的情况(通过BIOS或者其他手段关闭)。

Socket [0] - [physical cores=18, logical cores=18, max onlinecores ever=18]

  CPU Multiplier 24x ||Bus clock frequency (BCLK) 99.96 MHz

  TURBO ENABLED on 18Cores, Hyper Threading OFF

  Max Frequency withoutconsidering Turbo 2498.96 MHz (99.96 x [25])

  Max TURBO Multiplier (ifEnabled) with 1/2/3/4/5/6/7/8/9/10/11/12/13/14/15 cores is33x/33x/31x/30x/29x/28x/28x/28x/28x/28x/28x/28x/28x/28x/28x

  Real Current Frequency2399.03 MHz (Max of below)

  Core [core-id] :ActualFreq (Mult.) C0% Halt(C1)% C3 % C6 % Temp

  Core 1 [0]: 2399.01(24.00x) 28.2 71.8 0 0 29

  Core 2 [1]: 2399.01(24.00x) 27.6 72.4 0 0 28

  Core 3 [2]: 2399.01(24.00x) 28.6 71.4 0 0 30

  Core 4 [3]: 2399.00(24.00x) 42.9 57.1 0 0 30

  Core 5 [4]: 2399.02(24.00x) 25.1 74.9 0 0 29

  Core 6 [5]: 2399.01(24.00x) 43.1 56.9 0 0 29

可以看到,目前所有的core都工作在标称频率2.4GHz的情况下。

再来看一下,如果只使能了4个CPU core,在打开turboboost的情况下会怎么样。

Socket [0] - [physical cores=4, logical cores=4, max onlinecores ever=4]

  CPU Multiplier 24x ||Bus clock frequency (BCLK) 99.96 MHz

  TURBO ENABLED on 4Cores, Hyper Threading OFF

  Max Frequency withoutconsidering Turbo 2498.96 MHz (99.96 x [25])

  Max TURBO Multiplier (ifEnabled) with 1/2/3/4 cores is 33x/33x/31x/30x

  Real Current Frequency3000.00 MHz (Max of below)

        Core[core-id]  :Actual Freq (Mult.)      C0%  Halt(C1)%  C3 %   C6 % Temp

        Core 1 [0]:       3000.00 (30.01x)       100      0       0       0   32

        Core 2 [1]:       3000.00 (30.01x)       100      0       0       0   27

        Core 3 [2]:       3000.00 (30.01x)      99.4      0       0       0   31

        Core 4 [3]:       2999.98 (30.01x)      42.5   46.9       0       0   29

这个时候,仅仅列出了4个CPU core,而且每个都工作在3.0GHz,和第5行描述的一样。

“Intel,诚不我欺也”。

Linux系统中引入了cpufreq机制来支持turboboost以及用户的配置。还有工具turbostat用来查看当前系统的CPU变频情况。

总的来说Linux里面会结合当前系统对于功耗,性能的要求(profile)以及CPU自身的特性为用户提供符合其业务特性的支持。

下一次讲讲Intel X86的SMP吧。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343