[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/10 01:37 / Filesize : 162 KB / Number-of Response : 530
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

x86命令の所要クロック計測スレPart3



1 名前:1 ◆.MeromIYCE mailto:sage [2007/01/10(水) 12:32:46 ]
ゆるゆる〜っと実測していきましょう。

過去ログ
x86命令の所要クロック計測スレPart2
pc10.2ch.net/test/read.cgi/tech/1136527588/l50
x86命令の所要クロック計測スレ
pc8.2ch.net/test/read.cgi/tech/1103609337/l50

関連スレ
アセンブラ… (゜□゜) ↑アッー!↓
pc10.2ch.net/test/read.cgi/tech/1148402614/l50
MMX SSE 3D NOW!のプログラミング
pc10.2ch.net/test/read.cgi/tech/1085749218/l50
CPUアーキテクチャについて語れ 5
pc9.2ch.net/test/read.cgi/jisaku/1159238563/l50
【Penryn】次世代モバイルCPU雑談スレ 3【Nehalem】
pc9.2ch.net/test/read.cgi/notepc/1160039483/l50
もしくは、自作板にて「次世代」でスレタイ検索

まとめサイト(過去ログ置き場)
www.wikihouse.com/x86clocker/index.php?FrontPage

2 名前:1 ◆.MeromIYCE mailto:sage [2007/01/10(水) 12:33:18 ]
関連サイト(日本語)
コピペで動くVC++のインラインアセンブラ例
www.fides.dti.ne.jp/~tokai/vc/mmxab2.html
基本的な整数命令/スタックの使い方
ray.sakura.ne.jp/asm/
FPUやMMX,SSEの命令解説など。最適化の色々な話がある
homepage1.nifty.com/herumi/adv.html
pentopt(古)の日本語訳など
hp.vector.co.jp/authors/VA003988/
Intelの日本語技術資料のダウンロード
www.intel.com/jp/developer/download/index.htm

関連サイト(英語)
Intelの最適化マニュアル(Core2についても載ってる)
developer.intel.com/products/processor/manuals/index.htm
Software Optimization Guide for AMD64 Processors
www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_739_7203,00.html
Intel向け最適化手法やクロックテーブル、testp.zipで手軽にrdpmcが使える
www.agner.org/optimize/
各CPUのレイテンシ-スループットの表(K7K8あり)
swox.com/doc/x86-timing.pdf
x86CPUの各種データシート
www.sandpile.org/
AMD CodeAnalyst Performance Analyzer、AMD用パイプラインの様子がわかるシミュレータ
developer.amd.com/downloads.jsp

CPU関係の記事が読めるかもしれない場所
pc.watch.impress.co.jp/
www.geocities.jp/andosprocinfo/
mypage.odn.ne.jp/www/k/8/k8_hammer_trans/files/Hammer-Info.html

3 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 14:51:35 ]
          ヽ / /⌒\
         /ヽヽ|/⌒\ii|\
       / /ヾゞ///\\|
       |/   |;;;;;;|/ハ \|
             |;;;;//⌒ヽ
             |;/( ^ω^) >>1おっおっおっ乙枯ー
.           |{ ∪  ∪
             |;;ヾ.,____,ノ
             |;;; |
             |;;;;;|
             |;;;;;|



4 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 16:41:55 ]
>>1
STARGA乙ERS

5 名前:1 ◆.MeromIYCE mailto:sage実は500KBを狙っていた [2007/01/11(木) 13:23:52 ]
前スレ埋まりました。

6 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 21:01:08 ]
GJ!

7 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 16:01:16 ]
2ch閉鎖したらどーすんの?


8 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 00:37:09 ]
大原が入稿してからついに一週間経つのにまだ掲載されてないなんて
サボりすぎってレベルじゃねーぞ

9 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/14(日) 02:32:10 ]
珍しいなム板で500KB制限って

ただでさえ長文とソースコードの多いスレだけど

10 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 21:51:15 ]
第189回 Core MicroArchitectureをもうすこし(13)
journal.mycom.co.jp/column/sopinion/189/

やっと5日入稿分が来たよ
相変わらずこのスレ見てるな



11 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 22:00:42 ]
このスレとは関係ないけど

> 例えば昨年のComputexでMobile向け新コアの説明がちょっとあったが、Memory Controllerと
> Hyper Transport Linkのみがモバイルに最適化されたという話で、コアそのものはK8L(というか、
> Revision H世代?)と共通になってゆく模様だ。

そのリンク先を見る限りモバイル向けコアはK8Lとは違うように見えるのだが…

12 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 23:17:12 ]
サーバーを意識した設計だがRASは無い

13 名前:1 ◆.MeromIYCE mailto:sage [2007/01/14(日) 23:38:58 ]
俺はnopは実行ユニット使ってると思っていた。そこで実験。Dothanで。
結果は大体見えるけど、初心忘るべからずってことで生真面目にやってみますね。

ループ回数は1000回、10000回で測定。場合に応じて回数を変化させて傾向を見る。
lp:
and edx,edx
dec eax
jnz lp
これはキッカリ1.5clk/loop。

lp:
xchg eax,eax ; nopと書くのと同じマシン語になる
dec eax ; ここをecxに変えても所要クロックは全く同じ
jnz lp
これは1.56clk/loop程度。なぜちょっとだけ遅いのだ。
nopが遅いってことではなくて、loopが整数クロックでない複雑さが影響している感じ?
もっとも、2clk未満なのでnopとdec eaxに依存関係がないのはわかった。
(ていうかnopを連続させるベンチを見れば、nop同士にも依存関係がないのは明らか)

たぶん、nop命令は同時使用レジスタ数とかのシバリとかも関係ないだろう。
(普通のxchg命令はレイテンシが2clkと遅いので計測からはよくわからなかった)

14 名前:1 ◆.MeromIYCE mailto:sage [2007/01/14(日) 23:40:26 ]
lp:
nop
nop
mov eax,[esi]
dec ecx
jnz lp
これは2.0clk/loopで回る。

lp:
nop
nop
and eax,eax
dec ecx
jnz lp
こっちは2.6clk/loop。nopがALU(Dothanでは2個)を使っているのがわかる。
1loopでALUを5回使うので、必ず2.5clk以上かかるのだ。

nopは、命令ポインタであるeipの値を1増やす以外何もしない命令だが、
CPU内での扱いで言うと、レイテンシ1・スループット1の命令としてALUを1個使うが、
その他スケジュールなどでの制限事項には引っかからないタチのいい1byte命令、
という感じで、これは他のCPUでも同じじゃないかな。

クロック計測の観点から言えば、「実行する」と表現した方がわかりやすいと思う。
この辺は言葉の問題なので、適宜使い分け。

15 名前:1 ◆.MeromIYCE mailto:sage [2007/01/17(水) 18:51:26 ]
IA32 x86 JITアセンブラ Xbyak
homepage1.nifty.com/herumi/soft/xbyak.html

動的アセンブル。なかなか使いやすそう。
mov(ecx, n); などと関数にしてしまう実装が面白い。

でも、いざ使おうと思うと、何に使ったらいいかわからないな。
自己書き換えよりは安全でスマートな方法だが、
定数部分の自己書き換えの範疇を超えた使い方があれば面白い。

16 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 20:48:36 ]
計算式や正規表現のようなユーザから来る可変な表現からプログラムを生成。

17 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 03:40:29 ]
Cの関数のような表記のアセンブラといえば、CELLのもそうじゃなかったっけ?
#つーか、あれは関数表記のインラインアセンブラなのかも知らんが。

18 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 03:59:06 ]
そりゃIntrinsicsじゃないのか?
ttp://en.wikipedia.org/wiki/Intrinsic_function

VC++のMMX/SSE対応とか。

19 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/18(木) 06:52:49 ]
あれはもともとIntelコンパイラの組み込み関数

CellのはCode WarriorのAltiVec拡張と同じ構文ルールだが
あちらは「演算子」なんだな。
Cで「関数」のオーバーライドはサポートしてないはずだ。
たとえばvec_addもしくはspu_addはvector int とvector shortでは別の操作になる

20 名前:1 ◆.MeromIYCE mailto:sage [2007/01/18(木) 23:53:42 ]
>>16
正規表現か。難しそうだな。
結局、定数書き換え以上のことやろうとすると、コンパイラみたいなのを
自作してプログラムに入れないといけないんだよな。

ぶっちゃけ定数埋め込みだけでも意義は大きいと思うし、
最後に0.99をかける処理をする/しないの選択みたいな要素が8個あれば
高速化を考えれば普通なら256通りのコードを用意する必要があるわけだから、
そういうのに使ってもいい。

>>17
べつにmov(ecx, n); でmov ecx, n を実行するわけじゃなくて、
将来実行するコードにmov ecx, n のマシン語を追加しているのだ。
単なる表記法の話とは違う。



21 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 00:23:01 ]
>20
callが並べられれば既に最適化されている一連の関数をどういった順序で、ないし、どういったパラメータで呼ぶかが決められる。
比較処理の削減、BTBの節約程度にしかならんがな。

22 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/19(金) 00:53:26 ]
正規表現は動的にDFAを構築するlazy evaluationがナウなヤングにバカウケ
(言語処理系だとHaskellとかに使われてるね)

現実には後方参照とか量指定とかのリッチな機能使いたがるから
一意に定まる部分文字列をBoyer-Moore法などを用いて先行して評価し
NFAを評価するほうが主流なんだよな
これは鬼車なんかが使ってる。

自己書き換えでNFAのバックトラッキングを高速に処理するとかできれば
理想だけど、まあ無理だ罠。
とにかくメモリレイテンシが重要。

#投機スレッディングが有効かと思ったり

23 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 01:38:34 ]
第190回 Core MicroArchitectureをもうすこし
journal.mycom.co.jp/column/sopinion/190/

24 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/21(日) 03:07:36 ]
> そうなると、そうすると

もちつけwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
最近仕事が粗いな

つーか、リオーダバッファが96エントリもあれば局所的なユニット不足って
十分解消できると思うんだがね俺の考えでは

ROBを深くしてロード命令を先行して実行してれば
たいがいのコードって

つーか、リオーダバッファが96エントリもあれば局所的なロードユニット不足って
十分解消できると思うんだがね
そのためにMemory disambiguationがある。
ストア命令が一個もないループなんぞ【逸】般的でしかない。

64bitではSSE2までは標準命令セットだから、そのへんの実行効率についても
検証していただきたいところだね。

25 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/21(日) 03:21:32 ]
俺くどいwwwwwwwwwwwwwwwwwwww

26 名前:デフォルトの名無しさん [2007/01/21(日) 04:13:03 ]
journal.mycom.co.jp/column/sopinion/190/

REV.FのDualCore 2MB L2で227.4Mトランジスタ
1MB L2で、153.8Mトランジスタと言われている。

つまり、227.4-153.8=73.6Mトランジスタが、1MB L2の容量と思われる。
2MBだとx2で147.2
227.4-147.2=80.2がL2を除いたトランジスタ数。
41.1Mが1コアあたりのトランジスタ数となる。
ちなみに、512KBのシングルコアは81.1Mと言われているので
81.1-36.8=44.3ほどDualCoreの数値と比べ、少し多いが、
後述するメモコンなどの共用部分は、1コアでも1つ持つので、割とあってるかもしれない。

ここから大原氏のいうL1キャッシュの容量7Mを差し引いて34.1Mトランジスタ
さらにメモコン部分のL2以外のダイ面積に占める割合からすると14%なので、
単純計算で5.75M、これを両コアで共有するため、半分として2.88Mトランジスタ。
34.1-2.875=31.22Mである。

メモコンのトランジスタ数については、前述の数値で言えば、
DualCoreとSingleCoreでコア辺り3.2Mの差があるので、
あたらずも遠からずかな。




27 名前:デフォルトの名無しさん [2007/01/21(日) 04:15:27 ]
つづき

journal.mycom.co.jp/column/sopinion/190/

これと同じことをCore2でやると
Core2 4MB版が291M
Core2 2MB版が167M
であるから、(291-167)*2で248Mトランジスタ
(291-248)/2=21.5M
過去のP6アーキテクチャのくらべると、両コアの共用部分を差し引いても少ないように思う。

その他Core2のキャッシュ計算法から、過去のCPUのトランジスタ数を推定すると
2MBのCoreDuoが、(151.6-124M)/2=13.8M
2MBのドタン,PentiumMが、140-124M=16M
1MBのバニアス,PentiumMが、77M-62M=15M
256KBのPentium3が、28.1M-15.5=12.6M
L2外付けのPentium3が、95M

Penteium4だと
プレセラで(376-248)/2=64M
プレスコットで125-62=63M
割といい感じと言うか、ほぼぴったり!
しかしトランジスタ数がCore2の3倍に達することになるが。

長々と書いたが、半分大原氏に向けて書いたつもり。
ここをみてる様だから。

参考文献
www.sandpile.org/index.htm


28 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 07:39:11 ]
大原なんてどうでも良い
もちっと突っ込んだ話に進めよう

29 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/21(日) 12:48:50 ]
「モノ書くってレベルじゃねーぞ」

30 名前:デフォルトの名無しさん [2007/01/21(日) 14:47:40 ]
大原氏の検証が正しいどうかかわからないが、Core2のトランジスタ数が少ないのは事実であろう。いずれにせよ、Core2のトランジスタ効率はかなり良い。
K8の60-70%程度の演算パイプライントランジスタ数で、120%の性能を発揮しているのだから。
遡れば、K7 2200万トランジスタに対して、Pen3 950万トランジスタで、クロック当たり性能がほぼ互角だったのだから、AMDのアーキテクチャーには無駄が多いのかもな。

K8のブロック図を見ても
コンプレックスデコーダー*3
対称型ALU*3
AGU*3
馬鹿正直設計と言えるかもしれない。






31 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/21(日) 15:12:30 ]
その上整数パイプラインとFP/SIMDパイプラインに分かれてる。

32 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 15:26:22 ]
その代わりK8はスレッド数が増えても急激な性能の低下はないね。
Core2はコア数×2スレッド以上になると急に遅くなる。

33 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 15:29:39 ]
ソース希望。共有キャッシュだから若干遅くなるのは予想できるが、
具体的にどれくらい?


34 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/21(日) 15:34:56 ]
単純に1スレッドだけだと2MB〜4MBのキャッシュを占有できるからじゃないの?

なにが原因があるのかは知らないが
コンテクストスイッチングに弱点があるとして
HyperThreadingとマルチコア化で同時処理スレッド数を稼ぐ方針だから
差し引きオッケーになるんじゃねーの

35 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 15:52:36 ]
Intelの共有キャッシュ = 再構成可能キャッシュ

36 名前:デフォルトの名無しさん [2007/01/21(日) 15:59:52 ]
そうだね。
黙っててもマルチコア化は進んでいくわけだから、シングルスレッド強化のほうが、むしろ理にかなってるとも言える。
また、1コア当たりのトランジスタ数を抑える方が、コアを増やす上で、これまた理にかなっているだろう。

K8Lは、さらに1コア当たりのトランジスタ数を増やすようであるが、
面積で言えば、20%ほど増える。単純計算では5000万トランジスタぐらいか。
K8 5000万対Core2 2870万で互角以上なら、多少のマイナスも問題ないだろうし、
さらに5000万対2870万 x2コアって戦い方も出来る。


37 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 16:08:42 ]
何言ってんの?K8といえば今やX2だろう。

38 名前:1 ◆.MeromIYCE mailto:sage [2007/01/21(日) 23:32:22 ]
>>23
4issueのCPUで演算パイプラインが常時IPC4で回るとかあり得ないのは
当然のことだと思うのだが、意図的に間違えてるのか?
そういう意味じゃCore2もK8もIPC3すら全く達成できてない/する気がない。

それとは別に、パイプラインを3→4に強化すれば高速化するのは間違いない。
その高速化に対して、IPC4+のケースがあることも、そうじゃないことも貢献している。
その他色々な強化を積み重ねて、Core2はあのスピードを手に入れたのだ。
K8だってCore2だって、IPCが1.4のところを1.5にしようと必死に頑張って作ったはず。

あと、俺はむしろK8の演算器((ALU+L/S)*3)が過剰でバランスが悪いと感じる。
もっとも、これがK8のパワーの源だとも思うし、実際にはそう悪くないのだろう。
よく言われることだけど、ALUが過剰とかキャッシュだけ多いとかいうのは
設計思想の違いで、どちらが良い悪いというものではない。
バランスが悪いとダメだけど、K8やCore2がそこまでバランスが悪いとは思わない。

ところで、大原さんは別にCore2を貶してるわけじゃないんだよね。
ただ、「Core2は(x86命令で)IPC4を狙った設計ではない」と主張してるだけで、
4issueは無駄だとか、K8より性能が劣るとか、設計が悪いとかは、言ってない。
なぜそう主張したいのかが、さっぱりわからないんだけど。

今度のK8Lは、「より確実にIPC3を出し続けることを狙ったCPU」だと思う。
このK8Lと、「IPC4を狙ってデコード・スケジュールでつまづく」Core2の戦いは楽しみだ。

39 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/21(日) 23:37:33 ]
K8では整数パイプとFP/SIMDパイプにディスパッチする手前でデコードしてたのを
K8Lではディスパッチ後にデコードするようになってる。
このへんってどんな効果あるんだろ

40 名前:1 ◆.MeromIYCE mailto:sage [2007/01/21(日) 23:51:02 ]
>>39
SIMDの方にディスパッチしてから64bit単位で命令を解釈し、
ある程度トランジスタを割いてうまくスケジュールして、
同じピークSIMD性能のCore2を超える実性能を叩き出す、
というのが俺の希望だが、実際どうだろね。
ディスパッチ前の命令の単位が64bitから128bitに変わったことが
影響していると考えていいと思うけど。



41 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 23:54:41 ]
そそ、Intel processorが特別ピーキーで(絶妙な)設計なだよなー(・∀・)
AMDに限らず、RISC processorでも馬鹿正直といったら失礼だけど、大雑把なつくりのがおおいし。

Intel processorは、伝統的に速くなるところはそれだけ投資するし、速くならないところは細部でも積極的にケチる。
社内で実プログラムの動作が研究し尽くされていて、開発能力に余裕がなければできない芸当。
decode BWみたいに局所計測系benchmarkの単調な命令の羅列ではまったく実力がわからん。
Intel processorは、いつも公開されるarchitecture的なspecから予想されるよりも実性能が高い。
これはcompilerの出来だけの問題ではない。

あと、大原はIPCという言葉の使い方がよろしくない。
IPC xxを狙ったarchitectureという考えをそもそも捨て去らないと…。
実効3IPCや4IPCなんて最初から誰も考えちゃいないのに。

42 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:02:48 ]
Intelerお久

43 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 03:57:13 ]
どこが優っていて、どこが劣っているとか、
それは最終的には関係なく、結果叩きだされる性能が指標なわけで…

最近のベンチマーク結果にメモリ帯域とか、レイテンシ計測が出てくる不思議さ。
なんというか、100M決勝で10M加速を比べられているような…
IPCもその意味をなすことが今後は難しいんじゃないですかね?

大原記事はこれから読むw

44 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 04:25:04 ]
読んだ。
AMDのCPUは実行IPC3で常に回っていて(脳内or観測的希望)
intelのCPUはIPC4を謳ってい入るがそんなわけねーよ(AMD比)pgr、ということなのか…

瞬間風速だとしても、それを出せない回路でその数字を謳うのはある種詐欺なわけで、
たとえ一瞬だとしてもそれが出せることは大いに喜ぶべきことなのでは?
(その宣伝を気に入る、気に入らないという話ではないこと前提でw)
それを意識するあまり平均性能が落ちるとかならいざ知らず、
ほとんどのベンチマークで勝っているわけで、without メモリコントローラ。

45 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 10:40:18 ]
おはようございます。
なんだよ、観測的希望ってw
やっぱり眠い時レスしちゃダメなんですね。
大原氏ごめんね。

46 名前:1 ◆.MeromIYCE mailto:sage [2007/01/22(月) 14:20:45 ]
>>43
論旨には賛同するが、メモリ帯域やレイテンシ計測は是非やって欲しいよ。
もちろん、そういう計測をそのままCPUの性能と思ってしまうのは論外だが、
「自分はこの処理をさせたいが、どのCPUがいいだろう?」と思ったときに
一般アプリの実性能ベンチだけではイマイチ検討のしようがない。

まあ、こういうのは最近の流行りじゃないんだろうねぇ。
確かに俺も、とりあえず帯域ベンチやっときましたみたいな記事を見ると、
色々誤解が広まりそうで嫌な感じはする。

47 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 17:20:36 ]
CPUの性能を調べることと素性を調べることの差って感じか

48 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 17:55:49 ]
周波数特性だけで盲目的に音質を語るな

49 名前:1 ◆.MeromIYCE mailto:sage [2007/01/22(月) 19:03:17 ]
>>47
そうだね。
あと、ベンチって結果から製品を選ぶのが目的と見せかけて
むしろ好奇心を満たすものという面が大きい。
性能より素性を知りたい人が少ないってのが寂しい。

