Coelacanth's Dream

気になる Jasper Lake のキャッシュ構成 ―― 【追記】 Snow Ridge と Elkhart Lake について訂正

以前 Elkhart Lake が発表された際、Tremontアーキテクチャ を採用するプロセッサの中では、まだ唯一キャッシュ構成が不明だった Jasper Lake だが、
Intel Elkhart Lake 発表、その詳細 | Coelacanth’s Dream Geekbench に Jasper Lake による実行結果が現れたことでキャッシュ構成が判明した。
だがそれは Tremontファミリー の中では、少し異質なものであった。

Jasper Lake

まず、Tremontアーキテクチャ では 4コアとそれらで共有する L2キャッシュでクラスタ(タイルとも呼ばれる) を構成する。L2キャッシュ容量はプロセッサごとに異なり、1MB から 4.5MB の範囲で選択可能となっている。1
マイクロサーバー向けの Snow Ridge は最大の 4.5MB、ハイブリッドプロセッサ Lakefield は 1.5MB、組み込み向けの Elkhart Lake も 1.5MB を搭載している。
LakefieldTremont 4コアに加え、bigコアである Sunny Cove 1コアを搭載し、それと共有、L3キャッシュに位置する LLC (Last Level Cache) を 4MB 持つ。

(追記 2020/10/26)

記事の以前のバージョンでは、Snow RidgeElkhart Lake は L3キャッシュ/LLC を持たないように書いたが、それは間違いで、実際には持っている、または持たせることが可能なようである。

Snow Ridge にあたる Atom P5900シリーズ は、最大 15MB の LLC を共有するとあり、
Product Fact Sheet: Accelerating 5G Network Infrastructure, from the Core to the Edge | Intel Newsroom

Elkhart LakeAtom x6000Eシリーズ を搭載するボードを販売する TQ では 4MB の LLC を追加できるとしている。
TQ | Elkhart Lake | Intel Atom 6th generation x6000E TQ | Elkhart Lake | Intel Atom 6th generation x6000E

ark.intel.com では、L2キャッシュ容量しか記載されていないが、
考えるに、用途に応じた、搭載製品の設定によっては有効可能ということなのかもしれない。

つまり、自分が下記にあげている Geekbench 5 の実行結果から言えるのは、Celeron N4500Celeron N5100 では L3キャッシュ/LLC が有効化されていることと、
それがモバイル向けプロセッサとしてどのように効果するか、ということになる。

(追記終了)

Jasper Lake は L3キャッシュを搭載か

以下が、Jasper Lake である Intel Celeron N4500Intel Celeron N5100 のGeekbench 5 実行結果となる。

CPU の x86_Model が 156(0x9C) となっており、これを Linux Kernel に含まれる Intel CPUファミリー一覧と照らし合わせると Tremont_L / Jasper Lake と一致する。2 ベンチマーク結果にある、モデル名 Google dedede というのは、以前紹介したように、Jasper Lake を搭載する Chromebook のメインボード(リファレンスボード) のコードネームであり、そこでも Jasper Lake だと分かる。マザーボードの drawcia はその派生ボードの名。
Intel 10nm プロセッサを搭載した Chromebook ボード | Coelacanth’s Dream

そして、キャッシュ構成を見てみると、Lakefield のようなハイブリッドプロセッサでないのに そこには L3 Cache 4.00MB x 1 とある。
上述したように、この結果はほぼ確実に Jasper Lake である。

Intel Tremont Snow Ridge Lakefield Elkhart Lake Jasper Lake
L2cache (per Tile) 4.5 MB 1.5 MB 1.5 MB 1.5MB
L3cache/LLC (Up to) 15MB 4MB 4MB 4MB

ここで疑問に思うのは、4コアで共有する L2キャッシュ容量は LakefieldElkhart Lake と同じ 1.5MB なのに、L3キャッシュ 4MB を搭載していることだ。L2キャッシュを 1.5MB より多くには設定しなかった。L2 Cache 1.50 MB x 1 とあることから、Tremont コアそれぞれが L2キャッシュを別に持ってはいない。
そのことから、ただ CPU性能の向上を目的としている訳ではないと思われる。

Jasper Lake で L3キャッシュを搭載した理由としては、1つに GPU性能の向上が考えられる。
Intel プロセッサにおける L3キャッシュ/LLC には GPU からもアクセスが可能となっており、一部をキャッシュとして利用できる。
Jasper Lake はモバイル向けプロセッサであり、CPU性能だけでなく、最低限の GPU性能が求められるシーンが少なくはないだろう。
L2キャッシュを多く設定するのではなく、L3キャッシュを搭載することで CPU、GPU 両方の性能向上が見込まれる。

Jasper Lake の GPU の仕様は Elkhart Lake とほとんど変わらず、EU数は最大 32基 (256SP) となる。
Jasper Lake のターゲットとなる TDP(PL1)帯は 6W あたりからとされ、AMD 3015e (Pollock) / 3020e (Dali) が競合となるのではないかと思う。3
大きく異なるアーキテクチャとなる省電力プロセッサ同士の比較は結構気になる所だ。
Jasper Lake は LPDDR4メモリ対応、Intel 10nmプロセスという点で有利に思われる。

また、L3キャッシュの存在以外に、ハイパースレッティングが無効化されていることが判明している。
Tremontファミリー でハイパースレッティングが有効化されているモデルは無く、自分はこれまで、モバイル向けの Jasper Lake では有効化されるのだろうと考えていた。
Intel® 64 and IA-32 Architectures Optimization Reference Manual でも触れられていなかったが、Tremontアーキテクチャ にハイパースレッティングは実装されていないのだろうか?