CPUアーキテクチャについて語れ 11

このエントリーをはてなブックマークに追加
1Socket774
おいお前らいい加減、無能なAMD房・Intel房・GKに振りまわされず、
エンコ時間がどうとかPIがどうとかPS3がどうとかじゃなく、
CPUコアのアーキテクチャについて語りましょう。

x86/RISC/CISC/スーパースカラ/VLIW/MIMD/SIMD
等について語ってもよし、

フリップフロップ回路が小さいPentium Mマンセー、
CISCなのに内部はRISCなPentium 4マンセー、
x86なのに32/64bitコンパチなOpteronマンセー、
昔々8086の時代は(以下略・・・等もよし。

さあ、不毛な争いを止めてCPUアーキテクチャについて語ろう!

前スレ
CPUアーキテクチャについて語れ 9
http://pc11.2ch.net/test/read.cgi/jisaku/1202913839/
(スレタイは9だが実質10))

【過去スレ】
Part 1 http://pc5.2ch.net/test/read.cgi/jisaku/1082357989/
Part 2 http://pc7.2ch.net/test/read.cgi/jisaku/1101041110/
Part 3 http://pc7.2ch.net/test/read.cgi/jisaku/1139046363/
Part 4 http://pc7.2ch.net/test/read.cgi/jisaku/1151732227/
Part 5 http://pc9.2ch.net/test/read.cgi/jisaku/1159238563/
Part 6 http://pc9.2ch.net/test/read.cgi/jisaku/1169393906/
Part 7 http://pc11.2ch.net/test/read.cgi/jisaku/1172923824/
Part 8 http://pc11.2ch.net/test/read.cgi/jisaku/1178140550/
part 9 http://pc11.2ch.net/test/read.cgi/jisaku/1186887760/
part10 http://pc11.2ch.net/test/read.cgi/jisaku/1202913839/ (前スレ)

自作板CPU系スレッド 現行スレ案内&過去ログ保存サイト
http://cpu.jisakuita.net/
2Socket774:2008/07/02(水) 20:58:53 ID:UZs5WgxB
あーいろいろミスってるなw
じゃー次スレ>>1用テンプレ貼っとくか
---------以下をコピペ---------------

おいお前らいい加減、無能なAMD房・Intel房・GKに振りまわされず、
エンコ時間がどうとかPIがどうとかPS3がどうとかじゃなく、
CPUコアのアーキテクチャについて語りましょう。

x86/RISC/CISC/スーパースカラ/VLIW/MIMD/SIMD
等について語ってもよし、

フリップフロップ回路が小さいPentium Mマンセー、
CISCなのに内部はRISCなPentium 4マンセー、
x86なのに32/64bitコンパチなOpteronマンセー、
昔々8086の時代は(以下略・・・等もよし。

さあ、不毛な争いを止めてCPUアーキテクチャについて語ろう!

前スレ
CPUアーキテクチャについて語れ 11
http://pc11.2ch.net/test/read.cgi/jisaku/1214999146/1

【過去スレ】
Part 1 http://pc5.2ch.net/test/read.cgi/jisaku/1082357989/
Part 2 http://pc7.2ch.net/test/read.cgi/jisaku/1101041110/
Part 3 http://pc7.2ch.net/test/read.cgi/jisaku/1139046363/
Part 4 http://pc7.2ch.net/test/read.cgi/jisaku/1151732227/
Part 5 http://pc9.2ch.net/test/read.cgi/jisaku/1159238563/
Part 6 http://pc9.2ch.net/test/read.cgi/jisaku/1169393906/
Part 7 http://pc11.2ch.net/test/read.cgi/jisaku/1172923824/
Part 8 http://pc11.2ch.net/test/read.cgi/jisaku/1178140550/
Part 9 http://pc11.2ch.net/test/read.cgi/jisaku/1186887760/
Part10 http://pc11.2ch.net/test/read.cgi/jisaku/1202913839/ (スレタイは9)

自作板CPU系スレッド 現行スレ案内&過去ログ保存サイト
http://cpu.jisakuita.net/

3Socket774:2008/07/02(水) 21:02:41 ID:tQAhyygJ
           |:|  r─'^`┐r─'^`┐rー'^゙┐__ r┐|:|:
  ,r"´¨`゙}    ..|:|  {ニニ コ 7 /Tコ .7./コT '-' l.」:::|:|:
 {  { `) }   ☆..|:|  { o ノ二) /./ (`.コ .~{ o.ノニ). :O:::|:|:
  ヾ_`ーy"     |:|  |:| . ,r"´`゙、...|:|/:|:|::::::|:|::::::|:|::::::|:|:
    }ノ     |:|  |:| .{ (´ } }:|:|::::::|:|::::::|:|::::::|:|::::::|:|:
☆  {.(           ヾ_,r",,ノ.:::::::::::::::::::::::::::::::::::::::::::::
.     / L_         /{.(~::::::::::::::::ぉ::::::::::::::::::::::::::
../\_ / z`__7      /::::::::)}::::::::::::::::::終わった:::::::::
⌒⌒^/`ー-.{@    /::::<'"'"'ーz:::::::::::::::なにもかも::::::
 !\/, -、.F|'   /:::::::,;''⌒ヾzニ^_, - 、;_;;__;;;:::::,__,:::::::::::
 `ゞ{_且且、 ./:::::::y‐'‐""}}ヾ 〉::||ァ::::::::::::::《ェfュヒ_>:::::::
       /::::::::::::::` ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄´::::::::::::::::::::::
4Socket774:2008/07/02(水) 22:02:16 ID:whmSZDog
>CISCなのに内部はRISC
これってP6以降全部そうなんじゃなかったっけ?
5Socket774:2008/07/03(木) 00:25:00 ID:9td1COHE
全部じゃないだろ。珍しくはないが。
6Socket774:2008/07/03(木) 00:50:20 ID:z+29W1hj
6502最高
ARM至高
7Socket774:2008/07/03(木) 00:52:36 ID:mRGl9dGy
cyrixとかriseはu-ops変換しないで
x86を実行するチップ作ってた
rise mp6とか量産されてないに等しい
出荷量だと思うが
8Socket774:2008/07/03(木) 00:58:24 ID:mRGl9dGy
6502は。。。
なんとパイプライン化されてて
nopならスループット1サイクルで処理できた
遠い親戚にあたる68000とは大違い
9Socket774:2008/07/03(木) 02:06:28 ID:XYrmOjRB
>>8
6502はパイプライン化されてないし、NOPは2サイクルだし、68000とは全く縁はない
6800とはピンコンパチに近い
10Socket774:2008/07/03(木) 02:49:55 ID:XYrmOjRB
6502の高速化のトリックは、
実効アドレス計算の下位8ビットのキャリーを待たずに投機的メモリアクセスをするところ
キャリーがあると1サイクル余分にかかる

どこからパイプライン化説が広まったのかは謎
11Socket774:2008/07/03(木) 10:08:13 ID:NGHeGnXN
Core2はなんでK8/K10とあんなに差がつくのん?
12Socket774:2008/07/03(木) 14:02:50 ID:XYrmOjRB
6502とARMは実際似ているところはほとんど何もないが
雰囲気みたいなものは確かに似ているな

6502 6800
ARM 88000またはMIPS
NOVA PDP11
13Socket774:2008/07/03(木) 14:13:22 ID:POYZJ+H4
松下、実装面積/消費電力を半減したTV向け「UniPhier」LSI
http://www.watch.impress.co.jp/av/docs/20080703/pana.htm
14Socket774:2008/07/03(木) 14:59:40 ID:XYrmOjRB
MIPSをアンチARMにした理由は
ストア命令のフォーマットをロード命令に合わせるために、デスティネーションレジスタからストア値を読み出すところだ
実装より審美学を優先しているところが実に非6502的だ
158:2008/07/03(木) 17:54:56 ID:mRGl9dGy
>>8
リア中学生のとき、今はなき月刊アスキーで見た<6502パイプライン説

6502と68000は何も共通点はないけど
6800繋がりで
16Socket774:2008/07/03(木) 19:36:05 ID:fOZyhwJt
http://pc11.2ch.net/test/read.cgi/unix/1214127349/l50
UNIX板 SunMicroSystems最大の字余り
このスレでx86vsSparcみたいな議論起きてる。
17Socket774:2008/07/03(木) 22:40:35 ID:9HZwx563
どっかのライターが6502はパイプラインとか雑誌に書いちゃったのが伝説の始まり
18Socket774:2008/07/03(木) 23:16:22 ID:fGp7a8cS
>>16
毎度の事だろ
そのスレはそのスレでほっといておけ
19Socket774:2008/07/04(金) 11:27:26 ID:xGktx3iR
「Super πはCore2のキャッシュに入りきるからCore2でのπ焼きは速い」
ってよく言う人いるけど、本当にそうなんですか?

・Core2でのπ焼きが速い理由はそこなのか?
・入るならキャッシュに丸ごとプログラムを入れるものなのか?

詳しい人お願いします。
20Socket774:2008/07/04(金) 15:47:59 ID:3b/KqcMr
>>19
自分でBIOSからL2キャッシュを部分的に無効にしていって
タイム変化を調べろよ。
21Socket774:2008/07/04(金) 16:11:25 ID:ZP85Acv8
キャッシュ上だけで処理できるならそのほうが圧倒的に速いので
入るんだったら全部入れるようにするのが正義ではある

……他の処理とか抱えてたら配分とかいろいろ面倒になるっぽいけど
22Socket774:2008/07/04(金) 16:14:50 ID:n5/AV4BF
Freescale社の通信向けマルチコアプロセッサ、
ソフトウエア開発の面でマルチコア対応を支援
http://www.ednjapan.com/content/l_news/2008/07/u0o686000000fz4n.html
23Socket774:2008/07/05(土) 04:30:54 ID:0gkKZX0K
>>22
…まあBTSとかのリファレンスデザインで、最近はStarCore+MPCよりStarcore+OCTEON or XLRが増えてたからなぁ。P4はちょうどそのあたりを奪還したいのだろうか。
24Socket774:2008/07/06(日) 23:44:25 ID:YZ8KYR/5
>>19
キャッシュに入らないアプリが殆どだからモッサリって噂も(ry
25ヽ・´∀`・,,)っ━━━━━━┓:2008/07/07(月) 02:17:50 ID:p/5wzp0+
>>16
これか

> 304 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2008/07/03(木) 17:46:37
> >>284,287
> おまえら、『バカ』、だろ? なんの話してんのかわかってんのか? サル?
> x86 にこびりついてるやつってみんなそんなだと思われるぞ。
>
> で、繰り返すぞ、「技術的に同一条件で作ったら x86 は最低の ISA」。クソ。wwwww



まあ事実だろうね。SPARCアーキもたいがいだけど。

英語みたいな汚い言語が世界標準だったり
プログラミング言語でいえばPerlとかC++も汚いし。
でも、汚くなるほど使われてきたものってのはそれはすなわち実用的ってこと。
26Socket774:2008/07/07(月) 09:34:11 ID:OZS5DqXb
>>25
同一の物量で戦ったら日本軍勝つるみたいなもんか
27Socket774:2008/07/07(月) 17:32:23 ID:T5AMCDLv
同一の物量で日本軍が勝つなんてのも架空戦記だけの話だけどなw
28Socket774:2008/07/07(月) 17:51:06 ID:j99OYzKD
そんなに豊かだったらそもそもあんな時期に宣戦する必要がないな
29MACオタ:2008/07/08(火) 22:00:24 ID:jyYpyOba
VIAと組んでnano対応のチップセットを投入すると言われていたNVIDIAすけど、
Atom向けのチップセットに参入させてもらうことと引き換えに、VIAから手を引くという
話が出てきたす。
ソースわ、Digitimes。
http://www.digitimes.com/mobos/a20080708PD208.html
  --------------------------
  Nvidia to possibly abandon VIA for Intel Atom
  Monica Chen, Taipei; Joseph Tsai, DIGITIMES [Tuesday 8 July 2008]

   Although VIA Technologies and Nvidia entered into an alliance to cooperate in the l
  ow-cost PC and MID markets earlier in the year, according to recent reports, Nvidia has
  used the alliance as a bargaining chip to negotiate with Intel, demanding Intel allow Nvidia's
  IGP chipsets to enter the Atom platform ecosystem, according to sources at PC makers.
   Nvidia's MCP73 IGP chipset only supports single-channel memory and offers relatively
  low performance compared to current chipsets from both Nvidia and Intel making it a good
  fit for the Atom platform.
   If Intel agrees to let Nvidia's chipset support the Atom platform, Nvidia will then terminate
  its alliance with VIA. This could impact Taiwan-based chipset makers VIA and Silicon
  Integrated System (SiS).
   Both VIA and Nvidia have refused to comment regarding the speculation.
  --------------------------
30Socket774:2008/07/08(火) 23:47:23 ID:f0YHnw99
ロードとストアが非対称なのはARMじゃなくてPAだったわ
ハズカシ
31Socket774:2008/07/09(水) 00:58:18 ID:Jt32Evbc
VIAがNVIDIAを買收するという話はどうなったんだろ。
32Socket774:2008/07/09(水) 16:00:53 ID:5OkA7Foy
NDIVIA
33ヽ・´∀`・,,)っ━━━━━━┓:2008/07/09(水) 16:40:13 ID:Ey3SP3O1
VIAニダ
34Socket774:2008/07/09(水) 20:45:34 ID:5OkA7Foy
HPからのスピンオフのRidgeもPyramidもレジスタウィンドウなのに、PAは違うというのも面白い話だな

やっぱり当時でもレジスタウィンドウはだめぽという理解があったんだろうね

組み込みはまだ別として
35Socket774:2008/07/10(木) 20:15:23 ID:4CddEjSN
36Socket774:2008/07/11(金) 10:55:42 ID:N4dW4/JG
MIT、低コストを実現する25nm半導体製造技術を開発
http://www.itmedia.co.jp/news/articles/0807/11/news026.html

らしいす
37Socket774:2008/07/11(金) 13:53:12 ID:+V+8Jwgk
さっぱり原理がワカラン……
簡単に量産化に対応できたらニコンとかが困るんだろうか
38Socket774:2008/07/11(金) 15:37:01 ID:tMI7903u
2種類のレーザーを用いて位相を調節し干渉によってレジストを反応させるのが干渉リソグラフィ。
今回のはそのレーザーを走査させてパターンを形成する技術じゃないかね。

マスクがいらない分安くはなりそうだ。
EBのレーザー版みたいなものかと。



適当に調べただけだから真に受けるなよ!
39Socket774:2008/07/11(金) 15:40:35 ID:1KHw/NPv
多品種少量生産品ならかなり良さそうだけど、レーザー走査だと製造スピード
の問題が出てきそうな悪寒がするな。
40MACオタ:2008/07/12(土) 12:05:20 ID:KULmXOzq
POWER7に関するThe Registerのスクープす。
http://www.theregister.co.uk/2008/07/11/ibm_power7_ncsa/
 - 8-core
 - Dual Chip Module (DCM) (16-core/socket)
 - 32GFLops/core (256GFlos/chip, 512GFlos/socket)
 - 4GHz @ 45nm process
 - 2010
 - 4-socket in 2U case (64-core/node) = 2TFlos / node
 -
IBMの伝統的な表記でわ、DCMとわプロセッサと外付けL3の2-chipで"デュアルチップ"なので、
若干の誤解が含まれている可能性があるす。
また、32GFlos/coreの内訳を考えると、
 4 [GHz] x 2 [積和] x ( 2 [スカラFPU] + 2 [SIMD並列数] ) = 32 [GFlops]
またわ、
 4 [GHz] x 2 [積和] x 4 [SIMD並列数] = 32 [GFlops]
となるす。
上の構成だと POWER6 + DPサポート版AltiVec、下の構成だと256-bit幅SIMDのヘテロコアという
ことすけど、どちらなんすかね。
ちなみに最近のIBMのプレゼンでわPOWER7のコアの構成わ"Workload Accelerator"とか
"Highly Threaded Cores"と述べられているすから、どちらもあり得そうす。

なお、The RegisterのソースわNCSAが計画中の新スーパーコンピュータ、"Blue Waters"筋とのこと。
http://pc11.2ch.net/test/read.cgi/jisaku/1202913839/598
こちらも思い出して比較してみて欲しいす。
http://pc11.2ch.net/test/read.cgi/jisaku/1178140550/854
41Socket774:2008/07/12(土) 12:11:47 ID:YfAzEh82
下の構成だとヘテロになるのはなんで?
42MACオタ:2008/07/12(土) 12:19:55 ID:KULmXOzq
>>41
POWER7わ汎用プロセッサなので、いきなりスカラFPUが無くなるとも思えないからす。
43Socket774:2008/07/12(土) 12:22:42 ID:YfAzEh82
しかし、4コア飛び越えて8コアか
サイズはどのくらいなんだろ
44MACオタ@訂正:2008/07/12(土) 12:23:11 ID:KULmXOzq
上の少し訂正す。
 誤) いきなりスカラFPUが無くなる
 正) いきなりスカラFPUや従来型(128-bit幅)AltiVecユニット
45MACオタ:2008/07/12(土) 12:36:18 ID:KULmXOzq
>>43
  -------------------
  4コア飛び越えて8コアか
  -------------------
IBMのロードマップでわ、POWER6+世代でシステムのコア数を2倍にすると言っているすから
4-core又は実装密度倍増わPOWER7より前で登場するす。

サイズに関してわ、POWER6搭載のp575が既に16-socket in 2Uすから、ソケット数で見ると減っているす。
チップわ巨大なのかもしれないす。
46Socket774:2008/07/12(土) 13:11:10 ID:YfAzEh82
>>44
今はFPとVMXは独立して存在してるんだっけ

>>45
6+の存在忘れてたわ
47MACオタ>46 さん:2008/07/12(土) 13:24:47 ID:KULmXOzq
>>46
  --------------
  今はFPとVMXは独立して存在してるんだっけ
  --------------
ユニットわ独立すけど、issueわ共通す。ただし現行AltiVecわDPをサポートしていないすから、
今までわ関係なかったとも言えるす。
48MACオタ:2008/07/12(土) 13:53:54 ID:KULmXOzq
AppleがP.A. SemiのPWRficientを最低3年わ提供し続けると米国防省に確約したとのことす。
http://www.my-esm.com/showArticle.jhtml?articleID=208808582
  ----------------------
  Apple sent a letter to the DoD saying it will assure production of the 1.8 GHz PWRficient
  processor for three to five years, said one source who saw the letter but asked not to
  be named. The letter suggests Apple will explore selling the designs to a third party
  after that time.
  ----------------------
49Socket774:2008/07/12(土) 14:43:53 ID:hIoELJtQ
SMTを強化するならスカラFPUが4つかもしれんな
50Socket774:2008/07/12(土) 15:57:34 ID:duftXqDO
コスト無視で作製できるのだからPOWERの天下は続きそうだな。
51MACオタ>522 さん:2008/07/12(土) 16:04:42 ID:KULmXOzq
>>50
自社のブレードサーバーでx86やCELL/B.E.と競合しているすけど。。。
http://www-03.ibm.com/systems/bladecenter/hardware/servers/index.html
52Socket774:2008/07/12(土) 16:57:14 ID:R5JfirV2
DPで32GFLops/coreと書いてあるの?
SPの可能性は?
53MACオタ>52 さん:2008/07/12(土) 17:02:17 ID:KULmXOzq
>>52
>>40にも書いた通りHPC筋のソースすからDPしか考えていない筈す。
54Socket774:2008/07/12(土) 21:59:49 ID:hIoELJtQ
ところでAltiVecってオペコードに余裕あんの?
55MACオタ:2008/07/14(月) 12:12:13 ID:vGLb+g+F
粘着さんが削除依頼でスレ潰しを図っている模様す。
一旦削除を拒否されてもしつこく依頼しているすね。。。
http://qb5.2ch.net/test/read.cgi/saku/1150019106/457
  -------------------
  457 :451:2008/07/11(金) 22:05:35 HOST:p34137-adsau18honb3-acca.tokyo.ocn.ne.jp
   >>452
  ご返答有り難うございます。
  再度、訂正の上で依頼します。

  削除対象アドレス:
  http://pc11.2ch.net/test/read.cgi/jisaku/1214999146/

  削除理由・詳細・その他:
  5. 掲示板・スレッドの趣旨とは違う投稿
  自作系のCPU(INTEL/AMD/VIA)についてはそれぞれ個別スレがあり、
  またそれ以外のゲーム機や組込機器向けなどについて、自作板で
  論ずる必要はありません。
  PCサロン板が適当だと思われます。
  -------------------
56Socket774:2008/07/14(月) 12:15:14 ID:tWnShqYY
8か…やっぱり、2のべき乗じゃないと美学(ry
57Socket774:2008/07/14(月) 16:56:48 ID:a9SP1/NH
いちいちチェックしてるオタがきもいです
58MACオタ:2008/07/14(月) 17:23:18 ID:vGLb+g+F
富士通とSUNがSparc64 VII "Jupiter"搭載サーバーを発表したす。
http://www.theregister.co.uk/2008/07/14/sun_fujitsu_sparc64_vii/
http://journal.mycom.co.jp/news/2008/07/14/007/index.html
  -------------------
  SPARC64 VIIは、1CPUあたり4コア・8スレッド、最大動作周波数2.52GHzを
  実現しており、従来機と比べ1.8倍の性能向上を実現しているほか、1コア
  あたりの消費電力を従来の「SPARC64 VI」と比べ44%削減している。
  -------------------
The Register記事の方でわ2.7GHz位まで出そうとのことす。
59MACオタ>57 さん:2008/07/14(月) 17:28:30 ID:vGLb+g+F
>>57
自治厨とかプロ市民とかの類わ、「権力を笠に着る」術を心得ているすから、
馬鹿にしていると足をすくわれることもあるす。
注意して監視しておいた方が良いすよ。
60Socket774:2008/07/14(月) 18:31:40 ID:ZtXbxx7E
44%削減とはそらまたずいぶん下がったもんだね
61Socket774:2008/07/14(月) 18:37:43 ID:IOr1pdcS
それ数字のマジックに過ぎないっぽ。
1.8倍×(100%-44%)=100.8%
結局殆ど変わってないっス。
62MACオタ>61 さん:2008/07/14(月) 21:45:24 ID:vGLb+g+F
>>61
その計算ちょっと違って、2-core -> 4-coreで消費電力+32%増なんだと思うす。
  132 [%] / (4[core]/2[core]) = 66 [%]
ってことで。
63MACオタ:2008/07/14(月) 21:49:40 ID:vGLb+g+F
大原氏がMYCOMでFTF (Freescale Technology Forum) 2008のPowerPC関連の
講演をレポートしてくれているす。
http://journal.mycom.co.jp/articles/2008/07/14/ftf3/index.html
資料や報道を見てもよく判らなかった新チップ内バス"CoreNet"の詳細
わ、質問してもやっぱり非公開だった模様す。
それから年末までに公開されるPower ISA v2.06を見ると、POWER7に含まれ
る新命令わ判るらしいす。
64Socket774:2008/07/15(火) 01:48:43 ID:1CSAhv0j
100 - 44 = 56 だよ
65Socket774:2008/07/15(火) 12:30:04 ID:7gjjKiiC
ATOM
45cm
25nm
電力
66Socket774:2008/07/15(火) 21:02:07 ID:rYaN31rH
「ゲハじゃすぐdat落ちするから」と自作板にのうのうと押しかけてきた分際で偉そうなゲハ厨↓age

> 59 名前: MACオタ>57 さん [sage] 投稿日: 2008/07/14(月) 17:28:30 ID:vGLb+g+F
> >>57
> 自治厨とかプロ市民とかの類わ、「権力を笠に着る」術を心得ているすから、
> 馬鹿にしていると足をすくわれることもあるす。
> 注意して監視しておいた方が良いすよ。
67Socket774:2008/07/15(火) 21:55:42 ID:soa11bLR
Atomも省電力ってタテマエの割には電気食うもんな
今の半分くらいと思ってた>高クロック品
68MACオタ>54 さん:2008/07/17(木) 18:38:14 ID:tXjIclFY
>>54
6-bitのオペコードで"4"がAltiVecの演算命令す(ロードストア命令わ別扱い)。
ベクトルレジスタの数わ32個(5-bit表現)で、引数の数が異なる"VA", "VC", "VX"の命令フォーマット
それぞれに拡張オペコード領域が定義されているす。
  ・VAフォーマット (4引数またわ3引数+シフト量): 6-bit
  ・VCフォーマット (3引数): 10-bit
  ・VXフォーマット (3引数、2引数+直値, 1引数+直値, etc.): 11-bit
一番スペース的に苦しい"VA"フォーマットでも使用済わ14命令で格調の余地わ十分あるす。
69Socket774:2008/07/18(金) 22:58:58 ID:UXdmnZDz
アレブログ vs マキーノ

やっぱり「適切に設計されたCPU」には、つっこむよなあw
70MACオタ>69 さん:2008/07/19(土) 15:38:49 ID:2eUAebpx
>>69
そのGRAPE-DRの現状に関する、ご当人の弁す。
http://grape.mtk.nao.ac.jp/~makino/articles/future_sc/note064.html#rdocsect69
  -------------------
  とはいえ、まあ、現時点では GRAPE-DR は1チップで実測性能で DGEMM 世界最高速を実現した
  わけで、まあ、数千億掛けたという話もある Cell とかに比べてもピーク性能、実効性能、電力当り
  性能のどれも高い、というところで結構悪くないものができたのではないかと思っています。
  -------------------
71Socket774:2008/07/20(日) 03:10:29 ID:0cXwcJ5V
DGEMMに必死になり過ぎ。なんかカッコ悪いぞ。
作る目的を間違っとる。
72MACオタ:2008/07/20(日) 14:03:10 ID:buGvsLGs
落穂拾い的ネタすけど、NvidiaがSOI関連企業の団体 "SOI Industry Consortium"に加盟した
とのことす。
http://www.soiconsortium.org/news-events/press-releases.php?id=11
  ------------------
  “NVIDIA is pleased to join the SOI consortium. We are looking forward in participating
  on the advancement of such an innovative technology and its applications to future
  products," said John Chen, VP, Technology and Foundry Operations at NVIDIA.
  ------------------
GPUも低消費電力へ向かうということすかね。あるいわ、オンダイ超広帯域メモリとしての
フローティング・ボディ効果を利用したDRAM (Z-RAM等)が目的なのか。。。
73MACオタ:2008/07/20(日) 17:11:57 ID:buGvsLGs
前スレで話題にした次世代CELL B.E.の命令拡張の話題すけど、少々考えてみたす。

周知の通り、SPEの命令セットわ32-bit固定長のRISC命令の中に128個(レジスタ指定に7-bit要)の
レジスタを最大4引数指定するため、命令オペコード拡張の余地が非常に少ないす。命令コードにわ
4-bit, 7-bit, 8-bit, 9-bit, 10-bit, 11-bitの6通りのフォーマットがあるので、それぞれについて、拡張
の余地を調べると、こうなるす。
  種別         命令数  空き
  4-bit Op-code    6      2
  7-bit Op-code    3      61
  8-bit Op-code    29     35
  9-bit Op-code    17     111
  10-bit Op-code    4     244
  11-bit Op-code   140     628
74MACオタ@続き:2008/07/20(日) 17:31:51 ID:buGvsLGs
現ISAとの互換性を保ちつつ、専用命令で『大幅な性能向上』を得るための最も単純な解決策わ
ベクトルレジスタを連結して128個の128-bit幅VRFを256-bit幅 x 64又わ512-bit幅 x 32として
扱うことす。

この結果レジスタ指定に必要な命令フィールドわ、以下のように減少するす。
  4引数: 28-bit -> 24-bit (256-bit幅), 20-bit (512-bit幅)
  3引数: 21-bit -> 18-bit (256-bit幅), 15-bit (512-bit幅)
そして4-引数命令を8-bitフォーマット(256-bit幅の場合)又わ11-bitフォーマット(512-bit幅の場合)
に割り当てることが可能になるす。
>>73に書いた通り、8-bit Op-codeも4引数命令を割り当てる程度にわ空いているすから、
このやりかたわ、論理的にわ可能ということす。

的中するかどうかわ、数年後ということで。。。
75Socket774:2008/07/24(木) 17:06:49 ID:DGa4mwDe
76MACオタ:2008/07/24(木) 17:34:39 ID:D02rKv4k
今週結構ニュースわ有るす。まず新しいPowerPCデスクトップ"CherryPal C500"の話題す。
http://72.51.37.17/products/
Freescaleの車載向けヘテロ3コアPowerPC MPC5121e/400MHzを搭載して、オンラインストレージ
サービスとセットで販売するという"Cloud Computing"を現実化した製品す。
何故かiTunesが動くという謎の仕様が。。。
  ・Freescale MPC5121e mobileGT (400 MHz)
   http://www.freescale.co.jp/pressrelease/article.php?id=280
    603e系 PowerPC e300コア
    32-bit RISC マルチメディアコア (200MHz)
    PowerVR MBX/VGP Liteベースのグラフィックコア
  ・256 MB DDR2 DRAM
  ・4GB NAND Flash SSD
  ・802.11b/g Wi-Fi
  ・USB 2.0 x 2
  ・10/100 Ethernet
  ・VGA DB-15
  ・約300g, 消費電力 2W
77MACオタ:2008/07/24(木) 17:59:23 ID:D02rKv4k
>>40の記事関連でPOWER7の仕様についての予想をITJungleのTimothy Prickett Morgan記者が行っているす。
http://www.itjungle.com/tfh/tfh072108-story02.html
 ・最近IBMが提示しているロードマップ(http://www.itjungle.com/tfh/tfh072108-story02-fig01.gif) [MACオタ注: 私も数か所で見たす]
 ・TheRegのPOWER7記事は、2段階で計画されているBlue Watersの建設を混同している
 ・POWER6+はソケットあたり4-core以上。45nmでeDRAM L3も含むMCMか?
 ・"Advanced Hybrid Core"とは、オフチップのコプロのことであろう
 ・POWER7はPOWER6のL3をオンダイに統合する
 ・POWER7の動作クロックは3-4GHzの間と聞いている
 ・噂どおりx86とのソケット共通化を行うかもしれない
 ・TRIPSのリコンフィギュラブル技術を取り入れるかもしれない
 ・8-core版はPOWER7+世代の仕様で、POWER7は4-coreではないだろうか
等々
78MACオタ:2008/07/24(木) 18:07:01 ID:D02rKv4k
上と同じく、HPCWireのMichael Feldman記者の予想す。
http://www.hpcwire.com/blogs/25783599.html
 ・POWER7でクロックがPOWER6/4.7GHzより下がる原因は、10PFlopsに対応するコア・ノード数
 増加によるによる消費電力上昇か?
 ・Green500ランキングを見る限りPOWER6コアの電力効率は、Blue Geneの1/4。PowerXCellの1/5。
 ・POWER7のTDPは悪くて100W。できれば50Wクラスが望ましい
 ・このためコアは小規模化する筈。強化版AltiVecかCELL SPE?
79Socket774:2008/07/25(金) 13:41:18 ID:NDfCJ5IV
80Socket774:2008/07/25(金) 23:10:25 ID:ddutFgxX
>>79
TDPが一桁多いな。これではARMの競争相手にはならないな。
81Socket774:2008/07/25(金) 23:18:43 ID:F8SDV9IR
ARMでなく、PPC,MIPS辺りのSoCが相手なんじゃ?
ルータとか向きじゃない?
82Socket774:2008/07/25(金) 23:21:08 ID:l7dGWbgj
>EP80579はIXP460の、EP80579 with Intel QuickAssist Technologyは
>IPX465のそれぞれ後継となっていると考えるのが正しいだろう。
83Socket774:2008/07/25(金) 23:53:30 ID:auhZ1+pC
>>81
一番IA-32が有利なのはNASあたりじゃないかな。ユーザアプリが多いし、元々x86ベースのも多い。
ネットワークアプライアンス云々のWhitePaperもあるけど、そっちだと殆どMIPS系に移植されてないのないし。
別にIAアーキテクチャがとか言われても、いまIA32採用してるアプライアンスが切り替えるにはCPUが遅すぎる。
あとアクセラレータの性能が低いよ。性能ではOCTEON+だとCN5200より下クラスなのにTDPだとCN5600やXLR716クラス。バルク暗号化処理だけなら10Gbps超えが普通にあるクラスなのに。
84,,・´∀`・,,)っ:2008/07/28(月) 21:32:17 ID:VqPYdyBm
>>74
某ドリカスCPUの内積命令ですね
わかります
85Socket774:2008/07/29(火) 03:23:53 ID:jOwui/Lm
>>79
これって90nmなんだっけ?
携帯サイズのUMPCはこれの次世代で作ってくれるの?
86MACオタ>団子 さん:2008/07/29(火) 12:58:16 ID:woyy0V8T
>>84
ベクトル長わ変わっても汎用レジスタとして使用できるすから、アプリケーションを限定した
専用命令とわ、ちょっと違うと思うすけど。。。
87Socket774:2008/07/29(火) 22:14:12 ID:9iDqCrVs
ところで命令セット違うとCPUの回路構成も違うよな?
88MACオタ:2008/07/31(木) 23:50:55 ID:knyhyElr
欧州最大級のスーパーコンピュータMareNostrumやPS3Linux関連の開発で有名なスペインの
Barcelona Supercomputing Center (BSC)が欧州版Roadrunner "MariCel"を発表したす。
http://www.bsc.es/media/1762.pdf
http://www.bsc.es/media/1764.JPG
http://www.bsc.es/media/1765.JPG
Roadrunnerと同じくIBMのCELLブレードQS22のハイブリッドクラスタすけど、制御ノードにPOWER6
ブレードを使う点が異なるす。
今回発表したプロトタイプのノード数を増やしてRoadrunnerと同じく10PFlopsクラスのスーパーコン
ピュータを建設予定とのことす。
89MACオタ:2008/08/01(金) 00:03:53 ID:knyhyElr
Appleのプロセッサネタが2件す。

まずAppleブランドのPWRficientチップの写真す。
http://digitaldaily.allthingsd.com/20080728/apple-pasemi-2/
AppleとP.A. SemiがARMライセンスを取得するという噂す。
http://www.eetimes.com/news/design/showArticle.jhtml?articleID=209900392
  -------------------------
  LONDON ― Warren East, chief executive officer of ARM Holdings plc (Cambridge, England),
  has declined to name the company that has taken a multiyear architecture license for ARM's
  current and future technologies. But East gave enough clues while speaking to financial analysts
  on Wednesday (July 30) to show clearly that Apple is a contender.
  -------------------------
予てからの報道通り、自社の次世代携帯機器向けにARMコアのチップを開発する模様す。
90Socket774:2008/08/01(金) 16:33:04 ID:+aEM98JP
iphoneがPowerになるわけじゃないのか! 絶望した!
91Socket774:2008/08/01(金) 17:05:18 ID:pgEQ3l3D
iPod touchで遊んでたことあるけど、性能が微妙だった。
けっして悪くは無いけれど、かゆい所に手が届かない・・・的な半端さがあった。
92MACオタ>90-91 さん:2008/08/01(金) 17:37:03 ID:GRi0Viq/
>>90
Newtonを思い出して欲しいすけど、ARMも創成期からAppleと関わりの深い会社なので、
悲観する必要わ無いす。そう言えばデス・スパイラルと言われた時代に手持ちのARM株が
高く売れたお陰で、どれほどAppleわ救われたことか。。。
http://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%A4%E3%82%B3%E3%83%BC%E3%83%B3%E3%83%BB%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF
  --------------------------
  アップルとエイコーンは共同でARM開発を開始し、この開発作業を別会社で行うことが決定された。
  エイコーンでARM関連の研究開発を行っていた部門を基にして ARM(ARM Ltd)が1990年11月に
  スピンオフされた。エイコーンとアップルはARM社の株をそれぞれ43%ずつ保有し(1996年時点)、
  VLSIテクノロジーは同社に投資すると同時にARMのライセンスを最初に受けた。
  --------------------------
93Socket774:2008/08/02(土) 06:37:10 ID:WAPzq96q
511 名前:MACオタ>505 さん[sage] 投稿日:2008/05/08(木) 22:37:06 ID:UrOM/xel
>>505
新しい目の技術すから、これをトンデモ説とまで言い切る勇気わ無いすけど、CELL PPEやAtomわ
FGMTに分類するのが普通かと思うす。
(略)

903 名前:MACオタ>896-897 さん[sage] 投稿日:2008/07/19(土) 08:08:55 ID:2eUAebpx
(略)
SMTわAtomでの採用で、『サーバー向け』技術じゃ無いことわ明らかになったと思うすけど。。。
メモリコントローラ内蔵等SoC的要素わ、むしろ組込チップで先行して実装されている技術す。


SMTなのかFGMTなのかどっち?
94Socket774:2008/08/02(土) 16:07:55 ID:fTwD3A01
>>92
Androidとの差別化になると思っていたのでARMな時点で終わってる。
周りがPower版iPhoneを使ってる中、俺だけnVidia+Androidを使う妄想してたのに。
95MACオタ:2008/08/04(月) 16:54:03 ID:S9uVZvt2
今日わ、山のようにニュースがあるす。まずわIntelがSiggraph前にLarrabeeの説明会を
開いたす。見た範囲で最もよさそうな記事わTGDailyのコレす。
http://www.tgdaily.com/content/view/38700/135/
 ・LarrabeeわPC向けGPUとしてリリース
 ・コアわPentiumのショートパイプラン構成を64-bitと4-thread MT拡張。
 ・コア数わ8-48でスケーラブル
 ・512-bit x 2 (双方向)のリングバス
 ・512-bitベクトルユニット (VPU; 16 32-bit ops per clock)
96MACオタ:2008/08/04(月) 16:58:32 ID:S9uVZvt2
一方Nvidiaのチップセットネタに関してわ、絶望的なニュースが来ているす。
http://www.theinquirer.net/gb/inquirer/news/2008/08/02/nvidia-chipsets-dead
  --------------------------
  Nvidia is desperately trying to deny it, but don't believe the
  spin, the division is deader than an Nvidia mobile GPU.
  --------------------------
モバイル向けGPUの不良問題も相当深刻な模様す。
http://www.theinquirer.net/gb/inquirer/news/2008/07/31/hp-pays-half-nvidia-problems
  --------------------------
  Using the high number of eight per cent and the low number of
  $150 million, we can figure out that the the total cost of a
  recall, again with NV paying only half, is around (100/8)*$150
  million = $1.875 billion. Nvidia only has about $1.6 billion in
  the bank, so this could put a crimp on the decoration at the
  company non-denominational winter festivities party that does not
  endorse or disclaim any particular faith, religion, or point of
  view.
  --------------------------
倒産の危機す。
97MACオタ:2008/08/04(月) 17:13:42 ID:S9uVZvt2
Larrabeeについてすけど、じっくり読むならExtremeTechのこちらの記事が良いす。
http://www.extremetech.com/article2/0,2845,2327044,00.asp
 - 固定機能について
  ------------------
  Larrabee, by contrast, only performs a single piece of the
  graphics pipeline in a fixed function unit—the texture
  sampling/filtering. This texture sampler operates on unaligned
  2x2 blocks of texels and provides all the usual texture
  operations like data fetching, decompression, anisotropic
  filtering, and so on. It supports virtual address translation,
  and communicates with the rest of Larrabee (the cores) by writing
  to the cores' L2 cache.
  ------------------
98MACオタ@続き:2008/08/04(月) 17:14:51 ID:S9uVZvt2
 - Pentium 改良型 x86コアについて
  ------------------
  The cores are dual issue, and the two instructions issued per
  clock cycle can be two scalar instructions, one scalar and one
  vector instruction or two vector instructions.
  [中略]
  Each core has an L1 cache consisting of 32KB of instruction cache
  and 32KB of data cache, along with 256KB of L2 cache. The L2
  cache of these cores, the fixed function texture units, the
  memory controllers, and the system interface are all linked
  together by a 1024-bit ring bus architecture (512 bits in each
  direction).
  ------------------
99MACオタ@続き:2008/08/04(月) 17:17:13 ID:S9uVZvt2
 - ベクトルユニットについて
  ------------------
  The vector unit is particularly interesting. It is what Intel
  calls "vector complete," meaning that you don't have to fill it
  all up with one 16-part execution kernel. Rather, you can issue
  up to 16 individual and separate execution kernels, one per
  vector unit lane, which should help to more fully utilize all the
  processing power of these cores. The vector units support
  scatter/gather, and can use mask registers as a form of
  data-parallel flow control. Fused multiply/add for up to three
  arguments is supported, and the units operate on 32-bit integer,
  32-bit floating point, and 64-bit floating point data.
  ------------------
100MACオタ@続き:2008/08/04(月) 17:25:23 ID:S9uVZvt2
 - マルチコア対応レンダリングパイプラインについて
  --------------------
  PowerVR's claim to fame back then was what they called Tile Based
  Rendering—some call it Chunking, Intel calls it Binned Rendering.
  The full frame is broken into hundreds of square tiles, usually
  16x16, 32x32, 64x64, or 128x128 pixels in size. The primitives
  for each tile are processed, and their depth values sorted and
  stored into a "Bin Set" in off-chip memory (or in other
  architectures, a special tile buffer).
  --------------------
 - GPGPU応用について
  --------------------
  By incorporating fully cache-coherent x86 cores with virtual
  memory, page swapping, and so on, Intel expects programming
  Larrabee to perform tasks other than 3D graphics to be much
  easier than on competing GPUs. You can just write native C or C++
  code and run it directly on Larrabee, which Intel calls Larrabee
  native mode.
  --------------------
  CUDAもOpenCLも不要なのが売りす。x86コアなので当然IEEE数値データフォーマット
  わ共通に使えるとのこと。
101MACオタ@ここまで:2008/08/04(月) 17:29:43 ID:S9uVZvt2
Larrabeeのリリースわ2009-2010とのことすけど、2008年中にもサンプルわ配布されるとのことす。
http://www.eweek.com/c/a/Desktops-and-Notebooks/Intel-Details-Larrabee-Processor-Architecture/
  ----------------------------
  The first of the Larrabee chips, which are destined for the
  high-end PCs that use discrete graphics cards, will not arrive
  until 2009 or 2010, although Intel is expected to release samples
  starting in late 2008.
  ----------------------------
来年初頭にわ、評価も聞こえてくる筈ということで。
102Socket774:2008/08/04(月) 17:37:35 ID:yQvLNjma
無駄にぺたぺた貼るな、URLと自分のコメントだけでいいよ
103MACオタ>102 さん:2008/08/04(月) 17:46:38 ID:S9uVZvt2
>>102
  --------------------
  無駄にぺたぺた貼るな、
  --------------------
既に読んで判っていると思うすけど、元記事5ページの大作なんすけど。。。
104Socket774:2008/08/04(月) 17:52:45 ID:hj8A+h94
だからこそだろ
105MACオタ:2008/08/04(月) 18:35:29 ID:S9uVZvt2
Anandわ随分Intelに優遇されていると見えるす。たっぷり資料をもらって書いた大長編の
プレビュー記事わ、こちらす。
http://www.anandtech.com/cpuchipsets/intel/showdoc.aspx?i=3367
でも新味があるのわ、パイプラインステージ数について直接コメント貰ったところ位す
かね。。。5段のオリジナルPentium程じゃ無いけれど、16段のSilverthorneよりはるかに
「短い」とか。
  ------------------------
  Larrabee on the other hand is more Pentium-like to begin with;
  Intel states that Larrabee's execution pipeline is "short" and
  followed up with us by saying that it's closer to the 5-stage
  pipeline of the original Pentium than the 16-stage pipeline of
  Atom.
  ------------------------
106Socket774:2008/08/04(月) 20:13:17 ID:DlnZKmji
[PATCH] Add initial POWER7 support
ttp://sourceware.org/ml/binutils/2008-08/msg00016.html

[PATCH-ppc 0/5] Add feature description for new VSX register set
ttp://sourceware.org/ml/gdb-patches/2008-07/msg00452.html
107MACオタ>106 さん:2008/08/04(月) 20:24:40 ID:S9uVZvt2
>>106
これわスゴいすね。
つまりVSXという128bit x 64のレジスタをサポートする新しい命令セットを定義して、
 PPC ISA: FPRを64個に拡張
 AltiVec: VSXレジスタの上32個を流用
ということすか。
108Socket774:2008/08/04(月) 23:13:30 ID:yQvLNjma
>>103
>>106を見習え
109MACオタ>103 さん:2008/08/04(月) 23:16:30 ID:T1kV/8Us
>>108
この辺のスレッドをお勧めするす。黙々と貼るだけの場所で、ここより居心地が良いと思うす(笑)
http://pc11.2ch.net/test/read.cgi/hard/1158250417/
http://pc11.2ch.net/test/read.cgi/mac/1214461149/

私わ真っ平御免すね。。。
110Socket774:2008/08/04(月) 23:24:43 ID:yQvLNjma
じゃ"------------------------"やめろ
というかお前が消えればおk
111Socket774:2008/08/05(火) 01:30:23 ID:plkcL4Pr
>>110
mjsnyksg
112MACオタ:2008/08/05(火) 05:35:34 ID:B3/DXLLw
POWER7ネタがもう一件。
TheRegisterのPOWER7スクープ (http://www.theregister.co.uk/2008/07/11/ibm_power7_ncsa/)
8-coreという点だけわ、確認が取れたす。ソースわITJungleのRoss Mauriインタビューす。
http://www.itjungle.com/tfh/tfh080408-story01.html
  -------------------------
  TPM: We're not worried about Power7, but we all want to known its shape and feeds and speeds.
     I am just curious because I love the technology inside chips. Can you at least confirm that
     Power7 is an eight-core chip that the chatter is going on about?

  RM: [Laughter] Yes.

  TPM: Yes, you can confirm, or yes, it is an eight-core chip?

  RM: Yes, I can confirm that. But I am not going to get into the frequency and the pipeline depth
     and size of cache and some really cool other stuff that we are doing. And the reason I am
     not going to do that is because I don't want to give our competitors a head's up. We're doing
     really cool stuff in Power7, and there will be a time to talk about that.
  -------------------------
Morgan記者に感謝するす。

113Socket774:2008/08/05(火) 06:08:54 ID:GNW/7r4Q
うざい
114Socket774:2008/08/05(火) 08:10:52 ID:284bqsv7
>>99
用語の解説がなんにもないのではっきりしたことは言えないが、ベクトルユニットはわりと特色があるっぽいな

後藤ちんのポンチ絵を見る限りでは、L1からベクトルレジスタへのパスがないし
115MACオタ>114 さん:2008/08/05(火) 08:26:49 ID:6fM3PztO
>>114
VPUの模式図なら、Anandtechのが良いす。
http://www.anandtech.com/cpuchipsets/intel/showdoc.aspx?i=3367&p=4
116Socket774:2008/08/05(火) 08:27:34 ID:284bqsv7
Vector completeというのはこれだけ読むとアレか、九大ハイパースカラというやつかね
117Socket774:2008/08/05(火) 08:38:08 ID:9t/oqG3j
Power(笑)
ゲーム機用か
IBM製の鯖なんか要らんわ
118MACオタ:2008/08/05(火) 08:45:32 ID:6fM3PztO
有難いことにIntelがSiggraphのLarrabee論文をアップしてくれているす。
http://softwarecommunity.intel.com/UserFiles/en-us/File/larrabee_manycore.pdf
119Socket774:2008/08/05(火) 11:36:17 ID:284bqsv7
>>115
ご丁寧に二箇所とも間違えとるw

諸元を見てびっくりするんだろうけど、なんか保守的でガックリきた
120Socket774:2008/08/05(火) 12:38:06 ID:ZBPD8B9E
マイクロソフトが何を血迷ったのか、XPより重いOS(VISTA)で3D画面表示
だけ重い「MACモドキなGUI」を出したので、インテル入ってるが、超巨大な
2キャッシュ(4M・6M)が無いと、動作速度が遅くなる欠陥品を世に出した。

VISTAは、XPと違い、いつも3Dカードが動作しているので、その
消費電力は馬鹿にならない。エコとは、逆のOSである。

無意味なことにCPUを食うというのはおかしい!と思う今日このごろ。
121Socket774:2008/08/05(火) 14:24:51 ID:WcFs3GI+
>>120
意味不明 日本語勉強し直せ

適当に流し読みして、MSがCompiz並に派手な3Dデスクトップ for Vistaを出したのかと
wktkしてしまったではないか!どうしてくれる
122Socket774:2008/08/05(火) 14:58:26 ID:ZBPD8B9E
XPでは、プログラムをロードした後「230MB」であったので「512MB」あれば、
動作可能であり、1GBあれば快適であった。

しかし、VISTAでは、プログラムをロードした後「800MB」であったので、
「1GB」あれば動作可能であり「2G」ないと動作が重い感じがする。

つまり、VISTAにしたことにより、メモリの増設は必要になり資源の無駄
と思った今日このごろ。
123Socket774:2008/08/05(火) 19:03:05 ID:6q0/W1mw
まあメモリがあったらあったで
SuperFetchとかいうアホ機能がディスク中の実行ファイルを片っ端から
無駄にメモリにロードする時間が長くなるんだがな
124Socket774:2008/08/05(火) 19:58:55 ID:eyRT4/70
OS重くしないとCPU売れないよ  by intel
125Socket774:2008/08/05(火) 21:12:48 ID:vCPUvola

IDに CPU が出たので記念パピコ
 
126Socket774:2008/08/05(火) 21:14:34 ID:ZBPD8B9E
WIN95より前の使えないOS

>Windows3.1では、プログラムをロードした後「4MB」であったので「8MB」あれば、
>動作可能であり、16MBあれば快適であった。

WIN98系から、NT系になり堅牢な設計と格段に進化
>しかし、XPでは、プログラムをロードした後「230MB」であったので、
>「512MB」あれば動作可能であり「1G」ないと動作が重い感じがする。

XPと同じ基本設計
>しかし、VISTAでは、プログラムをロードした後「800MB」であったので、
>「1GB」あれば動作可能であり「2G」ないと動作が重い感じがする。

さほど意味の無いことにマシンパワーを食うというのは如何なものかと思います。
127Socket774:2008/08/06(水) 00:24:18 ID:Kd/lFEY/
>>120
MACオタ共々巣に帰れ
128Socket774:2008/08/06(水) 00:47:23 ID:1TXTACEx
ゲハ厨はしつこいのだけが取り柄ですから無理ですね。
129MACオタ:2008/08/06(水) 23:05:39 ID:oIFkVwAh
Larrabeeすけど、牧野教授がこんなこと書いているす。
http://grape.mtk.nao.ac.jp/~makino/journal/journal-2008-08.html#4
  -------------------
  16-way SIMD で512 bit-wide なレジスタファイルにするならやはりポート数は減らすわけで、falu は
  FMAにして 1R1W とかかなあ? 16-wide で vector permute 命令なんてやってられないわけで。
  -------------------
思うにLarrabeeわ8-bitや16-bit整数を強制的に符号拡張してレジスタにロードする機構が備わっている
("Numeric Convert"ユニット)すから、vector permuteの粒度わ常に32-bitす。8-bit x 16をサポートする
permuteユニットと32-bit x 16をサポートするpermuteユニットって、それほど規模わ変わらないんじゃ
無いすかね?
130MACオタ:2008/08/07(木) 00:08:26 ID:SJ4Kf0pq
>>129
引き続きLarrabeeの話すけど、>>118の論文を読んでゆっくり考えてみたす。
結局Larrabeeわ、CELL/BEとNiagaraを詳細に研究して良いとこ取りを狙ったモノに見えるす。
ただ結果として仕様を盛りこみ過ぎているような感じが拭えないす。設計上の妥協って各コアの
クロックが比較的低い(論文中の例で1GHz)ところ位じゃないすか?

何となく、下記のような展開が裏にあるような気がしてきたすけど、どうなんすかね。。。

   良いとこ取りの全部入りで設計
 -> 結果的に消費電力大、スケーラビリティの限界も常識的範囲
 -> GPUだと競合他社も爆熱だし、典型的にTLPが保障された計算対象だな。
 -> じゃGPUで売り出そう
131Socket774:2008/08/07(木) 00:18:56 ID:kmIk49YR
>>129
Larabeeのベクトルレジスタファイルは4R1Wの5ポートに見えるし、
上のどれかの資料に3ソースオペランド命令だと書いてあったので、
FALUはFMAだと思う

permuteユニットは配線の都合上、8bit->32bit単純に規模は4倍というわけにはいかない

ひょっとしたら上の二つは倍クロックで動かす、なんてこともありうるかもしれない
132MACオタ:2008/08/07(木) 00:30:05 ID:SJ4Kf0pq
一方CELL/BEで経験を積んだIBMの方わ。。。というと>>106のVSXレジスタの仕様わ、明らかに
CELL SPEの統合レジスタを取り入れたモノす。
タイミングが最も重要なユニットを上手にケチることで、性能と低消費電力を両立させる模様す。
FPとベクトルのアーキテクチャレジスタを一気に2倍の64個にした。。。というのもCELL/BE、POWER6
とインオーダー型高性能プロセッサを設計した経験が生かされている模様す。

流石にCELL SPEと違って整数レジスタまで統合しなかったのも、何らかの反省が含まれているすかね。
133Socket774:2008/08/07(木) 00:30:23 ID:hBhYko4P
昔の後藤記事でCPU以上の高クロックになるとか書いてあったけど
実際は1GHz程度なの?
134MACオタ>131 さん:2008/08/07(木) 00:34:45 ID:SJ4Kf0pq
>>131
  --------------------
  permuteユニットは配線の都合上、8bit->32bit単純に規模は4倍というわけにはいかない
  --------------------
512-bit幅のレジスタを8bit x 64としてvector permuteするのに比べると、桁違いに単純にわ
なる。。。というだけの話す。
初代AltiVec搭載のPowerPC 7400わ220nmプロセスで登場したことを考えると、特に大きな
問題わ無いように見えるす。
135MACオタ>133 さん:2008/08/07(木) 00:36:19 ID:SJ4Kf0pq
>>133
1GHzが本当かどうかわ別にして、ショートパイプラインを謳っているすから、クロックが高くないのわ
確定す。
136Socket774:2008/08/07(木) 01:45:09 ID:kmIk49YR
>>134
permuteユニットはクロスバースイッチみたいなものだと思っておけばいい

8bit x 64のpermuteと、32bit x 16のpermuteでは、
どちらにしても512bit x 512bitのスイッチが必要で、配線もあわせるとかなりでかい

スイッチの制御は6bitのデコーダー64個と、4bitのデコーダー16個の違いしかない

けっきょく規模は、8bit x 16 <<< 32bit x 16 < 8bit x 64といったところ
137MACオタ>136 さん:2008/08/07(木) 01:55:39 ID:SJ4Kf0pq
>>136
指数的なレベルで計算間違っていると思うすけど。。。
138Socket774:2008/08/07(木) 01:58:39 ID:kmIk49YR
>>137
どこが?
139Socket774:2008/08/07(木) 16:20:26 ID:dMP8f1Ty
>>136はちょっと微妙かなぁ。6bitの制御シグナルを64セット供給する
のって結構大変だと思うぞ。

「512bit x 512bit」は配線についてのみ言えば正しいが、配線ネックだろ
うから、まあ、いいか。
140Socket774:2008/08/07(木) 17:04:28 ID:kmIk49YR
>>139
> >>136はちょっと微妙かなぁ。6bitの制御シグナルを64セット供給する
> のって結構大変だと思うぞ。

わしもそう思う

> 「512bit x 512bit」は配線についてのみ言えば正しいが、配線ネックだろ
> うから、まあ、いいか。

permuteユニットの場合は8bitや32bit単位のスイッチングをすればいいわけだけど、
ロジック自体はたぶんデータ1bitと制御1bitのANDを取っているだけだから、
規模ではあまり考えなくていいんじゃないかと思う

おおむね、8bit x 64と32bit x 16のpermuteユニットは、規模では2〜4倍くらいの違いじゃないかと思う
141MACオタ>136 さん:2008/08/07(木) 22:02:25 ID:SJ4Kf0pq
>>138
  -------
  どこが?
  -------
x 512っていうのわ、各ビットの転送先が512通りあるから成り立つ話す。
permuteユニットの場合、16-way SIMDなら各ビットの転送先わ16通りしか無い(MSBなら各データの
MSBに向けてしかコピーされない)ことに注意すべきす。

もちろんpermuteユニットの回路規模の話わ>>139さんが書いているように配線がネックす。
142Socket774:2008/08/07(木) 22:11:05 ID:kmIk49YR
>>141
ああ、いちゃもんつけるだけつけといて、後で他人の褌でなんとやらというやつか

それよりも重大な抜け落ちがあるんだけど気付かなかったようだね
143MACオタ>142 さん:2008/08/07(木) 22:18:01 ID:SJ4Kf0pq
>>142
最初の3行で桁違いな勘違いをしているヒトの文章を精読しろと要求するすか(笑)
144Socket774:2008/08/07(木) 22:21:41 ID:kmIk49YR
>>143
>>137の時点で>>142の指摘をしろです

で、>>136にはうっかり重大な抜け落ちがあるんだけど、キミにわかるかい?
145Socket774:2008/08/07(木) 22:23:46 ID:kmIk49YR
>>144
>>137の時点で>>141の指摘をしろです、だ
146MACオタ>145 さん:2008/08/07(木) 22:27:13 ID:SJ4Kf0pq
>>145
確かに勿体をつけるのわ、私の流儀じゃ無かったす。その点わ失礼したす。
147Socket774:2008/08/07(木) 22:37:34 ID:5RnQ53X1
「私の流儀」って・・・
ここは邪気眼スレじゃねーぞww
148MACオタ:2008/08/07(木) 22:54:11 ID:SJ4Kf0pq
IntelやTSMCが好調な反面、ボリュームが出ない半導体製造企業わ色々とヤバそうす。
IBMの半導体部門も、先日のリストラに加えて10%の賃下げとか。。。
http://www.recordonline.com/apps/pbcs.dll/article?AID=/20080806/BIZ/80806024
  -------------------------
  ARMONK ― One month after signing a job retention deal with New York, IBM said today it
  will cut the pay of 3,500 workers at their East Fishkill, Poughkeepsie and Vermont operations.
  -------------------------
149MACオタ:2008/08/07(木) 23:09:11 ID:SJ4Kf0pq
周知のニュースとわ思うすけど、Nvidiaが乏しい資金をはたいてTransmetaからLong Runのライセンス
を受けたとのことす。
http://pc.watch.impress.co.jp/docs/2008/0807/transmeta.htm
Larrabee登場までにGPUの電力効率改善が果たせるか、楽しみな話す。
150Socket774:2008/08/07(木) 23:27:29 ID:mTs0GVHe
Tegra等の携帯機器向けプロセッサのためだよ
いちゃもんつけられる前にあぶく銭渡しとく
151Socket774:2008/08/07(木) 23:46:20 ID:TI3BsLKD
Qosmio G50新兵器、SpursEngineがスゴすぎる件
http://ascii.jp/elem/000/000/157/157525/
152Socket774:2008/08/08(金) 03:34:33 ID:b211HabC
>151
コストその他問題もあるんだろうけど、どうせならcellをちゃんと積んでほしかった
153Socket774:2008/08/08(金) 08:40:31 ID:I2OZ9IJZ
cellの応用はソニーが一番旺盛だったのに実際にやったのはIBMと東芝だなんてw
154Socket774:2008/08/08(金) 13:10:57 ID:FlSIL5Vs
>>141
バイトごとのデータパスがたて並びだとして、横方向の配線が何本必要か
考えてごらんよ。
>>149
2500Mかぁ、トラメタの技術は微妙だけど、これぐらいのお小遣い程度の
金額だったら安心料としていいかもね。
155Socket774:2008/08/08(金) 15:59:12 ID:awYMWIUz
>>126
次期OSはCPUの64bit化や8コア、16コア、グラボのSLI推進のため相当重いOSが来るぞ。
156Socket774:2008/08/08(金) 21:30:05 ID:V/QHupg+
Windowsがアホみたいに重いのを延々と続けるつもりなら、モバイル系はLinuxに全部明け渡してくれや
157Socket774:2008/08/10(日) 02:53:17 ID:qcukRHOP
158Socket774:2008/08/10(日) 19:17:55 ID:KDnK1sHc
>>152
というか、パソコンの画面サイズで必要な機能(アップコンバート、etc)を
実現するのに、必要充分な数にしただけって事でしょ。

3Dゲーム用にはこのエンジンを使ってないみたいだし。
159Socket774:2008/08/11(月) 01:44:01 ID:W6eMSj/M
安藤さんいろいろ勘違いしてるぽいな
160Socket774:2008/08/11(月) 17:15:28 ID:FuepZYRw
>>144
スイッチマトリックスからの出力をまとめるのに64入力のORが必要で
これが512本あるからリソース的にはおそらくクリティカルなんだが、その見積もりをしていなかった
昭和生まれのおにいちゃんはこういうマトリックスを見るとついワイヤードORと決めてかかるんだよね

制御シグナルは4096本で多いと言えば多いが、
データパスとは干渉しないからあんまりクリティカルではないと思う


というわけでMACオタ先生のツッコミが頂けなくて残念です
161,,・´∀`・,,)っ-○●◎:2008/08/11(月) 21:54:21 ID:y6R1bzbl
8ビット×256くらいあればAESのS-Box 1段がハード実装できます。
162,,・´∀`・,,)っ-○●◎:2008/08/11(月) 22:48:00 ID:y6R1bzbl
>>157
やっぱり所詮SPARCアーキ以外の知識は凡人クラスか
163,,・´∀`・,,)っ-○●◎:2008/08/12(火) 00:46:42 ID:0tCYd3Td
関係ないけど後藤の記事のスクラップで論文もどきでっち上げるトンデモ大学発見↓
http://mikilab.doshisha.ac.jp/dia/research/report/2008/1212/001/report20081212001.html
164Socket774:2008/08/12(火) 01:57:59 ID:eWVDcPz2
大学のレベルから考えれば卒論はそんなもんでしょ。
論文書いた子は知的照明グループに入ってるようだけど、多分何もできなくて、
しょうがないから適当にでっち上げた代物で卒業させてあげたんでしょ。

と、瞬間的にここまで思ったけど5月10日じゃそんなはずはないわなぁ。
こんなもん論文のくくりに入れたらいかんね。輪講資料未満。
165Socket774:2008/08/12(火) 02:11:42 ID:IZjk21Rx
これ論文じゃなくてまわりもちで書いてるレポートじゃないの。
166Socket774:2008/08/12(火) 02:30:31 ID:BguaIQFS
167Socket774:2008/08/12(火) 22:50:52 ID:4Nn/BJMu
どんなレポートなのかは↓ここに書いてある気がする

http://mikilab.doshisha.ac.jp/dia/research/report/report_sample/report20040407099.html
168Socket774:2008/08/12(火) 23:02:16 ID:IZjk21Rx
とりあえず>>164は同志社大学の学生さんにあやまったほうがいいな(笑
169MACオタ:2008/08/13(水) 12:29:22 ID:KxWrfxH6
去年のSIGGRAPHで発表された、CELL/BE + RSXのグラフィックワークステーション"BCU-100"
すけど、SIGGRAPH2008でTerra softがYDLでサポートすることを発表したす。
http://www.terrasoftsolutions.com/news/2008/2008-08-12.shtml
  ---------------------------
  Over the course of the past year, Terra Soft worked closely with
  Sony to develop a version of the Yellow Dog Linux operating system
  specifically for the Sony BCU-100. This board support package (BSP)
  provides end users with a best-of-class, high performance Linux
  OS that seamlessly blends ease of installation with the Cell/B.E.
  SDK with full 3D support for the on-board RSX GPU.
  ---------------------------
これでハイパーバイザの壁さえ破れば、RSXの使い方自体わPS3 Linuxにも流用可能
ということかと思われるす。
参考までに去年のリリースすも書いておくす。
http://news.sel.sony.com/en/press_room/b2b/broadcast_production/display_systems/release/31008.html
170Socket774:2008/08/14(木) 07:18:59 ID:pEE4BYGk
いいかげんにしろや、ぼけ!
171Socket774:2008/08/15(金) 18:17:20 ID:7L55mMoA
アーキテクチャ業界もネタ切れか
ISCAも地味な論文ばっかりだ
172MACオタ:2008/08/15(金) 20:22:33 ID:x/mQJXmI
ReadWorldTech掲示板でTheINQのCharlie "Groo" Demerjianがx86デコードのオーバーヘッドについて
IntelのPat Gelsingerから聞いたという話を開陳しているす。
http://www.realworldtech.com/forums/index.cfm?action=detail&id=92556&threadid=92525&roomid=2
  ---------------------
  I directly asked Pat Gelsinger what the decode overhead was for similar performance on x86 vs
  ARM about 2 years ago. He said, in many uncertain terms, that it was within the range of 0-50%
  power use, basically you take a 25% extra power hit.
  The way it was worded was roughly "at 200%, it wouldn't be worth it, 150%, it would be tough,
  100% perfect, and we think we can do it."

  It sounded like they did some very extensive modeling of the power costs, and that lead them to
  dump the ARM division. :) You will recall that they had a very good ARM division a few years ago,
  so they knew exactly what it would take to compete.
  ---------------------
25-50%の電力効率の不利をIntelの技術でなんとかする。。。ということの様す。
173MACオタ:2008/08/15(金) 23:44:52 ID:x/mQJXmI
IBMのハイエンドPOWER6サーバー、Power595のレッドブックが公開されたす。
http://www.redbooks.ibm.com/redpapers/pdfs/redp4440.pdf
文中でわPOWER6のパッケージわMCMと表記しているものの、Figure 2-30にあるようにプロセッサ
のダイわ一つで残りわL3キャッシュす。POWER4/POWER5のような大規模MCM
(http://journal.mycom.co.jp/news/2006/07/26/342.html)とわ大違いの廉価版をUNIXサーバーの
ハイエンドに持ってきた。。。ということになるす。
ローエンドのL3外付けチップわ別にして、ミドル以上で部品共通化を図っているすね。

ついでに見つけたPower 595の内部写真す。
http://server.ccw.com.cn/jssc/htm2008/20080416_408358.shtml
174MACオタ:2008/08/16(土) 22:52:28 ID:ahwTntRl
>>169の1U Cell/B.E.サーバー、BCU-100のムービー付プレスリリースす。
http://www.sony.co.jp/SonyInfo/News/Press/200808/08-095/index.html
  ----------------------
  “ZEGO” コンピューティングユニット『BCU-100』の特長
   (1)高 速 処 理 化:
     ・Cell/B.E.による230GFLOPSの高速処理と、RSX?による高速グラフィックス処理を実現。
     ・高速メモリーXDR^(TM)のオンボード搭載。
  (2)小型化:19インチラックの1U(ユニット)に収まるサイズで、省スペース化を実現。
  (3)低消費電力化:高い演算性能を有しながら、消費電力330W以下を実現。
  ----------------------
175MACオタ@補足:2008/08/16(土) 23:10:59 ID:ahwTntRl
ムービーの方を見ると、搭載されているXDRわ10個でECC付1GBということになるす。
参考画像わ同じくプロセッサあたり1GBのECC XDRを搭載したCELLブレード、BladeCenter QS21す。
http://content.zdnet.com/2347-9595_22-20212-20213.html?seq=1
176Socket774:2008/08/17(日) 01:09:56 ID:2Q1dlEHi
ソニーの道楽か知らんが今更誰が買うの、これ。
177Socket774:2008/08/17(日) 03:39:46 ID:y5+3oU1f
もう1チップ化したのか
早いな
178Socket774:2008/08/17(日) 08:59:01 ID:4UlloPYf
MACオタ、貼り方気をつけろって言ってんだろ
いい加減学習するか、どっかいけよ
179MACオタ:2008/08/17(日) 09:45:30 ID:Zsenu7UF
東京天文台の牧野教授が、このリリースにいたく感銘を受けたらしく、『スーパーコンピューティングの
将来』を更新しているす。
eASIC社のリリース: http://www.easic.com/index.php?p=releasdetail&IdReleas=187
http://grape.mtk.nao.ac.jp/~makino/articles/future_sc/note066.html
  -----------------------
  フルカスタムのチップに比べると、面積効率では 5-8倍程度悪いことになります。消費電力への
  インパクトが同じ程度だと結構大変ですが、そこがそれほど大きくなければ初期コストの違いの
  ほうが開発プロジェクトにははるかに重要です。例えば GRAPE-6 程度に完全に専用化した
  プロセッサを開発することも現実的な話になるわけです。机上の計算では GRAPE-6 チップに
  比べると 10-15倍程度の回路規模になるので、動作クロックが5倍とすれば性能は 50-70倍で、
  1.5-2 Tflops 程度です。消費電力は GPU のように 300W とかいうことはないわけですから、
  かなり競争力があるものになります。
  -----------------------
この手の製品やファウンダリ企業の技術革新で、アーキテクチャ勝負のファブレス企業が現れて
来るのわ楽しみなことだと思われるす。
180Socket774:2008/08/17(日) 11:02:23 ID:wME5LvSC
>177
まだみたいだけど
181,,・´∀`・,,)っ-○●◎:2008/08/17(日) 11:52:53 ID:s6626r8s
>>165
そうは思ったんだけど、同じ研究室でちゃんと自分でやった
実験結果書いて綺麗にまとめてる学生もいるんだよね。
某HGの母校(笑)だけに一目置いてたが、こうも取り組み方の違いって出るもんだな。


#いや、今更Cellは無いだろ。。。
182MACオタ>団子 さん:2008/08/17(日) 12:07:47 ID:Zsenu7UF
>>181
  ---------------
  #いや、今更Cellは無いだろ。。。
  ---------------
相変わらず視野が狭いすね(笑)
LarrabeeもCELL/B.E.向けコードを参考にして、真面目にキャッシュ制御命令を駆使しないと
悲惨なスケーラビリティになるすよ。
183,,・´∀`・,,)っ-○●◎:2008/08/17(日) 12:14:39 ID:s6626r8s
MFCによるDMA(笑)をどう参考にするの?
あれそもそもキャッシュじゃないじゃん。

そもそも、Cellに続いてLS採用したマルチコアなんて一つでもあったっけ?
184MACオタ>団子 さん:2008/08/17(日) 12:18:48 ID:Zsenu7UF
>>183
  --------------
  MFCによるDMA(笑)をどう参考にするの?
  --------------
設計段階でメモリブロックごとに、何をキャッシュに残し、何をストリーミングアクセスするか細かく
設定する手間わMFCプログラミングと変わらないす。
185,,・´∀`・,,)っ-○●◎:2008/08/17(日) 12:31:55 ID:s6626r8s
え?
それひょっとしてPentium III時代からあるプリフェッチとノンテンポラルストアの話のこといってるの?
明示的コヒーレント制御とまったく関係ないんすけど。。。

>設定する手間わMFCプログラミングと変わらないす。

全然的外れ。
たとえばメインメモリからオンダイSRAMに先行ロードするにしても
prefetch*とspu_dmaじゃ全然勝手が違う。


プログラム側から見て常に仮想メモリを操作するアーキテクチャ(IAなど)
でのキャッシュコヒーレントを明示的にコントロールするために、

そもそもメモリ空間が独立だからコヒーレント制御しなくていい変態
アーキテクチャでのコーディングをどう参考になるのかって聞いたんですけど
話を逸らさないでいただきたいですな。
潰しが利かないテクニックなんて覚えてもしょうがないんですが。
186MACオタ@補足:2008/08/17(日) 12:32:48 ID:Zsenu7UF
Larrabee論文の共著者でもあるPat Hanrahan教授の研究室がCELL/B.E.に関してどういう仕事を
しているか調べてみることをお勧めするす。

Sequoia。。。
187Socket774:2008/08/17(日) 12:43:54 ID:3bG9LTxD
相変わらずプログラミングのに首突っ込むと話をそらすことしかできなくなるMACヲタw
188,,・´∀`・,,)っ-○●◎:2008/08/17(日) 12:47:49 ID:s6626r8s
たとえば
複数のコアでメインメモリ上からキャッシュ上にLUTをロードするとする。

キャッシュ型アーキテクチャ(要するにCell以外のすべて)は、
複数のスレッドで同じメモリ空間をロードすれば、MESIでいうところの「Shared」になる。
パフォーマンス低下を防ぐなら、必要な分だけコピーを作って別々のアドレス空間に
割り付けておく必要がある。
あるいはLarrabeeはそのへんの制御を明示的に抑制できるんかな?

SPUは自動的なコヒーレント制御はしないからそもそも小細工しなくていい。
むしろSPUがネイティブにリニアアドレッシングできるメモリ空間が狭いなど、別のところで面倒。
うん、全然求められるスキルが違うな。
189MACオタ>団子 さん:2008/08/17(日) 12:59:57 ID:Zsenu7UF
>>188
  -------------------
  あるいはLarrabeeはそのへんの制御を明示的に抑制できるんかな?
  -------------------
アドレスの属性を制御するのか?64-bitアドレシングを生かしてL2の一部を別のメモリ空間に
割り当てるのか。。。
  -------------------
  全然求められるスキルが違うな。
  -------------------
スキル=人力コンパイラとしか考えられないすか(笑)
190,,・´∀`・,,)っ-○●◎:2008/08/17(日) 13:08:39 ID:s6626r8s
命令間のレイテンシ隠蔽のための方策も全然違う。
4Wayのマルチスレッドによりプログラム側から見たレイテンシを小さくしたのがLarrabee
片ややたら多いレジスタを駆使して同じ命令を並べるだけ(LSいくらあっても足りない)

何より未だにCellSDKのコンパイラがウンコなのはみんなわかってるって。
191MACオタ>団子 さん:2008/08/17(日) 13:15:36 ID:Zsenu7UF
>>190
  ---------------
  命令間のレイテンシ隠蔽のための方策も全然違う。
  4Wayのマルチスレッドによりプログラム側から見たレイテンシを小さくしたのがLarrabee
  ---------------
4-wayマルチスレッドわロード・ストアの隠蔽だと思われるす。
ショートパイプラインが売り(多分クロックわ低め)すから、命令レイテンシわ隠蔽するまでもなく
小さいんじゃないすかね。
レジスタわ少なそうすから、後続命令への演算結果のフォワーディングがCell/B.E.より重要になるし。。。
192,,・´∀`・,,)っ-○●◎:2008/08/17(日) 13:24:43 ID:s6626r8s
>ショートパイプラインが売り(多分クロックわ低め)すから、命令レイテンシわ隠蔽するまでもなく
>小さいんじゃないすかね。

あらら、お気の毒様
浮動小数演算のレイテンシがどんだけ大きいか考えたことないのね。
x86でもそんな変わらんのよ。

まあCellのは特に大きいほうだと思うけど。


x86の場合はレジスタ多くないからインオーダパイプラインで隠蔽しきれるレベルじゃないね。
加算や乗算で3クロックとか5クロックとかかかってたら8本ないし16本の論理SIMDレジスタで
どうインターリーブするか頭を悩ませることになる
が、見た目のレイテンシが1/4になるなら圧倒的に楽になる。
193Socket774:2008/08/17(日) 13:41:18 ID:kp2MnTOE
>>188
> パフォーマンス低下を防ぐなら、必要な分だけコピーを作って別々のアドレス空間に
> 割り付けておく必要がある。

LUTなら読み出し専用だろ?
Sharedになっても性能落ちないよ

更新もされるテーブルなら、性能低下は仕方ない
Cellだと…ちょっと考えたくないな、集中管理したほうがマシだろうな
194,,・´∀`・,,)っ-○●◎:2008/08/17(日) 13:58:45 ID:s6626r8s
>>193
まあ書き込み前提のテーブルならまた別の意味で設計を変える必要があるけどなー

あと、資料を読み間違ってなければLarrabeeのキャッシュって、L2は全体で
共有するので、遠い部分はリングバス経由でアクセスすることになると思ってるんだが
そーなるとなるべくリングバス使わないほうが速いよな?

キャッシュ容量少ないので、各L2断片ごとに置いて4コア16スレッドで共用するのが理想か。
いずれにしてもccNUMAみたいな最適化が必要になる。

LarrabeeにもおそらくmovntdqaみたいなL1をバイパスしてロードする命令が
あると思うんだが

195,,・´∀`・,,)っ-○●◎:2008/08/17(日) 14:04:51 ID:s6626r8s
もっかい読み直した。1コア4スレッドあたりで256KBか。
ここ訂正しとく

> 4コア16スレッドで共用
→1コア4スレッドで共用
196MACオタ>団子 さん:2008/08/17(日) 14:33:04 ID:Zsenu7UF
>>192
  ---------------------
  浮動小数演算のレイテンシがどんだけ大きいか考えたことないのね。
  ---------------------
まさか除算を愚直に行うコードでも書いているすか(笑)
仮にオリジナルのPentium Classicと同じだとするとパイプライン段数わ+2す。
ftp://download.intel.com/design/PentiumII/manuals/24281603.PDF (page 2-4参照)
197MACオタ@補足:2008/08/17(日) 14:38:42 ID:Zsenu7UF
>>192すけど、上の突っ込み以前の問題として
  -------------------
  が、見た目のレイテンシが1/4になるなら圧倒的に楽になる。
  -------------------
これ大間違いのような気がするすけど。アンコアのレイテンシわ隠蔽されてもパイプライン内の
レイテンシをMTで隠蔽するのわ無理でわ?
198,,・´∀`・,,)っ-○●◎:2008/08/17(日) 14:50:42 ID:s6626r8s
はい?
4クロックサイクルでローテーションするならどう考えてもレイテンシは大幅に隠蔽できるぞ
もちろんスレッドごとにレジスタファイルを用意する(AtomでもそうやってるしたしかCellのPPEも)


たとえばこんなコードをインオーダで実行すると

addps xmm3, xmm4
subps xmm3, xmm2 ←addpsは3クロックのレイテンシだから、あと2クロック待たないといけない。

しかし4スレッドでインターリーブすれば、順番回ってきたときにはレイテンシ埋まってる。
積和算で8クロックのレイテンシと仮定しても、1スレッドあたりでは2並列のインターリーブで事足りる。
はい、馬鹿でもわかる解説終わり。

えーと、それとも頭が悪いようで?
199,,・´∀`・,,)っ-○●◎:2008/08/17(日) 14:57:22 ID:s6626r8s
断っておくと俺の言ってる命令間のレイテンシってのはデスティネーションに指定したレジスタが
後続の命令でソースとして再利用可能になるまでのクロック数のことだよ。
Intelは整数は伝統的に基本1クロックで済むようにしてるが浮動小数はどんなアーキテクチャでも長い。
200,,・´∀`・,,)っ-○●◎:2008/08/17(日) 15:17:18 ID:s6626r8s

威勢よかったのに返答が無いのは、Google先生に教えてもらってる最中なのか逃げたのかどっちなんだよ

201,,・´∀`・,,)っ-○●◎:2008/08/17(日) 15:53:16 ID:s6626r8s
おーい、まだー?
ひまー(笑)


> アンコアのレイテンシわ隠蔽されてもパイプライン内の
> レイテンシをMTで隠蔽するのわ無理でわ?

この謎の発言の真相はこうかな
「スレッドの実行が切り替わるタイミングわ、Itaniumのようにキャッシュミスしたときだけす(笑)」

→そんなんで4スレッドも用意する必要ないだろ

FGMTと考えるのが自然だし、いつぞの資料のL1がレイテンシ1(←!), L2が10っていう怪しい数字も、
4で割った値とすれば辻褄が合うんだが


あとClassic Pentiumまでは必ずしもパイプラインの1ステージ=1クロックではなかったな。
それに当時は平均命令長も短かったし。
2GHz前後で動作し3〜4オペランドのSIMD命令を等速で実行となれば、パイプラインに大幅に手は入るだろう。
Cellもふた開けてみるまでパイプライン何十段もあるなんて思わんかったしな
202Socket774:2008/08/17(日) 16:18:53 ID:Xh2Cfp+q
AtomがFGMTとか言ってるオタさんはそこら辺よくわかってません。
203Socket774:2008/08/17(日) 16:21:45 ID:kp2MnTOE
はしゃいでるところを申し分けないが、
Larabeeのコアのスレッドわソフトウェアで切り替えす

> Switching threads covers cases where the compiler is unable to schedule code without stalls.
> Switching threads also covers part of the latency to load from the L2 cache to the L1 cache,
> for those cases when data cannot be prefetched into the L1 cache in advance.
> Cache use is more effective when multiple threads running on the same core use the same dataset,
> e.g. rendering triangles to the same tile.

あとL1をスルーしてデータを取ってくる命令はないみたい。
読みこんだL1を次のパージの候補にする命令はある。

おまけに、ベクトルレジスタはどうもスレッド間で共有するような雰囲気があるぞ。
204MACオタ>団子 さん:2008/08/17(日) 16:23:15 ID:Zsenu7UF
>>198
  ----------------
  しかし4スレッドでインターリーブすれば、順番回ってきたときにはレイテンシ埋まってる。
  ----------------
それパイプライン化された命令限定す。
長レイテンシの命令を隠蔽するんじゃ無かったすか?加減算だけなら浮動小数点でもシングルサイクル
で終わるかと思うす。
>>199
  ----------------
  デスティネーションに指定したレジスタが後続の命令でソースとして再利用可能になる
  ----------------
レジスタのリード・ライトに関係無く、フォワーディングネットワーク経由で利用可能になると思われるす。
205Socket774:2008/08/17(日) 16:25:26 ID:kp2MnTOE
上のがインテルの論文のやつ

ほかの記事に、コンパイラがストールしそうなところにスレッド切り替え命令を挿入すると書いてあったよ
206,,・´∀`・,,)っ-○●◎:2008/08/17(日) 16:26:17 ID:s6626r8s
>>203
ソフトウェアでってのがよくわかめ。
スレッド自身で他のスレッドに切り替えるの?

つーかURLplz
207,,・´∀`・,,)っ-○●◎:2008/08/17(日) 16:27:50 ID:s6626r8s
>>204
> 長レイテンシの命令を隠蔽するんじゃ無かったすか?加減算だけなら浮動小数点でもシングルサイクル
> で終わるかと思うす。

バロスwwwwww
スループット1をレイテンシ1だと思ってますなwwwww
208Socket774:2008/08/17(日) 16:28:33 ID:kp2MnTOE
>>206
http://softwarecommunity.intel.com/UserFiles/en-us/File/larrabee_manycore.pdf

> スレッド自身で他のスレッドに切り替えるの?

そそ
209MACオタ@補足:2008/08/17(日) 16:31:54 ID:Zsenu7UF
>>201
  --------------------
  この謎の発言の真相はこうかな
  --------------------
何を思いついて嬉しがっているのか良く分からないすけど、除算や平方根のようなFPの長レイテンシ
命令わ、内部で回帰計算を行う必要があるす。
特別にパイプライン化でもできない限り、MTで実効レイテンシが埋められるとも思えないすけど。。。
210Socket774:2008/08/17(日) 16:33:52 ID:kp2MnTOE
>>209
△除算や平方根のようなFPの長レイテンシ命令わ
○除算や平方根のような低スループット命令は
211,,・´∀`・,,)っ-○●◎:2008/08/17(日) 16:34:07 ID:s6626r8s
スループットサイクルとレイテンシサイクルを混同してる子と話をするのは無理だと思うんだが

>>208
てかおもっきしダウンロード済みのpdfだった
思うにFGMTと併用できない技術でもないんだが、逆に明示的なスレッド切り替えだけでしか
スイッチしないとか書いてある箇所ある?
212Socket774:2008/08/17(日) 16:40:59 ID:kp2MnTOE
>>211
> 思うにFGMTと併用できない技術でもないんだが、逆に明示的なスレッド切り替えだけでしか
> スイッチしないとか書いてある箇所ある?

ない
けどFGMT動作はナンセンスだと思うよ
FGMTでは平均的なレイテンシ削減にはなるけど、がっつりスケジューリングするには不向き
213MACオタ>団子 さん:2008/08/17(日) 16:46:04 ID:Zsenu7UF
>>207
  ------------------
  スループット1をレイテンシ1だと思ってますなwwwww
  ------------------
古いコアデザインが回帰しているということで、PowerPC G4あたりのマニュアルでもどうぞ。
FMAをやるから加算のみでも1を乗ずる分余計にサイクルがかかるだけで、シングルステージ
で加算を行うす。
http://www.freescale.com/files/32bit/doc/ref_manual/MPC7410UM.pdf (Figure 6-3参照)
ところで、これのソースがあるならお願いするす。
>>201
  ------------------
  あとClassic Pentiumまでは必ずしもパイプラインの1ステージ=1クロックではなかったな。
  ------------------
214MACオタ>210 さん:2008/08/17(日) 16:53:18 ID:Zsenu7UF
>>210
  -----------------
  ○除算や平方根のような低スループット命令は
  -----------------
ベクトルデータを対象とするなら、パイプライン版除算ライブラリわ存在するすけど。。。  
215MACオタ@補足:2008/08/17(日) 16:57:37 ID:Zsenu7UF
ソフトウェアパイプライン版除算の例す。
http://www.cs.ualberta.ca/~amaral/cascon/CDP05/slides/CDP05-enenkel.pdf
216Socket774:2008/08/17(日) 16:59:24 ID:kp2MnTOE
>>213
Pentiumは知らんのだが、80486のようにfully pipelinedでないものは、たとえばデコードステージに複数クロックかかる場合もある

>>214
痛々しいからこれ以上恥の上塗りをするのはやめて
217,,・´∀`・,,)っ:2008/08/17(日) 17:06:27 ID:C0ppS6h9
>>213
それ、クロックレンジまでおもっきし回帰するんだが。
FP積和で4clkは流石だったがパイプライン段数を11段に増やした7450ですら
2GHzすら越えた実績がない。

Intelに限ればATOMでも単精度命令のレイテンシは3以上。
218MACオタ:2008/08/17(日) 17:16:04 ID:Zsenu7UF
>>216 さん
  ---------------------
  Pentiumは知らんのだが、80486のようにfully pipelinedでないものは、たとえばデコード
  ステージに複数クロックかかる場合もある
  ---------------------
論理回路と模式図を同一視するのわ間違いす。CISCわ、そもそも命令をシングルサイクルで
実行するという考えじゃ無いす。

>>217 団子 さん
Silverthorneわ十分ロングパイプラインに分類されるコアかと。
それからe600系が2GHzの製品が無いのわ、デスクトッププロセッサ市場から撤退したという
理由だけす。
219Socket774:2008/08/17(日) 17:23:50 ID:6rX5iNcb
加減算後の正規化に最低でも1サイクル掛かるらしい
220MACオタ>219 さん:2008/08/17(日) 17:29:32 ID:Zsenu7UF
>>219
正規化無しに後続の依存命令へ結果をフォワードすることわ可能だと思うす。
221,,・´∀`・,,)っ:2008/08/17(日) 17:36:04 ID:C0ppS6h9
レイテンシ1で?
どんなアーキテクチャだよ。

そもそもP5とP6パイプの段数の差の大部分はデコードやスケジューリングであって
Executeステージの深さは10年前から変わってない。

妄想甚だしい。
222●テヘ権田●:2008/08/17(日) 17:37:37 ID:PlLb46Vp
これまでのところダンゴ苦戦中っス
223,,・´∀`・,,)っ:2008/08/17(日) 17:40:15 ID:C0ppS6h9
浮動小数命令をレイテンシ1でこなしてたアーキテクチャを示せよ。
低能マコの指摘するPentiumですらfaddで3。

「1サイクル」の意味をレイテンシのことだと勘違いしてたとしか思えんし
認めればこれ以上恥の上塗りにならねーぞ
224MACオタ>団子 さん:2008/08/17(日) 17:46:51 ID:Zsenu7UF
>>223
  --------------------
  浮動小数命令をレイテンシ1でこなしてたアーキテクチャを示せよ。
  --------------------
勝手に誤解して逆切れされても困るす(笑)

ところで>>213でお願いした『1ステージ=1クロックではなかったな』のソースわ?
225,,・´∀`・,,)っ:2008/08/17(日) 17:49:10 ID:C0ppS6h9
ああIEEE754非準拠ならいけるなんてのは論外な。
7450はvfaddもvfmaddもレイテンシ4。G5では8
226,,・´∀`・,,)っ:2008/08/17(日) 17:52:46 ID:C0ppS6h9
日本語の「Intelアーキテクチャ最適化リファレンスマニュアル」にPen1〜Pen3まで載ってるが。

プリフィクスバイト食わせると必ずストールするし(笑)
227●テヘ権田●:2008/08/17(日) 18:00:37 ID:PlLb46Vp
これまでのところダンゴは煽り過ぎ、もっと落ち着いて恥ずかしくない発言を望むっス♪
そもそもこの手の論争は煽った側の負けっぽですよ。
228,,・´∀`・,,)っ:2008/08/17(日) 18:01:44 ID:C0ppS6h9
黙れ透明あぼーん
229MACオタ>団子 さん:2008/08/17(日) 18:07:36 ID:Zsenu7UF
>>226
段々と後付の言い訳が出てきたすね。検索してFP命令を持つDSPでも見つけた様すね(笑)
  ------------------
  プリフィクスバイト食わせると必ずストールするし(笑)
  ------------------
これも苦しすぎるのでわ。。。
230Socket774:2008/08/17(日) 18:07:48 ID:vjedmlWr
無理だしナンセンス
231Socket774:2008/08/17(日) 18:10:26 ID:vjedmlWr
232,,・´∀`・,,)っ:2008/08/17(日) 18:13:12 ID:C0ppS6h9
ちなみにAMD次世代22の#408に貼ったia32_opt.pdfそのものなんだが、
どういう発想で、より高クロックのLarrabeeでFPの加減算がレイテンシ1で済む
なんて妄想に至ったのか理解に苦しむな
233Socket774:2008/08/17(日) 18:20:08 ID:vjedmlWr
1サイクルで浮動小数点加算をするマシンの話は読んだ覚えがあるけどな

ラッチをケチったんだと

トランジスタ世代だがな
234Socket774:2008/08/17(日) 18:23:18 ID:DhZGl14G
団子前より太ったな
運動もしろよ
特に大腿部の筋力が弱ってると血液が下半身に溜まって脳に行かなくなるからな
235,,・´∀`・,,)っ:2008/08/17(日) 18:24:01 ID:C0ppS6h9
つかP5のfadd/fsub/fmulはレイテンシっていうよりスループットクロックを含め消費クロックが3だ。
fxchで並列化・パイプライン化なんてテクニックはPProからだし。

1TFを叩き出すパイプラインの構造はPPro以降のそれからの逆輸入だろう。
P5に倣ってるのは非対称のパイプラインくらいだろ。
236MACオタ>団子 さん:2008/08/17(日) 18:28:58 ID:Zsenu7UF
>>232
  ------------------
  どういう発想で、より高クロックのLarrabeeでFPの加減算がレイテンシ1で済む
  なんて妄想に至ったのか理解に苦しむな
  ------------------
誹謗も百回言えば信じてもらえて大勝利と(笑)
しかし将来引用されるのわ>>190-192な訳すけど。。。

もちろんLarrabeeのマイクロアーキテクチャがより明確になった段階で、的中している可能性もある
すから楽しみにすると良いかと思うす。
237,,・´∀`・,,)っ:2008/08/17(日) 18:34:57 ID:C0ppS6h9
お前の妄言そこら中に貼ってやるだろうな。まあ気にしないんだろうけど。
マコタみたいな恥がない奴って最強だな。
IA32でFP加減算・乗算を3クロック未満のレイテンシでこなせたものは
未だかつて「ない」。
238MACオタ>団子 さん:2008/08/17(日) 18:36:43 ID:Zsenu7UF
>>237
  ----------------
  IA32で。。。
  ----------------
また言い訳追加。。。と(笑)
239,,・´∀`・,,)っ:2008/08/17(日) 18:42:23 ID:C0ppS6h9
バカ丸出しだな


LarrabeeがIA以外の何だっての?
Pentiumの応用であることを根拠にFP演算は低レイテンシだと言ってみたり

そのPentiumが1クロックサイクルでFP演算をこなせないことを指摘したら話題そらしか。
厚顔無恥ってうらやましいよwwww
240Socket774:2008/08/17(日) 18:44:21 ID:kp2MnTOE
>>218
> 論理回路と模式図を同一視するのわ間違いす。CISCわ、そもそも命令をシングルサイクルで
> 実行するという考えじゃ無いす。

。。。

最初のころのSPARCは、

st rd, [rs1+rs2]

のように、3つのレジスタを読み出す命令は、レジスタファイルの読み出しポートが2つしかないので、二回にわけて読み出してた
つまり、レジスタ読み出しステージが2サイクルの場合もあるんだけど、これはCISCなのかな?

>>236
> しかし将来引用されるのわ>>190-192な訳すけど。。。

べつに間違っちゃいないけどね

> もちろんLarrabeeのマイクロアーキテクチャがより明確になった段階で、的中している可能性もある
> すから楽しみにすると良いかと思うす。

いまだにROBはx86用語ではないと認められないMACオタの言うセリフじゃないよなあ
241,,・´∀`・,,)っ:2008/08/17(日) 18:48:27 ID:C0ppS6h9
まあいいよ
どのみち命令のレイテンシは短いに越したことはない

それはそれで、
単精度演算のレイテンシ6clkもかかるCell-SPUのコーディングテクが役に立たないことが示される
242,,・´∀`・,,)っ:2008/08/17(日) 18:54:43 ID:C0ppS6h9
同じインオーダのAtomもHT使うことでかろうじて浮動小数演算の性能悪化を食い止めてるのが現実。
243,,・´∀`・,,)っ:2008/08/17(日) 19:03:13 ID:C0ppS6h9
レジスタ8本(x64で16本だが)でレイテンシ3かそれ以上の命令を
スケジューリングするのは何のハード支援もなしでは現実問題無理。
OoO・レジスタリネームを削除した代わりに用意された
命令インターリーブの手段がHTだ。
244MACオタ>240 さん:2008/08/17(日) 19:12:10 ID:Zsenu7UF
>>240
  -------------------
  レジスタファイルの読み出しポートが2つしかないので、二回にわけて読み出してた
  -------------------
特に不思議な話とも思わないすけど?
 1. 2ステージの動作と見做さなない理由わ?
 2. 現在、イシュー/ディスパッチからレジスタ読み出しに複数サイクルかかるアーキテクチャわ
   珍しくない http://www.research.ibm.com/journal/rd/516/le3.gif

  -------------------
  べつに間違っちゃいないけどね
  -------------------
それを団子さんに説明してあげて欲しいモノす。
245Socket774:2008/08/17(日) 19:12:15 ID:vjedmlWr
つか、Larrabieの場合はHTするくらいならそれぞれのスレッドの命令列をインターリーブして並べておけばいいんだよ
246MACオタ>245 さん:2008/08/17(日) 19:16:27 ID:Zsenu7UF
>>245
GPU用途でわ深く考えなくてもTLPわ保障されているすから、適当にスレッドを振り当てても良い
かと思うす。
247Socket774:2008/08/17(日) 19:18:07 ID:kp2MnTOE
>>244
>  1. 2ステージの動作と見做さなない理由わ?

馬鹿じゃね?

3レジスタ読み出しの場合はインターロックがかかるし、
レジスタ読み出しステージを2段にしてパイプライン化したところで、レジスタファイルのポート数が足りなきゃ止まる。

> 2. 現在、イシュー/ディスパッチからレジスタ読み出しに複数サイクルかかるアーキテクチャわ

それはもう全然なんの関係もないから。
248,,・´∀`・,,)っ:2008/08/17(日) 19:19:51 ID:C0ppS6h9
>>245
SIMDレジスタが1スレッドで128本でもあるならそうしたいところだが、
ModRMを引きずる限り8本、REXつけて16本がいいところ。

まあ引きずると決まったわけではないが、それはそれで
レガシーSSEの延長でもVEXエンコーディングでもない命令セットをどこのOpcode空間に定義するのよって問題も。
249Socket774:2008/08/17(日) 19:27:38 ID:kp2MnTOE
>>248
命令エンコーディングのことは知らんが、1次キャッシュのデータと直接演算できるから、案外困らないんじゃないかね。

>>246
> Cache use is more effective when multiple threads running on the same core use the same dataset,
> e.g. rendering triangles to the same tile.

とインテル自身も言っているように、適当なスレッドだとだめだろう。
250,,・´∀`・,,)っ:2008/08/17(日) 19:35:43 ID:C0ppS6h9
いやメモリ間オペレーションは代々x86の伝統だし。
デコーダを複雑にもできないはずなのでModRM+SIB+DISPによるメモリアクセスを踏襲する可能性大。
必然的にレジスタは各8本ないし16本。
マスクレジスタは別にあるのかもしれないけど。
251Socket774:2008/08/17(日) 19:41:45 ID:kp2MnTOE
>>250
VPU命令は4オペランドで、メモリオペランドはソース限定なわけだから、
ModRMを踏襲しないんじゃないかなあ

マスクレジスタが別にあるのは間違いがない
252,,・´∀`・,,)っ:2008/08/17(日) 19:48:01 ID:C0ppS6h9
AVXで真の4オペランド使えてるんだが。メモリオペランドがソース限定なのもAVXの仕様。

VEXエンコーディングを使う可能性高いな。
ほかにOpcode余ってるのは64ビットでUD化された命令空間だけ。
253,,・´∀`・,,)っ:2008/08/17(日) 20:06:14 ID:C0ppS6h9
ああx64はXMMレジスタに引数を積むとかSSE2までの存在を前提に
ABIが定義されてるから、SSEのOpcodeを潰すという対応は無しね。
逆に言うとLarrabeeでも最低SSE2までは実行できると考えられ。
254Socket774:2008/08/17(日) 20:24:28 ID:kp2MnTOE
>>204
>   デスティネーションに指定したレジスタが後続の命令でソースとして再利用可能になる
>   ----------------
> レジスタのリード・ライトに関係無く、フォワーディングネットワーク経由で利用可能になると思われるす。

MACオタは、他人の発言を曲解して、それが間違っていると指摘するから困るんだよな。
団子だって物理レジスタの話をしているわけではないだろう。
255MACオタ>254 さん:2008/08/17(日) 20:33:31 ID:Zsenu7UF
>>254
>>204わ、あなたが>>249で書いたことのメカニズムを説明している訳すけど。。。
  -----------------
  MACオタは、他人の発言を曲解して、それが間違っていると指摘するから困るんだよな。
  団子だって物理レジスタの話をしているわけではないだろう。
  -----------------
>>247。。。
256,,・´∀`・,,)っ:2008/08/17(日) 20:37:06 ID:C0ppS6h9
>フォワーディングネットワーク
これ予約機構のことかね?
Intel用語ではActive Register FileといってP6アーキのレジスタリネーミング機構の特徴の一つです。

結局LarrabeeはP5じゃないって言いたいんだな。
257Socket774:2008/08/17(日) 20:41:49 ID:kp2MnTOE
>>256
> >フォワーディングネットワーク
> これ予約機構のことかね?

間違ってはないが、ズレている
MACオタが言っているのは、演算器どうしをつないでいるデータの分配ネットワークのこと
258Socket774:2008/08/17(日) 20:42:56 ID:kp2MnTOE
>>256
あ、P5にも(パイプライン化された計算機にはすべて)フォワーディング回路はあるぞ
259Socket774:2008/08/17(日) 20:48:10 ID:kp2MnTOE
>>255
> >>204わ、あなたが>>249で書いたことのメカニズムを説明している訳すけど。。。

さすがにこれは完全に意味不明で、とっかかりもないのだが

249は
> GPU用途でわ深く考えなくてもTLPわ保障されているすから、適当にスレッドを振り当てても良い

キャッシュの効率が落ちるので、適当なスレッドにスイッチするのは良くないということ

> Cache use is more effective when multiple threads running on the same core use the same dataset,
> e.g. rendering triangles to the same tile.

同じデータセットを使うスレッドにスイッチするとキャッシュが効率的になるとインテルが言ってるだろ


フォワーディング回路については、団子がこんなにバカだとは思わんかった
すまん
260,,・´∀`・,,)っ:2008/08/17(日) 20:49:03 ID:C0ppS6h9
まあ確かに有るね。
実レジスタファイルへの書き込みまでのサイクルには言及した覚えはないので
どのみちFUCKヲタの一人相撲に違いない
261Socket774:2008/08/17(日) 20:58:12 ID:kp2MnTOE
>>260
> 実レジスタファイルへの書き込みまでのサイクルには言及した覚えはないので

実レジスタファイルってアーキテクチャレジスタのことか?

ならやっぱわかってねーな
これはMACオタの勝ち
262,,・´∀`・,,)っ:2008/08/17(日) 21:29:24 ID:C0ppS6h9
いやそもそもP5って何十もレジスタあったっけ?

つか#248966でいう何ページ目にかかれてることを論じてるの?
263,,・´∀`・,,)っ:2008/08/17(日) 21:36:43 ID:C0ppS6h9
・Cellのスケーラビリティ
・PentiumはFP加減算1サイクル

流石に負けでいいよいろんな意味で彼は1等賞(笑)だろ
264,,・´∀`・,,)っ:2008/08/17(日) 21:45:41 ID:C0ppS6h9
>>204とかさ
addpsはレイテンシ3サイクルかかると言ってる傍で
「加減算は1サイクルで済むす(笑)」

日本語通じないバカって素敵。

結局彼はx86を知らない
265Socket774:2008/08/17(日) 22:06:11 ID:kp2MnTOE
>>263
それについては知らん
君ら何を言っているのか理解しかねる

>>184
> 設計段階でメモリブロックごとに、何をキャッシュに残し、何をストリーミングアクセスするか細かく
> 設定する手間わMFCプログラミングと変わらないす。

だいたい正しい

>>185
> たとえばメインメモリからオンダイSRAMに先行ロードするにしても
> prefetch*とspu_dmaじゃ全然勝手が違う。

コーディングレベルでは楽だろうが、設計レベルでは大して変わらん

>>188
> むしろSPUがネイティブにリニアアドレッシングできるメモリ空間が狭いなど、別のところで面倒。
> うん、全然求められるスキルが違うな。

Cellで性能を出せるようなプログラムなら、Larrabeeでも同じようなプログラムになる
Cellでは手に負えないようなプログラムでも、Larabeeではコヒーレントキャッシュに助けられてそこそこ動くかもしれない

>>189
> アドレスの属性を制御するのか?64-bitアドレシングを生かしてL2の一部を別のメモリ空間に
> 割り当てるのか。。。

意味不明


266,,・´∀`・,,)っ:2008/08/17(日) 22:20:55 ID:C0ppS6h9
おい1サイクルの件、逃げずに見苦しく弁解しろよ。

・ROBはIntel専門用語
・AtomはSMTではない

一等賞大好きだな
何冠王になればいいんだよ負ッケオタ
267Socket774:2008/08/17(日) 22:21:13 ID:ja4mdmlg
ModRMはさすがにそのまま通せるようにはしないと思うけどなぁ
268Socket774:2008/08/17(日) 22:25:39 ID:kp2MnTOE
>>264
>>204
> それパイプライン化された命令限定す。
> 長レイテンシの命令を隠蔽するんじゃ無かったすか?

他人の発言を曲解した上で攻撃するのがMACオタスタイルだけど
これは1レスで矛盾した発言してる

> 結局彼はx86を知らない

x86というか、MACオタの知識はトリビアレベルだね
体系だって勉強した形跡がない
269,,・´∀`・,,)っ:2008/08/17(日) 22:39:48 ID:C0ppS6h9
>>267
ModRMは1バイト見ただけでSIB・DISPの有無および長さを判別できるから
実はそれなりに合理的。
基本命令がx86なのに別のフォーマットを用意する方がかえってデコーダが複雑になる。


あと命令長を判別しやすいのってフロントエンドの負担軽減のためには大事だからね。
AVXのVEXプリフィクスはModRMまでの命令長が即特定できるから結果的にデコーダにも優しい。
270,,・´∀`・,,)っ:2008/08/17(日) 22:58:17 ID:C0ppS6h9
あ、要素単位で別々のアドレスにロード・ストアする命令については
かのレポートにSIMDレジスタの各要素値を使う的なことが書いてあるので、
ModRM+SIB+DISPの拡張は不要かと思われる。
従来IAと変えないといけないのはむしろLSUだ。

マスクストアってVMASKMOVPSの512ビット版なんじゃないかと思ったり。
271Socket774:2008/08/18(月) 00:07:50 ID:FIS+Dqqn
Cellのアーキテクトは、「シンプルな要素をたくさん並べる」というありがちな原理主義に陥り、シンプルにしすぎてしまったわけだが
目標性能と使えるリソースが先に決まっていた以上、仕方のない面もある
とはいえ、いまだにまともなコンパイラ一つ用意できていないのは情けない

その点Larrabeeは手堅いアーキテクチャでまとめていて、インテルの現実主義的な姿勢がうかがわれる
もっともCellよりずっとリッチなチップゆえに可能なわけだが

272Socket774:2008/08/18(月) 00:12:17 ID:sNO9M+lF
ダンゴ・・田舎でなんか嫌な目にでも遭ったのか?
273,,・´∀`・,,)っ:2008/08/18(月) 00:25:12 ID:TVU6DROr
強いて言えば嫁がゲーヲタ腐女子
274Socket774:2008/08/18(月) 00:27:45 ID:FIS+Dqqn
>>270
> マスクストアってVMASKMOVPSの512ビット版なんじゃないかと思ったり。

伝統的なベクトル機では、マスクは算術演算にも使えるし、
マスクベクトルがおそらく複数あることを考えると、フォーマットどうなってんのかわからんね

AVXはもう公開されてるの?
275Socket774:2008/08/18(月) 00:29:34 ID:FIS+Dqqn
>>273
なんだとコラ死にくされ

おれなんて風俗嬢と天蓋の約束をのばしのばしにされて疑心暗鬼だ
276,,・´∀`・,,)っ:2008/08/18(月) 00:36:26 ID:TVU6DROr
AVXはIntelのサイトにバイナリフォーマットも含め公開されてる。
Larrabeeの512ビットSIMDとAVXの可能性は不明だが、
VEXの拡張フィールドにかなり空きがあることから
LarrabeeのSIMDそのものがAVXの512ビット版の先行実装という可能性も。
277,,・´∀`・,,)っ:2008/08/18(月) 00:41:06 ID:TVU6DROr
関連性ね
278Socket774:2008/08/18(月) 07:57:24 ID:sNO9M+lF
母「○○さんなぜ今年も一緒じゃないの?」
ダ(コミケットを優先されたとは言えねーしな・・・)
母(離婚間ヂかなのかしら・・・)
ダ・母・お爺ちゃん(・・・・・)

てな感じ?
279Socket774:2008/08/18(月) 14:08:50 ID:Iegohyle
MACオタ、貼り方気をつけろって言ってんだろ
いい加減学習するか、どっかいけよ
280Socket774:2008/08/18(月) 14:24:38 ID:IkT50GSQ
おまえが逝け
281MACオタ:2008/08/18(月) 21:13:48 ID:WrRnWAp9
Intelが今年のVLSI Symposiumで発表したSOIメモリ(記事中でも出てくるすけど、AMDがライセンス
を受けたZ-RAMと同種のモノす)の解説記事す。
http://www.eetasia.com/ART_8800539466_499495_NT_1d62210a.HTM
  ---------------------
  In its paper, Intel said: "The devices with 60nm gates show suitable memory retention, and, at
  this dimension, a bit cell could be less than 0.01m2 in size, making it suitable for potential use
  at the 15nm node.
  There is also excellent agreement between device and simulation that allows prediction of
  continued scaling to the 10nm technology node."
  ---------------------
282MACオタ:2008/08/18(月) 21:16:13 ID:WrRnWAp9
IBM Journal of R&Dの次号が3Dダイスタッキングの特集す。
http://www.research.ibm.com/journal/rdpip.html
283Socket774:2008/08/18(月) 21:40:07 ID:paMOCGg5
FBCを同種でくくると回路屋ががっくり来そうだな。
284,,・´∀`・,,)っ:2008/08/18(月) 23:32:07 ID:TVU6DROr
PentiumのFP加減算のレイテンシが1の人は鶏のように3歩歩くと忘れてしまえるんだね。
恥の記憶もなにもかも。



あ、他人の揚げ足取りのネタだけは覚えていられるようだけど
285,,・´∀`・,,)っ:2008/08/19(火) 00:22:03 ID:wyv3H8Wc
負ッケヲタ、なんか言えコラ

決着してないぞ何もかも。
別の話題を持ってくるのは、弁解なり反論なりしてからにしてくれ。

2、3年後に笑いのネタになるのはお前自身やぞ。
いや正確に言うとリアルタイムで恥の塊。

なあいい加減正面から反論しろや
俺はしつこいぞ。
技術なき技術論者はオレンジのごとく全力で糾弾する。
286Socket774:2008/08/19(火) 09:55:24 ID:PFeVNTv7
おはようございました
287MACオタ>団子 さん:2008/08/19(火) 17:49:16 ID:Ia5jP5R+
>>285
火病中に失礼すけど、
  ---------------------
  オレンジのごとく全力で糾弾する。
  ---------------------
で、これわ新しい2ちゃん語なんすか(笑)
288MACオタ:2008/08/19(火) 17:55:43 ID:Ia5jP5R+
IBMおよびプロセス共同開発各社が22nmプロセスのSRAM試作の成功を発表したす。
http://www-03.ibm.com/press/us/en/pressrelease/24942.wss
  - セルサイズ: 0.1um^2
  - ゲート長: 25nm
  - High-K/Metal Gate
  - High-NA 液浸露光
  - 300mm ウェハ
発表中にSOIが言及されていないことと、ゲート長がプロセスサイズより大きいことが気になるす。
ここ数年ゲート長ってプロセスサイズの半分程度じゃなかったすかね。。。
289Socket774:2008/08/19(火) 17:58:40 ID:GNC4vmJD
>>287
コードギアス
290Socket774:2008/08/19(火) 18:52:14 ID:HZRBx/JM
結局弁明出来ないんだなw
291Socket774:2008/08/19(火) 18:55:16 ID:gC/2Y+39
ジェレミア卿自重
292MACオタ>289 さん:2008/08/19(火) 19:21:10 ID:Ia5jP5R+
>>289
  -----------------
  コードギアス
  -----------------
ちょっと調べてみたすけど、当人火病の上にアニヲタなんすか。。。
>>273と言い、色々不幸を背負ってるみたいすね。
293Socket774:2008/08/19(火) 19:23:53 ID:HZRBx/JM
どうでもいい事に話そらして
肝心な事には何も言えないハッゲオタw
294,,・´∀`・,,)っ:2008/08/19(火) 21:00:30 ID:wyv3H8Wc
「早とちりでしたごめんなさい」とか絶対言わないからな
負け犬の遠吠えオタは
295Socket774:2008/08/19(火) 21:12:41 ID:a8Fk2cRt
MACヲタの視点って明らかにマの視点じゃないんだよな。
それなのに無理して語ろうとするからボロが出る。指摘されると話をそらす。
SIMDをSIMMと言っちゃった人にそっくりだ。
296MACオタ>団子 さん:2008/08/19(火) 21:14:08 ID:Ia5jP5R+
>>294
  ------------------
  「早とちりでしたごめんなさい」とか絶対言わないからな
  ------------------
それわ、色々恥ずかしい間違いを取り繕うために『PentiumのFP加減算のレイテンシが1』とか
訳の判らないことを叫び出すヒトのことすか?
297MACオタ>295 さん:2008/08/19(火) 21:18:20 ID:Ia5jP5R+
>>295
  ----------------
  MACヲタの視点って明らかにマの視点じゃないんだよな。
  ----------------
団子さんわ割りに例外すけど、プログラマでハードウェアやマイクロアーキテクチャを理解しよう
とするヒトわ珍しいす。こういうのに関してわ、教育が悪いすかね。。。
298Socket774:2008/08/19(火) 21:24:23 ID:3xpjPvzd
得られるものが理解にかかる時間と金のコストに見合わないからに決まってんだろ
299,,・´∀`・,,)っ:2008/08/19(火) 21:44:42 ID:wyv3H8Wc
負け犬の遠吠えやってる自覚は一応あるんだな。感心した。
まあ知識はSIMD=SIMMの人と同レベル
森嘉朗がITについて語るくらいに聞く価値がない。
300Socket774:2008/08/19(火) 22:00:38 ID:hvsU1U+J
LarrabeeってIntel64には非対応なんだよね? Atomですら対応してるのに。

まあレジスタが倍増するくらいしか性能貢献が無いし、メインメモリも64bit
が必要とは考えてない、って事なのかな?

でもPAEは効率が悪いって話だし、4GB迄で充分って判断なのか。
301MACオタ:2008/08/19(火) 22:05:58 ID:Ia5jP5R+
>>169, >>174の続報すけど、米国SONYのZEGO BCU-100のサイトす。
http://pro.sony.com/bbsccms/ext/ZEGO/ZEGO.shtml
リンクされているBCU-100の仕様を読むと、結構豪華す。
  - XDR (w.ECC): 1GB
  - on-board DDR2 (SCC経由接続): 1GB
  - PCIe経由増設メモリ: max. 8GB
  - 拡張スロット: PCIe x4, 1-slot
  - 2 GigaEther
  - 3 USB 2.0
302MACオタ:2008/08/19(火) 22:12:18 ID:Ia5jP5R+
>>300
  ----------------------
  Larrabee’s scalar pipeline is derived from the dual-issue Pentium processor, which uses a
  short, inexpensive execution pipeline. Larrabee provides modern additions such as multi-threading,
  64-bit extensions, and sophisticated prefetching.
  ----------------------
ソースわ>>208
303Socket774:2008/08/19(火) 22:30:45 ID:uPKPQbOW
MACオタが勉強家なのは間違いないんだよな
ネットからいろいろ記事を拾ってきてくれるし
その情熱を体系だった学習に振り向けて、アーキテクチャの教科書を一冊通読してくれるといいんだが
そうすりゃROBがx86用語だなんて言わなくてもすんだのにね
304,,・´∀`・,,)っ:2008/08/19(火) 22:54:02 ID:wyv3H8Wc
ついでにFP加減算が低レイテンシなんて恥ずかしい発言もね
305,,・´∀`・,,)っ:2008/08/19(火) 23:04:55 ID:wyv3H8Wc
「間違えました。」の一言すら何で言えないの〜

脳味噌が不自由なの〜?
306MACオタ>303 さん:2008/08/20(水) 00:21:41 ID:Qtm6YmZc
>>268, >>303
あなたが自分の弟子に『体系』とやらを強制するのわ、結構な話す。しかし、
  --------------------
  x86というか、MACオタの知識はトリビアレベルだね
  体系だって勉強した形跡がない
  --------------------
  --------------------
  そうすりゃROBがx86用語だなんて言わなくてもすんだのにね
  --------------------
その論法だと論文でGCTという用語を使って発表するIBMのアーキテクトわ『体系だって勉強をした
形跡がない』ことになるすけど(笑)

私の書き込みわ前世紀から2ちゃんねるやmegabbsに残っている訳すけど、それなりの的中率が
あるのわ、ある『体系』に基づいて情報を整理しているからす。
曰く『勝ちに不思議の勝ちあり、負けに不思議の負けなし』というのわ、科学的思考としても間違って
いないかと思うすけれど。。。
307Socket774:2008/08/20(水) 00:57:52 ID:nXSStDY4
>>288
> ここ数年ゲート長ってプロセスサイズの半分程度じゃなかったすかね。。。

Intelのプロセスを例に挙げると
 65nmプロセス → 35nm
 45nmプロセス → 30nm
というように、以前のようにゲート長を短くすることができなくなりつつある。

http://www.intel.co.jp/jp/business/technologies/focused-tech/process-rule/index02.htm
> 65nm のプロセス技術で製造されたトランジスターのゲート長は 35nm

http://www.intel.co.jp/jp/business/technologies/focused-tech/process-rule/index04.htm
> 45nm プロセスのゲート長は 30nm

それを考えると22nmプロセスのゲート長が25nmだったとしても、それほど
おかしくはない。特に省電力をターゲットにしたプロセスであればなおさらだろう。
308,,・´∀`・,,)っ:2008/08/20(水) 01:00:46 ID:ref3C5dg
誰とは言わないが「リーク漏れ」の人なんかには死んでも分からない話だな
309MACオタ>307 さん:2008/08/20(水) 01:06:08 ID:Qtm6YmZc
>>307
コメント感謝するす。
一方、TGDailyによるとIntelから今回の発表に関して突っ込みが入っているそうす。
http://www.tgdaily.com/content/view/38941/135/
  --------------------
  "Indeed, this is the smallest SRAM cell that has been demonstrated, but producing a single
  cell is merely an exercise in lithography scaling. The announcement admits that they only
  have demonstrated a 22 nm SRAM 'cell', not a 22 nm SRAM 'array' of any given density.
  A single SRAM cell has 6 transistors in it. Intel's 32 nm SRAM array, which we announced
  back in September, has 290 million cells or bits, and a total of 1.9 billion transistors. IBM
  has yet to report a large working 32 nm SRAM array as Intel did last September. Intel's 32 nm
  technology will use our 2nd generation of high-k + metal gate transistors."
  --------------------
最近のIEDMの発表わ、Intelの歪みシリコンの発表が量産とほぼ同時に行われたように、現実性の
高いモノが多かったように思うす。競争相手に情報を漏らさないという要素が大きかったのが
原因の様に思われるすけど、今回の発表わプロバガンダ的要素が大きいすかね。。。
310Socket774:2008/08/20(水) 01:06:15 ID:n3KbDatp
頭痛が痛いです
311Socket774:2008/08/20(水) 01:30:36 ID:nXSStDY4
>>309
まあ、Intelより先に発表するってことに意味があるのかもね
312MACオタ:2008/08/20(水) 09:04:46 ID:ref3C5dg
先に先手を取って先制するす。
313Socket774:2008/08/20(水) 09:06:03 ID:LQElElv6
よう団子
314MACオタ>313さん:2008/08/20(水) 09:38:36 ID:ref3C5dg
そうやって時間が経つのわ時間の問題す。
315Socket774:2008/08/20(水) 10:20:35 ID:5Cl/roSi
>>306
> その論法だと論文でGCTという用語を使って発表するIBMのアーキテクトわ『体系だって勉強をした
> 形跡がない』ことになるすけど(笑)

お、ついにGCTがROBだと認めたかwww

MACオタはIBMがいまだにメモリをストレージと呼びたがるくらいの、超有名な独自用語大好き会社であることも知らないようだ
316Socket774:2008/08/20(水) 10:23:43 ID:5Cl/roSi
>>306
君が意図的に引用から外した

> その情熱を体系だった学習に振り向けて、アーキテクチャの教科書を一冊通読してくれるといいんだが

これはどうなのかい?
ちゃんと一冊通読した?
そもそも教科書持ってる?著者と書名は?
317MACオタ:2008/08/20(水) 10:27:46 ID:ref3C5dg
ただプライオリティ制御やってるだけの非対称FGMTをSMTと呼んだり
フロッピーをディスケットと呼んだり


すべて任帝が悪いニダ
318Socket774:2008/08/20(水) 10:32:15 ID:LQElElv6
このエミュレータ再現性低いな
319Socket774:2008/08/20(水) 10:50:03 ID:5Cl/roSi
MCPをOSと呼ぶ暴虐非道
320MOTHERFUCKオタ:2008/08/20(水) 11:58:24 ID:ref3C5dg
OoO(Intel語でいうDynamic Execution)を搭載したCPUを
IBMのPPCとIntelほかのx86しか知らなかったが故の勘違いす
321Socket774:2008/08/20(水) 12:28:01 ID:Iz5hQzOm
>>302
64bit拡張はSIMD命令だけらしい話もあるけど。

Intelのソースでないと確証が持てないよね。
322Socket774:2008/08/20(水) 12:29:31 ID:Iz5hQzOm
>>321
と、大元のpdfはIntelのか。

そうなら単純に信用したいところだが、Pentium互換ってのが気になる。
323,,・´∀`・,,)っ@お塩先生LIV(笑)再始動:2008/08/20(水) 12:34:57 ID:ref3C5dg
x64互換って意味ではXMMレジスタはある可能性は高い。

VectorレジスタがそのまんまXMMの512ビット版の気がするが。




そこでまさかのYamhill命令セット採用ですよ
324Socket774:2008/08/20(水) 20:12:02 ID:kLaHVBVY
SSEはついてないと思う
似たようなユニットを二つも用意する理由はない
325Socket774:2008/08/20(水) 21:15:07 ID:Oqd7ivyu
x86CPUとしての互換性を考えると微妙な気がする。ましてやIntel64をサポートしてるなら。
326Socket774:2008/08/20(水) 22:06:05 ID:HV1W5fTa
327,,・´∀`・,,)っ:2008/08/20(水) 23:27:02 ID:ref3C5dg
>>324えーっ

x86には汎用整数だけで8ビット・16ビット・32ビット・64ビットの命令があるけど、
ALUもそれぞれにあると思っちゃう方?
必要なところだけマスクすればいいんだよ。
現状Core 2やAtomだって128ビットSIMDユニットでMMXやx87浮動小数命令を扱ってるわけで。

とりあえずVectorレジスタがXMM/YMMのスーパーセットでありさえすれば
リソース面での面倒はないと思ってるが。

SSEとの下位互換性はとってくるだろうし、逆に「サポートしないメリット」は無いに等しい。

プレフィックス付けたりModRMのregまで使ったりしてやりくりしてたような
もともと狭いOpcode空間だから、潰して別の命令を割り当てるのも非現実的。
レガシー命令に依存したコード資産をサポートしつつ、
AVXで確保したVEXの拡張フィールドを使って新命令を利用していくほうが無駄がない。
328Socket774:2008/08/20(水) 23:54:18 ID:5Cl/roSi
SSEとLarrabeeのVPUではデータパスがかなり違うし
そもそもVPUには整数演算命令がない
329,,・´∀`・,,)っ:2008/08/21(木) 00:18:31 ID:WBAitMZc
> そもそもVPUには整数演算命令がない
整数の符号拡張つきロード・ストアがあるのに演算命令はないのか?
どこの脳内Larrabeeですか?


P5命令セットまでに互換レベル落ちちゃうと、
ゲルたんの言うCellに対する強みなんてなくなるんだよね。
なによりx64はSSE2までのSIMD命令は基本命令セットに含まれる。
互換が強みなのに互換を否定したらその時点でCell以下ですよ。
AtomですらSSSE3までサポートできる。
つまりSSE*をサポートしないことで節約できるTr数や消費電力など多寡がしれてる。
どのみち主役はVPUなので、最悪遅くとも動けばいい。
330,,・´∀`・,,)っ:2008/08/21(木) 00:39:21 ID:WBAitMZc
Larrabee公開資料のVPUについての説明
(PDFの4ページ)
> which execute integer, single-precision float, and double-precision float instructions.

331Socket774:2008/08/21(木) 00:46:18 ID:Pe4UPg1b
Larrabee: A Many-Core Intel(R) Architecture for Visual Computing
ttp://intel.wingateweb.com/US08/published/sessions/VCTS001/SF08_VCTS001_100s.pdf

P.9
> Vector instructions support
>
> - Int32, Float32 and Float64 data
332Socket774:2008/08/21(木) 01:01:43 ID:Ob1fzuJH
すまんすまん
明日デートでいろいろ妄想してたんだ

でも、SSEと違ってLarrabeeのVPUは1次キャッシュをバイパスしてロードできないぞ
333,,・´∀`・,,)っ:2008/08/21(木) 01:31:07 ID:WBAitMZc
根拠はブロックダイアグラム?
なこと言ったらPenrynやNehalemのダイアグラム図を見てもやっぱり同じ感想を言うと思うぜ。
細かい動作まで矢印で書かない。

それにL1キャッシュをバイパスってのはあくまでキャッシュラインのエントリを
上書きしないって意味であって、L1上のデータバスを通過しないって意味ではない。
そもそも本当にバイパスするかどうかは演算結果そのものに影響しないので、
普通のL/S同様に振る舞う実装があっても何も問題ない。
334Socket774:2008/08/21(木) 01:57:54 ID:Ob1fzuJH
>>333
http://softwarecommunity.intel.com/UserFiles/en-us/File/larrabee_manycore.pdf

の3.2章を見る限り、L1をスルーする命令はないと考えるのが自然

> そもそも本当にバイパスするかどうかは演算結果そのものに影響しないので、

マルチプロセッサの場合はメモリコンシステンシーとの兼ね合いで微妙なんだよ
335Socket774:2008/08/21(木) 06:58:33 ID:aP4sjtjb
今更ながら、4スレッドで命令インターリーブするぐらいなら
レジスタの本数4倍にしてくれたほうがよくね?
4サイクルで命令共有するってのはハードウェア単純に
できるけど。GPUとかGRAPE-DRとか。
336Socket774:2008/08/21(木) 07:10:52 ID:x4aBcSCv
IDFがあったのにわす野郎がなにも貼らないな
337Socket774:2008/08/21(木) 07:11:04 ID:aP4sjtjb
ふと妄想したことがあるんだが、
単精度FPUが一基しかないCPUでSSEを
マイクロコードでエミュレートすると、
スループットもレイテンシも4という
ある意味使い勝手の良い(こんな表現するのは
アセンブラプログラマぐらいかもしれないが)
アーキテクチャができるわけだ。
338,,・´∀`・,,)っ:2008/08/21(木) 09:10:41 ID:WBAitMZc
残念ながらそれだと加減算3-1なら6-4、乗算5-1が8-4くらいになるだけですな。
>>334
むしろPREFETCH*やMOVNT*がそのまんま使えそうな記述があるんだけど気のせい?
繰り返すけど機能ブロック間の矢印がないからこの命令はサポートしないなんて憶測は無意味。
Intelはいまだ矢印を見ただけでサポート命令が推測できるようなダイアグラムを出したことはない。
L2あるいは外部バス-レジスタ間の矢印がないと言うならSSE4.2まですべて使えるはずのNehalemのブロックダイアグラムにすら無い。
339,,・´∀`・,,)っ:2008/08/21(木) 09:31:12 ID:WBAitMZc
IntelはP6〜NehalemのStoreユニットが資料によって1基構成だったり2基構成だったり、
ブロック図を正確に書かない。

だから後藤は勿論その記事をカンニングした大原や安藤が「Nehalemでストアユニットが増えた」とか勘違い記事を書くわけだ。



既存SSE命令をサポート「しない」ことの根拠は何もないんだよね。
むしろ64ビット命令セットサポートと書かれてるだけでも
x64基本命令として取り込まれたSSE*をサポート「しなければならない」根拠たりうる。
340Socket774:2008/08/21(木) 11:26:36 ID:Ob1fzuJH
>>338
矢印矢印って何なんだ
おれはブロック図のことなど一言も言ってないぞ

> 既存SSE命令をサポート「しない」ことの根拠は何もないんだよね。

インテルの論文から
> The cores support the full Pentium x86 instruction set so they can run existing code including operating system kernels and applications.
あえてPentium命令セットをフルサポートしてます、と書いてるから、
素直に読めばPentiumPro命令以降はフルサポートはしないんだろう

逆にSSEをサポートするメリットが何も思いつかない
いったい誰が使うんだ

> むしろ64ビット命令セットサポートと書かれてるだけでも
> x64基本命令として取り込まれたSSE*をサポート「しなければならない」根拠たりうる。

そんなことはないだろう
x64命令のサブセットだけ実装しても「64ビット命令セットサポート」と堂々と言える
繰替えすが、x64命令フルサポートならインテルはそう書くだろうよ
341,,・´∀`・,,)っ:2008/08/21(木) 12:59:20 ID:WBAitMZc
で、3.2を読んでも
ノンテンポラルロード・ストアが「無い」根拠なんてどこにも書いてないんだが。
むしろプリフェッチ命令が存在すると明言されてる以上、
残したいラインのローカリティを最大限保証するノンテンポラルムーブ命令が存在するのは必然性がある。

x64カーネルはXMMレジスタの退避・復帰をするし、CなどのABIでもXMMを引数として取るようになってる。
x64とSSEは不可分だし、XMMを512ビット化するだけでこと足りる。
まあ有るとも無いとも明言されてないことだからいいけど。
342Socket774:2008/08/21(木) 13:55:33 ID:idt2+sac
>>327
|現状Core 2やAtomだって128ビットSIMDユニットでMMXやx87浮動小数命令を扱ってるわけで。

そうなの?

この手のリソース共有化したのは、Nanoがお初みたいに思っていたのだが。
343Socket774:2008/08/21(木) 16:07:08 ID:rtQN6ZrT
NVIDIAxTrancemeta
344Socket774:2008/08/21(木) 16:51:14 ID:N6U2e9dC
>>342
ttp://download.intel.com/jp/developer/jpdoc/ia32.pdf
ずっと前から共有してるのに今更分離する必要はないわな。
345337:2008/08/21(木) 19:49:23 ID:oA1/yzUG
>団子
そなの?最後の1語まで答がそろわなきゃ次の演算始められないなら
6-4だけど、最初の1語が得られた段階で見切り発車するようにすれば
4-4にならね?
346Socket774:2008/08/21(木) 20:14:38 ID:Pe4UPg1b
>>342
大原氏の記事を信じている人がまだいたのか

Fall Processor Forum 2004 - Centaur、CN Architectureを発表
ttp://journal.mycom.co.jp/articles/2004/10/07/fpf1/index.html
> AMDやIntelの場合、FPUとSSEユニットは完全に独立しているので、
> どうしても回路の肥大化に繋がる訳だが


インテルの資料を見ると、上記が明らかに間違いであることがわかる

Pentium(R) III プロセッサの実装条件
ttp://download.intel.com/jp/developer/jpdoc/impliment_j.pdf
Page.9
> 小型のダイで高速動作を実現する効率的な実装
> Pentium III プロセッサでは、x87 乗算器はパックドFP乗算器に統合されました

インテル(R) PentiumR 4 プロセッサの マイクロアーキテクチャ
ttp://download.intel.co.jp/jp/developer/jpdoc/2001q1_art02_j.pdf
Page.12
> FP/SSE 実行ユニット
> FP 加算器は、1クロック・サイクルに1回の拡張精度 (EP) 加算、1回の
> 倍精度 (DP) 加算、または2回の単精度 (SP) 加算のいずれかを実行できます。
>
> FP 乗算器は2クロックで1回の EP 乗算、あるいは1クロック・サイクルで
> 1回の DP 乗算または2回の SP 乗算を実行できます。
347337:2008/08/21(木) 22:31:24 ID:oA1/yzUG
なんかk8あたりの資料で、(数字は正確ではないけれど)
addsdが3-1でaddpdが4-2、でも下位の64bitは1クロック早く
使えるようになるみたいな記述があったような。
348,,・´∀`・,,)っ:2008/08/21(木) 23:25:00 ID:WBAitMZc
ああ上位と下位は依存関係ないからその意味では完全に隠蔽可能だな。確かに。
NetBurstの倍速ALUにおけるレイテンシ0.5のトリックがまさにこれだった。



で、ライター連中のなかでLarrabeeがSSE非互換って言ってるのは見るに
「誤答」だけなんだが、どうなんかね?

資産を継承したい有用なコードほど、P5みたいな古いCPUでの動作を切り捨て、
SSE等モダンな命令を駆使して保守されてる可能性が高い。
逆にP5までで止まってる保守されてないコードなんて、持ち越せてもメリット無いだろ。
MMXからSSE*のコード資産の移行は、両命令の共存はもちろん、データを橋渡しする命令を用意することで
緩やかに行われた。AVXにおいてもVUPPERZEROとかの補助命令を用意し、段階的移行を促進する方針。

データレベル並列化の需要の大きい分野ですでに圧倒的に普及させてしまったSSEを、
いきなり「動作すら許さない」なんてのはいくらGPUを兼ねるとは言え
高い後方互換性を強みとするIntelのx86戦略としては、ふつうはあり得ない。
349Socket774:2008/08/22(金) 01:34:29 ID:FU30EyHM
http://pc.watch.impress.co.jp/docs/2008/0822/kaigai461.htm
CtはSSE系命令だけでなく、Sandy Bridgeの新ベクタ命令「Intel Advanced Vector Extensions (Intel AVX)」、
Larrabeeの新ベクタ命令「Larrabee New Instructions(LNI)」、さらに将来の命令もサポートする。
350,,・´∀`・,,)っ:2008/08/22(金) 01:59:38 ID:6R6YXCRn
とまあ、案の定俺が言ったことそのまんまになりました。

互換こそ強みってのは皮肉にも後藤自身が説明したことなんだけどな。
彼は解釈に一貫性がないようで。


LarrabeeのSIMDはVEXの予約空間の一部を用いた512ビット版AVXってのはほぼ確定かな。
逆にそれ以外、無理なく割り当て可能なフィールドは無いだろう。
351MACオタ>団子 さん:2008/08/22(金) 02:09:24 ID:Od+zxRfU
>>350
  -------------------
  案の定俺が言ったことそのまんまになりました。
  -------------------
(笑)
それわ、それとして、さほど時間もかからない筈すから、過去を振り返えってISAのドキュメントが
公開されるまで勝利宣言わ待った方が良いのでわ。。。
352,,・´∀`・,,)っ:2008/08/22(金) 02:21:31 ID:6R6YXCRn
勝利とかwww
そんなものは求めていない。
最適化屋に必要なのはディベートではなく理想のCPUアーキテクチャなんだよ。
まして何言われても持論の間違いを認めない誰かさんみたいなバカが勝者(笑)なんて
当人以外思っちゃいない。
353Socket774:2008/08/22(金) 08:45:26 ID:iBCS7B4z
Ctで書けばLarrabeeと同時にマルチコアSSE(AVX)のコードも完成するわけだ。
これでnon-SSE, non-multicoreなコードに比べてGPUで100倍速くなったとかいう
クズ論文がこの世から消滅してくれる。
354Socket774:2008/08/22(金) 08:59:23 ID:cV9nKmLj
>>350
それはいいんだが、LarrabeeがSSEをサポートしていることを示唆するところはないと思うよ
355Socket774:2008/08/22(金) 15:37:23 ID:Y1wt7JCz
>>353
でもさ、Ctで書いただけだと激遅で、Larrabee+Ctにくらべて10倍速い!
とかいうのがでてくるんじゃないかと思う。結局Nativeで書けよっていう。
356Socket774:2008/08/22(金) 16:05:29 ID:PJzFw79f
http://pc11.2ch.net/test/read.cgi/jisaku/1214999146/299
299 名前:,,・´∀`・,,)っ[sage] 投稿日:2008/08/19(火) 21:44:42 ID:wyv3H8Wc
負け犬の遠吠えやってる自覚は一応あるんだな。感心した。
まあ知識はSIMD=SIMMの人と同レベル
森嘉朗がITについて語るくらいに聞く価値がない。


「SIMD=SIMMの人」

357Socket774:2008/08/22(金) 16:09:09 ID:PJzFw79f
誤爆失礼しました
358,,・´∀`・,,)っ:2008/08/22(金) 16:25:04 ID:6R6YXCRn
逆に「動かない根拠」を提示してくれ。動くべきという根拠は示してる。
あ、後藤は想像に任せるとたまにとんでもない解釈をやるから却下。

まあ決め手はこの辺かな
・LNIは既存命令のOpcodeの共存を考慮したSSEの延長上の命令群。
・3オペランド拡張はAVXのVEXプレフィクスを使うことで実現でき、
しかも拡張フィールドがかなり余ってる。
→LNIはAVXの派生命令セットと考えるのが妥当。
・Intelには上位命令のサポートにあたり下位命令のサポートを打ち切った前例がない。
 →SSEからLNIのゆるやかな移行も考慮すべき
・マスク・シャッフル機構も備えるよりワイドなSIMDユニットで128ビットのSIMDをサポートできない理由がない。


あとは、デコード部だが
スカラ部がPentium命令完全互換と言ってることが、むしろ確信させる要因となる。
つまりデコード盲腸であるx87すら使えるということ。
x87超越関数みたいなマイクロコードROM容量を圧迫する命令を削らないで
SSEみたいな比較的コストの高くない命令群のデコードをサポートできない
技術的理由がないからね。

もちSSEはVPUでやればよく、P5世代といわれるスカラパイプ自体に大きく手を入れる必要はない。
もちろんVPUでは小回りが利かない一部のSSE命令をマイクロコードで実装することもできる。
SSEはレガシィ扱いなので多少遅い程度なら問題ない。動くことが重要。


スカラ側がノーマルP5+αってのとベクタ側でのSSE命令のサポートは、何ら矛盾しない。
359,,・´∀`・,,)っ:2008/08/22(金) 17:05:37 ID:6R6YXCRn
OS含め「あらゆるコードが動く」って言ってるしね。

XMMレジスタがない64ビットなんてのもありえない。
x64非互換の新たな基本ISAを定義する必要が生じてしまう。
LNIは汎用IAでのサポートをも見越した命令群だと説明してる傍らで
自らの互換戦略と矛盾することを敢えてやる合理的理由がどこにあるかね?
360Socket774:2008/08/22(金) 17:25:11 ID:cV9nKmLj
>>358
団子はSSEがあったらいいナと言う話をしているんだが(それには同意するよ)、
おれはLarrabee固有の実装ではちょっと難しいかもしれないという話をしているんだ
だから噛み合わない

団子は、下のLarrabeeでSSEをサポートしたくない技術的な理由に反論すべきだ

> ・マスク・シャッフル機構も備えるよりワイドなSIMDユニットで128ビットのSIMDをサポートできない理由がない。

LarrabeeのVPUが性能向上のためによりゆるやかなメモリコンシステンシモデルを採用している可能性が捨てられないし、
そうするとSSEと互換性を維持するのはそれなりのコストがかかる


どうでもいいことだけど

> x87超越関数みたいなマイクロコードROM容量を圧迫する命令を削らないで

配線レベルでできあがっているものから、ハナクソみたいな規模の回路を削るメリットはなんにもないし、
新規ユニットの設計の引き合いに出すのも不適切

>>359
なんだかなあ、団子はLNIとLarrabeeを混同している
361,,・´∀`・,,)っ:2008/08/22(金) 18:45:32 ID:6R6YXCRn
> SSEがあったらいいナ

ないとx86の互換性戦略として矛盾する
> LarrabeeでSSEをサポートしたくない
お前の願望は聞いてない
ゲルジンガーの言葉のほうが説得力がある。

> LarrabeeのVPUが性能向上のためによりゆるやかなメモリコンシステンシモデルを採用している可能性が捨てられないし、

捨ててください。

> そうするとSSEと互換性を維持するのはそれなりのコストがかかる

何故?と言う質問はさておき
GPUとしての効率のために後方互換と言うメリットを犠牲にしたら
x86を選んだ意味そのものが否定されるよね。


・Larrabeeに移植して高速化できる可能性が高いx86コードほどSSEに依存している。
・SSEを排除したら64ビット拡張はx64との互換性がなくなってしまう。

性能の為なら基本ISAを分断するような問題すらあってもかまわないかのような前提でのあんたの仮説に価値はない。


べつに速く動けとは言ってない。
1命令10クロックかかってでもとにかく動くことが大事。
362Socket774:2008/08/22(金) 18:50:46 ID:cV9nKmLj
>>361
団子もMACオタに負けず負けず嫌いのようでww

> ゲルジンガーの言葉のほうが説得力がある。

> x86を選んだ意味そのものが否定されるよね。

> 性能の為なら基本ISAを分断するような問題すらあってもかまわないかのような前提でのあんたの仮説に価値はない。

> 1命令10クロックかかってでもとにかく動くことが大事。

ぜんぶ団子の好き嫌いじゃん

363Socket774:2008/08/22(金) 19:00:48 ID:cV9nKmLj
おれは、出来るか出来ないかの話をしているんだよ
〜べき、とか、〜が大事、とか、〜に価値がある、といった話ではない

>>361
> > LarrabeeのVPUが性能向上のためによりゆるやかなメモリコンシステンシモデルを採用している可能性が捨てられないし、
> 捨ててください。

反論できないからってこんな要求まですんなよ
364Socket774:2008/08/22(金) 19:01:13 ID:/xxeJ4nz
ttp://pc.watch.impress.co.jp/docs/2008/0822/kaigai461.htm
>Intelは、LarrabeeのCPUコアは、PC向けCPUほど高いシングルスレッド性能は持たないが、
>OSを走らせるには充分な機能を備えていると説明する。
>「Larrabeeコアは非常に高機能で、ほとんどどんなコードも走らせることができる」とBill Mark氏は語る。

これ素直に読んだらSSE動くと捉えるだろ。
MMXならまだしもSSEが「ほとんどどんなコード」に入ってなかったら酷い話だ。
365,,・´∀`・,,)っ:2008/08/22(金) 19:09:47 ID:6R6YXCRn
根拠のない「可能性」を語るあんたほど感情的なもんはないよ

SSEをサポートしないのはこれまでIntelのとってきた方針と矛盾するし、
しないことで起きる問題のほうが甚大だ。

AVXのマニュアルなんかに目を通せばx86における
バイナリコードを含むコード資産の継承についてIntelの思想が理解できる。
366,,・´∀`・,,)っ:2008/08/22(金) 19:22:34 ID:6R6YXCRn
>>364
ようやくまともな意見が出てきて安心した

SSE未サポート説を唱えるバカ連中は
「SSE抜きの64ビット拡張作ったから64ビットWindowsをもう1バージョン作ってね」
なんて通ると思ってるのかね。Yamhillプランすら踏みつぶしたMSに。

SSEの互換を切り捨てることで得られるメリット(あるのか?)にどんな幻想を抱いてるのか
さっぱり解りかねる
367Socket774:2008/08/22(金) 19:26:24 ID:cV9nKmLj
>>364
> >「Larrabeeコアは非常に高機能で、ほとんどどんなコードも走らせることができる」とBill Mark氏は語る。
> これ素直に読んだらSSE動くと捉えるだろ。

いや、既存のGPUと違って、いろいろなコードが動くという意味だろ
既存のx86バイナリをそのまま動かせるとは読めないね

もし既存のx86バイナリを文字通りそのまま動かせるんだとしたら、
なぜここで「既存のx86バイナリをそのまま走らせることができる」と言わないのかね
せっかくのセールストーク中なのに

>>365
> 根拠のない「可能性」を語るあんたほど感情的なもんはないよ

根拠は何度も挙げてるだろ
「SSE的なメモリコンシステンシモデルを採用すると、Larrabeeの性能の足を引っぱる」


これまでのインテルの方針は理解しているし、これからも続けるだろうが、
角を矯めて牛を殺すようなことはしないだろう、と言ってるんだよ

Larrabeeなんて高々一つの実装なんだよ
それよりも、メモリコンシステンシモデルを含めたアーキテクチャの定義のほうがはるかに重要だ
368,,・´∀`・,,)っ:2008/08/22(金) 19:29:29 ID:6R6YXCRn
それはあんたが趣味でASIC組んでやってくれ。
1個人の願望をIntelに求めるな。
369Socket774:2008/08/22(金) 19:32:42 ID:cV9nKmLj
>>368
> 1個人の願望をIntelに求めるな。

お前が言うな(AA略

それにしてもSSE必要派はなんなんだ
いったいどういう局面でSSEが必要になるんだ
LarrabeeをWindows PCにしたいのか
370Socket774:2008/08/22(金) 19:40:11 ID:c46GeqI5
そろそろスルーよろ。>粘着君以外
371Socket774:2008/08/22(金) 19:42:02 ID:cV9nKmLj
>>370
そうだな
インテルのポリシーはおれも知っているから、技術的な反論以外はもう書かないでくれ
372,,・´∀`・,,)っ:2008/08/22(金) 19:44:25 ID:6R6YXCRn
>ウィークコンシステンシ

つか逆に、x86って常にL/S順序は一貫してたっけ?
じゃあ{m,l,s}fence命令は何のためにあるの?


SSEなんて殆どレジスタに作用する命令だし
VPU演算結果出力の下128ビットだけをXMMレジスタリに書き込むだけで良いはずなんだが。
なぜそれを無理と言い出すのか理解不能だったんだがようやく理解できた




x86命令セットを何も知らんのだろ?
373Socket774:2008/08/22(金) 19:51:40 ID:DMVPza8W
>いや、既存のGPUと違って、いろいろなコードが動くという意味だろ
>既存のx86バイナリをそのまま動かせるとは読めないね

これは苦しいな。
ほとんどどんなコードの意味には既存のx86バイナリも含む様々なコードとしか読めないけど?
374,,・´∀`・,,)っ:2008/08/22(金) 19:57:10 ID:6R6YXCRn
XMMレジスタを一切読み書きしないx64用OSはおそらく存在すらしないな。
375Socket774:2008/08/22(金) 20:01:40 ID:/xxeJ4nz
>>367
>なぜここで「既存のx86バイナリをそのまま走らせることができる」と言わないのかね
俺もこれはちょっと思った。けど勘ぐりすぎかなと思って素直に捉えることにした。
ただ、「そのまま動く」と言ってない理由にx64で切り捨てられた命令群や、
MMXみたいなもう使う理由のない命令は流石に対応しないという意味に思えたもんで。

やっぱり売りとしては今あるSSE類を使った並列化可能なプログラムはそのままララビーでも実行できて、
その上で拡張レジスタで処理した方がさらに速くなるという方が自然だと思う。
特にx86のコード資産を最重視してるインテルが新規に市場を奪おうとしてるのにメジャーな命令を外すとは思えない。
技術的な話でできるかできないかなら、団子の言うようにできない理由はない。

たしかにララビーのベクタユニット見るとSSEなんか必要ないと思うけどね。
でも今は性能追求よりも普及を目指す段階だし、ベクタが独立してることからもゆくゆくは外されるかもしれない。
376Socket774:2008/08/22(金) 20:16:43 ID:cXfmDato
盲腸に近いMMXやx87fpがいまだサポートされていることを考えれば
Intelのバイナリ互換信仰は相当根強いと思うけどね。
377Socket774:2008/08/22(金) 21:08:49 ID:cV9nKmLj
>>372
> >ウィークコンシステンシ
> つか逆に、x86って常にL/S順序は一貫してたっけ?

実装はしらんが、sequential cocnsistencyではないJK

> SSEなんて殆どレジスタに作用する命令だし

ああ、そこは関係ないから

LarrabeeにはScatter/Gatherがあるだろ、
1命令で16要素のメモリアクセスするから、スレッド数にあわせて4段のパイプラインだと、
全部で64アクセスをバッファにためないといけない

それをSSE的にフェンスするとなると、下手すれば全スレッドが止まる
378,,・´∀`・,,)っ:2008/08/22(金) 21:20:00 ID:6R6YXCRn
珍説の動機はそんなことか
ずいぶんくだんねーな。
そりゃシリアル化が必要なところでは使わなきゃしゃーないし
SSEが使えないとする理由にはなり得ない。



P6、NetBurstのときも異常に遅い命令があって、最適化マニュアルにて使用非推奨にしたことはあった。
でも#UDにした命令はいまだかつてないんだよね。
379Socket774:2008/08/22(金) 21:21:28 ID:KMDleldo
SSEサポートしても意味ないだろ
既存のコード走らせても、たぶんC2Qなみか
それ以下だろうから
380,,・´∀`・,,)っ:2008/08/22(金) 21:32:02 ID:6R6YXCRn
それとも、SSEのあらゆる命令を使うと自動的にフェンスの副作用が起きるとでも思ってるのか?
x64で標準仕様となってるXMMレジスタとスカラ/SIMD命令が使えなくなる理由ならえらい迷惑な勘違いだぞ?

フェンスなんてそもそも頻繁に使う命令じゃねーよ。
マルチスレッド環境での共有変数の読み書きには必要ではある。
381Socket774:2008/08/22(金) 21:37:39 ID:cV9nKmLj
>>378
VPUのほうはメモリアクセスを全く順序づけないのが簡単なんだ
どうせベクトルデータだし、VPUが排他制御する必要はなんにもない

ところがVPUをSSE対応にするとなると、フェンスの全停止以外の解決はそれなりのリソースを食うんでね

>>380
違うつの
フェンスに対応したメモリアクセスユニットが割高につくという話だ

お前、ハードとソフトのコストもごちゃまぜにしてるぞ
382Socket774:2008/08/22(金) 21:41:04 ID:cV9nKmLj
>>380
> フェンスなんてそもそも頻繁に使う命令じゃねーよ。
> マルチスレッド環境での共有変数の読み書きには必要ではある。

そりゃPCなんかのアプリの話だ
GPUだと小さなスレッドがいっぱい走ってる
依存関係はほぼないが、「ほぼ」というのが曲者だ
383Socket774:2008/08/22(金) 21:42:09 ID:KMDleldo
ここ見るまでメモリフェンス知らなかったw
16要素のレジスタ関節アドレッシングで
フェンスなんてやってられないよな
論外だろ
セマフォみたいなのに使うのもいみふめい
384Socket774:2008/08/22(金) 21:44:22 ID:KMDleldo
>>382
同期ってメモリアクセスレベルで取らなきゃいけないの?
もっと低コストな方法はないものか
385,,・´∀`・,,)っ:2008/08/22(金) 21:45:08 ID:6R6YXCRn
>>379
動くことに意味があるんだよ。
遅いとは言ってもx87よりは速いのは確実だし、動かないのは論外。

Intelは「緩やかな移行」の手段を提供してきた。
新命令に最適化して効果が大きい部分をまず先に重点的に新命令に書き換える
という選択肢が得られる。それがコード資産の継承の最大の意味。

いきなり全部書き直しだと、CellやCUDAに対する強みにならない。
386Socket774:2008/08/22(金) 21:48:32 ID:KMDleldo
>>385
Cとか処理系を提供すれば
バイナリ互換なんて関係ないよ
シングルスレッドはATOM程度なわけだから
ベクトル拡張に合わせて書き直さないと
何にも使えないはず
387Socket774:2008/08/22(金) 21:53:04 ID:KMDleldo
CUDAほどきつくなくても、データ構造とかを
明示しないと性能出ないのは明らか
書き直さないで動かす人いないでしょ
388,,・´∀`・,,)っ:2008/08/22(金) 22:00:13 ID:6R6YXCRn
フェンスの副作用のない命令までなんで禁止しないといけないの?
SSEにはベクトル要素毎に独立にメモリアクセスするようなLS命令はない。

シリアル化が必要なところで明示的なフェンス制御命令はどのみち必要だ。
SSEを禁止する理由にならない。

だいたいに16要素の独立ロード・ストアを等速で同時にこなせるわけがないだろJK

マスクを駆使して最大16回L/S発行するだけかもしらん。もちろんパイプラインはストールする。
キャッシュライン縛りの兼ね合いもあるし、
アセンブリレベルの生産性の向上には寄与するかもしれんが
スループットは最初から期待できない。
389Socket774:2008/08/22(金) 22:02:21 ID:KMDleldo
CPUは高速化のための新命令追加だけじゃなく
既存の命令も高速化されてる
だから部分最適化というか、一部新命令追加でも速くなる
390Socket774:2008/08/22(金) 22:04:42 ID:HWA6Qe9k
いまどきSSEなんざtrapかけてosでエミュれば良いだろ。互換云々いうなら。
391Socket774:2008/08/22(金) 22:05:32 ID:KMDleldo
>>388
フェンスの必要性じゃなくて、それ実現のためのハード量の問題じゃね?
トランジスタが無限で、クロックに影響なきゃ
どんな命令だって追加するさ
392Socket774:2008/08/22(金) 22:09:05 ID:HWA6Qe9k
あるいはいよいよビットが足りねぇから再去り宛てとか。ゲラゲラ
393Socket774:2008/08/22(金) 22:10:02 ID:KMDleldo
ISA互換だけならエミュるとか、マイクロコードで実相とかなんでもいいんだよな
ただ速くないのに互換性があっても
グラフィックスや数値計算じゃ意味がない
バイナリ互換だけが売りで、この手の用途で
成功したアーキなんかないだろ、たぶん
394Socket774:2008/08/22(金) 22:11:37 ID:HWA6Qe9k
>>393
68030 -> CPU32とかPPC ->405のfpとかあるんでないかい?

ところでstoreはするーのか
395Socket774:2008/08/22(金) 22:13:12 ID:HWA6Qe9k
あれ、うけねぇなぁ…
396Socket774:2008/08/22(金) 22:15:12 ID:HWA6Qe9k
フォルトはおせーし、あ〜あ時代は繰り返すな…
397Socket774:2008/08/22(金) 22:23:55 ID:KMDleldo
>>395
すまんです
おれの知識がたりないのでピンとこないです
寝ます
398Socket774:2008/08/22(金) 23:01:29 ID:W74FvQtr
そろそろIntelもx86どうにかしようと画策してるんじゃね?
今はうまくやってるが、今後もそうとはかぎらんわけで

x96とWin32を互換Boxに追い込めれば、ブランニューのアーキテクチャをつくれるのにな
399,,・´∀`・,,)っ:2008/08/22(金) 23:05:53 ID:6R6YXCRn
シリアル化が必要なところで明示的なフェンス制御命令はどのみち必要だ。
SSEを禁止する理由にならない。

だいたいに16要素の独立ロード・ストアを等速で同時にこなせるわけがないだろJK
おそらくマスクを駆使して最大16回L/S発行するだけ。もちろんパイプラインはストールする。
キャッシュライン縛り(64か128バイト単位?でのデータ移動)の制約もあるからリッチにするだけ無駄。
アセンブリレベルの生産性の向上には寄与するかもしれんが。
400Socket774:2008/08/22(金) 23:42:21 ID:tGPGS/4J
>>377
>LarrabeeにはScatter/Gatherがあるだろ、
>1命令で16要素のメモリアクセスするから、スレッド数にあわせて4段のパイプラインだと、
>全部で64アクセスをバッファにためないといけない

1命令を1クロックサイクルでこなせるなんてどこにも書いてないし、
小さなデータでも常にキャッシュライン単位での移動になるから
LSUだけを化け物にしたところで>>399の指摘どおり内部バス帯域が
付いていかない。

複数クロックかかるマクロ命令だろう。



>>379
80:20ルールといって、パフォーマンスのボトルネックは
コード全体の2割以下のモジュールという経験則がある。
で、20のうちでも、LNIに置き換えることによってスループットを
引き上げることが出来る箇所はおそらく現状SSEで実装されてる
コード部分でもごく一部だ。

SSEはもちろんAVXにもスカラ命令が存在すること自体、ベクトル化が
出来る箇所が限られてることの現れだ。
で、LNIに置き換えて効果の見込めない、スカラだったり、
2〜4並列程度で十分な箇所は、SSEのコードのまま残してもいい。

市場のCPUがAVX以降の命令への完全移行にともないレガシー部分は
ゆくゆくは全部置き換えることになるだろうが、効果の少ない
部分は後回しにしたり放置したりできる。

SSEを非互換にしたりすると、SSEを使った部分を最初から全部書き直す
羽目になる。
これはIntelの互換戦略としてあり得ない。

401Socket774:2008/08/22(金) 23:45:58 ID:FSQKsPQR
>>366
>>364 の参照先の記事で
> ●Intelは新言語拡張「Ct」をLarrabeeのために準備
               :
> CtはSSE系命令だけでなく、Sandy Bridgeの新ベクタ命令「Intel Advanced Vector
>Extensions (Intel AVX)」、Larrabeeの新ベクタ命令「Larrabee New Instructions
>(LNI)」、さらに将来の命令もサポートする。

と書いてあるから Larrabee は将来ではなく最初から SSE を搭載しているように読める
けれど、Larrabee で Windows を走らせる意味が果たしてあるかというと全くないように思う。

GPUのようなものすごい多コア化は Windows と一般アプリの高速化にはあまり寄与しないし、
一般アプリや OS と GPU とではメモリアクセスのパターンが全然違うのでこれまた効率が
犠牲になるし、ただでさえメインメモリの帯域不足が問題視されているのに更にそれに
GPU のような帯域食いが載ったらもう。
402Socket774:2008/08/22(金) 23:58:02 ID:cV9nKmLj
>>400
Larrabeeのscatter/gatherは、1キャッシュラインあたりに1サイクルかかる
16データ全部が同じなら1クロックで済むよ

> LSUだけを化け物にしたところで>>399の指摘どおり内部バス帯域が
> 付いていかない。
> 複数クロックかかるマクロ命令だろう。

君も団子もだけど、どうしてそういうところでケチくさいのかなあ

リストベクトルなんて有名な性能ボトルネックじゃん
リソースの投入し甲斐のある箇所だよ、ベクトル機みたいにね
403Socket774:2008/08/23(土) 00:27:22 ID:tczlp1om
結局のところHPC向けにx86互換って部分は武器になりうるんだろか
その分野の人達は性能が出るなら物には拘らない、に対する回答を特に聞いてない気がする
ULPC以下の分野にはブラウザ使うならx86以外あり得ないってところを強調してるけど
404,,・´∀`・,,)っ& ◆CpZG7wlrbE :2008/08/23(土) 01:35:21 ID:PdGFAl1j
>>402
お前がボトルネック分析もできない馬鹿だということはよくわかった。
もうこの話題に関わるな。知識レベルはMACヲタ以下。

リングバスが双方向で計1024ビットと帯域が解ってるだろ。
L1,L2のキャッシュラインが1エントリ128byteだとして、
リングバスに流せるデータスループットは双方向で理論上最大1line/clk程度
無論メインメモリの帯域はそれを下回るだろうし全コア分のトラフィックが
集中することを考えると、1コアあたりで使える帯域は限られる。

1コアにLSUを複数積むことで得られるパフォーマンスゲインなど
限りなく無い。

しかも、おまいの仮説(妄想)では「SSEのサポートが困難になる」わけだろ?
消費電力も増える→シンプルなコアの集積でスループットを稼ぐアプローチと矛盾

よってリソースの投入し甲斐とやらは、無いと断言できる。


つーか、LSUは消費電力が大きい部位でな、
Nehalemですらデータロード・命令フェッチは最大16バイト/clkに抑え込んでる。
Loadユニット2本、32バイト命令フェッチにしちゃうと消費電力が馬鹿みたいに
上がると中の人は説明していた(*1)。

10%の性能向上のために30%も消費電力増加するアプローチは採用しない。
それが今のIntel。

*1) 実際Phenomはこの拡張をやった結果爆熱化してクロックが上がらず
結果的に同世代プロセスルールのCore 2と比較しても低性能になってる
結果として理にかなってる。
405,,・´∀`・,,)っ/:2008/08/23(土) 01:39:02 ID:PdGFAl1j
うはwww鳥に化けたwwww
406Socket774:2008/08/23(土) 01:41:35 ID:VT1Lvcyt
逆に考えてごらんよ。
HPCの分野はGflopsの値が高く出るlinpacのように極めて単純な
構造のプログラムに適したハード構成やチューニング技術に特化しすぎて
実分野では性能も出ない信頼性も低い金物を税金つぎ込んで作って捨てて、
儲からない袋小路にはまって抜けだせせなくなった。
ま、いわゆる古いタイプの大企業の研究所のお為ごかし研究成果に周りが騙されただけとも言えるが。
うっかりそれに関わったきまじめなソフト屋はデスマによって優秀なヤシから潰されて死体累々。
適当にサボったヤシしか生き残らず、そのうち事業は誰にも相手にされなくなった。
逆にインテルやIBMのpowerなんかもそうだけれど、金になるコンピュータ事業のありかた、
儲かるハードとは何かを追い求めた結果として、儲かって次のハードを設計する資金を稼ぎ、
その資金をつぎ込んで速くて良くできたCPUを作り、そのプラットホームの元でソフト産業の
裾野を展開し共存共栄した。
そういった事業の指向を選んだ結果儲かって、Core2のようにリストも速い良くできたCPUを
設計することができた。
原因と結果を見間違えちゃいけないぜセニョール。
407Socket774:2008/08/23(土) 01:43:33 ID:VT1Lvcyt
ダンゴって、相手はだれでもいいからファビョってネットで喧嘩売るのが生き甲斐なのね
408Socket774:2008/08/23(土) 01:54:14 ID:VT1Lvcyt
throughputさえ上げれば性能が上がると
良く聞かされたお為ごかし
409Socket774:2008/08/23(土) 02:04:59 ID:JXQ8YI6i
そういやIA-64はもう終了と言って良いのかな
cache容量増やしても性能上がらず社内のcore2に負け
メルセドの子孫の墓標はどこぞに立ったのかな
結局、何だったんだあのEPICって
410Socket774:2008/08/23(土) 02:06:31 ID:xFIutyln
>>403
ジョブの時間短縮が桁違いぐらい得られればどこにでもマンパワーで移植を試みるよ。
実際の所は最高性能の領域と超低消費電力の両端では一番の壁は物理法則によるSiプロセスの限界だし。簡単に言えば物理法則内での実現可能性>>>できたものの使いやすさ。
411Socket774:2008/08/23(土) 02:14:55 ID:Gd1bXEj4
この場合、物理限界は関係ないかと
412Socket774:2008/08/23(土) 02:25:19 ID:vmtwjubU
>>409
予定では
2008後半 Tukwila
2009-2010 Poulson
2011? Kittson
413Socket774:2008/08/23(土) 02:32:49 ID:7E4WsYkq
>>404
> リングバスが双方向で計1024ビットと帯域が解ってるだろ。

リストベクトルの話で、なんでいきなりリングバスが出てくるんだ??
1,2次キャッシュはどうした

> つーか、LSUは消費電力が大きい部位でな、

だからSSEのメモリコンシステンシーのサポートをしたら、ただでさえデカいLSUがますますデカくなるって言ってんだろ
414,,・´∀`・,,)っ/:2008/08/23(土) 05:26:35 ID:PdGFAl1j
> だからSSEのメモリコンシステンシーのサポートをしたら、
> ただでさえデカいLSUがますますデカくなるって言ってんだろ

だから、そもそもLSUを複数搭載しなきゃいい話だろ。
帯域的にも1クロック1アドレスの解決で充分であって
それ以上を求めなければ破綻し得ない。
お前の願望前提での理屈に価値はない。

L/S順序のシリアル化はマルチスレッドにおける同期処理に必要不可欠だし
それによってフリーズする可能性があるってのは、シリアル化のせいではなく
実装に問題があるから。
シリアル化を禁止すれば良いってのはプログラミングをわかってない人のおばかな発想。

だからお前の話は本末転倒だ
415Socket774:2008/08/23(土) 05:41:08 ID:/YoDVmnM
>>406
ベクトルカルトの妄想ストーリーもここまでくると正直きもい
416Socket774:2008/08/23(土) 06:29:10 ID:4hAJJNNU
水平加算みたいな単純な命令すらPenrynでもいまだに複数のマイクロ命令に分解してるんだよな。

リッチ過ぎる命令が案の定複数クロックかかりますなんてのはIntelのお約束。

その意味、1クロックでこなせるに違いないなんて期待を抱いた時点で負け。


メモリフェンスが害悪?ならデコード時にNOPと解釈しちゃえばよくね?
#心臓病の予防のために心臓を摘出したいと言い出す頭がアレな人を見ているような気分
417,,・´∀`・,,)っ/:2008/08/23(土) 07:52:30 ID:PdGFAl1j
つーかさ
・P5はもともと純CISCである
・Larrabeeの1コアあたりのTDPはAtomに毛が生えた程度

以上を踏まえると複雑な命令はマクロ実装で複数クロック実行にして
回路は極力シンプルに抑えることは当然なんだよな

1コアにLSUを16基積むのが当然とか、どこのスパコンプロセッサだよ。
1コアだけで150Wだと思ってないか?

しまいには、メモリフェンスが邪魔だとかwww
SSEそのものが邪魔だとかさらにはx64命令セットとの互換性がなくていいだとか

自己の妄想や願望ありきで、それに立ちはだかる常識を片っ端から否定していく姿勢は
MACヲタ以上ですよ。
自分の思い込み自体が間違っているとは微塵も思わないところが彼を超越している。
MACヲタは間違いを指摘されると誤魔化したり敗走する程度には浅知恵や羞恥心はあるが
彼にはそんな思考すらない。脳みそアメーバ級。

ちなみにCellはCellで、「DMAブロッキング」という方法でL/S順序のシリアル化を
やるようになってる。必要な機構です。
メモリL/Sのシリアル化が使えなければ、マルチプロセッサにおける
マルチスレッドプログラムの設計を困難にする。
LSUを16基積むことで性能向上を得る云々以前に、マルチコアCPUとして死活問題。
418Socket774:2008/08/23(土) 08:33:27 ID:7E4WsYkq
>>414
> 帯域的にも1クロック1アドレスの解決で充分であって

だからLarrabeeは違う実装だといってるつの
本家の論文くらいちゃんと読め
リストベクトルの場合、同じキャッシュラインに乗るデータは異なるアドレスをまとめてロード/ストアするんだってば

インテル論文
> The speed of gather/scatter is limited by the cache, which typically only accesses one cache line per cycle.
> However, many workloads have highly coherent access patterns, and therefore take much less than 16 cycles to execute.
419,,・´∀`・,,)っ/:2008/08/23(土) 09:39:46 ID:PdGFAl1j
>リストベクトルの場合、同じキャッシュラインに乗るデータは異なるアドレスをまとめ>てロード/ストアするんだってば
 
もちろんそれは読んだ上で電波君かまってるんだよ。
マスキングとロード・ストアを1サイクルでこなしても「最大」16クロック
書き込み対象のキャッシュライン数分のクロックがかかると。

SSEの*fenceと干渉する云々の妄想は、おそらくはLSUを32ビット単位で
16基積むという彼の思い込みが前提なんだよね
420,,・´∀`・,,)っ/:2008/08/23(土) 09:44:57 ID:PdGFAl1j
↓で、16クロックかかるんならこんな必要ないじゃん

> LarrabeeにはScatter/Gatherがあるだろ、
> 1命令で16要素のメモリアクセスするから、スレッド数にあわせて4段のパイプラインだと、
> 全部で64アクセスをバッファにためないといけない
421Socket774:2008/08/23(土) 09:58:06 ID:7E4WsYkq
>>414
> シリアル化を禁止すれば良いってのはプログラミングをわかってない人のおばかな発想。

だから、SSE的なシリアル化はいろんな意味でコストが高いといってんの
シリアル化はSSE的なフェンス以外の実装もある

>>416
団子よりバカ

>>417
> 以上を踏まえると複雑な命令はマクロ実装で複数クロック実行にして
> 回路は極力シンプルに抑えることは当然なんだよな

普通は、特にこんな新アーキの場合は要求性能が最初に決まるんだよ
本末転倒

>>419
> おそらくはLSUを32ビット単位で16基積むという彼の思い込みが前提なんだよね

勝手に想像しておれを叩かないでくれ…
せめて引用して叩いてくれ…

>>420
> ↓で、16クロックかかるんならこんな必要ないじゃん

??意味がわからん
リストベクトル命令もパイプライン化されてるだろJK

422,,・´∀`・,,)っ/:2008/08/23(土) 10:02:58 ID:PdGFAl1j
当初の主張は
「LarrabeeではSIMD整数演算をサポートしてないからSSE互換でない」
だったんだよな。もちろん間違いだった。

LarrabeeがSSE対応だとどうしても困ることがあるようで
何か重大なトラウマでもあるのかと思いました。
423Socket774:2008/08/23(土) 10:05:40 ID:7E4WsYkq
>>422
> 「LarrabeeではSIMD整数演算をサポートしてないからSSE互換でない」

これが間違いだってのはすぐに認めたぞ>>332
424Socket774:2008/08/23(土) 10:10:22 ID:ZJZ+QcAe
団子が言ってるのはID:cV9nKmLjの事だろう。
425,,・´∀`・,,)っ/:2008/08/23(土) 10:12:09 ID:PdGFAl1j
>普通は、特にこんな新アーキの場合は要求性能が最初に決まるんだよ

06年くらいから掲げられてたのは既存SSEコード資産の互換なんだが。

>??意味がわからん
>リストベクトル命令もパイプライン化されてるだろJK

お前の脳内の「常識」(笑)など聞いてない
最大16サイクル云々はレイテンシではなくスループットサイクルだ。
レイテンシだとレジスタ→L1間でも+3サイクル程度は少なくともかかる。
426Socket774:2008/08/23(土) 10:26:05 ID:7E4WsYkq
>>425
> 最大16サイクル云々はレイテンシではなくスループットサイクルだ。
> レイテンシだとレジスタ→L1間でも+3サイクル程度は少なくともかかる。

またわけのわからんことを

レイテンシ > スループット

ならパイプライン化されてるんだよ馬鹿め
427Socket774:2008/08/23(土) 10:36:35 ID:7E4WsYkq
VPUのリストベクトル命令は、ナイーブな実装なら難しくないんだよ
ただ、リストベクトル命令の途中でページフォールトが起きて、ハンドラ内でフェンス命令を実行すると死ねる
428,,・´∀`・,,)っ/:2008/08/23(土) 10:38:02 ID:PdGFAl1j
スループット16clkの意味わかってるの?
16サイクル後まで後続命令を発行できないってことだ。
429Socket774:2008/08/23(土) 10:48:16 ID:7E4WsYkq
>>428
> スループット16clkの意味わかってるの?
> 16サイクル後まで後続命令を発行できないってことだ。

なんだよ、団子もMACオタと大差ない理解じゃん
430,,・´∀`・,,)っ/:2008/08/23(土) 11:16:16 ID:PdGFAl1j
お前が誤解してるからそう思うんだよ。
お前の思う「理想」を捨てて客観視しろよ。

IntelがL/Sのサイクル数を言うときは基本的に最大スループットだ。
スループットサイクルは、Intelの資料上の定義では
理想状態で命令をN回連続実行しかかった合計クロック数をNで割った値(Nは充分大きい数)

「最大16サイクルかかる」ってのは1度発行してから次に同じ命令を発行するのに
文字通り最大16クロックサイクル待たされる。

パイプライン化されてるってのはスループット1ですむってこと
1つLSUの発行ポートを最大16サイクルにわたって占拠するのをパイプライン化とは言わない
リストL/Sが連装LSUによってパイプライン化されてるなら「16クロック以内」
じゃなくて「1クロック」って書くだろうよ。

これは憶測でもなく事実を根拠とした考察


パイプライン化されてるに違いないなんてのは「願望」というか「妄想」
それありきの連想はやっぱり妄想の域を出ない。
431Socket774:2008/08/23(土) 11:19:14 ID:d2JZ+pHY
ステージサイクルが1-1-3の三段パイプラインのスループットとレイテンシを考えてみな
432,,・´∀`・,,)っ/:2008/08/23(土) 11:34:15 ID:PdGFAl1j
くどいけど、L/S順序のフェンスをすると止まるような危険な実装なら
やめるべきなのはフェンスではなく連装化のほうだ。

フェンスに「SSE的」もくそもない。
もともとマルチプロセッサを考慮して用意された命令だ。
フェンスはマルチプロセッサ・マルチスレッドでの
効率的な同期処理において「絶対に必要不可欠」なの。
代替手段などあり得ない。

それともIntelはお前の我侭聞いてくれる会社にでもなったの?
リストI/Oだけの性能(笑)のために10年前から続けてきた
フェンス機構の設計を見直させることは無理だと思うけどね。
433,,・´∀`・,,)っ/:2008/08/23(土) 11:36:57 ID:PdGFAl1j
つーかレイテンシとスループットの概念がわかってないのはMACヲタの専売特許だぞ
彼のキャラをパクんな
434406:2008/08/23(土) 11:48:30 ID:yOAbj4OQ
>>415
core2のリストを誉めた結論に対して、どう縦読みしたらベクトル崇拝と受け止られるんだお…
435Socket774:2008/08/23(土) 12:01:44 ID:d2JZ+pHY
>>432
連装ってなんだよ
おれの発言を捏造しないでおくれ

メモリの順序づけなんて、データ依存関係があるところだけでいいんだよ
フェンスなんて大ざっぱすぎる
436Socket774:2008/08/23(土) 12:08:14 ID:d2JZ+pHY
ちゃんとした教科書には、メモリコンシステンシモデルの意義が書いてあるはずだが
慌ててぐぐった表面的な知識を披露してくれなくてもいいよ
437,,・´∀`・,,)っ/:2008/08/23(土) 12:15:08 ID:PdGFAl1j
だからお前の妄想はいらない
438Socket774:2008/08/23(土) 12:15:12 ID:85xB99oZ
こんなに盛り上がってるのに誰かさんがこのスレにこないなぁ
439MACオタ>団子 さん:2008/08/23(土) 13:04:00 ID:yPEfu6rR
>>433
また『見えない敵』と戦っているすか(笑)
誹謗中傷に勤しんでも、過去の恥ずかしい記録わ消えないすけどね。。。
http://pc11.2ch.net/test/read.cgi/jisaku/1209622524/834
  -------------------
  834 名前:,,・´∀`・,,)っ 投稿日:2008/07/12(土) 14:55:55 ID:cL+fyQY2
    ゲルたんが言うんだ。
    今年発表されたAVXがSandyBridgeとLarrabee共通の新命令であることは自明。
  -------------------
http://pc11.2ch.net/test/read.cgi/jisaku/1174309818/396
  -------------------
  396 名前:・∀・)っ-○◎● 投稿日:2007/04/19(木) 21:00:02 ID:6E1sFwXl
    フェッチ帯域が16バイトのままだと思いたがる方が、電波でしかない。
  -------------------
次に恥をかきそうなネタわ、Sandy BridgeでFP演算器これすかね?
http://pc11.2ch.net/test/read.cgi/jisaku/1194499453/844
440MACオタ>438 さん:2008/08/23(土) 13:06:19 ID:yPEfu6rR
>>438
IDFの資料に夢中で、こっちのフレームに付いていけてないす(笑)
441Socket774:2008/08/23(土) 14:49:18 ID:d2JZ+pHY
おれは必ず技術的根拠を挙げて話をすすめているのにフレーム扱いは心外だ

ロックを獲得したのを保証してからクリティカルセクション内のデータをメモリアクセスさせるのがacquire
CS内のメモリアクセスが完了したのを保証してからロックを解放するのがrelease
これがフェンス命令のコンシステンシモデル

しかし例えば、無関係な二つのCSに入る場合でも
互いのacquire/releaseが他方のメモリアクセスをブロックするよな
無関係なCSなので本来は不必要なブロックだ
つまりフェンスより緩いモデルがあると言うこと

自CSに属するアクセスだけブロックする提案は、80年代から論文がいろいろ出ている
442Socket774:2008/08/23(土) 15:01:20 ID:d2JZ+pHY
さらに、CS内のあるワードについて最後の書き込みがされれば、
そのワードについては、次にCSに入る事が保証されているプロセッサは、ロック獲得前でも自由に読めるよな

これがデータフロー的解決
443Socket774:2008/08/23(土) 16:07:14 ID:d2JZ+pHY
>>431
団子たんにはこれの返答がほしいな…

それはともかく

ららびーのロードストアユニットってリストベクトル対応だろ
けっこうなOoO-nessを持ってると思うが
少なくとも途中でストールしたリストベクトル命令を追い越せるほうが
マルチスレッド性能がでるぞ
444Socket774:2008/08/23(土) 16:12:53 ID:d2JZ+pHY
>>442
例えば、ストリーミング処理で
入力のロックを獲得するために
出力のロック獲得やデータアクセスまでブロックされるということ
445,,・´∀`・,,)っ/:2008/08/23(土) 17:04:33 ID:PdGFAl1j
>>443
後続の命令は2クロック待たされる。
それはパイプラインとして体をなしていない。

必ず3かかるのがわかってるならステージを3分割して分散処理させたほうがいい。

でも3かかる処理がたまにしかこなくて普段は1で済む処理を
こなすというならアリ。


でだが、ベクトル要素毎のL/Sは、LSUが一個しかないのに
16クロック待たされるって事実が気に入らないの?

ベクトルL/S命令投入の1クロック後に常に即次、
命令を投入できるようにしたいならLSUが16本連装されてないと無理なんだよ。
16キャッシュラインの書き込みに16クロックかかるだけなら
キューイングを深くする必要自体がないんだよ。








ところでLarrabeeは4段パイプラインだと本気で思ってるやついるの
この馬鹿以外に
446Socket774:2008/08/23(土) 17:34:33 ID:d2JZ+pHY
>>445
さんきゅ
帰ってから反論する

フェンス命令必須論も展開しといてください
447,,・´∀`・,,)っ-○●◎:2008/08/23(土) 18:02:43 ID:rJ2nlBcm
さて、団子げっとー(嘘


> 帰ってから反論する

願望ありきで「論」をなしてないからはっきり言って無駄。
おまいの願望にはTDPとダイ面積の制約の中で効率を上げるアプローチ
つまりできるだけシンプルでなければならないという視点が欠落してる。






Larrabeeのパイプライン段数を推測するにはいくつかヒントがある。
いつぞの古いIA32最適化マニュアルを参照、P54Cは5段のパイプラインとなっていることがわかる。
そしてデコーダは1バイトOpcodeに最適化されており
2バイト以上の命令は、先頭からOpcode終端までのバイト数分だけ使う仕様になっている。

で、このP54C型のデコーダだと、LNIはOpcode終端までの長さは4バイト
(3〜4 Register Operandの実現のためVEX 3byteエンコーディングを使うと仮定)
つまり4クロックかけてデコードとかになるね。
でも、これだとベクトル積和算がいくらリッチだろうと額面どおりのスループット
出せるわけないんだよね。

つまり、LNIをデコードできる側は少なくとも、モダンなCPU並みにリッチなデコーダを
備えている必要がある。もちろん相応に段数が増える。
更に、P54Cと比べてLarrabeeの動作クロックレンジは10倍以上になる。
1GHzを超えるCPUって軒並みパイプライン段数は10段以上になるんだよね。
参考までに同じインオーダで2issueパイプラインのAtomで16段。

で、更に4スレッドのマルチスレッディング。
4つのスレッドから代わる代わる命令をフェッチしないといけない。
Pentium 4のNorthwoodは20段だったパイプラインが、HT有効にするだけで1段加わった。
少なくとも1段は増える・・・かもしれない。

さて、Larrabeeのパイプラインは何段?


誤答はこういう思考実験もなしにP54Cを引き合いに出して「短いパイプライン」なんて
言ってるが、こいつ本気でバカだろうと思うよ。
非対称パイプラインであること以外P54Cとは別物といっていいと思うよ。。
448,,・´∀`・,,)っ-○●◎:2008/08/23(土) 18:35:56 ID:rJ2nlBcm
http://pc11.2ch.net/test/read.cgi/jisaku/1217915128/

まあGPUとしては論外だな。
俺は既存x86/x64 OSがそのまま動きSSEの資産も引き継げる
Cellもどきとしての需要のほうしか期待してないからどうでもいいんだが



パフォーマンスゲインに寄与するとは思えないような命令1, 2命令の高速化のために
既存の有用な命令200命令以上を使用禁止にしろといってるバカ約一名はまったく話にならん。
449Socket774:2008/08/23(土) 18:47:27 ID:d2JZ+pHY
わかった
団子たんがららびーに何を期待するかは勝手だ

それはいいから、フェンス命令が必要不可欠ではないという主張に反論してくれ
450,,・´∀`・,,)っ-○●◎:2008/08/23(土) 18:49:29 ID:rJ2nlBcm
反論も糞もねー
コードを示せ


むしろお前の書いたマルチスレッド化プログラムでも示してもらおうか
そいつの性能をみてお前の主張の技術的妥当性とやらを判断してやろう
451,,・´∀`・,,)っ-○●◎:2008/08/23(土) 18:50:45 ID:rJ2nlBcm
zipでうpれ

タイムリミットは24時間以内
452,,・´∀`・,,)っ-○●◎:2008/08/23(土) 19:02:04 ID:rJ2nlBcm
100パーセント当たる予言をしてやろう。
Larrabeeのサポート命令はSSE2までは完全に確定。フェンス命令もそのまま使えます。
なぜなら資料の読み方も知らないバカの妄想にIntelは付き合わないからだ。



つーかpopcntなんかののスカラ拡張命令も使えることは示唆されてるね。

LarrabeeはGPUとして以外にNehalem Xeon-MPのソケットそのまま刺さるモデルが
以前から提示されてたよ。
でもこれができるのはバイナリ互換が前提だろうから
SSE4.2までコンパチの線はありうる。
453MACオタ>団子 さん:2008/08/23(土) 19:48:29 ID:yPEfu6rR
>>447
  ------------------
  Larrabeeのパイプライン段数を推測するにはいくつかヒントがある。
  ------------------
自慢げなところ失礼すけど、既にAnandがインタビューで質問した記事を紹介済みすけど。。。
>>105
  ==================
  5段のオリジナルPentium程じゃ無いけれど、16段のSilverthorneよりはるかに 「短い」とか。
  ==================
454,,・´∀`・,,)っ-○●◎:2008/08/23(土) 20:02:02 ID:rJ2nlBcm
お題:LNIにおけるスカラ浮動小数命令

AVXのv****{ss,sd}をそのまま使いまわせね?
→ついでだからAVX全サポートすればよくね?
455Socket774:2008/08/23(土) 20:09:34 ID:4vgFDbqp
未だ早い。

ソフトが付いてこれないうちの実装は、単なる無駄飯食いにしかならん。
456Socket774:2008/08/24(日) 00:31:04 ID:rWh3X51l
通りすがりの者だが
並列コードを生成するのは今時自動並列化コンパイラなりOpenMPコンパイラの役目だぞ
いまさらpthreadやWinthreadで直書きなんて滅多にしないし…
まさかアセンブラでわざわざ書くって話か?ごくろうさんなこった。
アセンブラで記述しても並列化スケーラビリティーに貢献無いから。
457Socket774:2008/08/24(日) 00:37:24 ID:rWh3X51l
しかしなぜ空間内の座標の様に特に向きとノルム・次元を持たない
配列内の数値の並びもひっくるめてベクトルと書くかね
458Socket774:2008/08/24(日) 01:26:10 ID:UHabmimR
お呼びでないから帰れ
459Socket774:2008/08/24(日) 02:32:27 ID:Fj/NHotH
お前も呼んだ覚えはないが
460Socket774:2008/08/24(日) 04:58:11 ID:7SWoDofU
>>d2JZ+pHY
DRF0みたいなものに言及するのはちょっと議論の方向がずれてると思うよ、
それでsyncやfenceより実装が楽になるわけじゃないでしょ?scatter/
gatherのconsistencyはそれはそれで面白いネタだが。

>>団子
SSE互換の有無については、結局願望レベルの根拠しか無いわけで、それで
他の人間を罵倒するのは下品。

>>447
Larrabee = P54Cベース説には、根強いものがありそうだな。
http://news.cnet.com/8301-13924_3-9985097-64.html
実ハードの動作周波数もわからんことだし、これも否定する根拠はなか
ろう。もしかすると、IBM ResearchのguTSからPower6につながる、ショート
パイプ&高速クロック路線を追いかけようとしたのかもしれないし。
http://researchweb.watson.ibm.com/journal/rd/446/allen.pdf

>>456 お呼びでない
461,,・´∀`・,,)っ:2008/08/24(日) 10:09:27 ID:Q2PjfEOA
>>460
・OpenMP
これ割と性能タコだよ。
ゲームで言うとオブリビオンはOMPを使ってるが2コア程度までのスケーラビリティ
ロスプラは独自のマルチスレッドエンジンで高いスケーラビリティを得られてる。
アセンブラの利点は外部公開しない関数のコールのABIを好き勝手できることにつきる。
Cじゃ組み込み関数で頑張っても値のSIMDレジスタ渡しすら制限されるからね。

SSEサポートは願望じゃなくて、64ビット拡張をサポートする以上SSE2までは不可分なんだよ。
あとは歴史に照らし合わせた観測だよ。
・*fence命令
同期用命令に問題が有るなんて言ったら突き詰めれば
LOCKプリフィクス廃止しろとかそういうレベルになって
もはやx86を選んだ意味がないとかさ。
性能以前にまずコード資産だ。そこはゲルジンガーも言及してる。

・クロックレンジ
1.8〜2.5GHzと公表されてる。

ちなみに4GHzと言われてた時は32コアで各コア4DP/8DPだから
128ビットのFADD,FMUL各1基と見られてた。Atomみたいな。

・スキャタ/ギャザ
アクセスするキャッシュライン単位分だけクロックかかるって判明してるわけだし
「性能がすごすぎてSSEと共存できない願望」は既に打ち破られてるんだよね
462,,・´∀`・,,)っ○:2008/08/24(日) 10:31:01 ID:Q2PjfEOA
複数キャッシュラインに作用する命令はアドレス下位からだな。
スキャタ・ギャザの場合、敢えて順序づけをするならLSUでの評価順で充分だ
463,,・´∀`・,,)っ:2008/08/24(日) 10:46:37 ID:Q2PjfEOA
・メモリコンシステンシ(笑)
つかFXSTORE/FXLOADみたいな全レジスタを退避・復帰の命令ですら
フェンス命令の副作用なんて起きないんだが

キューイング?なにそれ頭悪いの?的な。
メモリコンシステンシの問題なんてそもそも気にしなくていい
464,,・´∀`・,,)っ:2008/08/24(日) 10:50:52 ID:Q2PjfEOA
FXSAVE/FXRSTRでちた
465Socket774:2008/08/24(日) 12:58:13 ID:dxY2QGlA
>>460
やっと理解してくれる人が出てきてくれた(泣)

団子がフェンスは必須とうるさいので、話題がずれてしまった

リストベクトルの途中でページフォールトした場合、ハンドラ内でSSEのフェンス命令は実行できるのか?
アトミックなリストベクトル命令なんて実装も性能も悪化する
が、VPUをSSE互換にすれば、そうせざるを得ない

もちろんMMXユニットをSSE化すれば問題はない

VPUではフェンスではなくて、軽くて直接的な同期機構を用意するんじゃないかと思う
まあ願望レベルだけど、他のGPUにはいろいろ付いていた
466Socket774:2008/08/24(日) 13:06:58 ID:dxY2QGlA
いずれにしろ、アーキテクチャ定義の時点で厳しいモデルにすると、後々まで尾を引く
互換性に心をくだくゲルたんにとっても不本意の極みだろう

Larrabee固有の実装でSSEがないことのデメリットのほうを甘受するんじゃね?
467,,・´∀`・,,)っ:2008/08/24(日) 14:02:59 ID:Q2PjfEOA
ページフォルト(笑)とかww

新命令を用意して旧命令は非推奨にするってのがIntelのやり方だな
SSEに属する2,3命令のために200命令を越えるSSE*全体や、それに依存するx64基本命令セットまで禁止すべきというのはあり得ない解決手段。
2issueでストールしまくりのP5パイプラインをベースにしてる時点で1コアあたりの性能は妥協してると気づくべき。

旧命令を使ったら正常に動かないようなきついマイクロアーキの実装をすべきというのは
Intelとしては聞き入れない願望だし、まずこんなスレなんか見てない
だからやりたきゃ自分でASIC組んでろって言ってるの。
願望より現実を見ろ。
ハードもソフトも作らない奴のご高閲には価値はない。
468,,・´∀`・,,)っ:2008/08/24(日) 14:22:22 ID:Q2PjfEOA
IA32の実装においてLCPストールとかRAWハザード問題とか
継ぎ接ぎだらけの命令セットが災いしていろいろな弱点を抱えてるのは
確かなんだよ

根本から弱点を克服するにはx86命令セットそのものが病巣であり
後方互換の柵を捨て0からISAを定義するしかない。
でIntelが実現したのがIPFだ。

だがそれがどうなった?あの現状だ。
市場は後方互換を強く望んだ。


Larrabeeがx86をベースにした時点で、性能のために過去の資産を諦めるべきという思想は基本的に拒絶している。

「今までの命令も使えます。でも新命令使えばより速くなりますよ」
これだよIntelがx86で一貫してやってるのは
469Socket774:2008/08/24(日) 14:28:50 ID:dxY2QGlA
>>467
> ページフォルト(笑)とかww

(笑)にwwまでつけるところを見ると、
ページフォールトがアーキテクチャ設計においてどれだけ厄介なものか知らないようだな
やはりMACオタ並みの理解か

そして団子は己の願望を鸚鵡のように繰替えすのみ
470MACオタ>460 さん:2008/08/24(日) 14:30:08 ID:WF2KY+pZ
>>460
  --------------------
  IBM ResearchのguTSからPower6につながる、
  --------------------
下記のリンクで著者の名前を見比べれば判ると思うすけど、guTS/Rivinaのグループわ
ダイナミックサーキットによる高速化を研究していて、その後CELL/B.E.の設計に携わっているす。
消費電力削減を重視してスタティックサーキットで設計したPOWER6とわ関係無いす。
 - ISSCC98 プロセッサセッションプログラム: http://www.isscc.org/isscc/1998/digest/FP15.htm
 - IBM Joural R&D CELL特集号: http://researchweb.watson.ibm.com/journal/rd51-5.html
 - IBM Joural R&D POWER6特集号: http://researchweb.watson.ibm.com/journal/rd51-6.html

余談すけど、Intelも今回のIDFでNehalemでわ完全スタティック化したと語っているす。
http://intel.wingateweb.com/US08/published/sessions/TCHS001/SF08_TCHS001_100t.pdf (p.30参照)
471,,・´∀`・,,)っ━○◎○:2008/08/24(日) 14:42:50 ID:Q2PjfEOA
>>469
だからIA64にでも夢みてろよ
x86であること自体が性能に対する最大の妥協であり同時に利点だ
トランジスタあたりの性能はおそらくCellに劣る。
それで一部でも後方互換を捨てたらゴミにしかならない。


ページフォルトなんて問題になるならとっくの昔に破綻してる
472,,・´∀`・,,)っ:2008/08/24(日) 14:51:41 ID:Q2PjfEOA
お前が無知なだけでx86は1命令で複数のアドレスに作用する命令なんて大昔から存在してるからな。
スキャタやギャザの命令追加ごときで何で今更ページフォルトとかメモリコンシステンシ云々の問題になるのか。
473Socket774:2008/08/24(日) 15:07:59 ID:aNRR5yji
これからもSSEで組めますよって言ってるのに
これまでSSEで組んだものは動きませんよなんて
互換性あるのかなあ。
474Socket774:2008/08/24(日) 15:16:02 ID:dxY2QGlA
>>472
> お前が無知なだけでx86は1命令で複数のアドレスに作用する命令なんて大昔から存在してるからな。

やっぱりわかってねーな
ストリング命令なんかは最初からアトミックな動作をしなくていいんでね
475,,・´∀`・,,)っ:2008/08/24(日) 15:30:03 ID:Q2PjfEOA
movsb,movsdなんかはREPプリフィクスを付けてCでいうmemcpyを1命令でやるもので
VCなんかではmemcpyを未だにこの命令に展開する。
でも今じゃSSE*を使った実装と比べてもゴミ性能。
さらにキャッシュを汚しまくるからストリームを扱うようなプログラムでは
パフォーマンスに著しく悪影響を与える。

でも残してるんだよ。もちろんLarrabeeにも載るんだ。

同期のときにたまに使うかどうかのフェンス命令なんかより
memcpyのほうがよっぽど高頻度で使われる可能性高いからね。
こんな命令がごろごろあるのがPentiumでありx86。

SSEの資産が使えないと必然的にPentium時代の資産を使う羽目になるけどどうよ?


SSEをくだらない理由で否定するならx86そのものを否定しないといけなくなるよ。
476Socket774:2008/08/24(日) 15:36:35 ID:dxY2QGlA
べつに団子に恥をかかせるのが楽しいというわけじゃないんだが

> でも残してるんだよ。もちろんLarrabeeにも載るんだ。

そりゃスカラ命令だから残すだろう

> SSEの資産が使えないと必然的にPentium時代の資産を使う羽目になるけどどうよ?

資産って何だよ
ToHeartでも遊ぶのか?
477,,・´∀`・,,)っ:2008/08/24(日) 15:48:14 ID:Q2PjfEOA
既存のSIMD命令200命令以上と共存できない実行スタイルの実装の命令を搭載したい理由って何?

後藤すら「SSEの延長でOpcodeさえ重ならなければ既存命令命令と共存できる」と訳してるのに

なに?Opcodeをオーバーライドでもするの?死ぬの?

16のキャッシュラインの読み書きには16クロックの間
LSUを使うと言ってるのはIntelなんだけど
それっ既存命令とどう違うの?
というより、どう違ってほしいという願望があるの?
お前の見解がIntelと一致してる確信はあるの?
またその根拠は?

性能云々はいいよ。
Intelが性能を優先して互換を捨てたCPUの末路は全て知ってる
478Socket774:2008/08/24(日) 15:59:24 ID:dxY2QGlA
>>477
> 既存のSIMD命令200命令以上と共存できない実行スタイルの実装の命令を搭載したい理由って何?

おれの話をちょっとは聞けよ

LNIとSSEは共存できるよ

「Larrabeeでは」コストが高すぎて共存させないだろう

ということ
479Socket774:2008/08/24(日) 16:07:38 ID:dxY2QGlA
>>477

> 16のキャッシュラインの読み書きには16クロックの間
> LSUを使うと言ってるのはIntelなんだけど
> それっ既存命令とどう違うの?

10のキャッシュラインで済む場合は、10クロックで済むとも言ってるよな

> お前の見解がIntelと一致してる確信はあるの?
> またその根拠は?

あるけど団子にでも理解できるような説明は難しい
おいおい説明する


ところで団子よ
scatter命令で、最初のアドレスはオンメモリ、二番目のアドレスはページテーブル外だったとするよ
そうすると、最初の要素はメモリにストアされていると思うかね?
480,,・´∀`・,,)っ:2008/08/24(日) 16:09:18 ID:Q2PjfEOA
64ビット拡張は載るって言ってるのに?
先行して64ビットのコード資産を蓄積してる本命のHPC市場を捨てるのか?
SSE抜きは既にx64ではない。



ああLSUを変態にする前提でのコスト問題は無意味。
変態である前提が既に成立してないし。
481Socket774:2008/08/24(日) 16:17:35 ID:dxY2QGlA
>>480
> 64ビット拡張は載るって言ってるのに?

どのみちアドレスが32ビットでは足りないからね

> 先行して64ビットのコード資産を蓄積してる本命のHPC市場を捨てるのか?

市場は捨てないがコードは捨てる

> ああLSUを変態にする前提でのコスト問題は無意味。
> 変態である前提が既に成立してないし。

お前、人の話を聞く気がないのなら
> LSUを使うと言ってるのはIntelなんだけど
こんな話を持ちだすな
482Socket774:2008/08/24(日) 16:20:22 ID:mB+Dlgqq
どうでもいいけど両方ちゃんとコテトリつけとけよ
483Socket774:2008/08/24(日) 16:21:41 ID:dxY2QGlA
>>482
つけないのがおれの主義
484Socket774:2008/08/24(日) 16:30:04 ID:dxY2QGlA
ページフォールトハンドラ内では当然共有データのページテーブルを更新するだろう
なのでフェンス命令は必ず実行される

さて
scatter命令で、最初のアドレスはオンメモリ、二番目のアドレスはページテーブル外だったとする
最初のデータをメモリに反映してしまうと、一部だけストアされた中途半端な状態でフェンス命令を実行することになり、意味論的に誤った動作になる

scatterの全てのメモリアクセスをバッファリングしておいて、すべてのアドレスがページインした状態を保証してからバッファを書きだすと
意味論的には正しいが、バッファリングのコストと、実際のストアまでの余計な遅延がある
485,,・´∀`・,,)っ:2008/08/24(日) 16:30:58 ID:Q2PjfEOA
>>479
> 10のキャッシュラインで済む場合は、10クロックで済むとも言ってるよな

それは一度も否定してない。
やることはシャッフル+MASKMOV*みたいなもんだろ

> scatter命令で、最初のアドレスはオンメモリ、二番目のアドレスはページテーブル外だったとするよ
> そうすると、最初の要素はメモリにストアされていると思うかね?


妄想は勝手だが空論

それはプログラミング・リファレンスが公開されてからだな。

ページアドレス境界をまたげる仕様になってるか、
そもそも命令の仕様すら俺は知らない。
知ってるなら最低でも命令ニーモニックくらいは知ってるだろ?
だからお前は妄想前提だと言ってるの

例えばだが、L/S先に指定するアドレスはR/M+SIB+DISPに対するオフセットとして
そのオフセット値は前後○バイト以内


なんて制限のある仕様だったらどうする?
486,,・´∀`・,,)っ:2008/08/24(日) 16:42:47 ID:Q2PjfEOA
> > 先行して64ビットのコード資産を蓄積してる本命のHPC市場を捨てるのか

> 市場は捨てないがコードは捨てる

無理だな。
HPC用に用意されるソケット版はXeonとプラットフォーム互換で、QPIで相互インターコネクトされる。
むろん、混成も考慮されてる。
OSを含めx64のコードがLarrabeeで実行できるだろう。

OSも含めLarrabee専用に書き直すのか?
それができるならx86の64ビット拡張は今頃AMD64とYamhillで分裂してるよ。ばかめ。
487Socket774:2008/08/24(日) 16:48:07 ID:dxY2QGlA
>>485
> ページアドレス境界をまたげる仕様になってるか、

ページ境界をまたげないリストベクトルがどれだけ実用的か、使った経験があるキミならわかるだろ?
x86のページサイズは4KBだったな
ジャイアントページにまけてやってもいいぜww
488Socket774:2008/08/24(日) 16:48:54 ID:dxY2QGlA
>>486
> HPC用に用意されるソケット版はXeonとプラットフォーム互換で、QPIで相互インターコネクトされる。

だからそれはLarrabeeじゃねえって何度も言ってるだろ
489MACオタ:2008/08/24(日) 16:50:08 ID:WF2KY+pZ
Larrabeeのx86命令互換性でモメてるみたいすけど、論文でわ要リコンパイルと書いてあるす。
完全互換でわ無いんじゃないすかね。。。 (p.10, 6.1節参照)
  -------------------------
  Central to Larrabee Native programming is a complete C/C++ compiler that statically compiles
  programs to the Larrabee x86 instruction set.Many C/C++ applications can be recompiled for
  Larrabee and will execute correctly with no modification.
  -------------------------
490,,・´∀`・,,)っ:2008/08/24(日) 16:53:29 ID:Q2PjfEOA
>>487
良い答えだ。

4KBなら64byteのキャッシュラインなら64エントリ相当だな。
案外その範囲内かもしれないよ?


おっと、断定してかかるのは命令の仕様が判明してからにしな。
491MACオタ>488 さん:2008/08/24(日) 16:55:39 ID:WF2KY+pZ
>>488
  -------------------
  だからそれはLarrabeeじゃねえって何度も言ってるだろ
  -------------------
ネタバレ度が高かった"Tera Tera Tera"プレゼンに登場しているすから、あながち間違いでわ無いす。
しかし、あの構成図でもXeonと混在させていなかったのわ注意点なのかもしれないす。
492,,・´∀`・,,)っ:2008/08/24(日) 16:56:48 ID:Q2PjfEOA
>>488
ソケット版もGPU版も同一コア設計の派生物だ。
資料くらい全部目を通せ。
493,,・´∀`・,,)っ:2008/08/24(日) 17:00:32 ID:Q2PjfEOA
>>487
canとmustの違いって知ってる?中学生くん。

>>489
混在が無理なら無理でOSをLarrabeeで動かせる仕様でないといけないけどな
494,,・´∀`・,,)っ:2008/08/24(日) 17:04:13 ID:Q2PjfEOA
レス番が2つずつずれた
495MACオタ>団子 さん:2008/08/24(日) 17:11:36 ID:WF2KY+pZ
>>494
この場合の"can"わ、頭の"Many"と対応して『リコンパイルしても動かないプログラムが存在する』
ことを意味しているす。

ついでに言えば、最初のパラグラフの"statically compiles"というのわ、"-axP"のような形で
汎用x86コードと最適化コードが混在できない可能性があることを示している可能性もあるす。
その場合、どういう原因でそうなるか良く判らないすけど。。。 64-bitしかサポートしないとか?
496,,・´∀`・,,)っ:2008/08/24(日) 17:17:48 ID:Q2PjfEOA
ーQax*はブランチする命令を吐くぞ
専用コードを吐くのはーQx*
497MACオタ>団子 さん:2008/08/24(日) 17:32:04 ID:WF2KY+pZ
>>496
微妙に意図が伝わっていない様す。
勘違いでなければ、ブランチでコードパスを分けるという当たり前の手法が
『使えない可能性がある』というのわ、何が原因か?という疑問なんすけど。。。

"Larrabee x86 instruction set"という聞き慣れない言い回しも微妙すけど、過度に
妄想を逞しくするのわヤメておくす。
498,,・´∀`・,,)っ:2008/08/24(日) 17:40:38 ID:Q2PjfEOA
どいつもこいつも可能性を前提とした断定はやめんかwww

動かない可能性のあるコード・・・
AESやCLMULは現行ICCで先行対応してるけど、
たしかにLarrabeeでは未対応かもしれないね
499,,・´∀`・,,)っ:2008/08/24(日) 18:08:57 ID:Q2PjfEOA
ICCは独自のCRTスタートアップにCPUID値によって関数テーブルを追加する

LarrabeeはFamily=5だとして
x64としては今まで存在してないパターンだから例外になるとか?
32ビットだけどLinuxはFamily=6だとCMOVが無条件で使えると判断する
一部互換メーカーのCPUで使えないとかのバカ仕様だったことがあるが似たような問題かな?




x64非互換だといきなり「対応OSがない」。
じゃあIntelがOSを用意するの?

Linuxなら対応するかもしれないが、それならそれで
kernel.orgあたりにそろそろコードがあがってないといけない。
500,,・´∀`・,,)っ:2008/08/24(日) 18:09:53 ID:Q2PjfEOA
ICCは独自のCRTスタートアップにCPUID値によって関数テーブルを追加する

LarrabeeはFamily=5だとして
x64としては今まで存在してないパターンだから例外になるとか?
32ビットだけどLinuxはFamily=6だとCMOVが無条件で使えると判断する
一部互換メーカーのCPUで使えないとかのバカ仕様だったことがあるが似たような問題かな?




x64非互換だといきなり「対応OSがない」。
じゃあIntelがOSを用意するの?

Linuxなら対応するかもしれないが、それならそれで
kernel.orgあたりにそろそろコードがあがってないといけない。
501MACオタ>団子 さん:2008/08/24(日) 18:13:32 ID:WF2KY+pZ
>>499
  ------------------
  LarrabeeはFamily=5だとして
  x64としては今まで存在してないパターンだから例外になるとか?
  ------------------
確かに『リコンパイルが必要』と明記される理由わ、その程度である可能性もあるす。
502Socket774:2008/08/24(日) 18:25:34 ID:fnvA9hn2
503,,・´∀`・,,)っ-○●◎:2008/08/24(日) 19:50:02 ID:fXUc5UmU
でさ、scatter/gather命令の仕様なんだけどさ

A:命令列に16要素すべてのアドレスを含める
B:ZMMレジスタの各32ビットにアドレスのオフセットを入れて実行ステージで評価する。
C:それ以外

Aはx86の命令長は15バイトという規格上限を超えるだろうし1要素4ビットくらいに
圧縮して無理やり収めても命令フェッチ帯域の制限に引っかかって遅くなりそう。
だからB案かなと俺も思ったんだけど、たかが2命令のために用意する機構としては
Execute段でやる作業があまりに高価すぎる。スモールコアに収まりきるのか?

でさ、よくよく調べるとIntel曰く、これらの命令の目的は「AoSとSoAの相互変換」と説明してる。

AoSってのは構造体配列のことね。こんなの
struct Dangoyasan { int a; float b; Double c; } umee[1024];

で、どうやらscatter/gatherの役割はこんな構造体から各要素のたとえばaだけを取ってきて
Vectorレジスタに格納したり、逆に格納したりすることなんだよね。

構造体のサイズと、要素のデータサイズさえデコード時点でわかれば、
そもそも16個独立にアドレスを指定できる必要はないんだ。

(Prefix) Opcode ModRM (SIB) (DISP8|32) (imm8)
という従来のSIMD命令の命令エンコーディングの延長でいいじゃないか。

AoSの先頭アドレスをR/M+SIB+DISPで指定。
imm8でメンバのサイズと構造体のサイズを指定する。

この仕様ならマイクロコードROMの参照だけで、必要なマスクを生成でき
Executeステージで評価する必要がなくなるので負担も軽くなる。

で、imm8のうち2ビットで、データのサイズが8bit/16bit/32bit/64bitかを扱う。
残りを構造体サイズとし、6ビットを割り当てる。1〜64バイトを表現できる。
構造体は4バイトアラインメント前提だろうから4〜256バイトとしてもいいかもね。

とすればどうやら取得範囲は4KB以内にすら収まっちゃいそうですね。
ページフォルトは起こったとして1回起きるか起きないかだね。
確率的にrep movs*よりもページフォルト頻度は少なそうだ。


さて、SSEを禁止にしたい理由(笑)ってなんだっけ?
504MACオタ>団子 さん:2008/08/24(日) 20:14:47 ID:WF2KY+pZ
>>503
  ---------------------
  struct Dangoyasan { int a; float b; Double c; } umee[1024];
  ---------------------
double matrix[i][1000][1000] といったアクセスにも使う様す。
505Socket774:2008/08/24(日) 20:20:57 ID:dxY2QGlA
>>503
とりあえず、定ストライドアクセスはリストベクトルとは呼ばない

インテル論文 3.3
> Instead of loading a 16-wide vector from a single address,
> 16 elements are loaded from or stored to up to 16 different addresses that are specified in another vector register.
> This allows 16 shader instances to be run in parallel, each of which appears to run serially,
> even when performing array access with computed indices.

最後の行重要
506,,・´∀`・,,)っ-○●◎:2008/08/24(日) 20:28:28 ID:fXUc5UmU
>>504
Array of Arrayね。そっちもあったか。
けど、そんなでかい配列どうやって扱うんだ?

要素のサイズは、それごとにOpcodeを割り当てれば
imm8が丸々浮く。それでも8ビット。足りるか?

immを32ビットにすればいい?デコーダの解釈が難しくなる。
SSE4やAVXですらimm32をとるSIMD命令は存在しない。

オフセットはどこまでいけるみたいな情報あった?
507,,・´∀`・,,)っ-○●◎:2008/08/24(日) 20:30:25 ID:fXUc5UmU
>>505
で、[リストベクトル]の単語はどこに出てくるのかな?
508,,・´∀`・,,)っ-○●◎:2008/08/24(日) 20:44:10 ID:fXUc5UmU
*fenceでシリアル化すると起きる問題について聞きたいな
LSUがメモリにアクセスする順で順序づければいい話だよな。
なんの問題があるの?

ああ、それより固定ストライドでない証拠おねがい。

どっちにしてもSSE非互換にしなければならない理由がないがな。
絶対互換でなければならない理由は説明した。x64の件ね。

x64非互換の64ビットってある意味ではCellより厄介な代物になるってことわかってる?
Cellの場合、OSが直接触るのはPPEだけで、良くも悪くも64bit PPCのISAだけだったからそのまま動いた。
SPEもファイルシステム扱いするだけでよく、それで最小限の対応で済んだ。
OSを1から書かなきゃいけないってのは、PCでの失敗は約束されたようなもんだ。

SSEに対応しないというのはお前が思っている以上に深刻な問題を起こす。


「*fence使っても問題のない仕様にすればいい」という発想に
君はいつ切り替えてくれるの?
IntelはSSEを禁止することなど最初から考えてないと思うけど。
509Socket774:2008/08/24(日) 20:51:20 ID:dxY2QGlA
>>506
>けど、そんなでかい配列どうやって扱うんだ?

そんなでかい配列www

>>507
> で、[リストベクトル]の単語はどこに出てくるのかな?

もしかして団子はリストベクトルを知らない??


>>508
頼むから人の書き込みを読んでくれよう

> *fenceでシリアル化すると起きる問題について聞きたいな
>>484

> ああ、それより固定ストライドでない証拠おねがい。
>>505
510,,・´∀`・,,)っ-○●◎:2008/08/24(日) 20:54:28 ID:fXUc5UmU
>>505よく読んだら吹いたwwww

> インテル論文 3.3
> > Instead of loading a 16-wide vector from a single address,
                             ~~~~~~~~~~~~~~~~~
これ訳してみて。


あとなんか言いたいことあるなら聞くよ?
511MACオタ>団子 さん:2008/08/24(日) 21:01:30 ID:WF2KY+pZ
>>506
  -------------------
  オフセットはどこまでいけるみたいな情報あった?
  -------------------
4-byteの筈す。(p.4参照)
  ===================
  16 elements are loaded from or stored to up to 16 different addresses that are
  specified in another vector register.
  ===================
『各要素の4-byteオフセット?を持った、別のレジスタを元にアクセスする』とあるす。
512MACオタ@補足:2008/08/24(日) 21:03:37 ID:WF2KY+pZ
読めば判るように32-bitアドレシング可能であれば、固定ストライドである必要わ無さそうす。
513Socket774:2008/08/24(日) 21:03:30 ID:fXUc5UmU
> > *fenceでシリアル化すると起きる問題について聞きたいな
> >>484

君が*fence命令の動作をよくわかってないことがよくわかった。
仕様書嫁っていってもわからないんだろうね。
オープンソースのx86シミュレータがあるから動きをトレースしてごらん。
なんなら君の思う仮想scat命令を実行できるように改造して実行してみればいいよ
根本的な間違いについてわかるから。



あと、
とりあえずマルチスレッドプログラム書いたことがないことがわかったよ。
タイムリミットも過ぎたし。
514Socket774:2008/08/24(日) 21:18:07 ID:dxY2QGlA
>>510
> > > Instead of loading a 16-wide vector from a single address,
                             ~~~~~~~~~~~~~~~~~
> これ訳してみて。

16要素幅のベクトルを一アドレスからロードする「かわりに」、


> あとなんか言いたいことあるなら聞くよ?

今だいぶ恥かしいでしょ
515,,・´∀`・,,)っ-○●◎:2008/08/24(日) 21:33:04 ID:fXUc5UmU
>>511
>各要素の4-byteオフセット?

ここは4バイトフルに使うかはわからんよ。
AVXの仕様書見てても、シャッフル命令でなんで各要素のビットをフルに使う仕様にしないの?
みたいなのはあるからね。vpermil2psとかかなりスカスカになってる。
各要素値を評価する命令があるってことは、つまりvpermil2psみたいなリッチなシャッフル命令も
同時にサポートされる可能性も高いね。2命令のためとしては無駄すぎるから。

で、あの電波さんの件

CPUID命令って、CPUのバージョンやベンダー名、対応命令を取得するだけでなく
副作用としてフェンスする効果もある。
CPUIDからeax:edx:ecx:ebxを汚さず、フェンス機能のみを使うのが、*FENCE

*FENCEが動作に干渉する命令は当然CPUIDを使っても干渉する。

各命令の動きはこのへんが詳しい
http://download.intel.com/jp/developer/jpdoc/IA32_Arh_Dev_Man_Vol3_i.pdf


LarrabeeレポートにはPentiumの全命令をサポートするとあるから
CPUID命令も当然載るわな。

改めて聞くけど、なんでSSEを禁止しないといけないの?
516Socket774:2008/08/24(日) 21:34:37 ID:dxY2QGlA
>>513
勝利宣言はいいからさ、

団子のLarrabeeでは、scatter命令の実行中にページフォールトが起きたら、当該命令の実行はキャンセルされるの?されないの?
それとフェンス命令は低コストで共存できるの?
できるならそのメカニズムは?
517,,・´∀`・,,)っ-○●◎:2008/08/24(日) 21:36:34 ID:fXUc5UmU
ページフォルトで命令キャンセルなんて聞いたことがない
518MACオタ>514 さん:2008/08/24(日) 21:37:47 ID:WF2KY+pZ
>>514
  ---------------------
  今だいぶ恥かしいでしょ
  ---------------------
ちゃんと論文読んでない団子さんも悪いすけど、ちゃんと>>503の『B案』で正しい推測をしているす。
私わ今回のフレームの展開を良く把握してないすけど、この段階で論文の記述を教えてあげない
のわ、あなたも単に議論が下手なんでわ?
519,,・´∀`・,,)っ-○●◎:2008/08/24(日) 21:39:16 ID:fXUc5UmU
7.4. シリアル化命令
IA-32 アーキテクチャでは、いくつかのシリアル化命令を定義している。これらの命
令は、前の命令がフラグ、レジスタ、メモリに対して行う変更のすべてが完了し、バッ
ファに入っているすべての書き込みがメモリに排出されてから、はじめて次の命令を
フェッチして実行することをプロセッサに強制する。例えば、制御レジスタ命令に対
してMOVを使用し、制御レジスタCR0に新しい値がロードされて保護モードがイネー
ブルにされると、プロセッサは常に、保護モードに入る前にシリアル化命令を実行し
なければならない。このシリアル化操作によって、プロセッサが実アドレスモード
だったときに開始されたすべての操作が完了してから、保護モードへの切り替えが行
われることが保証される。

次の命令はシリアル化命令である。
・特権シリアル化命令 − MOV(制御レジスタへの)、MOV(デバッグレジスタへ
の)、WRMSR、INVD、INVLPG、WBINVD、LGDT、LLDT、LIDT、LTR。
・非特権シリアル化命令 − CPUID、IRET、RSM。
・非特権メモリ・オーダリング命令 − SFENCE、LFENCE、MFENCE。

520MACオタ>団子 さん:2008/08/24(日) 21:39:29 ID:WF2KY+pZ
>>517
  ---------------------
  ページフォルトで命令キャンセルなんて聞いたことがない
  ---------------------
普通にページフォールトわ割り込みの要因す。
521MACオタ@補足:2008/08/24(日) 21:41:13 ID:WF2KY+pZ
あまりにも普通の話なので、ソースわWikipediaす。
http://ja.wikipedia.org/wiki/%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF
522,,・´∀`・,,)っ-○●◎:2008/08/24(日) 21:42:11 ID:fXUc5UmU
ミスアラインメントロード・ストアやってればページをまたがる事だってあるはずで
何でそれが問題なのかね。
523Socket774:2008/08/24(日) 21:43:19 ID:dxY2QGlA
>>518
> ちゃんと論文読んでない団子さんも悪いすけど、ちゃんと>>503の『B案』で正しい推測をしているす。
> 私わ今回のフレームの展開を良く把握してないすけど、この段階で論文の記述を教えてあげない
> のわ、あなたも単に議論が下手なんでわ?

B案で(捨てたとはいえ)正しい推測をしているし、おれも散々この論文は引用しているから、
団子が誠実ならこの論文は読んでいるはずで、実際に読んでいるだろうと思っていたのだが

> > > Instead of loading a 16-wide vector from a single address,

議論の勝ち負けに目が眩んでこんな英文すら読めなくなっているのをひやかしているだけだよ

まあ、団子やMACオタ相手に議論する立場にもなってみてくれww
524,,・´∀`・,,)っ-○●◎:2008/08/24(日) 21:43:57 ID:fXUc5UmU
>>523
CPUIDについて弁解よろしく
525MACオタ:2008/08/24(日) 21:46:00 ID:WF2KY+pZ
再三書いているようにこのフレームの展開を把握してないすけど、問題になっているのわ
下記のどれなんすか?
 ・メモリページの境界
 ・TLBミス
 ・ディスク上の仮想記憶へのスワップ
526Socket774:2008/08/24(日) 21:48:59 ID:dxY2QGlA
>>525
>  ・ディスク上の仮想記憶へのスワップ

一般的な、ページフォールトの話
scatter命令の実行中でページフォールトを起こすとどうなるか?という話だ
527MACオタ>523 さん:2008/08/24(日) 21:49:14 ID:WF2KY+pZ
>>523
  -------------------
  MACオタ相手に議論
  -------------------
いま議論しているつもりわ無いし、名乗らない以上、記憶にも無いす。どの話の名無しさんすか?
528MACオタ>526 さん:2008/08/24(日) 21:50:28 ID:WF2KY+pZ
>>526
  ------------------
  一般的な、ページフォールトの話
  ------------------
一般的にと言われても、上から順番に重篤度が全然違うような。。。
529,,・´∀`・,,)っ-○●◎:2008/08/24(日) 21:50:22 ID:fXUc5UmU
CPUIDから逃げるな
530,,・´∀`・,,)っ-○●◎:2008/08/24(日) 21:53:31 ID:fXUc5UmU
CPUID命令も禁止!メモリをシリアル化する命令はすべて禁止!

って言っていいよ。
それ既にx86じゃねーけどよ
531MACオタ>団子 さん:2008/08/24(日) 21:54:15 ID:WF2KY+pZ
>>529
団子さんにも>>525のどれをイメージしていたか教えて欲しいす。
532,,・´∀`・,,)っ-○●◎:2008/08/24(日) 21:55:31 ID:fXUc5UmU
CPUID命令も禁止って言い出しても、それはそれで笑えるからいいや
SSEも*fenceだけ禁止にすればいいんじゃねって話になるけど
533Socket774:2008/08/24(日) 21:56:14 ID:dxY2QGlA
>>528
まあ、ROBを理解していないMACオタの言うことだから大目に見てやるけど

そもそもROBというものはページフォールトを正しく扱うためにあってだな…
534,,・´∀`・,,)っ-○●◎:2008/08/24(日) 21:58:55 ID:fXUc5UmU
>>531
っていうか
rep movs*でもいちおうアドレス空間全部舐めれるわけだよな?
スキャタ・ギャザー命令も結局rep mov*でも舐めれる範囲のメモリの一部にアクセスするだけだろ?
スキャタ・ギャザー命令だと何で干渉するのか俺はいまだに理解できない。
535,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:01:31 ID:fXUc5UmU
CPUID命令の効果な〜に?>>533
536Socket774:2008/08/24(日) 22:02:46 ID:dxY2QGlA
>>534
だからストリング命令は遅いだろ
537,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:04:32 ID:fXUc5UmU
CPUIDについて答えてよ
538,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:06:26 ID:fXUc5UmU
*FENCE禁止してもCPUID発行してもメモリオーダリング制御やっちゃうけど、どう思った?
539,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:07:39 ID:fXUc5UmU
答えられないだろ?


だから最初に言ったんだよ
「効率のためにx86アーキテクチャ禁止!」
っていう羽目になるって。
540Socket774:2008/08/24(日) 22:07:50 ID:dxY2QGlA
>>538
意味がわからん
とりあえず主語を書いてくれ
541,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:10:37 ID:fXUc5UmU
*FENCE命令を発行することによりスキャタ・ギャザ命令の発行に障害を与えるなら
それはCPUID命令を発行しても同じということ。

*FENCE命令を禁止するためにSSE全部を禁止しろっていうなら
CPUID命令を発行できるPentium ISA自体全部禁止になる。
542,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:14:21 ID:fXUc5UmU
>だからストリング命令は遅いだろ

ならスキャタ・ギャザーも遅ければいいじゃん?
543Socket774:2008/08/24(日) 22:17:17 ID:dxY2QGlA
>>542
> ならスキャタ・ギャザーも遅ければいいじゃん?

ベクトル機の経験くらいはあるかと思ったが…
544MACオタ>533 さん:2008/08/24(日) 22:19:18 ID:WF2KY+pZ
>>533
  ---------------------
  ROBを理解していないMACオタ
  ---------------------
キチガイのヒトの『シリコンの質』を真に受けちゃったお馬鹿さんすか。。。たしか当分出てこない
と宣言してたのでわ(笑)
http://pc11.2ch.net/test/read.cgi/jisaku/1209622524/592
  =====================
  592 名前:Socket774 投稿日:2008/06/20(金) 19:32:03 ID:jH6om3H6
    1〜2年後には笑い飛ばしに来てやるから、まこの気が変わってないことを祈るよ。
  =====================
545,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:22:04 ID:fXUc5UmU
IA32のVol.3読んだことない子相手にしても無駄なんだけどさ

パイプライン段数分バッファに貯めないといけない(>>377)とか言ってる時点で
シリアル化時のパイプラインの動作をまったく理解してないし




ゴミの栄光の勘違いの歴史ダイジェスト

>>377
> 1命令で16要素のメモリアクセスするから、スレッド数にあわせて4段のパイプラインだと、
> 全部で64アクセスをバッファにためないといけない

>>420
> リストベクトルなんて有名な性能ボトルネックじゃん
> リソースの投入し甲斐のある箇所だよ、ベクトル機みたいにね

>>420
> ??意味がわからん
> リストベクトル命令もパイプライン化されてるだろJK
546,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:23:18 ID:fXUc5UmU
>>543
そもそもの前提としてLarrabeeはベクトル機である必要がない。
547,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:25:59 ID:fXUc5UmU
「Larrabeeはベクトルコンピュータだ!」と思い込みから「SSEは禁止!」への飛躍はさすがだったよ。



さっさとCPUIDは禁止って言ってよ早く
548,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:30:36 ID:fXUc5UmU
CPUIDも使えない!って言ってもいいんだけどね。
それを、MACヲタが言ってた既存のディスパッチコードが正常に使えない?云々の理由にしてしまう手があるよ。
それはそれで論外な気がするけど。





なんかレスに勢いがないぞ?

ひょっとしてこれ顔真っ赤にしながら読んでる最中?
http://download.intel.com/jp/developer/jpdoc/IA32_Arh_Dev_Man_Vol3_i.pdf
549Socket774:2008/08/24(日) 22:31:34 ID:dxY2QGlA
>>545
> パイプライン段数分バッファに貯めないといけない(>>377)とか言ってる時点で

そんなことは言ってないが

> 1命令で16要素のメモリアクセスするから、スレッド数にあわせて4段のパイプラインだと、

これは一例だよ…
まあ、わかりづらかったかな

>>546
> そもそもの前提としてLarrabeeはベクトル機である必要がない。



>>547
> 「Larrabeeはベクトルコンピュータだ!」と思い込みから「SSEは禁止!」への飛躍はさすがだったよ。

団子の理解力のなさはアーキテクチャの話だけじゃないのか

「VPUをSSEコンパチにするのは大変なので、アーキテクチャの要件には含めず、Larrabeeでは実際に実装もされないだろう」
という話

>>548
GPUや数値計算でCPUID命令が最内ループに出てくるんならね…
550MACオタ>団子 さん:2008/08/24(日) 22:35:23 ID:WF2KY+pZ
>>548
火病っても>>503-514あたりの書き込みわ消えないすけど。。。
551,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:42:37 ID:fXUc5UmU
> >>545
> > パイプライン段数分バッファに貯めないといけない(>>377)とか言ってる時点で
>
> そんなことは言ってないが

自分の書いたレスを透明あぼーんでもしてるの?頭悪いの?

> LarrabeeにはScatter/Gatherがあるだろ、
> 1命令で16要素のメモリアクセスするから、スレッド数にあわせて4段のパイプラインだと、
> 全部で64アクセスをバッファにためないといけない





>GPUや数値計算でCPUID命令が最内ループに出てくるんならね…

最内ループに使わなければOK
はい?それは*FENCEでも同じことだな。そもそもどれもそんなに高頻度で呼ぶ命令ではない。

疲れたから今一度、「IntelがSSEを使えなくしたい」(とお前が思い込んでいる)理由を、
CPUID命令が存在することを前提に纏めておいてよ。
552,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:43:52 ID:fXUc5UmU
質問を変えようか?
俺が指摘するまで、CPUIDにはFENCE命令と同じ副作用があることを把握していたか?
553,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:48:23 ID:fXUc5UmU
> LarrabeeにはScatter/Gatherがあるだろ、
> 1命令で16要素のメモリアクセスするから、スレッド数にあわせて4段のパイプラインだと、
> 全部で64アクセスをバッファにためないといけない


これが馬鹿だなーって言った理由は、パイプライン段数の問題じゃないよ。
段数分のアクセスのバッファ(笑)そのものが必要ないからだよ。
フェンス時の動作を正しく理解してるならね。


SSEが実装されるまでCPUIDの副作用はフェンス目的で使われてきたし
SSEが使えないならCPUIDでフェンスするだけの話なんだよ。
554MACオタ>団子 さん:2008/08/24(日) 22:52:46 ID:WF2KY+pZ
>>553
  -------------------
  段数分のアクセスのバッファ(笑)そのものが必要ないからだよ。
  -------------------
相変わらず揉めてる内容が理解できないすけど、未完了のロード/ストア命令わキューに
詰め込まれて、一杯になってしまうとパイプラインを停止せざるを得ないという話じゃないすか?

CPUID命令がメモリから設定値を読むとも思えないすからLSQに関係あるとも思えないすけど。。。
555,,・´∀`・,,)っ-○●◎:2008/08/24(日) 22:58:18 ID:fXUc5UmU
>>554
命令がフェッチされてからリタイヤするまで後続命令がパイプラインに投入されないモードになるから。
パイプラインがパイプラインでなくなる。

しかも、そのスキャタ・ギャザー命令の実行自体、LSUが1基だから2つ以上のキャッシュラインに同時にアクセス
することはできないし。
フェンスしようがしまいがキャッシュライン単位で逐次ストアすることには変わりない。
マクロ命令だろうからデコード自体も相当遅いだろうし。

リストベクトル(笑)幻想って何だったの?死ぬの?
556MACオタ>団子 さん:2008/08/24(日) 23:04:41 ID:WF2KY+pZ
>>555
  ------------------
  命令がフェッチされてからリタイヤするまで後続命令がパイプラインに投入されないモード
  ------------------
ご存知のようにPowerPCでもMSR等の特殊レジスタを読み書きする命令でわ、そうなるす。
ユーザープログラムに使われる普通の命令とわ、話が別でわ?
  -------------------
  しかも、そのスキャタ・ギャザー命令の実行自体、LSUが1基だから2つ以上のキャッシュラインに
  同時にアクセスすることはできないし。
  -------------------
そういうレイテンシを隠蔽するためのマルチスレッドとユーザー制御のスケジューリングなんだと
思われるす。
557Socket774:2008/08/24(日) 23:08:10 ID:L14WDdA2
ピーク性能ではGPUメーカーには太刀打ちできないんだから、
既存コードの移植のし易さを全面に押し出さないと勝てる要素がない。
そもそも移植性を無視して性能重視するならx86継承するはずないし、
殆どのコードが動くしOSも走りますよというくらいなんだからSSE命令は必ず解釈できるようにするだろ。

もしSSEフルセットが載らなかったらララビーは沈没するだろうし、
ベクトルユニットの実験台でしかありませんてメッセージだろうね。
558,,・´∀`・,,)っ-○●◎:2008/08/24(日) 23:11:23 ID:fXUc5UmU

>ご存知のようにPowerPCでもMSR等の特殊レジスタを読み書きする命令でわ、そうなるす。
それはIntelにも専用命令がある。特権命令だけど

>ユーザープログラムに使われる普通の命令

CPUIDって特権命令じゃなくてユーザーモードで使えるんすけど。。。

フェンス機能はあくまで副作用だけど、当時はCPUID以外にフェンスする命令がなかったので
副作用を生かして同期をとることが推奨された。
*FENCEは目的を絞った命令なのでCPUIDを使うより高速。
559MACオタ>557 さん:2008/08/24(日) 23:15:02 ID:WF2KY+pZ
>>557
  ----------------------
  殆どのコードが動くしOSも走りますよというくらいなんだから
  ----------------------
『殆どの』の範囲わ判らないすけど、OSわSIMDどころかFPUも使用しないす。
逆に新レジスタを定義してしまうと、タスクスイッチの際にレジスタの内容を退避するための変更が
必要になるす。
560MACオタ>団子 さん:2008/08/24(日) 23:18:07 ID:WF2KY+pZ
>>558
  -----------------
  当時はCPUID以外にフェンスする命令がなかったので副作用を生かして同期をとることが推奨された。
  -----------------
PowerPCのeieio, sync, isyncの類なのわ判ったすけど、こちらわメモリのオーダリングが最初から
緩いす。
x86でインオーダーのLarrabeeコアでも必要なんすか?
561Socket774:2008/08/24(日) 23:19:19 ID:dxY2QGlA
>>552
CPUID等の直列化作用のほうをVPUには緩めると思う
が、直列化以外の意義のないフェンス命令はナンセンス

>>554
> 命令がフェッチされてからリタイヤするまで後続命令がパイプラインに投入されないモードになるから。

> マクロ命令だろうからデコード自体も相当遅いだろうし。

こんな性能的にクリティカルな命令をそう言ってくれるとは、メーカーの設計者が泣いて喜びそうだ
562MACオタ>団子 さん:2008/08/24(日) 23:20:43 ID:WF2KY+pZ
>>560
メモリのオーダリング制限に関する資料す。
http://www.u-aizu.ac.jp/~minyi/course/paraarch2003/amano-3-2.pdf
563,,・´∀`・,,)っ-○●◎:2008/08/24(日) 23:23:05 ID:fXUc5UmU
>>559
AVXのYMMレジスタはXMMレジスタを引き伸ばすことで対応してるね。
OS側は大幅な変更は必要ないはず。
Intelの公表が早かったのも良し。


しかし基本命令に組み込まれちゃった命令はその限りじゃないよ。SSE2まではx64の基本命令だ。
「64ビットなのにXMMレジスタがありません」は変更どころの問題じゃなくなる。
XMMがあることを前提に組まれてたコードモジュールが使えなくなるわけだからね。
564MACオタ>団子 さん:2008/08/24(日) 23:28:55 ID:WF2KY+pZ
>>563
  ---------------
  OS側は大幅な変更は必要ないはず。
  ---------------
僅かな変更でも動かないことに変わりわ無いす。
  ---------------
  「64ビットなのにXMMレジスタがありません
  ---------------
それだけならSSE"2"わ不要で、SSEで良いのでわ?
565Socket774:2008/08/24(日) 23:32:12 ID:fXUc5UmU
>>561
CPUID等の直列化作用のほうをVPUには緩めると思う

それは絶対に無理ですね。
ユーザーモードで唯一マシン特殊レジスタにアクセスできる命令というか
特権命令をユーザーモードに開放したようなもんだから。
主作用がマシン特殊レジスタへのアクセスである以上、フェンスの副作用は必ず発生する。



まあできるとして
フェンス命令から直列化作用を消す→nop命令として扱う
ってすれば、SSEを禁止しないといけない理由なくなるよ?



そもそもフェンス命令なんて頻繁に呼ばないからパフォーマンスに影響するわけないだろ
566MACオタ:2008/08/24(日) 23:34:31 ID:WF2KY+pZ
ところでSSE『禁止』とかいう話わ、どころから出てきたすか? 単にサポートされないかも
しれないという話じゃ無くて。。。
567,,・´∀`・,,)っ-○●◎:2008/08/24(日) 23:34:53 ID:fXUc5UmU
>>564
OSのバイナリコードの中でSSE2コードを使ってないことが保障できるならね。
現行のコンパイラはx64では無条件でarch=SSE2スイッチが入る
568MACオタ>団子 さん:2008/08/24(日) 23:39:43 ID:WF2KY+pZ
>>567
  -------------
  現行のコンパイラは
  -------------
既出のように(>>489)、Intel自身が要リコンパイルと書いているす。
569Socket774:2008/08/24(日) 23:41:16 ID:dxY2QGlA
>>565
> 主作用がマシン特殊レジスタへのアクセスである以上、フェンスの副作用は必ず発生する。

だからそれはスカラユニット的には、従来通りでよろしい

> フェンス命令から直列化作用を消す→nop命令として扱う

これこそ互換性がないぞ…

MMXユニットを拡張してSSEユニットにするという話なら十分あり
あくまで、VPUでSSEを実装するのが難しいんじゃないかという話だよ

>>566
団子の妄想

ただ、LNIのメモリコンシステンシーモデルはSSEよりも緩める可能性が高いとは考えている
最初に厳しいモデルを定義しちゃうと後で苦しむからね

実装は別
570,,・´∀`・,,)っ-○●◎:2008/08/24(日) 23:41:43 ID:fXUc5UmU
>>568
それはそれでIntelがコンパイラを提供しないOSは市ねということになる
571MACオタ@補足:2008/08/24(日) 23:45:24 ID:WF2KY+pZ
もっとも新しいOSであるVistaですらSSE2を使っていないのわ、C3をサポートしていることからも
判るす。
http://www.viatech.co.jp/jp/products/processors/
  ------------------
  800MHz以上のVIAプロセッサは、Microsoftによって Windows Vista Capable PCにおける
  プロセッサ オプションとして承認されています。
  ------------------
572,,・´∀`・,,)っ-○●◎:2008/08/24(日) 23:51:30 ID:fXUc5UmU
>>569
>だからそれはスカラユニット的には、従来通りでよろしい

スカラもベクタもフロントエンドステージは共用なんだけど?
そもそもデコードどころかフェッチもしないうちににスカラかベクタかわかるの?頭悪いの?
それ以前に特殊レジスタアクセス時に投入できるとか


> > フェンス命令から直列化作用を消す→nop命令として扱う
>
> これこそ互換性がないぞ…

SSE非対応CPUを考慮したコードでは、CPUIDは同期用として使われてる。
CPUIDから副作用がなくなればそれこそ互換性がなくなる。


> ただ、LNIのメモリコンシステンシーモデルはSSEよりも緩める可能性が高いとは考えている

考えるな。お前の考える常識はx86の非常識

> 最初に厳しいモデルを定義しちゃうと後で苦しむからね

厳しいモデルの塊x86へようこそ。
もうどこ手を入れてもボトルネックだらけだよ。
LNIでどうしようと基本命令セットに厳しい制約がある。

x86を選んだ時点で制約を受け入れるしかない。
573Socket774:2008/08/24(日) 23:55:20 ID:IiaTWC71
>>571
C3はP6命令すらサポートしてないし。
P5互換でもWindowsは動くな。
574MACオタ>団子 さん:2008/08/24(日) 23:56:18 ID:WF2KY+pZ
>>570
  ---------------------
  それはそれでIntelがコンパイラを提供しないOSは市ねということになる
  ---------------------
gccで問題あるすか?オープンソースだし。
http://oss.intel.com/en-us/projects/
  =====================
  Intel is also engaged in the Open Source Development projects for tools such as Java
  Harmony, GCC optimizations and Eclipse.
  =====================
575,,・´∀`・,,)っ-○●◎:2008/08/24(日) 23:59:34 ID:fXUc5UmU
>>571
それは32ビットだからだろ。
64ビットじゃありえない。
ちなみに486なんかは2000あたりから切り捨てられてる。CPUIDやRDMSRは使えることが前提。

CMOVもSSE2も基本命令セットだから存在してない。
命令が増えるはカーネルだけの対応でいいけど、減るのはカーネルだけじゃ済まされないからね。
576,,・´∀`・,,)っ-○●◎:2008/08/25(月) 00:03:45 ID:IZHwkwJR
ベクトルマシンへの願望は、IA64ベースのItanee(仮)でも出るときにやってくれ

厳しいモデルとは言うけど厳しいのはそれ以前にダイサイズとTDPの制約ですので。
後になって1コアをこれ以上拡張する改良を加えるくらいならコア数を増やすだろうしね。
577Socket774:2008/08/25(月) 00:05:30 ID:fXUc5UmU
×CMOVもSSE2も基本命令セットだから存在してない。
◎CMOVもSSE2も基本命令セットだから、SSE2やCMOVを使わないx64のCPU実装は存在してない。
578MACオタ>団子 さん:2008/08/25(月) 00:05:44 ID:WF2KY+pZ
>>575
  ----------------
  64ビットじゃありえない。
  ----------------
元々FPU使わないすから、x87がSSE2に置き換わっても影響無いす。
  ----------------
  ちなみに486なんかは2000あたりから切り捨てられてる。
  ----------------
http://jp.youtube.com/watch?v=nUH7eTwFbRs
579,,・´∀`・,,)っ-○●◎:2008/08/25(月) 00:09:29 ID:IZHwkwJR
>>578
いや動く云々はいいけどさ。
32ビットならLinuxはi686でビルドされたやつは586以前では動かない。

本当にSSE*が動かなくてOSが動かない可能性があるのは64ビットでの話。
580,,・´∀`・,,)っ-○●◎:2008/08/25(月) 00:22:30 ID:IZHwkwJR
つーか彼はフェンス命令が100命令に1回程度でも呼ばれると思ってるのだろうか?
そんな論外だろ。

不必要に同期を行わないのはどんなCPUでも同じ。
Larrabeeじゃなくてもね。

どのみちストールしまくるLarrabeeよりむしろ4issue OoOのCore 2なんかのほうが影響は大きい。
581Socket774:2008/08/25(月) 00:27:35 ID:uETuw+79
なんという三つ巴の争い。


いいぞもっとやれ。
582Socket774:2008/08/25(月) 00:28:33 ID:O2J1PAxv
>>572
> スカラもベクタもフロントエンドステージは共用なんだけど?

それが何か問題なの?
VPUのメモリアクセスについては、CPUIDや他の命令は必ずしも逐次化しない
ということなんだけど

> SSE非対応CPUを考慮したコードでは、CPUIDは同期用として使われてる。

そんなコード、Larrabee動かしてどうしたいだよ
やっぱToHeartか?

> 考えるな。お前の考える常識はx86の非常識

そうでもなくてね、x86もどんどん緩めたじゃん
そしてごく微妙な条件下では互換性がない

>>576
> 厳しいモデルとは言うけど厳しいのはそれ以前にダイサイズとTDPの制約ですので。

一文で矛盾したことを言うなあ
ダイサイズやTDPの厳しい物理的な制約があるから、モデルのほうを緩めたいという話なんだよ

>>580
> つーか彼はフェンス命令が100命令に1回程度でも呼ばれると思ってるのだろうか?

100命令というのは大袈裟にしろ、同期命令がフェンスしかなければ有り得るね、GPUなんだし
583Socket774:2008/08/25(月) 00:28:43 ID:013nEpHH
ダンゴ:火病
MACヲタ:自爆
名無し:行方不明

いつもの流れか
584,,・´∀`・,,)っ-○●◎:2008/08/25(月) 00:33:42 ID:IZHwkwJR
>>582

>> 厳しいモデルとは言うけど厳しいのはそれ以前にダイサイズとTDPの制約ですので。

>一文で矛盾したことを言うなあ
>ダイサイズやTDPの厳しい物理的な制約があるから、モデルのほうを緩めたいという話なんだよ

矛盾してないよ。
モデルを緩めたところでLSUが1基しかないのが律速要因になるし、
性能を上げるには相応にトランジスタが必要になる。

1コアあたりの性能を上げるためにトランジスタ使うならコア数を増やしたほうがスケールメリットがある。
だから緩める意味がない。
585,,・´∀`・,,)っ-○●◎:2008/08/25(月) 00:35:32 ID:IZHwkwJR
>>582

同期に*FENCEを使いたくないだけ?
*FENCE以外の命令を追加して*FENCEを非推奨命令にすればいいじゃん。
何が悪いの?

ヴぁか
586,,・´∀`・,,)っ-○●◎:2008/08/25(月) 00:51:37 ID:IZHwkwJR
今からSIMDやるのに128ビットのSSE*があるのにMMXを使わなくていいように
実装されてるから必ず使わなければならないなんてことはないの。

既存のフェンスに変わる命令があるなら実装すればいい
しかし既存命令を無効化する必要はどこにもない。

むしろ新命令の実装の都合で既存の命令を廃止しないといけないことのほうが「厳しいモデル」だと思うんだが。
587MACオタ>団子 さん:2008/08/25(月) 00:55:13 ID:Q2ZRFe13
>>585
あんまりバカバカ言わない方が良いと思うすけど。。。

既にこの記事読んでいるとわ思うすけど、素養が無いために技術的予測わ怪しいことこの上ない
後藤氏でも、こう書くからにわオフレコのソースが存在する可能性もあるす。
http://pc.watch.impress.co.jp/docs/2008/0811/kaigai458.htm
  ----------------------
  LarrabeeとPentiumは、基本のストラクチャーが同じというだけではない。Larrabee CPUコアの
  命令デコーダがサポートするx86命令セットも、基本は標準的なPentium世代のx86命令だという。
  MMX Pentium以降のMMX/SSE系の拡張命令は、サポートしないと推測される。
  ----------------------
588Socket774:2008/08/25(月) 00:56:07 ID:O2J1PAxv
>>584
> モデルを緩めたところでLSUが1基しかないのが律速要因になるし、

勝手な願望を言うな
SSEのメモリコンシステンシモデルを実装するには、データパス上にさらに大きなバッファが必要になるんだよ
具体的には、16要素すべてのアドレスが例外を起こさないことを保証するまで、自身と後続のメモリアクセスを待たせるためのバッファだ
ハードウェアコストが嵩む上に、足を引っ張るLSUがさらに遅くなるんだ

>>585
> *FENCE以外の命令を追加して*FENCEを非推奨命令にすればいいじゃん。

ハードとソフトの話をごっちゃにすんな
何度言わせるんだ
589,,・´∀`・,,)っ-○●◎[:2008/08/25(月) 01:05:51 ID:IZHwkwJR
>>587
> Intelは、Larrabee拡張命令のフォーマットの詳細については明らかにしてない。
> しかし、想定できる点がいくつかある。まず、命令フォーマットはデコードしやす
> いものでなければならない。x86命令のデコード時の複雑さの多くは、x86命令
> が可変長であることに起因している。この問題を軽減するためには、Larrabee
> 拡張命令を、固定長にすることが望ましいと推定される。

まあこの読みは同感だね。
2issueパイプラインでは命令の切り出しってのがネックになる。



ただし文字通りの固定長なんてありえんわけで。
ModRMまでを固定長にするって言う意味なら、現実的。
そしてそれにはAVXのVEXエンコーディングを採用するのが合理的。
3レジスタオペランド拡張にも対応できる。
ある意味でAVXとLarrabeeはつながってるという俺の読みの方向は正しいわけだ。


ちなみにModRM+SIB+DISPはx86の基本命令スタイルとして組込まれてるものだから、
LNIで使わなかったところで効率がよくなるものでもない。
いまさら依存しない方法を考えるよりは依存したほうが効率がいい。
ちなみにModRMを見ただけでSIBの有無とDISPの有無・長さが判明するから
可変長といっても解析はしやすい。
590Socket774:2008/08/25(月) 01:07:37 ID:IZHwkwJR
>>588
>SSEのメモリコンシステンシモデルを実装するには、データパス上にさらに大きなバッファが必要になるんだよ

まだ言うの?

メモリコンシステンシ遵守で走ってるときは1命令が完了するまで次の命令はフェッチできない。
バッファなんて必要ない。
591MACオタ>588 さん:2008/08/25(月) 01:11:10 ID:Q2ZRFe13
>>588
  ---------------------
  16要素すべてのアドレスが例外を起こさないことを保証するまで、自身と後続のメモリアクセス
  を待たせるためのバッファ
  ---------------------
Larrabee論文でわ、メモリアクセスだと時間がかかりすぎるので、Scatter-Gatherわキャッシュ上
のデータに限定する様にも読めるす。
p. 4.参照(傍点MACオタ)
  =====================
  The speed of gather/scatter is limited by the cache, which typically only accesses "one cache
  line" per cycle.
  =====================
p.11参照
  =====================
  The non-contiguous data elements can reside anywhere "in the large on-die cache," without
  suffering memory access penalty.
  =====================
キャッシュミスしたら例外発生させて、その後プリフェッチ命令でキャッシュにデータを入れるような動作を
するのかもしれないす。
592,,・´∀`・,,)っ-○●◎:2008/08/25(月) 01:12:03 ID:IZHwkwJR
バッファなんて実装されてたらL1リード・ライトのレイテンシが長くなります。
もしくはパイプラインステージにバッファリングを組み込むのかな?

SSEをサポートするIntel CPUでレイテンシが大きいことは確認できません。
パイプラインにも確認できません。
593,,・´∀`・,,)っ-○●◎:2008/08/25(月) 01:14:37 ID:IZHwkwJR
「バッファ」の存在はどこで知りえた情報なんですか?
Intelの資料にもないしAgner氏の解析にもそんなものはありません。

ベクトルマシンの常識ですか?残念ながらx86での常識ではありません。
594Socket774:2008/08/25(月) 01:14:53 ID:2ckZTWvD
>>583
ワロスw
595Socket774:2008/08/25(月) 01:15:00 ID:O2J1PAxv
>>590
> メモリコンシステンシ遵守で走ってるときは1命令が完了するまで次の命令はフェッチできない。

どうしてそう性能を落したがるのかなあ

> バッファなんて必要ない。

まあ、命令発行は止めたとして
1つめ、2つめの要素は無事にストアできて、3要素目で例外が起きたらどうすんの?
596MACオタ>団子 さん:2008/08/25(月) 01:16:20 ID:Q2ZRFe13
>>590
  -------------------
  バッファなんて必要ない。
  -------------------
4-byteしか必要なくても、メモリ/キャッシュのアクセスわ32-128-byteのキャッシュライン単位
すから、見た目よりたくさん必要かもしれないす。
597Socket774:2008/08/25(月) 01:16:56 ID:O2J1PAxv
>>583
無知をどうしても認めないやつを説得しようとしてるんだ
疲れて寝るもの許してくれ
598Socket774:2008/08/25(月) 01:17:31 ID:2ckZTWvD
スルーするのかもしれねぇよニヤニヤ
599,,・´∀`・,,)っ-○●◎:2008/08/25(月) 01:18:06 ID:IZHwkwJR
>  16要素すべてのアドレスが例外を起こさないことを保証するまで、自身と後続のメモリアクセス
>  を待たせるためのバッファ

>>591

ていうか、フェンス中の例外についてもVol3読めばわかることなんだけどな
資料読まない人なんだろう
600Socket774:2008/08/25(月) 01:19:44 ID:2ckZTWvD
定ストライドの命令増設か…line fillに頼らないのかねぇ
601MACオタ>595 さん:2008/08/25(月) 01:20:40 ID:Q2ZRFe13
>>595
  --------------------
  3要素目で例外が起きたらどうすんの?
  --------------------
こういう話題が出るから>>525で質問したすけど、回答わ無いすね。。。

仮想記憶のスワップなら、キャッシュアクセスと桁違いのロスなので成功データも廃棄で良いす。
TLBミスでも廃棄で良さそうすけど?
602Socket774:2008/08/25(月) 01:22:30 ID:2ckZTWvD
>>601
> TLBミスでも廃棄で良さそうすけど?
実装にも夜のだろうけど、例えばosにtrapさせてエミュる等etc
603Socket774:2008/08/25(月) 01:22:36 ID:O2J1PAxv
>>591
> The non-contiguous data elements can reside anywhere "in the large on-die cache," without suffering memory access penalty.

これは4MB?のローカル・ノンローカル含めたL2全部のどこにあってもペナルティがない、という意味だよ
604MACオタ>603 さん:2008/08/25(月) 01:25:13 ID:Q2ZRFe13
>>603
  -----------------
  L2全部のどこにあってもペナルティがない、
  -----------------
L2に無かった場合を書いていないという話す。
605,,・´∀`・,,)っ-○●◎:2008/08/25(月) 01:25:49 ID:IZHwkwJR
>>595


>どうしてそう性能を落したがるのかなあ

だからそれがx86としての伝統だ。SSEから加わったものではない。
SSEが厳しいんじゃなくてx86が厳しいんだよ。
SSEを排除すればいいなんて生ぬるいもんじゃない。

Larrabeeにベクトル機のフィロソフィを求めるな。
Intelはお前の夢はかなえてくれない


> まあ、命令発行は止めたとして
> 1つめ、2つめの要素は無事にストアできて、3要素目で例外が起きたらどうすんの?

ページフォルト程度なら、例外をトラップして特権部に制御が移り、解決したらまた再開。
アクセスバイオレーションの類はこの限りではない。
ってなんでx86のシステムプログラミングの仕様を読まないで勝手な妄想をするの君は。
606Socket774:2008/08/25(月) 01:26:59 ID:O2J1PAxv
>>601
>>526で回答してるだろ
仮想記憶やスワップだけじゃないんだよ
copy-on-writeとかあるだろ

> 仮想記憶のスワップなら、キャッシュアクセスと桁違いのロスなので成功データも廃棄で良いす。

成功データも廃棄するのはいいとして、ストアしてしまったものを巻き戻すためにバッファが必要だろ
607MACオタ>団子 さん:2008/08/25(月) 01:27:27 ID:Q2ZRFe13
>>599
  --------------
  フェンス中の例外についてもVol3読めばわかる
  --------------
自信があるなら、ページ数と引用の一つも示す心の余裕が欲しいすね。。。
608Socket774:2008/08/25(月) 01:29:45 ID:O2J1PAxv
>>604
> L2に無かった場合を書いていないという話す。

書いてないということを根拠に

> キャッシュミスしたら例外発生させて、その後プリフェッチ命令でキャッシュにデータを入れるような動作を
> するのかもしれないす。

こんな画期的な主張をしないでほしい

>>605
>>606にも書いたが、scatter命令は全部巻き戻すの?中途半端にストアしたまま例外ハンドラに行くの?
609,,・´∀`・,,)っ-○●◎:2008/08/25(月) 01:33:01 ID:IZHwkwJR
>>604
512ビット双方向のリングバスなら、L1のロード・ストア帯域と一致するからね。
L1とL2は等速なんだろうね。
「L2で帯域を取り合わない限りは」確かにペナルティはなさそう。
もちろん待機中は該当スレッドはストールはするだろうけど



>>607
これで3回目だったかな
何べん貼ればわかってくれるかな?彼
http://download.intel.com/jp/developer/jpdoc/IA32_Arh_Dev_Man_Vol3_i.pdf
日本語だから読めるだろ。
あえて引用はしない。全部目を通せ。要点は・・・全部だ。
610MACオタ>606 さん:2008/08/25(月) 01:35:35 ID:Q2ZRFe13
>>606
  --------------
  仮想記憶やスワップだけじゃないんだよ
  --------------
例外処理でカバーできない異常動作わクラッシュさせれば良いかと?
611MACオタ>団子 さん:2008/08/25(月) 01:37:07 ID:Q2ZRFe13
>>609
  ---------------
  要点は・・・全部だ。
  ---------------
説明できないってのわ、通常理解していない証拠と受け取られるすけど。。。
612,,・´∀`・,,)っ-○●◎:2008/08/25(月) 01:37:10 ID:IZHwkwJR
例外トラップの仕組みは深く知りたければx86のLinuxのソースでも読んでもらったほうがいいと思うんだ。
資料読んでわからないならね。
613Socket774:2008/08/25(月) 01:38:50 ID:O2J1PAxv
>>610
??
ページフォールトが起きるのは、仮想記憶以外にcopy-on-writeなんかもあるって言ってんの

まあ、ページフォールトじゃなくてメモリアクセス例外だけど、precise interruptが必要になるという点では同じ
614,,・´∀`・,,)っ-○●◎:2008/08/25(月) 01:40:11 ID:IZHwkwJR
>>611
例外については5章、マルチスレッドの同期命令については7章
でも全部目を通したほうがいいよ。

部分的な知識だけでいいみたいな甘い考えだから、つまらない思い込みで自爆するんだよ君は
615Socket774:2008/08/25(月) 01:40:22 ID:O2J1PAxv
>>612
わかったわかった勉強しとくから

>>606にも書いたが、scatter命令は全部巻き戻すの?中途半端にストアしたまま例外ハンドラに行くの?

頼むからこれに答えてくれよ団子さん
616MACオタ:2008/08/25(月) 01:45:06 ID:Q2ZRFe13
おぼろげに言い争いのネタが理解できた気がするす。
要するにscatter-gatherが複数メモリページに跨った場合に、
(1)団子説
  x86のメモリオーダリング、かつインオーダー実行だから、後続命令わ単純に止まる
(2)名無しさん説
  性能を考慮してページ単位でのオーダリングしか保証されないweak-orderingを採用しそう

という議論なんすか?
617Socket774:2008/08/25(月) 01:49:10 ID:O2J1PAxv
>>616
(1)はそう
(2)は、Larrabeeではどうか具体的にはわからないが、SSEよりは弱いだろう

で、(1)であっても、scatter命令が中途半端にストアしたところで例外を起すかもしれないが、
その時は
・ストアしたところを巻き戻すのか?
・それとも、中途半端にストアしたままにしとくのか?
ということを>>606で団子に問いただしている
618Socket774:2008/08/25(月) 01:55:26 ID:O2J1PAxv
VPUでSSE命令を実行させるとなると、SSEのメモリアクセス命令はVPUのLSUで実行せざるを得ない
つまり、VPUのLSUはweak consistencyに対応させないといけない

x86のストリング命令の場合
「命令の途中からの再開」
を許しているが、そのかわりとても遅い
619MACオタ:2008/08/25(月) 01:56:00 ID:Q2ZRFe13
>>617
  -----------------
  ・それとも、中途半端にストアしたままにしとくのか?
  -----------------
Larrabeeわ各コアのL2を全体で共有キャッシュとして扱うために、下記のようなL2間転送機構が
あるす。(p.3参照)
  =================
  Data written by a CPU core is stored in its own L2 cache subset and is flushed from other
  subsets
  =================
同じ仕組みで書き込まれたデータを単純に消さずに一時保存するのわ可能に見えるす。
620MACオタ@補足:2008/08/25(月) 01:57:35 ID:Q2ZRFe13
転送というよりリネーム機構というべきすかね。。。
621,,・´∀`・,,)っ-○●◎:2008/08/25(月) 01:58:30 ID:IZHwkwJR
ストリング命令と同じだと言う仮定で、書いちゃった処理は巻き戻さないだろ。
ハンドラに飛んでも、戻ってきて同じところから再開すればいい。

アクセス違反例外ならまあ戻らないだろうね。
C++でいうcatchブロックあたりに飛ぶか、例外処理考慮してなければプロセスごと落ちる
もちろん書いちゃったものは戻らない。



余談だけど、MMXやSSEにaddps [mem] xmm1 見たいな命令がないよね。
仮説として複数マイクロオペレーションで実装する場合に問題になるから。
命令実行中に何らかの例外が発生した場合し、復帰した場合
最初のオペレーションから二重にやりなおすことなっても結果が変わってしまうことがないことを
保障できるのは純粋なストア命令くらいしかない。

EIPは退避復帰できるがマイクロオペレーションレベルでは無理だからね。
同じストア命令なら、二度書きしてもメモリに書く値は同じだから問題ない。

スキャタやギャザーは二度読み・二度書きになっても問題ないものに属すると思うが。
622Socket774:2008/08/25(月) 02:00:49 ID:O2J1PAxv
>>619
> Each CPU has a fast direct access path to its own local subset of the L2 cache.
> Data read by a CPU core is stored in its L2 cache subset and can be accessed quickly,
> in parallel with other CPUs accessing their own local L2 cache subsets.
> Data written by a CPU core is stored in its own L2 cache subset and is flushed from other subsets, if necessary.

どう見てもコヒーレントキャッシュの動作の説明です
ありry
623MACオタ>622 さん:2008/08/25(月) 02:03:58 ID:Q2ZRFe13
>>622
物理的にデータが記録されるメモリセルわ変わっているすけど?
コヒーレンシを保つだけなら、移動させる必要わ無いす(笑)
624Socket774:2008/08/25(月) 02:06:13 ID:O2J1PAxv
>>623
> 物理的にデータが記録されるメモリセルわ変わっているすけど?
> コヒーレンシを保つだけなら、移動させる必要わ無いす(笑)

意味がわからん
移動させるなんてどこに書いてる?
625Socket774:2008/08/25(月) 02:13:31 ID:O2J1PAxv
>>621
> 命令実行中に何らかの例外が発生した場合し、復帰した場合
> 最初のオペレーションから二重にやりなおすことなっても結果が変わってしまうことがないことを
> 保障できるのは純粋なストア命令くらいしかない。

そのためにストアバッファやリオーダバッファがあるんだが…
626MACオタ>622 さん:2008/08/25(月) 02:14:31 ID:Q2ZRFe13
>>624
"flush"かと。
627Socket774:2008/08/25(月) 02:22:13 ID:O2J1PAxv
>>626
データはCPUコアのローカルL2に書き込まれ、他のコアのL2から削除される

普通のコヒーレントキャッシュじゃん
628MACオタ@補足:2008/08/25(月) 02:22:56 ID:Q2ZRFe13
>>624
ついでに"Cache Affinity"で検索してみて欲しいす。
629MACオタ>627 さん:2008/08/25(月) 02:24:20 ID:Q2ZRFe13
>>627
LarrabeeのL2わ、共有キャッシュであることを思い出すべきす。
630Socket774:2008/08/25(月) 02:31:39 ID:O2J1PAxv
>>628
何の関係が?

>>629
共有キャッシュ?
何が共有されてるの?
631,,・´∀`・,,)っ:2008/08/25(月) 02:38:52 ID:a77HGQP1
インオーダ命令にROBはねーよ。

MMXやSSEはストアを伴う命令は不慮の例外トラップで中断して
最初から同じ命令を実行することになっても
メモリに書き込む値が変わらないことを保証できる命令しかそもそも無いので
バッファリングや巻き戻しなんてする必要がない。
一度書いてしまった値と同じ内容を二度書きしてもなんの問題もないだろ?

IAにストアバッファなんて最初からないし、あった試しがない。
SSEのメモリコンシステンシモデルが厳しい云々は無知ゆえの完全な言いがかりだ。
632MACオタ>630 さん:2008/08/25(月) 02:39:33 ID:Q2ZRFe13
>>630
深夜なので頭がボケるのも仕方が無いと思うす。
  ----------------------
  データはCPUコアのローカルL2に書き込まれ、他のコアのL2から削除される
  ----------------------
しかし、もしこんなことを普通にやっていたら二つのコアで同じメモリ領域に書き込むようなコードで
データのピンポンが発生することに気付く筈なんすけど。。。
633Socket774:2008/08/25(月) 02:51:25 ID:O2J1PAxv
>>631
> インオーダ命令にROBはねーよ。

インオーダ命令?プロセッサのこと?

まあROBとは呼ばないが、投機実行するなら似たようなバッファは必要

> MMXやSSEはストアを伴う命令は不慮の例外トラップで中断して
> 最初から同じ命令を実行することになっても

その手の命令は、例外チェックが済むまでバッファリングして、データを書き込まないけどね
1アドレスだけチェックすればいいから楽だ
外部割り込みなら、命令が中断されることはない

> 一度書いてしまった値と同じ内容を二度書きしてもなんの問題もないだろ?

あるんだけどなw

>>632
コヒーレントキャッシュなんだから当たり前だ…
634Socket774:2008/08/25(月) 03:04:15 ID:ha0p+Mtw
>>632
invalidate方式のコヒーレンシプロトコルならそれが普通の動作だが。
635Socket774:2008/08/25(月) 03:04:49 ID:O2J1PAxv
>>633
> 外部割り込みなら、命令が中断されることはない

命令実行中には、外部例外が発生しないということ
命令の完了まで待ってから発生する
636,,・´∀`・,,)っ:2008/08/25(月) 03:10:43 ID:a77HGQP1
>>633
お前はx86無知なんだから黙ってろ。
ストアバッファがあるというなら資料を示せ。
お前の発言はねつ造ばかりだ。



movaps [mem],xmm1
addps xmm1, xmm2

Core2あたりならストア後続の命令に追い越しで次の命令を実行できるが、
レジスタリネーミングで別の物理レジスタを割り当てそこにストアする。
前のストアが完了するまではxmm1を書き換えないことが保証される。
インオーダならそもそも追い越し不可能。
xmm1が何か別の値に書き換えられる要因はない。
書き込み中にページフォルトになってももう一回やり直せばいい。

LarrabeeはVPU部に限れば1issueだから追い越しどころか同時実行すらありえない。
だからこそ厳しくも何ともないんだよ。
ストアのバッファリングが必要な命令は存在しない。
メモリコンシステンシはきつくもなんともない。
637Socket774:2008/08/25(月) 03:26:51 ID:O2J1PAxv
>>636
> ストアバッファがあるというなら資料を示せ。

ftp://download.intel.co.jp/jp/developer/jpdoc/2001q1_art02_j.pd
Pentium4だけどいいかい?
11ページあたりとか

> LarrabeeはVPU部に限れば1issueだから追い越しどころか同時実行すらありえない。

追い越しするためのスケジューリングやらマルチスレッディングだが…
638,,・´∀`・,,)っ:2008/08/25(月) 03:41:37 ID:a77HGQP1
>>637
不可。Pen4のストアバッファはお前の思ってるのと役割が違う。
強いて言えば描画のWバッファリングと同じようなもん。

同じスレッドの同じ命令列はインオーダ実行インオーダ完了だ。
同期をとらずに別々のスレッドから同一のアドレスに書き込んだ値は保証されない
だからこそ保証がほしい場合に同期が必要。

HTは、むろん別スレッドなら追い越しは可能だ。
639,,・´∀`・,,)っ:2008/08/25(月) 03:52:07 ID:a77HGQP1
破棄できるストアキューイング機構という意味ではCore2にもAtomにも存在しない
ストアデータを破棄しなくていい命令しかそもそもサポートしてないからな。

AtomはSSSE3まで実装してるけど4W以内。
SSEのコンシステンシモデルがどう厳しいって?
フェンスしない限りコンシステンシを保証しないからめちゃ緩いんですけど。
640,,・´∀`・,,)っ:2008/08/25(月) 04:03:27 ID:a77HGQP1
フェンス命令によりコンシステンシ遵守しようとしまいと
SSEのストア命令により書き込んでしまったデータを例外発生時に巻きもどす必要は全くない。

641Socket774:2008/08/25(月) 08:31:10 ID:Z5IdZQ3x
斜め読みだけど...
ららびって GPU でしょう。
GPUの方はすごい狭いSRAMにアセンブラコード載せてて、
もちろんIOとか割り込みとかなくて、システム管理コードなんて
一切無いわけで、その対抗と思えば、OS乗るっても
BlueGeneやCray XTシリーズの計算ノードで使っているような
Lightweight Kernel Linuxくらいじゃない?
その前提なら SSE のありなしは命令セットの縛りではなくて、
Intelがトレードオフを考えて決めることだと思うよ。
BlueGeneだってPPC4x0に外付けでベクトルユニットつけてるしさ。
まあ、あれはIOがあるから、コンシステンシに手を抜きすぎて
BG/Lで酷い目にあってBG/Pで改善してるけどね。

なので、基本的にはSSEについては Intel の発表待たないと
わからないし、団子さんは勇み足なのかな?と思う。
のだが、何かマイクロな論争になっていて、しかも団子論理の
方が正しいので、読んでいて困る(笑

パイプラインの管理論理って滅多に外に発表されないのだけど、
たいてい、ROBとかストアバッファとかとは別になってるよ。
キャッシュミスしたらwaiting ringに突っ込んでエントリ外したりとか
色々やるからね。
で、ROBはレジスタのフォワーディング、ストアバッファは
ロードストアのフォワーディングに使われる。
こっちはデータパスなので、外に発表される。
で、割り込みだけど、ROBから完了するときに出るのね。
μOPがどれに対応してるか判定するとか、分岐予測した命令で
例外でちゃまずいよねとか、理由はいろいろ。
ともかくそうなってる。ほんでストアバッファはROBの外にある。

まあそれはともかく、ららびでSSEありなしってソースあるんだっけ?
642,,・´∀`・,,)っ:2008/08/25(月) 09:02:01 ID:a77HGQP1
彼の思うSSEがサポートできない理由は、彼はSSEのストア命令は巻き戻しが必要だと勘違いしているから。
実際にはそんな動作は求められてない。
マルチサイクルで実行されることも考慮し、ストア命令が例外で中断しても再開時に最初から実行すればいい命令だけしかない。
むろんフェンス命令を使ってもその動作はかわらない。
フェンスがやるのはあくまで命令間の順序保証だけでストアのバッファリング云々は妄想。


SSE対応の根拠は64ビット対応。
x64はCMOVやSSE2は拡張命令ではなく基本命令。
Intelの旧称EM64TということであればSSE3までが基本ISA。
SSE非対応なら64ビットISAの分断を意味する。
しかしOSメーカーはそれを許すはずもなく、Yamhillの悲劇再びだな。

SSEをサポートしない合理的理由がない以上するでしょ。
643Socket774:2008/08/25(月) 09:12:52 ID:O2J1PAxv
>>641
> で、ROBはレジスタのフォワーディング、ストアバッファは
> ロードストアのフォワーディングに使われる。

ストアバッファは、投機的ストアのバッファリングにも使われるよ
対応するROBエントリが解放される時に、ストアバッファのデータが実際に書き込まれる

投機的ストアはやらない実装もあるけどさ
644Socket774:2008/08/25(月) 09:18:45 ID:EEr2Fa08
だいたい、まだ発表されてないのに、あるだのないだの言っても意味ないだろ
ある場合とない場合で分けて話すればすむ話。

無理にあるとかないとか断言しても、「ぼくのかんがえたかいじゅう」の話と一緒で
他人に聞かせるような話じゃないってくらいは理解してくれよ
645Socket774:2008/08/25(月) 09:20:59 ID:O2J1PAxv
団子的に、scatter命令で、部分的にストアされた状態で例外を起した場合、
この命令は中途半端に実行されたとしか言いようがない
「中途半端に実行された」を、命令実行が完了したとは到底言えないし、まったく実行されていないわけでもないから、
これがx86のweak consistencyモデルと馴染まないのは明らか
646Socket774:2008/08/25(月) 09:22:37 ID:O2J1PAxv
> まあそれはともかく、ららびでSSEありなしってソースあるんだっけ?

ない
後藤ちんの推測記事では、SSEどころかMMXもないことになっている
647Socket774:2008/08/25(月) 09:27:02 ID:O2J1PAxv
>>641
> で、ROBはレジスタのフォワーディング、ストアバッファは
> ロードストアのフォワーディングに使われる。

すまんね
インテルもAMDもROBにレジスタの投機的状態を持たせてないと思ったが
それはともかく、

> ストアバッファは、投機的ストアのバッファリングにも使われるよ

バッファした投機的(というか、コミットされていないストア全般)ストアのフォワーディングに使われる、だね
648Socket774:2008/08/25(月) 09:46:25 ID:O2J1PAxv
>>642

> フェンスがやるのはあくまで命令間の順序保証だけでストアのバッファリング云々は妄想。

バッファリングしているからこそフェンスで順序保証する必要があるんですけど

>>645
で、どうしてもSSE命令を実装したい場合、VPU命令のメモリアクセスはSSEのフェンス命令の対象外にするしかない

しかしVPUでSSE命令を実行するとなると、やっぱりVPUのLSUをweak ordering対応にしないといけない
649Socket774:2008/08/25(月) 09:53:25 ID:O2J1PAxv
>>641
> のだが、何かマイクロな論争になっていて、しかも団子論理の
> 方が正しいので、読んでいて困る(笑

団子は、おれが言ってもないことを捏造して繰り返し主張するので困る
650Socket774:2008/08/25(月) 10:42:01 ID:O2J1PAxv
>>647
> インテルもAMDもROBにレジスタの投機的状態を持たせてないと思ったが

これは勘違いかも
Pentium4はROBエントリに、コミットすべき値ではなくレジスタマップを持っていたと思うが、ほかのは違ったかも
651Socket774:2008/08/25(月) 12:38:42 ID:IK+YWZSX
In-order実行もそうだが、旧い技術への巻き戻しが多いな。

回帰大作戦ってか。

電圧スケールのマージンがどんどん狭くなってしまうという問題には、LongRun2
あたりを使いたい感じだな。

Atomの省電力技術も搭載したNehalem
http://pc.watch.impress.co.jp/docs/2008/0825/kaigai462.htm
|●フルスタティック回路化のトレンドに乗るNehalem
652,,・´∀`・,,)っ:2008/08/25(月) 13:06:38 ID:a77HGQP1
投機を絶対しないからインオーダなんだが。
投機は命令発行ポートが沢山あり、それをなるべく遊ばせない為の機構。
1〜2issueで投機やる意味がない。


もちろん分岐予測による投機だけなら1〜2issueのP5でも効果はあるし、実際やってるが、
インオーダだから分岐命令のフラグ確定までに後続命令が実行されないことが保証できるから
ストアバッファなるものは不要。

アグレッシブな投機にトランジスタ使うくらいならコア数増やした方がマシだからな

VPU側は1issueだから同じスレッド間での命令発行順は常に保証できる。
フェンス命令を使おうが使うまいが、ね。
スレッドが別なら同期命令を使わないかぎり同じアドレスへの書き込みが正常に行われることは保証しない。しなくていい。

インオーダでSMTのAtomでもストアバッファなるものの存在は確認できないな。ちなみにAtomも分岐命令を追い越した投機実行はしないし。
653Socket774:2008/08/25(月) 15:58:45 ID:8SnXGm6V
>>651
|45nmプロセスで、パワースイッチを実現したIntel。しかし、Kumar氏は、この技術が今後もそのまま通用するわけでは
|ないと指摘する。「22nmプロセスで同じことを行なうことは難しく、22nmでは全く異なるソリューションが必要になる
|だろう」とKumar氏は語る。

32nmではオケって話かな。

まあ自分の経験でも有ったけど、その時の外部条件でのみ絶妙な方法で問題を
解決出来た事例があるが、お陰で外部条件を改版する足枷になったわな。

45nmのままでも大幅にプロセスを改版するとヤヴァイ気がするが、それは入ら
ない(要らない?)とIntelは判断したって事なんだろうな。
654Socket774:2008/08/25(月) 18:51:06 ID:O2J1PAxv
>>652
> VPU側は1issueだから同じスレッド間での命令発行順は常に保証できる。
> フェンス命令を使おうが使うまいが、ね。

命令発行順と命令完了順の区別をつけてくださいよお願い
655,,・´∀`・,,)っ:2008/08/25(月) 19:09:13 ID:a77HGQP1
依存関係が解決できればインオーダ実行・アウトオブオーダ完了はありうる。
Atomでは部分的にこれを実装してる。
もちろん、追い越して完了すると困る依存関係があればストールする。


Intelが未だに実装した試しがない機構は投機ストア。
投機ストアがあるなら確かに「破棄のできるバッファ」にため込む機構の
実装が必要だろうけど、電力効率的に実用性がなさすぎる。
リッチなアウトオブオーダ機構を削り単純化すればコア数を数倍に増やせるというフィロソフィがまずLarrabeeにある。
その意味でPen4など無駄の塊。
だからNetBurstを見てIA32の全てを知った気になってるバカは手に負えない。
656Socket774:2008/08/25(月) 19:13:29 ID:O2J1PAxv
>>655
そのインテルが実装したことのないという投機的ストアだが、

scatter命令だと1命令で事実上投機ストアになるって言ってんの
657,,・´∀`・,,)っ:2008/08/25(月) 19:37:21 ID:a77HGQP1
ならねーよバカ
658Socket774:2008/08/25(月) 20:16:36 ID:O2J1PAxv
>>656
scatter命令の途中で例外が起きる
1) 途中まで実際にメモリに書き込んでしまう→weak consistencyではなくなる
2) 例外が起きた時点で巻き戻しする→ストアは投機的

お前が1派ならフェンス命令の非互換性を認めろよ
659,,・´∀`・,,)っ:2008/08/25(月) 20:43:36 ID:a77HGQP1
mfenceには途中まで書いてしまうことを禁止する機能なんてねーよ。
機能を捏造するな屑
660,,・´∀`・,,)っ:2008/08/25(月) 20:48:14 ID:a77HGQP1
フェンスの役割は「命令の」実行順序の保証であってメモリアクセス時の例外が起きないことまでは保証しない。
ページフォルトを考慮し二度書きになっても「いい」ような命令しかストアには無い。
661Socket774:2008/08/25(月) 20:53:54 ID:O2J1PAxv
>>660
> フェンスの役割は「命令の」実行順序の保証であってメモリアクセス時の例外が起きないことまでは保証しない。

これが団子の理解でいいんだな

んじゃもう何にも言うことはない
662,,・´∀`・,,)っ:2008/08/25(月) 21:01:31 ID:a77HGQP1
いいえIntelの仕様です。
663Socket774:2008/08/25(月) 21:27:50 ID:O2J1PAxv
アーキテクチャの教科書を通読したことのない団子が、インテルのマニュアルを誤読しているということか

もしかしてメモリフェンスもインテル用語と思っているんだろうか
664,,・´∀`・,,)っ:2008/08/25(月) 21:55:52 ID:a77HGQP1
誤読してるのはお前だけ。
Pen4のマイクロアーキテクチャしかマニュアル目を通したことがなく、CPUIDの動作仕様すら知らなかったイケヌマがほざけよwww
ペタヘネとか古典すぎるしベクトル機のフィロソフィも役に立たない。


つかとりあえずアドレスが確定した上で書き込むのは投機ライトとは言わない。
ページフォルト程度ならバッファリング云々の機構なしでもリカバリーできる。
仮想アドレッシングの仕様は20年以上前に決まった。
665Socket774:2008/08/25(月) 22:05:18 ID:O2J1PAxv
>>664
> つかとりあえずアドレスが確定した上で書き込むのは投機ライトとは言わない。
> ページフォルト程度ならバッファリング云々の機構なしでもリカバリーできる。

これもあとあとコピペしていいかい?
666,,・´∀`・,,)っ:2008/08/25(月) 22:21:51 ID:a77HGQP1
どうぞどうぞ。
667Socket774:2008/08/25(月) 23:07:47 ID:O2J1PAxv
>>666
もう一つ聞いとこ

>>665は、インテル固有の話なの?
それとも一般的な話?
668Socket774:2008/08/25(月) 23:09:40 ID:O2J1PAxv
というかね、団子が一般論は知らないと告白するなら、そっちについては勘弁してやろうと思うんだ
669Socket774:2008/08/25(月) 23:22:25 ID:O2J1PAxv
>>641
そろそろちゃんと読んだ頃かな?
斜め読みというエクスキューズはいいからさ

その上で、よかったら

> フェンスの役割は「命令の」実行順序の保証であってメモリアクセス時の例外が起きないことまでは保証しない。
^^^^^^^^^^

> つかとりあえずアドレスが確定した上で書き込むのは投機ライトとは言わない。
> ページフォルト程度ならバッファリング云々の機構なしでもリカバリーできる。

この団子論理の擁護をお願いね
670Socket774:2008/08/25(月) 23:32:22 ID:O2J1PAxv
>>669
あ、下線部がずれた

「実行順序」の保証、ってところ
671Socket774:2008/08/25(月) 23:39:53 ID:WntNcFJW
とりあえずフルセットのx64命令セットであることは確定。

http://www.itjungle.com/tlb/tlb080508-story02.html

What Intel wants to stress--and what software developers are
surely going to love to hear--is that Larrabee is a complete
X64-style core: It has context switching and pre-emptive
multitasking, virtual memory and page swapping, and fully
coherent cache memories across the memory hierarchy in the chip.
I am not certain if that means Windows and Microsoft Word will
run on it, but Intel sure wants to imply that they will.
672,,・´∀`・,,)っ:2008/08/25(月) 23:46:31 ID:a77HGQP1
CPUIDの動作についていい加減に弁解が聞きたい。
おっと、フェンスしない実装なんてのはありえないからな
CPUIDのフェンス作用は規格としてドキュメント化されている。
673,,・´∀`・,,)っ:2008/08/26(火) 00:04:17 ID:3YTIX+vi
オーダリング強制の緩さって面では
L/Sの特定命令に限定してリタイアするまでブロックする*FENCEのほうが、
全命令がリタイアするまでブロックするCPUIDなんかより緩いといえる。

CPUIDを使ってしかフェンスできないほうがパフォーマンス上致命的なんだが。

でもさ、マルチサイクルのストア命令の実行中にいくら例外が起きようと
書き込みを巻き戻す必要は「ない」。
rep movs*が良い例。例外起きてもそのまんま。SSEでももちろんそう。

フェンス命令の仕様何で読まないで勝手な妄想するか理解に苦しむ。
674MACオタ>671 さん:2008/08/26(火) 00:07:36 ID:fiiYywSB
>>671
  --------------------
  とりあえずフルセットのx64命令セットであることは確定。
  --------------------
もしかして、英語で書いてある情報わ全部真実に見えるすか?
675,,・´∀`・,,)っ:2008/08/26(火) 00:13:44 ID:3YTIX+vi
mov ecx,10000000
rep movsd
mfence

↑こんなコードで実行中に例外が起きるとして、バッファ(笑)は何エントリ必要か答えてね。
676Socket774:2008/08/26(火) 00:20:31 ID:JnmrWmO4
>>673
おれの言ったこと覚えといてくれよ

「CPUID等の逐次化作用は、VPUメモリアクセスには完全に適用されるわけではないんじゃないか?」

と予想してるつっただろ

> rep movs*が良い例。例外起きてもそのまんま。SSEでももちろんそう。
>>675

rep付きストリング命令は、「命令の途中からの再開」を許す極めて例外的な命令なんだよ
その代償に遅い
677,,・´∀`・,,)っ:2008/08/26(火) 00:22:07 ID:3YTIX+vi
「ライトバッファオーバーフローシステムクラッシュする」
なんて珍回答に期待
678Socket774:2008/08/26(火) 00:22:14 ID:JnmrWmO4
>>674
そうだよな、言ってることはMACオタや団子レベルの自分勝手な予想だよな

> What Intel wants to stress

だってよ、プププ

で、まこたんはコヒーレントキャッシュの動作を勉強したかね
679,,・´∀`・,,)っ:2008/08/26(火) 00:24:20 ID:3YTIX+vi
>>676
>>673
> おれの言ったこと覚えといてくれよ

> 「CPUID等の逐次化作用は、VPUメモリアクセスには完全に適用されるわけではないんじゃないか?」

> と予想してるつっただろ

> > rep movs*が良い例。例外起きてもそのまんま。SSEでももちろんそう。
>>675

> rep付きストリング命令は、「命令の途中からの再開」を許す極めて例外的な命令なんだよ
> その代償に遅い


全て妄想。どこにもそんなことは書かれていない。
680MACオタ>678 さん:2008/08/26(火) 00:25:25 ID:fiiYywSB
>>678
  --------------------
  まこたんはコヒーレントキャッシュの動作を勉強したかね
  --------------------
共有キャッシュに書き込む度にinvalidateが必要という珍説(笑)
>>634
  =====================
  invalidate方式のコヒーレンシプロトコルならそれが普通の動作だが。
  =====================
681Socket774:2008/08/26(火) 00:27:18 ID:JnmrWmO4
>>679
上のCPUIDの話はおれの予想だ

ストリング命令が遅いのも、実行中に割り込みが入るのも事実だろ…
682,,・´∀`・,,)っ:2008/08/26(火) 00:27:21 ID:3YTIX+vi
REPつきストリング命令って表現はまぬけすぎるな
じゃ、SSE*はREPつきMMX命令なのかな?
683Socket774:2008/08/26(火) 00:28:56 ID:JnmrWmO4
>>680
> 共有キャッシュに書き込む度にinvalidateが必要という珍説(笑)

if necessaryは、必要なら、と訳すんだよ、まこたん

> Data written by a CPU core is stored in its own L2 cache subset and is flushed from other subsets, if necessary.
684Socket774:2008/08/26(火) 00:30:17 ID:JnmrWmO4
>>682
SSE命令にはrepプリフィクスがつかないだろ…
685,,・´∀`・,,)っ:2008/08/26(火) 00:31:38 ID:3YTIX+vi
ストリング命令だけが例外的動作ってどこにドキュメント化されてるの?
もちろんそんな重要なことはIntelがドキュメント化してないはずはないよね?
686Socket774:2008/08/26(火) 00:32:49 ID:JnmrWmO4
>>685
> ストリング命令だけが例外的動作ってどこにドキュメント化されてるの?
> もちろんそんな重要なことはIntelがドキュメント化してないはずはないよね?

x86の命令ぜんぶ調べて、「命令の実行の途中に割り込みを許す」命令を調べてこい

repプリフィクスのついたストリング命令以外にはないから
687Socket774:2008/08/26(火) 00:33:34 ID:SPcOLCON
「俺が正しい」
「いや俺だ」

なんて言い合ってても何も進展しないな。
出来る部分でいいから典拠を示して相手が間違ってる点を
指摘するとかしないと単なるスレの無駄遣いで終わっちゃうよ。

議論下手だね。
688,,・´∀`・,,)っ:2008/08/26(火) 00:33:34 ID:3YTIX+vi
66hはREPプリフィクスです。
SSE*では意味の解釈が違うだけで。
689Socket774:2008/08/26(火) 00:34:56 ID:JnmrWmO4
>>687
議論しているわけではなくて、団子に正しい知識をあたえている最中
690,,・´∀`・,,)っ:2008/08/26(火) 00:35:56 ID:3YTIX+vi
とりあえずmovupsでページ境界をまたいでみたら?
691Socket774:2008/08/26(火) 00:37:07 ID:JnmrWmO4
>>687
根拠というか、アーキテクチャの教科書にはちゃんと書いてある事柄ばっかりなんで
なんでもいいから詳しめなのを読んでくれとは思う
692,,・´∀`・,,)っ:2008/08/26(火) 00:40:41 ID:3YTIX+vi
というより「途中」の意味の考え方の問題だな

ecxの値をデクリメントしながら実行するからそこで割り込んだら
文字通り「途中」になるからね。

ところで、movupsでページを跨いだらどうなるか教えてね
693Socket774:2008/08/26(火) 00:43:57 ID:JnmrWmO4
>>692
movupsは繰り返ししない命令じゃないか

> ecxの値をデクリメントしながら実行するからそこで割り込んだら
> 文字通り「途中」になるからね。

そういうことだよ
694,,・´∀`・,,)っ:2008/08/26(火) 00:48:24 ID:3YTIX+vi
>>693
そうだよ。繰り返さないけどページを跨ぐことがありうるね。
695,,・´∀`・,,)っ:2008/08/26(火) 00:52:24 ID:3YTIX+vi
CPUIDがLNIに例外的にフェンス作用をキャンセルできるという珍説が正しいなら
*FENCEでできない理由がないな。
696MACオタ>683 さん:2008/08/26(火) 00:55:39 ID:fiiYywSB
>>683
  -----------------
  if necessaryは、必要なら、と訳すんだよ、まこたん
  -----------------
必要ならやるなんて話じゃ無くて『当たり前』と主張していたヒトがいたような。。。
>>633
  =================
  コヒーレントキャッシュなんだから当たり前だ…
  =================
697Socket774:2008/08/26(火) 01:02:29 ID:JnmrWmO4
>>694
movups、というかunaligned accessなら
高々2ページにまたがるので、両方の例外チェックしてからメモリアクセスするんじゃね

386の頃のマニュアルだったが、そういう記述があった
(386そのものだと思うが、他のプロセッサかもしれん)

>>695
うん
スカラユニットでSSE命令を実装するんなら、まあ問題ないと思う


>>696
> 必要ならやるなんて話じゃ無くて『当たり前』と主張していたヒトがいたような。。。

>>632
> しかし、もしこんなことを普通にやっていたら二つのコアで同じメモリ領域に書き込むようなコードで
> データのピンポンが発生することに気付く筈なんすけど。。。

>>633
> >>632
> コヒーレントキャッシュなんだから当たり前だ…

キャッシュラインの競合によるinvalidateは必要だからやる
invalidateプロトコルなら当たり前

というか、もう目についた単語をつなぎあわせて反論?するのはやめて


698Socket774:2008/08/26(火) 01:05:02 ID:JnmrWmO4
>>697
いちおう強調しておくと、ページアウトしていない方の部分データへのアクセスもしないということ
(もちろんCPU外部からも見えない)

半分だけ実際にストアしたりはしません
699,,・´∀`・,,)っ:2008/08/26(火) 01:17:21 ID:3YTIX+vi
CPUIDは自身の情報取得のために何百サイクルも使うからLNIがスルーできようができまいが
パフォーマンスの影響はでかいという笑い話。
その点*FENCEは圧倒的に高速なんだよな。フェンス以外の作用がないから
700,,・´∀`・,,)っ:2008/08/26(火) 01:28:18 ID:3YTIX+vi
CPUIDおよび*FENCEはフェンス中は前の対象命令がリタイヤするまで後続命令の「フェッチをいっさい止める」という厳格な仕様なのに、
VPU命令か汎用命令かを判別(=デコードを止める)してVPU命令だけ流すなんて不可能
701,,・´∀`・,,)っ:2008/08/26(火) 01:35:32 ID:3YTIX+vi
Core2での後続命令の発行になるまでのクロック数

LFENCE 8
MFENCE 6
SFENCE 9
===廃止すべき(笑)命令の壁===

CPUID 180-215



つーか、改めてフェンス命令の仕様読んでね
702Socket774:2008/08/26(火) 01:53:28 ID:JnmrWmO4
>>700
> CPUIDおよび*FENCEはフェンス中は前の対象命令がリタイヤするまで後続命令の「フェッチをいっさい止める」という厳格な仕様なのに、

scatter命令が例外起したら、「リタイヤできない」って言ってる
かといって中途半端にストアしてしまって、「キャンセル」するのも大変

中途半端なところで「リタイヤしたものと見做す」ことならできるけどね
703,,・´∀`・,,)っ:2008/08/26(火) 01:56:18 ID:3YTIX+vi
あくまで一時的にパイプラインのフェッチを止めることで後続命令が追い越さないことを保証するだけで、

メモリストアユニットに干渉するなんて仕様はどこにもないんです現実。
704,,・´∀`・,,)っ:2008/08/26(火) 02:00:52 ID:3YTIX+vi
>>700
ならストリング命令はフェンスしても割り込めるのは何故なんだぜ?


例外ハンドリンクしたらブロッキングは一時解除するんだよ。
705Socket774:2008/08/26(火) 02:00:54 ID:+Tcf0t0N
ネットでダンゴみたなの相手にしても時間の浪費だという合理的な考えの
欠如したヤシだということはよく分かった。
706Socket774:2008/08/26(火) 02:03:37 ID:+Tcf0t0N
がしかーし、OpenMPがおせーってどういう意味だw
何に比べておせーってんだ一体w
ただ単にAPI lib呼んで、あとはOSとhardの問題だってーのにw
707,,・´∀`・,,)っ:2008/08/26(火) 02:08:51 ID:3YTIX+vi
>>706
レイプ女学院の主題歌じゃないほうのオブリビオンの
スケーラビリティの低さは何よ?
OpenMPはゲームには向かないんじゃね?

GPU用Larrabeeは主にゲーム用だから敢えて言うけど。
708Socket774:2008/08/26(火) 02:09:59 ID:+Tcf0t0N
オレはゲームは一切やらんからゲームのことはシランけど
>>460の前半読む限りひどい誤解か経験不足のようだな。
16CPUで10倍以上スケールするよ。まともなhardなら
709Socket774:2008/08/26(火) 02:12:56 ID:+Tcf0t0N
>>707
つか、OpenMPつかっても、pthreadつかっても
さらにその辺アセンブラで書いても
まともなOSとhardwareであれば性能一緒だつーの。
結局同じ機能使うしかないんだから
その上、並列の問題は浪費サイクルの次元違うから…説明嫌になってきた
新人教育じゃあるまいし
710,,・´∀`・,,)っ━:2008/08/26(火) 02:13:57 ID:3YTIX+vi
彼の解釈に照らしあわせるとこんなコードはフリーズするらしいぜ

scatなんちゃら ←シリアル化されちゃったのでここで例外起きたら止まる
cpuid←VPU命令以外だけはブロック
mov eax,1
711Socket774:2008/08/26(火) 02:14:41 ID:JnmrWmO4
>>703
発行されたメモリアクセスがすべて完了するまで、命令フェッチを止めるんだぜ
だから、LSUにはがっつり干渉するぜ

>>704
> ならストリング命令はフェンスしても割り込めるのは何故なんだぜ?

中途半端なところで「リタイヤしたものと見做」してるからだぜ?

>>707
最近歌ってくれないのでKOTOKO FC辞めてやったぜ
712Socket774:2008/08/26(火) 02:14:42 ID:+Tcf0t0N
OpenMPよりもMPIのが速い見たいなこと
と言ってくれればもっと笑えるんだけれどもw
しかし、ララ美チャン、何に使おうかね…ノシ
713,,・´∀`・,,)っ:2008/08/26(火) 02:18:11 ID:3YTIX+vi
>>712
さすがにプロセス間通信とかは嫌いだな。
ちなみに俺はスレッドライブラリは自作派だな。
714Socket774:2008/08/26(火) 02:20:27 ID:JnmrWmO4
>>710
うんとね
CPUIDはVPU命令の発行もブロックすると思うよ
ただ、CPUIDの前にVPUが発行したメモリアクセスが、すべて「完了している」ことを微妙に保証できないかも

それが、「完了した」とも「キャンセルした」とも言えない、scatterで半分だけストアした状態
715Socket774:2008/08/26(火) 02:21:35 ID:+Tcf0t0N
プロセス間通信…mpitchだってchp4の他にもshmemくらいもってるってーの
他にもDMAなりなんなり
並列で性能だそうとおもったら…説明マンドクセ
716Socket774:2008/08/26(火) 02:24:42 ID:JnmrWmO4
DSMクラスタでOpenMP…
717,,・´∀`・,,)っ:2008/08/26(火) 02:26:49 ID:3YTIX+vi
えらく低品質な命令だね
718Socket774:2008/08/26(火) 02:29:31 ID:+Tcf0t0N
やリタきゃやれば?変態だよ。
Intelからもそれっぽい製品でてるしOmniなんてのもあったし、
ompじゃあないが古くはHPFなんてもの合ったし。遠い目さ
719,,・´∀`・,,)っ:2008/08/26(火) 02:30:06 ID:3YTIX+vi
>>715
知ってるよ。
マルチプロセスでデータ共有するにはDLLで共有メモリ作るモデルもあるね。



だが好かん。





1プロセスで多スレッドで済むならそっちの方がいい。
720Socket774:2008/08/26(火) 02:30:31 ID:+Tcf0t0N
ハゲばっか!ノシ
721Socket774:2008/08/26(火) 02:38:11 ID:CphjTxM5
OpenMPは使いやすいがFork-joinモデルだから性能出そうにも柔軟性がない。
722Socket774:2008/08/26(火) 02:44:52 ID:4T35lWrK
スネーク、ずっと割り付けておいてforkをダミーにするんだ。over
723,,・´∀`・,,)っ━○◎○:2008/08/26(火) 03:12:50 ID:3YTIX+vi
scatなんとか
mfence
mov eax,1

CPUIDだとよくて、これだとフリーズ(笑)するという珍説の理由はわかりませんね。



MASKMOVDQUのマニュアル見ると色々面白いことが書いてあるね。
LNIのスキャタってこれの親戚みたいなもんだろ。
724,,・´∀`・,,)っ:2008/08/26(火) 03:25:49 ID:3YTIX+vi
んなわけで読めばわかることだけどSSEのストア命令も、ものによっては「書き込み中」に余裕でページフォルトします。
で、中途半端に書かれた状態は存在し得ます。

で、厳しいメモリコンシステンシっていったい何?
725,,・´∀`・,,)っ:2008/08/26(火) 03:39:47 ID:3YTIX+vi
FSTENVで書き込むバイト数っていくらだったっけ?
14バイトあるいは28バイトだよね。
現行のx86では、どうやっても複数サイクルかかる命令だ。
で、これにもやっぱりページフォルトはあるんだ。
ストアが4バイト単位でしかできないCPUは死ぬの?バカなの?
やっぱCPUIDでハングするの?
726Socket774:2008/08/26(火) 03:57:48 ID:VkboGDpX
>>722
そういうダメハックをするからノード追加してもスケールしないんだYO!
727,,・´∀`・,,)っ:2008/08/26(火) 04:02:56 ID:3YTIX+vi
64ビットISAの互換をつまらないこじつけで分断してYamhillの二の舞にさせたい本当の理由って何だったの?

フェンス命令の役割勘違いしてたの、そろそろ気づいてね。
メモリコンシステンシのためのストアバッファなんて
x86にありもしないものを思いこみで作り上げてきて
恥ずかしいと思ってほしいね。
728460:2008/08/26(火) 04:25:14 ID:MDzfCb0A
おひさ、と思ったらまだやってる(^^;)

「ページフォールトが起こるとfenceと絡んでオーダリングが」ってのはよく
わからんのだが。

ページフォールトを起こしたscatterの前後にfenceがあったとしても、
「fenceの実行後に止まる」か「fenceを実行する前に止まる」かの
どちらかであって、fenceと関係してどうこうという話ではないと思う。
ということで団子の言っていることは妥当なのではないか?

つまり、複数のアクセスが仕掛かりのままほおって置かれるのではないか、
という懸念はその命令の中に閉じた心配事。アーキテクチャステートの定義
がきれいにできるか、とか、フォワードプログレスが保障できるかとかは心
配になるが、心配して考えればなんとかなるでしょ。
729460:2008/08/26(火) 04:32:48 ID:MDzfCb0A
ちなみに、俺が460でscatter/gatherのコンシステンシが興味深いと書いた
のは、16並列の独立メモリアクセス命令のシーケンシャルセマンティクスを
維持するのは大変なのではないか?とか仮想-物理アドレス対応のエイリア
シングをどう考えるのか?とかの問題。

もし、連続するベクタ要素のアドレスが同一キャッシュラインに収まる場合
のみ複数のメモリアクセスの同時実行が行われる、とかの制約の強い実装を
行うなら、問題なさそうだが。
730,,・´∀`・,,)っ:2008/08/26(火) 04:37:21 ID:3YTIX+vi
Intelの253666.pdf
あたりだな

キーワードは
・WC protocol
・MFENCE/SFENCE

これがセットで出てくる。


要約すると、
「ノンテンポラルストアは順序づけが弱いメモリコンシステンシモデルだから、
後続の同じアドレスにアクセスする命令に追い越されて汚染されるリスクがあるよ。
だから確実に書き込み順序を保証するにはフェンスしてね」。

おわかりでしょうか。

*FENCEは厳しいメモリオーダリングモデルを強いるものではなく、
むしろ弱いメモリコンシステンシモデルでの順序を効率的に保証するための有りがたい命令でした。
彼は彼の自分の理想のモデルを自分自身で叩いてた痛い子なんよ。


【結論】
SSEは有用であり、無論、LNIでもその性能をいかんなく活躍できるでしょう。
731,,・´∀`・,,)っ:2008/08/26(火) 04:46:33 ID:3YTIX+vi
逆に考えるんだ。
SSEは廃止すべきだという一方で、弱いメモリコンシステンシモデルを持ち上げ、
それを提供するSSEの有用性を強く主張していたのか。

ツンデレにも程があるぜ!!!



むしろ俺釣られた?
732460:2008/08/26(火) 04:48:42 ID:MDzfCb0A
>>726
OpenMPをOpenMPらしく使おうと思ったらゲームでは使いどころが無い

つーか、ピュアハードレベルの話に並列プログラミングの話が混ざるのが
2chクオリティ。
733,,・´∀`・,,)っ:2008/08/26(火) 04:53:07 ID:3YTIX+vi
LNIのスキャタ命令は、SSE由来の技術であるWCプロトコルにより効率的にストアできるんですね。
わかります。
734,,・´∀`・,,)っ:2008/08/26(火) 04:54:54 ID:3YTIX+vi
SSEを捨てる=LNIを捨てるに等しいな
735641:2008/08/26(火) 08:43:16 ID:6/NS6tLL
>>730
ちょっと待ってくれ
scatter って MOVNT vector shuffle みたいな命令だよな?
Write Combineはないんじゃないか?

VPU命令1個でL1キャッシュに最大16回アクセスするよっていってるとこで
Write Combineやったら目茶目茶にならないか。
少なくともちょっと考えたくらいでは、典型的にはringバスに16個リクエストが
飛んでいくんだけど、2個目以降はどうなるの?ってとこで思考停止した。
736641:2008/08/26(火) 08:50:11 ID:6/NS6tLL
訂正
>scatter って MOVNT vector shuffle みたいな命令だよな?
ノンテンポラルな scatterがあるとしたら、ね
737,,・´∀`・,,)っ:2008/08/26(火) 09:26:30 ID:3YTIX+vi
論文読むにマスクして部分書き込みという技術に依存してるから。

既存命令としてもっともイメージとして近いのオペレーションなのはMASKMOV{Q,DQ}命令、
やっぱりライトコンバインなんだよ
AVXでAoS/SoAの変換用に新たに追加すると説明されてる命令もVMASKMOVPS,VMASKMOVPDなんだよ。
もちろんストア動作はライトコンバイン。


スキャタも、ライトコンバインモードがあるっていうよりは法則に従えば常にライトコンバインなんじゃないのかな?という推測。
738,,・´∀`・,,)っ:2008/08/26(火) 13:00:52 ID:3YTIX+vi
ストア前に各書き込み先キャッシュラインにあわせて書き込みする
パターンを生成する行程は、確かにシャッフルだと思う。

でも、各ストア操作が書き込む原理は、MASKMOV(ライトコンバイン)と同等になるはず。
ストアにはマスクレジスタなる新設のレジスタが介在する可能性が高いが、
こういうオペレーションのためののシャドウレジスタなのかな?と思うんだ。
これはあくまで予想だけど


彼は電波だったけど、ウィークオーダーであるべきってことに限れば当たらずとも遠からずなんじゃないかとは思う。

AoSやAoAへのL/Sを愚直にやるとキャッシュスラッシングの発生率も高くなるから
ノンテンポラルかつライトコンバインのストアのほうが効率がいいはず。

これでいいかな?
739Socket774:2008/08/26(火) 16:11:29 ID:JnmrWmO4
>>728
> つまり、複数のアクセスが仕掛かりのままほおって置かれるのではないか、
> という懸念はその命令の中に閉じた心配事。アーキテクチャステートの定義
> がきれいにできるか、とか、フォワードプログレスが保障できるかとかは心
> 配になるが、心配して考えればなんとかなるでしょ。

scatterが中途半端な状態でフェンスに完了?させられた場合のセマンティクスは、
従来のSSEからはみ出すものだよね?

>>735
ところが団子は>>737みたいな事を言ってて、余計にややこしいんだ

少なくとも団子はその心配を全くしてないわけ
あんたはどう考えて実装するの?

>>729
の話はおれも考えているんだけど、それよりはるか以前で話題が止まっちゃってるのよ…



740,,・´∀`・,,)っ:2008/08/26(火) 17:17:39 ID:3YTIX+vi
>>735
>>730
> ちょっと待ってくれ
> scatter って MOVNT vector shuffle みたいな命令だよな?
> Write Combineはないんじゃないか?

> VPU命令1個でL1キャッシュに最大16回アクセスするよっていってるとこで
> Write Combineやったら目茶目茶にならないか。

同じキャッシュラインに入る要素なら同時にストアするわけだから
同じ命令の2発目はキャッシュラインが重ならないことを保証できるよな?
1命令でやろうが100命令だろうがアドレスが重ならなければ問題ない。

スキャタに関してはパケットを作る段階で各パケットの格納アドレスの非同一性が保証できるだろ。
741,,・´∀`・,,)っ:2008/08/26(火) 17:45:25 ID:3YTIX+vi

> scatterが中途半端な状態でフェンスに完了?させられた場合のセマンティクスは、
> 従来のSSEからはみ出すものだよね?
「フェンスに完了させられる」とかいってる時点でこいつはいまだに解ってないな。
どうしようもないバカのようだ。

フェンスは本来正常完了するまで後ろにある命令を止め、追い越させないためのもの。
無論例外割り込みは考慮されている。
フェンスを使えばたとえPFが割り込んでもライトコンバイン処理の正常完了が保証できる。
仕組みは無論アプリしか叩かない低脳な人間は知らなくていい。
742Socket774:2008/08/26(火) 17:53:52 ID:JnmrWmO4
>>741
> フェンスは本来正常完了するまで後ろにある命令を止め、追い越させないためのもの。

「完了するまで」って、何が完了するんだよ
説明してみろや
743Socket774:2008/08/26(火) 17:57:02 ID:JnmrWmO4
>>742
おっと、基本的なところをついてしまった

これ、ちゃんと正答できないとフェンスを正しく理解できていることにならないからね

MACオタみたいに話をそらすんじゃないわよ
744MACオタ>743 さん:2008/08/26(火) 18:34:33 ID:u8LwGVma
>>743
  --------------------
  MACオタみたいに話をそらす
  --------------------
もしかして、未だに共有キャッシュを持つマルチコアプロセッサで、既に存在する
データに上書きする場合にinvalidateを行うって思い込んでいるすか(笑)
>>627-633
  ====================
  627 :Socket774:2008/08/25(月) 02:22:13 ID:O2J1PAxv
      >>626
      データはCPUコアのローカルL2に書き込まれ、他のコアのL2から削除される
      普通のコヒーレントキャッシュじゃん
  629 :MACオタ>627 さん:2008/08/25(月) 02:24:20 ID:Q2ZRFe13
      >>627
      LarrabeeのL2わ、共有キャッシュであることを思い出すべきす。
  633 :Socket774:2008/08/25(月) 02:51:25 ID:O2J1PAxv
    コヒーレントキャッシュなんだから当たり前だ…
  ====================
このコピペ、『シリコンの質』と同様に当分使えそうすね。。。
745MACオタ:2008/08/26(火) 18:44:23 ID:u8LwGVma
まあFUDの一種なんだと思うすけど、開催中のNVISIONでNvidia CEOのJen-Hsun Huang
がLarrabeeのx86互換性わ怪しいと叫んでいたらしいす。
http://www.bit-tech.net/news/2008/08/26/huang-talks-larrabee-x86-compatibility/1
  ------------------------
  “So then the question becomes: is Larrabee binary compatible with Windows?
  Is Larrabee binary compatible with x86 and 64-bit x86? Is Larrabee
  binary compatible with SSE 3, 4, 5, 6? The answer is no,” said Huang.
  ------------------------
746Socket774:2008/08/26(火) 18:52:21 ID:JnmrWmO4
>>744
> もしかして、未だに共有キャッシュを持つマルチコアプロセッサで、既に存在する
> データに上書きする場合にinvalidateを行うって思い込んでいるすか(笑)

他コアが同じキャッシュラインを持っているなら、invalidateするしかないね
updateプロトコルじゃないようだしな

お前がinvalidateプロトコルの理解以前に英語が読めないのはいいが、日本語は読むくらいの誠実さは見せてくれよ
747Socket774:2008/08/26(火) 18:58:26 ID:JnmrWmO4
>>744
あ、MACオタの説明がなかったんで忘れていたが

> もしかして、未だに共有キャッシュを持つマルチコアプロセッサで、既に存在する

もしかして、LarrabeeのL2が共有キャッシュって、PenrynのL3みたいなものだと思ってた?
748Socket774:2008/08/26(火) 19:05:16 ID:dKgFC/bn
つーか、MACオタはLarrabeeのL2をSPEのlocal storeのようなものと勘違いしてるんじゃないかw
Larrabeeのは普通のキャッシュだから、ハードウェアで常にコヒーレンシは保たれるぞ。

プロトコルはどうだか知らんが、普通に考えてinvalidate方式だろう。
749,,・´∀`・,,)っ@:2008/08/26(火) 19:11:12 ID:gVf7ATMQ
【フェンス命令の役割】
SSEのフェンス命令は、フェンス以前の命令までがリタイヤするまで命令を流さないことで
結果としてフェンス直前の命令と直後の命令間のメモリコンシステンシが保障されること
を目的としている。

「フェンス以前の命令のストアが正常完了すること」を必ずしも保障してるわけではない。
「命令実行が後続命令に追い越されることに起因する問題」の解決のみを目的としている。
それ以外の問題については「フェンス命令による順序保障」の機構のフォローする
範疇ではない。

フェンス以前の命令自身から例外が起きた場合はフェンス命令はフォローする必要ないし
尻拭いをするのはあくまでマイクロアーキの内部機構であったりOSの例外ハンドラ。
もちろんこんなことはアプリからは知る必要がない。


わかりやすい例を出そうか。
1: maskmovdqu xmm1, xmm3 ;;; xmmword ptr [ecx] にストア
2: movntdq wmmword ptr [ecx+4], xmm7
3: mfence
4: pand xmm1, xmm2

この場合mfenceは2以前から4以降の間の順序関係のみ保障する。
1と2は読み書きのアドレスが重複しているが、1はライトコンバインでストア
する命令なので、必ずしもロード・ストア順序が保障できない。
2の後ろにmfenceが入ったところで、1と2の間のメモリコンシステンシは解決しない。
mfenceは2まで完了するまで4以降がパイプラインにフェッチされるのを止めるだけ。

4がフェッチ開始されたときには1, 2が完了していることは保障できる。
 ※これは決して1, 2の各命令のロード・ストア処理が読み書き内容的に
 意図どおりに動いているという保障ではない。
 1, 2間の順序保障は行っていないからだ。
750MACオタ>746 さん:2008/08/26(火) 19:18:41 ID:u8LwGVma
>>747
  -------------------
  PenrynのL3みたいなもの
  -------------------
Penrynの『L2』と書きたかったんだと解釈しておいてあげるすけど、むしろコアごとに2MB
用意されているL3を繋いで使うNehalemに近いす。
>>746
  -------------------
  updateプロトコルじゃないようだしな
  -------------------
論文に"if necessary."とあるようinvalidateもupdateも両方可能す。
invalidateわcache affinityのために意図して行うことが可能になっている模様す。
  ===================
  The cores each access their own subset of a coherent L2 cache to
provide
  high-bandwidth L2 cache access from each core and to simplify data sharing
  and synchronization.
  ===================
マルチソケットのSMPのようにinvalidate強制であれば、"simplify data shareing
and synchronization"わ叶わないす。
751,,・´∀`・,,)っ@:2008/08/26(火) 19:21:27 ID:gVf7ATMQ
【scatterオペレーションがライトコンバインでも問題ない理由】
VPUのストア命令は64byteのキャッシュラインにマスキングして複数のデータを
ストアできる機構となっているらしい。
そこで、アドレスのリストを元に、同じキャッシュラインに乗っかる
データはシャッフルし、マスクストアするデータを作成する。
たとえば、これで10個のマスクストア用データができたとする。

この10個のデータは同じキャッシュに乗っからないから分けたのであって、
パケット、命令内のメモリストアが干渉する心配は最初からない。
ストア以前にメモリコンシステンシが保障されている。

※実際には、こんなパイプライニングを行ってるかもしれない。

  1.同じキャッシュラインに乗っかるデータをテンポラリに切り出し
  2.テンポラリ上のデータをキャッシュライン上のオフセットに合わ
    せてデータを再配置
  3.マスクストア(WC protocol)発行

あとは後続命令によるロード・ストアの追い越しがないようにすればいい。

もし後続の命令が同じアドレスをアクセスする可能性がある場合は
この命令の直後にフェンスを実行する必要がある。
752Socket774:2008/08/26(火) 19:21:36 ID:JnmrWmO4
>>749
> 「フェンス以前の命令のストアが正常完了すること」を必ずしも保障してるわけではない。

これが団子の最終理解だ!
753Socket774:2008/08/26(火) 19:33:45 ID:JnmrWmO4
>>641
> 「フェンス以前の命令のストアが正常完了すること」を必ずしも保障してるわけではない。
> 「フェンス以前の命令のストアが正常完了すること」を必ずしも保障してるわけではない。
> 「フェンス以前の命令のストアが正常完了すること」を必ずしも保障してるわけではない。

これの擁護もしてあげてください

引用元は正しいのにな…

> SSEのフェンス命令は、フェンス以前の命令までがリタイヤするまで命令を流さないことで
754,,・´∀`・,,)っ@:2008/08/26(火) 19:38:34 ID:gVf7ATMQ
バッファが必要な理由をどうぞ
755Socket774:2008/08/26(火) 19:43:44 ID:JnmrWmO4
>>754
うん、すまない

団子のフェンスの理解では、説明するだけ無駄なんだ
756Socket774:2008/08/26(火) 20:00:15 ID:JnmrWmO4
>>750
> Penrynの『L2』と書きたかったんだと解釈しておいてあげるすけど、むしろコアごとに2MB

PenrynのL3でいいんだ

それを踏まえて、共有キャッシュの説明をしてくれよ?

> 論文に"if necessary."とあるようinvalidateもupdateも両方可能す。
> invalidateわcache affinityのために意図して行うことが可能になっている模様す。

Larrabeeは、eagar updateはするのかね?
757Socket774:2008/08/26(火) 20:02:06 ID:JnmrWmO4
>>756
> Larrabeeは、eagar updateはするのかね?

speculative updateはするのか?
758Socket774:2008/08/26(火) 20:06:13 ID:JnmrWmO4
>>756
> The cores each access their own subset of a coherent L2 cache to provide
>  high-bandwidth L2 cache access from each core and to simplify data sharing and synchronization.

> > 論文に"if necessary."とあるようinvalidateもupdateも両方可能す。
> invalidateわcache affinityのために意図して行うことが可能になっている模様す。

論文に to simplify data sharing and synchronization とあるが、
まさかcache affine-invalidateやpartial sharingやfuzzy synchronizationは実装されるのかね?
759,,・´∀`・,,)っ:2008/08/26(火) 20:27:58 ID:3YTIX+vi
>>755
仕様にも無い脳内解釈を理解とはいわない
お前のは仕様に矛盾した思いこみであり、それはただの誤解だ
俺はマニュアルに書いてある仕様について過不足なく説明しただけだ。

いい加減無知を認めな


760Socket774:2008/08/26(火) 20:31:04 ID:JnmrWmO4
>>749

団子の種本の記述
> SSEのフェンス命令は、フェンス以前の命令までがリタイヤするまで命令を流さない

団子の理解
> 「フェンス以前の命令のストアが正常完了すること」を必ずしも保障してるわけではない。

リタイヤを保証するのかしないのかどっちなんだよwwww
761,,・´∀`・,,:2008/08/26(火) 20:49:50 ID:3YTIX+vi
どっちも矛盾しない。
フェンスより前の数名令にロード・ストア命令間の順序関係の曖昧さがあった場合などには、
リタイアまでは見届けてもデータの正しさには保証がない。

保証できるのは、あくまでフェンスを挟んだ命令間のL/S順序関係だけ。

順序関係の曖昧さのあるところで適切に実行しないと効果をなさない。
762,,・´∀`・,,:2008/08/26(火) 20:54:24 ID:3YTIX+vi
フェンス命令が害悪なら害悪でいいよ。
fence命令以外のどんな方法で、弱い順序関係である
ノンテンポラル・ライトコンバイン命令を安全に扱えるのか説明してよ。
763Socket774:2008/08/26(火) 20:56:01 ID:JnmrWmO4
>>761
> リタイアまでは見届けてもデータの正しさには保証がない。

リタイアしたストア命令が、データを正しくストアしている保証はない、という意味か?
764,,・´∀`・,,:2008/08/26(火) 20:59:06 ID:3YTIX+vi
順序関係の正しさという意味ではそうだよ。
そしてそれがWC命令の仕様だよ。
765,,・´∀`・,,:2008/08/26(火) 21:09:10 ID:3YTIX+vi
逆に、どんな弱いコンシステンシモデルが理想だったの?

君の今までの思いこみでない、過不足ないSSEの本当の仕様
の範囲で十分でないの?
そもそもストアのバッファリングなんてのはフェンス命令の動作の要件ではない。
先にデコードされちゃった命令にはフェンスは干渉しない。フェンス後の命令のみ、実行をブロックする
766Socket774:2008/08/26(火) 21:17:10 ID:JnmrWmO4
>>765
すまないが、君と話すことはもうなにもない

「リタイアしたストア命令が、データを正しくストアしている保証はない」

なんて、x86に限らず、ありえない

ストア命令がリタイアしたら、データは必ず正しくストアされている(外部のプロセッサからそう見える)
これは命令リタイアの定義なんだよ

(x86のストリング命令などは、例外中の例外だ)

おれが何を言ったところで聞いちゃくれないだろうから、もう言うのは止める
他の人にわかりやすく教えてもらえるといいと思う


767,,・´∀`・,,:2008/08/26(火) 21:32:33 ID:3YTIX+vi
>>766
>>765
> すまないが、君と話すことはもうなにもない
そうしてよ。LarrabeeでSSEが実装されてると明言されるまで勘違いカキコを続けられるのも困るからね。


> 「リタイアしたストア命令が、データを正しくストアしている保証はない」
> なんて、x86に限らず、ありえない

でもそれが、SSEライトコンバイン命令の「ドキュメント化された」仕様なんだよ。
フェンス命令で挟むことで順序を保証できる。

> ストア命令がリタイアしたら、データは必ず正しくストアされている(外部のプロセッサからそう見える)
> これは命令リタイアの定義なんだよ
そうだよ。
ところがSSEで実装されたライトコンバイン命令は正しく最後までデータを
「発信」できたらリタイヤです。
同じアドレスへの読み書きの順序関係なんて保証しない。
だから、後続命令をブロックしないと順序が入れ替わって正しく読み書きされないことがある。
逆にいうとブロックを明示的に行わない限りストアの連続投入が可能。

こんなマニュアルに「明記」されてることをなんで否定するの?
ちなみにSSEの最初のSは「ストリーミング」です。
768Socket774:2008/08/26(火) 21:50:32 ID:JnmrWmO4
>>767
> フェンス命令で挟むことで順序を保証できる。

フェンス命令「を」挟む、の間違いだが、typoとして、

フェンス命令が終了して、後続命令のフェッチを再開するには、先行するストア命令の完了を確認しないとだめでしょ?

そうでないと、フェンス命令の前のストア命令が完了する前に、フェンス命令の後のストア命令が先に完了しかねない


> 「リタイアしたストア命令が、データを正しくストアしている保証はない」

これじゃ困るでしょ?


> 「発信」できたらリタイヤです。

「発信」…の定義は?
769MACオタ:2008/08/26(火) 21:51:42 ID:u8LwGVma
相変わらず紛糾している様すけど、ストアのリアイアって書き込み先アドレスと(該当ページ
属性を確認して)書き込み可能なことの確認だけ済めば、キューに登録してお終いの筈なん
すけど。。。既にこの文献も引用されていたような気がするす。
ftp://download.intel.co.jp/jp/developer/jpdoc/2001q1_art02_j.pdf
  -----------------------
  しかもリタイアしたストアも、前のストアがデータ・キャッシュに完全に書き込まれる
  まで待たされることがあります。Pentium 4 プロセッサでは、パイプライン中に最大
  24のストアを同時に保持することができますが、これらストアのほとんどがすでにリ
  タイアしているものの、まだそれぞれの状態を L1 データ・キャッシュにコミットし
  ていない、というケースもあります。
  -----------------------
一応、原文も。http://download.intel.com/technology/itj/q12001/pdf/art_2.pdf
  -----------------------
  Also, stores that are at retirement often have to wait for previous
   stores to complete their update of the data cache. This machine can have
  up to 24 stores in the pipeline at a time. Sometimes many of them have retired
  but have not yet committed their state into the L1 data cache.
  -----------------------
『正しく指定メモリ階層に書き込めた』なんて、どうやって確認するすかね(笑)
770Socket774:2008/08/26(火) 21:54:01 ID:bWHqQte0
  766 :Socket774:2008/08/26(火) 21:17:10 ID:JnmrWmO4
  >>765
  すまないが、君と話すことはもうなにもない

  766 :Socket774:2008/08/26(火) 21:17:10 ID:JnmrWmO4
  >>765
  すまないが、君と話すことはもうなにもない

  766 :Socket774:2008/08/26(火) 21:17:10 ID:JnmrWmO4
  >>765
  すまないが、君と話すことはもうなにもない

  766 :Socket774:2008/08/26(火) 21:17:10 ID:JnmrWmO4
  >>765
  すまないが、君と話すことはもうなにもない





  768 :Socket774:2008/08/26(火) 21:50:32 ID:JnmrWmO4
  >>767
771,,・´∀`・,,:2008/08/26(火) 22:01:49 ID:3YTIX+vi
ライトコンバイン動作は、Larrabeeの立ち位置である「ソフトGPU」みたいな、
暗黙の信頼よりスループットを重視する用途で効果を発揮する。
暗黙的なデータ読み書き順序の保証をおこなわないことで、少ないリソースで最大限性能を引き出すんだ。
でも、信頼性がないんじゃないよ。保証するのはプログラム自身。

使うか使わないかも自由。使わなきゃフェンスを使わなきゃいけない必然性もないし。
もちろんLNIもSSEの延長だ。
772,,・´∀`・,,:2008/08/26(火) 22:10:59 ID:3YTIX+vi
Larrabeeには
キャッシュのコヒーレント制御を一時的に抑制する命令がある(=キャッシュのデータの信頼性が落ちる)
ってのに。

データL/Sの順序関係における厳格な信頼性保証なんてそもそもありえない

SSEは厳しいから緩くしないといけないと言ってた屑が
今度は、なぜか厳しいモデルでないといけないって言ってる。

滑稽だべ
773Socket774:2008/08/26(火) 22:14:42 ID:JnmrWmO4
>>769
ああ、ストアの完了の定義は、
自他両方のプロセッサからストアが見える(ストアされた値が読める)という意味だから
キャッシュとか関係ないから

ま、わかってねー奴の言いがかりはこんなもん

>>770
団子やMACオタと違って屁理屈こねずにすぐ撤回するよ
論点拡大しないように気はつける

>>771
論点を広げる前に、まず団子には>>768に言及してほしいね

> フェンス命令が終了して、後続命令のフェッチを再開するには、先行するストア命令の完了を確認しないとだめでしょ?
> そうでないと、フェンス命令の前のストア命令が完了する前に、フェンス命令の後のストア命令が先に完了しかねない
774Socket774:2008/08/26(火) 22:18:02 ID:JnmrWmO4
>>771
> ところがSSEで実装されたライトコンバイン命令は正しく最後までデータを
> 「発信」できたらリタイヤです。

「発信」の定義もよろしく
775,,・´∀`・,,:2008/08/26(火) 22:24:08 ID:3YTIX+vi
>>769

>   しかもリタイアしたストアも、前のストアがデータ・キャッシュに完全に書き込まれる
>   まで待たされることがあります。Pentium 4 プロセッサでは、パイプライン中に最大
>   24のストアを同時に保持することができますが、これらストアのほとんどがすでにリ
>   タイアしているものの、まだそれぞれの状態を L1 データ・キャッシュにコミットし
>   ていない、というケースもあります。

MacWotaは相手のレベルくらい把握しようよ
解るわけが無いじゃん彼に。

インオーダ実行CPUでの話にPen4なんて例に出したらまた勘違いが増えるだけだよ。
非WCなストア命令におけるキューイングなんて激しいOoOのPen4だからこそ必要な機構だが
インオーダでは不確定なら確定するまでやらないだけだ。
ライトコンバインならキューイング自体が必要ない。
776,,・´∀`・,,:2008/08/26(火) 22:29:02 ID:3YTIX+vi
ページスラッシングなんかを解決の上、ストアユニットを書き込みのできる状態でデータが全部出たらリタイヤでいいんじゃないかな。
というか、実装に依存する。
777Socket774:2008/08/26(火) 22:33:14 ID:JnmrWmO4
>>776
まず団子のWeak Consistencyの理解について


団子
> 保証できるのは、あくまでフェンスを挟んだ命令間のL/S順序関係だけ。

これは正しいんだが、フェンスで順序関係を保証するのなら

団子
> 「フェンス以前の命令のストアが正常完了すること」を必ずしも保障してるわけではない。

これじゃ困るでしょ?

> フェンス命令が終了して、後続命令のフェッチを再開するには、先行するストア命令の完了を確認しないとだめでしょ?
> そうでないと、フェンス命令の前のストア命令が完了する前に、フェンス命令の後のストア命令が先に完了しかねない

でしょ?
778Socket774:2008/08/26(火) 22:34:54 ID:JnmrWmO4
>>776
まずね、メモリコンシステンシモデルは実装じゃなくてモデルなんだ

モデルと実装の関係はわかるかな?
779Socket774:2008/08/26(火) 22:40:56 ID:JnmrWmO4
1 store a
2 sfence
3 store b

とあった場合、団子は2のsfenceが完了しても1のstore aがまだ完了していないことがありうる、と言ってるんだよね
団子
> 「フェンス以前の命令のストアが正常完了すること」を必ずしも保障してるわけではない。

それなら1が遅れまくって、3のstore bが1のstore aより先に完了してしまう可能性もあるよね?

つまり、他のプロセッサからは、bだけ読めてaはまだ読めないということがありうるよね?
780,,・´∀`・,,:2008/08/26(火) 22:55:00 ID:3YTIX+vi
そこは、自分の考えでなくてマニュアルから引用してくれ。


ちなみに、順序化できるところまで時間を稼げればいいんだよ。
IAでのL2のレイテンシはパイプラインの長さと同等かそれ以内になるように設計されてる。
これはどういうことかわかるよね?


ライトコンバインはL1をバイパスするから、
L1にアロケートする従来命令に読み書きが先行される可能性がある。
(パイプライン段数分のクロック≧L2レイテンシ)だけ時間を稼げば基本的に追い抜かれる心配がない
781Socket774:2008/08/26(火) 22:57:12 ID:JnmrWmO4
>>780
> ライトコンバインはL1をバイパスするから、
> L1にアロケートする従来命令に読み書きが先行される可能性がある。

フェンスを跨いで先行される、という意味でいいんかね
782Socket774:2008/08/26(火) 22:59:40 ID:JnmrWmO4
>>780
団子は>>779に答えられない理由でもあるのか?

うすうす自分の誤りに気がついたか
783,,・´∀`・,,:2008/08/26(火) 23:02:21 ID:3YTIX+vi
いや。パイプラインの長さ分の時間差があれば追い抜くことが不可能になるんだよ
フェンスはその時間差を作る。
784,,・´∀`・,,:2008/08/26(火) 23:07:05 ID:3YTIX+vi
他コアから見て云々は、スヌープで同期してることが条件だな

複数コアで共有するキャッシュラインはMESIでいうShared状態となる。
あとは解るよね?
785Socket774:2008/08/26(火) 23:11:30 ID:JnmrWmO4
>>780
> (パイプライン段数分のクロック≧L2レイテンシ)だけ時間を稼げば基本的に追い抜かれる心配がない

絶対に追い抜かれちゃ困るんだけど…

それはいいけど、なんでキャッシュが関係あるんだ?

>>784
> 他コアから見て云々は、スヌープで同期してることが条件だな

お前の大好きなOpteronにもディレクトリキャッシュあるだろ…
786,,・´∀`・,,:2008/08/26(火) 23:15:14 ID:3YTIX+vi
MESIプロトコルについては253668.pdfの10章を読んだ上でお願い。

ところでお前俺にレスしないんじゃなかったの?
自分の言ったこと自分で破ったら負けだよ
787Socket774:2008/08/26(火) 23:18:38 ID:JnmrWmO4
>>786
MESIプロトコルなんて何の関係もないだろ
MACオタにでも読ませとけ

>>784
> 他コアから見て云々は、スヌープで同期してることが条件だな

ディレクトリキャッシュの場合は団子WCは機能しないようだな


勝負してるわけじゃねーよ
788,,・´∀`・,,:2008/08/26(火) 23:20:28 ID:3YTIX+vi
>>785
> 絶対に追い抜かれちゃ困るんだけど…

なら追い抜ける場合を証明するコードを書いてみてよ


> それはいいけど、なんでキャッシュが関係あるんだ?

ライトコンバインはキャッシュをバイパスするから。
って言ってるじゃん。

> お前の大好きなOpteron
AMDは嫌いだ
789,,・´∀`・,,:2008/08/26(火) 23:24:01 ID:3YTIX+vi
あ、フェンス命令の代わりにnopをissue数×パイプ段数くらい詰めても大体同じ効果になるかもね。
790,,・´∀`・,,:2008/08/26(火) 23:29:32 ID:3YTIX+vi
それよりCPUIDによるブロックをVPU命令がスルーできるかもしれないと思った理由をお願いします
791,,・´∀`・,,:2008/08/26(火) 23:35:15 ID:3YTIX+vi
x86でライトコンバイン命令を初サポートしたSSEが厳しいメモリコンシステンシモデルである理由をお願いします


あと、この期に及んでもLNIはSSEと共存できないんですか?
792Socket774:2008/08/27(水) 00:10:52 ID:qWNCgzHN
>>789
やっぱり何も言うことはないわ

それでも

>>790
× > それよりCPUIDによるブロックをVPU命令がスルーできるかもしれないと思った理由をお願いします
○ ごく一部の場合では、CPUIDはVPU命令の「完了」を待たない可能性もある

>>791
× > あと、この期に及んでもLNIはSSEと共存できないんですか?
○ LNIとSSEは共存できるが、Larrabeeの実装では、VPUにSSE命令を100%コンパチで実装するのは難しい

ひとの言ってることくらいは正しく理解しようね
日本語で何度も短いセンテンスで言ってるんだから
793,,・´∀`・,,:2008/08/27(水) 00:19:15 ID:tW63BWWg
そこまで自身持って間違えられると清々しいな。
しかも言ったことすり替えてるし。

つか、万が一でもSSE*を100%サポートだったら死ぬの?
794,,・´∀`・,,:2008/08/27(水) 00:31:54 ID:tW63BWWg
SSEが厳しいメモリコンシステンシモデルであるというのはどうなの?

ライトコンバイン命令を知らなかったの?あり得ないって言ったのは本当に知らなかったの?
Intelのマニュアルは嘘が書いてあるの?

ねえ答えてくれないの?都合がわるいからごまかしたいの?

ちなみにこのバカの「可能性」という言葉は当人の勝手な思いこみを正当化するための常套句です


ちなみに残念ながら彼のいう可能性が正しい可能性は確実にゼロです
795Socket774:2008/08/27(水) 00:35:32 ID:qWNCgzHN
>>582
俺> VPUのメモリアクセスについては、CPUIDや他の命令は必ずしも逐次化しない
つってるだろ

団子> それよりCPUIDによるブロックをVPU命令がスルーできるかもしれないと思った理由をお願いします
誰がこんなこと言ったよ
捏造するんじゃねえ

>>360
> 団子はSSEがあったらいいナと言う話をしているんだが(それには同意するよ)、
> おれはLarrabee固有の実装ではちょっと難しいかもしれないという話をしているんだ

おれの主張はあくまでLarrabee固有の実装についてだけだ

団子> あと、この期に及んでもLNIはSSEと共存できないんですか?
おれが共存できないと言ったというなら、アンカーつけてみろ


>>793
> つか、万が一でもSSE*を100%サポートだったら死ぬの?

いいともさ
そのかわり、ごくささいな互換性でも失なわれていたらお前が死ねよ
796Socket774:2008/08/27(水) 00:40:30 ID:qWNCgzHN
>>794
悪いがこんなことを言ってるやつに説明することは不可能

>>789
団子> あ、フェンス命令の代わりにnopをissue数×パイプ段数くらい詰めても大体同じ効果になるかもね。

1 store a
2 sfence
3 store b

で、store aがメインメモリアクセスでもしたらどうするんだ
797Socket774:2008/08/27(水) 00:45:14 ID:qWNCgzHN
>>641もこれの擁護をお願いね

団子> あ、フェンス命令の代わりにnopをissue数×パイプ段数くらい詰めても大体同じ効果になるかもね。
798,,・´∀`・,,:2008/08/27(水) 00:50:10 ID:tW63BWWg
あーあ確実に死んじゃうよ彼ww

ちなみにLarrabeeがフルセットのx64互換(無論SSE2までサポート)をいう
裏はとった上で楽しんでます。
LNIの命令フォームはやはりVEX形式です。

あとVPU用のレジスタの退避・復帰に使える特権命令は既にOSベンダにも知れ渡っています。
この命令の対応はLinuxも既に済んでて
kernel.orgにi686/x64ともにコミット済みです



えっと
すべて事実だよ
799Socket774:2008/08/27(水) 00:54:18 ID:XGQX3EBH
裏取ってんなら火病るなよ。そんなだから煙たがられるんだ。
800,,・´∀`・,,:2008/08/27(水) 00:58:30 ID:tW63BWWg
てかstoreって何?
x86にそんなニーモニックの命令無いよ。
レジスタもアドレスも指定できないの?
ああ、フェンスを使わないと追い越す可能性のあるストア命令にはちゃんと
種別の組み合わせがあります。
それ以外ではフェンスによる明示的な順序保証は必ずしも必要では○○。
801Socket774:2008/08/27(水) 01:06:17 ID:qWNCgzHN
>>800
論文などの説明につかわれる、ごく一般的だがあいまいさのない誰にでも理解できる簡単な表記なんだけど

しかし団子はどうしても話をそらしたいようで

> x86にそんなニーモニックの命令無いよ。
> レジスタもアドレスも指定できないの?
> ああ、フェンスを使わないと追い越す可能性のあるストア命令にはちゃんと

君の好きなストア命令とレジスタとアドレッシングと
ストア命令の組み合わせでいいよ
802Socket774:2008/08/27(水) 01:10:46 ID:qWNCgzHN
>>798
おれの発言の捏造はともかく、そんな嘘までつかれちゃ困るな…
803Socket774:2008/08/27(水) 01:12:29 ID:qWNCgzHN
>>798
あ、あと俺が死ぬのは100%互換の場合だけだから

微妙な非互換性があったら団子が死ぬから、うかつなことは言わないことをいいと思う
804,,・´∀`・,,:2008/08/27(水) 01:13:11 ID:tW63BWWg
アドレス領域が同じなら追い越してもかまわない。
ストア命令の特性の違いを熟知してるなら命令の種類は指定しないといけない。ただストアだけでは特権命令かもユーザーモード命令かもわからない。
組み合わせを選んで良いならmfenceが絶対に必要ない命令を選んじゃうけどな。

君はやっぱりx86の知識は素人。
805Socket774:2008/08/27(水) 01:15:05 ID:qWNCgzHN
>>804
> アドレス領域が同じなら追い越してもかまわない。

アドレス領域って何?

1 store a
2 sfence
3 store b

それが同じなら、3は1を追い越してもいいってこと?
806MACオタ>773 さん:2008/08/27(水) 01:16:17 ID:mxzoFuB4
>>773
  -----------------------
  団子やMACオタと違って屁理屈こねずにすぐ撤回するよ
  -----------------------
あなたが間違いを絶対に撤回しない、ヤバいヒトなのわ周知のことなんすけど。。。
http://pc11.2ch.net/test/read.cgi/jisaku/1186887760/832
  =======================
  832 名前:Socket774 投稿日:2008/01/29(火) 05:32:59 ID:f780JOqN
    MACオタは早く英語くらいは読めるようになりなさい。
    ROBのエントリにはx86命令が(ほぼ)そのまま入る。
  =======================
これ未だに撤回してないす。むしろ逆切れして延々と粘着コピペを繰り返していたすね(笑)
807Socket774:2008/08/27(水) 01:18:57 ID:qWNCgzHN
>>804
MACオタみたいな話の逸らしかたをするなあ

> 組み合わせを選んで良いならmfenceが絶対に必要ない命令を選んじゃうけどな。

こういう時は最も制限のついてない一般性の高い例を選ぶのが普通
どんな論文でもそう

都合良く好き勝手なものを選んでどうするよ
808Socket774:2008/08/27(水) 01:22:20 ID:qWNCgzHN
>>806
> ROBのエントリにはx86命令が(ほぼ)そのまま入る。

まあ、パクマンみたいなやつが本筋からはずれた誤解するから、ちょっと訂正したぞ

ROBの1エントリにはx86命令(ほぼ)1つに対応する制御情報が入る

つまり、一つのx86命令が、二つ以上のROBエントリを占領するということは(ほぼ)ない、という意味


>>641の人、MACオタの擁護もしてみるかい?
809Socket774:2008/08/27(水) 01:24:36 ID:qWNCgzHN
>>808
> ROBのエントリにはx86命令が(ほぼ)そのまま入る。

パクマンは、ROBには制御情報だけが入って、命令そのもののビット表現は入らない、とつっこんだ
それは正しいけど、当たり前すぎる
810Socket774:2008/08/27(水) 01:31:52 ID:qWNCgzHN
>>808
> つまり、一つのx86命令が、二つ以上のROBエントリを占領するということは(ほぼ)ない、という意味

もう少しわかりやすく書くと

1つのx86命令が、3つのuopsに分解された場合、1つのROBエントリがuops 3つ分に対応する

rep mov*みたいな命令だと実行途中で中断する必要があるから、1命令1エントリではないだろうけど
811Socket774:2008/08/27(水) 01:38:33 ID:qWNCgzHN
>>810
ここにいる連中は極端なので困るが

> 1つのx86命令が、3つのuopsに分解された場合、1つのROBエントリがuops 3つ分に対応する

マイクロコード命令で、3つより多くのuopsに分解された場合、1つのROBエントリで対応できるかもしれないし、
2つ以上のROBエントリが必要になるかもしれない
(その場合は2エントリ以上が不可分にリタイヤする必要がある)

Issaiahの記事はさんざん引用したんで、まだ読んでないという人がいなければ引用しないす
812Socket774:2008/08/27(水) 02:01:40 ID:qWNCgzHN
ROBの性質上、1つのROBエントリを複数のx86命令で共有するわけにはいかない

IssaiahのデコーダとROBのスループットが等しいので(記事)、
3 opsを二つのROBエントリにまたがらせると性能が半分に落ちてしまうので、
x86命令1つから変換された3 uopsは一つのROBエントリに対応する、と考えるのが妥当

というか当たり前すぎて、MACオタが

>   The three incoming fused micro-ops are placed in the reorder buffer (ROB) and are then
>   expanded into up to six executable micro-ops, each of which is targeted for a single execution
>   unit.
>   -------------------
> と、あるすからROBの中での管理単位わ分解されたmicro-opsと読めるす。一方、命令リタイアの解説
> 部分でわ、

などという疑問を持つのは理解しかねる

だいたい3 uopsは1 fused uopsのままROBに置かれるんじゃないかww
813Socket774:2008/08/27(水) 02:18:39 ID:qWNCgzHN
1 アドレスaにストアする命令(メモリマップドI/O領域)
2 sfence
3 アドレスbにストアする命令(1次キャッシュにヒット)

1がメモリマップドI/O領域にストアして、非常に時間がかかっている
2のsfenceは何十サイクルか、団子の好きなだけ待ったが、1はまだ完了してストアされていない状態で次の命令のフェッチ再開
3がキャッシュにヒットして一瞬でストア完了

814Socket774:2008/08/27(水) 02:26:10 ID:qWNCgzHN
>>813
という状況化では、

・アドレスaに書き込む筈のデータは、他のプロセッサからはまだ読みだせない
にもかかわらず
・アドレスbに書き込まれたデータは、他のプロセッサから読めてしまう

メモリコンシステンシーが守られていれば、
アドレスbのデータが正しく読める場合には、アドレスaのデータも正しく読めねばなりません

つまり、団子フェンスでは、メモリコンシステンシーを実現できていないということです
815Socket774:2008/08/27(水) 02:30:38 ID:EBtiQWwH
相手のあら探しに必死
なじり合い何やってんのこのバカども。
Larrabeeのちんけなcoreでフルセットねえ…
そしたら単体はとろそうだな
ちんけなトロイcore×めに=…
816,,・´∀`・,,:2008/08/27(水) 02:31:37 ID:tW63BWWg
ライトコンバイン命令の動きくらい調べたかね?


命令のニーモニックと引数を指定してよ。俺には決められない。
繰り返すがstoreなんて命令はない。
aやbなんてレジスタ識別子もない。
817Socket774:2008/08/27(水) 02:45:14 ID:qWNCgzHN
>>816
本質的でないところに時間をさくのは気がすすまないんだが

1 movntps [100000h], xmm0
2 sfence
3 movdqa [200000h], xmm1

でいいかね

1がメインメモリアクセスかI/O領域アクセスで
2が団子の言うように数十クロック待って
3が1次キャッシュにストアした

そうすると、実行したプロセッサの外部からは、
200000h番地には、書き込もうとしているxmm0の値が「まだ読めない」が
100000h番地には、書き込まれたxmm1の値は「もう読める」
818,,・´∀`・,,:2008/08/27(水) 03:42:19 ID:tW63BWWg
どうしてフェンスが必要なんだ?
並べ変えても等価だしストアユニットが二つあれば並列実行してもいいはず。

フェンス命令をしないといけないのはアクセスするアドレスが重なるときだよ。やっぱり君は解ってないな。


fence命令は前の命令のメモリアクセスにまで作用すると思いたがってるようだけど、

まあそれでいいとしよう。
Pentium4フェンス命令があるかないかで。
ストア

fenceの前にNOPを挟んでみたらどうなるか解るかい?
何十でもなん百でもいいよ。
フェンスがフェッチされる

Pentium4にはストアバッファがある。
しかもRDPMCで利用回数をプロファイリングできる便利な機能がある。

「フェンス命令は前のストア命令にストアバッファリングを強制する効果がある」
という珍説の真偽はRDPMCで取得できる「ストアバッファの充填累積数」を数え、
ストア命令の後にフェンス命令があった場合と無かった場合で
増加値の差をみることでその効果を判別可能である。

もし仮に珍説のとおり、前にあったフェンスに前の命令にストアを
バッファリングを強制するような効果があるのなら差が出るはずだ。




結論を言うとなにも変わらない。
フェンス命令が行うのは後続の命令のフェッチ抑制のみであり、
フェンスの前のストア命令の実行モードにはなんの作用もたらさない。
仕様の通り本当に、挟んだ箇所に実行の間隔をあけるだけの命令である。
819,,・´∀`・,,:2008/08/27(水) 03:47:48 ID:tW63BWWg
「まあそれでいいとしよう」
から数行くらいはうっかり書いたメモ書なんでまあ気にするな。
820Socket774:2008/08/27(水) 07:43:35 ID:qWNCgzHN
>>641これも擁護してやってね

>>818
団子> フェンス命令をしないといけないのはアクセスするアドレスが重なるときだよ。やっぱり君は解ってないな。
821641:2008/08/27(水) 09:26:33 ID:5C+oX4G2
見てない間に書かれてることに擁護といわれても困るんだが....

>>588
>SSEのメモリコンシステンシモデルを実装するには、データパス上にさらに大きなバッファが必要になるんだよ
>具体的には、16要素すべてのアドレスが例外を起こさないことを保証するまで、自身と後続のメモリアクセスを待たせるためのバッファだ
>ハードウェアコストが嵩む上に、足を引っ張るLSUがさらに遅くなるんだ

これは君の負けでしょ。

で、FENCEに関しては団子氏のほうが変なことを言ってるように見える。

もうどうでもいいんだけど、>>729 に関する考察とか誰かしないのかな。
822Socket774:2008/08/27(水) 09:42:21 ID:qWNCgzHN
>>821
> これは君の負けでしょ。

なんで?

SSEのWCだと命令の途中から再開を認めるストア命令ははうまくハンドルできないじゃん
823Socket774:2008/08/27(水) 09:45:16 ID:qWNCgzHN
>>822
scatter→10要素くらいストアしてから例外発生→例外ハンドラ内でsfence

この場合、scatterはSSEのWC的に完了したと言えるの?

ってこと

> で、FENCEに関しては団子氏のほうが変なことを言ってるように見える。

これが「見える」程度なら君の目はだいぶ曇っているようだが
824Socket774:2008/08/27(水) 09:46:20 ID:qWNCgzHN
>>823
> scatter→10要素くらいストアしてから例外発生→例外ハンドラ内でsfence

階層TLBがあると、例外が起きないことの保証も遅れるよね
825Socket774:2008/08/27(水) 09:53:57 ID:qWNCgzHN
>>821
この一文だけでも明らかに間違っていると言えるよね、文脈以前に

>>818
団子> フェンス命令をしないといけないのはアクセスするアドレスが重なるときだよ。やっぱり君は解ってないな。
826Socket774:2008/08/27(水) 10:44:10 ID:qWNCgzHN
団子> フェンス命令をしないといけないのはアクセスするアドレスが重なるときだよ。やっぱり君は解ってないな。

メモリマップドI/Oで
a番地にデータを書きこみ、b番地へのライトでI/O開始
といった場合に
I/O開始時に、I/Oユニットがa番地のデータを正しく読めるよう
a番地へのライトとb番地へのライトの間にフェンス命令を挟むのが典型的な使い方の一つ

なので、アクセスする番地が重なるとは限らない

といったことを書いたはずだが…
827Socket774:2008/08/27(水) 10:47:24 ID:qWNCgzHN
>>821
> もうどうでもいいんだけど、>>729 に関する考察とか誰かしないのかな。

まず団子を片づけてからな

おれとしては、セマンティクスのほうを緩めて対応したいわけ
828Socket774:2008/08/27(水) 12:03:39 ID:tW63BWWg
>例外ハンドラ内でSFENCE

ありえない。
命令列は別のところに飛んでるはずなのに
どうして中断した命令の後の命令が作用しないといけないの?

そもそもパイプラインのステージを仮定して作用する命令なんてのは
基本的にありえないんだよ。
もともと逐次評価型型のCISCアーキテクチャなのを
現行実装で互換性をとりつつパイプラインに置き換えてるだけに過ぎない。

ストア命令自体に付ける「フェンスプレフィックス」なんかならまだ話はわかる。
パイプラインでなくてもいいからね。



話が戻るが、中断した命令より後の命令はなぜ作用し続けるっての?
例外ハンドラに飛ぶ前段階でパイプラインのフラッシュがされてないってことだよ。
そんな動作がなぜ許されるの?
829Socket774:2008/08/27(水) 12:18:16 ID:qWNCgzHN
>>828
お前には聞いてないから
830Socket774:2008/08/27(水) 12:27:36 ID:qWNCgzHN
>>641
あんたが見たてるところ正しい団子論理>>828を解説してくれよ
831,,・´∀`・,,828:2008/08/27(水) 12:31:57 ID:tW63BWWg
聞いてるのはこっちのほう。前提からしてダウト

おまえの考える珍仕様のメカニズム答えろよ
832Socket774:2008/08/27(水) 12:34:05 ID:qWNCgzHN
>>831
やなこった

まず>>641にフェンスの正しい動作を教えてもらえよ

>>821
> で、FENCEに関しては団子氏のほうが変なことを言ってるように見える。
833,,・´∀`・,,:2008/08/27(水) 12:39:59 ID:tW63BWWg
分岐予測ミスしたときもパイプラインに残るフェンス命令は破棄される理屈はわかる?
同様に例外トラップ時にもコミットできた時点の情報だけ保持して破棄するわけ


おまえは自説の矛盾を指摘されたから答えたくないだけだろ?
矛盾がないことを証明しない限り先には進めないな。
834Socket774:2008/08/27(水) 12:44:25 ID:qWNCgzHN
>>833
> 同様に例外トラップ時にもコミットできた時点の情報だけ保持して破棄するわけ

これは正しいのだが、
例外を起したscatterはコミットできたのかできてないのか
835,,・´∀`・,,:2008/08/27(水) 12:44:27 ID:tW63BWWg
知らないことは罪じゃないがお前みたいに嘘を平気で言うのは感心できない
836Socket774:2008/08/27(水) 13:07:02 ID:qWNCgzHN
微笑みさえ罪だぜ
837,,・´∀`・,,:2008/08/27(水) 13:10:45 ID:5PB5oEGN
>例外を起したscatterはコミットできたのかできてないのか

部分的にはコミットされてるだろうね。
ノンテンポラル命令だとしたら、中途半端に書かれた状態で
例外にハンドリングされてはいけないとかそういう保障はしなくていいんだ。
それが仕様にも明記されたWCプロトコルの仕様だから。

ノンテンポラル命令は、L1にキャッシュされてないアドレス領域でも
書き込まないといけないからね。
最悪何百クロックもかかる。いちいち最後まで書き込まれるのまで
見てられないから最初から見てないってのが
「ノンテンポラル命令=ライトコンバイン」になった理由。

あと、同じデータを同じ領域に2度書きしても問題ないだろ?
それはわかるよね?まさかわからないなんてことはないよね?
仮に二度書きしても同じデータなら問題ないだろ?
WCプロトコルで書き込む領域がページ境界を跨げるという仕様は、
そのへんの論理に基づいてる。

あとはご想像にお任せします。

流石に個々の新命令の仕様までは裏はとれてないので確定的なことは
いえないがね。



でもフェンス命令が、ストア順序の逆転させないための後続命令の
タイミングずらしに過ぎないってのはガチ。
例外や分岐予測ミスでパイプラインがフラッシュされるときには
フェンス命令も例外なく破棄される。

このへんは仕様に基づいたIntel/AMD/VIA共通の実装だ。
違う実装をしてるメーカーは一つもないはずだ。

Larrabeeが「Intel 64」アーキテクチャってのもガチ。
もちろんCMOV/SSE/SSE2は「Intel 64」の基本命令に入ります。
CPUIDでフラグが立ってるのに特定の命令が使えないなんてことはありえないんだ。
仕様どおりの動きになる。

そして、お前の主張するフェンス命令の動作は、命令の仕様ではありません
仕様は全てSDMに書いてあります。
838Socket774:2008/08/27(水) 13:19:28 ID:qWNCgzHN
>>837
> 部分的にはコミットされてるだろうね。

ああ、ここから間違えてるんだ
ライトコンバインでは、まずフィルバッファに書くんだよ

何らかの理由で命令実行がキャンセルされたら、フィルバッファの操作だけで完全に取り消しできるし
部分的コミットなんてものはない
839,,・´∀`・,,:2008/08/27(水) 13:24:57 ID:5PB5oEGN
あっでも、SSEを実装されたCPUでSSEを無効化することはできるよ。

SSEの追加とともにSSE*の無効化ビットってのが追加されてて、
それがセットされると、ほとんどのSSE*が#UDとして扱われる。
このへんの動きはIntel 64の仕様でも継承されてる。
もちろんLarrabeeにも継承されるだろうね。

でもフェンス命令その他は、その「ほとんどの命令」の範疇外で
無効化ビットをセットの有無に影響を受けない命令と
仕様に明記されてる。
840,,・´∀`・,,:2008/08/27(水) 13:26:01 ID:5PB5oEGN
>ライトコンバインでは、まずフィルバッファに書くんだよ
はい、その仕様は何ページに書かれていますか?
841,,・´∀`・,,:2008/08/27(水) 13:34:20 ID:5PB5oEGN
日本語のほうのADM Vol.2A 459ページより引用
*http://download.intel.com/jp/developer/jpdoc/IA32_Arh_Dev_Man_Vol2A_i.pdf

MASKMOVEDQU命令は、キャッシュの汚染を最小限に抑えるために、プロセッサ
に対して非テンポラルなヒントを生成する。非テンポラルなヒントは、WC(Write
Combining)メモリタイプのプロトコルを使用して実現される(詳しくは、『IA-32
インテル? アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル、上巻』の
第10 章の「テンポラルなデータと非テンポラルなデータのキャッシュ処理」を参照の
こと)。WCプロトコルでは、順序設定のゆるいメモリ整合性モデルを使用する。その
ため、複数のプロセッサが異なるメモリタイプを使用してデスティネーション・メモ
リ・ロケーションの読み込み/ 書き込みを実行する可能性がある場合は、SFENCE 命
令またはMFENCE 命令で実現されるフェンス操作をMASKMOVEDQU 命令と一緒に
使用する必要がある。

これ読んだことある?
842Socket774:2008/08/27(水) 13:39:27 ID:qWNCgzHN
>>840
お前、他人にだけソースを要求するのな

ところでラインコンバイン命令ならフィルバッファじゃなくてライトコンバインバッファだ、すまんね
どっちにしろまずバッファに書くので、半分だけ書いてコミットすることはない

例えばPen3だと
http://download.intel.com/jp/developer/jpdoc/iaopt_j.pdf

非一時ストアとソフトウェアによるライト・コンバイン
> ストリーミングSIMD拡張命令では、ライトバックまたはライトコンバインされるメモリ領域に書き出される非一時ストアは
> 緩やかに順序付けられており、プロセッサのライトコンバイン・バッファ内で結合された後、
> ライン・バースト・トランザクションとしてメモリに書き出させる。
843Socket774:2008/08/27(水) 13:41:33 ID:qWNCgzHN
>>841
Weak ConsistencyもWrite CombineもWCだからややこしいが

Weakly Consistentだから、フェンスを使えと言ってるだけだよ
844Socket774:2008/08/27(水) 13:51:19 ID:qWNCgzHN
こんな資料もあってな、まぎらわしいんだよね
これはPentiumProからあるライトコンバイン

http://download.intel.com/jp/developer/jpdoc/impliment_j.pdf

> PentiumIIIプロセッサのライト・コンバインの実装は、メモリ・クラスタにおいて、すべてのフィル・バッファを
> ライト・コンバイン用のフィル・バッファとして同時に活用できるようにする方法で実現されています。
845,,・´∀`・,,:2008/08/27(水) 14:17:55 ID:5PB5oEGN
mfenceの仕様引っ張ってきた

> MFENCE 命令より前に発行されたすべてのメモリからのロード命令と
> メモリからのストア命令に対して、シリアル化操作を実行する。

馬鹿はこれの意味を履き違えてるんだろうな。

ここでいう「シリアル化操作」の説明は、あくまでこれ↓
これ以上でもこれ以下でもない。

> このシリアル化操作は、プログラムの順序でMFENCE 命令に先行するすべての
> ロード命令とストア命令が、MFENCE命令に後続するロード命令とストア命令
> より前に、グローバルにアクセス可能になることを保証する

むろん保障手段は個々のアーキテクチャ依存。

※重要なポイント
 シリアル化の保証の範囲はあくまでフェンス前の命令と後の命令での
 順序づけであって、先行する個々の命令のメモリアクセスがシリアルに
 ストアすることを保障するとはどこにも書いていない。
 そんなややこしうことはする要件はそもそも、ない。
846,,・´∀`・,,:2008/08/27(水) 14:25:45 ID:5PB5oEGN
Vol3の7.4を見よう
> プロセッサはある命令の実行をシリアル化するとき、保留中のメモリ・トランザク
> ションのすべて(ストアバッファにストアされた書き込みも含めて)が完了した後に
> 次の命令を実行するように保証する。シリアル化命令をパスできるものは何もなく、
> シリアル化命令は他の命令(読み取り、書き込み、命令フェッチ、I/O 命令)をいっ
> さいパスできない。

やはり、要求される実装は「完了まで待機するだけ」である。
こっちを読んでれば勘違いなんて起こりえないんだが。


ついでだから実装レベルで、アクセス順序の逆転が起きる理由を説明する
(散々してるが)

ノンテンポラルストアと、その他の読み書き(L1に最初にアクセス)では、
先に作用するキャッシュの階層レベルが違うことが起こりうるから
アクセス順序がレイテンシの差の分だけ起きてしまう。

なら、キャッシュ階層のレイテンシの差の分以上のウェイトタイムを作って
やるだけでフェンス命令の要件は足りる。
一般的にはL2のレイテンシはパイプラインの段数未満である
「リタイヤするまで後発命令を出さない」という解決方法がもっとも低コストな
順序保証の手段。

作用するキャッシュ階層が同じL1でなら、キューの順序付けどおりにストアされる
ことが暗黙に保証される。


>>844
そこで個々の実装依存の話をしてもしょうがないだろ。
仕様と実装を履き違えてはいけない。LarrabeeはPentium Proではない。
でもまあ、ちゃんと資料を読んで話すようになったのは感心した。

スキャタを実装するのに16×4の64エントリも必要ってのはいったい何?
あれは撤回する?してもいいよ俺は寛容だから。
847Socket774:2008/08/27(水) 14:28:56 ID:qWNCgzHN
>>845
これだけなら団子は正しく理解しているように見えるんだが…

団子> フェンス命令をしないといけないのはアクセスするアドレスが重なるときだよ。やっぱり君は解ってないな。

やっぱり理解せずに引用してるんだな。
848,,・´∀`・,,:2008/08/27(水) 14:33:56 ID:5PB5oEGN
> ライト・コンバイニング(WC: Write Combining)−(キャッシュ不可のメモリの
> 場合と同じように)システムメモリ位置はキャッシュされない。またプロセッサ
> のバス・コヒーレンシ・プロトコルによるコヒーレンシは実施されない。推論的
> な読み取りができる。複数の書き込みが遅延して、ライト・コンバイニング・バッ
> ファ(WC バッファ)内で組み合わされメモリのアクセス数を減らすことがある。
> WC バッファが部分的に一杯になっている場合は、シリアル化イベント(例えば
> SFENCEまたはMFENCE 命令、CPUID 命令の実行、キャッシュ不可メモリの読み
> 取りまたは書き込み、割り込みの発生、LOCK命令の実行など)が次に発生するま
> で、書き込みが遅延されることがある。(ry

とあるとおり、ライトコンバイニングバッファはあくまで帯域を有効に使うためのもので。
「例外が起こったら書き込み前に破棄することを保証するキュー」ではない
849Socket774:2008/08/27(水) 14:40:28 ID:qWNCgzHN
>>846
団子> やはり、要求される実装は「完了まで待機するだけ」である。

お前は命令の完了という概念を理解してないんだって
だから

> 例外を起したscatterはコミットできたのかできてないのか

こんな問いにも答えられない


団子> そこで個々の実装依存の話をしてもしょうがないだろ。

お前が言うな


>>848
> 「例外が起こったら書き込み前に破棄することを保証するキュー」ではない

「例外が起こったら書き込み前に破棄することを保証」しないといけなくて、

ライトコンバイニングバッファの動作は、それと矛盾しないということ
850Socket774:2008/08/27(水) 14:44:52 ID:qWNCgzHN
>>849
・例外が起きなかったら全部書く
・例外が起こったら、命令を中断して何も書かなかったことにする

のが命令の完了ということ
851,,・´∀`・,,:2008/08/27(水) 14:47:46 ID:5PB5oEGN
>「例外が起こったら書き込み前に破棄することを保証」しないといけなくて、

だからその仕様を書いた資料なんてがどこにあるのかって聞いてるんだが
「破棄」のメカニズムのブロックダイアグラムも当然あるんだよね。
どこの資料?
852Socket774:2008/08/27(水) 14:50:44 ID:qWNCgzHN
>>850
雑だな

ある命令が例外を起さなかった場合
→結果すべてを書き出して、他のプロセッサからも読める状態になったら、命令の完了

scatter命令が、最初の10要素をメモリに書き、11番目の要素を書くときに例外が起きた場合、
例外ハンドラ内でmfenceを実行したらどうなるか

scatter命令は、残りの6要素は書いていないので、scatterが完了したとは言えない
853,,・´∀`・,,:2008/08/27(水) 14:53:59 ID:5PB5oEGN
MACオタの説明でも借りようか

769 :MACオタ:2008/08/26(火) 21:51:42 ID:u8LwGVma
相変わらず紛糾している様すけど、ストアのリアイアって書き込み先アドレスと(該当ページ
属性を確認して)書き込み可能なことの確認だけ済めば、キューに登録してお終いの筈なん
すけど。。。既にこの文献も引用されていたような気がするす。
ftp://download.intel.co.jp/jp/developer/jpdoc/2001q1_art02_j.pdf
  -----------------------
  しかもリタイアしたストアも、前のストアがデータ・キャッシュに完全に書き込まれる
  まで待たされることがあります。Pentium 4 プロセッサでは、パイプライン中に最大
  24のストアを同時に保持することができますが、これらストアのほとんどがすでにリ
  タイアしているものの、まだそれぞれの状態を L1 データ・キャッシュにコミットし
  ていない、というケースもあります。
  -----------------------
一応、原文も。http://download.intel.com/technology/itj/q12001/pdf/art_2.pdf
  -----------------------

(中略

リタイヤ済みの命令が出したストアパケットを破棄しちゃったらそれこそ問題になるぞ。
854Socket774:2008/08/27(水) 14:54:02 ID:qWNCgzHN
>>852
scatterが完了したとはいえないし、例外起して飛んできたわけだから、これ以上scatterの動作を進めるわけにもいかない
scatterが完了していない以上、mfenceも永遠に先に進めなくなる


>>851
コンピュータアーキテクチャの基礎の基礎なので、わざわざインテルのドキュメントに書くようなものではない
きみの持っているアーキテクチャの教科書に必ず書いてある
読んだことないのかね
855Socket774:2008/08/27(水) 14:55:18 ID:qWNCgzHN
>>853
> リタイヤ済みの命令が出したストアパケットを破棄しちゃったらそれこそ問題になるぞ。

実行をキャンセルされた命令のストアパケットを破棄しないと問題になるよね?
856Socket774:2008/08/27(水) 14:57:10 ID:qWNCgzHN
>>853
ストアの完了というのは、データが物理的にどの記憶階層に保持されているかとは無関係

データがストアキューに溜まったままでも、他のプロセッサから読めるようになればストア完了
857Socket774:2008/08/27(水) 15:00:24 ID:qWNCgzHN
団子もMACオタも、理解力以前に基本的な知識がないんだよ
用語だけ振り回している
858Socket774:2008/08/27(水) 15:05:16 ID:qWNCgzHN
MACオタも団子も、基礎がなってないのに、技術資料を読んだだけですべてを理解しようとするからおかしなことになる

連中がちゃんと教科書を読んだことはないのは、
あれだけいろんなところから引用してくる彼らが、アーキテクチャの教科書からの記述は決っしてしないところからもわかる

おれだって教科書的にいいかげんなことを言ってて、もしつっこまれたらひたすら訂正するしかなかったりするんだけどね
859Socket774:2008/08/27(水) 15:06:09 ID:wILk+eij
>>854
> コンピュータアーキテクチャの基礎の基礎なので、わざわざインテルのドキュメントに書くようなものではない
> きみの持っているアーキテクチャの教科書に必ず書いてある

だからそこら辺を引用すれば良いのに。
手元に無いのかもしれんが…。
860Socket774:2008/08/27(水) 15:07:29 ID:qWNCgzHN
>>859
あるけど、英語のやつしかないのと(連中は英語を読めないのは確認済)
自分の頭でもう一度考えて理解したいのと

そうでなければ団子&MACなんかと汚らしい言い合いなんてするものか
861Socket774:2008/08/27(水) 15:09:37 ID:qWNCgzHN
種本は、Modern Processor Designとかいうやつ
Value Predictionで有名なLipastiの本だ

コンパクトでいい本です
862Socket774:2008/08/27(水) 15:13:21 ID:qWNCgzHN
>>861
この本には、Nx586のuopのRISC86についての記述もかなりの量があって、好事家にもおすすめ
863,,・´∀`・,,:2008/08/27(水) 15:16:33 ID:5PB5oEGN
> コンピュータアーキテクチャの基礎の基礎なので、わざわざインテルのドキュメントに書くようなものではない
> きみの持っているアーキテクチャの教科書に必ず書いてある
> 読んだことないのかね

だからその古臭い教科書の知識だけで閉じてるのが勘違いの元なんだが。
どこの教科書?ペタヘネ?変な無名教授の書いた、薄っぺらいけど高いやつ?

その教科書にはライトコンバインなんて概念書いてなかっただろ?
教科書の知識に当てはめて解釈を歪めてるのが勘違いなんだよ

ともかく君のつかってる「教科書」教えてよ。どこの先生が書いた本?
間違いがあったら抗議してやるから。
ね、がくせいさん


さて、
SSEの元の名前は「インターネットストリーミングSIMD拡張命令」
暗黙的な品質保証より高速性を重視した用途を視野に入れてるんだよ。

ネットワークプロトコルでいえば、厳しいバリデーションによる管理をする
TCPに対するUDPと同じ。信頼性保証はアプリ側次第。
そして君はTCP/IP階層モデルだけは習ったけどUDPの概念を知らないのと同じだ。

厳密なデータの順序保証なんてかなぐり捨ててでも、L1キャッシュを
スルーしてすばやく書き込みたい処理が現代のプロセッサには
求められてる。

品質保証はクラスタ全体で行うので、不正な計算をしたらそれだけ
切り捨てて継続すればいいのでとにかくデータ読み書きが速いのが
いいってのは以前からHPC市場の要求としてあって、
事実、SSE/SSE2の導入を皮切りに、トップ500に占めるx86アーキテクチャの
シェアが急激に伸びた。それまではHPCでは見向きもされなかった。
864,,・´∀`・,,:2008/08/27(水) 15:32:59 ID:5PB5oEGN
Cのメイン関数をvoid main()とかいまだに書いてるひどい本を
教科書として使ってる大学もあるんだよな。
高校のときの同期に見せてもらったことがある。
プログラミングの講義わからないから教えてと頼まれてね。

具体的にはナツメ社「入門ソフトウェアシリーズ1 C言語」なんだけど。
こんな糞本捨ててしまえと言いつつも、規格と違うところを一通り
全部赤ペンで直してやった。
さらに講義で使ってるコンパイラはLSI-C試食版と聞いて愕然とした。

もとい、
仕様書を読まずに薄っぺらい「教科書」の知識だけで閉じようとすると
自分の間違いを間違いだとも思わずに事実と矛盾するトンでもなことを
言う人間ができてしまう。
あれだ、南京大虐殺や従軍慰安婦、強制連行だって「教科書の記述」だしな。
865728-729:2008/08/27(水) 15:39:39 ID:54ZJgqnI
>>854
1) 実行途中のscatterをキャンセルして、再実行時には最初からもう一度

2) 実行途中のパイプライン内部ステータスをコンテキストの一部として
セーブしておいて再実行時に途中からの動作を再現

どっちでもいけるだろう。2)はコンテキストの一部に実装依存部分が入って
しまうのが厄介、1)はフォワードプログレスやI/O空間アクセスに関して配
慮が必要、といったところが注意点。

でもこれ、mfenceとは関係なしに考えなきゃいけない問題だよね?
866Socket774:2008/08/27(水) 16:01:04 ID:qWNCgzHN
>>865
おっしゃる通りで

その2)だと、既存のSSEのメモリコンシステンシモデルと若干の非互換性があるよね、
それくらいならLNIは独自のモデルにしたほうがよくないか?
(SSEがPentiumProに対して緩いモデルを導入したように)
という話をしたかったんだけど…
867,,・´∀`・,,:2008/08/27(水) 16:06:26 ID:5PB5oEGN
>>865
うん、おおむね理解できてる。

ソフトウェアの用意した例外ハンドリングってのは、ハード側での解決が
不可能で命令シーケンスを続行できないときに飛んでくるもの。
その時点で、それまでに処理されたデータに「信頼性」がない。
「保証」なんてそもそも必要が無いんだ。

復帰可能なページフォルト、たとえばページスラッシングって
x86ではソフトウェア(OS)のやることじゃないんだよな基本は。
もしOSがトラップして自前でやらなきゃいけないなら、RDPMCを使って
スラッシング回数を取得するインターフェイスなんて必要ないじゃん。
MMUを備えるx86では、仮想メモリの解決はCPU/チップセット間で閉じた
問題となる。

OSがページフォルトに対してやるのは、回数をプロファイルして、
次回からはアプリからの要求の際適切なメモリ割り当てをハードに
要求するように改善していくこと。

まあどっちにしてもアプリからは知る必要が無い。
フローを修復できない例外のトラップだけやってればいい。
868728-729:2008/08/27(水) 16:11:10 ID:54ZJgqnI
団子は団子で、教科書的知識に対する理解不足を晒しているところがある
というのを理解しなよ。

>>789とか>>818みたいなこと言っちゃだめでしょ、やっぱり。

fenceってのは、ストア1が完了したことを別のストア(ストア2)で他のプロ
セッサお知らせしたりするようなときに二つのストアの間に置くものだよ。

このとき、、

つまり、ストア1とストア2のアドレスは別。他のプロセッサがロードによっ
てストア2への書き込みを知った後、ストア1の結果を読み取ろうとしたと
き、それがメモリシステムのごたごたによってまだ読めなかったりすると
困る。

そんなことが無いように保証するのがfenceの役割。
869Socket774:2008/08/27(水) 16:13:28 ID:qWNCgzHN
>>865
1)の最初から再実行、というのは、すでにストアした分はトータルで2回(以上)書くということかな

それはそれで、キャンセルしたはずの命令の副作用が残っているのは非常に気持ちが悪いし
(SSE的にはどうなのか不明だけど、やっぱり想定外じゃないか)

何発ストアに成功していたかを知るには、2)と同程度には実装依存になるだろう

ということで、2)より考えたくないかな

>>867を見ればわかるように、団子は一般論で物を考えられない子なので苦労するだす
870,,・´∀`・,,:2008/08/27(水) 16:19:05 ID:5PB5oEGN
分岐予測時ミスやL1キャッシュミス時のパイプラインの建て直しを
OSがトラップして復帰の指示しなくていいのと同じレベルで
仮想メモリの解決はハード内で閉じた問題。

ページフォルトが例外としてOSにdでくるときにはすでに
修復が不可能なんだ。保護違反というやつ。
そのときにOSがやるのは、アプリ側の例外ハンドラが登録されてれば
そこに飛ばす。
なければ「このプログラムは不正な処理を(ry

こういうケースにまで「中途半端に書かれてはいけない」なんてルール
設ける必要が無いだろ。
871,,・´∀`・,,:2008/08/27(水) 16:22:03 ID:5PB5oEGN
もうID:qWNCgzHNをNGIDに登録するしかなくね?
てめーの常識は世間の非常識状態
872728-729:2008/08/27(水) 16:32:44 ID:54ZJgqnI
>>866
2)を実装するためには、トラップ発生時にハードウェアシーケンサでベクタ
メモリアクセスユニットの内部状態をメモリに吐き出させたりとか、スカラ
ユニットからのMMIOアクセスでベクタメモリアクセスパイプラインの内部状
態を読み書きできるようにすべくフリーズさせたりとか、えぐい仕組みを実
装しなければいけないが、いずれにせよ例外的な状況として始末すべきなの
で、コンシステンシモデルには影響を与えないのでは?
873,,・´∀`・,,:2008/08/27(水) 16:36:25 ID:5PB5oEGN
君が間違いを認めない限り平行線だからもうNGに入れるよ。

でも、間違った知識を正したいという向上心が少しでもあるなら
x86エミュレータのソースとか読んでみるといい。
http://softwarecommunity.intel.com/articles/eng/3848.htm#Installation
こいつのベースになってるpinがいい。
LGPLだから全部ソースは公開されている。

x86命令セットアーキの実装に過不足なく必要な機構が凝縮されてる。
なによりIntelがじきじきに自社製シミュレータのベースに使うくらい
動作として信頼性の高いものだ。
命令の切り出しとか、デコードコストの問題とかも含めてx86/x64を知るには
最高の教材だよ。



しつこいけど、例外時に破棄できるバッファなんてそもそも必要ないんだ。
874Socket774:2008/08/27(水) 16:45:53 ID:qWNCgzHN
>>872
そこまでえぐいことをする必要はあるかな?
パイプラインの状態そのものを復元する必要はないので
1)との違いは、すでにストアした要素の情報をセーブじゃない?

> 装しなければいけないが、いずれにせよ例外的な状況として始末すべきなの
> で、コンシステンシモデルには影響を与えないのでは?

そういう微妙な例外的状況でも非互換があれば、団子は首を吊ると申しております

「ほとんど」影響は与えないだろうけど、個人的には許容できないかな
SSEの*fence命令とは別の同期命令を導入すればいいだけだし、したほうがいいと思う
875728-729:2008/08/27(水) 16:46:09 ID:54ZJgqnI
>>872
ページテーブルのチェックがベクタ要素順に実行されることが保障されて
いるなら、ずっと簡単に始末できることに気づいた。

ページフォールトが発生した要素番号を覚えておけば、復帰時に残りの
要素分のアクセスも含めソフトエミュできる。
876,,・´∀`・,,:2008/08/27(水) 16:52:32 ID:5PB5oEGN
>>872
2)でほとんど正解なんだけどさ、復帰可能なものなら
OSはトラップする必要ないんだわ。
まあいいや。

>メモリアクセスユニットの内部状態をメモリに吐き出させたりとか、

これは別にエグくはないよ。マイクロアーキ依存部のデータを
メモリ上にダンプする前提の実装はいくらでもある。

その場合、実メモリの一部をCPU用に割り当ててOSには残りだけを
見せることになる。
トランスメタのCPUなんかが代表例だ。
メインメモリ上にコードモーフィング用領域をとってた。

PS3でもやってるハイパーバイザだってアリだ。


ちなみにIntel SDEはIntelが独自に拡張したAES/CLMULやAVXの
サポート部分は外部化されてるのでLGPLの制約を受けないようだ。
ソースがほしいと思ったけどソース非公開なのが惜しい。
877,,・´∀`・,,:2008/08/27(水) 16:53:49 ID:5PB5oEGN
>>872
>ページフォールトが発生した要素番号を覚えておけば、復帰時に残りの
>要素分のアクセスも含めソフトエミュできる。
ここはマイクロコードでやろうよ。OSに投げなくていい
878728-729:2008/08/27(水) 16:53:55 ID:54ZJgqnI
>>874
> 1)との違いは、すでにストアした要素の情報をセーブじゃない?

まったくそのとおりだ。

が、別の同期命令の必要性については依然として俺には理解できていない。
これまでにここで示された情報から見る限り、fenceの仕様はそのままでう
まくいくように思える。
879,,・´∀`・,,:2008/08/27(水) 17:08:55 ID:5PB5oEGN
そもそもなんでSSEがサポートされないことにしたがってるんだ?

後藤は64ビット拡張にSSE2までが含まれることを知らないであんな
勝手な推測をしたんだから、あれ前提で話をすることはないよ。
CellのSIMDユニット構成の勘違いとか、Core 2 5ポート→Nehalem 6ポートとか、
彼の記事の品質は結構低い
880Socket774:2008/08/27(水) 17:11:58 ID:qWNCgzHN
>>878
すまない

元々は、LarrabeeにSSEを実装する理由なんてないね、という話が発端で
団子が互換性互換性とうるさいんで、微妙な非互換性がでてくる例としてフェンスを挙げただけです

少なくとも
・発行されたscatter命令の途中完了を認める
or
・キャンセルしたscatter命令の副作用を認める
かしないと、例外を起したscatter命令はどっちつかずの状態になったままで、そこでメモリフェンスを張られるとどう動作するの?
SSEのメモリコンシステンシモデル的にはどうなのよ?100%互換と言えるの?というお話

ぜんぜん本質的でない話なんだけど、団子がメモリコンシステンシーの無理解をどうしても認めないのでこじれてる
881MACオタ>団子 さん:2008/08/27(水) 17:14:15 ID:p2fjVTBF
>>798
  -------------------------
  ちなみにLarrabeeがフルセットのx64互換(無論SSE2までサポート)をいう
  裏はとった上で楽しんでます。
  -------------------------
ここまで大騒ぎしたすから、ソースを示すのが普通かと思うす。一応、binutilsの最新わ
これすか。
http://www.kernel.org/pub/linux/devel/binutils/binutils-2.18.50.0.9.tar.gz
毎度のことながら、散々煽ったあげくに大外れというのわ勘弁して欲しいモノす。
882Socket774:2008/08/27(水) 17:15:51 ID:qWNCgzHN
>>880
もちろん、16個のXXがXXされ、そのうちのいくらかがXXする

と団子が答えてくれりゃ、それが一番なんだけどね
883MACオタ>880 さん:2008/08/27(水) 17:23:36 ID:p2fjVTBF
>>880
  ----------------------
  団子がメモリコンシステンシーの無理解
  ----------------------
申し訳ないすけど、メモリコンシステンシを理解していないのわ、あなただと思われるす。
あなたの主張する『メモリコンシステンシ』なるモノわ、アトミック操作 (Atomic
operation)と呼ばれるモノで、通常のメモリアクセス順序の話題とわ異なるす。
"atomic operation"とか"atomic instructions"で検索すれば良い話すけど、一応いくつか
資料を書いておくので、読んで理解してもらえると有難いす。
http://www.ibm.com/developerworks/library/pa-atom/
http://www.u-aizu.ac.jp/~minyi/course/os2002/os2002-12.pdf
884Socket774:2008/08/27(水) 17:25:37 ID:qWNCgzHN
>>883
がんばったけど、命令のatomicityは関係あるけど、操作のatomicityは関係ないよ
885MACオタ@補足:2008/08/27(水) 17:26:35 ID:p2fjVTBF
もっと判りやすい説明があったす。
http://ja.wikipedia.org/wiki/%E4%B8%8D%E5%8F%AF%E5%88%86%E6%93%8D%E4%BD%9C
  ----------------------
  1. 全操作が完了するまで、他のプロセスはその途中の状態を観測できない。
  2. 一部操作が失敗したら組合せ全体が失敗し、システムの状態は不可分操作を
   行う前の状態に戻る。
  ----------------------

886Socket774:2008/08/27(水) 17:26:44 ID:qWNCgzHN
>>884
って、どっかで拾った用語をぐぐって振り回してるだけか
887,,・´∀`・,,:2008/08/27(水) 17:27:18 ID:5PB5oEGN
>>881
xsave/xrstorがサポートされてるだろ?
そういうことだよ。
これが、ずっと先のSIMD拡張まで使えるレジスタセーブ・リストア命令だよ。
YMM拡張がない現行のCore 2でも対応できてるくらい柔軟性が高い命令だ。

レイアウトはよくわからんが、YMMフィールドの後ろに各レジスタの
ZMM(仮)の511-255その他が収まる計画だとか。

カーネルはAVXのYMMの退避にxsave/xrstorの対応が必要だが
対応がすんでいれば同時にLNIにも対応できるわけだよ。
888MACオタ>884 さん:2008/08/27(水) 17:33:48 ID:p2fjVTBF
>>884
脊髄反射によるコメントだと解釈しておくす。
命令の順序の制御とアトミック操作についてわ、ISAそのものが最初からweak consistency
モデルであるPowerPCの方が判りやすいかと思うす。
以下の命令の結果の違いについて調べてみると良いかと思うす。
 - sync, isync, eieio
 - lwarx, stwcx
889,,・´∀`・,,:2008/08/27(水) 17:36:52 ID:5PB5oEGN
推測に付き合う気はないけどさ
Intelの64bit extensionをサポートするって大々的に発表しちゃったし。
EM64T〜のアレの仕様は全部網羅することは決定なんだ。

そこまでfenceとscatter命令の共用が困難(笑)だというなら、
新命令を使用中はSSE命令を全て無効にするみたいな
ステート切替命令があればいいだけじゃないの?
サポート命令の切替は、P5世代でx87とMMXで既にやってた。
890Socket774:2008/08/27(水) 17:39:20 ID:qWNCgzHN
>>888
命令のatomicityは、MACオタの大好きなROBとも関係あるよww
891MACオタ@補足:2008/08/27(水) 17:40:20 ID:p2fjVTBF
あまり判り易い説明じゃ無い感じすけど、検索で引っかかった日本語の文献だとこんなんとか。
http://www.xilinx.co.jp/xcell/xl42/xcell_42_05.pdf
892Socket774:2008/08/27(水) 17:43:00 ID:qWNCgzHN
ホントにネットの資料からしか引用できんのねえ、君たち
しかもトンチンカンだし

命令のatomicityって言ってるだろ、気合入れてググれ
893,,・´∀`・,,:2008/08/27(水) 17:50:49 ID:5PB5oEGN
彼のx86の知識は出鱈目だから構うなよ


VPUで8bit/16bit要素のSIMD整数命令が用意されてるとは明言されてない
ことを根拠にしたほうがまだ説得力あったな。
仮にそうだとしてもマイクロコードで実装すればいいだけですけどね。
擬似SIMD程度なら汎用ALU上でもビット演算で簡単にできる。
要素サイズ4ビットとか2ビットとか、もちろん1ビットもね。
やねうの本にあったMMXを使わない飽和演算とか懐かしい。

ま、そもそもハードレベルでは加減算の桁上げを抑制したり、
シフトユニットのクロスバーのマスクをちょっと変えるだけで
いいんで、実装コストがかかるはずがないんだけどね
894MACオタ:2008/08/27(水) 17:51:06 ID:p2fjVTBF
開催中のHot Chips 20の話題す。
まず富士通がSPARC64 VIIの講演で、次世代わ45nm製造の8-core版になると語ったとのことす。
http://www.pcworld.com/businesscenter/article/150344/fujitsu_readies_eightcore_sparc64_chip.html
  --------------------------
  The eight-core processor is code-named Venus and will be manufactured
  using a 45-nanometer process, Maruyama said, a step up from the 65-nanometer
  process used for the quad-core Sparc64 VII.
  It will have an embedded memory controller and offer peak throughput
  of 128G flops (floating operations per second), he said. He said it is
  being designed for the age of "petascale computing."
  --------------------------
これが京速プロジェクト向けスカラプロセッサすか?
895,,・´∀`・,,:2008/08/27(水) 17:57:42 ID:5PB5oEGN
不治痛のgdgdっぷりはもうおなか一杯
896MACオタ:2008/08/27(水) 18:06:52 ID:p2fjVTBF
同じくHot Chipsでの講演すけど、中国わGodson 3で2010に1PFlosのスーパーコンピュータを
建設するんだとか。
http://www.pcworld.com/businesscenter/article/150342/china_aims_for_petaflop_computer_in_2010.html
  ------------------------
  China is also hard at work on the Godson 3, which is aimed primarily at
  servers and will be the first Godson to use a multi-core design. A version of
  the chip due in 2009 will have four general-purpose cores, and four specialized
  cores for tasks like scientific computing. The general-purpose cores will
  run at 1GHz and be similar to those on the Godson 2, Xu said.
  ------------------------
書いてあるとおり1GHzの汎用コアx4 + アクセラレータx4のヘテロ構成とのことす。
897MACオタ:2008/08/27(水) 18:23:18 ID:p2fjVTBF
Hot Chips 20初日のラストのパネルディスカッションのレポートす。
http://www.edn.com/blog/1690000169/post/550032255.html
パネリストわ、Nathan Brookwood, John R. Mashey, David Patterson,
Dave Ditzel, Howard Sachs, Michael Slaterと綺羅星のごとし。
色々、ヤバい発言もあった模様す。
  --------------------------
  "I think we have to call VLIW and superscalar approaches near misses,"
  Patterson said.
  --------------------------
20年の時を経て、時代わ
 - x86
 - SIMD
 - low power
になっているという論調す。Larrabeeについてわ、現IntelのDitzelよりこんなコメントが
あったとのことす。
  ------------------------
  Ditzel perhaps put it most succinctly: "The quest for low power is driving
  a return to simplicity in processor architecture." He pointed out, for
  example, that the just-announced Intel Larrabee processor uses a simple,
  short execution pipeline based on a 1992 Pentium design—for power reasons.
  ------------------------
898MACオタ>892 さん:2008/08/27(水) 18:33:13 ID:p2fjVTBF
>>892
  ----------------------
  ホントにネットの資料からしか引用できんのねえ、君たち
  ----------------------
貴重な(笑)サーバー容量と帯域を消費して、この場所に書き込んでいるのわ、何も頭の
おかしなヒトを晒して遊ぶのだけが目的でわ無いす。
発言しない読者に対しても情報価値のある話になることを期待するから、確実に入手可能な
ソースを提示しているす。

キチガイわ晒しものになって退場し、正しい知識で興味を持ってくれたヒトが新たに参加して
スレッドが繁盛するというのが、本懐なんすけど。。。
899Socket774:2008/08/27(水) 18:36:34 ID:qWNCgzHN
>>898
> 発言しない読者に対しても情報価値のある話になることを期待するから、確実に入手可能な
> ソースを提示しているす。

いっそURLだけ貼ってコメントしないでくれ
900Socket774:2008/08/27(水) 18:38:31 ID:qWNCgzHN
>>898
それよりさ、命令のatomicityはググれたかい?
901Socket774:2008/08/27(水) 18:39:32 ID:qWNCgzHN
あと、Larrabeeのキャッシュで実装されている、cache affine invalidationとpartial sharingについても反論よろしく
902,,・´∀`・,,:2008/08/27(水) 18:52:08 ID:5PB5oEGN
Pentium世代では同時利用が出来ない命令はステート切替を使う
排他利用モデルが提案された。
MMX利用後はEMMS命令発行することでx87が使えるようになる。

同時使用されると困る命令はステート切替命令による
排他利用で切り抜けてきたのがIntel。

AVXでは、256bit SIMD命令使用後にはVZEROUPPER命令を発行して
YMM上位をクリアすることで、レガシーSSEをパフォーマンスの制約なく
使えるモデルを提供している。
レガシーSSEを完全に置き換える上位命令を用意しながらも
レガシーSSEのサポートは継続する。それがIntelの方針。
それほどSSEの資産が重要だからだ。

緩やかな移行モデルによって、ハイエンド市場においてx64は
x86の市場をそのまま引き継ぐことができた。
たとえパフォーマンスを出せなくても互換であることが
重要なことは何度も証明されてる。
Intelは286やIA64で痛い目にあってるからね。

LNIの一部命令にフェンス命令が干渉するという妄想
(そもそもそんな厄介な命令なら実装しないだろうよ)
が正しいとしても、ステート制御による排他利用モデルにすれば問題ない。
では、ステート切替の仕組みを用意できない理由ってあるかな?

あれれー彼死んじゃうのー?
903Socket774:2008/08/27(水) 18:58:21 ID:cRUNv9v+
団子とかMACオタって、もしかして専門卒?
教科書的知識を軽んじるというか憎んですらいるところが大卒とは思えないし、
妙なコンプレックスがあるんじゃないか
904,,・´∀`・,,:2008/08/27(水) 19:03:28 ID:5PB5oEGN
教科書しか読めない子は要らない。
C言語でprintfを習ったからってGUIのウィンドウに文字を描画できない。
教科書は大前提だが、教科書に書かれてない事を教科書だけの知識で
歪めてしまうことはありえない。
仕様を仕様としてちゃんと偏見なく読めることが大事。
905Socket774:2008/08/27(水) 19:07:07 ID:cRUNv9v+
自分の技量とは不釣り合いな尊大さと、やたらと攻撃的なところは何らかの防衛機制だろうし
学問への態度を考えると、学歴コンプレックスというのが一番しっくりくる

専門卒じゃなくて三流大卒かもしれないが
906Socket774:2008/08/27(水) 19:08:29 ID:tW63BWWg
自己紹介乙
907MACオタ:2008/08/27(水) 19:10:48 ID:p2fjVTBF
>>897の話、日経BPの日本語レポートす。
http://techon.nikkeibp.co.jp/article/NEWS/20080827/157001/
908Socket774:2008/08/27(水) 19:12:39 ID:cRUNv9v+
そうね
教科書しか読めない子はいらない、が
教科書的知識はいらない、に
すり替わっているところなどは
学歴コンプレックス特有のロジックだね
909Socket774:2008/08/27(水) 19:15:20 ID:cRUNv9v+
こういう脊髄反射をする>>906のことでもある
910MACオタ>903 さん:2008/08/27(水) 19:22:06 ID:p2fjVTBF
>>903
あなたが読んだ筈の良い教科書にわ、記述に関する引用元が記載されていた筈す。ここ数日の
自身のカキコミを読み直して、他人をバカ呼ばわりする前に、そう言った義務を果たして
いるか確認してみてわ如何すか?
例えば、もう随分長いこと主張しているらしい>>808-812に関してわ?

それわそれとして。。。この20年程で『大卒』って全然高学歴じゃ無いような気が。。。
911,,・´∀`・,,:2008/08/27(水) 19:27:28 ID:tW63BWWg
君の信奉する教科書がモダンなIntelアーキの実装を正しく説明できてないことだけはわかったからもういいよ。


俺もペタヘネやタネンバウム、クヌースは古いながらも嗜んでるよ。
読書代わりにIEEEの論文だな。
名大で研究されてた可変段パイプラインって実用化できるのかなアレ。
知らないならいいよ
912Socket774:2008/08/27(水) 19:27:35 ID:cRUNv9v+
>>910
教科書ってそういうものではないが

まあだいたいわかった
学歴差別はたとえ君ら相手でも心が痛むね(笑)
913どうていだいまおう:2008/08/27(水) 19:28:36 ID:a9hjBTeA
今日は仕事が暇なので、岩波の計算機のなんか本を読んでますた☆

みんな楽しそうだね
914どうていだいまおう:2008/08/27(水) 19:32:55 ID:a9hjBTeA
おれ、ららーのメモリアクセスの一貫性には興味ないのだけどー、。

>>団子どの
286は売れたよ
速かったからね
プロテクトモードじゃなくリアルモードで使われたけど
915どうていだいまおう:2008/08/27(水) 19:36:19 ID:a9hjBTeA
ただ確実に言えるんだけど

ららーはSIMD率を90%以上にしないと
CORE MAより遅い
互換性って意味あるのか?
実装をすっとばして、適当に考えても
意味ないのは明らかだよね
916どうていだいまおう:2008/08/27(水) 19:46:39 ID:a9hjBTeA
低学歴低収入ですが
1200%バイナリ互換でも
遅いのは無意味だと思います
ららーの既存コード実行速度って
PowerPCによる680X0エミュ程度でしょ
下手したら

資料は見てないし、教科書的知識もないけどさ
LNIを使わないと、セックスさせてくれない彼女以上に無意味
917,,・´∀`・,,:2008/08/27(水) 19:52:06 ID:tW63BWWg
タネンバウムのOS本は大学生協で昔買ったんだけどな。
講義で使ってる学科があったし。
ペタヘネは個人の趣味。はっきり言って古すぎ。

ちなみにCPUの講義を受け持った教授自身が、
目まぐるしく進化するマイクロアーキテクチャの実装は
古くさい教科書だけの基礎知識では説明しきれないと言って、
講義はスライドとプリントがベースだったな。
教科書なんて殆ど講義では使わないし。


結局、薄い高い本の本質は教授の印税のために買わされるものでしかなかったよ。
読んでても退屈だしさわりしかやらなくて大ざっぱすぎる。

もっぱら学会誌なんかのほうが興味を惹いた。
918Socket774:2008/08/27(水) 19:53:22 ID:dCsT6nyt
> ID:qWNCgzHN
これは痛いwww
919Socket774:2008/08/27(水) 19:57:06 ID:cRUNv9v+
>>918
お前でも食えるエサがもらえてよかったな
920どうていだいまおう:2008/08/27(水) 19:57:44 ID:a9hjBTeA
RISCって教科書的な一般理論に基づいた考察から生まれたんでしょ
当時のナウでスイーツなアーキはVAXで
命令の直交性が速度に結び付くという迷信が
ふつうだった
921Socket774:2008/08/27(水) 20:00:13 ID:zPUHEKP2
>>887
> レイアウトはよくわからんが、YMMフィールドの後ろに各レジスタの
> ZMM(仮)の511-255その他が収まる計画だとか。

ソース希望
922,,・´∀`・,,:2008/08/27(水) 20:03:16 ID:tW63BWWg
>>917
80:20ルールって知ってる?
16並列化出来なかったりしても効果薄いところまではララ専用命令に書き換えたくはないな。

むしろ新命令セットによる性能向上よりもコア数で稼ぐことに重みがおかれてるからね。
コア数に物言わせればSIMD使わなくてもCore2以上はいけるんでね?

HPCは問題ないだろうが、一般コンピューティングの世界ー並列化戦略のほうが課題だと思う。

つか君の彼女に意味あったら「どうていだいまおう」じゃないだろ
923Socket774:2008/08/27(水) 20:04:28 ID:dCsT6nyt
> ID:cRUNv9v+
これは痛いwww
924どうていだいまおう:2008/08/27(水) 20:04:56 ID:a9hjBTeA
メモリアクセスの一貫性とか
命令がアトミックかどうかとか
スレッドの同期がどうとか
給料日前にデリヘルを呼ぶかどうかとか
よりはるかに些細な問題でどうでもいい

けれど速度については重要だ

おれはSSEは申し訳程度の互換性で
速度でない
LNIではメモリアクセスの一貫性を保障しない
って実装になる気がする
925Socket774:2008/08/27(水) 20:07:40 ID:cRUNv9v+
>>924
ピンサロでガマンしろ
926どうていだいまおう:2008/08/27(水) 20:09:34 ID:a9hjBTeA
>>団子どの
コア数だと10コアは弱いと思う

痛いカキコばっかでごめんなさい
酔ってるから寝ます
927,,・´∀`・,,:2008/08/27(水) 20:10:54 ID:tW63BWWg
>>921
そのうちIntelから命令セットの仕様正式公開されるだろうからそれまで待ってね。
ずっと先の拡張まで使えるフレキシブルな特権命令ってのはどっかの発表資料にあった。
928,,・´∀`・,,:2008/08/27(水) 20:21:24 ID:tW63BWWg
>どうていだいまおう
最小は16だよ。45nmでは32。
32nmでは48出るとか。

16コア版だとレガシィSSEでピーク128GFLOPS程度しか出ない計算になるが、これはそれほど悪い数字ではない。
どのみちピーク性能なんてハッタリだし一番効果の大きい部分だけに絞って既存コードを新命令に置き換える方針で十分。
929Socket774:2008/08/27(水) 20:29:08 ID:zPUHEKP2
>>927
つまり、XSAVE/XRSTRでVPU用のレジスタを退避・復帰できるという
ソースは出せないということか
930,,・´∀`・,,:2008/08/27(水) 20:34:03 ID:tW63BWWg
それは俺が保証してやる。
931,,・´∀`・,,:2008/08/27(水) 20:36:57 ID:tW63BWWg
つかVS2008SP1で新たに追加されたアセンブラニーモニックって
おもっきしネタバレ臭い気が
932Socket774:2008/08/27(水) 21:06:28 ID:4COub+YV
パタヘネをペタヘネって言う人は初めて見た
933,,・´∀`・,,:2008/08/27(水) 21:20:19 ID:tW63BWWg
Patterson=ペターソンじゃね?昔近所に住んでた外人の発音が俺にはそう聞こえたから。

いや辞めようLinuxの読み方並にどうでもいい
934MACオタ:2008/08/27(水) 21:39:53 ID:mxzoFuB4
EETimesによるとQimondaがXDR DRAMの量産出荷を始めたとのことす。
とりあえず?わPS3向けとか。
http://www.eetimes.com/news/semi/showArticle.jhtml?articleID=210200687
  -------------------
  Memory maker Qimonda AG has started shipping XDR DRAM in volume for the Playstation 3
  game console.
  -------------------
935,,・´∀`・,,:2008/08/27(水) 21:45:46 ID:tW63BWWg
「とりあえず」ってのは原文にねーだろwww
PS3事業撤退を見込んだ発言と見受けた
936MACオタ>団子 さん:2008/08/27(水) 21:53:22 ID:mxzoFuB4
>>935
PS3向けXDRわ、ElpidaとSamsungが既に存在するす。Rambusにライセンスを払ってまで
新規参入するというこわ、市場が拡がると観測しているんでわ?
937,,・´∀`・,,:2008/08/27(水) 21:58:48 ID:tW63BWWg
俺にはアレはダブついてるイメージしかないが。
そりゃLarrabeeの需要よりは期待できるだろうけど
938Socket774:2008/08/27(水) 22:06:28 ID:LLDhHXgW
LarrabeeのメモリインターフェイスはXDRでは無いかと言われている件について。
939Socket774:2008/08/27(水) 22:09:03 ID:0YYGVUc6
今年デモするサンプルボードはGDDR5な予感
940MACオタ>938-939 さん:2008/08/27(水) 22:15:55 ID:mxzoFuB4
>>938-939
"Tera Tera Tera"の構成でわ、GDDRかPC向けDRAM(DDR3 or FBDIMM)と述べられていた
すから、少なくとも去年の春の段階でわXDRわ考慮していなかった筈す。
941,,・´∀`・,,:2008/08/27(水) 22:18:51 ID:tW63BWWg
メモコンは簡単に再設計できないからサンプルがGDDR5なら製品もGDDR5なんだろう

サンプルが出る
つまりようやく彼の命日か。
でも俺は彼を赦すよ。
無知は罪ではない。すこし新しい概念を認める頭が固いだけなんだ。
942MACオタ:2008/08/27(水) 23:58:44 ID:mxzoFuB4
Hot Chipsに引き続き、国内で開催されたDAシンポジウム2008でも京速スカラプロセッサ関係技術
の講演があった様す。
http://techon.nikkeibp.co.jp/article/NEWS/20080827/157035/
  ------------------------
   今回,富士通は,ハイエンド・コンピュータ向けプロセサ・チップを想定し,同チップの基板に
  バイアス電圧をかける技術(バックゲート・バイアス技術)の効果を評価した。同技術向けの
  オンチップ・レギュレータ回路を設計し,さらに65nmプロセスを使って同回路などを搭載した
  チップを実際に作ってみた。
   このチップはCu11層,Al1層配線で,6億トランジスタを集積する。内部論理は1.0V動作,
  外部I/O回路は1.8V動作である。リーク電力の最大値は20.86W(内部論理の動作電圧が1.0Vで,
  接合部の温度が30℃)となった。
  [中略]
   例えば,0.5Vの逆バイアスをかけた時には,かけない時に比べて全消費電力が16.3%,
  チップ温度は6.25℃下がった。

  なお富士通によれば,今回とまったく同じ基板バイアス技術ではないが,基板バイアス技術を
  採り入れたプロセサ・チップは,製品のスーパーコンピュータに搭載されているという。
  ------------------------
943Socket774:2008/08/28(木) 00:26:26 ID:Qa2oazuf
65nmプロセスってんだから、SPARC64VIIじゃないの?
製品ってのはFX1のことだと思われ
944MACオタ>943 さん:2008/08/28(木) 05:06:10 ID:xqDUyO4V
>>943
  -------------------
  65nmプロセスってんだから、SPARC64VIIじゃないの?
  -------------------
65nmプロセスで6億トランジスタとのことすから、確かにSPARC64 VIIで間違い無いす。
945MACオタ:2008/08/28(木) 05:11:23 ID:xqDUyO4V
>>894, >>896のHot Chipsレポートすけど、heiseがスライドも掲載されていて、より充実しているす。
SPARC64 VII: http://www.heise-online.co.uk/news/Hot-Chips-Fujitsu-shows-off-SPARC64-VII--/111413
Godson (龍芯): http://www.heise-online.co.uk/news/Hot-Chips-the-third-Dragon-CPU--/111411

Godson-3のアクセラレータコアわ、リコンフィグラブル技術を採用する様す。
946641:2008/08/28(木) 06:28:24 ID:RzKOFhHu
>>875
scatter内の要素順を保証すると色々楽になるね。
要素順保証とL1キャッシュアクセス16回未満を両立する実装は色々考えられるけど、
32ビットアドレス16個を、2個か4個ずつに区切った中で比較する程度でもおかしくない。
もっと言うと、1回の比較でTLBとキャッシュライン両方判定できるようにしておきたい。

ノンテンポラリに関しては分からないけど、新しく入るキャッシュライン制御の考えと
整合しないからLNIにはなさそう気がする。
なのでコンシステンシがどうのってのは、端から考えなくていいんじゃないかな。

それにしても、普通の感覚だと、
 IAが数が出たのは Windows のおかげ
 他のプロセッサに取って代わられなかったのはドライバを含めたエコシステムのおかげ
と考える。
だけど、IntelはISAの連続性の素晴らしさを主張せざるを得ない。技術的にどうあろうと。
団子氏の空気の読み方はまさに Intel の化身だね。
その辺を踏まえて >> 897 のリンク先を読むと味わい深い。

これから先、どうなっちゃうんだろう...
947,,・´∀`・,,:2008/08/28(木) 06:48:07 ID:RAtQ4Mqy
龍芯(笑)ってあれだろ?
Intelチップのリマークだったり
MMXのニーモニックをまんまパクってコミットしたり

駄目すぎるwwwwwwwwwwww

ネタCPUとしては優秀だが見るべきところは無いな。

リコンフィギュアブルプロセッサって発想は面白いんだけどね。
Xeonの○○倍ってハッタリかましてボることしか考えないから成功しない。
DAPDNAの評価キット100万とかねーよwwwwww
948,,・´∀`・,,:2008/08/28(木) 07:38:18 ID:RAtQ4Mqy

> 団子氏の空気の読み方はまさに Intel の化身だね。

そんな大層なもんでもないよ。
ゲルジンガーがそう言ってだけで彼が互換と言うなら間違いないじゃん。

Intel自身、32ビットのときも64ビットのときもx86非互換or低互換で速いCPU作って
結果的に市場に受け入れられなかった実績がある。
x86なんて複雑な可変長形式で命令の切り分けやデコードのコストが高いから
Multi-issueのパイプラインには本当はトランジスタ効率がよくない。むしろ悪い。
敢えてx86を選んだ時点でトランジスタあたり性能はある程度は諦めている。
でも性能のために一部でも互換を切り捨てるならばx86である意味がない。
互換であるなら完全互換であるべき。毒を食らわば皿まで。
経験則に基づく当然の論理だよ。


あとキャッシュのプライオリティ制御は新しい概念だけどWCプロトコルとは何ら矛盾しない。
いくら優先度レベルを明示しようと、L1に該当エントリがなければ
他のキャッシュラインを押し流すことには変わりないからね。
キャッシュを明示的にライトスルーする命令とは両立しうる。
でもノンテンポラルストアの動作は実装に依存するからある程度はアリかもね。


あと例の彼は
SSEのメモリコンシステンシモデルも
フェンス命令の作用も
ストアバッファの役割も
あらゆる全てを誤解したうえでバカ論理を展開してるだけだから真に受ける必要はない。
おそらく教科書すら読んでいない。
949Socket774:2008/08/28(木) 08:44:00 ID:qDnIwopV
>>948
お前の相手はおれがしてやるから
第三者の指摘くらいは受け入れろ
950Socket774:2008/08/28(木) 08:58:33 ID:qDnIwopV
ストアバッファには、何らかの理由で未だキャッシュ階層に書き出されていないデータを保持します

キャッシュにブロックされた
メモリアクセスのリオーダー待ち
投機的ストア
951Socket774:2008/08/28(木) 09:03:54 ID:qDnIwopV
おっと、キャッシュをはじめとするメモリシステムだ
952,,・´∀`・,,:2008/08/28(木) 09:22:49 ID:vX5clrui
どのみちSSEをサポートできない理由にならないんだから諦めろよ。
お前は教科書すら読めなかったんだね
953,,・´∀`・,,:2008/08/28(木) 09:51:32 ID:vX5clrui
今日中に埋められそうだから次すれ立てたよ
http://pc11.2ch.net/test/read.cgi/jisaku/1219884494/l50
954,,・´∀`・,,:2008/08/28(木) 10:20:34 ID:vX5clrui
ストアバッファについて

【池沼さんの思い込み】
ストアバッファは例外検出するまでストアデータを貯めておくもの。
メモリに転送完了するまでストア命令はリタイヤできない。

【現実のIntel/AMD/VIAの実装】
ストアバッファはあくまでキャッシュ帯域の節約のため一括転送するために貯めておくもの。
実装によっては(Pen4など)リタイヤしてもストア命令のデータは残ることがある。
(ソースは>>769ほか多数)
955Socket774:2008/08/28(木) 11:04:29 ID:ze+kqVH5
> ID:qDnIwopV
痛すぎるwww
956,,・´∀`・,,:2008/08/28(木) 11:54:55 ID:vX5clrui
x86においてページの管理ブロック(MMU)ってどこにあるんだろうね?
まあ俺が説明するよりはWikipediaのほうが正確だろう
http://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%A2%E3%83%AA%E7%AE%A1%E7%90%86%E3%83%A6%E3%83%8B%E3%83%83%E3%83%88

セグメントレジスタって今でも仕様を引き継いでるけど、そんな昔から
ロード・ストアアドレスを解決する段階で、物理アドレスを算出してたんだよね。
今でもFSとGSは暗黙的に使う。それが仮想アドレッシングの正体。
ロード・ストアアドレスを生成時に既に論理アドレスと物理アドレス
の紐付けはできるんだよ。R/M + SIB +DISP + セグメントアドレス でさ。

結局のところ、MMUってロード・ストアに直結するアドレス生成ユニット
(AGU)と直結してるんだよね。
AGUで仮想アドレスと物理アドレスの解決ができる。
ページフォルトを検出するのもここ。

でもID:qDnIwopVの崇高な理論(笑)によると、ストアバッファには
ページアドレスの解決すらできてないストアパケットが放り込まれるらしいぜwww
AGUも通してないのに何を頼りにストアバッファに溜め込んでるの?

おかしいだろ?
だから彼はマニュアルどころか教科書すら読めてないんだよ。
まともな教科書ならx86の実装にあるような仮想アドレッシングの仕組みは載ってるよ。
だからその教科書がおかしいんじゃないかってのも疑ったんだが
さすがにこいつが馬鹿なだけだと思うよ。
957,,・´∀`・,,:2008/08/28(木) 11:58:14 ID:vX5clrui
で、ここからはx86の基礎を踏まえた上での
スキャタ・ギャザー命令の実装方針は

1.逆に考えるんだ!メモリを汚していいと考えるんだ!
これは俺が先日から言ってること。
新しく複数アドレスに書き込む命令は、#AVの検出前にアドレス解決してない部分
についてデータの巻き戻しさえ保証しない仕様にすれば
「中途半端に書き込まれた状態」で中断しても問題ないよな。
スラッシングはCPU内で解決できるが、アクセス保護違反したらどうやっても
フローの再開不可能なんだ。
どうせ殺されるプロセスなら保証する必要自体ない。

2.書き込まれるアドレスが含まれる範囲をストアパケット生成前に全部検出する
あくまで中途半端なストアを防ぐという方針であれば、
SSE4では1ベクトル中の最小値を求める専用命令(pminposuw)なんか用意されてる。
それの演算回路を応用して、アドレス指定ベクトル中で指定してる
最小オフセットと最大オフセットを検出してしまうオペレーションを実装すればいい。
で、スキャタ・ギャザー実行の前段階としてそのオペレーションを実行する。
で、最大と最小どっちかでも割り当てられたページ範囲を超えてたら
間違いなく失敗するから、そこで止めて例外を投げてしまう。
逆に最大と最小が範囲内なら全要素が範囲内と保証できるから、以降は
逐次チェックの必要ない。

あれ?やっぱりどっちもバッファなんて必要なくね?
958,,・´∀`・,,:2008/08/28(木) 13:02:20 ID:vX5clrui
>ID:qDnIwopV
今一度聞かせてよIntelがLarrabeeでSSEをサポートしたくない理由(笑)

フェンス命令の動きはお前のただの勘違いだからね。
命令列は、前から後ろに評価されるもので、命令列の前の命令に
制限を加える命令は基本的に存在し得ない。
これこそ教科書にも載っている常識。ノイマン型コンピュータの原則的動作。

だってさ、フェンス命令が評価される前に、フェンスより前の命令が
先にリタイヤしてたらどうするの?
x86に限らずCPUにはパイプライン化されてない実装だってあるんだよ。
それとも、前の命令は自分の後ろの命令がフェンス命令であるか
どうかを確認するまで実行できないの?

おかしいと思わないなら教科書レベルの常識すらないよ。
仕様にも教科書の常識にもない思い込みだ。要するにお前は無学歴だ。
959Socket774:2008/08/28(木) 14:08:25 ID:qDnIwopV
>>958
いいぞもっとやれ
960,,・´∀`・,,:2008/08/28(木) 14:25:15 ID:vX5clrui
ついに居直ったか
961,,・´∀`・,,:2008/08/28(木) 14:28:19 ID:vX5clrui
そういうわけでx64の要件であるSSE2までは当然のごとくフルセットでサポートされます。
x64仕様の動作は全て満たす必要があるからね。

ところで君は死ぬといったね。
命乞いをしろ(ムスカ大佐風に)
962,,・´∀`・,,:2008/08/28(木) 16:18:56 ID:vX5clrui
おーい
さっさと埋め立ててくれよ

いや、別に死んでもいいけど遺書は残さないでくれよ。
HDDも物理フォーマットしてここにアクセスしてた痕跡全部消してからに
してくれよ。くれぐれも。
俺が自○を薦めたみたいに扱われちゃそれはそれで困るからな。

こんな事件もあったし
http://www.iza.ne.jp/news/newsarticle/event/crime/149423/


死ぬ必要ないからとりあえず大学最初から出直せ。
963MACオタ:2008/08/28(木) 17:50:39 ID:xqDUyO4V
検索していて見つけたHot Chips 20参加者の感想す。
http://blog.deadbeaf.org/2008/08/26/hot-chips-tutorial/
  -----------------------
  マルチコアになって何がたいへんかというと、実はメモリなんだ! というのが斬新でした。 コアが
  増えるにつれメモリへのアクセスがどっと混むので、帯域が問題になる。マルチコア時代には
  レイテンシを下げないといけなくて、メニーコアになるにつれスループットがネックになってくる。
  キャッシュの階層を増やすなどして、レイテンシを隠す。3D スタッキングのようなアクロバティック
  な技術をつかってコアとメモリの距離を近づけてあげる。

  CUDAというNVIDIAの並列プログラミングモデルでは、メモリ階層のことをかなり意識して書か
  ないと、ちゃんと速くならない。データがGPUコアの中にあるのか、スクラッチパッドにあるのか、
  コア間の共有メモリにあるのか、それともDRAMにあるのか。 いかにも最高性能を目指すゲーム
  プログラミング向きだなーと。それに対して Larrabee ではコンパイラやライブラリにそうした
  泥臭い作業を任せる。プログラマはロジックとアルゴリズムに集中できる。ただし性能がどうなる
  かは分かりませんね。
  -----------------------
964MACオタ:2008/08/28(木) 18:08:28 ID:xqDUyO4V
>>894,の次期SPARC64の話題、"Venus"で検索すると、安藤氏のサイトが引っかかるす。
京速向けのチップであることわ、間違い無さそうす。
http://www.geocities.jp/andosprocinfo/wadai08/20080510.htm
  --------------------
  2008年5月8日の日経産業新聞が,理研と富士通が共同開発している日の丸スパコンは45nm
  プロセスを使う8コアプロセサと書いています。
  --------------------
965MACオタ:2008/08/28(木) 18:18:11 ID:xqDUyO4V
Hot Chipsの龍芯の発表に関する翻訳記事す。
http://japan.internet.com/webtech/20080827/11.html
  --------------------
  Xu 氏はその後、Godson-3 の設計について紹介した。Godson-3 は、動作クロック1Ghz の4コア
  プロセッサで、65nm プロセスで製造され、消費電力は10ワットちょうどになる。コアの構成は用途
  に合わせて2種類の中から選択でき、x86 バイナリをオンザフライで変換する機能を備えている。
  同機能について、Xu 氏は、ソフトウェアのみによるエミュレーションに比べて10倍高速だと述べた。
  --------------------
966,,・´∀`・,,:2008/08/28(木) 18:21:26 ID:vX5clrui
>>695
凄いのか凄くないのかよくわからんな。
PSP転売大国はとりあえずは本気なのか?
967,,・´∀`・,,:2008/08/28(木) 18:23:37 ID:vX5clrui
>>965だった
968MACオタ>団子 さん:2008/08/28(木) 18:31:41 ID:xqDUyO4V
>>966
しかし、龍芯3号計画自体わ随分古いようで、現状どの程度の進行状況なのかわ謎す。
以下の記事日付に注意。
http://journal.mycom.co.jp/news/2006/03/14/382.html
969,,・´∀`・,,:2008/08/28(木) 18:52:41 ID:vX5clrui
台湾と大陸本土の半導体技術の格差ってどこからだろうな
資本主義と共産主義?
970,,・´∀`・,,:2008/08/28(木) 19:37:35 ID:vX5clrui
http://techon.nikkeibp.co.jp/article/NEWS/20080827/157001/
【Hot Chips】権威が過去20年を振り返るパネル・ディスカッションを開催

>3番手となったPatterson氏は,さまざまな技術の萌芽が第1回のHot Chipsに
>あったと指摘。「マルチメディア命令やグラフィックス・プロセサ,
>Superscalar実行,Out-of-order実行などが,第1回のHot Chipsで発表された」
>と語った。またRISC対CISC論争に触れ,「プロセサの出荷個数じゃARMが年間
>30億個に対し,x86は3億個だ。また女優のアンジェリーナ・ジョリーも
>『RISCアーキテクチャがすべてを変えようとしている』と映画の中で言っている」
>として,場内の笑いを誘っていた。

ちょうど今単発の仕事でARM触ってるけどARM搭載機器のソフト市場が
x86ベースPC以上の勢いがあるようには見えないのは、所詮「組み込み」だからか。

逆にiPhoneなんかはPCに代わるプラットフォームになる気がするんだけどね。
ユーザーやサードパーティにプログラミングを開放してるかってことだな。
971Socket774:2008/08/28(木) 22:09:08 ID:Ajo2Mmh0
団子は

>>868
> 団子は団子で、教科書的知識に対する理解不足を晒しているところがある
> というのを理解しなよ。
>
> >>789とか>>818みたいなこと言っちゃだめでしょ、やっぱり。

については全く無視するのな
援軍到着と思ったのに残念だったな
972,,・´∀`・,,:2008/08/28(木) 23:13:49 ID:vX5clrui
>>971
君は>>868かな?自分で気づかなかった?なら池沼くんと同レベルだ。
それとも池沼くん自身かな?

> >>789とか>>818みたいなこと言っちゃだめでしょ、やっぱり。

ストア対象のアドレスが一部でも重なる場合にフェンスが必要なわけで
前後でロード・ストア対象のアドレスが重ならないことが最初から
解ってればフェンスを挟む必要がない。

マニュアルにも載ってる  常  識  で  す。
973,,・´∀`・,,:2008/08/28(木) 23:33:45 ID:vX5clrui
必要なのはあくまで、こういう場合だよ。

xmm0の中身= A0:A1:A2:A3
xmm1の中身= B0:B1:B2:B3
[ecx]から16バイト= C1:C2:C3:C4
という単精度データが格納されてるとする。

movntps [ecx] xmm0
movhps [ecx+8] xmm1

これの場合、命令の順序どおりにいけば、次のように格納される。
[ecx] = A0:A1:B2:B3

しかしメモリプロトコルの違う命令は順番が逆転してしまうケースがあり
[ecx] = C0:C1:B2:B3 ;; movhlpsでストア後の状態

[ecx] = A0:A1:A2:A3 ;; movntpsでストア後の状態

となってしまうことがある。
これを防止するのがfenceだ。
明らかに別のアドレスに対してロード・ストアしてるなら挟む必要なんて
ないんですよ。

的外れな援軍だったな。同レベルというか。
974,,・´∀`・,,:2008/08/28(木) 23:36:46 ID:vX5clrui
×[ecx] = C0:C1:B2:B3 ;; movhlpsでストア後の状態
○[ecx] = C0:C1:B2:B3 ;; movhpsでストア後の状態
975,,・´∀`・,,:2008/08/28(木) 23:39:13 ID:vX5clrui
アドレスが重複しないのに、
どうしてフェンスが必要だと思ったんですか?
それは仕様書が、というよりは文章が読めてないってことですよね。

文章が読めないっていうのは、教科書も理解できてないってことですよ。
976Socket774:2008/08/28(木) 23:58:12 ID:mOdl2SYz
アドレスが重複しなければ必要ない、というのは分かる。
でも必要・不要とか関係なく、*fenceは順序づけしてくれる機能を持っているでしょう。

いや、アドレスが重複しなければ必要ない、というのは分かるんだぜ?
977Socket774:2008/08/29(金) 00:08:35 ID:Yk6PbdtE
残念ながら?

アドレスが重複しなくても、必要なのでフェンス命令が存在するのでっす
978,,・´∀`・,,:2008/08/29(金) 00:14:00 ID:XA+DpWi/
ま、マルチスレッドを想定した場合
>>868の気持ちもわからなくもないけど
俺もどっかの池沼もそんなことは想定してない。
フェンス命令を使用後ならマルチスレッドで自由に読み書きして安全
なんてことはありえんよ。

WC命令後にフェンスを使えばメモリ状態保証はできるけど違うコア間の
アクセス順序の保証はまた別問題だからさ。
Mutexなりインターロックなり使わないと根本的には共有領域の
読み書きは安全ではない。

でも、せっかくだから俺はこの赤いロックフリーな機構を選ぶぜ!
これはかの中村氏@灯台出身のプレゼン
http://www.nminoru.jp/~nminoru/data/b2con2006_nminoru.pdf
979,,・´∀`・,,:2008/08/29(金) 00:26:09 ID:XA+DpWi/
ま、後発命令によってライトバックされるキャッシュラインによっては
ライトコンバイン後の一般ロード・ストアはアドレスが違っても
必ずしも安全とは言えないかもしれないね。
俺はそんな行儀の悪いことはやったこと自体ないけど。

movntss/movntsdがほしい。
980,,・´∀`・,,:2008/08/29(金) 00:37:43 ID:XA+DpWi/
しかし、フルアソシエイティブでもない限り、ライトバックに必ず
汚染されないことが保証できるアドレスの組み合わせが存在する。
実装決めうちKOEEEEE
普通は全部一貫してライトコンバインですね。
981Socket774:2008/08/29(金) 01:03:30 ID:Yk6PbdtE
>>954
> 【現実のIntel/AMD/VIAの実装】
> ストアバッファはあくまでキャッシュ帯域の節約のため一括転送するために貯めておくもの。

たとえ単なる実装例の話であっても、それは違う
団子の言っているのはライトコンバイニングで、使われるのはフィルバッファだったりライトコンバイニングバッファだ
俺の>>842 >>844を参照のこと

>>956
> でもID:qDnIwopVの崇高な理論(笑)によると、ストアバッファには
> ページアドレスの解決すらできてないストアパケットが放り込まれるらしいぜwww

おれはそんなことを言ってないよ、言ったというなら引用してくれ
正しくは、ストアアドレスはL1アクセスと平行して物理アドレスに変換され、キャッシュのタグと比較される

>>955
おれを罵倒するのはいいけど、罵倒だけのスレ汚しはやめてねお願い
982,,・´∀`・,,:2008/08/29(金) 01:05:51 ID:XA+DpWi/
ID:Yk6PbdtE←いつまで生き恥さらし続けるの?
983Socket774:2008/08/29(金) 01:09:56 ID:Yk6PbdtE
>>641
>>972を見て、おれの苦労をわかってもらえたかな?

団> マニュアルにも載ってる  常  識  で  す。

どんなおもしろマニュアルやら

>>963
>  マルチコアになって何がたいへんかというと、実はメモリなんだ! というのが斬新でした。 コアが

誰の感想か知らんが、正しいにしろ今さら斬新と言われても的
984,,・´∀`・,,:2008/08/29(金) 01:13:01 ID:XA+DpWi/
フェンス命令が前の命令に作用するとか
LarrabeeではSSEと共存できないとか
お花畑発言を続けるお前に苦労なんてあったのか
985,,・´∀`・,,:2008/08/29(金) 01:18:27 ID:XA+DpWi/
さて、弱いコンシステンシモデルであるべきスキャタ命令の後に
「フェンス命令があってはならない」んじゃなくてむしろ無いといけない
理由がようやくわかったと考えていいのかな?これは

> 977 :Socket774:2008/08/29(金) 00:08:35 ID:Yk6PbdtE
> 残念ながら?
>
> アドレスが重複しなくても、必要なのでフェンス命令が存在するのでっす
986Socket774:2008/08/29(金) 01:19:40 ID:Yk6PbdtE
>>984
> フェンス命令が前の命令に作用するとか

これがよくわからんのだが
おれも641もそんな説明は一回もしたことないし

「前の命令を完了させる」という言い回しが理解できなかったのだろうか
これは「前の命令が完了するまで後続命令を待たせる」とほぼ同義なんだが
ま、実装では他にもなんかの優先度を上げるようなロジックはあるかもしれないね
987,,・´∀`・,,:2008/08/29(金) 01:20:54 ID:XA+DpWi/
でもそれって「LNIにSSEサポートが必要な理由」だよな。
まあ、わかっただろ、SSEがサポートされるって。
とりあえずは存分に死ね。約束だからな。
988,,・´∀`・,,:2008/08/29(金) 01:22:59 ID:XA+DpWi/
さらし上げ
>LarrabeeにはScatter/Gatherがあるだろ、
>1命令で16要素のメモリアクセスするから、スレッド数にあわせて4段のパイプラインだと、
>全部で64アクセスをバッファにためないといけない
989Socket774:2008/08/29(金) 01:23:25 ID:Yk6PbdtE
>>985
> さて、弱いコンシステンシモデルであるべきスキャタ命令の後に
> 「フェンス命令があってはならない」んじゃなくてむしろ無いといけない

この発言は全く意味がわからないが、

アドレスが重複しなくても、二つのストアの間にフェンスがどうしても必要になることがあるので、フェンス命令は存在するのです
990,,・´∀`・,,:2008/08/29(金) 01:24:39 ID:XA+DpWi/
488 :Socket774:2008/08/24(日) 16:48:54 ID:dxY2QGlA
>>486
> HPC用に用意されるソケット版はXeonとプラットフォーム互換で、QPIで相互インターコネクトされる。

だからそれはLarrabeeじゃねえって何度も言ってるだろ
991,,・´∀`・,,:2008/08/29(金) 01:26:13 ID:XA+DpWi/
Scatter/Gatherでフェンスを使うとかトランジスタ的に無理!
もしフェンス命令が使えたら死んでやるよ

とか云々
992Socket774:2008/08/29(金) 01:28:17 ID:Yk6PbdtE
>>987
> でもそれって「LNIにSSEサポートが必要な理由」だよな。

それって何だ?

>>991
> Scatter/Gatherでフェンスを使うとかトランジスタ的に無理!
> もしフェンス命令が使えたら死んでやるよ

だから捏造するな
LarrabeeにSSEを実装するには一部互換性を捨てる必要がありそうという話だ
993,,・´∀`・,,:2008/08/29(金) 01:29:05 ID:XA+DpWi/
> 739 :Socket774:2008/08/26(火) 16:11:29 ID:JnmrWmO4
> >>728
> > つまり、複数のアクセスが仕掛かりのままほおって置かれるのではないか、
> > という懸念はその命令の中に閉じた心配事。アーキテクチャステートの定義
> > がきれいにできるか、とか、フォワードプログレスが保障できるかとかは心
> > 配になるが、心配して考えればなんとかなるでしょ。

今恥ずかしいでしょ?
scatterが中途半端な状態でフェンスに完了?させられた場合のセマンティクスは、
従来のSSEからはみ出すものだよね?
994,,・´∀`・,,:2008/08/29(金) 01:29:56 ID:XA+DpWi/
scatterが中途半端な状態でフェンスに完了?させられた場合のセマンティクスは、
従来のSSEからはみ出すものだよね?


フェンスに完了させられる
フェンスに完了させられる
フェンスに完了させられる
フェンスに完了させられる
フェンスに完了させられる
wwwwww
995,,・´∀`・,,:2008/08/29(金) 01:34:38 ID:XA+DpWi/
私の肛門も中途半端にフェンスに完了させられそうです
996Socket774:2008/08/29(金) 01:36:36 ID:Yk6PbdtE
>>993
おやおや

>>868
> 団子は団子で、教科書的知識に対する理解不足を晒しているところがある
> というのを理解しなよ。
>
> >>789とか>>818みたいなこと言っちゃだめでしょ、やっぱり。

は完全無視で、都合のいい所にだけ言及ですか

>>728
> という懸念はその命令の中に閉じた心配事。アーキテクチャステートの定義
> がきれいにできるか、とか、フォワードプログレスが保障できるかとかは心
> 配になるが、心配して考えればなんとかなるでしょ。

心配はあるが、まだ考えてなんとかなったわけじゃないしね
懸念の種ならまだいくつかある
scatterとフェンスはそのうち一番わかりやすいがつまらない例だったんだ

それが団子がフェンスを知らないわ、無知を認めようとはしないわで、えんえんスレを消費してここまできただけ

MACオタもアサッテなつっこみを入れようとしてるしなあ
アトミック操作だってよ、プププ
997,,・´∀`・,,:2008/08/29(金) 01:36:58 ID:XA+DpWi/
> > つか、万が一でもSSE*を100%サポートだったら死ぬの?
>
>いいともさ
> そのかわり、ごくささいな互換性でも失なわれていたらお前が死ねよ


でも、SSE/SSE2/SSE3完全準拠がEM64Tの仕様なんだ、すまない
998,,・´∀`・,,:2008/08/29(金) 01:37:51 ID:XA+DpWi/
>>996
それ以上いうとお前の人生も中途半端にフェンスに完了させられるぞ!
999,,・´∀`・,,)っ-○●◎:2008/08/29(金) 01:37:59 ID:XA+DpWi/
999
1000,,・´∀`・,,:2008/08/29(金) 01:39:13 ID:XA+DpWi/
このスレッドはフェンスに中途半端に完了させられました
次スレも中途半端にフェンスしてください。
10011001
1台のマシンが組み上がりました。。。
新しい筐体を用意してくださいです。。。。

         自作PC板@2ch http://pc11.2ch.net/jisaku/