Re: [理工] [計組]-台大95-資工

看板Grad-ProbAsk作者 (icehead)時間11年前 (2013/01/22 00:38), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串6/6 (看更多)
這是95台大計算機系統的第二題, 在問下面這個指令需要stall 幾個cycle, 且有forwarding 張凡給的是3個, 分別是LD跟ADDI的load-use data hazard 需 stall 1 個 第二個是SUBI跟BNE的data hazard stall 1 cycle 跟 BNE在ID決定 stall 1 個 我想請問的是 是因為怕branch要是跳的話會浪費後面的那道指令 所以才stall 1 cycle ? ※ 引述《lwtistunning (考驗)》之銘言: : ADDI r1,r0,#101 : ADDI r2,r0,A : Loop:LD r3,0(r2) : ADDI r3,r3,#1 : SD r3,0(r2) : ADDI r2,r2,#4 : SUBI r1,r1,#1 : BNE r1,r0,Loop -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 119.14.77.145 ※ 編輯: icehead 來自: 119.14.77.145 (01/22 00:49)

01/22 00:51, , 1F
這題是LOOP 大部分會跳 也沒有分支預測 所以會清一個nop
01/22 00:51, 1F

01/22 00:57, , 2F
thanks, B大
01/22 00:57, 2F
※ 編輯: icehead 來自: 119.14.77.145 (01/22 01:09)

01/22 01:18, , 3F
他假設bne後面還有指令 跳了就要清掉bne後一條指令
01/22 01:18, 3F
文章代碼(AID): #1G_MyHUh (Grad-ProbAsk)
討論串 (同標題文章)
文章代碼(AID): #1G_MyHUh (Grad-ProbAsk)