JP2010277180A - 情報処理システム及びデータ転送方法 - Google Patents

情報処理システム及びデータ転送方法 Download PDF

Info

Publication number
JP2010277180A
JP2010277180A JP2009126784A JP2009126784A JP2010277180A JP 2010277180 A JP2010277180 A JP 2010277180A JP 2009126784 A JP2009126784 A JP 2009126784A JP 2009126784 A JP2009126784 A JP 2009126784A JP 2010277180 A JP2010277180 A JP 2010277180A
Authority
JP
Japan
Prior art keywords
transfer
data read
data
read command
memory
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.)
Granted
Application number
JP2009126784A
Other languages
English (en)
Other versions
JP5446464B2 (ja
Inventor
Akinori Hashimoto
彰徳 橋本
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2009126784A priority Critical patent/JP5446464B2/ja
Priority to US12/782,185 priority patent/US8504743B2/en
Publication of JP2010277180A publication Critical patent/JP2010277180A/ja
Application granted granted Critical
Publication of JP5446464B2 publication Critical patent/JP5446464B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】初期アクセスレイテンシによるデータ処理速度の低下を低減するとともに無駄なメモリアクセスの発生しない情報処理システムを提供する。
【解決手段】情報処理システムは、連続する複数回のデータ読み出し命令を出力する際に転送状態信号を合わせて出力し、ある1つのデータ読み出し命令に対して少なくとも1つのデータ読み出し命令が後続することを転送状態信号により示すマスタモジュールと、上記ある1つのデータ読み出し命令と転送状態信号とをマスタモジュールから受信すると、転送状態信号に応答して、上記ある1つのデータ読み出し命令に後続する少なくとも1つのデータ読み出し命令に対応するデータをメモリから読み出して保持するとともに、上記ある1つのデータ読み出し命令に対応するデータをマスタモジュールに供給するメモリコントローラを含むことを特徴とする。
【選択図】図1

Description

本発明は、一般にデータ転送方式に関し、詳しくは連続して複数のデータを転送するバースト転送方式に関する。
システムLSI(Large Scale Integration)には、LSI全体を制御するCPU及びLSI外部のメモリにアクセスするメモリコントローラに加え、システムの用途に応じた機能モジュールが内蔵される。例えば画像処理・データ処理用LSIにおいては、画像処理用のグラフィック・プロセッサ、データ処理用のDSP(Digital Signal Processor)、メモリ間のデータ転送用のDMAC(Direct Memory Access Controller)等が内蔵される。これらの各ユニットは、バスに対するアクセスを要求し実行するマスタモジュールとして動作する。マスタモジュールが外部のメモリに対してデータ転送要求を発行すると、メモリコントローラが、そのデータ転送命令に応じてチップ外部のメモリに対するコマンドを制御する。複数のマスタモジュールが同時にデータ転送要求を発行した場合には、調停回路により、優先的にデータ処理を行う必要のある命令に対して必要な帯域を確保する。このようなシステムLSIにおいては、その処理性能が、メモリコントローラのデータ転送処理速度に大きく依存することになる。
システムLSIのオンチップ・バス(内部バス)でのデータ転送命令は、ある特定のインターフェース・プロトコルに従って実行される。汎用的なプロトコルとしてはARM社のAMBAが広く用いられており、またOCP−IP(Open Core Protocol International Partnership)のOCPも広く知られている。
汎用的なインターフェース・プロトコルでは、一回のバースト転送における最大転送長が定められている。例えば、AMBAのAXI(Advanced eXtensible Interface)やAHB(Advanced High-Performance Bus)では最大転送長は16となっている。マスタモジュールが比較的データ量の多い転送を実行したい場合は、最大転送長のバースト転送を複数回実行することになる。
マスタモジュールとしてCPUがメモリに対するリード要求を発行する場合を考える。例えばメモリのバースト長を4に設定してあるとする。まずCPUがアドレスA00を指定するとともに転送長が4のバースト転送命令を発行する。これに応じて、メモリコントローラは、外部メモリに対してアドレスA00を指定するとともに読み出しコマンドを発行する。読み出しコマンドからCASレイテンシの数サイクルが経過した後、メモリのアドレスA00から4つのデータが連続して読み出され、メモリコントローラにより受信される。メモリコントローラは、受信した4つの読み出しデータを内部バスを介してCPUに供給する。CPUによるバースト転送命令発行から最初のデータ受信までの遅れを初期アクセスレイテンシと呼ぶ。この初期アクセスレイテンシは、外部メモリのCASレイテンシ、LSIと外部メモリとの接続におけるボード上の配線遅延、LSI内部のCPUとメモリコントローラ間での遅れ等により定まる。
データ転送対象のデータ量が4よりも大きい場合、CPUは引き続きデータ転送命令を発効することになる。即ち、CPUが次のアドレスA04を指定するとともに転送長が4のバースト転送命令を発行する。これに応じて、メモリコントローラは、外部メモリに対してアドレスA04を指定するとともに読み出しコマンドを発行する。読み出しコマンドからCASアクセスレイテンシの数サイクルが経過した後、メモリのアドレスA04から4つのデータが連続して読み出され、メモリコントローラにより受信される。メモリコントローラは、受信した4つの読み出しデータを内部バスを介してCPUに供給する。以下同様にして、所望のデータ量の転送が完了するまで、4つのデータのバースト読み出しが繰り返されることになる。
このように、バースト転送を複数回実行して所望のデータ量のデータ転送を行なう際には、バースト転送を1回実行する度に、上記の初期アクセスレイテンシ分のサイクルだけ待ち時間が発生することになる。高速なデータ転送処理が要求されるシステムでは、初期アクセスレイテンシがバースト転送毎に毎回発生することは好ましくない。
初期アクセスレイテンシによるデータ処理能力の低下を軽減するために、マスタモジュールからのデータ転送命令におけるアドレスをメモリコントローラ内部で計算し、メモリデータの先読みを実行する手法がある(例えば特許文献1)。しかし、この場合常にメモリデータを先読みするために、データ転送終了時には既に先読みしたデータを破棄する必要があり、無駄なメモリアクセスが発生してしまう。
特開平11−232171号公報
以上を鑑みると、初期アクセスレイテンシによるデータ処理速度の低下を低減するとともに無駄なメモリアクセスの発生しない情報処理システムが望まれる。
情報処理システムは、連続する複数回のデータ読み出し命令を出力する際に転送状態信号を合わせて出力し、ある1つのデータ読み出し命令に対して少なくとも1つのデータ読み出し命令が後続することを前記転送状態信号により示すマスタモジュールと、前記ある1つのデータ読み出し命令と前記転送状態信号とを前記マスタモジュールから受信すると、前記転送状態信号に応答して、前記ある1つのデータ読み出し命令に後続する少なくとも1つのデータ読み出し命令に対応するデータをメモリから読み出して保持するとともに、前記ある1つのデータ読み出し命令に対応するデータを前記マスタモジュールに供給するメモリコントローラを含むことを特徴とする。
データ転送方法は、a)マスタモジュールから連続する複数回のデータ読み出し命令を出力し、b)ある1つのデータ読み出し命令に対して少なくとも1つのデータ読み出し命令が後続することを示す転送状態信号を生成し、c)前記ある1つのデータ読み出し命令と前記転送状態信号とに応じて、既にメモリから読み出されてバッファに格納されている前記ある1つのデータ読み出し命令に対応するデータを前記バッファから前記マスタモジュールに供給し、d)前記ある1つのデータ読み出し命令と前記転送状態信号とに応じて、前記ある1つのデータ読み出し命令に後続する少なくとも1つのデータ読み出し命令に対応するデータをメモリから読み出して前記バッファに格納する各段階を含むことを特徴とする。
開示のバースト転送方法は、一連のバースト転送を実行する際に、最初のバースト転送に対しては初期アクセスレイテンシが発生するが、2回目以降のバースト転送に対しては初期アクセスレイテンシが発生しない。また最後のバースト転送に対しては、後続するバースト転送が存在しないことが分かるので、メモリコントローラはデータの先読みを実行しない。これにより、無駄なメモリアクセスを避けることができる。
システムLSI及びメモリを含むシステムの構成の一例を示す図である。 CPU及びメモリコントローラの動作の一例を示す図である。 CPU側での転送状態信号生成処理を示すフローチャートである。 CPUの転送状態信号生成回路及び関連する回路の構成の一例を示す図である。 メモリコントローラの構成の一例を示す図である。 システムLSI及びメモリを含むシステムの構成の変形例を示す図である。 CPU及びメモリコントローラの動作の一例を示す図である。 CPU側での転送状態信号生成処理を示すフローチャートである。 CPUの転送状態信号生成回路及び関連する回路の構成の一例を示す図である。 転送状態信号生成回路の構成の一例を示す図である。 CPUの転送状態信号生成回路に関連する部分の構成の変形例を示す図である。
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
図1は、システムLSI及びメモリを含むシステムの構成の一例を示す図である。図1において、情報処理システムであるシステムLSI10がメモリ20に接続されている。システムLSI10は、読み出し命令或いは書き込み命令とアクセスアドレスとをメモリ20に供給し、指定したアドレスに対する読み出し動作或いは書き込み動作を実行する。メモリ20は例えばSDRAM(Synchronous Dynamic Random Access Memory)であってよく、連続してデータを読み出せるバースト転送が可能なメモリであってよい。例えばSDRAMの場合、メモリ20のバースト長は、モードレジスタ設定コマンドにより所望の長さに予め設定しておくことができる。
システムLSI10は、マスタモジュールとして機能するCPU11、メモリ20へのアクセスを制御するメモリコントローラ12、及びCPU11とメモリコントローラ12との間を接続するバス回路13を含む。バス回路13でのデータ転送命令は、例えばARM社のAMBA等のインターフェース・プロトコルに従って実行される。なお本実施例では、マスタモジュールの例としてCPUを用いて説明するが、マスタモジュールはCPUに限られるものではない。
CPU11は、転送状態信号生成回路21を含む。転送状態信号生成回路21は、CPU11が連続して複数回のバースト転送命令を発行する際に、転送状態信号STをバースト転送命令に合わせて出力する。この転送状態信号STは、ある1つのデータ転送命令に対して少なくとも1つのデータ転送命令が後続することを示す信号であってよい。図1に示す例では、転送状態信号STは、複数回のバースト転送のうちの最後でないデータ転送命令に対しては、1つのデータ転送命令が後続することを示す第1の信号状態(例えば値1)でよい。また複数回のバースト転送のうちの最後のデータ転送命令に対しては、0個のデータ転送命令が後続することを示す第2の信号状態(例えば値0)でよい。生成された転送状態信号STは、データ転送のI/Fプロトコル(インターフェース・プロトコル)における制御信号と供に、バス回路13を経由でメモリコントローラ12に供給される。
メモリコントローラ12は、転送長&転送アドレス制御回路22と先読みデータ保存用バッファ23とを含む。メモリコントローラ12は、1つのデータ転送命令と転送状態信号STとを受信すると、転送状態信号STに応じて、受信したデータ転送命令に後続する少なくとも1つのデータ転送命令に対応するデータをメモリ20から先読みする。先読みしたデータは、先読みデータ保存用バッファ23に格納・保持される。また受信したデータ転送命令に後続するデータ転送命令に対応するデータをアクセスするために、転送長&転送アドレス制御回路22が用いられる。
図1の例では、前述のように、転送状態信号STは1又は0を示す。第1の信号状態(例えば値1)である転送状態信号STを受信すると、メモリコントローラ12は、一緒に受信したデータ転送命令が最後のデータ転送命令ではなく、後続するデータ転送命令が1つは存在することを知る。この場合、メモリコントローラ12は、受信した最後でないデータ転送命令の次の1つのデータ転送命令に対応するデータをメモリ20から読み出す。読み出したデータは、先読みデータ保存用バッファ23に格納・保持される。また第2の信号状態(例えば値0)である転送状態信号STを受信すると、メモリコントローラ12は、一緒に受信したデータ転送命令が最後のデータ転送命令であり、後続するデータ転送命令が存在しないことを知る。この場合には、メモリコントローラ12は、新たにメモリ20からのデータ読み出し動作を実行することはない。従って、無駄なメモリアクセスは発生しない。
メモリコントローラ12は更に、受信したデータ転送命令に対応するデータをCPU11に供給する。受信したデータ転送命令に対応するデータが既にメモリ20から読み出されて先読みデータ保存用バッファ23に格納されていれば、この格納データをCPU11に供給すればよい。また受信したデータ転送命令が一番最初のデータ転送命令である場合には、先読みデータ保存用バッファ23に対応データが格納されていないので、最初のデータ転送命令に対応するデータをメモリ20から読み出して、直接にCPU11に供給すればよい。
図2は、CPU11及びメモリコントローラ12の動作の一例を示す図である。(a)及び(f)に示すクロック信号CLKに同期して、CPU11とメモリコントローラ12との間のデータ転送、及びメモリコントローラ12とメモリ20との間のデータ転送が実行される。図面の見やすさを考慮して同一のクロック信号CLKを(a)と(f)とに2つ示してある。CPU11は、(b)に示すアドレス信号ADDによりアクセスアドレスを指定し、(c)に示すコントロール信号CNTLによりデータ転送を要求する。またCPU11は、(d)に示す転送状態信号をデータ転送命令に合わせて送信する。(e)は、CPU11がメモリコントローラ12から受信するデータを示す。メモリコントローラ12は、(g)に示すコマンド信号CMDにより読み出しコマンド或いは書き込みコマンドを指定し、(h)に示すアドレス信号ADDによりアクセスアドレスを指定する。(i)は、メモリコントローラ12がメモリ20から受信する読み出しデータDQを示す。
最初に、CPU11からアドレスA00に対する転送長4のバースト転送要求が発行される。このバースト転送要求に合わせてCPU11から出力される転送状態信号STは、少なくとも1つの後続するバースト転送要求が存在することを示す値HIGHに設定されている。なお図2の例では、転送状態信号STはバースト転送要求と同一のサイクルに同一の長さだけ出力されているが、1つの転送状態信号STと1つのバースト転送要求との対応付けができればよく、必ずしも同一のタイミングである必要はない。このHIGH状態の転送状態信号STにより、メモリコントローラ12は、現在の転送要求であるアドレスA00のバースト転送の後にアドレスA04のバースト転送が実行されることを予め知ることができる。なお、次回のバースト転送要求がアドレスA04に対するものであることは、バースト長が4であり、今回のバースト転送要求の対象アドレスがアドレスA00であることから計算できる。
現在のアドレスA00に対するバースト転送要求が最初のバースト転送要求であるので、メモリコントローラ12の先読みデータ保存用バッファ23には、アドレスA00に対するバースト転送要求に対応するデータは格納されていない。従って、メモリコントローラ12は、アドレスA00を指定しながら読み出し命令READを発行することにより、メモリ20からアドレスA00を開始アドレスとする4つのデータD00乃至D03を読み出す。例えば1つのデータサイズが32ビット幅(4バイト)であれば、4バイトのデータを4つ読み出すことになる。メモリコントローラ12は更に、アドレスA04を指定しながら読み出し命令READを発行することにより、メモリ20からアドレスA04を開始アドレスとする4つのデータD04乃至D07を先読みデータとして読み出す。メモリ20はバースト長4に設定されているので、読み出し命令を2回発行して、4つのデータ読み出しを2回行なうことになる。仮に読み出し命令毎にバースト長を可変に設定できるのであれば、8つのデータD00乃至D07をバースト長8の1回の読み出し命令で読み出せばよい。なお図2では、図示の簡略化のために、読み出し命令READとアドレス指定でデータ読み出し動作が実行されるように示してある。実際には、メモリ20が例えばSDRAMであれば、アクティブコマンドACTとともにローアドレスを指定し、読み出しコマンドREADとともにコラムアドレスを指定することにより、読み出し動作が行なわれる。
メモリコントローラ12は、今回のアドレスA00に対するバースト転送要求に対応するデータD00乃至D03を直ちにCPU11に転送する。この場合、メモリ20でのCASレイテンシの3サイクルとメモリコントローラ12での遅れとが足し合わされ、5サイクルの初期アクセスレイテンシが発生している。またメモリコントローラ12は、次回のアドレスA04に対するバースト転送要求に対応するデータD04乃至D07を先読みデータ保存用バッファ23に格納・保持する。
CPU11は、最初のアドレスA00に対するバースト転送要求に対応するデータD00乃至D03を受け取ってから、所定の内部処理を実行した後に、次のアドレスA04に対するバースト転送要求を発行する。このバースト転送要求に合わせてCPU11から出力される転送状態信号STは、少なくとも1つの後続するバースト転送要求が存在することを示す値HIGHに設定されている。現在のアドレスA04に対するバースト転送要求は最初のバースト転送要求ではないので、メモリコントローラ12の先読みデータ保存用バッファ23には、アドレスA04に対するバースト転送要求に対応するデータが既に格納されている。従って、メモリコントローラ12は、今回のアドレスA04に対するバースト転送要求に対応するデータD04乃至D07を直ちに先読みデータ保存用バッファ23からCPU11に転送する。この場合、CPU11がデータを受け取るための初期アクセスレイテンシは発生しない。またメモリコントローラ12は、次のアドレスA08を指定しながら読み出し命令READを発行することにより、メモリ20からアドレスA08を開始アドレスとする4つのデータD08乃至D0bを読み出す。メモリコントローラ12は、次回のアドレスA08に対するバースト転送要求に対応するデータD08乃至D0bを先読みデータ保存用バッファ23に格納・保持する。
CPU11は、2番目のアドレスA04に対するバースト転送要求に対応するデータD04乃至D07を受け取ってから、所定の内部処理を実行した後に、次のアドレスA08に対するバースト転送要求を発行する。このバースト転送要求に合わせてCPU11から出力される転送状態信号STは、少なくとも1つの後続するバースト転送要求が存在することを示す値HIGHに設定されている。現在のアドレスA08に対するバースト転送要求は最初のバースト転送要求ではないので、メモリコントローラ12の先読みデータ保存用バッファ23には、アドレスA08に対するバースト転送要求に対応するデータが既に格納されている。従って、メモリコントローラ12は、今回のアドレスA08に対するバースト転送要求に対応するデータD08乃至D0bを直ちに先読みデータ保存用バッファ23からCPU11に転送する。この場合、CPU11がデータを受け取るための初期アクセスレイテンシは発生しない。またメモリコントローラ12は、次のアドレスA0cを指定しながら読み出し命令READを発行することにより、メモリ20からアドレスA0cを開始アドレスとする4つのデータD0c乃至D0fを読み出す。メモリコントローラ12は、次回のアドレスA0cに対するバースト転送要求に対応するデータD0c乃至D0fを先読みデータ保存用バッファ23に格納・保持する。
CPU11は、3番目のアドレスA08に対するバースト転送要求に対応するデータD08乃至D0bを受け取ってから、所定の内部処理を実行した後に、最後のアドレスA0cに対するバースト転送要求を発行する。このバースト転送要求に合わせてCPU11から出力される転送状態信号STは、0個の後続するバースト転送要求が存在することを示す値LOWに設定されている。現在のアドレスA0cに対するバースト転送要求は最初のバースト転送要求ではないので、メモリコントローラ12の先読みデータ保存用バッファ23には、アドレスA0cに対するバースト転送要求に対応するデータが既に格納されている。従って、メモリコントローラ12は、今回のアドレスA0cに対するバースト転送要求に対応するデータD0c乃至D0fを直ちに先読みデータ保存用バッファ23からCPU11に転送する。この場合、CPU11がデータを受け取るための初期アクセスレイテンシは発生しない。またLOW状態の転送状態信号STにより、メモリコントローラ12は、現在の転送要求であるアドレスA0cのバースト転送の後にはバースト転送が実行されないことを予め知ることができる。従ってこの場合、メモリコントローラ12は、メモリ20に対するデータ読み出し動作を実行しない。
このようにして、CPU11が一連のバースト転送(図2の例では4つのバースト転送)を実行する際に、最初のバースト転送に対しては初期アクセスレイテンシが発生するが、2回目以降のバースト転送に対しては初期アクセスレイテンシが発生しない。これは、転送状態信号STにより、少なくとも1つの後続するバースト転送が存在することを示すことで、メモリコントローラ12によるデータの先読みを実行できるからである。また最後のバースト転送に対しては、転送状態信号STにより、後続するバースト転送が存在しないことを示すことで、メモリコントローラ12はデータの先読みを実行しない。これにより、無駄なメモリアクセスを避けることができる。
図3は、CPU11側での転送状態信号生成処理を示すフローチャートである。ステップS1で、CPU11は、一連のバースト転送の全転送数、転送サイズ、及び転送長を設定する。ここで全転送数は、一連のバースト転送で転送するデータの総量である。転送サイズは、1サイクルで転送される1つのデータのサイズであり、例えば32ビット幅であったり8ビット幅であったりしてよい。転送長は、1回のバースト転送で転送されるデータの個数(即ちバースト長)であり、図2の例の場合は4個(例えばD0乃至D3)となる。
ステップS2で、CPU11の転送状態信号生成回路21が、「残転送数(最初は全転送数)−転送サイズ×転送長」として、残転送数を計算する。この残転送数は、転送すべき残りのデータの総量である。また「転送サイズ×転送長」は、1回のバースト転送で転送されるデータ量である。ステップS3で、CPU11の転送状態信号生成回路21が、残転送数が0以上であるか否かを判断する。残転送数が0以上である場合は、ステップS2に戻り、ステップS2とS3の処理を繰り返す。この残転送数が0以上である状態が続く間は、転送状態信号生成回路21は、転送状態信号アサート可能な状態を維持する。この転送状態信号アサート可能な状態において、CPU11がバースト転送要求を発行すると、それに同期して転送状態信号がアサートされる。なおここで言う転送状態信号アサートとは、後続する転送要求の存在することを示す値に転送状態信号が設定されることである。ステップS3で残転送数が0となると、転送状態信号生成回路21は転送状態信号アサート可能な状態を終了する。
図4は、CPU11の転送状態信号生成回路21及び関連する回路の構成の一例を示す図である。CPU11に設けられた転送状態信号生成回路21と、それに関連する転送制御回路24及びバスマスタI/F制御回路25が示される。転送状態信号生成回路21は、乗算器31、減算器32、セレクタ33、残転送数レジスタ34、転送数レジスタ35、転送サイズレジスタ36、及び転送長レジスタ37を含む。バスマスタI/F制御回路25は、AND回路38及びフリップフロップ39を含む。
CPU11が、一連のバースト転送の全転送数、転送サイズ、及び転送長を、転送数レジスタ35、転送サイズレジスタ36、及び転送長レジスタ37にそれぞれ設定する。乗算器31は、転送サイズレジスタ36及び転送長レジスタ37のそれぞれの格納データに基づいて「転送サイズ×転送長」を計算する。「転送サイズ×転送長」の計算値は減算器32に供給される。セレクタ33は、転送制御回路24から最初のバースト転送検出信号を受け取る。転送制御回路24は、一連のバースト転送を制御する回路であり、一連のバースト転送のうちの最初のバースト転送を実行する時に、上記の最初のバースト転送検出信号をアサート状態にする。セレクタ33は、最初のバースト転送検出信号がアサート状態であると、転送数レジスタ35の出力を選択して減算器32に供給する。減算器32は、最初のバースト転送の場合、「全転送数−転送サイズ×転送長」として残転送数を計算する。計算した残転送数は、残転送数レジスタ34に格納される。また減算器32は、計算した残転送数が0以上であれば、少なくとも1つの後続するバースト転送が存在することを示す状態(例えばHIGH)に、転送状態信号を設定する。
減算器32の生成する転送状態信号はバスマスタI/F制御回路25に供給される。減算器32の生成する転送状態信号は、バスコマンド有効タイミングにおいてAND回路38を介してフリップフロップ39に供給され、クロックに同期してフリップフロップ39に格納される。フリップフロップ39の出力が、バス回路13に出力される転送状態信号となる。
転送制御回路24は、一連のバースト転送のうちの最初のバースト転送を実行する時以外は、上記の最初のバースト転送検出信号をネゲート状態にする。セレクタ33は、最初のバースト転送検出信号がネゲート状態であると、残転送数レジスタ34の出力を選択して減算器32に供給する。減算器32は、「残転送数−転送サイズ×転送長」として残転送数の更新値を計算する。計算した更新後の残転送数は、残転送数レジスタ34に格納される。また減算器32は、計算した残転送数が0以上であれば、少なくとも1つの後続するバースト転送が存在することを示す状態(例えばHIGH)に、転送状態信号を設定する。この転送状態信号生成回路21における残転送数の更新動作及び転送状態信号の設定動作は、1つのバースト転送命令毎に1回実行される。残転送数が0となると、減算器32は、後続するバースト転送が存在しないことを示す状態(例えばLOW)に、転送状態信号を設定する。
図5は、メモリコントローラ12の構成の一例を示す図である。メモリコントローラ12は、コントローラ部41、次転送バーストFIFO制御回路42、FIFO43、フリップフロップ44、セレクタ45及び46、及びメモリ制御設定レジスタ47を含む。コントローラ部41は、メモリアドレス生成回路51及びメモリアクセスコマンド生成回路52を含む。メモリアドレス生成回路51は、次転送アドレス制御回路53を含む。メモリアクセスコマンド生成回路52は次転送コマンド制御回路54を含む。なお図5においてメモリコントローラ12の一部として示されるFIFO43は、説明の都合上、図1では先読みデータ保存用バッファ23として示されている。
メモリ制御設定レジスタ47には、CPU11が実行するプログラムの指示に基づいて、データ先読み動作を有効とするか無効とするかを設定する。メモリ制御設定レジスタ47が先読み有効状態に設定されている場合には、1つのデータ転送命令を受信すると後続するデータ転送命令に対応するデータ読み出し動作を転送状態信号STに応じて実行する。メモリ制御設定レジスタ47が先読み無効状態に設定されている場合には、1つのデータ転送命令を受信すると後続するデータ転送命令に対応するデータ読み出し動作を転送状態信号STに関わらず実行しない。
具体的には、メモリ制御設定レジスタ47が先読み有効状態に設定されている場合には、メモリアドレス生成回路51とメモリアクセスコマンド生成回路52とにおいて、次転送アドレス制御回路53と次転送コマンド制御回路54とが活性化される。次転送アドレス制御回路53は、今回のデータ転送要求のアドレスにデータ転送長を加算することにより、後続するデータ転送要求に対応するデータ先読みの対象となるアドレスを算出し、このアドレスをメモリ20に供給する。次転送コマンド制御回路54は、最初のデータ転送要求に応じてデータ転送長の2倍の量のデータを読み出すように、読み出しコマンドを発行する。また次転送コマンド制御回路54は更に、2回目以降のデータ転送要求に応じてデータ転送長に等しい量のデータを読み出すように読み出しコマンドを発行し、最後のデータ転送要求に対してはデータ読み出しコマンドを発行しない。次転送アドレス制御回路53の動作内容と次転送コマンド制御回路54の動作内容とは、転送状態信号STに応じて制御される。メモリ制御設定レジスタ47が先読み無効状態に設定されている場合には、メモリアドレス生成回路51とメモリアクセスコマンド生成回路52とにおいて、次転送アドレス制御回路53と次転送コマンド制御回路54とが非活性化される。この場合、メモリアドレス生成回路51及びメモリアクセスコマンド生成回路52は、転送状態信号STの値に関わらず、受信したデータ転送要求に対応するデータ読み出しを実行するように動作する。
次転送バーストFIFO制御回路42は、セレクタ45及び46を制御することにより、FIFO43又はフリップフロップ44の何れかを適宜選択して、メモリ20とCPU11との間のデータ転送に用いる。FIFO43は、例えば転送データ長が4の場合、4段のFIFO(4つのデータを格納可能なFIFO)であればよい。一連のバースト転送要求のうちの最初のバースト転送要求に対応してメモリ20から読み出したデータについては、フリップフロップ44に格納し、直ちにフリップフロップ44の格納データをCPU11に供給してよい。最後のバースト転送要求以外のバースト転送要求に対応してメモリ20から読み出したデータについては、FIFO43に格納すればよい。即ち例えばメモリ20から4つのデータD04乃至D07を読み出すと、これらデータD04乃至D07を順次FIFO43に格納していけばよい。次回のバースト転送要求が与えられると、これらデータD04乃至D07を順次FIFO43からCPU11にバス回路13を介して供給するとともに、次の先読みデータD08乃至D0bを順次FIFO43に格納していけばよい。一連のバースト転送要求のうちの最後のバースト転送要求が与えられると、FIFO43に格納されている4つのデータを順次読み出して、CPU11にバス回路13を介して供給すればよい。
図6は、システムLSI及びメモリを含むシステムの構成の変形例を示す図である。図6において、図1と同一の構成要素は同一の番号で参照し、その説明は省略する。図6において、情報処理システムであるシステムLSI10Aがメモリ20Aに接続されている。システムLSI10Aは、マスタモジュールとして機能するCPU11A、メモリ20へのアクセスを制御するメモリコントローラ12A、及びCPU11Aとメモリコントローラ12Aとの間を接続するバス回路13を含む。
CPU11Aは、転送状態信号生成回路21Aを含む。転送状態信号生成回路21Aは、CPU11Aが連続して複数回のバースト転送命令を発行する際に、転送状態信号STMをバースト転送命令に合わせて出力する。この転送状態信号STMは、多ビットの信号であり、ある1つのデータ転送命令に対して少なくとも幾つのデータ転送命令が後続するかを示す。例えば、ある1つのデータ転送命令に対して3つのデータ転送命令が後続する場合、転送状態信号STMは3を示してよい。この転送状態信号STMは、ある1つのデータ転送命令に対して少なくともn個のデータ転送命令が後続することを示した後は、後続するn個のデータ転送命令に対してはネゲート状態(全ビット0)となってもよい。生成された転送状態信号STMは、データ転送のI/Fプロトコル(インターフェース・プロトコル)における制御信号と供に、バス回路13を経由でメモリコントローラ12Aに供給される。
メモリコントローラ12Aは、転送長&転送アドレス制御回路22Aと多段の先読みデータ保存用バッファ23Aとを含む。メモリコントローラ12Aは、1つのデータ転送命令と転送状態信号STMとを受信すると、このデータ転送命令に後続するデータ転送命令に対応する先読みデータとして、転送状態信号STMが示す個数のデータ転送命令に対応するデータをメモリ20から先読みする。先読みしたデータは、先読みデータ保存用バッファ23Aに格納・保持される。この際、受信したデータ転送命令に後続するデータ転送命令に対応するデータをアクセスするために、転送長&転送アドレス制御回路22Aが用いられる。
例えば値3を示す転送状態信号STMを受信すると、メモリコントローラ12Aは、一緒に受信したデータ転送命令が最後のデータ転送命令ではなく、後続するデータ転送命令が少なくとも3つ存在することを知る。この場合、メモリコントローラ12Aは、受信したデータ転送命令の次の3つのデータ転送命令に対応するデータをメモリ20から読み出す。この際、3つのデータ転送命令に対応するデータの全てを連続的にメモリ20から読み出す必要はなく、適宜タイミングを見計らって読み出せばよい。読み出したデータは、先読みデータ保存用バッファ23Aに格納・保持される。一旦値3を示す転送状態信号STMを出力した後は、その後の2つのデータ転送命令に対して、転送状態信号STMは0を示してよい。これにより、メモリコントローラ12Aが、同一のアドレスからの先読みを重複して実行するのを避けることができる。3つめのデータ転送命令に対する転送状態信号STMは、再び、当該データ転送命令に少なくとも幾つのデータ転送命令が後続するのかを示す数となってよい。例えば転送状態信号STMが2ビットの場合、最大で3しか示すことができない。一連のバースト転送命令の数が3以上の場合には、上記のような処理を繰り返せばよい。
なお転送状態信号STMは、常に、後続するデータ転送要求の数を表現可能な最大値の限度で示すような信号であってもよい。即ち例えば、一旦値3を示す転送状態信号STMを出力した後、その後の3つのデータ転送命令の各々に対して更に少なくとも3つのデータ転送命令が後続するならば、転送状態信号STMを3を示す状態に維持してもよい。また、例えば3つ目のデータ転送命令が最後のデータ転送命令であるならば、これら3つのデータ転送命令に対して転送状態信号STMが順次2,1,0と減少していってよい。但しこの場合、メモリコントローラ12A側で、同一のアドレスからの読み出しを重複して実行しないように制御する必要がある。
図1の構成の場合と同様に、最後のデータ転送命令を受信した場合、メモリコントローラ12Aはメモリ20からのデータ読み出し動作を実行しない。また受信したデータ転送命令に対応するデータが既にメモリ20から読み出されて先読みデータ保存用バッファ23Aに格納されていれば、この格納データをCPU11Aに供給する。また受信したデータ転送命令が一番最初のデータ転送命令である場合には、先読みデータ保存用バッファ23Aに対応データが格納されていないので、最初のデータ転送命令に対応するデータをメモリ20から読み出して、直接にCPU11Aに供給してよい。
図7は、CPU11A及びメモリコントローラ12Aの動作の一例を示す図である。最初に、CPU11AからアドレスA00に対する転送長4のバースト転送要求が発行される。このバースト転送要求に合わせてCPU11Aから出力される2ビットの転送状態信号STMは、少なくとも3つの後続するバースト転送要求が存在することを示す値0x3に設定されている。なお図7の例では、転送状態信号STMはバースト転送要求と同一のサイクルに同一の長さだけ出力されているが、1つの転送状態信号STMと1つのバースト転送要求との対応付けができればよく、必ずしも同一のタイミングである必要はない。この値3の転送状態信号STMにより、メモリコントローラ12Aは、現在の転送要求であるアドレスA00のバースト転送の後に少なくとも3つのバースト転送が実行されることを予め知ることができる。
現在のアドレスA00に対するバースト転送要求が最初のバースト転送要求であるので、メモリコントローラ12Aの先読みデータ保存用バッファ23Aには、アドレスA00に対するバースト転送要求に対応するデータは格納されていない。従って、メモリコントローラ12Aは、アドレスA00を指定しながら読み出し命令READを発行することにより、メモリ20からアドレスA00を開始アドレスとする4つのデータD00乃至D03を読み出す。また値3の転送状態信号STMに従って、メモリコントローラ12Aは、更に3回のバースト読み出しを実行する。即ち、メモリコントローラ12Aは更に、アドレスA04を指定しながら読み出し命令READを発行することにより、メモリ20からアドレスA04を開始アドレスとする4つのデータD04乃至D07を先読みデータとして読み出す。メモリコントローラ12Aは更に、アドレスA08を指定しながら読み出し命令READを発行することにより、メモリ20からアドレスA08を開始アドレスとする4つのデータD08乃至D0bを先読みデータとして読み出す。メモリコントローラ12Aは更に、アドレスA0cを指定しながら読み出し命令READを発行することにより、メモリ20からアドレスA0cを開始アドレスとする4つのデータD0c乃至D0fを先読みデータとして読み出す。
メモリコントローラ12Aは、今回のアドレスA00に対するバースト転送要求に対応するデータD00乃至D03を直ちにCPU11Aに転送する。この場合、メモリ20でのCASレイテンシの3サイクルとメモリコントローラ12での遅れとが足し合わされ、5サイクルの初期アクセスレイテンシが発生している。またメモリコントローラ12Aは、後続する3つのバースト転送要求に対応するデータD04乃至D0fを先読みデータ保存用バッファ23Aに格納・保持する。
CPU11Aは、最初のアドレスA00に対するバースト転送要求に対応するデータD00乃至D03を受け取ってから、所定の内部処理を実行した後に、次のアドレスA04に対するバースト転送要求を発行する。このバースト転送要求に合わせてCPU11Aから出力される転送状態信号STMは、ネゲート状態(値0)に設定されている。メモリコントローラ12Aは、今回のアドレスA04に対するバースト転送要求に対応するデータD05乃至D07を直ちに先読みデータ保存用バッファ23AからCPU11Aに転送する。この場合、CPU11Aがデータを受け取るための初期アクセスレイテンシは発生しない。以降、同様に、3番目のアドレスA08に対するバースト転送要求及び最後のアドレスA0cに対するバースト転送要求に応じて、データD08乃至D0b及びデータD0c乃至D0fがメモリコントローラ12AからCPU11Aに供給される。何れの場合も、CPU11Aがデータを受け取るための初期アクセスレイテンシは発生しない。
図8は、CPU11A側での転送状態信号生成処理を示すフローチャートである。ステップS1で、CPU11Aは、一連のバースト転送の全転送数、転送サイズ、及び転送長を設定する。ステップS2で、CPU11Aの転送状態信号生成回路21Aが、「残転送数(最初は全転送数)−転送サイズ×転送長」として、残転送数を計算する。ステップS3で、CPU11Aの転送状態信号生成回路21Aが、残転送数が0以上であるか否かを判断する。残転送数が0以上である場合は、ステップS4で、バースト転送回数を1増加する。なおこのバースト転送回数は初期値がゼロに設定されている。その後、処理はステップS2に戻り、ステップS2とS3の処理を繰り返す。ステップS3で残転送数が0となると、転送状態信号生成回路21Aはバースト転送回数を示す信号を転送状態信号として出力し、処理を終了する。
図9は、CPU11Aの転送状態信号生成回路21A及び関連する回路の構成の一例を示す図である。図9において、図4と同一の構成要素は同一の番号で参照し、その説明は省略する。図9に示す転送状態信号生成回路21Aでは、図4に示す転送状態信号生成回路21に加え、加算器61が設けられている。図4の構成の場合と同様に、減算器32が、「残転送数−転送サイズ×転送長」として残転送数の更新値を計算していく。残転送数を更新する毎に、計算した残転送数が0以上であれば、加算器61に内蔵するフリップフロップFFの格納値を1増加させる。従って、残転送数が0となると、加算器61に内蔵するフリップフロップFFには、実行するバースト転送回数が格納されることになる。
加算器61の出力する転送状態信号はバスマスタI/F制御回路25に供給される。加算器61の出力する転送状態信号は、バスコマンド有効タイミングにおいてAND回路38を介してフリップフロップ39に供給され、クロックに同期してフリップフロップ39に格納される。フリップフロップ39の出力が、バス回路13に出力される転送状態信号STMとなる。なお図8及び図9に示す例では、転送状態信号STMのビット数が、全バースト転送回数を表現可能である場合の例である。
図10は、転送状態信号生成回路21Aの構成の一例を示す図である。図10において、図5と同一の構成要素は同一の番号で参照し、その説明は省略する。図10の転送状態信号生成回路21Aは、図5の転送状態信号生成回路21と比較して、FIFO43の代りに複数のFIFOセット43Aが設けられている点が異なる。なお図10において転送状態信号生成回路21Aの一部として示されるFIFOセット43Aは、説明の都合上、図1では先読みデータ保存用バッファ23Aとして示されている。
次転送バーストFIFO制御回路42が、セレクタ45及び46を制御することにより、FIFOセット43A又はフリップフロップ44の何れかを適宜選択して、メモリ20とCPU11Aとの間のデータ転送に用いる。FIFOセット43Aに設けるFIFOの数は、先読みするデータセットの数だけ設ければよい。例えば転送状態信号STMが2ビットで最大3つまでの後続するデータ転送要求の存在を示すことができる場合、3つのFIFOをFIFOセット43Aに設ければよい。一連のバースト転送要求のうちの最初のバースト転送要求に対応してメモリ20から読み出したデータについては、フリップフロップ44に格納し、直ちにフリップフロップ44の格納データをCPU11Aに供給してよい。例えば図7の例で、データD0乃至D3はフリップフロップ44を介してCPU11Aに供給してよい。またデータD04乃至D07、D08乃至D0b、及びD0c乃至D0fをメモリ20から読み出すと、これらデータをFIFOセット43Aのうちの3つのFIFOに順次格納していけばよい。次回のバースト転送要求が与えられると、最初にデータD04乃至D07を順次FIFOからCPU11Aにバス回路13を介して供給すればよい。次のバースト転送要求に応答して、データD08乃至D0bを順次FIFOからCPU11Aにバス回路13を介して供給すればよい。更に次のバースト転送要求に応答して、データD0c乃至D0fを順次FIFOからCPU11Aにバス回路13を介して供給すればよい。
図11は、CPUの転送状態信号生成回路21に関連する部分の構成の変形例を示す図である。図11において、図4と同一の構成要素は同一の番号で参照し、その説明は省略する。図11のCPU11Bは、図4のCPU11と比較して、転送状態設定ビットレジスタ26が設けられている点が異なる。またそれに対応して、バスマスタI/F制御回路25Bにおいて、AND回路38Bが3入力のAND回路となっている。転送状態設定ビットレジスタ26には、CPU11Bが実行するプログラムの指示に基づいて、転送状態信号を有効とするか無効とするかを設定する。転送状態設定ビットレジスタ26が転送状態信号有効状態に設定されている場合には、転送状態設定ビットレジスタ26からAND回路38BにHIGHが供給され、図4の構成と同一の動作を実行する。転送状態設定ビットレジスタ26が転送状態信号無効状態に設定されている場合には、転送状態設定ビットレジスタ26からAND回路38BにLOWが供給され、AND回路38Bの出力はLOW固定となる。この場合、CPU11Bから出力される転送状態信号STはネゲート状態(LOW)に固定される。従って、上記実施例で説明したデータ先読み動作が実行されることはない。例えばシステムのデバッグ時はリアルタイムでの転送データの解析を必要とするため、データ先読みするのは好ましくない場合がある。そのような場合には、ソフトウェアで転送状態信号を活性化させないことにより、システムデバッグを適切に実行することが可能となる。
なお上記各実施例の説明において、メモリ20はバースト機能を備えたSDRAM等を想定したが、メモリ20にバースト転送機能が設けられていることは必須要件ではない。例えば、メモリ20がページモードで動作するDRAM等であってもよい。或いは、バースト転送やページモード等の連続高速読み出し機能を備えておらずメモリ20からメモリコントローラへの読み出しを逐次実行するような構成であっても、データ先読みの機能は有用である。即ち、次回のデータ転送命令のデータを先読みしてバッファ格納しておいて、該当するデータ転送命令が来たときに先読みしておいたデータをメモリコントローラ内部のバッファからマスタモジュールに供給することで、レイテンシの発生を避けることができる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
10 システムLSI
11 CPU
12 メモリコントローラ
20 メモリ
21 転送状態信号生成回路
22 転送長&転送アドレス制御回路
23 先読みデータ保存用バッファ

