精华内容
下载资源
问答
  • 时钟频率

    千次阅读 2013-03-03 21:28:19
    CPU的主频,是其核心内部的工作频率(核心时钟频率),它是评定CPU性能的重要指标。 目录 简介CPU主频所受限制发展简史相关知识来龙去脉 一、频率是什么二、谁在产生频率三、时钟芯片:可编程的...

     

    求助编辑百科名片

    时钟频率,是提供电脑定时信号的一个源,这个源产生不同频率的基准信号,用来同步CPU的每一步操作,通常简称其为频率。CPU的主频,是其核心内部的工作频率(核心时钟频率),它是评定CPU性能的重要指标。

    编辑本段简介

    时钟频率

      时钟频率

    在电子技术中,脉冲信号是一个按一定电压幅度,一定时间间隔连续发出的脉冲信号。脉冲信号之间的时间间隔称为周期;而将在单位时间(如1秒)内所产生的脉冲个数称为频率频率是描述周期性循环信号(包括脉冲信号)在单位时间内所出现的脉冲数量多少的计量名称;频率的标准计量单位是Hz(赫)。电脑中的系统时钟就是一个典型的频率相当精确和稳定的脉冲信号发生器频率在数学表达式中用“f”表示,其相应的单位有:Hz(赫)、kHz(千赫)、MHz(兆赫)、GHz(吉赫)。其中1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz。计算脉冲信号周期的时间单位及相应的换算关系是:s(秒)、ms(毫秒)、μs(微秒)、ns(纳秒),其中:1s=1000ms,1 ms=1000μs,1μs=1000ns。

    编辑本段CPU主频

    CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。通常所说的某某CPU是多少GHz的,而这个多少GHz就是“CPU的主频”。很多人认为CPU的主频就是其运行速度,其实不然。CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力并没有直接关系。主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(缓存指令集、CPU的位数等等)。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU实际运算速度较低的现象。比如AMD公司的AthlonXP系列CPU大多都能以较低的主频,达到英特尔公司的Pentium 4系列CPU较高主频的CPU性能,所以AthlonXP系列CPU才以PR值的方式来命名。因此主频仅是CPU性能表现的一个方面,而不代表CPU的整体性能。CPU的主频不代表CPU的速度,但提高主频对于提高CPU运算速度却是至关重要的。举个例子来说,假设某个CPU在一个时钟周期内执行一条运算指令,那么当CPU运行在100MHz主频时,将比它运行在50MHz主频时速度快一倍。因为100MHz的时钟周期比50MHz的时钟周期占用时间减少了一半,也就是工作在100MHz主频的CPU执行一条运算指令所需时间仅为10ns比工作在50MHz主频时的20ns缩短了一半,自然运算速度也就快了一倍。只不过电脑的整体运行速度不仅取决于CPU运算速度,还与其它各分系统的运行情况有关,只有在提高主频的同时,各分系统运行速度和各分系统之间的数据传输速度都能得到提高后,电脑整体的运行速度才能真正得到提高。

    编辑本段所受限制

    时钟频率

      时钟频率

    提高CPU工作主频主要受到生产工艺的限制。由于CPU是在半导体硅片上制造的,在硅片上的元件之间需要导线进行联接,由于在高频状态下要求导线越细越短越好,这样才能减小导线分布电容等杂散干扰以保证CPU运算正确。因此制造工艺的限制,是CPU主频发展的最大障碍之一。

    编辑本段发展简史

    时钟频率

      时钟频率

    时钟频率 是根本利率在 转每秒,被测量在赫兹,计算机进行其最基本的行动譬如增加二个数字或转移价值从一台处理器记数器到另一个。不同的芯片在同样计算机主板也许有不同的时钟频率。通常当提到计算机,规定"时钟频率" 使用提到CPU 的速度。CPU 的时钟频率由摆动器水晶的频率通常确定。原始的IBM 个人计算机,大约1981 年,有4.77 兆赫的时钟频率(4,770,000 cycles/second)。1995 年,英特尔的奔腾芯片运行在100 兆赫(100 百万cycles/second),2002 年并且,英特尔奔腾4 模型被介绍了作为第一CPU 以3 千兆赫的时钟频率(三十亿cycles/second)。
    计算机的时钟频率是只有用的为提供比较在之间计算机芯片同样处理器家庭。一台IBM 个人计算机与英特尔486 CPU 运行在50 兆赫将是两次快速地象一个以同样CPU 、记忆和显示运行在25 兆赫。但是,有许多其它因素考虑当比较整个计算机的速度,象计算机的前方公共汽车的时钟频率存储芯片的时钟频率,宽度在CPU's 公共汽车的位,和相当数量水平1 和二级高速缓存。
    时钟频率不应该被利用当比较不同的计算机或不同的处理器家庭。相反,某一软件基准应该被使用。时钟频率可能是非常引入歧途的,因为不同的计算机芯片可能做在一个周期的相当数量工作变化。例如,RISC CPUs 比CISC 倾向于有更加简单的指示CPUs (但更高的时钟频率),并且用管道运输的加工者执行超过一指示每周期。
    在90 年代初期,多数计算机公司首要给他们的计算机的速度做广告由提到他们的CPUs' 时钟频率。这导致各种各样的营销比赛,譬如苹果电脑的决定创造和销售力量Macintosh 8100/110 以110 兆赫的时钟频率,以便苹果计算机公司能做广告其计算机有最快速的时钟速度可利用-- 最快速的英特尔处理器可利用当时运行了在100 兆赫。这优势在时钟速度,然而,是无意义的;PowerPC 和奔腾CPU 建筑是完全地不同的。力量Mac 是更加快速在一些任务,但更慢的在其他方面。
    在2000s,英特尔的竞争者AMD 开始使用模型号代替时钟频率销售其CPUs,说"兆赫神话" 没有讲其CPUs 的力量的原委。在2004 年中英特尔宣布它会做同样,大概由于消费者混乱在其奔腾M 流动CPU,据报道运行了在大约一半大致等效奔腾4 CPU 的时钟频率。

    编辑本段相关知识

    频率与速度的关系
    一般说来,一个时钟周期完成的指令数是固定的,所以主频越高,CPU的速度也就越快了。不过由于各种CPU的内部结构也不尽相同,所以并不能完全用主频来概括CPU的性能。但CPU主频的高低可以决定电脑的档次和价格水平。以Pentium 4 2.0为例,它的工作主频为2.0GHz,这说明了什么呢?具体来说,2.0GHz意味着每秒钟它会产生20亿个时钟脉冲信号,每个时钟信号周期为0.5纳秒。而Pentium 4 CPU有4条流水线运算单元,如果负载均匀的话,CPU在1个时钟周期内可以进行4个二进制加法运算。这就意味着该Pentium 4 CPU每秒钟可以执行80亿条二进制加法运算。但如此惊人的运算速度不能完全为用户服务,电脑硬件操作系统本身还要消耗CPU的资源。但Athlon XP处理器采用了PR标称方式,AMD公开的266MHz前端总线频率的Athlon XP处理器标称频率和实际频率的转换计算公式如下:标称频率=3×实际频率/2-500 实际频率=2×标称频率/3+333 例如,Athlon XP 2100+的实际频率为1733MHz=2×2100/3+333

    编辑本段来龙去脉

    频率合成器整体结构

      频率合成器整体结构

    一首美妙的乐曲会有一个主旋律,而电脑的主旋律就是CPU的时钟频率主频外频倍频,它们从何而来?锁频超频,又是怎么回事呢?
    电脑中有许许多多的半导体芯片,每个芯片都是在特定的时钟频率下进行工作的。时钟发生器提供给芯片的时钟信号是一个连续的脉冲信号,而脉冲就相当于芯片的脉搏,每一次脉冲到来,芯片内的晶体管就改变一次状态,让整个芯片完成一定任务。
    电脑中的芯片绝大多数属于数字逻辑芯片,数字芯片中众多的晶体管全都工作在开关状态,它们的导通和关断动作无不是按照时钟信号的节奏进行的。如果时钟频率过高,就可能出现晶体管的状态来不及变化的情况,产生死锁或随机性误操作。所以,每一款芯片都有自己的频率极限。

    一、频率是什么

    频率用f表示,基本单位为“1次/秒”,记做Hz(赫兹)。1Hz就是每秒一次,10Hz是每秒10次(图1)。不过,Hz这个单位在电脑里面太小了,因此通常以KHz、MHz或GHz来表示信号频率。随着频率的攀升,若干年以后恐怕需要使用THz作为频率的单位了(表1)。
    表1: 频率表示法
    频率单位 kHz MHz GHz THz
    换算关系 1×10^3Hz 1×10^6Hz 1×10^9Hz 1×10^12Hz
    英文名称 Kilo Hz Mega Hz Giga Hz Tera Hz
    中文名称 千赫兹 兆赫兹 吉赫兹 太赫兹
    1.周期与频率
    在电脑技术中,与频率相对应的一个常用术语是周期。周期是频率的倒数,频率越高,周期越短。譬如时钟频率为1GHz时,其时钟周期为1纳秒(表2)。
    表2:频率与周期对照表
    5MHz 200ns 133MHz 7.5ns
    10MHz 100ns 166MHz 6.0ns
    20MHz 50ns 200MHz 5.0ns
    25MHz 40ns 250MHz 4.0ns
    33MHz 30ns 300MHz 3.3ns
    40MHz 25ns 333MHz 3.0ns
    50MHz 20ns 400MHz 2.5ns
    66MHz 15ns 500MHz 2.0ns
    80MHz 12ns 800MHz 1.2ns
    100MHz 10ns 1GHz 1.0ns
    120MHz 8.3ns 4GHz 0.25ns
    2.带宽频率频率相关的另一个参数是数据传输率,也称为“带宽”,用于衡量数据通信速度的快慢。通常情况下,带宽=时钟频率×(位宽÷8)。譬如PCI总线的时钟频率为33.33MHz,因其位宽为32bit,所以其带宽为33.33×(32÷8)=133MB/s。
    3.CPU的频率 在286及以前的电脑中,CPU的频率与外部总线的频率相同。Intel 386电脑中采用了时钟分频方式,时钟电路提供给CPU的时钟信号的频率66MHz,而CPU内部则以33MHz的频率工作。Intel 80486 DX2则采用倍频方式,它允许CPU以2倍或3倍于外部总线的速度运行,但仍以原有时钟频率与外界通讯。进入Pentium时代以后,倍频技术获得广泛应用,目前处理器的倍频已达20倍。
    系统时钟频率:通常也称作“外频”——CPU外部总线的时钟频率外频频率合成器芯片提供,后文将对频率合成器芯片进行详细介绍。主频:主频是CPU内核(整数和浮点运算器)电路的实际运行频率,由外频(或前端总线频率)与倍率共同决定,也即:主频=外频×倍率。
    前端总线频率:前端总线(Front Side Bus,FSB)频率是CPU和北桥芯片间进行数据交换的频率,它与外频既有联系,又有区别。外频是前端总线时钟信号的频率,而前端总线频率是指数据传输的频率。对于Pentium 4处理器来说,由于采用了QDR(Quad Data Rate,4倍数据比率)技术,1个时钟周期内可以传输4次数据,所以前端总线频率相当于外频的4倍:FSB 800MHz的处理器,外频只有200MHz。

    二、谁在产生频率

    我们可以将作为频率源的时钟信号发生器看作电脑的心脏。只有心脏跳动起来,电脑才能工作。
    1.振荡源:晶体振荡器
    芯片本身通常并不具备时钟信号源,因此须由专门的时钟电路提供时钟信号,石英晶体振荡器(Quartz Crystal OSC)就是一种最常用的时钟信号振荡源。
    石英晶体就是纯净的二氧化硅,是二氧化硅的单晶体,即我们常说的水晶。石英晶体有天然(Crude)晶体和人工合成(synthetic)晶体两种。天然石英晶体的杂质含量和形态等大多并不统一,因此电子线路中的晶体振荡器多使用人造石英晶体。
    从一块晶体上按一定的方位角切下薄片(称为“晶片”),在晶片的两个表面上涂覆一层薄薄的银层后接上一对金属板,焊接引脚,并用金属外壳封装,就构成了石英晶体振荡器
    石英晶片之所以能当为振荡器使用,是基于它的压电效应:在晶片的两个极上加一电场,会使晶体产生机械变形;在石英晶片上加上交变电压,晶体就会产生机械振动,同时机械变形振动又会产生交变电场,虽然这种交变电场的电压极其微弱,但其振动频率是十分稳定的。当外加交变电压的频率与晶片的固有频率(由晶片的尺寸和形状决定)相等时,机械振动的幅度将急剧增加,这种现象称为“压电谐振”。
    压电谐振状态的建立和维持都必须借助于振荡器电路才能实现。一个串联型振荡器,晶体管T1和T2构成的两级放大器,石英晶体XT与电容C2构成LC电路。在这个电路中,石英晶体相当于一个电感,C2为可变电容器,调节其容量即可使电路进入谐振状态。该振荡器供电电压为5V,输出波形为方波。
    石英晶体振荡器频率稳定度可达10^-9/日,甚至10^-11。例如10MHz的振荡器,频率在一日之内的变化一般不大于0.1Hz。因此,完全可以将晶体振荡器视为恒定的基准频率源(石英表、电子表中都是利用石英晶体来做计时的基准频率)。从PC诞生至现在,主板上一直都使用一颗14.318MHz的石英晶体振荡器作为基准频率源。至于始终沿用14.318MHz这个频率的原因,或许是保持兼容性的需要吧。但是,笔者在显卡、闪存盘和手机中也发现了14.318MHz的晶振,就不知道是什么原因了。
    主板上除了这颗14.318MHz的晶振,还能找到一颗频率为32.768MHz的晶振,它被用于实时时钟(RTC)电路中,显示精确的时间和日期。
    2.分频器与倍频器
    将脉冲频率降低n倍,这就是分频器的作用。在第一代PC机中,石英晶体振荡器输出的频率为14.318MHz,而Intel 8086处理器主频为4.77MHz,后者刚好是前者的1/3。变换频率的工作是在Intel 8284(时钟发生器/驱动器)中完成的,因为Intel 8284芯片中集成了三分频电路,能够将晶体振荡器产生的脉冲信号降低3倍后,提供给CPU和外设
    随着CPU主频的提高,需要将晶体振荡器提高若干倍才能满足CPU的需要,于是在时钟电路中倍频器取代了分频器的位置。如果说分频器进行的是除法运算,倍频器则进行了乘法运算,它将晶体振荡器频率提高n倍。

    三、时钟芯片:可编程的频率合成器

    整合的时钟电路,是硬件技术进步的一个标志。电脑中的不同设备对时钟频率的要求是不一样的,如果你从废物箱中找来一块286主板,可以看到有好几颗晶振排列在一起。电脑中的CPU,AGP插槽、PCI插槽、硬盘接口、USB端口和PS/2端口等在通信速度上有很大差异,所以需要提供不同的时钟频率,譬如PCI要求33MHz、USB为48MHz等。可是,一只石英振荡器只能提供一种频率,所以主板制造商通常将这些原本散布在主机板上各处的振荡电路整合成一颗“频率合成器(Frequency Synthesizer)”芯片,对晶体振荡器产生的脉冲信号进行分频(或倍频),以便为不同运行速度的芯片(或设备)提供所需要的时钟频率
    普通分频器为整数分频器,其输出频率与输入频率之间为整数倍的关系,只能分段调节频率,不能满足精密调节的要求。频率合成器是“分数分频器”,可对输出频率进行精细调节。研发工程师可自由地设计电路中的各种频率,不再受限于石英震荡晶体的固定频率规格。目前电脑中的时钟芯片一般都具有“分数分频”能力,可以根据需要将调节步长设计到1%,甚至0.1%。为了指导和规范频率合成器的设计和应用,Intel制定了频率合成器设计指南,如CK97、CK40X等,适用于最新Pentium 4处理器的规范是CK410。
    1.频率调节原理
    频率合成器是一个具有频率负反馈的时钟信号系统(图7),其中使用了两个分频器,Mdiv用于降低基准频率,Ndiv则用于对VCO进行分频。晶体振荡器(OSC)产生的频率fi经M分频器后得到参考频率fref,它与反馈频率ffd分别送入鉴频器(Frequency Detector,FD)的两个反向输入端,鉴频器输出一个反映两者之商的直流电压,并经低通滤波器(Low Pass Filter,LPF)滤除交流分量后,提供给压控振荡器(Voltage Controlled Oscillator,VCO)输出频率信号fout。
    频率合成器的输出频率fout与输入频率fin之间的关系可以用公式fout=fin×(N+k/M)来表示,其中N、M和K均为整数,K可取0~M间的任意整数。非整数值N+k/M通常写作N.F,这里的圆点代表小数点,N表示频率的整数部分,而F=k/M则表示频率的小数部分。在输入频率fin、N和M均不改变的条件下,只要修改k值即可得到所需要频率值fout。
    频率合成器芯片中,有专门的SMBus接口电路,这是芯片的寄存器与外部联络的途径,有了它,就能够通过BIOS或软件对寄存器进行改写。频率寄存器中的每一位数据有两种可能,“0”或“1”,那么当这几位按不同状态进行组合时就可得到多种外频输出。
    频率合成器的频率调节精度与频率寄存器的位数有关,譬如,如果频率寄存器为5位,则调节步长为1MHz。为数越多,调节精度越高。在实用的频率合成器中,Mdiv和Ndiv两个分频器均为可编程的,只要用户设定相应的fout数值,BIOS便能自动给出N、M和K的值,并通过SMBus总线写入相应的寄存器中。
    2.PLL实现相位同步的自动控制原理
    时钟芯片是电脑的心脏,其性能和稳定性直接决定着整个硬件系统的性能。采用频率合成器一方面可以节省成本与主板空间,更为重要的目的是使主板各芯片以及外部设备时钟信号与CPU的时钟信号之间保持严格的同步关系,以保证正确地交换数据。FS芯片不仅具有倍频/分频功能,更主要的特点就是具有相位锁定功能——输出信号的相位被强制跟参考信号的相位保持一致。因此,频率合成器输出的各种时钟信号虽然频率各不相同,但它们在相位上是完全一致的,它们都与参考信号源保持相位同步。
    为了实现相位锁定,VCO输出的时钟信号与参考频率信号在鉴相器中进行相位比较,如果两者相位不同,就会输出一个与相位差大小成比例的误差电压;误差电压的极性决定了电荷泵内的电流源是吸收还是送出电流,所以电荷会流入或流出滤波器内的电容器,电荷流动的数量与相位差的大小成正比。压控振荡器是一个受电压控制的振荡器,内部的变容二极管两端电压变化时,其电容量会随之改变,从而改变振荡器的频率。
    压控振荡器是PLL电路的核心单元,相位控制过程是依靠改变压控振荡器的输入电压(即调谐电压)实现的,调谐电压的大小和极性决定了相位调整是滞后还是超前,从而使相位误差得以校正。
    3.频率合成器的其它功能
    主板设计中使用频率合成器芯片,可以很容易地实现时钟频率的调整和相位锁定。除了这些功能,频率合成器还允许主板设计工程师通过微调各种接口时钟之间的时钟延迟,使各种相关接口的组件保持同步,方便了设计和调试工作(图8)。
    此外,频率合成器芯片在系统稳定性和安全性方面也是可以有所作为的。一方面,可以对不需要调整的频率进行锁定,防止因CPU超频而导致其它设备失效的情况;另一方面,一些频率合成器芯片中还设计了“看门狗”功能,一旦超频失败导致死机时,此功能可以对频率寄存器进行清零,使系统按照CPU的默认频率正常启动。
    目前,频率合成器芯片的应用已经十分普遍,常见的有ICS、Cypress、IDT、Realtek和Winbond等品牌。不过,在nForce2主板中,已经找不到频率合成器的身影,因为频率合成功能已经整合到IGP/SPP芯片中了。
    AMD Athlon系列处理器倍频信号工作流程,当RESET#信号到来时,处理器将FID信号送给逻辑信号转换芯片,由该芯片产生SIP(Serialization Initialization Packet,串行初始化数据包),对系统总线进行初始化和设置。
    在CPU上设置了一些称为金桥的连接线,FID信号的电平可以通过改变金桥的通断进行设置,金桥接通时为低电平,断开时则为高电平。FID信号在内置倍频控制单元内生成,并经内置FID驱动电路对信号进行放大后,从FID引脚送至逻辑信号转换芯片,产生的SIP数据包再从BP_FID引脚返回到CPU。这样,CPU内部的频率合成电路便可以将倍频外频两个信号一起合成CPU的核心频率。
    3.内存频率的设置
    早期主板上内存总线时钟信号也是由频率合成器产生的,不过较新的主板已经撇开了主板上的频率合成器芯片,而由北桥芯片完成内存总线时钟频率的设定,这在业界被称作“内存异步”。
    与CPU频率的自动设置原理相似,北桥芯片内的频率合成器也是通过一定的手段实现自动设置频率的。内存的频率由内存条上的SPD(Serial Presence Detect 内存序列存储芯片)提供。SPD类似于主板上的BIOS,存储了内存芯片内存容量工作频率、延迟时间(CAS、tRCD、tRP、tCA)及工作电压和厂商信息等,北桥芯片通过SMBus总线的SDA引脚读取每个DIMM的SPD中的参数,SPD芯片的信息就会被记录在北桥芯片内PLL电路的寄存器(Register)中。
    内存总线时钟与系统时钟频率往往并不相同,譬如系统时钟为133MHz,而内存时钟的频率为200MHz时,两者之间存在67MHz的差异,这种频率上的差异被称为“内存异步”。不过,为了实现内存与CPU之间的同步通信,两个总线在相位上仍然需要保持同步。实现相位的同步在技术上并不困难,只要北桥芯片中的PLL电路与频率合成器中的PLL电路使用同一个参考频率fref就可以了。
    事实上,即插即用的外部设备的频率设置与内存频率的自动设置原理基本相同,主机通过读取设备中ROM芯片中包括频率在内的特征参数,然后自动分配系统资源,自动配置驱动程序,使得设备可以正常工作。

    五、为电脑把脉

    1.检试实际频率,释放设备潜能
    Intel Processor Frequency ID Utility是Intel公司发布的CPU的检测软件,该软件列出了“报告频率”和“预期频率”两项数据,前一项表示被测试CPU的当前运行速度,后一项表示被测试CPU出厂时所设计的最高操作速度。如果两者数据一致,即说明CPU未被超频。如果报告频率低于预期频率,则说明处理器的能力没有发挥出来。
    使用测试软件能够大致了解各设备的工作状态,对优化系统性能非常重要。与上述检测软件类似的还有很多,所有需要测试的频率都可以通过测试软件显示出来。不过,一些高级玩家怀疑软件测出的频率是否准确。这种怀疑不是没有根据的,因为检测软件运行的平台,是基于参考频率fref的。如果参考频率自身都不准确,软件测出的频率值也就难以保证。不过,要精确地测量时钟信号频率时,可以使用示波器。
    外部设备的性能与接口电路工作频率之间有着密切关系。以硬盘为例,如果使用AIDA32等软件测出硬盘的最高UDMA传输模式为UDMA 6(ATA-133),但当前UDMA传输模式为UDMA 1(ATA-33)。即硬盘本来可以工作在133MHz的频率下,而接口却只以33MHz的频率交换数据。那么就会极大地降低硬盘性能。遇到这种情况,说明设备的潜能没有发挥出来,应检查BIOS中的接口模式选择是否正确或通过安装相关IDE驱动程序来解决。
    2.防止心跳过速
    频率过低造成设备性能低下,相反,如果频率过高则会造成设备工作不稳定,甚至彻底罢工。平时我们在对显示芯片和显存进行超频之后,显示画面出现花屏就属于典型案例。因为心跳过速而导致设备不能工作的情况,在电脑故障中占有相当大的比重。因为种种原因,一些设备工作频率实际上是达不到标称频率的。对于此类问题的处理,笔者在“电脑故障降频诊断法”(《微型计算机》2003年第17期)一文中已有详细介绍。在此需要补充一点,如果CPU超频失败导致不能启动后,将CMOS放电,BIOS会以100MHz外频的安全模式启动,并不会造成严重后果。

    总结

    在电脑的实际使用过程中,相信大部分DIYer对于“频率”一词的兴趣一开始都建立在对CPU、内存、显示核心和显存的超频之上。同时我们也相信,本文关于频率的深入探讨对您而言,不论是解决电脑故障还是享受超频的快感,都将起到极大的帮助。不过,在此我们仍然强调一点——当您把玩“频率游戏”时,请记住“超频”是把双刃剑,它能让您感受到运行速度的提升,但稳定性下降、系统崩溃,甚至硬件损坏等风险也会时刻相随! [2]
    展开全文
  • CPU核心时钟加速器

    2009-01-09 00:05:00
    本程序将会提高你的系统核心时钟频率 游戏将会提高FPS值以及网游ping值
  • 在MDK中要设置好ITM的核心时钟频率后, ITM信息才能在 Debug Viewer 窗口看到. ITM core clock 要设置的和MCU运行之后的系统时钟频率相同才行. 今天在NUCLEO-H743ZI2作试验, 因为打开的是一个官方demo工程,自然就去...

    试验原因

    开始程序前,总喜欢将ITM设置好. 这样调试方便.
    在MDK中要设置好ITM的核心时钟频率后, ITM信息才能在 Debug Viewer 窗口看到.
    ITM core clock 要设置的和MCU运行之后的系统时钟频率相同才行.
    今天在NUCLEO-H743ZI2上作试验, 因为打开的是一个官方demo工程,自然就去看工程中自带的readme.txt, 看看系统时钟频率是多少, 然后准备填到MDK ITM core clock中.

    readme.txt相关内容如下

    @par Example Description 
    
    This example guides you through the different configuration steps by mean of HAL API 
    to ensure SMBus and PMBus transmission and reception using Interrupt.
    The communication is done with 2 Boards through I2C.
    
    At the beginning of the main program the HAL_Init() function is called to reset 
    all the peripherals, initialize the Flash interface and the systick.
    Then the SystemClock_Config() function is used to configure the system
    clock (SYSCLK) to run at 80 MHz.
    
    

    可以看到官方说,此工程的系统时钟频率位80MHZ. 设置到ITM core clock后,并不能将ITM信息打印出来.

    想到自己在main()函数中调用SystemClock_Config()之后,自己取一下吧. 确认一下。

    int main(void)
    {
    uint32_t ui_SysClockFreq = 0;
    uint32_t ui_HCLKFreq = 0;
    uint32_t ui_PCLK1Freq = 0;
    uint32_t ui_PCLK2Freq = 0;
    
    #ifdef HOST1
    	uint32_t      commandi = 0U;
    #ifdef TEST5
    	SMBUS_ZoneStateTypeDef TheZone;
    #endif /* TEST5 */
    #endif /* HOST1 */
    	uint8_t*       piobuf;
    	SMBUS_HandleTypeDef* phandle1;
    	SMBUS_StackHandleTypeDef* pcontext1;
    	SMBUS_StackHandleTypeDef context1;
    	uint32_t      index;
    	/* Reset of all peripherals, Initializes the Flash interface and the systick. */
    	HAL_Init();
    	/* Configure the system clock */
    	SystemClock_Config();
    
      ui_SysClockFreq = HAL_RCC_GetSysClockFreq();
      ui_HCLKFreq = HAL_RCC_GetHCLKFreq();
      ui_PCLK1Freq = HAL_RCC_GetPCLK1Freq();
      ui_PCLK2Freq = HAL_RCC_GetPCLK2Freq();
    
      // ITM打印依赖SysClockFreq, 必须在MDK的ITM设置中, 将核心时钟(core clock)的值设置的和SysClockFreq相同
      // 有时只看readme和原理图也是没用的
      printf("ui_SysClockFreq = %d\n", ui_SysClockFreq);
      printf("ui_HCLKFreq = %d\n", ui_HCLKFreq);
      printf("ui_PCLK1Freq = %d\n", ui_PCLK1Freq);
      printf("ui_PCLK2Freq = %d\n", ui_PCLK2Freq);
    	printf(">> main\n");
    
    

    断在取完 ui_PCLK2Freq 之后,看到系统时钟果真不是80MHZ…
    官方说明不对啊, 写这个readme.txt的人要扣钱.

    ui_SysClockFreq = 64000000
    ui_HCLKFreq = 32000000
    ui_PCLK1Freq = 16000000
    ui_PCLK2Freq = 16000000
    >> main
    

    可以看到系统时钟频率是64MHZ.
    将MDK ITM core clock设置位64MHZ, 就可以打印出ITM信息.
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 本程序主要原理是提高核心时钟频率 以达到加速的目的! 经过实际测试确实有效! 当前测试过的游戏有: CS反恐精英系列游戏 WOW魔兽世界等! 的的确确 真的降低PING值了!FPS也真的提高了!!!! 但是不排除个别系统...
  • 1.内存和CPU的有关数据在正式讨论问题之前,我们首先要把内存的核心频率、时钟频率和数据频率之间的关系搞清楚,而且应该特别熟悉。这是讨论这个问题的基础。见下表:表1内存名称及各种频率列表由表1可见,核心频率、...

     1.内存和CPU的有关数据
        在正式讨论问题之前,我们首先要把内存的核心频率、时钟频率和数据频率之间的关系搞清楚,而且应该特别熟悉。这是讨论这个问题的基础。见下表:表1内存名称及各种频率列表
        
        由表1可见,核心频率、时钟频率和数据频率之间有固定的关系。它们之间的比例关系见表2。表2.内存的核心频率、时钟频率和数据频率之间的比例关系
        
        其中的核心频率又称颗粒频率或基本频率;时钟频率又称工作频率、内存频率、I/O频率、DRAM、DRAMFrequency、时脉或内存速度;数据频率又称等效频率或传输通道频率。本文只采用“核心频率”、“时钟频率”和“数据频率”三个名称。对这些名称一定要弄清楚。另外,有关CPU的名称也是五花八门的。例如,主频又称CoreSpeed;外频的名称就更多了,如BusSpeed、汇流排频率、FSB(和前端总线混用)等。
        
        2.内存和CPU搭配的基本原则
        我认为:无论你采用的CPU是Intel的,还是AMD的,当选配内存时都必须遵守三条基本原则。第一条是频率要同步:即内存的核心频率要等于或稍大于CPU的外频。不要给内存加上它不能承受的高频率,否则是频率“过载”。频率“过载”后,内存将拒绝工作。这样,电脑是要蓝屏的。当然,你给它加上低于核心频率的频率时,它会是胜任愉快的。第二条是带宽要匹配:应该设法使内存的数据带宽跟CPU前端总线的带宽相等,否则,数据的传输能力将受制于带宽较低的那端;第三条是主板要调控:因为以上两个条件有时是不可能同时能满足的。这就要靠主板来调控,调控的主要方法是异步设臵。因为第一条是有关生或死的问题,所以,这一条必须满足。第二条就可以灵活处理了。另外,当讨论内存跟CPU如何搭配时,必须明确以下事项:①内存的核心频率小于外频时,内存会拒绝工作。表现是蓝屏。但是,在任何情况下,内存的核心频率大于CPU的外频时,内存都能正常
        
        工作。但是,系统也不会承认它的高频率。只承认它的核心频率等于外频。例如,你将DDR2-1066插入外频是200MHz的板子上时,系统将认为这个内存是DDR2-800。②Intel处理器的前端总线频率(FSB)是外频频率的4倍。但是,在历史上前端总线的频率和外频是同一个,所以,人们还是经常用FSB来表示外频(例如软件CPU-Z就是这样,它表示的“FSB:DRAM”实际上是指“CPU的外频:内存的时钟频率”)。AMD的内存,在K8以前,也有前端总线,不过,那时的前端总线频率是外频频率的两倍。K8以后AMD的CPU就没有前端总线了。③当讨论内存跟Intel平台的CPU的匹配时,必须知道CPU的外频或前端总线频率。知道一个就行,因为它们之间是四倍关系,此时,不必关心CPU的主频是多少。不过,自从有了Intel的i3/i5/i7后,参照的CPU频率已经不是外频和前端总线FSB,而是基本频率BF了。但是,在检测软件CPU-Z中,还是把BF频率称为外频的。在这种情况下,怎样配内存,请参看本文之6。④当讨论内存跟AMD平台的CPU匹配时,首先必须明确这个CPU是K8的?K10的?还是K8以前的?因为这三种CPU陪内存的方法是截然不同的。讨论K8以前的CPU时,只需知道外频或FSB;讨论给K8的CPU配内存时,只需知道CPU的主频,不要提HT总线,因为配内存跟HT总线无关;同样的原因,当为K10配内存时,如果你不超频,只需知道CPU
        
        或主板支持什么内存就可以了。因为K10架构的CPU配内存时是跟外频挂钩的,而AMDCPU的外频是固定在200MHz的。⑤当讨论内存跟CPU的搭配关系时,是根据内存和CPU的参数计算的,不必考虑主板。但是,当你对搭配方案作出选择后,还必须考虑主板是否支持。在一般情况下,主板的频率是应该高于FSB的频率的。⑥内存的异步就是使加给内存的频率是它能正常工作的频率。一般是指降频。但是,频率降下来的后果就是速度变慢和带宽变窄。所有主板都支持内存异步运行的。但是,支持的程度不同。⑦从内存跟CPU是否搭配的角度看,配内存时,不必考虑内存的容量是多少。但是,容量超过一定大小时,有时是要考虑主板是否支持的。⑧内存跟CPU是否匹配,跟CPU是几个核没有什么关系。以上就是我认为内存匹配的三大原则和八项注意。
        
        3.在Intel平台实现频率同步的方法
        在Intel平台,内存频率跟CPU同步的条件就是:内存的核心频率必须等于或稍大于CPU的外频。否则,就是“频率过载”,内存将停止工作,主要的表现形式是蓝屏。虽然对我这个说法经常听到不同的声音。但是,我坚信我的这个归纳方法是完全能站得住脚的。因为内存能够耐受多大的频率,完全是由核心频率决定的。时钟频率和数据频率都是在核心频率的基础上,通过技术手段放大出来的。当核心频率相等时,不同类型的内存会有不同的时钟频率和数据频率。
        
        例如,在Intel平台,当外频是200MHz时,为了实现频率同步,应该选DDR-400、DDR2-800或DDR3-1600。因为这几种内存的核心频率都是200MHz。这是十分重要的一条规律。但是,过去,人们都是把内存的同步条件说成“内存的时钟频率(而不是说“内存的核心频率”)等于或稍大于外频频率就是同步”。更多的是模棱两可的说法,比如说“内存的频率等于或稍大于外频,就是同步”。至今在网上的许多文章还是这样说的。相当混乱。我认为,在SD和DDR时代,说“时钟频率和核心频率相等就是同步”,是完全正确的。但是,在DDR2和DDR3出现以后,再这样说就是完全错误的,因为不同类型的内存。其核心频率跟时钟频率是不同的。因此,两种判别方法存在巨大差异。不过,囿于习惯,人们还是愿意用时钟频率来跟CPU的外频对比。我认为,按时钟频率跟CPU频率对比的方法来判断内存是否同步也不是不可以的。但是,必须把这个比作适当改动。比如说:“对于SDRAM和DDR,当内存的时钟频率跟CPU的外频相等时,就是内存同步。例如,当外频是200MHz时,应该配DDR-400的内存”;对于DDR2,就应该说:“当内存的时钟频率是外频的两倍时,就是内存同步。例如,当外频是200MHz时,应该配DDR2-800内存”;对于DDR3,就应该说:“当内存的时钟频率是外频的4倍时,就是内存同步。例如当外频是200MHz时,就应该配DDR3-1600内存”。这样说不是太啰嗦了吗!
        
        可是,在检测软件CPU-Z中,就是用CPU的外频(此处称其为FSB)跟时钟频率(此处称为DRAM)的比值关系表示内存是否同步的的。其关系见下表:表3内存同步时,CPU的外频跟内存的时钟频率的频率关系
        内存的类型FSB:DRAM(即CPU的外频跟内存时钟频率之比)DDR1:1DDR21:2DDR31:4
        
        注:在检测软件CPU-Z中,就是用“FSB”表示CPU的外频的,这是历史形成的误用。上表中的“DRAM”是指时钟频率。
        知道了以上原则,我们应该选什么样的内存跟CPU来匹配的问题也就迎刃而解了。我认为:对Intel的CPU在i3/i5/i7架构出现以前,只要能知道外频或前端总线频率(FSB=4倍外频)中的一个参数,就可以选择合适的内存了。不同型号的内存有不同的计算方法。具体计算方法是:
        
        ①当在Intel平台选择DDR内存时有:
        DDR-×××后的三个“×”=FSB值÷2(1)例如,当Intel平台的FSB是533MHz时,如果选择DDR内存时,×××=533÷2=266,所以,应该选DDR-266型的内存。这样选也符合“内存的核心频率(133MHz)等于CPU外频(133MHz)”的原则。②当在Intel平台选择DDR2内存时有:DDR2-×××后的三个“×”=FSB值(2)
        
        例如,当Intel平台的FSB是800MHz时,如果选择DDR2内存时,×××=FSB值=800,所以,应该选DDR2-800型的内存。这样选也符合“内存的核心频率(200MHz)等于CPU外频(200MHz)”的原则。
        ③当在Intel平台选择DDR3内存时有:DDR3-××××后的四个“×”=FSB值×2(3)
        
        例如,当Intel平台的FSB是800MHz时,如果选择DDR3内存,就应该选四个“×”等于800×2=1600的内存,即应该选DDR3-1600型的
        
        内存。这样选也符合“内存的核心频率(200MHz)等于CPU外频(200MHz)”的原则。下表就是我根据上述原则计算出来的、根据CPU的参数来选择内存的计算结果。这是根据频率同步的条件计算出来的最高频率。都存在向较低频率异步的空间。(i3/i5/i7架构的CPU如何选内存,见本文的6)表4.内存同步时外频频率跟内存型号的关系
        
        注①:表中的“频率比”是指同步的情况下,外频跟时钟频率的比,即在CPU-Z中的“FSB:DRAM”值。如果CPU-Z显示的不是这个值,那就是内存频率异步了。
        根据CPU-Z中的“FSB:DRAM”比还可以很容易反求出来在电脑中安装的,(或设臵的)是什么型号的内存。例如,当你的CPU的外频是200MHz、而且安装的内存是DDR2时,如果CPU-Z的显示是“FSB:DRAM=1:1.66”的话,那就肯定你安装的内存不是在同步状态。因为DDR2内存同步时,其比是1:2。那么安装的是什么内存呢?可以有下述方法计算出来:因为200:X=1:1.66,所以,X=333。这个333就是实装内存的时钟频率值333MHz,由此可以断定,这个内存是DDR2-667。
        
        注②:DDR、DDR2和DDR3内存的针脚和插座都是不相同的,不能用错。所以,当选择主板时,要搞清楚主板支持哪类内存。目前,为了用户方便,有的主板同时具有DDR2和DDR3内存插槽。
        
        4.在Intel平台实现带宽相等的计算方法
        什么是带宽呢?在计算机领域,带宽又叫频宽,是指在固定的时间内可以传输的数据量,亦即在传输通道中可以传递数据的能力。带宽通常以比特每秒(bps)表示,即每秒可传输的位数。但是,为了简化,通常都是以MB/s或GB/s表示的。带宽的计算方法是:带宽=频率×总线位数/8(4)
        
        因为电脑内存总线的传输位数是64比特所以对于频率是800MHz,,的通道来说,带宽=800MHz×64b÷8b/B=6.4GB/s。还有一个简捷计算方法,就是带宽=频率数×8B(5)
        
        例如,当频率等于800MHz时,带宽就是800MHz×8B=6400MB/s=6.4GB/s。在表1中已经给出了不同频率和带宽关系的计算结果。这里说的带宽匹配,实际上就是频率的匹配。对于我们普通使用者,还是按频率来论述比较直观,因为带宽相等,就是频率相等。带宽匹配的原则是:内存的数据带宽应该跟CPU前端总线FSB的带宽相等,或者说:“内存的数据频率等于CPU的FSB频率,就是带宽匹配”。只有这样才能保证数据的顺利传输。如果有一方的带宽小于另一方,小带宽的一方就构成了“瓶颈”。但是,如果CPU已经选定了,内存的带宽大一些,并没有坏处。
        
        在满足同步的条件下,对DDR2来说,就会自动满足带宽相等的要求,即可以做到内存的传输带宽等于前端总线的带宽;但是,对DDR来说如果满足了同步的要求内存的带宽仅是FSB带宽的1/2对于DDR3,,;来说,如果满足了同步的要求,内存的带宽就是FSB带宽的两倍。这种关系见下表。表5内存同步时,FSB的带宽跟内存数据通道的带宽的关系内存的类型DDRDDR2DDR3
        1:2
        
        FSB的带宽:内存数据通道的带宽2:11:1
        
        对内存的同步要求是生或死的问题,所以,必须满足,如果不能满足,必须采取异步运行。但是,对于带宽的要求则比较灵活一些。如果不能满足,也可以用双通道或异步的方法来解决。在DDR时代就是利用双通道的方法解决内存带宽是“瓶颈”的问题的。但是,如果不组成双通道,只用一个内存条,只要频率是同步的,也可以正常工作。在AMD平台,其内存控制器臵入CPU内部了。即CPU直接跟内存打交道了。带宽的问题,已经没有那么重要了。
        
        5.在Intel平台用主板调控内存运行参数的方法
        ①主板的自动调控作用:其实,根据内存的同步要求选择出来的内存(见表4)就可以正常使用了。但是,也有例外的情况。比如:有的时候,按计算结果,应该用DDR2-800内存才能同步,但是,你手头没有DDR2-800,只有DDR2-667内存,并安装上去了。怎么办呢?要靠主板的调控。只要你没有在BIOS中的“MemClockMode”中选“Manual”,也没有在“SystemMemoryMultiplier”项更改默认设臵“Auto”,主板就会自动根据内存条上SPD资料把加于内存的时钟频率降到
        
        333MHz,以使DDR2-667内存的频率不过载。这时CPU-Z的“FSB:DRAM”就是“1:1.66”,而不是“1:2”。这样调整过后,速度降低了,内存的带宽也变小了一些,但是,可以正常运行。还有,如果满足内存同步需要的内存是DDR2-800,而你却安装或设臵了DDR2-1066内存,主板也会把加给内存的频率按DDR2-800对待,CPU-Z对“FSB:DRAM”的显示还是“1:2”,不会显示“1:2.66”但。是,如果你是把内存超频到1066MHz的,CPU-Z则会显示“1:2.66”。②主板的手动调控方法:如果你要自己用手动设臵内存也是可以的。方法是:在BIOS的“SetMemoryClock”项选“Manual”(手动);或在“SystemMemoryMultiplier”项不选择“Auto”,而是选择你实际安装在内存插槽上的内存,设臵就会成功的。当然,还是需要主板支持的,也就是说,如果主板上有种这种设臵项目才行。手动设臵的选项有多种方法。有的直接用内存芯片名称表示(如华硕的P5E3WS主板,直接用诸如DDR3-1333表示);有的用数字表示(如技嘉GA-P31-S3G主板就用3.33或4.0表示。3.33就表示DDR2-667内存);当然,有的主板则是用FSB:DRAM的比值表示。6.在Intel平台没有FSB了,怎么配内存?Intel酷睿i3/i5/i7CPU是把内存控制器置于CPU内部了。内存控制器控制的QPI(QuickPathInterconnect,快速通道互联)总线频率远高于传统的FSB(一般是外频的18倍),因此,为它选配内存的空间范围也大多了。例如,在过去,当外频是133MHz时,FSB=4×133mHz=533MHz,这种关系是固定的。如果选DDR内存,最高是DDR-266;
        
        如果选DDR2内存,最高是DDR2-533;如果DDR3内存,最高是DDR3-1066。如果你选择更高频率的内存,系统是不承认的,它只能把它们作降格处理。实际上FSB成了“瓶颈”。自从有了QPI总线以后,选择内存的条件就宽松多了。这时CPU-Z上显示的“外频”133MHz,已经不是传统意义上的外频了。它被称为基频(BF)。因此,它跟内存频率之间的同步关系也就改变了。例如,当“外频”(基频)133MHz时,甚至可以选用DDE3-1600内存了。是不过,也不是无限制的。限制到什么程度?这就看CPU或主板的规定了。不过,有个大概估算办法,就是内存的数据频率大致是QPI频率的1/2。具体是多少,要看内存控制器和主板支持到什么程度,不是用户能左右的。7
        
        .内存的双通道的设臵问题
        首先应该明确,双通道只是为了增大内存的带宽而设计的,因为,在DDR时代,CPU的FSB已经达到800MHz了,但是,从频率同步的角度看,只能配DDR-400的内存。显然,内存的带宽只是FSB带宽的1/2,内存成了带宽匹配的“瓶颈”,因为CPU有一半的时间要等内存把数据传过来。因此,人们提出了双通道的概念。即在北桥再增加一个内存控制器另外再增加一个DDR-400内存使两个DDR-400的内存并联使用,,,带宽的匹配问题得以解决。
        但是,因为双通道中的两个内存是分别受两个内存控制器控制的,组成双通道后,只对内存的带宽有改善,对每个内存的性能指标(如核心频率)并没有任何改善。因此,用两个DDR-400组成双通道时,其性能并不是DDR-800。网上广泛流传的“用两个DDR2-533组成双通道,用在FSB=1066MHz平台,就是绝配”的说法是错误的。因为DDR2-533的核心频率是533MHz÷
        
        4=166MHz,而FSB=1066MHz时的外频是1066MHz÷4=266MHz。两个频率并不相等。也就是说,这样配,并不能满足同步条件。硬要这样配电脑是要蓝屏的。因为内存组成双通道后,他们的核心频率并不会提高。
        
        双通道的作用可以这样比喻:马路很宽,可以容得下两辆汽车,可是,只有一辆车来回跑,这不是浪费吗?再买一辆汽车吧,让它们在一条路上并行跑,货运量不就增加一倍了吗!由此可见,双通道只是解决货运量(带宽)的问题。并不是把汽车的速度加倍的问题。也就是说:两个DDR2-533组成双通道,只能提高带宽,并不能提高内存的频率,两个DDR2-533组成双通道后,其效果并不等于一个DDR2-1066。
        当然,如果你一定把DDR2-533用于FSB=1066MHz的平台,也不是不可能,方法就是异步,使加给DDR2-533的频率降下来。但是,主板支持吗?如果是支持的,那么,需要异步运行才可以,这算是“绝配”吗?
        
        8.在AMDCPUK8以前内存的配置方法
        在K8以前,AMD内存也有前端总线(FSB),但是,跟Intel内存有一点点差别,就是前端总线频率是外频的两倍(Intel是4倍)。因为内存的同步与否是考虑外频的,所以,当外频跟内存的核心频率相等时就是同步。因此,外频是133MHz时,应该配DDR-266内存;外频是166MHz时,应该配DDR-333内存;外频是200MHz时,应该配DDR-400内存。这些都跟Intel平台是一致的。不同的是:在AMD平台,频率同步了的话,带宽也平衡了。所以,在当时的AMD平台就不存在双通道的问题。9.AMDCPUK8时代内存的选配方法
        在AMD的K8以后的CPU中,内存控制器被整合到CPU内部了(见下图),内存直接跟CPU打交道了。前端总线不存在了,跟北桥相连的总线改称HT总线了,这个总线除了不再跟内存联系外,其它的作用跟原前端总线的任务是
        
        相同的。
        
        正是由于有了上述改变,所以,在AMD平台配内存时,内存跟CPU的搭配的计算方法也有了很大的变化。因为这时我们关心的只是CPU的主频。无需再考虑FSB和外频了。现在介绍内存跟AMD的CPU的搭配方法如下:①首先计算出内存控制器的分频倍数DIV(这种计算是由电脑自动进行的,当然我们也应该掌握):DIV=CPU的标称主频÷你在BIOS中设臵的内存的时钟频率(6)这个设臵的时钟频率最好跟你实际安装的内存一致。如果不一致,电脑还是根据你的设臵值进行计算的。如果DIV的计算结果不是整数,则进为整数,例如,将7.4进为8。如果计算出来的分频系数小于5,则取为5。上述这些方法都是AMD的设计规定。②知道了内存分频倍数DIV以后,通过内存的实际时钟频率用下式计算:内存的实际时钟频率=CPU的实际主频÷内存的分频倍数(7)知道了内存的时钟频率,就可以知道怎样配内存了。比如,你计算出来的时钟频率是是200MHz,而且是选择DDR内存,就应该配DDR-400;你计算出来的时钟频率是是400MHz,如果想配DDR2,则应该选DDR2-800;如果你计算出来的时钟频率是400MHz,想配DDR3内存,还是应该配DDR3-800。因为不管是什么型号的内存,数据频率总是时钟频率的两倍。例1:CPU是AMD速龙(Athlon)643200+,主频是2.0GHz,如果打算选用DDR-400的内存并在BIOS做这样的设臵时问①分频倍数是多少?②通,:过内存的实际频率是多少?解:①因为CPU的主频等于2000MHz;DDR-400的时钟频率等于400MHz/2=200MHz,所以,内存的分频倍数DIV=2000MHz÷200MHz=10;②因为没有对CPU进行超频,所以,它的主频还是2000MHz,所以,
        
        通过内存的实际总线频率=2000MHz÷10=200MHz,即相当是DDR-400。因此,选择DDR-400内存是可以的。当然,如果主板允许,也可
        以用两个DDR400组成双通道。以增大数据传输量。
        
        例2:CPU是闪龙3200+,主频是1.8GHz,如果选用DDR2-800的内存时,问:①分频倍数数是多少?②通过内存的实际时钟频率是多少?(3)如果把主频超到2400MHz时,应该怎样选择内存?解:①分频系数DIV=1800MHz÷400MHz=4.5,应向上取为5;②通过内存的实际时钟频率=1800MHz÷5=360MHz。内存降格使用为DDR2-720。因为内存的频率是向下兼容的,主板都会支持这样的内存。所以,这样配臵也是可以的。(3)如果把主频超到2400MHz了,则通过内存的时钟频率就是2400MHz÷5=480MHz,即需要选择DDR2-960内存。选DDR2-1066吧。(但是,因为主频太低,还要看内存控制器或主板是否支持)下图就是我根据以上原则把计算结果表格化了,为了简化,在表中没有把分频系数列出来。表中有灰色底纹的数字表示计算出来的分频系数小5。因此,求这些时钟频率时,分频倍数是按分频系数等于5计算的。我相信,有这个表作参考,内存怎样跟CPU配合就是十分清楚的了。
        
        现在,我们用上面的两个例题为例,研究一下怎么从下表中直接得出配内存的结果:(注:字体时大时小,不是作者的设臵,是日志编辑功能的毛病。刚改
        版,还不完善。气煞人也!)
        
        在第一个例题中的CPU频率是2GHz,在BIOS中设臵的内存是DDR-400,因此从这个表就可以查得通过内存的时钟频率是200MHz,即该内存运行在DDR-400。这样选频率正好匹配。第二个例题:CPU主频是1.8GHz,选得是DDR2-800内存,从表中可以查得内存的运行频率是360MHz,相当是DDR2-720内存。从表中还可以看出:如果你想使这个内存运行在DDR2-800,只有选2.0GHZ或以上的CPU。如果CPU的主频依旧是1.8GHz的话,即使你选用DDR2-1066也于事无补,它只会把内存降格为DDR2-720。有许多网友问:我安装的内存频率频率很高,但是,在CPU-Z中检测出来的频率又很低呢?主要原因是你安装的CPU的频率太低,主板并不支持频率过高的内存的缘故。表6AMD的CPU跟内存配合方法一览表
        
        在本表中没有列出相应的分频系数,因而不利于超频时使用。其实,如果做超频操作时,只需把表中的数据乘以“超频后的CPU主频/超频前的CPU主频”就可以得到超频后加于内存的时钟频率了。从这个表我们就可以清楚地看出来应该怎样选择内存了。比如,当CPU的主频是1600MHz时配DDR-400就可以了当CPU的主频是2000MHz时配DDR2-800,;,是正合适的;当CPU的主频是3200MHz时,配DDR3-1066正合适。我猜想:主板的设计者就是按这个思路来设定主板默认的内存频率的。这个表是在K8的条件下根据CPU和内存的参数做出的,目前已经发展到K10(似乎没有K9),因此,情况稍有变化。还有一个重要因素也不容忽视,那就是除了主板支持外,内存控制器是否支持这个频率。如果控制器不支持,只有主板支持也是不行的。如此说来,上表仅是一个原则设定,如果你用CPU-Z进行检测时,其结果跟上表不符,就要从多方面找原因了。
        
        10.AMDK10类CPU内存的匹配方法
        AMD的K10类CPU内存匹配的方法和计算方法较之K8有了很大的变化。其计算顺序是:第一步:了解你选定的CPU支持什么样的内存。比如,可以是DDR2-800、DDR3-1333等;并且在BIOS的“DRAMFrequency”项中设臵这个内存。当然也可以设臵其他型号的内存。系统并不理会你插的是什么内存,而是根据你的设臵的内存进行计算的;第二步:根据在BIOS中设定的内存计算出分频系数内存的分频系数=在BIOS中设定的内存的数据频率÷外频(8)内存的数据频率值是多大,可以从内存的型号中知道。例如,DDR2-800的数据频率就是800MHz;DDR3-1333的数据频率就是1333MHz。依此类推。由式(8)可知,当在BIOS中设定的内存是DDR2-800时,800MHz÷200MHz=4,即分频系数=4;当在BIOS中设臵的外频是DDR3-1333时,1333MHz÷200MHz=6.67,即分频系数等于6.67。
        
        第二步:根据下式计算出通过内存的实际数据频率内存中的实际数据频率=实际外频×分频系数(9)例1:在BIOS中把内存设定为DDR2-800时,如果把外频超到230MHz后,通过内存的数据频率是多少?答:因为DDR2-800的数据频率是800MHz,而AMD的CPU的标称外频是200MHz,因此,分频系数等于800MHz÷200MHz=4。根据式(9)可以计算出通过内存的数据频率是230MHz×4=920MHz。即相当是超到了DDR2-920。体质不好的DDR2-800内存是承受不了的。最好是安装DDR2-1066内存。下表就是在BIOS中设臵的内存的数据频率跟分频系数的计算结果。在表中给出的内存都是实有其型号的。但是,在主板的列表中,可能有DDR2-1111、DDR2-1200之类的设臵。本表没有列入它们,如果遇到有这样的设臵时,读者可自行计算。表7.AMDK10CPU的分频系数
        
        注:表中的FSB:DRAM是检测软件CPU-Z的相应检测结果。
        
        例2.使用的是AMD的K10CPU,在BIOS中设臵的内存是DDR3-1333,主板也支持,没有超频。请问:在内存中的数据频率是多少?答:由上表可以查出,在这种情况下,内存系数是6.67,因此,内存中的实际数据频率是200MHz×6.67=1333MHz。由这个例题可以看出来:如果不考虑超频时,实际外频和标称外频是相等的,都等于200MHz。因此,由式(8)可知:内存的实际数据频率就等于你在BIOS中设臵的内存的数据频率。所以,在K10中如何选配内存的问题就变得十分简单了。简单到可以这样说:当给AMD的K10类CPU配内存时,你在BIOS中设臵什么样的内存,在内存中的频率就是你设臵的频率。但是,大前题是CPU的内存控制器和主板支持。你把CPU支持内存条插入后,系统怎样运行这个内存,你不必管它,只管让它“Aout”或“BySPD”。但是,如果你想对它进行手工设臵,可以把BIOS的“MemoryClockMode”项设臵为“Manual”(手动模式),然后用上述方法进行设臵即可。
        
        11.内存选配方法实例问答
        问1:在Intel平台,如果外频是200MHz,假如我选择DDR内存,应该是什么型号的?如果选DDR2内存,应该选什么型号的?
        
        答根据内存核心频率等于或不小于外频的原则选DDR时应该选DDR-400;:,,选DDR2时,应该选DDR2-800。问2:在Intel平台的FSB=800MHz时,如果安装DDR2-1066内存,将会是什么情况?答:因为系统向内存提供的时钟频率最大仅为400MHz,而DDR2-1066需要533MHz。因此,系统将会把DDR2-1066当作是体质好的DDR2-800对待。问3:在Intel平台的FSB=1066MHz时,如果安装DDR2-800内存,将会是什么情况?答:因为系统向内存提供的时钟频率最大为533MHz,而DDR2-800所能耐受的时钟频率是400MHz。因此,内存需异步运行,即把加给内存的时钟频率降下来。这项降频工作就是我们所说的异步。异步是由主板自动进行的。当然也可以由人工操作。问4:我的CPU是AMD的K8,主频是2600MHz。主板也支持DDR2-800,可是,我安装上去以后,CPU-Z的检测结果是:频率只有371.4MHz。这为什么?答:让我们计算一下:2600MHz/400MHz=6.5,进为7。2600MHz/7=371.4MHz,相当DDR2-743。所以,你说的情况是正常的。在AMD平台,内存的实际频率是经常被压低的。问5:我的CPU是AMD的k8,主频是2200MHz,安装的是DDR2-667。为什么在CPU-Z上面看到的DRAM(内存时钟频率)是314左右?而不是667/2=333?答:让我们计算一下:因为你设臵的是DDR2-667内存,所以有2200MHz/333MHz=6.6,应取为7。2200MHz/7=314MHz。由此可知,你的电脑是正常的。在AMD平台,不是你设臵了什么频率,通过内存频率就是你设臵的频率的。问6:在AMD平台,用CPU-Z检测时,“前端总线:内存”是“CPU/9”是什么意思?答:在AMD平台用CPU-Z检测电脑的频率时,如在“前端总线:DRAM频率”项表示为“CPU/9”,其中的”CPU”表示你的CPU的主频,“9”表示的是分频系数。如果你的CPU的主频是1.8GHz,那么,1800MHz/9=200MHz。这就是说,你的内存的时钟频率是200MHz。问7:当用CPU-Z检测电脑时,在“前端总线:内存”项出现“3:8”是什么意思?答因为AMD的CPU其外频都是200MHz因此有“3:8=200:X”由此得X=200:,,×8÷3=533,即你在电脑中的内存的时钟频率为533MHz。所以,这个内存可能是DDR2-1066也可能是DDR3-1066。问8:我的AMD的CPU主频为3000MHz,我选用DDR3-1333内存。可是,用CPU-Z检测时,“FSB:DRAM=3:8”。这是什么意思?答:在AMD平台,其比是“3:8”,就是说其时针频率是533MHz,相当DDR3-1066。你的DDR3-1333是被降格使用了。为什么要降格?这就要看主板的设臵了,也可能主板的默认设臵就是DDR3-1066,也可能CPU的内存控制器最大支持到1066MHz。如果不是内存控制器不支持,只要是主板支持,你把它的频率设臵成667MHz也是可以的。问9:我用的是AMDK8的CPU,主频是2800MHz。应该选什么样的内存?答:从表6可以看出,在你的这种情况下,选择DDR2-800就可以了。选DDR2-1066似乎高了一些。因为你的CPU主频比较低,选择DDR3不一定合适。但是,还要看主板和内存控制器是否支持。
        
        问10.我的AMD8650CPU匹配的是DDR2-800内存条。我把外频超到240MHz后,为什么CPU-Z显示的内存频率是480MHz?答:分频系数是800MHz/200MHz=4。所以,你的内存的数据频率是240MHzX4=960MHz,即相当是DDR2-960。它的时针频率恰好是960MHz/2=480MHz。所以,CPU-Z的显示是完全正确的。当为AMD的CPU选配内存时,一定要搞清楚这个CPU是K8、K10?或是K8以前的。因为三种类型的CPU有不同的匹配内存的方法。问11:HT的频率跟内存的频率有什么关系?答:因为AMD的内存控制器在CPU内部,直接受CPU控制。内存总线跟HT总线虽然都源于CPU,但是,各走各的路;各有各的任务(见本文的附图),彼此没有什么关系。因此,当选配内存时,不必考虑HT总线的频率。但是,当采用需要共享内存作为显存的集成显卡时,二者是有一些关联的。但是,当考虑匹配内存时,无需考虑这些。问12:为AMD平台配内存时,还需要考虑内存的带宽跟CPU带宽的匹配吗?答:因为在AMD平台,内存直接跟CPU打交道了,CPU的带宽就是内存的带宽。因此,当选配内存时,CPU的带宽跟内存的带宽匹配问题可以不再单独考虑。按本文所介绍的方法选配内存就可以了。但是,在K8时代,如果是DDR2-800的内存,CPU的主频必须提高到2.8Ghz时,才能把它当DDR2-800使用,实际上这也是带宽的匹配问题。问13:什么是MCT?什么是DCT?
        
        答:MCT(MemoryController)是内存控制器,它控制内存的读取等操作,决定了K8/K10的内存性能。它的控制功能适用于任何类型的内存。而DCT(DRAMController)是“内存界面控制器”,也称DRAM控制器。它决定了可以使用的内存类型。它可以升级换代,以适应不同类型的内存。也就是说,内存控制器支持什么类型的内存是由它决定的。问14:在支持AMDK10主板的BIOS中的DCTsMode是什么意思?答:DCTsMode(DRAM控制器模式)是指K10中所安装的两个独立的64bit单元内存控制器的两种运行模式。有GangedMode和UngangedMode。后者是默认模式。前一种模式就跟K8双通道模式相同,两通道的内存会逻辑上连为一体,构成128bit,这个模式称为「GangedMode」。如果两个控制器同时启动,总合起来每个时脉周期一样有128bit的资料传输。这不是双通道,也不是单通道,而是两个单通道同时运行,称为「UngangedMode」模式。这种模式的好处是对两个内存的一致性要求不高。
        答hmhding网友:因为下述文字“超过”1000字了。加不上。所以放到这里来回答你:
        第一个问题调控的目的和效果就是让加于内存的频率不过载即当外频为200MHz时用DDR2-667:。,时,加给内存的频率是166MHz而不是200MHz。当然也就不存在蓝屏的问题了。第二个问题:当外频是200MHz时,用两个DDR400组成双通道,就是为解决带宽的瓶颈的。其实,用一个DDR400也可以。第三个问题:你的外频是100MHz,FSB:DRAM=3:4。由此可以推算出你采用的DDR400已经降频到DDR266使用了。至于为什么不是降到DDR200,我也说不清。是不是主板不支持?请看看你的主板说明书把。谢谢。
        
        对你第二次来信的回复(就这么几个字,人家总说超过1000字了,贴不上):从你这段话就完全清楚了为什么内存频率只降级到DDR266,而不是降级到DDR200的原因了。因为“host/dramclockratio选项”的含义实际上是内存的数据频率/外频。主板默认它为2.66,所以,内存的数据频率就等于100MHz×2.66=266MHz。这个判断是我根据GA-81的说明书作出来的,你也可以仔细看看你的说明书。

    转载于:https://www.cnblogs.com/xd-elegant/p/4125867.html

    展开全文
  • 核心板上若工作的时钟频率不同则无法正常驱动工作,这是很关键的知识点。 频率我们可以通过开发板的原理图查看,或者在soc(CPU)的原理图上得到也可以。 这里我用的是开发板的原理图,我使用的是TQ210 开发板...

    在核心板上若工作的时钟频率不同则无法正常驱动工作,这是很关键的知识点。

    频率我们可以通过开发板的原理图查看,或者在soc(CPU)的原理图上得到也可以。

    这里我用的是开发板的原理图,我使用的是TQ210

    开发板上接到soc的时钟这块有XXT1,XXTO等,soc是靠时钟提供主频率的,若接到这块上面的就代表要与这个频率一致,否则无法正常工作,产生调频的情况。

    我们在原理图上看下clock这块,可以看到PLL这个工作时钟电路是接在这个上面的,就代表开发板的工作时钟频率也是24MHZ

    那么接下来我们就到linux内核里去修改时钟频率

    我使用的内核版本是TQ提供的Kernel_3.0.8,Linux内核版本是2.4

    跟芯片相关的都存在与arch这个里面,如我的开发板是基于三星arm s5pv210这个架构的

    我的路径就是:arch/arm/machs5pv210

    我们进入到arch/arm/machs5pv210的目录下找到mach-tq210.c这个文件,在这里面修改主频率。

    我们搜索init_clocks这个函数,大概在2104行,至少我的代码是这样的,结合你自己的代码去寻找,因为嵌入式开发这一块没有固定的标准,要结合实际情况进行寻找修改,增加自己的动手能力。

    24mhz就是24000000,1mhz=1000000HZ ,24mhz就等于24000000

    s3c24xx_init_clocks(24000000);

     

    展开全文
  • 关于外部时钟晶振频率选择 芯片的主晶振频率范围一般来说在数据手册(Datasheet)和技术参考手册(Technical Reference Manual)中都有介绍。...在这个图的正中央,有一个核心时钟:SYSCLK,它最大频率是7..
  • I/O频率是指时钟频率即I/O Buffer(输入/输出缓冲)的传输频率 DDR内存最关键的技术就是分别采用了2/4/8bit数据预取技术(Prefetch),由此得以将带宽翻倍,与此同时I/O控制器也必须做相应的改进。 关系图如下: ...
  • 内存核心频率 内存本身没有时钟发生器,内存时钟信号由主板上的时钟信号器提供。 内存核心频率是内存的真实运行频率,内存Cell阵列(内存电容)的刷新频率。 内存频率虽然在成倍增长,但实际上内存颗粒的频率一直...
  • 0 原理0.1 时钟源自哪里所谓...对于QT2440板子来说,OM3和OM2均直接接地,这就意味着时钟源来自针脚XTIpll和XTOpll,这两个针脚在TQ2440的核心板上被连接上了一个12MHz的晶振。0.2 S3C2440的时钟原理与设置CPU、RAM、U
  •  本文中所描述的是以500MHz时钟频率运行的DSP核心,多数时序关键路径都有超过20级的逻辑层。考虑到时钟抖动率和建立时间,满足高频需求真的是项非常具有挑战性的任务。如果使用传统时钟树设计方法,我们至多能获得...
  • 407核心时钟树 SystemInit()函数中设置的系统时钟大小: SYSCLK(系统时钟) =168MHz AHB 总线时钟(HCLK=SYSCLK) =168MHz APB1 总线时钟(PCLK1=SYSCLK/4) =42MHz APB2 总线时钟(PCLK2=SYSCLK/2) =84MHz PLL 主时钟...
  • 等进行统一对时,这些自动化设备的内部都有实时时钟,但是也有可能因为多种原因产生误差,如初始值设备的不准确、石英晶体振荡频率误差及其频率振荡的温度漂移和老化漂移、电路中电容量的变化等。 因此需要实时对...
  • 检测CPU用CPUZ,检测显卡非GPUZ-Z莫属了,在同类软件知名度中数一数二,专业的检测显示硬件的小工具,可查看显卡的真实型号、显存大小及GPU核心时钟频率,GPU所支持的运算类型。还可检测GPU当前温度及功率负载,GPU...
  • TechPowerUP GPU-Z 0.8.3是专门用于检测显卡的小工具,它能检测并提供显示卡的详细硬件属性,如显存类型总线宽度,显存大小及带宽,GPU时钟频率GPU支持的运算类型,GPU的核心时钟频率温度,GPU负载值。每次更新...
  • ARM时钟管理单元--CMU

    2020-08-26 12:14:46
    时钟是协调整个系统的频率, 所以为了整个系统ARM功耗最低,性能最好,采用多时钟频率的方法 我们这里使用的时钟是一个25HZ的晶振,通过倍频和分频来改变各个模块的频率 同样的我们可以通过手册的推荐值去配一个...
  • 时钟同步 chrony

    2021-04-15 06:43:18
    chrony 是NTP(Network Time Protocol ,网络时间协议)的另一种实现方式,相比ntpd,可以更快更准确地同步系统时钟,最大程度地减少时间和频率误差 chrony包括两个核心程序:chronyd是一个守护进程,用于调整内核中...
  • 实时时钟RTC

    千次阅读 2013-03-16 14:47:38
    电子系统中,时钟是一个关键的要素,尤其在手持设备中,时钟系统的设计与系统的性能和功耗有直接关系。PXA255提供了丰富的时钟系统的控制能力,能有效地实现性能和功耗的平衡。...n可编程频率核心锁相环PLL
  • GPU-Z权威的电脑显示卡硬件信息检测程序,这个是v0.8.5完整汉化版,方便你检测显卡的各项硬件属性,能检测的项目包括GPU名称,BIOS版本及显存类型显存大小,GPU核心时钟频率及显存时钟频率,支持的硬件技术。...
  • 时钟发生器输出一组固定频率时钟,使用一个外部同步时钟参考作为输入。 设计的核心是U1,即ZL30407光同步网络/同步数字系列(Sonet/SDH)网络元件PLL(见图1)。ZL30407将产生一组同步到20MHz输入主时钟的SONET和PDH...
  • SOC RTC时钟——为什么实时时钟的晶振都是32.768KHZ呢? 0. 实时时钟(RTC,Real Time Clock) 实时时钟的缩写是RTC(Real_Time Clock)。...任何实时时钟核心都是晶振,晶振频率为32768 Hz 。它为分频计数器提供
  • 射频卡时钟树的核心必须是一个具有可编程输出频率的抖动衰减器。本文的其余部分将讨论性能属性和需要这些性能属性的原因,以及其他时钟树要求。
  • STM32学习笔记(一)时钟和定时器

    千次阅读 2014-12-31 20:49:22
    STM32的时钟系统相当的复杂,包含了5个时钟源,分别是HSI HSE LSI LSE PLL,HSI是高速内部时钟、RC振荡器,频率为8M,HSE是高速外部时钟,即晶振,我的核心板上晶振为8M。LSI为低速内部时钟、RC振荡器,频率40k
  •  时钟同步是分布式系统的核心技术之一,其目的是维护一个全局一致的物理或逻辑时钟,以使系统中的消息、事件及各节点与时间有关的行为有一个全局一致的解释,以确保节点发送和接收消息在时间逻辑上是完全正确的。...
  • 内部总线的时钟频率。在我们之前学过的程序内开头都有rcc的设置程序,接下 来就讲解rcc设置函数的内容从而结束stm32核心板的内容。 回顾时钟复位和电源管理文章 内部时钟都是RC,外部时钟都是晶体,高速都是提供...
  • C51摇摆时钟

    2013-09-01 21:33:25
    本装置利用故障硬盘的音圈电机作为核心元件,用七颗普通LED等作为显示元件,通过控制电机的摇摆频率和速度,发送显示代码在LED上,利用人眼的残留效应显示时间。
  • 软件介绍: CPU-Z v1.69.0 是一款专门用来检测电脑CPU处理器的小工具,凡是玩过电脑的,应该都知道它的大名。它可以详细检测你的CPU各种信息,包括CPU的...检测显卡图形处理器的名称及核心时钟频率,显存的大小等。
  • 三、系统频率

    2021-01-14 23:08:21
    之前的实验中都是采用默认的时钟配置,IMX6ULL默认时钟是396MHz,本节就来配置IMX6ULL使其工作在推荐的528MHz,先看芯片的时钟来源,打开芯片核心板原理图 可以看到,芯片已经接了一个32.768KHz的晶振,这个晶振...
  • 从上图的左上角我们可以得知,S3C2440A支持两种外部时钟源输入,一种是通过接在XTIpll与XTOpll上的外部振荡电路(一般由晶振为核心组成),还有一种是通过将现成的时钟频率通过EXTCLK输入。 时钟输入芯片后,送到...
  • 本设计由单片机89C51、DS12887A时钟芯片、DAC0809模数转换芯片为核心,辅以必要的电路,构成了一个具有多功能的数字时钟 。它由220V、50Hz交流电源供电,能够准确的显示时间、调整时间、闹钟定时,并能够对时钟所在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 500
精华内容 200
关键字:

核心时钟频率