四川大学期末考试试题(闭卷)答案及评分标准
(2017——2018学年第 2 学期) B卷
课程号:304036030 课程名称:计算机组成原理
填空题(本大题共15空,每空2分,共30分)
在评价计算机性能时用 响应时间 表示计算机完成某任务所需时间;用 吞吐量 表示计算机单位时间完成任务的数量。
8位二进制行16位符号扩展的结果是 1111111110101010 。
现代计算机会在处理器与主存之间增加 Cache (部件)用于减小处理器高时钟频率与主存访问时间之间的差异;依据主存数据能够被放置到该部件的哪些位置,该部件的组织方式可分为 直接映射 、 组相联 和 全相联 ,其中 全相联 (组织方式)的缺失率更低。
某字节数据为101001102,其对应的奇校验码为 101001101 ,汉明纠错码为 001101000110 。
MIPS使用 ll 、 sc 指令对来实现原子交换操作。
在DRAM中,数据以电荷量的形式保存在 电容 中,由于电荷会随时间而流失,所以需要不断地 刷新 来保持数值。
ALU总是将减法运算转化为加法来实现,在计算00,实际进行的运算是0+ 0xFFECA870 。
二、简答题(本大题共4小题,每小题5分,共20分)
1、处理器P1和P2分别完成相同任务,P1的时钟频率是4GHz,平均CPI为1.4,需执行3x109条指令;P2的时钟频率是3GHz,平均CPI为2.0,需执行1.2x109条指令。请计算P1和P2的性能比。
答: P1/P2 = T2/T1 (1分)
= (1.2x109 x 2.0 / 3G)/(3x109 x 1.4 / 4G) (3分)
= 0.76 (1分)
请写出IEEE754单精度浮点数0代表的十进制数是多少?(详细给出计算过程)
答:
4074000016 = 0100 0000 0111 0100 0000 0000 0000 00002(1分)
符号为0 ,为正数 (1分)
阶码,128-127 = 1 (1分)
尾数为 1.111012 (1分)
所以,该数为1.11101x21 = 11.11012 = 3.812510 (1分)
在某任务中访存指令占30%,不考虑Cache缺失时处理器的平均CPI为3;如果指令Cache缺失率为1%,数据Cache缺失率为5%,缺失代价为150个时钟周期,请计算具备Cache缺失时的平均CPI为多少?
答:
设指令数为N;
读取指令缺失增加的周期数为 N x 1% x 150 (1分)
访存缺失增加的周期数为 N x 30% x 5% x 150 (1分)
全部周期数为N x 3 + N x 1% x 150 + N x 30% x 5% x 150 (1分)
所以 CPI = 3 + 1% x 150 + 30 % x 5% x 150 (1分)
= 6.75 (1分)
举例说明为什么在编写MIPS汇编语言程序时应避免使用$at寄存器?
答:伪指令使MIPS拥有比硬件实现的更为丰富的指令集。汇编器在将伪指令转换为MIPS指令时可能会用到$at寄存器,所以我们在编写MIPS程序时应该避免使用$at。(3分)
如 伪指令 blt $s1, $s2, label 在汇编时被转换为
slt $at,$s1,$s2
bne $at,$zero,label (2分)(使用其它伪指令举例也可得分)
三、应用题(本大题共2小题,每小题10分,共20分)
1、请将下面的C语言程序翻译为MIPS汇编语言程序(10分):
int MaxValue(int array[],int count)
{
int max_value = array[0];
for(int i=1;i
{
if(array[i] > max_value) max_value = array[i];
}
return max_value;
}
答:
(本题无标准答案,评阅时按汇编程序是否完成函数功能酌情给分)
一个直接映射Cache有4096个块,每块为4-Word,假设使用32bit地址,请计算这个Cache的标记Tag和索引Index各多少位(4分)? 整个Cache需要的总位数是多少(3分)?总位数与数据存储位数的比率是多少(3分)?(详细给出计算过程)
答:
字节选择有4位;Index有12位(2分);Tag有16位;(2分)