JP2011150613A - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP2011150613A JP2011150613A JP2010012767A JP2010012767A JP2011150613A JP 2011150613 A JP2011150613 A JP 2011150613A JP 2010012767 A JP2010012767 A JP 2010012767A JP 2010012767 A JP2010012767 A JP 2010012767A JP 2011150613 A JP2011150613 A JP 2011150613A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- built
- bus width
- data bus
- 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.)
- Withdrawn
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】データ転送処理に関して、効率良くアクセスを行うかによって、システム全体の性能を上げる技術を提供する。
【解決手段】内蔵メモリ(2)と、マスタデバイス(6−1〜6−n、7)から渡されたデータをその内蔵メモリ(2)に転送するメモリコントローラ(3)とを具備するデータ処理装置(1)を構成する。ここで、その内蔵メモリ(2)は、第1データバス幅のデータに対応した第1内蔵メモリと、その第1内蔵メモリと独立に動作する第2内蔵メモリとを含むことが好ましい。そして、そのメモリコントローラ(3)は、そのマスタデバイス(6−1〜6−n、7)から供給されたデータのデータバス幅が、その第1データバス幅を超えるとき、その第1内蔵メモリとその第2内蔵メモリとをあわせて単一のメモリデバイスとして機能させる。
【選択図】図2
【解決手段】内蔵メモリ(2)と、マスタデバイス(6−1〜6−n、7)から渡されたデータをその内蔵メモリ(2)に転送するメモリコントローラ(3)とを具備するデータ処理装置(1)を構成する。ここで、その内蔵メモリ(2)は、第1データバス幅のデータに対応した第1内蔵メモリと、その第1内蔵メモリと独立に動作する第2内蔵メモリとを含むことが好ましい。そして、そのメモリコントローラ(3)は、そのマスタデバイス(6−1〜6−n、7)から供給されたデータのデータバス幅が、その第1データバス幅を超えるとき、その第1内蔵メモリとその第2内蔵メモリとをあわせて単一のメモリデバイスとして機能させる。
【選択図】図2
Description
本発明は、データ処理装置に関する。
情報処理技術の進歩に対応して、複数の独立したデータ転送を同時に実行する技術が求められてきている。ここにおいて、それぞれのデータ転送の処理の種類によって、バンド幅(データバス幅・ビット幅)が異なることがある。異なるバンド幅(データバス幅・ビット幅)のデータを供給する複数マスタデバイスと、メモリとの間でデータ転送を行なう技術が知られている(例えば、特許文献1参照)。
図1は、特許文献1に記載のデータ処理装置の構成を示すブロック図である。図1に示されているように、従来のデータ処理装置は、複数のマスタデバイス(マスタデバイス104〜マスタデバイス106)と、1つのメモリデバイス102との間のデータ転送を行っている。
複数のバス(バス110〜バス112)のそれぞれには、複数のローカルバッファ(ローカルバッファ113〜ローカルバッファ115)がそれぞれ対応付けられている。ローカルバッファ113は、バス101とバス110との間でデータの入出力を行う。ローカルバッファ114は、バス101とバス111との間でデータの入出力を行う。ローカルバッファ115は、バス101とバス112との間でデータの入出力を行う。複数のローカルバッファ(ローカルバッファ113〜ローカルバッファ115)の各々は、バス101と、バス110〜112とのデータ幅(データバス幅・ビット幅)の相違に基づく転送速度の速度差を吸収するように作用している。
特許文献1に記載のデータ処理装置において、複数のマスタデバイス(マスタデバイス104〜マスタデバイス106)に割り当てるべきデータ幅(データバス幅・ビット幅)を変更したい場合は、その複数のマスタデバイス(マスタデバイス104〜マスタデバイス106)、および複数のバス(バス110〜バス112)、複数のローカルバッファ(ローカルバッファ113〜ローカルバッファ115の読み書きポートを変更する。これによって、メモリデバイス102、メモリコントローラ103、バス101を再設計することなく、複数のマスタデバイス(マスタデバイス104〜マスタデバイス106)に割り当てるべきデータ幅(データバス幅・ビット幅)の変更を可能としている。
複数のマスタデバイス(マスタデバイス104〜マスタデバイス106)において、メモリデバイス102のデータ読み出し要求、またはデータ書き込み要求が競合した場合、アービター116による調停を行っている。
しかしながら、特許文献1に記載のデータ処理装置は、マスタデバイスに割り当てるべきバンド幅を変更したい場合は、マスタデバイス、ローカルバッファの読み書きポートを再設計しなければならない。
また、特許文献1に記載のデータ処理装置は、複数のマスタデバイスにおいて、メモリデバイスのデータ読み出し要求、またはデータ書き込み要求が競合するとき、アービターによる調停を行っている。このとき、要求が否認されたマスタデバイスは、メモリデバイスへのアクセスが停止することになる。
本発明が解決しようとする課題は、半導体装置における複数のマスタからのデータ転送処理に関して、効率良くアクセスを行うことによって、システム全体の性能を上げる技術を提供することにある。
以下に、[発明を実施するための形態]で使用される番号を用いて、[課題を解決するための手段]を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
内蔵メモリ(2)と、マスタデバイス(6−1〜6−n、7)から渡されたデータをその内蔵メモリ(2)に転送するメモリコントローラ(3)とを具備するデータ処理装置(1)を構成する。ここで、その内蔵メモリ(2)は、第1データバス幅のデータに対応した第1内蔵メモリと、その第1内蔵メモリと独立に動作する第2内蔵メモリとを含むことが好ましい。そして、そのメモリコントローラ(3)は、そのマスタデバイス(6−1〜6−n、7)から供給されたデータのデータバス幅が、その第1データバス幅を超えるとき、その第1内蔵メモリとその第2内蔵メモリとをあわせて単一のメモリデバイスとして機能させる。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、データ転送処理に関して、効率良くアクセスを行うことによって、システム全体の性能を上げることができるようになる。
以下、本発明の実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
図2は、本発明のデータ処理装置1の構成を例示するブロック図である。図2に示されているように、本実施形態のデータ処理装置1は、内臓メモリ2と、メモリコントローラ3と、BUS・IP4と、セレクタ5とを備えている。データ処理装置1は、複数のマスタデバイス(第1マスタ6−1〜第nマスタ6−n、第n+1マスタ7)から供給されるデータを処理する機能を備えている。
メモリコントローラ3は、システム・バスIF側に複数のポートを備えている。また、そのメモリコントローラ3は、メモリIF側のポートもマルチ構成である。BUS・IP4は、システム側のバスに対して、REQ(リクエスト)/ACK(アクノリッジ)制御をする回路である。セレクタ5は、メモリIF側に搭載されている。
データ処理装置1は、複数のマスタデバイスのうちの、任意のマスタから供給されるデータを受けとる。受け取ったデータのデータ幅(データバス幅・ビット幅)によって、内臓メモリ2のデータ幅(データバス幅・ビット幅)を設定する。本実施形態のデータ処理装置1は、受け取ったデータのデータ幅(データバス幅・ビット幅)に基づいて、複数のマスタデバイスからの供給される転送要求を同時に処理する機能を備えている。また、データ処理装置1は、受け取ったデータのデータ幅(データバス幅・ビット幅)に基づいて、複数の内臓メモリ(第1内臓メモリ2−1〜第m内臓メモリ2−mを、ひとつの内蔵メモリとして使用する機能を備えている。
図2に示されているように、本実施形態のデータ処理装置1は、複数のマスタデバイス(第1マスタ6−1〜第nマスタ6−n)からの転送要求に対して、対応するBUS・IP4、および、第1メモリコントローラ3−1〜第mメモリコントローラ3−mの制御回路を介して、各データ幅(データバス幅・ビット幅):xの複数の内蔵メモリ(第1内臓メモリ2−1〜第m内臓メモリ2−m)にデータを送る。複数の内蔵メモリ(第1内臓メモリ2−1〜第m内臓メモリ2−m)の各々は、独立に動作する。そのため、複数のマスタデバイスのうちの任意のマスタから、内蔵メモリ2へのアクセス要求が重なる場合でも、同時にデータ処理が可能である。
本実施形態のデータ処理装置1において、第n+1マスタ7のような大容量のデータ幅(データバス幅・ビット幅)の処理を必要とする要求が来た場合には、第n+1マスタ7からBUS・IP4に対してREQ(リクエスト)信号で要求する。BUS・IP4は、他のマスタ(第1マスタ6−1〜第nマスタ6−n)のデータ処理の完了を、ACK(アクノリッジ)信号で第n+1マスタ7に通知する。メモリコントローラ3の第m+1メモリコントローラ8は、ACK(アクノリッジ)の通知と同時に、メモリIF側に設けられたセレクタ5の内蔵メモリのデータ幅(データバス幅・ビット幅)を切り替える。メモリコントローラ3は、内臓メモリ2の第1内臓メモリ2−1〜第m内臓メモリ2−mを、データ幅(データバス幅・ビット幅)を(m+1)・xとした1つのメモリとして機能させる。
図3は、本実施形態のデータ処理装置1のアドレス・マップを例示するブロック図である。複数の内蔵メモリ(第1内臓メモリ2−1〜第m内臓メモリ2−m)を独立にアクセスする場合と、データ幅(データバス幅・ビット幅)を(m+1)・xとした1つの内蔵メモリとして利用する場合とで分けることによって、特別にコントローラを設けずに本発明の2通りのアクセスが可能である。
本実施形態のデータ処理装置1は、内臓メモリ2のデータ幅(データバス幅・ビット幅)の割り当て設定を変更するだけで、異なるデータ幅(データバス幅・ビット幅)のマスタ(第1マスタ6−1〜第nマスタ6−n、第n+1マスタ7)のどのマスタからのデータ転送要求が来ても、再設計の必要なくデータ処理が可能である。
内蔵メモリ2へのアクセス要求が重なる場合に、そのアクセス要求に対する処理を並列的にすることが可能なときは、複数の内蔵メモリ(第1内臓メモリ2−1〜第m内臓メモリ2−m)の各々を、独立に動作させる。そのマスタ(第1マスタ6−1〜第nマスタ6−n)とは異なるデータ幅(データバス幅・ビット幅)のマスタ(第n+1マスタ7)からアクセス要求を受ける場合、内臓メモリ2の第1内臓メモリ2−1〜第m内臓メモリ2−mを、データ幅(データバス幅・ビット幅)を(m+1)・xとした1つのメモリとして機能させる。このように、本実施形態のデータ処理装置1は、内臓メモリ2をデータ幅(データバス幅・ビット幅)の応じて適切に利用することができる。
また、本実施形態のデータ処理装置1は、複数のマスタからのアクセスが重なる場合であっても、内蔵メモリ側のバスが独立しているため、複数のマスタ間の調停が必要なく同時動作が可能である。
本実施形態のデータ処理装置1は、データ転送要求の処理装置および処理方法に対して有効に作用する。特に、複数のマスタ側のIFと、メモリ側のIFとがマルチポートに接続されたメモリコントローラを有するデータ処理装置に適用することで有効に作用する。例えば、USB、PCI−Express、S−ATA、Ether、メディア系(SD、CF)等、それほど大容量のデータ処理を必要としないサブ・システム(IP、マクロ)は、第1マスタ6−1〜第nマスタ6−nに相当する。その第1マスタ6−1〜第nマスタ6−nからのアクセスが重なる場合、内臓メモリ2の第1内臓メモリ2−1〜第m内臓メモリ2−mを独立に機能させる。第n+1マスタ7は、大容量の画像を処理する装置などに相当する。そのような第n+1マスタ7に対するデータ処理を必要とする場合には、第1内臓メモリ2−1〜第m内臓メモリ2−mをひとつの内蔵メモリとして利用すれば良い。これによって、システムとして再設計の必要がなく、内蔵メモリの2通りの利用が可能となり、データ処理装置のサイズを削減することが可能となる。
以上、本願発明の実施の形態を具体的に説明した。本願発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
1…データ処理装置
2…内臓メモリ
2−1…第1内臓メモリ
2−2…第2内臓メモリ
2−m…第m内臓メモリ
3…メモリコントローラ
3−1…第1メモリコントローラ
3−2…第2メモリコントローラ
3−m…第mメモリコントローラ
4…BUS・IP
4−1…32bit_BUS・IP
4−2…64bit_BUS・IP
5…セレクタ
5−1…第1セレクタ
5−2…第2セレクタ
5−3…第3セレクタ
5−4…第4セレクタ
5−5…第5セレクタ
5−6…第6セレクタ
6−1…第1マスタ
6−2…第2マスタ
6−n…第nマスタ
7…第n+1マスタ
8…第m+1メモリコントローラ
101…バス
102…メモリ
104…マスタデバイス
105…マスタデバイス
106…マスタデバイス
110…バス
111…バス
112…バス
113…ローカルバッファ
114…ローカルバッファ
115…ローカルバッファ
2…内臓メモリ
2−1…第1内臓メモリ
2−2…第2内臓メモリ
2−m…第m内臓メモリ
3…メモリコントローラ
3−1…第1メモリコントローラ
3−2…第2メモリコントローラ
3−m…第mメモリコントローラ
4…BUS・IP
4−1…32bit_BUS・IP
4−2…64bit_BUS・IP
5…セレクタ
5−1…第1セレクタ
5−2…第2セレクタ
5−3…第3セレクタ
5−4…第4セレクタ
5−5…第5セレクタ
5−6…第6セレクタ
6−1…第1マスタ
6−2…第2マスタ
6−n…第nマスタ
7…第n+1マスタ
8…第m+1メモリコントローラ
101…バス
102…メモリ
104…マスタデバイス
105…マスタデバイス
106…マスタデバイス
110…バス
111…バス
112…バス
113…ローカルバッファ
114…ローカルバッファ
115…ローカルバッファ
Claims (8)
- 内蔵メモリと、
マスタデバイスから渡されたデータを前記内蔵メモリに転送するメモリコントローラと
を具備し、
前記内蔵メモリは、
第1データバス幅のデータに対応した第1内蔵メモリと、
前記第1内蔵メモリと独立に動作する第2内蔵メモリと
を含み、
前記メモリコントローラは、
前記マスタデバイスから供給されたデータのデータバス幅が、前記第1データバス幅を超えるとき、前記第1内蔵メモリと前記第2内蔵メモリとをあわせて単一のメモリデバイスとして機能させる
データ処理装置。 - 請求項1に記載のデータ処理装置において、
前記第2内蔵メモリが、前記第1データバス幅を超える第2データバス幅のデータに対応するとき、
前記メモリコントローラは、
前記マスタデバイスから供給されたデータのデータバス幅が、前記第2データバス幅を超えるとき、前記第1内蔵メモリと前記第2内蔵メモリとをあわせて単一のメモリデバイスとして機能させる
データ処理装置。 - 請求項2に記載のデータ処理装置において、
前記マスタデバイスは、
前記第1データバス幅のデータを供給する第1マスタと、
前記第2データバス幅のデータを供給し、前記第1マスタと独立に動作する第2マスタと、
前記第2データバス幅を超える第3データバス幅のデータを供給する第3マスタと
を含み、
前記メモリコントローラは、
前記第1データバス幅のデータと前記第2データバス幅のデータとを並列に受け取ったとき、
前記第1内蔵メモリと前記第2内蔵メモリとを各々独立に動作させ、
前記第1データバス幅のデータの前記第1内蔵メモリへの転送と、前記第2データバス幅のデータの前記第2内蔵メモリへの転送とを並列的に処理し、
前記第3データバス幅のデータを受け取ったとき、前記第1内蔵メモリと前記第2内蔵メモリとをあわせて単一のメモリデバイスとして機能させる
データ処理装置。 - 請求項3に記載のデータ処理装置において、さらに、
前記第3マスタから供給されるREQ(リクエスト)を受け取り、現在のデータ処理の状況に応じてACK(アクノリッジ)を提供するバス制御回路を具備し、
前記バス制御回路は、
前記第1データバス幅のデータまたは前記第2データバス幅のデータを、前記第1内蔵メモリまたは前記第2内蔵メモリに転送しているときに、前記第3マスタからのREQ(リクエスト)を受信した場合、前記第1データバス幅のデータまたは前記第2データバス幅のデータの処理が完了した後に、前記第3マスタにACK(アクノリッジ)を供給し、
前記メモリコントローラは、
前記ACK(アクノリッジ)の供給に対応して、前記第1内蔵メモリと前記第2内蔵メモリとを単一のメモリデバイスとして機能させる
データ処理装置。 - 請求項4に記載のデータ処理装置において、さらに、
前記メモリコントローラと前記内蔵メモリとの間に設けられたセレクタ回路を備え、
前記セレクタ回路は、
前記第1内蔵メモリの前段に設けられた第1セレクタと、
前記第2内蔵メモリの前段に設けられた第2セレクタと
を含み、
前記メモリコントローラは、
前記第1セレクタに接続され、前記第1データバス幅のデータを前記第1内蔵メモリに供給する第1メモリコントローラと、
前記第2セレクタに接続され、前記第2データバス幅のデータを前記第2内蔵メモリに供給する第2メモリコントローラと、
前記第1セレクタと前記第2セレクタの各々に接続され、前記第2データバス幅のデータを、前記第1セレクタと前記第2セレクタとを介して前記第1内蔵メモリと前記第2内蔵メモリ第3メモリコントローラと
を含む
データ処理装置。 - 内蔵メモリと、マスタデバイスから渡されたデータを前記内蔵メモリに転送するメモリコントローラとを具備するデータ処理装置のデータ処理方法であって、
(a)前記内蔵メモリのうちの、第1データバス幅のデータに対応した第1内蔵メモリと、前記第1内蔵メモリと独立に動作し、前記第1データバス幅を超える第2データバス幅のデータに対応した第2内蔵メモリとを特定するステップと、
(b)前記マスタデバイスから供給されたデータのデータバス幅が、前記第2データバス幅を超えるとき、前記第1内蔵メモリと前記第2内蔵メモリとをあわせて単一のメモリデバイスとして処理するステップと
を備える
データ処理方法。 - 請求項6に記載のデータ処理方法において、さらに
(c)前記マスタデバイスのうちの、前記第1データバス幅のデータを供給する第1マスタと、前記第2データバス幅のデータを供給し、前記第1マスタと独立に動作する第2マスタと、前記第2データバス幅を超える第3データバス幅のデータを供給する第3マスタとを特定するステップ
を備え、
前記(b)ステップは、
前記第1データバス幅のデータと前記第2データバス幅のデータとを並列に受け取ったとき、前記第1内蔵メモリと前記第2内蔵メモリとを各々独立に動作させ、前記第1データバス幅のデータの前記第1内蔵メモリへの転送と、前記第2データバス幅のデータの前記第2内蔵メモリへの転送とを並列的に処理するステップと、
前記第3データバス幅のデータを受け取ったとき、前記第1内蔵メモリと前記第2内蔵メモリとをあわせて単一のメモリデバイスとして処理するステップと
を備える
データ処理方法。 - 請求項7に記載のデータ処理方法において、さらに、
(d)前記第3マスタから供給されるREQ(リクエスト)を受け取り、現在のデータ処理の状況に応じてACK(アクノリッジ)を提供するステップを具備し、
前記(d)ステップは、
前記第1データバス幅のデータまたは前記第2データバス幅のデータを、前記第1内蔵メモリまたは前記第2内蔵メモリに転送しているときに、前記第3マスタからのREQ(リクエスト)を受信した場合、前記第1データバス幅のデータまたは前記第2データバス幅のデータの処理が完了した後に、前記第3マスタにACK(アクノリッジ)を供給するステップを含み、
前記(b)ステップは、
前記ACK(アクノリッジ)の供給に対応して、前記第1内蔵メモリと前記第2内蔵メモリとを単一のメモリデバイスとして処理するステップを含む
データ処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010012767A JP2011150613A (ja) | 2010-01-25 | 2010-01-25 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010012767A JP2011150613A (ja) | 2010-01-25 | 2010-01-25 | データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011150613A true JP2011150613A (ja) | 2011-08-04 |
Family
ID=44537511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010012767A Withdrawn JP2011150613A (ja) | 2010-01-25 | 2010-01-25 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011150613A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013051013A (ja) * | 2011-08-31 | 2013-03-14 | Renesas Electronics Corp | 半導体装置 |
-
2010
- 2010-01-25 JP JP2010012767A patent/JP2011150613A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013051013A (ja) * | 2011-08-31 | 2013-03-14 | Renesas Electronics Corp | 半導体装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04227557A (ja) | 情報処理装置 | |
JP2005235197A (ja) | 複数のマスタを含むサブシステムをオープンコアプロトコルを基盤とするバスに連結するためのバスシステム | |
EP1564646A2 (en) | Configurable embedded processor | |
JP2008027247A (ja) | メモリコントローラ | |
WO2010093538A1 (en) | Shared access memory scheme | |
US6959354B2 (en) | Effective bus utilization using multiple bus interface circuits and arbitration logic circuit | |
CN103106164A (zh) | 一种高效dma控制器 | |
JP4188446B2 (ja) | データ交換装置およびその方法 | |
JP2011150613A (ja) | データ処理装置 | |
JP2008140065A (ja) | アクセス調停装置、アクセス調停方法、及び情報処理装置 | |
JP2009003633A (ja) | 情報処理装置 | |
KR100718082B1 (ko) | 멀티포트 i2c 컨트롤러 및 그의 동작제어방법 | |
US20100180099A1 (en) | Apparatus, system and method for prefetching data in bus system | |
JP2007508620A (ja) | マルチマスタ共用資源システム中で使用するための通信ステアリング | |
JP5127470B2 (ja) | バス装置 | |
JP4599524B2 (ja) | データ処理装置及び方法 | |
JP4339338B2 (ja) | カードバスデバイスを備えた装置及びそのアクセス制御方法 | |
JP2003085128A (ja) | 半導体装置 | |
JP2009251783A (ja) | マルチcpuバス占有方式 | |
JP2005293435A (ja) | データ転送装置およびその設定方法 | |
US6839820B1 (en) | Method and system for controlling data access between at least two memory arrangements | |
JP4102740B2 (ja) | 情報処理装置 | |
JP2005276136A (ja) | バス装置 | |
WO2011021312A1 (ja) | 情報処理装置 | |
JP4395600B2 (ja) | データ処理装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130402 |