Claims (10)

  1. 連続する複数回のデータ読み出し命令を出力する際に転送状態信号を合わせて出力し、ある1つのデータ読み出し命令に対して少なくとも1つのデータ読み出し命令が後続することを前記転送状態信号により示すマスタモジュールと、
    前記ある1つのデータ読み出し命令と前記転送状態信号とを前記マスタモジュールから受信すると、前記転送状態信号に応答して、前記ある1つのデータ読み出し命令に後続する少なくとも1つのデータ読み出し命令に対応するデータをメモリから読み出して保持するとともに、前記ある1つのデータ読み出し命令に対応するデータを前記マスタモジュールに供給するメモリコントローラと
    を含むことを特徴とする情報処理システム。
  2. 前記マスタモジュールは、最後でないデータ読み出し命令に対しては1つのデータ読み出し命令が後続することを示す前記転送状態信号の第1の状態を対応させ、最後のデータ読み出し命令に対しては0個のデータ読み出し命令が後続することを示す前記転送状態信号の第2の状態を対応させ、
    前記メモリコントローラは、前記最後でないデータ読み出し命令と前記第1の状態の前記転送状態信号とを前記マスタモジュールから受信すると、前記最後でないデータ読み出し命令の次のデータ読み出し命令に対応するデータをメモリから読み出し保持するとともに、前記最後でないデータ読み出し命令に対応するデータを前記マスタモジュールに供給する
    ことを特徴とする請求項1記載の情報処理システム。
  3. 前記メモリコントローラは、前記マスタモジュールから受信した前記最後でないデータ読み出し命令が最初のデータ読み出し命令である場合には、前記最初のデータ読み出し命令に対応するデータを前記メモリから読み出して前記マスタモジュールに供給するとともに、次のデータ読み出し命令に対応するデータを前記メモリから読み出して内部バッファに保持することを特徴とする請求項2記載の情報処理システム。
  4. 前記メモリコントローラは、前記最後のデータ読み出し命令と前記第2の状態の前記転送状態信号とを前記マスタモジュールから受信すると、新たに前記メモリからのデータ読み出し動作を実行することなく、既に前記メモリから読み出して保持してある前記最後のデータ読み出し命令に対応するデータを前記マスタモジュールに供給することを特徴とする請求項2又は3記載の情報処理システム。
  5. 前記メモリコントローラは、前記マスタモジュールから要求された転送アドレス、転送長、及び転送サイズに基づいて、次のデータ読み出し命令の読み出しアドレスを計算することを特徴とする請求項2乃至4の何れか一項記載の情報処理システム。
  6. 前記転送状態信号は、前記ある1つのデータ読み出し命令に対して少なくとも幾つのデータ読み出し命令が後続するかの数を示す信号であり、前記メモリコントローラは、前記ある1つのデータ読み出し命令と前記転送状態信号とを前記マスタモジュールから受信すると、前記ある1つのデータ読み出し命令に後続するデータ読み出し命令に対応する先読みデータとして、前記転送状態信号が示す個数のデータ読み出し命令に対応するデータをメモリから読み出して保持するとともに、前記ある1つのデータ読み出し命令に対応するデータを前記マスタモジュールに供給することを特徴とする請求項1記載の情報処理システム。
  7. 前記メモリコントローラは、前記マスタモジュールから受信した前記ある1つのデータ読み出し命令が最初のデータ読み出し命令である場合には、前記最初のデータ読み出し命令に対応するデータを前記メモリから読み出して前記マスタモジュールに供給するとともに、前記ある1つのデータ読み出し命令に後続する前記転送状態信号に応じた個数のデータ読み出し命令に対応するデータをメモリから読み出して内部バッファに保持することを特徴とする請求項5記載の情報処理システム。
  8. 前記メモリコントローラは設定レジスタを含み、前記設定レジスタが第1の状態に設定されている場合には1つのデータ読み出し命令を受信すると後続するデータ読み出し命令に対応するデータ読み出し動作を前記転送状態信号に応じて実行し、前記設定レジスタが第2の状態に設定されている場合には1つのデータ読み出し命令を受信すると後続するデータ読み出し命令に対応するデータ読み出し動作を前記転送状態信号に関わらず実行しないことを特徴とする請求項1乃至6の何れか一項記載の情報処理システム。
  9. a)マスタモジュールから連続する複数回のデータ読み出し命令を出力し、
    b)ある1つのデータ読み出し命令に対して少なくとも1つのデータ読み出し命令が後続することを示す転送状態信号を生成し、
    c)前記ある1つのデータ読み出し命令と前記転送状態信号とに応じて、既にメモリから読み出されてバッファに格納されている前記ある1つのデータ読み出し命令に対応するデータを前記バッファから前記マスタモジュールに供給し、
    d)前記ある1つのデータ読み出し命令と前記転送状態信号とに応じて、前記ある1つのデータ読み出し命令に後続する少なくとも1つのデータ読み出し命令に対応するデータをメモリから読み出して前記バッファに格納する
    各段階を含むことを特徴とするデータ転送方法。
  10. 前記段階b)は、最後でないデータ読み出し命令に対しては1つのデータ読み出し命令が後続することを示す前記転送状態信号の第1の状態を対応させるとともに、最後のデータ読み出し命令に対しては0個のデータ読み出し命令が後続することを示す前記転送状態信号の第2の状態を対応させ、
    前記段階c)は、前記最後でないデータ読み出し命令と前記第1の状態の前記転送状態信号とに応じて、既に前記メモリから読み出されて前記バッファに格納されている前記最後でないデータ読み出し命令に対応するデータを前記バッファから前記マスタモジュールに供給し、
    前記段階d)は、前記最後でないデータ読み出し命令と前記第1の状態の前記転送状態信号とに応じて、前記最後でないデータ読み出し命令の次のデータ読み出し命令に対応するデータを前記メモリから読み出して前記バッファに格納する
    ことを特徴とする請求項8記載のデータ転送方法。
