JP3628372B2 - コンピュータシステム、コンピュータシステムに周辺装置をインタフェースさせるための並列ポート回路、およびその動作方法 - Google Patents

コンピュータシステム、コンピュータシステムに周辺装置をインタフェースさせるための並列ポート回路、およびその動作方法 Download PDF

Info

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
Application number
JP08045195A
Other languages
English (en)
Other versions
JPH07311716A (ja
Inventor
マイケル・ティ・ワイザー
スコット・シィ・ジョンソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH07311716A publication Critical patent/JPH07311716A/ja
Application granted granted Critical
Publication of JP3628372B2 publication Critical patent/JP3628372B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/0745Error 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0793Remedial 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

【0001】
【発明の分野】
この発明はコンピュータシステムに関する。より特定的にはこの発明はコンピュータシステム内で用いられる並列ポート回路に関する。
【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. コンピュータシステムであって、
    処理ユニットと、
    前記処理ユニットに結合されたローカルバスと、
    周辺バスと、
    前記ローカルバスと前記周辺バスとに結合された周辺バスブリッジと、
    周辺装置と、
    前記周辺バスに結合されかつ前記周辺装置に結合された並列ポート回路とを備え、前記並列ポート回路は、
    前記コンピュータシステムの前記周辺バスから書込データを受信するように構成されたデータバッファと、
    前記データバッファに結合され、前記処理ユニットによって実行される並列ポート回路への書込サイクルに応答して前記書込データを前記データバッファ内にラッチさせるように構成された、制御ユニットとを含み、前記制御ユニットはさらに、前記書込データが前記データバッファにラッチされたことを示すように前記周辺装置にハンドシェイク信号をアサートするように構成され、さらに、
    前記制御ユニットに結合され、前記ハンドシェイク信号がアサートされた後に、予め定められた時間間隔をカウントするように構成された、タイムアウトカウンタと、
    前記制御ユニットに結合され、エラービットを含む状態レジスタとを含み、前記制御ユニットは、前記周辺装置が前記予め定められた時間期間の満了前に書込データの受取を示す肯定応答信号をアサートしない場合、前記エラービットをセットするように構成され、さらに、
    前記制御ユニットに結合された構成レジスタを含み、前記構成レジスタは、前記タイムアウトカウンタの前記予め定められた時間間隔の前記満了に応答してマスク不可割込信号または並列ポート割込信号のいずれがアサートされるかを制御する構成値を記憶するように構成され、
    前記構成レジスタ内に記憶された前記構成値によって設定される第1の動作モードにおいて、前記周辺装置が前記予め定められた時間間隔内に前記書込データの受取を示す肯定応答信号をアサートしない場合、前記制御ユニットは前記周辺バス上にアボートサイクルを開始しかつ前記マスク不可割込信号をアサートし、さらに、
    前記構成レジスタ内の前記構成値によって設定される第2の動作モードにおいて、前記
    予め定められた時間期間内に前記書込データの受取を示す前記肯定応答信号を前記周辺装置がアサートしない場合には、前記制御ユニットは、前記処理ユニットを前記書込サイクルから解放しかつ前記並列ポート割込信号をアサートする、コンピュータシステム。
  2. 前記ハンドシェイク信号はデータストローブ信号を含む、請求項1に記載のコンピュータシステム。
  3. 前記データバッファはラッチ回路を含む、請求項1に記載のコンピュータシステム。
  4. 前記タイムアウトカウンタの前記予め定められた時間期間はプログラマブルである、請求項1に記載のコンピュータシステム。
  5. 前記データバッファは、双方向バッファであり、前記周辺装置から読出データを受取可能である、請求項1に記載のコンピュータシステムであって、
    前記制御ユニットは、前記処理ユニットによって実行される前記並列ポートへの読出サイクルに応答して前記読出データを前記データバッファ内にラッチさせるように構成され、前記制御ユニットはさらに、前記読出データが前記データバッファに提供される必要があることを示すように前記周辺装置に第2のハンドシェイク信号をアサートするように構成され
    前記制御ユニットに結合された前記タイムアウトカウンタは、前記第2のハンドシェイク信号がアサートされた後に、第2の予め定められた時間期間をカウントするように構成され、
    前記制御ユニットは、前記周辺装置が前記第2の予め定められた時間期間の満了前に前記読出データの受取を示す第2の肯定応答信号をアサートしない場合、前記状態レジスタ内に第2のエラービットをセットするように構成され、さらに、
    前記構成レジスタは、前記第2の予め定められた時間期間の満了に応答してマスク不可割込または並列応答割込のいずれがアサートされるかを制御する、構成値を記憶するように構成され、
    前記構成値によって設定された第1の動作モードにおいて、前記周辺装置が前記予め定められた時間期間内に前記読出データの受取を示す前記第2の肯定応答信号をアサートしない場合、前記制御ユニットは前記マスク不可割込信号をアサートし、
    前記構成値によって設定された第2の動作モードにおいて、前記周辺装置が前記予め定められた時間期間内に前記読出データの受取を示す第2の肯定応答信号をアサートしない場合、前記制御ユニットは前記並列ポート割込信号をアサートする、請求項1に記載のコンピュータシステム。
  6. 前記マスク不可割込信号または前記並列ポート割込信号に応答して、前記データバッファで受取られた前記読出サイクルに関連の読出データが効または無効と特定され、かつ前記読出サイクルは前記読出データが無効と示されると再実行される、請求項5に記載のコンピュータシステム。
  7. さらなる書込サイクルに関連の書込データは、前記さらなる書込サイクルが前記予め定められた前記時間期間の後に開始される場合に廃棄される、請求項1に記載のコンピュータシステム。
  8. 前記周辺バスはPCIバスであり、さらに前記周辺バスブリッジはPCIブリッジである、請求項1に記載のコンピュータシステム。
  9. 前記アボートサイクルの開始はPCI STOP 信号のアサートおよびPCI DEVSEL 信号のデアサートを含む、請求項8に記載のコンピュータシステム。
  10. 処理ユニットと、ローカルバスと、周辺バスと、周辺バスブリッジと、周辺装置とを含むコンピュータシステムの並列ポートを動作させるための方法であって、
    前記コンピュータシステムの前記周辺バス上で書込サイクルを実行するステップと、
    前記書込サイクルに応答して前記並列ポートのデータバッファ内にデータをラッチするステップと、
    前記周辺装置にデータストローブ信号を与えるステップと、
    予め定められた時間期間のカウントダウンを開始するステップと、
    前記周辺装置からの肯定応答信号を待つステップと、
    前記予め定められた時間期間内に前記周辺装置から前記肯定応答信号が与えられない場合には、第1の動作モードにおいて前記周辺バス上にアボートサイクルを開始するステップと、
    前記予め定められた時間期間内に前記周辺装置から前記肯定応答信号が与えられない場合には、状態レジスタ内のエラービットをセットするステップと、
    前記予め定められた時間期間内に前記周辺装置から前記肯定応答信号が与えられない場合には、前記処理ユニットへ割込信号をアサートするステップとを含み、前記割込信号は、前記第1の動作モードではマスク不可割込信号として、第2の動作モードでは前記処理ユニットを現在のサイクルから解放する並列ポート割込信号として選択可能である、コンピュータシステムの並列ポートを動作させるための方法。
  11. 前記周辺バスはPCIバスであり、前記周辺バスブリッジはPCIブリッジである、請求項10に記載のコンピュータシステムの並列ポートを動作させるための方法。
  12. アボートサイクルを開始する前記ステップはPCI STOP 信号のアサートおよびPCI DEVSEL 信号のデアサートを含む、請求項11に記載のコンピュータシステムの並列ポートを動作させるための方法。
JP08045195A 1994-04-06 1995-04-05 コンピュータシステム、コンピュータシステムに周辺装置をインタフェースさせるための並列ポート回路、およびその動作方法 Expired - Fee Related JP3628372B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2434268C2 (ru) * 2009-11-18 2011-11-20 Российская Федерация, от имени которой выступает Министерство промышленности и торговли Российской Федерации (Минпромторг России) Способ сопряжения компьютера с измерительным оборудованием, измерительная система и ограниченный реверсивный счетчик (варианты)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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