ALH84001

私的コラム&雑記(&メモ)

今週の気になった話題(2020年第24週)

2020-06-13 | 興味深かった話題

Jim Keller氏がIntelを辞職

Intel CPUアーキテクトのジム・ケラー氏が辞職 - PC Watch

 多数の有名なプロセッサーを手掛けたCPUアーキテクトとして有名なJim Keller氏がIntelを辞職するそうだ。今回が前回(Tesla)や前々回(AMD)と少し異なるのは辞任後も6カ月間にわたってコンサルタントとして携わることが明言されている点だろう。

 聞いた話になるが、Jim Keller氏に限らずCPUアーキテクトが企業を渡ることは珍しくないようだが、実際の製品が市場に投入される何年も前に離職することが少なくないようだ。近年の高性能CPUは約4年間の開発期間を要するのに対し、アーキテクトが設計するのは最初の~2年間程度の上流工程だからだ。
 例えばZen開発に関してAMDに参加したのは2012年8月のことであるが2015年9月に辞職し2016年1月にTeslaに参加、同職を2018年4月に辞職してIntelに移籍している。AMDの場合はZenが発表されたのは2017年3月のことで、Teslaの場合もFSDが発表されたのは2019年9月のことだから、いずれも1年半ほど前に辞職していたことになる。

 もちろん、今回も辞職後半年ほど経ってから別の企業に移籍するということは十分に考えられそうだが今回はHotChipsでの基調講演が予定されている状況での辞職のため、あらかじめ計画されていなかった可能性が高そうだ。

AMD Ryzen 3000CシリーズSoC

AMD Ryzen 3700C and 3250C Benchmark Results Point to Google Zork - Tom's Hardware

 Google Zork向けというAMD Ryzen 3700C・3250CがGeekBenchの結果に登場したそうだ。
 記事中ではGoogle Zorkを「2-in-1のPixel Bookではないか」と言っているが、恐らくChromeOSベースのデバイスだろう(※注:Pixel BookはChromeOSデバイスである)。Androidベースのデバイスと異なりChromeOSベースのデバイスではIntelプロセッサーが標準でサポートされているし、ChromeOSデバイス用プロセッサーにサフィックス「C」が付く例はこれまでもあった(例:Rockchip RK3288C)。

 Ryzen 3000Cシリーズが興味深いのは、Tom's Hardwareの記事中にある通り、通常のRyzen 3000U/3000G APUとは異なりチップセット無しのSoCであることだ。実際には、Zen/Zen+世代Ryzen APU(Raven Ridge / Picasso)はRyzen Embedded V1000・R1000シリーズに見られるようにチップセット無しのSoCとして利用できるため不思議な事ではない。

 恐らくPC用のRyzenがチップセットを必要とする背景には様々な理由/目的があるのだろうが、ユーザー視点・技術的な理由としてI/O数を増やす目的がある。後述するがCPUから出せるI/Oには限りがあるからだ。
 現在のAMDチップセットはPCIe x4で接続され、例えばB550の場合はここからPCIe Gen 3 10レーン・SATA 6レーン・USB 3.1 Gen 2 2レーンなどを取り出すことができる、ハブの役割を果たしている(※注:PCIeとSATAの高速シリアルI/Oは合計10レーンの排他利用)。言い換えれば、Thin ClientやChromeBookのようなレガシーフリーでI/Oの少ないプラットフォームではチップセット無しでも問題とならない場合がある。

 AMD Zen/Zen+シリーズのAPUはSoCとして使用する場合には合計16レーンの高速シリアルインターフェース(PCIe・SATA)が使用できる。Google Zorkの仕様は不明だが、一般的なChromeBook/ラップトップPCとして考えるならM.2 NVMe SSD(PCIe x4)・M.2 Wi-Fi(PCIe x1)・1GbE(PCIe x1)・SD Card Reader/Writer(PCIe x1)といった具合で合計16レーンで十分に足りてしまう。

 Intel Coreシリーズプロセッサーの場合、CPUは単体でブート可能なようにはできておらず、PCIeやビデオ出力以外のI/Oも搭載されておらず、チップセットありきのデザインとなっている(Core-Uはチップセットをパッケージに統合しているため外付けチップセットは必要ないが)。

