跳至主要內容

时钟周期、机器周期、指令周期

LincZero大约 3 分钟

时钟周期、机器周期、指令周期

参考:时钟周期、机器周期、指令周期的概念及三者之间的关系;定时器及计数器open in new window

时钟周期,=振荡周期,=P周期

定义

  • 定义

    • 时钟周期也称为振荡周期,定义为时钟脉冲的倒数,是计算机中最基本的、最小的时间单位

      对应于单片机:时钟周期就是单片机外接晶振的倒数

  • 计算例子:

    • 假如采用了 01MHZ 的时钟频率,则时钟周期为 1us;

    • 假如采用了 04MHZ 的时钟频率,则时钟周期为 250ns (1/4 us);

    • 假如采用了 12MHZ 的晶振,它的时钟周期就是 1/12 us;

    • 我们常用的学习单片机8051的时钟范围是1.2MHz-12MHz。

操作量

在一个时钟周期内,CPU仅完成一个最基本的动作

由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏 (使计算机的每一步都统一到它的步调上来)。

显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。 但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周频率范围也不一定相同。

状态周期,=S周期,=2个时钟周期

对于单片机: 在8051单片机中把一个时钟周期定义为一个节拍 (用P表示),二个节拍定义为一个状态周期 (用S表示)。

机器周期,=N个时钟周期

  • 定义
    • 在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如取指令、存储器读、存储器写等,这每一项工作称为一个基本操作
    • 完成一个基本操作所需要的时间称为机器周期
  • 计算例子
    • 一般情况下,一个机器周期由若干个S周期 (状态周期) 组成。 8051系列单片机的一个机器周期同6个S周期 (状态周期) 组成,也就是说一个机器周期=6个状态周期=12个时钟周期

指令周期,=N个机器周期

指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期数也不同。

例子:

  • 对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。即一个机器周期
  • 对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期
  • 通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令

【区别】单片机中定时器(Timer)、计数器(Counter)

  • 定时器和计数器在单片机内部使用同一电路来实现
  • 当这一电路选择为定时器功能时:
    • 输入源通常来自于内部输入的单位时间脉冲(比如由时钟源产生),
    • 有时间的概念在里面
  • 当这一电路选择为计数器功能时:
    • 输入源通常来自于外部事件触发,用于统计外部事件的数量,
    • 没有时间概念在里面