阅读下面的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分)
第1题
计算:
Y=a×X+Y
其浮点指令延迟如表4.3所示,整数指令均为1个时钟周期完成,浮点和整数部件均采
用流水。整数操作之间以及与其它所有浮点操作之间的延迟为0,转移指令的延迟为0。x
中的最后一个元素存放在存储器中的地址为DONE。
(1)对于标准的 MIPS单流水线,上述循环计算一个Y值需要多少时间?其中有多少空转周期?
(2)对于标准的 MIPS单流水线,将上述循环顺序展开4次,不进行任何指令调度,计算一个Y值平均需要多少时间?加速比是多少?其加速是如何获得的?
(3)对于标准的MIPS单流水线,将上述循环顺序展开4次,优化和调度指令,使循环处理时间达到最优,计算-一个Y值平均需要多少时间?加速比是多少?
(4)对于采用如图 4.8前瞻执行机制的MIPS处理器(只有一个整数部件)。当循环第二次,执行到BNEZ R3,FOO
时,写出前面所有指令的状态,包括指令使用的保留站、指令起始节拍,执行节拍和写结果节拍,并写出处理器当前的状态。
(5)对于2路超标量的MIPS流水线,设有两个指令流出部件,可以流出任意组合的指令,系统中的功能部件数量不受限制。将上述循环展开4次,优化和调度指令,使循环处理时间达到最优。计算-一个Y值平均需要多少时间?加速比是多少?
(6)对于 如图4.13结构的超长指令字MIPS处理器,将上述循环展开4次,优化和调度指令,使循环处理时间达到最优。计算一个Y值平均需要多少时间?加速比是多少?
第3题
DSEG SEGMENT
ARRAY DB 34H,56H,23H,70H,96H
CNT DW $-ARRAY
DSEG ENDS
SSEG SEGMENT PARA STACK ‘STACK’
DB 256 DUP(0)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEGM,SS:SSEG
START: MOV AX,DSEG
MOV DS,AX
MOV SI,OPFSET ARRAY
MOV CX,CNT
CLD
NEXT: LODSB
MOV BL,AL
AND AL,0FOH
PUSH CX
MOV CL,4
SHR AL,CL
OR AL,30H
CALL DISP
MOV AL,BL
AND AL,0FH
OR AL,30H
CALL DISP
DEC CX
JCXZ ZTE
MOV ALM, ‘,’
CALL DISP
JMP NEXT
ZTE: MOV AH,4CH ;终止当前进程,返回调用进程
INT 21H
DISP: MOV AH,14 ;写字符到当前光标位置,光标前进一格
INT 10H
RET
CSEG ENDS
END START
第4题
第5题
A、ble $t1, $t2, next
B、blt $t1, $t2, next
C、bgt $t1, $t2, next
D、bge $t1, $t2, next
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!