2025-06-01から1ヶ月間の記事一覧
HPCA 2025で発表された以下の論文を読んでみることにした。 www.computer.org msyksphinz.hatenablog.com ここからは、幾つかのアルゴリズムの詳細について読み解いていく: 動的デマンド・リクエストの割り当て方法 デマンド・リクエストが割り当てテーブル…
msyksphinz-self.github.io riscv-isadoc ドキュメントの浮動小数点命令に関する章をアップデートした。 今回の改訂では、命令フォーマットの図示に WaveDrom を導入し、ビットフィールドの構造や動作の流れをより直感的に理解できるようにした。
HPCA 2025で発表された以下の論文を読んでみることにした。 www.computer.org Integrating Prefetcher Selection with Dynamic Request Allocation Improves Prefetching Efficiency 日本語訳: 動的リクエスト割当を統合したプリフェッチャ・セレクションを…
GNU Binutils に含まれる objdump には、アセンブリのジャンプ命令の依存関係を視覚的に表示する --visualize-jumps という非常に興味深い機能が存在する。 --visualize-jumps とは objdump コマンドはバイナリファイルを逆アセンブルして人間が読める形で表…
「Zkt拡張」は、暗号処理やセキュリティ分野で重要な役割を果たす拡張である。Zkt拡張について調べてみよう。 github.com Zkt拡張は、RISC-Vプロセッサにおいて「定数時間(constant-time)」で動作することが保証される命令のサブセットを定義する拡張であ…
RVA23で追加されている、Zfh拡張及びZfhmin拡張について調べている。ドキュメントを読みながら、まとめていこう。 これらはIEEE 754-2008規格に準拠した16ビット半精度浮動小数点命令を提供する拡張である。 Zfh拡張の概要 Zfh拡張は、16ビット半精度浮動小…
RISC-Vのキャッシュ・ブロック命令について、マニュアルを読みながらまとめていこう。 Zicbom: キャッシュ・ブロック管理命令 キャッシュ・ブロック管理命令は、コヒーレントなエージェント群で動作するソフトウェアが、ノンコヒーレントなエージェント群と…
マニュアルを読みながら、RVA23U64のプロファイルについてまとめていこう。 RVA23U64プロファイル RVA23U64プロファイルは、64ビットアプリケーションプロセッサのユーザーモード実行環境で利用可能なISA機能を規定する。 本プロファイルは、アプリケーショ…
今のriscv-isadocのHTMLページはsphinxで作ってあるから、以下のようなイメージだ。 msyksphinz-self.github.io これを以下のように改修している。 やりたいこととしてはAsciidocを使って書き直すのと、WaveDromを使って命令の表記を変えることなので、これ…
AXIのWRAPバースト転送について、あまり理解が深くなかったため、改めて勉強してみることにした。 msyksphinz.hatenablog.com 具体例で考えていく WRAPバースト転送の動作を、具体的な数値を使って理解していこう。以下のような条件で考えてみる。 Start_Add…
AXIのWRAPバースト転送について、あまり理解が深くなかったため、改めて勉強してみることにした。 まずは公式ドキュメントの内容を確認していこう。 developer.arm.com WRAPバースト転送とは WRAPバースト転送は、インクリメントバーストと似た性質を持つが…
カテゴリインデックス:https://msyksphinz.hatenablog.com/entry/2024/12/14/040000 形式検証ツールSymbiYosysを用いたFIFOの検証 検証対象のFIFO 検証対象としたFIFOは、以下の特徴を持つシンプルな実装である: データ幅:8ビット(パラメータ化可能) エ…
カテゴリインデックス:https://msyksphinz.hatenablog.com/entry/2024/12/14/040000 SymbiYosysのBMCモードにおけるエンジンとオプション SymbiYosys(sby)のBMCモードでは、様々なエンジンとオプションを使用することができる。 BMCモードの基本設定 BMC…
カテゴリインデックス:https://msyksphinz.hatenablog.com/entry/2024/12/14/040000 ラウンドロビンアービタに、検証項目を追加してみる。 より詳細なアサーションを追加して検証してみよう。以下は、expected_grant()を追加して、今の優先度情報とリクエス…
カテゴリインデックス:https://msyksphinz.hatenablog.com/entry/2024/12/14/040000 SymbiYosysでラウンドロビンアービタを検証する: 検証エンジンの変更 検証が完了しないため、別のSMTソルバーを使用してみることにした。以下のように設定を変更した: [e…
カテゴリインデックス:https://msyksphinz.hatenablog.com/entry/2024/12/14/040000 SymbiYosysでラウンドロビンアービタを検証する ラウンドロビンアービタは、複数のリクエストを公平に処理するための回路である。 SystemVerilogで実装したラウンドロビン…
github.com Pentium M プロセッサの分岐予測器アーキテクチャを模した実装を解析していく。この分岐予測器は、複数の予測器を組み合わせたハイブリッド型の設計となっている。 1. クラスの構成要素 class PentiumMBranchPredictor : public BranchPredictor …
カテゴリインデックス:https://msyksphinz.hatenablog.com/entry/2024/12/14/040000 SymbiYosysを使った乗算器の形式検証 乗算器の検証の続き。 msyksphinz.hatenablog.com BMCからUMCへの変更 Bounded Model Checking (BMC)から、Unbounded Model Checking…
カテゴリインデックス:https://msyksphinz.hatenablog.com/entry/2024/12/14/040000 SymbiYosysを使った乗算器の形式検証 乗算器の検証の続き。 msyksphinz.hatenablog.com デザインの修正 デザインを修正した。修正後のコードは以下の通りである。 module …