网站大量收购独家精品文档,联系QQ:2885784924

CPU的工作过程.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CPU的工作过程 CPU的工作过程 CPU的基本工作是执行存储的指令序列,即程序。程序的执行过程实际上是不断地取出指令、分析指令、执行指令的过程。 CPU从存放程序的主存储器里取出一条指令,译码并执行这条指令,保存执行结果,紧接着又去取指令,译码,执行指令……,如此周而复始,反复循环,使得计算机能够自动地工作。除非遇到停机指令,否则这个循环将一直进行下去。其过程如图3-3所示 图3-3 程序的执行过程 3.2.1 指令的执行过程 几乎所有的冯?诺伊曼型计算机的CPU,其工作都可以分为5个阶段:取指令、指令译码、执行指令、访存取数和结果写回。如图3-4所示。 图3-4 指令的执行过程 1.取指令阶段 取指令(Instruction Fetch,IF)阶段是将一条指令从主存中取到指令寄存器的过程。 PC,依此类推。(PC,若为双字长指令,则(PC)+2(程序计数器PC中的数值,用来指示当前指令在主存中的位置。当一条指令被取出后,PC中的数值将根据指令字长度而自动递增。若为单字长指令,则(PC)+1 2.指令译码阶段 取出指令后,计算机立即进入指令译码(Instruction Decode,ID)阶段。 在指令译码阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别和区分出不同的指令类别及各种获取操作数的方法。 在组合逻辑控制的计算机中,指令译码器对不同的指令操作码产生不同的控制电位,以形成不同的微操作序列;在微程序控制的计算机中,指令译码器用指令操作码找到执行该指令的微程序的入口,并从此入口开始执行。 在传统的设计里,CPU中负责指令译码的部分是无法改变的硬件。不过,在众多运用微程序控制技术的新型CPU中,微程序有时是可重写的,可以通过修改成品CPU来改变CPU的译码方式。 3.执行指令阶段 在取指令和指令译码阶段之后,接着进入执行指令(Execute,EX)阶段。 此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。为此,CPU的不同部分被连接起来,以执行所需的操作。 例如,如果要求完成一个加法运算,算术逻辑单元(ALU)将被连接到一组输入和一组输出,输入端提供需要相加的数值,而输出端将含有最后的运算结果。 4.访存取数阶段 根据指令需要,有可能要访问主存,读取操作数,这样就进入了访存取数(Memory,MEM)阶段。 此阶段的任务是:根据指令地址码,得到操作数在主存中的地址,并从主存中读取该操作数用于运算。 5.结果写回阶段 作为最后一个阶段,结果写回(Writeback,WB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式。结果数据经常被写到CPU的内 部寄存器中,以便被后续的指令快速地存取。在有些情况下,结果数据也可被写入相对较慢、但较廉价且容量较大的主存。许多指令还会改变程序状态字寄存器中标 志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作。 在指令执行完毕、结果数据写回之后,若无意外事件(如结果溢出等)发生,计算机就接着从程序计数器PC中取得下一条指令地址,开始新一轮的循环,下一个指令周期将正常地顺序取出下一条指令。 许多新型CPU可以同时取出、译码和执行多条指令,体现出并行处理的特性。 3.2.2 指令周期 1.指令周期的基本概念 (1)指令周期 CPU取出一条指令并执行该指令所需的时间称为指令周期。 指令周期的长短与指令的复杂程度有关。 (2)CPU周期 指令周期常常用若干个CPU周期数来表示。 由于CPU内部的操作速度较快,而CPU访问一次主存所花的时间较长,因此通常用从主存读取一条指令的最短时间来规定CPU周期。 CPU周期也称为机器周期。 (3)时钟周期 一个CPU周期包含有若干个时钟周期。 时钟周期是处理操作的最基本时间单位,由机器的主频决定。 一个CPU周期的时间宽度由若干个时钟周期的总和决定。 图3-5为采用定长CPU周期的指令周期示意图。 图3-5 指令周期 (4)取出和执行任何一条指令所需的最短时间为两个CPU周期。 任何一条指令,它的指令周期至少需要两个CPU周期,而复杂指令的指令周期则需要更多的CPU周期。这是因为,一条指令的取出阶段需要一个CPU周 期时间,而一条指令的执行阶段则需要至少一个CPU周期时间。由于不同复杂度指令的执行周期所需的CPU周期数不尽相等,因此,各种指令的指令周期也是不 尽相同的。 例题3-1:现有一个由5条典型指令组成的程序(如表3-1所示),请分析每一条指令的指令周期。 表3-1 一个由5条典型指令组成的程序 主存储器 操作说明 地址 指令或数据内容 … … 020 CLA 0→AC,累加器AC清零 021 ADD 30 AC,累加器AC的值与主存地址30中的数据相加,结果存入累加器AC

文档评论(0)

wuailuo + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档