为什么51单片机一个机器周期有12个时钟周期 这话什么意思 机器周期是多少时钟周期是生产单片机时就确定的吗

在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。 时钟周期是一个时间的量,人们规定10纳秒(ns)为一个时钟周期。时钟周期表示了SDRAM所能运行的最高频率 机器周期和时钟周期有什么关系吗 知道的兄弟麻烦告诉我下 谢谢啊

一个机器周期=12个时钟周期是生产时就确定的,原因就是因为51的执行速度相对较慢,MCU运行时是对外部时钟进行了12分频。

一般情况下,一个机器周期由若干个S周期(状态周期)组成。通常用内存中读取一个指令字的最短时间来规定CPU周期,(也就是 计算机通过内部或外部总线进行一次信息传输从而完成一个或几个微操作所需要的时间)),一般由12个时钟周期(振荡周期)组成,也是由6个状态周期组成。而振荡周期=1秒/晶振频率,因此单片机的机器周期=12秒/晶振频率 。

扩展资料:

单片机指令周期:

CPU每取出一条指令并执行这条指令,都要完成一系列的操作,这一系列操作所需要的时间通常叫做一个指令周期。换言之指令周期是取出一条指令并执行这条指令的时间。

由于各条指令的操作功能不同,因此各种指令的指令周期是不尽相同的。 

例如一条加法指令的指令周期同一条乘法指令的指令周期是不相同的。 指令周期常常用若干个CPU周期数来表示,CPU周期也称机器周期。

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

参考资料来源:百度百科-单片机

参考资料来源:百度百科-机器周期

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-25
一个机器周期=12个时钟周期是生产时就确定的,原因就是因为51的执行速度相对较慢,MCU运行时是对外部时钟进行了12分频,这个没必要纠结,执行不够快那只能慢下来。像AVR的单片机 机器周期就=时钟周期,没有进行12的分频。追问

兄弟 再劳你费心下啊 多谢了 12分频是什么意思啊 解释下给我听啊 刚入门的 上级一定要叫我解释清楚 百般无奈啊 出于自身原因也有 勤奋好学 哈哈 我就是这样的人 摆脱啦- -兄弟 解释给我听 谢谢

追答

这就是内部设计的一个东西,51系列单片机会对输入的时钟有个固定分频(12分频)。所谓12分频就是时钟频率除以12啊。。。比如你接12M晶振,其实内部是按照1M工作的。。。、几分频就是频率除以几

追问

多谢啊 稍微有点懂了

本回答被提问者和网友采纳
第2个回答  2012-11-04
转载而来:或许有点帮助
**********************************************************************
一、时钟周期

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

在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周频率范围也不一定相同。常用的8051单片机的时钟范围是1.2MHz-12MHz。

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

二、机器周期

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

三、指令周期

指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期数也不同。对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如:转移指令、乘法指令,则需要两个或者两个以上的机器周期。
通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。

所以如果你的晶振频率为f,那么一个时钟周期为1/f,机器周期为12*1/f。将你的频率带入公式即可算出……
第3个回答  2012-04-19
51单片机(别的不太清楚)1个指令周期包括大约1-4个机器周期,1个机器周期包括12个时钟周期,时钟周期具体是多少,根据晶振频率来定,1个时钟周期=1/晶振追问

兄弟 这个我也知道啊 为什么一个机器周期等于12个时钟周期啊 1个时钟周期我知道 晶振振荡产生频率 多少次每秒 然后一个时钟周期就是总的时间一秒 1除以晶振频率就能算出时钟周期 劳你费心了 多谢啊 这个机器周期是生产芯片的时候就确定的吗 还是 为什么这么确定啊 我知道有些单片机 就6个 3个 1个时钟周期

追答

这个恐怕只有生产某款型号单片机的人员来解释了,我目前不太清楚,或许学习汇编的人会更清楚一点。

第4个回答  2020-08-23

为什么? 这是设计单片机的人,所考虑的问题。

使用单片机时,你就记住:一个机器周期有12个时钟周期,即可。

不用问为什么。

 

你买台汽车,四个轱辘的,你开就行了。

你还能问:为什么 是四个轱辘吗?

相似回答