JP2015014872A - データ処理装置、データ処理方法およびプログラム - Google Patents

データ処理装置、データ処理方法およびプログラム Download PDF

Info

Publication number
JP2015014872A
JP2015014872A JP2013140653A JP2013140653A JP2015014872A JP 2015014872 A JP2015014872 A JP 2015014872A JP 2013140653 A JP2013140653 A JP 2013140653A JP 2013140653 A JP2013140653 A JP 2013140653A JP 2015014872 A JP2015014872 A JP 2015014872A
Authority
JP
Japan
Prior art keywords
memory
access
data
data processing
processing apparatus
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.)
Pending
Application number
JP2013140653A
Other languages
English (en)
Inventor
純 大槻
Jun Otsuki
純 大槻
公男 塩澤
Kimio Shiozawa
公男 塩澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013140653A priority Critical patent/JP2015014872A/ja
Publication of JP2015014872A publication Critical patent/JP2015014872A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】単一の機能ブロックからの複数のメモリアクセスの要求を調停して、メモリアクセスの高効率化を実現すること。
【解決手段】データ通信手段を有する機能ブロックと、機能ブロックをメモリに接続するメモリバスを有するデータ処理装置は、メモリに対する機能ブロックからの複数のアクセス要求の調停を、メモリのアクセス方式に従って制御するメモリコントローラを備え、機能ブロックは、データ通信手段を用いて、アクセス方式に基づいたデータ構成に従って、複数のアクセス要求に係るデータの通信を行う。
【選択図】図2

Description

