Googleが公開した「Zentool」により、AMD Zen系CPUのマイクロコードを操作可能となった状況を受け、中国のJiachenプロジェクトがRISC-Vコードをネイティブ実行する試みに乗り出した。同プロジェクトは、EPYC 9004などの高性能サーバー向けCPUを対象に、x86命令の代替としてRISC-V命令を直接走らせるコンテストを開始。

RISC-Vバイナリの実行速度向上を狙うこの試みは、x86エミュレーションを回避しつつベンチマークで性能を証明することが求められる。ただし、Zenプロセッサにおけるマイクロコードの改変余地には限界があるとされ、完全なRISC-V対応には技術的な困難が予想される。

AMDがかつてArm ISAとの並存を模索していた経緯もあり、マルチISA構想の再燃とも捉えられるが、今回の取り組みは理論上の可能性に過ぎない。実用化には依然として多くの技術的障壁が存在している。

AMD Zenのマイクロコード改変に挑むJiachenプロジェクトの全貌

Jiachenプロジェクトは、Googleが公開したZentoolを活用し、AMD Zenマイクロアーキテクチャに基づくEPYC 9004シリーズなどのCPUで、RISC-Vバイナリを直接実行可能にすることを目指す取り組みを進めている。

このコンテスト形式の試みでは、RISC-Vコードのネイティブ実行を実現するマイクロコードパッチを開発し、CoremarkやDhrystoneといった定番ベンチマークで性能を検証することが要件となっている。提出物には、設定ファイルや依存関係、バイナリ、あるいはソースコードといった詳細な技術情報も含まれ、審査基準は実用性と性能の両面にまたがる。

優勝者には約2,735ドルの報奨金が用意されており、現代プロセッサ上でのRISC-V動作を巡る技術競争に一石を投じている。

この取り組みは、単なるエミュレーションを超えたネイティブ実行という点で、従来の仮想化やトランスレータを用いたアプローチとは一線を画している。

しかし、Zen CPUのマイクロコード構造は本来ベンダーによる閉鎖的な管理下にあり、今回のような第三者による書き換えは極めて異例である。結果としてこの挑戦は、セキュリティ研究とオープンISAの融合点として、将来的なプロセッサ設計の方向性にも示唆を与えるものとなり得る。

マイクロコードの限界とRISC-Vへの書き換えの現実性

AMDのZen 1においては、かつてx86-64とArmv8-A(Aarch64)の両方をサポートする設計構想が存在していたとされ、前面ISAを切り替えるようなマイクロコードの層が導入されていた可能性がある。これは、AMDの主任アーキテクトであるマイク・クラーク氏の回想からも示唆される。

しかし、その後のZen 2以降のプロセッサでは、パフォーマンス最適化のためにハードウェアとマイクロコード層の結合が進み、ISAの切り替えを可能とするような柔軟性は失われつつある。

特にRISC-Vのような完全に異なる命令セットを導入するには、ISAデコード層から命令パイプライン、キャッシュ制御、例外処理まで広範な変更が必要であり、これはマイクロコード単体では実現困難である。加えて、マイクロコードの容量そのものが限られており、完全なRISC-V ISAを記述するだけのスペースも確保できない可能性が高い。

Jiachenプロジェクトが目指す成果は、限定的な命令セットの処理や試験的な動作に留まる可能性がある。従って、既存のx86命令セットを再コンパイルする従来型の移植方法が、依然として現実的な選択肢であるといえる。

Source:Tom’s Hardware