以两种不同的方式构建mips指令集的数据通路和控制部件.pptVIP

以两种不同的方式构建mips指令集的数据通路和控制部件.ppt

  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文档。上传文档
查看更多
2003-5-15 llxx@ustc.edu.cn The MIPS Processor Implementation: Datapath Control “Computer Organization Design ” John Hennessy, David Patterson Content 以两种不同的方式构建MIPS指令集的数据通路和控制部件 单周期实现 多周期实现 MIPS指令格式 100余条指令(Hennessy中33条),共32个通用寄存器 指令格式:定长32位 R-type:arithmetic instruction I-type:data transfer, arithmetic instruction(如addi) J-type:branch instruction(conditional unconditional) MIPS寻址模式 立即寻址 寄存器寻址:R-type 基址寻址:I-type PC相对寻址 伪直接寻址(pseudodirect addressing) 注意:字长32位 26位形式地址左移2位(字对准),与PC的高4位拼接 Overview 实现不同指令的多数工作都是相同的,与指令类型无关 取指:将PC送往MEM 取数:根据指令字中的地址域读寄存器 对于Load,只需读一个寄存器;其他指令,需要两个寄存器 其后的操作各个指令不同,但同类指令非常类似 不同类型指令之间也有相同之处,如都要使用ALU 访存指令使用ALU计算地址 算逻指令使用ALU完成计算 分支指令使用ALU进行条件比较 其后,各个指令的工作就不同了 访存指令对存储器进行读写 算逻指令将ALU结果写回寄存器 分支指令将基于比较结果修改下一条指令的地址 A subset of core MIPS instruction set Memory-reference instruction (I-type):lw, sw lw $s1,100($s2) ; loads words, based $s2(rs) sw $s1,100($s2) A subset of core MIPS instruction set(con’t) Branch instruction (J-type): beq, jump beq为相对寻址:以npc为基准,指令中的target为16位,进行32位有符号扩展后左移两位(补“00”,字对准)。 jump为pseudodirect:指令中的target为26位,而PC为32位。将target左移2位拼装在PC的低28位上,PC高4位保持不变。 MIPS指令数据通路总图 逻辑电路与时钟 组合逻辑(combinational)部件 VS. 时序逻辑(sequential)部件 组合逻辑:输出只与当前的输入有关,如ALU 顺序逻辑:输出与当前的输入和状态有关,如Reg和MEM。 时钟控制顺序逻辑的状态变化时刻 时钟边沿触发方式 单周期实现 数据通路设计 ALU控制 主控制部件 单周期 采用时钟边沿触发方式,所有指令在时钟的一个边开始执行,在下一个边执行结束 这种方式没有实用价值。因为它比允许不同指令类使用不同时钟数的方式慢。 取指 R-type指令的执行 I-type指令的执行 lw $t1, offset($t2); M($t2+offset) - $t1 sw $t1, offset($t2); $t1 - M($t2+offset) 需要对指令字中的16位偏移进行32位带符号扩展 访存指令和算逻指令的数据通路综合 条件转移beq beq $t1, $t2, offset 以分支指令的下一条指令地址为基址 Offset左移2位形成“32位字地址”(见PC的形成) R-/I-/J-type操作数据通路总图 ALU控制信号 指令译码 指令格式分析 操作码:在31-26,需要参考5-0 Load/store: rs+addr 目的地址:对R-type指令,在rd;对load,在rt。因此需要对目的寄存器进行选择控制 目的地址选择 两位的ALUop和func组合产生ALU控制选择 控制信号列表 RegDst:选择rt或rd作为写操作的目的寄存器(R-type指令与load指令) RegWrite:寄存器写操作控制( R-type指令与store指令) ALUSrc:ALU的第二个操作数来源( R-type指令与branch指令) MemRead:存储器读控制 MemWrite:存储器写控制 MemtoReg:目的寄存器数据来源(R-type指令与load指令) PCSrc:NPC控制(顺序执行与分支) 所有信号(除PCSrc)都可以根据op域译码产生 PCSrc依据两个条件 指令是否是beq——

文档评论(0)

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

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

1亿VIP精品文档

相关文档