>>48
そういう意味じゃ、CPUは速いのが正義だから、まだ簡単だ。
MP3とACCの比較とか、ありゃあ泥沼になるわけだ。

50 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 19:32:31 ]
マルチコアはいつから使えるコアになるのか?
www.ne.jp/asahi/comp/tarusan/main155.htm



51 名前:1 ◆.MeromIYCE mailto:sageハイパー・ブロッサム [2007/01/22(月) 20:12:17 ]
>>50
実際にどっちを買うべきかという話ではなくて、CPUメーカーがシングルコア路線を続けた方が
動画エンコしない一般ユーザーは(今までは)幸せだったんじゃないかという話だね。

結局、俺は使ったことがないからわからないんだよな。
それに、Pen4からCore2Duoに乗り換えた人は、
Coreアーキだから速いのか、デュアルコアだから速いのか、Pen4が遅かっただけなのか、
何が原因だか容易には知ることができないだろう。

俺は前から、体感したYonahの速さからデュアルコアをすすめる人の多くが、
CoreSoloでも同じ速さを感じるのではないかと思っていたが、これも確かめるのが難しい。

一方、Intelとすれば、シングルでも非常に高速なYonahやConroeで
デュアルコアをスタートさせたため、商売としては成功したと言えるだろう。
(いや、ネトバのデュアルはスタート以前というか・・・それでもエンコは強かった)

52 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 20:47:04 ]
>CPUメーカーがシングルコア路線を続けた方が動画エンコしない一般ユーザーは(今までは)幸せだったんじゃないかという話

IntelはメニーコアのマイルストーンとしてAdaptability(適応性)ってのを挙げてる。
シングルコア強化路線「だけ」ではムーアの法則に追随できないから、
まず前提としてシングルスレッド性能の強化があって、
その開発期間の隙間を埋めるのがコアの増加なんだと思う。
例えばDMTなんか65nmに微細化した今でも実装されてないし。

53 名前:1 ◆.MeromIYCE mailto:sage [2007/01/22(月) 21:27:29 ]
>>52
AdaptabilityやDMTの意味がわからないが、
前提となるコストと熱設計の中で最も性能の高いものを作るだけじゃないの?
開発期間の隙間と言っても、開発が済んだらコアを減らすわけでもないだろうし。

54 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 01:46:26 ]
Speculative MultiThreadingによってILPの壁を突き破れるようになるまで
シングル、マルチを無駄に意識させられるんだと思われ。
ILPを挙げるのに、これ以上トランジスタと電力に投資するのが非効率だから
TLPを意識しましょうっていうのは実際逃げだろうけど、
タイタニックじゃないけど、逃げなきゃいけない状況(それ以上の解が見つからない状況)なのに
意固地に頑張る必要もないはず。
メモリレイテンシの隠蔽の効果が、めいっぱい頑張ったシングルコアを超えずとも
良い勝負かつ、より低消費電力ならそっちが正解だと思う。

そういう点から、例え現状しょうがなく目指したとしても、
むこうに今よりもbetterな解があるならそれで良いジャマイカ派。

55 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 02:29:49 ]
SpMTが高めるのはMLPだ。
"ILPの壁を突き破る"という表現はおかしい。

56 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 04:35:11 ]
ILPという言葉に関しては、一つのスレッドに対して使う言葉なのかな。
並列性の高まるスレッドが別であることに対しては無効であるなら認識不足だった。
勉強になります。

ttp://ja.wikipedia.org/wiki/ILP
これ読む限りじゃ、投機実行もILPを高める手法の一つにはカウントされてる模様。

57 名前:1 ◆.MeromIYCE mailto:sage [2007/01/23(火) 16:12:57 ]
>>56
> Speculative MultiThreadingによってILPの壁を突き破れるようになる
の「ILPの壁」というのは、「シングルスレッド処理のIPC向上の壁」と言えばいいんじゃない?
ILPと言うと、メモリ以外の命令同士の依存関係を何とかするみたいな感じを受けるから。
#メモリアクセスもI(命令)だと言われればそうだけど。

俺は、メモリ以外のILPの問題の方が本質的だと思うので、ここではILPという言葉は使わない。
手動でプリフェッチすれば同等の性能が出るであろう技術には個人的に萌えない。

しかし、SpMTによって、手動でprefetch命令を入れたのに匹敵する効果が得られるなら、
これこそプログラマに優しい、「逃げない」技術なのかもしれないとも思った。

> 投機実行
それは、文脈からして条件分岐命令に対する投機実行のことだから、
投機的マルチスレッディングとは関係ないと思われる。

>>54
逃げなきゃいけない状況なら逃げないといけないね。
何事もバランス、中庸。
>>53ではああ言ったが、最後の2行は同意。単純に対応ソフトの普及促進にもなるし。

58 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 19:59:29 ]
AMD Rev.F Processor には、RDTSCPという命令が追加されているらしいな
ttp://www.atmarkit.co.jp/flinux/rensai/watch2006/watch07a.html

59 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 19:25:36 ]
>>27
journal.mycom.co.jp/articles/2005/07/14/yonah/002.html

Coppermine 1394万
Banias 2038万
Dothan 2676万
Yonah 1918+1918万

60 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/27(土) 21:07:17 ]
大腹自身の記事かよw



61 名前:デフォルトの名無しさん [2007/01/28(日) 00:54:47 ]
>>59
それは読んだよ。

しかし、大原氏の計算方式だと、、同じコアのキャッシュ容量違いで、コアトランジスタの数が変わる理由が説明できない。

たとえば、X2の512KBと、1MB版は
512KB 15380万個 1MB 22740万個だが
コアトランジスタの数は
512KB 5708万個 1MB 4859万個となり、900万個の差が説明できない。

あと、K8の場合、24KBのプリデコードビットもキャッシュ量として計算すべきじゃないか?とか思ったり

で、整合性を持たせた結果、個人的に”こんなものか”とはじき出した数字がこれくらい。
初代 K7 1360万
初代 K8 1770万
90nm K8 2660万
Rev.F K8 DualCore 2870万
Rev.F K8 SingleCore 2990万
Pentium3  773万
PentiumM (130nm) 1146万
PentiumM (90nm) 1246万
CoreDuo 1326万
Core2 Duo 2096万

過去のCPUの傾向から言うと
1バイトあたりのトランジスタ数はK8が約70個、PentiumMが約60個という傾向も見えてきた。
なかには40個台のもあるが、これでは6トランジスタでは作れないので、(6トランジスタで作るには、最低54個必要)、4トランジスタで作っているか、公式発表の数字がうそか、どちらかだろう。



62 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/28(日) 01:05:20 ]
Pentium Mは4トランジスタじゃなかったっけ

ってソースがこれだったwwww
journal.mycom.co.jp/special/2004/dothan/001.html

大原氏は記事書く際はちゃんとウラを取って欲しいな

63 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 16:02:55 ]
まあ大原もここのスレ住人も、ほとんどが確たるウラをとらずに好き
放題発言しているだけだけどな。50歩100歩じゃねーか?

ソースを張っても、そのソースが本当に正しいかウラが取れてるわけ
じゃない場合が多いし。ソースが大原記事なんてのがその典型w

64 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 17:27:01 ]
PenMが4トランジスタSRAMってのは間違い。
大原自身が訂正してたよ。
6トランジスタです。

65 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 17:29:57 ]
そろそろclock計測の話題に戻ろうよ。
ここは実験と実証のスレで、理屈と情報、妄想だけのスレなんて他所にたくさんあるわけだし。

66 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/28(日) 18:13:52 ]
素人が個人ブログや掲示板に自己満足記事投稿するのと
企業から金貰って大衆に読んで貰うための記事をかくのと
全然影響力・説得力が違うがね。

67 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 18:36:11 ]
クロック数計測してもTr数はわからんし。

――大事なのは素材ではなくその精神なのです。

68 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 18:49:20 ]
>>66
大企業メディアの情報の質、正確性、量、速度が
個人サイトの集合を上回っているとはいえなくなりつつある
ネット社会の現代、こういうライター稼業のなんてもう流行らないのかも。

しかし、それにしても国内のハードウエアレビューは質が低い。
AnandTechやTom's, INQなどは個人サイトが反映しても死ぬ気がしないんだけど、
国内ではそのような優良サイトがない。情報も一方的だし、ライターの記事は情報が少なく、遅い。

69 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 22:35:46 ]
この計算はあってるの?

www.anandtech.com/cpuchipsets/showdoc.aspx?i=2915&p=3
If we assume that 288M transistors (6T SRAM) will be used by the 6MB cache,
that leaves 122M transistors for L1 cache and the rest of the core.
Applying the same calculation to Conroe gives us 99M transistors left over,
meaning that there are roughly 23% more core-logic,
control and L1 transistors being used in Penryn than in Conroe.

70 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 23:07:10 ]
第191回 Core MicroArchitectureをもうすこし(15)
journal.mycom.co.jp/column/sopinion/191/



71 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 02:38:23 ]
>>70
なんかどうみても、これスレを読んでいて、且つこのスレに対して
言い訳してるようにしか読めないな。

大原氏には悪いけど。

72 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 02:50:03 ]
>>70
話の持っていきかたの無理矢理感が・・・・・

73 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/29(月) 02:59:02 ]
どんな下手な書き方してもIPC=3を出せるハードという意味なら永久に無理に決まってる。
ソフト側も「IPC=3を出せるコード」であることが前提。

74 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 03:14:52 ]
そこでEPIC

75 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/01/29(月) 03:45:05 ]
4IPCを狙ったアーキじゃないって論は云々はどっちかというと
この人の記事を読んで真に受けただけじゃなかろうか
www.ne.jp/asahi/comp/tarusan/main147.htm

別に ALU+Load, ALU, ALU, Store
もしくは ALU, ALU, ALU, Load or Store
でもx86換算4命令になるわけだがな。
インオーダで実行するわけじゃないんだから、3IPC以上出せないというのは
大きな間違いだよね。

従来のアーキテクチャではストア命令が来る度に、格納先が確定するまで
後続のロードとそれに依存する命令を発行できないという縛りがあるわけで、
レジスタが少なくロードストア頻度の高いx86でIPC=3を実現する上で大きな縛りになってる。
Core 2で導入されたMemory Disambiguationはそのへんを解決してる。

大原氏はCore 2で平均IPCを引き上げるためのその辺の機構を正当に見てない希ガス。

安藤壽茂氏なんかの記事はちゃんとそのへんも触れてる。

76 名前:Store forwarding mailto:sage [2007/01/29(月) 06:45:21 ]
キャッシュラインサイズが256Bというのもその辺考えてるのかもな。


77 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 17:55:37 ]
>>76
キャッシュラインサイズが256Bって何?

78 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:47:10 ]
P6,Netburstでは、unknown store-addressがあってもそれ以降の別のストアはアドレス計算できれば発行可能。
またunknown load-addressがあってもそれ以降の(アドレス計算可能な)ロードやストアは発行可能。
唯一できなかったパターンがunknown store-address以降の(アドレス計算可能な)ロード発行で、
これはCore 2で可能になった。

これに対してK7,K8では、unknown store-addresがあるとそれ以降のロードやストアは発行できない。
またunknown load-addressがあってもそれ以降のロードやストアを発行できない。
ロードやストアのAGU命令はインオーダー発行になっているようだ。
K8Lでロードのアウトオブオーダー発行が実装されるが、
どの程度のアウトオブオーダーなのか、またそれによってどの程度性能が向上するのか、
楽しみではある。

計測情報源:www.realworldtech.com/forums/index.cfm?action=detail&id=73407&threadid=73407&roomid=11

79 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 05:36:05 ]
今回のは何を言いたいのかさっぱい伝わってこないのだが…
これなら昔の電波の方がよっぽど読み応えがあったw

80 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 20:10:09 ]
pc.watch.impress.co.jp/docs/2007/0131/ubiq170.htm
これらのプロセッサでは、Coreマイクロアーキテクチャとしては初めて
Hyper-Threading Technology(HTテクノロジ)をサポートすることになる



81 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 22:45:47 ]
Penryn does not have HT
www.theinquirer.net/default.aspx?article=37316

82 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 02:07:56 ]
grape.astron.s.u-tokyo.ac.jp/~makino/journal/journal-2007-01.html#30
むーん、オールジャパンってそういう話か、というか、それはそうなん だけど、そんなので計算機作れるのかよ、、、

83 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 04:32:35 ]
Vista 64bit版も出た事だし、そろそろx86-64の話題が欲しいですね。
スレ違いか?

84 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/04(日) 15:21:39 ]
www.anandtech.com/cpuchipsets/showdoc.aspx?i=2915&p=3

Penrynはdual coreだ。そしてquad coreはただそれらを二つパッケージに封入しただけだ。
ただ、あとからシングルダイの製品が登場するかもしれない。
トランジスタ数が4億1000万なので、Penrynが6MBの共有L2 cacheを持つと予想できる。
Penrynのロジック部はConroeの進化形になるだろう。
キャッシュの増量分以上の機能的・性能的追加が期待できる。

2億8800万トランジスタが6T-SRAMの共有L2キャッシュに利用されているとすれば
残り1億2200万トランジスタはL1キャッシュとコアに費やされていることになる。
同じ計算をConroeに適用すると、9千9百万のトランジスタがコアとL1 cacheに割り当てられている。
これらの事実はPenrynではConroeと比較して23%多いトランジスタがL1 cache, 論理, 制御に
使用されるのを意味する。

追加される機能が不明である現時点でさえ、SSE4のサポートがそれらのトランジスタの
かなりの部分を占めると予想するだろう。またIntelが45nmでクロックを上げるので
Penrynが3GHzよりも高いクロックで登場するのを容易に予想できる。
Conroeのオーバークロック耐性を考えると、Penrynのクロックが非常に良いのを見ても
そんなに驚かないだろう。

85 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 22:47:06 ]
第192回 Core MicroArchitectureをもうすこし(16)
journal.mycom.co.jp/column/sopinion/192/

86 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/04(日) 22:57:40 ]

  ま た 2 ち ゃ ん ソ ー ス か



87 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 23:13:12 ]
> Penrynの世代でHyper-Threadingが搭載されるという。

( ´д)ヒソ(´д`)ヒソ(д` )ヒソ

88 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 00:31:26 ]
今回のこれは大原を弄るのは酷かもな…
ネタの正確性はともかく言ってること自体は間違ってないというか、同意できる
つーかYorkfieldの中身が変更されたと判明した後もガセネタ流し続けたCharlie Demerjianは死ねw

89 名前:デフォルトの名無しさん [2007/02/05(月) 01:17:24 ]
409 :名称未設定 :2007/02/02(金) 17:22:28 ID:I0BGTsMO0
journal.mycom.co.jp/news/2007/02/02/400.html
journal.mycom.co.jp/photo/news/2007/02/02/Photo10l.jpg

生ハムメロンワロスw

90 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 01:42:10 ]
つーか、なんか論点がずれてるというか、大雑把な主張になってきたな。
もともとIPC=3を技術的に細かく検証しているはずだった気がするが、
いつのまにか
「発熱や消費電力が上がる関係でIPC=3は無理です」
になってる。

なら最初からそう言って終わっとけば良かった気がするが…



91 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 01:59:27 ]
このシリーズはいつまで続くんじゃー!

92 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 02:05:06 ]
Core2がIPC=4じゃないとする主張の理由の中に
K8がIPC=3であると思わせる部分がある時点で
大原記事wwwとなるのは明白。

93 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 04:56:57 ]
元々はCoreMAとK8のIPC向上に対するアプローチの違いを言いたかったような気がするが。
細かく突っ込んでいって逆に全体像が見えなくなった感じだな。

94 名前:1 ◆.MeromIYCE mailto:sage実測しなきゃorz [2007/02/05(月) 19:11:14 ]
>>89
Meromと果物のmelonをかけてるのだろうか?

Penrynに、L2キャッシュ増量とSSE4実装以外の目立った改善があるのか気になるね。
遅くなるプリフィックスと64bitでのマクロフュージョン、シャッフル系SSE命令などが考えられる。
まあ、このうち1つも対応されない可能性も大きいとは思うが。
命令フェッチ幅を32byteにするのはいずれ必要だけど、Penrynの次のアーキ辺りが妥当か。

95 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 19:14:56 ]
Windows生ハム

96 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 22:51:33 ]
AMDの方は L3キャッシュだろ。もうどうなる事やら。

97 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 00:03:52 ]
トランジスタ増やしすぎたらいくら微細化してるとしても
クロック上げるのも難しいと思うのですよねぇ

98 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 02:25:15 ]
そういえばK8LのL3は面積からしてZ-RAMじゃないな
大原妄想乙でした

99 名前:1 ◆.MeromIYCE mailto:sage [2007/02/06(火) 07:04:51 ]
初代スレの398でやったdivのレイテンシ測定をするプログラムを作ったので、
色々なCPUで試してみてくださいまし。
www.wikihouse.com/x86clocker/index.php?plugin=attach&pcmd=open&file=divclk.zip&refer=Upload

Dothanでの結果は、こんな感じ。
除数大↓ 被除数大→
15 23 39 39 39 - - -
15 15 23 39 39 39 - -
15 15 23 23 39 39 39 -
15 15 23 23 39 39 39 39

>>95
Windows生ハムの遅さを高速なmelonプロセッサがおおまかカバー、
melonプロセッサがWindows生ハムの素晴らしい機能を引き出す、
ってか。
いや、Vistaの話じゃないですよ。

100 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 10:43:10 ]
Opteron146(Socket939 core=Venus)の結果をば。
除数大↓ 被除数大→
40 40 40 40 40 - - -
40 40 40 40 40 40 - -
40 40 40 40 40 40 40 -
40 40 40 40 40 40 40 40



101 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 11:53:40 ]
Pentium 4 630 Prescott 90 nm
CPUID F.4.3

除数大↓ 被除数大→
68 68 67 68 68 - - -
69 71 67 68 69 69 - -
69 69 69 69 70 68 70 -
69 69 70 73 71 71 69 69

102 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 13:10:50 ]
Pentium 4 631 CedarMill 65nm
CPUID F.6.5

除数大↓ 被除数大→
84 88 88 87 87 - - -
88 88 88 88 88 87 - -
87 88 87 87 87 87 88 -
87 87 87 87 88 87 88 88


103 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 13:42:24 ]
Athlon XP-M 1800+ Thoroughbred Low Power
除数大↓ 被除数大→
41 41 41 41 41 - - -
41 41 41 41 41 41 - -
41 41 41 41 41 41 41 -
41 41 41 41 41 41 41 41


K6-2 400MHz Chomper Extended
除数大↓ 被除数大→
19 19 19 19 19 - - -
19 19 19 19 19 19 - -
19 19 19 19 19 19 19 -
19 19 19 19 19 19 19 19


104 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 15:07:00 ]
動かしてみるに吝かではないのだけれど、CPUの情報もプログラムで拾って表示してくれると便利だと思う。
それと、Linux版が欲しいとか贅沢も言ってみる。

ってことで、手元のCeleron 2GHz(という以外判らない)
除数大↓ 被除数大→
51 51 51 51 51 - - -
51 51 51 51 51 51 - -
51 51 51 51 51 51 51 -
51 51 51 51 51 51 51 51


105 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 17:56:32 ]
Celeron 1.7GHz(Willamette-128K)

除数大↓ 被除数大→
50 50 50 50 50 - - - 
50 50 50 50 50 50 - - 
50 50 50 50 50 50 50 - 
50 50 50 50 50 50 50 50 

106 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 18:00:28 ]
Opteron144(Venus)だけど>>100と同じ結果

107 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 18:19:44 ]
Pentium II

除数大↓ 被除数大→
39 39 39 39 39 - - -
39 39 39 39 39 39 - -
39 39 39 39 39 39 39 -
39 39 39 39 39 39 39 39


108 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 18:23:44 ]
Conroe

除数大↓ 被除数大→
17 25 33 41 41 - - -
10 17 25 33 41 41 - -
10 10 17 25 41 41 41 -
10 10 10 17 41 41 41 41


109 名前:1 ◆.MeromIYCE mailto:sage [2007/02/06(火) 22:02:53 ]
みなさんありがとう。
小さい数の割り算だと速くなるのはPenM〜Core2だけみたいだね。
Pen4はステッピングが進むにつれて遅くなってくなあ。これがネトバだよな。好きだ。
K7/K8が、PenMの遅いところと同等程度。意外と速くないが、整数はこんなものか。
K6-2は低クロックとはいえさすが。今にして思えば味のある石だった。
PenIIがPenMと似た数字なのが面白い。PenMも地味にいい改良してるよなあ。

>>104
↓こういうのを表示できるようにして、後でアップします。
GenuineIntel Family:6 Model:D Stepping:6

Linuxは誰かにコンパイルしてもらいたいが、それにしてもVC++のインラインアセンブラはまずい。
アセンブラ部をNASM用にすることは可能だと思うので、ちょっと挑戦してみる。

