(57)【要約】【課題】半導体装置に接続される別のデータプロセッサ又はデバイスからの当該半導体装置の外部メモリに対する高速なアクセスを可能とする。【解決手段】半導体装置（１）は、中央演算処理装置（１０）からの指示に基づいて内部バス（１３）を介して入力された外部メモリ（５）に対するアクセス要求と、外部インタフェース部（１６）を介して入力された外部メモリに対するアクセス要求とを調停し、メモリインタフェース部（１８）に与えるメモリ制御部（１７）を有する。メモリ制御部は、内部バスからのアクセス要求が入力されているときに外部インタフェース部からのアクセス要求が入力されたら、内部バスからのアクセス要求に応じたメモリアクセスを中断するとともに外部インタフェース部からのアクセス要求に応じたメモリアクセスを開始させ、当該メモリアクセスが完了したら、中断したアクセス要求に応じたメモリアクセスを再開させる。【選択図】図１
2014157392.tif 000002
【特許請求の範囲】
【請求項１】
中央演算処理装置と、
内部バスと、
外部装置に接続するための外部インタフェース部と、
外部メモリに接続するためのメモリインタフェース部と、
前記中央演算処理装置からの指示に基づいて前記内部バスを介して入力された前記外部メモリに対するアクセス要求と、前記外部インタフェース部を介して入力された前記外部メモリに対するアクセス要求とを調停し、前記メモリインタフェース部に与えるメモリ制御部と、を有し、
前記メモリ制御部は、前記内部バスからのアクセス要求が入力されているときに前記外部インタフェース部からのアクセス要求が入力されたら、前記内部バスからのアクセス要求に応じたメモリアクセスを中断するとともに前記外部インタフェース部からのアクセス要求に応じたメモリアクセスを開始させ、当該メモリアクセスが完了したら、中断した前記内部バスからのアクセス要求に応じたメモリアクセスを再開させる半導体装置。
【請求項２】
前記メモリ制御部は、
前記内部バスに供給された前記外部メモリに対する書き込み要求に応じて、前記メモリインタフェース部に供給するための当該書き込み要求に係るライトデータ及びアドレス情報を出力し、前記内部バスに供給された前記外部メモリに対する読み出し要求に応じて、前記メモリインタフェース部を介して入力された当該読み出し要求に係るリードデータを前記内部バスに供給するためのアクセス制御を行う第１バスコントローラと、
選択信号に応じて、前記外部インタフェース部と前記メモリインタフェース部の間のデータの送受信と、前記第１バスコントローラと前記メモリインタフェース部の間のデータの送受信とを切り替える切替回路と、
前記選択信号を生成するとともに、前記第１バスコントローラによるアクセス制御を停止させるための制御信号を生成する信号生成部とを有し、
前記信号生成部は、前記外部メモリに対するアクセス要求が前記外部インタフェース部に供給されたら、前記外部インタフェース部と前記メモリインタフェース部の間のデータの送受信を可能にする前記選択信号を出力するとともに、前記制御信号を有効にすることにより前記第１バスコントローラによる前記アクセス制御を停止させ、前記外部インタフェース部からのアクセス要求に応じたメモリアクセスが完了したら、前記第１バスコントローラと前記メモリインタフェース部の間のデータの送受信を可能にする前記選択信号を出力するとともに、前記制御信号を無効にすることにより前記第１バスコントローラによる前記アクセス制御を再開させる請求項１に記載の半導体装置。
【請求項３】
前記第１バスコントローラは、前記内部バスからのアクセス要求に係るアクセス制御の管理情報を格納するための記憶部を有し、前記制御信号が有効にされたら、前記内部バスからのアクセス要求に係るアクセス制御を停止し、前記制御信号が無効にされたら、前記記憶部に格納された前記管理情報に基づいて中断したアクセス要求に係るアクセス制御を再開する請求項２に記載の半導体装置。
【請求項４】
前記管理情報は、前記内部バスからのアクセス要求に係るデータ転送が中断したときのアドレス情報を含む請求項３に記載の半導体装置。
【請求項５】
外部装置と前記内部バスを介したデータの送受信を行うための第２バスコントローラを更に有し、
前記外部インタフェース部は、前記外部装置から入力されたアクセス要求が前記外部メモリに対するアクセス要求である場合には、そのアクセス要求に係るデータを前記切替回路に供給し、そうでない場合には、そのアクセス要求に係るデータを前記第２バスコントローラに供給する請求項４に記載の半導体装置。
【請求項６】
前記外部インタフェース部は、前記外部装置から入力されたアクセス要求に係るデータに基づいて、入力されたアクセス要求が前記外部メモリに対するアクセス要求であるか否かを判別する請求項５に記載の半導体装置。
【請求項７】
前記外部装置から入力されたアクセス要求に係るデータは、データの書き込み又は読み出し対象の記憶領域を指示するアドレス情報と、データの書き込み又は読み出しを指示するコマンド情報とを含み、
前記外部インタフェース部は、当該アドレス情報と当該コマンド情報の少なくとも１つの情報に基づいて、入力されたアクセス要求が前記外部メモリに対するアクセス要求であるか否かを判別する請求項６に記載の半導体装置。
【請求項８】
前記外部インタフェース部は、前記外部メモリに対するメモリアクセスの優先度を指示する信号に応じて、入力されたアクセス要求が前記外部メモリに対するアクセス要求であるか否かを判別する請求項５に記載の半導体装置。
【請求項９】
前記メモリ制御部は、前記内部バスから入力されたアクセス要求が前記外部インタフェース部からのアクセス要求よりも優先度が高いと判断したら、前記外部インタフェース部からのアクセス要求の入力の有無に関わらず、前記内部バスから入力されたアクセス要求によるメモリアクセスを優先させる請求項１に記載の半導体装置。
【請求項１０】
前記第１バスコントローラは、前記内部バスから入力されたアクセス要求が前記外部インタフェース部からのアクセス要求よりも優先度が高い場合には、そのことを示す通知信号を出力し、
前記信号生成部は、前記通知信号に応じて、前記第１バスコントローラと前記メモリインタフェース部の間のデータの送受信を可能にする前記選択信号を出力するとともに、前記制御信号を無効にし、
前記外部インタフェース部は、前記通知信号が出力されたら前記外部装置から入力されたアクセス要求に係るデータを前記切替回路に供給することを停止するとともに当該アクセス要求に係るデータを保持し、前記通知信号の出力が停止されたら、前記保持したアクセス要求に係るデータを前記切替回路に出力する請求項５に記載の半導体装置。
【請求項１１】
請求項１に記載の半導体装置を含んで構成される第１データプロセッサと、
前記第１データプロセッサに接続される外部メモリと、
第２データプロセッサと、
前記第１データプロセッサと前記第２データプロセッサとが共通に接続される外部バスと、を有するデータ処理システムであって、
前記第２データプロセッサは、前記外部メモリに対するアクセス要求を前記外部バスに出力することが可能にされ、
前記第１データプロセッサは、前記外部バスに出力されたアクセス要求を前記外部インタフェース部に入力することが可能にされるデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及びデータ処理システムに関し、特にマルチプロセッサのデータ処理システムに適用して有効な技術に関する。
【背景技術】
【０００２】
近年、システムの高性能化及び多機能化に伴い、複数のデータプロセッサによってデータ処理を実現するマルチプロセッサのデータ処理システムの開発が進んでいる。このようなデータ処理システムでは、例えば、Ｌｉｎｕｘ（登録商標、以下同じ）等の汎用ＯＳが動作可能なメインのデータプロセッサによってシステム全体の統括的な制御を行い、その他の特有のデータ処理をサブのデータプロセッサによって行う。ここで、汎用ＯＳに係るデータ処理は大きなメモリ容量が必要となるため、メインのデータプロセッサは内蔵ＲＡＭではなく、外付けの大容量ＲＡＭ（外部メモリ）を用いて演算処理を行う。
【０００３】
上記のようなマルチプロセッサのデータ処理システムにおいて、サブのデータプロセッサが汎用ＯＳ下における割り込み処理では対応が不十分となるような強いリアルタイム性（命令応答性）が要求される処理（例えばシステムの異常検出や音声処理、Ｉ２Ｃ、ＰＷＭ制御等）を実行する場合、サブのデータプロセッサによる演算結果をメインのデータプロセッサに速やかに通知する必要がある。一般に、メインのデータプロセッサに対する通知は、サブのデータプロセッサによる演算結果を一旦メモリに格納し、その格納された演算結果をメインのデータプロセッサが読み出すことにより行われる。複数のデータプロセッサ間でメモリを介してデータ通信を行うための従来技術として、例えば以下の方法がある。
【０００４】
第１の方法は、汎用ＯＳに係るプログラム処理を実行するマイクロプロセッシングユニット（Ｍｉｃｒｏ−Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、以下「ＭＰＵ」と称する。）と、リアルタイム処理を実行する専用のマイクロコントローラ（以下、「ＭＣＵ」と称する。）をＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）によって接続する方法である。この方法では、ＭＰＵとＭＣＵとの間のデータ通信は、ＦＰＧＡとＦＰＧＡに接続された共有メモリを介して行われる。また、データの送受信の通知に利用されるＣＰＵ間の割り込み処理は、ＦＰＧＡによる処理を介して、ＭＰＵ及びＭＣＵのピンインターフェース（例えば、ＧＰＩＯ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）やＩＲＱ（Ｉｎｔｅｒｒｕｐｔ  ＲｅＱｕｅｓｔ）等の外部端子）を用いて行われる。
【０００５】
第２の方法は、特許文献１及び２に記載されているように、２つのＣＰＵコアを１つの半導体基板上に形成したワンチップのマルチプロセッサを新たに開発する方法である。具体的には、汎用ＯＳに係るプログラム処理を実行するためのＣＰＵコアとリアルタイム処理を実行するＣＰＵコアとを共有バスによって接続したマルチコア構成のデータ処理装置を１つの半導体基板に形成する。この方法では、２つのＣＰＵコア間のデータ通信は、例えば汎用ＯＳに係る演算処理のために設けられた外部メモリ（第容量ＲＡＭ）を介して行われる。また、データの送受信の通知に利用されるＣＰＵコア間の割り込み処理は、チップ内部の割り込みコントローラによって行われる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−３００４２号公報
【特許文献２】特開平７−４４４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記第１の方法の場合、ＭＰＵとＭＣＵとの間のデータ通信を行うために新たにＭＰＵ及びＭＣＵを開発しなくても既存の製品を用いることが可能となるが、ＦＰＧＡ（およびＦＰＧＡと接続する外部メモリ）が必要となり、コストが増大する。また、ＦＰＧＡを介した接続となるため、ＭＰＵとＭＣＵの両チップ間の通信性能が低下し、ＭＣＵによる演算結果をＭＰＵに速やかに通知することができない。更に、ＦＰＧＡを含めたデバッグが必要となり、データ処理システムの開発スケジュールを圧迫する虞がある。
【０００８】
また、上記第２の方法の場合、１チップに要求される製品仕様の増大により、必要な外部ピン（ＰＡＤ）の数が増加し、チップ面積が増大する。そのため、既存の量産製品を用いて２チップでデータ処理システムを実現する場合に比べて開発コストが増大する可能性がある。
【０００９】
上記の方法の他に、本願発明者が本願に先立って検討した方法として、汎用ＯＳが動作可能なＭＰＵとリアルタイム処理を実行するＭＣＵとを、ＭＰＵ側のホストインタフェース回路を介して接続する方法がある。例えば、ＭＣＵ側からＭＰＵ側にデータの送信を行う場合、先ず、ＭＣＵ側からＭＰＵ内部のホストインタフェース回路を介してＭＰＵ内部のシステムバスにアクセスする。そして、システムバスから外部メモリ用のインタフェース回路を介して外部メモリにアクセスする。この方法では、ＭＣＵとＭＰＵを既存の量産製品を用いて実現することができるが、既存のＭＰＵは、ＭＣＵ側のアプリケーションの特性（リアルタイム性）を考慮した構成となっていないため、ＭＣＵからのアクセスは必ずしも最優先に処理されないという問題がある。
【００１０】
このような課題を解決するための手段等を以下に説明するが、その他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記のとおりである。
【００１２】
すなわち、本願の代表的な実施の形態に係る半導体装置は、中央演算処理装置からの指示に基づいて内部バスを介して入力された外部メモリに対するアクセス要求と、外部インタフェース部を介して入力された外部メモリに対するアクセス要求とを調停し、メモリインタフェース部に与えるメモリ制御部を有する。メモリ制御部は、内部バスからのアクセス要求が入力されているときに外部インタフェース部からのアクセス要求が入力されたら、内部バスからのアクセス要求に応じたメモリアクセスを中断するとともに外部インタフェース部からのアクセス要求に応じたメモリアクセスを開始させ、当該メモリアクセスが完了したら中断した内部バスからのアクセス要求に応じたメモリアクセスを再開させる。
【発明の効果】
【００１３】
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１４】
すなわち、本半導体装置によれば、本半導体装置に接続される別のデータプロセッサ又はデバイスからの当該半導体装置の外部メモリに対する高速なアクセスが可能となる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１に係るデータ処理システムを例示するブロック図である。
【図２】メモリ制御部１７の内部構成を例示するブロック図である。
【図３】実施の形態２に係るデータ処理システムを例示するブロック図である。
【図４】実施の形態３に係るデータ処理システムを例示するブロック図である。
【発明を実施するための形態】
【００１６】
１．実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１７】
〔１〕（外部装置からのメモリアクセスを優先的に処理する半導体装置）
本願の代表的な実施の形態に係る半導体装置（１、６、８）は、中央演算処理装置（１０）と、内部バス（１３）と、外部装置（２、３）に接続するための外部インタフェース部（１６、６０、８０）と、外部メモリ（５）に接続するためのメモリインタフェース部（１８）と、を有する。前記半導体装置は更に、前記中央演算処理装置からの指示に基づいて前記内部バスを介して入力された前記外部メモリに対するアクセス要求と、前記外部インタフェース部を介して入力された前記外部メモリに対するアクセス要求とを調停し、前記メモリインタフェース部に与えるメモリ制御部（１７、８７）を有する。前記メモリ制御部は、前記内部バスからのアクセス要求が入力されているときに前記外部インタフェース部からのアクセス要求が入力されたら、前記内部バスからのアクセス要求に応じたメモリアクセスを中断するとともに前記外部インタフェース部からのアクセス要求に応じたメモリアクセスを開始させる。前記メモリ制御部は更に、当該メモリアクセスが完了したら、中断した前記内部バスからのアクセス要求に応じたメモリアクセスを再開させる。
【００１８】
これによれば、本半導体装置に接続される外部メモリに対するアクセス要求が本半導体装置と外部装置とで競合した場合には、外部装置からのメモリアクセスを優先させることができる。また、前記外部装置からのアクセス要求は、前記内部バスを介さずに前記メモリインタフェース部に供給される。すなわち、本半導体装置に接続される別のデータプロセッサ又はデバイスからの当該半導体装置の外部メモリに対する高速なアクセスが可能となる。
【００１９】
〔２〕（メモリ制御部の詳細）
項１の半導体装置において、前記メモリ制御部は、第１バスコントローラ（１７０、８７０）と、切替回路（１７２）と、信号生成部（１７１、８７１）とを有する。前記第１バスコントローラは、前記内部バスに供給された前記外部メモリに対する書き込み要求に応じて、前記メモリインタフェース部に供給するための当該書き込み要求に係るライトデータ及びアドレス情報を出力するためのアクセス制御を行う。また、前記第１バスコントローラは、内部バスに供給された前記外部メモリに対する読み出し要求に応じて前記メモリインタフェース部を介して入力された当該読み出し要求に係るリードデータを前記内部バスに供給するためのアクセス制御を行う。前記切替回路は、選択信号（ＳＥＬ）に応じて、前記外部インタフェース部と前記メモリインタフェース部の間のデータの送受信と、前記第１バスコントローラと前記メモリインタフェース部の間のデータの送受信とを切り替える。前記信号生成部は、前記選択信号を生成するとともに、前記第１バスコントローラによるアクセス制御を停止させるための制御信号（ＣＮＴＬ）を生成する。前記信号生成部は、前記外部メモリに対するアクセス要求が前記外部インタフェース部に供給されたら、前記外部インタフェース部と前記メモリインタフェース部の間のデータの送受信を可能にする前記選択信号を出力するとともに、前記制御信号を有効にすることにより前記第１バスコントローラによる前記アクセス制御を停止させる。また、前記信号生成部は、前記外部インタフェース部からのアクセス要求に応じたメモリアクセスが完了したら、前記第１バスコントローラと前記メモリインタフェース部の間のデータの送受信を可能にする前記選択信号を出力するとともに、前記制御信号を無効にすることにより前記第１バスコントローラによる前記アクセス制御を再開させる。
【００２０】
これによれば、外部装置からのアクセス要求と内部バスからのアクセス要求の切り替えの制御と、前記第１バスコントローラによるアクセス制御の停止と再開の制御を容易に実現することができる。
【００２１】
〔３〕（バスコントローラの詳細）
項２の半導体装置において、第１バスコントローラは、前記内部バスからのアクセス要求に係るアクセス制御の管理情報を格納するための記憶部（１７０４）を有し、前記制御信号が有効にされたら内部バスからのアクセス要求に係るアクセス制御を停止し、前記制御信号が無効にされたら前記記憶部に格納された前記管理情報に基づいて中断したアクセス要求に係るアクセス制御を再開する。
【００２２】
これによれば、前記外部装置からのメモリアクセスによって中断された前記内部バスからのメモリアクセスを再開するための制御が容易となる。
【００２３】
〔４〕（処理復帰のための管理情報：アドレス情報）
項３の半導体装置において、前記管理情報は、前記内部バスからのアクセス要求に係るデータ転送が中断したときのアドレス情報を含む。
【００２４】
これによれば、前記内部バスからのアクセス要求が例えばバーストモードの転送要求であった場合に、中断したポイントからのデータ転送の復帰が容易となる。
【００２５】
〔５〕（外部インタフェース部：出力先の選択）
項２乃至４の何れかの半導体装置は、外部装置と前記内部バスを介したデータの送受信を行うための第２バスコントローラ（１５）を更に有する。前記外部インタフェース部は、前記外部装置から入力されたアクセス要求が前記外部メモリに対するアクセス要求である場合には、そのアクセス要求に係るデータを前記切替回路に供給し、そうでない場合には、そのアクセス要求に係るデータを前記第２バスコントローラに供給する。
【００２６】
これによれば、外部装置が、本半導体装置の外部インタフェース部を介して前記外部メモリ以外の内部バスに接続される機能部とデータの送受信を行うことが可能となる。
【００２７】
〔６〕（アクセス要求に係る入力データに基づくリアルタイム性の判別）
項５の半導体装置において、前記外部インタフェース部は、前記外部装置から入力されたアクセス要求に係るデータに基づいて、入力されたアクセス要求が前記外部メモリに対するアクセス要求であるか否かを判別する。
【００２８】
これによれば、外部装置からメモリアクセスの優先度を指示する信号を送信したり、その信号を受ける専用線や外部端子等を設けたりすることなく、前記外部メモリに対するアクセス要求であるか否かの判別を行うことができる。
【００２９】
〔７〕（アドレス情報／コマンド信号に基づいてリアルタイム性を判別）
項６の半導体装置において、前記外部装置から入力されたアクセス要求に係るデータは、データの書き込み又は読み出し対象の記憶領域を指示するアドレス情報と、データの書き込み又は読み出しを指示するコマンド情報とを含む。前記外部インタフェース部は、当該アドレス情報と当該コマンド情報の少なくとも１つの情報に基づいて、入力されたアクセス要求が前記外部メモリに対するアクセス要求であるか否かを判別する。
【００３０】
これによれば、前記外部メモリに対するアクセス要求であるか否かの判別を容易に行うことができる。
【００３１】
〔８〕（専用線でリアルタイム性を判断）
項５の半導体装置（６）において、前記外部インタフェース部（６０）は、前記外部メモリに対するメモリアクセスの優先度を指示する信号（ＳＰＲ）に応じて、入力されたアクセス要求が前記外部メモリに対するアクセス要求であるか否かを判別する。
【００３２】
これによれば、外部インタフェース部における上記判別のための回路構成を簡素化することができる。
【００３３】
〔９〕（優先度の切り替え）
項１乃至８の何れかの半導体装置（８）において、前記メモリ制御部（８７）は、前記内部バスから入力されたアクセス要求が前記外部インタフェース部からのアクセス要求よりも優先度が高いと判断したら、前記外部インタフェース部からのアクセス要求の入力の有無に関わらず、前記内部バスから入力されたアクセス要求によるメモリアクセスを優先させる。
【００３４】
これによれば、例えば本半導体装置における中央演算処理装置が特権モード（例えばカーネルモードやスーパーバイザーモード等）等の通常とは異なるプログラム処理を行う場合に、外部装置からのアクセス要求よりも前記中央演算処理装置からのアクセス要求を優先させて処理することが可能となる。
【００３５】
〔１０〕（優先度の切り替え；外部装置からのアクセス要求を保持する）
項５乃至９の何れかの半導体装置において、前記第１バスコントローラ（８７０）は、前記内部バスから入力されたアクセス要求が前記外部インタフェース部からのアクセス要求よりも優先度が高い場合には、そのことを示す通知信号（ＰＲＴ）を出力する。前記信号生成部は、前記通知信号に応じて、前記第１バスコントローラと前記メモリインタフェース部の間のデータの送受信を可能にする前記選択信号を出力するとともに、前記制御信号を無効にする。前記外部インタフェース部（８０）は、前記通知信号が出力されたら前記外部装置から入力されたアクセス要求に係るデータを前記切替回路に供給することを停止するとともに当該アクセス要求に係るデータを保持し、前記通知信号の出力が停止されたら、前記保持したアクセス要求に係るデータを前記切替回路に出力する。
【００３６】
これによれば、外部装置からのアクセス要求よりも本半導体装置によるアクセス要求を優先させて処理するための制御を容易に実現することができる。
【００３７】
〔１１〕（マルチプロセッサ構成のデータ処理システム）
本願の代表的な実施の形態に係るデータ処理システム（１００、２００、３００）は、項１乃至１０の何れかに記載の半導体装置を含んで構成される第１データプロセッサ（１、６、８）と、第１データプロセッサに接続される外部メモリ（５）と、第２データプロセッサ（２、７）と、前記第１データプロセッサと前記第２データプロセッサとが共通に接続される外部バス（４）とを有する。前記第２データプロセッサは、前記外部メモリに対するアクセス要求を前記外部バスに出力することが可能にされ、前記第１データプロセッサは、前記外部バスに出力されたアクセス要求を前記外部インタフェース部（１６、６０、８０）に入力することが可能にされる。
【００３８】
これによれば、第１データプロセッサが汎用ＯＳに係るプログラム処理を実行し、第２データプロセッサが汎用ＯＳ下における割り込み処理では対応が不十分となるような強いリアルタイム性が要求される処理を実行する場合に、第２データプロセッサによる演算結果を第１データプロセッサに速やかに通知することが可能となり、システム全体の安定性及び信頼性を向上させることができる。
【００３９】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００４０】
≪実施の形態１≫
図１に、本実施の形態に係るマルチプロセッサ構成のデータ処理システムを例示する。同図に示されるデータ処理システム１００は、特に制限されないが、例えばサーバ用のデータ処理システムを構成する。データ処理システム１００は、例えばメインのデータプロセッサ１とサブのデータプロセッサ２を含む。データ処理システム１００は、各アプリケーションは予め決められたデータプロセッサ上で動作するＡＭＰ（Ａｓｙｍｍｅｔｒｉｃ  Ｍｕｌｔｉｐｒｏｃｅｓｓｉｎｇ）のプロセッサ構成とされる。例えばメインのデータプロセッサ１がＬｉｎｕｘ等の汎用ＯＳに係るデータ処理を実行することによりシステム全体の統括的な制御を行い、サブのデータプロセッサ２がその他の特有のデータ処理を実行する。具体的には、データプロセッサ２は、データプロセッサ１上で動作する汎用ＯＳ下の割り込み処理では対応が不十分となるような強いリアルタイム性が要求される処理（例えばシステムの異常検出や音声処理、Ｉ２Ｃ、ＰＷＭ制御等）を実行する。
【００４１】
データプロセッサ１とデータプロセッサ２は、例えば外部バス４を介して接続され、両データプロセッサ間での通信が可能とされる。また、外部バス４にはＮＯＲフラッシュメモリやＳＲＡＭ、ＲＯＭ等の外部メモリ（ＥＸＴＬ＿ＭＲＹ）３が接続可能にされ、データプロセッサ１、２は外部バス４を介して外部メモリ３にアクセス可能にされる。データプロセッサ１は、例えば、マイクロプロセッシングユニット（ＭＰＵ）であり、公知のＣＭＯＳ集積回路の製造技術によって１個の単結晶シリコンのような半導体基板に形成されたワンチップの半導体装置である。データプロセッサ１には外部メモリ（ＥＸＴＬ＿ＭＲＹ）５が接続され、データプロセッサ１は外部メモリ５を用いてプログラム処理を実行する。外部メモリ５は、大容量の外付けＲＡＭであり、例えばＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。データプロセッサ２は、マイクロコントローラ（ＭＣＵ）であり、公知のＣＭＯＳ集積回路の製造技術によって１個の単結晶シリコンのような半導体基板に形成されたワンチップの半導体装置である。データプロセッサ２はＣＰＵバスに接続される高速の内蔵ＲＡＭ（ローカル・メモリ）２２と、システムバスに接続される大容量の内蔵メモリ（大容量の内蔵ＲＡＭや内蔵フラッシュメモリ等）２５とを備え、これらのメモリを用いてプログラム処理を実行する。前述したように、データプロセッサ２は、リアルタイム性が要求される処理を実行し、必要に応じてその処理結果をデータプロセッサ１に送信する。例えば、データプロセッサ２は、サーバ内に設置された冷却用ファン等の各種周辺機器を監視し、周辺機器の１つが異常状態に陥った場合には、その旨をデータプロセッサ１に速やかに通知する。通知を受けたデータプロセッサ１は、例えば、処理中のデータを退避させたり、異常が発生したことをユーザに通知したりする等の各種制御を行うことで、安定性及び信頼性の高いシステム制御を実現する。
【００４２】
データプロセッサ２は、ＣＰＵバス２３とシステムバス２６を有する。ＣＰＵバス２３には、ＣＰＵ２０、キャッシュメモリ（ＣＡＣＨＥ）２１、内蔵ＲＡＭ２２が接続される。システムバス２６には、ダイレクトメモリアクセスコントローラ（ＤＭＡ）２４、割り込みコントローラ２８、内蔵メモリ（ローカル・メモリ）２５、外部インタフェース部（ＩＦ＿ＣＮＴ）２７、及びその他の図示されない周辺回路が接続される。ＣＰＵ２０は、例えば、ＣＰＵバス２３やキャッシュメモリ２１、内蔵ＲＡＭ２２を介して、システムバス２６に対するデータの送受信が可能とされる。内蔵メモリ２５は、前述したように、大容量の内蔵ＲＡＭや不揮発性の記憶領域（内蔵フラッシュメモリ）等である。外部インタフェース部２７は、外部インタフェース端子２９を介して外部バス４に接続された外部メモリ３やデータプロセッサ１との間で通信を行うための回路である。外部インタフェース部２７は、例えば、外付けのＳＲＡＭやＲＯＭ等に接続するためのローカルバスステートコントローラ（ＬＢＳＣ）である。外部インタフェース端子２９は、外部メモリ３、５をアクセスするためのアドレス信号や、書き込み又は読み出しを指示するためのコマンド信号、ライトデータやリードデータ、及びその他の各種制御信号を送受信するための複数の外部端子から構成される。なお、図１では、外部インタフェース端子２９として代表的に１つの外部端子のみを図示している。
【００４３】
上述したようなデータプロセッサ２からデータプロセッサ１へのリアルタイム性が要求される優先度の高い通知（データの転送）は、データプロセッサ１に接続される外部メモリ５にその通知に係るデータを書き込むことによって実現される。すなわち、データプロセッサ２のＣＰＵ２０上で実行されたリアルタイム性が要求されるアプリケーションに係る演算結果をデータプロセッサ１に転送する場合、ＣＰＵ２０は、外部メモリ５の所定の記憶領域に上記演算結果を含むライトデータを書き込むことを指示するアクセス要求を発行する。外部インタフェース部２７は、発行されたアクセス要求に応じて、ライトデータと、ライトデータの書き込み先としての外部メモリ５上の記憶領域を指定するアドレス情報と、書き込みを指示するコマンド信号と、その他の制御信号等（以下、これらのデータ及び信号を総称して「アクセス要求に係るデータ」と称する。）を、外部インタフェース端子２９を介して外部バス４上に出力する。外部バス４に出力された上記アクセス要求に係るデータは、データプロセッサ１の外部インタフェース端子１９を介してデータプロセッサ１に入力される。入力されたデータは、データプロセッサ１のメモリインタフェース部１８に供給され、メモリインタフェース部１８が、上記アクセス要求に係るデータに含まれるアドレス情報に従って、外部メモリ５の指定された記憶領域に上記ライトデータを書き込む。そして、外部メモリ５に書き込まれたデータプロセッサ２による演算結果をデータプロセッサ１におけるＣＰＵ１０が読み出すことにより、データプロセッサ２からデータプロセッサ１への通知が実現される。前述したように、データ処理システム１００においてリアルタイム性を保証するためには、データプロセッサ２からデータプロセッサ１への通知（データ転送）を高速に行う必要がある。そこで、本実施の形態に係るデータ処理システム１００では、データプロセッサ２からデータプロセッサ１への通知（データ転送）を高速に行うための仕組みをデータプロセッサ１の内部に設ける。
【００４４】
データプロセッサ１は、図１に例示されるように、ＣＰＵバス１２とシステムバス１３を有する。ＣＰＵバス１２には、ＣＰＵ１０とキャッシュメモリ（ＣＡＣＨＥ）１１が接続される。システムバス１３は、例えばスプリットトランザクションバスであり、ＣＰＵ１０は、例えばＣＰＵバス１２やキャッシュメモリ１１を介してシステムバス１３に対するデータの送受信が可能とされる。システムバス１３には、ダイレクトメモリアクセスコントローラ（ＤＭＡ）１４、ローカルバスコントローラ（ＬＢＳＣ）１５、及びメモリ制御部１７が接続される。ダイレクトメモリアクセスコントローラ１４は、ＣＰＵ１０によって設定されたデータ転送条件に従って、ＣＰＵ１０の代わりにシステムバス１３を介したデータの送受信を行う。ローカルバスコントローラ１５は、外部装置とデータプロセッサ１との間のシステムバス１３を介したデータの送受信を行う。具体的には、外部インタフェース端子１９に接続される外部メモリ３やデータプロセッサ２等の外部装置と、データプロセッサ１との間のリアルタイム性が要求されないアクセス要求に係るデータの送受信を制御する。外部インタフェース部（ＩＦ＿ＣＮＴ）１６は、外部メモリ３やデータプロセッサ２等の外部装置とデータプロセッサ１との間で通信を行うためのインタフェース回路である。外部インタフェース端子１９は、外部メモリ３、５をアクセスするためのアドレス信号や、書き込み又は読み出しを指示するためのコマンド信号、ライトデータやリードデータ、及びその他の各種制御信号を送受信するための複数の外部端子から構成される。なお、図１では、外部インタフェース端子１９として代表的に１つの外部端子のみを図示している。外部インタフェース部１６は、例えば、外部インタフェース端子１９とローカルバスコントローラ１５との間のデータの入出力と、外部インタフェース端子１９とメモリ制御部１７との間のデータの入出力とを切り替える。具体的には、外部インタフェース部１６は、外部インタフェース端子１９から入力されたアクセス要求が外部メモリ５に対するアクセス要求である場合には、そのアクセス要求に係るデータをメモリ制御部１７に供給し、それ以外の場合には、そのアクセス要求に係るデータをローカルバスコントローラ１５に供給する。外部インタフェース部１６は、外部インタフェース端子１９から入力されたアクセス要求に係るデータに基づいて、入力されたアクセス要求が外部メモリ５に対するアクセス要求であるか否かを判別する。例えば、入力されたアクセス要求に係るデータに含まれる、データの書き込み又は読み出し対象の記憶領域を指示するアドレス情報に基づいて判別する。その他の方法として、データの書き込み又は読み出しを指示するコマンド情報等に基づいて判別しても良いし、アドレス情報とコマンド情報等を総合して判別しても良い。このように外部インタフェース部１６によれば、リアルタイム性が要求される優先度の高いアクセス要求に係るデータはメモリ制御部１７に供給され、リアルタイム性が要求されないアクセス要求に係るデータはローカルバスコントローラ１５に供給される。
【００４５】
メモリ制御部１７は、ＣＰＵ１０やダイレクトメモリアクセスコントローラ１４等の周辺モジュールからシステムバス１３上に出力された外部メモリ５に対するアクセス要求と、外部インタフェース部１６を介してデータプロセッサ２から供給された外部メモリ５に対するアクセス要求とを調停し、メモリインタフェース部１８に与える。具体的に、メモリ制御部１７は、バスコントローラ（ＤＢＳＣ）１７０と、信号生成部（ＣＮＴ＿ＧＥＮ）１７１と、切替回路１７２とを有する。バスコントローラ１７０は、システムバス１３上に出力された外部メモリ５に対するアクセス要求に応じて、システムバス１３と外部メモリ５間でデータの送受信を行うためのアクセス制御を行う。具体的には、バスコントローラ１７０は、システムバス１３上に出力された外部メモリ５に対する書き込み要求に応じて、メモリインタフェース部１８に供給するための当該書き込み要求に係るライトデータ及びアドレス情報を出力する。また、システムバス１３上に出力された外部メモリ５に対する読み出し要求に応じて外部メモリ５から読み出されたリードデータをシステムバス１３上に出力する。切替回路１７２は、選択信号ＳＥＬに応じて、外部インタフェース部１６とメモリインタフェース部１８の間のデータの送受信と、バスコントローラ１７０とメモリインタフェース部１８の間のデータの送受信とを切り替える。信号生成部１７１は、外部メモリ５に対するアクセス要求に係るデータが外部インタフェース部１６から供給されたか否かに応じて、切替回路１７２に供給すべき選択信号ＳＥＬと、バスコントローラ１７０のアクセス制御を停止させるための制御信号ＣＮＴＬとを生成する。以下、図２を用いて、メモリ制御部１７について更に詳細に説明する。
【００４６】
図２は、メモリ制御部１７の内部構成を例示するブロック図である。同図に示されるように、バスコントローラ１７０は、バスインタフェース回路（ＢＵＳ＿ＩＦ）１７０１と、制御回路（ＣＮＴ＿ＣＩＲ）１７０２と、レジスタ群１７００とを含んで構成される。バスインタフェース回路１７０１は、スプリットトランザクションのシステムバス１３から供給されたアクセス要求及びライトデータを制御回路１７０２に与えるとともに、制御回路１７０２から与えられたリードデータ等を含むレスポンスデータをシステムバス１３上に出力する。レジスタ群１７００は、例えば、コマンド制御レジスタ（ＲＥＧ＿ＣＮＴ）やタイミングレジスタ等の外部メモリ５に対するデータの書き込み又は読み出しのための各種制御に必要な複数のレジスタを含む。また、レジスタ群１７００には、後述する、中断した外部メモリ５に対するアクセス制御を再開するために必要な管理情報を格納するための管理情報レジスタ（ＲＥＧ＿ＲＴＬＹ）１７０４を含む。制御回路１７０２は、レジスタ群１７００の各種レジスタの設定値に従って、外部メモリ５に対するデータの書き込み又は読み出しのための各種制御を行う。例えば、バスコントローラ１７０１から外部メモリ５に対する書き込み要求が与えられた場合には、制御回路１７０２は、書き込み要求に係るライトデータと、ライトデータの書き込み先としての外部メモリ５上の記憶領域を指定するアドレス情報と、書き込みを指示するコマンド信号と、その他、外部メモリ５へのデータの書き込みに必要な制御信号等を含むデータを切替回路１７２に出力する。また、バスインタフェース回路１７０１からデータの読み出し要求が与えられた場合には、読み出し先のアドレス情報と、読み出しを指示するコマンド信号と、外部メモリ５からのデータの読み出しに必要な各種制御信号を含むデータを切替回路１７２に与えるとともに、当該読み出し要求に応じて外部メモリ５から読み出されたリードデータをバスインタフェース回路１７０１に与える。更に、制御回路１７０２は、制御信号ＣＮＴＬに基づいて、外部メモリ５に対するデータの書き込み又は読み出しのためのアクセス制御の停止と、停止したアクセス制御の再開が制御される。
【００４７】
以下、メモリ制御部１７の動作について、システムバス１３から外部メモリ５に対するアクセス要求が入力されているときにデータプロセッサ２から外部メモリ５に対するアクセス要求が入力された場合を例に具体的に説明する。
【００４８】
先ず、データプロセッサ２から外部メモリ５に対するアクセス要求が入力されていない状況では、信号生成部１７１は、制御信号ＣＮＴＬをネゲートすることにより、制御回路１７０２に対してシステムバス１３からのアクセス要求に応じたデータ転送制御を許可する。また、信号生成部１７１は、制御回路１７０２とメモリインタフェース部１８の間のデータの送受信を可能にする選択信号ＳＥＬを出力する。これにより、システムバス１３からのアクセス要求がバスコントローラ１７０に入力された場合には、そのアクセス要求に応じた外部メモリ５に対するデータの書き込み又は読み出しが可能にされる。その後、例えばシステムバス１３からのアクセス要求が入力されているときに、データプロセッサ２から外部メモリ５に対するアクセス要求が外部インタフェース回路１６を介して入力されると、信号生成部１７１は制御信号ＣＮＴＬをアサートし、制御回路１７０２によるシステムバス１３からのアクセス要求に応じたアクセス制御の実行を中断させる。また、信号生成部１７１は、外部インタフェース部１６とメモリインタフェース部１８の間のデータの送受信を可能にする選択信号ＳＥＬを出力する。これにより、外部インタフェース部１６から出力されたアクセス要求に係るデータがメモリインタフェース部１８に供給可能にされ、データプロセッサ２と外部メモリ５との間のデータの書き込み又は読み出しが可能にされる。一方、制御回路１７０２は、制御信号ＣＮＴＬがアサートされたことをトリガとして、それまでデータの転送制御を行っていたアクセス要求に関する管理情報を管理情報レジスタ１７０４に格納する。前記管理情報としては、例えば、中断されたアクセス要求のアドレス情報や書き込み又は読み出しを指示するコマンド情報等が含まれる。また、中断されたアクセス要求がバースト転送要求であった場合には、例えば開始アドレスの情報やデータ転送単位の情報の他に、どこまでデータ転送が完了したかを示す情報等が前記管理情報として管理情報レジスタ１７０４に格納される。なお、管理情報レジスタ１７０４に前記管理情報を格納するタイミングは、上記のタイミングに限定されるものではない。例えば、制御回路１７０２によって外部メモリ５に対するデータの書き込み又は読み出しの制御が行われているときに、制御回路１７０２がデータの転送状況に応じて管理情報レジスタ１７０４の情報を逐次更新しても良い。
【００４９】
その後、データプロセッサ２からの外部メモリ５に対するメモリアクセスが完了したら、信号生成部１７１は制御信号ＣＮＴＬをネゲートことにより、制御回路１７０２に対してシステムバス１３からのアクセス要求に応じたデータ転送制御を許可する。これに応じて、制御回路１７０２が、先ほど中断したアクセス要求に係るデータ転送制御を再開する。例えば、制御回路１７０２は、制御信号ＣＮＴＬがネゲートされたことをトリガとして管理情報格納レジスタ１７０４に格納された管理情報を読み出し、その管理情報に基づいて、中断したポイントからのデータ転送制御を再開する。また、信号生成部１７１は、データプロセッサ２からの外部メモリ５に対するメモリアクセスの完了に応じて、制御回路１７０２とメモリインタフェース部１８との間のデータの送受信を可能にする選択信号ＳＥＬを出力する。これにより、制御回路１７０２から出力されるアクセス要求に係るデータがメモリインタフェース部１８に供給可能にされ、バスコントローラ１７０を介したシステムバス１３と外部メモリ５との間のデータの書き込み又は読み出しが可能にされる。
【００５０】
以上、本実施の形態に係るデータ処理システムによれば、データプロセッサ１に接続される外部メモリ５に対するアクセス要求がデータプロセッサ１とデータプロセッサ２とで競合した場合には、データプロセッサ２からのメモリアクセスを優先させることができる。また、データプロセッサ２からのアクセス要求は、データプロセッサ１内のシステムバス１３を介さずにメモリインタフェース部１８に供給されるので、データの転送をより高速に行うことができる。すなわち、データプロセッサ１に接続されるデータプロセッサ２からの外部メモリ５に対する高速なアクセスが可能となる。したがって、マルチプロセッサ構成のデータ処理システム１００のように、汎用ＯＳに係るデータ処理を実行するメインのデータプロセッサ１の代わりにサブのデータプロセッサ２がシステムの異常検出や音声処理等のリアルタイム処理を実行する場合、そのリアルタイム性を保証することができ、システム全体の安定性及び信頼性を向上させることができる。また、データ処理システム１００によれば、データプロセッサ２として既存の量産品のＭＣＵ等を用いることができ、且つ従来のようにＦＰＧＡを用いる必要がないから、従来よりも低コストでリアルタイム性が保証されたデータ処理システムを実現することができる。
【００５１】
本実施の形態に係るデータ処理システムは、例えば、２つのデータプロセッサが実行するタスク間に明確な優劣があるシステムに適用すると特に有効である。例えば、タスク間のプライオリティが均等なアプリケーションを実行するＳＭＰ（Ｓｙｍｍｅｔｒｉｃ  Ｍｕｌｔｉｐｒｏｃｅｓｓｉｎｇ）構成のデータ処理システムよりも、ＡＭＰ構成のデータ処理システムに適用した方がより好適である。また、本データ処理システムは、サブのデータプロセッサからメインのデータプロセッサに接続される外部メモリ５に対して頻繁にメモリアクセスが発生するようなデータ処理システムよりも、小規模なデータの送受信を低頻度で行うようなシステムに適用する方が望ましい。これによれば、メインのデータプロセッサのパフォーマンスを低下させることなく、サブのデータプロセッサによるプログラム処理のリアルタイム性が保証され、システム全体の安定性及び信頼性を向上させることができる。
【００５２】
≪実施の形態２≫
図３は、実施の形態２に係るデータ処理システムを例示するブロック図である。同図に示されるデータ処理システム２００において、実施の形態１に係るデータ処理システム１００と同一の構成要素には同一の符号を付して、その詳細な説明を省略する。具体的に、データ処理システム２００は、優先度を示す信号ＳＰＲに応じて、データプロセッサ７からデータプロセッサ６へのデータ転送を優先的に処理するか否かを判別する機能を備える。例えば、データプロセッサ７が、ＣＰＵ２０上で実行されたリアルタイム性が要求されるアプリケーションに係る演算結果をデータプロセッサ６に転送する場合、ＣＰＵ２０は、外部メモリ５の所定の記憶領域に上記演算結果を含むライトデータを書き込むことを指示するアクセス要求を発行する。外部インタフェース部７０は、発行されたアクセス要求に応じて、ライトデータ等のアクセス要求に係るデータを、外部インタフェース端子２９を介して外部バス４上に出力する。更に外部インタフェース部７０は、信号ＳＰＲをアサートすることで、優先的なメモリアクセスであることをデータプロセッサ６に通知する。具体的には、データプロセッサ７の外部端子７１とデータプロセッサ６の外部端子６１とが専用線で接続され、外部インタフェース部７０がその専用線の信号レベルを切り替えることによって、外部メモリ５に対するメモリアクセスの優先度を通知する。
【００５３】
データプロセッサ６における外部インタフェース部６０は、外部インタフェース端子１９から入力されたアクセス要求が外部メモリ５に対する優先度の高いアクセス要求であるか否かを、外部端子６１に入力された信号ＳＰＲに基づいて判別する。例えば、外部インタフェース部６０は、信号ＳＰＲがアサートされている場合には、そのアクセス要求に係るデータをメモリ制御部１７に供給し、信号ＳＰＲがネゲートされている場合には、そのアクセス要求に係るデータをローカルバスコントローラ１５に供給する。
【００５４】
以上、実施の形態２に係るデータ処理システムによれば、実施の形態１と同様に、リアルタイム性を保証することができ、システム全体の安定性及び信頼性を向上させることができる。また、専用線を介した信号ＳＰＲによってデータプロセッサ７からのメモリアクセスの優先度を判別する構成とされるから、データプロセッサ６における外部インタフェース部６０における上記判別のための回路構成を簡素化することができる。
【００５５】
≪実施の形態３≫
図４は、実施の形態３に係るデータ処理システムを例示するブロック図である。同図に示されるデータ処理システム３００において、実施の形態１に係るデータ処理システム１００と同一の構成要素には同一の符号を付して、その詳細な説明を省略する。データ処理システム３００は、サブのデータプロセッサ２から外部メモリ５に対するアクセス要求が発行されたとしても、メインのデータプロセッサ８からの外部メモリ５に対するアクセス要求を優先すべき場合には、データプロセッサ８からのアクセス要求を優先させることが可能な構成とされる。
【００５６】
データプロセッサ８におけるメモリ制御部８７は、メモリ制御部１７の機能に加え、システムバス１３から入力されたアクセス要求の優先度が高い場合に、外部装置（データプロセッサ２）からのアクセス要求の入力の有無に関わらず、システムバス１３からのアクセス要求を優先させる機能を備える。具体的に、メモリ制御部８７におけるバスコントローラ８７０は、システムバス１３から入力されたアクセス要求が外部インタフェース部８０（データプロセッサ２）からのアクセス要求よりも優先度が高い場合には、そのことを示す信号ＰＲＴをアサートする。例えば、ＣＰＵ１０が特権モード（例えばカーネルモードやスーパーバイザーモード）等の通常とは異なるプログラム処理を行っているときに、そのプログラム処理に係るアクセス要求がシステムバス１３上に出力された場合には、信号ＰＲＴをアサートし、それ以外の場合には信号ＰＲＴをネゲートする。バスコントローラ８７０は、システムバス１３に出力されたアクセス要求がＣＰＵ１０による通常とは異なるプログラム処理に係るアクセス要求であるか否かを、例えば、当該アクセス要求に係るデータに含まれるデータの書き込み又は読み出し対象の記憶領域を指示するアドレス情報やデータの書き込み又は読み出しを指示するコマンド情報等に基づいて判別する。
【００５７】
信号生成部８７１は、外部インタフェース部８０からのアクセス要求に係るデータの入力と信号ＰＲＴとに応じて、選択信号ＳＥＬ及び制御信号ＣＮＴＬを生成する。例えば、信号生成部８７１は、信号ＰＲＴがネゲートされている場合には、前記信号生成部１７１と同様に、外部インタフェース部８０からのアクセス要求に係るデータの入力の有無に応じて選択信号ＳＥＬ及び制御信号ＣＮＴＬを生成する。一方、信号ＰＲＴがアサートされている場合、信号生成部８７１は、外部インタフェース部８０からのデータ入力に関わらず、制御信号ＣＮＴＬをネゲートすることによりシステムバス１３からのアクセス要求に応じたデータ転送制御を許可するとともに、バスコントローラ８７０とメモリインタフェース部１８の間のデータの送受信を可能にする選択信号ＳＥＬを出力する。
【００５８】
外部インタフェース部８０は、実施の形態１に係る外部インタフェース部１６の内部回路に加え、外部インタフェース端子１９から入力された前記アクセス要求に係るデータ等を格納するための記憶領域８１を備える。例えば、外部インタフェース部８０は、信号ＰＲＴがネゲートされているときに、外部インタフェース端子１９から外部メモリ５に対するアクセス要求が入力された場合には、そのアクセス要求に係るデータをメモリ制御部８７に供給するとともに、当該データを記憶領域８１に格納する。一方、信号ＰＲＴがアサートされているときに、外部インタフェース端子１９から外部メモリ５に対するアクセス要求が入力された場合には、そのアクセス要求に係るデータを記憶領域８１に格納する。そして、信号ＰＲＴがネゲートされたことに応じて、記憶領域８１に格納したデータをメモリ制御部８７に出力する。また、例えばデータプロセッサ２からの外部メモリ５に対するメモリアクセスが行われているときに信号ＰＲＴがアサートされた場合には、外部インタフェース部８０は、データプロセッサ２からの外部メモリ５に対するアクセス要求に係るデータの送受信を中断する。そして、信号ＰＲＴがネゲートされたら、外部インタフェース部８０は、記憶領域８１に格納されたデータに基づいて、中断したアクセス要求に係るデータの送受信を再開する。
【００５９】
これによれば、実施の形態１と同様に、リアルタイム性を保証することができ、システム全体の安定性及び信頼性を向上させることができる。また、サブのデータプロセッサ２からのアクセス要求よりもメインのデータプロセッサ８によるアクセス要求を優先させて処理することができる。例えば、データプロセッサ８におけるＣＰＵ１０がカーネルモードやスーパーバイザーモード等の通常とは異なるプログラム処理を行う場合には、サブのデータプロセッサ２からのアクセス要求よりもＣＰＵ１０からのアクセス要求を優先させて処理することが可能となり、より柔軟なデータ処理システムを構築することが可能となる。
【００６０】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００６１】
例えば、実施の形態１乃至３において、メインのデータプロセッサに接続される外部メモリ５に対するアクセス要求を発行する外部装置としてデータプロセッサ（ＭＣＵ）を例示したが、これに限られず、他のデバイスであっても良い。
【００６２】
また、実施の形態３におけるシステムバス１３から入力されたアクセス要求の優先度の判別は、例えばＣＰＵ１０とバスコントローラ８７０とを専用線で接続し、その専用線に供給される信号の信号レベル（ハイレベル／ローレベル）によって行うことも可能である。
【符号の説明】
【００６３】
１００  データ処理システム
１、２  データプロセッサ
３  外部メモリ
４  外部バス
５  外部メモリ
１０  ＣＰＵ
１１  キャッシュメモリ
１２  ＣＰＵバス
１３  システムバス
１４  ダイレクトメモリアクセスコントローラ
１５  ローカルバスコントローラ
１６  外部インタフェース部
１７  メモリ制御部
１８  メモリインタフェース部
１９  外部インタフェース端子
１７０  バスコントローラ
１７１  信号生成部
１７２  切替回路
２０  ＣＰＵ
２１  キャッシュメモリ
２２  内蔵ＲＡＭ
２３  ＣＰＵバス
２４  ダイレクトメモリアクセスコントローラ
２５  内蔵メモリ（ローカル・メモリ）
２６  システムバス
２７  外部インタフェース部
２８  割り込みコントローラ
２９  外部インタフェース端子
１７００  レジスタ群
１７０１  バスインタフェース回路
１７０２  制御回路（ＣＮＴ＿ＣＩＲ）
１７０４  管理情報レジスタ
ＳＥＬ  選択信号
ＣＮＴＬ  制御信号
２００  データ処理システム
６、７  データプロセッサ
６１、７１  外部端子
ＳＰＲ  信号
６０  外部インタフェース部
３００  データ処理システム
８  データプロセッサ
８０  外部インタフェース部
８１  記憶領域
８７  メモリ制御部
８７０  バスコントローラ
８７１  信号生成部
【図１】
2014157392.tif 000003
【図２】
2014157392.tif 000004
【図３】
2014157392.tif 000005
【図４】
2014157392.tif 000006