Movatterモバイル変換


[0]ホーム

URL:


FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

2023-06-01から1ヶ月間の記事一覧

gem5のサイクル精度モデルについて理解したいので、O3CPUのドキュメントを読んでみることにする。 次に、メモリサブシステムについてドキュメントを読み進めていく。 www.gem5.org メモリ・アクセス・オーダリング 各CPUの読み込み・書き込みリクエストには…

はてなブックマーク - gem5のドキュメントを読む (6. gem5のメモリサブシステムについて3)

gem5のサイクル精度モデルについて理解したいので、O3CPUのドキュメントを読んでみることにする。 次に、メモリサブシステムについてドキュメントを読み進めていく。 www.gem5.org 本ドキュメントでは、gem5のメモリサブシステムについて、CPUでの単純なメモ…

はてなブックマーク - gem5のドキュメントを読む (5. gem5のメモリサブシステムについて2)

gem5のサイクル精度モデルについて理解したいので、O3CPUのドキュメントを読んでみることにする。 次に、メモリサブシステムについてドキュメントを読み進めていく。 www.gem5.org M5の新しいメモリーシステム(最初の2.0ベータリリースで導入)は、以下の目…

はてなブックマーク - gem5のドキュメントを読む (4. gem5のメモリサブシステムについて)

gem5のサイクル精度モデルについて理解したいので、O3CPUのドキュメントを読んでみることにする。 www.gem5.org 次はストア命令について。ソースコードを追いかけていく。 Store命令 Store命令の挙動は、コミット後から見て行こうと思う。 IEW::tick()->IEW:…

はてなブックマーク - gem5のドキュメントを読む (3. O3CPUのサイクル計算の挙動をソースコード上で追いかける)

gem5のサイクル精度モデルについて理解したいので、O3CPUのドキュメントを読んでみることにする。 www.gem5.org ソースコードを読みながら、実際の流れをつかんでいこうと思う。 CPU::tick() CPU::tick()の内部で、各モジュールが1サイクルずつ動作している…

はてなブックマーク - gem5のドキュメントを読む (2. O3CPUのサイクル計算の挙動をソースコード上で追いかける)

gem5のサイクル精度モデルについて理解したいので、O3CPUのドキュメントを読んでみることにする。 www.gem5.org パイプラインステージ Execute-in-executeモデル テンプレートポリシ ISA独立性 ThreadContextとの相互作用 O3CPUは、v2.0リリース用の新しい詳…

はてなブックマーク - gem5のドキュメントを読む (1. O3CPUについて)

Gem5 の トライアル Gem5でのROI (Region of Interests) の設定方法 Gem5でのROI (Region of Interests) の設定方法 (2. マクロとしての定義) Gem5における詳細ログ出力方法 Learning gem5 Gem5のチュートリアル "Learning Gem5"をやってみる(Part-1) Gem5の…

はてなブックマーク - gem5の日本語ドキュメントおよび解析記事まとめ

gem5を構成するSimObjectを追加するためのチュートリアルをやってみる。 www.gem5.org gem5記事一覧インデックス msyksphinz.hatenablog.com gem5はイベントドリブンのシミュレータである。本章では、イベントの作成とスケジューリングの方法を探る。hello-s…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(10. イベントドリブンプログラミング)

gem5を構成するSimObjectを追加するためのチュートリアルをやってみる。 www.gem5.org 前章で作成したSimObjectの標準出力をデバッグ機能に変更してみる。 gem5はprintfスタイルのトレース・デバッグ機能をサポートしており、これを使うためにはdebug flagを…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(9. デバッグ機能の追加)

gem5を構成するSimObjectを追加するためのチュートリアルをやってみる。 www.gem5.org Step.3 SimObject と C++ ファイルの登録 C++ ファイルをコンパイルし、Python ファイルを解析するためには、ビルドシステムにこれらのファイルについて知らせる必要があ…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(8. SimObject作成チュートリアルをやってみる2)

gem5を構成するSimObjectを追加するためのチュートリアルをやってみる。 www.gem5.org gem5はSimpleObjectと呼ばれるSimObjectを持っているため、もう一つSimpleObjectを作成すると、コンパイル時に問題が発生する可能性がある。 殆ど多くのgem5はSimObject…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(7. SimObject作成チュートリアルをやってみる)

www.gem5.org x86向けに作成した簡単なコンフィグレーションスクリプトを、RISC-V向けに拡張する。 ドキュメントではARM向けになっているが、RISC-Vでやってみることにする。 RISC-Vバイナリのダウンロード mkdir -p cpu_tests/benchmarks/bin/riscv cd cpu_…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(6. RISC-V向けのコンフィグレーションスクリプトの変更)

www.gem5.org se.py と fs.py の使用方法 ここでは、se.py と fs.py の使用方法と共通オプションについて議論する。フルシステムシミュレーションに関するより詳細な実行方法は、フルシステムシミュレーションの章を参照すること。ここでは、2つのファイルに…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(5. Gem5のコンフィグレーションスクリプトの構成)

www.gem5.org Gem5のデフォルト設定スクリプトの構成について。 シミュレーションする内容を十分に理解せずにこのスクリプトを使用することは危険であり、コンピュータアーキテクチャの研究をするときは、これらのスクリプトを完全に理解することが重要であ…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(4. Gem5のコンフィグレーションスクリプトの構成)

Gem5のシミュレーションにより生成されるログファイルについて確認する。 www.gem5.org シミュレーション終了後に、m5out ディレクトリに情報が出力される。 config.ini : シミュレーション向けに生成されたすべてのSimObjectのリストが、パラメータの値とと…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(3. Gem5の統計情報と出力について)