本発明はデータ処理装置に関し、特にメモリへのアクセスが可能な機能ブロックを有し、データ通信が可能なデータ処理装置およびデータ処理方法に関する。
近年のデジタルカメラやデジタルビデオカメラなどのデジタル機器製品の急速な高機能化に伴い、製品の主要な要素であるデータ処理装置としてのシステムLSIも高機能化されており、さらなる高機能化も求められている。
システムLSIは、内部のシステムバスに対して、メモリ、CPU、マスタ機能ブロック、スレーブ機能ブロックが接続される構成を有している。システムLSIの高機能化に伴い、マスタ機能ブロックの増加、システムバスを介したメモリへのアクセスの高速化、高帯域化によって、各マスタ機能ブロック(以下、マスタと称す)からメモリに対するアクセスの調停制御の構築に関わる難易度が高くなっている。そのため、システムを破綻させることがないように、効率的にメモリアクセス制御を行うことが求められる。メモリアクセスの高効率化の手法としては、例えばバンクインタリーブアクセス方式が提案されている(特許文献1参照)。
特開平2−245858号公報
ところで、特許文献1では、複数マスタからのメモリアクセス要求信号のアクセス調停を行っている。しかし、単一のマスタからの複数のメモリアクセス要求信号の調停については触れられておらず、単一マスタからの複数のメモリアクセスの調停によるメモリアクセスの高効率化を実現できないという問題がある。
上記問題を解決するために、本発明によれば、データ通信手段を有する機能ブロックと、機能ブロックをメモリに接続するメモリバスを有するデータ処理装置は、メモリに対する機能ブロックからの複数のアクセス要求の調停を、メモリのアクセス方式に従って制御するメモリコントローラを備え、機能ブロックは、データ通信手段を用いて、アクセス方式に基づいたデータ構成に従って、複数のアクセス要求に係るデータの通信を行う。
本発明によれば、各々異なるメモリにアクセス可能な機能ブロック間において、バス帯域の高いメモリに対して、バンクインタリーブアクセスを用いた高効率なメモリアクセスを実現することが可能となる。
本発明の第1の実施例に係るデータ処理装置のブロック図 本発明の第1の実施例に係るデータ処理装置が有するメモリコントローラのブロック図 本発明の第1の実施例に係るデータ処理装置におけるアクセス要求の発行例を示す図 アクセスされるメモリの構成例を示す図 本発明の第1の実施例に係るデータ処置装置が有する機能ブロックのブロック図 本発明の第1の実施例に係るデータ処理装置の通信データの構成を示す図 本発明の第2の実施例に係るデータ処理装置のブロック図 本発明の第2の実施例に係るデータ処理装置が有するメモリコントローラのブロック図 本発明の第2の実施例に係るデータ処理装置が有する機能ブロックのブロック図 本発明の第1の実施例に係るデータ処理装置が有するメモリコントローラのメモリアアクセス要求の調停動作のフローチャートを示す図 本発明の第2の実施例に係るデータ処理装置が有するメモリコントローラのメモリアアクセス要求の調停動作のフローチャートを示す図
以下、本発明の好ましい実施の形態を、図面を用いて詳細に説明する。
図1乃至図6および図10を用いて、本発明の第1の実施例に係るデータ処置装置の構成を説明する。具体的には、データ処理装置としてのシステムLSIを例とし、当該システムLSIの間でデータ通信を行う場合に本発明を適用した実施例を説明する。
図1は、本実施例に係わるデータ処理装置としてのシステムLSIが互いにデータ通信を行うときの、各システムLSIの構成を示している。ここで、図1に示すシステムLSI100は、システム全体の活性化率が高く、メモリバス103のバス帯域も高い。また、システムLSI110は活性化率が低く、メモリバス113のバス帯域も低いものとする。さらに、本実施例で説明するメモリとは、SDRAM(Synchronous Dynamic Random Access Memory)であるとする。以下、システムLSI100からシステムLSI110へデータ通信を行う際の動作を例に、本実施例に係るデータ処理装置の構成を説明する。
図1において、CPU101は、CPUバス102を経由して、マスタ104〜107内のレジスタへのアクセスを可能とし、図示しないメモリに記憶されているプログラムをロードして実行することでシステムLSI100全体の制御を行う。マスタ104、マスタ105、マスタ106は、メモリバス103に接続されるバスマスタ機能を有する機能ブロックであり、メモリバス103、メモリコントローラ108を経由して、メモリ109へアクセスする。マスタ107は、マスタ104〜106と同じく、メモリバス103に接続されるバスマスタ機能を有する機能ブロックであり、メモリバス103、メモリコントローラ108を経由して、メモリ109へアクセスする。さらに、マスタ107は、システムLSI100の外部に対するデータ通信機能を有する機能ブロックである。マスタ107についての詳細は後述する。メモリコントローラ108は、メモリバス103を介したマスタ104〜107のメモリへのアクセス要求信号の調停や、システムLSI100の外部に接続されるメモリ109へのアクセスの制御を行うコントローラである。メモリコントローラ108についての詳細は後述する。
次に、CPU111は、CPUバス112を経由して、マスタ114、115内のレジスタへのアクセスを可能とし、図示しないメモリに記憶されているプログラムをロードして実行することでシステムLSI110全体の制御を行う。マスタ115は、メモリバス113に接続されるバスマスタ機能を有する機能ブロックであり、メモリバス113、メモリコントローラ116を経由して、メモリ117へアクセスする。マスタ114は、マスタ115と同じく、メモリバス113に接続されるバスマスタ機能を有する機能ブロックであり、メモリバス113、メモリコントローラ116を経由して、メモリ117へアクセスする。さらに、システムLSI110の外部に対するデータ通信機能を有する機能ブロックである。メモリコントローラ116は、メモリバス113を介したマスタ114、115のメモリへのアクセス要求信号の調停や、システムLSI110の外部に接続されるメモリ117へのアクセスの制御を行うコントローラである。
まず、図1、図2、図3、図4を用いてメモリコントローラ108について説明する。
図2は、メモリコントローラ108の詳細な構成を示すブロック図であり、図3は各マスタからのアクセス要求信号の発行状況を示す図であり、斜線で示す部分が各マスタからアクセス要求信号が発行されている期間を示す。また、図4は、図1に示すメモリ109の構成例を示す。メモリコントローラ108の要求信号保持部201は、特定のマスタからのアクセス要求を所定数だけ保持する機能を備えている。本実施例では、図3(b)にマスタ107−1〜107−8として示すように、要求信号保持部201は、マスタ107からのアクセス要求信号を最大8個保持することが可能である。さらに、マスタ107は、図3(b)のマスタ107−1〜107−8で示す最大8個の保持されているアクセス要求信号をORした信号を、マスタ107のアクセス要求信号としてアクセス権調停部202へ出力する(図3(b)のマスタ107(OR))。なお、本実施例では、アクセス要求信号を最大8個とするが、最大8個と限定する必要はない。
アクセス権調停部202は、メモリバス103を介して入力される各マスタ104〜107からのアクセス要求信号を調停して、選択したマスタへアクセス権を与える。各マスタからのアクセス要求信号が重複した場合は、あらかじめ決められた各マスタの優先度に応じて、アクセス権の調停を行う。ここでは、優先度が高い順にマスタ104、マスタ105、マスタ106、マスタ107の順にアクセス権の付与を決定する。なお、優先度はCPU101により設定可能とする。例えば、図3(a)に示すように、メモリ109へのアクセス権の調停を行うタイミングを示すジャッジポイント1では、マスタ104〜107の全てのマスタからのアクセス要求信号が重複している。このような場合は、アクセス要求信号を発行した順序に関係なく、優先度の最も高いマスタ104へメモリ109へのアクセス権を与えることで、マスタ104の制御によりメモリ109に対するデータ転送が処理される。
メモリ制御部203はメモリ109のコントローラであり、データの書き込み制御、読み出し制御等を行う機能を備えている。
次に、図3(b)に示すように、優先度の最も低いマスタ107は、ジャッジポイント2や3でのように、他のマスタとアクセス要求信号が重複している場合は、メモリ109へのアクセス権を与えられない。他方、ジャッジポイント4におけるように、他のマスタとアクセス要求信号が重複していない場合にのみ、マスタ107はメモリ109へのアクセス権を与えられる。ここで、図3(b)に示すメモリ109へのアクセス権の調停を行うタイミングを示すジャッジポイント4で、マスタ107に対してメモリ109へのアクセス権を与える場合について説明する。
図4に示すように、マスタ107が読み出すデータ群1乃至8が、メモリ109のバンク0〜2にまたがって配置されているとする。データ群1乃至8はそれぞれ、メモリ109の1回のバースト転送でアクセス可能なデータ群である。マスタ107から上記データ群1乃至8のデータ読み出しのアクセス要求信号を、データ群1乃至8の順にメモリバス103に発行する。すると、図2に示す要求信号保持部201にデータ群1乃至8の読み出しアクセス要求信号が保持される。ここで、図3(b)のジャッジポイント4におけるように、マスタ107に対してメモリ109へのアクセス権が与えられる場合、アクセス権調停部202は、直前のアクセスに係るデータのメモリ内の位置(アクセス位置)に従って調停を行う。即ち、要求信号保持部201に保持された上記データ群1乃至8のアクセス要求信号のどれかに対してアクセス許可信号を発行するかを、アクセス権調停部202が次のように制御する。なお、この制御による調停を、以下、バンクインタリーブアクセス方式と称する。
図3(b)のジャッジポイント4の直前のアクセス、つまりジャッジポイント3にてマスタ104がアクセスしたデータを、図4に斜線で示したデータ群401とする。直前にアクセスしたデータ401はバンク0のデータであり、かつデータ群1乃至3のデータとは異なるROW(行)のデータである。このため、図3(b)のジャッジポイント4では、図4のデータ群4のデータ読み出しのアクセス要求信号に対するアクセス許可信号を、アクセス権調停部202から出力する。このように、アクセス権調停部202は、メモリへのアクセス効率の向上のために、直前のアクセスと、同一バンクの異なるROWに対して、連続してアクセスしないように調停を制御する。
この調停制御は、次の理由に基づいている。前述したように、本実施例のデータ処理装置のメモリ109は、SDRAMである。SDRAMに対して直前のアクセスと同一バンクの異なるROWへアクセスする場合は、直前のアクセスが完全に完了するまで、次のアクセスに対するコマンドを発行することができず、アクセス効率が悪化してしまう。異なるバンクへのアクセスであれば、直前のアクセスによるデータ転送中に、次のアクセスのコマンドを発行することができ、コマンドのオーバーヘッドを削減することでアクセス効率を向上させることが可能となる。よって、データ群1乃至8の中で、同一バンクの異なるROWという条件に当てはまらない位置のデータ群4乃至8のうち、さらにアクセス要求信号の発行順が最も早いデータ群4をアクセス対象として決定し、データ群4に対するアクセス許可信号を出力する。アクセス権調停部202から出力されたデータ群4に対するアクセス許可信号は、メモリバス103を介して、マスタ107へ送られる。マスタ107は、アクセス許可信号を受けることにより、データ群4の読み出し処理を行うことになる。
ここで、上述したメモリコントローラ108によるアクセス要求の調停動作を図10に示すフローチャートを用いて説明する。
まず、ステップS1001でアクセス調停部202は、ジャッジポイントで示される調停タイミングに到達したかどうかを判定する。調停タイミングにある場合は、アクセス調停部202は、ステップS1002で、マスタからのアクセス要求信号があるかどうかを判定する。ない場合は、ステップS1001に戻る。ある場合は、ステップS1003で、アクセス調停部202は、複数のマスタとの間でアクセス要求信号が重複しているかどうかを判定する。重複している場合は、ステップS1004に進み、複数のマスタのうち、優先度の最も高いマスタを判定する(本実施例では、マスタ104)。ステップS1004での判定が済んだら、ステップS1005において、アクセス調停部202は、優先度の最も高いマスタにメモリ109へのアクセス権を与える。
ステップS1003で、複数のマスタとの間でのアクセス要求信号の重複がないと判定した場合は、アクセス調停部202は、ステップS1006で、アクセス要求信号を発行したマスタがバスマスタ107であるかどうかを判定する。アクセス要求信号を発行したマスタがバスマスタ107ない場合は、アクセス調停部202は、ステップS1005でそのマスタにメモリ109へのアクセス許可を付与する。アクセス要求信号を発行したマスタがバスマスタ107である場合は、ステップS1007で、アクセス調停部202は、要求信号保持部201にアクセス要求信号が複数あるかどうかを判定する。複数のアクセス要求信号がある場合は、ステップS1008で、アクセス調停部202は、バンクインタリーブアクセス方式に従ったアクセス調停を行う。アクセス調停部202は、ステップS1108の結果に従って、ステップS1005で、保持されているアクセス要求信号に対してアクセス権を与える。ステップS1007で、要求信号保持部201に複数のアクセス要求信号がないと判定された場合は、アクセス調停部202は、ステップS1005でそのアクセス要求信号にメモリ109へのアクセス権を与える。
次に、図1のマスタ107について、図5を用いて説明する。図5は、マスタ107の構成を示すブロック図である。
図5において、データ通信部501は、外部とのデータ通信を制御する機能を備える機能ブロックであり、DMAC502およびアドレス付加部503と接続している。DMAC502は、メモリバス103に接続されるマスタ機能を備えるDMAコントローラであり、データ通信部501およびアドレス付加部503と接続している。アドレス付加部503は、DMAC502からアドレス情報を取得してデータ通信部501へ送るアドレス取得の機能を備え、データ通信部501は、データ群1乃至8の各データ群に、メモリ109内の各データ群の先頭アドレス情報を付加する。即ち、マスタ107は、DMAC502の制御により、メモリバス103を介してメモリ109から読み出したデータ群1乃至8の各データ群に対してアドレス情報を付加して、システムLSI110へデータ通信する。
本実施例では、前述したメモリコントローラ108のバンクインタリーブアクセス方式に従って調停制御により、マスタ107のデータ読み出し要求に対して、データ群が4→1→2→3→5→6→7→8の順に読み出される。この場合、図6で斜線部601〜608として示すように、各データ群の直前に、各データ群のメモリ109内のアドレス情報が、アドレス付加部503により与えられ、データ通信部501により付加される。アドレス情報が付加され、メモリのアクセス方式に基づいたデータ構成に従った図6のデータが、データ通信部501によりシステムLSI110へ送られる。これにより、メモリ117には、システムLSIで受信されたデータ群が、アドレス情報に基づいて、データ群1乃至8の順で書き込まれる。
システムLSI100から出力されるデータを受信するシステムLSI110では、機能ブロック114が、受信した各データの直前に送られる(付加された)アドレス情報に従って、メモリ117の所定のアドレスに各データを順次書き込む。結果として、メモリ109に配置されたデータ群1乃至8がメモリ117へ書き込まれる。しかも、メモリ109の配置順序と同じ順序でメモリ117へデータ群1乃至8が書き込まれることになる。
なお、本実施例では、アドレス情報とデータを同一信号線で時系列に通信する構成を説明したが、これに限らず、アドレス情報をデータとは別の信号線を用いて通信することで、アドレス情報とデータを並列に通信することも可能である。また、本実施例では、システムLSI100からシステムLSI110へのデータ通信について説明したが、逆方向のデータ通信、つまりシステムLSI110からシステムLSI100への通信についても同様に可能である。この場合、システムLSI110から送られたデータ群をシステムLSI100が受信し、メモリ109への直前のアクセスに対して、同一バンクの異なるROWへのアクセスとならないように、メモリ109への書き込み順序を制御する。これにより、受信データ群をメモリ109への書き込む際に、メモリ109に対する高効率なアクセスを実現することが可能になる。
以上、本実施例では、異なるシステムLSI間のデータ通信を例にしてデータ処理装置の構成を説明したが、本発明は同一システムLSI内の異なる機能ブロック間のデータ通信にも適用可能である。
上述した本実施例によれば、各々異なるメモリにアクセス可能な機能ブロック間において、バス帯域の高いメモリに対して、バンクインタリーブアクセス方式を用いた高効率なメモリアクセスを実現することが可能となる。
第1の実施例では、同一のマスタから発行された複数のアクセス要求信号の調停をバンクインタリーブアクセス方式に従って行ったが、第2の実施例では、バス帯域とメモリのバッファ占有率に従ってアクセス方式を切り替える構成とする。以下、図7乃至9を用いて本実施例を説明する。なお、本実施例においても、第1の実施例と同様に、2つのシステムLSI間での通信を例に、本実施例に係るデータ処理装置の構成を説明する。
図7は、本実施例に係るデータ処理装置の全体ブロック図である。同図において、図1と同じ部分は同じ符号を付して示し、ここでの説明は省略する。なお、第1の実施例と同様に図7においても、システムLSI700は、システム全体の活性化率が高く、メモリバス103のバス帯域も高い。また、システムLSI710は活性化率が低く、メモリバス113のバス帯域も低いものとする。さらに、本実施例のメモリ709、717も、SDRAM(Synchronous Dynamic Random Access Memory)である。
図7のメモリコントローラ708について、図4、図7、図8および図11を用いて説明する。
図8は、メモリコントローラ708の構成を示すブロック図である。同図において、要求信号保持部801は、特定のマスタからのアクセス要求を保持する機能を備えており、本実施例では、マスタ707の要求信号を保持する。バス帯域監視部803は、各マスタからのアクセス要求信号よりメモリバス103のバス帯域を監視する。さらにバス帯域情報をアクセス権調停部802へ送る。バッファ占有率監視部804は、メモリ709内のバッファ領域718のデータ占有率を、メモリ制御部805のアクセス履歴から算出する。さらにバッファ領域718の占有率を示す情報をアクセス権調停部802へ送る。ここで、マスタ707は、所定量のデータがバッファ領域718に蓄積されたところで、バッファ領域718からデータを読み出し、外部へ出力する機能を備える。アクセス権調停部802は、メモリバス103を介して各マスタ104〜106、707からのアクセス要求信号を調停して、各マスタにアクセス権を与える。
以下、アクセス権調停部802が、マスタ707にメモリ709へのアクセス権を与える場合の動作について説明する。なお、本実施例においても、メモリ709のデータ群の構成は、第1の実施例と同様に、図4に示す構成とする。即ち、マスタ707からメモリ709へのアクセスの直前のアクセスとして、マスタ704がアクセスしたデータを、斜線で示したバンク0のデータ群401とする。また、マスタ707から読み出すデータ群は、メモリ709のバンク0〜2にまたがって配置されているデータ群1乃至8であり、それぞれメモリ709の1回のバースト転送でアクセス可能なデータ群である。
マスタ707は、データ群1乃至8のデータ読み出しのアクセス要求信号を、データ群1乃至8の順にメモリバス103に発行する。すると、要求信号保持部801が、データ群1乃至8の読み出しアクセス要求信号を保持する。ここで、マスタ707に対してメモリ709へのアクセス権を与える場合、本実施例ではその直前にアクセスされたデータの配置位置に基づくアクセス権調停部802による調停動作を、バス帯域とメモリのバッファ占有率に従って制御する。
以下、本調停動作の制御を説明する。
本実施例では、メモリコントローラ708は、バス帯域監視部803を備えており、図7に示す各マスタ104〜106、707からのアクセス要求信号より、メモリバス103のバス帯域を監視する。バス帯域監視部803にて、メモリバス103のバス帯域が第1の閾値以上と判定された場合は、メモリ109へのアクセス効率の向上のために、第1の実施例と同様にバンクインタリーブアクセス方式に従って、データ群4の読み出しを行う。他方、メモリバス103のバス帯域が第1の閾値未満と判定された場合には、データ群4の読み出しではなく、マスタ707からのアクセス要求信号の発行順に従ってデータ群1の読み出し動作を行う。以下、この調停動作をラスタスキャンアクセス方式と称す。
さらに、本実施例のメモリコントローラ708は、バッファ占有率監視部804を備え、メモリ109内のバッファ領域のデータ占有率を、メモリ制御部203のアクセス履歴から算出する。ここで、メモリコントローラ708により、バッファ占有率が第2の閾値未満と判定された場合は、バンクインタリーブアクセス方式に従ってデータ群4の読み出しを行う。しかし、バッファ占有率が第2の閾値以上の場合は、データ群4の読み出しではなく、マスタ707からのアクセス要求信号の発行順に従ってデータ群1の読み出し動作を行う。
よって、本実施例では、バス帯域監視部803によりメモリバス103のバス帯域が閾値以上であると判定され、かつ、バッファ占有率監視部804よりバッファ占有率が閾値未満と判定された場合は、データ群4の読み出しを行う。即ち、バンクインタリーブアクセス方式に従って調停を行う。また、メモリバス103のバス帯域が閾値未満、または、バッファ占有率が閾値以上の場合には、データ群1の読み出しを行う。即ち、ラスタスキャンアクセス方式に従って調停を行う。メモリコントローラ708は、前述したように、バス帯域監視部803およびバッファ占有率監視部804の判定に従って、メモリ709へのアクセス方法を適応的に切り替える制御を行う。
ここで、上述したメモリコントローラ208によるアクセス要求の調停動作を図11に示すフローチャートを用いて説明する。同図において、図10と同じ部分は、同じ符号を付して示し、その説明を省略する。図11のフローチャートに従う調停動作で、図10のフローチャートに従った調停動作と異なるのはステップS1007後の処理である。以下、相違部分について説明する。
ステップS1007で、要求信号保持部201にマスタ707からのアクセス要求信号が複数あると判定された場合は、ステップS1101で、バス帯域監視部803は、メモリバス103のバス帯域が閾値以上であるかどうかを判定する。バス帯域監視部803が、メモリバス103のバス帯域が閾値以上であると判定した場合は、ステップS1102に進み、バッファ占有率監視部804によりバッファ占有率が閾値未満かどうかを判定する。バッファ占有率監視部804がバッファ占有率が閾値未満である判定した場合は、アクセス権調停部802は、バンクインタリーブアクセス方式に従って調停を行う。他方、ステップS1101で、バス帯域監視部803が、メモリバス103のバス帯域が閾値未満であると判定した場合、ステップS1103で、アクセス権調停部802はラスタスキャンアクセス方式に従った調停を行う。また、ステップS1102で、バッファ占有率監視部804が、バッファ占有率が閾値以上であると判定した場合も、ステップS1103で、アクセス権調停部802はラスタスキャンアクセス方式に従った調停を行う。
次に、本実施例に係るマスタ707について説明する。
図9は、マスタ707の構成を示すブロック図である。図において、図5と同じ部分は同じ符号を付して示す。
図において、データ通信ブロック901は、外部とのデータ通信を制御する機能を備える機能ブロックである。DMAC502およびアドレス付加部903と接続される。DMAC502は、メモリバス103に接続されるマスタ機能を備えるDMAコントローラであり、データ通信ブロック901およびアドレス付加部903に接続される。アドレス付加部903は、DMAC902より得るアドレス情報をデータ通信ブロック901へ送る機能を備える機能ブロックである。
本実施例のマスタ707は、DMAC502より得られるアドレス情報に基づいて、メモリコントローラ708が、前述するバンクインタリーブアクセスとラスタスキャンアクセスのどちらを選択しているかを判定する機能を備える。バンクインタリーブアクセスが選択されている場合には、先頭にバンクインタリーブアクセスを示す情報を付加し、さらに外部出力する各データ群の直前に、各々対応するメモリ709のアドレス情報を付加して通信する。また、ラスタスキャンアクセスが選択されている場合には、先頭にラスタスキャンアクセスを示す情報を付加し、その後、先頭のデータ群の直前にのみアドレス情報を付加する。他のデータ群の直前には前述したアドレス情報を付加せず、各データ群のみを通信する。先頭のデータ群を除いた各データ群に対して、アドレス情報を付加しないことによりデータ通信の効率を上げることができる。このように、本実施例のマスタ707は、メモリコントローラ708で選択されたメモリ709へのアクセス方式によって、外部出力データへのアドレス情報を付加する方法を適応的に切り替える機能を備える。
以上、本発明の実施例を、異なるシステムLSI間のデータ通信を例にして説明したが、同一システムLSI内の異なる機能ブロック間のデータ通信にも適用可能である。
上述した実施形態において図10および11示した各処理は、各処理の機能を実現する為のプログラムをメモリから読み出してCPU101が実行することによりその機能を実現させるものである。
尚、上述した構成に限定されるものではなく、図10および11に示した各処理の全部または一部の機能を、専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記憶媒体、RAM以外の揮発性のメモリであってもよい。また、それらの組合せによるコンピュータ読み取り、書き込み可能な記憶媒体より構成されてもよい。
また、図10および11に示した各処理の機能を実現する為のプログラムをコンピュータ読み取り可能な記憶媒体に記録して、この記憶媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。具体的には、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含む。
また、「コンピュータ読み取り可能な記憶媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記憶媒体」とは、一定時間プログラムを保持しているものも含むものとする。例えば、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)も含む。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。

