(7)--CPU中的指令周期、CPU周期和时钟周期.docVIP

(7)--CPU中的指令周期、CPU周期和时钟周期.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

CPU中的指令周期、CPU周期和时钟周期

计算机中我们常常会混淆指令周期、CPU周期和时钟周期,要区分这些并不难,但要想彻底弄懂这些,就得要求我们对CPU底层有一定了解。

一.指令周期

指令周期:是指计算机从取指到指令执行完毕的时间

计算机执行指令的过程可以分为以下三个步骤:

Fetch(取指),也就是从PC寄存器里找到对应的指令地址,根据指令地址从内存里把具体的指令,加载到指令寄存器中,然后把PC寄存器自增,好在未来执行下一条指令。

Decode(译码),也就是根据指令寄存器里面的指令,解析成要进行什么样的操作,是R、I、J中的哪一种指令,具体要操作哪些寄存器、数据或者内存地址。

Execute(执行指令),也就是实际运行对应的R、I、J这些特定的指令,进行算术逻辑操作、数据传输或者直接的地址跳转。

在取指令的阶段,我们的指令是放在存储器(也就是内存)里的,实际上,通过?PC寄存器和指令寄存器取出指令的过程,是由控制器(ControlUnit)操作的。指令的解码过程,也是由控制器进行的。一旦到了执行指令阶段,无论是进行算术操作、逻辑操作的R型指令,还是进行数据传输、条件分支的I型指令,都是由算术逻辑单元(ALU)操作的,也就是由运算器处理的。不过,如果是一个简单的无条件地址跳转,那么我们可以直接在控制器里面完成,不需要用到运算器。

指令生命周期

二.CPU周期

CPU周期亦称机器周期,在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。

例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作(注意:每一个基本操作都是由若干CPU最基本的动作组成)。完成一个基本操作所需要的时间称为机器周期。通常用内存中读取一个指令字的最短时间来规定CPU周期。

三.时钟周期

时钟周期也称为振荡周期,定义为时钟频率的倒数。时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。

四.周期之间的关系

指令周期(InstructionCycle):取出并执行一条指令的时间。

CPU周期:一条指令执行过程被划分为若干阶段,每一阶段完成所需时间。

时钟周期(ClockCycle):又称震荡周期,是处理操作的最基本单位。

对于一个指令周期来说,我们取出一条指令,然后执行它,至少需要两个CPU周期。取出指令至少需要一个CPU周期,执行至少也需要一个CPU周期,复杂的指令则需要更多的CPU周期。而一个CPU周期是若干时钟周期之和。

周期之间关系

所以,我们说一个指令周期,包含多个CPU周期,而一个CPU周期包含多个时钟周期。

计算机之所以能自动地工作是因为CPU能从存放程序的内存中取出一条指令并执行这条指令;紧接着又是取下一条指令,执行下一条指令…,如此周而复始,构成一个封闭的循环。除非遇到停机指令,否则这个循环将一直继续下去。

通常将一条指令从取出到执行完毕所需要的时间称为指令周期。对应指令执行的三个阶段,指令周期一般分为:取指周期、取操作数周期和执行周期三个部分。?

第一,取指周期:取指周期是取出某条指令所需的时间。

在取指周期中CPU主要完成两个操作:(1)按程序计数器PC的内容取指令,(2)形成后继指令的地址;?

取指周期=(指令的长度/存储字的长度)×主存的读/写周期?

我们可以用设计指令格式时缩短指令长度、设计主存时增加主存储字字宽和采用快速的主存等措施来缩短取指周期,提高取指的速度。

第二,取操作数周期:取操作数周期是为执行指令而取操作数所需的时间。

取操作数周期的长短与操作数的个数有关、与操作数所处的物理位置有关还与操作数的寻址方式有关。取操作数周期中应完成的操作是,计算操作数地址并取出操作数。操作数有效地址的形成由寻址方式确定。寻址方式不同,有效地址获得的方式不同、过程不同,提供操作数的途径也不同。因此操作数周期所进行的操作对不同的寻址方式是不相同的。?

第三,执行周期:执行周期是完成指令所规定的操作和送结果所需的时间。

它与指令规定的操作复杂程序有关。例如,一条加法指令与一条乘法指令的指令周期亦不相同。执行周期还与目的操作数的物理位置和寻址方式有关。状态信息中的条件码在执行周期中存入程序状态字PSW。若该指令是转移指令,在该周期中还要生成转移地址。

指令周期常常用若干个CPU周期表示,CPU周期也称为机器周期。由于CPU内部的操作速度较快,而CPU访问一次内存所花的时间较长,因此通常用内存中读取一个指令字的最短时间来规定CPU周期。每个机器周期又包含若干个时钟周期。

一个指令周期包含的机器周期个数亦与指令所要求的动作有关,如单操作数指令,只需要一个取操作数周期,而双操作数指令需要两个取操作数周期。

文档评论(0)

恬淡虚无 + 关注
实名认证
文档贡献者

学高为师,身正为范.师者,传道授业解惑也。做一个有理想,有道德,有思想,有文化,有信念的人。 学无止境:活到老,学到老!有缘学习更多关注桃报:奉献教育,点店铺。

1亿VIP精品文档

相关文档