JP3628372B2 - コンピュータシステム、コンピュータシステムに周辺装置をインタフェースさせるための並列ポート回路、およびその動作方法 - Google Patents
コンピュータシステム、コンピュータシステムに周辺装置をインタフェースさせるための並列ポート回路、およびその動作方法 Download PDFInfo
- Publication number
- JP3628372B2 JP3628372B2 JP08045195A JP8045195A JP3628372B2 JP 3628372 B2 JP3628372 B2 JP 3628372B2 JP 08045195 A JP08045195 A JP 08045195A JP 8045195 A JP8045195 A JP 8045195A JP 3628372 B2 JP3628372 B2 JP 3628372B2
- Authority
- JP
- Japan
- Prior art keywords
- parallel port
- control unit
- data
- signal
- peripheral device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0745—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Description
【発明の分野】
この発明はコンピュータシステムに関する。より特定的にはこの発明はコンピュータシステム内で用いられる並列ポート回路に関する。
【0002】
【関連技術の説明】
並列ポートは、プリンタのような外部周辺装置へデータを転送する便利でかつ高速な機構を可能にするために、コンピュータシステム内で広く用いられている。並列ポートは通常は、プロセッサによって実行される書込サイクルに応答して予め定められるアドレス位置にデータを書込まれるデータラッチを含む。一旦このデータが並列ポートのラッチ内に記憶されると、並列ポートに関連する制御ユニットはデータを外部周辺装置に転送させる。外部周辺装置はデータの受信を確認する応答をし、制御回路は応答してプロセッサにレディ信号を返してプロセッサを現在の書込サイクルから解放する。
【0003】
並列ポートは外部周辺装置からデータを受信するのにさらに用いられてもよい。この状況では、周辺装置は通常、それがデータを転送できる状態にあることを示すために、マイクロプロセッサへ並列ポート割込をアサートする。マイクロプロセッサは応答して並列ポートに書込サイクルを実行し、周辺装置は、有効なデータが並列ポートに現在与えられていることを示すために、肯定応答信号をアサートする。
【0004】
外部装置への通信リンクが切断されるかまたは通信が失敗した場合には、現在実現されている並列ポート機構内には回復不可能な障害が起こるかもしれない。プロセッサが並列ポートに書込または読出サイクルを実行して、周辺装置が、書込データを受取ったことまたは読出データを与えたことを示す肯定応答信号を返さない場合には、コンピュータシステムは「ハング」する。言い換えれば、コンピュータシステムは周辺装置が肯定信号を与えるのを無限に待つことになる。一旦このような状況が生じると、コンピュータシステムは通常はプロセッサを解放するためにリセットまたは再スタートされなければならない。
【0005】
【発明の概要】
上述の問題は、この発明に従うアボート機構を有する並列ポート回路を含むコンピュータシステムによって大部分解決される。1つの実施例においてコンピュータシステムは、プロセッサと、周辺装置へまたは周辺装置からデータを転送するよう構成される並列ポートとを含んで設けられる。並列ポートは、プロセッサが並列ポートに書込サイクルを実行するときにシステムバスで転送されるデータを受信するためのデータバッファを含む。並列ポートに関連する制御ユニットはシステムバスのアドレス信号をデコードしてデータバッファ内でデータを選択的にラッチし、ハンドシェイク信号(つまり、データストローブ信号およびRd/Wr制御信号)を発生して書込データが現在データバッファに含まれることを周辺装置に示す。周辺装置はこの結果データを受信して制御ユニットに肯定応答信号を与える。この後制御ユニットはレディ信号を発生してデータが既に周辺装置に書込まれたことをプロセッサに示す。データが並列ポートにおいて利用可能であることを示すハンドシェイク信号を制御ユニットが周辺装置にアサートした後、周辺装置が予め定められるタイムアウト期間内に肯定応答信号を返したかどうかを判断するために、タイムアウトカウンタが制御ユニットに結合される。タイムアウト期間が満了し、周辺装置が肯定応答信号を返さない場合には、システムバスにレディ信号をアサートすることによって制御ユニットはプロセッサを現在のサイクルから解放する。制御ユニットは、障害が起こったことを示すために、状態レジスタ内にエラーフラグをさらにアサートする。エラーフラグのアサーションに応答して、制御ユニットは、プロセッサに障害を効果的に警告する割込信号をアサートする。この後プロセッサは、割込処理ルーチンからのコードを実行し、その中でその障害が並列ポートに関連していたかどうかを判断するために状態レジスタを読むだろう。プログラミングに柔軟性を与えるために、並列ポートは、マスク不可割込または並列ポート割込がエラーフラグのアサーションに応答してアサートされるかどうかを制御する構成レジスタをさらに伴なう。タイムアウトカウンタは並列ポートの読出サイクル中に同様に用いられて、周辺装置が予め定められるタイムアウト期間内にデータの読出を肯定応答したかどうかを判断する。並列ポート動作の完了でのエラーフラグの状態を判断するのにポーリング技術をさらに用いることもできる。
【0006】
広く言うと、この発明は周辺装置をコンピュータシステムにインタフェースさせるための並列ポート回路を目的とする。並列ポート回路は、コンピュータシステムのバスから書込データを受信することのできるデータバッファと、データバッファに結合され、コンピュータシステムのバス上の書込サイクルに応答して書込データをデータバッファ内にラッチさせることのできる制御ユニットとを備える。制御ユニットは周辺装置にハンドシェイク信号をさらに発生して、書込データがデータバッファに含まれることを示すことができる。並列ポート回路は、制御ユニットに結合され、ハンドシェイク信号のアサーションの後予め定められる時間期間をカウントすることのできる、タイムアウトカウンタをさらに含む。周辺装置が、予め定められる時間期間内に書込データを受信したことを示す肯定応答信号をアサートできない場合には、制御ユニットはコンピュータシステムのバス上で制御信号をアサートしてコンピュータシステムを書込サイクルから解放する。
【0007】
この発明は、処理ユニットと、周辺装置と、バスを介して処理ユニットに結合され、かつ周辺装置に結合される並列ポート回路とを含むコンピュータシステムをさらに目的とする。並列ポート回路は、コンピュータシステムのバスから書込データを受信することのできるデータバッファと、データバッファに結合され、処理ユニットによって実行される並列ポートへの書込サイクルに応答して書込データをデータバッファ内にラッチさせることのできる、制御ユニットとを含む。制御ユニットは、周辺装置にハンドシェイク信号をさらに発生して、書込データがデータバッファによって含まれることを示すことができる。並列ポート回路は、制御ユニットに結合され、ハンドシェイク信号のアサーションの後予め定められる時間期間をカウントすることのできる、タイムアウトカウンタをさらに含む。周辺装置が予め定められる時間期間内に書込データを受信したことを示す肯定応答信号をアサートできない場合には、制御ユニットはコンピュータシステムのバス上に制御信号をアサートして処理ユニットを書込サイクルから解放する。
【0008】
最後にこの発明は、処理ユニットと周辺装置とを含むコンピュータシステムの並列ポートを動作させるための方法を目的とする。方法は、コンピュータシステムのバス上で書込サイクルを実行するステップと、書込サイクルに応答して並列ポートのデータバッファ内にデータをラッチするステップと、周辺装置にデータストローブ信号を与えるステップとを含む。方法はさらに、予め定められる時間期間のカウントダウンを開始するステップと、周辺装置からの肯定応答信号を待つステップと、肯定応答信号が予め定められる時間期間内に周辺装置から与えられない場合にはバス上に制御信号をアサートして処理ユニットを書込サイクルから解放するステップとを含む。
【0009】
この発明の他の目的および利点は、以下の詳細な説明を読み、添付の図面を参照すると明らかとなる。
【0010】
この発明は様々な修正および代替形式が可能であるが、その特定の実施例を図面における例示の形によって示し、詳細にここに記載するものである。しかしながら、図面およびその詳細な説明はこの発明を開示される特定の形式に限定することを意図するものではなく、逆に、前掲の特許請求の範囲に定義されるようなこの発明の精神および範囲内に入るすべての修正物、均等物、および代替物を包含することを意図するものであることが理解されるはずである。
【0011】
【実施例の詳細な説明】
ここで図面を参照すると、図1は、システムバス106を介してシステムメモリ103と並列ポート104とに結合されるマイクロプロセッサ(CPU)102を含むコンピュータシステム100のブロック図である。並列ポート104は周辺装置108にさらに結合される。
【0012】
マイクロプロセッサ102は予め定められる命令セットを実現するデータ処理ユニットである。例示の処理ユニットは特に80386型および80486型マイクロプロセッサを含む。システムバス106はたとえばPCI標準構成バスを示すが、他のバス構成が用いられてもよいことは当然である。さらに、並列ポート104は1つまたはそれより多いバスインタフェースユニットを介してマイクロプロセッサ102に結合されてもよく、マイクロプロセッサ102は集積プロセッサであってもよいことは当然である。
【0013】
並列ポート104は双方向バス122とタイムアウトカウンタ124とに結合される制御ユニット120を含む。構成レジスタ126と状態レジスタ128が制御ユニット120にさらに結合される。双方向バッファ122はシステムバス106と周辺装置108との間でデータを選択的にバッファリングするために設けられる。双方向バッファ122は単純なラッチ回路でもって実現されてもよい。
【0014】
制御ユニット120は、並列ポート104への書込または読出動作がたとえばマイクロプロセッサ102によって実行中であるかどうかを判断するために、システムバス106をモニタする。並列ポート104はコンピュータシステム100のI/O空間内の予め定められるアドレス位置にマッピングされるが、並列ポート104はコンピュータシステム100のメモリ空間内に代替的にマッピングされてもよいことが理解されるだろう。制御ユニット120は特定の転送を実行するように、双方向バッファ122内でのデータのラッチングをさらに制御し、周辺装置108との適当なハンドシェイク信号を発生する。これについては以下により詳細に説明する。
【0015】
コンピュータシステム100の動作中、マイクロプロセッサ102が並列ポート104にI/O書込サイクルを実行すると、制御ユニット120はそのサイクルを検知して、システムバス106上の対応するデータを双方向バッファ122にラッチさせる。書込データはシステムメモリ103を出所としてもよいことに注目されたい。図2は、並列ポート104へのそのようなI/O書込サイクル中のデータ転送と選択された制御信号のアサーションとを示す。制御ユニット120は双方向バッファ122にデータをラッチさせた後、有効データが双方向バッファ122において現在利用可能であることを示すために、周辺装置108へ書込ストローブ信号をアサートする。現在のサイクルが書込動作であることを示すために、制御ユニット120はさらに読出/書込(Rd/Wr)制御信号をローにアサートする。通信リンクが正しく動作している場合には、周辺装置108は双方向バッファ122からデータを受信して、応答して制御ユニット120によって受信される肯定応答信号ACKをアサートする。制御ユニット120はこの結果システムバス106でレディ信号RDYをアサートして、周辺装置108がデータを受取ったことをマイクロプロセッサ102に示す。動作のこの部分は従来からあるものである。
【0016】
制御ユニット120が書込ストローブをアサートすると、タイムアウトカウンタ124は予め定められるタイムアウト期間のカウントを開始する。1つの実施例においては、このタイムアウト期間は、1つのバイトの転送につき10マイクロ秒、1つの語の転送につき20マイクロ秒、および倍長語転送につき40マイクロ秒に設定されるが、システムによっては他のタイムアウト長が設定されてもよいことを理解されたい。通信リンクが正しく動作している場合には、周辺装置108はこの予め定められるタイムアウト期間内に肯定応答信号ACKをアサートする。結果として、タイムアウトカウンタ124が満了しない限り、タイムアウトカウンタ124に応答して、制御ユニット120がこれ以上の動作をすることはない。
【0017】
一方、通信リンクが切断されるか、または通信障害が生じて、周辺装置108から制御ユニット120によって肯定応答信号ACKが受信されない場合には、タイムアウトカウンタ124のタイムアウト期間は満了する。図3を参照すると、このことによってタイムアウトカウンタ124からのタイムアウト信号のアサーションが起こり、そしてそれは制御ユニット120によって受取られる。制御ユニット120は状態レジスタ128内でエラービットを応答してセットし、マイクロプロセッサ102を現在のサイクルから解放するようシステムバス106上にレディ信号RDYをアサートする。制御ユニット120は、マイクロプロセッサ102に与えられるマスク不可割込(NMI)または並列ポート割込(INT)のいずれかを付加的にアサートする。マイクロプロセッサ102は従って、指定される割込処理ルーチンにジャンプし、その中である命令が状態レジスタ128を読むために実行されてそれにより並列ポート通信内で生じたエラーを判断するであろう。システムプログラマまたはユーザに通信障害が発生した理由を判断させてシステムの現在の状態を表示するために、ソフトウェアを介してさらなる診断を実現することもできる。制御ユニット120がレディ信号RDYをアサートするため、システムは「ハング」せず、マイクロプロセッサ102によるさらなる処理がシステムをリセットすることなしに可能であることに注目されたい。
【0018】
通信障害が発生し、および状態レジスタ128のエラービットがセットされたときに制御ユニット120がマスク不可割込(NMI)または並列ポート割込(INT)をアサートするかどうかを制御するために、並列ポート104に関連して構成レジスタ126が設けられる。構成レジスタ126内に記憶される構成値に依って、制御ユニット120は状態レジスタ128のエラービットのセットに応答してマスク不可割込(NMI)または並列ポート割込(INT)のいずれかをアサートする。したがって、システムによっては、指定される処理ルーチン(NMIまたはINT処理ルーチン)はエラーに関するユーザ情報を検知し分析して与えるよう構成されるだろう。並列ポート通信の障害でどの割込(NMIまたはINT)がアサートされるかをシステムプログラマに設定させることによって、柔軟性のあるシステムプログラミングが提供されるであろう。
【0019】
並列ポート読出操作が起こるときのコンピュータシステム100の動作は書込動作に関する前述の動作と同様である。周辺装置108がマイクロプロセッサ102によって読出されるべく利用可能なデータを有する場合、並列ポート割込が周辺装置108によってアサートされる。周辺装置108からデータを読出すよう、マイクロプロセッサ102は応答してシステムバス106上で読出サイクルを実行する。読出サイクルに応答して、制御ユニット120はデータストローブ信号をアサートし、かつRd/Wr信号をハイにアサートする。これらのハンドシェイク信号は周辺装置108によって受信され、周辺装置108は応答して双方向バッファ122にデータを与え、かつ同時に肯定応答信号ACKをアサートする。制御ユニット120はそれからデータを双方向バッファ122内にラッチさせ、データをシステムバス106に送る。制御ユニット120はレディ信号を同時にアサートして、有効データがシステムバス106上で利用可能であることを示す。通信障害が起こらなかった場合には、レディ信号RDYがタイムアウトカウンタ124によって設定されるタイムアウト期間内に制御ユニット120によってアサートされる。タイムアウトカウンタ124はデータストローブ信号のアサーションに応答してタイムアウト期間のカウントダウンを再び開始することに注目されたい。
【0020】
通信リンクが切断されるかまたは通信障害が生じた場合には、肯定応答信号ACKは周辺装置108によって返されないであろう。したがって、タイムアウトカウンタ124のタイムアウト期間が満了し、したがって状態レジスタ128内のエラービットがセットされる。応答して、制御ユニット120は構成レジスタ126に基づいてマスク不可割込(NMI)または並列ポート割込(INT)のいずれかを再びアサートし、マイクロプロセッサを現在のサイクルから解放するようレディ信号RDYをアサートする。この後マイクロプロセッサ102はマスク不可割込処理ルーチンまたは並列ポート処理ルーチンのいずれかからのコードを実行し、その中でエラーが並列ポート104内で生じたことを判断するために状態レジスタ128が読出されてもよい。
【0021】
制御ユニット120は、たとえばシステムバス106から書込まれる32ビット語が4つの別個の8ビット転送を介して周辺装置108に転送されるよう、双方向バッファ122内でデータをパージングしてもよい。このような転送は図4に示され、そこでは、バイト3−バイト0から構成される32ビット語が双方向バッファ122に書込まれ、その後、周辺装置108への4つの別個のデータ転送サイクルの間に1バイトずつ周辺装置108へ転送される。公知の技術を用いてこのようなデータ転送を行なうのにマルチプレクサ回路(図示せず)が用いられてもよい。簡潔かつ明瞭に示すために図4の図面からはコンピュータシステム100の一部を省略してある。
【0022】
通信障害が生じているにもかかわらず制御ユニット120によってレディ信号がアサートされたため、並列ポート104を介してマイクロプロセッサ102によって読出されたデータは無効であるかもしれないということに注目されたい。したがって、割込処理ルーチンは、読出されたデータを無効であると識別し、エラーの原因が修正された後で書込サイクルを再実行するよう構成されるだろう。さらに、マイクロプロセッサ102が割込処理ルーチンにジャンプする前にさらなる書込または読出サイクルが実行された場合には、制御ユニット120はマイクロプロセッサ102をこの後に記載される方法で各サイクルから解放させることに注目されたい。
【0023】
コンピュータシステム100に従うと、周辺装置がデータの特定の転送を確認する応答をしたかどうかを検知するためのタイムアウトカウンタを用いる並列ポートが設けられる。周辺装置からの肯定応答が全くない状態でタイムアウトカウンタのタイムアウト期間が満了した場合には、マイクロプロセッサへレディ信号を戻すことによって並列ポートサイクルは効果的にアボートされ、それによってプロセッサを現在のサイクルから解放する。状態レジスタのエラービットがさらにセットされる。この後、マスク不可割込または並列ポート割込のアサーションでエラーモードに入る。この結果、コンピュータシステムは「ハング」せず、リセットされる必要がない。エラーが検知された後、状態レジスタのエラービットはリセットされる。
【0024】
次に図5を参照すると、コンピュータシステム500のブロック図がこの発明の別の実施例に従って図示される。図1の回路部分に対応する回路部分は同一の参照番号を付与される。マイクロプロセッサ102はCPUローカルバス504を介してPCIブリッジ502に結合される。PCIブリッジ502はPCIバス506を介して並列ポート回路104にさらに結合される。
【0025】
並列ポート104は図1を参照して上に記載されるそれと同様に動作する。1つの実施例においては、構成レジスタ126内に記憶される構成値に依って、並列ポート104は2つの異なるモードのうちの1つで動作するであろう。第1のモードでは、周辺装置108からデータを読出す、またはそれにデータを書込む並列ポート動作が実行され、タイムアウトカウンタ124のタイムアウトが起こると(つまり、周辺装置108がサイクルを確認する応答ができない場合には)、制御ユニット120によってPCIバス506上でPCIアボートサイクルが実行される。当業者には公知であるように、PCIアボートサイクルは、PCISTOP♯信号をアサートし、PCI DEVSEL♯信号をデアサートすることによって、制御ユニット120によって開始されることができる。PCIサイクルをアボートすることに加えて、制御ユニット120はエラーが生じたことを示すためにマスク不可割込信号をさらにアサートする。
【0026】
(構成レジスタ126内の構成値によって定められるような)並列ポート104の第2の動作モードでは、並列ポート動作中にタイムアウトが生じると、制御ユニット120は状態レジスタ128内のエラービットをセットさせる。制御ユニット120はさらに、(肯定応答信号が周辺装置108から受信されなかったとしても)通常はPCI TRDY♯信号をアサートすることによってPCIバスサイクル506を終結させる。PCI TRDY♯信号のアサーションによって、PCIブリッジ502はCPUローカルバス504上で、マイクロプロセッサ102を現在のサイクルから解放する対応するレディ信号をアサートする。エラーの発生を示すために、制御ユニット120は並列ポート割込信号をさらにアサートする。続いてマイクロプロセッサ102が、並列ポート障害が起こったことを判断するために状態レジスタ128を読出す。
【0027】
このように図5の実施例では、構成レジスタ126内の構成値に依って、制御ユニット120はタイムアウトが生じるとPCIサイクルをアボートしてマスク不可割込信号をアサートするか、またはPCIバス506上でレディ信号TRDY♯信号をアサートしてマイクロプロセッサ102を現在のサイクルから解放し並列ポート割込信号をアサートする。柔軟なプログラミングの可能性および機能性がこれによりサポートされる。
【0028】
図1および図5の両方の実施例では、タイムアウトが生じた後で並列ポート104への次の読出または書込サイクルが開始されると、制御ユニット120はPCIサイクルを正常に終結するが、(書込のための)任意の書込データを破棄させるか、または(読出のために)すべてのビットがローに駆動された状態でデータバスを駆動させることに注目されたい。この後、割込処理ルーチンに入ると、並列ポートエラーの発生が検知される。
【0029】
一旦上述の開示が十分に理解されれば、数多くの変形および修正が当業者にとって明らかとなるであろう。たとえば、タイムアウトカウンタ124によって設定されるタイムアウト期間はシステムごとに変更してもよく、タイムアウト期間はプログラマブルであってもよいことに注目されたい。さらに、エラーが生じたかどうかを判断するのに、特定の並列ポート動作の後でマイクロプロセッサ102が状態レジスタ128を読出すポーリング技術が用いられてもよいことに注目されたい。このようなポーリング技術が用いられれば、タイムアウトに応答するマスク不可割込または並列ポート割込のいずれのアサーションも不必要となるであろう。前掲の特許請求の範囲はすべてのそのような変形および修正を包含すると解釈されることが意図されるものである。
【図面の簡単な説明】
【図1】この発明に従うタイムアウトカウンタを含む並列ポートを用いるコンピュータシステムのブロック図である。
【図2】外部周辺装置への書込サイクルに関連するデータおよび選択される信号の流れを示すブロック図である。
【図3】タイムアウトが生じた際にアサートされる、選択される制御信号を示すブロック図である。
【図4】並列ポートへ書込まれる32ビット語の、周辺装置に転送される4つの8ビットのバイトのデータへのパージングを示すブロック図である。
【図5】この発明の別の実施例に従うタイムアウトカウンタを含む並列ポート回路を利用するコンピュータシステムのブロック図である。
【符号の説明】
104 並列ポート回路
120 制御ユニット
122 双方向バッファ
124 タイムアウトカウンタ
Claims (12)
- コンピュータシステムであって、
処理ユニットと、
前記処理ユニットに結合されたローカルバスと、
周辺バスと、
前記ローカルバスと前記周辺バスとに結合された周辺バスブリッジと、
周辺装置と、
前記周辺バスに結合されかつ前記周辺装置に結合された並列ポート回路とを備え、前記並列ポート回路は、
前記コンピュータシステムの前記周辺バスから書込データを受信するように構成されたデータバッファと、
前記データバッファに結合され、前記処理ユニットによって実行される並列ポート回路への書込サイクルに応答して前記書込データを前記データバッファ内にラッチさせるように構成された、制御ユニットとを含み、前記制御ユニットはさらに、前記書込データが前記データバッファにラッチされたことを示すように前記周辺装置にハンドシェイク信号をアサートするように構成され、さらに、
前記制御ユニットに結合され、前記ハンドシェイク信号がアサートされた後に、予め定められた時間間隔をカウントするように構成された、タイムアウトカウンタと、
前記制御ユニットに結合され、エラービットを含む状態レジスタとを含み、前記制御ユニットは、前記周辺装置が前記予め定められた時間期間の満了前に書込データの受取を示す肯定応答信号をアサートしない場合、前記エラービットをセットするように構成され、さらに、
前記制御ユニットに結合された構成レジスタを含み、前記構成レジスタは、前記タイムアウトカウンタの前記予め定められた時間間隔の前記満了に応答して、マスク不可割込信号または並列ポート割込信号のいずれがアサートされるかを制御する構成値を記憶するように構成され、
前記構成レジスタ内に記憶された前記構成値によって設定される第1の動作モードにおいて、前記周辺装置が前記予め定められた時間間隔内に前記書込データの受取を示す肯定応答信号をアサートしない場合、前記制御ユニットは前記周辺バス上にアボートサイクルを開始しかつ前記マスク不可割込信号をアサートし、さらに、
前記構成レジスタ内の前記構成値によって設定される第2の動作モードにおいて、前記
予め定められた時間期間内に前記書込データの受取を示す前記肯定応答信号を前記周辺装置がアサートしない場合には、前記制御ユニットは、前記処理ユニットを前記書込サイクルから解放しかつ前記並列ポート割込信号をアサートする、コンピュータシステム。 - 前記ハンドシェイク信号はデータストローブ信号を含む、請求項1に記載のコンピュータシステム。
- 前記データバッファはラッチ回路を含む、請求項1に記載のコンピュータシステム。
- 前記タイムアウトカウンタの前記予め定められた時間期間はプログラマブルである、請求項1に記載のコンピュータシステム。
- 前記データバッファは、双方向バッファであり、前記周辺装置から読出データを受取可能である、請求項1に記載のコンピュータシステムであって、
前記制御ユニットは、前記処理ユニットによって実行される前記並列ポートへの読出サイクルに応答して前記読出データを前記データバッファ内にラッチさせるように構成され、前記制御ユニットはさらに、前記読出データが前記データバッファに提供される必要があることを示すように前記周辺装置に第2のハンドシェイク信号をアサートするように構成され、
前記制御ユニットに結合された前記タイムアウトカウンタは、前記第2のハンドシェイク信号がアサートされた後に、第2の予め定められた時間期間をカウントするように構成され、
前記制御ユニットは、前記周辺装置が前記第2の予め定められた時間期間の満了前に前記読出データの受取を示す第2の肯定応答信号をアサートしない場合、前記状態レジスタ内に第2のエラービットをセットするように構成され、さらに、
前記構成レジスタは、前記第2の予め定められた時間期間の満了に応答して、マスク不可割込または並列応答割込のいずれがアサートされるかを制御する、構成値を記憶するように構成され、
前記構成値によって設定された第1の動作モードにおいて、前記周辺装置が前記予め定められた時間期間内に前記読出データの受取を示す前記第2の肯定応答信号をアサートしない場合、前記制御ユニットは前記マスク不可割込信号をアサートし、
前記構成値によって設定された第2の動作モードにおいて、前記周辺装置が前記予め定められた時間期間内に前記読出データの受取を示す第2の肯定応答信号をアサートしない場合、前記制御ユニットは前記並列ポート割込信号をアサートする、請求項1に記載のコンピュータシステム。 - 前記マスク不可割込信号または前記並列ポート割込信号に応答して、前記データバッファで受取られた前記読出サイクルに関連の読出データが有効または無効と特定され、かつ前記読出サイクルは前記読出データが無効と示されると再実行される、請求項5に記載のコンピュータシステム。
- さらなる書込サイクルに関連の書込データは、前記さらなる書込サイクルが前記予め定められた前記時間期間の後に開始される場合に廃棄される、請求項1に記載のコンピュータシステム。
- 前記周辺バスはPCIバスであり、さらに前記周辺バスブリッジはPCIブリッジである、請求項1に記載のコンピュータシステム。
- 前記アボートサイクルの開始はPCI STOP 信号のアサートおよびPCI DEVSEL 信号のデアサートを含む、請求項8に記載のコンピュータシステム。
- 処理ユニットと、ローカルバスと、周辺バスと、周辺バスブリッジと、周辺装置とを含むコンピュータシステムの並列ポートを動作させるための方法であって、
前記コンピュータシステムの前記周辺バス上で書込サイクルを実行するステップと、
前記書込サイクルに応答して前記並列ポートのデータバッファ内にデータをラッチするステップと、
前記周辺装置にデータストローブ信号を与えるステップと、
予め定められた時間期間のカウントダウンを開始するステップと、
前記周辺装置からの肯定応答信号を待つステップと、
前記予め定められた時間期間内に前記周辺装置から前記肯定応答信号が与えられない場合には、第1の動作モードにおいて前記周辺バス上にアボートサイクルを開始するステップと、
前記予め定められた時間期間内に前記周辺装置から前記肯定応答信号が与えられない場合には、状態レジスタ内のエラービットをセットするステップと、
前記予め定められた時間期間内に前記周辺装置から前記肯定応答信号が与えられない場合には、前記処理ユニットへ割込信号をアサートするステップとを含み、前記割込信号は、前記第1の動作モードではマスク不可割込信号として、第2の動作モードでは前記処理ユニットを現在のサイクルから解放する並列ポート割込信号として選択可能である、コンピュータシステムの並列ポートを動作させるための方法。 - 前記周辺バスはPCIバスであり、前記周辺バスブリッジはPCIブリッジである、請求項10に記載のコンピュータシステムの並列ポートを動作させるための方法。
- アボートサイクルを開始する前記ステップはPCI STOP 信号のアサートおよびPCI DEVSEL 信号のデアサートを含む、請求項11に記載のコンピュータシステムの並列ポートを動作させるための方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US22364394A | 1994-04-06 | 1994-04-06 | |
| US223643 | 1994-04-06 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07311716A JPH07311716A (ja) | 1995-11-28 |
| JP3628372B2 true JP3628372B2 (ja) | 2005-03-09 |
Family
ID=22837419
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP08045195A Expired - Fee Related JP3628372B2 (ja) | 1994-04-06 | 1995-04-05 | コンピュータシステム、コンピュータシステムに周辺装置をインタフェースさせるための並列ポート回路、およびその動作方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5666559A (ja) |
| EP (1) | EP0676696B1 (ja) |
| JP (1) | JP3628372B2 (ja) |
| AT (1) | ATE176063T1 (ja) |
| DE (1) | DE69507360T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2434268C2 (ru) * | 2009-11-18 | 2011-11-20 | Российская Федерация, от имени которой выступает Министерство промышленности и торговли Российской Федерации (Минпромторг России) | Способ сопряжения компьютера с измерительным оборудованием, измерительная система и ограниченный реверсивный счетчик (варианты) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2740238B1 (fr) * | 1995-10-19 | 1997-12-05 | Sgs Thomson Microelectronics | Cellule integrable ddc dediee a un microprocesseur |
| US5768619A (en) * | 1996-02-16 | 1998-06-16 | Advanced Micro Devices, Inc. | Method and system for enabling and disabling functions in a peripheral device for a processor system |
| US6000043A (en) * | 1996-06-28 | 1999-12-07 | Intel Corporation | Method and apparatus for management of peripheral devices coupled to a bus |
| US6122256A (en) * | 1997-08-18 | 2000-09-19 | International Business Machines Corporation | Fail-safe communications network for use in system power control |
| JP3638769B2 (ja) * | 1997-12-01 | 2005-04-13 | 株式会社ルネサステクノロジ | 通信制御装置 |
| US6449709B1 (en) | 1998-06-02 | 2002-09-10 | Adaptec, Inc. | Fast stack save and restore system and method |
| US6085278A (en) * | 1998-06-02 | 2000-07-04 | Adaptec, Inc. | Communications interface adapter for a computer system including posting of system interrupt status |
| US6247143B1 (en) * | 1998-06-30 | 2001-06-12 | Sun Microsystems, Inc. | I/O handling for a multiprocessor computer system |
| US6189117B1 (en) | 1998-08-18 | 2001-02-13 | International Business Machines Corporation | Error handling between a processor and a system managed by the processor |
| US6470463B1 (en) * | 1999-03-29 | 2002-10-22 | Inventec Corporation | Method and apparatus for testing integrity of data transfer of a hardware |
| EP1257917A4 (en) * | 1999-04-07 | 2004-11-10 | Cradle Technologies | GLOBAL BUS-SYNCHRONOUS CONFIRMATION OF A TRANSACTION WITH DETECTION OF THE ERROR OF A REPLY |
| US6701398B1 (en) | 1999-04-07 | 2004-03-02 | Cradle Technologies, Inc. | Global bus synchronous transaction acknowledge with nonresponse detection |
| KR100429267B1 (ko) * | 2001-11-27 | 2004-04-29 | 엘지전자 주식회사 | 외부기기 전송 인식 오류 처리장치와 방법 |
| US7200781B2 (en) * | 2003-05-14 | 2007-04-03 | Hewlett-Packard Development Company, L.P. | Detecting and diagnosing a malfunctioning host coupled to a communications bus |
| US7676621B2 (en) | 2003-09-12 | 2010-03-09 | Hewlett-Packard Development Company, L.P. | Communications bus transceiver |
| WO2005104727A2 (en) * | 2004-04-28 | 2005-11-10 | Emc Corporation | Proactive transfer ready resource management in storage area networks |
| US7484058B2 (en) * | 2004-04-28 | 2009-01-27 | Emc Corporation | Reactive deadlock management in storage area networks |
| US7308617B2 (en) | 2004-06-17 | 2007-12-11 | International Business Machines Corporation | Apparatus, system, and method for automatically freeing a server resource locked awaiting a failed acknowledgement from a client |
| TWI311705B (en) * | 2005-05-23 | 2009-07-01 | Via Tech Inc | Peripheral component interconnect express and changing method of link power states thereof |
| US7747897B2 (en) * | 2005-11-18 | 2010-06-29 | Intel Corporation | Method and apparatus for lockstep processing on a fixed-latency interconnect |
| US7739404B2 (en) * | 2006-05-03 | 2010-06-15 | Avaya Inc. | Scalable methods for distributing routing information to border gateway protocol (BGP) devices |
| US8527682B2 (en) | 2008-08-22 | 2013-09-03 | Mitsubishi Electric Corporation | Bus controller, bus communication system, and bus control method |
| DE102010003538A1 (de) * | 2010-03-31 | 2011-10-06 | Robert Bosch Gmbh | Verfahren zur Überprüfung von Signal- und Modulaktivitäten in einem Timermodul und Timermodul |
| JP5582472B2 (ja) * | 2010-08-27 | 2014-09-03 | 大学共同利用機関法人情報・システム研究機構 | Lsi演算装置及びその故障検出方法 |
| CN103797469B (zh) * | 2013-05-20 | 2016-08-31 | 华为技术有限公司 | 一种计算机系统、高速外围组件互联端点设备的访问方法和装置 |
| US9165531B2 (en) | 2013-05-27 | 2015-10-20 | Google Technology Holdings LLC | System for detecting display driver error when failing to receive a synchronization signal and method thereof |
| US9843436B2 (en) * | 2015-06-27 | 2017-12-12 | Intel Corporation | Flexible interconnect architecture |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4069510A (en) * | 1974-10-30 | 1978-01-17 | Motorola, Inc. | Interrupt status register for interface adaptor chip |
| US4159516A (en) * | 1976-03-23 | 1979-06-26 | Texas Instruments Incorporated | Input/output controller having selectable timing and maskable interrupt generation |
| US4535404A (en) * | 1982-04-29 | 1985-08-13 | Honeywell Information Systems Inc. | Method and apparatus for addressing a peripheral interface by mapping into memory address space |
| JPS60178561A (ja) * | 1984-02-24 | 1985-09-12 | Sharp Corp | 標準デイジタル・インタ−フエイス装置 |
| US4872110A (en) * | 1987-09-03 | 1989-10-03 | Bull Hn Information Systems Inc. | Storage of input/output command timeout and acknowledge responses |
| US5075874A (en) * | 1989-04-10 | 1991-12-24 | Eastman Kodak Company | Communications interface for computer output printer |
| US5159684A (en) * | 1989-05-24 | 1992-10-27 | Pitney Bowes Inc. | Data communication interface integrated circuit with data-echoing and non-echoing communication modes |
| US5325529A (en) * | 1990-05-18 | 1994-06-28 | Compaq Computer Corporation | External boot information loading of a personal computer |
-
1995
- 1995-03-16 DE DE69507360T patent/DE69507360T2/de not_active Expired - Fee Related
- 1995-03-16 EP EP95301741A patent/EP0676696B1/en not_active Expired - Lifetime
- 1995-03-16 AT AT95301741T patent/ATE176063T1/de not_active IP Right Cessation
- 1995-04-05 JP JP08045195A patent/JP3628372B2/ja not_active Expired - Fee Related
-
1996
- 1996-10-09 US US08/727,287 patent/US5666559A/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2434268C2 (ru) * | 2009-11-18 | 2011-11-20 | Российская Федерация, от имени которой выступает Министерство промышленности и торговли Российской Федерации (Минпромторг России) | Способ сопряжения компьютера с измерительным оборудованием, измерительная система и ограниченный реверсивный счетчик (варианты) |
Also Published As
| Publication number | Publication date |
|---|---|
| ATE176063T1 (de) | 1999-02-15 |
| EP0676696A1 (en) | 1995-10-11 |
| US5666559A (en) | 1997-09-09 |
| JPH07311716A (ja) | 1995-11-28 |
| DE69507360D1 (de) | 1999-03-04 |
| DE69507360T2 (de) | 1999-06-17 |
| EP0676696B1 (en) | 1999-01-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3628372B2 (ja) | コンピュータシステム、コンピュータシステムに周辺装置をインタフェースさせるための並列ポート回路、およびその動作方法 | |
| US6223299B1 (en) | Enhanced error handling for I/O load/store operations to a PCI device via bad parity or zero byte enables | |
| US5802269A (en) | Method and apparatus for power management of distributed direct memory access (DDMA) devices | |
| US6000043A (en) | Method and apparatus for management of peripheral devices coupled to a bus | |
| US5790895A (en) | Modem sharing | |
| US6098132A (en) | Installation and removal of components of a computer | |
| EP0837387A2 (en) | Transparent keyboard hot plug | |
| US6678838B1 (en) | Method to track master contribution information in a write buffer | |
| CN108132910A (zh) | 系统互连以及具有系统互连的片上系统 | |
| US4858234A (en) | Method and apparatus for error recovery in a multibus computer system | |
| US6584586B1 (en) | Apparatus and method for capturing and transferring internal system activity | |
| US6584573B1 (en) | Placing a computer system into a sleeping state | |
| US8108586B2 (en) | Multi-core data processor | |
| US4837767A (en) | Bus adapter module with improved error recovery in a multibus computer system | |
| US6625683B1 (en) | Automatic early PCI transaction retry | |
| JPH0552981B2 (ja) | ||
| CN112052108A (zh) | 并行处理设备 | |
| US6012114A (en) | System for preventing software of a computer system from interacting with a connector to avoid data corruption due to surprise removal of a circuit card | |
| US5931930A (en) | Processor that indicates system bus ownership in an upgradable multiprocessor computer system | |
| US7571266B2 (en) | Peripheral device in a computerized system and method | |
| KR970002400B1 (ko) | 다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법(Control scheme of interrupt go and done in a multiprocessor interrupt requester) | |
| JPH05165657A (ja) | 半導体集積回路 | |
| Update | Intel® 5000 Series Chipset Memory Controller Hub (MCH) | |
| JPS6349246B2 (ja) | ||
| JP2000330798A (ja) | 割込制御装置および割込制御検証方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040420 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040427 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040726 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040729 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041020 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041116 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041208 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071217 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081217 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091217 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |