Think Parallelで行こう!

第3回 プロセッサ別に見る並列アーキテクチャ

株式会社フィックスターズ
中村 孝史

2009/8/31

CPUの周波数の高速化競争が頭打ちになり、1コアにおける処理能力は限界となった。CPUの進化がマルチコア化に向かった結果、並列コンピューティングの門戸が開かれた(編集部)

実際の並列プロセッサの特徴を知る

 第2回「現代のプロセッサと並列実行」では、一般的な汎用プロセッサのハードウェア構成について説明しました。

 並列ハードウェアは、構成要素のどの部分が並列に動作するように設計されているのかによって分類されており、効果的な並列プログラミングに当たってハードウェアの基礎知識が求められます。

 前回、紹介したスーパースカラー、SIMD、マルチコア/マルチプロセッサ、ハードウェアマルチスレッドといった技術が、実際のプロセッサにどのように組み込まれているのか。

 今回は、Intel Core i7、Cell Broadband Engine、NVIDIA T10、そして現在開発中のIntel Larrabeeについて見ていきます。

Intel Core i7

 まずは、Intel Core i7(以下i7)を見ていきましょう。i7は、前回説明したひととおりの並列ハードウェアを持ったプロセッサであるといえます。以下に各機能を列記します。

スーパースカラー
4つの命令を同時にデコードでき、6つの命令を同時に実行できます
SIMD
SSE2、SSE3、SSE4.1といった命令が実装されており、4つの単精度浮動小数値を同時に処理できます。また、次の世代のプロセッサはAVXと呼ばれる拡張が行なわれ、8つの単精度浮動小数値を同時に処理できるようになるといわれています
マルチコア
4つのコアを持っています。また、i7と同じコアを持ったXeonではNUMAマルチプロセッサに対応しており、メモリアクセスを並列化できます
ハードウェアマルチスレッド
1個のコアあたり2つのスレッドを同時実行することができます(IntelではこれをHyper-Threading Technologyと呼んでいます)

 また、並列以外の特徴として、WindowsやMac上で動くデスクトップアプリケーションを高速化しなければならないため、ほかのプロセッサと比べて、シングルスレッド性能も強化されているという点があります。

 命令レイテンシ(並列実行しない場合の処理時間)はほかのプロセッサと比べるとやや短かめになっていますし、並列実行以外の方法でプログラムを高速化するために、i7で新しく実装されたSSE4.2では文字列処理を高速化するだけの命令が用意されています。

Intel Core i7 エクストリームエディションIntelのWebサイトより)

 
1/3
next

Index
プロセッサ別に見る並列アーキテクチャ
Page1
実際の並列プロセッサの特徴を知る
Intel Core i7
  Page2
Cell Broadband Engine
  Page3
NVIDIA Tesla 10
Intel Larrabee
適材適所という考え方

index Think Parallelで行こう!


Coding Edge フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

>

Coding Edge 記事ランキング

本日 月間