JP5700582B2 - マルチプロセッサの完全な相互アクセス方法及びシステム - Google Patents

マルチプロセッサの完全な相互アクセス方法及びシステム Download PDF

Info

Publication number
JP5700582B2
JP5700582B2 JP2012546318A JP2012546318A JP5700582B2 JP 5700582 B2 JP5700582 B2 JP 5700582B2 JP 2012546318 A JP2012546318 A JP 2012546318A JP 2012546318 A JP2012546318 A JP 2012546318A JP 5700582 B2 JP5700582 B2 JP 5700582B2
Authority
JP
Japan
Prior art keywords
processor
bus
module
address
processors
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.)
Active
Application number
JP2012546318A
Other languages
English (en)
Other versions
JP2013516010A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Publication of JP2013516010A publication Critical patent/JP2013516010A/ja
Application granted granted Critical
Publication of JP5700582B2 publication Critical patent/JP5700582B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Description

本発明は、マルチプロセッサ技術に関し、特に、システムオンチップ(Soc:System on chip)におけるマルチプロセッサの完全な相互アクセス方法及びシステムに関する。
集積回路(IC:Integrated Circuit)技術が進歩し、組み込み型(embedded)処理への要求が急増している。これに伴い、プロセッサシステムアーキテクチャは、マルチコアプロセッサに向かって発展している。マルチコアプロセッサにより、複雑さや、不十分な計算能力といった、シングルプロセッサシステムにおける克服し難い問題の解決が望まれる。
従来技術では、一般的に、通信分野に係るマルチコアプロセッサシステムにおいて、複数のプロセッサは、明確に分業化されている。複数のプロセッサは、それぞれが独立した処理タスクを取り扱う必要がある。ここで、専用処理モジュールは、各処理タスクを独自に実行する。各専用処理モジュールには、専用プロセッサと、周辺装置セットとが割り当てられる。各専用プロセッサは、自身の独立したアドレス空間を有する。結果的に、各専用プロセッサ間では、完全な相互アクセスをすることができない。
上記のように、従来技術において、マルチプロセッサ間では、完全な相互アクセスを実現することができない。つまり、マルチプロセッシングシステムに含まれるリソースは、完全に共有されているわけではない。これにより、データ処理の高速化が阻害され、更に、サービスの正常な動作が阻害される。
以上を鑑み、本発明の主な目的は、複数のプロセッサ間のリソース共有を実現し、これにより、データ処理を高速化し、サービスの正常な動作を保証することが可能な、マルチプロセッサの完全な相互アクセス方法及びシステムを提供することにある。
前記目的を実現するために、本発明の技術的スキームは、下記のように実現される。
本発明は、
独立したブートメモリと、独立したアドレスマッピングモジュールとを、各プロセッサに割り当て、
いずれか1つのプロセッサが起動した後、アドレスマッピングモジュールにより、複数のプロセッサ間の相互アクセスを実現する
マルチプロセッサの完全な相互アクセス方法を提供する。
前記スキームにおいて、さらに、前記プロセッサが起動する前に、電源をオンした後、各プロセッサを起動可能にする。
前記スキームにおいて、さらに、プロセッサが起動して初期化するとき、アドレスマッピングモジュールにより、各プロセッサの先頭アドレスを、プロセッサに対応するブートメモリにマッピングする。
前記スキームにおいて、さらに、各2つのプロセッサの間の通信を共有するためのメールボックスを設定する。
前記スキームにおいて、マルチプロセッサの完全な相互アクセスを実現することは、具体的には、
アドレスマッピングモジュールが、プロセッサが送信した論理アドレスを、別のプロセッサが認識可能な物理アドレスに変換して、マルチプロセッサ間の相互アクセスを実現することである。
本発明は、マルチプロセッサの完全な相互アクセスシステムを更に提供する。前記システムは、
1以上のプロセッサを含み、システム内部の全てのデータを処理するマルチプロセッサモジュールと、
マルチプロセッサモジュールに含まれる1つのプロセッサから送信された論理アドレスを、別のプロセッサが識別可能な対応する物理アドレスに変換する1以上のアドレスマッピングモジュールと、
データ、データアドレス及び制御信号を伝送するオンチップ相互接続バスと、
メインメモリと、1以上のブートメモリとを含み、アプリケーションプログラム及びデータを格納するメモリモジュールとを含み、
各プロセッサは、1つのブートメモリと、1つのアドレスマッピングモジュールとに対応する。
前記スキームにおいて、前記システムは、少なくとも1つのメールボックス及び/又は少なくとも1つの周辺制御装置を更に含み、
各メールボックスは、各2つのプロセッサの間に配置され、2つのプロセッサの間の通信を共有し、
周辺制御装置は、他の周辺装置を搭載する。
前記スキームにおいて、前記システムは、起動モジュール及び/又はダイレクトメモリアクセス(DMA:Direct Memory Access)モジュールを更に含み、
起動モジュールは、各プロセッサを起動可能とし、
DMAモジュールは、データを搬送する。
前記スキームにおいて、前記オンチップ相互接続バスは、少なくとも1つのレベルのバスを含み、
レベル1のバスは、マルチプロセッサモジュールと、メモリモジュールとを接続し、
レベル2以上の下位のバス、上位のバスと周辺制御装置とを接続し、上位のバスとメールボックスとを接続する。