余談:Ryzen Embedded SoC

 Ryzen 3000Cシリーズ≒Ryzen Embedded V1000/R1000シリーズと仮定してRyzen Embedded V1000/R1000について。
 AMD ZenシリーズとIntel Coreシリーズは製品としては似ているが大きく異なるコンセプトを持っている。それはZenシリーズが組込界の設計思想を取り入れたSoCとしての利用を想定した製品である点だ。これはGPUが統合されたAPU製品(Ryzen Embedded)だけでなく単体CPU製品(Epyc Embedded)でも共通の特徴である。

 組込とPCでの半導体製品の大きな違いは、組込では一般にチップに搭載されている機能を全て同時に利用することができず選択的/排他的に取り出すことが多いことだろう。組込では組み込まれる対象のデバイスの用途によって必要な機能(≒必要なI/O)が異なるが、特定の用途に限定されているので同時に利用可能なI/Oの種類は多くなくていい。むしろ、チップの半導体面積(≒4辺がI/O用)やパッケージのフットプリントが小さい方が良いためI/Oは必要最小限の方が良い。
 より具体的には各種コントローラーは論理層と物理層が別々に実装されているが、取り出すことが可能な機能は実装されている物理層≒高速シリアルI/O(いわゆるSerDes)の数に制約を受ける。

 以下の表は第1/2世代ZenのAMD APUの仕様(※一部推定を含む)をまとめたものであるが、左端がチップそのものの仕様、中央3項目が同チップから派生させた製品、右端が同チップの採用例(≒ユーザーから見た仕様)である。

Product line N/A Ryzen-U / -G Ryzen Embedded
V1000
Ryzen Embedded
R1000
Example:
Sapphire BP-FP5
Ryzen V1000/R1000
Memory Std DDR4 2400 - DDR4 3200
Channel 2
PCIe lanes 16 SerDes lanes
upto 16 PCIe
upto 8 SATA
upto 2 10GbE
PCIe Gen 3
12 (4 for SCH)
16 SerDes lanes
upto 16 PCIe
upto 2 SATAIII
upto 2 10GbE
8 SerDes lanes
upto 8 PCIe
upto 2 SATAIII
upto 2 10GbE
1 M.2 PCIe x4 or SATA
1 M.2 PCIe x1
1 SATA
SATA -
Ethernet - 2 1GbE (PCIe x1)
USB 4 USB3.1

 チップ自体は16レーンの高速シリアルI/O(SerDes)を搭載している。これは搭載しているPCIe 16レーン + SATA 2レーン + 10Gb Ethernet 2レーンとコントローラーの総数よりも少なく、取り出せるI/Oは排他利用となる。

 PC用Ryzen 2000シリーズAPU(Raven Ridge / Picasso)では16レーンすべてをPCIeとして使い、うち4レーンをチップセットとの接続・残り12レーンのうち8レーンをGPUなどPCIe・4レーンをM.2として使用するケースが多い。
 組込ではやや状況は変わり、利用可能なコントローラーから組込ベンダーが組み合わせを選択できる。例えばSapphire NP-FP5・BP-FP5ボードの場合、V1000・R1000両対応から8レーン分のI/Oが使用されている。M.2 2280 B+M KeyでPCIe x4またはSATA 1レーン・M.2 2230 A+E KeyでPCIe x1またはUSB・2基の1GbEでPCIe x1を2レーン・SATA 1レーンで合計8レーンを使用している。

 ちなみに、ここでいう高速シリアルI/O≒物理層とは、チップ間接続などでいう物理層のことでEthernet/OSIモデルの物理層とは異なる。例えばAPUにはSynopsys製10GbEのMACが搭載されているが、ここでいう物理層とはこのMACとPHYの間を接続するXGMIIシリアルI/Oのことである。これを他ノードとケーブル接続に利用するには外付のPHY(Ethernet/OSIモデルでの物理層)が別途必要になる。

 ところで、Ryzen Embedded搭載製品について調べていると、10GbEが有効化されていないことへの疑問の声が聞かれるが、恐らくこの10GbEはそのような利用を想定していないのではないか(メーカーがサポートしていないのではないか)と思う。
 まず、上述の通りRyzen Embeddedに搭載されているのはバックプレーン用の10GBASE-KRのMAC層であり、I/Oとして取り出すにはバックプレーン(PCB基板上での通信)としての使用が想定されている。恐らくSFPなどを使えば10GBASE-LR/ER/SR(光ファイバーでの通信)で使用できると思われるが、果たして消費者向けに浸透しつつある10GBASE-Tとして使用できるかは疑わしい。
 ちなみに、このMACは1GbE x2レーンとしても使用可能なようだがPHYを外付けする必要があるためコストパフォーマンスは良くない。MarvellあたりのPHYよりもRealtekのPCIe x1接続1000BASE-Tコントローラーの方が安価だったりするからだ。

 ちなみにCOM Express(組込用のプロセッサーモジュール規格)を使用する場合、Ryzen Embeddedの仕様はCOM Expressの仕様と完全には合致していない。これはEpyc Embeddedの仕様がCOM Express Type-7と完全に合致する(≒そういう意図で設計されている)のとは対照的である。

  COM Express Types AMd Embedded Processor family
Type COM Express
Type-6
COM Express
Type-7
Ryzen Embedded
V1000
Epyc Embedded
3000
PCIe lanes 24 32 upto 16 lanes upto 32
SATA 4 2 upto 2 upto 8
10GbE 0 4 upto 2 upto 4
1GbE 1 1 upto 2(?) upto 4(?)
USB3.0 4 4 4 4
USB2.0 8 4 1 0
Video LVDS A&B 0 LVDS 0

 

Comment