作者yoz4ni (yoooooz)
看板Grad-ProbAsk
标题[理工] 计组 指令
时间Sat Oct 26 09:26:45 2019
请问一下
ll、sc一定会同步出现,在Processor1 ll了($s1),所以里面会有一个值会被设为1
那Processor2 同时也是设为1,这样不是就同一个位置已经被读2次了吗
不太懂要怎麽判断这2个指令
谢谢
https://i.imgur.com/8tqDjci.jpg
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.213.197.216 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1572053207.A.C57.html
1F:推 b10007034: 有完整题目吗? 10/26 11:07
3F:→ yoz4ni: 我想说要问的跟旁边没啥太大关西就没拍了OAO 10/26 15:31
4F:→ DLHZ: processor2同时设为1?你是觉得processor的register共用吗? 10/26 17:41
5F:→ DLHZ: processor1的sc没有问题 所以设成1 但这样就是修改过了 所以 10/26 17:42
6F:→ DLHZ: processor2的sc会失败会传一个0 10/26 17:42
7F:→ DLHZ: 应该是sc失败才会有人被设成0 不是ll让某个被设成0 10/26 17:43
8F:→ DLHZ: 0是成功 改一下 10/26 17:44
9F:→ yoz4ni: 所以在没有sc之前,假如有3个processor都有是正常的 10/26 19:37
10F:→ yoz4ni: 一旦其中一个sc之後 其他要sc时就会失败?这样理解有错吗 10/26 19:39
11F:→ yoz4ni: 那是怎麽知道有一个已经sc了 10/26 19:40
12F:→ yoz4ni: 上面是要打有3个processor都做ll指令 10/26 19:41
13F:→ DLHZ: ll之後cpu会检查过程中有没有被写入 10/26 20:07
14F:→ DLHZ: 是 10/26 20:07
15F:→ yoz4ni: 以上面为例子的话在第三行时也被写入,所以会设定成0或1? 10/26 20:43
16F:→ yoz4ni: 那如果判断已被写入 所以第四行要写入就失败,那如果有重 10/26 20:44
17F:→ yoz4ni: 作的动作那不就永远不会写次第二次吗?因为之前已写入 10/26 20:46
18F:→ yoz4ni: 所以永远都会判断已被修改? 10/26 20:47
19F:→ DLHZ: 判断的基准是从自己LL开始啊 10/26 20:54
20F:→ DLHZ: 重作的动作是什麽意思 10/26 20:54
21F:→ yoz4ni: 就执行2时不是会失败吗,那如果用条件如果失败就在执行 10/26 21:52
22F:→ yoz4ni: 一次,那怎麽知道已经可以写入了 10/26 21:53
23F:→ DLHZ: 执行2是什麽2 当那个位子一被改变你processor2的资料就是inv 10/26 22:00
24F:→ DLHZ: alidate了 要嘛就是重新存取 为什麽一定要把错的资料写进去 10/26 22:00
25F:→ DLHZ: 你资料来源invalidate 等再久系统也不会给你写进去 因为你本 10/26 22:01
26F:→ DLHZ: 来就应该重新来过 10/26 22:01
27F:→ yoz4ni: 好的谢谢 10/26 22:32