News Center

「Microprocessor Forum 2007」リポート(その7)
マルチコアアーキテクチャで広いメモリー帯域とプログラミングの容易さを確保

[issued: 2007.05.29]

この記事を :  印刷する プリントする ブックマーク  はてなブックマークに登録 この記事をクリップ! Buzzurlにブックマーク Yahoo!ブックマークに登録 メールで送る メールで送る
 「Microprocessor Forum 2007」(米国サンノゼで開催)の最終日(5月23日)には、グラフィックス向けのマルチコアアーキテクチャをテーマとするセッションが行われた。アイピーフレックスに加え、米NVIDIA社、米Stream Processors社、米Stretch社の各社が最新プロセッサの情報を提供。いずれのプロセッサもローカルメモリーや共有メモリーなどによってメモリーアクセスの頻度を低減する仕組みが盛り込まれている。また、マルチプロセッサを対象としたプログラミングを行いやすくするために工夫が施されている。

C言語によるプログラミングに対応

写真1 NVIDIA社のJohn Nickolls氏

 NVIDIA社の講演でスピーカを務めたのは、同社アーキテクチャディレクタのJohn Nickolls氏(写真1)。グラフィクス処理をターゲットとしたマルチプロセッサ環境でC言語のプログラムを実行するためのCUDA(compute unified device architecture)と、CUDA対応のGPU(graphics Processor unit)のアーキテクチャについて解説した。

 NVIDIA社のCUDAに対応したGPU(8シリーズ)の内部構造は図1のようになっている。全体で128個のSP(streaming processor)が集積されており、8個のSPが集まってSM(streaming muti processor)が構成される(図2)。チップ全体では16個のSMを備える。個々のSMは1.35GHz動作で32ギガFLOPSの演算能力を備え、768個のスレッドを取り扱うことができる。その結果、GPUとしては1万2288個のスレッドを取り扱うことが可能だ。

 このようなマルチプロセッサにおいては、メモリー帯域が問題となる。そのため8個のSPを集めたSMには16Kバイトの共有メモリーを用意し、さらに2個のSMごとにテクスチャキャッシュを持たせることで、外部メモリーへ直接アクセスする負荷を低減するアーキテクチャとなっている。

 また、Nickolls氏はCUDAのプログラミングモデルや実行方法についても解説を行った。それによると、CUDA対応のGPUでは、個々のスレッドをCPUから実行するのではなく、複数のスレッドをまとめてグリッドとし、そのグリッドごとにGPUでプログラムを実行する仕組みになっているのだという。それによって共有メモリーを活用して外部メモリーへのアクセス回数を抑え、またプロセッサ数にスケーラビリティを持たせることが可能になるという。

112ギガMAC/秒、16レーンのストリーミングプロセッサ

写真2 SPI社のBill Dally氏

 Stream Processors(SPI)社の設立者の1人で、現在同社チェアマンを務めるBill Dally氏(写真2)は、「C言語プログラミングに対応した112ギガMAC/秒のDSPプロセッサ、Storm-1」と題した講演を行った。従来のマルチプロセッサでは、タイル構造であるためにプログラミングの難易度が高かったり、個々のプロセッサが行う処理の負荷にばらつきがあったりするなどの問題があった。同社の「Storm-1(SP16HP)」は、そうした問題を改善したストリーム処理型のアーキテクチャを採用したプロセッサである。

 Storm-1は16個のレーンと2つのMIPS系プロセッサで構成され(図3)、個々のレーンは、5個の32ビットALU(arithmetic logic unit)と4個のロード/ストアユニット、304個のレジスタ、256Kバイトのレジスタファイルなどを備える。また、2つのMIPS系プロセッサは、一方がLinuxなどのシステムOSとI/O制御の処理を担い、もう一方がストリーミングプロセッサとしてのプログラムの実行管理を担当する。

 0.13μmのプロセス技術で製造され、700MHz動作で112ギガMAC/秒の演算能力を備える。

拡張命令に対応したコンフィギュラブルプロセッサ

写真3 Stretch社のRobert K. Beachler氏

 Stretch社バイスプレジデントのRobert K. Beachler氏(写真3)は、Stretch社のISEF II(Instruction Set Extension Fabric II:第2世代の命令セット拡張用ファブリック)と米Tensilica社のプロセッサを組み合わせたプロセッサ「S6 SCP」(図4)についての講演を行った。同プロセッサは台湾TSMC(Taiwan Semiconductor Manufacturing Company)社の0.13μmのプロセス技術で製造され、消費電力は2W~3W(300MHz動作)。主な用途は、マシンビジョンシステムなどである。  S6 SCPでは、アルゴリズムに対して最適なハードウエアエンジンをISEF IIによってソフトウエア的に再構成することが可能である。第1世代のISEFとの違いは、32バンク×2KバイトのIRAM(ISEF RAM)を備えることと、ISEFの再構成時間が最短で12μsであることだ。IRAMは直接メモリースペースにマッピングされストレージとして用いることが可能である。また、IRAMはDMAコントローラを備えるため、プロセッサに負荷をかけることなくメモリーやほかのISEFブロックに出力を転送することできる。  S6 SCPのデザインフロー(図5)は、まずツールがターゲットとなるC言語のプログラムを解析して、負荷の重い処理に対して拡張命令を定義する。次に、コンパイラやISEFの構成データが生成され、拡張命令に対する実行形式のファイルが出力される。通常のC言語のプログラムを用いるので、特殊なプログラミング手法を学ぶ必要はないという。

この記事を :  印刷する プリントする ブックマーク  はてなブックマークに登録 この記事をクリップ! Buzzurlにブックマーク Yahoo!ブックマークに登録 メールで送る メールで送る

Sponsor Links

Partner Solutions

EDN RESOURCE CENTER


新着ホワイトペーパー情報




アナログ・デバイセズ - 18件
インターナショナル・レクティファイアー・ジャパン - 1件
ナショナル セミコンダクター ジャパン - 9件
リニアテクノロジー - 15件

他グループサイト関連記事