PowerPCアセンブラに関するスレ

このエントリーをはてなブックマークに追加
1デフォルトのPowerPCさん
2デフォルトの名無しさん:2006/07/25(火) 03:05:43
PowerPC 関係のページ
http://www.musin.co.jp/Computer/PowerPC.html

PowerPC でもクロックカウント
http://mput.dip.jp/mput/?date=20040314
3デフォルトの名無しさん:2006/07/25(火) 03:13:30
PowerPCのアーキテクチャ: プログラマの視点
http://www.xilinx.co.jp/xcell/xl42/xcell_42_05.pdf
4デフォルトの名無しさん:2006/07/25(火) 03:16:15
PowerPCアセンブラニーモニック リファレンス
http://www.watalab.cs.uec.ac.jp/students/yuke/ppcasm.html

↓ここも参考になる
http://www.watalab.cs.uec.ac.jp/students/yuke/index.html
5デフォルトの名無しさん:2006/07/25(火) 03:20:53
eieio
6デフォルトの名無しさん:2006/07/26(水) 00:06:12
うむ、すばらしいテンプレだ、ありがとう
7デフォルトのPowerPCさん:2006/07/26(水) 00:46:34
さぁスレ落ちしないように、みなさんどんどん語り合いましょう
8デフォルトの名無しさん:2006/07/26(水) 09:42:06
xlcのインラインアセンブラはウンコだね
9デフォルトの名無しさん:2006/07/26(水) 17:40:06
gccでいいよ
10デフォルトの名無しさん:2006/07/26(水) 17:52:53
普通に実行すると100%再現するバグが、デバッガ(gdb)からだと100%再現しない。
sc実行後にレジスタが破壊されてる希ガス
11デフォルトの名無しさん:2006/07/26(水) 22:16:27
bne+ "DAT落ち"
12デフォルトの名無しさん:2006/07/27(木) 00:50:45
Macがインテルに移行したのに、これってまだやる意味あるの?
13デフォルトの名無しさん:2006/07/27(木) 01:32:59
MACとPowerPCにどういう関係があるんですか?
14デフォルトの名無しさん:2006/07/27(木) 01:39:57
むしろ、 PowerPC = Mac と考えるのは拙速
15デフォルトの名無しさん:2006/07/27(木) 02:37:38
組み込みも最近は ARM だったりするんじゃないの?
MIPS とどっちが使われてるかな。
16デフォルトの名無しさん:2006/07/27(木) 02:59:27
>組み込みも最近は ARM だったりするんじゃないの?
勝手に決めないでくれ

そしてスレ違いだ
1710:2006/07/27(木) 03:09:11
自己解決しました
18デフォルトの名無しさん:2006/07/27(木) 15:58:57
ゲーム機はPPC多いよな
19デフォルトの名無しさん:2006/07/28(金) 16:43:33
さぁ語れ
20デフォルトの名無しさん:2006/07/28(金) 21:10:30
現在国内で一番出荷しているゲーム機は ARM なんだよな。次点で MIPS.
これから PPC やりたい諸氏は PS3 を 7 万で購入して、Linux から使うのかな。
PS3 はメモり少ないし、シングルコアなんだよね。
21デフォルトの名無しさん:2006/07/28(金) 21:30:32
ここは、「PowerPC ア  セ  ン  ブ  ラ」に関するスレです

さあどうぞ
22デフォルトの名無しさん:2006/07/28(金) 21:56:18
Power と PowerPC って大分違うモン?
23デフォルトの名無しさん:2006/07/28(金) 22:41:12
新手のあらしか?w
24デフォルトの名無しさん:2006/07/28(金) 23:43:06
そか、スマソ。
25デフォルトの名無しさん:2006/07/29(土) 00:10:25
rlwimi命令の使い道はなんですか?
26デフォルトの名無しさん:2006/07/29(土) 00:46:58
>>26
レジスタを複数使って64bitや128bitを表現してた場合のシフト等。
27デフォルトの名無しさん:2006/07/29(土) 02:37:33
なるほど
28デフォルトの名無しさん:2006/07/31(月) 14:04:07
ここにいるの全員組み込み屋さん?
29デフォルトの名無しさん:2006/08/12(土) 14:51:26
64ビット命令の使い方を10行以内で説明してください
30デフォルトの名無しさん:2006/08/12(土) 15:34:31
>>29
飾り
31デフォルトの名無しさん:2006/08/15(火) 23:24:30
>>30
そうなんですか、、さらっと目を通すだけにとどめておくかな
32デフォルトの名無しさん:2006/08/23(水) 20:08:15
ori r0, r0, 0
33デフォルトの名無しさん:2006/10/15(日) 21:59:50
いわゆるプログラムカウンタってPowerPCだとどのレジスタなんですか?
34デフォルトの名無しさん:2006/10/16(月) 00:19:20
基本的に直接はアクセスできない。
分岐命令なんかでリンクレジスタとかで間接的に利用するのみ。
35デフォルトの名無しさん:2006/11/09(木) 20:50:00
AltiVecの話題もおk?
36デフォルトの名無しさん:2006/11/18(土) 20:53:55
PowerPC(PPC970系)のアセンブラーとディスアセンブラーで
おすすめってありますか。

