(57)【要約】【課題】データ転送処理に関して、効率良くアクセスを行うかによって、システム全体の性能を上げる技術を提供する。【解決手段】内蔵メモリ（２）と、マスタデバイス（６−１〜６−ｎ、７）から渡されたデータをその内蔵メモリ（２）に転送するメモリコントローラ（３）とを具備するデータ処理装置（１）を構成する。ここで、その内蔵メモリ（２）は、第１データバス幅のデータに対応した第１内蔵メモリと、その第１内蔵メモリと独立に動作する第２内蔵メモリとを含むことが好ましい。そして、そのメモリコントローラ（３）は、そのマスタデバイス（６−１〜６−ｎ、７）から供給されたデータのデータバス幅が、その第１データバス幅を超えるとき、その第１内蔵メモリとその第２内蔵メモリとをあわせて単一のメモリデバイスとして機能させる。【選択図】図２
2011150613.tif 000002
【特許請求の範囲】
【請求項１】
内蔵メモリと、
マスタデバイスから渡されたデータを前記内蔵メモリに転送するメモリコントローラと
を具備し、
前記内蔵メモリは、
第１データバス幅のデータに対応した第１内蔵メモリと、
前記第１内蔵メモリと独立に動作する第２内蔵メモリと
を含み、
前記メモリコントローラは、
前記マスタデバイスから供給されたデータのデータバス幅が、前記第１データバス幅を超えるとき、前記第１内蔵メモリと前記第２内蔵メモリとをあわせて単一のメモリデバイスとして機能させる
データ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記第２内蔵メモリが、前記第１データバス幅を超える第２データバス幅のデータに対応するとき、
前記メモリコントローラは、
前記マスタデバイスから供給されたデータのデータバス幅が、前記第２データバス幅を超えるとき、前記第１内蔵メモリと前記第２内蔵メモリとをあわせて単一のメモリデバイスとして機能させる
データ処理装置。
【請求項３】
請求項２に記載のデータ処理装置において、
前記マスタデバイスは、
前記第１データバス幅のデータを供給する第１マスタと、
前記第２データバス幅のデータを供給し、前記第１マスタと独立に動作する第２マスタと、
前記第２データバス幅を超える第３データバス幅のデータを供給する第３マスタと
を含み、
前記メモリコントローラは、
前記第１データバス幅のデータと前記第２データバス幅のデータとを並列に受け取ったとき、
前記第１内蔵メモリと前記第２内蔵メモリとを各々独立に動作させ、
前記第１データバス幅のデータの前記第１内蔵メモリへの転送と、前記第２データバス幅のデータの前記第２内蔵メモリへの転送とを並列的に処理し、
前記第３データバス幅のデータを受け取ったとき、前記第１内蔵メモリと前記第２内蔵メモリとをあわせて単一のメモリデバイスとして機能させる
データ処理装置。
【請求項４】
請求項３に記載のデータ処理装置において、さらに、
前記第３マスタから供給されるＲＥＱ（リクエスト）を受け取り、現在のデータ処理の状況に応じてＡＣＫ（アクノリッジ）を提供するバス制御回路を具備し、
前記バス制御回路は、
前記第１データバス幅のデータまたは前記第２データバス幅のデータを、前記第１内蔵メモリまたは前記第２内蔵メモリに転送しているときに、前記第３マスタからのＲＥＱ（リクエスト）を受信した場合、前記第１データバス幅のデータまたは前記第２データバス幅のデータの処理が完了した後に、前記第３マスタにＡＣＫ（アクノリッジ）を供給し、
前記メモリコントローラは、
前記ＡＣＫ（アクノリッジ）の供給に対応して、前記第１内蔵メモリと前記第２内蔵メモリとを単一のメモリデバイスとして機能させる
データ処理装置。
【請求項５】
請求項４に記載のデータ処理装置において、さらに、
前記メモリコントローラと前記内蔵メモリとの間に設けられたセレクタ回路を備え、
前記セレクタ回路は、
前記第１内蔵メモリの前段に設けられた第１セレクタと、
前記第２内蔵メモリの前段に設けられた第２セレクタと
を含み、
前記メモリコントローラは、
前記第１セレクタに接続され、前記第１データバス幅のデータを前記第１内蔵メモリに供給する第１メモリコントローラと、
前記第２セレクタに接続され、前記第２データバス幅のデータを前記第２内蔵メモリに供給する第２メモリコントローラと、
前記第１セレクタと前記第２セレクタの各々に接続され、前記第２データバス幅のデータを、前記第１セレクタと前記第２セレクタとを介して前記第１内蔵メモリと前記第２内蔵メモリ第３メモリコントローラと
を含む
データ処理装置。
【請求項６】
内蔵メモリと、マスタデバイスから渡されたデータを前記内蔵メモリに転送するメモリコントローラとを具備するデータ処理装置のデータ処理方法であって、
（ａ）前記内蔵メモリのうちの、第１データバス幅のデータに対応した第１内蔵メモリと、前記第１内蔵メモリと独立に動作し、前記第１データバス幅を超える第２データバス幅のデータに対応した第２内蔵メモリとを特定するステップと、
（ｂ）前記マスタデバイスから供給されたデータのデータバス幅が、前記第２データバス幅を超えるとき、前記第１内蔵メモリと前記第２内蔵メモリとをあわせて単一のメモリデバイスとして処理するステップと
を備える
データ処理方法。
【請求項７】
請求項６に記載のデータ処理方法において、さらに
（ｃ）前記マスタデバイスのうちの、前記第１データバス幅のデータを供給する第１マスタと、前記第２データバス幅のデータを供給し、前記第１マスタと独立に動作する第２マスタと、前記第２データバス幅を超える第３データバス幅のデータを供給する第３マスタとを特定するステップ
を備え、
前記（ｂ）ステップは、
前記第１データバス幅のデータと前記第２データバス幅のデータとを並列に受け取ったとき、前記第１内蔵メモリと前記第２内蔵メモリとを各々独立に動作させ、前記第１データバス幅のデータの前記第１内蔵メモリへの転送と、前記第２データバス幅のデータの前記第２内蔵メモリへの転送とを並列的に処理するステップと、
前記第３データバス幅のデータを受け取ったとき、前記第１内蔵メモリと前記第２内蔵メモリとをあわせて単一のメモリデバイスとして処理するステップと
を備える
データ処理方法。
【請求項８】
請求項７に記載のデータ処理方法において、さらに、
（ｄ）前記第３マスタから供給されるＲＥＱ（リクエスト）を受け取り、現在のデータ処理の状況に応じてＡＣＫ（アクノリッジ）を提供するステップを具備し、
前記（ｄ）ステップは、
前記第１データバス幅のデータまたは前記第２データバス幅のデータを、前記第１内蔵メモリまたは前記第２内蔵メモリに転送しているときに、前記第３マスタからのＲＥＱ（リクエスト）を受信した場合、前記第１データバス幅のデータまたは前記第２データバス幅のデータの処理が完了した後に、前記第３マスタにＡＣＫ（アクノリッジ）を供給するステップを含み、
前記（ｂ）ステップは、
前記ＡＣＫ（アクノリッジ）の供給に対応して、前記第１内蔵メモリと前記第２内蔵メモリとを単一のメモリデバイスとして処理するステップを含む
データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関する。
【背景技術】
【０００２】
情報処理技術の進歩に対応して、複数の独立したデータ転送を同時に実行する技術が求められてきている。ここにおいて、それぞれのデータ転送の処理の種類によって、バンド幅（データバス幅・ビット幅）が異なることがある。異なるバンド幅（データバス幅・ビット幅）のデータを供給する複数マスタデバイスと、メモリとの間でデータ転送を行なう技術が知られている（例えば、特許文献１参照）。
【０００３】
図１は、特許文献１に記載のデータ処理装置の構成を示すブロック図である。図１に示されているように、従来のデータ処理装置は、複数のマスタデバイス（マスタデバイス１０４〜マスタデバイス１０６）と、１つのメモリデバイス１０２との間のデータ転送を行っている。
【０００４】
複数のバス（バス１１０〜バス１１２）のそれぞれには、複数のローカルバッファ（ローカルバッファ１１３〜ローカルバッファ１１５）がそれぞれ対応付けられている。ローカルバッファ１１３は、バス１０１とバス１１０との間でデータの入出力を行う。ローカルバッファ１１４は、バス１０１とバス１１１との間でデータの入出力を行う。ローカルバッファ１１５は、バス１０１とバス１１２との間でデータの入出力を行う。複数のローカルバッファ（ローカルバッファ１１３〜ローカルバッファ１１５）の各々は、バス１０１と、バス１１０〜１１２とのデータ幅（データバス幅・ビット幅）の相違に基づく転送速度の速度差を吸収するように作用している。
【０００５】
特許文献１に記載のデータ処理装置において、複数のマスタデバイス（マスタデバイス１０４〜マスタデバイス１０６）に割り当てるべきデータ幅（データバス幅・ビット幅）を変更したい場合は、その複数のマスタデバイス（マスタデバイス１０４〜マスタデバイス１０６）、および複数のバス（バス１１０〜バス１１２）、複数のローカルバッファ（ローカルバッファ１１３〜ローカルバッファ１１５の読み書きポートを変更する。これによって、メモリデバイス１０２、メモリコントローラ１０３、バス１０１を再設計することなく、複数のマスタデバイス（マスタデバイス１０４〜マスタデバイス１０６）に割り当てるべきデータ幅（データバス幅・ビット幅）の変更を可能としている。
【０００６】
複数のマスタデバイス（マスタデバイス１０４〜マスタデバイス１０６）において、メモリデバイス１０２のデータ読み出し要求、またはデータ書き込み要求が競合した場合、アービター１１６による調停を行っている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−８４２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載のデータ処理装置は、マスタデバイスに割り当てるべきバンド幅を変更したい場合は、マスタデバイス、ローカルバッファの読み書きポートを再設計しなければならない。
【０００９】
また、特許文献１に記載のデータ処理装置は、複数のマスタデバイスにおいて、メモリデバイスのデータ読み出し要求、またはデータ書き込み要求が競合するとき、アービターによる調停を行っている。このとき、要求が否認されたマスタデバイスは、メモリデバイスへのアクセスが停止することになる。
【００１０】
本発明が解決しようとする課題は、半導体装置における複数のマスタからのデータ転送処理に関して、効率良くアクセスを行うことによって、システム全体の性能を上げる技術を提供することにある。
【課題を解決するための手段】
【００１１】
以下に、［発明を実施するための形態］で使用される番号を用いて、［課題を解決するための手段］を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１２】
内蔵メモリ（２）と、マスタデバイス（６−１〜６−ｎ、７）から渡されたデータをその内蔵メモリ（２）に転送するメモリコントローラ（３）とを具備するデータ処理装置（１）を構成する。ここで、その内蔵メモリ（２）は、第１データバス幅のデータに対応した第１内蔵メモリと、その第１内蔵メモリと独立に動作する第２内蔵メモリとを含むことが好ましい。そして、そのメモリコントローラ（３）は、そのマスタデバイス（６−１〜６−ｎ、７）から供給されたデータのデータバス幅が、その第１データバス幅を超えるとき、その第１内蔵メモリとその第２内蔵メモリとをあわせて単一のメモリデバイスとして機能させる。
【発明の効果】
【００１３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、データ転送処理に関して、効率良くアクセスを行うことによって、システム全体の性能を上げることができるようになる。
【図面の簡単な説明】
【００１４】
【図１】図１は、従来技術のデータ処理装置の構成を示すブロック図である。
【図２】図２は、本実施形態のデータ処理装置の構成を例示するブロック図である。
【図３】図３は、本実施形態のデータ処理装置のアドレス・マップを例示する概念図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１６】
図２は、本発明のデータ処理装置１の構成を例示するブロック図である。図２に示されているように、本実施形態のデータ処理装置１は、内臓メモリ２と、メモリコントローラ３と、ＢＵＳ・ＩＰ４と、セレクタ５とを備えている。データ処理装置１は、複数のマスタデバイス（第１マスタ６−１〜第ｎマスタ６−ｎ、第ｎ＋１マスタ７）から供給されるデータを処理する機能を備えている。
【００１７】
メモリコントローラ３は、システム・バスＩＦ側に複数のポートを備えている。また、そのメモリコントローラ３は、メモリＩＦ側のポートもマルチ構成である。ＢＵＳ・ＩＰ４は、システム側のバスに対して、ＲＥＱ（リクエスト）／ＡＣＫ（アクノリッジ）制御をする回路である。セレクタ５は、メモリＩＦ側に搭載されている。
【００１８】
データ処理装置１は、複数のマスタデバイスのうちの、任意のマスタから供給されるデータを受けとる。受け取ったデータのデータ幅（データバス幅・ビット幅）によって、内臓メモリ２のデータ幅（データバス幅・ビット幅）を設定する。本実施形態のデータ処理装置１は、受け取ったデータのデータ幅（データバス幅・ビット幅）に基づいて、複数のマスタデバイスからの供給される転送要求を同時に処理する機能を備えている。また、データ処理装置１は、受け取ったデータのデータ幅（データバス幅・ビット幅）に基づいて、複数の内臓メモリ（第１内臓メモリ２−１〜第ｍ内臓メモリ２−ｍを、ひとつの内蔵メモリとして使用する機能を備えている。
【００１９】
図２に示されているように、本実施形態のデータ処理装置１は、複数のマスタデバイス（第１マスタ６−１〜第ｎマスタ６−ｎ）からの転送要求に対して、対応するＢＵＳ・ＩＰ４、および、第１メモリコントローラ３−１〜第ｍメモリコントローラ３−ｍの制御回路を介して、各データ幅（データバス幅・ビット幅）：ｘの複数の内蔵メモリ（第１内臓メモリ２−１〜第ｍ内臓メモリ２−ｍ）にデータを送る。複数の内蔵メモリ（第１内臓メモリ２−１〜第ｍ内臓メモリ２−ｍ）の各々は、独立に動作する。そのため、複数のマスタデバイスのうちの任意のマスタから、内蔵メモリ２へのアクセス要求が重なる場合でも、同時にデータ処理が可能である。
【００２０】
本実施形態のデータ処理装置１において、第ｎ＋１マスタ７のような大容量のデータ幅（データバス幅・ビット幅）の処理を必要とする要求が来た場合には、第ｎ＋１マスタ７からＢＵＳ・ＩＰ４に対してＲＥＱ（リクエスト）信号で要求する。ＢＵＳ・ＩＰ４は、他のマスタ（第１マスタ６−１〜第ｎマスタ６−ｎ）のデータ処理の完了を、ＡＣＫ（アクノリッジ）信号で第ｎ＋１マスタ７に通知する。メモリコントローラ３の第ｍ＋１メモリコントローラ８は、ＡＣＫ（アクノリッジ）の通知と同時に、メモリＩＦ側に設けられたセレクタ５の内蔵メモリのデータ幅（データバス幅・ビット幅）を切り替える。メモリコントローラ３は、内臓メモリ２の第１内臓メモリ２−１〜第ｍ内臓メモリ２−ｍを、データ幅（データバス幅・ビット幅）を（ｍ＋１）・ｘとした１つのメモリとして機能させる。
【００２１】
図３は、本実施形態のデータ処理装置１のアドレス・マップを例示するブロック図である。複数の内蔵メモリ（第１内臓メモリ２−１〜第ｍ内臓メモリ２−ｍ）を独立にアクセスする場合と、データ幅（データバス幅・ビット幅）を（ｍ＋１）・ｘとした１つの内蔵メモリとして利用する場合とで分けることによって、特別にコントローラを設けずに本発明の２通りのアクセスが可能である。
【００２２】
本実施形態のデータ処理装置１は、内臓メモリ２のデータ幅（データバス幅・ビット幅）の割り当て設定を変更するだけで、異なるデータ幅（データバス幅・ビット幅）のマスタ（第１マスタ６−１〜第ｎマスタ６−ｎ、第ｎ＋１マスタ７）のどのマスタからのデータ転送要求が来ても、再設計の必要なくデータ処理が可能である。
【００２３】
内蔵メモリ２へのアクセス要求が重なる場合に、そのアクセス要求に対する処理を並列的にすることが可能なときは、複数の内蔵メモリ（第１内臓メモリ２−１〜第ｍ内臓メモリ２−ｍ）の各々を、独立に動作させる。そのマスタ（第１マスタ６−１〜第ｎマスタ６−ｎ）とは異なるデータ幅（データバス幅・ビット幅）のマスタ（第ｎ＋１マスタ７）からアクセス要求を受ける場合、内臓メモリ２の第１内臓メモリ２−１〜第ｍ内臓メモリ２−ｍを、データ幅（データバス幅・ビット幅）を（ｍ＋１）・ｘとした１つのメモリとして機能させる。このように、本実施形態のデータ処理装置１は、内臓メモリ２をデータ幅（データバス幅・ビット幅）の応じて適切に利用することができる。
【００２４】
また、本実施形態のデータ処理装置１は、複数のマスタからのアクセスが重なる場合であっても、内蔵メモリ側のバスが独立しているため、複数のマスタ間の調停が必要なく同時動作が可能である。
【００２５】
本実施形態のデータ処理装置１は、データ転送要求の処理装置および処理方法に対して有効に作用する。特に、複数のマスタ側のＩＦと、メモリ側のＩＦとがマルチポートに接続されたメモリコントローラを有するデータ処理装置に適用することで有効に作用する。例えば、ＵＳＢ、ＰＣＩ−Ｅｘｐｒｅｓｓ、Ｓ−ＡＴＡ、Ｅｔｈｅｒ、メディア系（ＳＤ、ＣＦ）等、それほど大容量のデータ処理を必要としないサブ・システム（ＩＰ、マクロ）は、第１マスタ６−１〜第ｎマスタ６−ｎに相当する。その第１マスタ６−１〜第ｎマスタ６−ｎからのアクセスが重なる場合、内臓メモリ２の第１内臓メモリ２−１〜第ｍ内臓メモリ２−ｍを独立に機能させる。第ｎ＋１マスタ７は、大容量の画像を処理する装置などに相当する。そのような第ｎ＋１マスタ７に対するデータ処理を必要とする場合には、第１内臓メモリ２−１〜第ｍ内臓メモリ２−ｍをひとつの内蔵メモリとして利用すれば良い。これによって、システムとして再設計の必要がなく、内蔵メモリの２通りの利用が可能となり、データ処理装置のサイズを削減することが可能となる。
【００２６】
以上、本願発明の実施の形態を具体的に説明した。本願発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【００２７】
１…データ処理装置
２…内臓メモリ
２−１…第１内臓メモリ
２−２…第２内臓メモリ
２−ｍ…第ｍ内臓メモリ
３…メモリコントローラ
３−１…第１メモリコントローラ
３−２…第２メモリコントローラ
３−ｍ…第ｍメモリコントローラ
４…ＢＵＳ・ＩＰ
４−１…３２ｂｉｔ＿ＢＵＳ・ＩＰ
４−２…６４ｂｉｔ＿ＢＵＳ・ＩＰ
５…セレクタ
５−１…第１セレクタ
５−２…第２セレクタ
５−３…第３セレクタ
５−４…第４セレクタ
５−５…第５セレクタ
５−６…第６セレクタ
６−１…第１マスタ
６−２…第２マスタ
６−ｎ…第ｎマスタ
７…第ｎ＋１マスタ
８…第ｍ＋１メモリコントローラ
１０１…バス
１０２…メモリ
１０４…マスタデバイス
１０５…マスタデバイス
１０６…マスタデバイス
１１０…バス
１１１…バス
１１２…バス
１１３…ローカルバッファ
１１４…ローカルバッファ
１１５…ローカルバッファ
【図１】
2011150613.tif 000003
【図２】
2011150613.tif 000004
【図３】
2011150613.tif 000005