计算机系统原理13015【计算机系统概述】

本文探讨了如何在特定计算机系统中实现表达式`z=(x-y)*y`的指令序列,并展示了每条指令的执行过程及微操作。同时,分析了两个基准程序P1和P2在不同机器M1和M2上的性能,包括执行时间、MIPS速度、CPI以及性价比。最后,讨论了指令集设计对机器性能的影响以及优化程序的方法。
摘要由CSDN通过智能技术生成

  1. 教材中图1.1所示模型机(采用教材图1.2所示指令格式)的指令系统中,除了有mov(op=0000)、add(op=0001)、load(op=1110)和store(op=1111)指令外,R型指令还有减(sub,op=0010)和乘(mul,op=0011)等指令,请仿照教材图1.3给出求解表达式“z=(x-y)*y;”所对应的指令序列(包括机器代码和对应的汇编指令)以及在主存中的存放内容,并仿照教材图1.5给出每条指令的执行过程以及所包含的微操作。

参考答案:

实现z=(x-y)*y的程序在主存部分单元中的初始内容如下。

主存地址

主存单元内容

内容说明(Ii表示第i条指令)

指令的符号表示

0

1110 0111

I1: R[0] ← M[7];op=1110:取数操作

load r0, 7#

1

0000 0100

I2: R[1] ← R[0];op=0000:传送操作

mov r1, r0

2

1110 0110

I3: R[0] ← M[6];op=1110:取数操作

load r0, 6#

3

0010 0001

I4: R[0] ← R[0] - R[1];op=0010:减操作

sub r0, r1

4

0011 0001

I5: R[0] ← R[0] * R[1];op=0011:乘操作

mul r0, r1

5

1111 1000

I6: M[8]← R[0];op=1111:存数操作

store 8#, r0

6

0001 0001

操作

  • 42
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值