前記スキームにおいて、前記システムは、2つのレベルのバス同士を接続するブリッジを更に含む。
前記スキームにおいて、前記システムは、レベル1のバスを経由せずにレベル2のバスに直接アクセスする通信伝送路をプロセッサに提供するバイパスモジュールを更に含む。
本発明が提供するマルチプロセッサの完全な相互アクセス方法及びシステムは、下記のような特徴及び利点を有する。
1)本発明は、各プロセッサに、独立したブート(起動)メモリを設ける。これにより、電源をオンする際、起動モードが柔軟になる。例えば、1つのプロセッサが先に起動してメインプロセッサとして機能し、他のプロセッサの起動を制御することができる。あるいは、複数のプロセッサが同時に起動することもできる。
2)本発明によれば、アドレスマッピングメカニズムにより、プロセッサが周辺装置を処理するために割り当てたアドレス空間を、アクセス対象のプロセッサに対応する周辺装置のアドレス空間にマッピングする。これにより、プロセッサが送信した論理アドレスを、アクセス対象のプロセッサに対応する周辺装置の物理アドレスに、確実に対応させることができる。その結果、プロセッサは、アクセス対象のプロセッサに対応する周辺装置にアクセスすることができる。同機種環境のプロセッサをサポートするだけでなく、異機種環境のプロセッサもサポートすることができる。このため、全てのリソースが、各プロセッサに対して同等のステータスとなる。また、各プロセッサがリソースを共有できる。例えば、マルチプロセッサ間で、周辺装置及びメモリなどを共有することができる。
3)本発明によれば、バス階層化技術でデータの伝送を実現する。高速の周辺装置をレベル1のバスに接続し、低速の周辺装置をレベル2のバスに接続する。これにより、高速周辺装置と低速周辺装置とをよく統合することができる。さらに、具体的なアプリケーションに応じて、バスの階層数を増減したり、レベル2のバスの数を増減することができる。これにより、多数のスレーブ装置を接続することができ、拡張性が向上する。
本発明によれば、プロセッサとレベル2のバスとの間に、バイパス伝送路が設けられる。プロセッサは、レベル1のバスを経由せずに、バイパス伝送路を介して、レベル2のバスに接続される周辺装置に直接アクセスできる。このため、プロセッサと周辺装置との間の帯域幅を大幅に向上させることができる。また、レベル1のバスの帯域幅負荷を低下させることができる。これにより、サービスの正常な動作を保証することができる。
4)本発明によれば、各2つのプロセッサにメールボックスを設ける。これにより、関連する2つのプロセッサだけが、このメールボックスにアクセスすることができる。一方、他のプロセッサは、このメールボックスに対するアクセス権を持たない。これにより、マルチプロセッサ間での相互制御の目的を達成することができる。これにより、タスクを迅速に、順序良く処理することを保証することができる。
本発明のマルチプロセッサの完全な相互アクセスシステムの構造図である。 本発明のマルチプロセッサの完全な相互アクセス方法のフローチャートである。 本発明の実施形態におけるシステム構築のフレームワークの模式図である。 本発明の実施形態における相互アクセス実現方法のフローチャートである。 本発明の実施形態におけるアドレスマッピングメカニズムの実現に係る模式図である。 本発明の実施形態におけるプロセッサアクセスメカニズムの模式図である。 本発明の実施形態におけるマルチコア通信メカニズムの模式図である。
以下、図面及び具体的な実施形態を参照し、本発明をより詳細に説明する。
本発明のシステムは、マスタ装置と、スレーブ装置とに関する。マスタ装置は、システム内で読み書きコマンドを能動的に送信することが可能である(プロセッサ、DMA(Direct Memory Access)など)。スレーブ装置は、システム内で読み書きコマンドを能動的に送信することができず、読み書きコマンドを受動的に受信することが可能である(メモリ、周辺制御装置など)。
図1に示すように、本発明のマルチプロセッサの完全な相互アクセスシステムは、マルチプロセッサモジュール11と、アドレスマッピングモジュール12と、オンチップ相互接続バス13と、メモリモジュール14とを含む。
マルチプロセッサモジュール11は、システム内部の全てのデータを処理及び演算する。
マルチプロセッサモジュール11は、複数のプロセッサ(例えば、ARM、デジタルシグナルプロセッサ(DSP:Digital Signal Processing)、MIPS(Microprocessr without Interlocked Piped Stages:パイプラインステージがインターロックされないマイクロプロセッサ)、PowerPCプロセッサなど)を含んでもよい。
アドレスマッピングモジュール12は、マルチプロセッサモジュール11に含まれるプロセッサから送信された論理アドレスを、プロセッサが識別可能な対応する物理アドレスに変換する。これにより、プロセッサが、対応するスレーブ装置に正確にアクセスすることが可能となる。
ここで、各プロセッサは、各プロセッサに対応する独立したアドレスマッピングモジュールを備える。
オンチップ相互接続バス13は、データ、アドレス及び制御信号を伝送する。
アドレスマッピングモジュール12は、マルチプロセッサモジュール11が送信したデータを変換する。オンチップ相互接続バス13は、マルチプロセッサモジュール11が送信した制御情報を解析する。その後、各データは、対応するスレーブ装置(メモリモジュール14など)に割り当てられる。
ここで、オンチップ相互接続バスには、バス階層化技術が採用される。オンチップ相互接続バスは、レベル1のバスと、レベル2のバスとを含む。レベル1のバスとレベル2のバスとの間には、ブリッジが構成される。レベル1のバス及びレベル2のバスは、異なるクロック周波数、異なる帯域幅又は異なるデータフォーマットを有してもよく、異なるプロトコルを用いてもよい。ブリッジは、バッファ機能を有してもよい。バッファ機能を有する場合、ブリッジは、レベル1のバスが取得した制御コマンド及びデータを、バッファに格納する。その後、ブリッジは、受信した制御コマンドを解析する。そして、ブリッジは、レベル2のバスのプロトコルに基づいて、受信したデータを、対応するスレーブ装置に割り当てる。
マルチプロセッサモジュール11は、アドレスマッピングモジュール12と、レベル1のバスとを介して、メモリモジュール14にアクセス可能である。レベル2のバスは、低速のスレーブ装置に接続される。マルチプロセッサモジュール11は、アドレスマッピングモジュール12、レベル1のバス及びレベル2のバスを介して、レベル2のバスに接続されるスレーブ装置にアクセス可能である。更に、レベル2のバスにレベル3のバスを接続することもできる。これにより、必要に応じて、さらに多くのスレーブ装置をサポートすることができる。
メモリモジュール14は、複数のブートメモリと、メインメモリとを含む。各プロセッサは、1つの独立したブートメモリに対応する。このブートメモリは、固定アドレスを有するプログラム(割込みエントリプログラムなど)と、プロセッサのブートプログラムとを格納する。メインメモリは、ブートメモリに格納されるプログラム及びデータ以外のプログラム及びデータを格納する。
システムは、プロセッサ間の通信に用いられる複数のメールボックス15を更に含む。各2つのプロセッサは、1つのメールボックスを共有する。メールボックスを共有する2つのプロセッサだけが、対応するメールボックスにアクセスすることができる。他のプロセッサは、このメールボックスにアクセスすることができない。
具体的には、アドレスマッピングモジュールは、一方のプロセッサに、アドレスをマッピングする。その後、この一方のプロセッサは、メールボックスに、制御情報を書き込む。一方、アドレスマッピングモジュールは、他方のプロセッサに、アドレスをマッピングする。その後、この他方のプロセッサは、メールボックスから、制御情報を読み取る。これにより、2つのプロセッサ間における相互制御を実現する。
システムは、周辺制御装置16をさらに含む。アドレスマッピングモジュール12は、マルチプロセッサモジュール11が送信したデータを、マッピングする。このデータは、オンチップ相互接続バス13に伝送される。オンチップ相互接続バス13は、マルチプロセッサモジュール11が送信した制御情報を解析する。その後、データが、対応する周辺制御装置16に割り当てられる。これにより、マルチプロセッサは、対応する周辺制御装置16に正確にアクセスすることができる。
周辺制御装置16は、フラッシュ(Flash)、ユニバーサルシリアルバス(USB:Universal Serial BUS)、インターインテグレイテッドサーキット(I2C:Inter−Integrated Circuit)、シリアルペリフェラルインタフェース(SPI:Serial Peripheral Interface)、汎用非同期送受信装置(UART:Universal Asynchronous Receiver/Transmitter)、IC間サウンド(I2S:Inter−IC Sound)などのうちの1以上の装置である。各周辺制御装置は、異なる機能を持つ。例えば、Flashは、プロセッサのブートプログラムを格納する。USBは、周辺装置との接続及び通信を行う。I2Sは、音声装置間でデータをやりとりする。
本発明に係るマルチプロセッサの完全なアクセスシステムによれば、電源をオンした後、アドレスマッピングモジュール12は、マルチプロセッサモジュール11に含まれる各プロセッサの先頭アドレスを、対応するブートメモリにマッピングする。システムの動作中、マルチプロセッサモジュール11に含まれるプロセッサ(アドレスマッピングモジュール12がアドレスマッピングしたプロセッサ)が送信した情報は、オンチップ相互接続バス13に伝送される。オンチップ相互接続バス13は、この情報に含まれる制御コマンドを解析する。その後、この情報に含まれるデータを、対応するアドレスに応じて、対応するスレーブ装置(メモリモジュール14、複数のメールボックス15及び周辺制御装置16)に割り当てる。
マルチプロセッサシステムの動作中、マルチプロセッサモジュール11に含まれるプロセッサAが、プロセッサBのスレーブ装置にアクセスする必要があるとする。この場合、アドレスマッピングモジュール12は、プロセッサAの各スレーブ装置のアドレス空間を、プロセッサBに対応する各スレーブ装置のアドレス空間にマッピングする。これにより、プロセッサAが送信する、アクセス対象の論理アドレスが、プロセッサBの各スレーブ装置の物理アドレスに対応する。即ち、プロセッサAは、プロセッサBに対応するスレーブ装置にアクセスすることができる。これにより、プロセッサ間の相互アクセスを実現することができる。複数のプロセッサは、各2つのプロセッサが共有するメールボックスを介して、相互制御を実現する。これにより、処理タスクを迅速に順序良く処理することが保証される。
システムは、ブートモジュールを更に含む。ブートモジュールは、システムの電源をオンすると、各プロセッサのブートプログラムをflashから取り出す。ブートモジュールは、ブートプログラムを、各プロセッサに対応するブートメモリに格納する。
前記システムは、DMA(Direct Memory Access)モジュールを更に含む。DMAモジュールは、データを搬送する。
マルチプロセッサモジュール11に含まれるプロセッサは、DMAコントローラを初期化し、DMA要求を送信する。DMAコントローラは、バスの制御権を取得する。その後、プロセッサは、直ちに停止する。あるいは、プロセッサは、内部操作のみを実行する。DMAコントローラは、読み書きコマンドを出力する。マルチプロセッサモジュール11に含まれる複数のプロセッサは、DMAモジュールを制御することができる。
システムは、バイパスモジュールを更に含む。バイパスモジュールは、プロセッサとレベル2のバスとを接続することで、バイパス伝送路を形成する。
バイパス伝送路の使用条件は、オンチップ相互接続バス13に予め設定される。即ち、マルチプロセッサモジュール11に含まれるプロセッサは、レベル1のバスを経由せずに、バイパス伝送路を介して、レベル2のバスに接続されたスレーブ装置に直接アクセスすることができる。これにより、プロセッサと周辺制御装置16との間に、より高い帯域幅を提供することができる。
前記システムによれば、本発明のマルチプロセッサの完全な相互アクセス方法は、図2に示すように、以下のステップを含む。
ステップ201:各プロセッサに、独立したブートメモリと、独立したアドレスマッピングモジュールとを割り当てる。
ステップ202:プロセッサが起動した後、アドレスマッピングモジュールは、各プロセッサの先頭アドレスを、対応するブートメモリにマッピングする。
ステップ202を実行する前、前記方法は、以下のステップを更に含む。すなわち、電源をオンすると、ブートモジュールは、各プロセッサのブートプログラムをflashから取り出し、各プロセッサの対応するブートメモリに格納する。これにより、各プロセッサが起動可能となる。
各プロセッサの先頭アドレスを対応するブートメモリにマッピングした後は、各プロセッサは、リセットした後、先頭アドレスから動作する。また、割込みエントリプログラムに割り当てられたアドレスは、固定である。このため、複数のプロセッサの固定アドレスに格納されたプログラム(割込みエントリプログラムなど)同士が競合することは無い。
ステップ203:アドレスマッピングモジュールがアドレスマッピングすることで、マルチプロセッサ間の相互アクセスを実現する。複数のプロセッサは、周辺制御装置と、メモリとを共有する。
ここで、バス階層化技術を利用して、データの伝送タスクを実行する。前記バス階層化技術は、具体的には、以下のような技術である。すなわち、一般的には、高速スレーブ装置(オンチップメモリ、外部メモリなど)を、直接レベル1のバスに接続する。レベル1のバスは、システムバスと称される場合もある。レベル2のバスは、レベル1のバスの下位のバスである。レベル2のバスは、低速スレーブ装置(例えば、Flash、USB、I2Cなど)に接続される。さらに多くのスレーブ装置を接続する必要があるにも拘らず、レベル2のバスがこの要求を満たせないとする。この場合、さらに多くのスレーブ装置をサポートするため、レベル2のバスにレベル3のバスを接続することが可能である。
複数のマスタ装置が、同時に1つのスレーブ装置にアクセスすることを要求する。この場合、バスシステムのアービタがアービトレーションを行う。
ここで、プロセッサ間は、各2つのプロセッサが共有するメールボックスを介して、通信を実行する。これにより、プロセッサの相互制御を実現することができる。
システムの動作中、DMAモジュールを介してデータを搬送することで、プロセッサの処理タスクを減少させることができ、処理速度を速くすることができる。
上記から分かるように、マルチプロセッサの完全な相互アクセスのための上記スキームによれば、プロセッサ間で完全な相互アクセスを実現することができる。複数のプロセッサが、周辺装置とメモリとを完全に共有することができる。これにより、システム性能が向上する。必要に応じて、バスの階層数を増加したり減少したりすることができる。これにより、実際に、複数のスレーブ装置を接続することができる。
以下、実施形態を参照し、本発明のスキームをより詳しく説明する。
図3は、実施形態に係るシステムの構成を示す模式図である。図3に示すように、本実施形態のシステムは、2つのARM11プロセッサと、2つのZSP500プロセッサとを含む。ARM11プロセッサ及びZSP500プロセッサは、システム内部の全てのデータを処理及び演算する。
ここで、ARM11プロセッサのデータビット幅は64ビットであり、アドレスビット幅は32ビットであり、システムのアドレス空間は4Gである。ZSP500プロセッサのデータビット幅は32ビットであり、アドレスビット幅は24ビットである。ARM11プロセッサとZSP500プロセッサとは、異機種環境のプロセッサである。
システムは、さらに、外部メモリ、オンチップメモリ及びローカルメモリを含む。これらのメモリは、プログラム及びデータを格納する。外部メモリとして、DDR−SDRAMを使用してもよい。オンチップメモリとして、RAMを使用してもよい。
外部メモリは、ARM11プロセッサにより駆動されるメインメモリである。オンチップメモリは、起動した後、ARM11プロセッサのブートメモリとして機能する。オンチップメモリは、システム動作時、固定アドレスのプログラム(割込みエントリプログラムなど)を格納する。
ローカルメモリは、ZSP500プロセッサのブートメモリとして機能するとともに、ZSP500プロセッサのメインメモリとして機能する。ローカルメモリは、ZSP500プロセッサに直接接続される。これにより、アクセス速度が向上し、計算集約型プロセッサ(例えば、ZSP)の性能を最大限に発揮することができる。
アドレスマッピングモジュール0、1、2、3は、論理アドレスを物理アドレスに変換する。
ここで、アドレスマッピングモジュール0、1、2、3は、2つのARM11プロセッサ及び2つのZSP500プロセッサに、一対一に接続される。アドレスマッピングモジュールは、送信されたアドレスをマッピングする。その後、ARM11プロセッサ及びZSP500プロセッサは、スレーブ装置に正確にアクセスすることができる。ZSP500プロセッサは、ARM11プロセッサの4Gアドレス空間に直接アクセスすることができない。しかし、アドレスマッピングモジュールがアドレスマッピングした後は、ZSP500プロセッサは、ARM11プロセッサのスレーブ装置にアクセスすることができる。これにより、拡張アクセス機能が実現される。
DMAモジュールは、データを搬送する。上記4つのプロセッサは、DMAモジュールを制御可能である。
ブートモジュールは、システムの電源をオンしたとき、各プロセッサの起動プログラムを、不揮発性記憶媒体から取り出す。ブートモジュールは、起動プログラムを、各プロセッサに対応するブートメモリに入れる。これにより、各プロセッサが起動可能となる。
ここで、不揮発性記憶媒体とは、周辺制御装置内のflashである。ARM11プロセッサに対応するブートメモリは、図3のオンチップメモリである。ZSP500プロセッサのブートメモリは、ZSP500プロセッサに含まれるローカルメモリである。
アドバンストエクステンシブルインターフェース(AXI:Advanced extensible Interface)、アドバンスト高性能バス(Adcanced High−performance Bus)及びアドバンストペリフェラルバス(APB:Advanced Peripheral Bus)は、データ、アドレス及び制御信号を送信する。
ここで、AXIは、システムのレベル1のバスである。AXIは、高性能、高帯域幅、低遅延のオンチップバスである。AXIは、複数のマスタ装置が同時に複数のスレーブ装置にアクセスすることをサポートする。AXIのデータビット幅は64ビットであり、アドレスビット幅は32ビットである。AXIは、プロセッサ、メインメモリ、オンチップメモリ及びレベル2のバスなどに、高速データ伝送路を提供する。複数のマスタ装置が同時に同一スレーブ装置にアクセスすることを要求する場合、AXIバスのアービタは、複数のプロセッサからのアクセス要求の順番を判断する。
AHBとAPBは、システムのレベル2のバスである。AHBとAPBは、それぞれ、ブリッジを介して、レベル1のバスに接続される。ここで、AHBは、マトリックス構造を有し、複数のマスタ装置が同時に複数のスレーブ装置にアクセスすることをサポートする。AHBのデータビット幅は32ビットであり、アドレスビット幅は32ビットである。APBは、高性能インターフェース又は高帯域幅インターフェースを用いた装置との相互接続を必要とすることなく、1つのマスタ装置が同時に複数のスレーブ装置にアクセスすることをサポートする。APBのアドレスビット幅は32ビットであり、データビット幅は16ビットである。
ブリッジ1及びブリッジ2は、それぞれ、AXIとAPBとの間と、AXIとAHBとの間とを切り替える。
具体的には、ブリッジ1は、AXIとAPBとの間を切り替える。ブリッジ2は、AXIとAHBとの間を切り替える。AXIバス、AHBバス及びAPBバスは、異なるクロック周波数、異なる帯域幅又は異なるデータビット幅で動作することができる。ブリッジは、バッファの機能を有し、システムのAXIバスの制御コマンド及びデータをバッファに格納する。ブリッジは、制御コマンドを解析した後、AHB又はAPBのプロトコルに応じて、受信したデータを、対応するスレーブ装置に割り当てる。
周辺制御装置は、FLASH、USB、I2C、SPI、UART、I2Sなどである。
バイパス伝送路は、第2のZSP500プロセッサと、AHBとを接続する。
具体的には、第2のZSP500プロセッサは、AXIを経由せず、バイパス伝送路を介して、AHBに接続されるスレーブ装置に直接アクセスする。
複数のメールボックスは、プロセッサ間の通信に用いられる。各2つのプロセッサは、1つのメールボックスを共有する。
ここで、本実施形態の装置における各ユニットの具体的な処理プロセスは、上記に詳しく説明されているため、説明を省略する。
図3に示すシステムに基づいて、ARM11プロセッサとZSP500プロセッサとの相互アクセスを実現する方法は、図4に示すように、下記のようなステップを含む。
ステップ401:2つのARM11プロセッサ及び2つのZSP500プロセッサに、独立したブートメモリを、一対一で割り当てる。
ここで、ARM11プロセッサのブートメモリは、オンチップメモリである。ZSP500プロセッサのブートメモリは、ローカルメモリである。
ステップ402:電源をオンした後、ブートモジュールは、各プロセッサのブートプログラムを、flashから、対応するブートメモリに搬送する。これにより、各プロセッサを起動することが可能となる。
ステップ403:プロセッサが起動した後、アドレスマッピングメカニズムは、各プロセッサの先頭アドレスを、それぞれの独立したブートメモリにマッピングする。
図5は、アドレスマッピングメカニズムの実現を示す。プロセッサ起動初期化の後、ARM11プロセッサのアドレスマッピングモジュールは、プロセッサの先頭アドレスを、対応するブートメモリにマッピングする。即ち、第1のARM11プロセッサは、アドレスマッピングモジュール0によって、先頭アドレスをオンチップメモリ0にマッピングする。第2のARM11プロセッサは、アドレスマッピングモジュール1によって、先頭アドレスをオンチップメモリ1にマッピングする。第1のZSP500プロセッサは、アドレスマッピングモジュール2によって、アドレスを、第1のZSP500プロセッサのローカルメモリにマッピングする。第2のZSP500プロセッサは、アドレスマッピングモジュール3によって、アドレスを、第2のZSP500プロセッサのローカルメモリにマッピングする。
各ブートメモリは、システム動作時、対応するプロセッサの固定アドレスのプログラム(割込みエントリプログラムなど)を格納する。プロセッサの先頭アドレスは、変換され、その後、対応するブートメモリに格納される。これにより、プロセッサが、自身の割込みエントリプログラムを正確に実行することができる。このため、複数のプロセッサの固定アドレスに格納されたプログラム(割込みエントリプログラムなど)同士が競合することが無い。
ステップ404:プロセッサの初期化起動を実行した後、アドレスマッピングモジュールのアドレスマッピング機能により、ARM11プロセッサとZSP500プロセッサとの相互アクセスを実現する。ARM11プロセッサ及びZSP500プロセッサは、周辺装置と、メモリとを共有する。
図6は、ZSP500プロセッサの拡張アクセスメカニズムを示す。ZSP500プロセッサの拡張アクセスメカニズムは、具体的には、以下のとおりである。
ARM11プロセッサのアドレスビット幅が32ビットであり、システムのアドレス空間が4Gであり、ZSP500プロセッサのアドレスビット幅が24ビットである。アドレスビット幅が異なるため、ZSP500プロセッサは、ARM11に対応する4Gのアドレス空間全体にアクセスすることができない。
ZSP500プロセッサのアドレスマッピングモジュールは、ZSP500プロセッサのスレーブ装置に割り当てたアドレス空間を、ARM11の対応するスレーブ装置に割り当てたアドレス空間にマッピングする。これにより、ZSPプロセッサは、拡張アクセスを実現することができる。
例えば、ZSP500プロセッサがUSBに割り当てたアドレス空間が1Mであり、ARM11プロセッサがUSBに割り当てたアドレス空間が2Mである。しかし、実際には、USBは、2Mのアドレス空間の全てを利用するわけではなく、アドレス空間の先頭の一部しか利用しない。このとき、アドレスマッピングモジュールは、ZSP500プロセッサのUSBのアドレス空間を、ARM11プロセッサの対応するUSBに利用されるアドレス空間に、マッピングすることができる。これにより、ZSP500プロセッサは、ARM11プロセッサのUSBにアクセスするための論理アドレスを送信すると、ARM11プロセッサのUSBにアクセスすることができる。
図7は、実施形態のマルチコア通信メカニズムの模式図である。図7は、プロセッサ間でメールボックスを用いて相互制御を実現する原理を示す。各2つのプロセッサは、1つのメールボックスを共有する。2つのプロセッサは、メールボックスにアクセスし、メールボックスに制御情報を書き込むことで、通信を実行する。具体的には、プロセッサAは、メールボックス0に制御情報を書き込む。プロセッサAに関連するプロセッサBは、このメールボックス0中の制御情報を読み取る。これにより、プロセッサAがプロセッサBを制御することができる。一方、プロセッサBがプロセッサAを制御する必要がある場合、制御情報をメールボックス1に書き込む必要がある。プロセッサAは、このメールボックス1中の制御情報を読み取る。これにより、プロセッサBがプロセッサAを制御することができる。これにより、2つのプロセッサの相互制御を実現することができる。
アドレスマッピングモジュールによりアドレスマッピングされると、通信中の2つのプロセッサだけが、メールボックスを閲覧し、メールボックスにアクセスすることができる。一方、他のプロセッサは、当該メールボックスへのアクセス権を持たない。これにより、通信の信頼性が保証される。本実施形態のシステムは、4つのプロセッサを有する。メールボックスは、一方向にしか読み書きできないため、本実施形態のシステムには、12個のメールボックスが必要である。
以上のように、本発明の実施形態のスキームを適用すれば、複数の異機種環境のプロセッサ(ARM11プロセッサとZSP500プロセッサ)の完全な相互アクセスを実現することができ、周辺装置とメモリとを完全に共有することができ、システムの性能を向上させることができる。
上記のものは本発明の好適な実施形態に過ぎず、本発明はこれに限定されず、種々の変更形態および変形形態が当業者によって可能である。また、特許請求の範囲に規定される本発明の趣旨及び範囲に逸脱しない限り、あらゆる変更、均等な置換、および改良が可能であることを理解されたい。

