第六章中央处理器武大计算机课件考研.ppt

第六章中央处理器武大计算机课件考研.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章中央处理器武大计算机课件考研.ppt

计算机原理 第六章 中央处理器 本讲简要说明 目的与要求:掌握单周期控制器的设计 授课重点:单周期控制器的设计 授课难点:如何设计单周期控制器 参考章节:《Computer Organization and Design》第5章第4节 主 要 内 容 考察每条指令在数据通路中的执行过程和涉及到的控制信号取值 公共操作:取指令和计算下址PC R-Type指令(add / sub) 立即数指令 (ori) 访存指令(lw / sw) 分支指令 (beq) 跳转指令 (j) 汇总各指令的控制信号取值 两类控制信号:直接送往数据通路 / 送往局部控制单元 分析ALU操作对应的控制信号与func字段间的关系 设计ALU局部控制单元 设计主控制单元 The Big Picture: Where are We Now? The Five Classic Components of a Computer ADD / SUB 指令 add rd, rs, rt M[PC] 取指(每条指令一样) R[rd] ← R[rs] + R[rt] 实际操作(每条指令可能不同) PC ← PC + 4 计算顺序执行时PC的值(每条指令一样) Add / Sub操作开始时取指部件中的动作 取指令: Instruction ← M[PC] 所有指令都相同 指令译码后R型指令(Add / Sub)操作过程 R[rd] ← R[rs] + / - R[rt] R型指令(Add /Sub)最后阶段取指部件中的动作 PC ← PC + 4 除 Branch and Jump以外的指令都相同 Register-Register(R型指令) Timing ori 指令译码后的执行过程 R[rt] ← R[rs] or ZeroExt[Imm16] Load指令译码后的执行过程 R[rt] ← Data Memory {R[rs] + SignExt[imm16]} Store指令译码后的执行过程 M{R[rs] + SignExt[imm16]} ← R[rt] Branch指令译码后的执行过程 if (R[rs] - R[rt] == 0) then Zero ← 1 ; else Zero ← 0 Branch指令最后阶段取指部件中的动作 if (Zero == 1) then PC = PC + 4 + SignExt[imm16]*4 ; else PC = PC + 4 Jump指令译码后的执行过程 IFU中目标地址送PC,其他什么都不做(只要保证存储部件不发生写的动作) Jump指令结束前IFU中的动作 PC ← PC<31:28> concat target<25:0> concat “00” 综合分析结果,得到如下指令与控制信号的关系表 主控制单元和ALU局部控制单元 ALUop和“func”字段的译码 ALUctr控制信号的真值表 The Logic Equation for ALUctr<0> ALUctr<0> = !ALUop<2> & ALUop<0> + ALUop<2> & !func<2> & func<1> & !func<0> The Logic Equation for ALUctr<1> ALUctr<1> = !ALUop<2> & ALUop<1> & ! ALUop<0> + ALUop<2> & !func<3> & func<2> & !func<1> The Logic Equation for ALUctr<2> ALUctr<2> = !ALUop<2> & ALUop<1> & !ALUop<0> + ALUop<2> & !func<3> & func<2> & !func<1> & func<0> 局部ALU控制单元逻辑 ALUctr<0> = !ALUop<2> & ALUop<0> + ALUop<2> & !func<2> & func<1> & !func<0> ALUctr<1> = !ALUop<2> & ALUop<1> & !ALUop<0> + ALUop<2> & !func<3> & func<2> & !func<1> ALUctr<2> = !AL

文档评论(0)

我的文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档