Larrabee

Larrabee（ララビー）は、インテルが社内用のソフトウェア開発プラットフォームとして開発中の半導体製品の社内コードである。これはインテルが進めているメニイコア戦略による次世代CPU製品、または汎用処理能力の高いGPU製品として開発を進めていたものであったが、グラフィック用半導体製品として販売される予定は当面なくなった。 Larrabeeは、従来型のGPU製品のようにグラフィック処理用の命令セットを単純で専門化されたプログラマブルシェーダで固定的なパイプラインにより実行する代わりに、LRBni (Larrabee New Instruction, LNI) と呼ばれる100以上の新規命令で拡張されたx86命令セットを実行する16個、又はそれ以上のCPUコアを1つのダイ上にまとめて持つ製品となる予定であった。 グラフィック処理に専門化されたGPUのアーキテクチャでは、プログラム実行を細かく指示するホスト役のCPUが必要になり、処理データの受渡しにまで実行時間を割り当てる必要があるが、x86命令を備えたLarrabeeではホスト役も含めて処理が行えるため、処理データの移動が基本的に避けられる。グラフィック処理だけでなく広範なデータ並列処理の用途に向けてGPUから派生したGPGPUも、Larrabeeと似た位置付けにあるが、Larrabeeがスカラー演算部を得意とする汎用演算用のIA CPUにSIMD型演算機能を取り込んだのに対して、GPGPUはGPUのプログラマブルシェーダやキャッシュ機構の改良による汎用演算性能の強化が進められているという違いがある。 本半導体が製品として登場していれば、インテルの主流CPUである"Core 2"や"Core i7"といった従来型のIA CPUファミリと、GPUとの中間領域、又は両者を兼ねたものとして使用される予定であった。ストリーム・プロセッシングを行う多様な用途、例えば物理シミュレーションによる3Dゲームや高解像度動画像処理、HPCサーバなどでの使用が対象となる。 この半導体は2009年末現在で見れば、GPU製品であるNVIDIAのGeForceシリーズや、AMDのRADEONシリーズなどの製品市場で競合する予定だった。また近い将来はAMD Fusionとも競合する可能性があった。 2006年12月のインテル・デベロッパー・フォーラムによれば、Larrabeeは1.7 - 2.5 GHzで動作し、16 - 24のインオーダー実行コアで修正されたx86命令セット、およびテクスチャ処理ユニットと、グラフィック向けの典型的なハードウェア処理が実行されるとされた 。 Ars TechnicaのJon StokesはLarrabeeのマイクロアーキテクチャはPentium MMXをベースとしているだろうと示唆している。 Larrabeeはインテルの技術研究プロジェクトである「テラスケール・コンピューテング研究計画」(Intel's Tera-scale Computing Research Program) の研究成果が使用されている。インテルはテラスケール・コンピューテング研究で、Larrabeeを含む並列演算処理のプログラム記述用にC言語を拡張した"Ct"言語も開発している。またCやC++もLarrabee用に拡張している。。 インテルは2007年の段階ではLarrabeeの製品化を2009年後半または2010年としていた。 2009年9月23日、IDF 2009にて試作カードによる実機デモが行われた。6＋8の補助電源で動作し2スロットクーラーを搭載していた。 2009年12月8日、開発の遅延と満足なパフォーマンスを得られなかったことから、2009年12月までにGPUとしての開発は中止され、2010年にソフトウェア開発プラットフォームとしてリリースする予定とされている。 第1世代のLarrabee製品の構成として伝えられているものを以下に示す。 リング・ネットワーク 16個のCPUコア・ブロックや周辺回路がダイ内の高速双方向リング・ネットワークで結ばれ、データの外部とのやり取りや、レベル2キャッシュのコヒーレント制御を行うのに使用される。それぞれ片方向で512ビット幅の転送路を持つ。隣接ユニットとの転送は2クロックごとに行われる。 CPUコア・ブロック Pentium P54C相当の2命令同時発行可能なインオーダー実行型のスカラー演算部に加え、「ベクタユニット」と呼ばれる16個の並列演算処理部を持ち、単一の命令処理によるホモジニアスCPUコアを構成している。このスカラーとベクターの演算部に加えローカルで命令用32KBとデータ用32KBの合計64KBのレベル1キャッシュと、256KBのレベル2キャッシュを持つ。命令用とデータ用のレベル1キャッシュは1つのスレッドごとに16KBが割り当てられ、4wayのマルチスレッドに対応するのでそれぞれの合計が64KBとなる。命令キャッシュからインオーダー実行によるインストラクション・デコーダ部へ命令は伝えられ、内部的には2つのスカラー演算部と16wideが同時処理を行うSIMD型ベクター演算部が制御される。 ベクター演算用のレジスタは1つのスレッドごとに32ビットの16個で合計512ビット長のもの32本分にアクセス可能であり、4wayのマルチスレッドの対応する合計128本分を持っている。 レベル1キャッシュもレベル2キャッシュも共にプリフェッチ可能である。 リング・ネットワーク・インターフェース部が外部メモリや他のコアとの連絡を行う。 これらが1つのCPUコア・ブロックを構成している。 フィックスド・ファンクション・ロジック テクスチャー・フィルターを備える。テクスチャー・フィルターはレベル2キャッシュを経由して入出力を行う。 入出力インターフェース 外部との入出力にはシステム・インターフェース部とディスプレイ・インターフェース部を持つ。 Larrabee用命令セットは、Pentium (P54C) 世代の完全なx86命令セットに加えて、32ビット整数演算、32ビットと64ビットの浮動小数点演算や、ビットカウント、ビットスキャン、キャッシュ制御といった100種類以上の新たな命令が加わった。 インテル副社長の1人であり、"Intel Labs"を統括しているJustin Rattner氏は、2011年9月13日から3日間開かれている"IDF 2011"（インテル・デベロッパー・フォーラム 2011）の初日のキーノートスピーチにおいて、社内で"MIC"（Many Integrated Core、マイク）と呼んでいる新たなアーキテクチャに基づく、"Knights Ferry"（ナイツフェリー）メニーコアCPU、チップ自体のコードネームは"Aubrey Isle"と呼んでいる32個のコアを集積したメニーコア半導体をすでに一部の研究者向けに提供していると公表した。このMICアーキテクチャは、XEON系などインテルの通常のCPUと組み合わせたヘテロジニアス（異種混合）構成で使うことを前提としたコプロセッサであるとしている。MICアーキテクチャは、Larrabee用として開発された"LRBni" (Larrabee New Instruction, LNI) と呼ばれる100以上の新規命令で拡張されたx86命令セットを実装しており、512-bit幅のベクタ実行パイプラインを備えたコアを従来のx86系のプログラムで制御可能にしている。 また、"Knights Ferry"での経験を活かしたMICアーキテクチャの正式製品(Xeon Phi)として、チップ自体は22nmプロセスを用いた"Aubrey Isle"と呼ばれるコア50個以上を集積する"Knights Corner"（ナイツコーナー）の製造を計画していると公表した。