计算机组成与设计:硬件_软件接口中文答案(第一章)

1.1 [2] <1.1>列举和描述除智能手机之外的4种类型的计算机。

解答:
个人电脑(personal computer),英文简称PC
个人移动设备(Personal mobile device),英文简称PMD
服务器(server)
超级计算机(super computer)
嵌入式计算机(embedded computer):
仓库规模计算机(warehouse scale computer),英文简称WSC

1.2 [5] <1.2> 计算机系统结构中的8个伟大思想与其他领域的思想相同。将计算机系统结构中的8个伟大思想“面向摩尔定律的设计”、“使用抽象简化设计”、“加速大概率事件”、“采用并行提高性能”、“采用流水线提高性能”、“采用预测提高性能”、“存储器层次”、“通过冗余提高可靠性”与其他领域的下列思想进行匹配:
a、汽车制造中的组装生产线
b、吊桥缆索
c、采用风向信息的飞机和船舶导航系统
d、高楼中的高速电梯
e、图书馆的预定台
f、通过增大CMOS晶体管的栅极面积来减小翻转时间
g、增加电磁飞机弹射器(不同于流体驱动模型它采用电驱动),允许有新型反应堆技术才生成更多的能量
h、制造自动驾驶汽车,其控制系统是安装在汽车上的传感器系统,例如车道偏离检测系统和智能导航控制系统

解答:
a、采用流水线提高性能
b、通过冗余提高可靠性
c、采用预测提高性能
d、加速大概率事件
e、存储器层次
f、采用并行提高性能
g、面向摩尔定律的设计
h、使用抽象简化设计

1.3 [2] <1.3> 讲述高级语言(例如C)编写的程序转化为能够直接在计算机处理器上执行的表示的步骤。

解答:
高级语言通过编译程序转变成汇编语言,汇编语言通过汇编程序转变成机器语言

1.4 [2] <1.4> 一个彩色显示器中的每个像素由三种基色(红,绿,蓝)构成,每种基色用8位表示,分辨率为1280×1024像素。
a、为了保存一帧图像最少需要多大的缓存(以字节计算)?
b、在100Mbit/s的网络上传输一帧图像最少需要多长时间?

解答:
a、1280×1024像素 = 13,107,720像素
每个像素点有三种基色,且每个基色刚好1个字节:13,107,720像素 * 3 * 1 = 3,932,160 bytes/frame = 3,840Kb/frame = 3.75Mb/frame
b、网络的传输单位是bps,也就是位/秒,转化成字节/秒,需要除以8,100M位/秒 = 12.5M字节/秒
传输一帧图像时间 = 3.75Mb / 12.5M字节 = 0.3秒

1.5 [4] <1.6> 有3种不同的处理器P1、P2和P3执行同样的指令集,P1的时钟频率为3GHz,CPI为1.5;P2的时钟频率为2.5GH,CPI为1.0;P3的时钟频率为4Gz,CPI为2.2
a. 以每秒钟执行的指令数目为标准,哪个处理器性能最高?
b. 如果每个处理器执行一个程序都花费10秒钟时间,求它们的时钟周期数和指令数。
c. 我们试图把执行时间减少30%,但这会引起CPI增加20%问:时钟频率应该是多少才能达到时间减少30%的目的?

解答:
a. 每秒钟执行的指令数目越多,性能越高
P1每秒钟执行的指令数 = 3 * 10^9 / 1.5 = 2 * 10^9
P2每秒钟执行的指令数 = 2.5 * 10^9 / 1 = 2.5 * 10^9
P3每秒钟执行的指令数 = 4 * 10^9 / 2.2 = 1.8 * 10^9
即P2处理器的性能最高
b. 
P1指令数 = 10 * 2 * 10^9 = 20 * 10^9
P2指令数 = 10 * 2.5 * 10^9 = 25 * 10^9
P3指令数 = 10 * 1.8 * 10^9 = 18 * 10^9
P1时钟周期数 = 20 * 10^9 * 1.5 = 30 * 10^9
P2时钟周期数 = 25 * 10^9 * 1 = 25 * 10^9
P3时钟周期数 = 18 * 10^9 * 2.2 = 39.6 * 10^9
c. 假设时钟频率CR,每条指令执行时间t = CPI * 1/CR = CPI/CR
执行时间减少30%,CPI增加20%,时钟频率提升x倍,则0.7t = CPI * 1.2 / (CR * x)
0.7t = 1.2 * CPI/CR * 1/x
0.7t = 1.2 * t * 1/x
0.7 = 1.2 / x , 则x=12/7
P1时钟频率提升为:3GHz * 12/7 = 5.14GHz
P2时钟频率提升为:2.5GHz * 12/7 = 4.29GHz
P3时钟频率提升为:4GHz * 12/7 = 6.86GHz

