重点内容08 处理器多周期实现.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
话题八 处理器多周期实现 主要内容: 1. 基本概念 2. 数据通路 3. 指令执行过程 4. 控制单元设计 重点内容: 指令执行过程, 控制单元设计 一. 基本概念 1. 指令周期, 机器周期, 节拍周期 指令周期: 一条指令从取指到执行完毕准备取下一条指令所花费的时间 机器周期: 指令分阶段执行时, 每一阶段(每一步)所花费的时间 节拍周期: 节拍周期由若干个时钟周期构成 时钟周期: 计算机系统中往往有一个时钟源, 它负责为整个系统提供统一的时钟信号. 但是由于不同部件工作速度的差异, 这个时钟源提供的时钟信号往往需要经过处理(倍频, 分频等)后才能送给不同部件使用. CPU使用的节拍信号(也叫工作脉冲)往往是由时钟信号经过倍频得到的. 指令周期由若干个机器周期构成, 而且由于功能的差别, 不同的指令需要的机器周期数也有差异. 机器周期由若干个节拍周期构成, 而且由于每一步所做的操作的差别, 不同的机器周期需要的节拍周期数也有差异. 节拍周期由固定数量的时钟周期构成. 为了简化问题, 机器周期也往往由固定数量的节拍周期构成, 通常由每一步操作所需要的时间中的最大者(往往和存储访问有关)来确定. 2. 多周期实现 指令的执行过程分成若干个阶段, 每一阶段执行一步操作, 即指令分步执行. 多周期实现就是指令周期由多个机器周期构成, 每个机器周期执行一步操作. 多周期硬布线控制器的基本结构如下: 二. 数据通路 1. 高层视图 分步执行, 每一步只含一个主要功能单元, 工作量尽量均衡. 每个主要的功能单元后增加相应的寄存器用来保存此功能单元的处理结果, 供下一级功能单元使用. 增加时钟控制 每一步引入时钟控制, 在时钟信号的后期将下一级功能单元要使用的数据存入局部寄存器(对程序员不可见), 而后续指令要使用的数据则存入全局寄存器(对程序员可见). 此处局部寄存器包括: IR – 指令寄存器 MDR – 存储器数据寄存器 A和B –寄存器文件读数据寄存器 ALUout – ALU输出寄存器 所有局部寄存器(除IR外) 只在相邻的两个时钟之间保存数据, 因此它们无需写控制信号. 2. 完整的带控制单元的多周期数据通路 说明: 本图由PPT课件第4章第1部分及顶层视图综合而来, 而且: 指令存储器和数据存储器合二为一, 不再分开设置; 减少了ALU, 不再重复设置; 为满足多周期实现的需要, 调整并增加了几个控制信号! 回顾 单周期结构图 三. 指令执行过程 指令执行的全过程可以分为5个阶段, 即5步操作. 第一步: 取指令, 所有指令都有, 而且做同样的操作. 第二步: 指令译码并读寄存器, 所有指令都有, 而且 第三步: 执行指令, 第四步: 继续执行, 第五步: 继续执行, 只有取数指令lw才有. 1. 取指令: 问题: 此时需要哪些控制信号? 数据通路的活动: 需要的控制信号: 2. 指令译码并读寄存器 数据通路活动: 需要的控制信号: 3. 执行(所有指令, 不同指令有所差别) 内存访问指令的数据通路活动: R型指令的数据通路活动: Beq指令的数据通路活动: J指令的数据通路活动: 需要的控制信号: 4. 继续执行 取数lw指令的数据通路: 存数sw指令的数据通路: R型指令的数据通路: 此时需要的控制信号: 5. 继续执行 取数指令lw的数据通路活动: 此时需要的控制信号: 四. 控制单元的设计 采用多周期实现时, ALU控制单元的实现跟单周期实现一样, 主控制单元的实现需要做相应的调整: 主要是引入时钟信号, 根据时钟信号, 分步产生各步操作需要的控制信号. 1. 回顾ALU控制单元的设计 主控制单元根据指令opcode字段产生ALU操作位ALUOp bits ALU控制单元根据ALUOp bits及指令的funct字段产生ALU 操作控制信号. Instr op funct ALUOp action ALUcontrol lw xxxxxx 00 add 0110 sw xxxxxx 00 add 0110 beq xxxxxx 01 subtract 1110 add 100000 10 add 0110 subt 100010 10 subtract 1110 and 100100 10 and 0000 or 100101 10 or 0001 xor 100110 10 xor 0010 nor 100111 10 nor 0011 slt 101010 10

文档评论(0)

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

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

1亿VIP精品文档

相关文档