(57)【要約】 【課題】  マルチバスの内部バス相互間でアクセス要求が競合する状態に対処する。【解決手段】  第１のバス１５に接続される第１のバスマスタ４０、第１のバススレーブ５及び第１のバス権調停回路１３と、第２のバス１６に接続される第２のバスマスタ４１、第２のバススレーブ２４及び第２のバス調停回路２８と、第１のバスと第２のバスを接続するバスブリッジ回路２とを有する。バスブリッジ回路は、第１のバスから第２のバスへ向けられたアクセス要求に対し第２のバスのバス権を獲得して当該要求に係る情報を転送制御する第１の転送制御部と、第２のバスから第１のバスへ向けられたアクセス要求に対し第１のバスのバス権を獲得して当該要求に係る情報を転送制御する第２の転送制御部とを有する。第２のバスは、第２のバススレーブと第１の転送制御部とを接続する第１の経路と、第２のバスマスタと第２の転送制御部とを接続する第２の経路とを分離可能に有する。【選択図】        図２
2005346513.tif 000002
【特許請求の範囲】
【請求項１】
第１のバスと、
前記第１のバスに接続される第１のバスマスタと、
前記第１のバスに接続される第１のバススレーブと、
第２のバスと、
前記第２のバスに接続される第２のバスマスタと、
前記第２のバスに接続される第２のバススレーブと、
前記第１のバスと第２のバスを接続するバスブリッジ回路と、
前記第１のバスに接続された第１のバス権調停回路と、
前記第２のバスに接続された第２のバス権調停回路とを有し、
前記バスブリッジ回路は、第１のバスから第２のバスへ向けられたアクセス要求に対し第２のバスのバス権を獲得して当該要求に係る情報を転送制御する第１の転送制御部と、第２のバスから第１のバスへ向けられたアクセス要求に対し第１のバスのバス権を獲得して当該要求に係る情報を転送制御する第２の転送制御部とを有し、
前記第２のバスは、前記第２のバススレーブと前記第１の転送制御部とを接続する第１の経路と、前記第２のバスマスタと前記第２の転送制御部とを接続する第２の経路とを分離可能に有する半導体装置。
【請求項２】
前記第２のバスは、前記第１の転送制御部に接続される第１の分割バスと、前記第２のバスマスタと前記第２の転送制御部を接続する第２の分割バスと、前記第２のバススレーブに接続する第３の分割バスと、前記第１の分割バス又は前記第２の分割バスの何れか一方を選択的に前記第３の分割バスに接続する分割バス接続選択回路とを有し、
前記第１の経路は前記第１の分離バス、分割バス接続選択回路、及び第３の分離バスを含み、
前記第２の経路は前記第２の分離バスを含む請求項１記載の半導体装置。
【請求項３】
前記第２のバス権調停回路は、第１の転送制御部を介するバス権要求と第２のバスマスタからのバス権要求が競合したとき、第１の転送制御部を介するバス権要求を優先させ、前記分割バス接続選択回路に第１の分割バスを第３の分割バスに接続する接続状態を選択させる請求項２記載の半導体装置。
【請求項４】
前記第１のバスマスタはプロセッサコアであり、第２バスマスタは画像処理モジュールである請求項３記載の半導体装置。
【請求項５】
前記第１のバススレーブは前記第１のバスに伝達されるアクセス要求を受取って第１の外部バスを制御する第１のバスコントローラであり、
前記第２のバススレーブは前記第２のバスに伝達されるアクセス要求を受取って第２の外部バスを制御する第２のバスコントローラである、請求項３記載の半導体装置。
【請求項６】
前記第１のバスコントローラ及び第２のバスコントローラと外部バスとの接続状態を選択可能な外部バス接続選択回路を有し、
前記外部バス接続選択回路は、前記第１のバスコントローラに第１の外部バスを接続し且つ第２のバスコントローラに第２の外部バスを接続する第１接続状態、又は前記第２のバスコントローラに第１の外部バス及び第２の外部バスを接続し且つ第１の外部バス及び第２の外部バスを前記第１のバスコントローラとは非接続とする第２接続状態を選択可能であり、
前記第２接続状態において前記第２のバスコントローラは前記第１の外部バス及び第２の外部バスを並列アクセス制御及び個別アクセス制御可能である請求項５記載の半導体装置。
【請求項７】
前記バスブリッジ回路は第１動作モードを有し、前記第１動作モードにおいて前記バスブリッジ回路は、前記プロセッサコアから第１の外部バスへ与えられるアクセス要求に対して、第２の内部バスに当該アクセス要求に係る情報を転送制御し、
前記外部バス選択回路は前記第１動作モードに応答して前記第２接続状態に設定される項６記載の半導体装置。
【請求項８】
前記第２のバスコントローラは、前記プロセッサコア又は画像処理モジュールからのアクセス要求で特定アドレスエリアが指定されたとき前記並列アクセス制御を行い、外部バスに係るその他のアドレスエリアが指定されたとき個別アクセス制御を行う請求項７記載の半導体装置。
【請求項９】
前記第１接続状態において、第１のバスコントローラは第１の外部バスを、第２のバスコントローラは第２の外部バスを、各々個別アクセス制御可能である請求項８記載の半導体装置。
【請求項１０】
バスブリッジ回路はレジスタを有し、前記レジスタに所定の値が設定されることによって前記第１動作モードが指定される請求項７記載の半導体装置。
【請求項１１】
複数のバスマスタと、前記バスマスタからアクセス要求が与えられる複数の外部バス制御回路と、前記複数の外部バス制御回路と外部バスの接続状態を選択可能な外部バス接続選択回路とを有し、
前記外部バス接続選択回路は、外部バス制御回路に夫々に固有の外部バスを接続する第１接続状態、又は前記複数の外部バス制御回路のうちの所定の一の外部バス制御回路に、外部バス制御回路の夫々に固有の外部バスを共通接続する第２接続状態を選択可能であり、
前記第２接続において前記所定の一つの外部バス制御回路は、前記複数の外部バス制御回路の夫々に固有の外部バスを、並列アクセス制御及び個別アクセス制御可能である半導体装置。
【請求項１２】
前記複数の外部バス制御回路は、前記第１接続状態において固有の外部バスを個別アクセス制御可能である請求項１１記載の半導体装置。
【請求項１３】
前記所定の一つの外部バス制御回路は、前記バスマスタからのアクセス要求で特定アドレスエリアが指定されたとき前記並列アクセス制御を行い、外部バスに係るその他のアドレスエリアが指定されたとき個別アクセス制御を行う請求項１２記載の半導体装置。
【請求項１４】
バスブリッジ回路を介して接続された複数の内部バスを有し、夫々の内部バスに前記バスマスタと前記外部バス制御回路が接続され、前記内部バスのビット数は前記外部バスのビット数の複数倍である請求項１３記載の半導体装置。
【請求項１５】
前記バスブリッジ回路は第１動作モードを有し、前記第１動作モードにおいて前記バスブリッジ回路は、前記所定の一つの外部バス制御回路に接続する内部バス以外の内部バスから、当該内部バスに対応される外部バス制御回路に固有の外部バスへのアクセス要求に対して、前記所定の一つの外部バス制御回路に接続する内部バスに当該アクセス要求に係る情報を転送制御し、
前記外部バス接続選択回路は前記第１動作モードに応答して前記第２接続状態に設定される項１４記載の半導体装置。
【請求項１６】
並列データビット数が２ｎビットの第１のバスと、
前記第１のバスに接続される第１のバスマスタと、
前記第１のバスに伝達されるアクセス要求を受取って並列データビット数がｎビットの第１の外部バスを制御可能な第１のバスコントローラと、
並列データビット数が２ｎビットの第２のバスと、
前記第２のバスに接続される第２のバスマスタと、
前記第２のバスに伝達されるアクセス要求を受取って前記第１の外部バス及び並列データビット数がｎビットの第２の外部バスを制御可能な第２のバスコントローラと、
前記第１のバスと第２のバスを接続するバスブリッジ回路と、
前記第１の外部バスを前記第１のバスコントローラに接続し且つ前記第２のバスコントローラから分離する第１接続状態又は前記第１の外部バスを前記第２のバスコントローラに接続し且つ前記第１のバスコントローラから分離する第２接続状態を選択可能な外部バス接続選択回路と、を有し、
前記外部バス接続選択回路の第２接続状態において、前記第２のバスコントローラは、前記第１のバスマスタ又は第２のバスマスタからデータアクセスサイズ２ｎビットの外部バスアクセス要求に対して、第１の外部バスのメモリと第２の外部バスのメモリを並列アクセス可能である半導体装置。
【請求項１７】
前記外部バス接続選択回路の第２接続状態において、前記第２のバスコントローラは、前記第１のバスマスタ又は第２のバスマスタからデータアクセスサイズｎビットの外部バスアクセス要求に対して、第１の外部バスのメモリ又は第２の外部バスのメモリをアクセス可能であり、
前記外部バス接続選択回路の第１接続状態において、前記第１のバスコントローラは前記第１のバスマスタからデータアクセスサイズｎビットの外部バスアクセス要求に対して第１の外部バスのメモリをアクセス可能であり、前記第２のバスコントローラは前記第２のバスマスタからデータアクセスサイズｎビットの外部バスアクセス要求に対して第２の外部バスのメモリをアクセス可能である請求項１６記載の半導体装置。
【請求項１８】
前記バスブリッジ回路は第１動作モードを有し、前記第１動作モードにおいて前記バスブリッジ回路は、前記第１のバスマスタから第１の外部バスへ与えられるアクセス要求に対して、前記第２のバスコントローラに接続する内部バスに当該アクセス要求に係る情報を転送制御し、
前記外部バス接続選択回路は前記第１動作モードに応答して前記第２接続状態に設定される項１７記載の半導体装置。
【請求項１９】
前記第１のバスマスタはプロセッサコアであり、前記第２のバスマスタは画像処理モジュールであり、前記プロセッサコアは前記画像処理モジュールに制御情報を設定可能である請求項１８記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスブリッジ回路で接続されたマルチバスを有する半導体装置のバス制御技術に関し、例えばプロセッサコアと画像処理モジュールを別々のバスに接続したマイクロコンピュータに適用して有効な技術に関する。
【背景技術】
【０００２】
特許文献１には、低速バスと高速バスに接続された各々のバスマスタが同時にバスを占有できるように周辺ブリッジを設けたデュアルバスシステムについて記載が有る。第１のバスに外部バスコントローラを介して外部メモリが接続され、第２のバスに外部メモリコントローラを介して別のメモリが接続され、第１のバスのバスマスタは第２のバス側の外部メモリコントローラを介して前記別のメモリをアクセス可能にされる。
【０００３】
【特許文献１】特開２００３−８５１２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明者は例えばプロセッサコアと画像処理モジュール等が搭載されたマイクロコンピュータのバス構成について検討した。画像処理モジュールとプロセッサコアとが同一のバスに接続されていると、画像処理に伴って大量の画像データ等の転送が必要になるので、プロセッサコアによる命令フェッチと画像処理モジュールによる画像データ転送とのバス上での競合によって、データ処理性能の向上に限界を生ずる。そこで、プロセッサコアに接続するバスと画像処理モジュールに接続するバスを分離し、両者をバスブリッジで接続して、マルチバスを採用することについて以下の検討を行った。以下の検討内容について特許文献１には何ら記載はない。
【０００５】
第１に、バスブリッジ回路による競合対策である。即ち、マルチバスにおいては相互に一方のバスのバスマスタが他方のバスのバススレーブをアクセス可能にするのがデータの共有もしくはシステムリソースの共有という観点より望ましいが、双方からのアクセス要求が競合したとき、各バスのバスアービタだけではバス間のアクセス要求の競合によるデッドロックの発生を抑止することはできない。
【０００６】
第２に、外部端子数の制約に対する外部並列アクセスの高速化対策である。即ち、マルチバスにおいて各バス毎にバスコントローラを設けて各々独立に外部バスアクセス可能な回路構成を採用しても、半導体装置の外部端子数の制約により、各々の外部入出力の為の並列データビット数は制限を受ける。大量の画像データを処理する場合には外部メモリに対する高速アクセスが望ましく、外部メモリに対する並列アクセスビット数を選択的に大きくすることの有用性が本発明者によって見出された。
【０００７】
本発明の目的は、マルチバスの内部バス相互間でアクセス要求が競合する状態に対処することができる半導体装置を提供することにある。
【０００８】
本発明の別の目的は、マルチバスの一つの内部バスから外部へのアクセス効率を向上させることができる半導体装置を提供することにある。
【０００９】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
〔１〕《内部バス間のアクセス競合回避対策》
本発明に係る半導体装置は、第１のバス（１５）と、前記第１のバスに接続される第１のバスマスタ（４０）と、前記第１のバスに接続される第１のバススレーブ（５）と、第２のバス（１６）と、前記第２のバスに接続される第２のバスマスタ（４１）と、前記第２のバスに接続される第２のバススレーブ（２４、４６）と、前記第１のバスと第２のバスを接続するバスブリッジ回路（２）と、前記第１のバスに接続された第１のバス権調停回路（１３）と、及び前記第２のバスに接続された第２のバス権調停回路（２８）とを有する。前記バスブリッジ回路は、第１のバスから第２のバスへ向けられたアクセス要求に対し第２のバスのバス権を獲得して当該要求に係る情報を転送制御する第１の転送制御部（４２）と、第２のバスから第１のバスへ向けられたアクセス要求に対し第１のバスのバス権を獲得して当該要求に係る情報を転送制御する第２の転送制御部（４３）とを有する。前記第２のバスは、前記第２のバススレーブと前記第１の転送制御部とを接続する第１の経路と、前記第２のバスマスタと前記第２の転送制御部とを接続する第２の経路とを分離可能に有する。これによれば、バスブリッジ回路は相互に一方の内部バスから他方の内部バスに向けたバスアクセス要求を伝達することができる。第１経路と第２経路が分離しているので、第１のバスマスタから第２のバススレーブに対するアクセス要求と、第２のバスマスタから第１のバススレーブに対するアクセス要求とが競合する状態が発生したとき、第１経路からのアクセス要求を優先させれば、競合によるデッドロックを解消することができる。
【００１２】
例えば、前記第２のバスは、例えば前記第１の転送制御部に接続される第１の分割バス（１６Ａ）と、前記第２のバスマスタと前記第２の転送制御部を接続する第２の分割バス（１６Ｂ）と、前記第２のバススレーブに接続する第３の分割バス（１６Ｃ）と、前記第１の分割バス又は前記第２の分割バスの何れか一方を選択的に前記第３の分割バスに接続する分割バス接続選択回路（４７）と、を有する。前記第１の経路は前記第１の分離バス、分割バス接続選択回路、及び第３の分離バスを含み、前記第２の経路は前記第２の分離バスを含む。第１のバスマスタから第２のバススレーブに対するアクセス要求と、第２のバスマスタから第１のバススレーブに対するアクセス要求とが競合する状態が発生したとき、双方のアクセス要求の伝達経路を第１の分割バスと第２の分割バスとによって分離することが可能になり、アルゴリズム上、第１のバスマスタからのアクセス要求を優先させれば他方からのアクセス要求との衝突を回避して、デッドロックを抑止することができる。
【００１３】
競合するアクセス要求の伝達経路を分離するための手順として、前記第２のバス権調停回路は、例えば、第１の転送制御部を介するバス権要求と第２のバスマスタからのバス権要求が競合したとき、第１の転送制御部を介するバス権要求を優先させ、前記分割バス接続選択回路に第１の分割バスを第３の分割バスに接続する接続状態を選択させる。例えば、前記第１のバスマスタがプロセッサコアで、第２バスマスタが画像処理モジュールであるような場合に、プロセッサコアは画像処理モジュールによる処理に優先して、画像処理用制御データの設定や書換えが可能になる。
【００１４】
前記第１のバススレーブは前記第１のバスに伝達されるアクセス要求を受取って第１の外部バスを制御する第１のバスコントローラ（５）であり、前記第２のバススレーブは前記第２のバスに伝達されるアクセス要求を受取って第２の外部バスを制御する第２のバスコントローラ（２４）である。
【００１５】
〔２〕《複数の外部バスに対する並列アクセス》
上記半導体装置の更に具体的な形態では、前記第１のバスコントローラ及び第２のバスコントローラと外部バスとの接続状態を選択可能な外部バス接続選択回路（３７）を採用する。前記外部バス接続選択回路は、前記第１のバスコントローラに第１の外部バスを接続し且つ第２のバスコントローラに第２の外部バスを接続する第１接続状態、又は前記第２のバスコントローラに第１の外部バス及び第２の外部バスを接続し且つ第１の外部バス及び第２の外部バスを前記第１のバスコントローラとは非接続とする第２接続状態を選択可能である。前記第２接続状態において前記第２のバスコントローラは前記第１の外部バス及び第２の外部バスを並列アクセス制御及び個別アクセス制御可能とされる。要するに、第２接続状態が選択されると、第１のバスマスタ又は第２のバスマスタは、第１の外部バスのメモリ（３５）と第２の外部バスのメモリ（３６）を並列アクセス可能にされる。例えば、各々異なる外部バスに接続されたデータ入出力ビット数ｎビットの２個のメモリを並列動作させてデータ入出力ビット数２×ｎビットで並列データアクセスを行うことができる。マルチバスの一つの内部バスから外部へのアクセス効率を向上させることができる。
【００１６】
前記外部バス接続選択回路に対する制御という観点では、前記バスブリッジ回路は第１動作モード（３２ビットバスモード）を有し、前記第１動作モードにおいて前記バスブリッジ回路は、前記プロセッサコアから第１の外部バスへ与えられるアクセス要求に対して、第２の内部バスに当該アクセス要求に係る情報を転送制御し、このとき、前記外部バス選択回路は前記第１動作モードに応答して前記第２接続状態に設定される。このようにして第２接続状態が設定されたとき、前記第２のバスコントローラは、前記プロセッサコア又は画像処理モジュールからのアクセス要求で特定アドレスエリアが指定されたとき前記並列アクセス制御を行い、外部バスに係るその他のアドレスエリアが指定されたとき個別アクセス制御を行えばよい。
【００１７】
前記第１接続状態では、第１のバスコントローラは第１の外部バスを、第２のバスコントローラは第２の外部バスを、各々個別アクセス制御可能である。
【００１８】
前記バスブリッジ回路はレジスタ（４４）を有し、前記レジスタに所定の値が設定されることによって前記第１動作モードが指定される。プロセッサコア等を介してプログラマブルに第１動作モードを設定することが可能になる。
【００１９】
〔３〕《複数の外部バスに対する並列アクセス》
複数の外部バスに対する並列アクセスに主眼を置いた観点による半導体装置は、複数のバスマスタと、前記バスマスタからアクセス要求が与えられる複数の外部バス制御回路と、前記複数の外部バス制御回路と外部バスの接続状態を選択可能な外部バス接続選択回路とを有する。前記外部バス接続選択回路は、外部バス制御回路に夫々に固有の外部バスを接続する第１接続状態、又は前記複数の外部バス制御回路のうちの所定の一の外部バス制御回路に、外部バス制御回路の夫々に固有の外部バスを共通接続する第２接続状態を選択可能である。前記第２接続において前記所定の一つの外部バス制御回路は、前記複数の外部バス制御回路の夫々に固有の外部バスを、並列アクセス制御及び個別アクセス制御可能である。これにより、第２接続状態が選択されると、所定の一の外部バス制御回路は複数の外部バスのメモリを並列アクセス可能にされ、マルチバスの一つの内部バスから外部へのアクセス効率を向上させることができる。
【００２０】
本発明の具体的な形態では、前記複数の外部バス制御回路は、前記第１接続状態において固有の外部バスを個別アクセス制御可能である。
【００２１】
本発明の更に具体的な形態では、前記所定の一つの外部バス制御回路は、前記バスマスタからのアクセス要求で特定アドレスエリアが指定されたとき前記並列アクセス制御を行い、外部バスに係るその他のアドレスエリアが指定されたとき個別アクセス制御を行う。
【００２２】
本発明の更に具体的な形態では、バスブリッジ回路を介して接続された複数の内部バスを有し、夫々の内部バスに前記バスマスタと前記外部バス制御回路が接続され、前記内部バスのビット数は前記外部バスのビット数の複数倍である。
【００２３】
本発明の更に具体的な形態では、前記バスブリッジ回路は第１動作モードを有し、前記第１動作モードにおいて前記バスブリッジ回路は、前記所定の一つの外部バス制御回路に接続する内部バス以外の内部バスから、当該内部バスに対応される外部バス制御回路に固有の外部バスへのアクセス要求に対して、前記所定の一つの外部バス制御回路に接続する内部バスに当該アクセス要求に係る情報を転送制御する。そして、前記外部バス接続選択回路は前記第１動作モードに応答して前記第２接続状態に設定される。
【００２４】
〔４〕《複数の外部バスに対する並列アクセス》
複数の外部バスに対する並列アクセスに主眼を置いた更に具体的な観点による半導体装置は、並列データビット数が２ｎビットの第１のバス（１５）と、前記第１のバスに接続される第１のバスマスタ（４０）と、前記第１のバスに伝達されるアクセス要求を受取って並列データビット数がｎビットの第１の外部バス（３１）を制御可能な第１のバスコントローラ（５）と、並列データビット数が２ｎビットの第２のバス（１６）と、前記第２のバスに接続される第２のバスマスタ（４１）と、前記第２のバスに伝達されるアクセス要求を受取って前記第１の外部バス及び並列データビット数がｎビットの第２の外部バス（３２）を制御可能な第２のバスコントローラ（２４）と、前記第１のバスと第２のバスを接続するバスブリッジ回路（２）と、前記第１の外部バスを前記第１のバスコントローラに接続し且つ前記第２のバスコントローラから分離する第１接続状態又は前記第１の外部バスを前記第２のバスコントローラに接続し且つ前記第１のバスコントローラから分離する第２接続状態を選択可能な外部バス接続選択回路（３７）と、を有する。前記外部バス接続選択回路の第２接続状態において、前記第２のバスコントローラは、前記第１のバスマスタ又は第２のバスマスタからデータアクセスサイズ２ｎビットの外部バスアクセス要求に対して、第１の外部バスのメモリと第２の外部バスのメモリを並列アクセス可能である。
【００２５】
前記外部バス接続選択回路の第２接続状態において、前記第２のバスコントローラは、前記第１のバスマスタ又は第２のバスマスタからデータアクセスサイズｎビットの外部バスアクセス要求に対して、第１の外部バスのメモリ又は第２の外部バスのメモリをアクセス可能であり、前記外部バス接続選択回路の第１接続状態において、前記第１のバスコントローラは前記第１のバスマスタからデータアクセスサイズｎビットの外部バスアクセス要求に対して第１の外部バスのメモリをアクセス可能であり、前記第２のバスコントローラは前記第２のバスマスタからデータアクセスサイズｎビットの外部バスアクセス要求に対して第２の外部バスのメモリをアクセス可能である。
【００２６】
本発明の更に具体的な形態では、前記バスブリッジ回路は第１動作モードを有し、前記第１動作モードにおいて前記バスブリッジ回路は、前記第１のバスマスタから第１の外部バスへ与えられるアクセス要求に対して、前記第２のバスコントローラに接続する内部バスに当該アクセス要求に係る情報を転送制御し、前記外部バス接続選択回路は前記第１動作モードに応答して前記第２接続状態に設定される。例えば前記第１のバスマスタはプロセッサコアであり、前記第２のバスマスタは画像処理モジュールであり、前記プロセッサコアは前記画像処理モジュールに制御情報を設定可能である。
【発明の効果】
【００２７】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２８】
すなわち、マルチバスの内部バス相互間でアクセス要求が競合する状態に対処することができる。マルチバスの一つの内部バスから外部へのアクセス効率を向上させることができる。
【発明を実施するための最良の形態】
【００２９】
《マイクロコンピュータ》
図１には本発明の一例に係るマイクロコンピュータが示される。同図に示されるマイクロコンピュータは、特に制限されないが、ＣＭＯＳ（相補型ＭＯＳ）などの公知の半導体集積回路製造技術によって単結晶シリコンなどの１個の半導体基板に形成され、画像処理及び音声処理に特化したアプリケーションプロセッサとして携帯電話機等に搭載されて利用される。
【００３０】
マイクロコンピュータ（ＭＣＵ）１は、バスブリッジ回路（ＩＢＢ）２で接続された第１バスとしての内部バス（ＩＢＵＳ）１５と第２バスとしてのメディアバス（ＭＢＵＳ）１６を有する。内部バス１５はバスマスタとして例えばマイクロコンピュータ１全体の制御を司るプロセッサコア（ＰＣＯＲ）３とダイレクトメモリアクセスコントローラ（ＤＭＡＣ）４を有する。プロセッサコア（ＰＣＯＲ）３は中央処理装置（ＣＰＵ）とディジタル信号処理プロセッサ（ＤＳＰ）等を有している。プロセッサコア（ＰＣＯＲ）３は少なくともＣＰＵ２を備えていればよい。前記内部バス１５にはバススレーブとして、外部メモリコントローラ（ＩＢＳＣ）５、及び周辺バスコントローラ（ＰＰＢＣ）６が接続され、更に、周辺バスコントローラ（ＰＰＢＣ）６には周辺バス（ＰＰＢ）７を介して、音声処理モジュールとして代表的に示されたサウンドインタフェースユニット（ＳＩＵ）８、多機能インタフェース（ＭＦＩ）９、及びクロックパルスジェネレータ（ＣＰＧ）１０等を有する。多機能インタフェース９はベースバンド処理用の半導体集積回路（ＢＢＰＲＣＳ）１１に接続され、共有メモリ等の機能を有する。サウンドインタフェースユニット（ＳＩＵ）８はアナログディジタルコンバータ（ＡＤＣ）及びディジタルアナログコンバータ（ＤＡＣ）１２に接続される。クロックパルスジェネレータ１０は複数のクロックＣＬＫｉを生成し、クロックＣＬＫｉはマイクロコンピュータ１内部の同期クロック及び外部メモリのアクセス同期クロックなどに利用される。内部バス１５のバス権調停回路としてバスアービタ（ＩＢＣ）１３を有する。
【００３１】
メディアバス１６はバスマスタとして例えばビデオプロセッシングユニット（ＶＰＵ）２０、３Ｄグラフィックアクセラレータ（３ＤＧ）２１、ビデオインタフェース（ＶＩＯ）２２、液晶ディスプレイインタフェース（ＬＣＤＩＦ）２３等を有する。メディアバス１６にはバススレーブとして、外部メモリコントローラ（ＭＢＳＣ）２４、及び内蔵メモリ（ＵＲＡＭ）２５が接続される。液晶ディスプレイインタフェース２３にはドットマトリクス型の液晶ディスプレイパネル（ＬＣＤＰＮＬ）２６が接続される。ビデオインタフェース２２にはＣＣＤカメラ（ＣＭＲ）２７が接続される。メディアバス１６のバス権調停回路としてバスアービタ（ＭＢＣ）２８を有する。内蔵メモリ（ＵＲＡＭ）２５はプロセッサコア３にも接続され、ＣＰＵのワーク領域若しくはデータバッファなどに利用される。
【００３２】
バスマスタ３，４等は内部バス（ＩＢＵＳ）１５のバス権を要求するときバスリクエスト信号をバスアービタ１３に出力する。バスアービタ１３は、競合するアクセス要求に対してはＩＢＵＳ１５上で異なるアクセス動作が衝突しないように調停し、一つのバスリクエストにバスアクノリッジを返してその要求元にバス権を与える。バスマスタ２０〜２３などはメディアバス（ＭＢＵＳ）１６のバス権を要求するときバスリクエスト信号をバスアービタ２８に出力する。バスアービタ２８は、競合するアクセス要求に対してはＭＢＵＳ１６上で異なるアクセス動作が衝突しないように調停し、一つのバスリクエストにバスアクノリッジを返してその要求元にバス権を与える。
【００３３】
前記バスブリッジ回路２はＩＢＵＳ１５側からのアクセス要求をＭＢＵＳ１６側に渡し、また、ＭＢＵＳ１６側からのアクセス要求をＩＢＵＳ１５側に渡し、ＩＢＵＳ１５とＭＢＵＳ１６との間でアクセスデータの受け渡しを行う。したがって、バスブリッジ回路２はＩＢＵＳ１５からのアクセス要求をＭＢＵＳ１６側に渡すときＭＢＵＳ１６側ではバスマスタとして機能する。逆に、バスブリッジ回路２はＭＢＵＳ１６からのアクセス要求をＩＢＵＳ１５側に渡すときはＩＢＵＳ１５側でバスマスタとして機能することになる。
【００３４】
マイクロコンピュータ１は第１の外部バス（ＥＸＩＢＵＳ）３１と第２の外部バス（ＥＸＭＢＵＳ）３２に接続可能な複数のインタフェース端子（図示せず）を備えており、前記外部メモリコントローラ５、２４は夫々別々に対応する外部バス３，３２を制御し、また、一方の外部メモリコントローラ５の動作が抑止された状態で、他方の外部メモリコントローラ２４が双方のバス３１，３２を並列にアクセス制御可能になっている。外部バス接続選択回路（ＰＡＤ）３７は外部バス３１を選択的に一方の外部メモリコントローラ５又は他方の外部メモリコントローラ２４に接続する。外部バス接続選択回路（ＰＡＤ）３７の選択信号３８はＩＢＢ２から供給される。ＥＸＩＢＵＳ３１にはセグメント表示型のＬＣＤディスプレイ（ＬＣＤＤＳＰ）３３、フラッシュメモリ（ＦＬＡＳＨ）やスタティックランダムアクセスメモリ（ＳＲＡＭ）などの非同期メモリ３４、及びクロック同期型のメモリとしてＳＤＲＡＭ（シンクロナスダイナミックランダムアクセスメモリ）３５が接続される。外部バス３２にはクロック同期型メモリとしてＳＤＲＡＭ３６が接続される。前記ＳＤＲＡＭ３５は後述する３２ビットバスモードにおいて外部メモリコントローラ２４により外部バス３２のＳＤＲＡＭ３６と並列にアクセスされる用途に専用化される。ＳＤＲＡＭ３５はＳＤＲＡＭ３６と同じアドレスにマッピングされている。
【００３５】
上記マイクロコンピュータ１において例えばＰＣＯＲ３はＩＢＵＳ１５に接続されているＩＢＳＣ５を経由し、非同期メモリ３４をアクセスする。また、ＶＰＵ２０や３ＤＧ２１はMＢＵＳ１６に接続されているＭＢＳＣ２４を経由してＳＤＲＡＭ３６を単独で又はＳＤＲＡＭ３５とＳＤＲＡＭ３６を並列にアクセスする。ＳＤＲＡＭ３６、３５は主にＶＰＵ２０や３ＤＧ２１等の画像処理モジュールがワークメモリ若しくはフレームバッファとして使用する。ＰＣＯＲ３側にはＭＦＩ９に内蔵された共有ＲＡＭを用いて所望のプログラムを起動するＭＦＩモードがある。ＢＢＰＲＣＳ１１がプログラムをＭＦＩ９の共有ＲＡＭに直接書き込んで、ＰＣＯＲ3のＣＰＵに割り込みを要求すると、ＣＰＵは、書き込まれたＭＦＩ９の共有ＲＡＭからプログラムを読み出す。また、上記同様の割り込み処理で、ＭＦＩ９に書き込まれたデータを非同期メモリ３４又はＵＲＡＭ２５等に転送する処理を行うことも可能である。このＭＦＩモードはＷｅｂ等からダウンロードしたアプリケーションを実行する場合等に用いられる。
【００３６】
《バスアクセスの基本形態》
図２には前記マイクロコンピュータ１におけるバスブリッジ回路２とＰＡＤ３７の構成に着目したバス構成が示される。
【００３７】
図２においてＩバスマスタ（ＩＢＭＳＴ）４０はＩＢＵＳ１５に接続されたＰＣＯＲ３及びＤＭＡＣ４などのバスマスタを総称し、Ｍバスマスタ（ＭＢＭＳＴ）４１はＭＢＵＳ１６に接続されたＶＰＵ２０、３ＤＧ２１及びＣＭＲＩＦ２２などのバスマスタを総称する。
【００３８】
前記バスブリッジ回路２は、第１の転送制御部（ＦＴＣＮＴ）４２、第２の転送制御部（ＳＴＣＮＴ）４３、及びバスブリッジ制御レジスタ（ＢＢＲＥＧ）４４を有する。
【００３９】
第１の転送制御部（ＦＴＣＮＴ）４２は、ＩＢＵＳ１５からＭＢＵＳ１６へ向けられたアクセス要求に対しＭＢＵＳ１６のバス権を獲得して当該要求に係る情報を転送制御する。第１の転送制御部４２はアドレスデコーダ、コマンドデコーダ、データバッファ及び転送制御ロジックを有する。アドレスデコーダはＩＢＵＳ１５上のアクセス要求に含まれるアクセスアドレスをデコードして、そのアドレスがＩＢＵＳ１５とＭＢＵＳ１６との間のバス間転送を要するアドレスエリアに含まれるか否かを判定する。コマンドデコーダは、ＩＢＵＳ１５とＭＢＵＳ１６との間のバス間転送を要する場合に、ＩＢＵＳ１５上のアクセス要求に含まれるアクセスコマンドをデコードして、転送制御ロジックにバス間転送に必要な動作を制御させる。データバッファはバス間転送でやりとりするアクセス要求やアクセスデータのバッファ領域として利用される。
【００４０】
第２の転送制御部（ＳＴＣＮＴ）４３は、ＭＢＵＳ１６からＩＢＵＳ１５へ向けられたアクセス要求に対しＩＢＵＳ１５のバス権を獲得して当該要求に係る情報を転送制御する。第２の転送制御部４３も上記同様のアドレスデコーダ、コマンドデコーダ、データバッファ及び転送制御ロジックを有する。アドレスデコーダはＭＢＵＳ１６上のアクセス要求に含まれるアクセスアドレスをデコードして、そのアドレスがＩＢＵＳ１５とＭＢＵＳ１６との間のバス間転送を要するアドレスエリアに含まれるか否かを判定する。コマンドデコーダは、ＩＢＵＳ１５とＭＢＵＳ１６との間のバス間転送を要する場合に、ＭＢＵＳ１６上のアクセス要求に含まれるアクセスコマンドをデコードして、転送制御ロジックにバス間転送に必要な動作を制御させる。データバッファはバス間転送でやりとりするアクセス要求やアクセスデータのバッファ領域として利用される。
【００４１】
バスブリッジ制御レジスタ４４は、これに設定される値にしたがって第１の転送制御部４２及び第２の転送制御部４３の動作モードを決定し、更にその動作モードに応じて前記選択信号３７の値を決定する。その動作モードについては外部バスアクセスモードとして後述する。
【００４２】
マイクロコンピュータ１によるバスアクセス形態は第１乃至第４のバスアクセス形態に大別される。第１のバスアクセス形態はＩＢＭＳＴ４０からＩＢＵＳ１５へのバス間転送を伴わないバスアクセス、第２のバスアクセス形態はＩＢＭＳＴ４０からＭＢＵＳ１６へのバス間転送を伴うバスアクセス、第３のバスアクセス形態はＭＢＭＳＴ４１からＭＢＵＳ１６へのバス間転送を伴わないバスアクセス、第４のバスアクセス形態はＭＢＭＳＴ４１からＩＢＵＳ１５へのバス間転送を伴うバスアクセスである。
【００４３】
第１のバスアクセス形態では、（１）ＩＢＭＳＴ４０からＩＢＣ１３へバス権要求信号（バスリクエスト信号）を出力し、（２）これに応答してＩＢＣ１３は、他のバス権要求があればそれとの調停を行って、ＩＢＭＳＴ４０にバス使用許可信号（バスアクノレッジ信号）を出力し、（３）これによってバス使用許可を受けたＩＢＭＳＴ４０は、IＢＵＳ１５にアドレス、コマンド、そしてライトアクセスの場合にはライトデータなどを出力してアクセス要求の転送を完了する。リードアクセスの場合にはアクセス対象から返されるリードデータを受け取る。このときＩＢＵＳ１５に出力されるアクセスアドレスはＦＴＣＮＴ４２にとってバス間転送を要するアドレスエリアのアドレスではない。
【００４４】
第２のバスアクセス形態では、（１）ＩＢＭＳＴ４０からＩＢＣ１３へバス権要求信号（バスリクエスト信号）を出力し、（２）これに応答してＩＢＣ１３は、他のバス権要求があればそれとの調停を行って、ＩＢＭＳＴ４０にバス使用許可信号（バスアクノレッジ信号）を出力し、（３）これによってバス使用許可を受けたＩＢＭＳＴ４０は、IＢＵＳ１５にアドレス、コマンド、そしてライトアクセスの場合にはライトデータなどを出力する。（４）このときＩＢＵＳ１５に出力されるアクセスアドレスはＦＴＣＮＴ４２にとってバス間転送を要するアドレスエリアのアドレスとされている。ＦＴＣＮＴ４２はアクセスアドレスをデコードし、アクセスアドレスがバス間転送を要するアクセスアドレスであることを判別すると、ＭＢＣ２８にＭＢＵＳ１６上のバス権を要求する。（５）これに応答してＭＢＣ２８は、他のバス権要求があればそれとの調停を行って、ＦＴＣＮＴ４２にバス使用許可信号（バスアクノレッジ信号）を出力し、（６）これによってバス使用許可を受けたＦＴＣＮＴ４２は、ＭＢＵＳ１６に前記アドレス、コマンド、そしてライトアクセスの場合にはライトデータなどを出力してアクセス要求の転送を完了する。リードアクセスの場合にはアクセス対象から返されるリードデータを受け取る。
【００４５】
第３のバスアクセス形態では、（１）ＭＢＭＳＴ４１からＭＢＣ２８へバス権要求信号（バスリクエスト信号）を出力し、（２）これに応答してＭＢＣ２８は、他のバス権要求があればそれとの調停を行って、ＭＢＭＳＴ４１にバス使用許可信号（バスアクノレッジ信号）を出力し、（３）これによってバス使用許可を受けたＭＢＭＳＴ４１は、ＭＢＵＳ１６にアドレス、コマンド、そしてライトアクセスの場合にはライトデータなどを出力してアクセス要求の転送を完了する。リードアクセスの場合にはアクセス対象から返されるリードデータを受け取る。このときＭＢＵＳ１６に出力されるアクセスアドレスはＳＴＣＮＴ４３にとってバス間転送を要するアドレスエリアのアドレスではない。
【００４６】
第４のバスアクセス形態では、（１）ＭＢＭＳＴ４１からＭＢＣ２８へバス権要求信号（バスリクエスト信号）を出力し、（２）これに応答してＭＢＣ２８は、他のバス権要求があればそれとの調停を行って、ＭＢＭＳＴ４１にバス使用許可信号（バスアクノレッジ信号）を出力し、（３）これによってバス使用許可を受けたＭＢＭＳＴ４１は、ＭＢＵＳ１６にアドレス、コマンド、そしてライトアクセスの場合にはライトデータなどを出力する。（４）このときＭＢＵＳ１６に出力されるアクセスアドレスはＳＴＣＮＴ４３にとってバス間転送を要するアドレスエリアのアドレスとされている。ＳＴＣＮＴ４３はアクセスアドレスをデコードし、アクセスアドレスがバス間転送を要するアクセスアドレスであることを判別すると、ＩＢＣ１３にＩＢＵＳ１５上のバス権を要求する。（５）これに応答してＩＢＣ１３は、他のバス権要求があればそれとの調停を行って、ＳＴＣＮＴ４３にバス使用許可信号（バスアクノレッジ信号）を出力し、（６）これによってバス使用許可を受けたＳＴＣＮＴ４３は、ＩＢＵＳ１５に前記アドレス、コマンド、そしてライトアクセスの場合にはライトデータなどを出力してアクセス要求の転送を完了する。リードアクセスの場合にはアクセス対象から返されるリードデータを受け取る。
【００４７】
《外部バスアクセスモード》
前記ＩＢＵＳ１５及びＭＢＵＳ１６は各々３２ビット幅のデータバスを有している。アドレスバス及びコントロールバスのビット数についてはここでは着目していない。ＥＸＩＢＵＳ３１及びＥＸＭＢＵＳ３２は各々１６ビット幅のデータバスを有している。外部端子数の制約により内部バスに比べて少ないビット数とされる。この条件下で、マイクロコンピュータ１は外部バスアクセスモードとして１６ビットデータアクセスモード（１６ビットバスモード）と３２ビットデータアクセスモード（３２ビットバスモード）を切り換え可能に有している。１６ビットバスモードではＩＢＳＣ５がＥＸＩＢＵＳ３１を制御し、ＭＢＳＣ２４がＥＸＭＢＵＳ３２を制御する。各々のメモリコントローラ５，２４が独立に動作し、対応するバス３１，３２上で各々１６ビット幅のデータアクセスが可能にされる。３２ビットバスモードでは、ＭＢＳＣ２４がＥＸＩＢＵＳ３１とＥＸＭＢＵＳ３２を制御し、ＥＸＩＢＵＳ３１とＥＸＭＢＵＳ３２のデータバス幅を合わせた３２ビットのデータ幅を単位に外部メモリ３５，３６の並列アクセスを可能にする。
【００４８】
外部バスアクセスモードはＢＢＲＥＧ４４の設定値によって決定される。リセット時の初期状態では１６ビットバスモードが指定される。その後、ＣＰＵのアクセスによって１６ビットバスモードと３２ビットバスモードを任意に設定することができる。ＰＡＤ３７は１６ビットバスモードに呼応してＩＢＳＣ５との接続（第１接続状態）を選択し、３２ビットバスモードに呼応してＭＢＳＣ２４との接続（第２接続状態）を選択する。ＩＢＵＳ１５とＭＢＵＳ１６との間のＦＴＣＮＴ４２によるバス間転送を要する第１のアドレスエリアと、ＩＢＵＳ１５とＭＢＵＳ１６との間のＳＴＣＮＴ４３によるバス間転送を要する第２のアドレスエリアとは夫々リセット時に初期設定される。３２ビットバスモードが選択されると、外部バスＥＸＩＢＵＳ３１に割当てられるアドレスエリアが前記第１のアドレスエリアに組み込まれると共に、外部バスＥＸＩＢＵＳ３１に割当てられるアドレスエリアが前記第２のアドレスエリアから除外される。これに呼応してＭＢＳＣ２４には外部バスアクセス対象として前記外部バスＥＸＩＢＵＳ３１に割当てられるアドレスエリアが追加される。これにより、ＥＸＩＢＵＳ３１に対する全てのアクセスはＭＢＳＣ２４経由で行なわれることになる。ＭＢＳＣ２４はＳＤＲＡＭ３５，３６のマッピングアドレスに対してアクセスデータサイズを１６ビットにするか、３２ビットにするかを指定するコントロールレジスタ（ＢＣＲＥＧ）３９を有している。ここでは、そのコントロールレジスタ３９は例えばＣＰＵで操作されるようになっており、３２ビットバスモードの設定に連動して自動更新されない。したがって、ＣＰＵが３２ビットバスモードを指定したとき、ＳＤＲＡＭ３５，３６を３２ビットデータサイズでアクセスする場合にはＭＢＳＣ２４のコントロールレジスタに対する設定変更を行なうことが必要になる。したがって、３２ビットバスモードを選択した場合でも、ＳＤＲＡＭ３５，３６に対しては３２ビットデータサイズアクセスと１６ビットデータサイズアクセスを切り換えることが可能とされる。
【００４９】
図３にはマイクロコンピュータのバスアクセスモードとその切り換えフローが示される。
ＭＣＵ１がパワーオンリセットされてＣＰＵの命令実行が起動されると（Ｓ１）、リセット処理ルーチン等によってＢＢＲＥＧ４４等に対するレジスタ値の初期設定、アドレスエリアの初期設定などが行なわれる（Ｓ２）。この状態で、ＭＣＵ１の外部アクセスモードは１６ビットバスモードとされ、ＳＤＲＡＭ３５，３６に対するアクセスデータサイズは１６ビットとされる。この後のＣＰＵによるプログラム実行処理で、ＢＢＲＥＧ４４の値が書きかえられると（Ｓ３）、ＭＣＵ１の外部アクセスモードは３２ビットに変更される。この後、ＭＢＳＣ２４のコントロールレジスタ（ＢＣＲＥＧ）３９の値が変更されることによって（Ｓ４）、ＳＤＲＡＭ３５，３６に対するアクセスデータサイズが３２ビットにされる。その後、ＢＢＲＥＧ４４の値が初期値に戻されることにより（Ｓ５）、ＭＣＵ１は１６ビットバスモードに変更され、ＭＢＳＣ２４のコントロールレジスタ（ＢＣＲＥＧ）３９の値も自動的に初期値に戻され、ＳＤＲＡＭ３５，３６に対するアクセスデータサイズは１６ビットにされる。
【００５０】
図４には１６ビットバスモードにおいてＩＢＭＳＴ４０から非同期メモリ３４をアクセスするときのアクセス経路が例示される。
【００５１】
図５には１６ビットバスモードにおいてＩＢＭＳＴ４０からＦＴＣＮＴ４２経由でＳＤＲＡＭ３６をアクセスするときのアクセス経路が例示される。
【００５２】
図６には１６ビットバスモードにおいてＭＢＭＳＴ４１からＳＴＣＮＴ４３経由で非同期メモリ３４をアクセスするときのアクセス経路が例示される。
【００５３】
図７には１６ビットバスモードにおいてＭＢＭＳＴ４１からＳＤＲＡＭ３６をアクセスするときのアクセス経路が例示される。
【００５４】
図８には３２ビットバスモードにおいてＩＢＭＳＴ４０からＦＴＣＮＴ４２経由で非同期メモリ３４をアクセスするときのアクセス経路が例示される。非同期メモリ３４に対するアクセスデータサイズは１６ビットである。
【００５５】
図９には３２ビットバスモードにおいてＩＢＭＳＴ４０からＦＴＣＮＴ４２経由でＳＤＲＡＭ３５、３６を並列アクセスするときのアクセス経路が例示される。ＳＤＲＡＭ３５、３６に対するアクセスデータサイズは３２ビットである。
【００５６】
図１０には３２ビットバスモードにおいてＭＢＭＳＴ４１から非同期メモリ３４をアクセスするときのアクセス経路が例示される。非同期メモリ３４に対するアクセスデータサイズは１６ビットである。
【００５７】
図１１には３２ビットバスモードにおいてＭＢＭＳＴ４１からＳＤＲＡＭ３５、３６を並列アクセスするときのアクセス経路が例示される。ＳＤＲＡＭ３５、３６に対するアクセスデータサイズは３２ビットである。
【００５８】
《内部バス間のアクセス競合回避》
図１２にはＩＢＢ２とＭＢＵＳ１６との接続形態が具体的に示される。ＩＢＢ２は前述の通りＦＴＣＮＴ４２とＳＴＣＮＴ４３を有する。
【００５９】
ＦＴＣＮＴ４２はＩＢＭＳＴ４０からＭＢＵＳ１６のバススレーブ（ＭＢＳＬＶ）４６へアクセス要求等を転送する回路であり、アドレスデコーダ（ＦＡＤＥＣ）４２Ａ、コマンドデコーダ（ＦＣＤＥＣ）４２Ｂ、データバッファ（ＦＤＢＵＦ）４２Ｃ及び転送制御ロジック（ＦＴＬＧＣ）４２Ｄを有する。ＦＴＣＮＴ４３はＭＢＵＳ１６のバススマスタポートとして、また、ＩＢＵＳ１５のバススレーブポートとして機能する。ＦＴＣＮＴ４２はＭＢＣ２８にバスリクエスト信号ＢＲＥＱｉを出力し、ＭＢＣ２８からバスアクノリッジ信号ＢＡＣＫｉを受取る。ＢＲＥＱｍはＭＢＭＳＴ４１から出力されるバスリクエスト信号を総称し、ＢＡＣＫｍはＭＢＣ２８からＭＢＭＳＴ４１に供給されるバスアクノリッジ信号を総称する。
【００６０】
ＳＴＣＮＴ４３はMＢＭＳＴ４１からＩＢＵＳ１５のバススレーブへアクセス要求等を転送する回路であり、アドレスデコーダ（ＳＡＤＥＣ）４３Ａ、コマンドデコーダ（ＳＣＤＥＣ）４３Ｂ、データバッファ（ＳＤＢＵＦ）４３Ｃ及び転送制御ロジック（ＳＴＬＧＣ）４３Ｄを有する。ＳＴＣＮＴ４３はＭＢＵＳ１６のバススレーブポートとして、また、ＩＢＵＳ１５のバスマスタポートとして機能する。特に図示はしないが、ＳＴＣＮＴ４３はバスインタフェース（ＩＢＩＦ）４５を介してＩＢＣ１３にバスリクエスト信号を出力し、それに応答されるバスアクノリッジ信号をＩＢＣ１３から受取る。
【００６１】
前記ＭＢＵＳ１６は、ＦＴＣＮＴ４２に接続される第１の分割バス１６Ａと、ＭＢＭＳＴ４１とＳＴＣＮＴ４３を接続する第２の分割バス１６Ｂと、ＭＢＵＳ１６のバススレーブ（ＭＢＳＬＶ）４６に接続する第３の分割バス１６Ｃと、前記第１の分割バス１６Ａ又は前記第２の分割バス１６Ｂの何れか一方を選択的に前記第３の分割バス１６Ｃに接続する分割バス接続選択回路４７とを有する。図１２に従えば、ＭＢＭＳＴ４１の各アクセスポートは専用線でセレクタ４８に接続され、セレクタ４８で選択された一つのアクセスポートが第２の分割バス１６Ｂに接続される。セレクタ４８で選択されるアクセスポートはバスアクノリッジ信号ＢＡＱＣＫｍによってバス権が承認されたバスマスタ４１のアクセスポートに対応され、その選択制御はＭＢＣ２８が制御信号４９によって行なう。同様にＭＢＳＬＶ４６の各アクセスポートは専用線でセレクタ５０に接続され、セレクタ５０で選択された一つのアクセスポートが第３の分割バス１６Ｃに接続される。ＭＢＣ２８は前記分割バス１６Ｂに供給されるアクセスアドレス及び前記分割バス１６Ａに供給されるアクセスアドレスを入力してアドレスデコードを行い、アクセスされるＭＢＳＬＶ４６のスレーブポートを把握する。これに基づいてＭＢＣ２８は制御信号５１でセレクタ５０の選択制御を行ない、アクセスされるＭＢＳＬＶ４６のスレーブポートを第３の分割バス１６Ｃに接続する。
【００６２】
分割バス接続選択回路４７はＭＢＣ２８から出力される選択信号５２によって選択制御される。ＭＢＣ２８はバスアクノリッジ信号ＢＡＣＫｉによりＦＴＣＮＴ４２側からのバスアクセス要求に対してバスアクノリッジを与えたときは第１の分割バス１６Ａを選択し、また、バスアクノリッジ信号ＢＡＣＫｍによりＭＢＭＳＴ４１側からのバスアクセス要求に対してバスアクノリッジを与えたときは第２の分割バス１６Ｂを選択する。また、ＦＴＣＮＴ４２側からの信号ＢＲＥＱｉによるバスアクセス権要求と、ＭＢＭＳＴ４１からの信号ＢＲＥＱｍによるバス権要求が競合したときは、特に制限されないが、信号ＢＲＥＱｉによるバスアクセス要求を優先させ、信号ＢＡＣＫｉによりＦＴＣＮＴ４２側にバス権承認を与え、制御信号５２にて分割バス接続選択回路４７で第１の分割バス１６Ａを第３の分割バス１６Ｃ経由でＭＢＳＬＶ４６に接続する。
【００６３】
上記構成により、ＩＢＵＳ１５側からＦＴＣＮＴ４２を介するＭＢＳＬＶ４６に対するアクセス要求（ＢＲＥＱｉ）と、ＭＢＭＳＴ４１から信号ＢＲＥＱｍによるアクセス要求とが競合する状態が発生したとき、双方のアクセス要求の伝達経路を第１の分割バス１６Ａによる第１経路と第２の分割バス１６Ｂによる第２経路とによって分離することが可能になり、アルゴリズム上、ＢＲＥＱｉによるアクセス要求を優先させることにより、他方のアクセス要求ＢＲＥＱｍとの衝突を回避することができ、バス間でアクセス要求が競合してもデッドロックを生じない。ＢＲＥＱｉによるアクセス要求を優先させることにより、プロセッサコアは画像処理モジュールによる処理に優先して、画像処理用制御データの設定や書換えが可能になる。
【００６４】
図１３にはバスブリッジ回路２を介するＩＢＵＳ１５とＭＢＵＳ１６との間のリード動作タイミングが例示され、図１４には同じくライト動作タイミングが示される。両方の図においてＩＢＳＣの記載はＩＢＳＣ５を用いる外部バスアクセスを意味し、ＭＢＳＣの記載はＭＢＳＣ２４を用いる外部バスアクセスを意味する。
【００６５】
ＩＢＭＳＴ４０からＭＢＳＬＶ４６へのアクセス要求が発生したとき、バスブリッジ回路２は、ＭＢＳＬＶ４６へのアクセス要求がＩＢＵＳ１５に出力されると、ＭＢＵＳ１６に対するバスリクエスト信号ＢＲＥＱｉをアサートし、バスアクノリッジ信号ＢＡＣＫｉにてバス権を得た後、ＭＢＵＳ１６へアクセスアドレスやアクセスコマンドなどを転送する動作を開始する。リードアクセスの場合には、図１３のように、時刻ｔ０から始ったＩＢＵＳ１５上でのリードアクセスは、リードデータがＩＢＵＳ１５へ返される時刻ｔ３まで維持されなければならない。この間、ＩＢＵＳ１５はそのリードアクセスによって占有されつづける。ライトアクセスの場合には、バスブリッジ回路２はライトデータを一時的に保持することができるデータバッファ４２Ｃ，４３Ｃを備えているから、ＩＢＵＳ１５上でのライトアクセスは、ＭＢＵＳ１６上でのライト動作が完了する時刻ｔ３を待つ必要はない。従って、時刻ｔ３のＭＢＵＳ１６上でのライト動作の完了を待たずに、ＩＢＵＳ１５上では時刻ｔ１から次のアクセスを開始することが可能になる。
【００６６】
図１５にはＩＢＭＳＴ４０からＭＢＳＬＶ４６側への第１のリードアクセス要求と、ＭＢＭＳＴ２８からＩバスのバススレーブ側への第２のリードアクセス要求が競合したときの動作タイミングが示される。ＩＢＭＳＴ４０からＭＢＳＬＶ４６側への第１のリードアクセス要求によりＩＢＵＳ１５にはリードアクセスアドレス及びリードアクセスコマンドなどが転送される。ＭＢＭＳＴ２８からＩＢＵＳ１５のバススレーブ側への第２のリードアクセス要求によりＭＢＵＳ１６の第２分離バス１６Ｂにはリードアクセスアドレス及びリードアクセスコマンドなどが転送される。前者の第１のリードアクセス要求に係るアクセスアドレス等のアクセス制御情報はバス１６Ｂとは分離されたバス１６Ａに転送され、前者の第１のリードアクセス要求が優先されて処理されても、第２分離バス１６Ｂのリードアクセスアドレス等のアクセス制御情報とは衝突しない。第１のリードアクセス要求に応答するリードデータが分離バス１６Ａを経由してＩＢＵＳ１５に転送されると（ｔｊ）、その後、第２のリードアクセス要求に係るリードアクセスがＩＢＵＳ１５で行なわれ、そのリードデータがＭＢＵＳ１６の分離バス１６Ｂに転送されて、第２のリードアクセス要求に応答するリード動作が完了される（ｔｋ）。したがって、第１のリードアクセス要求と第２のリードアクセス要求に代表されるように、ＩＢＵＳ１５からのアクセス要求とＭＢＵＳ１６からのアクセス要求が競合しても、デッドロックに落ちること無く正常に処理される。
【００６７】
図１６にはＭＢＵＳ１６もＩＢＵＳ１５同様に共通バスと仮定したときのアクセス競合状態を示す。ＩＢＵＳ側での第１のリードアクセスによるバス占有と、ＭＢＵＳ側での第１のリードアクセスによるバス占有とが生じた場合、双方のバスは各々共通バスであるから、双方のアクセス要求に係るアクセス制御情報の衝突を避けることができず、そのままの状態ではデッドロックを生ずる。これを回避するのには何れか一方のバスアクセス要求を徹回し無ければならず、データアクセスが遅延し、しかもデータエラー或いはリトライなどの例外的な後処理が必要になって、処理が複雑になる。
【００６８】
次に、上記バス構成を有する図１のマイクロコンピュータを用いた音声処理及び画像処理の具体例について説明する。
【００６９】
図１７には１６ビットバスモードで動画再生及び音声再生を行う場合の動作例が示される。動画処理（再生）について説明する。動画処理に用いられる動画データは例えば、ビデオインタフェース２２に接続されたＣＣＤカメラ（ＣＭＲ）２７又は、それ以外のインタフェース回路より取り込まれ、ＳＤＲＡＭ３６へ格納される。ＳＤＲＡＭ３６に格納されたデータをＶＰＵ２０が取り込む（Ｐ１）。ＶＰＵ２０は取り込んだデータをデコードし、デコード結果をＳＤＲＡＭ３６へ格納する（Ｐ２）。次に、ＳＤＲＡＭ３６から前記ＶＰＵ２０によるデコード結果をＶＩＯ２２が取り込み、画像の回転処理、フィルタ処理等を行う（Ｐ３）。処理されたデータはＳＤＲＡＭ３６に格納される（Ｐ４）。Ｐ４で格納されたデータをＬＣＤＩＦ２３が読み込んでＬＣＤＰＮＬ２６へ出力する（Ｐ５）。音声処理（再生）について説明する音声処理に用いられる音声データは、例えばＡＤＣ１２又はそれ以外の音声データ取り込み可能なインタフェース回路より取り込まれ、非同期メモリ３４へ格納される。ＰＣＯＲ３が音声データを非同期メモリ３４から読み出す（Ｑ１）。ＰＣＯＲ３は読み込んだ音声データをＵＲＡＭ２５に展開する（Ｑ２）。ＰＣＯＲ３は展開された音声データをディジタル信号処理する（Ｑ３）。処理結果をＳＩＵ８に送って、ＡＤＣ・ＤＡＣ１２を介して音声を再生する（Ｑ４）。
【００７０】
図１８には１６ビットバスモードで動画再生及び音声再生を行う場合の別の動作例が示される。動画処理（再生）について説明する。ＣＭＲ２７から画像データをキャプチャする（Ｐ１）。キャプチャしたデータをＳＤＲＡＭ３６に格納する（Ｐ２）。ＶＩＯ２２がＰ２で格納されたデータを取り込み、画像の回転処理、フィルタ処理等を行う（Ｐ３）。処理を加えたデータをＳＤＲＡＭ３６に格納する（Ｐ４）。Ｐ４で格納されたデータをＶＰＵ２０が読み込み、例えばＭＰＥＧ４のエンコード処理を行う（Ｐ５）。エンコード処理されたデータをＳＤＲＡＭ３６に格納する（Ｐ６）。音声処理（再生）について説明する。ＳＩＵ８から音声データを読み込む（Ｑ１）。読み込んだ音声データをＵＲＡＭ２５に展開する（Ｑ２）。ＰＣＯＲ３が展開されたデータの演算処理を行なう（Ｑ３）。演算処理結果を非同期メモリ３４に格納する（Ｑ４）。
【００７１】
図１９には３２ビットバスモードで動画再生及び音声再生を行う場合の別の動作例が示される。動画処理（再生）について説明する。ＳＤＲＡＭ３５、３６に格納されたデータをＶＰＵ２０が３２ビット幅で取り込む（Ｐ１）。ＶＰＵ２０は取り込んだデータをデコードし、デコード結果を３２ビット幅でＳＤＲＡＭ３５、３６へ格納する（Ｐ２）。次に、ＳＤＲＡＭ３５、３６から前記ＶＰＵ２０によるデコード結果をＶＩＯ２２が取り込み、画像の回転処理、フィルタ処理等を行う（Ｐ３）。処理されたデータはＳＤＲＡＭ３５、３６に３２ビット幅で格納される（Ｐ４）。Ｐ４で格納されたデータをＳＤＲＡＭ３５，３６から３２ビット幅でＬＣＤＩＦ２３が読み込んでＬＣＤＰＮＬ２６へ出力する（Ｐ５）。音声処理（再生）について説明する。ＰＣＯＲ３が音声データを非同期メモリ３４から読み出す（Ｑ１）。ＰＣＯＲ３は読み込んだ音声データをＵＲＡＭ２５に展開する（Ｑ２）。ＰＣＯＲ３は展開された音声データをディジタル信号処理する（Ｑ３）。処理結果をＳＩＵ８に送って、ＡＤＣ・ＤＡＣ１２を介して音声を再生する（Ｑ４）。
【００７２】
図２０には３２ビットバスモードで動画再生及び音声再生を行う場合の別の動作例が示される。動画処理（再生）について説明する。ＣＭＲ２７から画像データをキャプチャする（Ｐ１）。キャプチャしたデータをＳＤＲＡＭ３５、３６に３２ビット幅で格納する（Ｐ２）。ＶＩＯ２２がＰ２で格納されたデータをＳＤＲＡＭ３５，３６から取り込み、画像の回転処理、フィルタ処理等を行う（Ｐ３）。処理を加えたデータをＳＤＲＡＭ３５、３６に３２ビット幅で格納する（Ｐ４）。Ｐ４で格納されたデータをＳＤＲＡＭ３５，３６から並列にＶＰＵ２０が読み込み、例えばＭＰＥＧ４のエンコード処理を行う（Ｐ５）。エンコード処理されたデータをＳＤＲＡＭ３５、３６に並列に格納する（Ｐ６）。音声処理（再生）について説明する。ＳＩＵ８から音声データを読み込む（Ｑ１）。読み込んだ音声データをＵＲＡＭ２５に展開する（Ｑ２）。ＰＣＯＲ３が展開されたデータの演算処理を行なう（Ｑ３）。演算処理結果を非同期メモリ３４に格納する（Ｑ４）。
【００７３】
図１７及び図１８の画像処理ではＳＤＲＡＭ３６を１６ビット並列データ単位でアクセスするが、図１９及び図２０の画像処理ではＳＤＲＡＭ３５，３６を３２ビット並列データ単位で並列アクセスする。大量の画像データを処理する場合に画像処理時間に格段の差を生ずる。図１７乃至図２０における画像処理と音声処理は並列処理可能である。但し３２ビットバスモードでは画像処理の為のメモリアクセスが高効率化されるが画像処理と音声処理のメモリアクセスは完全並列にならない。
【００７４】
以上説明したマイクロコンピュータによれば、ＰＣＯＲ３によるＣＰＵ処理とＶＰＵ２０及び３ＤＧ２１などによる画像処理を並列に実行することができる。ＭＢＵＳ１６を画像処理専用バスとして使用可能なため、バス性能が向上する。３２ビットバスモードにより、画像処理のためのＳＤＲＡＭアクセスによるバス負荷を大凡半減させることが可能である。ＣＰＵ処理を重視する場合は１６ビットバスモードを選択し、画像処理重視の場合は３２ビットバスモードを選択するのがよい。ＢＢＲＥＧ４４のレジスタ操作により、データ処理内容にあわせて、バスモードをダイナミックに変更することが可能である。マイクロコンピュータ１のユーザの用途に合わせて、メモリ空間の最適な割り当てを選択することが可能になる。画像処理時のバス負荷の低減により、画像のフレームレートが向上し、大画面処理の容易化に資することができる。ＣＰＵによる音声処理と画像処理モジュールによる画像処理との並列処理が要求されるような用途、例えば携帯電話機における動画撮影モード時におけるデータ処理効率を向上させることができる。
【００７５】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００７６】
例えば、バスブリッジ回路を挟んで接続されるバスのバスマスタ及びバススレーブは上記ＣＰＵや画像処理モジュールなどに限定されず適宜変更することが可能である。また、外部メモリはＳＤＲＡＭに限定されず、シンクロナスＳＲＡＭ等のクロック同期型メモリであっても、更にクロック非同期メモリであってもよい。また、ＳＤＲＡＭはシングルデータレートのメモリであってもダブルデータレート、またそれとは異なるデータレートのクロック同期型メモリであってもよい。また、上記の例では３２ビットバスモードを設定した後、メモリコントローラのレジスタ設定を行なうことによって複数のＳＤＲＡＭの並列３２ビットアクセスが指示される構成としたが、３２ビットバスモードを設定すれば、複数のＳＤＲＡＭの並列３２ビットアクセスが自動的に指示される構成にしてもよい。
【図面の簡単な説明】
【００７７】
【図１】本発明の一例に係るマイクロコンピュータのブロック図である。
【図２】図１のマイクロコンピュータにおけるバスブリッジ回路とＰＡＤの構成に着目したバス構成を示すブロック図である。
【図３】マイクロコンピュータのバスアクセスモードとその切り換えフローを示すフローチャートである。
【図４】１６ビットバスモードにおいてＩＢＭＳＴから非同期メモリをアクセスするときのアクセス経路を例示するブロック図である。
【図５】１６ビットバスモードにおいてＩＢＭＳＴからＦＴＣＮＴ経由でＳＤＲＡＭをアクセスするときのアクセス経路を例示するブロック図である。
【図６】１６ビットバスモードにおいてＭＢＭＳＴからＳＴＣＮＴ経由で非同期メモリをアクセスするときのアクセス経路を例示するブロック図である。
【図７】１６ビットバスモードにおいてＭＢＭＳＴからＳＤＲＡＭをアクセスするときのアクセス経路を例示するブロック図である。
【図８】３２ビットバスモードにおいてＩＢＭＳＴからＦＴＣＮＴ経由で非同期メモリをアクセスするときのアクセス経路を例示するブロック図である。
【図９】３２ビットバスモードにおいてＩＢＭＳＴからＦＴＣＮＴ経由でＳＤＲＡＭを並列アクセスするときのアクセス経路を例示するブロック図である。
【図１０】３２ビットバスモードにおいてＭＢＭＳＴから非同期メモリをアクセスするときのアクセス経路を例示するブロック図である。
【図１１】３２ビットバスモードにおいてＭＢＭＳＴからＳＤＲＡＭを並列アクセスするときのアクセス経路を例示するブロック図である。
【図１２】ＩＢＢとＭＢＵＳとの接続形態を具体的に示すブロック図である。
【図１３】バスブリッジ回路を介するＩＢＵＳとＭＢＵＳとの間のリード動作タイミングを例示するタイミングチャートである。
【図１４】バスブリッジ回路を介するＩＢＵＳとＭＢＵＳとの間のライト動作タイミングを例示するタイミングチャートである。
【図１５】ＩＢＭＳＴからＭＢＳＬＶ側への第１のリードアクセス要求と、ＭＢＭＳＴからＩバスのバススレーブ側への第２のリードアクセス要求が競合したときの動作タイミングを示すタイミングチャートである。
【図１６】ＭＢＵＳもＩＢＵＳ同様に共通バスと仮定したときのアクセス競合状態を示すタイミングチャートである。Ｉ
【図１７】１６ビットバスモードで動画再生及び音声再生を行う場合の動作例を示すブロック図である。
【図１８】１６ビットバスモードで動画再生及び音声再生を行う場合の別の動作例を示すブロック図である。
【図１９】３２ビットバスモードで動画再生及び音声再生を行う場合の動作例を示すブロック図である。
【図２０】３２ビットバスモードで動画再生及び音声再生を行う場合の別の動作例を示すブロック図である。
【符号の説明】
【００７８】
１  マイクロコンピュータ
２  バスブリッジ回路
３  プロセッサコア
４  ダイレクトメモリアクセスコントローラ
５  外部メモリコントローラ
１３  バスアービタ
１５  内部バス
１６  メディアバス
１６Ａ  第１の分割バス
１６Ｂ  第２の分割バス
１６Ｃ  第３の分割バス
２０  ビデオプロセッシングユニット
２１  ３Ｄグラフィックアクセラレータ
２２  ビデオインタフェース
２４  外部メモリコントローラ
２８  バスアービタ
３１  第１の外部バス
３２  第２の外部バス
３５、３６  ＳＤＲＡＭ
３７  外部バス接続選択回路
３８  外部バス接続選択回路の選択信号
４０  ＩＢＵＳのバスマスタ
４１  ＭＢＵＳのバスマスタ
４２  第１の転送制御部
４３  第２の転送制御部
４４  バスブリッジ制御レジスタ
４６  ＭＢＵＳのバススレーブ
４７  分割バス接続選択回路
ＢＲＥＱｉ，ＢＲＥＱｍ  バスリクエスト信号
ＢＡＣＫｉ，ＢＡＣＫｍ  バスアクノリッジ信号
【図１】
2005346513.tif 000003
【図２】
2005346513.tif 000004
【図３】
2005346513.tif 000005
【図４】
2005346513.tif 000006
【図５】
2005346513.tif 000007
【図６】
2005346513.tif 000008
【図７】
2005346513.tif 000009
【図８】
2005346513.tif 000010
【図９】
2005346513.tif 000011
【図１０】
2005346513.tif 000012
【図１１】
2005346513.tif 000013
【図１２】
2005346513.tif 000014
【図１３】
2005346513.tif 000015
【図１４】
2005346513.tif 000016
【図１５】
2005346513.tif 000017
【図１６】
2005346513.tif 000018
【図１７】
2005346513.tif 000019
【図１８】
2005346513.tif 000020
【図１９】
2005346513.tif 000021
【図２０】
2005346513.tif 000022