JP2009238001A - コンピュータシステム - Google Patents

コンピュータシステム Download PDF

Info

Publication number
JP2009238001A
JP2009238001A JP2008084479A JP2008084479A JP2009238001A JP 2009238001 A JP2009238001 A JP 2009238001A JP 2008084479 A JP2008084479 A JP 2008084479A JP 2008084479 A JP2008084479 A JP 2008084479A JP 2009238001 A JP2009238001 A JP 2009238001A
Authority
JP
Japan
Prior art keywords
processor
polling
bus
unit
data
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.)
Pending
Application number
JP2008084479A
Other languages
English (en)
Inventor
Masateru Kato
正輝 加藤
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.)
Texas Instruments Japan Ltd
Original Assignee
Texas Instruments Japan Ltd
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 Texas Instruments Japan Ltd filed Critical Texas Instruments Japan Ltd
Priority to JP2008084479A priority Critical patent/JP2009238001A/ja
Priority to US12/409,677 priority patent/US8364876B2/en
Publication of JP2009238001A publication Critical patent/JP2009238001A/ja
Pending legal-status Critical Current

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

【課題】プロセッサの処理負担を増大させずにポーリングを実現できるコンピュータシステムを提供する。
【解決手段】ポーリング部20によってアドレス空間の所定のアドレスから所定の周期でデータRDが読み出される。そして、読み出されたデータRDが所定の条件を満たすとき、ポーリング部20においてプロセッサ10に対する割り込み信号INT−POLが発生する。これにより、プロセッサ10はファームウェアによるポーリングを行う代わりにハードウェアによる割り込みを受け付ければよいので、プロセッサ10の処理負担を大幅に削減できる。
【選択図】図1

Description