Claims (10)

  1. 独立したブートメモリと、独立したアドレスマッピングモジュールとを、各プロセッサに割り当て、
    いずれか1つのプロセッサが起動した後、アドレスマッピングモジュールにより、1つのプロセッサに対応する各スレーブ装置のアドレス空間を、他の1つのプロセッサに対応する各スレーブ装置のアドレス空間にマッピングすることにより、1つのプロセッサが送信する、アクセス対象の論理アドレスが、他の1つのプロセッサの各スレーブ装置の物理アドレスに対応するようにして、複数のプロセッサ間の相互アクセスを実現する
    マルチプロセッサの完全な相互アクセス方法。
  2. さらに、前記プロセッサが起動する前に、電源をオンした後、各プロセッサを起動可能にする
    請求項1に記載の方法。
  3. さらに、プロセッサが起動して初期化するとき、アドレスマッピングモジュールにより、各プロセッサの先頭アドレスを、プロセッサに対応するブートメモリにマッピングする
    請求項2に記載の方法。
  4. さらに、各2つのプロセッサの間の通信を共有するためのメールボックスを設定する
    請求項1〜3のいずれか1項に記載の方法。
  5. 1以上のプロセッサを含み、システム内部の全てのデータを処理するマルチプロセッサモジュールと、
    マルチプロセッサモジュールに含まれる1つのプロセッサに対応する各スレーブ装置のアドレス空間を、他の1つのプロセッサに対応する各スレーブ装置のアドレス空間にマッピングすることにより、1つのプロセッサが送信する、アクセス対象の論理アドレスが、他の1つのプロセッサの各スレーブ装置の物理アドレスに対応するようにする1以上のアドレスマッピングモジュールと、
    データ、データアドレス及び制御信号を伝送するオンチップ相互接続バスと、
    メインメモリと、1以上のブートメモリとを含み、アプリケーションプログラム及びデータを格納するメモリモジュールとを含み、
    各プロセッサは、1つのブートメモリと、1つのアドレスマッピングモジュールとに対応する
    マルチプロセッサの完全な相互アクセスシステム。
  6. 少なくとも1つのメールボックス及び/又は少なくとも1つの周辺制御装置を更に含み、
    各メールボックスは、各2つのプロセッサの間に配置され、2つのプロセッサの間の通信を共有し、
    周辺制御装置は、他の周辺装置を搭載する
    請求項に記載のシステム。
  7. 起動モジュール及び/又はダイレクトメモリアクセス(DMA:Direct Memory Access)モジュールを更に含み、
    起動モジュールは、各プロセッサを起動可能とし、
    DMAモジュールは、データを搬送する
    請求項又はに記載のシステム。
  8. 前記オンチップ相互接続バスは、少なくとも1つのレベルのバスを含み、
    レベル1のバスは、マルチプロセッサモジュールと、メモリモジュールとを接続し、
    レベル2以上の下位のバスは、上位のバスと周辺制御装置とを接続し、上位のバスとメールボックスとを接続する
    請求項に記載のシステム。
  9. 2つのレベルのバス同士を接続するブリッジを更に含む
    請求項に記載のシステム。
  10. レベル1のバスを経由せずにレベル2のバスに直接アクセスする通信伝送路をプロセッサに提供するバイパスモジュールを更に含む
    請求項に記載のシステム。
