[理工] 计组 指令

楼主: yoz4ni (yoooooz)   2019-10-26 09:26:45
请问一下
ll、sc一定会同步出现,在Processor1 ll了($s1),所以里面会有一个值会被设为1
那Processor2 同时也是设为1,这样不是就同一个位置已经被读2次了吗
不太懂要怎么判断这2个指令
谢谢
https://i.imgur.com/8tqDjci.jpg
作者: b10007034 (Warren)   2019-10-26 11:07:00
有完整题目吗?
楼主: yoz4ni (yoooooz)   2019-10-26 15:30:00
https://i.imgur.com/l0h3OxV.jpg我想说要问的跟旁边没啥太大关西就没拍了OAO
作者: DLHZ ( )   2019-10-26 17:41:00
processor2同时设为1?你是觉得processor的register共用吗?processor1的sc没有问题 所以设成1 但这样就是修改过了 所以processor2的sc会失败会传一个0应该是sc失败才会有人被设成0 不是ll让某个被设成00是成功 改一下
楼主: yoz4ni (yoooooz)   2019-10-26 19:37:00
所以在没有sc之前,假如有3个processor都有是正常的一旦其中一个sc之后 其他要sc时就会失败?这样理解有错吗那是怎么知道有一个已经sc了上面是要打有3个processor都做ll指令
作者: DLHZ ( )   2019-10-26 20:07:00
ll之后cpu会检查过程中有没有被写入是
楼主: yoz4ni (yoooooz)   2019-10-26 20:43:00
以上面为例子的话在第三行时也被写入,所以会设定成0或1?那如果判断已被写入 所以第四行要写入就失败,那如果有重作的动作那不就永远不会写次第二次吗?因为之前已写入所以永远都会判断已被修改?
作者: DLHZ ( )   2019-10-26 20:54:00
判断的基准是从自己LL开始啊重作的动作是什么意思
楼主: yoz4ni (yoooooz)   2019-10-26 21:52:00
就执行2时不是会失败吗,那如果用条件如果失败就在执行一次,那怎么知道已经可以写入了
作者: DLHZ ( )   2019-10-26 22:00:00
执行2是什么2 当那个位子一被改变你processor2的资料就是invalidate了 要嘛就是重新存取 为什么一定要把错的资料写进去你资料来源invalidate 等再久系统也不会给你写进去 因为你本来就应该重新来过
楼主: yoz4ni (yoooooz)   2019-10-26 22:32:00
好的谢谢

Links booklink

Contact Us: admin [ a t ] ucptt.com