JP2009126784A 2009-05-26 2009-05-26 情報処理システム及びデータ転送方法 Expired - Fee Related JP5446464B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009126784A JP5446464B2 (ja) 2009-05-26 2009-05-26 情報処理システム及びデータ転送方法
US12/782,185 US8504743B2 (en) 2009-05-26 2010-05-18 Information processing system and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009126784A JP5446464B2 (ja) 2009-05-26 2009-05-26 情報処理システム及びデータ転送方法

Publications (2)

Publication Number Publication Date
JP2010277180A true JP2010277180A (ja) 2010-12-09
JP5446464B2 JP5446464B2 (ja) 2014-03-19

Family

ID=43221545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009126784A Expired - Fee Related JP5446464B2 (ja) 2009-05-26 2009-05-26 情報処理システム及びデータ転送方法

Country Status (2)

Country Link
US (1) US8504743B2 (ja)
JP (1) JP5446464B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061896A (ja) * 2011-09-15 2013-04-04 Toshiba Corp 情報処理装置および情報処理方法
WO2022181066A1 (ja) * 2021-02-25 2022-09-01 ソニーセミコンダクタソリューションズ株式会社 メモリコントローラおよびメモリアクセス方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254552A1 (en) * 2011-03-30 2012-10-04 Arm Limited Memory access remapping
US9348775B2 (en) 2012-03-16 2016-05-24 Analog Devices, Inc. Out-of-order execution of bus transactions
KR101979732B1 (ko) 2012-05-04 2019-08-28 삼성전자 주식회사 비휘발성 메모리 컨트롤러 및 비휘발성 메모리 시스템
US8947918B2 (en) 2013-03-22 2015-02-03 Katsuyuki Fujita Semiconductor memory device
CN103605478B (zh) * 2013-05-17 2016-12-28 华为技术有限公司 存储地址标示、配置方法和数据存取方法及系统
CN113342488A (zh) * 2021-05-25 2021-09-03 上海商汤智能科技有限公司 任务处理方法及装置、电子设备和存储介质
CN113992450B (zh) * 2021-12-28 2022-05-13 威晟汽车科技(宁波)有限公司 一种基于lin总线的高可靠性数据传输方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0452741A (ja) * 1990-06-14 1992-02-20 Toshiba Corp キャッシュメモリ装置
JPH05165705A (ja) * 1991-12-11 1993-07-02 Casio Comput Co Ltd メモリ制御装置
JPH09305322A (ja) * 1996-05-14 1997-11-28 Hitachi Ltd 記憶装置
JPH1040163A (ja) * 1996-07-22 1998-02-13 Oki Data:Kk データ読み出し方法および装置
JP2003015955A (ja) * 2001-06-29 2003-01-17 Hitachi Ltd キャッシュコントローラ及びコンピュータシステム
JP2007157029A (ja) * 2005-12-08 2007-06-21 Nec Electronics Corp メモリ制御回路及びメモリ制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4028680A (en) * 1971-09-29 1977-06-07 Ing. C. Olivetti & C., S.P.A. System for automatically processing and printing the contents and the format of a text
AU639150B2 (en) * 1990-10-03 1993-07-15 Fujitsu Limited System for controlling issue of input/output instruction in data processing system
JPH11232171A (ja) 1997-10-29 1999-08-27 Hitachi Ltd 情報処理システム
US6341335B1 (en) 1997-10-29 2002-01-22 Hitachi, Ltd. Information processing system for read ahead buffer memory equipped with register and memory controller
US20020138225A1 (en) * 2001-01-25 2002-09-26 Wong Isaac H. Automatic configuration of delay parameters for memory controllers of slave processors
US7428644B2 (en) * 2003-06-20 2008-09-23 Micron Technology, Inc. System and method for selective memory module power management
US8521970B2 (en) * 2006-04-19 2013-08-27 Lexmark International, Inc. Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts
US7404050B2 (en) * 2005-08-01 2008-07-22 Infineon Technologies Ag Method of operating a memory device, memory module, and a memory device comprising the memory module
US7681017B2 (en) * 2005-11-01 2010-03-16 Lsi Corporation Pseudo pipeline and pseudo pipelined SDRAM controller
US8230138B2 (en) * 2008-11-28 2012-07-24 Panasonic Corporation Memory control device, data processor, and data read method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0452741A (ja) * 1990-06-14 1992-02-20 Toshiba Corp キャッシュメモリ装置
JPH05165705A (ja) * 1991-12-11 1993-07-02 Casio Comput Co Ltd メモリ制御装置
JPH09305322A (ja) * 1996-05-14 1997-11-28 Hitachi Ltd 記憶装置
JPH1040163A (ja) * 1996-07-22 1998-02-13 Oki Data:Kk データ読み出し方法および装置
JP2003015955A (ja) * 2001-06-29 2003-01-17 Hitachi Ltd キャッシュコントローラ及びコンピュータシステム
JP2007157029A (ja) * 2005-12-08 2007-06-21 Nec Electronics Corp メモリ制御回路及びメモリ制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061896A (ja) * 2011-09-15 2013-04-04 Toshiba Corp 情報処理装置および情報処理方法
WO2022181066A1 (ja) * 2021-02-25 2022-09-01 ソニーセミコンダクタソリューションズ株式会社 メモリコントローラおよびメモリアクセス方法

