看板 Grad-ProbAsk 關於我們 聯絡資訊
請問一下 ll、sc一定會同步出現,在Processor1 ll了($s1),所以裡面會有一個值會被設為1 那Processor2 同時也是設為1,這樣不是就同一個位置已經被讀2次了嗎 不太懂要怎麼判斷這2個指令 謝謝 https://i.imgur.com/8tqDjci.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.213.197.216 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1572053207.A.C57.html
b10007034: 有完整題目嗎? 10/26 11:07
yoz4ni: https://i.imgur.com/l0h3OxV.jpg 10/26 15:30
yoz4ni: 我想說要問的跟旁邊沒啥太大關西就沒拍了OAO 10/26 15:31
DLHZ: processor2同時設為1?你是覺得processor的register共用嗎? 10/26 17:41
DLHZ: processor1的sc沒有問題 所以設成1 但這樣就是修改過了 所以 10/26 17:42
DLHZ: processor2的sc會失敗會傳一個0 10/26 17:42
DLHZ: 應該是sc失敗才會有人被設成0 不是ll讓某個被設成0 10/26 17:43
DLHZ: 0是成功 改一下 10/26 17:44
yoz4ni: 所以在沒有sc之前,假如有3個processor都有是正常的 10/26 19:37
yoz4ni: 一旦其中一個sc之後 其他要sc時就會失敗?這樣理解有錯嗎 10/26 19:39
yoz4ni: 那是怎麼知道有一個已經sc了 10/26 19:40
yoz4ni: 上面是要打有3個processor都做ll指令 10/26 19:41
DLHZ: ll之後cpu會檢查過程中有沒有被寫入 10/26 20:07
DLHZ: 是 10/26 20:07
yoz4ni: 以上面為例子的話在第三行時也被寫入,所以會設定成0或1? 10/26 20:43
yoz4ni: 那如果判斷已被寫入 所以第四行要寫入就失敗,那如果有重 10/26 20:44
yoz4ni: 作的動作那不就永遠不會寫次第二次嗎?因為之前已寫入 10/26 20:46
yoz4ni: 所以永遠都會判斷已被修改? 10/26 20:47
DLHZ: 判斷的基準是從自己LL開始啊 10/26 20:54
DLHZ: 重作的動作是什麼意思 10/26 20:54
yoz4ni: 就執行2時不是會失敗嗎,那如果用條件如果失敗就在執行 10/26 21:52
yoz4ni: 一次,那怎麼知道已經可以寫入了 10/26 21:53
DLHZ: 執行2是什麼2 當那個位子一被改變你processor2的資料就是inv 10/26 22:00
DLHZ: alidate了 要嘛就是重新存取 為什麼一定要把錯的資料寫進去 10/26 22:00
DLHZ: 你資料來源invalidate 等再久系統也不會給你寫進去 因為你本 10/26 22:01
DLHZ: 來就應該重新來過 10/26 22:01
yoz4ni: 好的謝謝 10/26 22:32