1.6 [20] <1.6> 同一个指令集体系结构有两种不同的实现方式。根据CPI的不同将指令分成4类 (A、B、C和D),P1的时钟频率为2.5GHz5,CPI分别为1、2、3和3; P2时钟频率为3G2,CPI分别为2、2、2和2。
给定一个程序,有1.0×10^6条动态指令,按如下比例分为4类:A,10%; B,20%; C,50%; D,20%
a. 每种实现方式总的CPI是多少?
b. 计算两种情况下的时钟周期。

解答:
a. CPI表示平均每条指令的时钟周期=时钟周期总数/指令总数
P1的CPI = (10^6 * 10% * 1 + 10^6 * 20% * 2 + 10^6 * 50% * 3 + 10^6 * 20% * 3) / 10^6 = 
10% * 1 + 20% * 2 + 50% * 3 + 20% * 3 = 2.6
P2的CPI = 10% * 2 + 20% * 2 + 50% * 2 + 20% * 2 = 2
b.
P1的时钟周期数:10^6 * 10% * 1 + 10^6 * 20% * 2 + 10^6 * 50% * 3 + 10^6 * 20% * 3 = 2.6 * 10^6
P2的时钟周期数:10^6 * 10% * 2 + 10^6 * 20% * 2 + 10^6 * 50% * 2 + 10^6 * 20% * 2 = 2 * 10^6

 1.7 [15] <1.6> 编译程序对一个应用在给定的处理器上的性能有极深的影响。假定一个程序,如果
采用编译程序A,则动态指令数为1.0×10^9,执行时间为1.1s;如果采用编译程序B,则动态指令数为1.2×10^9,执行时间为1.5s
a. 在给定处理器时钟周期为1ns时,找出每个程序的平均CPI。
b. 假定编译程序是在两个不同的处理器上运行的。如果这两个处理器的执行时间相同,求运行编译程序A的处理器时钟相对于运行编译程序B的处理器的时钟快多少?
c. 假设开发了一种新的编译程序,只用6.0×10^8条指令,平均CPI为1.1。求这种新的编译程序相对于原先编译程序A和B的加速比。

解答:
a. 平均CPI = 时钟周期数/指令数 = (执行时间/时钟周期时间) / 指令数
采用编译程序A的CPI:(1.1 * 10^9 / 1) / (1.0 * 10^9) = 1.1
采用编译程序B的CPI:(1.5 * 10^9 / 1) / (1.2 * 10^9) = 1.25
b、即比较时钟周期频率(CR),时钟周期频率(CR)=时钟周期数/执行时间(t) = (指令数 * CPI)/执行时间(t)
编译程序A的时钟周期频率(CR) = (1 * 10^9 * 1.1)/t
编译程序B的时钟周期频率(CR) = (1.2 * 10^9 * 1.25)/t
编译程序A的时钟周期频率(CR) / 编译程序B的时钟周期频率(CR) = (1 * 10^9 * 1.1)/(1.2 * 10^9 * 1.25) = 0.73
即运行编译程序A的处理器时钟相对于运行编译程序B的处理器的时钟慢了0.27
同理:
编译程序B的时钟周期频率(CR) / 编译程序A的时钟周期频率(CR) = (1.2 * 10^9 * 1.25) / (1 * 10^9 * 1.1) = 1.36
即运行编译程序B的处理器时钟相对于运行编译程序A的处理器的时钟快了0.36

1.8 2004年发布的 Pentium Prescott处理器时钟频率为3.6GHz,工作电压为1.25V,假定平均情况下静态功耗为10W,动态功耗为90W。
2012年发布的 Core i5 Ivy Bridge时钟频率为3.4GHz,工作电压为0.9V。假定平均情况下静态功耗为30W,动态功耗为40W
1.8.1 [5] <1.7> 分别求出每个处理器的平均电容负载。
1.8.2 [5] <1.7> 对于每种工艺,求出静态功耗占总功耗的比例和静态功耗相对于动态功耗的比率。
1.8.3[15] <1.7> 如果要将整体功耗降低10%,求出在保持漏电流不变的情况下电压要降低多少?
注意:功耗定义为电压与电流的乘积。

解:略

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>