@Aquaticfuller @DiyouS as discussed this morning:
Summary
Add the amocas.w instruction for efficient CAS on ManyRVData architecture. I think in this architecture it can be especially useful, as it should save one NOC roundtrip compared to LR/SC implementation. As discussed in todazs meeting LR/SC is 100 cycle, amocas can probably be less. (But should be benchmarked and reported).
Another reason this should be useful is that amocas is exactly the operation on shared data, so this data will most likely not be tile-local and therefore have the long NoC latency penalty.
@Aquaticfuller @DiyouS as discussed this morning:
Summary
Add the
amocas.winstruction for efficient CAS on ManyRVData architecture. I think in this architecture it can be especially useful, as it should save one NOC roundtrip compared to LR/SC implementation. As discussed in todazs meeting LR/SC is 100 cycle, amocas can probably be less. (But should be benchmarked and reported).Another reason this should be useful is that amocas is exactly the operation on shared data, so this data will most likely not be tile-local and therefore have the long NoC latency penalty.