Loading article…
ゼロレジスタは、常にゼロの値を返し、書き込まれても効果がないプロセッサ レジスタです。CDC 6600、System/360、ARM64など の命令セット アーキテクチャに使用されています。
ゼロは多くの命令、特に「ゼロの場合に分岐」で定数として現れ、これらの命令を最適化するとパフォーマンスにプラスの効果があります。一部のアーキテクチャでは、基本命令の特殊なバリエーションである専用オペコードを使用してこれを実現します。これらを実装するには、命令デコーダーに追加のロジックが必要です。ゼロ レジスタは、新しいオペコードを必要とせずに同じ効果を実現できますが、この機能にレジスタを専用にする必要があるため、レジスタの数が限られているアーキテクチャではマイナスの影響を与える可能性があります。
x86アーキテクチャにはゼロ レジスタがありませんが、ARM はARM64 用にゼロ レジスタを追加しました。RISC -Vアーキテクチャには、レジスタ名が「x0」、ABI 名が「ゼロ」のレジスタが含まれています。このレジスタが含まれている理由は、「レジスタをゼロ専用にすることは、RISC-V ISA を簡素化する上で驚くほど大きな要素です」と説明されています。[1]
参考文献
- ^ パターソン、デビッド。RISC-Vリーダー:オープンアーキテクチャアトラス(ベータ版、0.0.1版)。p.18。
- Mashey, John (1998 年 8 月 8 日)。「コンピュータ アーキテクチャにおけるトップ 10 の間違い」。
- 「RISC-V仕様」(PDF)。
