系统时钟

主频

主频指CPU内核工作时的时钟频率,它表示CPU内数字脉冲信号震荡的速度。主频的高低在很大程度上反映了CPU速度的快慢,但与CPU实际的运算能力并没有直接的线性关系。

主频的产生主要依赖于CPU内部的时钟发生器(也称为时钟振荡器)。时钟发生器通过不断振荡产生稳定的电信号,这些电信号以固定的频率传递给CPU内部的计数器。计数器每接收一个信号就表示一个时钟周期的发生,而CPU则在每个时钟周期内执行一条指令或进行一步操作。

11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz;

其中 2.80 GHz 就是主频,即 CPU 的时钟频率,它表示CPU内部的时钟振荡器每秒能够产生2.8亿个时钟周期,每个时钟周期 CPU可 以执行一条或多条指令(这取决于CPU的架构和指令集)。

系统时钟 / 时钟频率

系统时钟频率是指同步电路中时钟的基础频率,即单位时间内(如1秒)时钟信号发生的次数。这个频率是由系统时钟振荡器产生的,它提供了一个稳定且精确的脉冲信号,用于控制计算机内部各个部件的同步工作。

可以将系统时钟理解为主频,因为二者除了概念,在数值上是一致的;

时钟周期

时钟周期,也称为振荡周期或节拍周期,是时钟频率的倒数。它表示了CPU完成一个最基本动作所需的时间。时钟周期是计算机中最基本的、最小的时间单位。

振荡周期指任何振动(振荡)现象重复出现的时间间隔,也就是完成一次振动所需要的时间。

例如,STC8H的时钟频率为24MHz,那么每个时钟周期的时间就是1/24MHz=41.67ns

指令周期

指令周期是指计算机执行一条指令所需的全部时间。它包括了从取出指令、对指令进行译码、执行指令以及处理指令执行结果等一系列步骤。指令周期的长度取决于指令的复杂性和所需的操作数等因素。

指令周期包括了从指令的获取、译码、操作数寻址、执行到结果写回的整个过程。

指令周期可以被认为是计算机执行一条指令所经历的时钟周期数量。

机器周期

机器周期则是实现指令周期的基本单位,一个指令周期通常包含若干个机器周期(比如加法操作)。换句话说,一条指令的执行过程(即指令周期)可能涉及多个机器周期,每个机器周期完成指令执行过程中的一个或多个基本操作。

早期的 STC8H 单片机的机器周期为 12 个时钟周期。现在的 STC8H 可以有两种配置,一个是 1T,一个是 12 T。这分别是什么意思呢?

1T 则说明是单时钟/机器周期(1T)的单片机,指的是该单片机在执行指令时,每个机器周期仅需要一个时钟周期的时间。

标准的 8051 单片机是 12T 的,即一个机器周期包含 12 个时钟周期

传统的单片机(如8051)通常需要多个机器周期来完成一条指令的执行,但在 1T 单片机中,设计的目的是使每条指令在一个时钟周期内完成,因此指令周期和机器周期相等

  • 12T也就是早期的配置,假设当系统时钟为24MHz时,每个机器周期的时间就是12 * 41.67ns = 500ns
  • 1T是芯片架构升级后的,每个机器周期的时间为 1 * 41.67ns = 41.67ns.

NOP 指令

NOP指令是一种汇编指令,表示“no operation”(不执行任何操作)。它不会改变寄存器的值,也不会修改存储器中的数据,只消耗一个指令周期。在程序中插入NOP指令可以用于延时或调整代码的执行顺序。

NOP指令在某些情况下也被用于填充一些未使用的空间,使程序的大小达到特定的大小或对齐要求。在编写汇编代码时,程序员可以在代码中插入NOP指令来占用空间,使得代码和数据能够对齐在内存中的特定地址上,以提高程序的执行效率。

在STC8H单片机中,NOP指令被翻译成一条长度为1个字节的指令,不做任何操作。