阅读下面的MIPS汇编程序,回答问题。 ________________________________________________________________________ .data array: .word 1,1,1 tmp: .word 0 : 25 .text .globl main main: la $t0, array li $t1, 25 loop: lw $t3, 0($t0) lw $t4, 4($t0) lw $t5, 8($t0) add $t2, $t3, $t4 add $t2, $t2, $t5 sw $t2, 12($t0) addi $t0, $t0, 4 addi $t1, $t1, -1 bgtz $t1, loop li $v0, 10 # system call for exit syscall _____________________________________________________________________________ 请在你的作业中回答以下七道题: 请说明程序实现的功能。(5分)(提示:可以利用“Math”编辑输入数学公式,建议提交之前用Previe查看输入效果) 分析程序的访存行为,仅考虑数据访存。(5分)(提示:访存行为包括程序一共发生了多少次访存操作,每次访存操作的地址之间有什么样的关系等) 根据MARS内置的Data Cache Simulation Tool,构建一个容量为8字节的cache,要求块大小为4字节(one word),替换策略为LRU,组策略为直接映射。运行上述MIPS程序,得到cache命中率为多少?(5分) 结合程序的访存行为,详细分析问题3中cache miss的原因。(10分) 根据MARS内置的Data Cache Simulation Tool,构建一个容量为8字节的cache,要求块大小为4字节(one word),替换策略为LRU,组策略为全相联。运行上述MIPS程序,得到cache命中率为多少?(5分) 结合程序的访存行为,详细分析问题5中cache miss的原因。(10分) 1) 保持其他参数不变,通过增加block数量的方式将cache的容量扩大为16个字节,评测不同组策略下cache命中率的变化,并分析原因?2) 进一步扩大cache容量,cache命中率会如何变化?(10分)