>>108
あれ!?ConroeのrdtscってFSBクロックとか聞いたけどちゃんと測れるのか。
PenMの改善点を洗練させた感じだ。
基本的に被除数が32bitに収まる場合を高速化してるみたいだな。

Yonahのときに、割り算が速くなるという話があったが、Core2も同じか?
持ってる人Yonahの測定お願いします。

110 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:05:10 ]
YonahとBaniasの計測がほしいね。それで完璧。



111 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/06(火) 22:41:06 ]
GCCなら-masm=intelオプションでほぼそのまんま移植できた希ガス


112 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/06(火) 22:42:54 ]
ほれPentium M(Banias)

除数大↓ 被除数大→
39 39 39 39 39 - - -
39 39 39 39 39 39 - -
39 39 39 39 39 39 39 -
39 39 39 39 39 39 39 39

113 名前:1 ◆.MeromIYCE mailto:sage [2007/02/06(火) 22:50:46 ]
>>112
マジで!!!??

114 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:52:44 ]
今までの計測結果を見ると、
Banias->Dothanで大きな除算の改良が入ったように見える。
除数によって大きくlatencyが変化しているのはConroeのみなので、
もしかすると、Yonahから除数側の改良が入ったのかも知れず。
Yonahの計測結果マダー??

115 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 23:13:16 ]
いや、除数側の改良もDothanからか。
Yonahでの発表は厳密にはウソってことでFA?

116 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 23:19:49 ]
AMDFAM10について考察希望
pc9.2ch.net/test/read.cgi/jisaku/1167003467/557,558,606-609,644-646

最新版はsvnで
svn co svn://gcc.gnu.org/svn/gcc/trunk/gcc/config/i386


117 名前:1 ◆.MeromIYCE mailto:sage [2007/02/06(火) 23:26:08 ]
>>99の測定は、下のコードと、そこからdiv ebxを抜かしたコードとの
差をdiv命令のレイテンシとしている。
lp:
add eax,xa ; xa,xdはメモリ
mov edx,xd ; 被除数は毎回破壊されるので毎回読み込む
div ebx
mov esi,eax ; レジスタをクリアして、かつ依存関係を保たせるあがき
neg eax
add eax,esi
dec ecx
jnz lp

いちおうPenMでは正しい結果を出してると思うけど(以前の測定でも散々追試してるし)、
ループ処理がそれなりに重いのでCPUによっては微妙かもしれないと不安になってきた。
もう少しいい処理・わかりやすいループのアイデアある?
まず、ループをアンロールというのはやろうと思う。

118 名前:1 ◆.MeromIYCE mailto:sage [2007/02/06(火) 23:50:27 ]
>>115
いや、Yonahの発表からすると、Yonahの時点でCore2の速さだったんじゃない?
どうも新しいCPUはレイテンシが微増する傾向があるみたいなので、
Yonah(PenMと同じ世代)がCore2(新しい)より速いということも考えられる。
>>108を見ると、PenMを改良したものからピッタリ2clk遅くなっている感じだ。

>>116
コンパイラの対応からK8Lの特徴を読み取ろうというのか。
costを見ればいいのかな。コンパイラに必要な情報というのはいい情報かも。。

119 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 01:43:41 ]
Merom T5600
除数大↓ 被除数大→
17 25 33 41 41 - - -
10 17 25 33 41 41 - -
10 10 17 25 41 41 41 -
10 10 10 17 41 41 41 41

Pentium M 1.40GHz
除数大↓ 被除数大→
39 39 39 39 39 - - -
39 39 39 39 39 39 - -
39 39 39 39 39 39 39 -
39 39 39 39 39 39 39 39

Athlon 64 X2 4800
除数大↓ 被除数大→
40 40 40 40 40 - - -
40 40 40 40 40 40 - -
40 40 40 40 40 40 40 -
40 40 40 40 40 40 40 40

Sempron 3000+(Socket A)
除数大↓ 被除数大→
41 41 41 41 41 - - -
41 41 41 41 41 41 - -
41 41 41 41 41 41 41 -
41 41 41 41 41 41 41 41


120 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 06:02:45 ]
>>109
> あれ!?ConroeのrdtscってFSBクロックとか聞いたけどちゃんと測れるのか。

C1E等でクロック倍率が下がっている時でも
FSB1カウントにつきTSCは最高クロック倍率(
E6600なら9)ずつカウントアップする仕様みたい。
どんな時でもrdtscを2回実行すると、その差は必ず
(E6600の場合)9の倍数になる。

2コアでほぼ同時にrdtscを実行すると2コアともほぼ近い値が返ってきたが、
MBのBIOSをアップデートしたら、2コアで全く異なる値が返るようになってしまった。
その後、WinXPのデュアルコアパッチを入れたら2コアでほぼ近い値が返るようになった。



121 名前:1 ◆.MeromIYCE mailto:sage [2007/02/07(水) 08:09:24 ]
>>120
なるほど!数字としては今までと同じで、精度がコアの倍率分だけ悪くなっているのか。
2コアで同じ時計を持てるのは嬉しいが、やはりクロック単位の測定にはちょっと痛いな。

カウンタはどこにあるのだろう?
マザーボードのBIOSで影響するということはCPUの外だとも思えるが、
それだと2コアで異なる値が返ることがあるという現象に説明がつかない。
カウンタはコア毎にあって、CPUが起動するときに合わせるのかな?

>>99
CPUIDを表示するのと、>>117で言ったアンロール(2回)をやったのをアップし直した。
アドレスは同じ。

122 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 08:39:01 ]
Core Duo T2400 1.83GHz
除数大↓ 被除数大→
14 22 30 38 38 - - -
7 14 22 30 38 38 - -
7 7 14 22 38 38 38 -
7 7 7 14 38 38 38 38


123 名前:122 mailto:sage [2007/02/07(水) 08:45:22 ]
更新されてたの気づかなかった
同じ環境

GenuineIntel Family:8 Model:E Stepping:6
除数大↓ 被除数大→
15 23 31 39 39 - - -
8 15 23 31 39 39 - -
8 8 15 23 39 39 39 -
8 8 8 15 39 39 39 39


124 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 11:35:52 ]
>>100を本日アップ分で再計測

AuthenticAMD Family:1 Model:7 Stepping:F
除数大↓ 被除数大→
39 39 39 39 39 - - -
39 39 39 39 39 39 - -
39 39 39 39 39 39 39 -
39 39 39 39 39 39 39 39

125 名前:・∀・)っ-{}@{}@{}@ ◆DanGorION6 mailto:sage [2007/02/07(水) 13:10:10 ]
ソース読んだ
FamilyとStepping逆じゃね?

126 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 13:18:45 ]
Core 2 Duo E6300

GenuineIntel Family:6 Model:F Stepping:6
除数大↓ 被除数大→
20 30 39 48 48 - - -
12 20 30 39 48 48 - -
12 12 20 30 48 48 48 -
12 12 12 20 48 48 48 48


127 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 15:33:54 ]
>>126 この結果ってCPUのクロック倍率が落ちた状態じゃないかな?
EISTやC1Eで自動的にクロック倍率が落ちるので、
FSB同期のrdtscでクロック数を計測するのはいろいろと面倒かも。

128 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 17:56:51 ]
Merom T5600
GenuineIntel Family:6 Model:F Stepping:6
除数大↓ 被除数大→
18 26 34 42 42 - - -
11 18 26 34 42 42 - -
11 11 18 26 42 42 42 -
11 11 11 18 42 42 42 42

PentiumM 1.4GHz
GenuineIntel Family:5 Model:9 Stepping:6
除数大↓ 被除数大→
39 39 39 39 39 - - -
39 39 39 39 39 39 - -
39 39 39 39 39 39 39 -
39 39 39 39 39 39 39 39

Athlon 64 X2 4800
AuthenticAMD Family:2 Model:3 Stepping:F
除数大↓ 被除数大→
39 39 39 39 39 - - -
39 39 39 39 39 39 - -
39 39 39 39 39 39 39 -
39 39 39 39 39 39 39 39

Sempron 3000+
AuthenticAMD Family:0 Model:A Stepping:6
除数大↓ 被除数大→
39 39 39 39 39 - - -
39 39 39 39 39 39 - -
39 39 39 39 39 39 39 -
39 39 39 39 39 39 39 39


129 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 21:51:56 ]
>>103再計測。やっぱFamilyとStepping逆だね。
AuthenticAMD Family:6 Model:8 Stepping:1
除数大↓ 被除数大→
39 39 39 39 39 - - -
39 39 39 39 39 39 - -
39 39 39 39 39 39 39 -
39 39 39 39 39 39 39 39

AuthenticAMD Family:5 Model:8 Stepping:C
除数大↓ 被除数大→
18 18 18 18 18 - - -
18 18 18 18 18 18 - -
18 18 18 18 18 18 18 -
18 18 18 18 18 18 18 18

130 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 22:33:58 ]
GenuineIntel Family:6 Model:8 Stepping:6
除数大↓ 被除数大→
38 38 38 38 38 - - -
38 38 38 38 38 38 - -
38 38 38 38 38 38 38 -
38 38 38 38 38 38 38 38




131 名前:1 ◆.MeromIYCE mailto:sage [2007/02/08(木) 00:02:01 ]
>>123
二度手間ごめん。しかも結果違うorz
おそらく>123の方が正解。
これで、Core2のdivはYonahを2clk遅くしたものだとわかった。
Banias→荒削りのDothan→完成形のYonah→Meromの変化が面白い。

>>124>>129
これも結果が異なるのか。やはり測定法に問題ありだな。
>>123>>130とは逆にクロック数が減っているが、ALUパワーの差、かな。
K6-2も(当時としては)ALUが強い。対してP6系は総合的に速い割にALUは弱い。
2つのループの差からクロック数を求めているため、div以外の特徴も混ざってしまう。。

>>125
うあ〜!俺のDothanはFamilyとSteppingが同じだから気がつかなかったよ。
指摘サンクス。後でこっそり修正しておきます。

>>127
確かに>126は2割、>128は1割だけクロック数が増えているな。
CPUのクロックが落ちても(今までのCPUと違って)rdtscのクロックは変わらないということか。
ただ、誤差が1〜2割というのはSpeedStepにしては少ない感じがする。
ある程度のタイミングで補正はしてくるのか?

測定した人たちへ:毎度ヘボプログラムでごめんなさい。

132 名前:1 ◆.MeromIYCE mailto:sage [2007/02/08(木) 00:40:35 ]
>>128のMeromってよく見たら>>108の1clk増しじゃん。。

ここ見たらCore2のレイテンシは18〜42clk(>>128と同じ)と書いてあるのだが、
www.agner.org/optimize/
こっちを見ると17clk(>>108と同じ)と書いてあり、
aceshardware.com/forums/read_post.jsp?id=120057200&forumid=1
マジでどっちが正しいのかわからない。

133 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 02:58:10 ]
>>126-127 >>131
EIST と C1E を切って測定してみました。

GenuineIntel Family:6 Model:F Stepping:6
除数大↓ 被除数大→
18 26 34 42 42 - - -
11 18 26 34 42 42 - -
11 11 18 26 42 42 42 -
11 11 11 18 42 42 42 42


134 名前:1 ◆.MeromIYCE mailto:sage [2007/02/08(木) 20:40:15 ]
>>133
順当な結果ですね。

単純にedx=0, eax=1, ebx=1としてdiv ebxを連続実行すれば
1÷1のレイテンシが求まるから、それを基準にすればいいかな。
でも、大体結果は出ているし、またバグ出すと嫌なので
ここらで手を引きます。


後藤弘茂によると、ノート用Core 2 ExtremeはIDAナシのようだ。
こういうところからIDAの思想が若干見えるか?

135 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/08(木) 21:32:04 ]
YorkfieldでHTが有効ってことになると、Nehalemがトレースキャッシュ型
アーキテクチャであるという仮説の有力性は揺らぐね。
トレースキャッシュはHTの必須条件だと思ってたが違うってことになるわけだし。

フェッチ・プリデコード帯域を倍にして交互にデコードすれば従来アーキでもいける?

136 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 01:18:43 ]
SMTの実装にトレースキャッシュが必須ってこたないでしょ。
Power5なんかはx86と比べるとデコーダ負荷が低いとはいえ、普通のキャッシュのままSMTやってるし。

137 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 01:55:15 ]
>>135
命令の切り出しの方がネックじゃなかったっけ?

138 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 01:59:28 ]
>>134
多分 HTT有効だと一部のアプリの性能が低下する ってのと同じ問題が起きるよなあ
厳密には IDAがあるのに上手く活かされずシングルスレッド性能が向上しない だけど

至極真っ当且つナイスな技術なのにソフトウェアが台無しにするという。。。
ユーザーがHALT命令を制御できればなあー
将来的にはハイエンドサーバーみたいにCPUパーティションの動的な変更もできる様になると尚良し

139 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 13:49:18 ]
>>138
HLTをユーザモードに解放するメリットは何?
計測目的ならDOSとかRING0で計測すればいいだけだし、
OSスケジューラの都合ならHLTでコアを止めるよりもsleepしてOSに任せたほうがいいし。

140 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 04:32:58 ]
ttp://journal.mycom.co.jp/column/sopinion/193/




141 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 07:17:18 ]
PentiumってOutOfOrderだったっけ?

142 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 19:30:56 ]
P5はインオーダー

143 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 20:51:15 ]
pc.watch.impress.co.jp/docs/2005/1130/kaigai228.htm
>P5では、5ステージのパイプラインで、最大2命令を並列実行していた。
>次のP6では、最大3個のx86命令をuOPsに変換し、アウトオブオーダ実行。
P5でスーパースカラを初実装。
P6でアウトオブオーダを初実装。
だな。

つーかそもそもスーパースカラとアウトオブオーダは別系統の技術だった
と思うけど(まあセットで実装されることが多いが)、大原は混同してないか?

>筆者のテクニカルライターとしての鼎の軽重を問われかねない。
駄目じゃんw

144 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 00:53:54 ]
in-order発行のtypoだと信じておこうw

つか、out-of-order発行(in-order完了)じゃ
いわゆるふつーのout-of-orderじゃん

145 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 06:08:15 ]
out-of-order終了w
カチャカチャな動作をする予想w

146 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 06:41:12 ]
>鼎の軽重
怪電波を飛ばすのが生業のような方々にそんな物問いませんからwww

147 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 23:33:25 ]
連載オワタよ

148 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 23:41:28 ]
第194回 Core MicroArchitectureをもうすこし(18)
journal.mycom.co.jp/column/sopinion/194/

長かったな…

149 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/18(日) 00:06:52 ]
↓次のネタ大胆予想


150 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/18(日) 00:14:42 ]
「Core Microarchitectureをさらにもう少し」



addの例はおかしいだろ。
ニーモニックからバイトコードへの変換はアセンブラがやるもので
この辺のデコードだけなら楽にこなせるはずだ。
プレフィックスも少ないし。
このへんだけ見ればx86ってコンパクトだなと思う。


むしろ2〜3バイトopcodeまわりがテラカオス



151 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 00:30:46 ]
>>149
今回のことで懲りたので、たぶん非PCの話題とか、誰にも突っ込まれ
ない(というか誰も興味ない)話題でお茶を濁すと見た。

152 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 00:33:28 ]
> Pentium Proの世代は、命令の発行とその実行まではOut-of-Orderながら、
> 命令の完了(実行結果の書き戻し)はIn-Orderという構成で、
> これが完全にOut-of-OrderになるのはNetBurst Architecture(や、
> P6をベースにアーキテクチャを作り直したBanias Architecture)からになるのだが、

NetBurstやBaniasがOut-of-Order完了な訳ないじゃん。

153 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 00:37:57 ]
ハイパースレッディングは考え様によってはOut-of-Order完了だな

154 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 00:42:44 ]
Out-Of-Order完了www

155 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 14:54:15 ]
>>153
NetBurstはそれでもいいけど、Baniasは違うよなあ

156 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 15:18:22 ]
もうなんか大原って中途半端な知識で言い切るんだよね。だから色々
突っ込まれる。IPC=3だって、「他の可能性もあるが俺はこう思う」と
最初から言えばそこまで突っ込まれないのに、言い切ってしまう。
で、後から「実は他の可能性もあるし、俺はそれも知っていた」と言い訳
するんだよなw

一度初心に戻って勉強しなおせよ。

157 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 16:39:17 ]
初心に戻ろうと思い、裸になって学校へ行こうと電車に乗ったら捕まりました。

158 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 20:28:54 ]
>>156
それがライターの仕事
後藤や本田や(中略)安藤だって(以下略
ブログとセカンドオピニオンで補足するだけマシじゃね

159 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 20:35:53 ]
www.amd.com/jp-ja/Processors/TechnicalResources/0,,30_182_861_1036~1667,00.html

> Q: What are some of the advanced features of the AMD-K5 Microprocessor?
>
> A: ・4-issue core with full out-of-order execution and completion

この辺を見て「Out-of-Order完了」という言葉を使っているのかな。
AMDは、内部RISC命令の実行結果をROBに書き込んだ時点で
内部RISC命令の実行完了 という意味で書いているのだろうが、
そういう意味だったらPentium ProもOut-of-Order完了だし。

160 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 20:57:34 ]
>>158
それでも後藤と大原じゃ、大きく違うがな。

二人が同じに見えるなら、それはそれで見る目が無いよ。



161 名前:158 mailto:sage [2007/02/19(月) 00:48:00 ]
何だか、何を書いても叩かれそうだからライターの格付けはしないが。
素人にわかるように説明するのに「〜かも知れない」ばっか使うわけにはいかないよねって話。
でも、あの特集記事が叩かれるのもわかるんだよね。
「K8はそんなに悪くない。むしろよく見える。」な結論ありき丸出しの記事だったもん。
IPCなんて言葉は使わずに>>38 >>41 >>43-44みたいなことを適当に書いておけば良かった。

162 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 00:26:13 ]
まぁ、でもネタを提供してくれる分にはとてもありがたく思ってるよ。

163 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 00:47:19 ]
>> 162
それ大原のこのスレに対する台詞でしょ??

164 名前:1 ◆.MeromIYCE mailto:sage [2007/02/20(火) 17:19:34 ]
>>148
結局、Core2のIPCが3だという主張以外はまっとうで普通な内容だったな。
本来ならば、この記事を肴にしてSSE4やそれ以降の命令の実装についてとか
32byteフェッチ3命令パイプのK8Lと16byteフェッチ4命令パイプのCore2の比較とか
色々このスレで議論できたはずなのに、ちょっと惜しい感じだ。
プロならちゃんとやれとも思うが、色々事情があってこういう格好になってしまったのだろう。

数年前と比べて、CPUの話題が減ってきてるような気がするんだよなあ・・・。
時代の流れか、それとも単に俺が手持ちのPentiumMに飽きてきただけか。

165 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 18:41:07 ]
みっなおそう、みなおそう、CPUを見直そう
Core2Duo機に買い替えろ
みっつもりっだみつもりだ

166 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 19:49:18 ]
4gamerの第5回目以降の下書きメモ帳代わりにmycomを利用した大原たん

さっさと4亀連載の続き書けや(゚ロ゚)モルァ!!・・・・・書いてくださいお願いしますm(_ _)m

167 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 00:31:05 ]
4gamerの記事は比較的よくできているね。
あれでゲームはやってもCPUに詳しくなかった層が入るのにはちょうどよいだろう。

168 名前:デフォルトの名無しさん [2007/02/21(水) 09:27:01 ]
【ネガティブ派遣根性チェック】

3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。

□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社に仕事を持ち帰れるように言われるとムカつく
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなく自分のプライベートについても指示して欲しい
□自分の月額金額を知らないのは当然だ
□派遣先社員より自分の生涯収入が低いのは当然だ
□派遣先とに尻尾を振り、いつまでも派遣を続けることが大切だ


169 名前:デフォルトの名無しさん [2007/02/24(土) 00:32:24 ]


170 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 00:22:15 ]
セカンド・オピニオン、新シリーズ来ました。
第195回 OS小論:OSの構造をもう少し考えてみる(1)
journal.mycom.co.jp/column/sopinion/195/

「もう少し」とついているのが不安をかきたてる…



171 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 00:31:44 ]
「もうすこし」ではないから安心しろ。

172 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 05:16:52 ]
>誰を恨むわけにもいかないんですが
このスレの住人恨む気満々だなwww
ここの住人はサイレントマジョリティーではないはずだが、考慮されている様子。

173 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 09:26:09 ]
大原先生ごめんなさいw

174 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 12:33:04 ]
全部>>173が悪いんです!!

175 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 21:27:43 ]
ぬこ成分だけで全て許してしまえる

いや記事にも期待してるけどスレ違いだな

176 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 22:34:09 ]
iいろんな意味で役に立ってるから今度ファンレター送るね。
つかHansと知り合いつのが改めて驚き。

177 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 22:15:13 ]
Barcelona Architecture: AMD on the Counterattack
www.anandtech.com/cpuchipsets/showdoc.aspx?i=2939&p=4

