JP4368795B2 - プロセッサ間で通信を行うための改良プロセッサ間通信システム - Google Patents

プロセッサ間で通信を行うための改良プロセッサ間通信システム Download PDF

Info

Publication number
JP4368795B2
JP4368795B2 JP2004522393A JP2004522393A JP4368795B2 JP 4368795 B2 JP4368795 B2 JP 4368795B2 JP 2004522393 A JP2004522393 A JP 2004522393A JP 2004522393 A JP2004522393 A JP 2004522393A JP 4368795 B2 JP4368795 B2 JP 4368795B2
Authority
JP
Japan
Prior art keywords
processor
unit
direct memory
memory access
programmable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004522393A
Other languages
English (en)
Other versions
JP2005534094A (ja
Inventor
シュテファン、コッホ
ハンス‐ヨアヒム、ゲルケ
ハラルト、バウアー
アルトゥル、トリッタート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP BV
Original Assignee
NXP BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NXP BV filed Critical NXP BV
Publication of JP2005534094A publication Critical patent/JP2005534094A/ja
Application granted granted Critical
Publication of JP4368795B2 publication Critical patent/JP4368795B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Bus Control (AREA)

Description

本発明は一般に、2以上のプロセッサ間での通信に関する。詳細には、本発明は、同一の半導体ダイ上に配置されるプロセッサ間でのプロセッサ間通信に関する。
より高性能なコンピューティング装置に対する要望が高まるにつれて、プロセッサを2つ以上含むシステムが、ますます数多く提供されるようになった。
本発明の目的のためには、2以上の別個のプロセッサを含むコンピュータ・システムと、2以上のプロセッサが同一チップ上に集積されるシステムとを明確に区別すべきである。マザーボード上にメイン中央処理装置(CPU)を、グラフィックス・カード上にアルゴリズム・プロセッサを搭載するコンピュータは、2つの別個のプロセッサを備えるコンピュータ・システムの一例である。複数の別個のプロセッサを備えるコンピュータ・システムの別の例は、性能の向上が達成されるように、プロセッサをアレイ状に配置した並列コンピュータである。説明を簡潔にするため、2以上の別個のプロセッサを備えるオンボード・システムも、同じカテゴリに属するものと考える。
2以上のプロセッサが同一のチップまたは半導体ダイ上に集積されるシステムが存在する。代表的な例は、メイン・プロセッサと暗号プロセッサとを同一の半導体ダイ上に有するSmartCard(ICカードとも呼ぶ)である。
小型のハンドヘルド装置がますます普及するにつれて、高性能かつ柔軟性のあるチップに対する要望も高まっている。代表的な例は、普及当初は音声通信(アナログ通信)用の単なる電話でしかなかったセルラ電話である。ここ数年の間に、追加の機能が付け加えられ、今日のセルラ電話の大部分は、音声およびデータ・サービス用に設計されている。追加の差別化要因には、ごく最近の開発成果のいくつかから挙げるだけでも、無線アプリケーション・プロトコル(WAP)サポート、ショート・メッセージ・システム(SMS)、およびマルチメディア・メッセージ・サービス(MMS)機能がある。これらの機能はすべて、より高性能なプロセッサを必要とし、かなりの頻度でデュアルプロセッサ・チップまたはマルチプロセッサ・チップすらも必要とする。
将来、例えば、デジタル・ビデオ・ストリームを処理するシステムが利用可能になるであろう。これらのシステムも、高性能かつ柔軟性のあるチップ・セットを必要とする。
その他の例として、多目的Java(登録商標)CardなどのICカード、パーム・トップ・コンピュータまたは携帯情報端末(PDA)などの小型ハンドヘルド装置、ビデオおよびオーディオ装置、自動車用装置などがある。
そのようなデュアルプロセッサ・チップまたはマルチプロセッサ・チップでは、効率的なプロセッサ間通信のための通信チャネルの存在が欠かせない。本明細書では、「プロセッサ間通信」という表現は、第1のプロセッサおよび/またはその第1のプロセッサに関連づけられたシステム資源と、第2のプロセッサおよび/またはその第2のプロセッサに関連づけられたシステム資源との間の任意の通信の同義語として用いる。共用メモリ(例えば、ランダム・アクセス・メモリ)は、通常はチップのすべてのプロセッサがアクセスできる必要がある、システム資源の一例である。
システム資源は、あるタスクの同じアスペクトまたは同じタスクの異なるアスペクトを処理するためにプロセッサが並列で動作するデュアルプロセッサ・チップまたはマルチプロセッサ・チップにおいて、有効な方式で共用されなければならない。資源の共用は、各プロセッサが関連データを処理するよう求められるアプリケーションでも必要となることがある。
マルチプロセッサの一例が、1993年4月16日に出願された欧州特許出願第0580961−A1号において提示されている。この特許出願は、複数の別個のプロセッサと、それらすべてのプロセッサによって共用されるグローバル・バスとを備えるシステムに関する。プロセッサをその共通バスに接続するため、拡張プロセッサ・インタフェースが提供される。グローバル・バスを備えるそのようなマルチプロセッサ・システムは、システム性能に影響を及ぼす高いバス負荷のため、RISCプロセッサを用いて実現することができない。欧州特許出願第0580961−A1号で提示されたマルチプロセッサ・システムは、高性能ではあるが、複雑であり、実施に多くの費用がかかる。提示された構造は、共通ダイ上のマルチプロセッサ・システムでは使用することができない。
別のシステムが、1985年4月26日に出願された米国特許第4866597号で提案されている。この米国特許は、各プロセッサが独自のプロセッサ・バスを有するマルチプロセッサ・システムに関する。データは、個々のプロセッサ・バスを直接に相互接続する先入れ先出しデータ・バッファ(FIFO)を介してプロセッサ間で交換される。転送されるデータ量に伴いバッファのサイズが劇的に増加することが、この手法の短所である。
米国特許第5093780号は、転送データを自動的に読み書きするデータ・リンクを有するプロセッサ間送信システムに関する。直接メモリ・アクセス(DMA)ユニットと送信器が、第1のプロセッサに割り当てられ、DMAユニットと受信器が、第2のプロセッサに割り当てられる。プロセッサは、対応するDMAをプログラミングすることによって、転送をセットアップしなければならない。すなわち、プロセッサは、データを転送すべきかどうかについて事前に知らなければならない。これは、個々のプロセッサの関与を必要とするため、上述のプロセッサ間送信システムの短所である。前記システムの別の短所は、すべての送信が単方向であること、すなわち、実装が非対称であることである。図4の左側のメモリ16から右側のメモリ26にしかデータを送信することができない。
マルチマイクロプロセッサ・システム用のDMAコントローラが、米国特許第5222227号に開示されている。このDMAコントローラは、マイクロコンピュータ・システムによって実行されるデータ転送操作を制御する機能を有する。アドレス・パイプラインとデータ・パイプラインが、別々に提供される。トライステート技術がバスに用いられる。バスCDBとバスSDBは、少なくとも一時的に電気的に相互接続される。その結果、両バスは、同一のクロック速度で動作しなければならず、また同一のバス幅を持たなければならない。米国特許第5222227号によれば、同種のバスだけが相互接続できる。提示のシステムで使用される外部DMAチャネルは存在しない。
共用メモリを備えるマルチプロセッサ・システムが、1991年9月17日に出願された米国特許第5283903号で説明され、特許請求されている。この米国特許によるシステムは、複数のプロセッサと、共用メモリ(メイン・メモリ)と、優先権選択ユニットとを含む。優先権選択ユニットは、プロセッサ間において、共用メモリへの要求アクセスを調停する。調停が必要となるのは、共用メモリが、複数のプロセッサからの競合する要求を同時に処理できない単一ポート・メモリ(例えば、ランダム・アクセス・メモリ)であるためである。共用メモリが単なる中間ストレージとしては高価であることが、この手法の短所である。共用メモリは、データ転送の高速化に伴い、その容量を増すことができる。
別のマルチプロセッサ・システムが、1990年4月24日に出願された米国特許第5289588号で説明されている。プロセッサは、共通バスによって結合される。プロセッサは、このバスを介して共用メモリにアクセスすることができる。プロセッサごとにキャッシュが関連づけられ、共用メモリへのアクセスを制御するために調停方式が利用される。この手法の短所は、大きいキャッシュのみが性能を飛躍的に高めるので上記のキャッシュ・メモリは高価となることである。さらに、バス競合によって、各プロセッサの性能が低下する。
マイクロプロセッサ・アーキテクチャが、1992年7月7日に出願され、PCT公開番号WO93/01553を付して公開されたPCT特許出願PCT/JP92/00869で説明されている。このアーキテクチャは、データ・バス、アドレス・バス、および制御信号バスによって結合される複数の異種のプロセッサをサポートする。メモリへのアクセスは、調停回路によって制御される。
公知のマイクロプロセッサ・システムのいくつかは、プロセッサ間通信がプロセッサの処理サイクルの一部を占有するアーキテクチャを使用する。プロセッサ機能および性能をより有効に利用できるようにするため、このオーバヘッドを回避して、プロセッサの処理能力を自由に使えるようすることが望ましい。
その他の周知の方式は、2以上のプロセッサが同一チップ内に配置される集積マルチプロセッサ・システムには使用することができない。
いくつかの公知のシステムが実装において非対称であること、つまり、プロセッサごとに異なる実装が必要であることが、それらのシステムのさらに別の短所である。さらに、実装が非対称だと、対称な場合に比べて、本格的な検証に費やす労力が大きくなる。
本発明の目的は、2以上のプロセッサおよび/またはそれに関連づけられたコンポーネントの間で効率的なデータ転送を行うための方式を提供することである。
本発明の目的は、半導体ダイへの組み込みに適したプロセッサ間データ転送方式を提供することである。
上記およびその他の目的は、集積されたプロセッサを少なくとも2つ含むシステムを提供する本発明によって達成される。本発明によれば、これらの2つのプロセッサは、情報を交換するために通信チャネルを介して動作可能に接続される。一方のプロセッサ(P1)は、プロセッサ・バスと、共用可能ユニットと、2つの外部DMAチャネルを有するDMAユニットとを含む。DMAユニットおよび共用可能ユニットは、プロセッサ・バスに接続される。他方のプロセッサも、共用可能ユニットと、2つの外部DMAチャネルを有するDMAユニットとを含む。プログラム可能ユニットを利用して、プロセッサが所望の通信リンクをセットアップできるようにする。この構成によって、2つのバス組織の間に2つの双方向通信チャネルを確立することができる。
2以上のプロセッサを、共通の半導体ダイ上に配置することができる。こうすることで、例えば、PDA、ハンドヘルド・コンピュータ、パーム・トップ・コンピュータ、セルラ電話、コードレス電話などのコンピューティング装置を実現することができる。
2以上のプロセッサおよび/またはそれに関連づけられたコンポーネントの間で通信を行うため、通信チャネルを有利に利用することができる。本発明の構成は、一般的なマルチコア通信のニーズに適している。本発明の構成は高度に対称的であり、本発明を用いなければプロセッサごとに必要となるバス・マスタの数を最少に抑えることができる。本発明の方式は、拡張可能であり非常に柔軟である。
本発明の上記およびその他の態様は、以下で説明する実施形態から明らかであり、またそれらの実施形態を参照して説明される。
本発明のより完全な説明のため、また本発明のさらなる目的および利点を示すため、以下の説明を添付の図面と併せて参照する。
本発明をいくつかの実施形態に関して説明する。
図1に示すように、本発明が適用されるデュアルプロセッサ・システムは、第1のプロセッサ・バス10を介して第1の共用可能ユニット13に接続される第1のプロセッサP1を含む。プロセッサ・バス(マイクロプロセッサ・バスとも呼ばれる)は、コンピュータ・システムのプロセッサに接続するメイン・パスである。共用可能ユニット13または23の一例として、共用メモリ(例えば、ランダム・アクセス・メモリ;RAM)がある。第1のプロセッサ・バス10は、64ビット、20MHzのバスである。システムは、やはりプロセッサ・バス20を有する第2のプロセッサP2を含む。この第2のプロセッサ・バス20は、64ビット、66MHzのバスである。(図1に楕円によって概略的に示された)2つのプロセッサ環境18および28の間の相互接続は、2つの双方向通信チャネル11および21を介して確立される。第1の双方向チャネル11は、矢印12によって示すように、プロセッサP1によってプログラム可能であり、第2の双方向チャネル21は、矢印22によって示すように、プロセッサP2によってプログラム可能である。2つの双方向通信チャネル11および21は、以降、コア間通信システム9と呼ばれる。
図2に、第1の実施形態をより詳細に示す。コア間通信システム29は、第1および第2の外部DMAチャネル46、47を備える第1のDMAユニット45(DMA1)を含む。第1のDMAユニット45は、内部DMAチャネル49を介して第1のプロセッサ・バス10に接続可能である。コア間通信システム29はさらに、第1の外部DMAチャネル47を介して第1のDMAユニット45に接続可能な第1のダブル・タンデム・ユニット(DTU)34(DTU1)を含む。DTUユニット34は、矢印32によって示すように、第1のプロセッサP1によってプログラム可能であり、第1のDMAユニット45は、矢印132によって示すように、プロセッサP1によってプログラム可能である。さらに、コア間通信システム29は、第2のDMAユニット35(DMA2)と、第2のDTUユニット44(DTU2)を含む。DMAユニット35は、第1および第2の外部DMAチャネル36、37と、内部DMAチャネル39とを有する。第2のDMAユニット35は、内部DMAチャネル39を介して第2のプロセッサ・バス20に接続される。第2のDMAユニット35と第2のDTUユニット44は、第1の外部DMAチャネル37を介して接続可能である。DTUユニット44は、矢印42によって示すように、第2のプロセッサP2によってプログラム可能であり、第2のDMAユニット35は、矢印142によって示すように、第2のプロセッサP2によってプログラム可能である。第1の双方向通信チャネルは、第1のDTU34によって実施され、第2の双方向通信チャネルは、第2のDTU44によって実施される。DTU34、44は各々、図2に示すように、プログラミング/構成定義の目的で、プロセッサに直接接続可能である。(図2に楕円によって概略的に示された)2つのプロセッサ環境38および48の間の相互接続は、双方向データ転送によって確立される。
1つのDTUユニット、例えば、DTU1をプログラミングすることで、プロセッサ環境48からプロセッサ環境38に向う方向およびその反対方向の(双方向)データ転送が、その他のどのような資源のプログラミングも必要とせずに可能となる点が、図1および図2に示す実施形態の新規な特徴である。データは、DMA1に移送することができ、第2のプロセッサ・バス20に接続された共用可能ユニット23からフェッチすることができる。DTU2は、DMA2にデータを移送することができ、第1のプロセッサ・バス10に接続された共用可能ユニット13からデータをフェッチすることができる。
図1または図2に示すデュアルプロセッサ構成は、第2のプロセッサP2が、共用可能ユニット13にアクセスすることを可能にする。共用可能ユニット23は、プロセッサP1によってアクセス可能である。
より一般的に言えば、本発明によるマルチプロセッサ・システムの1つのプロセッサ(説明中の実施形態ではプロセッサP2)は、別のプロセッサ(説明中の実施形態ではプロセッサP1)に関連づけられた資源にアクセスすることができる。例えば、安価なリモート・メモリとの間でデータのアップロードおよびダウンロードを行うため、リモート・バスに接続された別のプロセッサの資源にアクセスすることができる。プロセッサは、例えば、コプロセッサのメモリにアクセスして、コプロセッサによって計算されたデータをフェッチすることができる。これらは、第1のプロセッサがリモート・バスに接続された資源にアクセスする状況の2つの代表的な例に過ぎない。
説明中の方式を用いて、様々なタイプのプロセッサを相互接続することができる。この方式によって、複数の同種のプロセッサを有するチップの実現が可能になり、または複数の異種のプロセッサを有するチップの実現さえもが可能になる。プロセッサという語は、本明細書では、半導体チップに組み込むことができ、実際にデータを用いて命令および作業を実行する任意の処理ユニットの同義語として用いられる。
複合命令セット・コンピューティング(CISC)は、今日用いられている2つの主要なプロセッサ設計のうちの1つである。CISCは徐々に人気を失い、縮小命令セット・コンピューティング(RISC)設計に移り変わりつつある。現在最も普及しているCISCプロセッサはx86であるが、68xx、65xx、およびZ80も利用されている。
現在、最速のプロセッサは、RISCベースである。いくつかの普及しているRISCプロセッサが存在し、その中には、(デジタル社によって開発され、現在、デジタル/コンパック社およびサムスン社によって製造される)Alpha、(アドバンストRISCマシーンズ社によって開発され、インテル社によって所有され、上記2社およびデジタル/コンパック社によって製造される)ARM、(ヒューレット・パッカード社によって開発された)PA−RISC、(IBM社、アップル社、モトローラ社の共同作業によって開発された)PowerPC、および(Sun社によって開発され、現在、数多くの様々なメーカによって製造される)SPARCなどが含まれる。
ARMは、性能を最大化するようにではなく、消費電力に対する性能を最大化するように設計されている点で、その他の大部分のプロセッサとは異なっている。したがって、ARMは、その大部分がハンドヘルド・マシンおよびPDAで使用される。
上記のセクションで、本発明によって相互接続できるプロセッサのいくつかの例が示された。デジタル信号プロセッサ(DSP)、周知のあらゆるプロセッサのプロセッサ・コア、および特定顧客向けプロセッサ設計にも適している。言い換えれば、説明中の概念は、大部分のマイクロプロセッサ・アーキテクチャに適用可能である。低速プロセッサ・バスを有するプロセッサと高速プロセッサ・バスを有するプロセッサとを相互接続することさえできる。
本出願では、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、システム・コントローラ(SC)、コプロセッサ、補助プロセッサ、制御ユニットなども、プロセッサと見なされる。
直接メモリ・アクセス(DMA)ユニットは、プロセッサを介することなく、データをメモリから別の装置へ渡すために設計されたユニットである。DMAは一般に、1つまたは複数の専用内部DMAチャネルと、外部周辺装置用の1つまたは複数の専用外部DMAチャネルを有する。そのような外部DMAチャネルは、関連するプロセッサによって制御される内部DMAチャネルとは反対に、リモート・プロセッサが別のプロセッサの共用可能ユニットにアクセスできるように、外部エージェントによってセットアップされる。例えば、DMAは、プロセッサ・バスに接続された装置が、プロセッサによる介入を必要とせず、メモリにアクセスできるようにする。
共用可能ユニットの例として、揮発性メモリ、不揮発性メモリ、周辺装置、インタフェース、入力装置、出力装置などがある。
本発明によるコア間通信システムは、第1のプロセッサP1のクロック・ドメインと第2のプロセッサP2のクロック・ドメインの間のデータ・フローを分断する。これは、本発明のデータ転送システムの範囲内では、一方のプロセッサの動作が、他方のプロセッサと同時かつ同等の動作を必要としないことを意味する。
本発明によるコア間通信システム29を、図3に関連させて詳細に説明する。コア間通信システム29は、第1のDTU34(DTU1)、第2のDTU44(DTU2)、第1のDMA45(DMA1)、および第2のDMA35(DMA2)を含む。説明中の実施形態では、DMAユニット35は、2つの外部DMAチャネル・ユニット56、57を含む。これら2つの外部DMAチャネル・ユニット56、57の内部チャネル39は、プロセッサ・バス20に接続される。
第1の外部DMAチャネル・ユニット56は、リンク36を介して第2のDTU44に接続される。第2の外部DMAチャネル・ユニット57は、リンク37を介して第1のDTU34に接続される。第1のDMAユニット45は、2つの外部DMAチャネル・ユニット54、55を含む。これら2つの外部DMAチャネル・ユニット54、55の内部チャネル49は、プロセッサ・バス10に接続される。第1の外部DMAチャネル・ユニット55は、リンク47を介して第1のDTU34に接続される。第2の外部DMAチャネル・ユニット54は、リンク46を介して第2のDTU44に接続される。これら2つの外部DMAチャネル・ユニット54、55の内部チャネル49は、プロセッサ・バス10に接続される。
DTU34は、プロセッサ・バス10を介してプロセッサP1(図3には図示せず)へのプログラミング・リンク52を確立できるようにする第1のプロセッサ・インタフェース60を含む。DTU34はさらに、直接アクセス・ユニット・コア(DAUコア)62と、2つの外部DMAチャネル・インタフェース61、63を含む。外部DMAチャネル・インタフェース61は、外部DMAチャネル・ユニット55とのインタフェースとして機能し、外部DMAチャネル・インタフェース63は、外部DMAチャネル・ユニット57とのインタフェースとして機能する。
DTU44は、プロセッサ・バス20を介してプロセッサP2(図3には図示せず)へのプログラミング・リンク51を確立できるようにする第1のプロセッサ・インタフェース50を含む。DTU44はさらに、直接アクセス・ユニット・コア(DAUコア)52と、2つの外部DMAチャネル・インタフェース51、53を含む。外部DMAチャネル・インタフェース51は、外部DMAチャネル・ユニット56とのインタフェースとして機能し、外部DMAチャネル・インタフェース53は、外部DMAチャネル・ユニット54とのインタフェースとして機能する。
第1のプロセッサP1のクロック信号(clock1)は、クロック線58を介して次のユニットに、すなわち、外部DMAチャネル・ユニット54、外部DMAチャネル・ユニット55、外部DMAチャネル・インタフェース53、外部DMAチャネル・インタフェース61、およびDAUコア62に供給される。第2のプロセッサP2のクロック信号(clock2)は、クロック線59を介して次のユニットに、すなわち、外部DMAチャネル・ユニット56、外部DMAチャネル・ユニット57、外部DMAチャネル・インタフェース51、外部DMAチャネル・インタフェース63、およびDAUコア52に供給される。
プロセッサP1は、第1のプロセッサ・インタフェース60を用いて第1のDTU34を構成定義する。DTU34のDAUコア62は、2つの外部チャネル・インタフェース・ユニット61、63用の制御ロジックである。DAUコア62はさらに、理想的には先入れ先出し(FIFO)によって高機能化されたデータ転送を実行する。同様に、プロセッサP2は、第2のプロセッサ・インタフェース50を介して第2のDTU44を構成定義する。どちらの場合も、第1のDMAユニット45の外部チャネルは、プロセッサ・バス10に接続する内部DMAチャネル49の資源を使用し、第2のDMAユニット35の外部チャネルは、プロセッサ・バス20に接続する内部DMAチャネル39の資源を使用する。
図3に示すように、コア間通信システム29は、クロックの分断を可能にする。すべてのブロックは、プロセッサP1のクロックclock1またはプロセッサP2のクロックclock2のどちらかによって刻時され、一方のプロセッサの動作は、他方のプロセッサの同時かつ同等の動作を必要としない。
信号clock1とclock2の間に位相および/または周波数上の関係が存在しない場合、DAUコア52、62は、適切なハンドシェイク信号を用いて安全なデータ転送を実現できるように実装することができる。このハンドシェイク信号は、DAUコア52と外部DMAチャネル・インタフェース53の間、およびDAUコア62と外部DMAチャネル・インタフェース63の間で交換される。
外部DMAチャネル・インタフェースおよび/またはDAUコアは、標準化することができる。言い換えれば、本発明による各DTUまたはDMAは、同一の機能コアを含むことができる。プロセッサ・インタフェースだけは、実際に利用されるプロセッサおよび/またはプロセッサ・バスに応じて構成しなければならない。標準化によって、再利用が最大限促進され、また検証に要する労力が減少するため、開発時間の短縮がもたらされる。
本発明によれば、DMAユニットは、内部インタフェースを介してプロセッサ・バスに接続され、外部インタフェースを介してDTUに接続される。外部インタフェースは、8ビット幅とすることができる。
プロセッサ・インタフェースは、当該インタフェースが含まれるDTUをプログラミングするのに利用されるので、プログラミング入力(例えば、図3の入力52)を有する。交換されるデータはDTUの外部DMAチャネル・インタフェースによって処理されるので、プロセッサ・インタフェースは、プロセッサ・バスへのデータ・リンクを必要としない。双方向チャネルの設定および構成定義は、プロセッサがプロセッサ・インタフェースを介して個々のDTUのDAUコアをプログラミングすることによって行われる。
DTU34は、例えば、共用可能ユニット13との間で情報(データおよび/または制御情報)を転送するため、外部DMAチャネル47を利用する。
図4に、本発明の別の実施形態を示す。第1のプロセッサP1と、第1のプロセッサ・バス70と、第1のプロセッサ・バス70に接続される第1の共用可能ユニット76を含むシステムが示されている。第2のプロセッサP2と、第2のプロセッサ・バス80と、第2のプロセッサ・バス80に接続される第2の共用可能ユニット86も存在する。第1の双方向通信チャネルは、外部DMAチャネル85を有する第1のDMAユニット83を介して確立可能である。第1のDMAユニット83は、第1のプロセッサ・バス70に接続可能である。第1のDTUユニット82が設けられる。第1のDTUユニット82は、外部DMAチャネル85を介して第1のDMAユニット83に接続可能である。DTUユニット82は、第1のプロセッサP1によってプログラム可能である。プログラミングは、プロセッサ・バス70とプログラミング・リンク84を介して行われる。さらに、マスタ・ユニット(master2)81が設けられる。このマスタ・ユニット81は、第1のDTU82と第2のプロセッサ・バス80の間のインタフェースとして機能する。第2の双方向通信チャネルは、外部DMAチャネル75を有する第2のDMAユニット73を介して確立可能である。第2のDMAユニット73は、第2のプロセッサ・バス80に接続可能である。第2のDTUユニット72が設けられる。第2のDTUユニット72は、外部DMAチャネル75を介して第2のDMAユニット73に接続可能である。DTUユニット72は、第2のプロセッサP2によってプログラム可能である。プログラミングは、プロセッサ・バス80とプログラミング・リンク74を介して行われる。さらに、マスタ・ユニット(master1)71が設けられる。このマスタ・ユニット71は、第2のDTU72と第1のプロセッサ・バス70の間のインタフェースとして機能する。この説明におけるマスタは、プロセッサ・バス上のデータ転送を開始(および続行)できるユニットである。したがって、マスタは、バス上の何らかの調停機構(優先順位づけ機構)にアクセスする必要がある(この優先順位づけ機構は、本特許出願の一部ではない)。マスタは、プロセッサ・バス上の動作中の装置を選択するのに用いられるアドレッシング回路を有する。
図5に、本発明の別の実施形態を示す。2つのプロセッサ・バス90と100の間に2つの双方向チャネルを確立できるコア間通信システム99が提供される。例えば、プロセッサP1は、デジタル信号プロセッサ(DSP)コアとすることができ、プロセッサP2は、システム・コントローラ(SC)コアとすることができる。この実施形態では、例えば、図2、図3、または図4に示すDTU1およびDTU2の機能要素を含む1つの共通DTUユニット92が存在する。この共通DTU92の一部は、矢印104に示すように、プロセッサP1によってプログラム可能であり、別の一部は、矢印94に示すように、プロセッサP2によってプログラム可能である。このDTU92の詳細を、図6に示す。
共通DTU92は、プロセッサP1(図6には図示せず)へのプログラミング・リンク104をプロセッサ・バス90を介して確立できる第1のプロセッサ・インタフェース120を含む。DTU92はさらに、直接アクセス・ユニット・コア(DAUコア)122と、2つの外部DMAチャネル・インタフェース121、123を含む。外部DMAチャネル・インタフェース121は、DMA1ユニット101とのインタフェースとして機能し、外部DMAチャネル・インタフェース123は、DMA2ユニット93とのインタフェースとして機能する。DTU92はさらに、プロセッサP2(図6には図示せず)へのプログラミング・リンク94をプロセッサ・バス100を介して確立できる第2のプロセッサ・インタフェース110を含む。DTU92はさらに、別の直接アクセス・ユニット・コア(DAUコア)112と、2つの外部DMAチャネル・インタフェース111、113を含む。外部DMAチャネル・インタフェース111は、DMA2ユニット93とのインタフェースとして機能し、外部DMAチャネル・インタフェース113は、DMA1ユニット101とのインタフェースとして機能する。また、2つのクロック信号clock1、clock2がどのように供給されるかも図6に示されている。
DTU92のプログラミングは、好ましくは、2つの別々のレジスタ・セットを用いて行われ、各レジスタ・セットは、プロセッサP1またはP2の一方によって割り当てられる。こうすることで、2つのDAUコア112、122によって実行される同時アクセスに伴う競合を回避することができる。しかし、プロセッサP1からの要求とプロセッサP2からの要求のどちらを優先するかを決定できる優先順位づけ方式は必要である。次の2つの方式が提案される。
−優先順位を指定せず、先着順の原則に基づいて動作する。すなわち、先に権利を確保したプロセッサが、他方のプロセッサよりも高い優先権をもつ。進行中の転送は常に完了し、新しい転送は待ち行列に入れられる。
−プロセッサP1がプロセッサP2よりも高い優先順位をもつか、またはその反対とする。優先順位が低いデータ転送が進行中の場合、より高い優先順位をもつプロセッサが発行した要求によって、その転送を中断させることができる。転送の中断は、低い優先順位をもつコアからは透過的に発生する。高い優先順位の要求が終了した後、低い優先順位の要求が再開される。高い優先順位の要求が中断されることはない。
本発明によれば、DTUユニットは、外部DMAチャネルを利用して、他のプロセッサのプロセッサ・バスに接続可能な共用可能ユニットとの間でデータを転送する。そのような外部DMAチャネルは、個々のプロセッサによってプログラムされる内部DMAチャネルとは反対に、その他のプロセッサの資源にアクセスするために、外部エージェントによってセットアップされる。本特許出願における外部エージェントは、ローカル・プロセッサ上の資源にアクセスするため、リモート・プロセッサによってプログラムされたコマンドである。内部DMAチャネルは、ローカル・プロセッサ自体によってプログラムされる。
本発明は、3以上のプロセッサを備えるシステムでも利用することができる。第3のプロセッサは、それ自体のプロセッサ・バス、第3のDMA3ユニット、および第3のDTU3を介して、例えば、第2のプロセッサのDMA2ユニットに接続することができる。こうすることで、第3のプロセッサは、第2のプロセッサに関連づけられた資源への双方向チャネルを確立することができる。
本発明のさらに別の実施形態では、2以上のプロセッサと本発明によるプロセッサ間通信用の通信チャネルは、カスタマイズされた特定用途向け集積回路(ASIC)に組み込まれる。
本明細書で提示され、特許請求の範囲で特許請求されるアーキテクチャの利点は、このアーキテクチャが複数の異種のプロセッサをサポートする点にある。本発明の方式は、一般的なマルチコア通信のニーズに適するように拡張することができる。本発明によって、各プロセッサ用のバス・マスタの数を減らすことができるが、それは、潜在的に利用可能なDMAユニットをこの目的のために使用することができるからである。再利用の概念とそのための設計は、もう一つの利点である。その他の様々な利点は、本発明の様々な実施形態に関連してすでに述べた。
提案されたアーキテクチャは、対称的であり、大部分のマイクロプロセッサ・アーキテクチャに適用可能である。提案されたアーキテクチャは、マルチコア・アーキテクチャに拡張することができる。すなわち、コアの数に左右されない。
本発明は、PDA、ハンドヘルド・コンピュータ、パーム・トップ・コンピュータなどのコンピューティング装置での利用によく適している。本発明はまた、セルラ電話(例えば、GSM電話)、コードレス電話(例えば、DECT電話)などでの利用にも適している。本明細書で提案したアーキテクチャは、上記の装置用のチップもしくはチップ・セット、またはBluetoothアプリケーション用のチップで利用することができる。
説明を明瞭にするため、別々の実施形態として説明した本発明の様々な特徴は、組み合わせて単一の実施形態としても実現できることは理解されよう。その反対に、説明を簡略にするため、単一の実施形態として説明した本発明の様々な特徴は、別々に、または適切な副組み合わせとして実現することもできる。
図面および明細書で、本発明の好ましい実施形態を提示した。その際、具体的な術語を使用したが、上述の説明では、術語は総称的かつ説明的な意味でのみ使用されており、限定的な目的では使用されていない。
本発明の第1の実施形態によるデュアルプロセッサ・コンピュータ・システムの概略ブロック図である。 本発明によるプロセッサ間通信システムの概略図である。 図2のプロセッサ間通信システムの詳細ブロック図である。 本発明の別の実施形態によるデュアルプロセッサ・コンピュータ・システムの概略ブロック図である。 本発明の別の実施形態によるデュアルプロセッサ・コンピュータ・システムの概略ブロック図である。 図5のDTUユニットの詳細ブロック図である。

Claims (12)

  1. 第1のプロセッサ・バスと、
    前記第1のプロセッサ・バスに接続可能な第1のプロセッサと、
    第1の外部直接メモリ・アクセス・チャネルを有し、前記第1のプロセッサ・バスに接続可能な第1の直接メモリ・アクセス・ユニットと、
    前記第1の外部直接メモリ・アクセス・チャネルを介して前記第1の直接メモリ・アクセス・ユニットに接続可能であり、前記第1のプロセッサによってプログラム可能な第1のプログラム可能ユニットと、
    前記第1のプロセッサ・バスに接続可能な第1の共用可能ユニットと、
    第2のプロセッサ・バスと、
    前記第2のプロセッサ・バスに接続可能な第2のプロセッサと、
    第2の外部直接メモリ・アクセス・チャネルを有し、前記第2のプロセッサ・バスに接続可能な第2の直接メモリ・アクセス・ユニットと、
    前記第2の外部直接メモリ・アクセス・チャネルを介して前記第2の直接メモリ・アクセス・ユニットに接続可能であり、前記第2のプロセッサによってプログラム可能な第2のプログラム可能ユニットと、
    前記第2のプロセッサ・バスに接続可能な第2の共用可能ユニットとを含み、
    第1の双方向通信チャネルが、前記第1の共用可能ユニットと前記第2のプロセッサの間に確立可能であり、前記第1の双方向通信チャネルは、前記第1のプログラム可能ユニットによって確立され、前記第1のプログラム可能ユニットは、前記第1の外部直接メモリ・アクセス・チャネルを利用することにより、データを前記第1の共有可能ユニットから転送する動作が可能であり、かつ、前記第2の直接メモリ・アクセス・ユニットへ前記データを移送することができ、第2の双方向通信チャネルが、前記第2の共用可能ユニットと前記第1のプロセッサの間に確立可能であり、前記第2の双方向通信チャネルは、前記第2のプログラム可能ユニットによって確立され、前記第2のプログラム可能ユニットは、前記第2の外部直接メモリ・アクセス・チャネルを利用することにより、データを前記第2の共有可能ユニットから転送する動作が可能であり、かつ、前記第1の直接メモリ・アクセス・ユニットへ前記データを移送することができるシステム。
  2. 前記第1の双方向通信チャネルおよび/または前記第2の双方向通信チャネルが、半二重チャネルまたは全二重チャネルである、請求項1に記載のシステム。
  3. 前記第1のプロセッサと前記第2のプロセッサが、アーキテクチャ上の観点から見て同様である、請求項1に記載のシステム。
  4. 前記第1のプロセッサと前記第2のプロセッサは、同じタイプのプロセッサ設計を実施したものである、請求項1に記載のシステム。
  5. 前記第1のプロセッサと前記第2のプロセッサは、異なるタイプのプロセッサ設計を実施したものである、請求項1に記載のシステム。
  6. 前記共用可能ユニットが、メモリ、周辺装置、インタフェース、入力装置、出力装置のいずれかである、請求項1ないし5のいずれかに記載のシステム。
  7. 前記2つの集積されたプロセッサの一方が、中央処理装置、マイクロプロセッサ、デジタル信号プロセッサ、システム・コントローラ、コプロセッサ、または補助プロセッサである、請求項1ないし5のいずれかに記載のシステム。
  8. 前記第1のプログラム可能ユニットおよび/または前記第2のプログラム可能ユニットが、プロセッサ・インタフェースと、直接アクセス・ユニット・コアと、2つの外部直接メモリ・アクセス・チャネル・インタフェースとを含む、請求項1ないし5のいずれかに記載のシステム。
  9. 前記プロセッサ・インタフェースが、プロセッサ・バスに接続するため、またはプロセッサに接続するためのプログラミング・リンクを有する、請求項8に記載のシステム。
  10. 前記共用可能ユニットとの間でデータおよび/または制御情報を転送するため、前記通信チャネルを確立することができる、請求項1ないし9のいずれかに記載のシステム。
  11. 共通の半導体ダイ上に配置され、情報を交換するために双方向通信チャネルを介して動作可能に接続される第1のプロセッサと第2のプロセッサとを含むコンピューティング装置であって、
    前記第1のプロセッサが接続可能な第1のプロセッサ・バスと、
    第1の外部直接メモリ・アクセス・チャネルを有し、前記第1のプロセッサ・バスに接続可能な第1の直接メモリ・アクセス・ユニットと、
    前記第1の外部直接メモリ・アクセス・チャネルを介して前記第1の直接メモリ・アクセス・ユニットに接続可能であり、前記第1のプロセッサによってプログラム可能な第1のプログラム可能ユニットと、
    前記第1のプロセッサ・バスに接続可能な第1の共用可能ユニットと、
    前記第2のプロセッサが接続可能な第2のプロセッサ・バスと、
    第2の外部直接メモリ・アクセス・チャネルを有し、前記第2のプロセッサ・バスに接続可能な第2の直接メモリ・アクセス・ユニットと、
    前記第2の外部直接メモリ・アクセス・チャネルを介して前記第2の直接メモリ・アクセス・ユニットに接続可能であり、前記第2のプロセッサによってプログラム可能な第2のプログラム可能ユニットと、
    前記第2のプロセッサ・バスに接続される第2の共用可能ユニットとをさらに含み、
    第1の双方向通信チャネルが、前記第1の共用可能ユニットと前記第2のプロセッサの間に確立可能であり、前記第1の双方向通信チャネルは、前記第1のプログラム可能ユニットによって確立され、前記第1のプログラム可能ユニットは、前記第1の外部直接メモリ・アクセス・チャネルを利用することにより、データを前記第1の共有可能ユニットから転送する動作が可能であり、かつ、前記第2の直接メモリ・アクセス・ユニットへ前記データを移送することができ、第2の双方向通信チャネルが、前記第2の共用可能ユニットと前記第1のプロセッサの間に確立可能であり、前記第2の双方向通信チャネルは、前記第2のプログラム可能ユニットによって確立され、前記第2のプログラム可能ユニットは、前記第2の外部直接メモリ・アクセス・チャネルを利用することにより、データを前記第2の共有可能ユニットから転送する動作が可能であり、かつ、前記第1の直接メモリ・アクセス・ユニットへ前記データを移送することができるコンピューティング装置。
  12. PDA、ハンドヘルド・コンピュータ、パーム・トップ・コンピュータ、セルラ電話、またはコードレス電話の一部となる、請求項11に記載のコンピューティング装置。
JP2004522393A 2002-07-23 2003-07-16 プロセッサ間で通信を行うための改良プロセッサ間通信システム Expired - Fee Related JP4368795B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02016492 2002-07-23
PCT/IB2003/002813 WO2004010308A2 (en) 2002-07-23 2003-07-16 Improved inter-processor communication system for communication between processors

Publications (2)

Publication Number Publication Date
JP2005534094A JP2005534094A (ja) 2005-11-10
JP4368795B2 true JP4368795B2 (ja) 2009-11-18

Family

ID=30470237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004522393A Expired - Fee Related JP4368795B2 (ja) 2002-07-23 2003-07-16 プロセッサ間で通信を行うための改良プロセッサ間通信システム

Country Status (7)

Country Link
US (1) US20060123152A1 (ja)
EP (1) EP1535169B1 (ja)
JP (1) JP4368795B2 (ja)
CN (1) CN100447768C (ja)
AT (1) ATE543138T1 (ja)
AU (1) AU2003246991A1 (ja)
WO (1) WO2004010308A2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100334581C (zh) * 2004-04-02 2007-08-29 明基电通股份有限公司 在多个微处理器间传输数据的嵌入式计算机系统及方法
JP2006059303A (ja) * 2004-08-24 2006-03-02 Oki Electric Ind Co Ltd コンピュータシステム
JP2006133968A (ja) * 2004-11-04 2006-05-25 Fujitsu Ltd 情報処理装置
US8732368B1 (en) * 2005-02-17 2014-05-20 Hewlett-Packard Development Company, L.P. Control system for resource selection between or among conjoined-cores
CN101098527B (zh) * 2006-06-27 2012-06-13 雅斯拓(北京)智能卡科技有限公司 同时处理个人令牌中的数据传输会话的线程控制器
US7984301B2 (en) 2006-08-17 2011-07-19 Inside Contactless S.A. Bi-processor architecture for secure systems
JP4476267B2 (ja) * 2006-10-06 2010-06-09 株式会社日立製作所 プロセッサ及びデータ転送ユニット
US20100077472A1 (en) * 2008-09-23 2010-03-25 Atmel Corporation Secure Communication Interface for Secure Multi-Processor System
US8195858B1 (en) * 2009-07-28 2012-06-05 Nvidia Corporation Managing conflicts on shared L2 bus
US8321618B1 (en) 2009-07-28 2012-11-27 Nvidia Corporation Managing conflicts on shared L2 bus
CN102063337B (zh) * 2009-11-17 2014-01-08 中兴通讯股份有限公司 多处理器核的信息交互和资源分配的方法及系统
US8458377B2 (en) * 2010-03-05 2013-06-04 Lsi Corporation DMA engine capable of concurrent data manipulation
KR101685407B1 (ko) * 2010-07-29 2016-12-13 삼성전자주식회사 멀티코어 시스템을 위한 다이렉트 메모리 억세스 장치 및 다이렉트 메모리 억세스 장치의 동작 방법
WO2013025311A1 (en) * 2011-08-12 2013-02-21 Rambus Inc. Temporal redundancy
FR3026869B1 (fr) * 2014-10-07 2016-10-28 Sagem Defense Securite Systeme embarque sur puce a haute surete de fonctionnement
US10303630B2 (en) * 2017-10-08 2019-05-28 Huawei Technologies Co., Ltd. Configurable hardware accelerators
CN111427816A (zh) * 2020-03-04 2020-07-17 深圳震有科技股份有限公司 一种amp系统核间通讯方法、计算机设备及存储介质
CN112181878B (zh) * 2020-08-28 2022-04-08 珠海欧比特宇航科技股份有限公司 RapidIO接口架构和数据处理方法
CN112838888A (zh) * 2021-01-11 2021-05-25 深圳震有科技股份有限公司 一种基于5g的卫星编解码并发计算方法和系统
CN114228725A (zh) * 2021-11-23 2022-03-25 深圳元戎启行科技有限公司 车载控制系统以及无人驾驶车辆

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60229160A (ja) * 1984-04-26 1985-11-14 Toshiba Corp マルチプロセツサシステム
US5283903A (en) * 1986-12-25 1994-02-01 Nec Corporation Priority selector
US5222227A (en) * 1987-01-16 1993-06-22 Hitachi, Ltd. Direct memory access controller for a multi-microcomputer system
JPH02109153A (ja) * 1988-10-18 1990-04-20 Fujitsu Ltd プロセッサ間データ伝送方式
US5289588A (en) * 1990-04-24 1994-02-22 Advanced Micro Devices, Inc. Interlock acquisition for critical code section execution in a shared memory common-bus individually cached multiprocessor system
CA2080210C (en) * 1992-01-02 1998-10-27 Nader Amini Bidirectional data storage facility for bus interface unit
US5335326A (en) * 1992-10-01 1994-08-02 Xerox Corporation Multichannel FIFO device channel sequencer
JP3196637B2 (ja) * 1996-04-26 2001-08-06 三菱電機株式会社 ソートプロセッサおよびソート処理装置
US5890013A (en) * 1996-09-30 1999-03-30 Intel Corporation Paged memory architecture for a single chip multi-processor with physical memory pages that are swapped without latency
CN1293494C (zh) * 1999-09-09 2007-01-03 上海贝尔有限公司 主从式多处理器系统中的通信接口
CN100440183C (zh) * 2000-09-06 2008-12-03 Nxp股份有限公司 处理器间通信系统
US6775717B1 (en) * 2001-08-31 2004-08-10 Integrated Device Technology, Inc. Method and apparatus for reducing latency due to set up time between DMA transfers

Also Published As

Publication number Publication date
US20060123152A1 (en) 2006-06-08
WO2004010308A3 (en) 2005-04-07
WO2004010308A2 (en) 2004-01-29
ATE543138T1 (de) 2012-02-15
JP2005534094A (ja) 2005-11-10
AU2003246991A1 (en) 2004-02-09
EP1535169B1 (en) 2012-01-25
CN1688986A (zh) 2005-10-26
EP1535169A2 (en) 2005-06-01
CN100447768C (zh) 2008-12-31
AU2003246991A8 (en) 2004-02-09

Similar Documents

Publication Publication Date Title
JP4368795B2 (ja) プロセッサ間で通信を行うための改良プロセッサ間通信システム
US7313641B2 (en) Inter-processor communication system for communication between processors
US6526462B1 (en) Programmable multi-tasking memory management system
CN102446158B (zh) 多核处理器及多核处理器组
CN103793342B (zh) 一种多通道直接内存存取dma控制器
US7231484B2 (en) Method and memory controller for scalable multi-channel memory access
JP4322451B2 (ja) Dspメモリ間あるいはdspメモリとcpu用メモリ(dpram)間データ転送方式
US20180357199A1 (en) Slave-to-slave communication in i3c bus topology
US6931470B2 (en) Dual access serial peripheral interface
WO2019141157A1 (zh) 一种核间数据传输的装置和方法
CN102063337B (zh) 多处理器核的信息交互和资源分配的方法及系统
CN112711550A (zh) Dma自动配置模块和片上系统soc
CN104021097A (zh) 数据传输方法、装置及直接存储器存取
JP2004062900A (ja) バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム
US7340553B2 (en) Data processing device and method for transferring data
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
EP1403772A1 (en) Method and memory controller for scalable multi-channel memory access
CN108153703A (zh) 一种外设访问方法和装置
CN112740192A (zh) 大数据运算加速系统及数据传输方法
JP2008305232A (ja) Pcカード装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080604

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080522

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080903

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090731

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees