I/O

I/O(Input/Output)とは、プロセッサがメインメモリ以外の論理回路(以降、外部の論理回路)とデジタルデータの受け渡しをするために利用するプロセッサ内蔵の論理回路のことです。

I/Oの物理的な端子のことをI/Oポートと呼びます。I/Oポートは、レジスタで構成されます。

I/Oポートは、入力端子の状態と出力端子の状態があり、そのどちらかの状態を選んで利用します。

I/Oポートが入力端子の状態のとき

I/Oポートが入力端子の状態のとき、I/Oポートを構成するレジスタの入力は、外部の論理回路の出力と接続されています。

そして、そのレジスタの書き換えが有効のとき、クロックの立ち上がりエッジでレジスタの入力の状態(LowもしくはHigh)が記憶されます。

プロセッサがそのレジスタの出力の状態を読み込むことで、プロセッサが外部の論理回路からデジタルデータを受け取ることが実現されます。

I/Oポートが出力端子の状態のとき

I/Oポートが出力端子の状態のとき、I/Oポートを構成するレジスタの出力は、外部の論理回路の入力と接続されています。

また、そのレジスタの入力の状態は、プロセッサが決めることができます。

そして、そのレジスタの書き換えが有効のとき、クロックの立ち上がりエッジでプロセッサが指定したレジスタの入力の状態(LowもしくはHigh)が記憶されます。

外部の論理回路がそのレジスタの出力の状態を読み込むことで、プロセッサが外部の論理回路へデジタルデータを渡すことが実現されます。