06.08.2013 Views

Threads in the new ISO C Standard from 2011

Threads in the new ISO C Standard from 2011

Threads in the new ISO C Standard from 2011

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Load and Reserve/Store Conditional Behaviour<br />

The load <strong>in</strong>struction fetches data <strong>from</strong> a memory location, and makes<br />

a reservation R <strong>in</strong> memory.<br />

If a different processor modifies <strong>the</strong> same memory location, <strong>the</strong><br />

reservation R is lost.<br />

If/when <strong>the</strong> processor with a reservation makes a conditional store,<br />

<strong>the</strong> memory location is modified only if <strong>the</strong> reservation was not lost <strong>in</strong><br />

between.<br />

Therefore it’s an atomic read-modify-write.<br />

The stwcx. conditional store <strong>in</strong> Power sets a condition code to<br />

<strong>in</strong>dicate whe<strong>the</strong>r <strong>the</strong> store succeeded or not (<strong>the</strong> dot <strong>in</strong> <strong>the</strong> mnemonic<br />

<strong>in</strong>dicates that <strong>the</strong> condition code is set by an operation on Power).<br />

Jonas Skeppstedt (js@cs.lth.se) Lecture 6 2013 48 / 70

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!