ゼロレジスタ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/16 16:17 UTC 版)
「レジスタ (コンピュータ)」の記事における「ゼロレジスタ」の解説
何を書き込んでもその結果は保存されず、読み出すと常に全ビットがゼロである、というレジスタを持つプロセッサがある。一見意味がないようであるが、RISCアーキテクチャの様に命令セットを単純化した際に、演算命令とゼロレジスタを組み合わせて実質的に別の命令を実現できる。 例えば、加算命令において、A=B+Z (ここでA,Bは汎用レジスタとしZはゼロレジスタとする)に相当する命令をプログラムすると、Bの値がAに入り、BレジスタからAレジスタへの転送(MOVやLD)命令と等価になる。 また、比較命令は、演算そのものは減算命令と同じだが、その演算結果(大小関係や結果がゼロか否か)をフラグに反映させれば目的は達するが減算結果の数値は不要である。この場合に、Z=A-B に相当する命令をプログラムすると、減算に伴いフラグレジスタの値が更新される一方で、減算結果はどこにも保存されず、AレジスタとBレジスタの比較(CMP)命令と等価になる。 その他、アドレッシングにおいて必ずオフセットを指定する必要がある場合にゼロレジスタをオフセットに指定することで、オフセット無しでメモリにアクセスできる。 この様に、ゼロレジスタと演算命令を組み合わせることで、実質的に別の命令と同等の処理を行わせることができる。
※この「ゼロレジスタ」の解説は、「レジスタ (コンピュータ)」の解説の一部です。
「ゼロレジスタ」を含む「レジスタ (コンピュータ)」の記事については、「レジスタ (コンピュータ)」の概要を参照ください。
- ゼロレジスタのページへのリンク