(57)【特許請求の範囲】
【請求項１】
システム装置であって、
ハンドシェークメカニズムをサポートしないプロトコルに合わせた記憶装置インターフェースを有する記憶装置であって、前記記憶装置インターフェースは、前記記憶装置と第一制御器との間にあり、また、前記記憶装置と第二制御器との間にある、記憶装置と、
前記記憶装置に電気接続されたバスと、
前記バスと前記記憶装置インターフェースを介して前記記憶装置をアクセスし、割り込みインターフェースを介して前記第二制御器からの割り込み要求を受信した後、割り込み操作を実行する前記第一制御器と、
前記バスと前記記憶装置インターフェースを介して前記記憶装置をアクセスし、前記記憶装置をアクセスする前に前記第一制御器に前記割り込み要求を伝送する前記第二制御器と、
を含み、
前記第二制御器が前記記憶装置をアクセルしないときに、前記第二制御器は、前記第一制御器と前記記憶装置との間において信号伝送を簡単に行うパススルー素子として稼動する、
システム装置。
【請求項２】
前記記憶装置インターフェースは、前記バスの衝突判定のプロトコルをサポートしないインターフェースを含む請求項１記載のシステム装置。
【請求項３】
前記記憶装置インターフェースは、プロトコルインターフェースであり、該プロトコルインターフェースは、直列周辺インターフェースプロトコル、又は、処理装置を選択して記憶装置をアクセスするのをサポートしないプロトコルに従って稼動される、請求項１記載のシステム装置。
【請求項４】
前記第一制御器は、少なくとも
（ｉ）前記記憶装置をアクセスするステップ、及び
（ｉｉ）前記第二制御器から前記割り込み要求を受信するステップ
を実行する、請求項１記載のシステム装置。
【請求項５】
前記第二制御器は、コンピューターの組込コントローラである、請求項１記載のシステム装置。
【請求項６】
前記第二制御器は、コンピューターの制御器であり、該制御器はシステム制御器、キーボード制御器又はノートパソコンの組込コントローラである、請求項１記載のシステム装置。
【請求項７】
前記第二制御器は、前記第一制御器及び前記記憶装置に電気接続された前記バスに位置する、請求項１記載のシステム装置。
【請求項８】
前記第二制御器は、前記第一制御器より発送された割り込み確認情報を受信した後、又は前記割り込み要求を発送してから所定時間後に前記記憶装置をアクセスし、前記割り込み確認情報は前記第一制御器から前記割り込み要求に応じて発送された情報である、請求項１記載のシステム装置。
【請求項９】
前記第二制御器は処理ユニットを有する、請求項１記載のシステム装置。
【請求項１０】
処理装置であって、
ハンドシェークメカニズムをサポートしないプロトコルに従って記憶装置を制御する記憶装置インターフェースと、
割り込み要求を他の処理装置に伝送する割り込みインターフェースと、
処理タスクを実行し、前記記憶装置インターフェースを介して前記記憶装置からデータを読み出し又はデータを前記記憶装置に保存し、前記割り込みインターフェースを介して前記割り込み要求を前記他の処理装置に伝送し、前記記憶装置インターフェースを介して前記記憶装置をアクセスする前に割り込み確認情報を前記他の処理装置から受信する処理ユニットと、
を含み、
前記処理装置が前記記憶装置をアクセルしないときに、前記処理装置は、前記他の処置装置と前記記憶装置との間において信号伝送を簡単に行うパススルー素子として稼動する、
処理装置。
【請求項１１】
前記処理ユニットは割り込みインターフェースとそれぞれ独立したレジスタを介して前記割り込み確認情報を受信する、請求項１０記載の処理装置。
【請求項１２】
前記処理ユニットは前記記憶装置からコードセグメントを読み出す、請求項１０記載の処理装置。
【請求項１３】
前記処理装置は内部記憶装置を有し、該内部記憶装置は処理ユニットより実行されるアプリケーションの一部のコードを保存し、該内部記憶装置は前記記憶装置インターフェースを介して前記記憶装置から前記コードセグメントを入れ替える、請求項１２記載の処理装置。
【請求項１４】
記憶装置をアクセスする方法であって、
少なくとも一つの第一制御器を前記記憶装置に接続する段階と、
第二制御器から前記少なくとも一つの第一制御器に割り込み要求を発送する段階と、
前記第二制御器が前記少なくとも一つの第一制御器から前記割り込み要求に応じて発送された割り込み確認情報を受信する段階と、
前記少なくとも一つの第一制御器が割り込み要求を処理する間に、前記第二制御器が前記記憶装置をアクセスする段階と、
を含み、
前記第二制御器が前記記憶装置をアクセルしないときに、前記第二制御器は、前記少なくとも一つの第一制御器と前記記憶装置との間において信号伝送を簡単に行うパススルー素子として稼動する、
記憶装置をアクセスする方法。
【請求項１５】
前記記憶装置へのアクセスが完了した後、前記少なくとも一つの第一制御器が前記割り込み要求処理を解放する段階を含む、請求項１４記載の記憶装置をアクセスする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主にコンピューター構造に関し、特に記憶装置のアクセス構造に関する。
【背景技術】
【０００２】
処理装置は非常に広範囲で適用され、その応用範囲は数学的計算、データベースの管理、通信及び装置の制御など様々な分野を含む。各種の応用において、処理装置は独立した記憶装置を要し、例えば、実行結果または中間値の保存、動作ソフトウェアの取り出し、或いはデータ入力などの何らかのタスクを実行する。通常、記憶装置のアクセスを制御する処理装置を「主装置」と称する。なお、前記主装置はそのほかのものを表すこともでき、前記記憶装置のアクセスを制御する処理装置に限られたものではない。
【０００３】
各種の通信プロトコルは内部通信目的、例えば処理装置と記憶装置間のデータの伝送などを実現ために定義される。ある種のプロトコルは具体的に多重処理装置構造に用いられるように定義され、この複数の処理装置は一つのバスを介して共有記憶装置をアクセスする。多重処理装置が一つの共通の記憶装置または他の資源（ｒｅｓｏｕｒｃｅ）を共有するのに用いられる前記プロトコルは、どの処理装置が何時記憶装置をアクセスできるのかを管理する。通常、前記プロトコルはハンドシェーク（ｈａｎｄ−ｓｈａｋｅ）方法を使って定義され、該方法は処理装置と記憶装置間の通信に問題が発生した場合、処理装置に通知することができる。しかし、ハンドシェークプロトコルは複雑すぎで、あるアプリケーションはこのような複雑なプロトコルを使う必要がない。
【０００４】
直列周辺インターフェース（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ，  ＳＰＩ）は、簡単な同期データ接続プロトコルである。通常、このプロトコルは、単一の主装置が一つまたは複数の記憶装置をアクセスするのに使われる。従って、直列周辺インターフェース（ＳＰＩ）は、供給された命令が確かに実行されたかを検証する低層の規定（ｌｏｗ  ｌａｙｅｒ  ｐｒｏｖｉｓｉｏｎ）（例えばハンドシェーク式規定）がない。また、該直列周辺インターフェースは、誤り検出と規範修正の能力が欠いている。しかし、該直列周辺インターフェースは簡単であるため、少数の通信線でも快速実行が可能な利点がある。従って、直列周辺インターフェースは、記憶装置と単一の処理装置間に普及されている。
【０００５】
ところが、二つの処理装置に記憶装置を接続する場合、前記処理装置がどれほどの記憶装置空間を要し、または記憶装置を何回アクセスしても、処理装置はそれぞれ記憶装置を有するべきである。
【０００６】
別の処理方法としては、一つの第一処理装置を用いてＬＰＣ（ｌｏｗ  ｐｉｎ  ｃｏｕｎｔ）規格（ｂｕｓ−ｂｕｓｙの表示をサポートすることができる）の下でアクセス命令を共有の記憶装置に伝送する。この場合、第一処理装置から伝送された命令は第二処理装置に伝わられ、第二処理装置でＳＰＩ型になり、また記憶装置に転送される。なお、前記方法は第一処理装置がＬＰＣ規格をサポートし、同時に第二処理装置が書式転換機能を持っていることを前提としている。
【０００７】
処理装置間で一つの記憶装置を共有する他の方法として、前記記憶装置を共有する二つの処理装置間にハードウェアハンドシェーク（ｈａｒｄｗａｒｅ  ｈａｎｄｓｈａｋｅ）を実行する。尚、この方法は前記処理装置がハンドシェークプロトコルをサポートすることを前提とし、また処理装置の数量が二つを超える場合、非常に複雑になってしまう。
【０００８】
特許文献１には、キーボードコントローラ（例えば処理装置）及びシステム処理装置間でＲＯＭを共有する方法が開示されている。システムを起動する際、このシステム処理装置は共有ＲＯＭをアクセスし、基本入出力システム（ＢＩＯＳ）を取り出す。その後、この共有ＲＯＭはキーボードコントローラに用いられる。しかし、この方法は二つの処理装置が間歇的に記憶装置をアクセスする構造には適用されない。
【０００９】
特許文献２には、メイン処理装置とキーボードコントローラ間で記憶装置を共有する原理が開示されている。なお、記憶装置は基本入出力システム（ＢＩＯＳ）のアップロードに用いられる。メイン処理装置及びキーボードコントローラに接続された論理回路システムは、キーボードコントローラの機能が抑制された場合（例えば、パソコンが初めて起動する場合）のみに、メイン処理装置の記憶装置へのアクセスを許す。尚、前記メイン処理装置が他の時に記憶装置へのアクセスを求める場合、論理回路システムはオペコード（ｏｐ−ｃｏｄｅｓ）を模擬してメイン処理装置に伝送し、メイン処理装置がメイン処理装置のメイン記憶装置にある基本入出力システム（ＢＩＯＳ）のバックアップをアクセスできるようにする。しかし、前記方法はＢＩＯＳのアクセスは解決したが、記憶装置への間歇的なアクセスは許さない。さらに、前記記憶装置は並列アクセスインターフェースを要し、直列アクセスインターフェースには適用されない。
【００１０】
他の特許にも全て類似した問題がある。例えば、特許文献３、４及び５。
【特許文献１】米国特許第５６０３０５５号（出願人：Ｅｖｏｙ；公告期日：１９９７年２月１１日）
【特許文献２】米国特許第５８９２９４３号（出願人：Ｒｏｃｋｆｏｒｄ、Ｄｕｎｎｉｈｏｏ、Ｗａｈｌｅｒ；発明の名称：ホットスタートにおける基本入出力システムの読み出し専用記憶装置の共有）
【特許文献３】米国特許第５９９９４７６号（出願人：Ｄｕｔｔｏｎ）
【特許文献４】米国特許第５７９４０５４号（出願人：Ｌｅ；公告期日：１９９８年８月１１日）
【特許文献５】米国特許第６１５４８３８号（出願人：Ｌｅ；公告期日：２０００年１１月２８日）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は上述の問題を鑑み、複数の処理装置が一つの記憶装置に接続される構造を提供する。
【課題を解決するための手段】
【００１２】
通常、第一処理装置は定常状態で記憶装置に接続される。第二処理装置が前述の記憶装置をアクセスしようとする時、第一処理装置に割り込み要求を発送し、割り込み要求の確認信号を受信した後記憶装置を制御する。第一処理装置は、記憶装置に対する第二処理装置のアクセスが完了した後、中断プログラムから解放される。割り込みの期間の間、第一処理装置はいずれの有効的な任務も実行せず、単にアイドリング状態を維持する。多数の処理装置（ｍｕｌｔｉ−ｐｒｏｃｅｓｓｏｒ）が一つの記憶装置をアクセスできる利点で、第二処理装置が記憶装置をアクセスするため第一処理装置がアイドリング状態になる欠点を補うことができる。
【００１３】
前述の記憶装置は単一の主プロトコル（例えば直列周辺インターフェースＳＰＩ）又はミクロ配線（Ｍｉｃｒｏｗｉｒｅ）を使用して稼動する。より具体的には、記憶装置は、ハンドシェークメカニズムをサポートしないプロトコルに従って稼動する。記憶装置の稼動を管理するプロトコルは誤り検出（ｅｒｒｏｒ  ｄｅｔｅｃｔｉｏｎ）又は誤り修正（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ）をサポートしなくてもよい。発明の実施例において、記憶装置へのアクセスは少なくとも１０個又は５個のピンを要する。一方、記憶装置は順次アクセス（ｓｅｒｉａｌ  ａｃｃｅｓｓ）記憶装置を含む。
【００１４】
発明の実施例において、第一処理装置はシステムのメイン処理装置であり、一般的に記憶装置に接続されてシステムの主要なタスクを実行し、第二処理装置は一般的にサポート機能を果たす。場合によって、メイン処理装置は記憶装置へのアクセスを制御する機能を有する。通常、第一処理装置は第二処理装置より優れた処理能力（ｐｒｏｃｅｓｓｉｎｇ  ｐｏｗｅｒ）、例えば、少なくとも第二処理装置の５倍又は１０倍の処理能力を有している。発明の実施例において、第一処理装置は第二処理装置に比べてより大きな命令伝送量（ｉｎｓｔｒｕｃｔｉｏｎ  ｔｈｒｏｕｇｈｐｕｔ）（例えば少なくとも５倍又は１０倍）を有している。実施例において、第一処理装置のトランジスタ数は第二処理装置より多い（例えば少なくとも１０倍又は２０倍）。
【００１５】
本発明の実施例において、第一処理装置は主制御器を有し、第二処理装置は組込コントローラを有する。組込コントローラは一つ又は多数のコンピューター周辺機器、例えば電池、キーボード、マウス及び電源供給器などを制御する。
【００１６】
発明の実施例において、記憶装置は第一処理装置又は第二処理装置が実行するタスクの実行コードを保存する。例えば、第一処理装置について、記憶装置は基本入出力サービス（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｅｒｖｉｃｅｓ；  ＢＩＯＳ）コード、ＥＦＩ（Ｅｘｔｅｎｓｉｂｌｅ  Ｆｉｒｍｗａｒｅ  Ｉｎｔｅｒｆａｃｅ）コード、又はシステム管理コードなどを保存する。通常、記憶装置は第一メイン処理装置のために複数の異なるアプリケーションのコードセグメントを保存する。発明の実施例において、記憶装置は第一及び第二処理装置（例えば内部記憶装置（ｉｎｔｅｒｎａｌ  ｍｅｍｏｒｙ）をサポートできない処理装置）のため多量のコードを保存し、この処理装置はページング（ｐａｇｉｎｇ）方法を用いて記憶装置にコードを保存／取出する。
【００１７】
発明の実施例において、第二処理装置はバスに位置され、このバスは第一処理装置及び記憶装置に接続される。第二処理装置は記憶装置へのアクセスを要しない場合、パススルーユニットになって記憶装置及び第一処理装置間の信号を交換する。
【００１８】
本発明の実施例はシステム装置を開示し、該システム装置は記憶装置、バス、第一制御器、及び第二制御器を含む。記憶装置は、ハンドシェークメカニズムをサポートしないプロトコルに合わせた記憶装置インターフェースを有し、該記憶装置インターフェースは記憶装置と第一制御器との間にあり、また、記憶装置と第二制御器との間にある。バスは記憶装置に電気接続される。第一制御器はバスと記憶装置インターフェースを介して記憶装置をアクセスし、割り込みインターフェースを介して第二制御器からの割り込み要求を受信した後、割り込み操作を実行する。第二制御器はバスと記憶装置インターフェースを介して記憶装置をアクセスし、記憶装置をアクセスする前に第一制御器に割り込み要求を伝送する。
【００１９】
前述の記憶装置インターフェースは、バスの衝突判定（ｃｏｌｌｉｓｉｏｎ  ｄｅｔｅｃｔｉｏｎ）のプロトコルをサポートしないインターフェースである。記憶装置インターフェースはプロトコルインターフェースでもよい。このプロトコルインターフェースは、処理装置を選択して記憶装置をアクセスするのをサポートしないプロトコルに従って稼動されてもよいし、直列周辺インターフェースプロトコルに従って稼動されてもよい。
【００２０】
第一制御器は、記憶装置へのアクセス及び／又は割り込みの受信を実行する。第二制御器は組込コンピューター制御器、コンピューターの制御器、ノートパソコンの組込コントローラ、コンピューターのシステム制御器、又はキーボード制御器を含む。また、第一制御器の最大命令伝送量は少なくとも第二制御器の５倍である。第二制御器は第一制御器及び記憶装置に電気接続されるバスに位置する。本発明の実施例において、第二制御器は単に第一制御器より発送された割り込み確認情報を受信した場合にのみ、記憶装置をアクセスする。なお、この割り込み確認情報は第一制御器から割り込み要求に応じて発送された情報である。第二制御器は記憶装置をアクセスする前に前述の割り込み要求を第一制御器に発送する。
【００２１】
一方、第二制御器は割り込み確認情報の受信有無に関わらず、割り込み要求を発送してから所定時間後に記憶装置をアクセスする。或いは、第一制御器はこの割り込み要求に応じて、バスを介して記憶装置をアクセスする動作を止める。本発明の実施例において、第一制御器はただ第二制御器より発送された命令に応じて、記憶装置へのアクセス禁止を停止する。本発明の他の実施例において、第一制御器は第二制御器より発送された命令によって記憶装置へのアクセス禁止を停止する必要がない。
【００２２】
本発明の他の実施例は処理装置を開示し、この処理装置は記憶装置インターフェース、割り込みインターフェース及び処理ユニットを有する。記憶装置インターフェースは、ハンドシェークメカニズムをサポートしないプロトコルに従って記憶装置を制御する。割り込みインターフェースは割り込み要求を処理装置に伝送する。なお、処理ユニットは稼動して処理タスクを実行し、記憶装置インターフェースを介して記憶装置からデータを読み出し、又はデータを記憶装置に保存する。処理ユニットは該割り込みインターフェースを介して割り込み要求を伝送し、該記憶装置インターフェースを介して該記憶装置をアクセスする前に、該割り込みインターフェースを介して割り込み確認情報を受信する。
【００２３】
処理ユニットは前述の割り込みインターフェースを介して割り込み確認情報を受信する。処理ユニットは割り込みインターフェースとそれぞれ独立したレジスタを介して割り込み確認情報を受信してもよい。一方、処理ユニットは記憶装置よりコードセグメントを読み出す。処理装置は内部記憶装置を有し、この内部記憶装置は処理ユニットより実行されるアプリケーションの一部のコードを保存し、該内部記憶装置は記憶装置インターフェースを介して記憶装置から前記コードセグメントを入れ替える。このほか、処理ユニットは二つの状態で稼動する。この二つの状態は、（ｉ）記憶装置インターフェースを介して記憶装置をアクセスする前、該割り込み要求を伝送しない第一状態であり、(ｉｉ）割り込み要求を伝送し、更に割り込み確認情報を受信した場合にのみ、記憶装置をアクセスする第二状態である。他の装置より上述の記憶装置をアクセスする危険がない場合、処理ユニットは第一状態で稼動する。
【００２４】
本発明の他の実施例も記憶装置のアクセス方法を開示し、該方法は、（ｉ）少なくとも一つの第一制御器を記憶装置に接続する段階；（ｉｉ）第二制御器から少なくとも一つの割り込み要求を第一制御器に発送する段階；（ｉｉｉ）少なくとも一つの第一制御器から割り込み要求に応じて発送された割り込み確認情報を受信する段階；（ｉｖ）少なくとも一つの第一制御器が割り込み要求を処理する間に、記憶装置をアクセスする段階を含む。
【００２５】
上述の方法は、記憶装置へのアクセスが完了した後、該少なくとも一つの第一制御器の割り込み要求処理を解放する段階を含む。該記憶装置へのアクセスは、読み出しアクセス、書き込みアクセス及び単一のメインプロトコルに制御されるインターフェースアクセスを含む。
【発明を実施するための最良の形態】
【００２６】
本発明の上述の目的、特徴及び優位性をよりよく理解してもらうため、以下は添付した図面を参照しながら実施例を詳細に説明する。
【００２７】
図１は本発明の第一実施例による複数の処理装置が一つの記憶装置に接続されている構造を示す図である。説明を簡素化するため、本発明の実施例の説明に関する部分のみ示している。記憶装置１３０は直列周辺インターフェース（ＳＰＩ）１３４（即ち、記憶装置インターフェース１３４）を設け、直列周辺プロトコルに従って記憶データを記憶装置１３０に書込／読出する。記憶装置１３０は、例えばフラッシュ記憶装置、ＲＯＭまたは他の不揮発性記憶装置（ｎｏｎ−ｖｏｌａｔｉｌｅ）のいずれでよい。また、記憶装置１３０はどれほどの記憶容量を有してもよい。例えば、１Ｍｂｙｔｅ、４Ｍｂｙｔｅ、１６Ｍｂｙｔｅなどの記憶容量が可能である。また、記憶装置１３０はＲＯＭ又はＲＷＭでもよい。
【００２８】
さらに図１を参照すると、主制御器１１０（即ち、第一制御器１１０）（例えば、サウスブリッジチップ（Ｓｏｕｔｈ  Ｂｒｉｄｇｅ  ｃｈｉｐ）及び／又はＩ／Ｏコントローラハブ（Ｉ／Ｏ  ｃｏｎｔｒｏｌｌｅｒ  ｈｕｂ））は直列周辺インターフェース１１４（即ち、主制御器インターフェース１１４）を経由し、第一バス部分１０２と第二バス部分１０４から構成されるＳＰＩバスを介して記憶装置１３０に接続される。本発明の実施例において、主制御器１１０は直列周辺インターフェース以外に記憶装置をアクセスするための他のインターフェースを有さない。前記主制御器１１０は他のインターフェースを有してもよいが、この他のインターフェースは図１の実施例の記憶装置１３０のアクセスには使わない。場合によって、主制御器１１０は記憶装置１３０をアクセスし、基本入出力システム（ＢＩＯＳ）、ローカルエリアネットワーク（ＬＡＮ）、及びコンピューター１００のシステム管理など、少なくとも一つの応用のソフトウェアコードを得る。一方、取得した情報にはソフトウェアコード部を有し、コードスワッピング（ページング）法（ｃｏｄｅ  ｓｗａｐｐｉｎｇ（ｐａｇｉｎｇ）  ｍｅｔｈｏｄ）でソフトウェアコード間の必要な入替を行う。或いは、主制御器１１０は記憶装置１３０をアクセスし、更新されたソフトウェアコード、例えばコンピューターとネットを通して更新された基本入出力システム（ＢＩＯＳ）などを保存する。このほか、主制御器１１０は記憶装置１３０をアクセスして、コンピューター１００のシステム構造の変更を保存する。
【００２９】
組込コントローラ（Ｅｍｂｅｄｄｅｄ  ｃｏｎｔｒｏｌｌｅｒ；  ＥＣ）１２０（即ち、第二制御器１２０）はＳＰＩバスに位置される。組込コントローラ（ＥＣ）１２０は第一バス部分１０２と第二バス部分１０４の間に位置される。記憶装置１３０をアクセスしない場合、組込コントローラ１２０は状況によってパススルー（ｐａｓｓ−ｔｈｒｏｕｇｈ）モードで運行し、該モードにおいて、組込コントローラ１２０は第一バス部分１０２と第二バス部分１０４の間で適当な速度で信号を伝送する。
【００３０】
本発明の実施例において、組込コントローラ１２０はコンピューター１００中の一つ又は複数の周辺機器、例えばキーボード、マウス、ディスプレイ、電源供給器或いは電池（図なし）などを制御することができる。前記コンピューター１００はいずれ分野のコンピューターでもよい。例えば、ノートパソコン、デスクトップコンピューター、サーボコンピューター、ポスコンピューター、或いはクライアントコンピューターなどである。組込コントローラ１２０は状況によって記憶装置１３０からソフトウェアコードを取り出し、アプリケーションプログラムを実行する。組込コントローラ１２０はＲＡＭ１２２のような小さい内部記憶装置を備え、該内部記憶装置は実行時のソフトウェアコードを保存してアプリケーションプログラムを適切に実行させる。ある場合、組込コントローラ１２０は記憶装置１３０から異なる部分コードを取出し、一つ又は複数部のソフトウェアコードを入れ替える必要がある。組込コントローラ１２０は直接記憶装置１３０に保存されているソフトウェアコードを実行することができ、又は記憶装置１３０に対して、例えばシステム構造パラメータの保存などのアクセス動作を行うことができる。
【００３１】
組込コントローラ１２０は処理ユニット（ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ；  ＰＵ）１２１を備え、処理ユニット１２１は記憶装置１３０より取出されてＲＡＭ１２２に保存されたコードを実行する。前記コードは第二バス部分１０４に接続されたメモリインターフェース１２３を経由し、多重化装置１２５を介して得る。また、処理ユニット（ＰＵ）１２１は直接にメモリインターフェース１２３に接続されてもよい。これにより、処理ユニット（ＰＵ）１２１はＲＡＭ１２２を経由せず、記憶装置１３０のデータを直接に受信する。
【００３２】
図２は、本発明の第一実施例による組込コントローラ１２０が記憶装置１３０をアクセスするフローチャートである。図１及び図２によると、組込コントローラ１２０は何れの稼動が始まる前はパススルー（ｐａｓｓ−ｔｈｒｏｕｇｈ）素子と見なされ、ほぼ無遅延（ナノ秒レベルの遅延）の状態でバス１０２及び１０４の間で簡単な信号伝送を行う（ステップ２００）。組込コントローラ１２０が記憶装置１３０に対して読出／書込動作を行おうとする場合、組込コントローラ１２０は状況によって許容自由状態（ｐｅｒｍｉｓｓｉｏｎ−ｆｒｅｅ  ｓｔａｔｅ）を確認し（ステップ２３０）、許容自由状態である場合は、何れの準備も必要せず記憶装置１３０をアクセスする。尚、許容自由状態でない場合、組込コントローラ１２０は線路１４６に位置する主制御器１１０の割り込みインターフェース（ｉｎｔｅｒｒｕｐｔ  ｉｎｔｅｒｆａｃｅ）１１８に割り込み要求（ｉｎｔｅｒｒｕｐｔ  ｒｅｑｕｅｓｔ；  ＩＲＱ）を送る（ステップ２０２）。また、主制御器１１０より出力された割り込み確認情報を受信すると（ステップ２０４）、すぐ第一バス部分１０２と第二バス部分１０４の間のパススルー連結を中断し、メモリインターフェース１２３と第二バス部分１０４を接続する（ステップ２０６）。割り込み実行が始まると、組込コントローラ１２０は記憶装置１３０をアクセスする（ステップ２０８）。尚、主機（ｈｏｓｔ  ｃｏｍｐｕｔｅｒ）１４０の正常的な操作は既に割り込まれたため、主制御器１１０による記憶装置１３０のアクセスとか、組込コントローラ１２０の記憶装置のアクセスを妨害するような危険はない。また、記憶装置へのアクセス動作が完了すると、組込コントローラ１２０は改めて第一バス部分１０２と第二バス部分１０４とをパススルー連結するようにさせ（ステップ２１０）、割り込みを終了し（ステップ２１２）、同時にパススルー稼動状態に戻る（ステップ２００）。
【００３３】
記憶装置１３０をアクセスする場合、若し組込コントローラ１２０が既に許容自由状態になると（ステップ２３０）、組込コントローラ１２０は直接にパススルー連結を割り込んで前記記憶装置をアクセスする（ステップ２０６）。発明の実施例において、主機１４０及び何れのほかの主装置から記憶装置１３０をアクセスする可能性が確かにない場合（例えば、主機１４０をリセットする場合）、組込コントローラ１２０は許容自由状態になる。一方、他の実施例において、組込コントローラ１２０は許容自由状態にならず、又はステップ２３０は実行されていない。組込コントローラ１２０は許容自由状態で記憶装置１３０をアクセスした後、改めてパススルー連結になり（ステップ２１０）、割り込み停止のプログラムを実行せず（ステップ２４０）、自動的にパススルー状態に戻る（ステップ２００）。一方、許容自由状態において、組込コントローラ１２０は連続的に記憶装置に接続され、接続割り込みを繰り返すことや（ステップ２０６）、改めてパススルー連結になる（ステップ２１０）ことなどの必要がない。組込コントローラ１２０の前記許容自由状態が変更されると、パススルー連結が接続される。
【００３４】
本発明の実施例の図１において、多重化装置１２５または三態緩衝器（ＴＲＩ−ＳＴＡＴＥ）を用いて、記憶装置１３０から主制御器１１０への接続を中断することができる（ステップ２０６）。
【００３５】
発明の実施例において、組込コントローラ１２０の割り込み要求は何れの有効目標もない中断プログラムを実行し、主制御器１１０及び主機１４０がアイドリング状態になるようにする。一方、この割り込みは、主機１４０に記憶装置１３０へのアクセス動作以外のコンピューター１００のメンテナンスを実行させる。一方、割り込み要求は主制御器１１０に伝送され、組込コントローラ１２０に制御されるレジスタ１２８のアサート（ａｓｓｅｒｔ）の有無を調べ、レジスタ１２８値がアサートされた場合にのみ割り込み要求を停止する。尚、レジスタ１２８値は組込コントローラ１２０が記憶装置へのアクセスを完了した場合、アサートされる。一方、この割り込みは主機１４０に所定時間のタスクを実行させ、この場合組込コントローラ１２０が記憶装置１３０をアクセスするのに十分な時間があり、改めて正常な稼動に戻られる。
【００３６】
発明の実施例において、その他の処理装置は主制御器１１０又は何れの有効的なインターフェースを介して記憶装置１３０をアクセスする。尚、組込コントローラ１２０が記憶装置１３０をアクセスする際、主制御器１１０の割り込み実行過程はその他の処理装置にも作用して処理装置の稼動を抑制し、その他の処理装置が記憶装置１３０をアクセスすることを防止する。或いは、並列方式でその割り込み要求を記憶装置１３０のアクセスできる多数処理装置にも供給する。或いは、ハードウェアハンドシェーク法によって、一つ又は多数のその他の処理装置に通知し、その他の処理装置が記憶装置１３０をアクセスすることを抑制する。
【００３７】
本発明の実施例において、主装置１５４はＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｎｔｒｏｌｌｅｒ  Ｉｎｔｅｒｆａｃｅ）バス１５２を介して主制御器１１０に電気接続される。場合によって、割り込み要求を主制御器１１０に通知し、主制御器１１０が記憶装置１３０をアクセスすることを避ける。さらに、割り込みが終了する前には、主装置１５４、或いは何れのその他の処理装置または処理装置以外の主装置がアクセス命令を発送することを禁止する。或いは、割り込みの実行過程は主装置１５４の稼動を割り込みの終了まで抑制する。これは、組込コントローラ１２０の記憶装置へのアクセス動作が主装置１５４に妨害されることを防止するためである。
【００３８】
組込コントローラ１２０の割り込みのためで、主機１４０が稼動できない時間は非常に短い。通常、０．５％処理時間又は０．１％処理時間よりも少ない。従って、組込コントローラ１２０の記憶装置へのアクセス動作は主機１４０の正常的な稼動を乱さない。発明の実施例において、組込コントローラ１２０が記憶装置をアクセスする動作は限界性がある。例えば、一秒にただ１００回又は５０回であり、毎度アクセス時間は状況によって１５マイクロ秒又は１０マイクロ秒より少ないし、７マイクロ秒よりも少ない場合がある。一方、組込コントローラ１２０は集中的に記憶装置１３０をアクセスし、主機１４０が少なくとも５％処理時間又は１０％処理時間アイドリング状態になる。割り込みの実行で主機１４０の稼動効率が下がってしまうが、組込コントローラ１２０及び主制御器１１０が記憶装置１３０を一つしか使わないため、ある観点から見るとこの優位性が効率降下を補うことができる、と本発明の発明者は考える。
【００３９】
上述のように、組込コントローラ１２０から出力された割り込み要求信号は主制御器１１０を経由する。しかし、発明の実施例において、主制御器１１０を経由せず、直接に線路１４６を介して主機１４０に出力されてもよい。
【００４０】
図１及び図２を参照すると、前記割り込み確認情報を受信するステップ２０４において、確認情報は主制御器１１０と組込コントローラ１２０の間にある専用配線１４４又は主機１４０に接続された類似線路に供給されて、割り込み要求の起動及び／又は実行のプロトコルとする。一方、この確認情報は割り込み開始ステップとして供給される。例えば、割り込み実行過程を組込コントローラ１２０のレジスタ１２８に書き込む。しかしながら、発明の実施例において、組込コントローラ１２０は割り込み確認情報を必要せず、割り込み要求を出力してから所定の時間、例えば２０マイクロ秒が経過してから記憶装置１３０をアクセスする（ステップ２０８）。
【００４１】
記憶装置のアクセスステップ２０８は、１バイト又はその他のデータブロックをアクセスすることができ、または連続的に多数のデータセグメントをアクセスすることができる。記憶装置のアクセスは選択的に所定に時間内（例えば５０マイクロ秒又は２０マイクロ秒より少ない）に行われる。
【００４２】
発明の実施例において、組込コントローラ１２０は一部記憶装置１３０へのアクセス動作を遅延して、ある記憶装置１３０へのアクセスに対する限定及び主機１４０の稼動中断に対する限定に合わせる。実施例において、組込コントローラ１２０は単に前のアクセスが予定時間実行された後、記憶装置１３０へのアクセスを許す。一方、主制御器１１０に割り込み要求を送る前、組込コントローラ１２０はアクセス待ち動作を所定の量まで累積する。しかし、発明のある実施例において、組込コントローラ１２０は累積量が所定の時間内で所定量に達さなくても、記憶装置１３０をアクセスすることができる。
【００４３】
図３は、本発明の他の実施例による記憶装置１３０と別の構成素子との接続を示す図である。図３は図１と類似している。しかし、図３の記憶装置１３０はスイッチ３２２を介して主制御器１１０及び組込コントローラ３２０に接続されている。スイッチ３２２の開閉器３２４は組込コントローラ３２０に制御され、該制御により記憶装置１３０と組込コントローラ３２０又は主制御器１１０との接続が決まる。
【００４４】
図３にも三つの処理装置が一つの記憶装置１３０を共有している。通常、主制御器１１０が記憶装置１３０に接続されている。組込コントローラ３２０が記憶装置１３０へのアクセスを希望する時、組込コントローラ３２０は主制御器１１０に割り込み要求を伝送し、また確認情報を受信した後、開閉器３２４を組込コントローラ３２０側に設定して記憶装置１３０をアクセスする。同様に、その他の処理装置３５０が記憶装置１３０へのアクセスを希望する時、その他の処理装置３５０は主制御器１１０に割り込み要求を伝送する。この場合、主制御器１１０は単に所定の時間内で割り込みを確認するため、その他の処理装置３５０が記憶装置１３０をアクセスする時、組込コントローラ３２０の稼動を抑制する必要がない。開閉器３２４は主制御器１１０からの確認情報を受信し、その他の処理装置３５０側に設定されて記憶装置をアクセスさせる。或いは、その他の処理装置３５０の命令によって、組込コントローラ３２０が開閉器３２４を設定する。一方、その他の処理装置３５０は、例えば、多重化装置又は相互制御ライン（ｍｕｔｕａｌｌｙ  ｃｏｎｔｒｏｌｌｅｄ  ｌｉｎｅ）を介して直接に開閉器３２４を制御することもできる。データの取出しが完了した後、その他の処理装置３５０は主制御器１１０を解放する。
【００４５】
上述の内容においてインターフェースとしてＳＰＩを説明したが、上述の実施例及び方法は他の直列又は並列バスプロトコルによっても実行される。例えば、実施例において、バスプロトコル及び／又はバスプロトコルを実行するユニットはバスに対する制御権の規定がなくてもよい。また、バスプロトコルは送信機がコリジョン（ｃｏｌｌｉｓｉｏｎ）を決定することを許す規定がなくてもよい。本発明の実施例において、処理装置と記憶装置間のバスプロトコルはいずれのハンドシェークメカニズムも使わない。
【００４６】
また、図１に示された記憶装置１３０は単一の記憶装置であるが、上述の実施例又は方法は、多数処理装置が多数直列記憶装置を共有する構造にも適用される。
【００４７】
上述の実施例において、主制御器１１０が連続して記憶装置１３０に接続され、組込コントローラ１２０は主制御器１１０に割り込み要求を発送して記憶装置１３０へのアクセスを行う。しかし、他の実施例においては、主制御器１１０が記憶装置１３０をアクセスしようとする時、組込コントローラ１２０に割り込み要求を発送する。
【００４８】
上述の内容は記憶装置を共有する場合を例としているが、他の資源を共有する場合にも適用される。
【００４９】
以上、本発明は好ましい実施例を説明したが、本発明はこの実施例に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は本発明の範囲に属する。
【図面の簡単な説明】
【００５０】
【図１】本発明の第一実施例による複数の処理装置が一つの記憶装置に接続されている構造を示す図である。
【図２】本発明の第一実施例による組込コントローラが記憶装置をアクセスするフローチャートである。
【図３】本発明の他の実施例による記憶装置と別の構成素子との接続を示す図である。
【符号の説明】
【００５１】
１００、  コンピューター
１０２、  第一バス部分
１０４、  第二バス部分
１１０、  主制御器（Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ）
１１４、１３４、  直列周辺インターフェース
１１８、  割り込みインターフェース
１２０、  組込コントローラ
１２１、  処理ユニット
１２２、  ランダムアクセス記憶装置（ＲＡＭ）
１２３、  メモリインターフェース
１２５、  多重化装置
１２８、  レジスタ
１３０、  記憶装置
１４０、  主機（ｈｏｓｔ  ｃｏｍｐｕｔｅｒ）
１４４、  配線
１４６、  線路
１５４、  主装置
２００、２０２、２０４、２０６、２０８、２１０、２１２、２３０、２４０、  ステップ
３２０、  組込コントローラ
３２２、  スイッチ
３２４、  開閉器
３５０、  他の処理装置
【図１】
0004855451.tif 000002
【図２】
0004855451.tif 000003
【図３】
0004855451.tif 000004