まだ途中ではあるが、Learning Gem5で作成したconfigスクリプトをRISC-V向けに改造したのでこれを動作させるテストをする。 RISC-V向けに改造といっても、CPUのタイプを変更するだけである。 msyksphinz.hatenablog.com # configs/learning_gem5/part1/simpl…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(Part-2.5:configスクリプトをRISC-V向けに改造する)

Gem5で、RISC-Vのプログラムをシミュレーションするための方法を調査している。まず、簡単なHello Worldプログラムを探して、これをコンパイルする方法を調査する。 まずは、hello_world向けのビルド環境があるので動かしてみることにする。 # gem5/tests/te…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(番外編: RISC-Vのバイナリをビルドしてシミュレーションする手法)

msyksphinz.hatenablog.com Gem5には便利なデバッグオプションがいろいろ入っていることを知った。 ../../../../../../../build/ARM/gem5.opt \ --debug-flags=Exec,LSQUnit --outdir result --debug-file lsu.log \ ../../../../../../configs/example/se.p…

はてなブックマーク - Gem5における詳細ログ出力方法

Gem5の勉強のために、チュートリアルを1からやってみることにした。 www.gem5.org さらに、システムが正しく動作するためにさらにいくつかのポートを接続する。 I/OコントローラをCPUとメモリバスに接続する必要がある。 メモリバスに対して特殊なポートを接…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(Part-2)

Gem5の勉強のために、チュートリアルを1からやってみることにした。 www.gem5.org ビルドの方法 ビルドの方法は大体わかっている。RISC-V向けのシミュレーションのためには以下のコマンドでビルドする。 scons build/RISCV/gem5.opt このoptのオプションには…

はてなブックマーク - Gem5のチュートリアル "Learning Gem5"をやってみる(Part-1)

サイクル精度シミュレータSniperで、サイクル計算中に細かな挙動を指定したくて、いろいろ試行錯誤している。 例えば、SpikeからSniperへ特定のシステムレジスタのアップデート情報を送りたいときにどうするか。 こういう時は、SIFTフォーマットのMagicコマ…

はてなブックマーク - サイクル精度シミュレータSniperとSpikeでフックを使って情報交換をする

https://riseproject.dev/ riseproject.dev www.design-reuse.com 商用ソフトウェアにおけるRISC-Vの対応を加速するためのプロジェクト。以下のミッションが挙げられている。 RISC-Vのためのオープンソースソフトウェアの開発を加速する RISC-Vプラットフォ…

はてなブックマーク - RISC-Vソフトウェアエコシステムを推進するRISE Projectについて

前々から存在は知っていて、今回正式に発表になったということで読んでいたのだけれども、 www.design-reuse.com www.design-reuse.com Semidynamicsは、RISC-V市場で最大かつ完全にカスタマイズ可能なベクターユニットを発表し、前例のないデータ処理のため…

はてなブックマーク - SemiDynamicsのRISC-V Application Processorのベクトルユニット

とても分かりやすかったのでメモ: indoml.com

はてなブックマーク - CNNに必要な演算とフィルタの構造について

昨日いろいろ調べたサイクル精度シミュレータ上でネットワークが走っている問題は、どうもDRAMの設定のデフォルト値がそのようになっていて、Sniperの設定を以下のように変えればよいらしい。 [perf_model/dram] type = constant # DRAM performance model t…

はてなブックマーク - サイクル精度シミュレータSniperのDRAMの余計な挙動を抑える方法

サイクル精度シミュレータの挙動がわからな過ぎていろいろ調べていたのだけれども、そもそも基本的なSniperの仕組みで理解の足りていないところがあって、そういうところをひたすらまとめていくメモ。 誰かの役には立たないけれども、自分の役には立つかもし…

はてなブックマーク - サイクル精度シミュレータSniperで動作しているスレッドについて

もちろん、NEONはSIMD命令でRVVはVector命令群なので目的も細かな仕様も異なるわけだけれども、命令の挙動として似ているものを対比してみる。 Coding for Neon developer.arm.com Unit-Stride Load 命令 RVV命令の場合はVLE.V 命令などがある。VLE8.V / VLE…

はてなブックマーク - NEONとRISC-V VectorのSoAとAoSのデータ並び変換命令について

Newlibのマルチプラットフォームのライブラリってどうやって作っているのかと思っていろいろ見ていた。 ../configure --prefix=${RISCV} --target=riscv64-unknown-elf make -j$(nproc) 本質的には以下のようなパラメータからとってくるらしい。 /home/msyks…

はてなブックマーク - Newlibが使用するmultilibの検出方法

FFTW3のビルドをいろいろ試行している。とりあえずC拡張を使いたくないのだが、GCCはCを除いたコンパイルをしてくれない。 Clangならば行ける気がしたので、試してみた。 git clone https://github.com/sh-zheng/fftw3.git fftw3-zheng cd fftw3-zheng ./boo…

はてなブックマーク - RISC-V Vectorized FFTW3を試す (3. Clangを使ってビルド)

自分用のメモ:大量のジョブを流した時に出力をまとめ上げたいときに使用する。 linuxjm.osdn.jp -O[type], --output-sync[=type] -j を使って複数ジョブを並行で実行する場合、それぞれのジョブからの出力をばらばらに行うのではなく、個々のジョブ出力を取…

はてなブックマーク - makeコマンドの--output-sync オプションについて
検索

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です読者をやめる読者になる読者になる

[8]ページ先頭

©2009-2025 Movatter.jp