百科问答小站 logo
百科问答小站 font logo



CPU是怎么改变频率的? 第1页

  

user avatar   mikewolfwoo 网友的相关建议: 
      

更改倍频很简单,就是通过PLL CLOCK MULTIPLIER完成。我们从头来看一下。

主板上有好几个晶振,其中最重要的就是XTAL:

它提供了基准的24MHz频率。它接入南桥PCH的嵌入式时钟控制器ICC(Integrated Clock Control),经过其中的PLL和差分器,输出100MHz的时钟信号CLKOUT_CPUBCLK_PIN:

这个CLKOUT_CPUBCLK_PIN就是大名鼎鼎的BCLK:

注意我选择的是不支持超频的Standard Profile,如果是想要超频,需要BIOS选择Overclock profile:

BIOS可以通过调节BCLK PLL来调整输出给CPU的BCLK,可以以1MHz的步进进行调节。这些资料来源于PCH Z270的芯片手册(datasheet)[1]

BCLK也叫做基频(Base Clock,BCLK),它像雪山上留下的第一股泉水,从南桥流出,汇入CPU,从此不断分叉,滋养了其中大多数IP,如内核、核显,也包括今天的主角CPU Cores

它是基准频率,其他的频率都是在它的基础上变换出来的:

CPU中的各个器件并不是工作在100MHz上,各个IP有自己的倍频(Multiplier)自己服务。例如CPU内核的频率就是这样计算的:

CPU主频 = 基频BCLK × 倍频

举个例子,标称3.5GHz的CPU,它的基频是100MHz,内核的倍频是35,算下来就是

100 × 35 = 3500MHz=3.5GHz

十分简单,是不是?

这个倍频器(Multiplier)又是谁来操作,怎么操作的呢?

倍频器(Multiplier)

举个PLL Clock Multiplier的例子:501A[2].它的原理很简单,就是通过S0,S1两个pin脚来控制输出clock对输入clock的倍数,如下图红框部分:


引脚图如下:

S0和S1有三种状态:高,低和悬空(Float),输出倍数的真值表如下:

从中可以看到501A可以最大变频12倍。当然CPU中并没有用501A,单原理类似,通过控制S0和S1,我们就可以控制倍数关系。在芯片中CPU内核时钟域的倍频器也是由PLL组成。它的控制者就是CPU的主频管家:PCU,关于它,可以参考我的这篇文章:

PCU通过类似控制S0/S1的方式,控制内核PLL倍频器,来操作倍频。

欢迎大家关注我的专栏和用微信扫描下方二维码加入微信公众号"UEFIBlog",在那里有最新的文章。

参考

  1. ^Datasheet http://www.intel.com/content/www/us/en/chipsets/200-series-chipset-pch-datasheet-vol-1.html?wapkw=200+series+chipset
  2. ^501A https://www.idt.com/us/en/document/dst/loco-pll-clock-multiplier



  

相关话题

  如果在内核把特权级切换到用户态之前屏蔽 CPU 对软中断的响应,是不是就再也进不了内核态了? 
  在 CPU 中集成 FPGA 等可编程电路的想法如何? 
  CPU GPU一个时钟内最大会有多少比例的晶体管同时翻转? 
  为什么电脑 CPU 不像手机 SoC 那样设计成大小核? 
  ARM64 有能力完全取代 AMD64 吗? 
  nvidia新GPU据说渲染光追快6倍,是否意味着停滞以久的游戏画面革命再来以及电影级画质游戏出现? 
  如何看待百度突然大量撤销硬件贴吧吧主? 
  消费级电脑芯片应该追求单核高频还是多个核心? 
  如何看待PS5(PlayStation5)的soc内核照片(die shot)? 
  如何看待麒麟970理论性能超骁龙835,而游戏体验却不如835? 

前一个讨论
如何看待文明6吧被爆破?
下一个讨论
希拉里为什么不参加2020年大选了?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利