Intel Larrabee 1コア

このエントリーをはてなブックマークに追加
813,,・´∀`・,,)っ-○◎●
突っ込みどころが多すぎてどこから突っ込んで良いか逆に迷う、本日の後藤の主観記事
http://pc.watch.impress.co.jp/docs/2009/0305/kaigai493.htm

> Cell B.E.は、4-wideの短いベクタエンジンを実装しながら、スカラ命令も実行できる、
> 汎用性の高いCPUコア「SPU(Synergistic Processor Unit)」を採用した。ストリームプロセッシングでは
> 有効ではないキャッシュアーキテクチャは取らず、各CPUコアのメモリ空間はそれぞれ独立している。

スカラ命令が実行できる?
基本SIMD命令しかサポートしてなくて、プリファードスロット(ベクトルの第1要素)をスカラと
見なしてやるしかないんだけど

>  Cell B.E.と比べると、Larrabeeの方がよりデータ並列に振っている。
> ベクタを長くしてデータ並列を強めると、コントロールフローのムダが大きくなる。

【また】やっちまったなwww
受け売りだけやってればいいのに><

x86でXMMレジスタ上で浮動小数を扱う場合、たとえば単精度のスカラ加算を行うとする。
128bit等速のSIMDユニットを搭載してる最近のCPUではaddssでもaddpsでも同一レイテンシ・
スループットなのでどっちでもいいのだが、前者はプリファードな32bitのみ作用する。

最近のIntel CPUは、スカラ演算命令を処理する場合、残った96ビット分の捨てデータ分は供給を止めて
電力カットするような最適化をやってます。
65nmのCore MAあたりで既に実装されてた機構ですが、より消費電力重視のAtomでは言わずもがな、です。
その点でいくと128ビットSIMDとは別個にスカラ専用の同等命令を備えないCellのほうが分が悪いわけです。

ベクトル長のことを言い出したら、GeForce 8以降は1024ビットのSIMD相当(32 Thread/SM)なわけで、
「ベターGPGPU」として使う分には512ビットって別に長くもないわけですが。

CPU用にはもっと並列度の低いSIMDで十分だって言うなら、別にLarrabeeじゃないIntelプロセッサだって
いいわけで、Core MAでも良いのでは?
GPUだと言ったりCPUだと言ったり大変ですな。Cellはどっちにも使えませんが。
814,,・´∀`・,,)っ-○◎●:2009/03/05(木) 04:40:46 ID:4eF+/58k
> しかしLarrabeeでは、ユニプロセッサの整数演算パフォーマンスに疑問符がついている。
(ry
>  In-Order実行で2命令発行のP54Cコアは、2GHz台で走らせても、それほど高いスカラ
> 演算性能を発揮できないはずだ。同じIn- Order実行2命令発行でも、より洗練された
> Atom系(Bonnell:ボンネル)アーキテクチャのCPUコアと比べて、同クロック時の性能が
> 高いとは考えにくい。

ここは概ね同意なんだが、後藤は自分の記事でAtomは80486ベースだと説明してるよね。
そのレベルではLarrabeeもP54Cに手を入れてくる可能性は高い。

Atomのデコーダは貧弱で、一度デコードしてプリデコードタグがついたものでないと
ハードワイヤードでデコードできない。
命令フェッチ帯域も8byte/clkと狭い(P5以降は16byte/clk)。
性能よりも電力を抑える方向に最適化した結果だと思われる。

逆に、一度デコーダを通ってプリデコードタグがついた命令だと、再デコード時には最大2並列
(命令フェッチ帯域が間に合う範囲内で)デコードできる。
タグが付いた命令に対してならペアリング制限の厳しいP5よりはデコード効率はよくなることもある。
その辺のバランスも含めてなので、Atomのほうが洗練されてるかどうかは実物が出るまでは
判断しづらい。


LarrabeeがP54Cのそれよりはデコーダは強化されてると断言できる資料は既に出てる。
去年8月時点でのLarrabeeの論文の時点でpopcntやlzcnt(AMDのそれと互換かは不明)も
搭載してることが明言されてる。その程度にはスカラ性能も強化するってことだ。

P54Cまでだとプリフィクスや2バイトOpcodeのエスケープバイトを1バイト噛ませるだけで
1クロックストールし、P55C以降はMMX対応のために1バイトまでのプリフィクスまたは
エスケープならストールなしに噛ませることができるようになった。
Larrabeeは64ビット拡張をサポートするので対応すべき2バイトOpcode命令も増えるし
REXプリフィクスも載っかる。
AVX以降の共通の命令セット基盤となるVEXは3〜4バイトOpcode相当なので、その辺までは
耐えられる設計にしないといけない。逆にいうとスカラとベクタ共通の命令の受け入れ口である
デコード段がネックになっていてはVPUにすら命令供給が間に合わない。
815Socket774:2009/03/05(木) 12:35:28 ID:o0ayirSp
>>813&814
ここでクダ巻かずに、impressに連絡するといいよ
もちろん、公開質問状(呼び方はさておき)としての2ch書き込みならわかるが