トップ «前の日記(2006-09-15 (Fri)) 最新 次の日記(2006-09-20 (Wed))» 編集

uDiary

海野秀之(うんのひでゆき)の外部記憶

Twitter (twilog) / RSS / アンテナ / ぶくま

2006|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|08|
2010|01|02|03|05|06|07|10|11|
2011|03|08|
2012|02|04|07|08|10|
2013|01|02|03|05|06|08|11|12|
2014|01|02|05|06|07|08|09|12|
2015|01|02|03|04|

2006-09-19 (Tue)

メモ:TSO に関して。

http://www.nminoru.jp/~nminoru/diary/2006/08.html#2006-08-11

五月雨式に書くのは控えますとかいいつつ、全然控えられていないので、 反省中。いままでのやり取りをよくよんで、必要な文献もきちんと 調査して、ちゃんと書かないといけないなぁと思う。

いままで、ひとつも嘘は書いていないつもりなのですが。 (いくつか嘘かいていた。後述)

以下、忘れないように、気付いたことを、気付いた順序で。

[13] [うんの] 2006-09-19 10:08:57 より、

観測されるのは順序であって、各 load/store がそれぞれ global visible になった 瞬間に「あ、いまだ」と観測されるわけではありません。

観測されるべき、global visibility order が確定する瞬間なら存在する。 ストアなら、coherence domain の一部であるところの、キャッシュに書かれた瞬間。ロードなら、その後キャンセルされずにコミットするようなロード(微妙な書き方)命令において、ロード値がデスティネーション(たとえばレジスタ)に書かれた瞬間。

こっちを知っていなければわからない順序になっている(ように見える) ところが、誤解の種なんだろうか。

SPARC V8

V9 の参考文献リストをみるに、どうやら、SPARC V8 は 「Sindu 以前」 であるらしい(←たぶん、これウソ)。 で、実際に SPARC V8 の TSO に関する記述は混乱している 可能性が高そうだ。これは、引用された部分からもうかがえる。 しまつた。

(追記)「混乱している」というのは、不必要な説明があるという意味。 TSO の定義はハードインプリに関する説明とは切り離しておこなわれる べきなのに、必須でないインプリに依存した説明になっていそうだ ということ。

その点、(そういうのに比べると)P.O.O. は笑えるくらい論理的。 直接関係ないけど、Storage Addressing のところを読んだときには、 目から鱗が落ちる気持ちだった。

(追記2)いくつか嘘かいてました。 Memory transaction という言葉はでてくる。 しかし、それが何なのかははっきりとは示されていないようにも。 もう一度きちんと読む必要があるが、 model として、キャッシュがなくて、だけど、ストアバファがある、 メモリは instruction の指定したサイズの load/store を直接うけつけることができるようなものを想定して、 その上で記述されているような感じ。 そうすると、global visible point は一点にみえる (store forwarding が微妙)

当然、キャッシュを持つシステムでは、物理的にはあちこちに global visible point が発生するが、そんなもんはインプリ依存だから 知らん、というわけでしょう。きっと。

Memory order の定義については、単に僕がまちがってた。

本日のツッコミ(全1件) [ツッコミを入れる]
# うんの (2006-09-19 (Tue) 12:17)

「表示可能な文字数を 1000 → 2000 に増やして」も足りなかったみたい。なんてこった。


2006|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|08|
2010|01|02|03|05|06|07|10|11|
2011|03|08|
2012|02|04|07|08|10|
2013|01|02|03|05|06|08|11|12|
2014|01|02|05|06|07|08|09|12|
2015|01|02|03|04|
Categories 3imp | Card | Cutter | Dalvik | Euler | Football | GAE/J | Hand | Haskell | Re:View | Ruby | Scheme | TQD | Tiger | TigerBook読 | UikiTeXi | Verilog | Violin | Web | parconc | tDiary | お勉強 | エントロピー | ツン読 | | 将棋 | 政治について | | 模写してみよう | 確率論 | 設定など | 雑文 | 音声