Re: [理工] [計組] pipeline

看板Grad-ProbAsk作者 (BB)時間14年前 (2011/09/22 01:34), 編輯推噓4(403)
留言7則, 3人參與, 最新討論串4/12 (看更多)
※ 引述《ceo890710 (Drinking)》之銘言: If the data requested by a load instruction has not yet become available when it is requested, the load-use data hazard occurs. 這題答案是給false 我想問為什麼? 看怎麼看都覺得是true= =" 這人覺得是英文問題,感覺是陷阱 不過我不敢掛保證,我英文很爛 再念一次題目 If the data requested by a load instruction has not yet become available when it is requested, the load-use data hazard occurs. 如果當load指令要求data時,data尚未變得可用,則發生load-use data hazard。 現在發現嗎?? 其實他只是一般的 data hazard,只是剛好是load 指令而已 所以並不屬於load-use data hazard (load-use data hazard 不需要我多講吧...) 希望我沒有講錯,因為英文真的沒有把握,希望有人告訴我有沒有講錯 另外,我想問stall和nop的差別 stall是在stage中插入bubble然後在清成nop的指令吧(!?) 可是我看到一個題目說假使沒有插入bubble的話 compiler會做什麼動作來防止hazard,答案是說在指令中插入NOP 這邊讓我有點搞混..還是他們是一樣的東西? 那為什麼要多出bubble這個步驟而不直接插入NOP呢? 想當初我也以為一樣,不過會來再看看書,發現了其中的不同 就最終目的是一樣的,就是藉由延遲避免 hazard 但是屬於階層不一樣的 nop指令 雖然沒有做事,但還是指令,是compiler(軟體)的事情 而stall是硬體層面 暫停某一段與其後面的資料流,但是前面的資料流還是得前進, 所以中間空白的部分,就須要bubble填補,由直接輸入NOP的機械碼代替 這樣可以嗎?? 請高手解答...感激不盡!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.246.100 ※ 編輯: ceo890710 來自: 111.251.246.100 (09/22 00:33) ※ 編輯: ceo890710 來自: 111.251.246.100 (09/22 00:35) -- 其實我是來賺P幣的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.21.245.173

09/22 09:17, , 1F
上面那題懂了..是英文的問題QQ
09/22 09:17, 1F

09/22 09:18, , 2F
那插入bubble後再轉NOP和直接插入NOP兩個效能有差別嗎?
09/22 09:18, 2F

09/22 09:21, , 3F
不然怎麼需要多出bubble這個步驟呢?
09/22 09:21, 3F

09/22 22:34, , 4F
因為一個是硬體層面,一個是軟體層面吧,至於效能有請高手
09/22 22:34, 4F

09/23 19:45, , 5F
一個是指另一個不是
09/23 19:45, 5F

09/23 19:45, , 6F
09/23 19:45, 6F

09/23 19:47, , 7F
我記得有一題是結構危障的 有講說nop無解
09/23 19:47, 7F
文章代碼(AID): #1EUY0CTk (Grad-ProbAsk)
討論串 (同標題文章)
文章代碼(AID): #1EUY0CTk (Grad-ProbAsk)