5.2CPU的工作过程吴学涯汇编.pptxVIP

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

5.2 CPU的工作过程 CPU的基本工作是执行预先存储的指令序列(即程序) 程序执行过程是不断取指令、分析指令、执行指令的过程 CPU从存放程序的主存里取出一条指令 译码并执行这条指令 保存执行结果 紧接着又去取指令,译码,执行指令…… 如此周而复始,反复循环,使得计算机能够自动地工作 除非遇到停机指令,否则这个循环将一直进行下去 5.2.1 指令的执行过程 1.取指令阶段 2.指令译码阶段 3.执行指令阶段 4.访存取数阶段 5.结果写回阶段 1.取指令阶段 取指令(Instruction Fetch,IF)阶段是将一条指令从主存中取到指令寄存器的过程 程序计数器PC中的数值,指示当前指令在主存中的位置 当一条指令被取出后,PC中的数值将根据指令字长度而自动递增: 若为单字长指令,则(PC)+1?PC; 若为双字长指令,则(PC)+2?PC,依此类推 2.指令译码阶段 取出指令后,计算机立即进入指令译码(Instruction Decode,ID)阶段 在指令译码阶段, 指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法 在组合逻辑控制计算机中, 指令译码器对不同的指令操作码产生不同的控制电位,以形成不同的微操作序列 在微程序控制计算机中, 指令译码器用指令操作码来找到执行该指令的微程序的入口,并从此入口开始执行 在传统的设计里,CPU中负责指令译码的部分是无法改变的 在运用微程序控制技术的新型CPU中,微程序有时是可重写的,可以通过修改成品CPU来改变CPU的译码方式 3.执行指令阶段 在取指令和指令译码阶段之后,接着进入执行指令(Execute,EX)阶段 完成指令所规定的各种操作 具体实现指令的功能 为此,CPU的不同部分被连接起来,以执行所需的操作 如果要求完成一个加法运算, 算术逻辑单元ALU将被连接到一组输入和一组输出 输入端提供需要相加的数值 输出端将含有最后的运算结果 4.访存取数阶段 根据指令需要,有可能要访问主存,读取操作数,这样就进入了访存取数(Memory,MEM)阶段 根据指令地址码,得到操作数在主存中的地址 从主存中读取该操作数用于运算 5.结果写回阶段 作为最后一个阶段,结果写回(Writeback,WB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式 结果数据经常被写到CPU的内部寄存器中,以便被后续的指令快速地存取 在有些情况下,结果数据也可被写入相对较慢、但较廉价且容量较大的主存 许多指令还会改变程序状态字寄存器中标志位的状态 标识不同的操作结果,可被用来影响程序的动作 在指令执行完毕、结果数据写回之后, 若无意外事件(如结果溢出等)发生,计算机就接着从程序计数器PC中取得下一条指令地址,开始新一轮的循环,下一个指令周期将顺序取出下一条指令 许多新型CPU可以同时取出、译码和执行多条指令,体现并行处理的特性 5.2.2 指令周期 1.指令周期的基本概念 2.用指令流程图表示指令周期 1.指令周期的基本概念 1)指令周期 2)CPU周期 3)时钟周期 4)取出和执行任何一条指令所需的最短时间为2个CPU周期 1)指令周期 指令周期是CPU取出一条指令并执行该指令所需的时间 指令周期的长短与指令的复杂程度有关 2)CPU周期 指令周期常常用若干个CPU周期数来表示 由于CPU内部的操作速度较快,而CPU访问一次主存所花的时间较长 通常用从主存读取一条指令的最短时间来规定CPU周期 CPU周期也称为机器周期 3)时钟周期 一个CPU周期包含若干个时钟周期 时钟周期是处理操作的最基本时间单位,由机器的主频决定 一个CPU周期的时间宽度由若干个时钟周期的总和来决定 采用定长CPU周期的指令周期示意图 4)取出和执行任何一条指令所需的最短时间为2个CPU周期 任何一条指令的指令周期至少需要2个CPU周期,而复杂指令的指令周期则需要更多的CPU周期 一条指令的取出阶段需要一个CPU周期时间 一条指令的执行阶段需要至少一个CPU周期时间 由于指令的复杂度不同,其执行周期所需的CPU周期数也不尽相同 【例5-1】现有一个由5条典型指令组成的程序,请分析每一条指令的指令周期。 主存地址 指令或数据内容 操作说明 … … 020H CLA 0?AC,累加器AC清零 021H ADD 30H (AC)+(30H)?AC,累加器AC的值与主存地址30H中的 数据相加,结果存入累加器AC 022H STA 40H (AC)?40H,把累加器AC的值存入主存地址40H 023H NOP 空操作,没有任何功能 024H JMP 21H 无条件转移到主存地址21H处开始执行 … … 030H 操作数 … … 040H 存放运算结果 … … 【解】① CLA指

文档评论(0)

jiayou10 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档