2024-10-27

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側で仕様の違うページテーブルの管理が必要になるから,相当大変なことになるはずだが…)

2024-10-22

Integrityの表現

Intel TDXの解説論文 Intel TDX Demystifiedを読んでいて,個人的に刺さるMemory ProtectionにおけるIntegrityの分類を見つけた.

当該の論文では,Integrityを保証するメカニズムを以下の2種類に分類している.

  • Cryptgraphic Integrity
  • Logical Integrity

前者は暗号学的に保証されるintegrityで,integurity treeとかで検証するもののことを指す.後者はハードウェア等のロジックによりメモリ操作を不可能にとすることで保たれるintegrityを指している.

後者のようなアクセスコントロールによる物に関しては,個人的には大雑把にProtectionとしてくくっていたが,確かにLogicalなIntegrityとする見方もあるなぁと.今後使ってみたい表現である.

2024-10-19

HPの記事をObsidian Publishに移行したい

自身のWebサイト (https://myuu.dev) はReact + Next.jsで作成しているのだが,あまりNext.jsとかを使う意味もないので少しずつ縮小を考えていた.

Webサイトではbiography的なものとblogを併設していて,blogはHeadless CMS (newt.so) からMarkdownを引っ張り,デプロイ時に静的ページとしてレンダリングしていた.ただNewtの管理ページから編集するのも少し面倒で,どうせなら普段メモで使っているObsidianと統合できたらいいと思っていた.

そういえばObsidian Publishがあったなぁと思いだしたので,しばらく課金して使ってみようと思う.

とりあえずCSSとJSを上手いことやってWebサイトとほぼ変わらないテーマにした.
最初のさわりとしては良い感じがする

Zotero or Mendeley

どっちがいいか決まらずに定期的に行き来していて,最近はしばらくMendeleyに落ち着いていたが,またZoteroに舞い戻ってきた.

しばらくMendeleyを使い続けた感想

  • 良い点
    • 全てをクラウドにおけるので,手元を圧迫しない
    • ブラウザ拡張のImporterが優秀
    • 運営がElsevierなのでScopusとかと連動できるのは良い
    • 大学さんがライセンスを持ってくれている
      • 100GBまでFree
      • 年一で学内ネットからアクセスするだけでよい(結構ガバくね?)
    • クライアントアプリのUIがモダン
  • 悪い点
    • クライアントアプリが重い(モッサリ)
    • アプリが重いのに関連してPDFビューワーも重い
    • メモ機能が貧弱
    • 全てクラウドで完結できる反面,PDFファイルが欲しいときが少し面倒
    • これは認証システムの問題だろうが,セッション有効期限が短すぎてすぐ再ログイン要求されて面倒くさい

戻った理由

前回ZoteroからMendeleyにしたときは,ZoteroのクライアントアプリのUIがなかなか古くさい物だった.
あと,bibtexの出力フォーマットを自分が気に入った形式にできなかった.

久しぶりに見てみたら,クライアントアプリのUIがWeb Appに追いついた?感じで刷新されていて,ダークモードなども導入されていた.
なにより,PDFビューアーで白黒反転表示が可能になっていて,これが最大の決め手だった(白いPDFって目が疲れません?).

最近論文のPDFが必要になることもが多かったのもあり,また戻ることにした.
しばらく使い続けてみようと思う.

ちなみに余裕で無料ストレージ容量をオーバーしたのでとりあえず2GBに増量した.