1 :
デフォルトのPowerPCさん:
eieio
うむ、すばらしいテンプレだ、ありがとう
さぁスレ落ちしないように、みなさんどんどん語り合いましょう
xlcのインラインアセンブラはウンコだね
gccでいいよ
普通に実行すると100%再現するバグが、デバッガ(gdb)からだと100%再現しない。
sc実行後にレジスタが破壊されてる希ガス
bne+ "DAT落ち"
Macがインテルに移行したのに、これってまだやる意味あるの?
MACとPowerPCにどういう関係があるんですか?
むしろ、 PowerPC = Mac と考えるのは拙速
組み込みも最近は ARM だったりするんじゃないの?
MIPS とどっちが使われてるかな。
>組み込みも最近は ARM だったりするんじゃないの?
勝手に決めないでくれ
そしてスレ違いだ
17 :
10:2006/07/27(木) 03:09:11
自己解決しました
ゲーム機はPPC多いよな
さぁ語れ
現在国内で一番出荷しているゲーム機は ARM なんだよな。次点で MIPS.
これから PPC やりたい諸氏は PS3 を 7 万で購入して、Linux から使うのかな。
PS3 はメモり少ないし、シングルコアなんだよね。
ここは、「PowerPC ア セ ン ブ ラ」に関するスレです
さあどうぞ
Power と PowerPC って大分違うモン?
新手のあらしか?w
そか、スマソ。
rlwimi命令の使い道はなんですか?
>>26 レジスタを複数使って64bitや128bitを表現してた場合のシフト等。
なるほど
ここにいるの全員組み込み屋さん?
64ビット命令の使い方を10行以内で説明してください
>>30 そうなんですか、、さらっと目を通すだけにとどめておくかな
ori r0, r0, 0
33 :
デフォルトの名無しさん:2006/10/15(日) 21:59:50
いわゆるプログラムカウンタってPowerPCだとどのレジスタなんですか?
基本的に直接はアクセスできない。
分岐命令なんかでリンクレジスタとかで間接的に利用するのみ。
AltiVecの話題もおk?
PowerPC(PPC970系)のアセンブラーとディスアセンブラーで
おすすめってありますか。
出来れば、WindowsXPで動作可能なものでお願いします。
37 :
デフォルトの名無しさん:2007/03/21(水) 17:34:08
PS3
おすすめのJTAGデバッガを教えてください
>>36 Cell SDKにシミュレータが付いてるよ
マクーってアセンブラ開発環境作れて実行できるの?
バイナリエディタでハンドアセンブラしか無い?
PPC林檎最後だと思って一昨年の内に確保しといたけど、普通にGCCでおk。
今ならPS3とか玄箱じゃないの。
42 :
デフォルトの名無しさん:2007/05/08(火) 14:20:05
gccのインラインアセンブラで、単純に rotlw でローテートする関数を作りたいのですが、2,3行で済みそうな内容なのにさっぱりわかりません(涙
どこかにいいサンプルはありませんでしょうか。。
44 :
42:2007/05/08(火) 15:21:07
>>43 うほっ 助かります。どもありがとうございます。
"0"(i), の"0"の意味なのですが、
直前の"=r"(i) でiの代入に使ったレジスタを再使用、
というような解釈でいいのでしょうか(´・ω・`)
すいませんド素人で。。
>>44 そんなかんじ。
gccのinfoのに書いてあるので軽く嫁。日本語訳もあるから。
46 :
42:2007/05/08(火) 15:42:24
>>45 ありがとうございます。動きました。
...がちょっと計算結果がおかしい希ガス。
C言語の関数の引数に渡された32bit数値をそのまま渡してるから
リトルエンディアンとかビッグエンディアンとかの問題があるのかな?
47 :
42:2007/05/08(火) 16:14:44
おkでした。
やっぱりx86(リトルエンディアン)とPowerPCのビッグエンディアンのせいでした。
(問題があったのはビットローテートとは関係無い部分ですが)
解決したのでお礼がわりに貼っておきます。(ビットローテートの部分だけ)
int __rotl (unsigned long d32, unsigned int nShift)
{
asm violate ("rotlw %0,%1,%2" : "=r"(d32) : "0"(d32), "r"(nShift));
return d32;
}
こんなかんじ。ありがとうありがとうありがとう。
48 :
42:2007/05/08(火) 16:36:45
>>47 スマソ自己レスちょっと修正。
戻り値は unsigned long __rotl (...) にしないとマズイですね。
49 :
デフォルトの名無しさん:2007/05/08(火) 19:28:45
Cellは、
独立動作可能なSIMDユニットが6器あるPowerPC970である。
|日PowerPCはバイエンディアンである
1日PowerPCはバイエンディアンである
旧PowerPCはバイエンディアンである
52 :
デフォルトの名無しさん:2007/05/09(水) 06:47:13
SIMD6器ちゅうのは今あるコンシューマCPU、AthlonとかCoreとかの中では最高
>>52 そのSIMD演算器はバスの彼方にあるわけですが。
糞ニーのWSのIOPがバスの彼方に居るのを思い出した。
同じ筐体内でプログラム送って実行。アフォでした。
CellのSPUは8個
6個なのはPS3のLinux環境
1つは生死不明だがな
PS3でユーザーが使えるのはLinuxだろうがゲームOSだろうが6個だよ。
ハイパーバイザが必ず1個食ってるから。
ゲームOSでも6個なのか。そりゃgame developerはつらいだろうな
いや、現状3個くらいまでしか使われてないし
むしろPPEの性能低すぎると思う。
PPEがSPEの面倒見ている間、結局何もできないからねぇ。
元々そういう設計だとは思うが<PPEがSPEの面倒見ている間、結局何もできない
アプリはコアの性能の半分しか使えないせいもあるような
FGMTのアホ
>現状3個くらいまでしか使われてないし
ありゃそうなの?
6個でもCell本来の性能の3/4に落ちちゃうのに3個じゃ半分以下じゃん
ゲームプログラマ腕梨
SCEと心中するならCell用に最適化してもいいけど、そういうわけにもいかんし。
その辺をうまくやるのがプログラマの腕
簡単なとこだとXBOXでも6スレッド走らせちゃうなんて手もあるが
物理演算みたいなプロセッサの数に依存しない、スケールしやすい処理は
余ってる数だけ使えばいいんじゃねーの?
そんなのばかりではないというのも分るけどな。
66 :
デフォルトの名無しさん:2007/05/26(土) 11:11:14
今現在で、最も負荷が高いと思われるMotorStorm
これだってCellのパワーのうち20%しか使っていない。
開発元がそう話している
67 :
デフォルトの名無しさん:2007/05/26(土) 11:14:52
ゲーム機ってどんどん性能騰がってくるからな。
PS2の頃でも、初代機にカリカリに最適化したら、今のPSoneで動かなくなったりしたし。orz
互換性を追求する(=SCE推奨APIしか使わない)と、性能は低い。
69 :
デフォルトの名無しさん:2007/06/17(日) 13:28:43
あげ
>68
今ならPS3の推奨APIで作っておけば
互換性も性能もOK
ユーザー側の対応がまだまだだけどw
同じPower系CPUであるスレが熱い
熱いつーか馬鹿同士が煽り合ってるだけだろ
まさにPowerだな
74 :
デフォルトの名無しさん:2007/06/17(日) 14:56:04
しかし、無知もいいとこ。
パイプライン上にあるからSSEはCPUの自己判断で動くとか捏造してんのwwww
SSEって勝手に動作するものか?
SSE命令を使って組まないとSSE使わないだろ。
SPEって勝手に動作するものか?
SPEを動かせるように組まないとSPE使わないだろ。
あれ?wwwwwwwww
あのド素人のチョン、「ユニファイドなのでSSEは勝手に動作するもの」と捏造始めたぞwwwwww
CPUが勝手に判断して動作するなら「SSE駆動命令」なんぞ必要ねえじゃんwwwwwwwww
SSE使用しているのは、その命令を使って組んだから
こんなこともわからんあたり、まさにド素人w
じゃぁ、SPEも命令を組み込みさえすればちゃんと動いてくれるの?
そんな手段があるならぜひ入手したいのだけれど。
76 :
デフォルトの名無しさん:2007/06/17(日) 15:24:56
ハァ????????
Cell programming でググればいくらでも出てくる。
だいたい、SPEに命令を割り振るのはPPEなのだから
PPEに対して命令をくれてやるしかない。
SPEはいつでもどこでも独立して動作してるとか、あの素人は捏造してるようだがwwww
あー頭が頭痛で痛い。
78 :
デフォルトの名無しさん:2007/06/17(日) 15:49:09
PPEで演算するとかよwwwwww
無知にも程があるww
実装見ても
対メインメモリでは帯域がとても足りない
PPEは演算用ではない
だからSPEから受け取ってコマンドイシューやら
SPEに対してコマンドイシュー、待ち、
そういう実装なのに理解すらできてねえw
あのチョンはw
79 :
デフォルトの名無しさん:2007/06/17(日) 15:55:50
最終的に省かれるものかどうかを判断してイシューするのがPPEの役目なのに
ミスッたらどうするのか、とかバカにも程があるwwww
80 :
デフォルトの名無しさん:2007/06/17(日) 16:08:28
チョン、盛大に自爆するの図w
856 名前: ・∀・)っ-○◎● [sage] 投稿日: 2007/06/17(日) 15:59:19
リタイヤメントって正しく実行された命令を
パイプラインから破棄する処理のことな
858 名前: デフォルトの名無しさん 投稿日: 2007/06/17(日) 16:02:05
リタイヤメントって正しく実行された命令を
パイプラインから破棄する処理のことだっておwwwwwwww
省かれてんじゃんwwwwwwwwwwwww
あの日本語も読めないド素人チョンはワケがわかんねえなwwwwww
81 :
デフォルトの名無しさん:2007/06/17(日) 16:31:36
CellでSSEレジスタ使い始めたぞwwwww
82 :
デフォルトの名無しさん:2007/06/17(日) 16:35:30
CellでSSEレジスタ使ってレイテンシ測定しろとか無知もいいとこwwwwwww
864 名前: ・∀・)っ-○◎● [sage] 投稿日: 2007/06/17(日) 16:22:27
movd xmm0, eax
movd eax, xmm0
movd xmm0, eax
movd eax, xmm0
movd xmm0, eax
movd eax, xmm0
movd xmm0, eax
movd eax, xmm0
こんな感じで繰り返せば一応往復のレイテンシは計測できるよね
83 :
デフォルトの名無しさん:2007/06/17(日) 16:39:39
84 :
デフォルトの名無しさん:2007/06/17(日) 16:45:44
Core2=バッファリングありでレイテンシを語ってる
Cell=バッファリングなしでレイテンシを語ってる
この時点で「ああ、自慢のCore2がCellに負けて悔しいんだな」というwwwww
向こうのスレでやれ。
86 :
デフォルトの名無しさん:2007/06/17(日) 16:55:54
87 :
デフォルトの名無しさん:2007/06/17(日) 16:58:16
メモ
だいたい、Cellでeaxとxmm0間のレイテンシって実測できるのかちゅう疑問はあるよな。
864 名前: ・∀・)っ-○◎● [sage] 投稿日: 2007/06/17(日) 16:22:27
もっとも俺は実測結果あるけど
だそうだがwwwwww
88 :
デフォルトの名無しさん:2007/06/17(日) 17:03:35
うひゃひゃひゃひゃひゃwwwwwwwww
Cellのレイテンシの話しておいて
882 名前: ・∀・)っ-○◎● [sage] 投稿日: 2007/06/17(日) 17:02:20
つーか、「Cellで」なんて一言も言ってないんだがな
すげえ言い訳wwwwwwwwwwwwwwww
プログラムすら知らないチョンがバレてここまで見苦しい言い訳をwwwwwwwwwwww
ここってヲチスレ?
変なんが紛れ込んでるみたいだけど。
頭の悪い子が暴れてるだけ。
91 :
デフォルトの名無しさん:2007/06/19(火) 01:24:08
だよなあ
CellでSSE実測したとか言うアタマの悪い子が。
91 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん