GAS inline assembly를 이용해서 뭔가 해보려는 중인데요. Compare-and-swap 명령을 찾지 못하겠습니다. 다른 어셈블리에서는 보통 cas 라는 opcode가 있던데 GAS 혹은 x86 어셈블리에서 Compare-and-swap 에 해당하는 opcode를 혹시 아시는지요?
구체적으로 기억은 잘 안나는데 compare-and-swap, test-and-set 계열 instruction을 예전에 cpu별로 조사한 적이 한번 있었습니다.
glibc에 있는 pthread쪽 porting부분을 보면 cpu별로 잘 compare-and-swap과 test-and-set이 구현되어 있더군요. 참고해 보시기 바랍니다. :)
Taeho Oh ( ohhara@postech.edu ) http://ohhara.sarang.net Postech ( Pohang University of Science and Technology ) http://www.postech.edu Alticast Corp. http://www.alticast.com
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
구체적으로 기억은 잘 안나는데compare-and-swap, test
구체적으로 기억은 잘 안나는데
compare-and-swap, test-and-set 계열 instruction을 예전에 cpu별로 조사한 적이 한번 있었습니다.
glibc에 있는 pthread쪽 porting부분을 보면 cpu별로 잘 compare-and-swap과 test-and-set이 구현되어 있더군요. 참고해 보시기 바랍니다. :)
Taeho Oh ( ohhara@postech.edu ) http://ohhara.sarang.net
Postech ( Pohang University of Science and Technology ) http://www.postech.edu
Alticast Corp. http://www.alticast.com
댓글 달기