みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

なぜ「入力」「出力」の区別しなければならないのか?

「コンピュータはなぜ動くのか 知っておきたいハードウエア&ソフトウエアの基礎知識」書籍内の「第2章:コンピュータを作ってみよう。」内の「メモリーとI/Oを区別して入出力する仕組みを配線」(P42)のところで

>メモリーやI/Oに対してCPUが入力と出力のどちらを行うのかも区別しなくてはなり>ません。そのために使われるのが、Z80 CPUの(Read=入力を意味し、入力動作で>0になる)ピンと(Write=出力を意味し、出力動作で0になる)ピンです。

↑このように記載されていますが、この

>「メモリーやI/Oに対してCPUが入力と出力のどちらを行うのかも区別しなくてはなりません。」

↑なぜ「入力」・「出力」の区別が必要なんでしょうか?

これはつまり、電気信号が衝突してしまう(いわばショート)を防ぐために区別する必要があるのでしょうか?

わかりやすく教えてください。よろしくお願いします。

投稿日時 - 2018-06-22 01:31:10

QNo.9510733

すぐに回答ほしいです

質問者が選んだベストアンサー

ソフトのほうの用語で説明したほうが簡単です。

IPOという記述方法があります。これは
I インプット 入力は何かを書く
P プロセス=処理 プログラムが何をするかを書く
O アウトプット 出力は何かを書く

というテンプレートです。これを書くと、できたプログラム部品を動かすための条件が全部書かれていることになります。
ポイントは、大事なのはPであって、そこでどういう処理をするか、なんですけど、そのために必要な情報は全部Iにまとまっていて、処理した結果をセットするところがOにまとまっていることです。

こうすることでそこが部品になるのです。処理ユニットです。
まとめないと、Pですることを明確に記載できません。要するに何を読ませ何を書かせるか、は違う入り口出口でないと整理できないからです。

この思想を電気信号に対して適用してみてください。

仮に不具合がおきたとき、入力信号にトラブルがあるのか出力がおかしいのかが回路として明快であれば、交換すべきケーブルなんかはすぐに判断がつきます。

信号が衝突とかそういう話はこの話とは違うことです。それはトラフィックの話です。

投稿日時 - 2018-06-22 11:42:51

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ショートでは無く誤認識の問題です。
データが同じ回路で入出力どちらも行われるので、CPUが受け取るべき信号なのか受け取らなくていい信号なのか識別しないとどう処理しなきゃいけないのか分かりません。

投稿日時 - 2018-06-22 07:04:35

あなたにオススメの質問