JP4408263B2 - データ転送システムおよびデータ転送方法 - Google Patents

データ転送システムおよびデータ転送方法 Download PDF

Info

Publication number
JP4408263B2
JP4408263B2 JP2005039749A JP2005039749A JP4408263B2 JP 4408263 B2 JP4408263 B2 JP 4408263B2 JP 2005039749 A JP2005039749 A JP 2005039749A JP 2005039749 A JP2005039749 A JP 2005039749A JP 4408263 B2 JP4408263 B2 JP 4408263B2
Authority
JP
Japan
Prior art keywords
memory
data
data transfer
access
circuit
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.)
Expired - Fee Related
Application number
JP2005039749A
Other languages
English (en)
Other versions
JP2006227836A (ja
Inventor
斉 依田
祐之 内海
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 JP2005039749A priority Critical patent/JP4408263B2/ja
Priority to US11/168,348 priority patent/US20060190640A1/en
Priority to CNB2005100806127A priority patent/CN100412834C/zh
Publication of JP2006227836A publication Critical patent/JP2006227836A/ja
Application granted granted Critical
Publication of JP4408263B2 publication Critical patent/JP4408263B2/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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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
    • 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/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、データ転送システムおよびデータ転送方法に関し、特に、各種システムにおける画像表示機能あるいは画像取得機能の正常性を確保する技術に関する。
画像表示機能を有するシステムでは、画像表示コントローラは、画像表示装置(ディスプレイ)による画像表示の開始に伴って、画像データが格納されているメモリ(SDRAMなど)からバッファメモリ(FIFOメモリ)への画像データの転送をDMAコントローラに要求する。DMAコントローラは、画像表示コントローラからのDMA転送要求に応答して、バスを介してメモリからFIFOメモリに画像データを転送する。画像表示コントローラがFIFOメモリに蓄積された画像データを画像表示装置に順次出力することで、画像表示装置に画像が表示される。なお、画像表示コントローラは、画像表示装置による画像表示の実施中、FIFOメモリに空き領域がなくなるとDMA転送要求を停止し、FIFOメモリに空き領域が生じるとDMA転送要求を再開する。
一方、画像取得機能を有するシステムでは、画像取得(キャプチャ)コントローラは、画像取得の開始に伴って、順次入力される画像データから取得した画像データをFIFOメモリに格納するとともに、FIFOメモリから画像データを格納するためのメモリへの画像データの転送をDMAコントローラに要求する。DMAコントローラは、画像取得コントローラからのDMA転送要求に応答して、バスを介してFIFOメモリからメモリに画像データを転送する。なお、画像取得コントローラは、画像取得の実施中、FIFOメモリに格納されている画像データがなくなるとDMA転送要求を停止し、FIFOメモリに画像データが新たに格納されるとDMA転送要求を再開する。
また、特許文献1には、ホスト機器と、ホスト機器により生成された画像データが格納される画像メモリと、画像メモリから読み出される画像データを出力機器に転送する出力インタフェースユニットとがバスを介して接続されてなる画像データ転送システムにおいて、バスを完全に占有することなく画像データの転送を実現する技術が開示されている。具体的には、出力インタフェースユニット内に画像バッファメモリとしてFIFOメモリを設け、FIFOメモリに画像データの蓄積情報をバス調停回路へ通知させ、バス調停回路により、バスマスタとなる装置のデータ転送処理回路のバス使用に関する優先度をFIFOメモリからの通知内容に応じて変更する。例えば、バス調停回路は、FIFOメモリのオールモストフルフラグが成立した場合、画像データ転送の優先度を下げてFIFOメモリへの画像データの書き込み停止を促し、FIFOメモリのオールモストエンプティフラグが成立した場合、画像データ転送の優先度を上げてFIFOメモリへの画像データの書き込みを促す。
特開2001−184301号公報
本発明は、以下に示す課題を解決するためになされた。画像表示機能を有するシステムでは、バスを介してメモリにアクセスするバスマスタ(DMAコントローラを含む)が複数個(例えば3個)存在すると、バスマスタ間でメモリアクセスが競合した場合、メモリアクセスは、各バスマスタに対して均等な頻度で順次実施される。画像表示装置による画像表示の実施中にバスマスタ間でメモリアクセスが競合すると、DMAコントローラによるメモリアクセスは、メモリアクセスの3回に1回しか実施されないため、バスマスタ間でメモリアクセスが競合しない場合に比べて、メモリとFIFOメモリとの間のスループット(単位時間内に転送されるデータ量)が約1/3に低下してしまう。また、通常、複数のバスマスタによりアクセスされるメモリは、バスマスタ毎にアクセス領域が分けられているため、メモリアクセスを実施するバスマスタの入れ替わりに伴ってページミスが発生し、メモリとFIFOメモリとの間のスループットが更に低下してしまう。
画像表示装置により表示される画像のサイズが小さい場合は、メモリとFIFOメモリとの間に要求されるスループットも小さいため、前述のようなスループットの低下が画像表示機能に与える影響はほとんどない。しかしながら、近時、画像サイズは増大する傾向にあり、メモリとFIFOメモリとの間には大きなスループットが要求されている。このため、メモリからFIFOメモリへのデータ転送を安定して実施できずにメモリとFIFOメモリとの間のスループットが低下すると、画像表示装置による画像表示(画像表示装置への画像データの出力)に対してFIFOメモリへの画像データの書き込みが間に合わず、動画等の連続画像が途切れるなどして画像表示を正常に実施できなくなってしまう。このような問題は、画像取得機能についても同様であり、画像取得の実施中にバスマスタ間でメモリアクセスが競合すると、FIFOメモリからメモリへのデータ転送を安定して実施できず、画像取得に対してFIFOメモリからの画像データの読み出しが間に合わなくなる。この結果、FIFOメモリがオーバーフローし、画像取得を正常に実施できなくなってしまう。
また、特許文献1に開示された技術では、FIFOメモリのオールモストフルフラグが成立してからオールモストエンプティフラグが成立するまでの間、バスマスタとなる別の装置からデータ転送が要求されていない場合であっても、画像メモリからFIFOメモリへの画像データ転送が実施されないため、画像メモリとFIFOメモリとの間のスループットが無駄に低下してしまう。さらに、1回の画像データ転送により転送されるデータ量がほぼFIFOメモリの容量分に相当し、1回の画像データ転送に要する期間が非常に長いため、バスマスタとなる別の装置は長時間の停止を余儀なくされバスの使用効率(バスの応答性)が低下してしまう。
本発明の目的は、バスの使用効率を低下させることなくメモリおよびバッファメモリ間のスループットを向上し、システム機能(画像表示機能あるいは画像取得機能)の正常性を確保することにある。
本発明の第1形態では、バッファメモリは、データ利用装置に順次出力されるデータを一時的に格納する。例えば、データ利用装置は、画像表示装置であり、バッファメモリに格納されるデータは、画像表示装置の画像表示に用いられる画像データである。メモリは、バスを介して少なくとも1つのメモリアクセス回路によりアクセスされる。データ転送回路は、バスを介してメモリからバッファメモリへのデータ転送を実施する。バッファメモリのデータ量が第1所定量を下回ってから第1所定量より大きい第2所定量を上回るまでの期間では、データ転送回路は、メモリアクセス回路によるメモリへのアクセスの禁止により、メモリからバッファメモリへのデータ転送を継続して実施する。バッファメモリのデータ量が第2所定量を上回ってから第1所定量を下回るまでの期間では、データ転送回路は、メモリへのアクセスに関する調停結果に応じて、メモリからバッファメモリへのデータ転送を実施する。
このため、バッファメモリのデータ量が第1所定量を下回ってから第2所定量を上回るまでの間、メモリアクセス回路によるメモリへのアクセスは実施されず、常にデータ転送回路によるデータ転送(メモリへのアクセスを含む)を実施させることができる。この結果、メモリとバッファメモリとの間のスループットを向上でき、画像表示装置による画像表示に対してバッファメモリへの画像データの書き込みが間に合わなくなることを確実に防止できる。従って、連続画像が途切れるなどの画像表示機能の異常を確実に防止できる。また、メモリにおけるアクセス領域がアクセスする回路(メモリアクセス回路およびデータ転送回路)毎に分けられている場合でも、バッファメモリのデータ量が第1所定量を下回ってから第2所定量を上回るまでの間、ページミスが発生することはなく、ページミスに起因するメモリとバッファメモリとの間のスループットの低下を回避できる。
さらに、バッファメモリのデータ量が第2所定量を上回った後も、メモリアクセス回路からのメモリアクセス要求がない場合、あるいはメモリアクセス回路とデータ転送回路との間でメモリアクセスが競合してもデータ転送回路によるメモリアクセスの優先度の方が高い場合には、メモリからバッファメモリへのデータ転送が実施されるため、メモリとバッファメモリとの間のスループットの低下を回避できる。また、例えば、第1所定量と第2所定量との差を画像表示機能の正常性が確保される最小量に設定することで、データ転送回路がバスを占有する期間を必要最小限に抑えることができ、バスの使用効率の低下を防止できる。
本発明の前記第1形態の好ましい例では、調停回路は、メモリアクセス回路からのアクセス要求およびデータ転送回路からのアクセス要求を調停して、メモリへのアクセスをメモリアクセス回路およびデータ転送回路のいずれかに許可する。残量制御回路は、バッファメモリのデータ量が第1所定量を下回ったときに緊急信号を活性化させ、バッファメモリのデータ量が第2所定量を上回ったときに緊急信号を非活性化させる。調停回路は、緊急信号の活性化中、メモリアクセス回路からのアクセス要求に拘わらず、メモリへのアクセスをデータ転送回路に継続して許可し、緊急信号の非活性化中、アクセス要求の調停結果に応じて、メモリへのアクセスをメモリアクセス回路およびデータ転送回路のいずれかに許可する。このような構成により、前述したスループットの向上による画像表示機能の正常性の確保を容易に実現できる。
本発明の第2形態では、バッファメモリは、データ供給装置から供給されるデータから順次取得されるデータを一時的に格納する。例えば、データ供給装置は、画像データを順次供給する画像供給装置である。メモリは、バスを介して少なくとも1つのメモリアクセス回路によりアクセスされる。データ転送回路は、バスを介してバッファメモリからメモリへのデータ転送を実施する。バッファメモリのデータ量が第1所定量を上回ってから第1所定量より小さい第2所定量を下回るまでの期間では、データ転送回路は、メモリアクセス回路によるメモリへのアクセスの禁止により、バッファメモリからメモリへのデータ転送を継続して実施する。バッファメモリのデータ量が第2所定量を下回ってから第1所定量を上回るまでの期間では、データ転送回路は、メモリへのアクセスに関する調停結果に応じて、バッファメモリからメモリへのデータ転送を実施する。
このため、バッファメモリのデータ量が第1所定量を上回ってから第2所定量を下回るまでの間、メモリアクセス回路によるメモリへのアクセスは実施されず、常にデータ転送回路によるデータ転送(メモリへのアクセスを含む)を実施させることができる。この結果、メモリとバッファメモリとの間のスループットを向上でき、画像取得に対してバッファメモリからの画像データの読み出しが間に合わなくなることを確実に防止できる。従って、バッファメモリのオーバーフローに起因する画像取得機能の異常を確実に防止できる。また、メモリにおけるアクセス領域がアクセスする回路(メモリアクセス回路およびデータ転送回路)毎に分けられている場合でも、バッファメモリのデータ量が第1所定量を上回ってから第2所定量を下回るまでの間、ページミスが発生することはなく、ページミスに起因するメモリとバッファメモリとの間のスループットの低下を回避できる。
さらに、バッファメモリのデータ量が第2所定量を下回った後も、メモリアクセス回路からのメモリアクセス要求がない場合、あるいはメモリアクセス回路とデータ転送回路との間でメモリアクセスが競合してもデータ転送回路によるメモリアクセスの優先度の方が高い場合には、バッファメモリからメモリへのデータ転送が実施されるため、メモリとバッファメモリとの間のスループットの低下を回避できる。また、例えば、第1所定量と第2所定量との差を画像取得機能の正常性が確保される最小量に設定することで、データ転送回路がバスを占有する期間を必要最小限に抑えることができ、バスの使用効率の低下を防止できる。
本発明の前記第2形態の好ましい例では、調停回路は、メモリアクセス回路からのアクセス要求およびデータ転送回路からのアクセス要求を調停して、メモリへのアクセスをメモリアクセス回路およびデータ転送回路のいずれかに許可する。残量制御回路は、バッファメモリのデータ量が第1所定量を上回ったときに緊急信号を活性化させ、バッファメモリのデータ量が第2所定量を下回ったときに緊急信号を非活性化させる。調停回路は、緊急信号の活性化中、メモリアクセス回路からのアクセス要求に拘わらず、メモリへのアクセスをデータ転送回路に継続して許可し、緊急信号の非活性化中、アクセス要求の調停結果に応じて、メモリへのアクセスをメモリアクセス回路およびデータ転送回路のいずれかに許可する。このような構成により、前述したスループットの向上による画像取得機能の正常性の確保を容易に実現できる。
本発明の前記第1または第2形態の好ましい例では、第1所定量をレジスタ値により指定する第1レジスタと、第2所定量をレジスタ値により指定する第2レジスタとの少なくともいずれかが設けられる。このため、第1および第2所定量の少なくともいずれかを可変にできる。従って、データ転送回路によるバス占有の開始タイミングおよび終了タイミングの少なくともいずれかを変更でき、様々なシステムに対応できる。
本発明では、バスの使用効率を低下させることなくメモリとバッファメモリとの間のスループットを向上でき、システム機能(画像表示機能あるいは画像取得機能)の正常性を確保できる。
以下、図面を用いて本発明の実施形態を説明する。図1は、本発明の第1実施形態を示している。画像表示機能を有するシステム10は、CPU12、14(メモリアクセス回路)、DMAコントローラ16(データ転送回路)、バスアービタ18(調停回路)、SDRAMコントローラ20、SDRAM22(メモリ)、バス24、画像表示コントローラ26、画像表示装置28(データ利用装置)を有している。
CPU12、14は、バス24に接続してそれぞれ設けられたバスマスタであり、音声処理や各種命令をそれぞれ実行する。CPU12は、バス24を使用する際にバスアービタ18へのバス使用要求信号RQ1を活性化させ、バスアービタ18からのバス使用許可信号EN1の活性化によりバス権の取得を認識すると、バス24およびSDRAMコントローラ20を介してSDRAM22にアクセス(データ書き込みあるいはデータ読み出し)する。CPU14は、CPU12と同様に、バス24を使用する際にバスアービタ18へのバス使用要求信号RQ2を活性化させ、バスアービタ18からのバス使用許可信号EN2の活性化によりバス権の取得を認識すると、バス24およびSDRAMコントローラ20を介してSDRAM22にアクセスする。
DMAコントローラ16は、バス24に接続して設けられたバスマスタであり、画像表示コントローラ26からのDMA転送要求DRQの活性化に応答してバスアービタ18へのバス使用要求信号RQ3を活性化させ、バスアービタ18からのバス使用許可信号EN3の活性化によりバス権の取得を認識すると、バス24およびSDRAMコントローラ20を介してSDRAM22から画像表示コントローラ26内のFIFOメモリFM1(バッファメモリ)に画像データを転送する。
バスアービタ18は、画像表示コントローラ26からの緊急信号EMGの非活性化中、CPU12、14およびDMAコントローラ16からのバス使用要求信号RQ1〜RQ3に応じて、バス使用許可信号EN1〜EN3のいずれかを活性化させてCPU12、14およびDMAコントローラ16のいずれかにバス24のバス権を与える。バスアービタ18は、画像表示コントローラ26からの緊急信号EMGの活性化中、CPU12、14からのバス使用要求信号RQ1、RQ2に拘わらず、バス使用許可信号EN3を活性化させてDMAコントローラ16にバス権を継続して与える。すなわち、画像表示コントローラ26からの緊急信号EMGの活性化中、CPU12、14によるSDRAM22へのアクセスは禁止される。
SDRAMコントローラ20は、CPU12、14およびDMAコントローラ16がSDRAM22にアクセスするためのインタフェース回路として機能する。SDRAM22は、SDRAMコントローラ20を介してバス24に接続されており、CPU12、14およびDMAコントローラ16によりアクセスされる。バス24は、CPU12、14、DMAコントローラ16およびSDRAMコントローラ20(SDRAM22)を相互に接続し、これらの間でデータの授受を可能にする。
画像表示コントローラ26は、画像表示装置28への画像データを一時的に格納するFIFOメモリFM1、第1レジスタR11、第2レジスタR12、残量制御回路VC1を有している。残量制御回路VC1は、FIFOメモリFM1のデータ量がレジスタR11のレジスタ値が示すデータ量(第1所定量)を下回ったときに、緊急信号EMGを活性化させる。残量制御回路VC1は、FIFOメモリFM1のデータ量がレジスタR12のレジスタ値が示すデータ量(第2所定量)を上回ったときに、緊急信号EMGを非活性化させる。
レジスタR11、R12は、例えば、バス24とは別のバス(図示せず)を介してレジスタ値を設定可能である。レジスタR11、R12のレジスタ値は、第1所定量より第2所定量が大きくなるように予め設定されている。画像表示コントローラ26は、画像表示装置28への画像データの出力中(画像表示装置28による画像表示の実施中)、FIFOメモリFM1に空き領域がある場合、DMAコントローラ16へのDMA転送要求信号DRQを活性化させ、FIFOメモリFM1に空き領域がない場合、DMAコントローラ16へのDMA転送要求信号DRQを非活性化させる。画像表示装置28は、画像表示コントローラ26から順次出力される画像データを用いて画像表示を実施する。
図2は、図1の画像表示コントローラ26の動作概要を示している。この例では、FIFOメモリFM1は、64段構成である。第1所定量(レジスタR11のレジスタ値が示すデータ量)は、FIFOメモリFM1の4段分のデータ量である。第2所定量(レジスタR12のレジスタ値が示すデータ量)は、FIFOメモリFM1の10段分のデータ量である。
画像表示装置28による画像表示の実施中、FIFOメモリFM1のデータ量が12段分のデータ量である状態で、例えば、DMAコントローラ16によるSDRAM22へのアクセスとCPU12、14によるSDRAM22へのアクセスとの競合に伴って、FIFOメモリFM1から画像表示装置28に出力される画像データ量より、SDRAM22からFIFOメモリFM1にDMA転送される画像データ量が少なくなると、FIFOメモリFM1のデータ量は減少し始める。
FIFOメモリFM1のデータ量が4段分のデータ量(第1所定量)まで減少すると、残量制御回路VC1は、緊急信号EMGを活性化させる。従って、CPU12、14によるSDRAM22へのアクセスは禁止され、DMAコントローラ16によるSDRAM22へのアクセス(SDRAM22からFIFOメモリFM1へのデータ転送)がバス24を占有した状態で実施される。これにより、FIFOメモリFM1から画像表示装置28に出力される画像データ量より、SDRAM22からFIFOメモリFM1にDMA転送される画像データ量が多くなり、FIFOメモリFM1のデータ量は増加し始める。FIFOメモリFM1のデータ量が10段分のデータ量(第2所定量)まで増加すると、残量制御回路VC1は、緊急信号EMGを非活性化させる。従って、CPU12、14によるSDRAM22へのアクセスが解禁される。
図3は、第1実施形態におけるデータフローの概要を示している。なお、図中の網掛矢印は、その太さがスループットに対応している。この例は、緊急信号EMGの活性化中のデータフローに対応している。緊急信号EMGの活性化中(FIFOメモリFM1のデータ量が第1所定量を下回ってから第2所定量を上回るまでの間)、CPU12、14によるSDRAM22へのアクセスは禁止されるため、SDRAM22およびバス24間のスループットとFIFOメモリFM1およびバス24間のスループットとを同一にできる。すなわち、SDRAM22とバッファメモリFM1との間のスループットが向上する。このため、画像表示装置28による画像表示に対してFIFOメモリFM1への画像データの書き込みが間に合わなくなることが確実に防止される。
また、FIFOメモリFM1のデータ量が第2所定量を上回った後も、CPU12、14によるSDRAM22へのアクセスがない場合、あるいはCPU12、14とDMAコントローラ16との間でSDRAM22へのアクセスが競合してもDMAコントローラ16によるSDRAM22へのアクセスの優先度の方が高い場合には、SDRAM22からFIFOメモリFM1への画像データ転送が実施されるため、SDRAM22とFIFOメモリFM1との間のスループットの低下が抑制される。
図4は、本発明の比較例を示している。本発明の比較例を説明するにあたって、第1実施形態(図1)で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。本発明の比較例のシステム90は、第1実施形態のバスアービタ18および画像表示コントローラ26に代えて、バスアービタ92および画像表示コントローラ94を有している。システム90のその他の構成は、第1実施形態のシステム10と同一である。バスアービタ92の動作は、第1実施形態のバスアービタ18における緊急信号EMGの非活性化中の動作と同一である。画像表示コントローラ94は、第1実施形態の画像表示コントローラ26からレジスタR11、R12および残量制御回路VC1を取り除いて構成されている。
図5および図6は、本発明の比較例におけるデータフローの概要を示している。図5は、CPU12、14およびDMAコントローラ16間でSDRAM22へのアクセスが競合しない場合のデータフローに対応している。図6は、CPU12、14およびDMAコントローラ16間でSDRAM22へのアクセスが競合する場合のデータフローに対応している。なお、図3と同様に、図中の網掛矢印は、その太さがスループットに対応している。
CPU12、14およびDMAコントローラ16間でSDRAM22へのアクセスが競合しない場合、図5に示すように、SDRAM22およびバス24間のスループットとFIFOメモリFM1およびバス24間のスループットとは同一である。このため、画像表示装置28による画像表示に対してバッファメモリFM1への画像データの書き込みが間に合わなくなることはない。
しかしながら、CPU12、14およびDMAコントローラ16間でSDRAM22へのアクセスが競合する場合、SDRAM22へのアクセスは、CPU12、14およびDMAコントローラ16に対して均等な頻度で順次実施されるため、DMAコントローラ16によるSDRAM22へのアクセスは、SDRAM22に対するアクセスの3回に1回しか実施されない。このため、図6に示すように、FIFOメモリFM1およびバス24間のスループットが図5と比較して約1/3に低下してしまう。この結果、画像表示装置28による画像表示に対してバッファメモリFM1への画像データの書き込みが間に合わなくなり、連続画像が途切れるなどして画像表示を正常に実施できなくなる。また、SDRAM22におけるアクセス領域がバスマスタ(CPU12、14およびDMAコントローラ16)毎に分けられている場合、バスマスタの入れ替わりに伴ってページミスが発生し、SDRAM22とFIFOメモリFM1との間のスループットが更に低下してしまう。
以上、第1実施形態では、画像表示コントローラ26からの緊急信号EMGの活性化中、CPU12、14によるSDRAM22へのアクセスは実施されず、常にDMAコントローラ16による画像データ転送を実施させることができる。この結果、SDRAM22とFIFOメモリFM1との間のスループットを向上でき、画像表示装置28による画像表示に対してFIFOメモリFM1への画像データの書き込みが間に合わなくなることを確実に防止できる。従って、動画等の連続画像が途切れるなどの画像表示の異常を確実に防止できる。また、SDRAM22におけるアクセス領域がバスマスタ(CPU12、14およびDMAコントローラ16)毎に分けられている場合でも、緊急信号EMGの活性化中にページミスが発生することはなく、ページミスに起因するSDRAM22とFIFOメモリFM1との間のスループットの低下を回避できる。
さらに、緊急信号EMGが非活性化された後も、CPU12、14によるSDRAM22へのアクセスがない場合、あるいはCPU12、14とDMAコントローラ16との間でSDRAM22へのアクセスが競合してもDMAコントローラ16によるSDRAM22へのアクセスの優先度の方が高い場合には、SDRAM22からFIFOメモリFM1への画像データ転送が実施されるため、SDRAM22とFIFOメモリFM1との間のスループットの低下を回避できる。また、レジスタR11、R12のレジスタ値を変更することで、DMAコントローラ16によるバス占有の開始タイミングおよび終了タイミングを変更できるため、様々なシステムに対応できる。例えば、レジスタR11、R12のレジスタ値を第1所定量と第2所定量との差が画像表示機能の正常性が確保される最小量になるように設定することで、DMAコントローラ16がバスを占有する期間を必要最小限に抑えることができ、バス24の使用効率を向上できる。
図7は、本発明の第2実施形態を示している。第2実施形態を説明するにあたって、第1実施形態(図1)で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。画像取得機能を有するシステム50は、CPU12、14(メモリアクセス回路)、DMAコントローラ52(データ転送回路)、バスアービタ18(調停回路)、SDRAMコントローラ20、SDRAM22(メモリ)、バス24、画像取得コントローラ54、画像供給装置56(データ供給装置)を有している。
DMAコントローラ52は、バス24に接続して設けられたバスマスタであり、画像取得コントローラ54からのDMA転送要求DRQの活性化に応答してバスアービタ18へのバス使用要求信号RQ3を活性化させ、バスアービタ18からのバス使用許可信号EN3の活性化によりバス権の取得を認識すると、バス24およびSDRAMコントローラ20を介して画像取得コントローラ54内のFIFOメモリFM2(バッファメモリ)からSDRAM22に画像データを転送する。
画像取得コントローラ54は、画像供給装置56から供給される画像データから順次取得される画像データを一時的に格納するFIFOメモリFM2、第1レジスタR21、第2レジスタR22、残量制御回路VC2を有している。残量制御回路VC2は、FIFOメモリFM2のデータ量がレジスタR21のレジスタ値が示すデータ量(第1所定量)を上回ったときに、緊急信号EMGを活性化させる。残量制御回路VC2は、FIFOメモリFM2のデータ量がレジスタR22のレジスタ値が示すデータ量(第2所定量)を下回ったときに、緊急信号EMGを非活性化させる。
レジスタR21、R22は、例えば、バス24とは別のバス(図示せず)を介してレジスタ値を設定可能である。レジスタR21、R22のレジスタ値は、第1所定量より第2所定量が小さくなるように予め設定されている。画像取得コントローラ54は、画像供給装置56からの画像データの入力中(画像取得の実施中)、FIFOメモリFM2に画像データが格納されている場合、DMAコントローラ52へのDMA転送要求信号DRQを活性化させ、FIFOメモリFM2に画像データが格納されていない場合、DMAコントローラ52へのDMA転送要求信号DRQを非活性化させる。画像供給装置56は、画像データを画像取得コントローラ54に順次供給する。
図8は、図7の画像取得コントローラ54の動作概要を示している。この例では、FIFOメモリFM2は、64段構成である。第1所定量(レジスタR21のレジスタ値が示すデータ量)は、FIFOメモリFM2の60段分のデータ量である。第2所定量(レジスタR22のレジスタ値が示すデータ量)は、FIFOメモリFM2の54段分のデータ量である。
画像取得の実施中、FIFOメモリFM2のデータ量が53段分のデータ量である状態で、DMAコントローラ52によるSDRAM22へのアクセスとCPU12、14によるSDRAM222へのアクセスとの競合に伴って、画像取得によりFIFOメモリFM2に格納される画像データ量より、FIFOメモリFM2からSDRAM22にDMA転送される画像データ量が少なくなると、FIFOメモリFM2のデータ量は増加し始める。
FIFOメモリFM2のデータ量が60段分のデータ量(第1所定量)まで増加すると、残量制御回路VC2は、緊急信号EMGを活性化させる。従って、CPU12、14によるSDRAM22へのアクセスは禁止され、DMAコントローラ52によるSDRAM22へのアクセス(FIFOメモリFM2からSDRAM22へのデータ転送)がバス24を占有した状態で実施される。これにより、画像取得によってFIFOメモリFM2に格納される画像データ量より、FIFOメモリFM2からSDRAM22にDMA転送される画像データ量が多くなり、FIFOメモリFM2のデータ量は減少し始める。FIFOメモリFM2のデータ量が54段分のデータ量(第2所定量)まで減少すると、残量制御回路VC2は、緊急信号EMGを非活性化させる。従って、CPU12、14によるSDRAM22へのアクセスが解禁される。
以上、第2実施形態では、画像取得コントローラ54からの緊急信号EMGの活性化中、CPU12、14によるSDRAM22へのアクセスは実施されず、常にDMAコントローラ52による画像データ転送を実施させることができる。この結果、SDRAM22とFIFOメモリFM2との間のスループットを向上でき、画像取得に対してFIFOメモリFM2からの画像データの読み出しが間に合わなくなることを確実に防止できる。従って、FIFOメモリFM2のオーバーフローに起因する画像取得の異常を確実に防止できる。また、第1実施形態と同様に、SDRAM22におけるアクセス領域がバスマスタ(CPU12、14およびDMAコントローラ52)毎に分けられている場合でも、緊急信号EMGの活性化中にページミスが発生することはなく、ページミスに起因するSDRAM22とFIFOメモリFM2との間のスループットの低下を回避できる。
さらに、緊急信号EMGが非活性化された後も、CPU12、14によるSDRAM22へのアクセスがない場合、あるいはCPU12、14とDMAコントローラ52との間でSDRAM22へのアクセスが競合してもDMAコントローラ52によるSDRAM22へのアクセスの優先度の方が高い場合には、FIFOメモリFM2からSDRAM22への画像データ転送が実施されるため、SDRAM22とFIFOメモリFM2との間のスループットの低下を回避できる。また、レジスタR21、R22のレジスタ値を変更することで、DMAコントローラ52によるバス占有の開始タイミングおよび終了タイミングを変更できるため、様々なシステムに対応できる。例えば、レジスタR21、R22のレジスタ値を第1所定量と第2所定量との差が画像取得機能の正常性が確保される最小量になるように設定することで、DMAコントローラ52がバスを占有する期間を必要最小限に抑えることができ、バス24の使用効率を向上できる。
なお、第1および第2実施形態では、緊急信号EMGの活性化タイミングおよび非活性化タイミングをそれぞれ規定する第1および第2レジスタを設けた例について述べたが、本発明はかかる実施形態に限定されるものではない。例えば、緊急信号EMGの非活性化タイミングの変更のみが必要である場合には、第1所定量を固定にして第1レジスタを取り除いてもよいし、緊急信号EMGの活性化タイミングの変更のみが必要である場合には、第2所定量を固定にして第2レジスタを取り除いてもよい。また、緊急信号EMGの非活性化タイミングの変更および活性化タイミングの変更の双方が不要である場合には、第1および第2所定量を固定にして第1および第2レジスタの双方を取り除いてもよい。これらの場合、第1および第2レジスタの少なくともいずれかが不要になるため、システム構成を簡素化でき、システムの開発期間を短縮できる。
第1および第2実施形態では、画像データの転送に本発明を適用した例について述べたが、本発明はかかる実施形態に限定されるものではない。例えば、画像データ以外のデータ(音声データなど)の転送に本発明を適用してもよい。
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
本発明の第1実施形態を示すブロック図である。 図1の画像表示コントローラの動作概要を示す説明図である。 第1実施形態におけるデータフローの概要を示す説明図である。 本発明の比較例を示すブロック図である。 本発明の比較例におけるデータフローの概要を示す説明図である。 本発明の比較例におけるデータフローの概要を示す説明図である。 本発明の第2実施形態を示すブロック図である。 図7の画像取得コントローラの動作概要を示す説明図である。
符号の説明
10、50 システム
12、14 CPU
16、52 DMAコントローラ
18 バスアービタ
20 SDRAMコントローラ
22 SDRAM
24 バス
26 画像表示コントローラ
28 画像表示装置
54 画像取得コントローラ
56 画像供給装置
DRQ DMA転送要求信号
EN1、EN2、EN3 バス使用許可信号
FM1、FM2 FIFOメモリ
R11、R21 第1レジスタ
R12、R22 第2レジスタ
RQ1、RQ2、RQ3 バス使用要求信号
VC1、VC2 残量制御回路

Claims (10)

  1. データ利用装置に順次出力されるデータを一時的に格納するバッファメモリと、
    バスを介して少なくとも1つのメモリアクセス回路によりアクセスされるメモリと、
    前記バスを介して前記メモリから前記バッファメモリへのデータ転送を実施するデータ転送回路とを備え、
    前記データ転送回路は、前記バッファメモリのデータ量が第1所定量を下回ってから前記第1所定量より大きい第2所定量を上回るまでの期間では、前記メモリアクセス回路による前記メモリへのアクセスの禁止により、前記データ転送を継続して実施し、前記バッファメモリのデータ量が前記第2所定量を上回ってから前記第1所定量を下回るまでの期間では、前記メモリへのアクセスに関する調停結果に応じて、前記データ転送を実施することを特徴とするデータ転送システム。
  2. 請求項1記載のデータ転送システムにおいて、
    前記メモリアクセス回路からのアクセス要求および前記データ転送回路からのアクセス要求を調停して、前記メモリへのアクセスを前記メモリアクセス回路および前記データ転送回路のいずれかに許可する調停回路と、
    前記バッファメモリのデータ量が前記第1所定量を下回ったときに緊急信号を活性化させ、前記バッファメモリのデータ量が前記第2所定量を上回ったときに前記緊急信号を非活性化させる残量制御回路とを備え、
    前記調停回路は、前記緊急信号の活性化中、前記メモリアクセス回路からのアクセス要求に拘わらず、前記メモリへのアクセスを前記データ転送回路に継続して許可し、前記緊急信号の非活性化中、アクセス要求の調停結果に応じて、前記メモリへのアクセスを前記メモリアクセス回路および前記データ転送回路のいずれかに許可することを特徴とするデータ転送システム。
  3. 請求項1記載のデータ転送システムにおいて、
    前記第1所定量をレジスタ値により指定する第1レジスタと、前記第2所定量をレジスタ値により指定する第2レジスタとの少なくともいずれかを備えていることを特徴とするデータ転送システム。
  4. 請求項1記載のデータ転送システムにおいて、
    前記データ利用装置は、画像表示装置であり、
    前記バッファメモリに格納されるデータは、前記画像表示装置の画像表示に用いられる画像データであることを特徴とするデータ転送システム。
  5. データ供給装置から供給されるデータから順次取得されるデータを一時的に格納するバッファメモリと、
    バスを介して少なくとも1つのメモリアクセス回路によりアクセスされるメモリと、
    前記バスを介して前記バッファメモリから前記メモリへのデータ転送を実施するデータ転送回路とを備え、
    前記データ転送回路は、前記バッファメモリのデータ量が第1所定量を上回ってから前記第1所定量より小さい第2所定量を下回るまでの期間では、前記メモリアクセス回路による前記メモリへのアクセスの禁止により、前記データ転送を継続して実施し、前記バッファメモリのデータ量が前記第2所定量を下回ってから前記第1所定量を上回るまでの期間では、前記メモリへのアクセスに関する調停結果に応じて、前記データ転送を実施することを特徴とするデータ転送システム。
  6. 請求項5記載のデータ転送システムにおいて、
    前記メモリアクセス回路からのアクセス要求および前記データ転送回路からのアクセス要求を調停して、前記メモリへのアクセスを前記メモリアクセス回路および前記データ転送回路のいずれかに許可する調停回路と、
    前記バッファメモリのデータ量が前記第1所定量を上回ったときに緊急信号を活性化させ、前記バッファメモリのデータ量が前記第2所定量を下回ったときに前記緊急信号を非活性化させる残量制御回路とを備え、
    前記調停回路は、前記緊急信号の活性化中、前記メモリアクセス回路からのアクセス要求に拘わらず、前記メモリへのアクセスを前記データ転送回路に継続して許可し、前記緊急信号の非活性化中、アクセス要求の調停結果に応じて、前記メモリへのアクセスを前記メモリアクセス回路および前記データ転送回路のいずれかに許可することを特徴とするデータ転送システム。
  7. 請求項5記載のデータ転送システムにおいて、
    前記第1所定量をレジスタ値により指定する第1レジスタと、前記第2所定量をレジスタ値により指定する第2レジスタとの少なくともいずれかを備えていることを特徴とするデータ転送システム。
  8. 請求項5記載のデータ転送システムにおいて、
    前記データ供給装置は、画像データを順次供給する画像供給装置であることを特徴とするデータ転送システム。
  9. バスを介して少なくとも1つのメモリアクセス回路によりアクセスされるメモリから、データ利用装置に順次出力されるデータを一時的に格納するバッファメモリへのデータ転送を、前記バスを介して実施するデータ転送方法であって、
    前記バッファメモリのデータ量が第1所定量を下回ってから前記第1所定量より大きい第2所定量を上回るまでの期間では、前記メモリアクセス回路による前記メモリへのアクセスの禁止により、前記データ転送を継続して実施し、前記バッファメモリのデータ量が前記第2所定量を上回ってから前記第1所定量を下回るまでの期間では、前記メモリへのアクセスに関する調停結果に応じて、前記データ転送を実施することを特徴とするデータ転送方法。
  10. データ供給装置から供給されるデータから順次取得されるデータを一時的に格納するバッファメモリから、バスを介して少なくとも1つのメモリアクセス回路によりアクセスされるメモリへのデータ転送を、前記バスを介して実施するデータ転送方法であって、
    前記バッファメモリのデータ量が第1所定量を上回ってから前記第1所定量より小さい第2所定量を下回るまでの期間では、前記メモリアクセス回路による前記メモリへのアクセスの禁止により、前記データ転送を継続して実施し、前記バッファメモリのデータ量が前記第2所定量を下回ってから前記第1所定量を上回るまでの期間では、前記メモリへのアクセスに関する調停結果に応じて、前記データ転送を実施することを特徴とするデータ転送方法。
JP2005039749A 2005-02-16 2005-02-16 データ転送システムおよびデータ転送方法 Expired - Fee Related JP4408263B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005039749A JP4408263B2 (ja) 2005-02-16 2005-02-16 データ転送システムおよびデータ転送方法
US11/168,348 US20060190640A1 (en) 2005-02-16 2005-06-29 Data transfer system and data transfer method
CNB2005100806127A CN100412834C (zh) 2005-02-16 2005-07-04 数据传输系统和数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005039749A JP4408263B2 (ja) 2005-02-16 2005-02-16 データ転送システムおよびデータ転送方法

Publications (2)

Publication Number Publication Date
JP2006227836A JP2006227836A (ja) 2006-08-31
JP4408263B2 true JP4408263B2 (ja) 2010-02-03

Family

ID=36914168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005039749A Expired - Fee Related JP4408263B2 (ja) 2005-02-16 2005-02-16 データ転送システムおよびデータ転送方法

Country Status (3)

Country Link
US (1) US20060190640A1 (ja)
JP (1) JP4408263B2 (ja)
CN (1) CN100412834C (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050549A1 (en) * 2005-08-31 2007-03-01 Verdun Gary J Method and system for managing cacheability of data blocks to improve processor power management
US20080030903A1 (en) * 2006-08-03 2008-02-07 Sae Magnetics (H.K.) Ltd. Suspension having stress absorbing structure, head gimbal assembly and disk drive unit with the same
US8325633B2 (en) * 2007-04-26 2012-12-04 International Business Machines Corporation Remote direct memory access
US8037213B2 (en) * 2007-05-30 2011-10-11 International Business Machines Corporation Replenishing data descriptors in a DMA injection FIFO buffer
US8478834B2 (en) 2007-07-12 2013-07-02 International Business Machines Corporation Low latency, high bandwidth data communications between compute nodes in a parallel computer
US8018951B2 (en) * 2007-07-12 2011-09-13 International Business Machines Corporation Pacing a data transfer operation between compute nodes on a parallel computer
US8959172B2 (en) 2007-07-27 2015-02-17 International Business Machines Corporation Self-pacing direct memory access data transfer operations for compute nodes in a parallel computer
US20090031001A1 (en) * 2007-07-27 2009-01-29 Archer Charles J Repeating Direct Memory Access Data Transfer Operations for Compute Nodes in a Parallel Computer
US9009350B2 (en) * 2008-04-01 2015-04-14 International Business Machines Corporation Determining a path for network traffic between nodes in a parallel computer
US9225545B2 (en) * 2008-04-01 2015-12-29 International Business Machines Corporation Determining a path for network traffic between nodes in a parallel computer
US8544026B2 (en) 2010-02-09 2013-09-24 International Business Machines Corporation Processing data communications messages with input/output control blocks
US8949453B2 (en) 2010-11-30 2015-02-03 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8949328B2 (en) 2011-07-13 2015-02-03 International Business Machines Corporation Performing collective operations in a distributed processing system
US8930962B2 (en) 2012-02-22 2015-01-06 International Business Machines Corporation Processing unexpected messages at a compute node of a parallel computer
US20140082307A1 (en) * 2012-09-17 2014-03-20 Mobileye Technologies Limited System and method to arbitrate access to memory

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192428B1 (en) * 1998-02-13 2001-02-20 Intel Corporation Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached
JP2001184301A (ja) * 1999-12-27 2001-07-06 Seiko Instruments Inc 画像データ転送方法ならびに装置
US6449702B1 (en) * 1999-12-30 2002-09-10 Intel Corporation Memory bandwidth utilization through multiple priority request policy for isochronous data streams
JP2002165068A (ja) * 2000-11-24 2002-06-07 Fuji Photo Film Co Ltd 画像データ転送システム
US20050268020A1 (en) * 2004-05-27 2005-12-01 James David B Data transfer system with bus

Also Published As

Publication number Publication date
CN1821985A (zh) 2006-08-23
CN100412834C (zh) 2008-08-20
JP2006227836A (ja) 2006-08-31
US20060190640A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
JP4408263B2 (ja) データ転送システムおよびデータ転送方法
JP4715801B2 (ja) メモリアクセス制御装置
US20140344512A1 (en) Data Processing Apparatus and Memory Apparatus
US6317813B1 (en) Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller
EP2709020B1 (en) System and method to arbitrate access to memory
US20100058001A1 (en) Distributed shared memory multiprocessor and data processing method
US6836831B2 (en) Independent sequencers in a DRAM control structure
US7606957B2 (en) Bus system including a bus arbiter for arbitrating access requests
US6360305B1 (en) Method and apparatus for optimizing memory performance with opportunistic pre-charging
US20130219095A1 (en) Circuit and method for pipe arbitration using available state information and arbitration
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
US7080176B2 (en) Bus control device and information processing system
US20080016296A1 (en) Data processing system
JP3990569B2 (ja) データメモリ制御装置
JP5623150B2 (ja) 電子機器及びその制御方法
JP4335327B2 (ja) 調停装置および方法
JP2007264751A (ja) データ転送制御装置
KR100441996B1 (ko) 직접 메모리 액세스 제어기 및 제어 방법
JPH0877099A (ja) Dmaコントローラ
JP2007108858A (ja) ピン共有装置およびピン共有方法
JP2003085125A (ja) メモリ制御器及びメモリ制御方法
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
JP2006268734A (ja) メモリアクセス制御装置
JP2006277363A (ja) 情報転送方式,画像形成装置
JP2007316880A (ja) デュアルポートメモリのアクセス権調停方式

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090416

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: 20091104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091106

R150 Certificate of patent or registration of utility model

Ref document number: 4408263

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

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