Chinaunix

标题: [求教]关于CPU时钟频率的初始化的问题 [打印本页]

作者: csuwzc    时间: 2012-05-11 16:08
标题: [求教]关于CPU时钟频率的初始化的问题
mini2440开发板在Linux启动时有如下信息:

S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz

但是似乎bootloader将FCLK设置为400MHz,

请问内核在启动时是否会修改时钟频率?

我自己在内核中找了很久也没个眉目,希望能得到大家的指导。
作者: muzi19861113    时间: 2012-05-11 16:53
首先你应该明白CPU使用的频率是怎么产生的。
CPU使用的频率是有CPU外接的晶体振荡器的频率通过锁相环以后
倍增到的。
加入晶体振荡器的频率为10M,而通过锁相环倍增的倍数为12.那么
CPU运行的时候使用的频率就是120M。
而锁相环的倍增倍数是系统在初始化的时候通过设置特定寄存器的值
来实现的。

以上是本人愚见,不知道能不能帮你解开疑惑。
作者: linuxfellow    时间: 2012-05-13 02:21
回复 1# csuwzc
一般情况下,系统主频在cpu刚刚起来时就得设定,因为很多情况下其他外设的时钟都从主频变频得来。设定后就不再改变。
记得曾经设置一个powerpc主频,工作频率是264MHz,上电启动时,缺省运行频率不是很高,设置主频时不能跳动太大,一下子就升到264M. 而是分几个阶段: 先配置到64M,等锁相环稳定后,重新配置到128M;等cpu稳定工作到128M后在升到264M。一下子升得太高会导致锁相环工作不稳定。
所以如何设置主频, 一定要看手册的。很简单,就是寄存器配置,看懂就可以。
   
作者: hk1980    时间: 2012-05-13 08:47
acpi interrupt at system boot is used to caculate frequency, roughly. This will be used to update jiffery, fire timers, etc.

refer to calibrate_APIC_clock( ) :

https://s3-ap-northeast-1.amazon ... ummy_split_146.html

http://lxr.free-electrons.com/so ... el/apic/apic.c#L644





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2