ゼロレジスター |
辞書:科学用語の基礎知識 半導体用語編 (IYIC) |
読み:ゼロレジスター |
品詞:名詞 |
内容が常に0であるレジスターのこと。
|
概要 |
ソースとして使用した場合は常に0が読み出される。デスティネーションとして使用した場合は、その結果が破棄される。
RISCなど、特に3オペランド命令に対応するマイクロプロセッサーで用意されることの多いレジスターで、一般には汎用レジスターの一つをゼロレジスターとする。
例えば、R0〜R31まで32個用意される汎用レジスターのうち、R0をゼロレジスターとするような製品がある。
こうして、3オペランド命令しかない中でも、オペランドが二つで充分な演算をする際にゼロレジスターを用いることで演算を行なうことができる。
特徴 |
使用例 |
ゼロレジスターを0とすると、例えば、A←Bという代入命令は、A←B+0という加算命令や、A←B Or 0という論理演算で書くことができる。
ビットテスト命令も、0←A And Bという論理演算で書くことができ、結果は従来通りフラグレジスターに得られる。
ゼロレジスターを持たない設計のプロセッサーと比較して、必要となる基本の命令セマンティクスは維持しながら、実際の実装上の命令数を削減することが可能で、もって回路がコンパクトになるため、RISCでよく採用されている。
ハードウェア |
ゼロレジスターは本来記憶素子があるべきところに0レベルへの配線が付けられているだけで、回路上特別扱いはされていないのが普通である。
読み出せば常に0になり、書き込んでも何も起こらない(記憶素子が無い以上、それは無視される)。
日立(後のルネサス)のSuperHでも、当初はなかったが、SH-5からゼロレジスターが新設された。
ARMでも当初はなかったが、64ビットのAArch64ステートで採用された新命令セット「A64」からゼロレジスターが新設された。
ソフトウェア |
書き込んでも何も起こらないため、ここへの書き込み命令をNOPとするプロセッサーもある。
例えばMIPSでは、左論理シフト(SLL)命令の一つ「sll r0, r0, r0」をNOP命令としている。機械語は0x00000000である。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |