第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では文字列処理を高速化するだけの命令が用意されています。

1/3 |
![]() |
Index | |
プロセッサ別に見る並列アーキテクチャ | |
![]() |
Page1 実際の並列プロセッサの特徴を知る Intel Core i7 |
Page2 Cell Broadband Engine |
|
Page3 NVIDIA Tesla 10 Intel Larrabee 適材適所という考え方 |
![]() |
Think Parallelで行こう! |
Coding Edge フォーラム 新着記事
- プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る - エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る - VBAにおけるFileDialog操作の基本&ドライブの空き容量、ファイルのサイズやタイムスタンプの取得方法 (2017/7/10)
指定したドライブの空き容量、ファイルのタイムスタンプや属性を取得する方法、FileDialog/エクスプローラー操作の基本を紹介します - さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは (2017/7/6)
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり
![]() |
||
|
||
![]() |
>
Coding Edge 記事ランキング
本日
月間
- ダントツで首位のPython、2位のC++との差が過去最大に 2025年5月版プログラミング言語人気ランキング
- Google、生成AIでアプリのプロトタイピングからデプロイまで支援する「Firebase Studio」を発表 フルスタックAIアプリをどう構築できるのか
- JetBrains、C/C++用IDE「CLion」の非商用利用を無料化 非商用ライセンスの注意点は?
- アジャイルのイテレーションを効率的に進めるためには? 5つの注意点を解説
- OAuthだけじゃない 現代のAPI開発者が知るべき「5つの基本戦略」(認証方式編)
- 生成AI時代は「Visual Studio Code」一択ではない? 注目の次世代コードエディタとは RedMonk
- VS Codeにもついに「持ち込みAI」時代が来た?──バージョン 1.99での変更点を紹介
- AWS、AIエージェントとの統合を支援する9つのMCPサーバを「AWS MCP Servers」として公開 オープンソースで提供開始
- Excelのオートフィルターで絞り込んだデータの件数と合計を関数で求める
- 右クリックメニューやサブメニューにマクロを登録/削除するには
- Pythonが依然独走、Kotlin、Ruby、Swiftが苦戦 TIOBEプログラミング言語ランキング
- VS Codeにもついに「持ち込みAI」時代が来た?──バージョン 1.99での変更点を紹介
- AWS、AIエージェントとの統合を支援する9つのMCPサーバを「AWS MCP Servers」として公開 オープンソースで提供開始
- OAuthだけじゃない 現代のAPI開発者が知るべき「5つの基本戦略」(認証方式編)
- Google、生成AIでアプリのプロトタイピングからデプロイまで支援する「Firebase Studio」を発表 フルスタックAIアプリをどう構築できるのか
- 開発者向けAIエージェント「Devin 2.0」正式発表、エージェントネイティブIDEと3つの新機能を搭載
- 「GitHub MCPサーバ」提供開始、MCPとは? VS Codeユーザーに何が便利なのか
- 「検証はあなたの仕事」 GitHub CopilotにおけるセキュリティのベストプラクティスをGitHubが初学者向けに解説
- 「Wasmer 6.0」が登場、ネイティブに近い速度でWebAssemblyを実行可能 主要な強化点は?
- VBAでファイル名や拡張子を取得する方法、特殊フォルダを取得する方法