1.以下给出的措施对缩短程序的响应时间和提高系统的吞吐率各有什么影响?

A.使用更快的处理器

B.增加处理器个数,使得不同的处理器同时处理不同的任务

C.优化编译生成的代码使得程序执行的总时钟周期数减少

D.在CPU和主存之间增加Cache

 


2. 考虑以两种不同方式实现同一指令集的机器M1和M2。在该指令集中一共有三类指令:A类指令、B类指令、C类指令。M1的时钟频率为400MHz,M2的时钟频率为200MHz。这各类指令在M1和M2上运行时所需的平均时钟周期数分别为: M1的CPI为:A: 4; B: 6; C: 8; M2的CPI为:A: 2; B: 4; C: 3。采用三种不同的编译器(C1、C2和第三方编译器C3)生成程序代码,这三类指令在三类编译器生成的程序中所占的百分比分别为:使用C1的%为:A: 30; B: 50; C: 20; 使用C2的%为:A: 30; B: 20; C: 50; 使用C3的%为:A: 50; B: 30; C: 20。假设对于同一个程序而言,三个编译器生成的代码中指令总数相等,但是指令的组合情况各不相同,如上所述分别占各自的%。

如果M1和M2上都使用C1编译器,那么,M1的生产厂商可以声称其性能是M2的多少倍呢?如果M1和M2上都使用C2编译器,M2的生产厂商可以声称其性能是M1的多少倍呢?如果你购买了M1,那么你会选择哪种编译器?如果你购买了M2,你又会选择哪种编译器?如果其他所有指标(包括价格)都相同,你会买哪台机器?