0
2023年09月22日 19:01 ITmedia PC USER
Intelは9月19日(米国太平洋夏時間)、モバイル向け次世代CPU「Core Ultraプロセッサ」(開発コード名:Meteor Lake)のアーキテクチャの詳細を発表した。
発表に先駆けて技術説明会に参加した筆者は、その詳細を2つの記事に分けて紹介することにした。前編は、読者からの関心が特に高いであろう、CPUコアにまつわる特徴を中心に解説している。
前編で取り上げたことを軽くおさらいすると、以下の通りとなる。
・Meteor Lakeは「タイルアーキテクチャ」という、Intel独自のチップレット技術を採用
|
|
・タイル(チップレット)は「Compute」「Graphics」「I/O」「SoC」の4つ
・Compute Tileは、基本的に第12/第13世代CoreプロセッサのPコア/Eコアの改良版
・SoC Tileにも、追加で消費電力をより削減したCPUコア「LP Eコア」を搭載
・PコアとEコアに処理を割り振る「Intel Thread Director」に改良を実施
今回は、SoC Tileに搭載されるLP Eコア以外の機能と、Graphic TileやI/O Tileの詳細をひもとく。
|
|
【訂正:9月24日8時20分】NPUのスペック表記の一部に誤りがありました。おわびして訂正いたします。
●全モデルに搭載される「NPU」
SoC Tileには、LP Eコアと並んで注目すべき機能として「NPU(Neural-network Processing Unit:AIプロセッサ)」が搭載されている。NPUはAI(人工知能)に欠かせない「推論処理」を高速化する演算ユニットで、「推論プロセッサ(アクセラレーター)」とも呼ばれる。
NPUは従来、GPUやスマートフォン向けSoCに搭載されることが多かった。GeForce RTXシリーズなど、NVIDIAのGPUに搭載されている「Tensorコア」や、AppleのMac/iPhone/iPad向けSoCに搭載される「Neural Engine」などは、広く認知されているだろう。
神経回路を意味する「Neural(ニューラル)」を冠することから、えらく高度なことをやっているようなイメージもあるNPUだが、実際にやっていることはただの行列演算である。
|
|
Meteor Lakeに搭載されたNPUは、Intelに買収されたMovidius(モビディウス)という企業が開発していた「VPU(Vision Processing Unit)」の思想を色濃く反映している。
Meteor Lakeでは、1基のNPUに2基の「NCE(Neural Compute Engine:ニューラル演算エンジン)」が搭載されている。NCEの1基当たりの演算能力は、FP16(16bit浮動小数点演算)で1クロックあたり1024回、INT8(8bit整数演算)で1クロックあたり2048回だ。
Meteor LakeのNPUには、推論プロセッサの他、128bitの「SIMD-VLIWプロセッサ」も搭載されている。このプロセッサはいわゆる「DSP(Digital Signal Processor)」なのだが、Intelによると、これはMovidiusが開発した「SHAVE(Streaming Hybrid Architecture Vector Engine)」を“そのまま”載せたものだという。
一般的に、DSPは入力されたデータストリームの1つ1つに対して、短いプログラムを適用して演算を進めるイメージがある。それに対して、SHAVEはPlayStation 3のメインプロセッサとして知られる「Cell Broadband Engine」に内包されていた「SPU(Synergistic Processing Unit)」に似た実装となっている。
具体的には、メインCPUを介さずにメインメモリからデータを入出力できる「DMA(Direct Memory Access)」に対応している他、スクラッチパッドメモリをローカルメモリ空間として活用し、超高速なデータ加工を行えるようになっているからだ。
ブロック図を見ると、SHAVEが占める面積は小さい。しかし、ほぼCPU的に複雑なデータ処理を行える。具体的には、128bitベクトル演算器、32bit整数演算器、32bit整数8要素SIMDスカラ演算器、比較命令、分岐予測、ループ制御など、高度なプログラミングが可能な各種演算器を搭載している。依存関係がなければ、1クロックあたり最大で8つの命令を実行できるという。
さて、気になる「NPUの活用方法(≒プログラミングモデル)」だが、新命令セットを用いるのではなく、Intelが開発した深層学習型AIの開発フレームワーク「OpenVINO」のAPIを介して利用する形態を取る。Microsoftと連携して開発してきた、WindowsからNPUを利用するためのサブシステム「MCDM(Microsoft Compute Driver Model)」にも対応する予定となっている。
そのため、AIを利活用するWindowsアプリがOpenVINOまたは「DirectML」をベースに構築されている場合、PCにMeteor LakeのNPU/GPU用のMCDMドライバーがインストールされていれば、NPU/GPUによるAIアクセラレーションが有効となる。
ちなみに、MCDMドライバーの実体構造は「3Dグラフィックス関連の機能を省いたGPUドライバー(≒WDDMドライバー)そのものに相当」するそうだ。
なお、NPUが搭載されておらず、かつMCDMドライバーのないGPUを使っている環境でも、OpenVINOから「MKL-DNN(Intel Math Kernel Library for Deep Neural Networks)」にアクセスできれば、CPUコアを用いた代替演算で当該アプリを稼働できる。
Intelでは、今後リリースされるCoreプロセッサの多くにNPUを搭載する予定だという。とりわけ、Meteor Lakeでは全製品(SKU)にNPUを搭載するとしていて、「AIアプリの実行」という観点から、Intelプラットフォームの“巻き返し”を図る方針だ。
●強化された「ディスプレイエンジン」「メディアエンジン」
SoC Tileには、LP EコアやNPU以外にも、PCを構成する上で重要な機能が搭載されている。映像出力回りをつかさどる「Xe Display Engine」と、動画のエンコードやデコードを担う「Xe Media Engine」は、その典型例だ。
いずれのエンジンも、名前に自社製GPUアーキテクチャである「Xe(エックスイー)」を冠しているが、Graphics Tile(GPU)には搭載されていない。I/O Tileにある映像出力インタフェースを含めて、あえて“分散”させている。
Xe Display Engine:最新の映像出力規格も対応
Xe Display Engineは、先述の通り映像出力回りの制御を担う。ただし、ディスプレイ出力インタフェースはI/O Tileに搭載されている。
映像出力は、最新の「HDMI 2.1」や「DisplayPort 2.1(最大20Gbps×4レーン=80Gbps)」に対応している。超高解像度/超高リフレッシュレートの映像出力も可能で、以下のような映像フォーマットに対応している(一部はデータを圧縮した上で伝送される)。
・8K(7680×4320ピクセル)/60Hz/HDR
・4K(3840×2160ピクセル)/60Hz×4画面
・フルHD(1920×1080ピクセル)/360Hz
・WQHD(2560×1440ピクセル)/360Hz
Xe Media Engine:AV1のデコード/エンコードにも対応
Xe Media Engineは、最大で8K/60fps/HDRのデコードとエンコードに対応する。対応コーデックは「VP9」「H.264(MPEG-4 AVC)」「H.265(HEVC)」だけにとどまらず、「AV1」のデコードとエンコードにも対応している。
機能面から見ると、最近の独立GPUに統合されたメディアエンジンに見劣りしないスペックだ。
SoC Tileには他にも、DDR5/LPDDR5(X)規格のメモリに対応する「メモリインターフェース」、Wi-Fi 6(IEEE 802.11ax)/Wi-Fi7(IEEE 802.11be)規格に対応する無線LANやBluetooth 5.xなど、無線通信をつかさどる「無線通信ブロック」などが統合されている。詳細な機能については、I/O Tileの解説の節に掲載する模式図で確認してほしい。
続けて、GPUコアを内包するGraphics Tileの説明に進もう。
●内蔵グラフィックスは「Iris Xe Graphics」から「Arc Graphics」に
Meteor Lakeでは、Graphics Tile(内蔵GPU)の性能が大幅に強化されたこともホットなトピックの1つだ。GPUとしての名前も「Intel Iris Xe Graphics」から「Intel Arc Graphics」に改められている。
GPUのアーキテクチャは、新登場となる「Xe-LPG」を採用する。新登場とはいうものの、既存のIntel Arc Graphicsで使われている、ゲーミング向けの「Xe-HPG」をベースに開発されたものだ。LPGは「Low Power Graphics(低電力グラフィックス)」の略で、省電力性にも配慮がなされているという。
Xe-LPGアーキテクチャのブロックダイヤグラム(設計模式図)は、ベースとなったXe-HPGと似ている。
GPUとしての処理性能は「レンダースライス」と呼ばれるGPUクラスターの数で調整している。今回登場したMeteor Lakeでは、これを2基搭載している。1基のレンダースライスには、演算ユニットに相当する「Xeコア」が4基搭載されている。つまり、Meteor Lakeの内蔵GPUにはXeコアが合計8基存在する。
この構成は、モバイル向けのエントリーGPU「Intel Arc 370M Graphics」と同一だ。
Xeコアを子細に見てみると、1つ当たり16基の「Xe Vector Engine(XVE)」を備えている(GPUコア全体では16×8=128基)。その名の通り、XVEはベクトル演算エンジン、もう少し詳しくいえば256bitの「SIMD浮動小数点ベクトル積和算演算器」だ。
XVEでFP32(32bit浮動小数点数)演算を行う場合、256÷32=8、つまり1つの命令で8つの計算を並行して行える。GPUコアの稼働クロックを仮に「2GHz」とした場合、Meteor Lakeの内蔵GPUにおけるFP32演算の理論性能は、以下の通りとなる。
8(同時計算数)×16(XVEの数)×8(Xeコアの数)×2FLOPS(積和算)×20億Hz(稼働クロック)=4兆960億(FLOPS)
まあ、ざっくりいえば約4TFLOPSの演算性能があるということだ。動作クロックが半分の「1GHz」だとしても、約2TFLOPSの演算パフォーマンスは確保できる。
いずれにせよ、CPUに内蔵されたGPUとしては高性能であることは間違いないだろう。
Xe-LPGアーキテクチャは、Xeコアと対になる形で「レイトレーシング(RT)ユニット」を備える。
つまり、1つのレンダースライスで8基、Meteor Lakeの内蔵GPUの場合は2×8=16基のRTユニットを備えている。ようやくIntelのCPU内蔵GPUもRT対応を果たしたことには、ある種の感慨を覚える。
超解像/アンチエイリアス技術「XeSS」の実装方法には差異も
ここまでを見ていると、Meteor Lakeの内蔵GPUは、外部GPUとしてのIntel Arc Graphicsと全く同じ構成に見えるが、実際には大きく異なる部分も見受けられる。
まず、Xe-HPGアーキテクチャでは搭載されていた推論プロセッサ「Xe Matrix Engine(XMX)」が省かれている。先述の通り、Meteor LakeのSoC TileにはNPUが搭載されているので、「Graphics Tileには不要だ」と判断されたのかもしれない。また、XMXは1024bit幅の行列積和算演算器で、搭載するとそれなりの面積が必要なので、省スペース化の観点から省くことにした可能性もある。どちらも理解はできる。
ただ、単純にXMXを省くと困ったことが起こる。「Intel版DLSS」とも言われる超解像/アンチエイリアス技術「Xe Super Sampling(XeSS)」が利用できなくなってしまうのだ。これは、XeSSがXMXの演算能力に依存した機能だからである。
しかし、Intelは「XMXが省かれていても、XeSSは問題なく利用できる」という。どういうことなのだろうか?
実は、XeSSのAI処理系は「プログラマブルシェーダモデル6.4(SM6.4)」ベースのシェーダコードで書かれている。XMXがあるGPU(≒Xe-HPGアーキテクチャGPU)の場合、このコードはXMXにおいて処理されるが、XMXがないXe-LPGアーキテクチャのGPU(≒Metero Lakeの内蔵GPU)では、普通のプログラマブルシェーダコードとしてXVEを使って実行されるのだ。
こうして、XeSSはXe-HPGでもXe-LPGでも保たれることは保たれた……のだが、Xe-LPGで動かした場合はグラフィックス描画に動員されるべきXVEが、XeSSの処理に回されてしまう可能性がある。つまり、XeSSを使う場合はGPUのパフォーマンスを3Dグラフィックス描画へと“全振り”できない状況になる。
まあ、このあたりもIntelとしては「CPU内蔵GPUだから、これくらいは別にいいでしょ」という判断なのだろう。
最後に、Meteor Lakeの入出力バス回りを見てみよう
●あえてI/O TileをSoC Tileから分離した理由
その名の通り、I/O Tileはシステムの入出力インタフェースを担う。このタイルはSoC Tileとの関係が深く、同タイルと直結するような構造となっている。
前編で掲載した全体図でも分かる通り、Meteor LakeはSoC Tileが“ど真ん中”に来るような設計となっており、Compute TileやGraphics TileもSoC Tileを介して他のタイルにアクセスするようになっている。
上の図で注目すべきポイントは、SoC Tileにある「NOC(Network On Chip)」と「I/O Fabric」という部位だ。
NOCはSoC上にある各種キャッシュメモリのコヒーレンシー(一貫性)の確保に対応しており、各タイルを高速につなぐためのコネクトファブリック(バス)として機能する。NOCに接続されるのは、CPUコア、NPU、GPU、メモリコントローラーなど、システムの中枢を占める部位となる。そのため、リングバス接続ではなくクロスバー接続に近い構造としたという。
一方で、I/O Fabricは、キャッシュのコヒーレンシーが保証されない接続バスで、ここにはEthernetインタフェース、オーディオ機能、USB 3.2/USB 2.0インタフェース、Serial ATAインタフェース、セキュリティプロセッサなどが接続されている。I/O Tileは、このI/O Fabricに接続される。
……となると、「I/O TileはSoC Tileと統合しても問題ないのでは?」という疑問が湧いてくる。しかし、I/O Tileをわざわざ分離しているのには理由がある。そう、プロセッサの位置付けに応じて入出力インタフェースの仕様を変えやすくするためだ。
例えば、あるプロセッサの下位モデルではPCI ExpressやThunderboltなどのインタフェース類を必要最低限に抑えたI/O Tileを搭載することで消費電力やコストを抑える一方で、上位モデルでは高機能/多機能なインタフェースを備えるI/O Tileを搭載する、といった“差別化”が容易になる。
超低コスト、あるいは超低消費電力なプロセッサから、超高機能なプロセッサまで、同じアーキテクチャで多用なCPUを作り分けるのに都合が良いというわけだ。
●Meteor Lake譲りの“デスクトップ向け”CPUにも期待
パッケージのイメージ画像からも分かる通り、今回アナウンスされたMeteor LakeことCore Ultraプロセッサは、あくまでもノートPC向けのCPU(SoC)である。
「デスクトップ版は?」という所だが、現時点においてIntelから正式なアナウンスはない。各種情報を総合すると、新製品は第13世代Coreプロセッサの改良版、つまり「Raptor Lake Refresh(仮)」になる可能性が高い。Foveros技術を駆使したタイルアーキテクチャで作られるデスクトップ向けCPUは、2024年後半に出てくる「Arrow Lake」(開発コード名)において初登場するだろうと言われている。
性能重視のゲーミングPCの導入を考えている人は、そのあたりのCPU動向を考慮に入れて、ゲーミングPCの導入やリプレースの判断をするといいだろう。
|
|
|
|
Copyright(C) 2023 ITmedia Inc. All rights reserved. 記事・写真の無断転載を禁じます。
掲載情報の著作権は提供元企業に帰属します。
スマホ料金 24%が「安くなった」(写真:ITmedia Mobile)152
スマホ料金 24%が「安くなった」(写真:ITmedia Mobile)152