現在地

昔のクロック信号(タイミング編)


カテゴリー:

前回はクロックに特殊な電圧レベルを要求するものを取り上げましたが、今回は特殊なタイミングを要求するものたちです。

多相クロック

複数のクロック入力を持っており、それぞれのクロックの間の関係が規定されています。

Intel 8080など

多相クロックの最も一般的なパターンで、2つのクロックφ1, φ2を交互に"H"にします。φ1, φ2が同時に"H"になってはいけません。

この仲間には以下のようなプロセッサも含まれます。

それぞれ細かい条件が異なるので注意が必要です。

例えば8080ではφ2の"H"→"L"からφ1の"L"→"H"までのtD2が最低70ns必要なので、フリップフロップのQQφ1, φ2とすることはできません。

一方、MC6800ではφ1φ2の間は0nsでも良いのでQ, Qを利用できる可能性があります。

電圧レベルを満たすためのドライバの立上がりと立下りの非対称性には注意が必要です。

4倍のクロックからデューティ25%のパルスを作れば間隔は十分ですが、今度はパルス幅が仕様を満たすかが問題になってきます。例えば1MHzだと"H"の区間が250nsになりますが、1MHz版のMC6800のφ1φ2は"H"の区間が400ns必要です。クロックを0.625MHzに落とすか、1.5MHz版のMC68A00を使う必要があります。
MC6800を最高の1MHzで動作させるには16MHzクロックから7/16のパルスを作ればいけますが、74シリーズでは結構面倒なことになります。

Motorola MC6809E

これも2相クロックですが90°位相のずれたQ, Eです。これは4分周で簡単に作ることができます。

ただ単純に作るだけならクロックジェネレータ内蔵のMC6809を使ったほうが簡単で、わざわざMC6809Eを使うということはCRTCなどの外部回路と同期させるといった場合でしょう。

Texas Instruments TMS9900

こいつは何と4相のクロックを要求します。φ1, φ2, φ3, φ4が順に"H"になり、かつ同時に2つ以上が"H"になってはいけません。

ストレッチ

クロックのストレッチとは"H"または"L"の区間を引き伸ばすことです。これはプロセッサが要求するというわけではありませんが、プロセッサによっては特定の機能を実現するためには必要なことです。

今から考えると基準となるべきクロックに細工をするなんてとんでもないというところでしょうが、(特に多相クロックを要求するプロセッサでは)プロセッサに入力されるクロックは基準信号ではありません。基準信号を元に外部でプロセッサの動作フェーズを作ってそれを入力しているだけです。だから状況に応じて動作フェーズの進み方を制御するのは当然だと考えるべきでしょう。

今ではこの動作フェーズを作る回路がプロセッサに内蔵されてしまい、いじることができなくなってしまいました。そこでWAITBUSREQなどの信号で外から操っているのです。

ウェイト

遅いメモリやI/Oのアクセス時間を稼ぐために行なうのが典型的な目的です。

WAIT, nDTACK, READYなどが無いプロセッサでも、アクセスの際にクロックをストレッチして時間を延ばすことができます。
この方法はMC6809Eのデータシートにも記載されており、メーカ側の想定する方法であることがわかります。

WAITなどを持っているプロセッサでも通常は1クロック単位でしか延長できませんが、これを利用すればもっとキメ細かな延長も不可能ではありません。

DMAなど

上ではアクセス中にストレッチしましたが、アクセスしていない時にストレッチを行なえばその間バスを使うことができDMAを行うこともできます。

止めていられる時間に上限のあるプロセッサも多いのでその点は注意が必要です。

デバッグ用に

ちょっと変わったところではデバッグ用にステップ実行させる使い方もありました。人間が相手なのでクロックの下限がDCのプロセッサで無いとダメですが、任意のタイミングで止められるのでソフトウェアだけでなくハードウェアの確認にも使えます。

学習用にクロックを手で入力しながら動きを確認するといった使い方もあります。

参考文献・関連図書: 
8080A/8080A-1/8080A-2 8-bit N-Channel Microprocessor データシート, Intel.
MC6800 データシート, Motorola.
MC6809E データシート, Motorola.
TMS9900 Microprocessor Data Manual, Texas Instruments.

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。