質問: ### 前提・実現したいこと レジスタとは、結局何なのでしょうか? 私は、電子回路のペリフェラル(周辺機器)をC言語で制御する、というプログラムをかけるよう勉強している初心者です。 勉強していく中で、レジスタに値を設定することで、入出力ピンや、割り込み、タイマーなどの設定ができるとありました。 が、そもそもレジスタとは演算制御装置の1つであって、演算制御を行うために使用される記憶保持の総称、と理解していました。 レジスタを設定することで入出力ピンが特定・設定できる、がどうしてできるのか、と考えたとき、わからなくなりました。 (メモリの中にどの入出力ピンかわかる対応表みたいのがあれば別かもしれませんが...確証が持てず) レジスタとは、結局なんなのでしょうか。 また、なぜ電子回路の制御に、レジスタを使用するのでしょうか。
回答: ものすごく雑に電子回路的にどうなっているか説明すると レジスタも当然電気信号で動いています。 レジスタが値を記憶しているというのは、レジスタの出力が(過去の入力によって)HレベルかLレベルになっているということです。 (Dフリップフロップがわかるならそれと思って構いません。) なので、そのレジスタの出力を外部ピンに繋げばレジスタの値を外部に電圧として出力できます。