出来れば、WindowsXPで動作可能なものでお願いします。
37デフォルトの名無しさん:2007/03/21(水) 17:34:08
PS3
38デフォルトの名無しさん:2007/04/17(火) 00:11:07
おすすめのJTAGデバッガを教えてください
39・∀・)っ-○◎●:2007/04/19(木) 21:44:42
>>36
Cell SDKにシミュレータが付いてるよ
40デフォルトの名無しさん:2007/04/24(火) 03:52:55
マクーってアセンブラ開発環境作れて実行できるの?
バイナリエディタでハンドアセンブラしか無い?
41・∀・)っ-○◎●:2007/04/24(火) 04:18:47
PPC林檎最後だと思って一昨年の内に確保しといたけど、普通にGCCでおk。

今ならPS3とか玄箱じゃないの。
42デフォルトの名無しさん:2007/05/08(火) 14:20:05
gccのインラインアセンブラで、単純に rotlw でローテートする関数を作りたいのですが、2,3行で済みそうな内容なのにさっぱりわかりません(涙

どこかにいいサンプルはありませんでしょうか。。
43デフォルトの名無しさん:2007/05/08(火) 15:12:31
>>42
register int i=123;
asm volatile("rotlw %0,%1,%2" : "=r"(i) : "0"(i), "r"(4)); /* iを4bit rotate left */

サンプル http://www.google.com/codesearch?q=rotlw+asm+=r+powerpc
4442:2007/05/08(火) 15:21:07
>>43
うほっ 助かります。どもありがとうございます。

"0"(i), の"0"の意味なのですが、
直前の"=r"(i) でiの代入に使ったレジスタを再使用、
というような解釈でいいのでしょうか(´・ω・`)
すいませんド素人で。。
45デフォルトの名無しさん:2007/05/08(火) 15:26:18
>>44
そんなかんじ。
gccのinfoのに書いてあるので軽く嫁。日本語訳もあるから。
4642:2007/05/08(火) 15:42:24
>>45
ありがとうございます。動きました。

...がちょっと計算結果がおかしい希ガス。


C言語の関数の引数に渡された32bit数値をそのまま渡してるから
リトルエンディアンとかビッグエンディアンとかの問題があるのかな?
4742: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;
}

こんなかんじ。ありがとうありがとうありがとう。
4842:2007/05/08(火) 16:36:45
>>47
スマソ自己レスちょっと修正。

戻り値は unsigned long __rotl (...) にしないとマズイですね。
49デフォルトの名無しさん:2007/05/08(火) 19:28:45
Cellは、

独立動作可能なSIMDユニットが6器あるPowerPC970である。
50デフォルトの名無しさん:2007/05/08(火) 20:15:48
|日PowerPCはバイエンディアンである
1日PowerPCはバイエンディアンである
旧PowerPCはバイエンディアンである
51デフォルトの名無しさん:2007/05/09(水) 01:29:13
>>49
そうなんだよね……
#あーめんどくせ
52デフォルトの名無しさん:2007/05/09(水) 06:47:13
SIMD6器ちゅうのは今あるコンシューマCPU、AthlonとかCoreとかの中では最高

53デフォルトの名無しさん:2007/05/09(水) 07:51:26
>>52
そのSIMD演算器はバスの彼方にあるわけですが。
54デフォルトの名無しさん:2007/05/11(金) 18:08:40
糞ニーのWSのIOPがバスの彼方に居るのを思い出した。
同じ筐体内でプログラム送って実行。アフォでした。
55デフォルトの名無しさん:2007/05/19(土) 23:46:45
CellのSPUは8個
6個なのはPS3のLinux環境
56デフォルトの名無しさん:2007/05/20(日) 00:59:23
1つは生死不明だがな
57・∀・)っ-○◎●:2007/05/20(日) 01:41:29
PS3でユーザーが使えるのはLinuxだろうがゲームOSだろうが6個だよ。
ハイパーバイザが必ず1個食ってるから。
58デフォルトの名無しさん:2007/05/20(日) 03:20:04
ゲームOSでも6個なのか。そりゃgame developerはつらいだろうな
59・∀・)っ-○◎●:2007/05/20(日) 03:54:11
いや、現状3個くらいまでしか使われてないし
むしろPPEの性能低すぎると思う。
60デフォルトの名無しさん:2007/05/20(日) 04:39:17
PPEがSPEの面倒見ている間、結局何もできないからねぇ。
61デフォルトの名無しさん:2007/05/20(日) 09:15:41
元々そういう設計だとは思うが<PPEがSPEの面倒見ている間、結局何もできない
アプリはコアの性能の半分しか使えないせいもあるような
FGMTのアホ
62デフォルトの名無しさん:2007/05/20(日) 09:18:07
>現状3個くらいまでしか使われてないし
ありゃそうなの?
6個でもCell本来の性能の3/4に落ちちゃうのに3個じゃ半分以下じゃん
ゲームプログラマ腕梨
63デフォルトの名無しさん:2007/05/20(日) 11:23:58
SCEと心中するならCell用に最適化してもいいけど、そういうわけにもいかんし。
64デフォルトの名無しさん:2007/05/21(月) 16:15:34
その辺をうまくやるのがプログラマの腕
簡単なとこだとXBOXでも6スレッド走らせちゃうなんて手もあるが
65デフォルトの名無しさん:2007/05/22(火) 23:59:41
物理演算みたいなプロセッサの数に依存しない、スケールしやすい処理は
余ってる数だけ使えばいいんじゃねーの?
そんなのばかりではないというのも分るけどな。
66デフォルトの名無しさん:2007/05/26(土) 11:11:14
今現在で、最も負荷が高いと思われるMotorStorm

これだってCellのパワーのうち20%しか使っていない。
開発元がそう話している
67デフォルトの名無しさん:2007/05/26(土) 11:14:52
http://ps3.qj.net/Under-the-hood-MotorStorm-uses-15-20-of-available-SPU-resource-/pg/49/aid/92150

http://www.beyond3d.com/content/interviews/38/1


Under the hood: MotorStorm "uses 15-20% of available SPU resource"

しかもVertex/Pixelシェーダは全てRSXに任せて
360を遥かに超えてるんだからフルパワー出したらどうなるんだ

360の性能が悪すぎるということもあるが
68デフォルトの名無しさん:2007/05/26(土) 15:17:11
ゲーム機ってどんどん性能騰がってくるからな。
PS2の頃でも、初代機にカリカリに最適化したら、今のPSoneで動かなくなったりしたし。orz
互換性を追求する(=SCE推奨APIしか使わない)と、性能は低い。
69デフォルトの名無しさん:2007/06/17(日) 13:28:43
あげ
70デフォルトの名無しさん:2007/06/17(日) 13:34:34
>68
今ならPS3の推奨APIで作っておけば
互換性も性能もOK
ユーザー側の対応がまだまだだけどw
71デフォルトの名無しさん:2007/06/17(日) 13:55:57
同じPower系CPUであるスレが熱い
72デフォルトの名無しさん:2007/06/17(日) 14:01:10
熱いつーか馬鹿同士が煽り合ってるだけだろ
73デフォルトの名無しさん:2007/06/17(日) 14:06:08
まさに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
75デフォルトの名無しさん:2007/06/17(日) 15:21:25
じゃぁ、SPEも命令を組み込みさえすればちゃんと動いてくれるの?
そんな手段があるならぜひ入手したいのだけれど。
76デフォルトの名無しさん:2007/06/17(日) 15:24:56
ハァ????????

Cell programming でググればいくらでも出てくる。


だいたい、SPEに命令を割り振るのはPPEなのだから
PPEに対して命令をくれてやるしかない。

SPEはいつでもどこでも独立して動作してるとか、あの素人は捏造してるようだがwwww
77デフォルトの名無しさん:2007/06/17(日) 15:34:47
あー頭が頭痛で痛い。
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
メインメモリ以外はクロックレイテンシは1だと答えてあることすら理解できないチョンw

チョン、IA-32のレジスタ間クロックレイテンシ1〜2だと捏造ww
http://pc.watch.impress.co.jp/docs/2006/0718/kaigai288.htm


そもそもチョンの言うような状態にはならないようにしてることさえ理解できない素人チョンw
http://pc.watch.impress.co.jp/docs/2005/0228/kaigai160.htm


あのチョン、ゲハでWiiが叩かれ、論破されたので逃げてきたんだろうなあwwww
Wiiをシングルスレッドだとか、CellでSSEレジスタとか捏造してる時点でもうねwww

恥を晒す前にゲハに逃げ帰ったほうがいいと思うんだがw
84デフォルトの名無しさん:2007/06/17(日) 16:45:44
Core2=バッファリングありでレイテンシを語ってる
Cell=バッファリングなしでレイテンシを語ってる



この時点で「ああ、自慢のCore2がCellに負けて悔しいんだな」というwwwww
85デフォルトの名無しさん:2007/06/17(日) 16:48:58
向こうのスレでやれ。
86デフォルトの名無しさん:2007/06/17(日) 16:55:54
http://en.wikipedia.org/wiki/PowerPC


970がシングルスレッドだとか捏造してるチョンは
英語も読めないんだよなw
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
89デフォルトの名無しさん:2007/06/18(月) 05:26:23
ここってヲチスレ?
変なんが紛れ込んでるみたいだけど。
90・∀・)っ-○◎●:2007/06/19(火) 00:57:23
頭の悪い子が暴れてるだけ。
91デフォルトの名無しさん:2007/06/19(火) 01:24:08
だよなあ
CellでSSE実測したとか言うアタマの悪い子が。
92・∀・)っ-○◎●
91 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん