计算机组成原理笔记01

本文详细介绍了计算机组成原理中的MIPS(每秒百万指令数)和CPI(每条指令周期数)的概念,并通过一系列例题展示了如何计算不同情境下的MIPS,包括考虑指令比例、CPU速度提升、编译优化等因素。同时,文章还讨论了编译优化对程序性能的影响,指出优化可能导致的CPI和MIPS变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果文章被设置为VIP可见,请点击备用-掘金

*做题笔记1*


学习内容:

  1. 教材的思维导图
  2. 课后练习(计算部分)
  3. 中国大学MOOC计算机组成原理(计算部分)

1.教材的思维导图

344f87b02831286e2a21b136692e15a4.png

cfe21aa72eca9de069f32ec5104a8af7.png

380bc609634c23d2870a064940363e92.png

2.课后练习P17

7.某计算机主频为1.2GHz,其指令分为4类,它们在基准程序中所占比例及CPI如表1.7所示。

指令类型所占比例CPI指令类型所占比例CPI
A50%2C10%4
B20%3D20%5

该机的MIPS数是_400__。

根据MIPS=f/(CPI) 其中f单位是MHz

首先,从题目就可以知道主频是1.2GHz,换算成1200MHz

接着要计算CPI值,CPI=50%*2+20%*3+10%*4+20%*5=1+0.6+0.4+1=3

最后,将值代入公式得:1200/3=400

8.假定基准程序A在某计算机上的运行时间为100秒,其中90秒为CPU时间,其余为I/O时间。若CPU速度提高50%,I/O速度不变,则运行基准程序A所耗费的时间是_70s__。

别想太复杂,直接当作小学方程来解。

1.已知运行时间是100s,90s是CPU时间,那么I/O时间=10s

2.CPU速度提高50%,则意味着,现速=1.5原速

3.程序没优化,还是那个程序,那么 现CPU时间=90/1.5=60

4.耗费时间=60+10=70s

9.程序P在机器M上的执行时间是20秒,编译优化后,P执行的指令数减少到原来的70%,而CPU增加到原来的1.2倍,则P在M上的执行时间是__16.8s___。

已知CPU时间=IC*CPI/f,根据题目来看,f主频不变,所以将公式变形,f=IC*CPI/CPU时间

由题意可知,优化后数值改为0.7IC,1.2CPI,所以f=0.7IC*1.2CPI/CPU优化时间

然后二者等价,IC*CPI/CPU时间=0.7IC*1.2CPI/CPU优化时间,整理整理

CPU优化时间=CPU时间*0.7IC*1.2CPI/(IC*CPI)=CPU时间*0.7*1.2=20*0.7*1.2=16.8

10.假定计算机M1和M2具有相同的指令集体系结构(ISA),主频分别为1.5GHz和1.2GHz。在M1和M2上运行某基准程序P,平均CPI分别为2和1,则程序P在M1和M2上运行的时间比值是_1.6__。

已知CPU时间=IC*CPI/f

Tcpu M1=IC*2/1.5

Tcpu M2=IC*1/1.2

Tcpu M1 / Tcpu M2 =(IC*2/1.5)/(IC*1/1.2)=1.6

15.假定某计算机1和计算机2以不同的方式实现了相同的指令集,该指令集中共有A、B、C、D4类指令,它们所占的比例分别为40%、20%、15%、25%。计算机1和计算机2的时钟频率分别为600MHz和800MHz,各类指令在两计算机上的CPI如表1.8所示。

指令类型ABCD
CPI12345
CPI22234

求两计算机的MIPS各为多少?

公式:MIPS=f/CPI

CPI1=40%*2+20%*3+15%*4+25%*5=3.25

CPI2=40%*2+20%*2+15%*3+25%*4=2.65

MIPS1=600/3.25=184.6153846153846≈185

MIPS2=800/2.65=301.8867924528302≈302

16.若某程序编译后生成的目标代码由A、B、C、D 4类指令组成,它们在程序中所占比例分别为40%、20%、15%、25%。已知A、B、C、D 四类指令的CPI分别为1、2、2、2。现需要对程序进行编译优化,优化后的程序中A类指令数量减少了一半,而其他指令数量未发生变化。假设运行该程序的计算机CU主频为500MHz。回答下列各题。

1.优化前后程序的CPI各为多少?

CPI前=40%*1+20%*2+15%*2+25%*2=1.6

因为A类指令数量减少一半,那么就减少A类指令数一半,相应的,总指令的百分比也随之减少

减少后的指令数量:A类 20/80 B类 20/80 C类 15/80 D类 25/80

CPI后=20/80*1+20/80*2+15/80*2+25/80*2=1.75

2.优化前后程序的MIPS各为多少?

MIPS前=500/1.6=312.5

MIPS后=500/1.75=285.7142857142857≈285.7

3.通过上面的计算结果你能得出上面结论?

优化后CPI增加,MIPS减少,优化失败,应尝试降低CPI最大指令的比例(这是答案)

3.中国大学MOOC计算机组成原理(计算部分)

1.某计算机指令集中共有A、B、C、D四类指令,它们占指令系统的比例分别为40% 、20%、20%、20%, 各类指令的CPI分别为 2、3、4、5;该机器的主频为600MHZ,则该机的CPI 为 (保留到小数点后一位)

CPI=40%*2+20%*3+20%*4+20%*5=3.2

2.某计算机指令集中共有A、B、C、D四类指令,它们占指令系统的比例分别为40% 、20%、20%、20%, 各类指令的CPI分别为 2、3、4、5;该机器的主频为600MHZ,则该机的MIPS为 (保留到小数点后一位)

CPI=40%*2+20%*3+20%*4+20%*5=3.2

MIPS=f/CPI=600/3.2=187.5

3.若某程序编译后生成的目标代码由A、B、C、D四类指令组成,它们在程序中所占比例分别为20%、40%、20%、20%。已知A、B、C、D四类指令的CPI分别为1、2、2、2。现需要对程序进行编译优化,优化后的程序中A类指令条数减少了一半,而其它指令数量未发生变化。假设运行该程序的计算机CPU主频为500MHZ。优化后程序的MIPS为(保留到小数点后一位)

CPI=10/90*1+40/90*2+20/90*2+20/90*2=17/9

MIPS=f/CPI=500/(17/9)=264.7058823529412≈264.7

4.若某程序编译后生成的目标代码由A、B、C、D四类指令组成,它们在程序中所占比例分别为20%、40%、20%、20%。已知A、B、C、D四类指令的CPI分别为1、2、2、2。现需要对程序进行编译优化,优化后的程序中B类指令条数减少了一半,而其它指令数量未发生变化。假设运行该程序的计算机CPU主频为500MHZ。优化后程序的CPI为 (保留到小数点后2位)

‍CPI=20/80*1+20/80*2+20/80*2+20/80*2=1.75

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值