JP4490585B2 - 周辺ステータスについての内部レジスタを有するプロセッサまたはコア論理演算装置 - Google Patents

周辺ステータスについての内部レジスタを有するプロセッサまたはコア論理演算装置 Download PDF

Info

Publication number
JP4490585B2
JP4490585B2 JP2000565469A JP2000565469A JP4490585B2 JP 4490585 B2 JP4490585 B2 JP 4490585B2 JP 2000565469 A JP2000565469 A JP 2000565469A JP 2000565469 A JP2000565469 A JP 2000565469A JP 4490585 B2 JP4490585 B2 JP 4490585B2
Authority
JP
Japan
Prior art keywords
status register
bus
status
central processing
processing unit
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
JP2000565469A
Other languages
English (en)
Other versions
JP2002522846A (ja
Inventor
ディーン エイ. クライン,
Original Assignee
マイクロン テクノロジー, インク.
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
Priority claimed from US09/131,447 external-priority patent/US6219720B1/en
Priority claimed from US09/131,497 external-priority patent/US6189049B1/en
Priority claimed from US09/131,922 external-priority patent/US6374320B1/en
Priority claimed from US09/131,446 external-priority patent/US6233627B1/en
Application filed by マイクロン テクノロジー, インク. filed Critical マイクロン テクノロジー, インク.
Publication of JP2002522846A publication Critical patent/JP2002522846A/ja
Application granted granted Critical
Publication of JP4490585B2 publication Critical patent/JP4490585B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Description

【0001】
(背景)
(発明の分野)
本発明は、コンピュータシステム内の周辺機器、より具体的には、コア論理演算装置に位置する集中レジスタ、またはコンピュータシステムにおける周辺機器についてのステータス情報を維持する処理を有するシステムに関する。
【0002】
(関連技術)
コンピュータシステムは、典型的には、複数の周辺機器に結合され、典型的にはコンピュータシステムバスを介してこれらの周辺機器と通信する中央処理装置を含む。これらの周辺機器には、ディスクドライブおよびテープドライブ等のデータ格納デバイス、キーボードまたはマウス等のデータ入力デバイス、映像ディスプレイまたは音声スピーカー等のデータ出力デバイス、ネットワークインターフェースコントローラ等の通信デバイスが含まれ得る。中央処理装置と周辺機器との間でデータを転送するため、そうでない場合には周辺機器に命令し、操作するために、中央処理装置が周辺機器をしばしば監視する必要がある。この監視は、典型的には、中央処理装置による通常の処理に「割り込む」ために周辺機器が中央処理装置に送信する割込みによってトリガされる。割込み中、中央処理装置は、一時的に通常の処理を停止し、「割込みサービスルーチン」として公知のコードを実行して、周辺機器が必要としているサービスを行う。割込みサービスルーチンが完了した後、中央処理装置は通常の処理を開始する。
【0003】
多くのコンピュータシステムが、複数の周辺機器が同じ割込み信号をアクティブにし得る、共有の割込みアーキテクチャを用いる。一般的に用いられる共有の割込みアーキテクチャの1つは、周辺機器が1つ以上の割込み線を通じて共に「チェーンで縛られる」デージーチェーン式構造である。チェーン内の任意の周辺機器が割込み信号を発生し得、この割込み信号は、最終的に中央処理装置に達するまでチェーンを通過する。他の一般的に用いられる共有の割込みアーキテクチャにおいて、周辺機器は共通割込みバス線を共有する。周辺機器は、この割込みバス線をアサートすることによってプロセッサに割込みを信号発信し得る。
【0004】
共有の割込みアーキテクチャは、いくつかの利点を有する。それは非常に単純なことで、典型的には、割込み信号を搬送する信号線を少数しか必要としないということである。また、拡張可能であり、典型的には、割込み信号用にさらなる線を必要とせずに、さらなる周辺装置がコンピュータシステムに組み込まれることが可能になる。
【0005】
しかし、共有の割込みアーキテクチャは、大きな問題点を有する。それは、どの周辺機器が処理を必要としているのかを中央処理装置が判定する必要があることである。これは、全ての周辺機器が同じ割込み信号を発生し、中央処理装置はどの周辺機器がサービスを必要としているのか分からないからである。従って、中央処理装置は、典型的には、どの周辺機器がサービスを必要としているのか判定するために、周辺機器を「ポーリング」しなければならない。
【0006】
このポーリング処理には、かなり時間がかかり得る。任意の所与の時間において、典型的には1つの周辺機器しかサービスを必要としていないにもかかわらず、中央処理装置は、コンピュータシステム内の全ての周辺機器をポーリングする必要を有し得る。周辺機器をポーリングするためにはCPUが複数のバストランザクションを行う必要があり、各バストランザクションが高性能計算システムにおいて多数のCPUサイクルを必要とし得るので、ポーリングはCPUの効率性を低減する。ポーリングによって、また、周辺バスが多数のポーリングアクセスに拘束される。さらに、ポーリングは、割込みを供給するために必要な時間を増加させる。これによって、適時の様式でサービスを必要とする周辺機器についての問題が生じる。例えば、ネットワークインターフェースコントローラは、入来データのバッファがオーバーフローすることを防ぐ即時サービスを必要とし得る。この即時サービスは、ポーリングによって遅れ得る。
【0007】
周辺機器のステータスを判定するために必要な時間およびバスの活動量を減少する共有の割込みアーキテクチャ内の周辺機器からステータス情報を引き出すシステムが必要とされる。
【0008】
(要旨)
本発明の実施形態の1つは、コンピュータシステム内のプロセッサまたはコア論理演算装置内に位置するステータスレジスタ内のいくつかの周辺機器についてのステータス情報を維持するコンピュータシステムを提供する。この実施形態において、周辺機器は、ステータス情報をステータスレジスタに転送するバスマスター操作を行うことによって、ステータスが変化する場合、ステータスレジスタをアップデートする。周辺機器は、その後、割込みを発生して、サービスを必要としていることをプロセッサに示す。プロセッサがその割込みを処理する場合、プロセッサは、どの周辺機器が処理を必要としているのかを判定するためにステータスレジスタを読み出す必要がほとんどない。これは、ステータスレジスタがプロセッサまたはコア論理演算装置の内部にあるので、非常に素早い動作である。時間のかからない周辺機器のポーリングが、周辺機器のステータスを判定するために必要とされている。従って、本発明の実施形態の1つは、ステータスレジスタ内の周辺機器についてのステータス情報を維持する装置を提供する。この装置は、複数の周辺機器に結合されている周辺通信チャネルを含む。アップデート回路は、周辺通信チャネルとステータスレジスタとの間に結合されている。このアップデート回路は、周辺機器から周辺通信チャネルを通じて受信したステータス情報を含む信号に応答して、ステータスレジスタをアップデートする機構を含む。
【0009】
本発明の1つの実施形態において、通信チャネルはCPUバスを含む。この実施形態の変形例において、通信チャネルは、プロセッサ−メモリバスを含む。他の実施形態において、周辺通信チャネルはPCIバスを含む。
【0010】
本発明の1つの実施形態は、ステータスレジスタを読み出し、ステータスレジスタのコンテンツに基づいて適切な割込みサービスルーチンに自動的に分岐する専用プロセッサ命令を含む。
【0011】
本発明の1つの実施形態において、通信チャネルはコンピュータシステムバスを含む。この実施形態のさらなる変形例において、通信チャネルは、コンピュータシステム内の複数のキャッシュ間のコヒーレンシーを維持する信号を搬送する。
【0012】
本発明の1つの実施形態において、コンピュータシステムは、複数の中央処理装置、および中央処理装置と通信チャネルとの間に結合されている複数のステータスレジスタを含む。
【0013】
本発明の1つの実施形態において、コンピュータシステムは、複数の中央処理装置、および中央処理装置と周辺通信チャネルとの間に結合されている単一のステータスレジスタを含む。
【0014】
本発明の他の実施形態において、コンピュータシステムは、周辺機器を中央処理装置にコア論理演算装置を通じて結合するワイヤ−ORed割込み構造を含む。
【0015】
本発明の他の実施形態は、コンピュータシステム内の周辺機器のステータスの変化を示すようにステータスレジスタをアップデートする、コンピュータシステムのコア論理演算装置内の装置として特徴付けられ得る。この装置は、バスのアドレス線に結合されている、複数のアドレス入力を含み、バスは周辺機器に結合されている。この装置は、また、複数のアドレス入力内の高位ビットのセットに結合されているアドレス検出回路を含む。このアドレス検出回路は、高位ビットのセットによって特定されるアドレスの指定された範囲内のアドレスを検出するように構築される。この装置は、さらに、複数のアドレス入力内の低位ビットのセットに結合されているデコーダ回路を含む。このデコーダ回路は、アドレスの指定された範囲内の特定のアドレスへの照会を検出する。ステータスレジスタが検出回路からの出力のセットに結合されることにより、周辺機器によるアドレスの指定された範囲内の特定のアドレスへの照会がデコーダを通じて送られ、ステータスレジスタ内の周辺機器についてのステータス情報をアップデートする。ステータスレジスタは、また、中央処理装置に結合されている出力を含み、そのことにより、中央処理装置によってステータスレジスタが読み出され得る。
【0016】
この実施形態の変形例において、アドレス検出回路はデコーダを含む。この実施形態の他の変形例において、アドレス検出回路は比較器を含む。
【0017】
この実施形態の変形例において、コア論理演算装置が単一の半導体チップの内部に存在する。この実施形態のさらなる変形例において、コア論理演算装置が単一の半導体チップセットの内部に存在する。
【0018】
本発明の他の実施形態は、コンピュータシステム内の複数の周辺機器についてのステータス情報を管理する方法として特徴付けられ得る。この方法は、周辺機器で、周辺機器に関するステータス情報を受信するステップと、周辺機器から、コンピュータシステム内の中央処理装置に結合されているステータスレジスタと、通信チャネルを通じてステータス情報を通信するステップとを含む。この方法は、また、周辺機器から中央処理装置に割込みを送信するステップを含む。
【0019】
(発明の詳細な説明)
以下の説明は、当業者が本発明を作成し、用いることを可能にするために提示され、特定の適用例および要件のコンテキストにおいて提供される。開示された実施形態の様々な改良例は、当業者にとって明らかであり、本明細書中に記載される概略的な原理は、本発明の精神および範囲から逸脱することなしに、他の実施形態および適用例に適用され得る。従って、本発明は、ここで示した実施形態によって限定されるものではなく、本明細書中で開示された原理および特徴と一致する最も広い範囲に合致する。
【0020】
(本発明の第1の実施形態の概要)
図1に、プロセッサ100が、周辺機器110、120、および130にそれぞれ位置するステータスレジスタ112、122および132を読み出す、従来技術によるコンピュータシステムを示す。プロセッサ100は、コア論理演算装置103を通じてメモリ101およびバス105に結合されている。プロセッサ100は、バス105を通じて周辺機器110、120、および130にアクセスし得る。割込みに応答して、プロセッサ100は、周辺機器110、120および130のうちどれが処理を必要としているのかを判定するために、ステータスレジスタ112、122および132をポーリングする。このポーリングは、バス105を介する動作を複数必要とする。
【0021】
図2に、本発明の実施形態による、周辺機器のステータスを格納する、内部ステータスレジスタ102を有するプロセッサ100、または内部ステータスレジスタ107を有するコア論理演算装置103を含むコンピュータシステムを示す。図1に示したシステムと同様に、プロセッサ100は、コア論理演算装置103を通じてメモリ101およびバス105に結合されている。プロセッサ100は、バス105を通じて周辺機器110、120、および130にアクセスし得る。
【0022】
しかし、図2に示した実施形態は、多くの局面において、図1に示したシステムとは異なる。図2において、プロセッサ100は、割込み中、ステータスレジスタ102または107に照会して、周辺機器110、120、および130のステータスを判定する。これは、ステータスレジスタ102または107が、それぞれ、プロセッサ100およびコア論理演算器103の内部にあるので、非常に素早い動作である。プロセッサ100によるステータスレジスタ102または107への照会は、周辺機器110、120、および130のポーリングにおいてバス105を介するアクセスを必要としない。
【0023】
代わりに、周辺機器110、120、および130は、ステータスレジスタ102または107内のステータス情報をアップデートする責任がある。このアップデートは、周辺機器のステータスが変化する場合にのみ起こる必要がある。ステータスレジスタをアップデートするために、周辺機器110等の周辺機器は、バス105のアドレス空間内の指定されたメモリ位置に書き込む。この指定アドレス空間内には、実際にはメモリがない。代わりに、ステータスレジスタに取り付けられたロジックが、これらの指定位置への照会を中断し、これらの照会を用いてステータスレジスタを適切にアップデートして、示された周辺機器のステータスの変化を反映する。
【0024】
コア論理演算装置103内のステータスレジスタ107は、プロセッサ100内のステータスレジスタ102の代替的な実施形態であることに留意されたい。コア論理演算装置103内のステータスレジスタ107への照会は、プロセッサ100内のステータスレジスタ102への照会程速くない。しかし、ステータスレジスタ107を実現するために、プロセッサ100に対する特別な改良が必要になることはない。
【0025】
概して、プロセッサ100は、コンピュータシステム用の任意のタイプのコンピュータエンジンであり得る。これには、メインフレームプロセッサ、マイクロプロセッサ、およびマイクロコントローラが含まれるが、これらに限定されるわけではない。バス105は、プロセッサを、コンピュータシステム内の他のデバイス、例えば、周辺機器、メモリデバイス、および他のプロセッサに結合する任意のタイプの通信チャネルであり得る。これには、PCIバス等のバス、および共有メモリマルチプロセッサシステム内の複数のキャッシュ間のコヒーレンシーを保つ信号を含むバスが含まれるが、これらに限定されるわけではない。周辺機器110、120、および130は、コンピュータシステムに結合され得る、任意のタイプの周辺機器であり得る。これらには、ディスクドライブおよびテープドライブ等のデータ格納デバイス、キーボードまたはマウス等のデータ入力デバイス、映像ディスプレイまたは音声スピーカー等のデータ出力デバイス、ならびにネットワークインターフェースコントローラ等の通信デバイスが含まれるが、これらに限定されるわけではない。
【0026】
図3に、本発明の実施形態による、周辺機器のステータスを格納する、ステータスレジスタ102、302、および312を含む複数のプロセッサ、あるいはコア論理演算装置103内の単一のステータスレジスタ107を含むコンピュータシステムを示す。この実施形態において、プロセッサ100、300、および310は、それぞれ、キャッシュ103、303および313を含む。キャッシュ103、303および313は、それぞれ、プロセッサ100、300、および310によって用いられるように、メモリ320からのコードのコピーおよびデータを格納する。プロセッサ100、300、および310は、バス320に結合され、コア論理演算器103もバス320に結合される。コア論理演算器103は、バス320をメモリ101およびバス105に結合する。周辺機器110、120、および130は、バス105に結合されている。
【0027】
この実施形態において、バス320は、データ格納メモリ320間のコヒーレンシーを保つ信号、ならびにキャッシュ103、303および313に格納されるデータのコピーを含む。コヒーレンシーは、典型的には、エントリーに含まれるデータのコピーが他のキャッシュまたはメモリ320において修正される場合、キャッシュのエントリーを無効にすることによって維持される。プロセッサ100、300、および310は、バス320での信号のセットを「スヌープ(snoop)」または傍受(listen)するために「スヌープロジック」を用いて、ローカルプロセッサキャッシュのエントリーを無効にするかどうかを判定する。
【0028】
この実施形態において、プロセッサ100、300、および310は、さらに、周辺機器110、120、および130に関するステータス情報を格納するステータスレジスタ102、302および312をそれぞれ含む。この実施形態において、ステータスレジスタ102、302および312は、「スヌープロジック」によってモニタリングされる信号をモニタリングして、キャッシュエントリーを無効にすることによって動作する。ステータスレジスタをアップデートするために、周辺機器110等の周辺機器は、バス105のアドレス空間内の指定メモリ位置に書き込む。
【0029】
概して、メモリ101内の位置がアップデートされることによって、バス105での無効信号は、キャッシュ103、303、および313内に存在し得るメモリ位置に格納されたデータの任意のコピーを無効にする。この指定アドレス空間には実際にはメモリがないので、無効信号は、常にキャッシュミスの原因となり得る。ステータスレジスタに取り付けられたロジックは、これらの指定位置への照会を中断し、これらの照会を用いてステータスレジスタを適切にアップデートして、示された周辺機器のステータスの変化を反映させる。この処理は、図4〜11を参照しながら、以下でより詳細に説明される。
【0030】
(コンピュータシステムの説明)
図4に、本発明の実施形態による、処理システムの構造を示す。例示した実施形態において、CPU404は、ノースブリッジ408を通じてメモリ405およびバス430に結合されている。メモリ405は、コンピュータシステムにおいて用いられ得る任意のタイプの半導体メモリであり得る。バス430は、任意のタイプのコンピュータシステムバスであり得る。1つの実施形態において、バス430はPCIバスを含む。バス430は、ディスプレイ416へ出力されるグラフィック画像を処理するグラフィックスモジュール414に結合されている。バス430は、さらに、音声信号を生成するサウンドカード415に結合されている。サウンドカード415は、スピーカー417に結合され、サウンドカード415によって生成される音声信号は、スピーカー417を通じて出力される。
【0031】
例示した実施形態において、CPU404は、さらに、ノースブリッジ408を通じてサウスブリッジ410に結合されている。ノースブリッジ408およびサウスブリッジ410は、コンピュータシステム用の「コア論理演算」の一部分を形成する。このコア論理演算は、コンピュータシステム内の構成要素の動作を結びつけ、調整する。サウスブリッジ410は、任意のタイプの不揮発性格納デバイスを含み得るディスク406に結合されている。これには、磁気、光学、磁気光学、およびフラッシュメモリ格納デバイスが含まれるが、これらに限定されるわけではない。サウスブリッジ410は、また、任意のタイプのコンピュータシステムバスであり得るバス432に結合されている。1つの実施形態において、バス432は、ISAバスを含む。バス432は、CPU404が、バス432に結合されているBIOS ROM412およびモデム422と通信することを可能にする。モデム422は、任意のタイプのモデムであり得、コンピュータシステムはそのモデムを通じて電話回線を介して通信し得る。
【0032】
図4に、CPU404内のステータスレジスタ102、ならびにノースブリッジ408内のステータスレジスタ107を示す。他の実施形態において、ステータスレジスタ102は、CPU404またはノースブリッジ408内ではなく、コンピュータシステム内に独立型レジスタを含み得る。
【0033】
(ステータスレジスタの説明)
図5に、本発明の実施形態による、ステータスレジスタ107(またはステータスレジスタ102)の構造を示す。例示した実施形態において、ステータスレジスタ107(またはステータスレジスタ102)は、コンピュータシステム内の周辺機器についてのステータス情報を含む複数のビットを含む。これらのビットは、ステータスデバイス1 502、ステータスデバイス2 504、ステータスデバイス3 506、およびステータスデバイスN 508を含む。ステータスビットが設定される場合、これは、対応するデバイスがサービスを必要としていることを示す。本発明の他の実施形態において、ステータスレジスタ107(またはステータスレジスタ102)は、各デバイスについて1ビットより多いステータス情報を含む。これらのビットは、特定のデバイスがサービスを必要としているという単なる事実を越えて、各デバイスについてさらなるステータス情報を含む。例えば、ステータス情報は、デバイスが必要としているサービスのタイプを特定し得る。
【0034】
図6に、本発明の実施形態による、メモリマッピングによってどのようにステータスレジスタのアップデートが完了されるかを示す。この実施形態において、アドレス空間600は、図1のバス105のようなバスのアドレス線についてのアドレス空間である。アドレス空間600は、BIOS画像610をアドレス空間600の下の端部に含む。BIOS画像610は、低レベル動作システム機能を実現するコードを含む。アドレス空間600は、さらに、アドレス空間600の上の端部に物理的メモリ630を含む。物理的メモリ630は、プロセッサによってプログラムを実行するために用いられるコードおよびデータを含む。BIOS画像610と物理的メモリ630との間の、アドレス空間600のセクションは、ステータスレジスタ107(またはステータスレジスタ102)をアップデートするために指定される。これらのアドレス位置には実際にはメモリがない。しかし、これらの位置へのアクセスは、ステータスレジスタ107(またはステータスレジスタ102)のコンテンツをアップデートする。例えば、アドレス640へのアクセスは、デバイス1がサービスを必要としていることを示すように、デバイス1 502についてステータスビットを設定し、アドレス642へのアクセスは、デバイス1がサービスを必要としていないことを示すようにビット502をリセットする。同様に、アドレス644、648、および652へのアクセスが、それぞれ、ステータスビット504、506、および508を設定し、アドレス646、650、および654へのアクセスが同じステータスビットをリセットする。
【0035】
(ステータスレジスタ位置の説明)
図7に、本発明の実施形態による、プロセッサ100内の機能装置の一部を示す。例示した実施形態において、プロセッサ100は、計算動作を行う、整数のALU(演算論理装置)702および浮動小数点装置704を含む。プロセッサ100は、また、プロセッサ100内の機能装置の動作を調整し得るコントローラ706を含む。プロセッサ100内の複数の装置が、バス105に結合されている。これらは、計算動作中、プロセッサ100によって用いられる命令およびデータを含む、L1キャッシュ708を格納する。いくつかの実施形態において、L1キャッシュ708は、別個の命令およびデータキャッシュを含む。スヌープロジック710が、また、バス105に結合されている。スヌープロジック710は、「スヌープ」情報を含むバス105の信号を受信する。スヌープロジック710は、このスヌープ情報を用いて、L1キャッシュ708内のエントリーを無効にする。プロセッサ105は、さらに、プロセッサ105内の計算動作についてのデータ値を一時的に格納するレジスタ712を含む。レジスタ712は、さらに、図2のステータスレジスタ102を含む。
【0036】
図8に、本発明の実施形態による、ノースブリッジ408の内部構造の一部を示す。この実施形態において、ステータスレジスタ107は、ノースブリッジ408内のステータスレジスタ装置712にある。ノースブリッジ408は、さらに、データをCPU404と、メモリ405と、バス430との間で切り換えるスイッチ805を含む。この実施形態において、ステータスレジスタ装置712は、バス430のアクセスを受信して、アドレス620の指定された範囲へのアクセスを検出する。
【0037】
(ステータスレジスタの1つの実施形態の説明)
図9に、本発明の実施形態による、ステータスレジスタ装置712の内部構造の一部分を示す。この実施形態において、バス105からのアドレス線が、ステータスレジスタ装置712内のロジックによってモニタリングされて、指定されたアドレス620への照会が検出される。より具体的には、バス105からの高位アドレスビットがデコーダ900の入力に送られる。高位アドレスビット902が指定されたアドレス620のアドレスを特定する場合、デコーダ900は、デコーダ910のイネーブル入力に送られるレジスタヒット信号906を発生する。他の実施形態において、高位アドレスビット902は、同じアドレス検出機能を行う比較器回路に送られる。概して、任意の一般的に公知のアドレス検出回路部が用いられて、指定された範囲620内のアドレスが検出され得る。低位アドレスビット904がデコーダ910の入力に送られる。これらの低位アドレスビットが用いられて、デコーダ910の様々な出力が選択される。これらの出力は、ステータスレジスタ107(またはステータスレジスタ102)においてビットを、設定するか、またはリセットするかのいずれかである。例示した実施形態において、ステータスレジスタ107(またはステータスレジスタ102)の各ビットは、図9に示すように、環状に接続された2つのNANDゲートを含む双安定回路に格納される。NANDゲートの各対は、デコーダ910からの2つの入力を有する。上部の入力がローにアサートされる場合、ビットは設定され、下部の入力がローにアサートされる場合、ビットがリセットされる。例えば、アドレス640へのアクセスによって、デコーダ910の上部の出力がローにアサートされ、それによって、対応するビットが1つの値にアサートされる。対照的に、アドレス642へのアクセスによって、デコーダ910の次の下部の出力がローにアサートされて、同じビットをリセットする。最終的に、ステータス読み出し信号912がアサートされる場合、取り付けられたドライバが、アクティブにされて、ステータスレジスタ102、あるいはステータスレジスタ107(またはステータスレジスタ102)からビットを読み出す。この実施形態は、ステータスレジスタ107(またはステータスレジスタ102)の多数の可能な構造のうちの1つを例示する。概して、任意の他の一般的に公知のレジスタ構造が用いられ得る。
【0038】
(ステータスレジスタの動作の説明)
図10は、本発明の実施形態による、周辺機器がどのようにステータスレジスタ102(または107)をアップデートするかを示すフローチャートである。この実施形態において、周辺機器は、状態1000で開始し、状態1002に進む。状態1002において、周辺機器は、そのステータスの変化を検出する。このステータスの変化は、いくつかのサービスが必要であることを示し得る。例えば、データは、プロセッサ100にすぐに転送される状態であり得る。その後、周辺機器は、状態1004へと進む。状態1004において、周辺機器は、バス105でバスマスター動作を行って、デバイスがサービスを必要としていることを示すように、ステータスレジスタ102(または107)をアップデートする。その後、周辺機器は、状態1006に進む。状態1006において、周辺機器は、割込みを発生して、周辺機器がサービスを必要としていることをプロセッサ100に示す。その後、周辺機器は、状態1008、すなわち、終了状態に進む。
【0039】
図11は、本発明の実施形態による、プロセッサ100がどのようにステータスレジスタ102(または107)からの情報を用いて割込みサービスルーチンをトリガするかを示すフローチャートである。プロセッサ100は、状態1100で開始し、状態1102に進む。状態1102において、プロセッサ100は、バス105に結合されている周辺機器のうちの1つから割込みを受信する。その後、プロセッサ100は、プロセッサ100が割込みを処理するために状態を保存する、状態1104に進む。その後、プロセッサ100は、状態1106に進む。状態1106において、プロセッサ100は、割込みベクトルが示した位置からの割込み命令を取り出す。その後、プロセッサ100は、状態1108に進む。状態1108において、プロセッサ100は、ステータスレジスタ102(または107)のコンテンツを検査するために、ステータスレジスタ102(または107)をプロセッサレジスタにコピーする。その後、システムは、状態1110に進む。
【0040】
状態1110において、プロセッサ100は、ステータスレジスタ102(または107)のコンテンツに基づいて、各種の割込みサービスルーチン1112、1114、および1116に分岐している。この分岐は、実際には、ステータスレジスタ107をテストし、適切な条件付き分岐を行うために、複数の命令を必要とし得る。デバイス1が処理を必要としていることをステータスレジスタ102(または107)が示す場合、プロセッサ100は状態1112、すなわち、デバイス1にサービスを供給する割込みサービスルーチンの開始である状態に分岐する。この割込みサービスルーチンは、概して、図示しない多数の割込みサービス命令を含む。割込みサービスルーチンが完了した後、プロセッサ100は、状態1118、すなわち、終了状態に進む。デバイス2が処理を必要としていることをステータスレジスタ102(または107)が示す場合、プロセッサ100は状態1114、すなわち、デバイス2にサービスを供給する割込みサービスルーチンの開始である状態に分岐する。この割込みサービスルーチンが完了した後、プロセッサ100は、状態1118、すなわち、終了状態に進む。デバイスNが処理を必要としていることをステータスレジスタ102(または107)が示す場合、プロセッサ100は状態1116、すなわち、デバイスNにサービスを供給する割込みサービスルーチンの開始である状態に分岐する。この割込みサービスルーチンが完了した後、プロセッサ100は、状態1118、すなわち、終了状態に進む。
【0041】
本発明の1つの実施形態において、ステータスレジスタ102(または107)の特定のビットへの周辺機器のマッピングの処理、および特定の周辺機器への特定の割込みサービスルーチンの割り当ての処理は、システム初期化の間、初期化ルーチンとして行われる。本発明の1つの実施形態において、これらの機能を行うためのコードは、システム起動の間、読み出されるリードオンリーメモリ内に存在する。
【0042】
(定義)
(コア論理演算)−プロセッサをメモリおよび周辺バスにインターフェースさせ、他の機能を行うコンピュータシステム内の回路部。
【0043】
(スヌープバス)−信号を搬送して、複数のプロセッサを含むコンピュータシステム内の複数のキャッシュ間の一致性またはコヒーレンシーを維持するバス。
【0044】
前述の本発明の実施形態の説明は、例示および説明するためにのみ、提示されてきた。この説明は、全てを網羅するものではなく、本発明を開示されている形態に限定しない。当然、当業者にとって、多くの改良例および変形例が明らかである。
【図面の簡単な説明】
【図1】 図1は、プロセッサ100が、それぞれ、周辺機器110、120、および130に位置するステータスレジスタ112、122および132を読み出す、従来技術によるコンピュータシステムを示す図である。
【図2】 図2は、本発明の実施形態による、周辺機器のステータスを格納する、内部ステータスレジスタ102を有するプロセッサ100、または内部ステータスレジスタ107を有するコア論理演算装置103を含むコンピュータシステムを示す図である。
【図3】 図3は、本発明の実施形態による、周辺機器のステータスを格納する、ステータスレジスタ102、302、および312を含む複数のプロセッサ、あるいはコア論理演算装置103内の単一のステータスレジスタ107を含むコンピュータシステムを示す図である。
【図4】 図4は、本発明の実施形態による、処理システムの構造を示す図である。
【図5】 図5は、本発明の実施形態による、ステータスレジスタ102またはステータスレジスタ107の構造を示す図である。
【図6】 図6は、本発明の実施形態による、メモリマッピングによってどのようにステータスレジスタのアップデートが完了されるかを示す図である。
【図7】 図7は、本発明の実施形態による、プロセッサ100内の機能装置の一部を示す図である。
【図8】 図8は、本発明の実施形態による、ノースブリッジ408の内部構造の一部を示す図である。
【図9】 図9は、本発明の実施形態による、ステータスレジスタ装置712の内部構造の一部分を示す図である。
【図10】 図10は、本発明の実施形態による、周辺機器がどのようにステータスレジスタ102または107をアップデートするかを示すフローチャートである。
【図11】 図11は、本発明の実施形態による、プロセッサ100がどのようにステータスレジスタ102または107からの情報を用いて適切な割込みサービスルーチンをトリガするかを示すフローチャートである。

Claims (14)

  1. 周辺機器についてステータス情報を維持するコンピュータシステムであって、
    該コンピュータシステムは、
    中央処理装置と、
    該中央処理装置に結合されているバスと、
    該バスに結合されている複数の周辺機器と、
    該中央処理装置と通信可能なように該中央処理装置に結合されているステータスレジスタであって、該複数の周辺機器についてのステータス情報を格納するステータスレジスタと、
    少なくとも1つの周辺機器と該中央処理装置との間に結合されているデージーチェーン式割込み構造であって、該少なくとも1つの周辺機器から割込み信号を該中央処理装置に送信するデージーチェーン式割込み構造と、
    該バスと該ステータスレジスタとの間に結合されているアップデート回路であって、該複数の周辺機器から該バスを通じて受信されたステータス情報を含む信号に応答して該ステータスレジスタをアップデートする機構を含むアップデート回路と
    を備え、
    バスに結合されている複数の中央処理装置と、
    該複数の中央処理装置のうちのそれぞれの中央処理装置と該バスとの間に結合されている複数のステータスレジスタであって、該バスに結合されている少なくとも1つの周辺機器についてのステータス情報を含む複数のステータスレジスタと
    をさらに備える、コンピュータシステム。
  2. コンピュータシステムのインターフェース回路内の装置であって、該装置は、該コンピュータシステム内の周辺機器のステータスの変化を示すようにステータスレジスタをアップデートし、
    該装置は、
    バスのアドレス線に結合されている複数のアドレス入力と、
    該複数のアドレス入力内の高位ビットのセットに結合されているアドレス検出回路であって、該高位ビットのセットによって特定されるアドレスの指定された範囲内のアドレスを検出するアドレス検出回路と、
    該複数のアドレス入力内の低位ビットのセットに結合されているデコーダ回路であって、該アドレスの指定された範囲内の特定のアドレスへの照会を検出するデコーダ回路と
    を備え、
    該ステータスレジスタは、周辺機器による該アドレスの指定された範囲内の特定のアドレスへの照会が該デコーダ回路を通じて送られ、該ステータスレジスタ内の該周辺機器についてのステータス情報をアップデートするように、該デコーダ回路からの出力のセットに結合されており、該ステータスレジスタは、中央処理装置によって該ステータスレジスタが読み出され得るように、該中央処理装置に結合されている出力を含む、装置。
  3. 前記アドレス検出回路は、デコーダを含む、請求項に記載の装置。
  4. 前記アドレス検出回路は、比較器を含む、請求項に記載の装置。
  5. 前記インターフェース回路は、単一の半導体チップの内部に存在する、請求項に記載の装置。
  6. 前記インターフェース回路は、単一の半導体チップセットの内部に存在する、請求項に記載の装置。
  7. 前記バスは、プロセッサ−メモリバスを含む、請求項に記載の装置。
  8. 前記バスは、周辺バスを含む、請求項に記載の装置。
  9. コンピュータシステム内の複数の周辺機器についてのステータス情報を管理する方法であって、
    該方法は、
    通信チャネルを通じて、周辺機器からステータス情報を受信することと、
    該周辺機器からの該ステータス情報に応答してステータスレジスタをアップデートすることであって、該ステータスレジスタは、中央処理装置と通信可能なように該中央処理装置に結合されている、ことと、
    該中央処理装置で、該周辺装置から割込みを受信することと、
    該割込みに応答して、該ステータスレジスタをテストして、該複数の周辺機器のうちのどの周辺機器がサービスを必要としているかを判定することと、
    該サービスを必要としている周辺機器にサービスを供給することと
    を包含し、
    ステータスレジスタとコンピュータシステムの複数のキャッシュとの間のバスにおいて搬送される信号を通じて、該複数のキャッシュ間のコヒーレンシーが維持され、該バスは、通信チャネルと異なる、方法。
  10. コンピュータシステム内の複数の周辺機器についてのステータス情報を管理する方法であって、
    該方法は、
    周辺機器から、該コンピュータシステム内のステータスレジスタに、第1のバスを通じてステータス情報を通信することであって、該ステータスレジスタは、中央処理装置と通信可能なように該中央処理装置に結合されており、該ステータス情報は、指定されたアドレスのセット内の特定のアドレスへのアクセスを含み、該アクセスされる特定のアドレスは、該複数の周辺機器のうちの特定の1つの周辺機器についての特定のステータスを表す、ことと、
    該ステータスレジスタにおいて、該ステータス情報を受信することと、
    該周辺機器のステータスを示すように該ステータスレジスタをアップデートすることと、
    該周辺機器から、該中央処理装置に割込みを送信することと、
    該中央処理装置において、該割込みを受信することと、
    該割込みに応答して、該ステータスレジスタをテストして、該複数の周辺機器のうちのどの周辺機器がサービスを必要としているかを判定することと、
    該サービスを必要としている周辺機器にサービスを供給することと
    を包含する、方法。
  11. 前記ステータスレジスタと前記コンピュータシステムの複数のキャッシュとの間の第2のバスにおいて搬送される信号を通じて、該複数のキャッシュ間のコヒーレンシーが維持され、該第2のバスは、前記第1のバスと異なる、請求項10に記載の方法。
  12. 前記ステータス情報を受信することは、周辺機器からプロセッサ−メモリバスを通じてステータス情報を受信することを含む、請求項10に記載の方法。
  13. 前記周辺機器のステータスを示すようにステータスレジスタをアップデートすることは、該ステータスレジスタ内のビットを修正することを含む、請求項10に記載の方法。
  14. 前記周辺機器から割込みを受信することは、少なくとも1つの周辺機器と前記中央処理装置との間に結合されているデージーチェーン式割込み構造を通じて割込みを受信することを含む、請求項10に記載の方法。
JP2000565469A 1998-08-10 1998-12-29 周辺ステータスについての内部レジスタを有するプロセッサまたはコア論理演算装置 Expired - Fee Related JP4490585B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US09/131,447 US6219720B1 (en) 1998-08-10 1998-08-10 Core logic unit with internal register for peripheral status
US09/131,447 1998-08-10
US09/131,497 US6189049B1 (en) 1998-08-10 1998-08-10 Method for operating processor with internal register for peripheral status
US09/131,922 US6374320B1 (en) 1998-08-10 1998-08-10 Method for operating core logic unit with internal register for peripheral status
US09/131,446 1998-08-10
US09/131,497 1998-08-10
US09/131,446 US6233627B1 (en) 1998-08-10 1998-08-10 Processor with internal register for peripheral status
US09/131,922 1998-08-10
PCT/US1998/027784 WO2000010094A1 (en) 1998-08-10 1998-12-29 Processor or core logic unit with internal register for peripheral status

Publications (2)

Publication Number Publication Date
JP2002522846A JP2002522846A (ja) 2002-07-23
JP4490585B2 true JP4490585B2 (ja) 2010-06-30

Family

ID=27494909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000565469A Expired - Fee Related JP4490585B2 (ja) 1998-08-10 1998-12-29 周辺ステータスについての内部レジスタを有するプロセッサまたはコア論理演算装置

Country Status (8)

Country Link
EP (1) EP1119814B1 (ja)
JP (1) JP4490585B2 (ja)
KR (1) KR100453262B1 (ja)
AT (1) ATE239255T1 (ja)
AU (1) AU2020799A (ja)
DE (1) DE69814182T2 (ja)
TW (1) TW413776B (ja)
WO (1) WO2000010094A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10115885B4 (de) * 2001-03-30 2006-09-21 Infineon Technologies Ag Anordnung zur Priorisierung eines Interrupts
EP1359509A1 (de) * 2002-04-29 2003-11-05 Siemens Aktiengesellschaft Mehrprozessorsystem
US7610061B2 (en) * 2003-09-20 2009-10-27 Samsung Electronics Co., Ltd. Communication device and method having a common platform
US20060230226A1 (en) * 2005-04-12 2006-10-12 M-Systems Flash Disk Pioneers, Ltd. Hard disk drive with optional cache memory
JP5790043B2 (ja) * 2011-03-14 2015-10-07 株式会社リコー データ転送システム及びデータ転送方法
US9134767B2 (en) * 2013-08-07 2015-09-15 Chin-Hsing Horng Structure of planetary type dual-shaft hinge
GB2581719B (en) * 2017-11-17 2022-03-09 Mitsubishi Heavy Ind Mach Systems Ltd Information processing system and information processing method to be executed by information processing system
KR102487899B1 (ko) 2021-02-03 2023-01-12 효성티앤에스 주식회사 금융자동화기기의 호스트와 디바이스 간 통신 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6158037A (ja) * 1984-07-23 1986-03-25 Fujitsu Ltd サ−ビスプロセツサへの割り込み制御方式
US4768149A (en) * 1985-08-29 1988-08-30 International Business Machines Corporation System for managing a plurality of shared interrupt handlers in a linked-list data structure
JPH02230356A (ja) * 1989-03-02 1990-09-12 Nec Corp 情報処理装置のバス拡張装置
US5317707A (en) * 1989-10-20 1994-05-31 Texas Instruments Incorporated Expanded memory interface for supporting expanded, conventional or extended memory for communication between an application processor and an external processor
KR100240158B1 (ko) * 1990-05-18 2000-01-15 마이클 다고스티노 실시간 프로그램 가능 신호 처리기 아키텍쳐
US5463752A (en) * 1992-09-23 1995-10-31 International Business Machines Corporation Method and system for enhancing the efficiency of communication between multiple direct access storage devices and a storage system controller
US5678025A (en) * 1992-12-30 1997-10-14 Intel Corporation Cache coherency maintenance of non-cache supporting buses
EP0640929A3 (en) * 1993-08-30 1995-11-29 Advanced Micro Devices Inc Interprocessor communication via a post MEV.
US5548730A (en) * 1994-09-20 1996-08-20 Intel Corporation Intelligent bus bridge for input/output subsystems in a computer system
JPH0991152A (ja) * 1995-09-20 1997-04-04 Toshiba Corp コンピュータシステムおよびそのシステムで使用されるマルチファンクションデバイス
JPH1021182A (ja) * 1996-06-28 1998-01-23 Nec Eng Ltd 割り込み処理方式および制御装置
US5852743A (en) * 1996-07-12 1998-12-22 Twinhead International Corp. Method and apparatus for connecting a plug-and-play peripheral device to a computer

Also Published As

Publication number Publication date
KR100453262B1 (ko) 2004-10-15
ATE239255T1 (de) 2003-05-15
KR20010088787A (ko) 2001-09-28
EP1119814A4 (en) 2001-09-26
DE69814182D1 (de) 2003-06-05
TW413776B (en) 2000-12-01
DE69814182T2 (de) 2004-04-01
EP1119814A1 (en) 2001-08-01
WO2000010094A1 (en) 2000-02-24
EP1119814B1 (en) 2003-05-02
AU2020799A (en) 2000-03-06
JP2002522846A (ja) 2002-07-23

Similar Documents

Publication Publication Date Title
US6219720B1 (en) Core logic unit with internal register for peripheral status
US5551005A (en) Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches
US5524233A (en) Method and apparatus for controlling an external cache memory wherein the cache controller is responsive to an interagent communication for performing cache control operations
JP3431626B2 (ja) データ処理装置
US5802569A (en) Computer system having cache prefetching amount based on CPU request types
US5671231A (en) Method and apparatus for performing cache snoop testing on a cache system
US6442635B1 (en) Processor architecture for virtualizing selective external bus transactions
JPH0345407B2 (ja)
JPH0659976A (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
US5765022A (en) System for transferring data from a source device to a target device in which the address of data movement engine is determined
US9311243B2 (en) Emulated message signaled interrupts in multiprocessor systems
US6189049B1 (en) Method for operating processor with internal register for peripheral status
US6772326B2 (en) Interruptible and re-entrant cache clean range instruction
US6629187B1 (en) Cache memory controlled by system address properties
JP4490585B2 (ja) 周辺ステータスについての内部レジスタを有するプロセッサまたはコア論理演算装置
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
US6374320B1 (en) Method for operating core logic unit with internal register for peripheral status
JPS63193246A (ja) 集積キャッシュ・メモリと外部メモリの間の一貫性を保つ方法と装置
US7581042B2 (en) I/O hub resident cache line monitor and device register update
WO1997004392A1 (en) Shared cache memory device
US6233627B1 (en) Processor with internal register for peripheral status
JP3052460B2 (ja) 協調処理型情報処理装置
JP3145479B2 (ja) マルチプロセッサシステムとそのキャッシュメモリ制御方法および装置
JPH058459B2 (ja)
JPH0981458A (ja) データ処理システムにおけるキャッシュのアクセス方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100107

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100114

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: 20100312

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100402

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

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: 20130409

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees