2012-04-20 11 views
3

Tilera Instruction Setを閲覧し、加算、減算、乗算、除算、シフトだけがあることに気づいた。ルーツ、パワー、ログなどは言及されていません。TileraとSSEの "Missing"算術命令。操作はどのように行われますか?

SSE(すべての味)には後者の手順がないことに気付きました。

TileraとSSEの両方は、ビデオエンコードなどの数学ベースの処理用に設計されているため、これは私を不思議に思っています。

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

+0

ソフトウェアで実装します。たとえば、ハードウェアのような自然なログを実装するには、多くのシリコンが必要です。 – Mysticial

+0

@Mystical ...おかしいと答えるべきです。私は1時間前にあなたのウェブサイトにいた。 Intelの場合、スカラーFP命令を使用する必要があります.Tileraの場合、パフォーマンスが悪いコードがありますか?シリコンの2桁ほど遅いですか? – IamIC

+0

笑XD ...小さな世界。とにかく、データ依存の分岐があまり多くなければ、ベクトル化できます。既存のソフトウェアの実装をすべて取ってSIMDですべてを置き換えると、今度は2つの操作を同時に行うことができます。インテル®コンパイラーは、すべての数学関数を(垂直方向にベクトル化して)実装していると思います。 – Mysticial

答えて

3

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

最も高度な機能はあまり一般的ではなく、プロセッサ上で多くのシリコンとダイスペースを占有します。三角関数、ログ、力などは、実装するのが困難で高価です。

いずれの場合でも、ほとんどすべての特殊関数は基本演算(加算/減算/掛け算/除算)に分割されているので、それらを提供する限り何でも実装できます。

データ依存型の分岐があまり多すぎないと、通常は特殊関数のベクトル化が可能です。単にスカラーの実装を行い、すべてをSIMDバージョンに置き換えることができます。

関連する問題