实验二 结构相关一、实验目得: 通过本实验,加深对结构相关得理解,了解结构相关对 CPU 性能得影响。二、实验内容: 1、 用 WinDLX 模拟器运行程序 structure_d、s 。 2、 通过模拟,找出存在结构相关得指令对以及导致结构相关得部件。 3、 记录由结构相关引起得暂停时钟周期数,计算暂停时钟周期数占总执行周期数得百分比。 4、 论述结构相关对 CPU 性能得影响,讨论解决结构相关得方法。三、实验程序 structure_d、sLHI R2, (A>>16)&0xFFFF 数据相关ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: LD F0, 0(R2) LD F4, 0(R3) ADDD F0, F0, F4 ;浮点运算,两个周期,结构相关ADDD F2, F0, F2 ; < A stall is found (an example of how to answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转TRAP #0 ;; Exit < this is a ment !! A: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10四、实验过程打开软件,load structure_d、s 文件,进行单步运行。经过分析,此程序一次循环中共有五次结构相关。(Rstall 数据相关 Stall 结构相关)1)第一个结构相关:addd f2,,f0,f2由于前面得数据相关,导致上一条指令 addd f0,f0,f4 暂停在 ID 阶段,所以下一条指令 addd f2,,f0,f2 发生结构相关,导致相关得部件:译码部件。2)第二个结构相关:ADDI R2, R2, #8,与第一个结构相关类似。由于数据相关,上一条指令暂停在 ID 阶段,所以导致下一条指令发生结构相关。3)第三、四、五个结构相关:ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2第三个:ADDI R2, R2, #8访存冲突,由于上一条指令处在访存阶段,所以此条指令需要暂停,为存储器结构相关冲突。第四个结构相关:ADDI R3, R3, #8与第一个与第二个相关类似,但此处为执行部件冲突得结构相关。第五个:SUB R5, R4, R2与第一个类似,为译码部件结构相关。由于这三个相关在同一时钟周期发生,所以算一个。4)计算暂停时钟周期数占总执行周期数得百分比。由上图统计信息可知:此程序一共有 139 个周期,而程序一共循环 10 次,每次有 5 个结构相关,但后三个在同一时钟周期发生,一次相关暂停一个周期,所以,暂停时钟周期数占总执行周期数得百...