组成第五章答案2010版本.docVIP

  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文档。上传文档
查看更多
组成第五章答案2010版本

计算机组成第五章考试部分参考答案 陈天洲,居立晗(助教) tzchen@zju.edu.cn, lhju@zju.edu.cn 本文档只针对2010级计算机组成章节考试的部分答案,请勿外传 单时钟周期中,IM与DM合成为一个MEM,可以吗?若可以,画出LW与SW指令的数据通道。若不可以,为什么? 多时钟周期中,DM能否分成IM与DM?若可以,如果仅仅实现LW与SW,画出LW与SW指令的数据通道。微程序的字段应该怎么修改。若不可以,为什么? 微程序的字段中要增加IM控制。存储器的字段的值要改,因为ALUOut已经没有必要了 Label ALU control src1 src2 register control memory pcwrite control sequencing Fetch add pc 4 read pc ALU Seq read Seq add A extend dispatch2 SW2 Write Fetch LW2 read seq write mdr Fetch Dispatch rom2 Op name Value 100011 Lw2 100 101011 Sw2 011 写出多时钟周期有限状态机第0状态的各个信号量,并写出触发的时间顺序。 已知单时钟周期cpu,IM/DM读访问周期2ns,IM/DM写访问周期1.5ns,REGDST等信号由控制器产生需要延时为4.6ns,ALU延时1.7ns,寄存器组访问延时为1.3ns。问最佳的时钟周期。 如下表,不同指令在单时钟周期下的功能如下 指令类型 对应指令所使用的功能 R-format 取指令 访问寄存器 ALU 访问寄存器 LW 取指令 访问寄存器 ALU 访问寄存器 访问寄存器 SW 取指令 访问寄存器 ALu 访问寄存器 Branch 取指令 访问寄存器 ALU Jump 取指令 计算各指令需要是时间,发现,LW指令是需要操作最多,时间最长的, 2+4.6+1.3+1.7+2+1.3=12.9ns 单时钟周期仅仅完成jal指令,画出连线。Reg file的reg write为$ra,另外,后面的16bit扩展左移2bit后与PC+4相加,结果送PC 多时钟周期下,实现一条指令,memadd $1 $2 $3,内存数组相加指令。将$1为起始地址的内存字,累加结果到$2,$3为需要相加的字的数目。使用微程序实现该指令的控制。 memadd $1 $2 $3,显然需要进行如下流程: 取指令,pc=pc+4 读寄存器。由于3个寄存器都需要读取,则加一个锁存器C。A存储$1,B存储$2,C存储$3。 以A为地址取内存数据到MDR 让ALU计算C-1,结果存储在aluout,如果结果为0,转步骤1,否则转步骤5。需要一个dispatch 把步骤4计算的aluout写入$3,同时计算$1+4,输出到aluout 把aluout写入$1,同时以aluout为地址访问内存,输出到MDR 计算aluout=B+MDR 将aluout写入$2,跳转到步骤5。 微程序如下: 含义 label ALU control src1 src2 register control memory pcwrite control sequencing fetch add PC 4 Read pc ALU seq read Seq Mdr=Mem($1) Read A Seq $2=mdr Write mdr Seq aluout=$3-1 Loop subt C 1 Dispatch $3=aluout aluout=$1+4 add A 4 Write alu Seq $1=aluout Mdr=mem($1) Write alu Read alu Seq aluout=$2+mdr Add B mdr Seq $2=aluout Write alu loop Dispatch表如下: 计算结果 转向目的 数据 0 Fetch 0 非0 Seq 5 多时钟周期下,实现指令jalr rs rd,该指令是无条件跳转指令,跳转地址在rs中,将下一条指令的地址保存在rd中。指令格式为R型: 0 rs 0 rd 0 9 6 5 5 5 5 6 建立数据通道确保该指令的完成。写出有限状态机。实现该指令,完成的微程序,写出修改的域,增加的值,新的dispatch表,对应的含义。 计算控存容量。 A、 修改原来的datapatc

文档评论(0)

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

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

1亿VIP精品文档

相关文档