大原雄介の半導体業界こぼれ話
遅すぎたIntelとAMDの提携、意外と早いUECの到来、そしてなぜ今さらPLD?
2024年10月21日 06:17
今月も小ネタを3つほど。と、その前に8月の記事のアップデートなど。9月末に発表された通り、第13/14世代Coreの不具合に関する根本的な原因が究明されたのは喜ばしいことである。確かにクロックツリーの方に原因があるなんてのは、解明まで時間が掛かっても仕方ない話ではある。
対処も明確で、記事にもあるがMicroCode 0x12Bを当てることだ。筆者の所有する「ASUS PRIME Z690-A」にも9月30日に(まだベータ版であるが)Microcode 0x12Bに対応したVersion 3901が公開されている(図1)。既にトラブルが出ているCPUはRMAをかけて交換するしかないが、まだトラブルが出ていないCPUはこれで問題が解決することになる。
もっとも「実は壊れ始めてるけどまだ致命的な状況に至っていない」CPUは、このMicrocodeを当てたからと言って壊れかけている部分が修復されるわけではなく、なので製品寿命としては短くなる可能性がある。その辺への対処が保証期間を5年に延長するという措置なわけで、これで今回の問題は解決策が完全に提示された格好になる。
2023年の12月頃から話題が出ていたことを考えると、今回の問題には実に9カ月余りを要したことになる。Intel社内の検証とかQC/QA(Quality Control/Quality Assurance)部門はさぞかし修羅場であっただろう、と頭が下がる思いである。
IntelとAMDがx86 Ecosystem Advisory Groupを結成
10月15日、IntelとAMDは共同でx86 Ecosystem Advisory Groupを結成したことを発表した(Intel、 AMD)。メンバーはIntelとAMD以外に業界10社、それにLinux開発者であるLinus Torvalds氏とEpic Games創業者でUnreal Engineの開発者でもあるTim Sweeney氏を加えた14名(というか、12社+2名)でBoardを構成するとしている。
まぁここまではこちらの記事と同じ内容であり、何かしら新しい話があるわけではない。
で、筆者の個人的な感想で言えば2つの意味で「そもそも遅すぎた」感が否めない。まずその1。先の記事からの引用になるが、このAdvisory Groupの目的は
- ハードウェアとソフトウェアの互換性を高め、ユーザーが最先端の機能によるメリットを受けられるようにすること
- アーキテクチャのガイドラインを単純化し、IntelとAMDのx86製品におけるソフトウェア一貫性とインターフェイスを強化すること
- OSやフレームワーク、アプリケーションに新たな機能を効率的に統合すること
とあるが、別にこれまで両社はこれをやってきていた。古くはACPIやAPICがこれに該当するし、命令拡張ではMMXやら3DNow! から昨今のAVX512までが該当する。ほかにもSpeedStepやPowerNow! などの速度/電力制御、セキュリティ(LaGrande/Presidio)や仮想化支援(Venderpool/Pacifica)、最近だとヘテロ構成のCPUの管理(Intel Thread Director:AMDはこれに相当する機能の名前を公開していない)などが挙げられる。こう書くとIntelだけが主導を取っているように思えるかもしれないが、x86-64というかx64の命令拡張はAMDが主導したものである。
もっともこうした拡張は、必ずしも協調的に行なわれてきたとは言い難い。AMDで言えば3DNow! はSSEに吸収される格好になったし、SSE5は失敗に終わった。x86-64の時は、Intelは独自の(x86と互換性のない)64bit命令を持ち込もうとした。こうした問題は最終的にMicrosoftが仲介というか、Microsoftが「Windowsでサポートするのはコレ」と決断を下し、それにIntelとAMDが従ったというのが正確というべきか。その意味では、Intel/AMD/Microsoftの3社で、x86のエコシステムの標準化や新規格の導入を行なってきた、というのが正確であろう。今回の枠組みは、いわばこの3社だった枠組みを、12社+2人に広げるということになる。
ということは、「今後は」x86の命令拡張とか機能拡張が民主的に決められるようになるのかもしれない。まぁ民主的といっても12社+2人、という組織でどこまで民主的と言えるのかは分からないが。
あるいは今回のAdvisory Groupはあくまでもボードメンバーであり、この下に技術委員会などが組織され、ここで技術的な検討を行なってその結果をAdvisory Groupが判断して仕様を公開する、ということであれば確かに民主的になるかもしれない。
もっともその場合は多数の会員企業が参画することになりそうで、これはこれで議論の収束までに時間がかかるという、別の弊害が出てきそうではある。あと、リリースを読む限りあくまでも“Advisory”、つまり助言というか提言を行なうだけで、それを仕様としてIntelやAMDがインプリメントすることを強制できるわけではなさそうなのも気になるところだ。
それはともかく、既に公開された仕様に関しては今さらどうにもならない。一番酷いと個人的に思っているのは、AVX512の多数の方言というか仕様の多さである。過去に遡れるなら、まずAVX512自体の仕様検討をAdvisory Groupにやってほしかった。そういう意味で「遅すぎた」と考える。
もう1つの理由は、もっと早くにIntelとAMDはx86資産を守るためにこうした動きをしておくべきだった、ということだ。
現実問題として2社しかx86を動作させるためのシリコンを製造できない(VIA Technologiesはもうx86互換からとっくに撤退している:中国のx86は、性能と供給の両面からこの際除外しておく)というビジネスの不自由さ(一番儲かるシリコンの供給が2社に限られており、他社が参入できない)を嫌った半導体メーカーが一斉にArmに移行し、さらに技術的な不自由さ(Armの命令セットを自社で改変できない:またArmのライセンスなしにArm互換のプロセッサを製造できない)を嫌ってRISC-Vに移行しつつあるのが昨今である。
スマートフォンは言うに及ばず、車載や組込み、一部サーバーまでArmアーキテクチャは普及しており、これは要するにそれだけx86のマーケットを奪っているというわけだ。そして今はそのArmのマーケットをRISC-Vがゆっくり浸食しつつあるといったところ。ただArmはRISC-Vに対しての決め手となる対策もないので、今はそれよりx86のマーケットを浸食することに全力を挙げているというのが正しいところだろう。パイが減ることを対策するより、それより大量のパイを獲得する方を優先したというべきか。
Armがサーバーマーケットに興味があることを公然と宣言し始めたのは2010年、Cortex-A15の発表に合わせてのタイミングである。もしこの頃にこうしたAdvisory Groupを立ち上げていたら、Armによるサーバーマーケットの浸食はもう少し手間取ることになっただろうし、組み込み向けの急速なArmへの傾倒も遅らせることができたかもしれない(車載はどうにもならなかっただろうが)。この意味でも「遅すぎた」と感じる。
余談になるが、今回のニュースを聞いて最初に連想したのがPower.orgである。PowerPCを製造するIBMとFreescaleが立ち上げた、PowerPCのアーキテクチャを決めるための団体だったわけだが、いろいろ努力しつつも結局PowerPCの衰退に歯止めを掛けることはできなかった。
こういう言い方をするのも何だが、大体あるアーキテクチャが衰退局面に入ると、仕様の標準化団体とかを作っていろいろ活動するものの、結局消えてゆくというパターンが非常に多い気がする。x86 Ecosystem Advisory Groupがその轍を踏まないことを祈るのみだ。
AMD、Pensando Pollara 400を発表
10月10日に開催されたAMDのAdvancing AI 2024でいろいろ製品が発表されたのは既に報じられた通りであるが、ちょっと筆者の目を惹いたのは「Pensando Pollara 400」の発表である。
Pensando Pollara 400そのものの説明はこちらの記事の後半にもあるが、業界最初のUEC Ready Ethernetカードである。UECについては以前こちらでちょっと説明しているが、要するに物理層はEthernetそのままであるが、その上層にHPC向けの独自プロトコルを載せるという話である。
今回明らかになったのは、そのUEC 1.0の仕様が2025年第1四半期にリリース予定であること(図2)と、それに向けてAMDが最初のPensando Pollara 400をリリースしたということ(図3)の2つである。
ただ、まだ仕様が定まっていない規格だから、当然後で手直しは必要になる。当初はPensando Salina 400と同じく、内部に汎用CPUを複数持たせてここでプロトコル対応を行なうのかと思ったのだが、カードのCG(図4)を見るとどう見てもSoCに見えない。これ、ひょっとするとVersal Prime VM2152(一番小さい物なら31mm×31mmのパッケージがある)のヒートスプレッダを引っぺがして、「AMD PENSANDO」のロゴを貼っただけではないか?という気がしてならない。
VM2152なら600G Ethernet MACとGTM Transceiver(58G NRZ/112G PAM4)を4ないし8ch持つから、400G Ethernetには最適だし、インターフェイスもPCIe 5.0×4を2対装備する(CGを見直すと、そもそもPCIeのカードエッジの全部に配線が行なってない感じで、これ物理的にはx16のコネクタだが、電気的にはx8な気がする)。
LCは757KだからVersal Primeの中ではミドルレンジの下の方だが、Cortex-A72×2+Cortex-R5F×2も搭載しているから、仕様変更とか追加仕様の対策はFPGA Fabricでの対応とソフトウェアの対応、どちらでも容易だろう。
ではPensando Pollara 400があればUEC対応のクラスタが組めるか、と言えばそれは無理であり、UEC対応のスイッチが必要である。こちらはスイッチメーカーの領分で、それこそArista Networkなどが現在鋭意開発中であろう。ただ意外に早くUECが利用できる日が来そう、というのが今回の発表での筆者の感想である。
TIがPLDを新発売
TIは10月10日、新しくPLDを発表した(図5)。さすがにこのニュースには「は?」という声が出てしまった。
小容量FPGAに改めて脚光が当たり始めているという話はちょっと前からある。既存のFPGAメーカー(AMDやAltera)は大容量、高機能、高価格に製品をシフトしているが、グルー・ロジックとしてのFPGAのニーズは確実に存在しており、結果LatticeやMicrochipなどがこのマーケットでの存在価値を高めている。このマーケットを狙って、ルネサスも小容量汎用FPGAをラインナップし始めた。
ただグルーロジックといってもさすがにLUT数が1Kかそのくらいはないと使いにくいわけであるが、今回発表のPLDは6/8/10入出力で、内部のLUTは2/3/4bit構成が可能とされている。
たとえば、ミドルレンジの8入出力である「TPLD1201」の内部構造はこんな感じ(図6)で、2/3/4入力のLUT以外にパイプディレイやDFF(Dタイプ フリップフロップ)、CNT/DLY(カウンタ/ディレイジェネレータ)、アナログコンパレータ、VREFなど、色んな機能が付いている。PLDといっても、ピン数的には古の「GAL16V8」とか「22V10」とかを連想するし、そうした使い方も不可能ではないようだが、実際にはディレイとかVREF+アナログコンパレータを使ってもう少し高度な処理も可能になっている。
またモノによってはGPIOだけでなくI2C/SPIの入出力も可能というあたりは、MCUとかMPUの周囲に接続する形での利用が容易になっているようにも思われる。
ちなみにGPIOをどう割り当てるかは、同時に提供される「InterConnect Studio」というツールで自由に変更可能である。また開発中は外部にNVMなどを接続して内部の動作を決められるが、開発が完了したらOTPに書き込み可能だそうで、FPGAのように外部にNVMは不要である。
ちなみにGPIO、入力はシュミットトリガが用意され(利用しないことも可能)、出力はプッシュプル/オープンドレインNMOS/Tri-stateのいずれかが選べる。なかなか使いやすそうな構成である。
だが、これどういうところに使うか?というと、周辺回路がディスクリートで構成されているもののグルー向けという感じで、ASICを利用する際のプロトコル変換などには能力的にかなり厳しい(というか不可能である)。今時ディスクリートで周辺回路を構築するようなアプリケーションがどのぐらいあるんだ?という素朴な疑問を感じざるを得ないのだが、しかしこうして製品が出てくるところを見ると、TIからすればまだ結構ディスクリートの周辺回路が多く使われており、これの代替とかグルーロジック向けに製品を出すだけのマーケットがある、ということなのだろう。ちょっと認識を新たにせざるを得ない新製品であった。