高等计算机体系结构作业习题集.pdfVIP

高等计算机体系结构作业习题集.pdf

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  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文档。上传文档
查看更多
高等计算机体系结构 作业 1:指令集体系结构(ISA )和折衷(参考答案) 1 指令集体系结构 (ISA) 40 分 本题的任务是比较五种不同风格的指令集代码序列的内存效率。不同的体系结构类 有: 1. 零地址的机器是一种基于栈的机器,它的所有操作都通过存储在操作数栈上的值进行。对于这种 结构,可以假设它允许以下操作: • PUSH M – 将位于内存地址 M 处的值压入操作数栈 • POP M – 弹出操作数栈并将值存入内存地址 M 处 • OP – 从操作数栈中弹出两个值,对这两个值执行二进制操作 OP,结果压回到操作数栈 注: 要用栈机计算 A – B,需要以下的操作序列:PUSH A, PUSH B, SUB。SUB 执行完毕之后,A 和 B 不再在栈中,而 A – B 将出现在栈顶。 2. 单地址的机器使用一个累加器来执行计算。对于这种结构,可以假设它的 ISA 允许以下操作: • LOAD M – 将存储在内存地址为 M 处的值载入累加器 • STORE M – 将累加器中的值存入内存地址为 M 处 • OP M – 对内存地址为 M 处存储的值和当前在累加器中的值执行二进制操作 OP,结果存进累 加器 (ACCUM=ACCUM OP M) 3. 双地址的机器有两个操作数来源,对这两个来源的操作数执行操作并将结果存回其中一个源。对 这种结构,可以假设它的 ISA 允许以下操作: • OP M1, M2 – 对存储在内存地址为 M1 和 M2 的值进行二进制操作 OP,将结果存回内存地址 M1 处 (M1 = M1 OP M2) 4. 三地址的机器,通常有两个操作数来源,执行操作后的结果存回不同于两个操作数来源的第三个 目的地址。 (a) 对于一台操作数和结果目的地址都是内存地址的三地址机器,可以假设它的 ISA 允许如下操 作: • OP M3, M1, M2 – 对存储在内存地址为 M1 和 M2 处的值执行二进制操作 OP,结果存回内存 地址为 M3 处 (M3 = M1 OP M2) (b) 对于一台源和目的都是寄存器的三地址机器,使用内存操作将值载入寄存器 (MIPS 就是这种 机器的例子) 。对于这种结构,可以假设它的ISA 允许如下操作: 1/7 • OP R3, R1, R2 – 对寄存器 R1 和 R2 中的值执行OP 操作,将结果存回寄存器 R3 (R3 = R1 OP R2). • LD R1, M – 将内存地址为 M 处的值取出存入寄存器 R1 • ST R2, M – 将寄存器 R2 中的值存入内存地址M 处 对以上 5 种不同类型的指令集做出如下假设,计算内存效率: 代码的大小:每条指令都有一个操作码和一组操作数, • 所有的操作码均为 1 字节 (8 bits) • 所有的寄存器操作数均为 1 字节(8 bits) • 所有的内存地址均为 2 字节(16 bits) • 所有的数据操作数均为 4 字节(32 bits) • 所有指令的长度均为字节的整数倍 内存带宽: 内存带宽消耗=传输的代码量(代码大小)+ 传输的数据量 传输的数据量=涉及的数据数量x 4 Bytes 对内存的访问没有其他的优化,变量 A, B, C, D 的初始值都在内存中。 (a) 将下边的高级语言片段翻译成前述 5 种结构适用的代码序列。一定要确保将 A 、B、D 的值存回内 存,但是不能修改内存中任何其它的数值。 A = B + C; B = A + C; D = A - B; (b) 请计算这 5 种结构对应的指令序列在执行时的取指令字节数和内存数据访

文档评论(0)

浙江工程信息通 + 关注
实名认证
服务提供商

网络工程师持证人

本人已从事浙江省工程咨询5年,对浙江省内工程信息非常熟悉,可获取新建工程相关联系人、设计院、业主等关键信息。另外从事楼宇自控专业已10年,考取了一建二建等资格证书,有关考试方面的问题(考试心得、方法、学习资料等)都欢饮来咨询交流。

领域认证该用户于2023年05月11日上传了网络工程师

1亿VIP精品文档

相关文档