2014年9月6日土曜日

Rレジスタ


”RAM(ランダムアクセスメモリ:随時読み書き可能な記憶装置)にDRAM(ダイナミックRAM:記憶保持動作が必要なRAM)を使用する際に、その記憶保持動作に必要な数値を記憶しておくCPU内部の記憶場所を持っています。
それが『Rレジスタ』です。

ちなみに、なんで記憶保持動作が必要かというと、DRAMは極小コンデンサの集合体で、そのコンデンサに電荷が貯まっているか(1)貯まっていないか(0)で情報を記憶しているんだ。だけど、そのまま何もしないでいるとコンデンサ内の電荷が勝手に放電しちゃうんで、電荷を貯めなおすって動作(リフレッシュという)が必要ってわけ。
んで、メモリのリフレッシュ(Refresh)に使うレジスタだから『Rレジスタ』って言うんだわさ。

んで、このRレジスタ。CPUの動作とはまったく関係なく、メモリブロックの情報を記憶しているんだけど、
時間に応じて超高速に値が変化するため、『Rレジスタの内容を見せろ!』という命令を実行するたびに不規則な数字を見せてくるので、プログラミングではよく擬似乱数の生成に使用される、というわけです。


さて、この『Rレジスタ』。なぜか7ビットなんですね。つまり0~127までしか生成できない。
それ以上の数字が欲しい時には? しょうがないですよね、複数回Rレジスタから乱数を取得するなりして、その後計算によって水増ししなきゃいけないんですわ。
ということで、パソコン等で生成される乱数は『ソフトウェア乱数』『算術乱数』『擬似乱数』等と呼ばれるのです。”



Rレジスタ(Memory Refresh Register)
- Z80特有
- メモリ(DRAM)の「リフレッシュ」を行うためのカウンタ

http://www.4gamer.net/games/042/G004287/20140905040/

0 件のコメント:

コメントを投稿