[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[WitchTech 00366] Re: test and set (was Re: 演算速度)
- Subject: [WitchTech 00366] Re: test and set (was Re: 演算速度)
- From: よこやえりな <yoko@aomori-ths.gr.jp>
- Date: Mon, 21 Aug 2000 08:37:33 +0900
> > IA-32ならBT系命令がありますが、IA-16にはそのような操作をできる命令はありません
> > ね。
>
> BTx 命令は、基本的に 1 ビットだけ CF に取り出す命令ではないんでしょうか ?
> (x でおまけの操作ができますが) それは、普通の定義では単なるビット操作命令
> です。(ちなみに BT[SRC] は atomic ですらありません。明示的な lock が必要で
> す。とか low level な話だな)
>
> 世の中でいう test and set は、cmpxchg (486 の追加命令、68k の cas 相当) だ
> と思いますが ... というかドキュメント (*) にそう書いてありますが ...
すいません。
386のドキュメントは読んだことがないので、そこまで厳密な話は知りませんでした。
しかし、シングルプロセッサ環境なら、割り込み禁止にする必要がないので、
「とりあえず」アトミックといえるのではないのでしょうか?
xchg系命令なら、バスロックを伴なう(はず)なので、完全にアトミックですね。
# 個人的にbswap以外の486拡張命令には疑問をもっていたのですが・・・(^^;
ML Archives