RISCV にはいろいろな用語が登場し、規格書を読めば大体意味が頭に入ってくるのだが、たまに規格書には載っていなかったり、なかなか覚えられない用語がある。それらをメモする。
まずは、規格書に載っていない実装関係の用語。
略称 | 説明 |
---|---|
bbl | Berkeley Boot Loader の略。 |
fesvr | RISCV Frontend Server の略。 htif などの機能を抱えるサーバー。https://github.com/riscv/riscv-fesvr |
htif | Host/Target Interface の略。 Linux システムコールエミュレーションなどの機能を提供する。 ホストは PC (amd64) で、ターゲットは (エミュレータなどで動く) RISCV プロセッサのことだと思えばよい。 fesvr に含まれる。 |
clint | Core Local Interruptor の略。SiFive E31 Core Complex Manual v19.02 Chaper 6 などに記述がある。 |
以下には RISC-V Privileged Architectures v1.10 の 2.3 CSR Field Specifications に載っている用語をまとめる。
これらの用語はマニュアル中で頻出するのだが、全然覚えられない。
なお、SW 実装方針 / HW 実装方針は独自解釈なので、間違っているかもしれない。
用語 | 説明 |
---|---|
WIRI | Reserved Writes Ignored, Reads Ignore Values (WIRI) 将来的に追加される可能性があり、SW 側は書き込んではならないフィールド。 書き込みは no effect, ただし read-only なレジスタなら例外が発生する可能性がある(フィールド起因ではない)。 HW 実装方針: write は無視、read は 0 を返す。 |
WPRI | Reserved Writes Preserve Values, Read Ignore Values 将来的に追加される可能性があり、SW 側で保存することが義務となるフィールド。 HW 実装方針: write, read ともに通常のレジスタと同じ。 |
WLRL | Write / Read Only Legal Values legal な値しか書いてはならない。 illegal な値を書くと例外が発生するかもしれないし、発生しないかもしれない。 HW 実装方針: write, read ともに通常のレジスタと同じ。 |
WARL | Write Any Values, Read Legal Values どんな値を書いてもよい。(illegal な値は無視される) 読み出すと正しい値が得られる。 HW 実装方針: write は legal な場合のみ commit, read は通常のレジスタと同じ。 |