パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

SiFive、RISC-Vアーキテクチャの64ビットクアッドコアCPUをリリース」記事へのコメント

  • RISCの決定版 (スコア:3, 興味深い)

    by Anonymous Coward

    RISC-Vって、80年代RISCのうち、結果的に失敗だった特徴を抜いて、CISCからよいところを取り入れた感じかな。

    ■80年代の結果的失敗
    MIPSの遅延スロット
    RISC-Iのレジスタウインドウ

    ■CISCから取り入れたもの
    可変長命令

    • Re: (スコア:3, 参考になる)

      by Anonymous Coward

      遅延スロットは実装を直接ISAに反映させた糞というのが現代のコンセンサス

      レジスタウィンドウは誤解が多い
      これはVAXなど既存のISAの狭いレジスタ空間をそのままに大容量レジスタファイルの恩恵をもたらす互換性第一のアイデアなのだ
      事実VAXや68000へレジスタウィンドウを追加すると1割から2割の性能向上が得られる(坂村健氏の単行本に引用されている)

      インテルのi960はレジスタウィドウマシンと紹介されることが多いが、これも違う
      i960のレジスタファイルは32本しかなく、プロシージャコール時に4ワード/サイクルの超高速DMAが専用のスタックキャッシュとやりとりする
      レジスタファイルはマルチポートだがスタックキャッシュはシングルポートで安くつくから、合理的なアイデアといえる

      • by Anonymous Coward

        レジスタウィンドウ使ってると特に当てはまると思うが、
        やたらとレジスタ数が多いアーキテクチャでは、コンテキストスイッチのコストが馬鹿みたいに増えてしまうので、
        後年「失敗」とされたのはそこだという印象。

        1つのジョブを黙々やるなら良いと思うんだけどね。
        しかし現代的な実運用だとマルチプロセス・スレッドはあたりまえだと思うので。

        i960のレジスタファイルは32本しかなく、プロシージャコール時に4ワード/サイクルの超高速DMAが専用のスタックキャッシュとやりとりする
        レジスタファイルはマルチポートだがスタックキャッシュはシングルポートで安くつくから、合理的なアイデアといえる

        むしろそういう、レジスタを「スタックの一部をキャッシュしたもの」として使う方法なら、キャッシュの持ち方次第では、
        コンテキストスイッチのコストを抑えつつレジスタウィンドウの恩恵に与れるので、今でも十分有意義な気がする。

        # しかし後続で似たような機構を見かけないのはなぜなんだろう…。

        • by Anonymous Coward on 2017年10月14日 18時22分 (#3295756)

          IA-64はレジスタスタックですね
          もっともウィンドウではなくすべてのレジスタをアドレスできますが
          レジスタ-メモリ間の転送はDMAで行えます
          SPARCはレジスタウィンドウのオーバーフロー・アンダーフロー時には割り込みがかかり速度低下の一因になっていました

          命令セットの設計がすっかりコンサバになってしまったのは、IA-64のせいかも

          親コメント
          • by Anonymous Coward

            ちゃんと継承されていたんですね。

            コンテキストスイッチだけ考えるなら、レジスタ退避・復元のスループットさえ出れば目的は果たせますので
            おいしいところだけ残したような感じでしょうか。

            命令セットの設計がすっかりコンサバになってしまったのは、IA-64のせいかも

            確かに、あれだけ挑戦的なアーキテクチャに大ゴケされると後続には響くと思います…。

            # ARMもv8でフツーになってしまいましたし…。

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

処理中...