Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO ■タイムスタンパ,ハードウェアウェイト 対象 PC-H98シリーズ,486以上のCPU搭載機種,その他 解説 o タイムスタンパまたはハードウェアウェイトのポートを使用すると、 CPU速度に依存しないウェイト時間を得ることができる。 ハードウェアウェイト機能は、ペリフェラルデバイスに対するリカバリ タイムを確保するようなごく短時間のウェイトが必要なときに使用 する。タイムスタンパは、それよりも長い時間のウェイトが必要なときに 使用する。 o タイムスタンパ,ハードウェアウェイトの機能は、全てのPC-9800が 備えているわけではない。機能の有無は以下の方法で判定できる。 ----------------------+-------------------------------------------- 機能 |判定方法 ----------------------+-------------------------------------------- タイムスタンパ機能あり|(0000:0458h bit 7=1) or (0000:045Bh bit 2=1) ハードウェアウェイト機能あり |(0000:0458h bit 7=1) or (0000:045Bh bit 7=1) ----------------------+-------------------------------------------- * 0000:0458h bit 7はPC-H98判定ビット、0000:045Bh bit 2はタイムスタンパ 機能サポートフラグ、0000:045Bh bit 7はハードウェアウェイト機能 サポートフラグ o タイムスタンパ,ハードウェアウェイトで使用するI/Oポートは以下の通り。 -----------+----+---+-------------------------------------------------- I/Oアドレス|幅 |R/W|内容 -----------+----+---+-------------------------------------------------- 005Ch |WORD| R |高分解能ARTICポート 005Eh |WORD| R |低分解能ARTICポート 005Fh |BYTE| W |0.6μs以上のハードウェアウェイト 045Fh |BYTE|R/W|ウェイトタイミング調整 -----------+----+---+-------------------------------------------------- 関連 0000:0458h bit 7 0000:045Bh bit 7 0000:045Bh bit 2 I/O 005Ch,005Eh 名前 タイムスタンパ 対象 タイムスタンパ機能を備えた機種 機能 -----------+----+---+-------------------------------------------------- I/Oアドレス|幅 |R/W|内容 -----------+----+---+-------------------------------------------------- 005Ch |WORD| R |高分解能ARTICポート 005Eh |WORD| R |低分解能ARTICポート -----------+----+---+-------------------------------------------------- ●005Ch,Read: 高分解能ARTICポート bit 15〜0: タイムスタンプカウンタのbit 15〜0 * 分解能: 約3.26μs 最大値: 約213ms ●005Eh,Read: 低分解能ARTICポート bit 15〜0: タイムスタンプカウンタのbit 23〜8 * 分解能: 約833μs 最大値: 約54.6s 解説 o 307.2kHzでカウントアップする24bitバイナリカウンタ(ARTIC=A Relative Time Indication Counter)のカウント値を示す。FFFFFFhまでカウントした あとは、000000hにラップアラウンドする。 o I/O 005Eh(低分解能ARTICポート)の上位8ビットは、ハードウェアウェイトの ポートも兼ねている。つまり、リード時はARTICポートとして働き、ライト時 はハードウェアウェイトのポートとして働く。 u テクニカルデータブックの一部には、低分解能ARTICポートの分解能と 最大値の記述が実機と異なるものがある。 u リセット時、カウンタは0からスタートする。 u 奇数番地からのアクセスも可能。 関連 0000:0458h bit 7 0000:045Bh bit 2 I/O 005Fh 名前 ハードウェアウェイト 対象 ハードウェアウェイト機能を備えた機種 機能 ●Write: 0.6μs以上のハードウェアウェイト bit 7〜0: 任意の値 解説 o I/O 005Fhに任意の値を出力すると、ハードウェアにより0.6μs以上の ウェイトが掛けられる。ペリフェラルデバイスに対するリカバリタイムを 確保する場合などに使用する。 o I/O 005Fhは、タイムスタンパのポートも兼ねている。つまり、ライト時は ハードウェアウェイトのポートとして働き、リード時はARTICポート(上位 8ビット)として働く。 u ハードウェアウェイト機能を明示的にサポートしていない機種(サポート フラグが0の機種)でも、I/Oインターフェース回路が同等の機能を持って いるため、実質的にこの機能が働く。PC-9801VX21・RA21でタイミングを 測定して確認した。 ただし、PC-9801初代・E・F・Mでは、このポート番号と内蔵の2D FDD I/Fの デコードイメージが重複しているため、ウェイトのためにこのアドレスに OUTすることは避けなければならない。 関連 0000:0458h bit 7 0000:045Bh bit 7 I/O 005Ch I/O 045Fh I/O 045Fh 名前 ウェイトタイミング調整 Undocumented 対象 486以上のCPUを搭載したウェイトポート搭載機種(PC-H98,PC-9801FAを除く) 機能 [READ/WRITE] bit 7〜1: 設定ウェイトクロック数(単位:CPUクロック数) bit 0: OUT 5Fh,ALウェイト挿入 1= 挿入する 0= 挿入しない 解説 o PC-H98,PC-9801FAを除く、486以上のCPUを搭載したウェイトポート搭載機 では、OUT 5Fh,ALでCPUにかかるウェイトの長さを調整することができる。 o OUT 5Fh,AL実行時のウェイト時間は、CPUの外部クロック周波数× 設定ウェイトクロック数(このポートのbit 7〜1に出力する値)で決まる。 u このI/Oに対して不適当な値を書き込むと、マシンの動作が不安定になる 可能性がある。 関連 0000:045Bh bit 7 I/O 005Fh