Claims (16)

  1. データ通信手段を有する機能ブロックと、前記機能ブロックをメモリに接続するメモリバスを有するデータ処理装置において、
    前記メモリに対する前記機能ブロックからの複数のアクセス要求の調停を、前記メモリのアクセス方式に従って制御するメモリコントローラを備え、
    前記機能ブロックは、前記データ通信手段を用いて、前記アクセス方式に基づいたデータ構成に従って、前記複数のアクセス要求に係るデータの通信を行うことを特徴とするデータ処理装置。
  2. 前記メモリコントローラは、前記機能ブロックからの所定数のアクセス要求を保持する保持手段を有し、前記保持手段に保持された複数のアクセス要求のアクセス許可を前記機能ブロックに付与する順序を、前記アクセス方式に従って決定することを特徴とする請求項1に記載のデータ処理装置。
  3. 前記アクセス方式はバンクインタリーブアクセス方式であり、前記メモリコントローラは、前記バンクインタリーブアクセス方式で決定される前記メモリのアクセス位置に従って、前記アクセス許可を付与する順序を決定し、前記データ通信手段は、前記アクセス許可の順序に従って、前記データの通信を行うことを特徴とする請求項2に記載のデータ処理装置。
  4. 前記機能ブロックは、前記複数のアクセス要求に係るメモリのアドレス情報を取得するアドレス取得手段を有し、前記通信手段は、前記データに前記アドレス情報を付加することを特徴とする請求項1乃至3のいずれか一項に記載のデータ処理装置。
  5. 前記データ通信手段は、前記データと前記アドレス情報を、異なる信号線を用いて通信することを特徴とする請求項4に記載のデータ処理装置。
  6. 前記メモリコントローラは、前記メモリバスのバス帯域を監視するバス帯域監視手段を備え、前記メモリバスのバス帯域に従って、前記メモリへのアクセス方式を切り替え、前記データ通信手段は、切り替えられたアクセス方式の情報を前記データに付加することを特徴とする請求項1乃至5のいずれか一項に記載のデータ処理装置。
  7. 前記メモリコントローラは、前記メモリバスのバス帯域が第1の閾値未満の場合は、前記アクセス方式をラスタスキャンアクセス方式に切り替えることを特徴とする請求項6に記載のデータ処理装置。
  8. 前記メモリコントローラは、前記メモリのバッファ領域の占有率を監視する占有率監視手段を有し、前記メモリのバッファ領域の占有率に応じて、前記メモリへのアクセス方式を切り替え、前記データ通信手段は、切り替えられたアクセス方式の情報を前記データに付加することを特徴とする請求項6又は7に記載のデータ処理装置。
  9. 前記メモリコントローラは、前記メモリのバッファ領域の占有率が第2の閾値以上の場合に、前記アクセス方式をラスタスキャンアクセス方式に切り替えることを特徴とする請求項8に記載のデータ処理装置。
  10. 前記データ通信手段は、前記アクセス方式の切り替えに従って、前記データに付加するアドレス情報を決定することを特徴とする請求項6乃至9のいずれか一項に記載のデータ処理装置。
  11. 前記メモリは、SDRAM(Synchronous Dynamic Random Access Memory)であることを特徴とする請求項1乃至10のいずれか一項に記載のデータ処理装置。
  12. データ通信手段を有する機能ブロックと、前記機能ブロックをメモリに接続するメモリバスを有するデータ処理装置の制御方法において、
    前記メモリに対する前記機能ブロックからの複数のアクセス要求の調停を、前記メモリのアクセス方式に従って制御するメモリ制御ステップと、
    前記データ通信手段が、前記アクセス方式に基づいたデータ構成に従って、前記複数のアクセス要求に係るデータの通信を行う通信ステップと
    を備えることを特徴とする制御方法。
  13. データ通信手段を有する機能ブロックと、前記機能ブロックをメモリに接続するメモリバスを有するデータ処理装置を制御するプログラムであり、
    コンピュータを、
    前記メモリに対する前記機能ブロックからの複数のアクセス要求の調停を、前記メモリのアクセス方式に従って制御する手段、
    前記アクセス方式に基づいたデータ構成に従って、前記複数のアクセス要求に係るデータの通信を行う前記データ通信手段
    として機能させるプログラム。
  14. 請求項13のプログラムを記録したコンピュータが読み取り可能な記憶媒体。
  15. コンピュータを、請求項1乃至11のいずれか一項に記載されたデータ処理装置の各手段として機能させるプログラム。
  16. コンピュータを、請求項1乃至11のいずれか一項に記載されたデータ処理装置の各手段として機能させるプログラムを格納した記憶媒体。
JP2013140653A 2013-07-04 2013-07-04 データ処理装置、データ処理方法およびプログラム Pending JP2015014872A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013140653A JP2015014872A (ja) 2013-07-04 2013-07-04 データ処理装置、データ処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013140653A JP2015014872A (ja) 2013-07-04 2013-07-04 データ処理装置、データ処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2015014872A true JP2015014872A (ja) 2015-01-22

Family

ID=52436576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013140653A Pending JP2015014872A (ja) 2013-07-04 2013-07-04 データ処理装置、データ処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2015014872A (ja)

Similar Documents

Publication Publication Date Title
JP4742116B2 (ja) アウトオブオーダdramシーケンサ
JP4805351B2 (ja) Dramの並列処理を向上するシステム及び方法
KR20150017526A (ko) 메모리 명령 스케줄러 및 메모리 명령 스케줄링 방법
US8954644B2 (en) Apparatus and method for controlling memory
US20140344512A1 (en) Data Processing Apparatus and Memory Apparatus
US9026746B2 (en) Signal control device and signal control method
CN108139994B (zh) 内存访问方法及内存控制器
JP2023539737A (ja) 複数のコマンドサブキュー及び対応するアービタを有するメモリコントローラ
KR20220116041A (ko) 이기종 메모리 시스템용 시그널링
US20070156937A1 (en) Data transfer in multiprocessor system
EP2998867B1 (en) Data writing method and memory system
WO2019141050A1 (zh) 一种刷新处理方法、装置、系统及内存控制器
JP5911548B1 (ja) 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US20090119429A1 (en) Semiconductor integrated circuit
US20230269205A1 (en) Switch for transmitting packet, network on chip having the same, and operating method thereof
KR101022473B1 (ko) 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
KR101022472B1 (ko) 효율적으로 버스를 사용하는 방법
JP2017097466A (ja) ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム
US8301816B2 (en) Memory access controller, system, and method
JP5383159B2 (ja) バス中継装置及び制御方法
WO2021075076A1 (ja) 情報処理装置、及び情報処理方法
US9760508B2 (en) Control apparatus, computer system, control method and storage medium
JP2015014872A (ja) データ処理装置、データ処理方法およびプログラム
US8713205B2 (en) Data transfer device and data transfer method
JP2007264751A (ja) データ転送制御装置