(57)【要約】マルチプロセッサシステム内の信頼性の高いプロセッサ間通信のための方法について記載される。一側面に従って、特殊構成シリアルバスが、第１のプロセッサと第２のプロセッサとの間の汎用データリンクとして使用される。シリアルバスは、ＩＣ間サウンド（Ｉ２Ｓ）バスであってもよい。別の側面に従って、第２のプロセッサ上に常駐するネットワークインターフェースは、Ｉ２Ｓバス上に構築されるデータリンクを介して、第１のプロセッサに利用可能となる。これによって、第２のプロセッサは、プロキシとして使用され、遠隔構成およびネットワークアドレストラバーサルをサポート可能となる。
2010541101.tif 000002
【特許請求の範囲】
【請求項１】
第１のプロセッサと第２のプロセッサとの間の通信を容易にする方法であって、
該第１のプロセッサから該第２のプロセッサに連続シリアルクロック信号を伝送することと、
該連続シリアルクロック信号の伝送の間に、該第１のプロセッサから該第２のプロセッサに第１の複数のフレームを伝送することであって、該第１の複数のフレームは、少なくとも１つのデータフレームを含む、ことと
を含む、方法。
【請求項２】
前記連続シリアルクロック信号を伝送することは、ＩＣ間サウンド（Ｉ２Ｓ）バスのシリアルクロック信号ライン上で前記連続シリアルクロック信号を伝送することを含み、
前記第１の複数のフレームを伝送することは、該Ｉ２Ｓバスの第１のシリアルデータライン上で該第１の複数のフレームを伝送することを含む、請求項１に記載の方法。
【請求項３】
前記第１の複数のフレームはそれぞれ、固定長フレームである、請求項１に記載の方法。
【請求項４】
前記連続クロック信号の伝送の間、前記第２のプロセッサから前記第１のプロセッサに第２の複数のフレームを伝送することをさらに含み、
該第２の複数のフレームのそれぞれの伝送は、前記第１の複数のフレームのそれぞれの伝送と同期される、請求項１に記載の方法。
【請求項５】
前記第２の複数のフレームを伝送することは、ＩＣ間サウンド（Ｉ２Ｓ）バスの第２のシリアルデータライン上で該第２の複数のフレームを伝送することを含む、請求項４に記載の方法。
【請求項６】
前記第１のプロセッサから前記第２のプロセッサにワード選択信号を伝送すること
をさらに含み、前記第１の複数のフレームを伝送することは、前記連続シリアルクロック信号および該ワード選択信号と同期して、該第１の複数のフレームのそれぞれを伝送することを含み、
前記第２の複数のフレームを伝送することは、該連続シリアルクロック信号および該ワード選択信号と同期して、該第２の複数のフレームのそれぞれを伝送することを含む、請求項４に記載の方法。
【請求項７】
前記ワード選択信号を伝送することは、ＩＣ間サウンド（Ｉ２Ｓ）バスのワード選択信号ライン上で該ワード選択信号を伝送することを含む、請求項６に記載の方法。
【請求項８】
前記第１のプロセッサから前記第２のプロセッサに伝送される少なくとも１つのフレームのヘッダ内のマーカワードを検出することと、
該検出されたマーカワードに基づいて、前記第２の複数のフレームの伝送を同期させることと
をさらに含む、請求項４に記載の方法。
【請求項９】
前記第２のプロセッサへの伝送のために予定されたデータフレームを第１のキュー内に格納することと、
該第２のプロセッサへの伝送のために予定された音声フレームを第２のキュー内に格納することと
をさらに含み、前記第１の複数のフレームを伝送することは、音声優先スキームに従って、該データフレームの前に該音声フレームを該第２のプロセッサに伝送することを含む、請求項１に記載の方法。
【請求項１０】
マルチプロセッサシステムであって、
第１のプロセッサと
第２のプロセッサと、
該第１のプロセッサおよび該第２のプロセッサを接続するシリアルバスインターフェースと
を備え、該第１のプロセッサは、該シリアルバスインターフェース上で該第２のプロセッサに連続シリアルクロック信号を伝送することと、該連続シリアルクロック信号の伝送の間、該シリアルバスインターフェース上で該第２のプロセッサに第１の複数のフレームを伝送することとを行うように構成され、該第１の複数のフレームは、少なくとも１つのデータフレームを含む、システム。
【請求項１１】
前記シリアルバスインターフェースは、ＩＣ間サウンド（Ｉ２Ｓ）バスを備え、
前記第１のプロセッサは、該Ｉ２Ｓバスのシリアルクロック信号ライン上で前記連続シリアルクロック信号を伝送するように構成される、請求項１０に記載のシステム。
【請求項１２】
前記第１の複数のフレームはそれぞれ、固定長フレームである、請求項１０に記載のシステム。
【請求項１３】
前記第２のプロセッサは、前記連続クロック信号の伝送の間、前記第１のプロセッサに第２の複数のフレームを伝送するように構成され、該第２の複数のフレームのそれぞれの伝送は、前記第１の複数のフレームのそれぞれの伝送と同期される、請求項１０に記載のシステム。
【請求項１４】
前記シリアルバスインターフェースは、ＩＣ間サウンド（Ｉ２Ｓ）バスを備え、
前記第２のプロセッサは、該Ｉ２Ｓバスの第２のシリアルデータライン上で前記第２の複数のフレームを伝送するように構成される、請求項１３に記載のシステム。
【請求項１５】
前記第１のプロセッサは、前記第２のプロセッサにワード選択信号を伝送し、前記連続シリアルクロック信号および該ワード選択信号と同期して、前記第１の複数のフレームのそれぞれを伝送するようにさらに構成され、
該第２のプロセッサは、該連続シリアルクロック信号および該ワード選択信号と同期して、前記第２の複数のフレームを伝送するようにさらに構成される、請求項１３に記載のシステム。
【請求項１６】
前記シリアルバスインターフェースは、ＩＣ間サウンド（Ｉ２Ｓ）バスを備え、
前記第１のプロセッサは、ＩＣ間サウンド（Ｉ２Ｓ）バスのワード選択信号ライン上で前記ワード選択信号を伝送するように構成される、請求項１５に記載のシステム。
【請求項１７】
前記第２のプロセッサは、前記第１のプロセッサから伝送される少なくとも１つのフレームのヘッダ内のマーカワードを検出し、該検出されたマーカワードに基づいて、前記第２の複数のフレームの伝送を同期させるようにさらに構成される、請求項１３に記載のシステム。
【請求項１８】
前記第１のプロセッサは、前記第２のプロセッサへの伝送のために予定されたデータフレームを第１のキュー内に格納し、該第２のプロセッサへの伝送のために予定された音声フレームを第２のキュー内に格納し、音声優先スキームに基づいて、該データフレームの前に該第２のプロセッサに該音声フレームを伝送するようにさらに構成される、請求項１０に記載のシステム。
【請求項１９】
ネットワークインターフェースへのアクセスを有さない第２のプロセッサのためのプロキシとして、該ネットワークインターフェースへのアクセスを有する第１のプロセッサを使用する方法であって、
ＩＣ間サウンド（Ｉ２Ｓ）バス上に該第１のプロセッサと該第２のプロセッサとの間のデータリンクを構築することと、
該第２のプロセッサによって、該データリンク上で該ネットワークインターフェースにアクセスすることと
を含む、方法。
【請求項２０】
前記ネットワークインターフェースにアクセスすることは、前記ネットワークインターフェースを構成することを含む、請求項１９に記載の方法。
【請求項２１】
前記ネットワークインターフェースを構成することは、ネットワークアドレストラバーサル（ＮＡＴ）機能を構成することを含む、請求項２０に記載の方法。
【請求項２２】
前記ネットワークインターフェースは、通信制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）スタックを構成することを含む、請求項２０に記載の方法。
【請求項２３】
マルチプロセッサシステムであって、
第１のプロセッサと、
第２のプロセッサと、
該第１のプロセッサおよび該第２のプロセッサを接続するＩＣ間サウンド（Ｉ２Ｓ）バスと、
該第１のプロセッサに接続されるが、該第２のプロセッサには接続されないネットワークインターフェースと
を備え、該第２のプロセッサは、該Ｉ２Ｓバス上で該第１のプロセッサとのデータリンクを構築することと、該データリンク上で該ネットワークインターフェースにアクセスすることとを行うように構成される、システム。
【請求項２４】
前記第２のプロセッサは、ネットワークアドレストラバーサル（ＮＡＴ）機能を構成することによって、前記ネットワークインターフェースを構成するように適合される、請求項２３に記載のシステム。
【請求項２５】
前記第２のプロセッサは、通信制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）スタックを構成することによって、前記ネットワークインターフェースを構成するように適合される、請求項２４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、概して、マルチプロセッサシステムに関し、デュアルプロセッサシステムを含むが、それに限定されない。
【背景技術】
【０００２】
（背景）
エネルギー効率が高く、耐故障性のシステムを達成するためのデュアルプロセッサ設計の使用は、周知である。デュアルプロセッサシステムは、同一筐体（同一基板または別々の基板上）内に２つの別々の物理的マイクロプロセッサを含有するものである。デュアルプロセッサアーキテクチャは、単一プロセッサアーキテクチャに優るいくつかの利点を提供する。例えば、デュアルプロセッサシステムでは、両プロセッサは、別個のタスクを同時ではあるが、別々に行なうことが可能である。そのようなマルチタスクコンピュータ処理能力は、グラフィックスおよびマルチメディアファイルの生成、編集、レンダリング等、プロセッサ集約的用途において不可欠である。
【０００３】
ボイスオーバーインターネットプロトコル（ＶｏＩＰ）電話等、遠隔通信システムでは、デュアル処理アーキテクチャが、音声通信における待ち時間およびジッタを最小限にするために実装されてもよい。例示的デュアルプロセッサアーキテクチャは、従来のオペレーティングシステム（ＯＳ）および計算タスクに対処するように構成される主要中央処理装置（ＣＰＵ）と、オーディオ信号データを処理するように構成されるデジタル信号プロセッサ（ＤＳＰ）と、を含んでもよい。しかしながら、２つの異なる分離および／または別個のプロセッサが協働するためには、プロセッサが互いに通信するための信頼性の高い手段が提供されなければならない。
【発明の概要】
【課題を解決するための手段】
【０００４】
（発明の簡単な概要）
本発明は、マルチプロセッサシステム内の信頼性の高いプロセッサ間通信のための方法を提供する。本発明の一側面に従って、特殊構成シリアルバスが、第１のプロセッサと第２のプロセッサとの間の汎用データリンクとして使用される。シリアルバスは、ＩＣ間サウンド（Ｉ２Ｓ）バスであってもよい。本発明の別の側面に従って、第２のプロセッサ上に常駐するネットワークインターフェースは、Ｉ２Ｓバス上に構築されるデータリンクを介して、第１のプロセッサに利用可能となる。これによって、第２のプロセッサは、プロキシとして使用され、遠隔構成およびネットワークアドレストラバーサルをサポート可能となる。
【０００５】
特に、本明細書では、第１のプロセッサと第２のプロセッサとの間の通信を容易にするための方法について記載される。本方法に従って、連続シリアルクロック信号が、第１のプロセッサから第２のプロセッサに伝送される。第１の複数のフレームは、連続シリアルクロック信号の伝送の間、第１のプロセッサから第２のプロセッサに伝送され、第１の複数のフレームは、少なくとも１つのデータフレームを含む。連続シリアルクロック信号を伝送するステップは、ＩＣ間サウンド（Ｉ２Ｓ）バスのシリアルクロック信号ライン上で連続シリアルクロック信号を伝送するステップを備え、第１の複数のフレームを伝送するステップは、Ｉ２Ｓバスの第１のシリアルデータライン上で第１の複数のフレームを伝送するステップを含んでもよい。
【０００６】
本方法は、連続クロック信号の伝送の間、第２のプロセッサから第１のプロセッサに第２の複数のフレームを伝送するステップをさらに含んでもよく、第２の複数のフレームのそれぞれの伝送は、第１の複数のフレームのそれぞれの伝送と同期する。第２の複数のフレームを伝送するステップは、ＩＣ間サウンド（Ｉ２Ｓ）バスの第２のシリアルデータライン上で第２の複数のフレームを伝送するステップを含む。
【０００７】
本方法は、第１のプロセッサから第２のプロセッサにワード選択信号を伝送するステップをさらに含んでもよく、第１の複数のフレームを伝送するステップは、連続シリアルクロック信号およびワード選択信号と同期して、第１の複数のフレームのそれぞれを伝送するステップを備え、第２の複数のフレームを伝送するステップは、連続シリアルクロック信号およびワード選択信号と同期して、第２の複数のフレームのそれぞれを伝送するステップを伝送するステップを含む。
【０００８】
また、本明細書では、マルチプロセッサシステムについて記載される。本システムは、第１のプロセッサと、第２のプロセッサと、第１のプロセッサおよび第２のプロセッサを接続する、シリアルバスインターフェースと、を含む。第１のプロセッサは、シリアルバスインターフェース上で第２のプロセッサに連続シリアルクロック信号を伝送し、連続シリアルクロック信号の伝送の間、シリアルバスインターフェース上で第２のプロセッサに第１の複数のフレームを伝送するように構成される。第１の複数のフレームは、少なくとも１つのデータフレームを含む。シリアルバスインターフェースは、Ｉ２Ｓバスを備えてもよい。
【０００９】
第２のプロセッサは、連続クロック信号の伝送の間、第１のプロセッサに第２の複数のフレームを伝送するように構成されてもよく、第２の複数のフレームのそれぞれの伝送は、第１の複数のフレームのそれぞれの伝送と同期する。
【００１０】
また、本明細書では、ネットワークインターフェースへのアクセスを有さない第２のプロセッサのためのプロキシとして、ネットワークインターフェースへのアクセスを有する第１のプロセッサを使用するための方法について記載される。本方法に従って、Ｉ２Ｓバス上に第１のプロセッサと第２のプロセッサとの間のデータリンクが構築される。次いで、ネットワークインターフェースは、第２のプロセッサによって、データリンク上でアクセスされる。ネットワークインターフェースにアクセスするステップは、ネットワークインターフェースを構成するステップを含んでもよい。ネットワークインターフェースを構成するステップは、ネットワークアドレストラバーサル（ＮＡＴ）機能を構成するステップ、または通信制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）スタックを構成するステップを含んでもよい。
【００１１】
また、本明細書では、マルチプロセッサシステムについて記載される。本システムは、第１のプロセッサと、第２のプロセッサと、第１のプロセッサおよび第２のプロセッサを接続する、Ｉ２Ｓバスと、第１のプロセッサに接続されるが、第２のプロセッサには接続されない、ネットワークインターフェースと、を含む。第２のプロセッサは、Ｉ２Ｓバス上で第１のプロセッサとのデータリンクを構築し、データリンク上でネットワークインターフェースにアクセスするように構成される。第２のプロセッサは、ネットワークアドレストラバーサル（ＮＡＴ）機能を構成することによって、または通信制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）スタックを構成することによって、ネットワークインターフェースを構成するように適合される。
【００１２】
本発明のさらなる特長および利点、ならびに本発明の種々の実施形態の構造および動作は、添付の図面を参照して、以下に詳細に記載される。本発明は、本明細書に記載される特定の実施形態に制限されないことに留意されたい。そのような実施形態は、例証目的のためだけに、本明細書に提示される。付加的実施形態は、本明細書に含有される教示に基づいて、当業者に明白となるであろう。
【００１３】
本明細書に組み込まれ、明細書の一部を形成する添付の図面は、本発明を例証し、その説明とともに、さらに、当業者が、本発明を作製および使用可能となるように、本発明の原理を説明する役割を果たす。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明を実装し得る、ボイスオーバーインターネットプロトコル（ＶｏＩＰ）電話のためのシステムのブロック図である。
【図２】図２は、本発明の実施形態に従う、Ｉ２Ｓバスを使用する第２のプロセッサへの第１のプロセッサの接続を示す。
【図３】図３は、本発明の実施形態に従う、Ｉ２Ｓバス上の第１と第２のプロセッサとの間の固定長フレームの同時交換を示す。
【図４】図４は、本発明の実施形態に従う、２つのプロセッサ間でフレームを伝送するための音声優先スキームを実装するために使用される、第１および第２のプロセッサの構成要素を示す、ブロック図である。
【図５】図５は、本発明の実施形態に従う、第１のプロセッサと第２のプロセッサとの間の通信を容易にするための方法のフローチャートを示す。
【図６】図６は、本発明の実施形態に従う、ネットワークプロキシとしての第１のプロセッサによる第２のプロセッサの使用を示す、ブロック図である。
【図７】図７は、本発明の実施形態に従う、ネットワークプロキシとしての第１のプロセッサによる第２のプロセッサの使用を示す、別のブロック図である。
【図８】図８は、本発明の実施形態に従う、ネットワークインターフェースへのアクセスを有さない第２のプロセッサのためのプロキシとして、ネットワークインターフェースへのアクセスを有する第１のプロセッサを使用するための方法のフローチャートを示す。
【発明を実施するための形態】
【００１５】
本発明の特長および利点は、図面と併せて考慮されることによって、以下に記載される詳細な説明からより明白となるであろう（同一参照番号は、全体を通して、対応する要素を識別する）。図面中、同一参照番号は、概して、同質、機能的に類似、および／または構造的に類似する要素を示す。ある要素が最初に出現する図面は、対応する参照番号の左端の数字によって判断される。
【００１６】
（Ａ．例示的な動作環境）
図１は、本発明の実施形態が動作し得る、例示的動作環境を示す。特に、図１は、本発明を実装し得る、ＶｏＩＰ電話のためのシステム１００のブロック図である。システム１００は、デュアルプロセッサアーキテクチャを利用する。具体的には、システム１００は、従来のオペレーティングシステム（ＯＳ）および計算タスクに対処するように構成される第１のプロセッサ１０２と、オーディオ信号データを処理するように構成される第２のプロセッサ１０４と、を含む。一実施形態では、第１のプロセッサ１０２は、Ｆｒｅｅｓｃａｌｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ，Ｉｎｃ．（Ａｕｓｔｉｎ、Ｔｅｘａｓ）から市販のＭＣＩＭＸ３１（ｉ．ＭＸ３１）マルチメディアアプリケーションプロセッサであって、第２のプロセッサ１０４は、Ａｎａｌｏｇ  Ｄｅｖｉｃｅ，Ｉｎｃ．（Ｎｏｒｗｏｏｄ、Ｍａｓｓａｃｈｕｓｅｔｔｓ）から市販のＡＤＳＰ−ＢＦ５３６  Ｂｌａｃｋｆｉｎ（登録商標）内蔵プロセッサである。図１のシステム１００では、第１のプロセッサ１０２は、Ｌｉｎｕｘベースの中央処理装置（ＣＰＵ）として機能するように構成される一方、第２のプロセッサ１０４は、デジタル信号プロセッサ（ＤＳＰ）として動作する。
【００１７】
図１に示されるように、第１のプロセッサ１０２は、第１のプロセッサ１０２による実行のためのプログラム命令、ならびにそのような命令の実行の間に使用または生成されるデータを格納する、メモリ１１２に接続される。同様に、第２のプロセッサ１０４は、第２のプロセッサ１０４による実行のためのプログラム命令、ならびにそのような命令の実行の間に使用または生成されるデータを格納する、メモリ１１６に接続される。また、図１に示されるように、第２のプロセッサ１０４は、Ｅｔｈｅｒｎｅｔ（登録商標）ＰＨＹ＆ＭＡＣ１２２およびＲＪ４５接続１２４を含む、ネットワークインターフェース１１８と、ＰＳＴＮラインインターフェース１２６およびＲＪ１１接続１２８を含む、任意のＰＯＴＳ（基本電話サービス）インターフェース１２０と、に接続される。
【００１８】
図１のシステム１００が、ＶｏＩＰスピーカホンとして動作している時、オーディオサブシステム１０６は、マイクロホン（図１に図示せず）を介して、ユーザからの音声入力を捕捉し、音声入力をアナログオーディオ信号に変換する。オーディオサブシステム１０６は、ネットワークインターフェース１１８を介して、インターネットプロトコル（ＩＰ）ネットワークへの送信されるステップに先立って、圧縮するために、アナログオーディオ信号をデジタル形態に変換し、次いで、デジタルオーディオ信号を第２のプロセッサ１０４に伝達する、第１のプロセッサ１０２にアナログオーディオ信号を提供する。反対に、圧縮されたオーディオ信号は、第２のプロセッサ１０４によって、ネットワークインターフェース１１８を介して、ＩＰネットワークから受信される。第２のプロセッサ１０４は、圧縮されたオーディオ信号を解凍し、デジタルオーディオ信号を生成し、次いで、第１のプロセッサ１０２にデジタルオーディオ信号を伝達する。第１のプロセッサ１０２は、スピーカ（図１に図示せず）を介して、ユーザに再生するために、デジタルオーディオ信号をアナログ形態に変換し、次いで、オーディオサブシステム１０６にアナログオーディオ信号を伝達する。
【００１９】
第１のプロセッサ１０２に、アナログオーディオ入力および出力信号へのアクセスを提供することによって、図１のシステム１００は、第１のプロセッサ１０２に、オーディオ認識またはオーディオ信号修正等、それらの信号と関連付けられたある機能を行なわせることが可能となる。また、第１のプロセッサ１０２をオーディオサブシステム１０６に直接接続することによって、図１のシステム１００は、当該プロセッサに、非電話関連オーディオコンテンツの再生等、メディアまたはマルチメディア関連機能を行なうために、オーディオサブシステム１０６のマイクロホンおよびスピーカを使用させることが可能となる。また、第１のプロセッサ１０２は、ＬＣＤディスプレイを備え得るディスプレイ１１０を介したグラフィカルユーザインターフェースの提示、およびキーパッド１０８を介して受信されたユーザ入力の処理を含むが、それらに限定されない、他の機能を行なうように構成される。
【００２０】
対照的に、第２のプロセッサ１０４の主要機能は、ネットワークインターフェース１１８介して、ＩＰネットワーク上でオーディオ信号をそれぞれ伝送または受信するために、オーディオ信号を圧縮および解凍することである。圧縮および解凍機能は、第２のプロセッサ１０４によって、信号処理アルゴリズムとして実装され、計算集約的である。また、第２のプロセッサ１０４は、音声活動検出、エコーキャンセル、あるいは電話システム上のオーディオ信号の伝送または受信に関連する他の周知の機能等、補助機能を行なうように構成されてもよい。
【００２１】
第１のプロセッサ１０２および第２のプロセッサ１０４が、上述のように協働するためには、信頼性の高いプロセッサ間通信が、第１のプロセッサ１０２と第２のプロセッサ１０４との間で達成されなければならない。以下に詳細に記載されるように、本信頼性の高いプロセッサ間通信は、特殊構成リンクを使用して達成される。特に、本発明の実施形態に従って、特殊構成シリアルバス１１４が、使用される。一実施形態では、シリアルバスは、Ｉ２Ｓ（ＩＣ間サウンド）バスである。
【００２２】
さらに、本発明の実施形態に従って、第２のプロセッサ１０４上に常駐するネットワークインターフェース１１８は、第１のプロセッサ１０２に利用可能となる。事実上、第２のプロセッサ１０４は、プロキシとして使用され、遠隔構成およびネットワークアドレストラバーサル（ＮＡＴ）をサポートする。また、本特長も、以下に詳細に説明される。
【００２３】
本発明の側面が、図１の例示的システム１００を参照して本明細書に記載されたが、本発明は、そのような動作環境に限定されない。当業者によって理解されるように、本発明は、システム機能を行なうための２つ以上のプロセッサを利用する任意のシステム内で利用されてもよい。
【００２４】
（Ｂ．本発明の実施形態に従う、汎用データリンクとしてのシリアルバスの使用）
本発明の実施形態に従って、特殊構成シリアルバスが、第１のプロセッサと第２のプロセッサとの間の汎用データリンクとして使用される。本明細書に記載されるある実施形態では、シリアルバスは、Ｉ２Ｓバスであるが、本発明は、そのように限定されない。本発明の本則面は、第１のプロセッサ１０２は、ｉ．ＭＸ３１マルチメディアアプリケーションプロセッサであって、第２のプロセッサ１０４は、ＡＤＳＰ−ＢＦ５３６  Ｂｌａｃｋｆｉｎ（登録商標）内蔵プロセッサである、図１の例示的動作環境を参照して詳細に説明される。しかしながら、本発明は、本特定の実装に限定されず、他のプロセッサが使用されてもよい。
【００２５】
当業者によって理解されるように、Ｉ２Ｓバスは、デジタルオーディオデバイス（コンパクトディスク（ＣＤ）プレーヤ、デジタルオーディオテープ、デジタルサウンドプロセッサ、およびデジタルＴＶサウンド等）をともに接続するために、Ｐｈｉｌｉｐｓ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒｓによって設計された電気的シリアルバスインターフェースである。例えば、Ｉ２Ｓバスは、ＣＤプレーヤ内のＣＤトランスポートとデジタル／アナログ（ＤＡＣ）変換器との間の２チャネル（ステレオ）パルス符号変調デジタルデータを搬送するためのシリアルリンクとして機能可能である。Ｉ２Ｓバスについては、Ｐｈｉｌｉｐｓ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒｓから刊行の「Ｉ２Ｓ  Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ」（１９８６年２月）に記載されており、全体として記述される場合と同様に、参照することによって、その全体が本明細書に援用される。
【００２６】
Ｉ２Ｓバスは、典型的には、オーディオデータのみに対処するために使用される一方、他の信号（サブコーティングおよび制御等）は、別々に転送される。要求されるピンの数を最小限にし、配線を単純にするために、Ｉ２Ｓバスは、３つのシリアルバスラインから成る（２つの時分割多重データチャネルを伴うシリアルデータライン、ワード選択ライン、および連続シリアルクロックライン）。データおよびクロック信号を分離することによって、Ｉ２Ｓバスは、ジッタを生じさせる時間関連エラーを回避し、それによって、アンチジッタデバイスの必要性を排除する。ジッタは、ＤＡＣにひずみを生じさせる可能性がある。
【００２７】
ｉ．ＭＸ３１マルチメディアアプリケーションプロセッサおよびＡＤＳＰ−ＢＦ５３６  Ｂｌａｃｋｆｉｎ（登録商標）内蔵プロセッサは両方とも、Ｉ２Ｓバスに接続するための少なくとも１つのインターフェースを提供する。特に、ｉ．ＭＸ３１マルチメディアアプリケーションプロセッサは、２つの同期シリアルインターフェース（ＳＳＩ）／Ｉ２Ｓインターフェースを提供し、それぞれ、Ｉ２Ｓバスに接続するために使用され得る一方、ＢＦ５３６  Ｂｌａｃｋｆｉｎ（登録商標）内蔵プロセッサは、２つのシリアルポートを提供し、それぞれ、Ｉ２Ｓ対応動作をサポートする。
【００２８】
図２に示されるように、図１のシステム１００の一実装では、ｉ．ＭＸ３１マルチメディアアプリケーションプロセッサ２０２（また、本明細書では、ｉ．ＭＸ３１プロセッサ２０２とも称される）およびＡＤＳＰ−ＢＦ５３６  Ｂｌａｃｋｆｉｎ（登録商標）内蔵プロセッサ２０４（また、本明細書では、ＢＦ５３６プロセッサ２０４とも称される）は、４つの配線構成を使用して、Ｉ２Ｓバス２０６上で互いに接続される。この４つの配線構成に従って、第１の配線２３２は、連続シリアルクロック（ＳＣＫ）を搬送するために使用され、第２の配線２３４は、ワード選択信号（ＷＳ）を搬送するために使用され、第３の配線２３６は、ＢＦ５３６プロセッサ２０４からｉ．ＭＸ３１プロセッサ２０２にシリアルデータ（ＳＤ１）を搬送するために使用され、第４の配線２３８は、ｉ．ＭＸ３１プロセッサ２０２からＢＦ５３６プロセッサ２０４にシリアルデータ（ＳＤ２）を搬送するために使用される。ＳＣＫおよびＷＳの伝送方向は、どのプロセッサがバスマスタとして作用するかに依存する。２つのシリアルデータラインの使用は、２つのプロセッサ間のデータの同時双方向転送を可能にする。
【００２９】
ＢＦ５３６プロセッサ２０４は、従来式オーディオ信号の転送、ならびにマルチプロセッサ通信のために使用されるデータ信号の転送の両方のために、Ｉ２Ｓバス２１４を使用するように構成される。Ｉ２Ｓバス２１４上でデータ信号を伝送する動作モードでは、ＢＦ５３６プロセッサ２０４は、シリアルクロックＳＣＫを停止し、再起動するように構成される。対照的に、ｉ．ＭＸ３１プロセッサ２０２は、オーディオ信号の転送のみのためにＩ２Ｓバスを使用するように構成される。結果として、ｉ．ＭＸ３１プロセッサ２０２は、ＢＦ５３６プロセッサ２０４によるシリアルクロックＳＣＫの停止および再起動に対して耐性がない。したがって、Ｉ２Ｓバス２１４が、データ信号を転送するために、ｉ．ＭＸ３１プロセッサ２０２によって使用される時、当該バス上で受信され、ｉ．ＭＸ３１プロセッサ２０２の先入れ先出し（ＦＩＦＯ）バッファ内に格納されるデータは、破損する場合がある。
【００３０】
理想的には、必要時のみ、２つのプロセッサ間で可変長フレームを送信することが好まれるであろう。これは、ＤＭＡ（メモリ）帯域幅ならびにプロセッササイクルを節約するであろう。しかしながら、これは、常に、達成可能なわけではない。例えば、上述のように、データが２つのプロセッサ間で伝送されていない期間のシリアルクロックＳＣＫの停止は、ｉ．ＭＸ３１プロセッサ２０２の同期を損失させ得、当該プロセッサのＦＩＦＯバッファ内に格納されるデータが、破損される場合がある。
【００３１】
本発明の実施形態は、シリアルクロックＳＣＫが決して停止ないことを保証する、連続起動（ストリーミング）プロトコルを生成および使用することによって、本問題を克服する。次いで、高度に最適化されたパケットモードデータトランスポートが、Ｉ２Ｓインターフェース上にレイヤリングされる。
【００３２】
ストリーミングプロトコルは、固定長ヘッダを有する固定長フレームを使用する。一例として、図３は、固定長ヘッダ３１２およびペイロード３１４を有する、代表的固定長フレーム３０２を示す。各固定長ヘッダは、フレームの種類（例えば、オーディオまたはデータ）を識別し、また、フレームによって搬送されるパケット長およびチェックサム等、他の情報を含む。これらのフィールドは、それぞれ、代表的ヘッダ３１２内の長さ３２４およびチェックサム３２６として表される。一実施形態では、チェックサムは、フレームのデータ全体に配置される１６ビットチェックサムである。
【００３３】
ストリーミングプロトコルに従って、各終点は、固定長フレームを同時に交換する。したがって、フレームヘッダの第１のワードが、ｉ．ＭＸ３１プロセッサ２０２によって伝送されると、また、別のフレームヘッダの第１のワードも、ＢＦ５３６プロセッサ２０４によって伝送される。これによって、各プロセッサは、データの伝送を制御するために、同一シリアルクロックＳＣＫおよびワード選択ＷＳ信号を使用可能となる。一例として、代表的固定長フレーム３０２および３０４の同時交換が、図３に示される。本発明のある実施形態では、ＷＳ信号は、フレーム境界を表すために使用される。上述のように、各フレームは、オーディオフレームまたはデータフレームとして分類される。一実施形態では、データフレームは、メディアアクセス制御（ＭＡＣ）ヘッダを有さない、生インターネットプロトコル（ＩＰ）データグラムとしてフォーマットされる。
【００３４】
また、本発明の実施形態は、フレーム同期プロトコルを含み、２つのプロセッサのデータ伝送を同期させることが可能である。本フレーム同期プロトコルは、システム再起動の間に使用され、また、プロセッサのリブート時、または何らかの理由で２つのプロセッサ間の同期が損失される任意の状況下、使用されてもよい。
【００３５】
フレーム同期を容易にするために、各フレームのヘッダは、２つのマーカワードを含む。これは、図３にさらに示され、代表的フレーム３０２のヘッダ３１２が、第１のマーカワード３２２および第２のマーカワード３２８を含むことを示す。フレーム同期の間、バスマスタとして作用するプロセッサは、他方のプロセッサによって伝送されるフレームの境界を検出するため、「ヌル」（空）フレームを継続的にクロックアウトする。ヌルフレームは、パケット長およびフレームと関連付けられたチェックサムをゼロに設定することによって、表されてもよい。バスマスタは、他方のプロセッサのマーカパターンを検索することによって、他方のプロセッサにより伝送されるフレームの境界を検出する。他方のプロセッサによって伝送されるフレームの境界が検出されると、バスマスタは、そのフレーム伝送を他方のプロセッサのフレーム伝送に整合させる。次いで、あらゆるさらなる構成は、通信制御プロトコル（ＴＣＰ）／ＩＰレイヤ内で生じる。
【００３６】
本発明の一実施形態では、各プロセッサ２０２および２０４は、帯域外リセット信号を受信し、上述の同期プロトコルをトリガするように構成される。同期プロトコルの実行は、時間およびプロセッサリソースの観点から高価であるため、プロトコルを使用して、可変長フレームの伝送をサポートすることは望ましくないが、そのような実装も可能である。
【００３７】
本発明のさらなる実施形態に従って、２つのプロセッサ２０２および２０４は、音声優先スキーム下、Ｉ２Ｓ通信リンクを介して、通信する。すなわち、フレームを伝送する時、保留音声またはオーディオフレームは、常に、保留データフレームに優先する。本スキームは、システム１００によって対処されるＶｏＩＰ通話と関連付けられた待ち時間およびジッタを最小限にすることを目的とする。
【００３８】
図４は、音声優先スキームを実装するために使用される、各プロセッサ２０２および２０４の構成要素を示す、ブロック図である。特に、図４に示されるように、各プロセッサは、マルチプレクサ４０６を介して送信機４０８に接続される、データキュー４０２および音声キュー４０４を含む。データキュー４０２は、Ｉ２Ｓ通信リンク上の伝送のために予定されたデータフレームを留保するように構成される一方、音声キュー４０４は、Ｉ２Ｓ通信リンク上の伝送のために予定された音声フレームを留保するように構成される。例えば、図４に示されるように、データキュー４０２は、例示的データフレーム４１２を留保し、音声キュー４０４は、例示的音声フレーム４１４を留保する。マルチプレクサ４０６は、Ｉ２Ｓ通信リンク上の伝送のために、データキュー４０２からのデータフレームまたは音声キュー４０４からの音声フレームを送信機４０８に選択的に提供するように構成される。マルチプレクサ４０６は、音声フレームをデータフレームに優先させることによって、本機能を行なうようにさらに構成される。
【００３９】
上述のように、本発明の実施形態に従って、データフレームおよび音声フレームは、固定サイズである。高帯域幅ＴＣＰ／ＩＰリンクが、音声通信のために提供されることを保証するために、大型フレームサイズを使用して、音声情報を搬送してもよい。最大効率のために、各フレームは、可能な限り少ないメモリコピーを使用して伝送される。上述のように、単純１６ビットチェックサムが、ヘッダ内のフレームのデータ全体に配置される。それ以外、プロトコルは、その処理の大部分に対するペイロードの任意の検査を要求しない。
【００４０】
図５は、上述の説明に従って、第１のプロセッサと第２のプロセッサとの間の通信を容易にするための方法のフローチャート５００を示す。フローチャート５００は、図１のシステム１００を継続して参照して説明される。しかしながら、フローチャート５００の方法は、そのような実装に限定されない。
【００４１】
図５に示されるように、フローチャート５００の方法は、連続シリアルクロックが、シリアルバス１１４上で第１のプロセッサ１０２から第２のプロセッサ１０４に伝送される、ステップ５０２から開始する。本ステップは、Ｉ２Ｓバスのシリアルクロック信号ライン上で連続シリアルクロック信号を伝送するステップを含んでもよい。
【００４２】
ステップ５０４では、第１の複数のフレームは、連続シリアルクロック信号の伝送の間、シリアルバス１１４上で第１のプロセッサ１０２から第２のプロセッサ１０４に伝送される。本ステップは、Ｉ２Ｓバスの第１のシリアルデータライン上で第１の複数のフレームを伝送するステップを含んでもよい。第１の複数のフレームは、音声またはデータフレームを含んでもよい。第１の複数のフレームはそれぞれ、固定長フレームを備えてもよい。
【００４３】
ステップ５０６では、第２の複数のフレームは、連続クロック信号の伝送の間、シリアルバス１１４上で第２のプロセッサ１０４から第１のプロセッサ１０２に伝送され、第２の複数のフレームのそれぞれの伝送は、第１の複数のフレームのそれぞれの伝送と同期する。本ステップは、Ｉ２Ｓバスの第２のシリアルデータライン上で第２の複数のフレームを伝送するステップを含んでもよい。第２の複数のフレームは、音声またはデータフレームを含んでもよい。第２の複数のフレームはそれぞれ、固定長フレームを備えてもよい。
【００４４】
フローチャート５００の上述の方法は、シリアルバス１１４上で第１のプロセッサ１０２から第２のプロセッサ１０４にワード選択信号を伝送するステップをさらに含んでもよい。そのような実施形態では、第１の複数のフレームを伝送するステップは、連続シリアルクロック信号およびワード選択信号と同期して、第１の複数のフレームのそれぞれを伝送するステップを含んでもよい。加えて、そのような実施形態では、第２の複数のフレームを伝送するステップは、連続クロック信号およびワード選択信号と同期して、第２の複数のフレームのそれぞれを伝送するステップを含んでもよい。ワード選択信号を伝送するステップは、Ｉ２Ｓバスのワード選択信号ライン上でワード選択信号を伝送するステップを含んでもよい。
【００４５】
（Ｃ．本発明の実施形態に従う、ネットワークプロキシとしての第１のプロセッサによる第２のプロセッサの使用）
多重プロセッサを組み込むネットワーク対応家庭用電子機器は、多くの場合、１つのプロセッサによってのみアクセス可能な、単一ネットワークインターフェース（例えば、Ｅｔｈｅｒｎｅｔ（登録商標）またはＷｉ−Ｆｉインターフェース）のみを有する。マルチプロセッサシステム内の全プロセッサが、そのような単一ネットワークインターフェースを使用可能である場合、有益であるだろう。特に、ネットワークアクセスを有する単一プロセッサが、プロキシとして作用し、遠隔構成およびネットワークアドレストラバーサルをサポート可能である場合、有益であるだろう。
【００４６】
上述のように、本発明の一実施形態では、Ｉ２Ｓバス等のシリアルバスは、第１のプロセッサ（例えば、汎用ＣＰＵであってもよい）と第２のプロセッサ（例えば、外部／遠隔ＤＳＰであってもよい）との間の高速、広帯域、汎用データリンクとして機能し、２つのプロセッサ間の信頼性の高いデータ転送を提供する。また、本発明の別の側面に従って、シリアルバスは、内部スイッチまたは多重送受信機の使用に頼る必要なく、Ｅｔｈｅｒｎｅｔ（登録商標）またはＷｉ−Ｆｉネットワーク等のネットワークにマルチプロセッサシステム内の各プロセッサをアクセスさせるために使用可能である。
【００４７】
例えば、図１を参照して上述のシステム１００では、ネットワークインターフェース１１８は、第２のプロセッサ１０４上に常駐する。本発明の実施形態に従って、第１のプロセッサ１０２は、シリアルバス１１４を介して、遠隔プロセッサ１０４上のネットワークインターフェース１１８を構成および使用するように適合される。そのような実施形態の実施例は、図６に示され、第１のプロセッサ１０２は、ｉ．ＭＸ３１マルチメディアアプリケーションプロセッサ６０２（また、本明細書では、ｉ．ＭＸ３１プロセッサ６０２とも称される）として実装され、第２のプロセッサ１０４は、ＡＤＳＰ−ＢＦ５３６  Ｂｌａｃｋｆｉｎ（登録商標）内蔵プロセッサ６０４（また、本明細書では、ＢＦ５３６プロセッサ６０４とも称される）として実装され、シリアルバス１１４は、Ｉ２Ｓバス６０６として実装される。
【００４８】
図６に示される実施形態を参照すると、プロトコルは、ｉ．ＭＸ３１プロセッサ６０２にＢＦ５３６プロセッサ６０４を構成させるためのプロトコルが採用される。本プロトコルは、Ｉ２Ｓバス６０６上にレイヤリングされ、ＮＡＴ（ネットワークアドレストラバーサル）およびＴＣＰ／ＩＰスタックの構成、ならびにＢＦ５３６プロセッサ６０４上に常駐する他の機能を含む、プロセッサ間データリンク上の他のプロトコルを構成するために使用される。そのような他の機能は、音声エンジン構成、公衆交換電話網（ＰＳＴＮ）電話、システムハートビート、および他の様々なタスクを含んでもよいが、それらに限定されない。
【００４９】
本概念は、図７にさらに示される。特に、図７は、本発明の実施形態に従って、第１のプロセッサ７０２が、内部リンク７０８を介して、第２のプロセッサ７０４に接続させる、マルチプロセッサシステム７００を示す。第１のプロセッサ７０２は、内部リンク７０８上に実装されるＩ２Ｓインターフェース等、シリアルバスインターフェース上にレイヤリングされるプロトコルを使用して、第２のプロセッサ７０４内のＮＡＴ／ルーティング論理７１２を構成可能である。ＮＡＴ／ルーティング論理７１２のそのような構成は、第１のプロセッサ７０２への第１のプライベートＩＰアドレス（図６では、「プライベートアドレスＢ」として表される）の割り当てと、第２のプロセッサ７０４への第２のプライベートＩＰアドレス（「プライベートアドレスＡ」として表される）の割り当てと、を含んでもよい。そのようなプライベートＩＰアドレスは、周知のように、ＮＡＴ／ルーティング論理７１２によって使用され、２つのプロセッサのそれぞれと、ネットワーク７０６上に常駐するエンティティとの間の通信を管理してもよく、そのような通信は、単一ネットワークインターフェース７１０上で搬送される。
【００５０】
そのようなプロトコルの使用は、特に、第２のプロセッサ７０４がネットワークルータとして作用する程度に関連する。そのような場合、ネットワーク構成データを第２のプロセッサ７０４に提供する必要がある。本実施形態に従って、内部リンク７０８は、固定ＩＰアドレスを伝達するように使用され、ＴＣＰ／ＩＰは、さらなるＴＣＰ／ＩＰ接続性を構築するために使用される。
【００５１】
図８は、上述の説明に従って、ネットワークインターフェースへのアクセスを有さない第２のプロセッサのためのプロキシとして、ネットワークインターフェースへのアクセスを有する第１のプロセッサを使用するための方法のフローチャート８００を示す。図８に示されるように、フローチャート８００の方法は、Ｉ２Ｓバス上の第１のプロセッサと第２のプロセッサとの間のデータリンクが構築される、ステップ８０２から開始する。次いで、ステップ８０４では、ネットワークインターフェースは、第２のプロセッサによって、データリンク上でアクセスされる。ある実施形態では、ネットワークインターフェースへのアクセスは、ネットワークインターフェースを構成するステップを含む。ネットワークインターフェースを構成するステップは、例えば、ＮＡＴ機能を構成するステップ、またはＴＣＰ／ＩＰスタックを構成するステップを含んでもよい。
【００５２】
（Ｄ．結論）
本発明の種々の実施形態が上述されたが、単なる一例として提示されたものであって、限定するものではないことを理解されたい。例えば、本発明の側面は、図１のシステム１００のデュアルプロセッサアーキテクチャを参照して上述されたが、本発明は、そのような動作環境に限定されない。むしろ、本発明の実施形態は、マルチプロセッサアーキテクチャを利用する任意のシステム内に実装されてもよい。
【００５３】
さらに、形態および詳細における種々の変更が、添付の請求項に定義される本発明の精神および範囲から逸脱することなく、本明細書に記載される本発明の実施形態に成され得ることは、当業者によって理解されるであろう。故に、本発明の範囲は、上述の例示的実施形態のいずれかによって限定されるべきではなく、以下の請求項およびそれらの同等物に従ってのみ定義されるべきである。
【図１】
2010541101.tif 000003
【図２】
2010541101.tif 000004
【図３】
2010541101.tif 000005
【図４】
2010541101.tif 000006
【図５】
2010541101.tif 000007
【図６】
2010541101.tif 000008
【図７】
2010541101.tif 000009
【図８】
2010541101.tif 000010
【国際調査報告】
2010541101.tif 000011