2024-09-01から1ヶ月間の記事一覧
NaxRiscvのドキュメントを、改めて位置から読んでみることにしたいと思う。 spinalhdl.github.io msyksphinz.hatenablog.com msyksphinz.hatenablog.com msyksphinz.hatenablog.com msyksphinz.hatenablog.com 分岐予測 現在、分岐予測はパイプライン内の二…
NaxRiscvのドキュメントを、改めて位置から読んでみることにしたいと思う。 spinalhdl.github.io msyksphinz.hatenablog.com msyksphinz.hatenablog.com msyksphinz.hatenablog.com メモリ・システム ロードストアの統合 LSUの実装の特徴は以下の通りである…
NaxRiscvのドキュメントを、改めて位置から読んでみることにしたいと思う。 spinalhdl.github.io msyksphinz.hatenablog.com msyksphinz.hatenablog.com 実行ユニット 実行ユニットの主な特徴は、それに依存する命令をウェイクアップする方法である。 静的ウ…
PcPluginの実装の解析 github.com とりあえずまずはChatGPTにこのソースコードを解説してもらおうと思う。 - ジャンプロジックの設定: ジャンプロジックでは、登録されたジャンプ要求を優先度に応じてソートし、優先度が高いものから順に評価します。 ジャン…
NaxRiscvのドキュメントを、改めて位置から読んでみることにしたいと思う。 spinalhdl.github.io msyksphinz.hatenablog.com Frontend デコーダ 特になし。 物理レジスタ割り当て 物理レジスタ割り当ては、割り当てられていない物理レジスタのインデックスを…
NaxRiscvのドキュメントを、改めて位置から読んでみることにしたいと思う。 spinalhdl.github.io イントロダクション NaxRiscv NaxRiscv は現在、以下の特徴を持つコアである。 レジスタ・リネーミング付きアウト・オブ・オーダ実行 スーパースカラ(例:2デコ…
結構昔にRISC-VのPMP機構(Physical Memory Protection)について調査したのだった。 msyksphinz.hatenablog.com 改めて復習しているが、PMPのNAPOTについてあまり明確に理解していなかった。 PMPのアドレス範囲選択については、3つのモードがある: pmpcfg[*]…
Binary Hacks Rebooted —低レイヤの世界を探検するテクニック89選作者:河田 旺,小池 悠生,渡邉 慶一,佐伯 学哉,荒田 実樹オーム社Amazon 結構昔のBinary Hacksがまだ本棚に残っているかどうか不明だけど、Rebootedということで買いました。 自分はハードウェ…
NaxRiscvの様々なコンフィグレーションでのVivado論理合成結果を見て比較してみる。 次はRV64の構成で試してみた。 Slice LUT Slice Registers WNS (ns) rv32ima 13478 7899 3.408 rv32imaf 18071 10655 3.150 rv32imafd 17669 9786 2.708 rv32imac 13702 81…
NaxRiscvの様々なコンフィグレーションでのVivado論理合成結果を見て比較してみる。 riscv32での構成で試してみた。 普通は浮動小数点演算器をつけると周波数が落ちそうなものだが、そうはなっていない。ここには誤差が載っていそうな気がする。 rv32imafとr…
msyksphinz.hatenablog.com msyksphinz.hatenablog.com msyksphinz.hatenablog.com msyksphinz.hatenablog.com msyksphinz.hatenablog.com msyksphinz.hatenablog.com msyksphinz.hatenablog.com msyksphinz.hatenablog.com もうちょっとまともに読めるSyste…
RISC-VのAdvanced Platform Interrupt Controller (APLIC) について勉強してみようと思う。 以下においてある実装をチェックしてみることにした。 github.com APLICはいくつかのモードによって実装が切り替わるようになっているらしい。 MSI_MODE=true AIA_E…