(57)【要約】少なくとも２つの集積化プロセッサ（Ｐ１およびＰ２）を含むシステム（１５）。これら２つのプロセッサプロセッサ（Ｐ１およびＰ２）は、通信チャネル（１７）を介して動作可能に接続され、情報を交換する。一方のプロセッサ（Ｐ１）はプロセッサ・バス（１０）と、共用可能ユニット（１３）と、外部ＤＭＡチャネル（１２）を持つＤＭＡユニット（１１）とを有する。ＤＭＡユニット（１１）と共用可能ユニット（１３）とは、プロセッサ・バス（１０）に接続されている。他方のプロセッサ（１２）は、ＤＭＡユニット（１１）の外部ＤＭＡチャネル（１２）に接続されているアクセス・ユニット（２１）を有する。この構成により、外部ＤＭＡチャネル（１２）、ＤＭＡユニット（１１）、およびプロセッサ・バス（１０）を介する、アクセス・ユニット（２１）から共用ユニット（１３）への通信チャネル（１７）が確立できる。
2004508635.tif 000002
【特許請求の範囲】
【請求項１】
通信チャネルを介して動作可能に接続された２つの集積されたプロセッサを備えて、情報交換するシステムであって、
一方のプロセッサが、
プロセッサ・バスと、
前記プロセッサ・バスに接続され、かつ外部ＤＭＡチャネルを有するＤＭＡユニットと、
前記プロセッサ・バスに接続された共用ユニットとを有し、
他方のプロセッサが、
前記外部ＤＭＡチャネルに接続可能なアクセス・ユニットであり、それにより前記外部ＤＭＡチャネル、ＤＭＡユニット、およびプロセッサ・バスを介して、前記アクセス・ユニットから前記共用可能ユニットへの通信チャネルを確立できる、アクセス・ユニットを有する、システム。
【請求項２】
前記２つのプロセッサが、アークテクチャの観点からは同一である、請求項１に記載のシステム。
【請求項３】
前記２つのプロセッサが、同一タイプのプロセッサ構成で実現化されている、請求項１に記載のシステム。
【請求項４】
前記２つのプロセッサが、異なるタイプのプロセッサ構成で実現化されている、請求項１に記載のシステム。
【請求項５】
前記共有可能ユニットが、メモリ、周辺装置、インタフェース、入力デバイス、出力デバイスのいずれかである、請求項１、２、３、または４に記載のシステム。
【請求項６】
前記２つのプロセッサのうちの１つが、中央処理ユニット、マイクロプロセッサ、ディジタル信号プロセッサ、システム・コントローラ、コプロセッサ、または補助プロセッサである、請求項１、２、３、または４に記載のシステム。
【請求項７】
前記ＤＭＡユニットが１つまたは複数の専用内部ＤＭＡチャネルを有する、請求項１、２、３、または４に記載のシステム。
【請求項８】
前記アクセス・ユニットが、プロセッサ・インタフェースと、直接アクセス・ユニット・コアと、外部ＤＭＡチャネル・インタフェースとを備えている、請求項１、２、３、または４に記載のシステム。
【請求項９】
前記プロセッサ・インタフェースが、他方のプロセッサのプロセッサ・バスへの接続のための、データ・リンクと制御リンクとを備えている、請求項８に記載のシステム。
【請求項１０】
前記通信チャネルが半二重チャネルである、請求項１に記載のシステム。
【請求項１１】
前記通信チャネルが、データおよび／または制御情報を前記共用ユニットとの間で転送するために使用されている、請求項１〜１０のいずれかに記載のシステム。
【請求項１２】
共通半導体ダイ上に配置され、かつ通信チャネルを介して動作可能に接続されている２つのプロセッサを備えて、情報交換するコンピューティング・デバイスであって、
一方のプロセッサが、
プロセッサ・バスと、
前記プロセッサ・バスに接続され、かつ外部ＤＭＡチャネルを有するＤＭＡユニットと、
前記プロセッサ・バスに接続された共用ユニットとを有し、
他方のプロセッサが、
前記外部ＤＭＡチャネルに接続可能なアクセス・ユニットであり、それにより前記外部ＤＭＡチャネル、ＤＭＡユニット、およびプロセッサ・バスを介して、前記アクセス・ユニットから前記共用可能ユニットへ通信チャネルを確立できる、アクセス・ユニットを有する、コンピューティング・デバイス。
【請求項１３】
前記コンピューティング・デバイスが、ＰＤＡ、ハンドヘルド・コンピュータ、パームトップ・コンピュータ、セルラー式電話、またはコードレス電話の部分である、請求項１２に記載のコンピューティング・デバイス。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は、２つまたはそれ以上のプロセッサ間の通信に関する。特に本発明は、同一半導体ダイ上に配置されたプロセッサの間のプロセッサ間通信に関する。
【０００２】
（発明の背景）
高性能なコンピューティング・デバイスに対する需要が増大するに伴ない、複数のプロセッサを含む多くのシステムが提供されている。
【０００３】
本発明の目的に対しては、２つまたはそれ以上の個別のプロセッサを含むコンピュータ・システムと、２つまたはそれ以上のプロセッサが同一チップ上に集積化されているシステムとの区別がなされる。マザーボード上の主中央処理ユニット（ＣＰＵ）と、グラフィック・カード上の演算プロセッサとを有するコンピュータは、個別の２つのプロセッサを持つコンピュータ・システムの例である。複数の個別のプロセッサを含むコンピュータ・システムの別の例は並列コンピュータであり、この並列コンピュータでは、高性能を達成するようにプロセッサ・アレイが配置されている。簡単化のために、２つまたはそれ以上の個別プロセッサを有するボード上のシステムもまた、同一カテゴリに属するものと考える。
【０００４】
２つまたはそれ以上のプロセッサが同一チップまたは半導体ダイ上に集積化されているシステムがある。代表的例がスマートカード（ＳｍａｒｔＣａｒｄ）（集積回路カードとも呼ばれている）であり、このカードは、同一半導体ダイ上にメイン・プロセッサとクリプト（ｃｒｙｐｔｏ）・プロセッサとを有する。
【０００５】
小型ハンドヘルド・デバイスが普及するに伴ない、高性能な汎用性チップに対する需要が増大してきた。代表的な例はセルラー式電話であり、この電話は、普及の初期段階では単に音声伝送（アナログ通信）用としてだけの電話であった。数年に渡り、追加機能が付加されてきた結果、今日のセルラー式電話の大部分は音声およびデータのサービス用に設計されている。追加の差別機能は、最近の開発のいくつかを挙げるとすると、ワイヤレス応用プロトコル（ＷＡＰ）のサポート、ページング、およびショート・メッセージ・システム（ＳＭＳ）の機能である。これらの機能はすべて、高性能なプロセッサおよび多くの場合デュアルプロセッサまたはマルチプロセッサ・チップを必要とする。
【０００６】
将来は、例えばディジタル・ビデオ・ストリームを処理するシステムが利用可能になるであろう。これらのシステムもまた、高性能な汎用性チップ・セットを必要とする。
【０００７】
他の例としては、例えばパーム・トップ・コンピュータまたはＰＤＡ（携帯用情報端末）その他のような、多用途Ｊａｖａ（登録商標）Ｃａｒｄおよび小型ハンドヘルド・デバイスなどの集積回路カードである。
【０００８】
このようなデュアルプロセッサまたはマルチプロセッサ・チップに対しては、効率的なプロセッサ間通信の通信チャネルの存在が重要である。ここで使用する「プロセッサ間通信」の用語は、第１プロセッサおよび／または第１プロセッサに関連するシステム資源と、第２プロセッサおよび／または第２プロセッサに関連するシステム資源との間のすべての通信に対する同義語として使用される。共用メモリはシステム資源の一例であり、このメモリは、チップのすべてのプロセッサからアクセス可能であることを必要とする。
【０００９】
プロセッサがタスクの同一側面または同一タスクの異なる側面に関して並列に動作する場合、システム資源をデュアルプロセッサまたはマルチプロセッサ・チップ内で効率的に共用する必要がある。資源の共用はまた、プロセッサを呼び出して関連データを処理する場合の用途においても必要である。
【００１０】
マルチプロセッサ・システムの一例は、欧州特許出願ＥＰ　０５８０９６１−Ａ１（１９９３年４月１６出願）に記載されている。引用した特許出願は、複数の個別プロセッサとこれら全プロセッサで共用される全体バスとを有するシステムに関するものである。拡張されたプロセッサ・インタフェースを備えて、プロセッサを共通バスにリンクする。このようなマルチプロセッサ・システムは、大きいバス負荷がシステム性能に悪影響を与えるため、ＲＩＳＣプロセッサには不向きである。ＥＰ　０５８０９６１−Ａ１に記載されているマルチプロセッサ・システムは高性能ではあるが、実現には複雑でかつ高価である。図示された構造は共通ダイ上のマルチプロセッサシステムで使用できない。
【００１１】
別のシステムは米国特許のＵＳ　４，８６６，５９７（１９８５年４月２６日出願）で提案されている。この米国特許は、各プロセッサが独自のプロセッサ・バスを有するマルチプロセッサに関するものである。データはこれらプロセッサ間で、それぞれのプロセッサ・バスを直接相互接続している先入れ先出しデータ・バッファ（ＦＩＦＯ）を介して交換される。この方法の欠点は、転送されるデータ量に対してバッファのサイズが著しく増加することである。
【００１２】
共用メモリを有するマルチプロセッサ・システムは、米国特許のＵＳ　５，２８３，９０３（１９９１年９月１７日出願）に記載され、特許請求されている。この米国特許によるシステムは複数のプロセッサと、共用メモリ（メイン・メモリ）と、優先セレクタ・ユニットとを備えている。優先セレクタ・ユニットは共用メモリへのアクセス要求を、これらのプロセッサ間で仲裁する。この機能は、共用メモリが、複数のプロセッサからの要求を同時に処理できず、したがってそれらが競合する、単一ポート・メモリ（例えばランダムアクセス・メモリ）であるために必要な機能である。この方法の欠点は、共用メモリが単に中間記憶領域としては高価である点である。共用メモリは、データ転送の増加に伴ない大きくなる。
【００１３】
別のマルチプロセッサ・システムは米国特許のＵＳ　５，２８９，５８８（１９９０年４月２４日出願）に記載されている。これらのプロセッサは共通バスに接続されており、この共通バスを介して共用メモリにアクセスできる。キャッシュ・メモリが各プロセッサに対応付けされ、仲裁手法を使用して共用メモリへのアクセスを制御する。この方法の欠点は、キャッシュ・メモリが、単に大きいサイズのキャッシュが実際性能の向上を実現するものだけとしては高価である点である。さらに、バス・コンフリクトにより、各プロセッサの性能が低下する結果を招く。
【００１４】
マイクロプロセッサ・アーキテクチャはＰＣＴ特許出願ＰＣＴ／ＪＰ９２／００８６９（１９９２年７月７日出願）に記載され、ＰＣＴ公開番号ＷＯ　９３／０１５５３で公開されている。このアーキテクチャは、データ、アドレス、および制御信号バスにより結合されている複数の異種プロセッサをサポートする。メモリへのアクセスは仲裁回路により制御される。
【００１５】
既知のマルチプロセッサ・システムのいくつかは、プロセッサ間通信がプロセッサの処理サイクルの一部を占有するようなアーキテクチャを使用している。このオーバヘッドを回避し、プロセッサの処理負担を軽減して、プロセッサの能力と性能とを活用できるようにすることが望ましい。
【００１６】
別の既知の手法は、２つまたはそれ以上のプロセッサを同一チップ上に配置している、集積化マルチプロセッサ・システムに対しては使用できない。
【００１７】
いくつかの既知のシステムのさらに別の欠点は、それらのシステムがそれの実現化において非対称であり、その結果各プロセッサに対し異なる実現化が必要とされることである。さらに形式検査の手間が、対称実現化に比べて増大する。
【００１８】
（発明の概要）
本発明の目的の１つは、２つまたはそれ以上のプロセッサおよび／またはそれらの関連コンポーネントとの間の通信方式を提供することである。
【００１９】
本発明の目的の１つは、半導体ダイへの集積化に適するプロセッサ間通信方式を提供することである。
【００２０】
これらおよびその他の目的は、少なくとも２つの集積化プロセッサを含むシステムを提供する本発明により達成される。本発明によれば、これら２つのプロセッサは通信チャネルを介して動作可能に接続されて、情報交換している。一方のプロセッサ（Ｐ１）はプロセッサ・バスと、共用ユニットと、外部ＤＭＡチャネルを持つＤＭＡユニットとを有する。ＤＭＡユニットと共用ユニットとはプロセッサ・バスに接続されている。他方のプロセッサはＤＭＡユニットの外部ＤＭＡチャネルに接続可能なアクセス・ユニットを有する。この構成により、外部ＤＭＡチャネル、ＤＭＡユニット、およびプロセッサ・バスを介する、アクセス・ユニットから共用ユニットへの通信チャネルが確立できる。
【００２１】
２つのプロセッサは共通半導体ダイ上に配置できる。これにより、例えばＰＤＡ、ハンドヘルド・コンピュータ、パームトップ・コンピュータ、セルラー式電話、およびコードレス電話などのようなコンピューティング・デバイスを実現できる。
【００２２】
有利には通信チャネルを使用して、２つまたはそれ以上および／またはそれらの関連コンポーネント間の通信が可能になる。本発明の構成は一般的なマルチコア（ｍｕｌｔｉ−ｃｏｒｅ）通信の必要事項に適合する。この構成は対称性に優れており、したがって各プロセッサに対し別途に必要なバス・マスタの数を最小化する。本発明の手法は拡張性があり、また汎用性に優れている。
【００２３】
本発明のこれらおよびその他の態様は、以下に述べる実施形態により説明され、また明らかになるであろう。
【００２４】
本発明のより完全な説明と別の目的および利点とに関しては、添付図面に関連付けて述べる以下の説明によりなされる。
【００２５】
（好ましい実施形態の詳細な説明）
本発明はいくつかの実施形態に関連付けして記載される。
【００２６】
図１に示すように、本発明を適用するデュアルプロセッサ・システム１５は、プロセッサ・バス１０を介して共用ユニット１３に接続される第１プロセッサＰ１を含む。プロセッサ・バス（マイクロプロセッサ・バスとも呼ばれる）はコンピュータ・システムのプロセッサに接続している主パス（ｍａｉｎ　ｐａｔｈ）である。共用可能ユニット１３の例は、共用メモリ（例えばＲＡＭ；ランダム・アクセス・メモリ）である。第１プロセッサ・バス１０は６４ビット、２０ＭＨｚバスである。システム１５は、プロセッサ・バス２０を有する第２プロセッサＰ２も含む。この第２プロセッサ・バス２０は６４ビット、６６ＭＨｚバスである。２つのプロセッサ環境１６と２２との間の相互接続（図１の円で概略的に示す）は、ＤＭＡ（直接メモリ・アクセス）ユニット１１を介して確立される。従来のまたは特殊目的のＤＭＡ方式が使用できる。ＤＭＡユニット１１はそれの内部インタフェース１４を介してプロセッサ・バス１０に接続され、またそれの外部インタフェース１２を介してアクセス・ユニット２１に接続されている。外部インタフェース１２は１６ビット幅である。アクセス・ユニット２１自体は第２プロセッサＰ２のプロセッサ・バス２０にリンクされている。情報交換のための通信チャネルはユニット２１と共用可能ユニット１３の間に確立できる、すなわちプロセッサ環境２２および／またはユニット２１内のデバイスは、プロセッサＰ１を通過する必要なしに、また共用可能ユニット１３が第１プロセッサＰ１に関連付けされていたとしても、共用可能ユニット１３にアクセスできる。プロセッサＰ１とＰ２とは共通半導体ダイ（図１に図示なし）上に集積化され、その結果他のユニットも集積化される。
【００２７】
図２は、２つのプロセッサ環境１６および２２を有する共通半導体ダイ１８の概略図である。本発明により確立されるプロセッサ間通信のための通信チャネル１７がある。
【００２８】
このデュアルプロセッサ構成１５により、第２プロセッサＰ２は共用可能ユニット１３にアクセスできる。一般化して言えば、本発明によるマルチプロセッサ・システムの１つのプロセッサ（本発明の実施形態ではプロセッサＰ２）は、もう１つのプロセッサ（本発明の実施形態ではプロセッサＰ１）に関連付けされている資源（本発明の実施形態では共用可能ユニット１３）にアクセス可能である。
【００２９】
本発明の手法を使用して、種々のタイプのプロセッサを相互接続できる。本発明の手法により、複数の同種のプロセッサを用いて、または複数の異種のプロセッサを用いても、チップを実現できる。ここでは、ワード・プロセッサは、半導体チップに集積化でき、かつデータを用いて命令およびワークを実際に実行するすべての処理ユニットの同義語として使用される。
【００３０】
複雑命令セット・コンピュータ（ＣＩＳＣ）は、現在使用されている２つの主タイプのプロセッサ方式の１つである。このタイプは、縮小命令セット・コンピュータ（ＲＩＳＣ）デザインに比べて支持率を徐々に低下させている。現在最も普及しているＣＩＳＣプロセッサはｘ８６であるが、６８ｘｘ、６５ｘｘ、およびＺ８０も使用されている。
【００３１】
現在最速のプロセッサはＲＩＳＣベースのプロセッサである。普及したいくつかのＲＩＳＣプロセッサがあり、それらにはＡｌｐｈａ（Ｄｉｇｉｔａｌにより開発され、現在はＤｉｇｉｔａｌ／ＣｏｍｐａｑおよびＳａｍｓｕｎｇにより製造されている）、ＡＲＭ（Ａｄｖａｎｃｅｄ　ＲＩＳＣ　Ｍａｃｈｉｎｅｓにより開発され、現在はＩｎｔｅｌが保有し、現在前者およびＤｉｇｉｔａｌ／Ｃｏｍｐａｑの両者で製造されている）、ＰＡ−ＲＩＳＣ（Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄで開発された）、ＰｏｗｅｒＰＣ（ＩＢＭ、Ａｐｐｌｅ、Ｍｏｔｏｒｏｌａの共同研究で開発された）、およびＳＰＡＲＫ（Ｓｕｎで開発され、現在は多くの異なる企業で製造されている）が含まれている。
【００３２】
ＡＲＭは他の大部分のプロセッサと異なり、性能を最大にするように設計されておらず、消費パワー当りの性能を最大にするように設計されている。したがってＡＲＭは、その用途の大部分がハンドヘルド・マシンおよびＰＤＡに利用されている。
【００３３】
前述のセクションでは、本発明により相互接続可能なプロセッサのいくつかの例を述べた。また、Ｒ．Ｅ．Ａ．Ｌプロセッサ、既知のプロセッサのすべてのプロセッサ・コア、および顧客指定プロセッサの構成に適している。言いかえると、本発明の概念は大部分のマイクロプロセッサ・アーキテクチャに適用できる。図１の実施形態に関連付けて示したように、プロセッサを低速のプロセッサ・バスにも高速のプロセッサ・バスにも相互接続できる。
【００３４】
本発明の目的に対し、以下のようなプロセッサが考えられる。すなわち、中央処理ユニット（ＣＰＵ）、マイクロプロセッサ、ディジタル信号プロセッサ（ＤＳＰ）、システム・コントローラ（ＳＣ）、コプロセッサ、補助プロセッサ、その他が考えられる。
【００３５】
直接メモリ・アクセス（ＤＭＡ）ユニットは、メモリから別のデバイスにプロセッサを通さずにデータを通過させるように設計されたユニットである。ＤＭＡは一般に、外部の周辺装置に対する、１つまたは複数の専用内部ＤＭＡチャネルと、１つまたは複数の専用外部ＤＭＡチャネルとを有する。例えば、ＤＭＡにより、プロセッサ・バス上のデバイスはプロセッサの介入なしにメモリにアクセスできる。
【００３６】
共用可能ユニットの例は、揮発性メモリ、不揮発性メモリ、周辺装置、インタフェース、入力デバイス、出力デバイス、その他である。
【００３７】
アクセス・ユニット２１の実現例を図３に示す。ユニット２１はプロセッサ・インタフェース３２、直接アクセスユニット（ＤＡＵ）３１、外部ＤＭＡチャネル・インタフェース３０を含む。プロセッサ・インタフェース３２は、プロセッサ・バス２０に接続するためのデータ・リンク３３と制御リンク３４とを有する。外部ＤＭＡチャネル・インタフェース３０は、ＤＭＡユニット１１の外部チャネル１２に接続する出力を有する。アクセス・ユニット２１はプロセッサ・バス２０とＤＭＡユニット１１との間の半二重チャネルを提供する。アクセス・ユニット２１は外部ＤＭＡチャネル１２を利用して、共用可能ユニット１３に入・出力する情報（データおよび／または制御情報）を転送する。このような外部ＤＭＡチャネル―内部ＤＭＡチャネルが、それが関連付けされているプロセッサにより制御されるのと異なり―は外部デバイスにより設定され、その設定によりリモート・プロセッサＰ２が共用可能ユニット１３にアクセスできる。
【００３８】
アクセス・ユニット２１は、第１プロセッサＰ１のクロック領域と第２プロセッサＰ２のクロック領域との間のデータ・フローを切り離す。これは、アクセス・ユニット２１のレジスタへのアクセスが、ＤＭＡ１１の外部チャネル１２にデータを実際に転送する時間長さに関係無く、常に１サイクルで実行できることを意味する。その時間中、転送は図１の右側に位置する、左側は、具体例に依存して機能停止または機能遂行できる。これは、性能上の悪影響もほとんど受けずに、プロセッサ２が動作を続行できることを意味する。
【００３９】
本発明によれば、アクセス・ユニット２１は１つのコアだけによりプログラム可能である。
【００４０】
外部ＤＭＡチャネル・インタフェース３０および／またはＤＡＵコア３１は標準化できる。言いかえると、本発明によれば、各アクセス・ユニットは同一機能コアを含むことができる。実際に使用されているプロセッサおよび／またはプロセッサ・バスに依存して、プロセッサ・インタフェース３２だけを適合させられる。この結果、再利用の最大化と検査手間の低減により、開発時間の短縮がなされる。
【００４１】
図３に示すように、アクセス・ユニット２１は２つの異なるユニット、すなわち外部ＤＭＡチャネル・インタフェース３０とＤＡＵコア３１とを含む。これの利点は、最適データ同期がこのような構成により保証できることである。さらにまた、ＤＭＡチャネル・インタフェース３０とＤＡＵコア３１を組み合せて１つのユニットにすることも可能である。
【００４２】
図４には、デュアルプロセッサ・システム４５の別の実施形態を示す。この構成は対称タンデムを呼ばれる。このシステム４５は、プロセッサ・バス４０を介して共用可能ユニット４３に接続される第１プロセッサＰ１を含む。第１プロセッサ・バス４０は８ビット、１５０ＭＨｚバスである。システム４５は、プロセッサ・バス５０を有する第２プロセッサＰ２も含む。この第２プロセッサ・バス５０は３２ビット、６６ＭＨｚバスである。すなわちバス４０はバス５０に比べて高速である。第１プロセッサ環境４６から第２プロセッサ環境５２への相互接続（図４の円で概略的に示す）は、アクセス・ユニット４８とＤＭＡ５４とを介して確立され、第２プロセッサ環境５２から第１プロセッサ環境４６への相互接続は、アクセス・ユニット５１とＤＭＡ４１とを介して確立される。
【００４３】
ＤＭＡユニット４１はそれの内部インタフェース４４を介してプロセッサ・バス４０に接続され、またそれの外部インタフェース４２を介してアクセス・ユニット５１に接続されている。外部インタフェース４２は８ビット幅である。アクセス・ユニット５１自体は第２プロセッサＰ２のプロセッサ・バス５０にリンクされている。情報転送のための通信チャネルはユニット５１と共用可能４３との間に確立できる、すなわちプロセッサ環境５２および／またはユニット５１内のデバイスは、プロセッサＰ１を通過する必要なしに、また共用可能ユニット４３が第１プロセッサ環境４６に関連付けされていたとしても、共用可能ユニット４３にアクセスできる。第２プロセッサ環境５２もまた、第１プロセッサ環境４６内からアクセスできる共用可能ユニット５３を含む。
【００４４】
ＤＭＡユニット５４はそれの内部インタフェース５７を介してプロセッサ・バス５０に接続され、またそれの外部インタフェース５５を介してアクセス・ユニット４８に接続されている。外部インタフェース５５は８ビット幅である。アクセス・ユニット４８自体は第１プロセッサＰ１のプロセッサ・バス４０にリンクされている。情報転送のための通信チャネルはユニット４８とプロセッサ環境５２内の特定の資源との間に確立できる、すなわちプロセッサ環境４６および／またはユニット４８内の資源は、プロセッサＰ２を通過する必要なしに、プロセッサ環境５２内の特定の資源にアクセスできる。これは、第２プロセッサＰ２に接触することなく、このプロセッサ環境５２内の資源にアクセスできることを意味する。
【００４５】
図５は、２つのプロセッサ環境４６と５２を持つ共通半導体ダイ４９の概略を示す。プロセッサ間通信のための、プロセッサ環境５２からプロセッサ環境４６に確立された通信チャネル４７と、プロセッサ環境４６からプロセッサ環境５２に確立された通信チャネル５６とが存在する。
【００４６】
この対称デュアルプロセッサ構成４５により、第２プロセッサＰ２は共用可能ユニット４３にアクセスでき、また第１プロセッサＰ１はプロセッサ環境５２内の資源にアクセスできる。
【００４７】
図６の下半分には、ＤＭＡユニット４１およびアクセス・ユニット５１の実現例を示す。図６の上半分には、ＤＭＡユニット５４およびアクセス・ユニット４８を示す。ユニット５１と４８とは図３のユニット２１と同一である。変更に必要な部分はプロセッサ・インタフェース６２と７２だけである。直接アクセス・ユニット・コア（ＤＡＵコア）６１および７１と、外部ＤＭＡチャネル・インタフェース６０および７０とは同一である。プロセッサ・インタフェース７２は、プロセッサ・バス５０に接続するためのデータ・リンク５８と制御リンク５９とを有する。外部ＤＭＡチャネル・インタフェース７０は、ＤＭＡユニット４１の外部ＤＭＡチャネル４２に接続する出力を有する。アクセス・ユニット５１はプロセッサ・バス５０とＤＭＡユニット４１との間の半二重チャネルを提供する。アクセス・ユニット５１は外部ＤＭＡチャネル４２を利用して、共用可能ユニット４３に情報（データおよび／または制御情報）を転送する。外部ＤＭＡチャネル・インタフェース６０はＤＭＡユニット５４の外部ＤＭＡチャネル５５を接続する出力を有する。アクセス・ユニット４８はプロセッサ・バス４０とＤＭＡユニット５４との間の半二重チャネルを提供する。アクセス・ユニット４８は外部ＤＭＡチャネル５５を利用して、プロセッサ環境５２の情報（データおよび／または制御情報）を転送する。
【００４８】
アクセス・ユニット５１および４８は、図７に概略的に示すように、第１プロセッサＰ１のクロック領域と第２プロセッサＰ２のクロック領域との間のデータ・フローを切り離す。第１プロセッサＰ１のクロック信号（Ｐ１クロック）はクロック・ライン７４を介して、ＤＡＵコア６１とアクセス・ユニット４８のプロセッサ・インタフェース６２とに供給される。第２プロセッサＰ２のクロック信号（Ｐ２クロック）はクロック・ライン７３を介して、ＤＡＵコア７１とアクセス・ユニット５１のプロセッサ・インタフェース７２とに供給される。アクセス・ユニット５１または４８のレジスタへのアクセスは、外部チャネル４２または５５にデータを実際に転送する時間長さに関係無く、１プロセッササイクルで実行できる。
【００４９】
図８は、本発明の別の実施形態による３つのプロセッサＰ１、Ｐ２、Ｐ３を含むコンピュータ・システム８０のブロック図である。第１プロセッサＰ１は第１プロセッサ・バス８１を介してＤＭＡ１に接続されている。ブリッジ８２はプロセッサ・バス８１を、いくつかの周辺装置１ａと１ｂとを持つ低速周辺装置バス８３にリンクするために使用される。これらエレメントが第１プロセッサ環境のすべての部分である。第２プロセッサＰ２と高速プロセッサ・バス８４とが第２プロセッサ環境のすべての部分である。プロセッサＰ３は高速プロセッサ・バス８５とブリッジ８６とを介して低速周辺バス８７にリンクされている。本発明の実施形態では、２つの周辺装置３ａと３ｂとがこの周辺装置バス８７に接続されている。本発明によれば、図８に示すように、物理的半二重チャネルが３つのプロセッサＰ１、Ｐ２、Ｐ３間に確立されている。ＤＡＵコアと外部ＤＭＡチャネル・インタフェースとを含むアクセス・ユニット８８を使用して、プロセッサ・バス８４と第１プロセッサＰ１のＤＭＡ１との間のコネクション８９を確立している。ＤＡＵコアと外部ＤＭＡチャネル・インタフェースとを含むアクセス・ユニット９０が第１プロセッサ環境内にある。このアクセス・ユニット９０を使用して、第２プロセッサ環境のＤＭＡ２とのコネクション９１を確立している。一方の側のアクセス・ユニット８８およびＤＭＡ１の配置と、他方の側のアクセス・ユニット９０およびＤＭＡ２の配置は、図８に示すように対称である。本発明ではまた、第１プロセッサ環境と第３プロセッサ環境との間のコネクション９２が存在する。このコネクション９２は左側のアクセス・ユニット９３と右側のＤＭＡ３との間に確立されている。最後に、しかし重要性が最も低いものではないが、第２および第３プロセッサ環境を相互接続するコネクション９５もある。このコネクション９５はアクセス・ユニット９４をＤＭＡ２にリンクする。アクセス・ユニット９０、９３、９４は、低速周辺装置バス８３、８７内に配置され、外部チャネル９１、９２、９５として別のプロセッサのＤＭＡユニットＤＭＡ２、ＤＭＡ３に接続される。これにより、対称性に優れたコア間ソリューションを提供する。アクセス・ユニット９０、９３、９４は外部ＤＭＡチャネルを使用して、リモート周辺装置との間のデータ転送を行う。
【００５０】
図９には、さらに別の実施形態１００を示す。この実施形態１００では、ディジタル信号プロセッサ（ＤＳＰ）コア１０１とシステム・コントローラ（ＳＣ）コア１０２との間に２つの物理的半二重チャネルを装備している。ＤＳＰ入力／出力スペースに入力／出力バス１０５に接続されたアクセス・ユニット１０３がある。２つの周辺装置（周辺装置１ａおよび２ａ）が周辺装置バス１１８に接続されている。このアクセス・ユニット１０３は外部チャネル１０６として、ＳＣ１０２の環境内のＤＭＡ２に接続している。アクセス・ユニット１０４はＳＣ入力／出力スペース内に置かれ、そこで周辺装置バス１０７に接続している。２つの周辺装置（周辺装置１ｂおよび２ａ）が周辺装置バス１０７に接続されている。このアクセス・ユニット１０４は外部チャネル１０８として、ＤＳＰ１０１の環境内のＤＭＡ１に接続している。本発明の実施形態では、各アクセス・ユニット１０３、１０４は、オートインクリメント（ａｕｔｏ−ｉｎｃｒｅｍｅｎｔ）機能を持つ３２ビットアドレス・レジスタ（ｓ＋＋）１０９、１１０と、１６ビットのデータ・レジスタ１１１、１１２、１１３、１１４を装備している。
【００５１】
コアによる遠隔メモリ・スペース１１５、１１６への直接アクセスは間接アドレス指定方法で実行できる、すなわちアドレスがアドレス・レジスタ１０９、１１０の書き込まれた後に、データをデータ・レジスタ１１１、１１２、１１３、１１４を介して転送できる。オートインクリメント機能がイネーブルの場合、さらに、後続のアドレスへのアクセスはそれぞれのアドレス・レジスタの明示設定なしに実行できる。これにより、ブロック転送のオーバヘッドを最小にし、アドレス供給を必要とせずにＤＭＡを使用可能になる。
【００５２】
ＤＡＵコアとＤＭＡとによるアクセス・ユニットの競合使用の場合、２つのオートインクリメント・アドレス・レジスタを備えて、準並列動作を実行できる。
【００５３】
ＳＣバス１１７が長時間ＳＣコア１０２に占有されている場合、直接アクセスにより、ＤＳＰ１０１側に長い待ち時間が生じる可能性がある。ビジー期間中の大きいデータ・ブロックの転送に対しては、前記の不都合はＳＣバス１１７上の仲裁モードを変更することにより改良できる。
【００５４】
ブロック転送モードを実現することも可能である。このモードでは、アクセス・ユニットは、両方のＤＭＡを使用して大きいデータ・ブロックを転送するように構成できる。
【００５５】
メールボックス機能も実現できる。例えば、転送はＳＣ１０２により起動される。転送の競合に発生時には、ＤＳＰ１０１に割込みが発生する。ＳＣ１０２に割込みが発生することにより、ＤＳＰ１０１は新しいデータ転送を要求できる。ブロック転送とメールボックス機能との準並列使用が可能になることにより、２つのオートインクリメント・アドレス・レジスタを実現できる。
【００５６】
別の実施形態によれば、メッセージ転送目的のために共通、共用メールボックス・ユニットを使用する。マルチプロセッサ・システムのプロセッサはすべて、このメールボックス・ユニットにアクセスできる。
【００５７】
本発明のさらに別の実施形態では、本発明によるプロセッサ間通信のための２つまたはそれ以上のプロセッサおよび通信チャネルが、カスタムの特定用途向けＩＣ（ＡＳＩＣ）内に集積化されている。
【００５８】
本明細書に示し、かつ特許請求するアーキテクチャの利点は、複数の異種のプロセッサをサポートすることである。本発明の手法は、拡張して、一般のマルチコア通信の必要事項に適合させることができる。本発明によれば、各プロセッサに対するバス・マスタの数は、利用可能なＤＭＡユニットをこの目的に使用できるのと同様に、低減できる。概念および設計を再利用できることは別の利点である。他の種々の利点を、本発明の各種の実施形態に関連付けして述べてきた。
【００５９】
ＤＭＡにより、特定のデバイスがメモリに直接アクセスできるという事実は、プロセッサのスピードアップに役立つ。
【００６０】
提案されたアークテクチャは、対称であり、また大部分のマイクロプロセッサに適用可能である。さらにアーキテクチャはマルチコア・アーキテクチャに拡張できる、すなわちコア数に無関係である。
【００６１】
本発明はコンピューティング・デバイス、例えばＰＤＡ、ハンドヘルド・コンピュータ、パームトップ・コンピュータ、その他における使用に良く適合する。またセルラー式電話（例えばＧＳＭ電話）、コードレス電話（例えばＤＥＣＴ電話）、その他における使用にも適合する。本明細書で提案されるアーキテクチャは、Ｂｌｕｅｔｏｏｔｈ用途の前述のデバイスまたはチップのチップまたはチップ・セット内で使用できる。
【００６２】
理解を容易にするために別個の実施形態に関連付けて述べた本発明の種々の形態は、単一実施形態の組合せとしても提供できることは明らかである。逆に、簡潔化のために単一実施形態に関連付けて述べた本発明の種々の形態は、分離して、または任意の部分組合せで提供できる。
【００６３】
図面および詳細説明は本発明の好ましい実施形態を開示している。特定用語を使用しているが、ここでの説明において、用語は一般的および説明的意味としてだけに使用しており、限定の目的には使用していない。
【図面の簡単な説明】
【図１】
本発明によるデュアルプロセッサ・コンピュータ・システムの第１実施形態のブロック図である。
【図２】
図１のデュアルプロセッサ・コンピュータ・システムで確立されるプロセッサ間通信チャネルの概略図である。
【図３】
本発明の第１実施形態に関連付けして使用されるアクセス・ユニットのブロック図である。
【図４】
本発明によるデュアルプロセッサ・コンピュータ・システムの第２実施形態のブロック図である。
【図５】
図４のデュアルプロセッサ・コンピュータ・システムで確立されるプロセッサ間通信チャネルの概略図である。
【図６】
本発明の第２実施形態に関連付けして使用されるアクセス・ユニットおよびＤＭＡユニットのブロック図である。
【図７】
本発明の第２実施形態に関連付けして使用されるアクセス・ユニットのブロック図である。
【図８】
本発明の別の実施形態による、３つのプロセッサを有するコンピュータ・システムのブロック図である。
【図９】
本発明による２つのプロセッサを有するコンピュータ・システムのさらに別の実施形態のブロック図である。
【符号の説明】
１０　第１プロセッサバス
１１　ＤＭＡ
１２　外部インタフェース
１３　共用可能ユニット
１４　内部インタフェース
１５　システム
１６　プロセッサ環境
１７　通信チャネル
１８　共通半導体ダイ
２０　第２プロセッサバス
２１　アクセスユニット
２２　プロセッサ環境
３１　直接アクセスユニット
３２　プロセッサインタフェース
３３　データリンク
３４　制御リンク
４０　プロセッサバス
４１　ＤＭＡ１
４３　共用可能ユニット
４５　デュアルプロセッサシステム
４６　第１プロセッサ環境
５０　プロセッサバス
５１　アクセスユニット
５２　プロセッサ環境
５３　共用可能ユニット
５４　ＤＭＡユニット
５５　外部インタフェース
５６　通信チャネル
５７　内部インタフェース
５８　データリンク
５９　制御リンク
６１，７１　直接アクセスユニットコア
６２，７２　プロセッサインタフェース
７３　クロックライン
８０　コンピュータシステム
８１　第１プロセッサバス
８２　ブリッジ
８３　低速周辺装置バス
８４　高速プロセッサバス
８５　高速プロセッサバス
８６　ブリッジ
８７　低速周辺バス
８８　アクセスユニット
８９　コネクション
９０　アクセスユニット
９１，９２　コネクション
９３，９４　アクセスユニット
１０１　信号プロセッサコア
１０２　システムコントローラ
１０３　アクセスユニット
１０５　入力／出力バス
１０６　外部チャネル
１０７　周辺装置バス
１０８　外部チャネル
１０９，１１０　３２ビットアドレスレジスタ
１１１，１１２，１１３，１１４　１６ビットデータレジスタ
１１５，１１６　遠隔メモリスペース
【図１】
2004508635.tif 000003
【図３】
2004508635.tif 000004
【図４】
2004508635.tif 000005
【図６】
2004508635.tif 000006
【図７】
2004508635.tif 000007
【図８】
2004508635.tif 000008
【図９】
2004508635.tif 000009
【国際公開パンフレット】
2004508635.tif 000010
2004508635.tif 000011
2004508635.tif 000012
2004508635.tif 000013
2004508635.tif 000014
2004508635.tif 000015
2004508635.tif 000016
2004508635.tif 000017
2004508635.tif 000018
2004508635.tif 000019
2004508635.tif 000020
2004508635.tif 000021
2004508635.tif 000022
2004508635.tif 000023
2004508635.tif 000024
2004508635.tif 000025
2004508635.tif 000026
2004508635.tif 000027
2004508635.tif 000028
2004508635.tif 000029
2004508635.tif 000030
2004508635.tif 000031
2004508635.tif 000032
【国際調査報告】
2004508635.tif 000033
2004508635.tif 000034
2004508635.tif 000035