作者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/cn.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