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

締切り済みの質問

Z80PIOの配線にて、2つのピンの使う理由

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

>Z80 PIOでは、同じことをCE(上線)ピンとIORQ(上線)ピンの両方を一緒に>「0」や「1」にすることで実現できます(2つのピンを使うのは、複数のI/Oが使わ>れた場合に便利だからです)。

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

>「2つのピンを使うのは、複数のI/Oが使われた場合に便利だからです」

↑この意味が理解できません。

これはつまり、

「2つの外部装置(ディップスイッチ・LED)が接続されている場合、並行して入出力ができる」

↑ そうなるようにあえて、2つのピンを使うのでしょうか?

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

投稿日時 - 2018-06-16 16:39:03

QNo.9508929

すぐに回答ほしいです

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

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

回答(3)

ANo.3

>「2つの外部装置(ディップスイッチ・LED)が接続されている場合、並行して入出力ができる」

1つのPIOで2ポート使えますので、そのままで両方使えますが、例えば7セグメントLEDの4桁にそのまま繋ぎたいということだと、4ポート要るのでPIOが2つ要ります。
その場合、アドレスバスの
A0 ・・・ C/Dセレクト
A1 ・・・ A/Bセレクト
A2 ・・・ 1つ目のPIOのCEに繋ぎ、2つ目のPIOのCEには"NOT A2"を繋ぐ
これで、アドレス00-03が1つ目のPIO、アドレス04-07が2つ目のPIOになり、それぞれ独自にコントロールできます。

「並行して入出力できる」が「独立して入出力できる」という意味ならその通りです。

先の回答に書きましたが、PIO1つで、他にIO機器が無い場合は、CEはオン固定(負論理なのでGND)でOKです。IOアドレスに関係なくPIOが選択されます。
CEにIORQを繋ぐと書いてあるので、あなたのようにわかりにくい人が出るんだと思います。

投稿日時 - 2018-06-16 19:42:48

補足。

>データバス上で複数のデバイスからの信号がぶつかって

CEが High 状態のデバイスは,入出力端子を「ハイ・インピーダンス」すなわち遮断状態にします。だから信号がぶつからないのです。

投稿日時 - 2018-06-16 16:55:13

IORQ(負論理;IOリクエスト)は,CPUがIO入出力するときにLowになりますが,この信号はすべてのIOデバイスが受け取ります。しかし,これだけではデバイスは動きません。

さらに,あるデバイスのCE(負論理;チップイネーブル)だけがLowになると,そのデバイスのみがCPUからの操作を受け付けるようになります。そうしないと,データバス上で複数のデバイスからの信号がぶつかって,壊れます。

投稿日時 - 2018-06-16 16:50:39

あなたにオススメの質問