MPACT-Sim の概要
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
MPACT-Sim は、さまざまな命令セット アーキテクチャ向けの高性能な ISA シミュレータを簡単に作成できるように設計されたフレームワークとライブラリです。MPACT-Sim を使用して構築されたシミュレータは、作成しやすく、簡単に計測可能で、高速です。MPACT-Sim のモチベーションとなるユースケースは、(命令セット)アーキテクチャ探索のシミュレータを素早く作成し、簡単に変更することです。ただし、結果として得られるシミュレータは、システム モデリング、コンパイラの検証、またはハードウェアの可用性がない(または制限される)アーキテクチャのソフトウェア開発にも使用できます。
MPACT-Sim を使用すると、命令セマンティクスを単純な C++ 関数/呼び出し可能として簡単に表現して実装できます。MPACT-Sim は、命令を表現する宣言型手法も提供しており、ほとんどの命令デコーダの自動生成が可能になり、新しいシミュレータの作成が容易になり、速度も上がります。カスタム構成エントリは簡単に追加でき、作成されたシミュレータは、一連の標準クラスを使用して簡単にインストルメント化できます。
チュートリアル
以下のチュートリアルでは、RV32I アーキテクチャ サブセット用にコンパイルされた「hello world」アプリケーションを実行するのに十分な RiscV 命令のサブセットの ISA シミュレータを作成する手順を説明します。以下のアクティビティについて説明します。
RV32I の ISA デコーダの説明を記述します。
これにより、個々の命令が外部表現(エンコード)とは無関係に記述されます。この説明は、シミュレータの内部命令記述子を初期化する C++ コードの生成に使用されます。
RV32I のバイナリ デコーダの説明を記述します。
これは命令、ビットフィールド、およびそれらの値のバイナリ エンコードを表します。これは、命令ワードをオペコードにマッピングし、特定のビット フィールドの値を抽出することができる命令のデコーダを生成するために使用されます。
生成された 2 つのデコーダを統合する、統合された(完全な)命令デコーダを作成します。生成されたコードには含まれない部分に必要なコードを追加します。
命令のセマンティック関数を作成して、ターゲットの RV32I 命令それぞれの実装を提供します。
コード制御命令の問題など、シミュレータを完了するために必要な残りのコードの記述は、現在のチュートリアルでは扱いませんが、今後追加される可能性があります。サンプルコードは、チュートリアル リポジトリと、完全な [MPACT-RiscV simulator]https://github.com/mpact-riscv のリポジトリで表示できます。
シミュレータ インフラストラクチャは C++ で作成されているため、C++ の適切な実用知識があることを前提としています。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-06-26 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2024-06-26 UTC。"],[[["MPACT-Sim is a framework and library for building high-performance instruction set architecture (ISA) simulators."],["It simplifies simulator creation and modification, making it ideal for architectural exploration, system modeling, and software development."],["MPACT-Sim uses C++ functions to define instruction semantics and provides a declarative approach for instruction decoding, speeding up simulator development."],["The provided tutorials guide users through creating a basic RISC-V simulator, covering instruction decoding and semantic function implementation."],["While instruction issue and control are not explicitly covered in the tutorials, examples are available in the provided repository links."]]],[]]