(57)【特許請求の範囲】
【請求項１】
マスタ装置（１１）によってスレイブ記憶装置（１２）にアクセスする方法であって、該アクセスは投機的または非投機的であり、かつ前記記憶装置は単純なメモリ装置であるか読み出しに際してステータス変化を示す危険のある装置であり、前記方法は、
前記マスタ装置（１１）が要求が投機的であるか非投機的であるかに関する情報を含むアクセス要求を発行するステップと、
前記スレイブ記憶装置（１２）が前記アクセス要求が投機的であり、かつ前記記憶装置（１２）が、読み出しアクセスによって格納された情報が影響を受ける装置である場合にアクセスが否定される否定応答によってマスタ装置（１１）に応答するステップと、
マスタ装置（１１）が前記否定応答を受信した場合、該マスタ装置（１１）が更新されたアクセス要求を発行するステップと
を具備することを特徴とするマスタ装置（１１）によってスレイブ記憶装置（１２）にアクセスする方法。
【請求項２】
データ処理システム（１０）であって、
バスサイクルが投機的であるか否かを特定する投機的信号を転送するための第１の導体（１４）と、
スレイブ応答信号を転送するための第２の導体（１５）と、
前記第１および第２の導体に結合されたバスマスタ（１１）と、該バスマスタはバスサイクルを開始しかつ前記第１の導体に前記投機的信号を提供することと、
前記第１および第２の導体に結合されたバススレイブ（１２）とを備え、該バススレイブは、前記第２の導体にスレイブ応答信号を提供し、および、前記バススレイブが読み出しアクセスによって格納された情報が影響を受けない装置であり、かつ前記バスサイクルに応答するため利用可能である場合には前記スレイブ応答信号を肯定し、前記バススレイブが読み出しアクセスによって格納された情報が影響を受ける装置であり、前記バスサイクルが非投機的であり、かつ前記バススレイブが前記バスサイクルに対して応答するため利用できる場合には前記スレイブ応答信号を肯定し、前記バスサイクルが投機的であり、かつ前記バススレイブが、読み出しアクセスによって格納された情報が影響を受ける装置である場合にはスレイブ応答信号を否定する、データ処理システム（１０）。
【請求項３】
データ処理システム（４０）であって、
バスサイクルが投機的であるか否かを特定する投機的信号を転送するための第１の導体（４４）と、
スレイブ応答信号を転送するための第２の導体（４５）と、
前記第１および第２の導体に結合されたバスマスタ（４１）と、該バスマスタは前記バスアクセスを開始しかつ前記投機的信号を前記第１の導体に提供することと、
前記第１および第２の導体に結合されたバス媒介装置（４２）とを備え、該バス媒介装置は前記スレイブ応答信号を前記第２の導体に提供し、および、前記バス媒介装置は前記バスアクセスが、読み出しアクセスによって格納された情報が影響を受けない装置（５０）に対するものでありかつ前記影響を受けない装置（５０）が前記バスアクセスに対して応答するため使用できる場合に前記スレイブ応答信号を肯定し、前記バスアクセスが、読み出しアクセスによって格納された情報が影響を受ける装置（５０）に対するものであり、前記バスアクセスが非投機的であり、かつ前記影響を受ける装置（５０）が前記バスアクセスに対して応答するため使用できる場合に前記スレイブ応答信号を肯定し、前記バスアクセスが、前記影響を受ける装置（５０）に対するものであり、前記バスアクセスが投機的であり、かつ前記影響を受ける装置（５０）が前記バスアクセスに対して応答するため使用できる場合に前記スレイブ応答信号を否定する、データ処理システム（４０）。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般的にはデータ処理システムに関し、かつより特定的にはスレイブ装置が危険にさらされる可能性がある場合のマスタおよびスレイブ電子装置の間での通信のための方法および装置に関する。
【０００２】
【従来の技術】
多くの電子的システムにおいては、例えば、データ処理システムにおいては、プロセッサのようなマスタ装置は、メモリのような１つまたはそれ以上のスレイブ装置と、該スレイブ装置に格納された命令コマンドのようなデータにアクセスするために通信を行う必要がある。数多くのシステムにおいては、マスタ装置によって行われるアクセス要求は「投機的（ｓｐｅｃｕｌａｔｉｖｅ）」、すなわち要求がマスタ装置が実際に前の命令を完了するのに先立って行われるが、該要求は必要とされているデータを見越して行われるものであるか、あるいはマスタ装置によって行われるアクセス要求は「非投機的（ｎｏｎ−ｓｐｅｃｕｌａｔｉｖｅ）」即ち、要求が前の命令が完了しかつマスタ装置が新しいデータとともに進行できる用意ができた後に行われるもののいずれかになる。
【０００３】
例えば、いくつかの知られたデータ処理システムにおいては、１度にいくつかの命令を実行できるプロセッサは投機的に引き続く命令をアクセスしかつ実行されている低速の現在の命令がまだ完了していなくても高速のものを実行することができる。そのような場合、後続のより高速の命令の結果は一時的に記憶されかつ完了したときにプロセッサによって送出されてはならず、それは該命令の結果は依然として係属中のより低速の命令の結果に応じてその後の処理に影響を与えることがあるためである。さらに、もしより低速の命令が完了しなければ、例えば、エラーが発生すれば、より高速の命令の結果は無視されかつこれらの結果によって影響を受けたいずれの値もそれらのもとの値にリセットされなければならない。
【０００４】
【発明が解決しようとする課題】
よく知られているように、いくつかのメモリ装置は読み出されるデータに影響を与えることなく単に読み出し、またはアクセスする、ことができる。しかしながら、あるステータスレジスタのような、他のより危険のあるメモリ装置を読み出す行為は読み出されるデータに影響を与えることがある。いくつかのステータスレジスタはステータスビットが肯定された状態にある場合に該ステータスレジスタに読み出すことによりクリアされ、かつ次に所定の値を該ステータスレジスタに書き込む。また、いくつかのＦＩＦＯ（ファーストイン・ファーストアウト）レジスタは読出しアクセスによってクリアされあるいは進められる。
【０００５】
従って、「危険のある（ｈａｚａｒｄｏｕｓ）」装置は格納された情報が読出しアクセスによって影響を受けることがある装置であり、一方「危険のない」装置は格納された情報が読出しアクセスによって影響されない装置である。従って、もし危険のあるメモリ装置が推測的にアクセスされかつそのときより低速の前の命令が完了していなければ、その危険のある装置をそのもとの状態（すなわち、その危険のある装置が投機的アクセスが行われる前に有していた状態）に戻す上で問題が生じる。
【０００６】
従って、本発明の目的は、上記従来例における問題点に鑑み、危険のある装置への投機的アクセスをも的確に行うことができるようにすることにある。
【０００７】
【課題を解決するための手段】
本発明は危険のある（ｈａｚａｒｄｏｕｓ）装置への投機的アクセスを処理するための方法および装置を提供する。本発明はまた、危険のあるおよび危険のない装置の双方への投機的アクセスおよび非投機的アクセスの双方のような、種々の組合わせのアクセスを可能にする。本発明の一実施態様では、マスタ装置は１つまたはそれ以上のスレイブ装置をアクセスするバスサイクルの間に１つまたはそれ以上のスレイブ装置に対し投機的／非投機的信号を提供する。この投機的／非投機的信号はスレイブ装置に対しその特定のバスサイクルが投機的であるかあるいは非投機的であるかに関する情報を与える。本発明の別の態様では前記投機的／非投機的情報を符号化しかつそれをマスタからスレイブに対し、単一の信号によるよりは、むしろ複数の信号によって提供する。
【０００８】
スレイブ装置は該スレイブがそのアクセスを受け入れたか否か、あるいはスレイブがそのアクセスを受け入れていないがマスタは引き続くバスサイクルの間に再びアクセスを試みることができることを指示する応答信号をマスタに提供することによって応答する。別の態様では前記バスサイクルを受け入れるが前記アクセスがもはや投機的でなくなるまでそのバスサイクルの完了を送らせることができる。もしスレイブ装置が危険のあるものでありかつアクセスが投機的であれば、スレイブ装置は該スレイブがそのアクセスを受け入れないがマスタは引き続くバスサイクルの間に再びアクセスを試みることができることを指示する応答信号をマスタに提供する。
【０００９】
書込みアクセスは通常スレイブ装置に格納された値に影響を与えるから、投機的書込みアクセスはそれらが非投機的になるまで常に避けられる。これに対し、読出しアクセスは通常スレイブ装置に格納された値に影響を与えず、かつ従ってスレイブ装置が危険のあるものであるか否かにもとづき選択的に避けるようにされる。用語「バス」は、データ、アドレス、制御またはステータスのような、１つまたはそれ以上の種々のタイプの情報を転送するために使用できる複数の信号または導体を言及するために使用される。用語「肯定する」および「否定する」は信号、ステータスビット、または同様の装置を、それぞれ、その論理的に真または論理的に偽の状態にすることに言及する場合に使用される。もし論理的に真の状態が論理レベル“１”であれば、論理的に偽の状態は論理レベル“０”である。また、もし論理的に真の状態が論理レベル“０”であれば、論理的に偽の状態は論理レベル“１”である。
【００１０】
【発明の実施の形態】
図１は、バス１３によって双方向的に結合されたマスタ１１および１つまたはそれ以上のスレイブ装置１２を含むデータ処理システム１０を示す。バス１３はマスタ１１によってスレイブ１２に導体１４を介して提供される投機的信号、スレイブ１２によってマスタ１１に導体１５を介して提供されるスレイブ応答信号、および導体１６によって提供される他の信号を含む。他の信号１６はすべてマスタ１１からスレイブ１２に提供されるか、あるいは他の信号１６の内のいくつかはマスタ１１によって提供され一方残りの他の信号１６はスレイブ１２によって提供されてもよい。
【００１１】
図２は、バス２３によって双方向的に結合されたマスタ２１および１つまたはそれ以上のスレイブ装置２２を含むデータ処理システム２０を示す。また、データ処理システム２０は１つまたはそれ以上のマスタ２１を含むことができる。もし複数のマスタ２１およびスレイブ２２が含まれれば、バス信号２３はおのおののマスタ２１およびおのおののスレイブ２２に結合される。図２に示された実施例のみでなく、本発明の任意の実施例は複数のマスタおよび／または複数のスレイブをもつことができることに注意を要する。
【００１２】
バス２３はマスタ２１によってスレイブ２２へと導体２４を介して提供される投機的信号、スレイブ２２によってマスタ２１へ導体２５を介して提供されるアドレスアクノレッジ信号、スレイブ２２によってマスタ２１に導体２６を介して提供されるアドレス認識信号、マスタ２１によってスレイブ２２へと導体２７を介して提供されるアドレスおよび他のアドレス属性信号、そして導体２８を介して提供される他の信号を含む。該他の信号２８はすべてマスタ２１によってスレイブ２２へと提供されてもよく、あるいは他の信号２８のいくらかはマスタ２１によって提供され一方残りの他の信号２８はスレイブ２２によって提供されてもよい。スレイブ２２はレジスタ３０を含む。
【００１３】
図３は、本発明の一実施形態に係わる図２のデータ処理システム２０の動作を示す。
【００１４】
図４は、外部バス５２によって１つまたはそれ以上の外部スレイブ装置５０に双方向的に結合された集積回路５４を含むデータ処理システム４０を示す。集積回路５４はマスタとして動作することができる中央処理ユニット（ＣＰＵ）４１を含む。集積回路５４はまた内部バス４３によってＣＰＵ４１に双方向的に結合されたシステム統合ユニット（ＳＩＵ）４２および他のモジュール４９を含む。
【００１５】
内部バス４３はＣＰＵ４１によって導体４４を介してＳＩＵ４２に提供される投機的信号、ＳＩＵ４２によって導体４５を介してＣＰＵ４１に提供されるアドレスアクノレッジ信号、ＳＩＵ４２によって導体４６を介してＣＰＵ４１に提供されるアドレス認識信号、ＣＰＵ４１によって導体４７を介してＳＩＵ４２に提供されるアドレスおよび他のアドレス属性信号、そして導体４８を介して提供される他の信号を含む。該他の信号４８はすべてＣＰＵ４１によって提供されるものとしてもよく、あるいは他の信号４８の内のいくつかはＣＰＵ４１によって提供され一方他の信号４８の残りのものはＳＩＵ４２または他のモジュール４９によって提供されるよう構成することもできる。
【００１６】
図５は、本発明の一実施形態に係わる図４のシステム統合ユニット（ＳＩＵ）４２を示す。ＳＩＵ４２は導体（単数または複数）８０を介して比較回路７８に１つまたはそれ以上のベースアドレス信号を提供するレジスタ７０を含む。レジスタ７０はまた導体（単数または複数）８１を介して１つまたはそれ以上のマスク信号を比較回路７８に提供する。レジスタ７０は導体８５および８４を介して制御回路７４および他の回路７６に結合され、それによってレジスタ７０は内部バス４３を介して読出しアクセスされかつ書込みアクセスされるよう構成される。
【００１７】
比較回路７８は内部バス４３からアドレスおよび他のアドレス属性信号４７を受信し、制御回路７４から任意選択的に制御信号８５を受信し、かつ導体８２を介して危険のある信号（ｈａｚａｒｄｏｕｓ ｓｉｇｎａｌ）を回路７９に提供する。回路７９は内部バス４３から投機的信号４４を受信し、任意選択的に制御回路７４から制御信号８５を受信し、かつ結果信号を導体８３を介して制御回路７４に提供する。比較回路７８および回路７９はいっしょになって回路７２を形成し、該回路７２は任意選択的に制御回路７４から制御信号８５を受けることができる。
【００１８】
制御回路７４はアドレス認識信号（ａｄｄｒｅｓｓ  ｒｅｃｏｇｎｉｚｅｄ  ｓｉｇｎａｌ）４６およびアドレスアクノレッジ信号４５を内部バス４３に提供する。制御回路７４は導体８４を介して他の回路７６に双方向的に結合されている。他の回路７６は内部バス４３を介して他の信号４８を受信しかつ提供する。他の回路７６はまた外部バス５２を介して外部バス信号を受信しかつ提供する。
【００１９】
図６は、本発明の一実施形態に係わる図５のレジスタ７０を示す。１つの実施形態においては、レジスタ７０はレジスタ９０およびレジスタ９１を含む。レジスタ９０はベースアドレス値を格納するビットフィールド９２を含む。レジスタ９１はマスク値を格納するビットフィールド９３を含む。レジスタ７０におけるリザーブと記されたビットフィールドは他の機能のために確保されている。
【００２０】
図７は、ブロック図形式で、本発明の一実施形態に係わるアドレス値の間の比較を示す。
【００２１】
次に、本発明の動作につき説明する。本発明は危険のある装置への投機的アクセスを取り扱うための方法および装置を提供する。
【００２２】
投機的アクセスはマスタ装置が実際に前の命令を完了するのに先立って要求されるアクセスであり、該要求は必要とされるデータを見越して行われる。非投機的アクセスは前の命令が完了しかつマスタ装置が新しいデータとともに進行する用意ができた後に要求されるアクセスである。一度にいくつかの命令を実行できるプロセッサ（例えば、パイプライン方式プロセッサ）は投機的に引き続く命令をアクセスし、かつ実行されている低速の現在の命令がまだ完了していなくても高速のものを実行する。しかしながら、投機的に実行される命令は決して適切に完了しないかもしれず、かつ従って投機的にアクセスされるスレイブ装置の状態はそのもとの状態（すなわち、前記投機的アクセスが行われる前のその状態）に戻される必要があるかもしれない。
【００２３】
いくつかのスレイブ装置は、読み出されるデータに影響を与えることなく、単に読み出しまたはアクセスすることができるが、他の、危険のある、スレイブ装置（例えば、ステータスレジスタまたはＦＩＦＯレジスタ）を読み出す行為は読み出されるデータに影響を与える可能性がある。従って、もし危険のあるスレイブ装置が投機的にアクセスされかつ次に投機的命令が完了していなければ、危険のあるスレイブ装置の状態をアクセスの前の値に戻す上で問題が生じることがある。
【００２４】
図１を参照すると、本発明の一実施形態においては、バス１３を介してのマスタ装置１１とスレイブ記憶装置１２との間の通信はマスタ装置１１が信号１４および１６によってバス１３上に要求を発行する動作を含む。該要求は該要求が投機的であるかあるいは非投機的であるかを示す投機的信号１４を含む。該要求はスレイブ装置１２によって受信される。
【００２５】
スレイブ装置１２は読出し動作が読み出されているデータに影響を与えない単純なメモリ形式の装置であるか、あるいはデータの読出し動作が該データが変更されたかもしれないかあるいは変更される危険を有する装置である。もしスレイブ装置１２が単純なメモリ装置であれば、前記要求が投機的であるか否かは問題ではなく、かつ従ってスレイブ装置１２はそれが前記要求を読み取りかつそれを処理するよう進行中であることを示す肯定応答（ｐｏｓｉｔｉｖｅ ａｃｋｎｏｗｌｅｄｇｍｅｎｔ）をバス１３上に発行し戻すか、あるいは、例えばそれが他の目的のために使用中でありアクセスを受けることができないため、現在前記要求を処理できないことを示す否定応答（ｎｅｇａｔｉｖｅ ａｃｋｎｏｗｌｅｄｇｍｅｎｔ）を発行する。スレイブ装置１２はスレイブ応答信号１５によってその応答をマスタ１１に提供する。
【００２６】
マスタ装置１１は次に前記応答（アクノレッジメント）、すなわち、スレイブ応答信号１５、を受信しかつ信号１５から、（１）要求がスレイブ１２によって受け入れられたか、あるいは（２）マスタ装置１１はマスタ装置１１が前記要求が受け入れられたことを示す肯定応答を受けるまで前記要求を再発行し続けることができるかを判定する。
【００２７】
もし、これに対し、スレイブ装置１２が危険のある装置であれば、それが危険のある装置であることを知り、該スレイブ装置１２は前記要求が投機的であるか否かを判定する。
【００２８】
もしスレイブ装置１２が前記要求が投機的でないと判定すれば、かつもしスレイブ装置がアクセスに応答するため利用できれば、該スレイブ装置１２はスレイブ応答信号１５によってバス１３上に肯定応答を発行し戻す。本発明の一実施形態では、この肯定応答はスレイブ応答信号１５の肯定（ａｓｓｅｒｔｉｏｎ）である。マスタ１１が肯定応答（すなわち、スレイブ応答信号１５が肯定されたこと）を受信すれば、マスタ１１は次にスレイブ装置１２が前記要求を受信したことおよびスレイブ装置１２が要求されたアクセスのために利用できることを知る。
【００２９】
もし、何らかの理由により、スレイブ装置１２が非投機的要求を取り扱うことができなければ、否定応答がマスタ装置１１に戻され前記要求がそのとき処理できずかつマスタ装置１１はそれが前記要求が処理できることを示す肯定応答を受信するまで前記要求を再発行し続けることを指示する。
【００３０】
もしスレイブ装置１２が前記要求が投機的であるものと判定すれば、スレイブ装置１２がそれを読み出すことによってデータが影響を受ける危険のある装置であることを知り、スレイブ装置１２はそれがビジーであったかのように同じ否定応答を送信し戻し、かつマスタ装置１１は要求を再発行し続ける。しかしながら、もちろん、ある時点において、マスタ装置１１によって再発行された要求は該要求が非投機的であることを示すため更新される。危険のあるスレイブ装置１２が投機的要求を受信し続ける限り、それは否定応答を送信し戻し続ける。しかしながら、前記要求が非投機的であるよう更新されるやいなや、スイレブ装置１２がそれを処理できれば、スレイブ装置１２は肯定応答を送り返す。
【００３１】
従って、マスタ装置１１はスレイブ装置１２が危険のあるものであるか否かを知る必要はない。これはスレイブ装置１２がそれが同じ単純なタイプのものであるかあるいは危険のあるタイプのものであるかにかかわりなく他の装置によって置き換えることができるようにし、マスタ装置１１がスレイブ装置１２の種別を知るためプログラムされる必要がなく、これに対し数多くの知られたシステムの場合はマスタ装置１１にはどのメモリ装置が単純な形式のものでありかつどれが危険のある、または保護されるべきものであるかを示すメモリマップを備えなければならなかった。スレイブ装置１２は、メモリ装置、周辺装置、同じ集積回路上の他のモジュール、その他を含む、任意の種別のスレイブ装置とすることができる。マスタ１１は、中央処理ユニットのようなデータプロセッサを含む、任意の種別のバスマスタとすることができる。他の信号１６はアドレス信号、データ信号、および種々の制御信号を含むことができる。
【００３２】
さらに図１を参照すると、スレイブ装置１２はスレイブ応答信号１５を肯定することによって肯定応答を提供する。スレイブ装置１２はスレイブ応答信号１５を肯定しないことにより、しかしながら代わりにスレイブ応答信号１５をそのデフォールトの否定された状態に留めることにより、否定応答を提供する。もしマスタ１１が肯定応答を受信すれば、該マスタ１１はスレイブ装置１２がバスサイクルを受け入れたことを知りかつバスサイクルは通常どおり完了する。しかしながら、もしマスタ装置１１が否定応答を受信すれば、マスタ装置１１はスレイブ装置１２がバスサイクルを受け入れなかったことを知り、従って、マスタ装置１１は現在のバスサイクルの間に読出しアクセスを完了せず、代わりにマスタ装置１１は将来のバスサイクルの間に読出しアクセスを任意選択的に再試行することができる。
【００３３】
図２は本発明の別の実施形態を示し、この実施形態では、スレイブ応答信号は２つの信号、すなわちアドレスアクノレッジ信号２５およびアドレス認識信号２６を使用して構成される。本発明の別の実施形態では、スレイブ装置２２はマスタ装置２１に応答を与えるためにより多くのまたは異なる信号を使用することができる。アドレスおよび他のアドレス属性信号２７はスレイブ装置２２にアドレス値を提供し、ならびに種々のアドレス属性信号、例えば、読出し／書込み、スーパバイザ／ユーザ、バスサイクルスタート、およびサイズ、を提供する。
【００３４】
スレイブ２２は、メモリ装置、周辺装置、同じ集積回路上の他のモジュール、その他を含む任意の種別のスレイブ装置とすることができる。１つの実施形態では、スレイブ装置２２はレジスタ３０への読み出しアクセスがレジスタ３０内のビットの状態を変更する可能性があるため危険のある装置となる。マスタ装置２１は、中央処理ユニットのようなデータプロセッサを含む、任意の種別のバスマスタとすることができる。他の信号１６はデータ信号および種々の制御信号を含むことができる。
【００３５】
図３は、アドレスアクノレッジ信号２５およびアドレス認識信号２６（図２を参照）によってスレイブ装置２２がマスタ装置２１に伝達する情報を示す。アドレス認識信号２６のデフォールト状態は否定状態である。もし導体２７の部分上にマスタ２１によって提供されたアドレス“Ｘ”に何らのスレイブ装置２２も位置していなければ、応答しかつアドレス認識信号２６を肯定するスレイブ装置２２はない。もしマスタ装置２１がアドレス“Ｘ”におけるスレイブ装置へバスサイクルを開始しかつスレイブ装置がアドレス認識信号２６を肯定することによって応答しなければ、マスタ装置２１はアドレス“Ｘ”にスレイブ装置が配置されていないものと想定する。もしアドレス認識信号２６がスレイブ装置２２によって肯定されなければ、アドレスアクノレッジ信号２５の論理状態はマスタ装置２１によって無視される。（すなわち、ドントケアである）。
【００３６】
しかしながら、もし導体２７の部分上にマスタ２１によって提供されるアドレス“Ｘ”にスレイブ装置２２が配置されていれば、応答しかつアドレス認識信号２６を肯定するスレイブ装置２２が存在する。もしマスタ装置２１がアドレス“Ｘ”におけるスレイブ装置に対しバスサイクルを開始しかつスレイブ装置がアドレス認識信号２６を肯定することによって応答すれば、マスタ装置２１はアドレス“Ｘ”に配置されたスレイブ装置があるものと想定することになる。
【００３７】
もしアドレス認識信号２６が肯定されれば、マスタ装置２１はまたアドレスアクノレッジ信号２５の論理状態を見ることになる。もしスレイブ装置２２がアドレスアクノレッジ信号２５を否定された状態に留めることによって応答すれば、マスタ装置２１はスレイブ装置２２がアクセスを受け入れなかったことおよびマスタ装置２１が引き続くバスサイクルの間にアクセスを再試行できるものと想定する。しかしながら、もしスレイブ装置２２がアドレスアクノレッジ信号２５を肯定することによって応答すれば、マスタ装置２１はスレイブ装置２２が前記アクセスを受け入れたことおよびマスタ装置２１が現在のバスサイクルとともに継続できるものと想定する。
【００３８】
図４は、本発明の別の実施形態を示し、この実施形態ではスレイブ装置５０はバスマスタ（すなわち、ＣＰＵ４１）を含む集積回路５４の外部に位置している。本発明のこの実施形態では、ＳＩＵ４２はマスタ装置（ＣＰＵ４１）とスレイブ装置（外部スレイブ５０）との間のインタフェースまたはバス媒介手段（ｂｕｓ  ｉｎｔｅｒｍｅｄｉａｒｙ）として作用する。ＳＩＵ４２はすべての要求されるスレイブ応答信号をＣＰＵ４１に提供し、すなわちアドレスアクノレッジ信号４５およびアドレス認識信号４６をＣＰＵ４１に提供する。
【００３９】
さらに、ＳＩＵ４２はどのアドレス範囲、かつ従ってどの外部スレイブ装置、が危険がありかつどれが危険がないかに関する情報をプログラムされている。その結果、外部スレイブ５０は本発明を実施するために特別の回路を必要とせず、代わりに、該特別の回路はマスタ４１と同じ集積回路上のＳＩＵ４２内に含めることができる。従って、外部バス５２は標準的なバスでありかつ、外部スレイブ５０のような、危険のあるスレイブ装置への投機的アクセスを処理するために何らの新しい信号または何らの変更をも必要としない。
【００４０】
図４に示された実施形態では、マスタ装置４１もスレイブ装置５０もスレイブ５０が危険のあるものであるか否かに関する情報をプログラムされる必要はない。ＳＩＵ４２のみがスレイブ装置５０が危険のあるものであるか否かに関する情報によってプログラムされる必要がある。これはスレイブ装置５０がそれが同じ危険のないものまたは危険のある種別のものであるかにかかわりなく他の装置によって置き換えることができるようにし、マスタ装置４１がスレイブ装置５０の種別を知るようプログラムされる必要はない。従って、ＣＰＵ４１によって実行されるソフトウエアを変える代わりに、ＳＩＵ４２におけるレジスタのプログラミングの最小限の変更によって危険のない装置から危険のある装置への変更、および逆の変更を処理することができるようになる。
【００４１】
ＣＰＵ４１およびＳＩＵ４２の間のインタフェースは図２に示されかつ上に説明したマスタ装置２１とスレイブ装置２２との間のインタフェースと同様に動作することができる。ＳＩＵ４２および外部スレイブ５０の間のインタフェースは標準的な従来技術の外部バス５２を介して行われる。
【００４２】
図５および図６は図５のＳＩＵ４２の１つの実施形態を示す。ユーザがプログラム可能なレジスタ７０はベースアドレス値９２およびマスク値９３を記憶する。本発明の別の実施形態ではレジスタ７０のために任意の種別の記憶回路を使用することができ、かつベースアドレス値９２およびマスク値９３は長さが任意の数のビットとすることができかつ記憶回路中の任意の場所に配置できる。さらに、本発明の別の実施形態ではマスク値９３なしにベースアドレス値９２を使用することもできる。
【００４３】
本発明の一実施形態では、前記ベースアドレス値９２およびマスク値９３は図７に示されるように使用される。ベースアドレス値９２は導体４７を介して内部バス４３からＳＩＵ４２によって受信されたアドレス値の対応するビットとビットごとのベースで（ｂｉｔ−ｂｙ−ｂｉｔ  ｂａｓｉｓ）比較される。図７に示された実施形態では、内部バス４３から受信されたアドレス値は長さが３２ビットであり、一方ベースアドレス値９２は長さが２２ビットである。本発明の別の実施形態では、ベースアドレス値９２は任意の数のビットとすることができる。また、異なるビット様式の（ｂｉｔ−ｗｉｓｅ）マッピングを行うことができ、例えば、ベースアドレス値のビットＮが内部バスからのアドレス値のビット（Ｎ＋１０）と比較される。
【００４４】
図７に示された本発明の実施形態においては、内部バス４３からのアドレス値とベースアドレス値９２との間のビット様式の比較に影響を与えるためにマスク値９３も使用される。該マスク値９３は実施形態に応じて種々の方法で前記比較に影響を与えるために使用できる。１つの実施形態では、前記マスク値はビット様式のマスクとして使用され、従ってもし前記マスクのビットＮが論理レベル“１”であれば、前記比較は内部バス４３からのアドレス値のビットＮとベースアドレス値９２のビットＮとの間でイネーブルされる。また、もし前記マスクのビットＮが論理レベル“０”であれば、前記比較は内部バス４３からのアドレス値のビットＮとベースアドレス値９２のビットＮとの間でディスエーブルされる。本発明の別の実施形態ではあるビットのビット様式の比較を選択的にイネーブルしかつディスエーブルするために前記マスク値９３を他の方法で使用することができる。
【００４５】
図７に示された本発明の実施形態においては、内部バス４３からのアドレス値のビット０〜１５は常にベースアドレス値９２のビット０〜１５と比較され、内部バス４３からのアドレス値のビット１６〜２１はマスク値９３の対応するビットの値に応じてベースアドレス値９２のビット０〜１５と任意選択的に比較され、かつ内部バス４３からのアドレス値のビット２２〜３２は決していずれか他の値と比較されない。この比較機構の最終的な影響はユーザがメモリマップを変化するサイズの複数のブロックにプログラム可能に区分でき、この場合前記メモリブロックの１つまたはそれ以上が危険のあるものである。別の実施形態では危険のある装置に対してメモリブロックを持たないというオプションを含むことができる。本発明の別の実施形態では種々の異なる比較機構を使用することができ、図７に示された比較機構は単に１つの例にすぎない。
【００４６】
図５を参照すると、回路７２はレジスタ７０からベースアドレス値およびマスク値を受信し、かつ内部バス４３からバスアドレス値および投機的信号を受信する。比較回路７８はバス４３からの到来アドレスの一部を前記マスク値によって特定されるベースアドレス値の部分と比較する。本発明の一実施形態では、回路７２はまた特定の組のアドレスが危険のあるまたは危険のない装置に属するか否かを特定する回路（図示せず）を含むことができる。
【００４７】
本発明の別の実施形態においては、比較の整合を生じるすべてのアドレスは危険のあるものと考えられ、一方比較の整合を生じないすべてのアドレスは危険のないものと考えられる。従って、内部バス４３からのアドレス値とベースアドレス値９２との間の比較が整合を生じれば、危険信号（ｈａｚａｒｄｏｕｓ  ｓｉｇｎａｌ）８２が肯定される。また、もし内部バス４３からのアドレス値とベースアドレス値９２との間の比較が整合を生じなければ、前記危険信号８２は否定される。
【００４８】
回路７９は前記結果信号（ｒｅｓｕｌｔ ｓｉｇｎａｌ）８３を、（１）前記危険信号８２が肯定されれば（すなわち、バス４３上のアドレスに対応する外部スレイブ装置５０が危険のある装置であれば）、および（２）前記投機的信号４４が肯定されれば（すなわち、ＣＰＵ４１が外部スレイブ装置５０への現アクセスが推測的であれば）、肯定する。回路７２は広範囲の方法で実施でき、例えば、比較回路７８および回路７９の機能は組み合わせることができる。制御回路７４は任意選択的にタイミングまたは他の制御情報を回路７２に提供することができる。
【００４９】
前記結果信号８３が肯定されたとき、制御回路７４は内部バス４３上で適切な時間に前記アドレス認識信号４６およびアドレスアクノレッジ信号４５を肯定する。内部バス４３上の種々の信号のタイミングは本発明とは関係がなくかつバスプロトコルごとに変わり得る。
【００５０】
もしＳＩＵ４２がアクセスが投機的でありかつ危険のあるスレイブ装置（例えば、図４の外部スレイブ５０）に対するものであることを判定すれば、ＳＩＵ４２はアドレス認識信号４６を肯定するが、アドレスアクノレッジ信号４５は否定された状態に留める。次にＣＰＵ４１は後の時間にその危険のあるスレイブ装置に対し同じアクセスを再試行することができる。同じ危険のある装置への引き続くアクセスが非投機的なものとなったとき、ＳＩＵ４２はアドレス認識信号４６を肯定しかつまたアドレスアクノレッジ信号４５をも肯定する。
【００５１】
もしＳＩＵ４２がアクセスのために利用できかつ該アクセスが危険のないスレイブ装置（例えば、図４の異なる外部スレイブ５０）に対するものであることを判定すれば、ＳＩＵ４２は、そのアクセスが投機的であるか否かにかかわりなく、アドレス認識信号４６を肯定しかつまたアドレスアクノレッジ信号４５を肯定する。
【００５２】
本発明のいくつかの実施形態のみが詳細に説明されたが、本発明の精神から離れることなく当業者によって種々の変更および改善をなすことができる。従って、この発明は示された特定の形式に限定されるものではなくかつ添付の特許請求の範囲がこの発明の精神および範囲から離れることのないすべての変更をカバーするものであることが理解されるべきである。
【００５３】
【発明の効果】
従って、本発明によれば、スレイブ装置が危険のあるものであってもマスタ装置とスレイブ装置との間で迅速かつ的確に通信を行うことが可能になる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係わるデータ処理システム１０を示すブロック図である。
【図２】本発明の他の実施形態に係わるデータ処理システム２０を示すブロック図である。
【図３】本発明の一実施形態に係わる図２のデータ処理システム２０の動作を図表形式で示す説明図である。
【図４】本発明の他の実施形態に係わるデータ処理システム４０を示すブロック図である。
【図５】本発明の一実施形態に係わる図４のシステム統合ユニット４２を示すブロック図である。
【図６】本発明の一実施形態に係わる図５のレジスタ７０を示すブロック図である。
【図７】本発明の一実施形態に係わるアドレス値の間での比較を示す説明的ブロック図である。
【符号の説明】
１１，２１  マスタ装置
１２，２２  スレイブ装置
１０，２０  データ処理システム
１３，２３  バス
１４，１５，１６，２４，２５，２６，２７，２８  導体
４１  中央処理ユニット
４２  システム統合ユニット
４３  内部バス
４４，４５，４６，４７，４８  導体
４９  他のモジュール
５０  外部スレイブ
５２  外部バス
５４  集積回路
４０  データ処理システム
３０，７０  レジスタ
７４  制御回路
７６  他の回路
７８  比較回路
７９  回路
【図１】
0003705453.tif 000002
【図２】
0003705453.tif 000003
【図３】
0003705453.tif 000004
【図４】
0003705453.tif 000005
【図５】
0003705453.tif 000006
【図６】
0003705453.tif 000007
【図７】
0003705453.tif 000008