3

Tilera Instruction Setを参照したところ、加算、減算、乗算、除算、およびシフトしか含まれていないことに気付きました。根、力、丸太などについての言及はありません。

また、SSE (すべてのフレーバー) には後者の指示がないことにも気付きました。

Tilera も SSE も、ビデオ エンコーディングなどの数学ベースの処理用に設計されているため、これは興味深いことです。

そのような場合、これらの操作のいずれかをどのように実行しますか (Tilera & SSE [通常のスカラー操作を除く])?

4

1 に答える 1

3

ハードウェアをシンプルに保つために、通常、最も一般的に使用される最も基本的で単純な命令のみを実装します。

最も高度な機能はあまり使用されておらず、プロセッサの多くのシリコンとダイ スペースも占有します。三角関数、ログ、累乗などは実装が難しく、費用がかかります。

いずれにせよ、ほぼすべての特殊関数は基本的な操作 (加算/減算/乗算/除算) に分解されるため、それらを提供する限り、何でも実装できます。

データ依存の分岐があまりない場合は、特殊な関数のベクトル化は通常可能です。スカラー実装を使用して、すべてを SIMD バージョンに置き換えるだけです。

于 2012-04-20T20:21:19.387 に答える