本発明は、プロセッサを備えたコンピュータシステムに係り、特にポーリングによるプロセッサの負荷の低減を図ったコンピュータシステムに関するものである。
所定の状態変化に応じて条件分岐処理を行うファームウェアの手法の一つに、ポーリングがある(例えば特許文献1を参照)。一般にポーリングにおいては、メモリ空間にマッピングされたレジスタの内容をプロセッサが周期的に監視し、これがある条件に達した場合に特定の条件分岐処理を実行する。
特開平07−264217号公報
ポーリングでは、ファームウェアによってレジスタの内容を周期的に読み出さなければならないため、プロセッサの処理負担が重いという不利益がある。また、条件分岐処理への移行は頻繁に発生しないので、周期的に行われる読み出しアクセスの大半は処理の流れに影響しない無駄なアクセスであり、処理効率の低下を招くという不利益がある。そのため、一般にポーリングは避けるべき手法と考えられている。
しかしながら、現実的な問題として、ペリフェラル装置が期待された割り込み処理を怠っている場合や、しかるべきハードウェアが実装されていない場合など、予期しない不具合が発生した場合にファームウェアでのポーリングが必要になることが少なくない。
本発明はかかる事情に鑑みてなされたものであり、その目的は、プロセッサの処理負担を増大させずにポーリングを実現できるコンピュータシステムを提供することにある。
本発明に係る第1のコンピュータシステムは、プロセッサと、上記プロセッサがアクセス可能なアドレス空間の所定のアドレスから所定の周期でデータを読み出し、当該読み出したデータが所定の条件を満たすとき、上記プロセッサに対する割り込み信号を発生するポーリング部とを有する。上記ポーリング部は、上記アドレス空間において割り当てられたアドレスを持ち、上記所定のアドレス、上記所定の周期及び上記所定の条件の少なくとも1つを設定するためのデータを格納するレジスタを有する。
上記コンピュータシステムによれば、上記ポーリング部によって上記アドレス空間の所定のアドレスから所定の周期でデータが読み出される。そして、当該読み出されたデータが所定の条件を満たすとき、上記ポーリング部において上記プロセッサに対する割り込み信号が発生する。そのため、上記プロセッサはポーリングを行う代わりに割り込みを受け付ければよいので、処理の負担が小さい。また、上記ポーリング部の上記レジスタには上記アドレス空間におけるアドレスが割り当てられていることから、上記レジスタは上記プロセッサによってアクセス可能である。したがって、ポーリング対象のアドレスや、ポーリングの周期、上記割り込み信号を発生する条件など、ポーリングの動作条件は上記プロセッサによって柔軟に設定される。
なお、上記割り込み信号を発生する条件としては、例えば、上記所定のアドレスから読み出されたデータが所定の値を持つ場合や、当該データが所定の値より大きい場合若しくは当該所定の値より小さい場合、当該データが所定の範囲にある場合若しくは当該所定の範囲にない場合など、データの値に関する条件が設定されてよい。また、このデータ値に関する条件が、連続して若しくは累積的に所定の回数だけ成立した場合を、上記割り込み信号の発生条件としてもよい。
好適に、上記コンピュータシステムは、上記プロセッサと上記ポーリング部とが上記アドレス空間へのアクセスにおいて共用するバスと、上記プロセッサによる上記バスの使用要求と上記ポーリング部による上記バスの使用要求とが重なった場合、上記プロセッサによる上記使用要求を優先するバス制御部とを有する。
上記の構成によれば、上記プロセッサによる上記バスの使用要求と上記ポーリング部による上記バスの使用要求とが重なった場合、上記プロセッサによる上記使用要求が優先されるため、ポーリングに起因する上記プロセッサの処理速度の低下が抑制される。
また好適に、上記コンピュータシステムは、少なくとも1つの第1周辺装置と、上記第1周辺装置より高速なアクセスを要求される少なくとも1つの第2周辺装置とを有し、上記バス制御部は、上記プロセッサから入力されるバス信号を上記第1周辺装置へのバス信号と上記第2周辺装置へのバス信号とに分離する分離部と、上記分離部において分離された上記第1周辺装置へのバス信号又は上記ポーリング部から入力されるバス信号の一方を選択して上記第1周辺装置に出力する選択部とを含む。
上記の構成によれば、上記第2周辺装置へのバス信号の経路に上記選択部が設けられていないことから、上記第2周辺装置のアクセス速度の低下が抑えられる。
また、上記コンピュータシステムは、上記プロセッサが上記アドレス空間へのアクセスに使用する第1バスと、上記ポーリング部が上記アドレス空間の少なくとも一部へのアクセスに使用する第2バスとを有してもよい。
上記の構成によれば、上記プロセッサと上記ポーリング部とがそれぞれ独立のバスを使用するため、ポーリングに起因する上記プロセッサの処理速度の低下が抑制される。
あるいは、上記コンピュータシステムは、上記プロセッサ及び上記ポーリング部を含んだ複数の機能ユニットと、上記複数の機能ユニット同士を相互に接続するクロスバースイッチとを有してもよい。
上記の構成によれば、上記クロスバースイッチによって上記複数の機能ユニット同士が相互に接続されるため、ポーリングに起因する上記プロセッサの処理速度の低下が抑制される。
また、本発明に係る第2のコンピュータシステムは、所定のアドレス空間に対してアクセス可能なプロセッサと、上記アドレス空間内の特定のアドレスの記憶領域に対して周期的にアクセスし、上記記憶領域に格納されているデータが所定のデータと一致した場合に、上記プロセッサに対して割り込み信号を供給するポーリング回路と、上記プロセッサによる上記アドレス空間に対するアクセスと、上記ポーリング回路による上記アドレス空間に対するアクセスとの調停を行なうアクセス制御回路とを有し、上記アクセス制御回路が、上記プロセッサのアクセスと上記ポーリング回路のアクセスとが衝突した際に、上記プロセッサのアクセスを優先する。
好適には、上記コンピュータシステムは、上記ポーリング回路が、上記特定のアドレスを保持する第1の記憶回路と、上記所定のデータを保持する第2の記憶回路と、上記記憶領域から読み出されたデータと上記第2の記憶回路に保持されたデータとを比較する比較回路とを含み、上記第1及び第2の記憶回路が上記プロセッサのアドレス空間内に割り当てられており、上記プロセッサが上記第1及び第2の記憶回路内の情報を書き替え可能である。
更に好適には、上記コンピュータシステムは、上記プロセッサのアドレス空間内に割り当てられ、上記プロセッサからアクセスされる周辺装置を更に有し、上記アクセス制御回路が、上記プロセッサの上記周辺装置に対するイネーブル信号の供給と上記ポーリング回路の上記周辺装置に対するイネーブル信号の供給とを監視することにより、上記プロセッサのアクセスと上記ポーリング回路のアクセスとを調停する。
本発明によれば、プロセッサの代わりにポーリング部がポーリングを行い、プロセッサはポーリング部からの割り込みを受け付ければよいので、プロセッサの処理負担を増大させずにポーリングを実現できる。
以下、図面を参照して、本発明に係るコンピュータシステムを説明する。
図1は、本発明の第1の実施形態に係るコンピュータシステムの構成の一例を示す図である。図1に示すコンピュータシステムは、プロセッサ10と、ポーリング部20と、バスコントローラ30と、割り込み制御部40と、バスB1と、周辺装置50−1〜50−nと、論理回路31〜33と、選択回路34を有する。
プロセッサ10は、本発明のプロセッサの一実施形態である。
ポーリング部20は、本発明のポーリング部の一実施形態である。
バスコントローラ30及び論理回路31〜33、選択回路34を含む回路は、本発明のバス制御部の一実施形態である。
バスB1は、本発明のバスの一実施形態である。
プロセッサ10は、命令コードを取得してこれに応じた演算や制御を実行する回路であり、バスB1を介して周辺装置50−1〜50−nにアクセスする。図1の例において、周辺装置50−1は内部メモリであり、プロセッサ10はこの内部メモリ50−1に格納されている命令コードを順次に取得してこれを解釈し、命令を実行する。
バスコントローラ30は、バスB1における信号の伝達を制御する回路であり、プロセッサ10と複数の周辺装置(50−1〜50−n)との間におけるデータ転送タイミングの制御や、複数のアクセス要求の調停などを行う。
割り込み制御部40は、割り込みの発生をプロセッサ10に通知するための回路であり、複数のハードウェアで発生する割り込み信号(INT1〜INTm,INT−POL)を適切な順序とタイミングでプロセッサ10に伝える。
周辺装置50−1〜50−nは、プロセッサ10の制御のもとに種々の機能を果たす回路であり、例えば内部メモリや外部メモリのコントローラ、外部汎用バスのコントローラなどが含まれる。
ポーリング部20は、プロセッサ10が設定した動作条件に従ってポーリングを行う回路であり、ポーリングによって周辺装置の所定の状態が検知されると、プロセッサ10に対する割り込み信号INT−POLを発生する。すなわち、ポーリング部20は、プロセッサ10がアクセス可能なアドレス空間の所定のアドレスから所定の周期でデータRDを読み出し、この読み出しデータRDが所定の条件を満たすとき、プロセッサ10に対する割り込み信号INT−POLを発生する。
図2は、ポーリング部20の構成の一例を示す図である。
図2に示すポーリング部20は、設定レジスタ201と、カウンタ202と、判定部203を有する。
設定レジスタ201は、ポーリングの動作条件に関する設定データRsetを記憶する。設定データRsetには、例えば、ポーリング対象のアドレスのデータA−POL、ポーリング周期データScnt、ポーリング対象のアドレスに格納されるデータの期待値Sdat、期待値Sdatと読み出しデータRDとを照合する際に使用するマスクデータSmskなどが含まれる。
設定レジスタ201は、プロセッサ10がアクセス可能なアドレス空間においてアドレスを割り当てられている。プロセッサ10は、バスB1を介して設定レジスタ201にアクセスし、上述した設定データRsetを設定レジスタ201に書き込む。
カウンタ202は、設定レジスタ201に格納されるポーリング周期データScntに応じた一定の周期で、ポーリングの実施を示す値「1」のイネーブル信号ENを出力する。
判定部203は、ポーリング対象のアドレス(A−POL)から読み出されたデータRDが所定の条件を満たすか否かを判定し、その判定結果に応じて割り込み信号INT−POLを出力する。例えば、判定部203は、ポーリング対象のアドレス(A−POL)から読み出されたデータRDが期待値Sdatと一致しているか否か判定し、両者が一致する場合に割り込み信号INT−POLを出力する。
また判定部203は、読み出しデータRDの全ビットのうち、マスクデータSmskにより設定された一部のビットについては、所定の条件を満たすか否かの判定において無視する。例えば判定部203は、読み出しデータRDの一部のビットをマスクデータSmskに応じて強制的に所定の値(「1」又は「0」)にセットすることで、当該一部のビットが条件判定の結果に影響を与えないようにする。
判定部203は、例えば図2に示すように、論理回路204〜206を有する。
論理回路204は、マスクデータSmskに応じて読み出しデータRDの一部のビットをマスクする。すなわち論理回路204は、マスクデータSmsk及び読み出しデータRDの対応するビット同士の論理積又は論理和を演算することにより、読み出しデータRDの一部のビットを強制的に「0」若しくは「1」にセットする。
論理回路205は、設定レジスタ201に格納される期待値Sdatと論理回路204によりマスク処理された読み出しデータRDとを比較し、両者が一致する場合に「1」を出力する。
論理回路206は、論理回路205の出力信号とバリッド信号VALとの論理積を演算し、演算結果を割り込み信号INT−POLとして出力する。
以上がポーリング部20の説明である。
図1に戻る。
論理回路31〜33及び選択回路34は、プロセッサ10とポーリング部20とが共通のバスB1を使用するために両者のバス信号の切替えやアクセスの調停を行う回路である。論理回路31〜33及び選択回路34は、プロセッサ10によるバスB1の使用要求とポーリング部20によるバスB1の使用要求とが重なった場合、プロセッサ10による使用要求を優先させる。
論理回路31は、プロセッサ10からバスコントローラ30へ出力されるチップセレクト信号CSに、ポーリング部20のイネーブル信号ENを合成する。すなわち論理回路31は、チップセレクト信号CSとイネーブル信号ENとの論理和をバスコントローラ30に出力する。
論理回路32は、ポーリングが有効か否かを示すバリッド信号VALを出力する回路であり、イネーブル信号ENが「1」でチップセレクト信号CSが「0」の場合に「1」を出力し、他の場合に「0」を出力する。すなわち論理回路32は、チップセレクト信号CSが非アクティブ(「0」)の場合、イネーブル信号ENをそのままバリッド信号VALとして出力し、チップセレクト信号CSがアクティブ(「1」)の場合は、イネーブル信号ENの値に係らずバリッド信号VALを「0」にする。
論理回路33は、プロセッサ10からバスコントローラ30へ出力されるリードイネーブル信号RENに、上述のバリッド信号VALを合成する。すなわち論理回路33は、リードイネーブル信号RENとバリッド信号VALとの論理和をバスコントローラ30に出力する。
選択回路34は、プロセッサ10のアドレスデータA−CPU又はポーリング部20のアドレスデータA−POLの一方を選択し、バスコントローラ30に出力する。選択回路34は、バリッド信号VALが「0」の場合アドレスデータA−CPUを選択し、バリッド信号VALが「1」の場合アドレスデータA−POLを選択する。
ここで、上述した構成を有する図1に示すコンピュータシステムの動作を説明する。
例えば起動時の初期化の際などにおいて、プロセッサ10は、バスB1上の各装置の設定レジスタに設定データを書き込む。これにより、ポーリング部20の設定レジスタ201には、ポーリング対象のアドレスデータA−POL、ポーリング周期データScnt、期待値Sdat、マスクデータSmskがそれぞれ格納される。
ポーリング部20は、ポーリング周期データScntに応じた一定の周期で、イネーブル信号ENの値を「1」にする。
イネーブル信号ENが「1」のとき、プロセッサ10のチップセレクト信号CSが「0」であれば(すなわちプロセッサ10がバスB1にアクセス中でなければ)、論理回路32において出力されるバリッド信号VALがアクティブ(「1」)になり、ポーリングが有効になる。この場合、論理回路33において出力される信号が「1」になり、バスコントローラ30に対してデータの読み出しが可能である旨が通知される。また、選択回路34はポーリング部20のアドレスデータA−POLを選択し、バスコントローラ30に出力する。バスコントローラ30は、バスB1を介してアドレスデータA−POLにより指定されたアドレスにアクセスし、該当するレジスタ若しくは内部メモリ領域からデータを読み出す。ポーリング部20は、ポーリング対象のアドレスから読み出されたデータRDにマスクデータSmskのマスク処理を施し、そのマスク処理後のデータと期待値Sdatとを比較する。両者が一致している場合、ポーリング部20は割り込み信号INT−POLをアクティブ(「1」)にして、ポーリング部20による割り込みの発生を割り込み制御部40に通知する。通知を受けた割り込み制御部40は、その時点における他の割り込み(INT1〜INTm)の発生状況などに応じた適切なタイミングで、ポーリング部20からの割り込みの発生をプロセッサ10に通知する。プロセッサ10は、割り込み発生の通知を受けると、割り込みの内容に応じた処理ルーチンに移行する。
他方、イネーブル信号ENが「1」のときにプロセッサ10のチップセレクト信号CSが「1」であれば(すなわちプロセッサ10がバスB1にアクセス中であれば)、論理回路32において出力されるバリッド信号VALが非アクティブ(「0」)になり、ポーリングが無効になる。この場合、選択回路34はポーリング部20のアドレスデータA−POLを選択するため、プロセッサ10によるバスB1へのアクセスが優先される。また、バリッド信号VALが非アクティブの場合、ポーリング部20からの割り込み信号INT−POLの出力が抑止される。
以上説明したように、本実施形態に係るコンピュータシステムによれば、ポーリング部20によってアドレス空間の所定のアドレスから所定の周期でデータRDが読み出される。そして、読み出されたデータRDが所定の条件を満たすとき、ポーリング部20においてプロセッサ10に対する割り込み信号INT−POLが発生する。
これにより、プロセッサ10はファームウェアによるポーリングを行う代わりにハードウェアによる割り込みを受け付ければよいので、プロセッサ10の処理負担を大幅に削減できる。
また、ポーリング部20の設定レジスタ201にはプロセッサ10のアドレス空間におけるアドレスが割り当てられているため、プロセッサ10は設定レジスタ201にアクセス可能である。これにより、ポーリング対象のアドレスのデータA−POLや、ポーリング周期のデータScnt、ポーリングによって読み出されるデータの期待値Sdatなどをプロセッサ10によって自由に設定可能であり、ポーリング動作に係る種々の条件を柔軟に変更できる。
更に、ポーリング部20はプロセッサ10から読み出し可能なレジスタにアクセスすることから、プロセッサ10と同じクロック信号で動作させることが可能であり、特別な非同期転送回路などを設ける必要がなく、比較的簡易な構成でよい。
また、ポーリング部20の構成が簡易であり、定常的な消費電力が小さいことから、プロセッサ10においてファームウェアによるポーリングを行う場合に比べて全体の消費電力を削減できる。
しかも、本実施形態に係るコンピュータシステムでは、プロセッサ10によるバスB1の使用要求とポーリング部20によるバスB1の使用要求とが重なった場合、プロセッサ10による使用要求が優先されるため、ポーリングに起因するプロセッサ10の処理速度の低下を抑制できる。
次に、本発明の第2の実施形態について説明する。
図1に示すコンピュータシステムでは、プロセッサ10のアクセス対象のアドレス空間全てがポーリングの対象となっており、内部メモリ50−1もポーリング対象に含まれている。そのため、内部メモリ50−1にアクセスするバス信号(アドレスデータ、制御信号等)の経路の途中に論理回路31〜33、選択回路34が設けられている。しかしながら、通常、プロセッサと内部メモリとの間の信号経路はクリティカル・パスとなるため、この経路に信号遅延の一因となる回路を設けると全体のパフォーマンスに影響を与える場合がある。本実施形態に係るコンピュータシステムは、内部メモリ等の比較的高速な周辺装置のバス信号経路における信号遅延を低減する。
図3は、第2の実施形態に係るコンピュータシステムの構成の一例を示す図である。図3に示すコンピュータシステムは、図1に示すコンピュータシステムにおけるバスコントローラ30をバスコントローラ30Aに置換して論理回路31〜33、選択回路34を省略したものであり、他の構成要素は図1に示すコンピュータシステムと同様である。
パスコントローラ30Aは、先に説明したバスコントローラ30と同様に、バスB1における信号の伝達を制御する回路であり、バスコントローラ30との相違点は、プロセッサ10及びポーリング部20のバス信号の切替えや両者のアクセス調停を行うための回路を内部に組み込んでいることにある。
図3に示すパスコントローラ30Aは、バス信号の切替えに係る回路として、分離部301及び302と選択部303とを有する。分離部301は、プロセッサ10から入力されるバス信号を内部メモリ50−1へのバス信号と他の周辺装置(50−2〜50−n)へのバス信号とに分離する。選択部303は、分離部301において分離された他の周辺装置(50−2〜50−n)へのバス信号又はポーリング部20から入力されるバス信号の一方を選択する。分離部302は、選択部303において選択されたバス信号を更に分離し、分離したバス信号をそれぞれ対応する周辺装置に出力する。
図3に示すコンピュータシステムによれば、比較的高速なアクセスを要求される内部メモリ50−1へのバス信号が分離部301において分離され、その後段において選択部303によるバス信号の選択が行われる。そのため、図1における論理回路31〜33、選択回路34のような遅延要素を内部メモリ50−1へのバス信号経路から排除できる。これにより、内部メモリ50−1へのアクセスのタイミングを犠牲にすることなくポーリングを行うことができる。
次に、本発明の第3の実施形態について説明する。
図4は、第3の実施形態に係るコンピュータシステムの構成の一例を示す図である。図4に示すコンピュータシステムにおいては、図1に示すコンピュータシステムにおける論理回路31〜33、選択回路34が省略され、その代わりに、ポーリング専用のバスコントローラ30−2とポーリング専用のバスB2が設けられている。また、図4に示すコンピュータシステムにおいては、各周辺装置(50−1〜50−n)にポーリング専用のレジスタ読み出し回路が設けられている。図4に示すコンピュータシステムの他の構成要素は、図1に示すコンピュータシステムと同様である。
バスコントローラ30−2は、バスB2における信号の伝達を制御する回路であり、ポーリング部20と複数の周辺装置(50−1〜50−n)との間におけるデータ読み出しタイミングの制御などを行う。
各周辺装置(50−1〜50−n)は、バスB1を介してレジスタのデータを読み出すための回路と、バスB2を介してレジスタのデータを読み出すための回路とをそれぞれ備える。
このように、プロセッサ10のバスB1とは独立したポーリング専用のバスB2を設けることによって、図1における論理回路31〜33,選択回路34のようなバス信号の切替え回路が不要になる。また、プロセッサ10とポーリング部20とが並行して周辺装置(50−1〜50−n)にアクセスできるため、プロセッサ10のバス帯域幅がポーリングのために犠牲にされることがなくなり、処理速度の向上に貢献できる。
次に、本発明の第4の実施形態について説明する。第4の実施形態に係るコンピュータシステムは、クロスバースイッチを用いて各機能ユニットを相互に接続する。
図5は、第4の実施形態に係るコンピュータシステムの構成の一例を示す図であり、図1と図5の同一符号は同一の構成要素を示す。図5に示すコンピュータシステムは、プロセッサ10と、サブプロセッサ10−2と、バスマスタ10−3と、ポーリング部20と、割り込み制御部40と、周辺装置50−1〜50−nと、クロスバースイッチ60を有する。
サブプロセッサ10−2は、命令コードに応じた演算や制御を実行する回路であり、プロセッサ10とは独立に処理を行う。
バスマスタ10−3は、周辺装置(50−1〜50−n)の間でプロセッサ(10,10−2)を介さずにデータを転送するための制御を行う。
クロスバースイッチ60は、複数の機能ユニット(プロセッサ10、サブプロセッサ10−2、バスマスタ10−3、ポーリング部20、周辺装置50−1〜50−n)をそれぞれ相互に接続する。クロスバースイッチ60は、例えば、格子状に交錯する複数の信号線と、その各交点に設けられた複数のスイッチを有しており、交点のスイッチを制御することによって、各信号線に接続された機能ユニット同士を相互に接続する。クロスバースイッチ60は、複数の機能ユニットにおいて同時に複数組の一対一通信を行わせる可能であり、また、一の機能ユニットに対して複数の機能ユニットが同時にアクセスすることがないようにスイッチの制御を行う。
このようなクロスバースイッチ60を用いれば、例えばプロセッサ10による内部メモリ50−1へのアクセスとポーリング部20による周辺装置50−2へのアクセスとを同時に行うなど、プロセッサ10のバス帯域幅を犠牲にすることなくポーリングを行うことができるため、プロセッサの処理速度の低減を抑制できる。また、図1における論理回路31〜33、選択回路34のように特別な調停回路を設ける必要がなく、ポーリング部20を機能ユニットの1つとして追加すればよいため、本実施形態はクロスバースイッチを用いた既存のコンピュータシステムへ容易に適用できる。
次に、本発明の第5の実施形態について説明する。
第5の実施形態に係るコンピュータシステムは、複数のアドレスをポーリング可能なポーリング部を備える。
図6は、第5の実施形態に係るコンピュータシステムにおけるポーリング部の一例を示す図である。本実施形態に係るコンピュータシステムは、例えば第1〜第4の実施形態に係るコンピュータシステム(図1,図3,図4,図5)におけるポーリング部20を図6に示すポーリング部20Aに置換したものであり、他の構成要素はこれらのコンピュータシステムと同じである。
図6に示すポーリング部20Aは、設定レジスタ201Aと、カウンタ202と、判定部203と、アドレス選択部204とを有する。カウンタ202及び判定部203は、図2における同一符号の構成要素と同じである。
設定レジスタ201Aは、図2における設定レジスタ201と同様に、ポーリングの動作条件に関する設定データRsetを記憶する回路であり、設定レジスタ201との違いは、複数のポーリング対象のアドレスデータA−POL−1〜A−PLO−q(qは2以上の整数を示す)を記憶できる点にある。
アドレス選択部204は、設定レジスタ201Aに設定された複数のアドレスから、順番に一のポーリング対象のアドレスを選択する。例えば、ポーリング周期データScntに応じた一定の周期で、複数のアドレスデータ(A−POL−1〜A−POL−q)を順番に選択し、選択したアドレスデータをポーリング対象のアドレスデータA−POLとして出力する。
アドレス選択部204は、例えば、カウンタ202から出力されるイネーブル信号ENのパルスを更に計数するカウンタと、このカウンタの計数値に応じて複数のアドレスデータ(A−POL−1〜A−POL−q)から一のアドレスデータを選択するセレクタを有する。カウンタは、例えば「0」から「q−1」までのq個の計数値を巡回的に出力し、セレクタは、それぞれの計数値に対応するアドレスデータを選択して出力する。
本実施形態によれば、ポーリング部20Aにおいて複数のアドレスを設定し、その各アドレスを一定の周期で順次にポーリングすることができるため、同様なポーリング動作を複数のポーリング部により実現する場合に比べて構成を簡易化できる。また、アドレス選択部204において複数のアドレスデータ(A−POL−1〜A−POL−q)を順に選択できるため、複数のポーリング対象を所望の順番で巡回的にポーリングすることができる。
次に、第5の実施形態の変形例について、図7を参照して説明する。
図7は、第5の実施形態に係るコンピュータシステムにおけるポーリング部の一変形例を示す図である。図7に示すポーリング部20Bは、図6に示すポーリング部20Aに状態レジスタ201Bを設けたものであり、他の構成については図6に示すポーリング部20Aと同じである。
状態レジスタ201Bは、プロセッサ10に対する割り込み信号INT−POLが発生した場合に、その割り込み信号INT−POLの発生要因となったポーリング対象アドレスを示すデータを格納する。例えば状態レジスタ201Bは、割り込み信号INT−POLがアクティブ(「1」)の場合に、アドレス選択部204のセレクタにおいてアドレスデータの選択を制御するための信号SEL(例えばアドレス選択部204に含まれる上述したカウンタの計数値)を格納する。
状態レジスタ201Bは、プロセッサ10がアクセス可能なアドレス空間において割り当てられたアドレスを有する。そのため、プロセッサ10は、状態レジスタ201Bにアクセスしてその内容を読み出すことができる。
このように、プロセッサ10からアクセス可能な状態レジスタ201Bを設けて、割り込みの発生要因となったポーリング対象アドレスに関するデータをこの状態レジスタ201Bに格納することにより、プロセッサ10は、割り込みの発生要因となったポーリング対象を把握できるようになる。したがって、プロセッサ10は、ポーリング対象ごとに異なる処理を実行することができる。
以上、本発明の幾つかの実施形態について説明したが、本発明は上述した実施形態のみに限定されるものではなく、種々のバリエーションを含んでいる。
上述した実施形態において、判定部203は、アドレスA−POLからの読み出しデータRDが所定の値に一致するか否かを判定しているが、本発明はこの例に限定されない。例えば判定部203は、読み出しデータRDが所定の値より大きいか若しくは小さいか、所定の範囲に含まれるか否かなど、読み出しデータの値に関する条件を判定してよい。また、判定部203は、この読み出しデータRDの値に関する条件が、連続して若しくは累積的に所定の回数だけ成立した場合を、割り込み信号INT−POLの発生条件としてもよい。
上述した実施形態では、プロセッサ10とポーリング部20との間でバスアクセスが重なった場合にポーリングを無効にしているが、本発明はこれに限定されない。例えば、両者のバスアクセスが重なった場合、ポーリング動作を待ち状態にしてプロセッサ10のアクセスを優先させ、プロセッサ10のアクセスが終了した後で待ち状態のポーリングを再開させるようにしてもよい。
第1の実施形態に係るコンピュータシステムの構成の一例を示す図である。 ポーリング部の構成の一例を示す図である。 第2の実施形態に係るコンピュータシステムの構成の一例を示す図である。 第3の実施形態に係るコンピュータシステムの構成の一例を示す図である。 第4の実施形態に係るコンピュータシステムの構成の一例を示す図である。 第5の実施形態に係るコンピュータシステムにおけるポーリング部の一例を示す図である。 第5の実施形態に係るコンピュータシステムにおけるポーリング部の一変形例を示す図である。
符号の説明
10…プロセッサ、20,20A,20B…ポーリング部、201,201A…設定レジスタ、201B…状態レジスタ、202…カウンタ、203…判定部、204…アドレス選択部、30,30−2…バスコントローラ、301,302…分離部、303…選択部、40…割り込み制御部、50−1〜50−n…周辺装置、50−1…内部メモリ、60…クロスバースイッチ、B1,B2…バス


