指令周期 机器周期 状态周期 振荡时钟周期(时钟周期)

news/2024/12/2 18:40:56/

时钟周期:

     时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。

       在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟 周期为250ns。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机型的计算 机,时钟频率越高,计算机的工作速度就越快。

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


机器周期:

    在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。

    8051系列单片机的一个机器周期由6个 S周期(状态周期)组成。前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期==6个状态周期==12个时钟周期。

    例如外接24M晶振的单片机,他的一个机器周期=12/24M 秒;


指令周期:

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

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

    由于存贮器和I/O端口是挂接在总线上的,CPU对存贮器和I/O接口的访问,是通过总线实现的。通常把CPU通过总线对微处理器外部(存贮器或 I/O接口)进行一次访问所需时间称为一个总线周期。


总结一下,时钟周期是最小单位,机器周期需要1个或多个时钟周期,指令周期需要1个或多个机器周期;机器周期指的是完成一个基本操作的时间,这个基本操作有时可能包含总线读写,因而包含总线周期,但是有时可能与总线读写无关,所以,并无明确的相互包含的关系。

指令周期:是CPU的关键指标,指取出并执行一条指令的时间。一般以机器周期为单位,分单指令执行周期、双指令执行周期等。现在的处理器的大部分指令(ARM、DSP)均采用单指令执行周期。
机器周期:完成一个基本操作的时间单元,如取指周期、取数周期。
时钟周期:CPU的晶振的工作频率的倒数。

 


http://www.ppmy.cn/news/666671.html

相关文章

指令周期、机器周期、时钟周期的概念及三者之间的关系

指令周期: CPU每 取出 一条指令并 执行 这条指令,都要完成一系列的操作,这一系列操作所需要的时间通常叫做一个指令周期。换言之指令周期是取出一条指令并执行这条指令的时间。由于各条指令的操作功能不同,因此各种指令的指令周期…

计算机组成原理:时钟周期、机器周期和指令周期

时钟周期:一个时钟脉冲所需要的时间。在计算机组成原理中又叫T周期或节拍脉冲。是CPU和其他单片机的基本时间单位。它可以表示为时钟晶振频率(1秒钟的时钟脉冲数)的倒数(也就是1s/时钟脉冲数,比如1/12MHz)&…

【Docker】基于jib插件,实现Docker部署springboot项目

文章目录 创建springboot项目jib插件介绍使用打tar包 Docker部署springboot项目 在工作中,作为一名后端开发人员,项目部署运维的事我们可能都要同时干,今天想跟大家聊聊关于springboot项目使用docker部署相关操作。后期还会跟大家分享docker-…

webpack编译微信小程序

微信小程序开发目前主要还是依赖小程序原生开发者工具,但开发者工具目前还不支持常用的less、sass样式编译,以及环境变量配置等功能。使用webpack就可以弥补这些问题。 思路 webpack启动后,通过webpack-shell-plugin-next包执行启动后的一些…

Vue 单页面添加百度统计或友盟统计

百度统计 在全局 router.beforeEach 里面执行 document.getElementById(baidu_tj) && document.getElementById(baidu_tj).remove(); let hm document.createElement(script); hm.src https://hm.baidu.com/hm.js?******; hm.id baidu_tj let src document.getE…

地图poi数据下载-2019全国地图poi数据-百度高德腾讯

百度高德腾讯地图poi数据下载 全国地图poi数据-下载 上海市(2947012) 上海城区(2947012) 江苏省(8157158) 南京市(1073860) 无锡市(974774) 徐州市(593798) 常州市(673957) 苏州市(1557012) 南通市(614274) 连云港市(340115) 淮安市(354553) 盐城市(495604) 扬州市(444507) 镇…

基于Echarts实现可视化数据大屏医院大数据统计可视化页面HTML模板

前言 🚀 基于 Echarts 实现可视化数据大屏响应式展示效果的源码,,基于htmlcssjavascriptecharts制作, 可以在此基础上重新开发。 本项目中使用的是echarts图表库,ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图&…

有关在Vue中JS如何在H5移动端如何调起第三方地图软件(高德、腾讯、百度)

一、 首先封装区分当前环境是ios端还是android端的方法 RunningPlatform() {let ua navigator.userAgent.toLowerCase()console.log(内核, ua);// iosif(ua.indexOf(like mac os x) > -1) {this.OS IOS}// androidif(ua.indexOf(android) > -1) {this.OS Android}cons…