JP2012546318A 2009-12-29 2010-06-04 マルチプロセッサの完全な相互アクセス方法及びシステム Active JP5700582B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200910261740.X 2009-12-29
CN200910261740XA CN102110072B (zh) 2009-12-29 2009-12-29 一种多处理器完全互访的方法及系统
PCT/CN2010/073583 WO2010148931A1 (zh) 2009-12-29 2010-06-04 一种多处理器完全互访的方法及系统

Publications (2)

Publication Number Publication Date
JP2013516010A JP2013516010A (ja) 2013-05-09
JP5700582B2 true JP5700582B2 (ja) 2015-04-15

Family

ID=43385984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012546318A Active JP5700582B2 (ja) 2009-12-29 2010-06-04 マルチプロセッサの完全な相互アクセス方法及びシステム

Country Status (6)

Country Link
US (1) US20120290763A1 (ja)
EP (1) EP2506150A4 (ja)
JP (1) JP5700582B2 (ja)
KR (1) KR101472644B1 (ja)
CN (1) CN102110072B (ja)
WO (1) WO2010148931A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI409642B (zh) * 2009-12-25 2013-09-21 Asustek Comp Inc 具有橋接器之電腦系統
KR20120046461A (ko) * 2010-11-02 2012-05-10 삼성전자주식회사 인터페이스 장치 및 이를 포함하는 시스템
CN104714923B (zh) 2013-12-17 2018-04-20 华为技术有限公司 一种实现设备共享的方法和装置
KR102116096B1 (ko) 2013-12-20 2020-05-27 한화테크윈 주식회사 다중시스템 및 이의 부팅 방법
CN105808498B (zh) * 2014-12-30 2018-06-08 展讯通信(上海)有限公司 非对称多处理器通信方法及装置
CN110874212B (zh) 2015-06-30 2021-08-20 华为技术有限公司 一种硬件加速方法、编译器以及设备
US9965410B2 (en) 2016-01-21 2018-05-08 Qualcomm Incorporated Priority-based data communication over multiple communication buses
CN106844271A (zh) * 2017-03-13 2017-06-13 郑州云海信息技术有限公司 一种系统验证平台及方法
US20180314629A1 (en) * 2017-04-27 2018-11-01 British Cayman Islands Intelligo Technology Inc. Managing parallel access to a plurality of flash memories
US11301397B2 (en) 2018-04-24 2022-04-12 Technion Research & Development Foundation Limited Multiple processor computing device with configurable electrical connectivity to peripherals
CN109933553B (zh) * 2019-02-28 2020-09-29 厦门码灵半导体技术有限公司 一种控制系统及其设计方法、一组控制系统、电子装置
CN110265029A (zh) * 2019-06-21 2019-09-20 百度在线网络技术(北京)有限公司 语音芯片和电子设备
CN110688328B (zh) * 2019-09-27 2023-03-14 山东华芯半导体有限公司 一种axi总线分主机映射集的可配置重映射实现方法
CN111666104B (zh) * 2020-06-11 2023-12-19 江苏华创微系统有限公司 一种支持从RapidI/O启动的DSP处理器设计方法
CN111427836B (zh) * 2020-06-11 2020-11-13 杭州万高科技股份有限公司 一种总线资源配置调整的异构多核处理器
CN112231269A (zh) * 2020-09-29 2021-01-15 深圳宏芯宇电子股份有限公司 多处理器系统数据处理方法及多处理器系统
CN112540949A (zh) * 2020-12-17 2021-03-23 北京航天测控技术有限公司 一种数据传输系统
CN113312303B (zh) * 2021-04-30 2022-10-21 展讯通信(上海)有限公司 处理器微架构系统、SoC芯片及低功耗智能设备
CN113703958B (zh) * 2021-07-15 2024-03-29 山东云海国创云计算装备产业创新中心有限公司 多架构处理器间的数据访问方法、装置、设备及存储介质
CN113778538A (zh) * 2021-09-13 2021-12-10 讯牧信息科技(上海)有限公司 多处理器系统及其启动方法
WO2023101295A1 (ko) * 2021-12-02 2023-06-08 삼성전자 주식회사 복수의 코어를 사용하여 운영체제를 부팅하는 전자 장치 및 그의 동작 방법
CN115374046B (zh) * 2022-10-21 2023-03-14 山东云海国创云计算装备产业创新中心有限公司 一种多处理器数据交互方法、装置、设备及存储介质
CN116010332B (zh) * 2023-03-28 2023-06-16 苏州旗芯微半导体有限公司 多核SoC系统及其内存通信方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62206658A (ja) * 1986-03-07 1987-09-11 Hitachi Ltd 記憶管理装置
IT1228728B (it) * 1989-03-15 1991-07-03 Bull Hn Information Syst Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi.
JP3102495B2 (ja) * 1989-12-28 2000-10-23 株式会社日立製作所 仮想記憶管理方法
DE69022716T2 (de) * 1990-03-19 1996-03-14 Bull Hn Information Syst Mehrrechnersystem mit verteilten gemeinsamen Betriebsmitteln und dynamischer und selektiver Vervielfältigung globaler Daten und Verfahren dafür.
US5465344A (en) * 1990-08-20 1995-11-07 Matsushita Electric Industrial Co., Ltd. Microprocessor with dual-port cache memory for reducing penalty of consecutive memory address accesses
JP2819982B2 (ja) * 1993-03-18 1998-11-05 株式会社日立製作所 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
JP2625385B2 (ja) * 1994-06-30 1997-07-02 日本電気株式会社 マルチプロセッサシステム
US5920891A (en) * 1996-05-20 1999-07-06 Advanced Micro Devices, Inc. Architecture and method for controlling a cache memory
EP1408416A2 (en) * 1996-07-02 2004-04-14 Sun Microsystems, Inc. Extended symmetrical multiprocessor architecture
CN1293494C (zh) * 1999-09-09 2007-01-03 上海贝尔有限公司 主从式多处理器系统中的通信接口
US7509391B1 (en) * 1999-11-23 2009-03-24 Texas Instruments Incorporated Unified memory management system for multi processor heterogeneous architecture
JP2001243115A (ja) * 2000-02-29 2001-09-07 Mitsubishi Electric Corp 計算機システム
US6505269B1 (en) * 2000-05-16 2003-01-07 Cisco Technology, Inc. Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system
US6813522B1 (en) * 2000-12-29 2004-11-02 Emc Corporation Method of sharing memory in a multi-processor system including a cloning of code and data
US20020138156A1 (en) * 2001-01-25 2002-09-26 Wong Isaac H. System of connecting multiple processors in cascade
US6874014B2 (en) * 2001-05-29 2005-03-29 Hewlett-Packard Development Company, L.P. Chip multiprocessor with multiple operating systems
US6961941B1 (en) * 2001-06-08 2005-11-01 Vmware, Inc. Computer configuration for resource management in systems including a virtual machine
US7185341B2 (en) * 2002-03-28 2007-02-27 International Business Machines Corporation System and method for sharing PCI bus devices
CN1277224C (zh) * 2003-10-20 2006-09-27 中兴通讯股份有限公司 嵌入式系统中主从式多处理器的引导方法
US7702742B2 (en) * 2005-01-18 2010-04-20 Fortinet, Inc. Mechanism for enabling memory transactions to be conducted across a lossy network
US7610464B2 (en) * 2006-02-22 2009-10-27 Sony Computer Entertainment Inc. Methods and apparatus for providing independent logical address space and access management
WO2007105373A1 (ja) * 2006-03-10 2007-09-20 Sony Corporation ブリッジ、情報処理システムおよびアクセス制御方法
KR100781974B1 (ko) * 2006-11-15 2007-12-06 삼성전자주식회사 레지스터 억세스회로를 가지는 멀티패스 억세스블 반도체메모리 장치
TW200813724A (en) * 2006-07-28 2008-03-16 Samsung Electronics Co Ltd Multipath accessible semiconductor memory device with host interface between processors
JP2008122888A (ja) * 2006-11-14 2008-05-29 Koto:Kk カラオケ装置
CN101192165B (zh) * 2006-11-29 2014-08-13 中兴通讯股份有限公司 主从式多处理器系统以及软件版本加载方法
US7979592B1 (en) * 2007-02-09 2011-07-12 Emulex Design And Manufacturing Corporation Virtualization bridge device
JP2008276343A (ja) * 2007-04-26 2008-11-13 Nec Electronics Corp 情報処理装置
US8001390B2 (en) * 2007-05-09 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for secure programming and storage of data using a multiprocessor in a trusted mode
US7979645B2 (en) * 2007-09-14 2011-07-12 Ricoh Company, Limited Multiprocessor system for memory mapping of processing nodes
CN101216781B (zh) * 2007-12-28 2011-03-23 中国科学院计算技术研究所 一种多处理器系统、装置及方法
JP5241384B2 (ja) * 2008-08-29 2013-07-17 ルネサスエレクトロニクス株式会社 分散共有メモリ型マルチプロセッサ及びデータ処理方法
CN101452430B (zh) * 2008-12-12 2012-06-27 北京星网锐捷网络技术有限公司 多处理器之间的通信方法与包括多处理器的通信装置
US8144582B2 (en) * 2008-12-30 2012-03-27 International Business Machines Corporation Differentiating blade destination and traffic types in a multi-root PCIe environment

