问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
CSDN
1.
https://blog.csdn.net/m0_61973119/article/details/135517500

在计算机科学中,时钟周期、机器周期和指令周期是理解计算机运行机制的基础概念。本文将详细解释这些概念的定义及其相互关系,并通过具体的单片机实例进行说明。

一、指令周期(Instruction Cycle)

CPU从存储器中取出并执行一条指令所需的全部时间称之为指令周期。

二、时钟周期(cycle,clock cycle)

主频:计算机内部主时钟的频率,通常以MHz或者GHz为单位,是生产设计CPU时就已经确定下来的。主频越高,CPU的运算速度越快,时钟周期越短,硬件技术水平的提高可以提升主频。

三、机器周期(Machine Cycle)

在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。机器周期又叫做CPU周期(CPU Cycle),机器周期是人为规定的,实际上是对一条指令执行过程阶段的划分

机器周期的规定:CPU内部操作速度很快,但访问内存速度却慢很多。 每条指令都需要从内存里面加载而来,所以一般把从内存里面读取一条指令的最短时间(与数据通路相关),规定为机器周期

四、不同单片机 机器周期和时钟周期的关系

1、51单片机在其标准架构下,一个机器周期等于12个时钟周期。现在有不少增强型的51单片机,其速度都比较快。有的一个机器周期等于4个时钟周期,有的一个机器周期等于1个时钟周期。

2、cortex-M架构一般来说,一个机器周期等于1个时钟周期

五、STM32F207VET6 死延时


void delay_short(volatile unsigned int n)
{
    while(n--){}
}
//主频120MHZ
void delay_ms(volatile unsigned int n)
{
    CTRL_IO8_ON();//通过逻辑分析仪抓取波形观察延时时间,如果没有逻辑分析仪,也可以使用定时器定时us,进行打印
    while(n--)
    {
        delay_short(20000);//一个循环大概6个时钟周期
    }
    CTRL_IO8_OFF();
}  

六、51单片机中的_nop_()


C语言中没有nop()函数。在51C中一般包含在#include "intrins.h" 头文件中。该函数是在51单片机中用的延时函数,表示执行一条没有什么意义的指令延时一个机械周期也就是12个时钟周期
以MCS-51单片机为例,如果用的是12MHZ的晶振,那么 一个机械周期就是1us;也就是说:nop(); 指令的延迟时间为 1us。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号