2022-06-01から1ヶ月間の記事一覧
2022年7月1日に技術評論社から発売される「作って学ぶコンピュータアーキテクチャ ー LLVMとRISC-Vによる低レイヤプログラミングの基礎」のサポートページを公開しました。 github.com こちらでは、正誤表やサンプルプログラムの実行方法、また最新版のLLVM…
MLIRについて勉強している。 独自言語を作成し、その中間表現をMLIRを使って表現してみることに挑戦する。 ここで想定する流れは以下の通りだ。 独自言語(MYSV : System Verilogオリジナル改造バージョン) を読み込んで、独自形式でASTを作成する MYSVのAST…
MLIRについて勉強している。 独自言語を作成し、その中間表現をMLIRを使って表現してみることに挑戦する。 ここで想定する流れは以下の通りだ。 独自言語(MYSV : System Verilogオリジナル改造バージョン) を読み込んで、独自形式でASTを作成する MYSVのAST…
MLIRについて勉強している。 独自言語を作成し、その中間表現をMLIRを使って表現してみることに挑戦する。 ここで想定する流れは以下の通りだ。 独自言語(MYSV : System Verilogオリジナル改造バージョン) を読み込んで、独自形式でASTを作成する MYSVのAST…
RISC-V Internationalがアナウンスした2022年に仕様策定に入った新仕様、いくつか情報が出てきている。 riscv.org E-Trace for RISC-V: CPUのためのデバッグ用分岐トレース。なんかこれの大昔のバージョンを読んだことがあったな。 github.com RISC-V specif…
MLIRはMulti Level Intermediate Representationの略で、LLVM IRよりも更にメタ化したような中間言語だ。LLVM IRでは吸収しきれないような各言語で定義される中間表現を、許容するために開発された。 これを使ってみたいので、まずはToyに似たような言語を使…
Alpha EV8の分岐予測機に関する論文を読み始めた。 ieeexplore.ieee.org Alpha EV8の分岐予測のポイント: グローバルヒストリ分岐予測の機構を用いる。 ハイブリッドスキューブランチ予測器2Bc-gskewを用いて予測を行う。 圧縮された分岐履歴とパス履歴を組…
MLIRはMulti Level Intermediate Representationの略で、LLVM IRよりも更にメタ化したような中間言語だ。LLVM IRでは吸収しきれないような各言語で定義される中間表現を、許容するために開発された。 これを使ってみたいので、まずはToyに似たような言語を使…
MLIRはMulti Level Intermediate Representationの略で、LLVM IRよりも更にメタ化したような中間言語だ。LLVM IRでは吸収しきれないような各言語で定義される中間表現を、許容するために開発された。 これを使ってみたいので、まずはToyに似たような言語を使…
自作CPUにおいて、GShareb分岐予測器の実装をしようとしている。自分が実装しているものが本当に正しいのか検証したくて、いろいろモデルを作りながらまとめている。そのメモ。 実験 以下のプログラムを考える。要するに、両方の引数が偶数か奇数かで値を設…
https://blogs.oracle.com/linux/post/introduction-to-virtio SNS界隈で見つけて、面白そうなので読んでみることにした。 VHostについて これまではVHostという言葉は登場しなかったが、ここで説明しておく必要がある。 パフォーマンスの問題が発生から出て…
https://blogs.oracle.com/linux/post/introduction-to-virtio SNS界隈で見つけて、面白そうなので読んでみることにした。 ポイント 仮想マシンとホストデバイスの抽象化を行うレイヤのこと ホストの物理ハードウェアと仮想マシンの間でデータをの授受を行う…
以下は単なるメモ:MLIRをビルドするに当たりLLVMのビルドの方法。 M1 MacはARMなので、よく考えたらx86を指定しても意味ないのだった。何も考えずにドキュメントをコピペしていたらハマってしまった。 $ cmake -G Ninja ../llvm -DLLVM_ENABLE_PROJECTS=mli…
マイクロアーキテクチャに関する論文を読んでいる。今回はIBM POWER7に関する論文。 ieeexplore.ieee.org 続いて命令シーケンスユニット。これはいわゆるフロントエンドから命令完了までを取り扱うユニットのことらしい。 命令シーケンスユニットの役割 (Ins…
SNSで見つけた、Linux on RISC-Vが現状のRISC-Vを非常に端的に説明していて勉強になると思ったので、読んでみることにした。 以下は読書メモ。といってもほぼ一対一に翻訳してしまっている。 前回の続き。最後はQEMUとか評価ボードとか。 kernel-recipes.org…
SNSで見つけた、Linux on RISC-Vが現状のRISC-Vを非常に端的に説明していて勉強になると思ったので、読んでみることにした。 以下は読書メモ。といってもほぼ一対一に翻訳してしまっている。 前回の続き。今回は例外処理とOpenSBIとか。 kernel-recipes.org …
SNSで見つけた、Linux on RISC-Vが現状のRISC-Vを非常に端的に説明していて勉強になると思ったので、読んでみることにした。 以下は読書メモ。といってもほぼ一対一に翻訳してしまっている。 連続で投稿する。何回かに分けて読んでいこうと思う。 kernel-rec…