Also Published As

Publication number Publication date
JP5446464B2 (ja) 2014-03-19
US8504743B2 (en) 2013-08-06
US20100306423A1 (en) 2010-12-02

Similar Documents

Publication Publication Date Title
JP5446464B2 (ja) 情報処理システム及びデータ転送方法
US7117316B2 (en) Memory hub and access method having internal row caching
JP4936506B2 (ja) メモリ制御回路及びメモリ制御方法
US20060218315A1 (en) Memory access control circuit
JP2004171209A (ja) 共有メモリデータ転送装置
JP2007073052A (ja) 集積回路から外部メモリへのアクセス
JPH10207771A (ja) メモリ動作短縮方法
WO2022068149A1 (zh) 数据加载和存储系统及方法
JP3803196B2 (ja) 情報処理装置、情報処理方法および記録媒体
US7913013B2 (en) Semiconductor integrated circuit
JP2009217640A (ja) データ転送制御装置
JP2006215799A (ja) メモリコントローラ
US8463956B2 (en) Data transfer control apparatus
JP2007172129A (ja) 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム
JP3967921B2 (ja) データ処理装置及びデータ処理システム
JP4633334B2 (ja) 情報処理装置およびメモリアクセス調停方法
JP2008251060A (ja) 半導体記憶装置
WO2022181066A1 (ja) メモリコントローラおよびメモリアクセス方法
JP3956698B2 (ja) メモリ制御装置
JP2005141866A (ja) メモリ制御装置および電子装置
JP4398066B2 (ja) メモリ制御方法、sdram制御方法及びメモリシステム
JP2000285013A (ja) インターフェース装置
JP2003177960A (ja) 演算装置及び記憶装置
CN115658601A (zh) 多核处理器系统及其控制方法
JP2010092342A (ja) インターフェース回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131216

R150 Certificate of patent or registration of utility model

Ref document number: 5446464

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees