タグ

ブックマーク / msyksphinz.hatenablog.com (5)

  • SynopsysのRISC-Vコアファミリ、結構ゴツい - FPGA開発日記

    なんとなくSynopsysが発表したRISC-Vコアのラインナップを眺めていたのだが、結構重装備なコアが用意されていてびっくりした、という話。 www.synopsys.com ARC-V RMX Series:組み込み向け32ビット・ローパワー・プロセッサ 3~5ステージパイプライン 低消費電力構成向け ARC-V RHX Series 高性能リアルタイム アプリケーション向け32ビット・ミッドレンジ・プロセッサ 2命令発行の10ステージパイプライン 1~16コアのマルチコア構成サポート ARC-V RPX Series:64ビット・高性能ホスト・プロセッサ SMPでLinuxブート対応 1~16コアのマルチコア構成サポート おいおい、RHXからRVV拡張を載せてるぞ、かなりゴツイ設計になっているのでは。 そして機能安全も載せている。 https://www.synopsys.com/d

    SynopsysのRISC-Vコアファミリ、結構ゴツい - FPGA開発日記
  • RISC-V Matrix Extension Specificationについて読み進める (1. レジスタ定義) - FPGA開発日記

    T-Headが提案しているRISC-VのMatrix Extensionについて、マニュアルを読みながら理解していこうと思う。 とりあえずマニュアルで、どのようなレジスタが存在しているのかを理解していく。プログラミングモデルとサンプルコードも読み進めていきたい。 github.com この文書は、RISC-Vのマトリックス拡張の提案である。 この拡張は、柔軟性と実装を考慮し、ベクタ拡張から切り離されたアーキテクチャを選択している。マトリクス拡張をサポートする各Hartsは、RLEN定数パラメータを定義する。RLENは、セクション「行列レジスタ」で説明されているように、行列レジスタの行のビット数である。プログラマのモデルは、異なるRLEN値を持つハーツ上でバイナリの移植性を達成するように設計されている。 この拡張はRISC-V Vector拡張に強くインスパイアされている。 プログラマのモデ

    RISC-V Matrix Extension Specificationについて読み進める (1. レジスタ定義) - FPGA開発日記
  • 自作CPUにベクトル命令を追加する実装検討 (11. マスク命令の実装検討) - FPGA開発日記

    自作CPUにおいて、ある程度ベクトル移動命令が動作するようになってきた。 次はマスク命令の動作について考えてみる。マスク命令は、通常の算術演算命令と動作が違うのでちょっと厄介。 実装の方針をちょっとまとめる。 ベクトル演算におけるレーンとデータパス ベクトル演算命令パイプラインでは、演算器はレーンと呼ばれるグループを複数並べることで構成する。 1レーンはXLENの大きさに相当するデータ幅を管理している。 例えばXLEN=64の場合、SEW=8の場合は8要素の演算を実行し、SEW=32の場合は2要素の演算を並列に実行する。 このレーンを複数並べることによりベクトルデータパスを構成することになる。 Single-width 演算命令 ベクトル演算パイプラインはレーンを複数並べて構成する。 1サイクルで実行することのできるデータパス幅はパラメータDLENで決定されるので、パイプライン上にはDLE

    自作CPUにベクトル命令を追加する実装検討 (11. マスク命令の実装検討) - FPGA開発日記
  • 「RISC-V+LLVM本 付録2. 浮動小数点命令」を無償公開しました - FPGA開発日記

    「作って学ぶコンピュータアーキテクチャ」では、執筆時点ですでに500ページを超えてしまい、泣く泣く2章分を削除しています。 1つ目の付録である「付録1. 関数呼び出しのバリエーションと高度な機能」についてはすでに公開済みですが、もう一つの「付録2. 浮動小数点命令」についても公開しました。 こちらは、LLVMに浮動小数点命令を追加し、いくつかのアプリケーションを動かそうというものです。 github.com この章は、当は基的な演算や機能の実装後に挿入したかった章で、以下の範囲をカバーしています。 この章は割と頑張ったもので、浮動小数点の説明から、実装、さらにアプリケーションを2つ実装しています。 後半のレイトレーシングはかなり頑張った部分で、最後に画像が正しく出力されたときは若干感動しました。 こちらも、担当編集の方の校正が入っていないので怪しい文章やもしかしたら誤った情報が入ってい

    「RISC-V+LLVM本 付録2. 浮動小数点命令」を無償公開しました - FPGA開発日記
    quick_past
    quick_past 2022/07/12
    LLVMに浮動小数点命令を追加し/?と思ったけど、これはどうもRISC-VでLLVMを動作させるときのバックエンドの話かな。書籍では整数部分の説明しかできなかったから、こちらで補完ということか。
  • RISC-Vのコードモデルについて(1. コードモデルとは何なのか) - FPGA開発日記

    RISC-Vのコードモデルについていろいろ調べる機会があったのでまとめておく。 参考にしたのは、 www.sifive.com RISC-V Large Code Model Software Workaround https://sifive.cdn.prismic.io/sifive%2F15d1d90e-f60e-42a2-b6bf-c805c6c73b0d_riscv-large-code-model-workaround.pdf 最初の疑問:LUI命令とAUIPC命令の違いは? RISC-Vの仕様書を眺めていると、LUI命令とAUIPC命令というものが定義されている。それぞれビットフィールドを眺めているとそう違いはない。挙動が少し異なるだけだ。 挙動の違いは何かというと、LUI命令はrdレジスタの上位31-20ビットに即値を書き込むが、AUIPC命令はrdレジスタに、現在のPC

    RISC-Vのコードモデルについて(1. コードモデルとは何なのか) - FPGA開発日記
  • 1