Claims (8)

  1. プロセッサと、
    上記プロセッサがアクセス可能なアドレス空間の所定のアドレスから所定の周期でデータを読み出し、当該読み出したデータが所定の条件を満たすとき、上記プロセッサに対する割り込み信号を発生するポーリング部と、
    を有し、
    上記ポーリング部は、上記アドレス空間において割り当てられたアドレスを持ち、上記所定のアドレス、上記所定の周期及び上記所定の条件の少なくとも1つを設定するためのデータを格納するレジスタを有する、
    コンピュータシステム。
  2. 上記プロセッサと上記ポーリング部とが上記アドレス空間へのアクセスにおいて共用するバスと、
    上記プロセッサによる上記バスの使用要求と上記ポーリング部による上記バスの使用要求とが重なった場合、上記プロセッサによる上記使用要求を優先するバス制御部と、
    を更に有する
    請求項1に記載のコンピュータシステム。
  3. 少なくとも1つの第1周辺装置と、
    上記第1周辺装置より高速なアクセスを要求される少なくとも1つの第2周辺装置と、
    を有し、
    上記バス制御部は、
    上記プロセッサから入力されるバス信号を上記第1周辺装置へのバス信号と上記第2周辺装置へのバス信号とに分離する分離部と、
    上記分離部において分離された上記第1周辺装置へのバス信号又は上記ポーリング部から入力されるバス信号の一方を選択して上記第1周辺装置に出力する選択部と、
    を含む、
    請求項2に記載のコンピュータシステム。
  4. 上記プロセッサが、上記アドレス空間へのアクセスに使用する第1バスと、上記ポーリング部が上記アドレス空間の少なくとも一部へのアクセスに使用する第2バスとを有する、
    請求項1に記載のコンピュータシステム。
  5. 上記プロセッサ及び上記ポーリング部を含んだ複数の機能ユニットと、
    上記複数の機能ユニット同士を相互に接続するクロスバースイッチと、
    を有する、
    請求項1に記載のコンピュータシステム。
  6. 所定のアドレス空間に対してアクセス可能なプロセッサと、
    上記アドレス空間内の特定のアドレスの記憶領域に対して周期的にアクセスし、上記記憶領域に格納されているデータが所定のデータと一致した場合に、上記プロセッサに対して割り込み信号を供給するポーリング回路と、
    上記プロセッサによる上記アドレス空間に対するアクセスと、上記ポーリング回路による上記アドレス空間に対するアクセスとの調停を行なうアクセス制御回路と、
    を有し、
    上記アクセス制御回路が、上記プロセッサのアクセスと上記ポーリング回路のアクセスとが衝突した際に、上記プロセッサのアクセスを優先する、
    コンピュータシステム。
  7. 上記ポーリング回路が、
    上記特定のアドレスを保持する第1の記憶回路と、
    上記所定のデータを保持する第2の記憶回路と、
    上記記憶領域から読み出されたデータと上記第2の記憶回路に保持されたデータとを比較する比較回路と、
    を含み、
    上記第1及び第2の記憶回路が上記プロセッサのアドレス空間内に割り当てられており、上記プロセッサが上記第1及び第2の記憶回路内の情報を書き替え可能である、
    請求項6に記載のコンピュータシステム。
  8. 上記プロセッサのアドレス空間内に割り当てられ、上記プロセッサからアクセスされる周辺装置を更に有し、
    上記アクセス制御回路が、上記プロセッサの上記周辺装置に対するイネーブル信号の供給と上記ポーリング回路の上記周辺装置に対するイネーブル信号の供給とを監視することにより、上記プロセッサのアクセスと上記ポーリング回路のアクセスとを調停する、
    請求項6又は7に記載のコンピュータシステム。
