問題タブ [powerpc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
5090 参照

assembly - 安価な PowerPC 評価ボード?

私はしばらくの間、組み込みソフトウェア開発を学ぼうとしてきました (ほぼ 15 年間、Java で 10 年間ソフトウェアを開発しており、さらに大学で C/C++/X86 Asm について十分な知識を持っています)。ちょうど PIC ベースの評価ボードで遊び始めました。キック用。

私が働いているところには、部署があります。彼らは時々組み込みシステムにいくつかの開口部を持っています. 彼らが求めるものの 1 つは、PowerPC アーキテクチャーの経験です。

PowerPC チップを搭載した安価な評価ボードを interweebz で探しましたが、400 ~ 1000 ドル以上のボードしか見つかりませんでした。PowerPC アーキテクチャの組込みシステムを安価に学習する方法があるのではないかと考えています。他のアーキテクチャの評価ボードをその価格帯の何分の 1 かで見たことがあるからです。

または、eval の場合。ボードは手頃な価格で入手できません。少なくとも、PowerPC アセンブリでプログラミングを練習するための安価なプラットフォームです (たとえそれが埋め込まれていなくても)。

いくつかの提案を提案できる人はいますか?

また、PowerPC のアーキテクチャとプログラミングに関する本を何冊かお勧めいただければ、それも素晴らしいことです。

0 投票する
3 に答える
1467 参照

floating-point - powerpc を intel に移植する数値コードは、float を使用して異なる結果をもたらす

私の本質的な問題は、クラシック MacOS (CodeWarrior) から Windows (VS 2008) に移行して、x86 で浮動小数点演算を PowerPC のように動作させる方法です。

問題のコードには、非常に反復的で数値的に非常に敏感なアルゴリズムが山積みされています。

典型的な複雑な行は次のとおりです。

float基本型としてtypedef を使用して記述されます。

に変更するdoubleと、両方のプラットフォームで非常に似た結果が得られますが、残念ながら数値が受け入れられないため、簡単に解決することはできません。

Mac コードは CodeWarrior を使用してコンパイルされており、FMADD および FMSUB 命令の生成をオフにするだけで、作成される数値に劇的な影響がありました。したがって、私の出発点は、最も類似していると思われる Visual Studio (2008) オプションを検索することでした - 融合追加が使用されていることを確認しました。その鍵は、計算で中間ストレージを割り当てる際のコンパイラの動作にあると思われます

現在、SSE2 と を有効にする組み合わせで最良の結果が得られてい/fp:fastます。組み込み関数を有効にすると、値が Mac の値からさらにずれます。

/fpスイッチのドキュメントには/fp:strict、融合された追加動作のみがオフになると記載されています。

MSDNでは、FP10.OBJ を「LIBC.LIB、LIBCMT.LIB、または MSVCRT.LIB の前に」リンクすることについて説明しています。64 ビットの精度を保証します。リンカの入力フィールドに FP10.OBJ を指定することで、これを達成したようです (詳細なリンカの出力は、MSVCRTD.lib の前にそれを示しています)。

また、呼び出して64ビット精度を設定しました

DllMain で。

この問題は、プラットフォーム間の浮動小数点例外処理の違いによるものでも、PowerPC がゼロ整数による除算 (ゼロを返すだけ) を許可する (楽しい) 方法によるものでもないことに注意してください。 PCリント。プログラムが実行され、ある程度妥当な出力が生成されますが、十分ではありません。

アップデート:

友人からの興味深いコメント: 1 つの可能性として、PPC には 64 ビットの中間値を格納できる一時レジスタが多数あるのに対し、x86 コードでは FPU のアンロードと再ロードが必要になる場合があります (4 バイトに切り捨てられ、精度が失われます)。

これが、(IIRC)より多くのレジスタと中間値を保持するためのより多くの範囲があるため、SSE2がよりうまく機能する理由かもしれません。

1 つの可能性 - コードを 64 ビットとしてコンパイルできますか? x64 モードには、中間体用のレジスタが多く、FP 命令が優れているため、設計と実行において PPC に近い可能性があります。

彼が示唆したように、64 ビット ビルドでの最初のテストは、実際にはもっと近くなりました (最初はやり過ぎだと思っていましたが、それは不適切なモデリング設定が原因でした)。

最終決議

このトピックに興味を持っている人は、最終的にどのようにすべてがうまくいったかを知りたいと思うほど強迫観念を持っていると確信しています. ソフトウェアが完成し、一貫した数値結果が得られます。すべてのアルゴリズムで Mac に同じ結果を提供することはできませんでしたが、統計的に許容できるほど十分に近いものでした。専門家のユーザーが関心のある領域を選択することによって処理が導かれ、ユーザーの入力がモデルの進行状況に部分的に反応することを考えると、主任科学者はそれが受け入れられると判断しました (これは一晩で決定されたわけではありません!)。残りの数値の違いは、さまざまな臨床結果を決定するものの範囲内にあるため、テストではさまざまな診断が見られません.

0 投票する
1 に答える
161 参照

linux-kernel - __arch__swab32の代わりにLinux>2.6.28で何を使用すればよいですか

カーネルモジュールのコンパイルエラーが発生し続けます:

PowerPC、2.6.30.x、カミカゼツールチェーン。これによると、識別子は2.6.28以降になくなりました。代わりに何を使用すればよいですか?

0 投票する
1 に答える
1218 参照

linux - x86 Linux で ldd がさまざまなアドレスを表示する

Fedora/x86 で動的ライブラリを表示するために使用lddしていますが、使用するたびに異なる結果が表示されます。

それは期待されていますか?それとも説明はありますか?

PPC/Linux で一定の​​結果が表示されたのを覚えています。

0 投票する
1 に答える
198 参照

iphone - Bonjour ネットワークは 10.4 を実行している ppc で動作しますか?

Bonjour サービスを使用して Wi-Fi 経由で iPhone と通信する Mac 10.5 デスクトップ用のアプリケーションを開発しました。Mac 10.5 で正常に動作し、Bonjour を使用して Wi-Fi 経由で iPhone と必要な同期を行うことができます。

しかし、同じデスクトップ アプリ (ppc 10.4 用に再コンパイルし、@property を削除する必要があるなどのコーディングの変更がありましたが) は、10.4 を実行している ppc では動作しません。

私は両方のシナリオで試しました:1.デスクトップをサーバーにすると、iPhoneはデスクトップによって公開されたサービスを見つけます

しかし、どちらの場合も、デスクトップがサービスを公開できないか、サービスを見つけることができないため、成功しません。

このタイプのバグに直面し、これで解決策を見つけた場合は、お知らせください。また、さらに説明が必要な場合は、私に聞いてください。

ありがとう、サニブ

0 投票する
2 に答える
13417 参照

macos - Mac OS X 10.5 アプリ「このアーキテクチャではサポートされていません」はコピーで治る?

インターネット経由で自分自身を更新するアプリがありますが、更新されたコピーは、Leopard (10.5.8) を実行している PowerPC マシン (G5) では実行されません。アプリをダブルクリックすると、「アプリケーション " appname " は、このアーキテクチャではサポートされていないため、開くことができません」というメッセージが表示されます。しかし、ここに奇妙な部分があります。Finder またはコマンドを使用してアプリを複製するとcp -R、複製は正常に実行されます。それでも、ls -laeR両方のアプリで行った場合、結果は同じです. マシンを再起動しましたが、2 つのコピーの違いはまだ残っていました。

アプリの名前を変更すると、アプリが実行されることがありました。数回試行した後、名前を元の名前に戻し、引き続き実行することができました。

これが 1 台のマシンだけで発生した場合は、ディスクの破損、宇宙線、またはブードゥー教の呪いとして片付けますが、顧客から報告があり、自分のマシンで再現しました。

この動作を引き起こす可能性のあるアイデアはありますか?

0 投票する
3 に答える
1304 参照

assembly - PowerPC での条件付き移動

PowerPC (32 または 64) 命令セットに同等の条件付き移動はありますか? 条件分岐を使ってエミュレートできるのは明らかですが、それを上回るものが欲しいです。

0 投票する
1 に答える
951 参照

gcc - powerpc-eabi-objcopy は 1GByte のファイルを作成します

私の elf ファイルは、すべてのデバッグ シンボルを含む約 1MByte です。「powerpc-eabi-objcopy -O binary out.elf out.bin」でバイナリ ファイルを作成しようとすると、out.bin が 1GByte と巨大です。

ビルドスクリプトは次のようになります

問題についてのアイデアはありますか?

ありがとう、

フリードリヒ

0 投票する
4 に答える
1078 参照

assembly - x86およびPowerPC命令の実行時間を指定するにはどうすればよいですか?

PowerPCとx86アセンブラコードの実行時間を概算する必要があります。多くの問題に応じて正確に計算できないことを理解しています(現在のプロセッサの状態-x86プロセッサはマイクロ命令の内部命令を分割し、メモリアクセス時間は低速メモリからのキャッシュからコードを取得しますなど)。 )。

インテル最適化リファレンス(付録C)でいくつかの情報を見つけましたが、すべての汎用命令に関する情報を提供しているわけではありません。それについての完全なリファレンスはありますか?

PowerPCプロセッサはどうですか?そのような情報はどこにありますか?

0 投票する
2 に答える
3007 参照

linux - QEMUは、ARMおよびPowerPCのアセンブラーでプログラミングを学習するのに適していますか?

PowerPCとARMのアセンブラーでプログラミングを学びたいのですが、この目的のために実際のハードウェアを購入することはできません。そのためにQEMUを使うことを考えています。ただし、両方のアーキテクチャを十分にエミュレートしているかどうかはわかりません。ネイティブアセンブラでプログラムをコンパイルして実行しますか?