178 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 21:38:33 ]
Hammer-Infoで紹介されていたリンクをメモ

レジスタ間接分岐の高速化手法 (PDF)
www.mtl.t.u-tokyo.ac.jp/publications/paper/2005/J05-thesis-toyoshim.pdf

179 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 23:53:07 ]
生活支援てw


180 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 02:27:17 ]
> 他所様の出版社から出ている内容をここで引用するわけにもいきませんので

著作権 (著作者が云々、文化が云々という建前で出版社やレコード会社の利益を最大化するための道具であり既得権益)
を、本音の方の意味で遵守すると正当な引用すらできなくなっちゃうのか



181 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:24:37 ]
439 :デフォルトの名無しさん :2007/03/07(水) 01:18:11
狂ったようにx86命令の所要クロックを計測するスレ Part3
pc11.2ch.net/test/read.cgi/tech/1168399966/

と紹介されたが、スレタイに「狂ったように」が付いてなくて失望した

182 名前:デフォルトの名無しさん [2007/03/07(水) 16:07:02 ]
そこは絶望しないと

183 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 22:01:10 ]
これか

【激遅】AppleGCC【絶望】
pc11.2ch.net/test/read.cgi/tech/1173267844/l10

184 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 01:05:22 ]
>Intelは80386以降で、4レベルのProtection Ringという概念を導入した(Photo01)。
80286以降だろ。大丈夫か?

185 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 01:18:51 ]
相変わらずツッコミきっつー

186 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 07:56:57 ]
VAX/VMS が仮想記憶をインプリメントした初めてのOSだとか [1]、
4 level ring が VAX 由来だとか [2]、ほかにも色々間違っとるぞ。

[1] Wikipedia によると商用では 1961年の Burroughs B5000 が最初らしい。
研究用だと、さらに数年さかのぼる。
IBM の汎用機も VAX/VMS よりずっと以前に仮想記憶をサポートしてるはず。
VAX は 1970年代終りなので、ずっとずっと新しい。
[2] よく知らんが、たぶん MULTICS 由来。


187 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 12:59:43 ]
80386の仮想記憶ってほとんどMULTICSそのままだよな。

188 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 19:08:02 ]
80386は仮想記憶やページングのアーキテクチャだけは割と新しいからな

189 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 02:37:09 ]
>>188
話の流れを分かってない。
MULTICS由来ってのは286から導入されたセグメンテーション機構の話。

386から入ったページング機構はインテルにしては(?)素直で作りで良い
んだが、TLBにASIDがないのがちと古い感じ。

190 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 01:03:57 ]
流れ断ち切るようでスマソ。質問。

VCExpressコンパイラでローカル変数として配列等大量にオブジェクトを定義している関数内部で

関数入口:sub esp, ローカル変数のサイズ分
関数出口:add esp, ローカル変数のサイズ分

と展開されたコードがあります。
このコードが有る場合、パフォーマンス大幅に落ちるから気をつけてくださいな、と上司から言われたんですが、
何処に根拠があるのかサッパリで悩んでます。
パフォーマンスは落ちるものなのでしょうか

自分なりの答え:
スタック領域使うからレジスタで演算するよりも速度が落ちる?



191 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 01:25:39 ]
>>190
まずは実測してくれまいか?

192 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 01:42:35 ]
スタックの先頭は通常キャッシュにのってるから速いが
沢山スタックを消費すると追いやられる
そのことを言ってるんだと思う

メモリ沢山使う&アクセス頻度が低い
ならば、メモリはヒープからとったほうがいいかもしれない。

あ、ちゃんと実測してね。思い込みはダンゴの元。

193 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/03/12(月) 01:48:04 ]
スタックを大量に使うこと自体はそんなに問題じゃないと思う
push. pop大量にするわけじゃあるまいし。

194 名前:・∀・)っ-○◎● mailto:sage [2007/03/12(月) 01:50:13 ]
>>192
ヒープに載っけても結局同じだけメモリ食うんだがw

まだ直線的に並んでたほうがassociativityの制約に引っかかりにくいw
机上論だがw

195 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 02:01:11 ]
call by value -> call by reference

196 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 02:05:51 ]
ここは計測スレなのに最近自作○C板のCPUスレと同種の話ばっかりじゃない?
自作○C板は自作○C板で同種のスレがたくさんある。もっと独自路線を出してほしい。
つか、どこでも読める理論話のぼり返しはほどほどにしてひたすら計測しろよと。

197 名前:・∀・)っ-○◎● mailto:sage [2007/03/12(月) 02:18:37 ]
しかしAgner氏の計測を覆すような発見もそうそう無いんだよな

命令レベルじゃなくて何かのプログラムコードレベルで
ボトルネックを分析するとか?

198 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 02:25:27 ]
マジでダンゴ来た・・・もうオワリだ・・・

199 名前:・∀・)っ-○◎● mailto:sage [2007/03/12(月) 02:44:07 ]
最初からいるだろ
x86じゃないけどCellのスループット計測結果なら出せるよ


200 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 03:06:29 ]
早く貼れ



201 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 03:07:19 ]
いや、やっぱり貼るな
CELLネタは荒れる

202 名前:・∀・)っ-○◎● mailto:sage [2007/03/12(月) 03:08:55 ]
>>1が許可したら貼る。
てかCellスレあるし

203 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 14:43:18 ]
トリップ外すな、ハゲ。

204 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 14:55:40 ]
○◎●であぼーんは基本だろ?

205 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 19:38:51 ]
homepage1.nifty.com/herumi/diary/0703.html#6

206 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 20:50:00 ]
いつもの
journal.mycom.co.jp/column/sopinion/197/

と、65nmAthlonのL2キャッシュレイテンシについての考察
journal.mycom.co.jp/special/2007/x2-65nm/

207 名前:1 ◆.MeromIYCE mailto:sage [2007/03/13(火) 12:23:41 ]
>>181
実際狂ったように測定していなくてゴメン。

>>190
アセンブラレベルでは、sub esp, ローカル変数のサイズ分 は ただの引き算だから、
1clkで終わってしまう簡単な処理だ。
でも、マルチタスクOSで動かす以上、Windows側のメモリ管理で時間がかかるとか?
今時間ないので後で実測したい。

>>202
256KBのLSのレイテンシとピーク帯域、FP_SIMDのレイテンシ・スループットを希望。
x86じゃないけど、自分で実測したデータなら誰も文句言わんでしょ。

>>206
レイテンシ測定はここ。
journal.mycom.co.jp/special/2007/x2-65nm/013.html

何で生データを載せてくれないだ。くそっ。意味わからんグラフばっか載せやがって・・・。
キャッシュラインサイズの64byte以下のstrideで速くなるのは当然として、
それ以上のstrideで変化しているのは単にCPUの機嫌が悪かっただけと予想。
内部構造が変わったかどうかはわからないが、レイテンシが増えたのは確実だ。

208 名前:1 ◆.MeromIYCE mailto:sage [2007/03/13(火) 12:51:01 ]
コンパイラの出力を見て初めて知ったこと。
or ecx, -1 (83 c9 ff) という3byteでecxに32bitの-1を入れることができる。
1byteの-1は32bitに符号拡張される。
まあ、xor ecx,-1 はnot ecx でいいし、高速化に使う機会はないかな。

>>196
ネタ切れ、というのが主な原因なんだけど、
実際クロック測定は、何を測定するか考えて、実際に測定して、考察して書き込む、
という手順を踏まなければならない。
そして、そのそれぞれが、思った以上にめんどくさい/難しい。

そこで、何を測定するかだけでも思いついたら書いてくれ、って前から言ってるけど。。
あと、cpu-zのレイテンシ測定の全CPU分を集結させたいと思っている。
このスレでも何度か上がってるけど、いざ90nmK8のデータが欲しいと思っても、
どこにあったかわからなかったので。

www.wikihouse.com/x86clocker/index.php?plugin=attach&pcmd=open&file=cpuz.zip&refer=Upload
とりあえずここに、手元にあった分だけ固めてアップしておく。
あとでちゃんと整形して上げます。

209 名前:・∀・)っ-○◎● mailto:sage [2007/03/13(火) 19:32:13 ]
スループットなら倍精度以外はほとんど1だよ。

SPEのLSはレイテンシ6だよ。Coppermineがレイテンシ6だったから
今のCore 2も、独立キャッシュにしてL2のエントリ数削れば
それくらいいけるんじゃないのって思うと萎える。
んなわけで、レジスタが128本もあるから、必要なデータは展開して
しまった方がいいわけだ。

AltiVecでVSIUパス命令に相当する整数演算命令はレイテンシ2、
あとの命令(VCIU、VPERM相当)は大体レイテンシ4。
あと、浮動小数はfma(積和算)で6、faddで4。

逆数を求めるfrestなんかも4で処理出来、fmaと組み合わせれば
レイテンシ10・スループット2で除算ができてしまうんだけど、
estimate(推定値)というぐらいだから精度は絶望的に低いと
思ってくださいな。
それなりに精度の高い除算をやろうと思えばソフトでやるしかない。
平方根も同じく。

210 名前:・∀・)っ-○◎● mailto:sage [2007/03/13(火) 19:48:30 ]
LS間の「ピーク帯域」に関しては、ロード・ストアはoddパイプで処理されるから
1クロックに1命令。

ロードかストアを発行×3.2GHzだから51.2GB/secでしょう
DMA転送中はどうだかまだ調べてない


SPE-SPEのDMA転送帯域とかならこのへん
www-128.ibm.com/developerworks/power/library/pa-cellperf/



211 名前:・∀・)っ-○◎● mailto:sage [2007/03/13(火) 19:56:22 ]
てか、IBMの図におもっきし51.2GBって書いてあるじゃんww

212 名前:・∀・)っ-○◎● mailto:sage [2007/03/13(火) 20:01:29 ]
レジスタが128本だから1レジスタ指定に7ビット。
4オペランド命令で28ビットも使ってるからOpcodeは4ビット。
(上1ビットはopcodeサイズの区別に使うから実質3ビット)

そういえばPentium 4もμOPsレベルではレジスタ数は128だか256だかでしたな。

213 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 20:01:51 ]
80286の間違いは訂正なしか。だめだなこりゃ。

214 名前:デフォルトの名無しさん mailto:sage 行列積の人です [2007/03/13(火) 20:45:51 ]
精度の高い除算のやり方はは3DNow/SSEと同じ。
doubleも命令の組み合わせで一通り出来るけどスループットとレイテンシを考えると…。

それでもこれだけ割り切ったプロセッサでdoubleが扱えるだけ幸せ。

215 名前:・∀・)っ-○◎● mailto:sage [2007/03/13(火) 23:09:18 ]
なんつーか、普通のプロセッサ用に書いたコードがことごとく使えない
エントリポイントのmain型さえ置き換えればどうにかなると思ってたら
1から書き直しなんだよね。

それでもprintfなどがそのまま使える分マシ
(PPEで動くヘルパースレッド向けにDMA転送して処理してる?)

216 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 01:37:23 ]
spe_printf()は遅い悪寒。
#って、スレ違いだがね。

217 名前:・∀・)っ-○◎● mailto:sage [2007/03/16(金) 23:26:50 ]
ネタがないな

218 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 23:48:45 ]
暇ならXLATの所要クロックについて語ってくれ。
とか適当な事を言ってみる。

219 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 04:43:37 ]
x86_64命令の所要クロック計測まだー

220 名前:・∀・)っ-○◎● mailto:sage [2007/03/17(土) 05:08:51 ]
同じじゃねーかwwww(NetBurst以外



221 名前:1 ◆.MeromIYCE mailto:sage [2007/03/18(日) 21:50:08 ]
>>209
レスが遅れてすまん。
まあ、大体素直な感じだな。

x86のキャッシュはマルチタスクに対応するための複雑なメモリ管理や
L1L2(ものによってはL3も)の多重階層で、かなりレイテンシが増えているよな。
それを考えればCellのLSは順当な性能だ。

x86にLSを載せたらどうだろう。
256KBでレイテンシ6、128bit/clkという性能で、更にL1L2キャッシュは今まで通りとする。
LSは新SSE命令で明示的に使う必要があるが、使えば効果は大きいと思う。
(L1とLSの両方に高速な配線をつなぐのは技術的に困難か?)

レジスタは128bit*128で2KBか。
こんなにあると、コーディングにまた別の感覚が必要になるなあ。


>>219
実際問題、普通にパソコン買うと32bitのWindowsVistaになっちゃうんだよね。
64bitの計測ができるのは、だいぶ先の話になりそうだ・・・。

222 名前:・∀・)っ-○◎● mailto:sage [2007/03/18(日) 22:06:52 ]
帯域がもう少し広ければトレースキャッシュくらいに使えるんじゃないかなと思ったり。

223 名前:・∀・)っ-○◎● mailto:sage [2007/03/19(月) 02:01:23 ]
ロード・ストア命令が16バイト単位でしか読めないから、多段階ルックアップテーブル
作ろうと思ったら各要素16バイトでパディングしないといけない。
ストアがさらに厄介で、含まれる16バイト領域をロードしてからマスクして値を重ね合わせ
格納する。
16バイト境界をまたがってた日なんか目も当てられませんな。

スカラなプロセッサ由来でスカラ−ベクタの交換も柔軟にこなせるx86+SSEの
使いやすさを認識するためにも使ってみるべきプロセッサですな。

224 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 02:57:39 ]
スレ違いだし今更気づくような内容でもないだろう。
本当にAltiVec使った事あるのか?
手順が若干簡略化されてるだけでAltiVecもやるべき事は同じじゃないか。

225 名前:・∀・)っ-○◎● mailto:sage [2007/03/19(月) 03:37:14 ]
スカラプロセッサの補助としてベクトル演算器があるのと、
スカラ演算までベクトル演算器でやらなりゃならないのとは根本的に違うだろ。
AltiVecではアドレス演算はスカラ演算器で行い、ベクトル演算はデータの
処理のみに専念できる。このへんはx86と同じ。
AltiVecはせいぜいベクトル-スカラ間の値直接交換がないくらいで、
いったんL1に書き出して読み出すだけでいい。


SPUにはスカラデータを扱う命令そのものがない。
1バイト単位はおろか4バイト単位のロードすらない。
(そのくせアドレス生成や条件分岐ではベクトルの第一ワードでしか使えない)
16バイト単位で読み出して適宜シフトしなきゃいけない。
このへんがスカラ演算が圧倒的に遅いと言われる要因。

226 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 04:22:02 ]
>>221
> x86にLSを載せたらどうだろう
レジスタ同様にタスクスイッチ時にデータを退避するのか?
それともロックして占有するのか?


227 名前:1 ◆.MeromIYCE mailto:sage測定はまた今度 [2007/03/19(月) 10:12:27 ]
>>226
仮にやるとしたら、ロックするのがいいかな。
オーバーレイなんかも同時に2アプリで使えないことだし、
エンコやゲーム専用と考えれば。

でもやっぱりマルチタスクできないのは不便だよな。
OS側でも工夫のしようはあると思うが、
そうまでして使う価値があるかは正直疑問だし。

228 名前:・∀・)っ-○◎● mailto:sage [2007/03/19(月) 21:00:40 ]
L1キャッシュよりレイテンシの大きいローカルストアよりも
拡張XMMレジスタファイル256本のほうがまだありがたいような。
imm8を使って各レジスタを指定。

229 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 23:40:14 ]
スケジューラが詰まらないならその方がありがたいです。
レイテンシ分くらい依存命令を離しているつもりなのにストールすると悔しい。

230 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 00:59:06 ]
リアルモードの割り込みベクタのことIDTなんていう呼び方してたっけ?



231 名前:・∀・)っ-○◎● mailto:sage [2007/03/24(土) 01:10:07 ]
Interrupt Descriptor Table

そのまんまの意味だな

232 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 01:12:47 ]
いや、だからリアルモードの割り込みベクタテーブルとプロテクトモードのIDTはちょっと違うもんだろ、って話じゃ?

233 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 03:18:03 ]
英語が理解できないのはつらそうだな。

234 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 15:47:10 ]
どうして団子リオンはトリップつけてないのか。

235 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 16:08:32 ]
>>230
intelの文書ではリアルモードの割り込みベクタテーブルを実アドレスモードIDTとよんでいる

236 名前:・∀・)っ-○◎● mailto:sage [2007/03/29(木) 00:41:01 ]
>>234
漏れてるから

237 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 03:14:36 ]
ありゃ、お漏らししちゃってたのか。

238 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 09:03:33 ]
Intel Penryn and Nehalem 45nm Processor Update
www.legitreviews.com/article/480/3/
The New Technologies and Features

Super Shuffle Engine キター

239 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 09:57:21 ]
Emulatorの友

240 名前:・∀・)っ-○◎● mailto:sage [2007/03/30(金) 01:40:45 ]
> Super Shuffle Engine

128ビットシャッフルのスループット改善ですか



241 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 01:45:33 ]
>>240
団子ちゃん、こっちのスレでお呼びがかかってるよ。
pc11.2ch.net/test/read.cgi/tech/1137540671/

242 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 01:47:05 ]
>>235
どの文書?

243 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 10:32:22 ]
スレ違いならごめん。

C言語で以下のようなソースがあったとして、
if( a < b ){
 min=a;
 max=b;
}else{
 min=b;
 max=a;
}

if( a < b )のかわりにif( a <= b )としても問題ないけど、この2つで出力
されるアセンブラソースや所要クロックに差は出るかな?
intなら同じだけどfloatでは差が出るとか有り得る?

244 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 11:05:39 ]
>>243
コードの差は出るかもしれないし出ないかもしれない。
その周辺のコードによっても変わるし、勿論コンパイラによっても変わる。

245 名前:・∀・)っ-○◎● mailto:sage [2007/04/01(日) 11:23:10 ]
別スレ逝った方がいいよ。
「うちの使ってるコンパイラでASMコードの出力の仕方が解らないので教えてください」







SSE使えば比較文自体排除できる罠。floatだとこんだけ。

__m128 xa = _mm_set_ss(a);
__m128 xb = _mm_set_ss(b);
_mm_store_ss(&max, _mm_max_ss(xa. xb));
_mm_store_ss(&min, _mm_min_ss(xa. xb));

246 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 11:27:17 ]
>>243
速度を気にするなら条件分岐を排除
同確率の二択はほぼどちらかが失敗する

247 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 11:34:00 ]
どうも有難うございました。

248 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 11:55:50 ]
まぁ、そんな細かいことが気になるならc++で
min = std::min(a, b);
max = std::max(a, b);
とでもすればいいだろうよ。


249 名前:・∀・)っ-○◎● mailto:sage [2007/04/01(日) 12:05:11 ]
細かいことが気になるならmin/max関数なんて使わない

250 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 12:53:36 ]
なるほど、団子には皮肉が通じないわけだ。



251 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 13:15:01 ]
つーかそれ、素で間違ったのに皮肉と言い訳してるのと見分けが
つかないから、皮肉なら皮肉でちゃんと分かるようにしないとw

252 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 13:19:50 ]
明らかに皮肉とわかるのに
団子がいるスレは一段と引き締まるな

253 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 13:23:45 ]
>>248みたいなことを言う馬鹿や初心者は結構いるぞ。
つまりそういう人間と君みたいな天才は区別が付かないんだよw
せっかく天才なんだから周りに勘違いされないようにした方が
幸せだと思っただけさ。気に障ったら許してくれw

254 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 13:38:16 ]
( ゚д゚)ノ ドゾー
pc11.2ch.net/test/read.cgi/tech/1084676298/411

255 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 14:20:42 ]
どうもごめんなさいでした。

256 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/01(日) 14:21:23 ]
>>253
基本的に同意
でも多分std::maxとかって書いておけば最適な命令に置き換えてくれると勘違いしてる
初心者なんじゃないだろうか。
皮肉だ皮肉だとと必死に自己弁護してることからも明らか

>>254
Hacker's Delight日本語訳発行以降、
半端な知識で「MSBをシフトすれば分岐が排除できる=速い」と思いこんで
改悪コード書く厨が増えたよな。

257 名前:デフォルトの名無しさん [2007/04/01(日) 14:43:29 ]






            半  端  な  知  識        







258 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/01(日) 15:06:04 ]
皮肉だ皮肉だと自己弁護してるのが特にそうだね

259 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 16:07:16 ]
いくら初心者でもmin,maxが最適な命令に置き換わるなんて発想はありえない。
ちょっとひねくれすぎ。

260 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 16:08:54 ]
団子が昔そうだったとか?



261 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 16:32:03 ]
ダンゴの言うことはホント正しいよね
歯向かうのは馬鹿

262 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 16:34:42 ]
どう考えてもmin,maxが最適な命令に置き換わるなんてありえないな。
誰に吹き込まれたか知らないが、勝手な妄想はよしたほうがいい。

263 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/01(日) 16:35:02 ]
>>243がかかるクロック数を短くしたいという目的があって質問したのは
明らかなわけだが

細かいこととは、かかる処理時間を少しでも短くすることなわけで
min/max関数が最適な命令に置き換わるという勘違いでもしてないかぎり
出来ないレスだと思うけどねこれは


248 :デフォルトの名無しさん :2007/04/01(日) 11:55:50
まぁ、そんな細かいことが気になるならc++で
min = std::min(a, b);
max = std::max(a, b);
とでもすればいいだろうよ。


>>259-260 ←見苦しい弁解だな

264 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 16:40:20 ]
言葉遣いや性格には問題ありだが。。。

265 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/01(日) 16:41:07 ]
>>262
組み込み関数として最適化ができるアーキテクチャ・処理系はあるよ。
x86では、知る限りでは無いけど(マクロ版ならまだ最適化される余地あるかも)

266 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 16:41:52 ]
>>264
まず団子が正しいことを認めろよ。
言い訳がましい。

267 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 16:45:34 ]
>>262
あるだろう

268 名前:248 mailto:sage [2007/04/01(日) 17:07:41 ]
ここで真相を明かしますよ。今日の日付けを考えてみろ、と。

という冗談はさておいて。
そもそも元質がCでって書いているんだから、C++で書いてある時点で>248はネタだって判るでしょうに。

269 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/01(日) 17:10:04 ]
>>268を翻訳

「max/minが関数名と重なってるからstd::ネームスペース指定してみたけど
二重に誤爆しちゃったみたい。俺ってお馬鹿♪」

270 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 17:56:56 ]
条件付movとか、フラグ→マスクみたいな一般的な方法ではなく
SSE2が最初に出てくるようなミーハーイッテル馬鹿は初心者を笑えないだろ…



271 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 18:23:00 ]
>>270
見苦しい。

272 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 18:28:49 ]
>>271
団子よ、IDが出ないからといって見苦しい自演するな。

273 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 18:41:39 ]
無意味な喧嘩すんなよ。
匿名掲示板上で自分のアイデンティティ探ししてると、
(自作板に2名ほどいるけど)本物の精神疾患になるぞ。

274 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 18:51:22 ]
おまえ自作板見てないだろ?

275 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 18:56:01 ]
>>243-275
スレ違い

276 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 19:03:28 ]
O原ネタ振れよww

277 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/01(日) 19:35:46 ]
>>272
アホすwww

>>270
SSE2じゃなくてSSEまでのサポートで使えるけど。
CMOVならPentium Pro以上が要求される。
Pentium/PMMXは切り捨ててよくてPPro/P2は切り捨てちゃだめって基準は理解できない。
CMOVは対応する組み込み関数あったっけ?コンパイルオプションやインライン
ASMくらいしか使う手段なかったと思うが。

どうせSSE未サポートのx86互換チップなんて今後発売される見込み無いんだし
x64ではSSE2までは標準ISAに入ってるんだから覚えておいていいと思うけど。

ハードウェアの投機実行機構に任せるより下手すりゃ遅くなるような
ビットマスク生成とかの厨コーディングより、いま市場に出回ってるCPUの
大半で使える最速の方法を知ってたほうがよっぽど役に立つだろ。

278 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 19:53:13 ]
この粘着力は酉付いてなくても真性だとわかる

279 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 20:33:12 ]
MACヲタもそうだが酉なしで粘着する奴はもう一線越えてるからな

280 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 20:38:45 ]
無能よかまし
無能は情報として価値が無い



281 名前:デフォルトの名無しさん mailto:ということにしたいのですねsage [2007/04/01(日) 20:42:30 ]
>>270が言ってるのはset命令だろ。
そこでSSEとかCMOVとか言ってる時点で話が見えてない。

CMOVの組み込み関数はVCの64bitモードになかったっけ。
32bitで使えないならあんま意味ないけどな。

282 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 21:15:58 ]
無能は価値がないけど嘘吐きは有害

283 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 21:27:04 ]
>>280
>>282
なんかヤなことでもあったのか?

284 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/01(日) 21:34:37 ]
>>281の脳内では「条件付きMOV」と「CMOV」は別モノらしい

set命令って何?
_mm_set_ssならmovssに展開されるだけだよ。
むろんemmintrin.hなんて要求されない

285 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/01(日) 21:37:20 ]
>>282
だよね。SSEしか要求しないのに生成コードすら読まずに
SSE2だなんていう嘘つきは要らない子だね。

286 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 21:46:07 ]
今日付いたレスは全部嘘

287 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/01(日) 21:55:15 ]
インラインASM的にはこうか?

__asm {
movss xmm0, DWORD PTR [a]
movss xmm1, DWORD PTR [b]
movss xmm2, xmm0
maxss xmm0, xmm1
minss xmm2, xmm1
movss DWORD PTR [min], xmm0
movss DWORD PTR [max], xmm2
}

x87スタック←→XMMレジスタは普通の方法使えばメモリに書き出して読み直すので
その分オーバーヘッドが生じるが、
arch=sseでコンパイルしてれば浮動小数演算はほとんどXMMレジスタ上で行うことができる。

んで、SSE2命令なんてどこに必要なの?ねぇ、教えて?


>>286
だよね。「SSE2が必要」ってのはどーみても綿貫ネタだよね。

288 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 22:01:37 ]
>>284
SETcc r/m8

289 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/01(日) 22:24:59 ]
mov eax, [a]
mov edx, [b]
sub eax edx
setg(以下まんどくせ。movsxって結構オーバーヘッドなかったっけ?


MMXまんせー(uint32のとき
Core2とかならXMMレジスタ使った方がいいかもよEMMSのオーバーヘッド省けるし

movd mm0, [a]
movd mm1, [b]
movd mm2, mm0
pcmpgtd mm0, mm1
pand mm2, mm0
pandn mm0, mm1
movd [max], mm2
movd [min], mm0
emms

290 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 22:37:26 ]
このグラフの目盛は13クロック前後かな?
pc.watch.impress.co.jp/docs/2007/0329/intel_8.jpg



291 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 00:46:40 ]
相当な粘着だな

292 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 01:30:13 ]
うちの団子が粘着でごめんなさいm(_)m

293 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 01:33:03 ]
粘りけのない団子なんて食えたもんじゃない

294 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 01:35:07 ]
と背景雑音どもが申しております

295 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 01:38:50 ]
    _, ._
  ( ゚ Д゚)
  ( つ旦O
  と_)_)

296 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 10:24:01 ]
SET命令やビット命令を最後に使ったのは何時だったか

297 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 16:21:18 ]
つまらん事で荒れたのを久々に見たなぁ・・・

スレ違いだ他池ボケで済むだけなのに。

298 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 17:31:52 ]
スレ違いな質問にも答えずにはいられないのが教えたがり君クオリティ

299 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:09:42 ]
おまえらがつまらんことやってるからWolfdaleのESベンチの結果が違うスレに貼られたじゃないか

300 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:24:54 ]
速w
pc11.2ch.net/test/read.cgi/mac/1159817811/608



301 名前:1 ◆.MeromIYCE mailto:sage [2007/04/03(火) 12:45:37 ]
>>238
これは嬉しい!

>>300
速すぎて、クロック測定ルーチンがポシャってないか不安なくらい。


Intel、45nmプロセスの次期CPU「Penryn」の詳細を公開
pc.watch.impress.co.jp/docs/2007/0329/intel.htm
とりあえずMeromとの比較まとめ。

L2キャッシュは1.5倍の6MB、12MB版もあり。ダイサイズは25%縮小。新たにSSE4が載る。
SSEのShuffle系の命令の遅さが改善される。
整数/FP共に除算の性能が上がる。FPUの平方根も高速化。
FSBクロックが上がり、プリフェッチにも手が入る。
省電力機能のDPD、シングルスレッド性能のためのEDA。

Yonahの消費電力はなぜ少ないのか
pc.watch.impress.co.jp/docs/2005/0831/kaigai208.htm
Deep Power Downは、YonahのEnhanced Deeper Sleepと何が違うんだ?
まさか、YonahのDC4ステートがMeromになかったのか。
Enhanced Dynamic Accelerationは、IDAの改良版だろうか。

"Radix 16"の16は何だろう。>>300を見ると相変わらず8bit単位でクロック数が変わっている。
命令のデコードが速くなるという記述もあるが、divのuOP数も減るのか?
今までは ちまちまやっていたのを、16bitいっぺんにやるから速いということかね。

引きずってる弱点もあるだろうけど、十分に洗練されてきたと感じる。

302 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 13:41:42 ]
>>301
>"Radix 16"の16は何だろう。
見えてきたPenryuとNehalemの「革新性」 (1/2)
plusd.itmedia.co.jp/pcuser/articles/0704/02/news067.html
で元麻布の言ってる事が確かなら、「基数を16にした除算器(Radix-16 divider)」

しかし予想外に新要素が多いね。
シュリンク+SSE4ぐらいかと思ってたんだが。
こらAMDきつくなりそう…

303 名前:1 ◆.MeromIYCE mailto:sage [2007/04/03(火) 14:40:04 ]
>>302
基数が16ってのは16進法で筆算するような感じなのかな。
クロック数の変動から、256進法と思っていたが、単に商を8bitで区切って
その区切りごとに演算を早目に終わるという感じか。

Nehalemは、単純にIPCで見て素直な上がり方をするのかなあ。
P6と違う味のするコアでPenrynを完全に超えてくれたら嬉しい。

304 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 16:31:14 ]
つまりは4ビット単位の部分商を一気に計算してるんだろ

305 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 20:13:26 ]
>>301
>速すぎて、クロック測定ルーチンがポシャってないか不安なくらい。
>>128のMeromの半分だし妥当では?

>Deep Power Downは、YonahのEnhanced Deeper Sleepと何が違うんだ?
>まさか、YonahのDC4ステートがMeromになかったのか。

>Yonahの消費電力はなぜ少ないのか
>pc.watch.impress.co.jp/docs/2005/0831/kaigai208.htm
>その段階に入ると、Yonahは、新たに設けられたEnhanced Deeper Sleep「DC4」と呼ばれるステイトに入る。
>これは、Deeper Sleepよりさらに電圧を下げるステイトだ。
>Enhanced Deeper Sleepでは、CPUコアを再起動しないですむ、コア保持(Core retention)レベルに最低限必要な電圧にまで下げる。

スライドを見る限りではこのコア保持レベルより更に電圧を下げるという話みたいね。

306 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/03(火) 21:49:44 ]
自習で暇だったからランダムなfloat値1億個の入った配列を読み出して
最大値と最小値を求めるプログラム書いて時間潰してた。

案の定だが、SSEベクトル>SSEスカラ>>>>>>x87
fcmov*って大して速くないんだな

307 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 22:54:19 ]
こいつは半端に知識ある癖してどこまで理解出来てるのかさっぱりだな。
CMOVは速いんじゃなくて最悪の状態でも遅くなりにくいんだぞ。
原理くらい知ってるだろうに。

308 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/04(水) 05:09:26 ]
うん、それで?

309 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 06:49:23 ]
>>307
稚拙な煽りだな。

310 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 07:39:57 ]
落ち着け。つくづく痛い子だな。
306は内容が無いだろ。チラシの裏にでも書くんでなければせめて分り切った事でも考察入れろと。



311 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/04(水) 07:51:45 ]
こんなもんで
せろり2GHz

x87+CMOV 1100msec
SSE(スカラ) 320msec
SSE(ベクタ) 230msec

312 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 21:21:14 ]
80/32(bit)より遅いね。
doubleの場合と分岐を使う場合はどうだろう。

313 名前:1 ◆.MeromIYCE mailto:sage [2007/04/06(金) 23:39:33 ]
>>190のを試すのと、fsqrtとfdivのレイテンシ測定をやりたいんだが、
何かやる気出ないなあ・・・。

NehalemにはSMTが載るらしいが、数年後なら4〜16スレッドに
備える意味があると踏んだのだろうか。
まあ、サーバー用途とかだろうけど。

SMTの効果だが、NetBurstと同等くらいはあるのではないだろうか。
ネトバは元々スカスカだから、SMTで資源を有効利用できる。
とはいえ、SSEのレイテンシで見ると、実はCore2よりもネトバの方が
スループットに対してレイテンシが短い(パイプライン充填率が高い)。
Nehalemでは、きっちり4命令/clkをコンスタントに供給してくるだろうし。

これはつまり、Core2の効率が悪いと言っていることになるが、
実際にあれだけ強化したCore2がK8の20%増ししか速くないのだから、
発揮できていない潜在パワーはかなりあるはずだ。
(これは別にCore2の設計が悪いという意味ではない)

314 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/06(金) 23:48:21 ]
命令フェッチ帯域が狭いからそれを拡充しないことにはね(Penrynでは改良してくるはず)

315 名前:1 ◆.MeromIYCE mailto:sage [2007/04/07(土) 00:09:44 ]
>>305
え、コア保持しないん!?

>>311
float1億個といったら400MBじゃんか。
それでもメモリネックにならないのか。
cmovは1個に20clk以上かかってるぞ。
比較-フラグ-移動のレイテンシが長いんだろうなあ。

いずれしても、これからの時代はFPUを使う意味がないね。

316 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/07(土) 01:05:52 ]
ちなみにCで書いてコンパイルしただけ。(SSEだけIntrinsicsを利用)
っていうかISAがスタックベースだからどうしても命令が多くなるのでしょう
一方SSEだとこんだけ。

movss xmm2, [ecx+Offset]
maxss xmm0, xmm2
minss xmm1, xmm2


ちなみに手動でアンロールしたら同じ環境でスカラ280ms, ベクタ200msくらいになった。
キャッシュは128KBだしFSBは400MHz、メモリはよくわからん。
プリフェッチは使ってない(てかあんま意味なさそう)

317 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 05:48:00 ]
ソース希望。

って、SSE版は掲載済みか。

318 名前:・∀・)っ-○◎● mailto:釣りウマーsage [2007/04/07(土) 09:08:29 ]
ループの内側はこんだけ。

//FP版
if (a[i] > fMax) fMax = a[i];
else if (a[i] < fMin) fMin = a[i];

//SSEスカラ版
__m128 sa = _mm_load_ss(&a[i])
xmax = _mm_max_ss(xmax, sa);
xmin = _mm_max_ss(xmin, sa);

//SSEベクタ版
__m128 pa = _mm_load_ps(&a[i])
xmax = _mm_max_ps(xmax, pa);
xmin = _mm_max_ps(xmin, pa);

319 名前:317 mailto:sage [2007/04/07(土) 09:29:14 ]
お、THX!

それはいいけど、いい加減そのメルアドはやめなさいよ。

320 名前:・∀・)っ-○◎● mailto:sage [2007/04/07(土) 10:04:21 ]
どうでもいいけど_mm_min*だな



321 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 13:16:33 ]
折角だから実測してみた。
>Intel(R) Xeon(TM) CPU 3.40GHz [fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm pni monitor ds_cpl est tm2 cid xtpr]
>gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)

>gcc -O3 -std=c99
if (p[ic] > vMax) vMax = p[ic];
if (p[ic] < vMin) vMin = p[ic];
0.61 sec #fucomして普通にjne/jmpで分岐
if (p[ic] > vMax) vMax = p[ic];
else if (p[ic] < vMin) vMin = p[ic];
0.64 sec #fucomしてあっちこっちにjmp
>gcc -msse2 -O3 -std=c99
if (p[ic] > vMax) vMax = p[ic];
if (p[ic] < vMin) vMin = p[ic];
0.91 sec #fucomiしてfcmovnbe
if (p[ic] > vMax) vMax = p[ic];
else if (p[ic] < vMin) vMin = p[ic];
0.90 sec #maxはfucomiして普通に分岐、minはfucomiしてfcmovnbe
__m128 tmp = _mm_load_ss(& p[ic]);
xMax = _mm_max_ss(xMax, tmp);
xMin = _mm_min_ss(xMin, tmp);
0.18 sec #movss, maxss, minss
__m128 tmp = _mm_load_ps(& p[ic]);
xMax = _mm_max_ps(xMax, tmp);
xMin = _mm_min_ps(xMin, tmp);
0.13 sec #movaps, maxps, minps

SSEの方はどっちも>311とは綺麗にクロック比になっている辺り。
それから察すると、>311はホントにfcmov使ってたんだろか。
つーか、fcmov遅過ぎ。

322 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 13:24:06 ]
わかりにくいから数字だけ書き直しとこ。

0.61sec fpu分岐版
0.64sec fpu分岐版(else if)
0.91sec fpu fcmov版
0.90sec fpu fcmov版(else if)
0.18sec sse scalar版
0.13sec sse vector版
つーか、sse vector > sse scalar >>>> fpu分岐 >> fpu fcmov ってか?

323 名前:・∀・)っ-○◎● mailto:sage [2007/04/11(水) 00:36:28 ]
16bit整数×1億個で計測(10回回してるので10倍になってます)
gcc 3.3 i686-cygwin Celeron 2GHz(Northwood) FSB400MHz

非SIMD
3078ms -O3
1890ms -O3 -funloll-all-loops
3860ms -O3 -funloll-all-loops -msse
3892ms -O3 -funloll-all-loops -march=pentium4

-msse以上のオプションを指定すると無条件でCMOV使う感じ?


あと、参考までに
SSE(64bit SIMD)
2172ms -O3 -msse
1812ms -O3 -funloll-all-loops -msse
1750ms -O3 -funloll-all-loops -march=pentium4

SSE2(128bit SIMD)
1422ms -O3 -msse2
1407ms -O3 -funloll-all-loops -msse2
1313ms -O3 -funloll-all-loops -march=pentium4


Pentium4って倍速ALUだから非SIMDでもそこそこ速い?

324 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 10:11:53 ]
VTune9キター
ところでこのスレで使ってる人います・・?

325 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 10:25:48 ]
団子先生なら買う!!!

326 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 12:37:18 ]
VTune使いこなせてない漏れもいますよ。

処で>321だけど、流石にiccだとintrinsic使わないソースでもでもmaxps使ってくれるのね。
尤も、ループ回数が4の倍数じゃないときのロジックがおまけについてくるけど。
それと、詳細の数値忘れたけど(出先の)2coreXeon(3GHz)だとicc -fastで0.12secは掛かってた。
クロック差を考えると速いんだけど、-parallelにしたら却って遅くなってやんの。

>>323
ふむ、cmovも遅いのね。

327 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 09:06:21 ]
確か予測分岐はランダムな入力に対して学習しない、つまり予測を変えないから1/2の確率で的中するんだよな。
対してcmovは予測が無いから投棄が無い代わりに速くならない。

という事はフラグが余裕を持って決まっていればいいんじゃないかと思うんだが。
ただフラグレジスタが一つしかないから有効に使える場面が少なそうだ。

328 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 09:22:54 ]
あと予測をことごとく裏切る、つまり短いスパンで規則性のある入力に対してはcmovが有効だろう。
cmovは分岐テーブルも汚さないだろうから、ベンチマークではなく実際のプログラムではこれも効いてくるかも知れない。

329 名前:・∀・)っ-○◎● mailto:sage [2007/04/16(月) 23:46:01 ]
そーいや、最大最小の問題は回数重ねると分岐パターンが収束してくわな。
NetBurstで32bit整数だと完全に汎用ALU>SIMDだね。
PMAXSD/PMAXUDまだ使えないから余計に不利。

330 名前:・∀・)っ-○◎● mailto:sage [2007/04/18(水) 01:28:48 ]
CellのSPEの分岐ヒント命令っていいね
ある程度のコードの長さがあって分岐の十数クロック前に
ヒントを与えていれば、ミスを完全に防げる。

x86でフラグを更新しないのってleaとかSIMD演算命令くらいだが、
どうせSIMD使うならいっそ分岐先を両方実行してしまえばいいというジレンマ。
Penrynは拡販命令のスループットが大分よくなってるみたいなので
使い甲斐はありそう。



331 名前:デフォルトの名無しさん [2007/04/20(金) 21:21:15 ]
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。

332 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 03:40:43 ]
民主党といえば、民主党の公認候補が毎日のように22時過ぎまで駅前で名前を連呼しているんだが
あれは問題ないんだろうか。

333 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 16:25:49 ]
>332
通勤路では公明党と共産党がやってた。
調べたわけじゃないけど、拡声器を使わなければいいんじゃないかな。

使ってたら…シラネ。
(禁止行為にも地域差があるかもしれない)

334 名前:・∀・)っ-○◎● mailto:sage [2007/04/21(土) 19:32:21 ]
スレ違いだろうが
アレだ、香港・澳門が厨国に返還されて、東アジアにおける資本主義諸国と共産主義大国間の
物流の橋渡しをする地域が無くなってしまった(台湾-厨国間の貿易拠点もなくなってしまった)。

沖縄を香港・澳門に変わる貿易拠点として解放すればいいという主張は以前からある。

335 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 05:24:07 ]
負け癖は抜けませんがみんすです

336 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 12:18:18 ]
仮に開放するにしても、下手なやり方だと日本にはいいことなさそうだな。

337 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 13:12:20 ]
Intelの最適化マニュアル
www.intel.com/design/processor/manuals/248966.pdf
によると
Meromでのpaddq/psubqの スループット-レイテンシ は 1-2 になっている

download.intel.com/technology/architecture/new-instructions-paper.pdf
の SSE4 Vectorizing Compiler and Media Accelerators から
64bit比較命令のpcmpgtqだけがPenrynに実装されない

Penrynでpaddq/psubqの改善はないと考えていいのだろうか?

338 名前:1 ◆.MeromIYCE mailto:sage [2007/04/24(火) 10:27:24 ]
>>337
64bitCPUなのに64bit加算が苦手なのか?
add reg64,reg64 は、さすがにレイテンシ1でできると思うけど、
内部的には32bit*2段パイプで実現しているのかもね。

PenMでpaddqは3-2とのことだが、測定してみたら2-2に見える。
padddやporと混ぜてもレイテンシが3にはならなかった。
(ただ、混ぜたときのクロック数は不規則で、素直な命令ではない様子)
Meromでも、普通の命令の中では実質レイテンシ1で使えるんじゃないかな。
pcmpgtqが実装されないなら、paddqの改善はしてない方が自然だ。

339 名前:デフォルトの名無しさん [2007/04/26(木) 21:06:20 ]
www.watch.impress.co.jp/akiba/hotline/20070421/image/ssc24.html

340 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 14:59:09 ]
AMD Family 10h Processors 最適化ガイドが公開された
developer.amd.com/devguides.jsp
www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/40546.pdf



341 名前:・∀・)っ-○◎● mailto:sage [2007/05/05(土) 18:11:16 ]
movapsにもレイテンシ2クロックかかんのかよ

342 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 18:38:13 ]
> 64bitCPUなのに64bit加算が苦手なのか?
AMD64の仕様自体が64bit苦手仕様だろw

343 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 07:11:07 ]
しょぼw

344 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 13:28:51 ]
コアが増えるなら別にいいんじゃね。

345 名前:デフォルトの名無しさん [2007/05/06(日) 18:36:40 ]
ダンゴさんが書き込むとスレが引き締まるな

346 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 20:31:45 ]
L2レイテンシ9だって?

347 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 21:12:45 ]
なんかブロック図が想像してたのと違う。

Core−SRQ,XBar−HT,MC
       |
      L3

と思ってたのに

Core−L3−SRQ,XBar−HT,MC

に見える。
盛大な勘違いだったのだろうか。

348 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 21:34:21 ]
>>346
3(L1) + 9(L2) = 12
ではなくて?
これだとWindsorと変わらない気がするが。
Brisbaneから改良されたんかな。


347はやっぱ盛大な勘違いだった模様。
journal.mycom.co.jp/articles/2006/06/20/computex01/001.html
と「L3とメモリは同時にアクセス出来る」という話を聞いて勝手に予想してたんだけど、
この図のCBってMCとかHTが繋がってるXBARとは別なんだね。
journal.mycom.co.jp/special/2007/x2-65nm/015.html
こっちで大原もちゃんと言ってた…。

349 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 15:30:34 ]
適当なスレがないのでスレ違いを覚悟で質問します。
AMD64のアドレッシングモードのうち、レジスタオフセットに変位が付く形
はIA32と同じ32ビットまでしかできません。

これを64ビットの変位にまで拡張しなかったのは、必要ないからと判断
されたからなのでしょうか?レガシーx86の時のような問題は起きてこな
いのでしょうか?

350 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 15:34:26 ]
例えば分かりやすい例を挙げてみます。

2Gバイト超の配列を宣言したとして、その添え字に2GBを超える値を指定
してアクセスしたとします。すると、レジスタオフセットは32ビットまでしか使えま
せんので、2つのレジスタを使って

MOV RAX, 配列のベースアドレス
MOV RBX, 変位
MOV RCX, [RAX + RBX * n]

のような形になると思います。冗長になりませんか?



351 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 16:37:18 ]
MOV RCX,[RAX+imm64]みたいな命令がほしいってこと?
本当にいると思う?

352 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 16:44:52 ]
>>351
そうそうそんな奴があればいいなと思ってました。
まあ無くてもコンパイラが>>350みたいなコードに展開してくれるし
レジスタは多めなので問題はないと思うのですが、あってもいいような
気がします。

というのは私はよくCやC++のコンパイラでコンパイルしたコードをデバッグ
モードで眺めるのが好きなのですが、BSSやDATA領域の変数を
アクセスするコードが結構頻繁に出てくるのです。そういうのが>>351
ように書けたらすっきりすると思うのです。

まあいろいろ解析して不要と判断したのでしょうけどね。

353 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 16:50:23 ]
とくにAMD64やEM64Tは広大なメモリ領域を自由にアクセスできるように
なるわけじゃないですか。

まあこんな事にはそうそうならないと思うけどスタック領域に2GB超の配列を確保
する事もあるかもしれません。そういう場合に便利だと思うのです。

まあ配列と言えば大抵添え字でアクセスするので決め打ちの添え字で
ハードコーディングする機会は少ないと言えば少ないのでしょうけど。

354 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 17:10:44 ]
>スタック領域に2GB超
エエエエ ゜Д゜

355 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 18:48:11 ]
>>353
いや、だからイミディエイトで±2GB以上のオフセットが必要なシーンがどれだけあるのよ?
使うかどうかも分からん命令を命令マップのどこにアサインするのよ?
命令マップに座席を用意したとしても、64bitのイミディエイトを命令に
組み込めば、命令が8バイト伸びるってのも忘れちゃならんよ。
#ISAの設計の世界には「アイは高くつく」という格言があってだね...。

356 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 19:26:49 ]
個人的にはイミディエイト値の扱いなんて POWER 並みで十分だと思う。
アセンブラは読みにくくなるけど。

357 名前:1 ◆.MeromIYCE mailto:sagePPGZ面白すぎ [2007/05/10(木) 00:14:29 ]
pc.watch.impress.co.jp/docs/2007/0509/tawada103.htm
以前の予想通り200MHzのアップだったな。IDA。
現実的な線だった。

しかし、MeromなどモバイルCPUの涙ぐましい省電力機能を見るにつけ、
Vista憎いという心が強まる。
実際、切れるサービス切ったら非使用時のCPU使用率はXP程度とかに落ちないのかね。

358 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 00:31:39 ]
ユーザーが操作してない間は自由に動いてて構わないと思うけど。
ノートとかはプロフィールで軽くしてるだろうし、
ユーザーから見える情報が増えて心配の種が増えているだけでは。

まあどちらにしてもWINの不明瞭部分が多いだけだろ。

359 名前:138 mailto:sage [2007/05/10(木) 01:46:57 ]
やっぱりIDAショボーンだった…
kernel 2.6.25あたりで対応きぼんぬ

360 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 03:10:39 ]
地雷の965でしか動かさせないとなると怖いなぁ・・・



361 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 16:39:46 ]
>>347
(Core0-3 + L3)が独立小島でDRAMアクセスを含めた外の領域はL3を通して接続って形に見えるね。
スケーラビリティーを考えると妥当なやりかたにも思える。
コア領域とノースブリッジ領域の分離を明確にしたというか。

362 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 22:02:04 ]
>>361
しかしクロックや電圧供給ってCore0-3とL3+NBで分かれてたと思うんだけどねえ。
L3の位置もコアに挟まれてるんじゃなくてダイの端だし、一番遠いコアだとアクセス効率悪すぎる気もするのだが。

363 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:56:38 ]
IntelのCPUはNaN(非数)に対する演算が遅いという事なので、
加算、乗算、除算命令のクロック数を計測するプログラムを作成してみました。
ついでに非正規化数(デノーマル数)や∞の場合も調べてます。

www.wikihouse.com/x86clocker/index.php?plugin=attach&pcmd=open&file=nan2.zip&refer=Upload

NaNの演算がかなり遅いというのはx87の場合だけで、
SSE,SSE2は遅くならないみたいですね。
プログラムを作成しない人にとってはNaNなんてどうでもいいことですが、
プログラムを作成する人にとっては、
プログラムを組んでみて、実行したら異常に時間がかかり、
やっと結果が出たと思ったら、途中で桁落ちしててNaNや∞だったなんて事は
ある事だと思います。

364 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:58:00 ]
●Core2Duoの結果
vender:GenuineIntel CPUID:6F6
x87 SSE SSE2
3.0 3.0 3.0 clk : 正規化数 + 正規化数 = 正規化数
5.0 4.0 5.0 clk : 正規化数 * 正規化数 = 正規化数
32.0 18.0 32.0 clk : 正規化数 / 正規化数 = 正規化数
182.2 3.0 3.0 clk : 非数 + 正規化数 = 非数
184.2 4.0 5.0 clk : 非数 * 正規化数 = 非数
185.2 6.0 6.0 clk : 非数 / 正規化数 = 非数
193.2 3.0 3.0 clk : 非数 + 非数 = 非数
195.2 4.0 5.0 clk : 非数 * 非数 = 非数
196.2 6.0 6.0 clk : 非数 / 非数 = 非数
205.2 152.2 152.2 clk : 正規化数 + 非正規化数 = 正規化数
393.5 152.2 152.2 clk : 非正規化数 + 非正規化数 = 非正規化数
397.5 151.2 152.2 clk : 非正規化数 * 正規化数 = 非正規化数
438.3 162.2 175.2 clk : 非正規化数 / 正規化数 = 非正規化数
182.2 3.0 3.0 clk : +∞ + 正規化数 = +∞
181.2 4.0 5.0 clk : +∞ * 正規化数 = +∞
185.2 6.0 6.0 clk : +∞ / 正規化数 = +∞
181.2 3.0 3.0 clk : +∞ + +∞ = +∞
181.2 4.0 5.0 clk : +∞ * +∞ = +∞

365 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:10:44 ]
Opteron146でやってみた。
vender:AuthenticAMD CPUID:F71
x87 SSE SSE2
4.0 4.0 4.0 clk : 正規化数 + 正規化数 = 正規化数
4.0 4.0 4.0 clk : 正規化数 * 正規化数 = 正規化数
20.0 16.0 20.0 clk : 正規化数 / 正規化数 = 正規化数
4.0 4.0 4.0 clk : 非数 + 正規化数 = 非数
4.0 4.0 4.0 clk : 非数 * 正規化数 = 非数
20.0 16.0 20.0 clk : 非数 / 正規化数 = 非数
4.0 4.0 4.0 clk : 非数 + 非数 = 非数
4.0 4.0 4.0 clk : 非数 * 非数 = 非数
20.0 16.0 20.0 clk : 非数 / 非数 = 非数
4.0 4.0 4.0 clk : 正規化数 + 非正規化数 = 正規化数
147.0 141.9 141.9 clk : 非正規化数 + 非正規化数 = 非正規化数
147.0 141.9 141.9 clk : 非正規化数 * 正規化数 = 非正規化数
163.0 153.9 157.9 clk : 非正規化数 / 正規化数 = 非正規化数
4.0 4.0 4.0 clk : +∞ + 正規化数 = +∞
4.0 4.0 4.0 clk : +∞ * 正規化数 = +∞
20.0 16.0 20.0 clk : +∞ / 正規化数 = +∞
4.0 4.0 4.0 clk : +∞ + +∞ = +∞
4.0 4.0 4.0 clk : +∞ * +∞ = +∞


366 名前:363 mailto:sage [2007/05/28(月) 00:21:12 ]
>>365
さすがOpteronはx87で非数、∞を使っても遅くならないですね。

367 名前:363 mailto:sage [2007/05/28(月) 00:55:04 ]
よく見るとOpteronは正規化数 + 非正規化数 = 正規化数でも遅くならないんですね。

368 名前:1 ◆.MeromIYCE mailto:sage [2007/05/28(月) 18:29:18 ]
>>363
「現在、大変混み合っております。」ぐみゅう。

俺もレジスタを初期化せずにaddpsのレイテンシ測定とかやって、
「妙に遅いな」とか思ってたことがあったなあ。

マンデルブロ集合をSSEで計算するときも、
計算済みの場所はクリアしないとオーバーフローして遅くなる、
と思ってたが、SSEの∞加算・乗算はCore2でOKなのか。
今、PenMで測ってみても大丈夫っぽい。
上で書いたaddpsで遅くなったケースはCoppermineなので、
P6→PenMで改善されたのかもしれんね。

369 名前:363 mailto:sage [2007/05/28(月) 20:19:35 ]
>>363はずっと混雑しているみたいなので、
こちらにもアップロードさせてもらいました。
よかったら計測してみて下さい。
sakuratan.ddo.jp/uploader/source/date41109.zip

370 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 20:37:55 ]
Opteronじゃなくても結構いける
Athlon3500+
vender:AuthenticAMD CPUID:FF0
x87 SSE SSE2
4.0 4.0 4.0 clk : 正規化数 + 正規化数 = 正規化数
4.0 4.0 4.0 clk : 正規化数 * 正規化数 = 正規化数
20.0 16.0 20.0 clk : 正規化数 / 正規化数 = 正規化数
4.0 4.0 4.0 clk : 非数 + 正規化数 = 非数
4.0 4.0 4.0 clk : 非数 * 正規化数 = 非数
20.0 16.0 20.0 clk : 非数 / 正規化数 = 非数
4.0 4.0 4.0 clk : 非数 + 非数 = 非数
4.0 4.0 4.0 clk : 非数 * 非数 = 非数
20.0 16.0 20.0 clk : 非数 / 非数 = 非数
4.0 4.0 4.0 clk : 正規化数 + 非正規化数 = 正規化数
147.0 141.9 141.9 clk : 非正規化数 + 非正規化数 = 非正規化数
147.0 141.9 141.9 clk : 非正規化数 * 正規化数 = 非正規化数
163.0 153.9 157.9 clk : 非正規化数 / 正規化数 = 非正規化数
4.0 4.0 4.0 clk : +∞ + 正規化数 = +∞
4.0 4.0 4.0 clk : +∞ * 正規化数 = +∞
20.0 16.0 20.0 clk : +∞ / 正規化数 = +∞
4.0 4.0 4.0 clk : +∞ + +∞ = +∞
4.0 4.0 4.0 clk : +∞ * +∞ = +∞




371 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 20:54:11 ]
>>370
AthlonXP3200+だとSSE2はないけどx87とSSEはほぼ同じ結果。

372 名前:1 ◆.MeromIYCE mailto:sage [2007/05/28(月) 20:59:27 ]
>>369
肝心なときに役に立たないまとめサイトであった。

・PentiumM(Dothan-ULV 1.1GHz)
vender:GenuineIntel CPUID:6D6
x87 SSE SSE2
3.1 3.1 3.1 clk : 正規化数 + 正規化数 = 正規化数
5.0 4.0 5.0 clk : 正規化数 * 正規化数 = 正規化数
32.0 18.0 32.0 clk : 正規化数 / 正規化数 = 正規化数
145.5 3.1 3.0 clk : 非数 + 正規化数 = 非数
147.4 4.0 5.0 clk : 非数 * 正規化数 = 非数
151.4 9.0 9.0 clk : 非数 / 正規化数 = 非数
155.5 3.0 3.1 clk : 非数 + 非数 = 非数
157.4 4.0 5.0 clk : 非数 * 非数 = 非数
161.4 9.0 9.0 clk : 非数 / 非数 = 非数
151.5 98.0 98.0 clk : 正規化数 + 非正規化数 = 正規化数
302.8 183.4 183.4 clk : 非正規化数 + 非正規化数 = 非正規化数
302.7 185.4 187.4 clk : 非正規化数 * 正規化数 = 非正規化数
343.7 204.4 218.4 clk : 非正規化数 / 正規化数 = 非正規化数
143.5 3.1 3.1 clk : +∞ + 正規化数 = +∞
139.4 4.0 5.0 clk : +∞ * 正規化数 = +∞
150.4 9.0 9.0 clk : +∞ / 正規化数 = +∞
143.5 3.0 3.1 clk : +∞ + +∞ = +∞
139.4 4.0 5.0 clk : +∞ * +∞ = +∞

実際にこの数字が性能に影響を与えるケースはほとんどないだろうけど、
Core2の、x87はいいからSSEを高速化したいという気持ちが見えるかな。

しかし、PenM→Core2で、レイテンシは全く変わってないな(除算以外)。
#お、無負荷なのにファンが回り始めた。さっきSpeedStep切ったからだ。
FPだと、1.0001をかけ続けても全然オーバーフローしないのね。

373 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 22:51:35 ]
ちょっと泣けるCeleron2GHz
vender:GenuineIntel CPUID:F27
x87 SSE SSE2
5.1 4.2 4.2 clk : 正規化数 + 正規化数 = 正規化数
7.1 6.1 6.2 clk : 正規化数 * 正規化数 = 正規化数
38.1 23.2 38.2 clk : 正規化数 / 正規化数 = 正規化数
906.4 4.1 4.1 clk : 非数 + 正規化数 = 非数
883.3 6.1 6.1 clk : 非数 * 正規化数 = 非数
904.0 23.1 38.1 clk : 非数 / 正規化数 = 非数
940.7 4.1 4.1 clk : 非数 + 非数 = 非数
941.4 6.1 6.1 clk : 非数 * 非数 = 非数
994.7 23.1 38.1 clk : 非数 / 非数 = 非数
960.7 858.4 989.6 clk : 正規化数 + 非正規化数 = 正規化数
1774.2 962.5 1037.5 clk : 非正規化数 + 非正規化数 = 非正規化数
1769.8 979.7 1022.4 clk : 非正規化数 * 正規化数 = 非正規化数
1849.3 1042.8 1093.6 clk : 非正規化数 / 正規化数 = 非正規化数
845.1 4.1 4.1 clk : +∞ + 正規化数 = +∞
868.7 6.1 6.1 clk : +∞ * 正規化数 = +∞
926.4 23.1 38.1 clk : +∞ / 正規化数 = +∞
869.0 4.1 4.1 clk : +∞ + +∞ = +∞
876.8 6.1 6.1 clk : +∞ * +∞ = +∞

374 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 23:12:08 ]
AthlonXP2400 です。

vender:AuthenticAMD CPUID:681
x87 SSE
4.0 4.0 clk : 正規化数 + 正規化数 = 正規化数
4.0 4.0 clk : 正規化数 * 正規化数 = 正規化数
20.0 16.0 clk : 正規化数 / 正規化数 = 正規化数
4.0 4.0 clk : 非数 + 正規化数 = 非数
4.0 4.0 clk : 非数 * 正規化数 = 非数
20.0 16.0 clk : 非数 / 正規化数 = 非数
4.0 4.0 clk : 非数 + 非数 = 非数
4.0 4.0 clk : 非数 * 非数 = 非数
20.0 16.0 clk : 非数 / 非数 = 非数
4.0 4.0 clk : 正規化数 + 非正規化数 = 正規化数
142.9 135.8 clk : 非正規化数 + 非正規化数 = 非正規化数
142.9 135.8 clk : 非正規化数 * 正規化数 = 非正規化数
158.9 147.8 clk : 非正規化数 / 正規化数 = 非正規化数
4.0 4.0 clk : +∞ + 正規化数 = +∞
4.0 4.0 clk : +∞ * 正規化数 = +∞
20.0 16.0 clk : +∞ / 正規化数 = +∞
4.0 4.0 clk : +∞ + +∞ = +∞
4.0 4.0 clk : +∞ * +∞ = +∞

375 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 23:55:02 ]
AthlonXP-M 1800+でも>>374と同様

そしてまた空気を読まずにK6-2 400MHz

vender:AuthenticAMD CPUID:58C
x87
2.0 clk : 正規化数 + 正規化数 = 正規化数
2.0 clk : 正規化数 * 正規化数 = 正規化数
34.0 clk : 正規化数 / 正規化数 = 正規化数
4.0 clk : 非数 + 正規化数 = 非数
4.0 clk : 非数 * 正規化数 = 非数
4.0 clk : 非数 / 正規化数 = 非数
7.0 clk : 非数 + 非数 = 非数
7.0 clk : 非数 * 非数 = 非数
7.0 clk : 非数 / 非数 = 非数
3.0 clk : 正規化数 + 非正規化数 = 正規化数
20.0 clk : 非正規化数 + 非正規化数 = 非正規化数
19.0 clk : 非正規化数 * 正規化数 = 非正規化数
50.0 clk : 非正規化数 / 正規化数 = 非正規化数
4.0 clk : +∞ + 正規化数 = +∞
5.0 clk : +∞ * 正規化数 = +∞
7.0 clk : +∞ / 正規化数 = +∞
6.0 clk : +∞ + +∞ = +∞
5.0 clk : +∞ * +∞ = +∞

376 名前:デフォルトの名無しさん [2007/05/29(火) 07:26:21 ]
pc11.2ch.net/test/read.cgi/jisaku/1179911252/
上記スレで強制NaNの計算でインテル不利にするベンチが論争を呼んでますが
しかえしに極端にAMD不利にする方法を探しています。
では。



377 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 09:08:20 ]
使われないx87が遅くても欠点ではないと思うけど、
SSEには無い命令などで、今でもx87は軽視できない、とな?

378 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 09:32:18 ]
Pentium2 です

vender:GenuineIntel CPUID:633
x87
3.0 clk : 正規化数 + 正規化数 = 正規化数
5.0 clk : 正規化数 * 正規化数 = 正規化数
32.0 clk : 正規化数 / 正規化数 = 正規化数
104.6 clk : 非数 + 正規化数 = 非数
106.6 clk : 非数 * 正規化数 = 非数
110.6 clk : 非数 / 正規化数 = 非数
114.6 clk : 非数 + 非数 = 非数
116.6 clk : 非数 * 非数 = 非数
120.6 clk : 非数 / 非数 = 非数
113.6 clk : 正規化数 + 非正規化数 = 正規化数
216.6 clk : 非正規化数 + 非正規化数 = 非正規化数
217.6 clk : 非正規化数 * 正規化数 = 非正規化数
258.7 clk : 非正規化数 / 正規化数 = 非正規化数
103.6 clk : +∞ + 正規化数 = +∞
101.6 clk : +∞ * 正規化数 = +∞
111.6 clk : +∞ / 正規化数 = +∞
103.6 clk : +∞ + +∞ = +∞
101.6 clk : +∞ * +∞ = +∞


379 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 11:04:27 ]
くそ、お前らのせいでMMX Pentiumを探したくなって、
しかも見つけてしまったではないか。


ちょっとママン探してくるノシ

380 名前:363 mailto:sage [2007/05/29(火) 20:51:43 ]
たくさんの計測結果ありがとう。
AMDのCPUは昔からNaN,∞に強いんですね。
特にK6-2は非正規化数もかなり速いですね。
Netburstは強烈に遅くなりますね…(汗)
ただNetburstでもSSE,SSE2を使えばNaN,∞は問題ないですね。



381 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 21:22:56 ]
Athlon64X2 3800+@939だと>>370と同じだった
vender:AuthenticAMD CPUID:FB1
x87 SSE SSE2

382 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 02:17:48 ]
>>379
ワクテカ


383 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 23:09:59 ]
河童800

vender:GenuineIntel CPUID:686
x87 SSE
3.0 3.0 clk : 正規化数 + 正規化数 = 正規化数
5.0 4.0 clk : 正規化数 * 正規化数 = 正規化数
32.0 18.0 clk : 正規化数 / 正規化数 = 正規化数
107.5 3.0 clk : 非数 + 正規化数 = 非数
109.4 4.0 clk : 非数 * 正規化数 = 非数
113.6 9.0 clk : 非数 / 正規化数 = 非数
115.5 3.0 clk : 非数 + 非数 = 非数
117.5 4.0 clk : 非数 * 非数 = 非数
121.6 9.0 clk : 非数 / 非数 = 非数
115.4 78.5 clk : 正規化数 + 非正規化数 = 正規化数
220.6 136.4 clk : 非正規化数 + 非正規化数 = 非正規化数
221.9 138.5 clk : 非正規化数 * 正規化数 = 非正規化数
263.6 158.6 clk : 非正規化数 / 正規化数 = 非正規化数
106.5 3.0 clk : +∞ + 正規化数 = +∞
105.5 4.0 clk : +∞ * 正規化数 = +∞
113.4 9.0 clk : +∞ / 正規化数 = +∞
106.5 3.0 clk : +∞ + +∞ = +∞
105.4 4.0 clk : +∞ * +∞ = +∞


384 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 09:21:01 ]
やべ、ママン見っける前にこっちに持って行きたくなっちまったw
ttp://www.faith-go.co.jp/sale/20th_cpu.asp

385 名前:363 mailto:sage [2007/05/31(木) 20:38:14 ]
>>383
あれ?CoppermineでもSSEはNaN,∞で問題ないですね…。

386 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 22:53:54 ]
Tualatin(P3-s)の1.13GHz
vender:GenuineIntel CPUID:6B1
x87 SSE
3.0 3.0 clk : 正規化数 + 正規化数 = 正規化数
5.0 4.0 clk : 正規化数 * 正規化数 = 正規化数
32.0 18.0 clk : 正規化数 / 正規化数 = 正規化数
105.2 3.0 clk : 非数 + 正規化数 = 非数
107.2 4.0 clk : 非数 * 正規化数 = 非数
111.2 9.0 clk : 非数 / 正規化数 = 非数
115.2 3.0 clk : 非数 + 非数 = 非数
117.2 4.0 clk : 非数 * 非数 = 非数
121.3 9.0 clk : 非数 / 非数 = 非数
114.2 77.6 clk : 正規化数 + 非正規化数 = 正規化数
221.4 134.2 clk : 非正規化数 + 非正規化数 = 非正規化数
222.4 136.2 clk : 非正規化数 * 正規化数 = 非正規化数
263.4 155.2 clk : 非正規化数 / 正規化数 = 非正規化数
104.2 3.0 clk : +∞ + 正規化数 = +∞
102.2 4.0 clk : +∞ * 正規化数 = +∞
112.2 9.0 clk : +∞ / 正規化数 = +∞
103.6 3.0 clk : +∞ + +∞ = +∞
102.2 4.0 clk : +∞ * +∞ = +∞

387 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 09:03:50 ]
> AMDのCPUは昔からNaN,∞に強いんですね。
幾ら強くても普通にそれ使わないからムダw

388 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 09:17:01 ]
つかなんでNANとINF食うとストールするんだろ


389 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 11:37:56 ]
>388
どこかで場合わけして、該当したらマイクロコードに飛ぶんじゃない?

390 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 16:02:44 ]
MMX Pentium 166MHz

vender:GenuineIntel CPUID:543
x87
3.0 clk : 正規化数 + 正規化数 = 正規化数
3.0 clk : 正規化数 * 正規化数 = 正規化数
33.0 clk : 正規化数 / 正規化数 = 正規化数
70.1 clk : 非数 + 正規化数 = 非数
70.1 clk : 非数 * 正規化数 = 非数
71.1 clk : 非数 / 正規化数 = 非数
102.1 clk : 非数 + 非数 = 非数
102.1 clk : 非数 * 非数 = 非数
104.1 clk : 非数 / 非数 = 非数
76.0 clk : 正規化数 + 非正規化数 = 正規化数
184.1 clk : 非正規化数 + 非正規化数 = 非正規化数
181.1 clk : 非正規化数 * 正規化数 = 非正規化数
214.1 clk : 非正規化数 / 正規化数 = 非正規化数
66.1 clk : +∞ + 正規化数 = +∞
75.1 clk : +∞ * 正規化数 = +∞
83.1 clk : +∞ / 正規化数 = +∞
75.1 clk : +∞ + +∞ = +∞
70.1 clk : +∞ * +∞ = +∞



391 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 10:14:59 ]
>>389
そういえばそんな物あったね、もうね、すっかり失念。


392 名前:1 ◆.MeromIYCE mailto:sage [2007/06/11(月) 11:41:04 ]
Coppermine-128K Celeron-400MHz
vender:GenuineIntel CPUID:681
x87 SSE
3.0 3.0 clk : 正規化数 + 正規化数 = 正規化数
5.0 4.0 clk : 正規化数 * 正規化数 = 正規化数
32.0 18.0 clk : 正規化数 / 正規化数 = 正規化数
104.6 3.0 clk : 非数 + 正規化数 = 非数
106.6 4.0 clk : 非数 * 正規化数 = 非数
110.6 9.0 clk : 非数 / 正規化数 = 非数
115.6 3.0 clk : 非数 + 非数 = 非数
117.6 4.0 clk : 非数 * 非数 = 非数
121.6 9.0 clk : 非数 / 非数 = 非数
113.6 77.6 clk : 正規化数 + 非正規化数 = 正規化数
215.6 133.6 clk : 非正規化数 + 非正規化数 = 非正規化数
216.6 135.6 clk : 非正規化数 * 正規化数 = 非正規化数
257.6 154.6 clk : 非正規化数 / 正規化数 = 非正規化数
103.6 3.0 clk : +∞ + 正規化数 = +∞
101.6 4.0 clk : +∞ * 正規化数 = +∞
111.6 9.0 clk : +∞ / 正規化数 = +∞
103.6 3.0 clk : +∞ + +∞ = +∞
101.6 4.0 clk : +∞ * +∞ = +∞

>>368は、たまたま非正規化数で測ってしまって勘違いしたのかな。
>>383とほぼ同じだ。こちらが少し速いのは、クロックの差か、ステッピングか、測定誤差か。
むしろ>>378に近い数字だ。

>>390
性格はP6と同じっぽいね。やはり古いだけあってクロック当たりの性能はいいけど。
小数点以下の数字が、みんな1なのが面白い。

393 名前:1 ◆.MeromIYCE mailto:sage [2007/06/11(月) 14:01:42 ]
>>376
テーマとしては面白いね。
K8に対して、Northwoodが勝つにはadd eax,eaxを繰り返せばクロック当たりで倍の性能になる。
K8に対してPentiumMが勝つには、paddd mm0,mm0を繰り返せばこれも倍。
あとは排他キャッシュの弱点をえぐり出すことかな。

Prescottが勝つのはどうするんだろ。
別にadd eax,eaxでもクロック当たりで互角だから、高クロック型のPrescottが勝ちと言えるけど、
どうせならクロック当たりの性能でも勝つのを考えたいよな。
単にL2帯域で比べてもいいが、それじゃ面白くない。K8は弱点少ないから攻めにくいねえ。

394 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 14:29:43 ]
俺はAMDユーザーだからIntelに負けて欲しいな。

395 名前:・∀・)っ-○◎● mailto:sage [2007/06/11(月) 21:51:03 ]
ららびー

396 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 00:10:28 ]
そういえば団子のサイトのRSSっておかしくね?

397 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 00:12:00 ]
団子ちゃんのサイトなんてあったの!?
ちょー見てー! アドレス教えて!

398 名前:・∀・)っ-○◎● mailto:sage [2007/06/12(火) 00:14:29 ]
SPAMトラックバック掃除したときに消したまんまだ

なんか記事更新すれば再生成されるからマットれ


ネタは>>395

