説明

プロセッサ間通信のためのシステムおよび方法

マルチプロセッサシステム内の信頼性の高いプロセッサ間通信のための方法について記載される。一側面に従って、特殊構成シリアルバスが、第1のプロセッサと第2のプロセッサとの間の汎用データリンクとして使用される。シリアルバスは、IC間サウンド(IS)バスであってもよい。別の側面に従って、第2のプロセッサ上に常駐するネットワークインターフェースは、ISバス上に構築されるデータリンクを介して、第1のプロセッサに利用可能となる。これによって、第2のプロセッサは、プロキシとして使用され、遠隔構成およびネットワークアドレストラバーサルをサポート可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
(発明の分野)
本発明は、概して、マルチプロセッサシステムに関し、デュアルプロセッサシステムを含むが、それに限定されない。
【背景技術】
【0002】
(背景)
エネルギー効率が高く、耐故障性のシステムを達成するためのデュアルプロセッサ設計の使用は、周知である。デュアルプロセッサシステムは、同一筐体(同一基板または別々の基板上)内に2つの別々の物理的マイクロプロセッサを含有するものである。デュアルプロセッサアーキテクチャは、単一プロセッサアーキテクチャに優るいくつかの利点を提供する。例えば、デュアルプロセッサシステムでは、両プロセッサは、別個のタスクを同時ではあるが、別々に行なうことが可能である。そのようなマルチタスクコンピュータ処理能力は、グラフィックスおよびマルチメディアファイルの生成、編集、レンダリング等、プロセッサ集約的用途において不可欠である。
【0003】
ボイスオーバーインターネットプロトコル(VoIP)電話等、遠隔通信システムでは、デュアル処理アーキテクチャが、音声通信における待ち時間およびジッタを最小限にするために実装されてもよい。例示的デュアルプロセッサアーキテクチャは、従来のオペレーティングシステム(OS)および計算タスクに対処するように構成される主要中央処理装置(CPU)と、オーディオ信号データを処理するように構成されるデジタル信号プロセッサ(DSP)と、を含んでもよい。しかしながら、2つの異なる分離および/または別個のプロセッサが協働するためには、プロセッサが互いに通信するための信頼性の高い手段が提供されなければならない。
【発明の概要】
【課題を解決するための手段】
【0004】
(発明の簡単な概要)
本発明は、マルチプロセッサシステム内の信頼性の高いプロセッサ間通信のための方法を提供する。本発明の一側面に従って、特殊構成シリアルバスが、第1のプロセッサと第2のプロセッサとの間の汎用データリンクとして使用される。シリアルバスは、IC間サウンド(IS)バスであってもよい。本発明の別の側面に従って、第2のプロセッサ上に常駐するネットワークインターフェースは、ISバス上に構築されるデータリンクを介して、第1のプロセッサに利用可能となる。これによって、第2のプロセッサは、プロキシとして使用され、遠隔構成およびネットワークアドレストラバーサルをサポート可能となる。
【0005】
特に、本明細書では、第1のプロセッサと第2のプロセッサとの間の通信を容易にするための方法について記載される。本方法に従って、連続シリアルクロック信号が、第1のプロセッサから第2のプロセッサに伝送される。第1の複数のフレームは、連続シリアルクロック信号の伝送の間、第1のプロセッサから第2のプロセッサに伝送され、第1の複数のフレームは、少なくとも1つのデータフレームを含む。連続シリアルクロック信号を伝送するステップは、IC間サウンド(IS)バスのシリアルクロック信号ライン上で連続シリアルクロック信号を伝送するステップを備え、第1の複数のフレームを伝送するステップは、ISバスの第1のシリアルデータライン上で第1の複数のフレームを伝送するステップを含んでもよい。
【0006】
本方法は、連続クロック信号の伝送の間、第2のプロセッサから第1のプロセッサに第2の複数のフレームを伝送するステップをさらに含んでもよく、第2の複数のフレームのそれぞれの伝送は、第1の複数のフレームのそれぞれの伝送と同期する。第2の複数のフレームを伝送するステップは、IC間サウンド(IS)バスの第2のシリアルデータライン上で第2の複数のフレームを伝送するステップを含む。
【0007】
本方法は、第1のプロセッサから第2のプロセッサにワード選択信号を伝送するステップをさらに含んでもよく、第1の複数のフレームを伝送するステップは、連続シリアルクロック信号およびワード選択信号と同期して、第1の複数のフレームのそれぞれを伝送するステップを備え、第2の複数のフレームを伝送するステップは、連続シリアルクロック信号およびワード選択信号と同期して、第2の複数のフレームのそれぞれを伝送するステップを伝送するステップを含む。
【0008】
また、本明細書では、マルチプロセッサシステムについて記載される。本システムは、第1のプロセッサと、第2のプロセッサと、第1のプロセッサおよび第2のプロセッサを接続する、シリアルバスインターフェースと、を含む。第1のプロセッサは、シリアルバスインターフェース上で第2のプロセッサに連続シリアルクロック信号を伝送し、連続シリアルクロック信号の伝送の間、シリアルバスインターフェース上で第2のプロセッサに第1の複数のフレームを伝送するように構成される。第1の複数のフレームは、少なくとも1つのデータフレームを含む。シリアルバスインターフェースは、ISバスを備えてもよい。
【0009】
第2のプロセッサは、連続クロック信号の伝送の間、第1のプロセッサに第2の複数のフレームを伝送するように構成されてもよく、第2の複数のフレームのそれぞれの伝送は、第1の複数のフレームのそれぞれの伝送と同期する。
【0010】
また、本明細書では、ネットワークインターフェースへのアクセスを有さない第2のプロセッサのためのプロキシとして、ネットワークインターフェースへのアクセスを有する第1のプロセッサを使用するための方法について記載される。本方法に従って、ISバス上に第1のプロセッサと第2のプロセッサとの間のデータリンクが構築される。次いで、ネットワークインターフェースは、第2のプロセッサによって、データリンク上でアクセスされる。ネットワークインターフェースにアクセスするステップは、ネットワークインターフェースを構成するステップを含んでもよい。ネットワークインターフェースを構成するステップは、ネットワークアドレストラバーサル(NAT)機能を構成するステップ、または通信制御プロトコル(TCP)/インターネットプロトコル(IP)スタックを構成するステップを含んでもよい。
【0011】
また、本明細書では、マルチプロセッサシステムについて記載される。本システムは、第1のプロセッサと、第2のプロセッサと、第1のプロセッサおよび第2のプロセッサを接続する、ISバスと、第1のプロセッサに接続されるが、第2のプロセッサには接続されない、ネットワークインターフェースと、を含む。第2のプロセッサは、ISバス上で第1のプロセッサとのデータリンクを構築し、データリンク上でネットワークインターフェースにアクセスするように構成される。第2のプロセッサは、ネットワークアドレストラバーサル(NAT)機能を構成することによって、または通信制御プロトコル(TCP)/インターネットプロトコル(IP)スタックを構成することによって、ネットワークインターフェースを構成するように適合される。
【0012】
本発明のさらなる特長および利点、ならびに本発明の種々の実施形態の構造および動作は、添付の図面を参照して、以下に詳細に記載される。本発明は、本明細書に記載される特定の実施形態に制限されないことに留意されたい。そのような実施形態は、例証目的のためだけに、本明細書に提示される。付加的実施形態は、本明細書に含有される教示に基づいて、当業者に明白となるであろう。
【0013】
本明細書に組み込まれ、明細書の一部を形成する添付の図面は、本発明を例証し、その説明とともに、さらに、当業者が、本発明を作製および使用可能となるように、本発明の原理を説明する役割を果たす。
【図面の簡単な説明】
【0014】
【図1】図1は、本発明を実装し得る、ボイスオーバーインターネットプロトコル(VoIP)電話のためのシステムのブロック図である。
【図2】図2は、本発明の実施形態に従う、ISバスを使用する第2のプロセッサへの第1のプロセッサの接続を示す。
【図3】図3は、本発明の実施形態に従う、ISバス上の第1と第2のプロセッサとの間の固定長フレームの同時交換を示す。
【図4】図4は、本発明の実施形態に従う、2つのプロセッサ間でフレームを伝送するための音声優先スキームを実装するために使用される、第1および第2のプロセッサの構成要素を示す、ブロック図である。
【図5】図5は、本発明の実施形態に従う、第1のプロセッサと第2のプロセッサとの間の通信を容易にするための方法のフローチャートを示す。
【図6】図6は、本発明の実施形態に従う、ネットワークプロキシとしての第1のプロセッサによる第2のプロセッサの使用を示す、ブロック図である。
【図7】図7は、本発明の実施形態に従う、ネットワークプロキシとしての第1のプロセッサによる第2のプロセッサの使用を示す、別のブロック図である。
【図8】図8は、本発明の実施形態に従う、ネットワークインターフェースへのアクセスを有さない第2のプロセッサのためのプロキシとして、ネットワークインターフェースへのアクセスを有する第1のプロセッサを使用するための方法のフローチャートを示す。
【発明を実施するための形態】
【0015】
本発明の特長および利点は、図面と併せて考慮されることによって、以下に記載される詳細な説明からより明白となるであろう(同一参照番号は、全体を通して、対応する要素を識別する)。図面中、同一参照番号は、概して、同質、機能的に類似、および/または構造的に類似する要素を示す。ある要素が最初に出現する図面は、対応する参照番号の左端の数字によって判断される。
【0016】
(A.例示的な動作環境)
図1は、本発明の実施形態が動作し得る、例示的動作環境を示す。特に、図1は、本発明を実装し得る、VoIP電話のためのシステム100のブロック図である。システム100は、デュアルプロセッサアーキテクチャを利用する。具体的には、システム100は、従来のオペレーティングシステム(OS)および計算タスクに対処するように構成される第1のプロセッサ102と、オーディオ信号データを処理するように構成される第2のプロセッサ104と、を含む。一実施形態では、第1のプロセッサ102は、Freescale Semiconductor,Inc.(Austin、Texas)から市販のMCIMX31(i.MX31)マルチメディアアプリケーションプロセッサであって、第2のプロセッサ104は、Analog Device,Inc.(Norwood、Massachusetts)から市販のADSP−BF536 Blackfin(登録商標)内蔵プロセッサである。図1のシステム100では、第1のプロセッサ102は、Linuxベースの中央処理装置(CPU)として機能するように構成される一方、第2のプロセッサ104は、デジタル信号プロセッサ(DSP)として動作する。
【0017】
図1に示されるように、第1のプロセッサ102は、第1のプロセッサ102による実行のためのプログラム命令、ならびにそのような命令の実行の間に使用または生成されるデータを格納する、メモリ112に接続される。同様に、第2のプロセッサ104は、第2のプロセッサ104による実行のためのプログラム命令、ならびにそのような命令の実行の間に使用または生成されるデータを格納する、メモリ116に接続される。また、図1に示されるように、第2のプロセッサ104は、Ethernet(登録商標)PHY&MAC122およびRJ45接続124を含む、ネットワークインターフェース118と、PSTNラインインターフェース126およびRJ11接続128を含む、任意のPOTS(基本電話サービス)インターフェース120と、に接続される。
【0018】
図1のシステム100が、VoIPスピーカホンとして動作している時、オーディオサブシステム106は、マイクロホン(図1に図示せず)を介して、ユーザからの音声入力を捕捉し、音声入力をアナログオーディオ信号に変換する。オーディオサブシステム106は、ネットワークインターフェース118を介して、インターネットプロトコル(IP)ネットワークへの送信されるステップに先立って、圧縮するために、アナログオーディオ信号をデジタル形態に変換し、次いで、デジタルオーディオ信号を第2のプロセッサ104に伝達する、第1のプロセッサ102にアナログオーディオ信号を提供する。反対に、圧縮されたオーディオ信号は、第2のプロセッサ104によって、ネットワークインターフェース118を介して、IPネットワークから受信される。第2のプロセッサ104は、圧縮されたオーディオ信号を解凍し、デジタルオーディオ信号を生成し、次いで、第1のプロセッサ102にデジタルオーディオ信号を伝達する。第1のプロセッサ102は、スピーカ(図1に図示せず)を介して、ユーザに再生するために、デジタルオーディオ信号をアナログ形態に変換し、次いで、オーディオサブシステム106にアナログオーディオ信号を伝達する。
【0019】
第1のプロセッサ102に、アナログオーディオ入力および出力信号へのアクセスを提供することによって、図1のシステム100は、第1のプロセッサ102に、オーディオ認識またはオーディオ信号修正等、それらの信号と関連付けられたある機能を行なわせることが可能となる。また、第1のプロセッサ102をオーディオサブシステム106に直接接続することによって、図1のシステム100は、当該プロセッサに、非電話関連オーディオコンテンツの再生等、メディアまたはマルチメディア関連機能を行なうために、オーディオサブシステム106のマイクロホンおよびスピーカを使用させることが可能となる。また、第1のプロセッサ102は、LCDディスプレイを備え得るディスプレイ110を介したグラフィカルユーザインターフェースの提示、およびキーパッド108を介して受信されたユーザ入力の処理を含むが、それらに限定されない、他の機能を行なうように構成される。
【0020】
対照的に、第2のプロセッサ104の主要機能は、ネットワークインターフェース118介して、IPネットワーク上でオーディオ信号をそれぞれ伝送または受信するために、オーディオ信号を圧縮および解凍することである。圧縮および解凍機能は、第2のプロセッサ104によって、信号処理アルゴリズムとして実装され、計算集約的である。また、第2のプロセッサ104は、音声活動検出、エコーキャンセル、あるいは電話システム上のオーディオ信号の伝送または受信に関連する他の周知の機能等、補助機能を行なうように構成されてもよい。
【0021】
第1のプロセッサ102および第2のプロセッサ104が、上述のように協働するためには、信頼性の高いプロセッサ間通信が、第1のプロセッサ102と第2のプロセッサ104との間で達成されなければならない。以下に詳細に記載されるように、本信頼性の高いプロセッサ間通信は、特殊構成リンクを使用して達成される。特に、本発明の実施形態に従って、特殊構成シリアルバス114が、使用される。一実施形態では、シリアルバスは、IS(IC間サウンド)バスである。
【0022】
さらに、本発明の実施形態に従って、第2のプロセッサ104上に常駐するネットワークインターフェース118は、第1のプロセッサ102に利用可能となる。事実上、第2のプロセッサ104は、プロキシとして使用され、遠隔構成およびネットワークアドレストラバーサル(NAT)をサポートする。また、本特長も、以下に詳細に説明される。
【0023】
本発明の側面が、図1の例示的システム100を参照して本明細書に記載されたが、本発明は、そのような動作環境に限定されない。当業者によって理解されるように、本発明は、システム機能を行なうための2つ以上のプロセッサを利用する任意のシステム内で利用されてもよい。
【0024】
(B.本発明の実施形態に従う、汎用データリンクとしてのシリアルバスの使用)
本発明の実施形態に従って、特殊構成シリアルバスが、第1のプロセッサと第2のプロセッサとの間の汎用データリンクとして使用される。本明細書に記載されるある実施形態では、シリアルバスは、ISバスであるが、本発明は、そのように限定されない。本発明の本則面は、第1のプロセッサ102は、i.MX31マルチメディアアプリケーションプロセッサであって、第2のプロセッサ104は、ADSP−BF536 Blackfin(登録商標)内蔵プロセッサである、図1の例示的動作環境を参照して詳細に説明される。しかしながら、本発明は、本特定の実装に限定されず、他のプロセッサが使用されてもよい。
【0025】
当業者によって理解されるように、ISバスは、デジタルオーディオデバイス(コンパクトディスク(CD)プレーヤ、デジタルオーディオテープ、デジタルサウンドプロセッサ、およびデジタルTVサウンド等)をともに接続するために、Philips Semiconductorsによって設計された電気的シリアルバスインターフェースである。例えば、ISバスは、CDプレーヤ内のCDトランスポートとデジタル/アナログ(DAC)変換器との間の2チャネル(ステレオ)パルス符号変調デジタルデータを搬送するためのシリアルリンクとして機能可能である。ISバスについては、Philips Semiconductorsから刊行の「IS Bus Specification」(1986年2月)に記載されており、全体として記述される場合と同様に、参照することによって、その全体が本明細書に援用される。
【0026】
Sバスは、典型的には、オーディオデータのみに対処するために使用される一方、他の信号(サブコーティングおよび制御等)は、別々に転送される。要求されるピンの数を最小限にし、配線を単純にするために、ISバスは、3つのシリアルバスラインから成る(2つの時分割多重データチャネルを伴うシリアルデータライン、ワード選択ライン、および連続シリアルクロックライン)。データおよびクロック信号を分離することによって、ISバスは、ジッタを生じさせる時間関連エラーを回避し、それによって、アンチジッタデバイスの必要性を排除する。ジッタは、DACにひずみを生じさせる可能性がある。
【0027】
i.MX31マルチメディアアプリケーションプロセッサおよびADSP−BF536 Blackfin(登録商標)内蔵プロセッサは両方とも、ISバスに接続するための少なくとも1つのインターフェースを提供する。特に、i.MX31マルチメディアアプリケーションプロセッサは、2つの同期シリアルインターフェース(SSI)/ISインターフェースを提供し、それぞれ、ISバスに接続するために使用され得る一方、BF536 Blackfin(登録商標)内蔵プロセッサは、2つのシリアルポートを提供し、それぞれ、IS対応動作をサポートする。
【0028】
図2に示されるように、図1のシステム100の一実装では、i.MX31マルチメディアアプリケーションプロセッサ202(また、本明細書では、i.MX31プロセッサ202とも称される)およびADSP−BF536 Blackfin(登録商標)内蔵プロセッサ204(また、本明細書では、BF536プロセッサ204とも称される)は、4つの配線構成を使用して、ISバス206上で互いに接続される。この4つの配線構成に従って、第1の配線232は、連続シリアルクロック(SCK)を搬送するために使用され、第2の配線234は、ワード選択信号(WS)を搬送するために使用され、第3の配線236は、BF536プロセッサ204からi.MX31プロセッサ202にシリアルデータ(SD1)を搬送するために使用され、第4の配線238は、i.MX31プロセッサ202からBF536プロセッサ204にシリアルデータ(SD2)を搬送するために使用される。SCKおよびWSの伝送方向は、どのプロセッサがバスマスタとして作用するかに依存する。2つのシリアルデータラインの使用は、2つのプロセッサ間のデータの同時双方向転送を可能にする。
【0029】
BF536プロセッサ204は、従来式オーディオ信号の転送、ならびにマルチプロセッサ通信のために使用されるデータ信号の転送の両方のために、ISバス214を使用するように構成される。ISバス214上でデータ信号を伝送する動作モードでは、BF536プロセッサ204は、シリアルクロックSCKを停止し、再起動するように構成される。対照的に、i.MX31プロセッサ202は、オーディオ信号の転送のみのためにISバスを使用するように構成される。結果として、i.MX31プロセッサ202は、BF536プロセッサ204によるシリアルクロックSCKの停止および再起動に対して耐性がない。したがって、ISバス214が、データ信号を転送するために、i.MX31プロセッサ202によって使用される時、当該バス上で受信され、i.MX31プロセッサ202の先入れ先出し(FIFO)バッファ内に格納されるデータは、破損する場合がある。
【0030】
理想的には、必要時のみ、2つのプロセッサ間で可変長フレームを送信することが好まれるであろう。これは、DMA(メモリ)帯域幅ならびにプロセッササイクルを節約するであろう。しかしながら、これは、常に、達成可能なわけではない。例えば、上述のように、データが2つのプロセッサ間で伝送されていない期間のシリアルクロックSCKの停止は、i.MX31プロセッサ202の同期を損失させ得、当該プロセッサのFIFOバッファ内に格納されるデータが、破損される場合がある。
【0031】
本発明の実施形態は、シリアルクロックSCKが決して停止ないことを保証する、連続起動(ストリーミング)プロトコルを生成および使用することによって、本問題を克服する。次いで、高度に最適化されたパケットモードデータトランスポートが、ISインターフェース上にレイヤリングされる。
【0032】
ストリーミングプロトコルは、固定長ヘッダを有する固定長フレームを使用する。一例として、図3は、固定長ヘッダ312およびペイロード314を有する、代表的固定長フレーム302を示す。各固定長ヘッダは、フレームの種類(例えば、オーディオまたはデータ)を識別し、また、フレームによって搬送されるパケット長およびチェックサム等、他の情報を含む。これらのフィールドは、それぞれ、代表的ヘッダ312内の長さ324およびチェックサム326として表される。一実施形態では、チェックサムは、フレームのデータ全体に配置される16ビットチェックサムである。
【0033】
ストリーミングプロトコルに従って、各終点は、固定長フレームを同時に交換する。したがって、フレームヘッダの第1のワードが、i.MX31プロセッサ202によって伝送されると、また、別のフレームヘッダの第1のワードも、BF536プロセッサ204によって伝送される。これによって、各プロセッサは、データの伝送を制御するために、同一シリアルクロックSCKおよびワード選択WS信号を使用可能となる。一例として、代表的固定長フレーム302および304の同時交換が、図3に示される。本発明のある実施形態では、WS信号は、フレーム境界を表すために使用される。上述のように、各フレームは、オーディオフレームまたはデータフレームとして分類される。一実施形態では、データフレームは、メディアアクセス制御(MAC)ヘッダを有さない、生インターネットプロトコル(IP)データグラムとしてフォーマットされる。
【0034】
また、本発明の実施形態は、フレーム同期プロトコルを含み、2つのプロセッサのデータ伝送を同期させることが可能である。本フレーム同期プロトコルは、システム再起動の間に使用され、また、プロセッサのリブート時、または何らかの理由で2つのプロセッサ間の同期が損失される任意の状況下、使用されてもよい。
【0035】
フレーム同期を容易にするために、各フレームのヘッダは、2つのマーカワードを含む。これは、図3にさらに示され、代表的フレーム302のヘッダ312が、第1のマーカワード322および第2のマーカワード328を含むことを示す。フレーム同期の間、バスマスタとして作用するプロセッサは、他方のプロセッサによって伝送されるフレームの境界を検出するため、「ヌル」(空)フレームを継続的にクロックアウトする。ヌルフレームは、パケット長およびフレームと関連付けられたチェックサムをゼロに設定することによって、表されてもよい。バスマスタは、他方のプロセッサのマーカパターンを検索することによって、他方のプロセッサにより伝送されるフレームの境界を検出する。他方のプロセッサによって伝送されるフレームの境界が検出されると、バスマスタは、そのフレーム伝送を他方のプロセッサのフレーム伝送に整合させる。次いで、あらゆるさらなる構成は、通信制御プロトコル(TCP)/IPレイヤ内で生じる。
【0036】
本発明の一実施形態では、各プロセッサ202および204は、帯域外リセット信号を受信し、上述の同期プロトコルをトリガするように構成される。同期プロトコルの実行は、時間およびプロセッサリソースの観点から高価であるため、プロトコルを使用して、可変長フレームの伝送をサポートすることは望ましくないが、そのような実装も可能である。
【0037】
本発明のさらなる実施形態に従って、2つのプロセッサ202および204は、音声優先スキーム下、IS通信リンクを介して、通信する。すなわち、フレームを伝送する時、保留音声またはオーディオフレームは、常に、保留データフレームに優先する。本スキームは、システム100によって対処されるVoIP通話と関連付けられた待ち時間およびジッタを最小限にすることを目的とする。
【0038】
図4は、音声優先スキームを実装するために使用される、各プロセッサ202および204の構成要素を示す、ブロック図である。特に、図4に示されるように、各プロセッサは、マルチプレクサ406を介して送信機408に接続される、データキュー402および音声キュー404を含む。データキュー402は、IS通信リンク上の伝送のために予定されたデータフレームを留保するように構成される一方、音声キュー404は、IS通信リンク上の伝送のために予定された音声フレームを留保するように構成される。例えば、図4に示されるように、データキュー402は、例示的データフレーム412を留保し、音声キュー404は、例示的音声フレーム414を留保する。マルチプレクサ406は、IS通信リンク上の伝送のために、データキュー402からのデータフレームまたは音声キュー404からの音声フレームを送信機408に選択的に提供するように構成される。マルチプレクサ406は、音声フレームをデータフレームに優先させることによって、本機能を行なうようにさらに構成される。
【0039】
上述のように、本発明の実施形態に従って、データフレームおよび音声フレームは、固定サイズである。高帯域幅TCP/IPリンクが、音声通信のために提供されることを保証するために、大型フレームサイズを使用して、音声情報を搬送してもよい。最大効率のために、各フレームは、可能な限り少ないメモリコピーを使用して伝送される。上述のように、単純16ビットチェックサムが、ヘッダ内のフレームのデータ全体に配置される。それ以外、プロトコルは、その処理の大部分に対するペイロードの任意の検査を要求しない。
【0040】
図5は、上述の説明に従って、第1のプロセッサと第2のプロセッサとの間の通信を容易にするための方法のフローチャート500を示す。フローチャート500は、図1のシステム100を継続して参照して説明される。しかしながら、フローチャート500の方法は、そのような実装に限定されない。
【0041】
図5に示されるように、フローチャート500の方法は、連続シリアルクロックが、シリアルバス114上で第1のプロセッサ102から第2のプロセッサ104に伝送される、ステップ502から開始する。本ステップは、ISバスのシリアルクロック信号ライン上で連続シリアルクロック信号を伝送するステップを含んでもよい。
【0042】
ステップ504では、第1の複数のフレームは、連続シリアルクロック信号の伝送の間、シリアルバス114上で第1のプロセッサ102から第2のプロセッサ104に伝送される。本ステップは、ISバスの第1のシリアルデータライン上で第1の複数のフレームを伝送するステップを含んでもよい。第1の複数のフレームは、音声またはデータフレームを含んでもよい。第1の複数のフレームはそれぞれ、固定長フレームを備えてもよい。
【0043】
ステップ506では、第2の複数のフレームは、連続クロック信号の伝送の間、シリアルバス114上で第2のプロセッサ104から第1のプロセッサ102に伝送され、第2の複数のフレームのそれぞれの伝送は、第1の複数のフレームのそれぞれの伝送と同期する。本ステップは、ISバスの第2のシリアルデータライン上で第2の複数のフレームを伝送するステップを含んでもよい。第2の複数のフレームは、音声またはデータフレームを含んでもよい。第2の複数のフレームはそれぞれ、固定長フレームを備えてもよい。
【0044】
フローチャート500の上述の方法は、シリアルバス114上で第1のプロセッサ102から第2のプロセッサ104にワード選択信号を伝送するステップをさらに含んでもよい。そのような実施形態では、第1の複数のフレームを伝送するステップは、連続シリアルクロック信号およびワード選択信号と同期して、第1の複数のフレームのそれぞれを伝送するステップを含んでもよい。加えて、そのような実施形態では、第2の複数のフレームを伝送するステップは、連続クロック信号およびワード選択信号と同期して、第2の複数のフレームのそれぞれを伝送するステップを含んでもよい。ワード選択信号を伝送するステップは、ISバスのワード選択信号ライン上でワード選択信号を伝送するステップを含んでもよい。
【0045】
(C.本発明の実施形態に従う、ネットワークプロキシとしての第1のプロセッサによる第2のプロセッサの使用)
多重プロセッサを組み込むネットワーク対応家庭用電子機器は、多くの場合、1つのプロセッサによってのみアクセス可能な、単一ネットワークインターフェース(例えば、Ethernet(登録商標)またはWi−Fiインターフェース)のみを有する。マルチプロセッサシステム内の全プロセッサが、そのような単一ネットワークインターフェースを使用可能である場合、有益であるだろう。特に、ネットワークアクセスを有する単一プロセッサが、プロキシとして作用し、遠隔構成およびネットワークアドレストラバーサルをサポート可能である場合、有益であるだろう。
【0046】
上述のように、本発明の一実施形態では、ISバス等のシリアルバスは、第1のプロセッサ(例えば、汎用CPUであってもよい)と第2のプロセッサ(例えば、外部/遠隔DSPであってもよい)との間の高速、広帯域、汎用データリンクとして機能し、2つのプロセッサ間の信頼性の高いデータ転送を提供する。また、本発明の別の側面に従って、シリアルバスは、内部スイッチまたは多重送受信機の使用に頼る必要なく、Ethernet(登録商標)またはWi−Fiネットワーク等のネットワークにマルチプロセッサシステム内の各プロセッサをアクセスさせるために使用可能である。
【0047】
例えば、図1を参照して上述のシステム100では、ネットワークインターフェース118は、第2のプロセッサ104上に常駐する。本発明の実施形態に従って、第1のプロセッサ102は、シリアルバス114を介して、遠隔プロセッサ104上のネットワークインターフェース118を構成および使用するように適合される。そのような実施形態の実施例は、図6に示され、第1のプロセッサ102は、i.MX31マルチメディアアプリケーションプロセッサ602(また、本明細書では、i.MX31プロセッサ602とも称される)として実装され、第2のプロセッサ104は、ADSP−BF536 Blackfin(登録商標)内蔵プロセッサ604(また、本明細書では、BF536プロセッサ604とも称される)として実装され、シリアルバス114は、ISバス606として実装される。
【0048】
図6に示される実施形態を参照すると、プロトコルは、i.MX31プロセッサ602にBF536プロセッサ604を構成させるためのプロトコルが採用される。本プロトコルは、ISバス606上にレイヤリングされ、NAT(ネットワークアドレストラバーサル)およびTCP/IPスタックの構成、ならびにBF536プロセッサ604上に常駐する他の機能を含む、プロセッサ間データリンク上の他のプロトコルを構成するために使用される。そのような他の機能は、音声エンジン構成、公衆交換電話網(PSTN)電話、システムハートビート、および他の様々なタスクを含んでもよいが、それらに限定されない。
【0049】
本概念は、図7にさらに示される。特に、図7は、本発明の実施形態に従って、第1のプロセッサ702が、内部リンク708を介して、第2のプロセッサ704に接続させる、マルチプロセッサシステム700を示す。第1のプロセッサ702は、内部リンク708上に実装されるISインターフェース等、シリアルバスインターフェース上にレイヤリングされるプロトコルを使用して、第2のプロセッサ704内のNAT/ルーティング論理712を構成可能である。NAT/ルーティング論理712のそのような構成は、第1のプロセッサ702への第1のプライベートIPアドレス(図6では、「プライベートアドレスB」として表される)の割り当てと、第2のプロセッサ704への第2のプライベートIPアドレス(「プライベートアドレスA」として表される)の割り当てと、を含んでもよい。そのようなプライベートIPアドレスは、周知のように、NAT/ルーティング論理712によって使用され、2つのプロセッサのそれぞれと、ネットワーク706上に常駐するエンティティとの間の通信を管理してもよく、そのような通信は、単一ネットワークインターフェース710上で搬送される。
【0050】
そのようなプロトコルの使用は、特に、第2のプロセッサ704がネットワークルータとして作用する程度に関連する。そのような場合、ネットワーク構成データを第2のプロセッサ704に提供する必要がある。本実施形態に従って、内部リンク708は、固定IPアドレスを伝達するように使用され、TCP/IPは、さらなるTCP/IP接続性を構築するために使用される。
【0051】
図8は、上述の説明に従って、ネットワークインターフェースへのアクセスを有さない第2のプロセッサのためのプロキシとして、ネットワークインターフェースへのアクセスを有する第1のプロセッサを使用するための方法のフローチャート800を示す。図8に示されるように、フローチャート800の方法は、ISバス上の第1のプロセッサと第2のプロセッサとの間のデータリンクが構築される、ステップ802から開始する。次いで、ステップ804では、ネットワークインターフェースは、第2のプロセッサによって、データリンク上でアクセスされる。ある実施形態では、ネットワークインターフェースへのアクセスは、ネットワークインターフェースを構成するステップを含む。ネットワークインターフェースを構成するステップは、例えば、NAT機能を構成するステップ、またはTCP/IPスタックを構成するステップを含んでもよい。
【0052】
(D.結論)
本発明の種々の実施形態が上述されたが、単なる一例として提示されたものであって、限定するものではないことを理解されたい。例えば、本発明の側面は、図1のシステム100のデュアルプロセッサアーキテクチャを参照して上述されたが、本発明は、そのような動作環境に限定されない。むしろ、本発明の実施形態は、マルチプロセッサアーキテクチャを利用する任意のシステム内に実装されてもよい。
【0053】
さらに、形態および詳細における種々の変更が、添付の請求項に定義される本発明の精神および範囲から逸脱することなく、本明細書に記載される本発明の実施形態に成され得ることは、当業者によって理解されるであろう。故に、本発明の範囲は、上述の例示的実施形態のいずれかによって限定されるべきではなく、以下の請求項およびそれらの同等物に従ってのみ定義されるべきである。

