20135324家庭作业汇总(2.68、2.70与20135330合作,4.58、6.32与20135332合作)

习题2.68、习题2.70(20135324&&20135330合作)

2.68题目:写出具有如下原型的代码

/
Clear all but least signficant n bit of x
Examples:x = 0x78abcdef,n = 8--> 0xef,n = 16 -->0xcdef;
Assume 1<= n <= w
*/
int lower_bits(int x,int n)
函数应该遵循位级整数编码规则

代码截图:

运行结果:

家庭作业2.70

题目:写出具有如下原型的代码

/
Return 1 when x can be respresented as an n-bit,2'scomplement
number;0 otherwise
Assume1 <= n <=w;
*/
函数应遵循整数编码规则

代码截图:

运行结果

习题4.58、6.32与20135332合作

4.58题目:比较两个版本的冒泡排序的性能(家庭作业4.45和家庭作业4.46)解释为什么一个版本的性能比另一个版本的好。

答案:这道题目是基于前面两个题的答案来进行分析:版本1(4.45),在预测正确的情况下执行7条指令,预测错误时执行9条指令并插入一个bubble;而版本2,执行8条指令,但是在外部循环需要多执行3条指令,否则就需要多用一个寄存器。 光从内循环看来,版本2平均执行次数比版本1要少,因为可以假设预测错误的概率是50%.

6.32习题:假设程序使用作业6.31中的高速缓存,引用位于地址0x0718处的1字节字。用十六进制表示出它所访问的高速缓存条目,以及高速缓存返回的字节值。指明是否发生了高速缓存不命中。如果有高速缓存不命中,对于“返回的高速缓存字节”输入“——”。

A. 地址格式(每个小框标一位):

0x0718
12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 1 1 0 0 0 1 1 0 0 0

B. 存储器引用:

参数 值
块偏移CO 0x00
索引CI 0x6
标记CT 0x38
命中? Yes
返回值 0xFA

原文地址:https://www.cnblogs.com/yswysw/p/4989470.html