JP2008084479A 2008-03-27 2008-03-27 コンピュータシステム Pending JP2009238001A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008084479A JP2009238001A (ja) 2008-03-27 2008-03-27 コンピュータシステム
US12/409,677 US8364876B2 (en) 2008-03-27 2009-03-24 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008084479A JP2009238001A (ja) 2008-03-27 2008-03-27 コンピュータシステム

Publications (1)

Publication Number Publication Date
JP2009238001A true JP2009238001A (ja) 2009-10-15

Family

ID=41118838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008084479A Pending JP2009238001A (ja) 2008-03-27 2008-03-27 コンピュータシステム

Country Status (2)

Country Link
US (1) US8364876B2 (ja)
JP (1) JP2009238001A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013041534A (ja) * 2011-08-19 2013-02-28 Fujitsu Semiconductor Ltd 半導体集積回路および割り込み生成方法
JP2013041402A (ja) * 2011-08-15 2013-02-28 Fujitsu Semiconductor Ltd 半導体集積回路及び回路状態監視回路
JP2015191279A (ja) * 2014-03-27 2015-11-02 富士通株式会社 処理システム
US10545890B2 (en) 2017-12-26 2020-01-28 Fujitsu Limited Information processing device, information processing method, and program

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996548B2 (en) * 2008-12-30 2011-08-09 Intel Corporation Message communication techniques
JP2011087259A (ja) * 2009-10-19 2011-04-28 Sony Corp 通信集中制御システムおよび通信集中制御方法
US10332302B2 (en) * 2017-04-17 2019-06-25 Intel Corporation Scatter gather engine
US10346328B2 (en) * 2017-09-11 2019-07-09 Apple Inc. Method and apparatus for indicating interrupts
US10884472B2 (en) * 2018-04-27 2021-01-05 Oracle International Corporation Current compensation during dynamic voltage and frequency scaling transitions
WO2022245333A1 (en) * 2021-05-17 2022-11-24 Hewlett-Packard Development Company, L.P. Bus interfaces control

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58192122A (ja) * 1982-05-07 1983-11-09 Hitachi Ltd 端末制御装置
JPH05241852A (ja) * 1992-02-26 1993-09-21 Nec Eng Ltd 情報処理システムの割り込み発生装置
JP2001216170A (ja) * 2000-01-31 2001-08-10 Mitsubishi Electric Corp 専用ポーリング処理組み込みオペレーティング方法及び専用ポーリング処理組み込みオペレーティングシステム
JP2001306317A (ja) * 2000-04-21 2001-11-02 Hitachi Ltd データ処理装置
JP2002163242A (ja) * 2000-11-24 2002-06-07 Hitachi Ltd データ処理システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4225917A (en) 1976-02-05 1980-09-30 Motorola, Inc. Error driven interrupt for polled MPU systems
JPS60126945A (ja) 1983-12-14 1985-07-06 Hitachi Ltd ポ−リング方式
EP0153764B1 (en) 1984-03-02 1993-11-03 Nec Corporation Information processor having an interruption operating function
US5319785A (en) 1991-06-28 1994-06-07 Digital Equipment Corporation Polling of I/O device status comparison performed in the polled I/O device
EP0652523B1 (en) 1993-11-10 1999-06-02 Nec Corporation Remote monitoring system
JPH07264217A (ja) 1994-03-16 1995-10-13 Fujitsu Ltd ポーリング方式
JPH08256155A (ja) 1995-03-17 1996-10-01 Fujitsu Ltd ディジタル処理装置のポーリング方法及びその装置
US5687381A (en) 1996-02-09 1997-11-11 Advanced Micro Devices, Inc. Microprocessor including an interrupt polling unit configured to poll external devices for interrupts using interrupt acknowledge bus transactions
US8984199B2 (en) 2003-07-31 2015-03-17 Intel Corporation Inter-processor interrupts

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58192122A (ja) * 1982-05-07 1983-11-09 Hitachi Ltd 端末制御装置
JPH05241852A (ja) * 1992-02-26 1993-09-21 Nec Eng Ltd 情報処理システムの割り込み発生装置
JP2001216170A (ja) * 2000-01-31 2001-08-10 Mitsubishi Electric Corp 専用ポーリング処理組み込みオペレーティング方法及び専用ポーリング処理組み込みオペレーティングシステム
JP2001306317A (ja) * 2000-04-21 2001-11-02 Hitachi Ltd データ処理装置
JP2002163242A (ja) * 2000-11-24 2002-06-07 Hitachi Ltd データ処理システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013041402A (ja) * 2011-08-15 2013-02-28 Fujitsu Semiconductor Ltd 半導体集積回路及び回路状態監視回路
JP2013041534A (ja) * 2011-08-19 2013-02-28 Fujitsu Semiconductor Ltd 半導体集積回路および割り込み生成方法
JP2015191279A (ja) * 2014-03-27 2015-11-02 富士通株式会社 処理システム
US10545890B2 (en) 2017-12-26 2020-01-28 Fujitsu Limited Information processing device, information processing method, and program

