デバイスを複数繋げてデータのやり取りをするには,それぞれをアドレスバス,データバスに繋げる必要があります。複数のデバイスが同時にバスを使うことはできません。これは道路と同じで,信号機がない状態で,それぞれの道路を車が勝手に走ると交通渋滞や事故が起こりますよね。「今回は,あなたとの間で道路を使いますよ」という信号を与えて,データのやり取りをする相手を決めるのです。一般的に,これは,チップセレクトとかチップイネーブル信号とか言われていますが,ある特定の周辺デバイスのみにこの信号を与えてやります。この信号が与えられない他の周辺デバイスは,バスには物理的に繋がっていても,電気的に切り離された状態になります。(これをハイインピーダンス状態と言います。詳細はまた別の機会に書きたいと思います)これで,ある特定のデバイスとだけ,バスでの信号のやり取りを行うことができるのです。このチップセレクト信号を出してやる特定のデバイスはどうやって決めるのでしょう?これはアドレスバスに出力されている信号,すなわちアドレスそのものによって決まります。ポートのここには何が繋がっている...なんて聞いたことありますよね。このアドレス信号から範囲を特定して,そのデバイスに対して,チップセレクト信号を出します。この範囲を特定する回路をアドレスデコーダと言います。分しか使われませんが)。対するアクセスなのかがわかりません。信号が出力され,それぞれ区別されます。信号と,アドレス信号をごにょごにょして最終的なアクセスデバイスがチップセレクトされることになります。決定,書き込みだったら,データバスにデータを出力して,/WR。出力してデータバスからデータを読みだす。内部で足し算だったり,引き算だったり,論理演算だったり,シフト演算だったり,計算しますが,外との信号のやり取りは,これらをクロック信号に合わせて繰り返しています。他にも,リセットとか,割り込みとか,バスをよこせとか,動作を止めたよ,とかの信号がありますが,基本的には,上で説明した信号でプログラムが動作しています。次回へ続く...次回は,残りのコントロール信号と,メモリのアクセス周りに関して書いてみたいと思います。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。電子工作アーカイブ2020年1月2019年11月2019年7月2019年6月2019年1月2018年12月2018年9月2018年7月2018年6月2018年5月2018年3月2018年2月2018年1月2017年12月2017年11月2017年10月2017年9。