【特許請求の範囲】
【請求項1】
第1のプロセッサと第2のプロセッサとの間の通信を容易にする方法であって、
該第1のプロセッサから該第2のプロセッサに連続シリアルクロック信号を伝送することと、
該連続シリアルクロック信号の伝送の間に、該第1のプロセッサから該第2のプロセッサに第1の複数のフレームを伝送することであって、該第1の複数のフレームは、少なくとも1つのデータフレームを含む、ことと
を含む、方法。
【請求項2】
前記連続シリアルクロック信号を伝送することは、IC間サウンド(IS)バスのシリアルクロック信号ライン上で前記連続シリアルクロック信号を伝送することを含み、
前記第1の複数のフレームを伝送することは、該ISバスの第1のシリアルデータライン上で該第1の複数のフレームを伝送することを含む、請求項1に記載の方法。
【請求項3】
前記第1の複数のフレームはそれぞれ、固定長フレームである、請求項1に記載の方法。
【請求項4】
前記連続クロック信号の伝送の間、前記第2のプロセッサから前記第1のプロセッサに第2の複数のフレームを伝送することをさらに含み、
該第2の複数のフレームのそれぞれの伝送は、前記第1の複数のフレームのそれぞれの伝送と同期される、請求項1に記載の方法。
【請求項5】
前記第2の複数のフレームを伝送することは、IC間サウンド(IS)バスの第2のシリアルデータライン上で該第2の複数のフレームを伝送することを含む、請求項4に記載の方法。
【請求項6】
前記第1のプロセッサから前記第2のプロセッサにワード選択信号を伝送すること
をさらに含み、前記第1の複数のフレームを伝送することは、前記連続シリアルクロック信号および該ワード選択信号と同期して、該第1の複数のフレームのそれぞれを伝送することを含み、
前記第2の複数のフレームを伝送することは、該連続シリアルクロック信号および該ワード選択信号と同期して、該第2の複数のフレームのそれぞれを伝送することを含む、請求項4に記載の方法。
【請求項7】
前記ワード選択信号を伝送することは、IC間サウンド(IS)バスのワード選択信号ライン上で該ワード選択信号を伝送することを含む、請求項6に記載の方法。
【請求項8】
前記第1のプロセッサから前記第2のプロセッサに伝送される少なくとも1つのフレームのヘッダ内のマーカワードを検出することと、
該検出されたマーカワードに基づいて、前記第2の複数のフレームの伝送を同期させることと
をさらに含む、請求項4に記載の方法。
【請求項9】
前記第2のプロセッサへの伝送のために予定されたデータフレームを第1のキュー内に格納することと、
該第2のプロセッサへの伝送のために予定された音声フレームを第2のキュー内に格納することと
をさらに含み、前記第1の複数のフレームを伝送することは、音声優先スキームに従って、該データフレームの前に該音声フレームを該第2のプロセッサに伝送することを含む、請求項1に記載の方法。
【請求項10】
マルチプロセッサシステムであって、
第1のプロセッサと
第2のプロセッサと、
該第1のプロセッサおよび該第2のプロセッサを接続するシリアルバスインターフェースと
を備え、該第1のプロセッサは、該シリアルバスインターフェース上で該第2のプロセッサに連続シリアルクロック信号を伝送することと、該連続シリアルクロック信号の伝送の間、該シリアルバスインターフェース上で該第2のプロセッサに第1の複数のフレームを伝送することとを行うように構成され、該第1の複数のフレームは、少なくとも1つのデータフレームを含む、システム。
【請求項11】
前記シリアルバスインターフェースは、IC間サウンド(IS)バスを備え、
前記第1のプロセッサは、該ISバスのシリアルクロック信号ライン上で前記連続シリアルクロック信号を伝送するように構成される、請求項10に記載のシステム。
【請求項12】
前記第1の複数のフレームはそれぞれ、固定長フレームである、請求項10に記載のシステム。
【請求項13】
前記第2のプロセッサは、前記連続クロック信号の伝送の間、前記第1のプロセッサに第2の複数のフレームを伝送するように構成され、該第2の複数のフレームのそれぞれの伝送は、前記第1の複数のフレームのそれぞれの伝送と同期される、請求項10に記載のシステム。
【請求項14】
前記シリアルバスインターフェースは、IC間サウンド(IS)バスを備え、
前記第2のプロセッサは、該ISバスの第2のシリアルデータライン上で前記第2の複数のフレームを伝送するように構成される、請求項13に記載のシステム。
【請求項15】
前記第1のプロセッサは、前記第2のプロセッサにワード選択信号を伝送し、前記連続シリアルクロック信号および該ワード選択信号と同期して、前記第1の複数のフレームのそれぞれを伝送するようにさらに構成され、
該第2のプロセッサは、該連続シリアルクロック信号および該ワード選択信号と同期して、前記第2の複数のフレームを伝送するようにさらに構成される、請求項13に記載のシステム。
【請求項16】
前記シリアルバスインターフェースは、IC間サウンド(IS)バスを備え、
前記第1のプロセッサは、IC間サウンド(IS)バスのワード選択信号ライン上で前記ワード選択信号を伝送するように構成される、請求項15に記載のシステム。
【請求項17】
前記第2のプロセッサは、前記第1のプロセッサから伝送される少なくとも1つのフレームのヘッダ内のマーカワードを検出し、該検出されたマーカワードに基づいて、前記第2の複数のフレームの伝送を同期させるようにさらに構成される、請求項13に記載のシステム。
【請求項18】
前記第1のプロセッサは、前記第2のプロセッサへの伝送のために予定されたデータフレームを第1のキュー内に格納し、該第2のプロセッサへの伝送のために予定された音声フレームを第2のキュー内に格納し、音声優先スキームに基づいて、該データフレームの前に該第2のプロセッサに該音声フレームを伝送するようにさらに構成される、請求項10に記載のシステム。
【請求項19】
ネットワークインターフェースへのアクセスを有さない第2のプロセッサのためのプロキシとして、該ネットワークインターフェースへのアクセスを有する第1のプロセッサを使用する方法であって、
IC間サウンド(IS)バス上に該第1のプロセッサと該第2のプロセッサとの間のデータリンクを構築することと、
該第2のプロセッサによって、該データリンク上で該ネットワークインターフェースにアクセスすることと
を含む、方法。
【請求項20】
前記ネットワークインターフェースにアクセスすることは、前記ネットワークインターフェースを構成することを含む、請求項19に記載の方法。
【請求項21】
前記ネットワークインターフェースを構成することは、ネットワークアドレストラバーサル(NAT)機能を構成することを含む、請求項20に記載の方法。
【請求項22】
前記ネットワークインターフェースは、通信制御プロトコル(TCP)/インターネットプロトコル(IP)スタックを構成することを含む、請求項20に記載の方法。
【請求項23】
マルチプロセッサシステムであって、
第1のプロセッサと、
第2のプロセッサと、
該第1のプロセッサおよび該第2のプロセッサを接続するIC間サウンド(IS)バスと、
該第1のプロセッサに接続されるが、該第2のプロセッサには接続されないネットワークインターフェースと
を備え、該第2のプロセッサは、該ISバス上で該第1のプロセッサとのデータリンクを構築することと、該データリンク上で該ネットワークインターフェースにアクセスすることとを行うように構成される、システム。
【請求項24】
前記第2のプロセッサは、ネットワークアドレストラバーサル(NAT)機能を構成することによって、前記ネットワークインターフェースを構成するように適合される、請求項23に記載のシステム。
【請求項25】
前記第2のプロセッサは、通信制御プロトコル(TCP)/インターネットプロトコル(IP)スタックを構成することによって、前記ネットワークインターフェースを構成するように適合される、請求項24に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2010−541101(P2010−541101A)
【公表日】平成22年12月24日(2010.12.24)
【国際特許分類】
【出願番号】特願2010−528044(P2010−528044)
【出願日】平成20年9月26日(2008.9.26)
【国際出願番号】PCT/US2008/077882
【国際公開番号】WO2009/045904
【国際公開日】平成21年4月9日(2009.4.9)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(504317525)オープンピーク インコーポレイテッド (33)
【Fターム(参考)】