(57)【特許請求の範囲】
【請求項１】
（ｉ）第１のメモリ・アドレスに対しデータ・アクセス要求を発生するよう動作可能なデータ処理回路と、
（ｉｉ）前記第１のメモリ・アドレスを第２のメモリ・アドレスに変換すると共に、前記第１のメモリ・アドレスに関連した１つ以上のメモリ・ページ属性値を読み取るように動作可能な変換回路と、
（ｉｉｉ）前記１つ以上のメモリ・ページ属性値に応答して第１のデータ・アクセス・バスまたは第２のデータ・アクセス・バスのいずれかを介し前記第２のメモリ・アドレスに前記データ・アクセス要求を送るように動作可能なバス切り替え回路と、
を有し、
前記１つ以上のメモリ・ページ属性は、前記第１のメモリ・アドレスが、通常のデータ記憶動作を有するメモリか、または通常のデータ記憶動作以外の動作を有する装置のいずれかに関連しているということを示す装置属性を有し、
前記１つ以上のメモリ・ページ属性は、前記第１のメモリ・アドレスが、共有可能記憶区域かまたは非共有可能記憶区域のいずれかと関連していることを示す共有可能属性値を有し、前記バス切り替え回路は、
（ｉ）前記第１のメモリ・アドレスが通常の記憶動作を有するメモリまたは共有可能な記憶区域と関連する時、前記第１のバスに対し前記データ・アクセス要求を送り、
（ｉｉ）前記第１のメモリ・アドレスが通常の記憶動作以外の動作を有する装置および共有不可の記憶区域と関連する時、前記第２のバスに対し前記データ・アクセス要求を送る、
ための手段を有する、データ処理装置。
【請求項２】
前記第１のメモリ・アドレスは仮想アドレスであり、前記第２のメモリ・アドレスは物理アドレスである、請求項１記載のデータ処理装置。
【請求項３】
前記変換回路は変換ルックアサイド・バッファである、請求項１記載のデータ処理装置。
【請求項４】
前記第１のバスは共有可能バスであり、前記第２のバスは専用バスである、請求項１記載のデータ処理装置。
【請求項５】
データ・アクセス要求を発生するよう動作可能で、前記共有可能バスに接続された更なるデータ処理回路を有する、請求項４記載のデータ処理装置。
【請求項６】
前記共有可能バスに接続された共有メモリを有する、請求項５記載のデータ処理装置。
【請求項７】
前記専用バスに接続された専用周辺装置を有する、請求項６記載のデータ処理装置。
【請求項８】
前記１つ以上のメモリ・ページ属性は、前記第１のメモリ・アドレスが共有可能記憶区域かまたは非共有可能記憶区域のいずれかと関連しているということを示す共有可能属性値を有する、請求項１記載のデータ処理装置。
【請求項９】
前記データ処理回路と前記更なるデータ処理回路は対称的な多重処理を行うよう動作可能である、請求項５記載のデータ処理装置。
【請求項１０】
前記データ処理回路と前記更なるデータ処理回路は共通のコンピュータプログラムにより制御される、請求項５記載のデータ処理装置。
【請求項１１】
前記１つ以上のメモリ・ページ属性は、
（ｉ）強く順序付けられている、
（ｉｉ）キャッシュ不可である、
（ｉｉｉ）ライト・スルー・キャッシュが可能である、
（ｉｖ）ライト・バック・キャッシュが可能である
の１つ以上を有する、請求項１記載のデータ処理装置。
【請求項１２】
（ｉ）データ処理回路で第１のメモリ・アドレスに対しデータ・アクセス要求を発生するステップと、
（ｉｉ）前記第１のメモリ・アドレスを第２のメモリ・アドレスに変換すると共に前記第１のメモリ・アドレスに関連した１つ以上のメモリ・ページ属性値を読み取るステップと、
（ｉｉｉ）前記１つ以上のメモリ・ページ属性値に応答して第１のデータ・アクセス・バスまたは第２のデータ・アクセス・バスのいずれかを介して前記第２のメモリ・アドレスに前記データ・アクセス要求を送るステップと、
を有し、
前記１つ以上のメモリ・ページ属性は、前記第１のメモリ・アドレスが、通常のデータ記憶動作を有するメモリか、または通常のデータ記憶動作以外の動作を有する装置のいずれかに関連しているということを示す装置属性を有し、そして
前記１つ以上のメモリ・ページ属性は、前記第１のメモリ・アドレスが、共有可能記憶区域かまたは非共有可能記憶区域のいずれかと関連しているということを示す共有可能属性値を有し、データ・アクセス要求は、
（ｉ）前記第１のメモリ・アドレスが通常の記憶動作を有するメモリまたは共有可能な記憶区域と関連する時、前記第１のバスに対し送られ、
（ｉｉ）前記第１のメモリ・アドレスが通常の記憶動作以外の動作を有する装置および共有不可の記憶区域と関連する時、前記第２のバスに対し送られる、
データ処理方法。
【請求項１３】
前記第１のメモリ・アドレスは仮想アドレスであり、前記第２のメモリ・アドレスは物理アドレスである、請求項１２記載のデータ処理方法。
【請求項１４】
前記変換は、変換ルックアサイド・バッファにより行われる、請求項１２記載のデータ処理方法。
【請求項１５】
前記第１のバスは共有可能バスであり、前記第２のバスは専用バスである、請求項１２記載のデータ処理方法。
【請求項１６】
前記共有可能バスに接続された更なるデータ処理回路で更なるデータ・アクセス要求を発生するステップを有する、請求項１５記載のデータ処理方法。
【請求項１７】
共有メモリが前記共有可能バスに接続されている、請求項１６記載のデータ処理方法。
【請求項１８】
専用周辺装置が前記専用バスに接続されている、請求項１５記載のデータ処理方法。
【請求項１９】
前記１つ以上のメモリ・ページ属性は、前記第１のメモリ・アドレスが、共有可能記憶区域かまたは非共有可能記憶区域のいずれかと関連しているということを示す共有可能属性値を有する、請求項１２記載のデータ処理方法。
【請求項２０】
前記データ処理回路と前記更なるデータ処理回路は対称的な多重処理を行う、請求項１６記載のデータ処理方法。
【請求項２１】
前記データ処理回路と前記更なるデータ処理回路は共通のコンピュータプログラムにより制御される、請求項１６記載のデータ処理方法。
【請求項２２】
前記１つ以上のメモリ・ページ属性は、
（ｉ）強く順序付けられている、
（ｉｉ）キャッシュ不可である、
（ｉｉｉ）ライト・スルー・キャッシュが可能である、
（ｉｖ）ライト・バック・キャッシュが可能である
の１つ以上を有する、請求項１２記載のデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データ処理装置の分野に関する。特に、この発明は、データ処理装置のバス・アーキテクチャに関する。
【０００２】
【従来の技術】
添付図面の図１に示したように、共通バス６に接続された複数のプロセッサ２、４を含むデータ処理装置を提供することは公知である。この共通バス６には、プロセッサ２、４のいずれかによりアクセスされる共有メモリ８も接続されている。プロセッサ２、４のそれぞれの割り込みコントローラ１０、１２は、共通バス６にブリッジ１４を介して接続されている。割り込みコントローラ１０、１２は、プロセッサ２、４間で共有させようとするものではないが、しかし、共通バス６は共有する。
【０００３】
【発明が解決しようとする課題】
図１の構成は、幾つかの欠点を有している。プロセッサ２は、割り込みコントローラ１０、１２のいずれかにアクセスすることができるが、実際には割り込みコントローラ１０を必要とするだけで、この割り込みコントローラにアクセスすることができるだけのものとすべきである。この点は、データ処理装置のセキュリティと完全性を損ないうる。プロセッサ２、４が、共通バス６を共有するそれぞれの割り込みコントローラ１０、１２に正しくアクセスするためには、関連するソフトウエアの互いに異なるバイナリ・イメージを実行しなければならず、共通ソフトウエアを共有することはできない。通信の全ては、共通バス６を介して送られるので、この共通バスで利用できる帯域幅は減少され不利益を蒙る。
【０００４】
【課題を解決するための手段】
一態様から見て、本発明は、
（ｉ）第１のアドレスに対しデータ・アクセス要求を発生するよう動作可能なデータ処理回路と、
（ｉｉ）前記第１のアドレスを第２のアドレスに変換すると共に、前記第１のアドレスに関連した１つ以上の属性値を読み取るように動作可能な変換回路と、
（ｉｉｉ）前記１つ以上の属性値に応答して第１のデータ・アクセス・バスまたは第２のデータ・アクセス・バスのいずれかを介し前記第２のアドレスに前記データアクセス要求を送るように動作可能なバス切り替え回路と、
を有するデータ処理装置を提供する。
【０００５】
本発明では、異なるアドレス範囲に関連した属性値を有するデータ処理装置内に通例設けられるアドレス変換回路は、バス間でデータアクセス要求を切り替える目的でバス切り替え回路を制御する作用を行う属性を記憶するために使用してもよいということが認識されている。これは、上記の問題の一部を取り扱うことを可能にする方法で多重バスの制御を行うための効率的で構成的に魅力的なルートである。
【０００６】
アドレス変換は、多種類の形を取ることができるということは理解されようが、好適な実施例では、第１のアドレスは仮想アドレスであり、第２のアドレスは物理アドレスである。これらのデータ処理装置は、関連する属性を有する変換回路をしばしば使用するので、属性はバス切り替えを制御することも可能である。変換回路の特に効率的な好適な形は、変換ルックアサイド（lookaside）・バッファである。
【０００７】
アドレス空間は、多くの種類の異なる方法で制御してもよいが、本発明の好適な実施例では属性値はメモリ・ページ属性値である。メモリ・ページを制御するレベルと粒度は、異なるバス間での切り替え制御が望ましいレベルと粒度に十分適合される。
【０００８】
第１のバスと第２のバスは、自体に関連した多種類の異なる特性を有してもよく特定の状況下では対称的であってもよいということが理解されるが、特にこの好適な実施例では、第１と第２のバスの１つは共有可能バスで、他のバスは専用バスである。これにより、専用バスに専用の周辺装置を配置することによってセキュリティを改善することができ、一般的にはその帯域幅に対しより多くを要求するであろう共有可能バスから通信要求を取り除くことになる。
【０００９】
共有可能バスと専用バスを備えたデータ処理装置に関連して、好適な実施例は、データアクセス要求を発生するように動作し、また共有可能バスに接続されている更なるデータ処理回路を有している。
共有可能バスと専用バスのアーキテクチャの効率的な使用をこの実施例で行うことができるが、そこでは、共有メモリは共有可能バスに接続され、専用周辺装置はそれぞれのデータ処理回路の専用バスに接続される。
【００１０】
使用される属性値は多種類の異なる形状を取り多種類の異なる特性を表現することができ、例えば、使用されるバスを直接特定する専用の特定属性を提供することが可能であるが、本発明の好適な実施例は、アドレスが通常のデータ記憶動作またはこの通常のデータ記憶動作以外の動作を有する装置（例えば、記憶されたデータが変更されない標準メモリか、または記憶されたデータが他の影響のために変化せずに留まることを必ずしも保障されない周辺装置のいずれか）に関連しているか否かを示す属性のような更なる属性を表示するために設けられた特性を再使用する。バス切り替え制御を支援するために使用することができる更なる属性は、第１のアドレスが共有可能な記憶場所に関連しているか否かを示すものである。
【００１１】
特に好適な実施例で前記のバス切り替え回路は、
（ｉ）前記第１のアドレスが通常の記憶動作または共有可能な記憶場所を有するメモリと関連する時、前記第１のバスに対し前記データ／アクセス要求を送り、
（ｉｉ）前記第１のアドレスが通常の記憶動作以外の動作および非共有可能な記憶場所を有するメモリと関連する時、前記第２のバスに対し前記データアクセス要求を送る、
よう動作可能である。
【００１２】
本技術は、対称的な多重処理が望まれるデータ処理装置に特に良く適合する。このような装置内では、なるべく異なるデータ処理回路が共通のコンピュータ・プログラムにより制御されることが望ましい。
【００１３】
変換回路に記憶される属性は多種類の形状を取り得るが、好適な属性には、次のアクセス要求が開始される前に未処理のアクセス要求が完全に完了されなければならないという強く順序付されたアクセスをサポートしなければならない関連したメモリ区域、キャッシュ不可のメモリ区域、ライト・スルー・キャッシュが可能なメモリアドレス、ライト・バック・キャッシュが可能なメモリアドレス、また装置メモリに対応するメモリ区域ということを示す属性が含まれる。
【００１４】
他の態様から見ると、本発明は、
ｉ）データ処理回路で第１のアドレスに対しデータ・アクセス要求を発生するステップと、
（ｉｉ）前記第１のアドレスを第２のアドレスに変換すると共に前記第１のアドレスに関連した１つ以上の属性値を読み取るステップと、
（ｉｉｉ）前記１つ以上の属性値に応答して第１のデータ・アクセス・バスまたは第２のデータ・アクセス・バスのいずれかを介して前記第２のアドレスに前記データ・アクセス要求を送るステップと、
を有するデータ処理方法を提供する。
【００１５】
この発明の上記及び他の目的、特徴及び利点は、添付図面と関連して読まれるべき実施例の次の詳細な記載から明らかとなろう。
【００１６】
【発明の実施の形態】
図２は、第１のデータ処理回路１６（データ処理コア）と第２のデータ処理回路１８を含むデータ処理装置を示す。これらのデータ処理回路１６、１８の各々は、それ自体のそれぞれの専用バス２０、２２を有し、共通の共有可能バス２４にも接続されている。プロセッサ１用の割り込みコントローラ２６の形をした専用周辺装置は専用バス２０に接続され、プロセッサ２用の割り込みコントローラ２８の形をした専用周辺装置は専用バス２２に接続されている。共有メモリ３０は共有可能バスに接続されていてプロセッサ１と２の両方と通信することができる。
【００１７】
図３は図２でプロセッサ１６、１８の各々の中に設けられた変換ルックアサイド・バッファの動作を示す。プロセッサ１６、１８は、プログラム実行の結果として、関連する仮想アドレスを有するデータ・アクセス要求を発生する。この仮想アドレスＶＡは、変換ルックアサイド・バッファの物理アドレスＰＡに変換される必要がある。変換ルックアサイド・バッファは、適用される仮想アドレスの範囲を特定する部分を備えた複数のページ・テーブル・エントリーを含んでいる。この仮想アドレス部は変換ルックアサイド・バッファの一部を形成する連想メモリの比較部に記憶してもよい。仮想アドレスＶＡは、事実上ページ・テーブル・エントリーの全てと並列に比較され、加えられた仮想アドレスＶＡと特定のページ・テーブル・エントリーに記憶された仮想アドレスとの間に一致が生じると、このヒットがそのページ・テーブル・エントリーに対して記録される。このページ・テーブル・エントリーと関連して、仮想アドレスＶＡを物理アドレスＰＡに変換可能にする物理アドレス部がある（例えば、適切なより高次のビットは変換を受け、より低次のビットは変更されない）。
【００１８】
ページ・テーブル・エントリーには、これらページ・テーブル・エントリーと関連したこれらのメモリアドレスの場所をアクセスし処理する方法を制御する多数の属性値も関連している。特に、これらの属性値には、メモリは強く順序付けされている、標準のメモリよりもむしろ装置と関連している、キャッシュ不可である、ライト・スルー・キャッシュが可能である、ライト・バック・キャッシュが可能である、そして共有可能であるということを示す属性が含まれる。強く順序付けされたメモリは、次のメモリ・アクセス要求が開始可能となる前に、そのメモリへのどのような未処理のメモリ・アクセスも完了されなければならないような制御を受ける。装置メモリは、特定の場所に記憶された値が、これらの場所に対する簡単な読み取り及び書き込みの他、外部影響及び他の非標準的な挙動により変化し得るという意味で、通常の記憶動作を必ずしも必要としないメモリとして定義される。特定のメモリ・アドレスがキャッシュが可能であるか、ライト・スルー・キャッシュが可能か、またはライト・バック・キャッシュが可能であるか否かは、これら語が有する通常の意味で特定もされる。共有可能な属性は、メモリ区域が１つ以上のプロセッサによりアクセス可能か否かを示す。
【００１９】
全レベルで、変換ルックアサイド・バッファは、自体に加えられた仮想アドレスＶＡで動作して特定のページ・テーブル・エントリーについてヒットを発生させ、そのページ・テーブル・エントリーに関連した属性値及びこれに対応する物理アドレスＰＡを変換ルックアサイド・バッファから発生させる。
【００２０】
図４は、異なるバス間の切り替え制御の回路を示す。データ・アクセス要求は、データ・バス部３２で転送されるデータと、アドレス・バス３４に乗せられた仮想アドレスＶＡを含んでいる。仮想アドレスは、変換ルックアサイド・バッファ３６に加えられる。図示よりも多くの属性が変換ルックアサイド・バッファ３６から読み出されるということは理解されようが、図４は、メモリ場所が装置と関連していることと、このメモリ場所が共有可能であり、ＡＮＤゲート３８に加えられるという２つの属性を示す。変換ルックアサイド・バッファ３６からは仮想アドレスＶＡが変換された物理アドレスＰＡも現れる。ＡＮＤゲート３８はデータ・バス３２とアドレス・バス３４の部分に関連したそれぞれのデマルチプレクサ４０、４２を制御する。もしメモリ・アドレスが装置に対応する仮想アドレスＶＡと関連していて非共有可能であるということを属性値が示す場合、アクセス要求は周辺バス４４に送られる。メモリ場所が装置や、共有可能であるメモリ場所に関連しないような他の組み合わせの場合、データアクセス要求は共有可能な読み取り／書き込みバス４６に送られる。
【００２１】
図５は、バス切り替え制御で行われる処理を簡略に示す。ステップ４８で装置は仮想アドレスＶＡが受信されるのを待つ。仮想アドレスＶＡが受信されると、ステップ５０で変換ルックアサイド・バッファ３６においてルック・アップが行われる。ステップ５２で適切なヒットが起こると、関連するそのページ・テーブル・エントリーから物理アドレスＰＡとページ属性を読み取るために関連のページ・テーブル・エントリーがアクセスされる。ステップ５４でそのメモリ場所が装置と関連していることと、そのメモリ場所が共有可能であるということのＡＮＤを属性が示すか否かについて決定が行われる。もしこのブール条件が満足されると、ステップ５６に処理が送られ、デマルチプレクサ４０と４２は周辺バスに対しメモリアクセスを送るように切り替えられる。もしステップ５４での決定が真の値を生じない場合、処理はステップ５８に至り、デマルチプレクサ４０、４２は共有可能な読み取り/書き込みバス４６に対しデータ・アクセス要求を再度送る。
【００２２】
上記のバス切り替え制御は、対称的な多重処理に十分適している。特に、異なるプロセッサは、コンピュータ・プログラムの同一のバイナリ・イメージを実行し得る。それは、それぞれの専用周辺装置が、それぞれの専用バス上で離隔されているからである。扱われる共通のデータは、共有可能バス２４を介してアクセスされる共有メモリ３０内に記憶してもよい。
【００２３】
本発明の実施例は、添付図面に関してここに詳細に記載したが、本発明は、これらの詳細な実施例には限定されず、その種々の変更及び変形は上記の請求の範囲により明確化された本発明の範囲及び主旨から逸脱せずに当業者により実施することができると理解されるべきである。
【００２４】
【発明の効果】
本発明によれば、複数バス間でデータ・アクセス要求を切り替える効率的で魅力的なルート構成が提供された。
【図面の簡単な説明】
【図１】全てのデータアクセスが共通バスを介して送られる複数プロセッサを備えたシステム。
【図２】各々が専用バスと共有バスを有する複数プロセッサを備えたシステム。
【図３】変換ルックアサイド・バッファの使用の略図。
【図４】バス切り替え制御回路。
【図５】バス切り替え制御で行われる処理の概略表示の流れ図。
【図１】
0004266629.tif 000002
【図２】
0004266629.tif 000003
【図３】
0004266629.tif 000004
【図４】
0004266629.tif 000005
【図５】
0004266629.tif 000006