Index
/
Reload
Edit on
2006-08-11
このコメントを修正します。
内容を修正した後で投稿時のパスワードを入力してください。
現在、コメントを削除する機能がありません。
コメントを削除したい場合には、 コメント欄を空欄にしておいてください (管理人が後で削除します)。
お名前:
E-mail or URL:
Password:
コメント:
うんのです。 どうやら同意には至らないようですが……。 ・ うんのは memory model で決まるのが globally visible order だと考えていた。 これには同意します。 かつ、私の議論が迷走していたおかげで、このことが確認されるのが遅くなって しまったことも確かで、このことはお詫びします。 memory model なしでは、「store が globally visible になるまで、その値は 他の CPU からは見えない」以外の仮定は自明ではないので、 globally visible order はほとんど決まらない。 それ以上を望むのであれば、memory model がそうしているように、 globally visible order についてより多くの制約が必要になります。 nminoru さんのやろうとしていたことは、memory model が定める順序が globally visible order だということには同意せず、 memory model 以前に(またはmemory model の外に) あるものとして globally visible order を考えようとなさっているようですね。 それならば、それに反対する理由は私には特にありません。 ただし、詳細について、同意できない点がいくつかあるので、列挙します。 個人的に、私はこれらの点に賛成していないことを明示しておきたいというのが 動機です。 (I) "However, a storage-operand store appears to precede a conceptually subsequent storage-operand fetch from the same main-storage location." を否定すると self-consistency が壊れる、には同意しません。 > PoO の一番素直な解釈では「a conceptually subsequent storage-operand > fetch from the same main-storage location が storage-operand store > を追い越した状態」とは、self-consistency が壊れた状態ですよ。 わたしはこれには同意しません。 私が同意しない理由は、段落の最初、"As observed by other CPUs and by channel programs" が効いているので、この文を認め、かつ、その CPU 自身 からみれば conceptually order が見えるという両立が成り立つから。 本 (I) 項は、わたしが最初に書いた↓とそのまま対応します。 > これは、かなり典型的な混乱具合なのですが、Multi processor > システムにおける global visible 順序と、self-consistency > (綴りあってるかな)をごちゃまぜにされています。 (II) 「同じメモリアドレスへ store → load があった場合、 load は store から直接データを貰える(メモリに読みに行かない)が store が完了するまで待つ必要がある」を global visibility に組み入れる という構想がすぐれているとは思いません。 ひとまず、私が考えている global visibility と nminoru さんのものは 別だと認めてしまいます。 その上でも、 「同じメモリアドレスへ store → load があった場合、 load は store から直接データを貰える(メモリに読みに行かない)が store が完了するまで待つ必要がある」 が global visibility にとって必要、または、有益だとは考えません。 (I) 項が同意されていない状況で、この議論が可能だとは思えない のですが、以前私が出した命令列の例(以下)をどう料理するつもり なのかには、ちょっと興味があります。 > これについては、命令列を少し変形して、 > 1: STORE [X] = 1 > 2: LOAD r1 = [X] > 3: if r1 == 1 { LOAD r2 = [Y] } > のようにしてみては、どうでしょう。 # もしかすると、こんな命令列は考えるに値しない? (III) (横道だとは思いますが、)わたしが、いつ、poo に store forwarding を導入しようとした場合の困難について言及しましたか? 「うんのさんがそうおっしゃるとは意外です。」とまで言われているので、 まるで私は自分が確かにいったことをしらばっくれているかのような ムードですが???? >> 私が指摘したのは、"However, a storage-operand store appears ..." >> の一文が store forwarding の禁止に相当するということ。 >これは認めます。 ですね。 「この一文が store forwarding の禁止に相当する」という主張と、 下の主張には随分隔たりがあるように思います。 > うんのさんは S/370 系 CPU に Store forwarding を導入するとしたら > PoO の "Relation between Operand Accesses" の項の > "However, a storage-operand store appears to precede a conceptually > subsequent storage-operand fetch from the same main-storage location." > の記述(とそれと同様の部分)を削るだけで済むとお考え
Powered by
くっつき BBS