Also Published As

Publication number Publication date
US20090248931A1 (en) 2009-10-01
US8364876B2 (en) 2013-01-29

Similar Documents

Publication Publication Date Title
JP2009238001A (ja) コンピュータシステム
JP7313381B2 (ja) ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング
EP1895430B1 (en) Arbiter, crossbar, request selection method and information processing device
US20020166018A1 (en) Multiprocessor interrupt handling system and method
WO2006082989A2 (en) System and method of interrupt handling
US8583845B2 (en) Multi-processor system and controlling method thereof
JP2008176360A (ja) マルチプロセッサシステム
US7328295B2 (en) Interrupt controller and interrupt controlling method for prioritizing interrupt requests generated by a plurality of interrupt sources
KR20110097447A (ko) 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법
US20080082710A1 (en) System and method for managing system management interrupts in a multiprocessor computer system
EP4204976A1 (en) A processor system and method for increasing data-transfer bandwidth during execution of a scheduled parallel process
JP5382113B2 (ja) 記憶制御装置及びその制御方法
JP2000298652A (ja) マルチプロセッサ
JP2006201948A (ja) 割込み信号受け付け装置および割込み信号受け付け方法
US6708259B1 (en) Programmable wake up of memory transfer controllers in a memory transfer engine
KR100644597B1 (ko) 버스 시스템 및 그 커맨드 전달방법
JP4839759B2 (ja) メモリアクセス制御方式と方法、及びプロセッサ装置
JP6535516B2 (ja) マルチ・プログラマブルデバイス・システムとその制御方法
JP2005100448A (ja) データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
JP5287975B2 (ja) 情報処理装置
JP5087884B2 (ja) データ処理ユニット、およびこれを使用したデータ処理装置
WO1991020042A1 (en) Fast interrupt mechanism for a multiprocessor system
JP4642398B2 (ja) 共有バス調停システム
JP2013073297A (ja) 時分割方式による割り込み制御回路および割り込み制御方法
JP2000132527A (ja) プロセッサ間通信制御装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100318

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100525