Computer science 需要帮助计算具有转发的mips管道的CPI吗

Computer science 需要帮助计算具有转发的mips管道的CPI吗,computer-science,cpu-architecture,Computer Science,Cpu Architecture,你好,我有一个家庭作业问题,我在计算机结构课上一直想问。 我有一个带转发的管道mips处理器和一个代码,我需要计算处理器CPI。 我知道如果我计算一些东西,在lw之后我会得到一个停顿,在分支之后会有某种停顿,我也计算了每个指令的频率 我该如何计算消费物价指数?我知道如何为多周期,但不知道如何为管道 非常感谢您能给予的任何帮助 在管道上下文中,CPU可能能够在每个周期读取并开始执行指令。因此,CPI关注的是执行吞吐量,没有任何数据或控制风险,造成一个失速,我们会认为每个指令都需要一个周期。 这显然

你好,我有一个家庭作业问题,我在计算机结构课上一直想问。 我有一个带转发的管道mips处理器和一个代码,我需要计算处理器CPI。 我知道如果我计算一些东西,在lw之后我会得到一个停顿,在分支之后会有某种停顿,我也计算了每个指令的频率

我该如何计算消费物价指数?我知道如何为多周期,但不知道如何为管道


非常感谢您能给予的任何帮助

在管道上下文中,CPU可能能够在每个周期读取并开始执行指令。因此,CPI关注的是执行吞吐量,没有任何数据或控制风险,造成一个失速,我们会认为每个指令都需要一个周期。 这显然是错误的,因为指令需要几个周期来完成,但是一个具有N>1指令的程序将采取N个循环,我们可以认为每个指令的周期是1。 现在,如果由于内存访问延迟、分支延迟或其他原因导致暂停,会发生什么情况?由于此暂停,每个周期将不再有1条指令。在暂停期间,管道将被冻结或获取不正确的指令,总体结果是处理器丢失一个周期。
出于这个原因,我们认为,一个指令创建一个1周期失速2个周期关注什么CPI计算。同样,如果有两个周期停滞,我们认为指令是3个周期等。 假设50%的ld指令创建了一个暂停,无危险的ld将有一个1周期的“持续时间”,如果有暂停,“持续时间”是2个周期,因此我们平均有一个ld的1.5个周期。
还假设由于分支延迟,分支为2个周期。
如果其他指令为1个周期,20%的指令为ld,另外20%的指令为分支,则我们有

每个指令的CPI=0.20*1.5+0.20*2+0.6*1=1.3个周期。

经典MIPS不会在分支上暂停,它会使用分支延迟槽隐藏延迟。lw$t2,0($t1)beq$t2,$0,end。这里需要一个摊位吗?当然需要。内存内容仅在
lw
的MEM阶段后可用。然后,可以进行分支地址的比较和确定,并且仅在
beq
之后的1个周期内可以提取指令。所以总共有3个摊位。这两个指示。如果将不同阶段作为时间的函数绘制管道时间图,则很容易看到。