推 shinle14: 第二題的2應該是lw跟beq的data hazard 12/12 21:29
推 bochengchen: 第二題的+2是因為lw接beq要拿到正確的值要stall*2 12/12 21:29
推 mistel: 研究了一下 應該是sleep()這個函數的影響,第一條thread 12/12 22:10
→ mistel: 進入runner後temp+=5然後睡兩秒,這之間第二條thread進來 12/12 22:10
→ mistel: 執行temp+=5,接著第一條thread執行完離開後再換第二條th 12/12 22:10
→ mistel: read離開,造成race condition 12/12 22:10
→ pyramidinc: 所以沒有sleep的話值會是11嗎? 12/12 23:11
→ DLHZ: 如果硬體支援多個thread平行處理 那program沒處理同步的情況 12/13 11:19
→ DLHZ: 一樣會造成race condition還是寫下去另一個就invalidate了? 12/13 11:20
→ mistel: ,應該要防止的話要自己再做同步措施啦 12/13 16:51
→ mistel: 等等 D大的意思是按道理在另一個核心的執行緒按道理他的 12/13 16:54
→ mistel: 變數要invalidate嗎?但我猜這個線上compilier只有用到單 12/13 16:54
→ mistel: 核 12/13 16:54