399 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 00:35:24 ]
ぐぐったら www.sourcream.jp/archives/2007/03/00081.php
これがトップにきたんだけど、団子ちゃんってこんなにめんこかったのか! (*´Д`*)

400 名前:・∀・)っ-○◎● mailto:sage [2007/06/12(火) 07:35:36 ]
掃除前の記事はRSSに出ないみたいだね。



401 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:20:45 ]
pc11.2ch.net/test/read.cgi/mac/1159817811/794
Page31
Gesherの 7 DP Flop/cycle/core の内訳を予想してみた

FPADD: 2 DP(4 SP)
FPMUL: 2 DP(4 SP)
Dot Product@SSE4.1: 3 DP(7 SP)

402 名前:401 mailto:sage [2007/06/15(金) 01:43:25 ]
Dot Product(内積)命令については以下の資料を参照
Page18
https://intel.wingateweb.com/published/BMAS005/BMAS005_100Eng.pdf
Page65-70
softwarecommunity.intel.com/isn/Downloads/Intel%20SSE4%20Programming%20Reference.pdf

403 名前:・∀・)っ-○◎● mailto:sage [2007/06/21(木) 23:39:39 ]
P35マザーで組んだけどなんか人柱依頼ある?

#E6420を2.66GHzで動かしてたりするんだがwwww

404 名前:1 ◆.MeromIYCE mailto:PPGZsage [2007/06/22(金) 00:01:08 ]
>>403
こういうときのために平素から測定プログラムを作っておくんだったと後悔しきり。
とはいえ最近、自分で高速化する需要が減ってたりする。

やはり自分で何か作って、それを高速化したいとなって初めて
クロック測定の意欲が出てくるんだなあと、このごろ思うのです。
#ららびーでマンデルブロ集合描かせるくらいしか夢がない。

405 名前:・∀・)っ-○◎● mailto:sage [2007/06/22(金) 00:19:46 ]
ちょうどVista x64動かしてるから命令長ネックの検証でもしてみるのも手だと思うけど


406 名前:1 ◆.MeromIYCE mailto:sage [2007/06/22(金) 00:38:27 ]
うお!64bitOSかよ。それを先に言え。
つっても俺は環境なしにコード書けるほど器用じゃない。すまん。

407 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 16:49:54 ]
そこでVMwareに64bitLinuxですよ


408 名前:・∀・)っ-○◎● mailto:sage [2007/06/23(土) 18:29:39 ]
アレってx64非対応の石でも使えたっけ?
QEMUならx64エミュレータあるね

409 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 11:02:21 ]
>>408
今時amd64非対応の石なんて使ってないだろ。

32bitOSの上でも64bitOS動かせるからそうしろってこと。

410 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 16:29:52 ]
動かせないよ



411 名前:・∀・)っ-○◎● mailto:sage [2007/06/24(日) 16:46:56 ]
GeodeやCore (2じゃないほう) Duo/Soloは非対応だよ。
モバイル用途ではまだまだ現役。

てか1の中の人のPCはLV Dothanじゃなかったっけ

412 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:50:13 ]
>>410
VMwareなら動かせるよ。

413 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 19:53:29 ]
VMWareはx64が使えれば動かせるな

414 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 23:28:14 ]
C2DだけどXP(32bit)の上ではx64版の犬がインストールできなかった

415 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 23:43:40 ]
>>414
ちゃんとVTをオンにしているんだろうな。

416 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:11:55 ]
え、VMware使ったら32bitのホストOSの上で64bitのゲストOS動かせんの?
今までホストも64bitじゃないと無理だと思ってたんだが。

417 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:21:11 ]
お前の思いこみを吐露しろなんて誰もいってないぞ。

418 名前:410 = 414 mailto:sage [2007/06/25(月) 00:34:19 ]
>>415
うっ、、、してなかった;;

419 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 19:19:27 ]
531 :Socket774:2007/06/27(水) 17:29:08 ID:7g9GfI7V
・・・Barcelonaの値段出てるみたいだけど、そんなに高くないか。
ただ、上位は消費電力も性能も値段もウンコだな。

2340 1.9GHz 95W $320
2350 2.0GHz 95W $390
2352 2.1GHz 95W $450
2354 2.2GHz 95W $610
2356 2.3GHz 95W $795
2358 2.4GHz 120W $1180
2360 2.5GHz 120W TBA

537 :Socket774:2007/06/27(水) 18:11:48 ID:V0//xVyS
>>531
登場時期も書いてやれ。

9月10日
2340 1.9GHz 95W $320
2350 2.0GHz 95W $390
10月
2352 2.1GHz 95W $450
2354 2.2GHz 95W $610
たぶん年内
2356 2.3GHz 95W $795
2358 2.4GHz 120W $1180
すぐには出ない
2360 2.5GHz 120W TBA

420 名前:・∀・)っ-○◎● mailto:sage [2007/06/29(金) 02:25:42 ]
強気すぎるだろwwwwww
Q6600ですら95Wで266ドルになるのに。

AMDのTDPはK10からIntelと共通化したとか。



421 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 03:37:55 ]
何で1PのQ6600が出てくるのか

422 名前:・∀・)っ-○◎● mailto:sage [2007/06/29(金) 03:41:32 ]
ああ2Way Opteronか。

と思ってXeonの改定価格みてきた。
Conroe/Kentsfieldと大して変わらんじゃないか

AMDの中の人正気?

423 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 20:42:38 ]
596 :MACオタ:2007/06/29(金) 19:11:00 ID:hM78bIG1
最近の書き込みを読む限り、やっとこのスレも現実を直視できる普通のヒトが増えてきたすね。
アム虫と呼ばれた連中が出て行ってくれたのわ結構な話す。
さてBarcelona搭載予定のSUNの"Constellation System"のニュースわ周知のことと思うす。
japan.cnet.com/news/ent/story/0,2000056022,20351637,00.htm
TACC (Texas Advanced Computing Center)のサイトで仕様の詳細を読むと、
www.tacc.utexas.edu/resources/hpcsystems/#ranger
 ・13,152プロセッサ
 ・クアドコアアップグレード版で予想ピーク性能: 421TFlops
これから動作クロックを計算すると、Barcelonaわコアあたり4-flopsすから、
 420 x 10^3 [GFlops] / ( 13,152 [processors] x 4 [core] * 4 [flops/core] ) 〜 2.0 [GHz]
となるす。
今年いっぱいわ、最重要顧客向ですら提供できるのが2GHzということが判るす。

424 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 02:55:43 ]
techreport.com/onearticle.x/12777

xeonに信頼性なんて無いんですかねぇ…

425 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 08:30:27 ]
Various developers are busy implimenting workarounds for serious bugs in Intel's Core 2 cpu.
信頼性が無いのはお前の頭だと思う...

426 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 12:07:39 ]
>>425
テオ様が痛い人なのは同意だけど、技術的な嘘を付くような人ではないと思うぞ。
OS作成者から見て嫌なバグとアプリケーション開発者からみて嫌なバグは違うし。

427 名前:MACオタ>426 さん mailto:sage [2007/06/30(土) 14:46:11 ]
>>426
  ----------------
  OS作成者から見て嫌なバグとアプリケーション開発者からみて嫌なバグ
  ----------------
そういった問題ですら無いみたいすけど。。。
www.geocities.jp/andosprocinfo/wadai07/20070630.htm
  =================
  まあ,ハードのバグと言えばバグですが,リザーブの値を書き込んでいるBIOSだってバグ
  だよねという感じのバグです。
  =================

428 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 16:42:14 ]
NHK「本日未明、ド田舎村で不発弾が発見されそれを自衛隊が処理しました。」
>>424「日本って超危険な国家だったんだ。国外に脱出せねば。」

429 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 20:18:34 ]
このスレで話題になってたと思うけどBarcelonaのL3接続図
ttp://opentechpress.jp/enterprise/article.pl?sid=07/07/02/0831208&from=rss
これ、なんの資料から取り出したのかわからんけど全部L3経由になってんの。
真実はどこにー。

430 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 20:25:06 ]
見つけた。これだわ。
ttp://multicore.amd.com/us-en/AMD-Multi-Core/Products/Barcelona.aspx
オフィシャル画像だからそうなんだろーなー。
マルチコア且つマルチチップを念頭に置いたらこうなったって感じなのかなあ。
個人的には4コアで十分だからあとはメモリバス幅を広げるためだけの
ブリッジコアみたいなのが出て欲しい。



431 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 22:39:47 ]
>>429
IntelもL$2経由で接続するし、HT経由より速いんじゃないか?

432 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 02:54:28 ]
>>430
こう考えるんだ。

各種I/OもCPU内蔵キャッシュの恩恵にあずかれると。


433 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 04:14:58 ]
ライトバックだったらイヤだな

434 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 06:44:48 ]
>>432
バカ?

435 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 03:14:12 ]
>>434
ネタにマジレスかこわるい

436 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:56:33 ]
532 :名無しさん@5周年:2007/07/16(月) 06:50:45
NVIDIA、G80ベースのHPC向けGPU「Tesla」 〜PCI Expressカードタイプから1Uラックまで
pc.watch.impress.co.jp/docs/2007/0621/nvidia.htm


535 :名無しさん@5周年:2007/07/16(月) 16:37:16
>>532
1,499ドルか
日本円にすると18万円くらいか
これってコストパフォーマンスいい方?

536 :名無しさん@5周年:2007/07/16(月) 17:31:25
単精度もろくに実装してないゴミに18万も払ってどうするの

537 :名無しさん@5周年:2007/07/17(火) 14:09:58
>>536 倍精度の間違いだろ

どのへんが導入するんだろうねコレ

539 :名無しさん@5周年:2007/07/18(水) 13:55:41
>>537
developer.download.nvidia.com/compute/cuda/1_0/NVIDIA_CUDA_Programming_Guide_1.0.pdf
For addition and multiplication, only round-to-nearest-even and round-towards-zero are supported via static rounding modes
directed rounding towards +/- infinity is not supported

437 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:27:25 ]
vtuneの話はここでいいですかね

438 名前:・∀・)っ-○◎● mailto:sage [2007/07/20(金) 01:19:22 ]
同じ18万ならAmiga最上位版買うな

439 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 01:33:38 ]
同じ18万なら8800GTX搭載Core2Duo搭載のPC一台組むな。

440 名前:デフォルトの名無しさん [2007/08/08(水) 10:58:52 ]
age



441 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 18:37:56 ]
AMD K10 Micro-Architecture
www.xbitlabs.com/articles/cpu/display/amd-k10.html

442 名前:1 ◆.MeromIYCE mailto:sage [2007/08/19(日) 09:50:31 ]
>>441
ピークIPCこそ3のままだが、32byteフェッチとSSEがDirectPathになるのが大きい。
SSEのロードも高速化されるし、命令の流れは相当スムースになると思う。

シャッフル系SSEの性能が気になるところ。
スタックエンジンに当たるものは、Intelと少し違うように見えるが、
そもそもIntelのやつも、どの程度スタックのオーバーヘッドが残るのか知らないしな。

サーバー向け4コアをターゲットに最適化してるっぽいから、
最初の一般向けデュアルコアの勝負では微妙な感じもする。
まあ、そのうち4コアが主流になるだろうから長期的にはむしろ有利か。
#てかクロックがもうちょっと上がらないときつい気が・・・

443 名前:MACオタ>1 さん mailto:sage [2007/08/19(日) 12:50:50 ]
>>442
以前から疑問だったすけど、立ち寄ったついでに質問させていただくす。
  ---------------------
  ピークIPCこそ3のままだが、
  ---------------------
AMDのプロセッサの場合issue queue(x86的にわROBすか?)にわロードと演算命令が
マージされたMacro-Opsとして格納され、実行時に2つのMicro-Opsに分解されるす。
これってIPC的にわ6命令と数えないすか?


444 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 14:30:03 ]
それはインテル流に言えばUPC(micro-ops per cycle)。

445 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 14:38:03 ]
MACオタがマイクロアーキテクチャをよく理解していないということがわかるな。
>>1のいっているピークIPCとはプロセッサのパイプラインにおいて
理論的に持続可能な命令レートを指しているので、IPC=3にほかならない。

446 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 15:26:10 ]
あんま関係ないけど最近IPCって言葉が乱用されすぎだよね。
大原氏が発端だと思うけど、プロセッサの内部の話でIPCという言葉は不適切だと思う。
○○並列とか○○issueみたいにハード的な見地の用語で統一してほしい。
IPCはソフトを走らせたときの話でよくでてくる用語だからなあ。
特に内部ステージで局所的に命令がいくら流れようがIPC(=ソフトから見える)には影響しないわけで。

447 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 15:29:03 ]
○○並列というのはないか。
○○wayというも今時のプロセッサにはアレだし。
retire/cycleとか使っているのは最近みた。

448 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 17:48:42 ]
リタイアメントuOPs数で比較する?

449 名前:1 ◆.MeromIYCE mailto:sageこのスレへの書き込み初めてじゃね? [2007/08/19(日) 19:59:46 ]
>>443
俺が言ったのは、1clkにつきx86命令を(持続的に)3つを超えては処理できないということ。
ところで、最近自作板でも面白い話題が少ないねー。

まあ、>>446みたいなことは俺も思う。
命令の単位が、x86命令か、Macro-Opsか、Micro-Opsか、スタックエンジン等は含めるのか、
好きな命令か、与えられた命令か、持続できる性能か、瞬間的な性能か、平均的な性能か、
単にIPCと書いたときは、これらのことを省略して書いたことになるわけですな。

>>442では、このスレなら(言葉が適切かどうかはともかく)言いたいことが簡単に伝わると思って使った。
ニュアンスとしては、K8のデコード・発行・ALU・リタイヤのユニットがきれいに3つずつであるように
今度のAMDが出す新CPUも「3つずつ」という構造は同じっぽいなあ、という感じ。
わかりにくいならすまんかった。

450 名前:MACオタ>1 さん mailto:sage [2007/08/19(日) 20:45:04 ]
>>449
かなり初期からMicro-ops fusion相当の機能を持つ命令処理ユニットを備えていたAMDのアーキテクチャわ、
比較的小さな進歩でx86命令換算でのIPCを上げる潜在能力を持つと思うという話だったすけど。K8Lのレベル
でわ望み薄すか。。。
  --------------------------
  単にIPCと書いたときは、これらのことを省略して書いたことになるわけですな。
  --------------------------
ベンチマークとして広く使われるDhrystoneだと、結果の単位わMIPSでも異なるアーキテクチャを比較するために
標準システムでの結果との比を取っているだけすから、深く考える必要も無いかと思うす。



451 名前:1 ◆.MeromIYCE mailto:sageMACオタと話すの久しぶりでナツカシス [2007/08/19(日) 21:23:57 ]
>>450
いや平均IPCは上がるでしょ。
Core2みたいなマクロフュージョンがないならピークIPCを上げることは無理だけど。
でも、ピークIPCを上げる目的は、平均IPCを上げることだから無問題。

> 深く考える必要も無いかと思うす。
Dhrystoneの話とわかっていてそのベンチ内容も知っている読み手ならいいが、
そうでないときの乱用が最近目立つから困ると言っているのだ。

452 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/08/19(日) 21:27:52 ]
白い変人ことだんごです。
賞味期限切れてることは内緒です。

453 名前:デフォルトの名無しさん mailto:sage 素直にMACヲタはうっとおしいといえよw [2007/08/21(火) 14:53:32 ]
>>451

454 名前:デフォルトの名無しさん mailto:sage んなことは言うまでもないっしょ [2007/08/21(火) 15:14:50 ]



455 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:27:19 ]
これと
xchg edx, [eax]
これ
mov ecx, [eax]
mov [eax], edx
mov edx, ecx
どっちが早い

456 名前:デフォルトの名無しさん [2007/08/22(水) 21:32:55 ]
なんか、デジャヴが

457 名前:デフォルトの名無しさん [2007/08/22(水) 21:37:00 ]
319 名前:名無したん(;´Д`)ハァハァ[sage] 投稿日:2007/08/22(水) 16:08:34 ID:aEA9W/2t
ttp://kissho2.xii.jp/20/src/2yoshi2512.7z.html 目欄
344 名前:名無したん(;´Д`)ハァハァ[sage] 投稿日:2007/08/22(水) 18:55:20 ID:YevU/rPG
>>319はウイルス。拡張子が怪しすぐる

らき☆すた 27
sakura03.bbspink.com/test/read.cgi/ascii2d/1187586266/

458 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/08/23(木) 00:16:27 ]
>>455
んなもんCPUによる
少なくともP6系アーキでは前者はストールしまくりんぐ

ところで計測くらい自分でできるよな?

459 名前:1 ◆.MeromIYCE mailto:sage別にうっとうしくないが [2007/08/23(木) 10:13:19 ]
xchg edx, [eax] は19clkとかかかって、何でこんなに遅いんだと思ったら、
LOCKがかかるのね(詳しい動作は知らんけど)。

早くデュアルコア欲しいなあ。

460 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 22:12:01 ]
These improvements should help K10 execute programs written in high-level object-oriented code much faster.
Unfortunately, it is very hard to objectively estimate the efficiency of the K10 branch prediction unit, but according to some data, it may be lower in some cases than by Intel processors.

他にもあるが全体的にK8Lは劣化版Coreって感じだな。
あ、プロセサコアの話ね。念のため。



461 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/08/25(土) 22:23:17 ]
Pentium Mで導入された間接分岐の予測器をようやく採用したのか



462 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 22:28:38 ]
間接分岐の予測自体は以前からあるけどな
前回と同じ場所に分岐するという簡素なものだけど

463 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/08/25(土) 22:37:33 ]
Quick and Dirty Quad-Core "Penryn" Benchmarks
www.dailytech.com/article.aspx?newsid=8585

SSE4とか除算とか使わない限り速さは実感できないかなこれ。

ICC10のsmmintrin.hとnmmintrin.hでSSE4利用可能っぽい。

464 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 23:18:13 ]
ICL10ちゃうの?

465 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 23:26:40 ]
>>464
ICLってなに?
IntelCompilerのことなら、通常iccというと思うのだけれど。

466 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 23:29:12 ]
コマンド名っしょ。
LinuxがccをもじってiccでWindowsがVisual C++のコマンド名clをもじってicl。

467 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/08/25(土) 23:29:27 ]
EXEの名前がicl.exe
Visual C++の略称がclだと思ってるんだよきっと。

468 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/08/25(土) 23:30:16 ]
>>466
ICCはIntel C/C++ Compilerの頭文字とったものだと思ってたが


469 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 23:34:35 ]
ccがc compilerなんだからモジってようがモジってまいが
Intel C/C++ Compilerで間違っちゃいないでしょ。

470 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 01:54:00 ]
Linux/ICC,Win/ICLで使い分けることはあるにしろどっちでも通じると思ってた
まぁどうでもいいじゃん



471 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 14:36:41 ]
確かにどっちでもいいが





コマンド名的にはどう考えてもiccのが美しい

472 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 19:56:45 ]
oic

473 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 23:49:38 ]
コンピュータアーキテクチャの話
(91) シフト回路(シフター)
journal.mycom.co.jp/column/architecture/091/index.html
> 例えば、IntelのCore 2プロセサのデータシートでは、ADD/SUBは
> 1サイクル(短い場合は0.5サイクルの命令もある)で終わるのであ
> るが、シフト命令は4サイクルを必要としている。

正確には、Core 2のデータが書かれている
"Intel(R) 64 and IA-32 ArchitecturesOptimization Reference Manual"
developer.intel.com/products/processor/manuals/index.htm
のWillamette/Northwood(Family_Model:0F_02H)のデータだと思われる
少し紛らわしい

474 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 10:08:44 ]
>少し紛らわしい
どころじゃないんじゃね?

475 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 16:09:22 ]
実際のところはダンゴさんにピシっと語っていただこう

476 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 16:51:24 ]
ttp://pc.watch.impress.co.jp/docs/2007/0830/amd2.htm
AMD、新たなx86拡張命令セット「SSE5」〜「Bulldozer」コアに搭載予定

まったクソややこしいことしくさるな、AMDは。

477 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 18:20:22 ]
オペランドが増えているのにソースの一つにメモリを指定出来るのが面白いな。

478 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 20:04:45 ]
PCMOVはMMXのころから欲しかった機能だ

479 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/09/02(日) 08:22:23 ]
Intelは放置する

480 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 09:05:51 ]
CMOVPS/PDがないな



481 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/09/02(日) 10:32:14 ]
CPUID EAX:80000001に定義ビットがあるようなものをIntelが採用するわけがない。
(唯一の例外はx64回り)


482 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 17:37:18 ]
>>481
期待して自分が傷つきたくないだけでしょ。

483 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/09/02(日) 17:58:06 ]
本質的にはこうなんだよ

Intel: SSSE3+SSE4.1+SSE4.2
AMD: SSE4A+SSE5A

というかどうみてもAMDが無断で使った名前です。本当にありがとうございました。
「3DNow! 128」にしてくれ。


484 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 18:32:26 ]
いや、むしろIntelのと比較するとDSPNow!だな。

485 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/09/02(日) 18:35:38 ]
確かに内積演算なんかはIntelのがリッチに見える。
AMDのはIBMがかんでるせいかAltiVecっぽいオペレーションが統合されてる。

486 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 18:45:10 ]
ダンゴさんが語るとスレが引き締まるな

487 名前:・∀・)っ[486] mailto:だんごだんごだんごだんごsage [2007/09/02(日) 18:51:17 ]
なにこいつ

488 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:01:32 ]
Intel64に続いてSSE5の登場か・・・言ったもん勝ちだな

489 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:38:03 ]
x64をAMD64と呼び
SIMD拡張をSSE5と呼ぶ






こういう挑発ばっかしてないでさっさとK10出せ

490 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 12:18:22 ]
>>489
x64ってめちゃくちゃダサいっていうか意味不明だろ。
xってなんだ?



491 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 12:32:09 ]
x86-64と書くのが自分のお気に入り。

492 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 16:48:16 ]
ちょwwwそれお気に入りでもなんでもないだろ

493 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 22:29:34 ]
いっそx68にすべきだったな

494 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 01:57:37 ]
リトルエンディアンのアーキテクチャに68と付けるな!

495 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 12:04:53 ]
Intel Core2 Duo E6800

496 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 22:54:10 ]
techreport.com/articles.x/13176
www.anandtech.com/IT/showdoc.aspx?i=3091
www.anandtech.com/cpuchipsets/showdoc.aspx?i=3092
www.tecchannel.de/server/prozessoren/1729224/

497 名前:1 ◆.MeromIYCE mailto:sage [2007/09/17(月) 11:16:06 ]
いよいよベールを脱ぐIntelの次期CPU「Nehalem」
pc.watch.impress.co.jp/docs/2007/0916/kaigai386.htm

Nehalemについて。
ネイティブクアッドコアということで、ノート用のデュアルコアをうまく作れるかに注目したい。
まあ、ノートは当面Core2一本で行くような気がするけど。
キャッシュは共有8MB。今のCore2は65nmで4MB、45nmのPenrynで6MBなので、
45nmから始まるNehalemでは妥当なところだろう。

拡張命令は、MeromのSSSE3、PenrynのSSE4に続いて、ATAという特定用途向けを載せる。
下の記事では、CRCチェックをすると言われている。
pc.watch.impress.co.jp/docs/2006/1004/kaigai307.htm

各コアにSMTを載せているというのが驚きだ。
4コア*2で8スレッドを並列実行できることになる。
これは、Core2の弱点であった命令フェッチをかなり強化していると思っていいだろう。

「Turbo Mode」については不明ということだが、IDAの改良版だろう。
Vistaでも働くようになるかなあ。この辺りは、OSの協力も欲しいところではある。

TDPは最大のもので130W。今とあまり変わらない感じだ。

そして、ついにメモリコントローラが統合された。3チャネルのDDR3となる。
その他の入出力はIntel QuickPath interconnectというシリアルインターフェイスになる。
よくわからんが、最近のボトルネックらしいので、かなり強化される模様。

個人的には、コア数のバリエーションとキャッシュ構造が一番気になるところだ。
#最近こういう記事がなかったんで、既出情報も多いのに全然覚えてなかった。。

498 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 11:44:20 ]
Intel uPs Info 2 落ちたにょ

499 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 12:41:27 ]
> ついにメモリコントローラが統合された

大爆笑

500 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 18:41:56 ]
を? 今までは非同期SRAMすら直付け出来なかったとか?




501 名前:1 ◆.MeromIYCE mailto:sage [2007/09/21(金) 10:24:48 ]
チックとタック。あなたの好みはどちら
pc.watch.impress.co.jp/docs/2007/0921/mobile393.htm

俺はやっぱりPenryn萌えだなあ。今使ってるのも「チック」のDothanだ。
確かにNehalemも燃えるんだけどね。しみじみとした情緒が欲しい。

502 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 20:49:59 ]
Silverthron@0.55W未満 の実働デモに萌えた
pc.watch.impress.co.jp/docs/2007/0921/idf06.htm

503 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/09/25(火) 07:19:44 ]
Yorkfieldは買うじぇ

こいつは既出?
softwarecommunity.intel.com/articles/eng/1193.htm

SDK for 45nm Next Generation IntelR Core?2 Processor Family and IntelR SSE4 (Penryn SDK)

をDLして味噌。



SSE4開発のためのPDF一式とか、SSSE3とSSE4のMASM用のマクロ定義とか。
あと、SSE4までのインストラクションをトラップしてエミュレーションで実行するDLLが入ってる。
実クロックの計測は無理だけど一応動作は確認できる。


504 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 18:02:17 ]
 

505 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 20:20:32 ]
Harpertown Instruction Latency Dump
aceshardware.freeforums.org/viewtopic.php?t=210&sid=5dc2a71551abd0673579ba2b1f61c522
> I hope you will find this interesting: www.freeweb.hu/instlatx64/InstLatX64_GenuineIntel0010674_Core_Harpertown_2660MHz.txt
> SSE4.1 instructions included. :)
>
> For comparison use this collection: instlatx64.fw.hu/

Barcelona(Rev.B1?)もあるみたい
ttp://www.freeweb.hu/instlatx64/InstLatX64_AuthenticAMD0100F21_K10_Barcelona_1900MHz.txt

506 名前:1 ◆.MeromIYCE mailto:sage [2007/10/12(金) 18:53:53 ]
>>505
これはスゲエ。
Barcelonaは相変わらずSIMD論理演算のレイテンシが2だな。
addssとかのスループットも1clkに1命令を超えるのは無理か。
Crusoeの変態モーフィングも面白いなあ。

さて、これを全部まとめてExcelの表にするにはどうしたらいいかな・・・。

507 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 00:04:41 ]
へたくそだけど

s/=/:/g
s/¥s+[LT]:/:/g
s/^(¥s+¥d+)¥s+(¥S+)¥s+:([^:]+):/¥1:¥2:"¥3":/g
s/(¥d+¥.¥d+)¥w+/¥1/g
s/:/,/g
s/¥[(no true dep¥.|memory dep¥.)¥]/,/g

508 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/10/13(土) 00:13:50 ]
シャッフル演算のレイテンシが1ってとこに注目

509 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 01:00:45 ]
SSE2のPMAX/MINのスループットは0.5だが
SSE4.1のPMAX/MINのスループットは1

510 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/10/13(土) 01:05:39 ]
命令長が長くなるから自重



511 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/10/13(土) 20:28:33 ]
なにげにAMDのmovntss/dが速いな

512 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 20:51:30 ]
ダンゴさんが連投すると盛り上がるな

513 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 20:57:36 ]
盛大に盛り上がってるね。

514 名前:・∀・)っ-○◎● mailto:だんごだんごだんごだんごsage [2007/10/13(土) 21:02:27 ]
うるしぁバールのようなものぶつけんぞ

515 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 21:08:41 ]
すごい盛り上がりだね。

516 名前:デフォルトの名無しさん [2007/10/13(土) 21:56:56 ]
じゃあ上げとくか

517 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 00:25:28 ]
気がついたら 同じ言い訳ばかりしてる
そしていつも純損失を計上
あきらめずにIntelのプロセスに挑戦するけど
すぐ微細化するよ

シェアがあれば らくに研究費確保できるけど
何回やっても 何回やっても
Intelがたおせないよ

あのプラットフォーム何回やっても崩せない
イベント開いて FUDしつづけても
いずれはベンチが晒される

ペーパーローンチも試してみたけど
次世代相手じゃ意味が無い!

だから次は絶対勝つために
僕はファブだけは最後までとっておく

518 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 00:27:12 ]
気が付いたら 振り子が揺れてる
そしていつも周回遅れ
諦めずにアーキを全面刷新するけど
すぐにメッキはがれる

K8でいけば らくにPrescottたおせるけど
何回やっても 何回やっても
Baniasがたおせないよ

PenM系のトランジスタ効率破れない
アーキの方向まねしてみても
インプリメントで差がつく

高価な製造技術試してみたけど
Intel相手じゃ意味がない!

だから次は絶対勝つために
僕は裁判費用だけは最後までとっておく

519 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 00:59:45 ]
こういうのって本当におもろいと思って書いてるのかなぁ。

520 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 16:39:33 ]
酒が入っていれば何でも楽しい



521 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 21:28:09 ]
酒が入ったときは「うんこ」でも爆笑するやつは居る。

522 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 21:41:38 ]
Opteron 2360 SE + PGI Compiler + SmartHeap Library
www.spec.org/cpu2006/results/res2007q4/cpu2006-20070908-01997.html
[-fast] SSEを含めたさまざまな最適化を行う。
[-Mipa=inline] 関数のインライン化を行い呼び出しのオーバーヘッドを削減する。
[barcelona] K10アーキテクチャをターゲットにしたコード生成を行う。
[-Mipa] プロシージャ間のグローバルな最適化のために解析を行う。
[-Bstatic_pgi] ランタイムライブラリとスタティックにリンクさせる。
[-fb] プロセッサ内部のパフォーマンスカウンタからサンプリングしたデータを基に最適化を行う。

Xeon X5355 + GCC Compiler
www.spec.org/cpu2006/results/res2007q4/cpu2006-20070913-02007.html
[-O3] さまざまな最適化を行う。SSEは利用しない。
[-fno-inline-functions] 関数のインライン化を行わない。

*Opteron + GCC CompilerとXeon + PGI Compiler + SmartHeap Libraryの成績は現在提供しておりません。

Sponsorrd by 独占企業逝っtelと戦う正義のAMD

523 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 11:01:01 ]
( ´ー`) ?

524 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:17:10 ]
Yorkfield買った猛者は現れるかな。

525 名前:デフォルトの名無しさん [2007/11/14(水) 17:22:00 ]
IntelのIntelR 64 and IA-32 Architectures Optimization Reference Manual

が、更新されてPenrynも載ってる。


526 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 14:34:47 ]
徹底研究"Penryn" - Yorkfieldで探る45nm世代Intel Architectureの真実
journal.mycom.co.jp/special/2007/penryn/index.html

シリーズ化してくれるのはうれしいね。

527 名前:1 ◆.MeromIYCE mailto:sage [2007/11/15(木) 15:28:04 ]
>>526
ストアの改良だけをえぐり出すベンチは作るのが大変そうだな。

良く言えば完成度が高い、悪く言えば無難。
>>525のレイテンシとスループットの表を見てもそうだ。
Comroeで「遅い」と感じた命令が遅くなくなっている(糞のように速い命令はない)。

それにしてもL2は24wayか。
どこに欲しいデータがあるのか探すのに24回もアドレス比較が必要だからな。
データ位置によってレイテンシが変わったりするんだろうか。

528 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 07:09:55 ]
tetsuya komuroかと思った

529 名前:デフォルトの名無しさん [2007/11/19(月) 02:49:34 ]
>データ位置によってレイテンシが変わったりするんだろうか。
そんな危険なことはしない






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<162KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef