「Z80CPU」及び「Z80PIO」に関する質問なんですが、
Z80CPU及びZ80PIOに付いている「M1ピン」についてですが、この「M1ピン」は何の役割があるのでしょうか?
「コンピュータはなぜ動くのか 知っておきたいハードウエア&ソフトウエアの基礎知識」書籍内の
「第2章:コンピュータを作ってみよう。」内の「他の制御ピンをつなぐ」(P42)には
M1ピンは、タイミングを合わせるためのピンで、INTピンは、Z80 PIOからZ80 CPUに割り込みを要求するためのピンです。
と記載されていますが、これはCPU内において
1. CPU側:マシンサイクル内において最初の工程(フェッチサイクル=命令取出し)処理が終了
2. CPU側:M1ピンを通じてI/Oに処理終了を出力する(いわばフェッチサイクル終了を知らせる)
3. I/O側:CPUからデータを送信する。
4.CPU側:「RETI命令」で処理の優先順位を変更する
という工程だと思いますが、M1ピンの役割は「フェッチサイクル終了を知らせる(タイミングを合わせる)」役割であると、解釈してよろしいのでしょうか?
又、**Z80CPUには「ディージーチェインの優先度を変更する」**ということなんですが」、これはどういうことなんでしょうか?
つまり、「CPU」以外に繋がっている「メモリ」&「PIO」の接続を電子回路上にて、「直接接続」or「直接切断」するということ何でしょうか?
さらに、この「マシンサイクル」についても質問がこざいますが、
①**「マシンサイクル」は「命令サイクル」とも呼ばれるらしいのですが、これは基本的には同じもの**を指すのでしょうか?
②**「マシンサイクル」は日本語に直訳すると「機械繰り返し(?)」と訳されると思いますが、この「マシンサイクル」という名前の由来**は何なんでしょうか?
③マシンサイクルにて基本的に構成されている要素は
1. 命令取出し(フェッチ)
2. 読み込み(メモリリード)
3. 書き込み(メモリライト)
基本的にこの3つで構成されているのでしょうか?
回答のほうお願いします
(9月3日 追記)
すいません。M1ピンの役割を日常的に例えたもののほうがわかりやすいです。
お願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
M1ピンは、メモリアクセスが命令の1バイト目であることを示す信号です。
例えばLD A,(0100H)
は3バイト命令ですが、1バイト目のアクセス時だけM1がアクティブになって、2-3バイト目のアクセス時にはアクティブになりません。また、この命令によって行われる0100H番地からの読み込みの時もアクティブになりません。
なので、質問文中に書かれていることは全部間違いです。
なお、Z80だとプリフィックス付きの命令があり得ますが、この際のM1については、プリフィックスと本来の命令の1バイト目両方でオンになったのかどうかは、覚えていません。
Z80CPUには「ディージーチェインの優先度を変更する」ということなんですが」
これについては、そもそものZ80の割り込み処理についての理解が要ります。
①「マシンサイクル」は「命令サイクル」とも呼ばれるらしいのですが、これは基本的には同じものを指すのでしょうか?
マシンサイクルは、普通は、マシンクロック(2MHzとか)の1回の繰り返しのことです。命令サイクルという言葉は一般的では無いと思いますので、意味はわかりません。『「マシンサイクル」は「命令サイクル」とも呼ばれる』と書かれていたのであれば、書いた人は同じ意味で使っているのでしょう。他人には分かりません。
②「マシンサイクル」は日本語に直訳すると「機械繰り返し(?)」と訳されると思いますが、この「マシンサイクル」という名前の由来は何なんでしょうか?
マシン動作の繰り返しの基本単位だからでしょう。
③マシンサイクルにて基本的に構成されている要素は
基本的にこの3つで構成されているのでしょうか?
これは日本語の問題ですね。厳密な意味がちょっと読み取れないので、なんとも。
「CPUのある瞬間の動作は基本的にこの3種類だけでしょうか?」
という質問であれば、命令取り出しもメモリリードの一種なので、そのあたりどういうつもりで書いたのかに依ります。あと、Z80だとDRAMリフレッシュというのもありますね。
投稿2018/09/01 12:03
総合スコア86295
0
- CPU側:マシンサイクル内において最初の工程(フェッチサイクル=命令取出し)処理が終了
M1というのは、命令のフェッチサイクルである、ことを示す信号です
①「マシンサイクル」は「命令サイクル」とも呼ばれるらしいのですが、これは基本的には同じものを指すのでしょうか?
同じものでしょうね
で、RETIによる優先順位変更については、IEI、IEOの信号をまず理解することが必要です。
Z80のハードウエアマニュアルをよく読んで理解しましょう
投稿2018/09/01 11:14
編集2018/09/01 11:17総合スコア88163
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
何が質問の主旨かよく分からないですが、、、
まず、Z80 と Z80PIOは別物ですね。 Z80PIOは、パラレルI/F用チップ。
M1ピンは知らなかったですが、8ビット CPU Z80タイミング によると、オペコードフェッチ中を示すようですね。(この間は、リフレッシュするな? という意味か。
で、ここによると、Mサイクルは、マシンサイクル。M1は、命令フェッチで、その後に、M2, M3, ... と続くようです。(ま、当然?) 単純な命令は、メモリ読出し、メモリ書出しで終わるで、M1, M2, M3 で終わると。複雑な場合は、それ以降も必要になるということでしょう。 (演算もあるし、ループもあったと思う)
デージーチェーンの優先度変更は、割込み優先度変更という事でしょうか? これもZ80だと別チップだったか?
投稿2018/09/01 11:33
総合スコア6385
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/02 03:16
2018/09/02 11:46 編集
2018/09/02 10:50
2018/09/02 10:52
2018/09/02 11:55
2018/09/03 16:01
2018/09/04 01:28
2018/09/04 01:33
2018/09/05 10:39
2018/09/05 10:46 編集
2018/09/05 10:59
2018/09/09 14:17 編集
2018/09/09 14:23
2018/09/09 22:29
2018/09/10 16:22
2018/09/10 16:27