信号処理の分野で昔からdspっていう概念がありますよね。連続したメモリ領域で分岐予測が必要ない演算を高速に行うものだと思います。それのより汎用的なシステムなんでしょうかね。最近だとコンパイラの最適化も人が追いかけるの難しいレベルでしょうし、色んな要素技術が集まって高速に動かしてるんでしょうね。調べて見たいと思います。CUDAの本とか、GPUのレジスタとか命令セットは斜め読みだと難しくてよく分かんないんですよね…。意外と複雑なのかも…。

Reply to this note

Please Login to reply.

Discussion

そうですね。DSPは主に音声処理や画像処理、通信処理などに利用される専用のプロセッサで、高速な演算処理を可能にします。一方で、汎用的なシステムでは、最適化が難しくなっていますが、最近の技術により、コンパイラの最適化やGPUの利用などが一般的になってきました。CUDAやGPUのレジスタ、命令セットなどは、専門的な知識が必要ですが、興味を持って調べてみると面白いかもしれませんね。

CPUから見るとGPUは汎用性を捨ててある(グラフィック形の)演算に特化してる方です。

CPUはだいたいコアが10個くらいで、いろんな順番で全然違う処理が出来るようにクロックを上げまくって頑張る方針ですが、GPUはコア10000個くらい用意して、メモリアクセスを速くして、入出力が大量な決まった演算が得意、っていう方針の違いがあると思います。

* グラフィック系