作者u04fup (u04fup)
看板Grad-ProbAsk
標題[理工] 計算機結構 store conditional
時間Sat Sep 10 11:33:15 2022
https://i.imgur.com/usX3LCB.jpg
https://i.imgur.com/oPvFOej.jpg
請問第六個Cycle的Processor 2
beqz $t0, try判斷原先的$t0為零而branch到try之後
最終$t0的值為何為零?
(為何store conditional仍失敗?)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.173.211.168 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Grad-ProbAsk/M.1662780797.A.827.html
※ 編輯: u04fup (1.173.211.168 臺灣), 09/10/2022 11:34:32
※ 編輯: u04fup (1.173.211.168 臺灣), 09/10/2022 11:40:39
1F:推 irisowo: sc 仍失敗是什麼意思?這題感覺把指令完成的結果放在同一 09/15 02:30
2F:→ irisowo: 行耶~ 09/15 02:30
3F:→ irisowo: cycle 5 時processor 2 存取失敗,故將processor2 的 $t0 09/15 02:30
4F:→ irisowo: 設成0,下一行判斷要不要跳而已(?) 09/15 02:30
5F:→ irisowo: 如果你是要問為什麼會存失敗,回去看ll跟sc 的用法就好~ 09/15 02:31
6F:→ irisowo: 他們兩個是成對使用,會紀錄位址有沒有被改寫。 09/15 02:31
7F:→ irisowo: 所以processor2 先下ll ,接著取值的位置被processor 1改 09/15 02:31
8F:→ irisowo: 成2,所以processor 2要用sc 改值時會失敗~ 09/15 02:31
懂了,感謝您
※ 編輯: u04fup (1.175.223.120 臺灣), 09/15/2022 17:38:23