Also Published As

Publication number Publication date
WO2010148931A1 (zh) 2010-12-29
EP2506150A1 (en) 2012-10-03
US20120290763A1 (en) 2012-11-15
EP2506150A4 (en) 2015-01-07
KR20120092176A (ko) 2012-08-20
CN102110072B (zh) 2013-06-05
KR101472644B1 (ko) 2014-12-15
CN102110072A (zh) 2011-06-29
JP2013516010A (ja) 2013-05-09

Similar Documents

Publication Publication Date Title
JP5700582B2 (ja) マルチプロセッサの完全な相互アクセス方法及びシステム
CN108121672B (zh) 一种基于NandFlash存储器多通道的存储阵列控制方法与装置
US10846254B2 (en) Management controller including virtual USB host controller
TWI654560B (zh) 多核心共享頁遺失處置器
KR102365312B1 (ko) 스토리지 컨트롤러, 연산 스토리지 장치, 및 연산 스토리지 장치의 동작 방법
JP2014503103A (ja) 階層的キャッシュ設計におけるキャッシュ間の効率的通信のための方法および装置
US8996734B2 (en) I/O virtualization and switching system
US8972624B2 (en) USB virtualization
US9047264B2 (en) Low pin count controller
JP2019057162A (ja) 仮想化システム、仮想化プログラム、及び、記憶媒体
CN112256615B (zh) Usb转换接口装置
US9436617B2 (en) Dynamic processor-memory revectoring architecture
US20200358637A1 (en) Information processing system, and platform
US11150928B2 (en) Hypervisor translation bypass
US20160314086A1 (en) Secure digital host controller virtualization
CN109491949B (zh) 基于Zynq的动态可重构框架及方法
JP7247405B2 (ja) ストレージコントローラ、計算ストレージ装置及び計算ストレージ装置の動作方法
CN111666104B (zh) 一种支持从RapidI/O启动的DSP处理器设计方法
JP2014119787A (ja) プロセッサ
KR20180023543A (ko) 시리얼 통신으로 메모리를 제공하기 위한 장치 및 방법
CN115328832B (zh) 一种基于pcie dma的数据调度系统与方法
KR102532099B1 (ko) 가상 머신을 지원하는 스토리지 가상화 장치, 이의 동작 방법, 및 이를 포함하는 시스템의 동작 방법
WO2012143947A2 (en) Multi-host peripheral controller
CN116339475A (zh) 硬件的复位方法、配置方法、电子设备与存储介质
JP2008123333A5 (ja)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141024

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20141104

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: 20150203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150212

R150 Certificate of patent or registration of utility model

Ref document number: 5700582

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250