メインコンテンツへスキップ
  1. Footprints/
  2. Footprints of 2024-10/

2024-10-27

·1 分·

HiFive Premier P550
#

SiFiveの新しいRISC-Vボード HiFive Premier P550のEarly Accessが何日か前に始まっていた. https://www.sifive.com/boards/hifive-premier-p550

SiFiveの新しいCore (とはいっても2021年くらいに情報はリリースされていたものだが) のSiFive Performace P550を搭載した,Mini-ITXフォームファクタのボードで,まあUnmatchedのちょっと改良版程度かなぁと思っていたが,仕様書を眺めてみたらいろいろと面白そうだった.

SiFiveがサイトに出してるスペックはこんな感じ

  • ESWIN EIC7700X SoC
    • SiFive Performance P550 4-Core @ 1.4GHz
    • On-board GPU
    • Video Processor
    • AI NPU
  • LPDDR5 16GB
  • eMMC 128GB
  • RJ45 x 2 (1000BASE-T)
  • BMC RJ45 x 1
  • あとはPCIeとか通常のPCについてる諸々のインタフェース 電源はUnmatchedと同じく一丁前にATX供給

このESWIN製のEIC7700Xがなかなか面白い仕様をしている.仕様書はこれ. 個人的には主にセキュリティ周辺の機能が目についた.

SCPU
#

まず1つ目,メインのP550とは別にRV32のコアも持っていて,これがSecure CPUとして振る舞うようなのである.そしてこのSecure CPU主導でSecure Bootが構成可能となっていて,Secure Bootに使うためのOTPや暗号エンジンも備えているようだ.

このSCPUを含め,Secureなハードを集めてSecure Islandを構成し,メインCPUから隔離した構成をとっている.Secure Island内のコンポーネントを外側から使用する場合,SCPUによって承認されないといけないらしい. Secure IslandにはSCPUやOTP, 暗号エンジン, 各種CSRなどが含まれるとのこと.

Secure Boot
#

システムとしてはSecureとNon-Secureの2モードを持っていて,Secureモードの際にSecure Bootは機能する.Secureモードでは内蔵bootromからのSCPUによる起動となり,bootromとOpenSBI, U-Bootの署名検証が行われる.検証鍵はOTPに格納されたものが使われるよう. OTPはJTAG経由やConfiguration ModeのようなモードからModificationできる?ような記載もある.

MEM-PMP
#

普通のRISC-VのPMPと思いきや,何か違うようだ. まず配置場所だが,ダイアグラム上ではプロセッサ内部ではなく,InterconnectとLLCの間に存在している. そして仕様もRISC-V ISAのものより複雑になっていて,sub-regionが構成できるようになっているみたいだ. CSRは前述のSecure Island内にあり,SCPU経由でのConfigurationとなる.

通常のPMPに関してはCPU側で普通に使えるみたいではある.

SMMU
#

このチップ,メインプロセッサはRISC-VだがIOMMUとしてARMのSMMUを搭載している. SMMUv3.1準拠とあるので,おそらくMMU-600のIPだろうか. Block Diagramを見た感じ,GPIOとかUART, SPIなどの標準I/Oを除いた全インターフェースはこのSMMU配下にある.

Hypervisorが使える訳ではないので, 嘘.RISC-Vの拡張としての表記はないが,特権レベルとしてHypervisorの存在が明記されている.どういうことだ…? 恐らくセキュリティ目的での搭載だとは思われるが,誰がConfigurationするんだろうか(順当にいけばSCPU?) それにSMMUはARMのVMSA準拠なので,この仕様のページテーブルが必要である.当然RISC-VのSV39,48,57とは違う. この辺の管理も含めてどうやるつもりなのか非常に気になる.

Hypervisor
#

ここまで書いてから見つけた. どうやらH-extension仕様のv0.6に準拠してHypervisor Modeが実装されているらしい.(現行はv1.0で既にRatified) v0.6だと相当前のはずで,Ratifyされるより古い仕様だがどこまで使えるのか気になる.SMMUはそのための搭載なのだろうか…?(だとしてもOS側で仕様の違うページテーブルの管理が必要になるから,相当大変なことになるはずだが…)

Myuu
著者
Myuu
CS Researcher