Index
/
Reload
Edit on
2006-08-11
このコメントを修正します。
内容を修正した後で投稿時のパスワードを入力してください。
現在、コメントを削除する機能がありません。
コメントを削除したい場合には、 コメント欄を空欄にしておいてください (管理人が後で削除します)。
お名前:
E-mail or URL:
Password:
コメント:
ちょっと忙しくてお返事が遅れていますがご容赦を。 うんのさんのコメント[24] の (I) にも関係があると思うので、先に見えざるオーディエンスさんのコメント[25]にリプライします。 > self consistency を述べるのであればその節の当該段落中に書くのは不適切だということです。 > むしろ PoO の(他の部分の)書き方からすると、この(B)文では self consistency を述べる気はなく > store forwarding を禁止したいだけでしょう。 今例としてあげているのは ESA/390 PoO の記述ですが、この中でメモリモデルに関係している部分は "Conceptual Sequence"・"Storage-Operand Fetch References"・"Storage-Operand Store References"・"Relation between Operand Accesses" の節ですよね。 ESA/390 のこれらの記述は、S/370 PoO の記述をほとんどそのまま引き継いでいます。例えば IBM System/370 Principles of Operation GA22-7000-4 (Sep. 1974 の Fourth Edition) を見つけてきたのですが、ESA/390 の 5.13.10 Relation between Operand Accesses (http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/DZ9AR006/5.13.10?DT=19990630131355) にあたる部分は以下のように書かれています。 Relation between Operand Accesses: (A') Storage-operand fetches associated with one instruction execution precede all storage-operand references for conceptually subsequent instructions. A storage-operand store specified by one instruction precedes all storage-operand stores specified by conceputually subsequent instructions, but it does not necessarily precede storage -operand fetches specified by conceptually subsequent instructions. (B') However, a storage-operand store does precede a conceptually subsequent storage-operand fetch to the same real storage location. (B') は "does" が "appears to" に、"main-storage" が "real storage" になった以外は (B) と同じですね。 1974年当時は store forwarding による local load のような in-flight なメモリ操作はなかった(はず)です。当然 PoO の operand-fetch/store reference もメインメモリに出ていくデータアクセスを想定した定義ですよね。また IBM 370 の前に IBM 360/91 のメモリモデル(同一メモリアドレスに対する store → load は守るけど、load → store は追い抜く可能性あり)があったことを考えると、(B') の記述は self consistency を守るという意味ですよ。メモリモデルが単純なので self consistency を守るということは、同時に外から見た順序を守るということでもあります。 もしそうなら、(B') とほとんど同じ内容の (B) が self consistency を含まないと言うことはないでしょう。 > # そもそも Self consistency 則は5章の中盤あたりの「Conceptually sequence」ではないですか。 PoO は同じ記述を切り口を変えて繰り返すことが多いですから、Self consistency に関することがあそこに書いてあるからここは self consistency のことは書いてないだろう、ということにはならないと思います。 中盤がどこを指すか良く分かりませんが、ESA/390 PoO の 5章の初盤にある 5.13.1 Conceptual sequence の節は self-consistency の概念(と Self-Modifying Code の扱い)について書いているだけなので、5.13.8.1 節と5.13.8.2 節でより詳細な説明がなされていますよね。5.13.10 節の第一パラグラフ((A)+(B))は、5.13.8.1 節と5.13.8.2 節の切り口を変えた要約ではないでしょうか?
Powered by
くっつき BBS