频率如何选择?

电器工程 力量 数字逻辑
2022-01-10 01:57:53

我不是电子专家。我只是一个程序员。我问这个问题只是为了好玩。

我的问题:如何选择数字电路设计的频率?

频率选择是在实际设计之前“预先”选择,还是在电路设计完成后“作为最后选择”,还是在设计过程中“中间”多次调整?

如果事实证明大型电路的不同部分需要不同的最佳频率怎么办?这不是重新设计电路某些部分的原因吗?

您能描述一下设计期间选择频率的各个阶段吗?

为什么许多“Core”系列 CPU 的频率低于 Pentium-4 却具有更高的速度?

我还听说较低的频率会导致较低的功耗。但是,核心 CPU 不是频率较低,但每秒改变其状态的逻辑门数量不是更少吗?改变状态的门数量不是定义功耗的因素吗?

4个回答

在嵌入式领域,由于微控制器外围设备的限制,通常会选择特定频率。例如,可以使用 1.8432 MHz 晶振(或该频率的倍数,例如 18.432 MHz),因为该基频除以 16 会导致 UART 的波特率为 115,200。32768 Hz 通常用于低功耗微控制器应用,因为它很容易被分频至 1 Hz 以保持计时。

以下是各种晶体频率及其存在原因的列表。由于前面给出的原因,通常会为微控制器选择列出的“UART时钟”;具体选择哪一个取决于 BRG(波特率发生器)的电路和所需的波特率。

I.大多数时候芯片会为芯片的不同部分使用不同的频率。现在,即使是最基本的 0.5 美元微控制器也有相当复杂的时钟方案(至少值得数据表中的单独章节)。因此,时钟频率将逐块选择。

二、在设计频率的哪个阶段选择:

a)我会声称大部分时间都处于早期阶段。一会得到要求(例如:必须解码高清视频)。基于此,人们会选择考虑功率/技术/成本(面积)权衡的架构。架构决策的输出之一是时钟频率。

b)但有时早期的决定是次优/错误的。所以正在修改。然而,这可能会很昂贵,因为芯片的不同部分通常是并行设计的。更改一个时钟可能会触发其他模块的重新设计(由于接口和时钟源本身)。我会说,出于这个原因,这是可以避免的。当然,某些块更改时钟频率比其他块更容易,因此“您的频率可能会有所不同”。

c) 在布局和布线的最后阶段(这是将芯片发送到工厂之前的最后阶段之一),有时在关闭时序/功率预算(即,使设计以目标频率/功率工作)时可能会遇到麻烦,因此决定是降低时钟频率。这绝对可以避免,因为这意味着不符合某些营销规范。但有时更明智的做法是在市场上更快地进行重新设计,这在现阶段将非常昂贵且耗时。

但还有更多:

d) 有时时钟频率决定是在制造之后做出的(如果事先在设计中做出了某些规定)。由于制造的可变性,一些芯片比其他芯片更好。比一个人可以执行分箱 - 根据可以可靠工作的最大频率对芯片进行分类,并以溢价更快地出售这些芯片。我想说这主要由 PC 处理器供应商使用。

e) 有时,如果所需的处理能力低于芯片允许的最大处理能力,则最终设备中的就绪芯片会低于时钟以节省功率(在 uC 中很流行)。

f) 在一些现代设计中时钟可以动态调整。然后根据负载在现场更改时钟以节省功率。

三、那么如何选择频率以及为什么有时在较低时钟下工作的设计将具有更大的处理能力:

哦,天哪,变量太多了,所以这本身就是工程学科。您已经考虑到营销要求、技术、成本、EMI、功率、支持的标准、IO 要求等...

但基本上人们可以将其简化为以下 - 为了实现给定的性能,人们可以拥有更快的时钟(一个接一个地串联执行操作)或以较低的时钟并行执行操作,但以使用更多晶体管为代价。由于某些因素 - 主要是流水线停顿/内存延迟,有时使用更多晶体管而不是更快的时钟更好。

实际上,CMOS 电路的功耗是静态功耗(由漏电流引起)和动态功耗(仅在晶体管改变逻辑状态时消耗)的总和。后者是开关频率的函数。

这是一份出色的 TI 应用说明,其中更详细地描述了它:http: //focus.ti.com/lit/an/scaa035b/scaa035b.pdf

也就是说,通常最好选择较低的时钟频率。然而,有时使用更高的时钟频率更有意义,例如中断处理程序可以更快地完成其任务,并在中断之间将 CPU 切换到省电模式。

如上所述,人们在速度与功率之间进行权衡。

在市场的高性能端,它更复杂——在英特尔的情况下,存在相互竞争的问题——我能让硅片走多快?取决于 - 执行一条指令需要几个时钟 - 作为一个(非常)简单的例子,我可能能够构建一个时钟频率为 1GHz 的 4 个时钟/指令管道和一个时钟频率为 1.25GHz 的 6 个时钟/指令管道我仍然会退休每个时钟有 1 条指令,6 个时钟/指令管道会更快

在现实世界中,尽管会发生诸如流水线气泡之类的事情,但是当您必须重新填充流水线时,您拥有的流水线阶段越多,您浪费的时钟就越多 - 4 时钟管道将比 6 时钟管道填充得更快,平均而言(超过一大堆基准测试)6 时钟管道可能需要 2 个时钟来退出每条指令,而 4 管道阶段设计需要 1.5 个时钟 - 4 阶段设计将执行 6 阶段第一(1GHz/1.5 > 1.25GHz/2)。

当然,营销人员很难推销这样的东西——人们已经习惯了“更多的 GHz 意味着更快”