(57)【要約】【課題】回路規模の増加を最小限に抑えながら、プロセサ要素間のデータ転送を高速化し、プロセサ要素の内部プロセッサのデータ処理効率を向上させ、また、デバグ効率を向上させる。【解決手段】制御系データまたは入出力データの転送要求に対応して第１または第２の共有バスのバス使用権を獲得しマスタとしてマルチプレクス転送またはバースト転送する複数のプロセサ要素０１〜０ｎを備えるマルチプロセサシステムにおいて、プロセサ要素０１〜０ｎが、制御系データの転送要求に対応して第１の共有バスのバス要求信号を出力しバス許可信号の入力に応じてマスタとして転送先の選択信号，制御信号，アドレス信号および制御系データを１サイクルで転送出力し、第１の共有バスを介して選択信号に基づき選択されスレーブとして制御系データを入力し制御信号およびアドレス信号に基づき処理する。【選択図】      図１
2008293524.tif 000002
【特許請求の範囲】
【請求項１】
それぞれデータ処理し、制御系データまたは入出力データの転送要求
に対応して第１または第２の共有バスのバス使用権を獲得し、マスタとして１サイクルごとにバス使用権を切り替え可能な転送方法であるマルチプレクス転送またはバースト転送する複数のプロセサ要素を備えるマルチプロセサシステムであって、
前記複数のプロセサ要素を構成する第１のプロセサ要素と第２のプロセサ要素は、
前記制御系データの転送要求に対応して第１の共有バスのバス要求信号を出力し、バス
許可信号の入力に応じてマスタとして転送先の選択信号，制御信号，アドレス信号および
前記制御系データを１サイクルで転送出力するマスタ機能と、
前記第１の共有バスを介して前記選択信号に基づき選択され、スレーブとして前記制御
系データを入力し、前記制御信号および前記アドレス信号に基づき処理するスレーブ機能
との両方の機能を備え、
さらに前記第１のプロセサ要素と前記第２のプロセサ要素は、
返送先コードを含む制御系データの転送要求に対応して第１の共有バスのバス要求信号を出力し、バス許可信号の入力に応じてマスタとして前記返送先コードを転送出力する第１の機能と、
第１の共有バスを介して前記選択信号に基づき選択されスレーブとして前記返送先コードを入力し、前記制御信号および前記アドレス信号に基づきメモリデータを読み出して制御系データとし返送要求を行う第２の機能と、を有し、
前記プロセサ要素間の読出し返送要求転送を行い、
前記返送要求に対応して第１の共有バスのバス要求信号を出力し、バス許可信号の入力に応じてマスタとして前記返送先コード対応の選択信号を転送出力する第３の機能と、
第１の共有バスを介して前記選択信号に基づき選択されスレーブとして前記制御系データを入力し、前記制御信号および前記アドレス信号に基づきメモリ書込みを行う第４の機能と、を有し、
前記プロセサ要素間の返送書込み転送と、
を行うことを特徴とするマルチプロセサシステム。
【請求項２】
前記第１のプロセサ要素は、返送先コードを含む制御系データの転送要求に対応して第１の共有バスのバス要求信号を出力し、バス許可信号の入力に応じてマスタとして前記返送先コードを転送出力し、
前記第２のプロセサ要素は、第１の共有バスを介して前記選択信号に基づき選択されスレーブとして前記返送先コードを入力し、前記制御信号および前記アドレス信号に基づきメモリデータを読み出して制御系データとし返送要求を行い、前記プロセサ要素間の読出し返送要求転送を行い、
前記第２のプロセサ要素は、前記返送要求に対応して第１の共有バスのバス要求信号を出力し、バス許可信号の入力に応じてマスタとして前記返送先コード対応の選択信号を転送出力し、
前記第１のプロセサ要素は、第１の共有バスを介して前記選択信号に基づき選択されスレーブとして前記制御系データを入力し、前記制御信号および前記アドレス信号に基づきメモリ書込みを行い、前記プロセサ要素間の返送書込み転送を行うことを特徴とする請求項１に記載のマルチプロセサシステム。
【請求項３】
前記第１のプロセサ要素と前記第２のプロセサ要素は、
前記制御系データの転送要求に対応して第１の共有バスのバス要求信号を出力し、バス許可信号の入力に応じてマスタとして前記制御系データを転送出力する第５の機能と、
第１の共有バスを介して前記選択信号に基づき選択されスレーブとして前記制御系データを入力し、前記制御信号および前記アドレス信号に基づきメモリ書込みを行う第６の機能と、を有し、前記プロセサ要素間の書込み転送とを行うことを特徴とする請求項１または２に記載のマルチプロセサシステム。
【請求項４】
前記第１のプロセサ要素は、
前記制御系データの転送要求に対応して第１の共有バスのバス要求信号を出力し、バス許可信号の入力に応じてマスタとして前記制御系データを転送出力し、
前記第２のプロセサ要素は、
第１の共有バスを介して前記選択信号に基づき選択されスレーブとして前記制御系データを入力し、前記制御信号および前記アドレス信号に基づきメモリ書込みを行い、前記プロセサ要素間の書込み転送とを行うことを特徴とする請求項３に記載のマルチプロセサシステム。
【請求項５】
前記複数のプロセサ要素から、前記選択信号，前記制御信号，前記ア
ドレス信号および前記制御系データをそれぞれ入力し、第１の共有バスのバス使用権に対
応して第１の共有バスへ選択的に切り替え出力し、第１の共有バスを介して前記選択信号
に基づき前記複数のプロセサ要素の１つをスレーブとして選択し、前記制御信号，前記ア
ドレス信号および前記制御系データを出力する第１の共有バス回路と、
前記複数のプロセサ要素からバス要求信号をサイクルごとにそれぞれ受け付け、最も優
先度の高いプロセサ要素に対し第１の共有バスのバス許可信号を発行して次のサイクルの
バス使用権を調停する第１のバスアービタ
とを備える、請求項１から4のいずれか1項に記載のマルチプロセサシステム。
【請求項６】
第１の共有バス回路が、
前記複数のプロセサ要素から前記選択信号，前記制御信号，前記アドレス信号および前
記制御系データをそれぞれ入力し、第１の共有バスのバス使用権に対応して第１の共有バ
スへ選択的に切り替え出力するマルチプレクサと、
第１の共有バス上の前記選択信号をデコードし前記複数のプロセサ要素の１つを転送先
のスレーブとして選択するデコーダと、
第１の共有バス上の前記制御信号，前記アドレス信号および前記制御系データをそれぞ
れ入力し、前記デコーダの出力に対応して転送先のスレーブへそれぞれ切り替え分配する
デマルチプレクサ
とを備える、請求項５記載のマルチプロセサシステム。  
【請求項７】
前記プロセサ要素が、第１の共有バスを介して前記選択信号に基づき
選択され、スレーブとして内部割込み処理でなく専用のメモリ制御部により、前記制御信
号および前記アドレス信号に基づきメモリ書込みまたはメモリ読出し返送要求を行う、請
求項１から6のいずれか一項に記載のマルチプロセサシステム。
【請求項８】
前記プロセサ要素が、割込み要求を含む制御系データの転送要求に対
応して第１の共有バスのバス要求信号を出力し、バス許可信号の入力に応じてマスタとし
て前記割込み要求を転送出力し、第１の共有バスを介して前記選択信号に基づき選択され
スレーブとして前記割込み要求を入力し、前記制御信号および前記アドレス信号に基づき
前記割込み要求に対応した内部割込み処理を行う割込み要求転送を行う、請求項１から7
のいずれか一項に記載のマルチプロセサシステム。
【請求項９】
前記割込み要求が、割込み要因および転送元コードを含む、請求項８
記載のマルチプロセサシステム。
【請求項１０】
第１および第２の共有バス上の前記制御系データおよび前記入出力データを転送経路およびアドレス範囲の一致に応じてスヌーピングし、デバグ用メモリに記憶するデバグ用処理要素を備える、請求項１から９のいずれか一項に記載のマルチ
プロセサシステム。
【請求項１１】
前記プロセサ要素が、内部プロセッサの実行命令のアドレスをトレースしトレースデータを作成して制御系データとし、その転送要求に対応して第１の共有バスのバス要求信号を出力し、バス許可信号の入力に応じてマスタとして前記トレースデー
タを転送出力する、請求項１から１０のいずれか一項に記載のマルチプロセサシ
ステム。
【請求項１２】
前記プロセサ要素が、内部プロセッサの実行命令のアドレスをトレ
ースしトレースデータを作成して制御系データとし、その転送要求に対応して第１の共有
バスのバス要求信号を出力し、バス許可信号の入力に応じてマスタとして前記トレースデ
ータを転送出力し、
前記デバグ用処理要素が、第１の共有バスを介して前記選択信号に基づき選択され、ス
レーブとして前記トレースデータを入力し前記制御信号および前記アドレス信号に基づき
デバグ用メモリに記憶する、請求項１０記載のマルチプロセサシステム。
【請求項１３】
前記プロセサ要素の基本クロック信号に同期し且つ第１の共有バス
の転送トラフィックに応じて前記基本クロック信号の整数倍周波数のバスクロック信号を
生成するクロック生成回路と、
前記プロセサ要素から第１の共有バスのバス要求信号を入力し第１のバスアービタへ前
記バスクロック信号に同期して出力し、第１のバスアービタから第１の共有バスのバス許
可信号を入力し前記プロセサ要素へ前記基本クロック信号に同期して出力するアービタ同
期回路と、
第１の共有バスを介して前記選択信号，前記制御信号，前記アドレス信号および前記制
御系データを入力し前記プロセサ要素へ前記基本クロック信号に同期して出力するスレー
ブ同期回路とを備え、
第１のバスアービタが、前記アービタ同期回路を介して前記複数のプロセサ要素から第
１の共有バスのバス要求信号を前記基本クロック信号のサイクルごとにそれぞれ１度だけ
受け付け、前記バスクロック信号の各バスサイクルで最も優先度の高いプロセサ要素に対
し前記アービタ同期回路を介して第１の共有バスのバス許可信号を発行して次のサイクル
の各バスサイクルのバス使用権を調停する、請求項５から１２のいずれか一項に記載のマルチプロセサシステム。
【請求項１４】
前記複数のプロセサ要素の１つとして動作し、且つ前記入出力デー
タの転送要求に対応して第２の共有バスのバス要求信号を出力し、バス許可信号の入力に
応じてマスタとして前記入出力データをバースト転送するプロセサ要素と、
前記複数のプロセサ要素の１つとして動作し、且つ第２の共有バスを介して接続された
スレーブとして前記入出力データをバースト転送するプロセサ要素
とを備える、請求項１から１３のいずれか一項に記載のマルチプロセサシステム。
【請求項１５】
第２の共有バスのマスタまたはスレーブとして動作するプロセサ要
素を第２の共有バスのバス使用権に対応して第２の共有バスに選択的に切り替え接続し、
第２の共有バスを介してマスタおよびスレーブ間で前記入出力データをバースト転送する
第２の共有バス回路と、
前記複数のプロセサ要素から第２の共有バスのバス要求信号をサイクルごとにそれぞれ
受付け、最も優先度の高いプロセサ要素に対し第２の共有バスのバス許可信号を発行して
バス使用権を調停する第２のバスアービタ
とを備える、請求項１４記載のマルチプロセサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセサシステムに関し、特に、複数の共有バスを介してデータ転送を
行うマルチプロセサシステムに関する。
【背景技術】
【０００２】
従来、この種のマルチプロセサシステムとして、各プロセサ要素の役割がマスタもしくは
スレーブとして固定されているマルチプロセサシステム以外に、各プロセサ要素がマスタ
もしくはスレーブとして動的に動作可能なマルチプロセサシステムがあり、プロセサ要素
間のデータ転送を効率化するため、複数の共有バスを用いて、プロセサ要素間のメッセー
ジ転送と、プロセサ要素および入出力装置の間の入出力転送とが、それぞれ行われてきた
。
【０００３】
たとえば、図１８は、この従来のマルチプロセサシステムの構成例を示すブロック図であ
る（特許文献１参照）。
【０００４】
この従来のマルチプロセサシステムは、プロセサ要素をそれぞれ構成する複数のプロセサ
１２−１，２および複数のバスコントローラ１３−１，２と、複数の入出力装置１６−１
，２，３および複数のアダプタ１５−１，２とを備え、複数のプロセサ１２−１，２を複
数のバスコントローラ１３−１，２を介して複数の共有バス１４−１，２にそれぞれ接続
し、また、複数の入出力装置１６−１，２，３を複数のアダプタ１５−１，２を介して複
数の共有バス１４−１，２にそれぞれ接続する。
【０００５】
さらに、複数のプロセサ１２−１，２は、オペレーティングシステムのカーネル処理手段
として入出力処理部およびメッセージ通信処理部をそれぞれ備える。
【０００６】
入出力処理部は、入出力装置１６−１，２，３への入出力要求に対して、入出力装置のア
ドレス情報や転送データ情報をバスコントローラ１３−１，１３−２にそれぞれ渡し、入
出力を起動する。そして、入出力が完了したときに、バスコントローラ１３−１，２から
割込み通知を受けて、入出力要求を出したプログラムに完了通知を行う。
【０００７】
メッセージ通信処理部は、プロセサ間のデータ通信要求を受けると、バスコントローラ１
３−１，２に対して、相手プロセサのアドレス，転送データ情報などを渡して、データの
送信要求を行う。また、受信処理では、他プロセサからのデータ送信があった場合に、バ
スコントローラ１３−１，２から割込み通知を受けて、データを受け取り、そのデータを
要求元のプログラムに渡す。
【０００８】
この従来のマルチプロセサシステムにおいては、各プロセサ要素がマスタまたはスレーブ
となり、複数の共有バス１４−１，２を用いて、入出力装置との入出力転送と、プロセサ
要素間のメッセージ転送とが行われる。また、１本のバスを入出力転送およびメッセージ
転送に共通に用いることができるため、プロセサ要素間で転送されるデータ転送量および
転送トラフィックに応じて、複数の共有バスを用いて複数のメッセージ転送と複数の入出
力転送とを同時に行うことができる。このため、メッセージ転送および入出力転送を合わ
せたデータ転送の同時要求数が共有バスの本数以下であれば、バスのビジーによって処理
が待たされることはない。
【０００９】
【特許文献１】特開平５−６３３３号公報（段落０００７〜００１３，図１）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
一般に、マルチプロセサシステムにおいて複数のプロセサ要素間のデータ転送を行う共有
バスに対して、次に示すような要求が列挙される。
（１）  性能の観点から、高速データ転送を小さな回路面積および低消費電力で実現する
こと
（２）  拡張容易性・資源再利用性の観点から、プロセサ要素の物理的な追加・変更・削
除が行われても、他のプロセサ要素および共有バスの設計変更点を最小にできること
（３）  検証容易性の観点から、プロセサ要素間におけるデータ転送の状況およびプロセ
サ要素ごとのデバグ情報を選択してモニタリングできること
上述した、従来のマルチプロセサシステムでは、プロセサ要素間のメッセージ転送が、入
出力装置の入出力転送から分離され、入出力転送の終了まで待たされことが無く高速に行
われる。しかしながら、プロセサ要素間のメッセージ転送の転送データ数が大きい場合は
、共有バスの占有時間が長くなり、他のプロセサ要素間のメッセージ転送が待たされ、シ
ステム全体として、プロセサ要素間の高速データ転送が難しいという問題がある。
【００１１】
また、この対策として、共有バスの本数を多くした場合は、回路規模オーバヘッドが膨大
になるという問題が発生する。
【００１２】
また、プロセサ要素間のメッセージ転送の転送データ数が小さい場合も、メッセージ転送
ごとに、プロセサ要素の内部プロセッサの処理に対して割込みを発生して割込み処理する
必要があり、プロセサ要素の内部プロセッサによるデータ処理の効率が相対的に低下する
という問題がある。
【００１３】
また、システム全体またはプロセサ要素のプログラムのデバグ時に、プロセサ要素間にお
けるデータ転送の状況およびプロセサ要素ごとのデバグ情報を選択してモニタリングでき
ず、デバグ効率が低いという問題がある。
【００１４】
また、この対策として、例えば、特開２０００−３３０８７７号公報または特開平４−１
９５５５２号公報に開示されているように、共有バスまたはプロセサ要素ごとにバスモニ
タ回路またはアドレストレース機能を実装した場合は、回路規模オーバヘッドが膨大にな
るという問題が発生する。
【００１５】
従って、本発明の目的は、マルチプロセサシステムにおいて、回路規模の増加を最小限に
抑えながら、プロセサ要素間のデータ転送を高速化し、プロセサ要素の内部プロセッサの
データ処理効率を向上させ、また、デバグ効率を向上させることにある。
【課題を解決するための手段】
【００１６】
そのため、本発明は、それぞれデータ処理し制御系データまたは入出力データの転送要求
に対応して第１または第２の共有バスのバス使用権を獲得しマスタとしてマルチプレクス
転送またはバースト転送する複数のプロセサ要素を備えるマルチプロセサシステムにおい
て、
前記プロセサ要素が、前記制御系データの転送要求に対応して第１の共有バスのバス要求
信号を出力しバス許可信号の入力に応じてマスタとして転送先の選択信号，制御信号，ア
ドレス信号および前記制御系データを１サイクルで転送出力し、第１の共有バスを介して
前記選択信号に基づき選択されスレーブとして前記制御系データを入力し前記制御信号お
よび前記アドレス信号に基づき処理している。
【００１７】
また、前期複数のプロセサ要素から前記選択信号，前記制御信号，前記アドレス信号およ
び前記制御系データをそれぞれ入力し第１の共有バスのバス使用権に対応して第１の共有
バスへ選択的に切り替え出力し第１の共有バスを介して前記選択信号に基づき前記複数の
プロセサ要素の１つをスレーブとして選択し前記制御信号，前記アドレス信号および前記
制御系データを出力する第１の共有バス回路と、
前記複数のプロセサ要素からバス要求信号をサイクルごとにそれぞれ受け付け最も優先度
の高いプロセサ要素に対し第１の共有バスのバス許可信号を発行して次のサイクルのバス
使用権を調停する第１のバスアービタとを備えている。
【００１８】
また、第１の共有バス回路が、前記複数のプロセサ要素から前記選択信号，前記制御信号
，前記アドレス信号および前記制御系データをそれぞれ入力し第１の共有バスのバス使用
権に対応して第１の共有バスへ選択的に切り替え出力するマルチプレクサと、
第１の共有バス上の前記選択信号をデコードし前記複数のプロセサ要素の１つを転送先の
スレーブとして選択するデコーダと、
第１の共有バス上の前記制御信号，前記アドレス信号および前記制御系データをそれぞれ
入力し前記デコーダの出力に対応して転送先のスレーブへそれぞれ切り替え分配するデマ
ルチプレクサとを備えている。
【００１９】
また、前記プロセサ要素が、前記制御系データの転送要求に対応して第１の共有バスのバ
ス要求信号を出力しバス許可信号の入力に応じてマスタとして前記制御系データを転送出
力し第１の共有バスを介して前記選択信号に基づき選択されスレーブとして前記制御系デ
ータを入力し前記制御信号および前記アドレス信号に基づきメモリ書込みを行う書込み転
送と、
返送先コードを含む制御系データの転送要求に対応して第１の共有バスのバス要求信号を
出力しバス許可信号の入力に応じてマスタとして前記返送先コードを転送出力し第１の共
有バスを介して前記選択信号に基づき選択されスレーブとして前記返送先コードを入力し
前記制御信号および前記アドレス信号に基づきメモリデータを読み出して制御系データと
し返送要求を行う読出し返送要求転送と、
前記返送要求に対応して第１の共有バスのバス要求信号を出力しバス許可信号の入力に応
じてマスタとして前記返送先コード対応の選択信号を転送出力し第１の共有バスを介して
前記選択信号に基づき選択されスレーブとして前記制御系データを入力し前記制御信号お
よび前記アドレス信号に基づきメモリ書込みを行う返送書込み転送とをそれぞれ行ってい
る。
【００２０】
また、前記プロセサ要素が、第１の共有バスを介して前記選択信号に基づき選択されスレ
ーブとして、内部割込み処理でなく専用のメモリ制御部により、前記制御信号および前記
アドレス信号に基づきメモリ書込みまたはメモリ読出し返送要求を行っている。
【００２１】
また、前記プロセサ要素が、割込み要求を含む制御系データの転送要求に対応して第１の
共有バスのバス要求信号を出力しバス許可信号の入力に応じてマスタとして前記割込み要
求を転送出力し、第１の共有バスを介して前記選択信号に基づき選択されスレーブとして
前記割込み要求を入力し前記制御信号および前記アドレス信号に基づき前記割込み要求に
対応した内部割込み処理を行う割込み要求転送を行っている。
【００２２】
また、前記割込み要求が、割込み要因および転送元コードを含んでいる。
【００２３】
また、第１および第２の共有バス上の前記制御系データおよび前記入出力データを転送経
路およびアドレス範囲の一致に応じてスヌーピングしデバグ用メモリに記憶するデバグ用
処理要素を備えている。
【００２４】
また、前記プロセサ要素が、内部プロセッサの実行命令のアドレスをトレースしトレース
データを作成して制御系データとし、その転送要求に対応して第１の共有バスのバス要求
信号を出力しバス許可信号の入力に応じてマスタとして前記トレースデータを転送出力し
ている。
【００２５】
また、前記デバグ用処理要素が、第１の共有バスを介して前記選択信号に基づき選択され
スレーブとして前記トレースデータを入力し前記制御信号および前記アドレス信号に基づ
きデバグ用メモリに記憶している。
【００２６】
また、前記プロセサ要素の基本クロック信号に同期し且つ第１の共有バスの転送トラフィ
ックに応じて前記基本クロック信号の整数倍周波数のバスクロック信号を生成するクロッ
ク生成回路と、
前記プロセサ要素から第１の共有バスのバス要求信号を入力し第１のバスアービタへ前記
バスクロック信号に同期して出力し第１のバスアービタから第１の共有バスのバス許可信
号を入力し前記プロセサ要素へ前記基本クロック信号に同期して出力するアービタ同期回
路と、
第１の共有バスを介して前記選択信号，前記制御信号，前記アドレス信号および前記制御
系データを入力し前記プロセサ要素へ前記基本クロック信号に同期して出力するスレーブ
同期回路とを備え、
第１のバスアービタが、前記アービタ同期回路を介して前記複数のプロセサ要素から第１
の共有バスのバス要求信号を前記基本クロック信号のサイクルごとにそれぞれ１度だけ受
け付け前記バスクロック信号の各バスサイクルで最も優先度の高いプロセサ要素に対し前
記アービタ同期回路を介して第１の共有バスのバス許可信号を発行して次のサイクルの各
バスサイクルのバス使用権を調停している。
【００２７】
また、前記複数のプロセサ要素の１つとして動作し且つ前記入出力データの転送要求に対
応して第２の共有バスのバス要求信号を出力しバス許可信号の入力に応じてマスタとして
前記入出力データをバースト転送するプロセサ要素と、
前記複数のプロセサ要素の１つとして動作し且つ第２の共有バスを介して接続されたスレ
ーブとして前記入出力データをバースト転送するプロセサ要素とを備えている。
【００２８】
また、第２の共有バスのマスタまたはスレーブとして動作するプロセサ要素を第２の共有
バスのバス使用権に対応して第２の共有バスに選択的に切り替え接続し第２の共有バスを
介してマスタおよびスレーブ間で前記入出力データをバースト転送する第２の共有バス回
路と、
前記複数のプロセサ要素から第２の共有バスのバス要求信号をサイクルごとにそれぞれ受
付け最も優先度の高いプロセサ要素に対し第２の共有バスのバス許可信号を発行してバス
使用権を調停する第２のバスアービタとを備えている。
【発明の効果】
【００２９】
以上のように、この発明によれば、以下のような効果が期待できる。
【００３０】
第１の効果は、回路規模の増加を抑えたままで、全てのプロセッサ要素間における転送お
よび高速データ転送の両方が効率的に行えることである。
【００３１】
その理由は、従来のプロセサ要素と異なり、プロセサ要素による全データ転送の転送デー
タを制御系データおよび入出力データの２種類に分割して、制御系データまたは入出力デ
ータの転送要求に対応して第１または第２の共有バスのバス使用権を獲得しマスタとして
マルチプレクス転送またはバースト転送し、第１の共有バスでは、全てのプロセッサ要素
間で転送可能とし、必要最小限の書込み転送のみの機能に限定し、読み出し返送要求が書
込み転送された時点でバスの使用権は解放され、返送データが準備できるまでの期間中は
、他の転送を行いたいプロセサ要素にバスを割り当てることができ、第２の共有バスでは
、接続されるプロセッサ要素と転送方向とを限定しているためである。
【００３２】
第２の効果は、全てのプロセッサ要素間の制御系データの転送と、各プロセッサ要素内の
データ処理とが、高速化および低消費電力化され、マルチプロセサシステム全体が高速化
および低消費電力化されることである。
【００３３】
その理由は、第１の共有バスを介した制御系データの転送そのものに対しては、特定マス
タのプロセッサ要素の起動が不要になり、各プロセッサ要素のバスインタフェース間で第
１の共有バスを介したデータ転送ができ、各プロセッサ要素内の内部プロセサによる処理
が不要になり、また、転送トラフィックに応じてプロセッサ要素の基本クロック信号のサ
イクルより整数倍速いバスサイクルで第１の共有バス回路を動作させることができるため
である。
【００３４】
第３の効果は、拡張容易性および資源再利用性に優れ、マルチプロセサシステムの開発期
間が短縮され、さらには、開発コストが削減されることである。
【００３５】
その理由は、システム仕様の変更に伴ってのプロセサ要素の追加・変更などにより、プロ
セサ要素間に想定していなかった転送経路が発生した場合でも、全てのプロセサ要素間で
転送可能な第１の共有バスを介して、割込み要求を含む制御系データも転送でき、全体の
バス仕様および接続構成の変更をほとんど必要とせずに柔軟に対応でき、プロセサ要素間
に想定していなかった大量のデータ転送が追加・変更された場合でも、第２の共有バスの
接続構成を追加・変更することで対応できるためである。
【００３６】
第４の効果は、テスト容易性およびデバグ容易性が向上することである。
【００３７】
その理由は、プロセサ要素ごとのアドレストレース機能によって生成されたトレースデー
タが、通常動作中の第１の共有バスの不使用期間を利用して、全てのプロセサ要素共通の
デバグ用記憶装置に転送され、また、バスモニタ機能と組み合わせることにより、通常動
作におけるプロセサ要素間の転送データと、１つまたは複数のプロセサ要素のアドレスト
レースデータを同時にモニタリングでき、また、転送トラフィックに応じてプロセッサ要
素の基本クロック信号のサイクルより整数倍速いバスサイクルで第１の共有バス回路を動
作させることができるためである。
【発明を実施するための最良の形態】
【００３８】
次に、本発明について、図面を参照して説明する。図１は、本発明によるマルチプロセサ
システムの実施形態１を示す全体ブロック図である。図１を参照すると、本実施形態のマ
ルチプロセサシステムは、複数のプロセサ要素０１〜０ｎと、第１，第２の共有バス回路
１００，２００と、第１，第２のバスアービタ１０５，２０５と、デバグ用処理要素１０
とを備える。
【００３９】
複数のプロセサ要素０１〜０ｎは、それぞれデータ処理し、また、図１０で示した従来の
マルチプロセサシステムにおけるプロセサ要素と異なり、プロセサ要素による全データ転
送の転送データを制御系データおよび入出力データの２種類に分割して、制御系データま
たは入出力データの転送要求に対応して第１または第２の共有バスのバス使用権を獲得し
マスタとしてマルチプレクス転送またはバースト転送する。
【００４０】
各プロセッサ要素内の構成例としては、種々の演算およびプロセッサ要素内の制御を行う
ＭＰＵやＤＳＰなどの内部プロセッサ、メモリやレジスタなどの記憶装置、データ処理を
行う専用ハードウェアアクセラレータ、データ入出力装置（ＤＭＡコントローラ）などか
ら構成されると考えられるが、本発明の実施の形態としては、特にこれの限りではない。
【００４１】
また、これら複数のプロセサ要素０１〜０ｎの少なくとも１つが、従来と同じく、入出力
データの転送要求に対応して、第２の共有バスのバス要求信号を出力し、バス許可信号の
入力に応じてマスタとして入出力データをバースト転送し、また、これら複数のプロセサ
要素０１〜０ｎの少なくとも１つが、従来と同じく、第２の共有バスを介して接続された
スレーブとして、入出力データをバースト転送する。
【００４２】
第１，第２の共有バス回路１００，２００は、第１，第２の共有バスを介して、プロセッ
サ要素０１〜０ｎ間の制御系データ，入出力データを互い異なる仕様でデータ転送する。
第１の共有バス回路１００は、必要最小限の書込み転送機能だけを有して一部あるいは全
てのプロセッサ要素間で双方向に１サイクルごとにマルチプレクス転送し、第２の共有バ
ス回路２００は、転送されるプロセッサ要素および転送方向を限定し、マスタからスレー
ブへ、または、スレーブからマスタへバースト転送する。これら第１，第２の共有バスは
、それぞれ、１つのマルチプロセッサ内に物理的に１本または複数本存在可能である。ま
た、第２の共有バスが複数本存在する場合には、それらのバスに接続されるプロセッサ要
素およびバス仕様が同一である必要はない。
【００４３】
第１，第２のバスアービタ１０５，２０５は、複数のプロセサ要素０１〜０ｎから第１，
第２の共有バスのバス要求をサイクルごとにそれぞれ受け付け最も優先度の高いプロセサ
要素に対し第１，第２の共有バスのバス許可信号を発行して第１，第２のバス使用権を調
停する。
【００４４】
デバグ用処理要素１０は、第１および第２の共有バス上の制御系データおよび入出力デー
タを転送経路およびアドレス範囲の一致に応じてスヌーピングしデバグ用メモリに記憶し
、モニタ出力できる。
【００４５】
上述したように、本実施形態のマルチプロセサシステムにおいて、主に、動作タイミング
信号やパラメータ設定信号などの、一度に転送される転送データ数は少ないが全てのプロ
セサ要素間で転送される可能性のあるデータは、制御系データとして、第１の共有バスを
用いて複数のプロセサ要素０１〜０ｎ間で相互にマスタからスレーブへマルチプレクス転
送される。一方、主に、ストリームデータなどの、一度に転送される転送データ数が多く
且つ転送経路が予め決まっているデータは、入出力データとして、第２の共有バスを用い
て複数のプロセサ要素０１〜０ｎの限定されたマスタおよびスレーブ間でバースト転送さ
れる。
【００４６】
すなわち、転送トラフィックが大きく、第１の共有バスを用いて転送すると他の転送およ
び全体のシステム性能に影響が出るような転送を、第２の共有バスを用いて転送する。こ
れにより、接続先が多く複雑になりがちな第１の共有バス１００の仕様を、最大限簡単化
することが可能となる。
【００４７】
また、デバグ用処理要素１０により、第１，第２の共有バス上の転送データまたは信号の
転送経路およびアドレスが所望の範囲と一致した場合にだけ、その転送データをスヌーピ
ングし内部のデバグ用メモリに記憶させ、モニタすることができる。このとき、デバグ用
処理要素１０が、第１，第２の共有バス上の転送データを同時にモニタするために、動作
クロックを速くしてマルチプレクサなどを用いて切り替えながらモニタする機能を有して
いても何ら問題はない。
【００４８】
次に、本実施形態のマルチプロセサシステムにおける第１，第２の共有バスを介したデー
タ転送についてそれぞれ詳細説明する。
【００４９】
図２は、本実施形態のマルチプロセサシステムにおける第１の共有バスを介したデータ転
送を説明するための説明図である。第１の共有バスを介したデータ転送では、図２に示す
ように、転送を行うプロセッサ要素のマスタもしくはスレーブとしての役割が動的に変化
し、全てのプロセッサ要素間で第１の共有バスを介したデータ転送が許容されている。こ
のような構成をとることにより、第１の共有バスを介したデータ転送そのものに対しては
、特定マスタのプロセッサ要素の起動が不要になり、各プロセッサ要素のバスインタフェ
ース間で第１の共有バスを介したデータ転送ができ、転送の効率化および低消費電力化を
図ることができる。
【００５０】
図３は、第１の共有バス回路１００の内部構成例および周辺接続例を示すブロック図であ
り、図４は、プロセサ要素内の第１の共有バスのマスタ側およびスレーブ側インタフェー
スの１部を示す部分ブロック図である。
【００５１】
図３を参照すると、第１の共有バス回路１００は、マルチプレクサ，デコーダおよびデマ
ルチプレクサを備えて構成される。ここで、マルチプレクサは、第１の共有バスのマスタ
として動作するプロセサ要素から選択信号ＭＳＥＬ，制御信号ＭＷＥ，ＭＲＥＳ，アドレ
ス信号ＭＡＤＤＲおよび制御系データＭＤＢＯをそれぞれ入力し、第１のアービタ１０５
からの第１の共有バスのバス使用権に対応した信号により第１の共有バスへ選択的に切り
替え出力し、デコーダは、第１の共有バス上の選択信号をデコードし複数のプロセサ要素
０１〜０ｎの１つを転送先のスレーブとして選択し、デマルチプレクサは、第１の共有バ
ス上の制御信号，アドレス信号および制御系データをそれぞれ入力し、デコーダの出力に
対応して、第１の共有バスのスレーブとして動作する転送先のプロセサ要素へそれぞれ切
り替え分配する。
【００５２】
上述のように、本実施形態の第１の共有バス回路１００は、従来バスでは書込み転送（マ
スタからスレーブへ）および読み出し転送（スレーブからマスタへ）の両方を考慮して回
路を構成しなければならないのに対して、書込み転送のみを可能にするだけの回路構成と
する。このような回路構成にしても、全てのプロセッサ要素がマスタになれるために双方
向のデータ転送が実現でき、回路規模が削減される。また、図３では、第１の共有バス回
路１００が、論理合成等のインプリメント容易性を考慮して、ＭＵＸ型のバス構成となっ
ているが、インプリメント容易性および動作遅延の見積りが許せば、３ステート型などの
バス構成でも何ら問題はない。
【００５３】
各プロセサ要素０１〜０ｎは、制御系データの転送要求に対応して第１の共有バスのバス
要求信号ＭＲＥＱを出力し、バス許可信号ＭＧＲＡＮＴの入力に応じてマスタとして転送
先の選択信号ＭＳＥＬと、制御信号ＭＷＥ，ＭＲＥＳと、アドレス信号ＭＡＤＤＲおよび
制御系データＭＤＢＯを各出力端子から１サイクルで転送出力し、また、第１の共有バス
を介して選択信号に基づき選択されスレーブとして、制御系データを入力し制御信号およ
びアドレス信号に基づき処理する。また、図４に示すように、各プロセサ要素０１〜０ｎ
内の第１の共有バスのインタフェースは、割込み要求信号をエンコードし制御系データと
して転送出力するマスタ出力部と、転送入力した制御系データを１時保持およびデコード
し割込み要求信号を生成するスレーブ入力部とを備える。
【００５４】
第１のアービタ１０５は、複数のプロセサ要素０１〜０ｎからバス要求信号ＭＲＥＱおよ
び優先度信号ＭＰＲＩをサイクルごとにそれぞれ受け付け、最も優先度の高いプロセサ要
素に対し第１の共有バスのバス許可信号ＭＧＲＡＮＴを発行して、次のサイクルの第１の
共有バスのバス使用権を調停し第１の共有バス回路１００へ信号出力する。
【００５５】
図５は、第１の共有バスによる制御系データの転送例を示すタイミング図である。図５に
示すように、第１の共有バスによるデータ転送は、Ｒｅｑｕｅｓｔ  ｐｈａｓｅとＴｒａ
ｎｓｆｅｒ  ｐｈａｓｅの２種類のフェーズにより実現される。Ｒｅｑｕｅｓｔ  ｐｈａ
ｓｅは、１または複数サイクルを必要とし、転送を行いたいプロセサ要素がバス要求信号
を発行してから、バスの使用権付与を示すバス許可信号がアクティブになるまでの期間で
ある。また、Ｔｒａｎｓｆｅｒ  ｐｈａｓｅは、バス許可信号をクロック信号でラッチし
た信号がアクティブな期間がそのプロセサ要素にバスが割り当てられている期間であり、
そのプロセサ要素がマスタとなれる期間であり、基本的に１サイクルでの転送となる。
【００５６】
つまり、Ｒｅｑｕｅｓｔ  ｐｈａｓｅにてマスタに対してバス許可信号が発行された次の
１サイクルで、アドレス信号などのコントロール信号およびデータ信号全てを出力し、転
送を完了する。データの転送が終了したらバス要求信号を立ち下げる。すると、バスアー
ビタは他のバス割り当てを要求しているプロセサ要素にバスの使用権を割り当てることが
できる。また、マスタ側選択信号ＭＳＥＬによって選択され、スレーブ側選択信号ＳＳＥ
Ｌがアクティブとなったプロセサ要素はスレーブとなり、コントロール信号およびデータ
信号などの全ての転送データをＴｒａｎｓｆｅｒ  ｐｈａｓｅの末尾のクロックタイミン
グでラッチする。
【００５７】
上述のように、第１の共有バスで制御系データの転送するため、バスアービタ１０５は、
サイクルごとにバス使用権の切り替えを行い、バス許可信号がアクティブになった次のサ
イクルが、そのマスタにバスの使用権がある期間である。したがって、各プロセサ要素は
、制御系データの転送要求の発生ごとにバスアービタに対してバス要求する必要があり、
また、バス許可に基づき、制御系データの種類に対応して、次に示す書込み転送，読出し
返送要求転送，返送書込み転送または割込み要求転送を１サイクルごとのマルチプレクス
モードでそれぞれ行う。
【００５８】
書込み転送において、プロセサ要素は、制御系データの転送要求に対応して第１の共有バ
スのバス要求信号を出力しバス許可信号の入力に応じてマスタとして制御系データを転送
出力し第１の共有バスを介して選択信号に基づき選択されスレーブとして制御系データを
入力し制御信号およびアドレス信号に基づきメモリ書込みを行う。
【００５９】
読出し返送要求転送において、プロセサ要素は、返送先コードを含む制御系データの転送
要求に対応して第１の共有バスのバス要求信号を出力しバス許可信号の入力に応じてマス
タとして返送先コードを転送出力し、第１の共有バスを介して選択信号に基づき選択され
スレーブとして返送先コードを入力し制御信号およびアドレス信号に基づきメモリデータ
を読み出して制御系データとし返送要求を行う。
【００６０】
返送書込み転送において、プロセサ要素は、読出し返送要求転送の返送要求に対応して第
１の共有バスのバス要求信号を出力しバス許可信号の入力に応じてマスタとして返送先コ
ード対応の選択信号を転送出力し、第１の共有バスを介して選択信号に基づき選択されス
レーブとして制御系データを入力し制御信号およびアドレス信号に基づきメモリ書込みを
行う。
【００６１】
図６は、これら読出し返送要求転送および返送書込み転送のリンク動作のシーケンスを説
明するための説明図である。ここで、分図（ａ），（ｂ），（ｃ）は、ステップ１，２，
３の動作をそれぞれ示す。図６に示すように、まず、図６（ａ）のステップ１において、
プロセサ要素０１が、返送先コードを含む制御系データの転送要求に対応してマスタとな
り、読み出したいメモリのアドレスＲＡＤＤＲおよび返送先コードを転送する。このとき
、制御信号の１つであるライトイネーブル信号ＭＷＥをインアクティブにすることで読出
し返送要求であることをスレーブのプロセサ要素０２へ伝える。データ出力信号（ＭＤＢ
Ｏ）には、要求元がプロセサ要素０１であることがわかる情報を転送する。
【００６２】
次に、図６（ｂ）のステップ２において、プロセサ要素０２が内部メモリからデータを読
み出し返送要求を行う。この期間、同時にバスの使用権は解放され、バスアービタは他の
データ転送をバスに割り当てることができる。
【００６３】
次に、図６（ｃ）ステップ３において、今度はプロセサ要素０２がマスタとなり、読出し
データを返送先コード対応の転送先へ返送する。このとき、制御信号の１つであるレスポ
ンス信号ＭＲＥＳをアクティブにすることで転送データが読み出しデータであることを伝
えることができる。または、アドレス信号を読み出しデータ返送用の専用アドレスにする
ことで伝えてもよい。
【００６４】
これら書込み転送，読出し返送要求転送または返送書込み転送において、プロセサ要素は
、第１の共有バスを介して選択信号に基づき選択されスレーブとして、内部プロセッサの
内部割込み処理でなく専用のメモリ制御部により、制御信号およびアドレス信号に基づき
メモリ書込みまたはメモリ読出し返送要求を行う。これにより、プロセサ要素間のデータ
転送が高速化し、プロセサ要素の内部プロセッサのデータ処理効率が向上する。
【００６５】
また、割込み要求転送において、プロセサ要素が、図４に示した第１の共有バスのインタ
フェースのマスタ出力手段およびスレーブ入力手段により、割込み要求を含む制御系デー
タの転送要求に対応して第１の共有バスのバス要求信号を出力しバス許可信号の入力に応
じてマスタとして割込み要求を転送出力し、第１の共有バスを介して選択信号に基づき選
択されスレーブとして割込み要求を入力し制御信号およびアドレス信号に基づき割込み要
求内部割込み処理を行う。このとき、必要に応じて、マスタにおいて、割込み要求として
割込み要因および転送元コードを転送し、スレーブにおいて、割込み要因に対応した内部
割込み処理を行い、その終了時に、処理結果をマスタとして転送元コードに応じて書込み
転送することもできる。
【００６６】
この割込み要求転送により、割込み要求信号の専用線を用いず、データ生成終了タイミン
グなどをＣＰＵに知らせることができ、割込み要求信号の追加・変更・削除、または、プ
ロセサ要素の物理的な追加・変更・削除が行われても、他のプロセサ要素および共有バス
の設計変更点を最小にできる。
【００６７】
図７は、本実施形態のマルチプロセサシステムにおける第２の共有バスを介したデータ転
送を説明するための説明図である。第２の共有バスを介したデータ転送は、予め転送方向
が決まっている入出力データの転送を想定している。このため、転送を行うプロセサ要素
は限定され、マスタまたはスレーブの一方は、そのマルチプロセサシステムのホストプロ
セサ，ＤＭＡコントローラまたはメインメモリとなる可能性が高い。また、転送方向も書
込み転送に限定され、マスタからスレーブへの一方向の転送とする。また、第２の共有バ
スを介したデータ転送では、転送方向および転送トラフィックに応じて、図７（ａ）に示
すような１対１の転送に限定する個別バスの形態と、図７（ｂ）に示すような複数の転送
間で共有する共有バスの形態とが考えられる。これにより、読み出し転送を考慮した場合
の回路構成に比べて、回路規模を削減できる。しかしながら、図７（ｃ）に示すようなマ
スタおよびスレーブ間の両方向の転送を考慮した構成でも何ら問題はない。
【００６８】
図８は、第２の共有バス回路２００の内部構成例および周辺接続例を示すブロック図であ
る。図８を参照すると、第２の共有バス回路２００は、マルチプレクサ，デマルチプレク
サを備え、従来と同じく、マルチプレクサは、第２の共有バスのマスタとして動作するプ
ロセサ要素から選択信号ＭＳＥＬ，制御信号ＭＷＥ，アドレス信号ＭＡＤＤＲおよび制御
系データＭＤＡＴＡをそれぞれ入力し、第２のアービタ１０５からの第２の共有バスのバ
ス使用権に対応した信号により第２の共有バスへ選択的に切り替え出力し、第２の共有バ
スを介して、第２の共有バスのスレーブとして動作するプロセサ要素へ出力し、デマルチ
プレクサは、スレーブとして動作するプロセサ要素から第２の共有バスを介して制御信号
ＳＲＥＡＤＹを入力し、マスタとして動作する転送先のプロセサ要素へそれぞれ切り替え
分配する。
【００６９】
上述のように、図８では、第２の共有バス回路２００が、論理合成等のインプリメント容
易性を考慮して、ＭＵＸ型のバス構成となっているが、第１の共有バスと同様に、インプ
リメント容易性および動作遅延の見積りが許せば、３−ｓｔａｔｅ型のバス構成でも何ら
問題はない。
【００７０】
複数のプロセサ要素０１〜０ｎの少なくとも１つが、従来と同じく、入出力データの転送
要求に対応して、第２の共有バスのバス要求信号ＭＲＥＱを出力し、バス許可信号ＭＧＲ
ＡＮＴの入力に応じてマスタとして制御信号ＭＷＥ，アドレス信号ＭＡＤＤＲを出力し制
御信号ＭＲＥＡＤＹに応じて入出力データＭＤＡＴＡをバースト転送し、また、複数のプ
ロセサ要素０１〜０ｎの少なくとも１つが、従来と同じく、第２の共有バスを介して接続
されたスレーブとして、制御信号ＳＷＥ，アドレス信号ＳＡＤＤＲを入力し制御信号ＳＲ
ＥＡＤＹを出力して入出力データＳＤＡＴＡをバースト転送する。
【００７１】
第２のバスアービタ２０５は、従来と同じく、複数のプロセサ要素０１〜０ｎから第２の
共有バスのバス要求信号をサイクルごとにそれぞれ受付け、最も優先度の高いプロセサ要
素に対し第２の共有バスのバス許可信号を発行してバス使用権を調停する。
【００７２】
なお、第２の共有バスを共有化しない場合は、従来と同じく、第２の共有バス回路２００
および第２のバスアービタ２０５は不要であり、個別バスにより、マスタおよびスレーブ
間が接続される。  図９は、第２の共有バスによる入出力データの転送例を示すタイミン
グ図である。図９に示すように、第２の共有バスによるデータ転送は、例えば、アドレス
信号ＭＡＤＤＲおよび制御信号ＭＷＥが発行された次のサイクルに、そのアドレスに対応
するデータ信号ＭＤＡＴＡが出力される。まず、転送を行いたいプロセサ要素はバス要求
信号ＭＲＥＱを発行し、タイミングＴ２でバスの使用権を要求する。次に、タイミングＴ
４で、マスタがアクティブであるバス許可信号ＭＧＲＡＮＴをラッチしたら、アドレス信
号ＭＡＤＤＲを出力し、制御信号ＭＷＥをアクティブにする。スレーブは、制御信号ＭＷ
Ｅがアクティブであることを認識し、次のタイミングＴ５で、アドレス信号ＭＡＤＤＲを
ラッチする。同時に、マスタはアドレス信号ＭＡＤＤＲに対応するデータ信号ＭＤＡＴＡ
を出力する。スレーブは、ラッチしたアドレスに対して書き込めるかどうかのレスポンス
を、制御信号ＳＲＥＡＤＹとして返送する。マスタがアクティブである制御信号ＳＲＥＡ
ＤＹをラッチしたタイミングＴ６で転送は完了し、スレーブ側で転送データの書込み処理
が行われる。また、読み出し転送を考慮したバスの場合には、スレーブは、アクティブな
制御信号ＳＲＥＡＤＹの発行と同時に読み出しデータの返送を行う。
【実施例】
【００７３】
図１０は、上述した本実施形態のマルチプロセサシステムを具体的なＷ−ＣＤＭＡディジ
タルベースバンドＬＳＩに適用した実施例を示すブロック図である。この実施例のマルチ
プロセサシステムは、Ｗ−ＣＤＭＡディジタルベースバンドＬＳＩのシステム全体を制御
するプロセサ要素のＣＣＰＵ３００，制御系データ用メモリ３０１，入出力データ用メモ
リ３０２，入出力データ転送用ＤＭＡコントローラ３０３と、ディジタルベースバンドＬ
ＳＩの各処理を行うプロセサ要素０１〜０８，デバグ用処理要素１０と、主に制御系デー
タを転送し全てのプロセサ要素間で双方向に転送可能な第１の共有バス回路１００と、主
に転送経路の決まっている受信データ，送信データ用の入出力データを転送する第２の共
有バス回路２００，２０１と、それぞれの共有バスの使用権を調停する第１，第２のバス
アービタ１０５、２０５と、それぞれの共有バスおよびＣＣＰＵバスの間のブリッジ回路
１１０，２１０とから構成される。ここで、プロセサ要素０７，０８は、ＨＳＤＰＡ処理
，ＧＳＭ処理の拡張プロセサ要素として存在する。
【００７４】
この実施例のマルチプロセサシステムにおいては、基本的には、プロセサ要素ＣＣＰＵ３
００がマスタとなって、第１の共有バスを介して各プロセサ要素０１〜０８を制御するこ
とでシステムを実現している。しかしながら、ＣＣＰＵ３００以外の各プロセサ要素０１
〜０８も第１の共有バスのマスタになることができ、従来バスであればスレーブ同士とな
るプロセサ要素０１〜０８間の転送もＣＣＰＵ３００を介さずに直接行うことができる。
具体的には、プロセサ要素０１〜０８間における動作タイミング信号，パラメータ信号，
ステータス信号および割込み信号など制御系データの転送を、第１の共有バスを用いて直
接行う。
【００７５】
各々のプロセサ要素で処理される入出力データの転送は、第２の共有バスを介して行われ
る。図１０に示した例では、第２の共有バスはその転送データの転送方向から２本に分離
されており、主に受信データ，送信データ用の入出力データを転送する第２の共有バス回
路２００，２０１が存在する。受信データ用の第２の共有バス回路２００では、マスタと
して接続されているプロセサ要素０５，０７，０８であるＦＥＣ，ＨＳＤＰＡ，ＧＳＭか
ら、スレーブとして接続されているプロセサ要素である入出力データ用メモリ３０２に対
して受信データの転送が行われる。また、送信データ用の第２の共有バス回路２０１では
、マスタとして接続されているプロセサ要素０４であるＤＥＭおよびブリッジ回路２１０
経由のＤＭＡコントローラ３０３から、スレーブとして接続されているプロセサ要素０５
，０６，０８であるＦＥＣ，ＭＯＤ，ＧＳＭに対して、復調データおよび送信データの転
送が行われる。
【００７６】
効果としては、転送トラフィックの大きい入出力データ転送中に、複雑な制御系データの
転送が発生した場合でも、制御系データおよび入出力データの転送を異なるバスを用いて
行うことにより、柔軟なシステムが実現できる。例えば、ＣＰＵ３００による制御系デー
タの転送と、ＤＭＡコントローラ３０３による入出力データの転送を同時に行うことが可
能になる。また、他のプロセサ要素間においても同様に、転送データ数の多い入出力デー
タの転送中に制御系データを転送することが可能になる。
【００７７】
また、プロセサ要素０７，０８がＨＳＤＰＡ処理，ＧＳＭ処理の拡張プロセサ要素として
接続されるように、本実施形態における第１，第２の共有バスを用いて全体のマルチプロ
セサシステムを構成することによって、第１，第２の共有バスの仕様をほとんど変更する
ことなく、このような拡張プロセサ要素の追加・変更・削除にも柔軟に対応可能である。
【００７８】
図１１，図１２は、本発明のマルチプロセサシステムの実施形態２における各プロセサ要
素，デバグ用処理要素の構成の一部をそれぞれ示す部分ブロック図である。
【００７９】
本実施形態のマルチプロセサシステムの全体の構成は、図１に示した実施形態１のマルチ
プロセサシステムと同構成であり、各プロセサ要素およびデバグ用処理要素以外の各ブロ
ックも同構成であり、各プロセサ要素およびデバグ用処理要素の内部構成が異なる。
【００８０】
図１１を参照すると、本実施形態のマルチプロセサシステムにおける各プロセサ要素０１
〜０ｎは、第１の共有バスに接続するためのインタフェース回路２１と、種々の演算およ
びプロセサ要素内のコントロールを行うＤＳＰおよびＭＰＵなどの内部プロセサ２２と、
内部プロセサ２２の命令コードを格納している命令コード記憶装置２３と、命令アドレス
のトレース機能をもつアドレストレーサ２４とを備える。もちろん、各プロセサ要素内に
は、これらの他にもデータ処理を行う専用ハードウェアアクセラレータ、各種レジスタお
よびメモリなどの記憶装置などを備えていても何ら問題はない。
【００８１】
これら各プロセサ要素０１〜０ｎの動作について説明すると、まず、本実施形態のマルチ
プロセサシステム全体およびプロセサ要素単体の仕様により、その処理がデバグルーチン
に入った場合、ＤＳＰおよびＭＰＵなどの内部プロセサ２２は、アドレストレーサ２４に
対する制御信号Ｃｏｎｔｒｏｌ  ｓｉｇｎａｌｓを用いて、アドレストレーサ２４に対し
て命令アドレストレース開始を指示する。
【００８２】
次に、アドレストレーサ２４は、命令コード記憶装置２３に対する命令アドレスを監視す
ることでトレースデータＴｒａｃｅ  Ｄａｔａを作成し、バスインタフェース回路２１に
トレースデータを転送する。このとき、トレースデータの生成法としては、読み出された
命令アドレス全てをそのまま転送する方法を用いても良いし、または、トレースデータの
転送データ数を削減するために、通常の動作シーケンスは単調増加のインクリメント方式
で行われることに着目し、それ以外の分岐またはウェイトなどのアドレスジャンプが発生
した場合にだけトレースデータを生成し、転送する方法を用いても何ら問題はない。
【００８３】
最後に、バスインタフェース回路２１は、通常動作における転送データＯｕｔｐｕｔ  Ｄ
ａｔａが存在する場合には通常転送データを優先的にバス転送し、存在しなくなった場合
にだけ、すなわち、通常データ転送の合間に、生成されたトレースデータを転送先である
デバグ処理要素１０のＤＢＧＩＦに向けて第１の共有バス回路１００へ転送する。具体的
には、バスインタフェース回路２１は、第１の共有バス回路１００へデータ転送出力のた
めにＦＩＦＯバッファを持ち、通常データ転送用のＦＩＦＯバッファ内にデータが存在し
なくなってから、トレースデータ用のＦＩＦＯバッファ内のトレースデータを読み出して
転送する。
【００８４】
図１２（ａ）を参照すると、本実施形態のマルチプロセサシステムにおけるデバグ用処理
要素１０は、共有バス上の転送データをラッチするレシーブユニットと、デバグ用に共有
バス上の転送経路が所望の条件を満たしているかを判断するスヌーピングユニットと、第
１および第２の共有バスに対してラッチしたデータを格納する２つの記憶装置とを備える
。また、これら２つの記憶装置を１つにして、第１，第２の共有バスに対して共通とし、
マルチプレクサで切り替えながらデータを書き込む構成が図１２（ｂ）に示されている。
【００８５】
このデバグ用処理要素１０の動作について説明すると、レシーブユニットがデータをラッ
チする動作として２つある。１つは、第１，第２の共有バスのスレーブとして動作する場
合である。転送先がデバグ用処理要素１０であった場合にデータを取り込む。もう１つは
、デバグ用にバスモニタを行うときである。この場合には、スヌーピングユニットにおい
て、第１，第２の共有バス上を転送されるデータの転送経路の条件ＢＳＥＬ，ＢＤＥＣお
よび書込みアドレスＳＡＤＤＲが所望の範囲を満たしていた場合に、レシーブユニットは
データを取り込みデバグ用記憶装置に書き込む。このとき、その書込みアドレスＳＡＤＤ
Ｒは、通常のスレーブ動作の場合は、そのまま転送されてきたアドレスになり、バスモニ
タ動作の場合には、スヌーピングユニットが指定したアドレスとなる。
【００８６】
なお、図１２においては、デバグ用処理要素１０で取得したデータを専用の記憶装置に書
き込む場合について示したが、実際には、記憶装置に書き込まず、直接外部に出力してモ
ニタできる構成でも何ら問題はない。
【００８７】
この実施形態２において、プロセサ要素ごとのアドレストレース機能によって生成された
トレースデータを、第１の共有バスを用いて全てのプロセサ要素共通のデバグ用記憶装置
に転送することにより、従来プロセサ要素ごとに実装されていたトレースメモリの削減に
つながる。これは、全てのプロセサ要素がマスタになれるという第１の共有バスの特徴に
よって実現される。従来、プロセサ要素ごとに必要とされていたトレースメモリを削減で
き、デバグ用の共通記憶装置としてまとめることにより、マルチプロセサシステムとして
効率的に利用可能となる。
【００８８】
また、通常動作中の共有バスを使用していない期間を利用してトレースデータが転送され
るため、バスモニタ機能と組み合わせることにより、通常動作におけるプロセサ要素間の
転送データと、１つまたは複数のプロセサ要素のアドレストレースデータを、同時にモニ
タリングできるという利点もある。すなわち、一度動作を停止してから読み出す必要はな
く、通常動作中にアドレストレース情報を取得できる。特に、トレースデータを分岐時な
どに限定して作成することで削減することにより、アドレストレーサのリアルタイム性を
より高く実現できる。
【００８９】
また、実施形態２と同様の原理を利用して、アドレストレースデータだけではなく、デバ
グ時におけるプロセサ要素内の任意のデバグ用データ信号も、第１の共有バスを用いてデ
バグ用処理要素１０に対して転送可能であることを付記しておく。
【００９０】
図１３は、本発明によるマルチプロセサシステムの実施形態３を示す全体ブロック図であ
る。図１３を参照すると、本実施形態のマルチプロセサシステムの全体の構成は、図１に
示した実施形態１のマルチプロセサシステムに対し各プロセサ要素０１〜０ｎと第１のバ
スアービタ１０５および第１の共有バス回路１００との間にそれぞれ同期回路３０を挿入
追加した構成である。また、第１のバスアービタ１０５以外の各ブロックは、実施形態１
の各ブロックと同構成であり、第１のバスアービタ１０５の内部構成が異なる。また、図
示してないが、プロセサ要素０１〜０ｎの基本クロック信号に同期し且つ第１の共有バス
の転送トラフィックに応じて基本クロック信号の整数倍周波数のバスクロック信号を生成
するクロック生成回路を備える。
【００９１】
図１４は、本実施形態のマルチプロセサシステムにおいて挿入追加された同期回路３０の
挿入箇所を説明するための説明図である。各プロセサ要素０１〜０ｎと第１のバスアービ
タ１０５との間に、アービタ同期回路３０ａがそれぞれ挿入され、各プロセサ要素０１〜
０ｎのスレーブ入力と第１の共有バス回路１００との間に、スレーブ同期回路３０ｂがそ
れぞれ挿入される。また、図１５は、図１４に示したアービタ同期回路３０ａ，スレーブ
同期回路３０ｂの構成例をそれぞれ示すブロック図であり、図１６は、図１５のアービタ
同期回路３０ａ，スレーブ同期回路３０ｂに供給されるバスクロック信号および基本クロ
ック信号の動作を示すタイミング図である。
【００９２】
アービタ同期回路３０ａは、各プロセサ要素から基本クロック信号に同期して発行される
バス要求信号ＭＲＥＱをバスクロック信号に同期させ信号ＢＲＥＱとしてバスアービタに
転送するための追加回路と、可変であるバスクロック信号に同期して第１のバスアービタ
１０５から発行されるバス許可信号ＢＧＲＡＮＴを、基本クロック信号に同期させ、信号
ＭＧＲＡＮＴとして各プロセサ要素のバスインタフェース回路２１に転送する追加回路と
を備える。
【００９３】
これら追加回路により、バス要求信号ＭＲＥＱが基本クロック信号に同期して発行されて
も、バス許可信号ＢＧＲＡＮＴがアクティブになった場合は、その基本クロック信号のサ
イクル中の残りのバスサイクルにおいてはバスアービタに対するバス要求信号ＢＲＥＱを
インアクティブにする。また、バス許可信号ＢＧＲＡＮＴはバスクロック信号に同期して
発行されるが、次の基本クロック信号の立ち上がりタイミングまで、そのバス許可信号を
保持してプロセサ要素のバスインタフェース回路に転送できる。
【００９４】
スレーブ同期回路３０ｂは、第１の共有バス回路１００からバスクロック信号に同期して
入力される転送データ信号ＢＳＳＥＬ，ＢＡＤＤＲ，ＢＤＢＩなどを、基本クロック信号
に同期させ信号ＳＳＥＬ，ＳＡＤＤＲ，ＳＤＢＩなどとして転送するための追加回路を備
える。
【００９５】
この追加回路により、第１の共有バスからバスクロック信号に同期して１つのスレーブに
対して転送が行われた場合には、同一のスレーブに対しては基本クロックの１サイクル中
に多くても一回の転送しか発生しないが、プロセサ要素のバスインタフェース回路がデー
タをラッチする次の基本クロックの立ち上がりタイミングまでその転送データを保持でき
る。
【００９６】
これらアービタ同期回路３０ａおよびスレーブ同期回路３０ｂは、基本的には可変である
バスクロック信号に同期して動作するが、バスクロック信号の周波数が最も低い周波数、
すなわち基本クロック信号の周波数である場合には、内部のレジスタへのクロックを停止
できるという特徴をもつ。
【００９７】
図１７は、本実施形態のマルチプロセサシステムにおける第１のバスアービタの構成例を
示すブロック図である。図１７を参照すると、本実施形態のマルチプロセサシステムにお
ける第１のバスアービタは、図１の第１のバスアービタに対して、アービタ同期回路を介
して複数のプロセサ要素から第１の共有バスのバス要求信号を基本クロック信号のサイク
ルごとにそれぞれ１度だけ受け付けマスクするためのマスク機能と、各バスサイクルでの
第１の共有バスのバス許可信号の発行から次のサイクルの各バスサイクルのバス使用権を
調停し信号出力するための遅延機能とを追加している。
【００９８】
これらマスク機能および遅延機能により、例えば、図１７に示すように、バスクロック信
号の周波数が基本クロック信号の周波数（３０ＭＨｚ）の１倍，２倍，４倍の場合には、
１バスサイクル前，２サイクル前，４サイクル前のバス調停結果に対応したバス選択信号
ＢＳＥＬにより第１の共有バス回路１００を動作させる。また、基本クロックの同一サイ
クル内においては、同一プロセサ要素をスレーブとする転送は多くても１回だけ行うこと
ができ、各プロセサ要素は、バスクロック信号に依存せずに常に基本クロックで動作でき
る。
【００９９】
上述のように、本実施形態のマルチプロセサシステムにおける第１のバスアービタは、第
１の共有バス回路１００の転送トラフィックを保証するため、および、物理的にバス本数
を増やすことによる回路規模増加を防ぐために、第１の共有バス回路１００を、基本クロ
ック信号の周波数を定数倍したバスクロック信号の周波数で動作させる。
【０１００】
このとき、常に定数倍したクロックで動作させると、回路のスイッチング回数が増加し、
消費電力が大きくなってしまうという問題があるため、バスクロックを可変にできるよう
にする。例えば、転送トラフィックが多い処理ルーチン、および、実施形態２に示したデ
バグ時のアドレストレースを基本クロック信号より速いバスクロック信号を用いて第１の
共有バス回路１００を動作させる。
【０１０１】
すなわち、本実施形態である可変クロックの第１の共有バス回路１００では、専用ハード
ウェアを用いて何か信号を常に監視して、完全に動的なクロック切り替えを行わず、実際
には、システム全体の処理ルーチンが転送トラフィックの大きいルーチンに入る場合、も
しくは、他のある条件を満たした場合にのみ、ＣＰＵなどから切り替え信号が発行され、
バスクロックが切り替わる仕組みとする。
【０１０２】
これら同期回路３０および第１のバスアービタに対して、例えば、図１６に示したスター
ト位置信号ｓｔａが必要になるだけである。このスタート位置信号ｓｔａは、基本クロッ
ク信号を３０ＭＨｚとし、可変であるバスクロック信号を３０ＭＨｚ，６０ＭＨｚ，１２
０ＭＨｚとした場合、基本クロック信号の立ち上がりタイミング時に、可変であるバスク
ロック信号に同期して１サイクルだけアクティブになる。また、第１の共有バスに対する
プロセサ要素のデータ出力側には、追加回路は不要である。
【０１０３】
本実施形態のマルチプロセサシステムにおいて、バスの動作クロックを可変（定数倍）に
することによって、物理的にバス本数を増やす場合に比べて回路規模オーバヘッドを抑え
たままで、転送トラフィックを広い範囲で保証できることである。これにより、新たな転
送トラフィックの発生にも柔軟に対応できる可能性が増加するため、拡張容易性も向上す
る。また、バスの動作クロックを常に速くしておく高速転送バスに比べて、必要なときに
だけ速くする可変にすることで低消費電力化が実現できる。
【０１０４】
また、バスの動作クロックの切り替えを、例えば、転送の多い処理ルーチンおよびデバグ
時などは高速なバス動作クロックを用いるなど、マクロ的なシステムレベルで制御するこ
とで、回路規模および消費電力など効率の良いシステムを実現できる。最後に、共有バス
が基本クロックに同期して動作する場合には、同期回路３０内の全てのレジスタにおける
入力クロックを停止でき、低消費電力化が実現できる。
【図面の簡単な説明】
【０１０５】
【図１】本発明によるマルチプロセサシステムの実施形態１を示す全体ブロック図である。
【図２】図１における第１の共有バスを介したデータ転送を説明するための説明図である。
【図３】図１における第１の共有バス回路１００の内部構成例および周辺接続例を示すブロック図である。
【図４】図１における各プロセサ要素内の第１の共有バスのマスタ側およびスレーブ側インタフェースの１部を示す部分ブロック図である。
【図５】図３における第１の共有バスによる制御系データの転送例を示すタイミング図である。
【図６】図３における第１の共有バスによる読出し返送要求転送および返送書込み転送のリンク動作のシーケンスを説明するための説明図である。
【図７】図１における第２の共有バスを介したデータ転送を説明するための説明図である。
【図８】図１における第２の共有バス回路２００の内部構成例および周辺接続例を示すブロック図である。
【図９】図８における第２の共有バスによる入出力データの転送例を示すタイミング図である。
【図１０】図１のマルチプロセサシステムを具体的なＷ−ＣＤＭＡディジタルベースバンドＬＳＩに適用した実施例を示すブロック図である。
【図１１】本発明のマルチプロセサシステムの実施形態２における各プロセサ要素の構成の一部を示す部分ブロック図である。
【図１２】本発明のマルチプロセサシステムの実施形態２におけるデバグ用処理要素の構成の一部を示す部分ブロック図である。
【図１３】本発明によるマルチプロセサシステムの実施形態３を示す全体ブロック図である。
【図１４】図１３のマルチプロセサシステムにおいて挿入追加された同期回路３０の挿入箇所を説明するための説明図である。
【図１５】図１４に示したアービタ同期回路３０ａ，スレーブ同期回路３０ｂの構成例をそれぞれ示すブロック図である。
【図１６】図１５のアービタ同期回路３０ａ，スレーブ同期回路３０ｂに供給されるバスクロック信号および基本クロック信号の動作を示すタイミング図である。
【図１７】図１３のマルチプロセサシステムにおける第１のバスアービタの構成例を示すブロック図である。
【図１８】従来のマルチプロセサシステムの構成例を示すブロック図である。
【符号の説明】
【０１０６】
０１〜０ｎ    プロセサ要素
【０１０７】
１０    デバグ用処理要素
１２−１，１２−２    プロセサ
１３−１，１３−２    バスコントローラ
１５−１，１５−２    アダプタ
１６−１，１６−２，１６−３    入出力装置
２１    バスインタフェース回路
２２    内部プロセサ
２３    命令コード記憶装置
２４    アドレストレーサ
３０，３０ａ，３０ｂ    同期回路
１００    第１の共有バス回路
１０５    第１のバスアービタ
１１０，２１０    ブリッジ回路
２００，２０１    第２の共有バス
２０５    第２のバスアービタ
３００    ＣＣＰＵ
３０１    制御系データ用メモリ
３０２    入出力データ用メモリ
３０３    ＤＭＡコントロー
【図１】
2008293524.tif 000003
【図２】
2008293524.tif 000004
【図３】
2008293524.tif 000005
【図４】
2008293524.tif 000006
【図５】
2008293524.tif 000007
【図６】
2008293524.tif 000008
【図７】
2008293524.tif 000009
【図８】
2008293524.tif 000010
【図９】
2008293524.tif 000011
【図１０】
2008293524.tif 000012
【図１１】
2008293524.tif 000013
【図１２】
2008293524.tif 000014
【図１３】
2008293524.tif 000015
【図１４】
2008293524.tif 000016
【図１５】
2008293524.tif 000017
【図１６】
2008293524.tif 000018
【図１７】
2008293524.tif 000019
【図１８】
2008293524.tif 000020