JP2007226374A - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP2007226374A
JP2007226374A JP2006044846A JP2006044846A JP2007226374A JP 2007226374 A JP2007226374 A JP 2007226374A JP 2006044846 A JP2006044846 A JP 2006044846A JP 2006044846 A JP2006044846 A JP 2006044846A JP 2007226374 A JP2007226374 A JP 2007226374A
Authority
JP
Japan
Prior art keywords
control circuit
dma control
data
memory
dma
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
JP2006044846A
Other languages
English (en)
Other versions
JP4446968B2 (ja
Inventor
Takahiro Minami
崇博 南
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2006044846A priority Critical patent/JP4446968B2/ja
Priority to US11/647,446 priority patent/US20070208886A1/en
Priority to CNB2007100788221A priority patent/CN100481044C/zh
Publication of JP2007226374A publication Critical patent/JP2007226374A/ja
Application granted granted Critical
Publication of JP4446968B2 publication Critical patent/JP4446968B2/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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control

Landscapes

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

Abstract

【課題】高速なデータ処理と効率的なメモリバスの使用が可能なDMA方式によるデータ処理装置を提供する。
【解決手段】メモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しの少なくとも一方を行う各DMA回路14に対して、CPU1の指令に応じて動作するスイッチSW1を備え、CPU1の指令に基づいて第1のDMA制御部14aと第2のDMA制御部14bの各メモリデータ線とコマンド信号線とを線L1,L2により接続可能になっている。これにより、一方のDMA制御部がメモリ2へのデータの書き込み又はメモリ2からのデータの読み出しを行っているデータを、他方のDMA制御部が取得することができ、取得したデータをメモリ2の他のアドレスに転送したり、入出力装置へ転送したりすることが可能となる。
【選択図】図3

Description

本発明は、ダイレクトメモリアクセス(略称DMA)方式によってデータを転送することができるデータ処理装置に関する。
複写装置、スキャナー装置、プリンタ装置およびファクシミリ装置などの機能を1つにまとめた複合装置などに搭載されてイメージデータを処理するデータ処理装置では、近年、カラー化の対応が行われており、データ処理の高速化が要求されていることから、ダイレクトメモリアクセス(Direct Memory Access、略称DMA)方式によるデータ転送によってデータ処理の高速化が図られている。
上述したデータ処理装置の従来技術として、例えば、図6に示すものがある。この従来技術のデータ処理装置は、主制御部であるCPU1と、メモリ2と、3つの内部ブロック3とを含む。各内部ブロック3は、レジスタ6と、メモリ処理部であるDMA制御回路4とを含む。図7は、CPU1のDMA関連動作を説明するためのフローチャートである。
レジスタ6には、CPU1からの設定条件が与えられる。DMA制御回路4は、レジスタ6に記憶されている設定条件に基づいて、メモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しの少なくとも一方を行う。DMA制御回路4は、CPU1からの起動指令に応答して起動する。DMA制御回路4は、メモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しの少なくとも一方が終了すると、割り込み要求をCPU2に与える。
このようなデータ処理装置では、各DMA制御回路4によるメモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しの少なくとも一方が終了する毎に、各DMA制御回路4からCPU1に割り込み要求が与えられる。CPU1は、割り込み要求を与えられると、次に起動されるべきDMA制御回路4のレジスタ設定を行い、そのDMA制御回路4に起動指令を与える。これによって各DMA制御回路4が順次、起動される。
上記従来のデータ処理装置の場合、各DMA制御回路4を順次、起動するにあたって、各DMA制御回路4は、メモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しの少なくとも一方が終了する毎に、割り込み要求をCPU1に与え、CPU1は、割り込み要求を与えられると、次に起動されるべきDMA制御回路4のレジスタ設定を行い、そのDMA制御回路4に起動指令を与える必要がある。したがってCPUの処理負荷が発生し、CPUのパフォーマンスが低下してしまうという問題がある。
このような問題を解決するものとして、出願人は特許文献1に示すデータ処理装置を提案している。
以下、特許文献1に示されている先行技術(以下、「先行技術」と表現する。)について詳しく説明する。図8は、先行技術におけるデータ処理装置を簡略化して示したブロック図である。DMA方式によってCPUを介さずに、メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方を行うことができるデータ処理装置20は、CPU1と、メモリ2と、複数(図の例では3つ)のDMA制御回路24と、複数(本実施の形態では3つ)のセレクタ回路25とを含む。
メモリ処理部である各DMA制御回路24は、共通のメモリ2にアクセスするもので、各DMA制御回路24は、メモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しを行い、書き込みおよび読み出しの少なくとも一方が終了すると、終了通知を出力する。各DMA制御回路24は、各セレクタ回路25からの起動指令に応答して、メモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しの少なくとも一方を開始する。
CPU1は、メモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しの開始指令を出力する。またCPU1は、このCPU1からの開始指令および各DMA制御回路24からの終了通知のいずれを選択するかを示す選択指令を出力する。各セレクタ回路25は、CPU1からの開始指令または各DMA制御回路24からの終了通知のいずれかに応答して起動指令を出力する。各セレクタ回路25が、CPU1からの開始指令および各DMA制御回路24からの終了通知のいずれに応答するかは、CPUからの選択指令によって決まる。
図9は、各DMA制御回路24によるメモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しの一例を説明するための図である。第1のDMA制御回路24aはメモリ2へデータを書き込むように設定され、開始アドレスがA番地に設定され、転送バイト数がNバイトに設定される。第2のDMA制御回路24bはメモリ2からデータを読み出すように設定され、開始アドレスがA番地に設定され、転送バイト数がNバイトに設定される。第3のDMA制御回路24cはメモリ2へデータを書き込むように設定され、開始アドレスがB番地に設定され、転送バイト数がMバイトに設定される。
また、各セレクタ25において、第1のセレクタ回路25aはCPU1からの開始指令に応答して起動指令を出力するように設定される。第2のセレクタ回路25bは第1のDMA制御回路24aからの終了通知に応答して起動指令を出力するように設定される。第3のセレクタ回路25cは第2のDMA制御回路24bからの終了通知に応答して起動指令を出力するように設定される。
このように各DMA制御回路24および各セレクタ回路25が設定されるとき、CPU1が開始指令を出力すると、第1のセレクタ回路25aはCPU1からの開始指令に応答して起動指令を出力する。第1のDMA制御回路24aは第1のセレクタ回路25aからの起動指令に応答して起動し、メモリ2へデータを書き込む。このときデータはメモリ2のA番地から順にNバイト分、書き込まれる。第1のDMA制御回路24aはメモリ2へのデータの書き込みを終了すると、終了通知を出力する。
第2のセレクタ回路25bは第1のDMA制御回路24aからの終了通知に応答して起動指令を出力する。第2のDMA制御回路24bは第2のセレクタ回路25bからの起動指令に応答して起動し、メモリ2からデータを読み出す。このときデータはメモリ2のA番地から順にNバイト分、読み出される。第2のDMA制御回路24bはメモリ2からのデータの読み出しを終了すると、終了通知を出力する。
第3のセレクタ回路25cは、第2のDMA制御回路24bからの終了通知に応答して起動指令を出力する。第3のDMA制御回路24cは、第3のセレクタ回路25cからの起動指令に応答して起動し、メモリ2へデータを書き込む。このときデータは、メモリ2のB番地から順にMバイト分、書き込まれる。
図10は、データ処理装置20の全体の構成を示すブロック図、図11は内部ブロック33の詳細を示すブロック図である。データ処理装置20は、メモリ2と、メモリ2を制御するメモリコントローラ9と、アービタ&セレクタ8と、後述する複数(図示の例では3つ)の内部ブロック33a〜33cと、CPU1とを含む。メモリコントローラ9と各内部ブロック33との間に介在するアービタ&セレクタ8は、各内部ブロック33のいずれか1つを選択し、選択した内部ブロック33にバス使用権を割り当てる。
内部ブロック33は、DMA制御回路24と、セレクタ回路25とを含み、DMA制御回路24は、アービタ&セレクタ8を介してメモリコントローラ9を制御し、これによってメモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しの少なくとも一方を行うことができ、例えば、スキャン入力のための機能、圧縮・伸長入出力ための機能、回転入出力のための機能およびレーザ出力のための機能のいずれか1つを有する。
CPU1は、CPUアドレスCPU_ADRとCPUデータCPU_DATAをレジスタ36に与える。CPUアドレスCPU_ADRは、レジスタ36のアドレスを示し、CPUデータCPU_DATAは、制御回路37、DMA制御回路24およびセレクタ回路25の設定条件を示す。またCPU1は、CPUデータCPU_DATAをレジスタ36から与えられる。このCPUデータCPU_DATAは、制御回路37、DMA制御回路24およびセレクタ回路25のステータスを示す。
レジスタ36は、CPUアドレスCPU_ADRをデコードし、書き込み時にはCPUアドレスCPU_ADRによって指定されるアドレスにCPUデータCPU_DATAをラッチする。またレジスタ36は、読み出し時にはCPUアドレスCPU_ADRによって指定されるアドレスから、CPUデータCPU_DATAを転送する。
制御回路37は、レジスタ36に記憶されている制御回路37の設定条件に基づいてデータを演算する。また制御回路37は、この制御回路37のステータスをレジスタ36に与える。制御回路37は、入出力装置38を制御する。制御回路37は、入出力装置38へデータを与える。また制御回路37はデータを記憶するバッファ回路を含み、入出力装置38からデータを与えられる。
例えば、第1の内部ブロック33aが、スキャン入力のための機能を有する内部ブロックであるとき、制御回路37は、タイミング生成回路と、バッファ回路とを含む。タイミング生成回路は、入出力装置38である画像読取部によって原稿から読み取られるスキャンデータをリードするタイミングを生成する。バッファ回路は、スキャンデータを記憶する。
DMA制御回路24は、レジスタ36に記憶されているDMA制御回路24の設定条件に基づいて、データを転送する。DMA制御回路24の設定条件は、開始アドレスと、転送バイト数とを示す。DMA制御回路24は、このDMA制御回路24のステータスをレジスタ36に与える。DMA制御回路24は、後述のセレクタ回路25からの起動指令D_TRG1に応答して起動する。DMA制御回路24は、制御回路37内のバッファ回路に記憶されるデータを読み出して、このデータをメモリ2に書き込む。あるいはDMA制御回路24は、メモリ2に記憶されるデータを読み出して、このデータを制御回路37内のバッファ回路に書き込む。
詳細に述べると、DMA制御回路24は、DMAアドレスDMA_ADR1をアービタ&セレクタ32を介してメモリコントローラ31に与える。このDMAアドレスDMA_ADR1は、メモリ2のアドレスを示す。DMA制御回路24は、DMA制御信号DMA_CONT1をアービタ&セレクタ8を介してメモリコントローラ9に与える。このDMA制御信号DMA_CONT1は、メモリ2への書き込み指令およびメモリ2からの読み出し指令を示す。またDMA制御回路24は、DMA制御信号DMA_CONT1をアービタ&セレクタ8を介してメモリコントローラ9から与えられる。このDMA制御信号DMA_CONT1は、メモリコントローラ9のステータスを示す。
このようなDMA制御回路24は、DMAアドレスDMA_ADR1によってメモリ2のアドレスを指定する。そしてDMA制御回路24は、DMA制御信号DMA_CONT1によって書き込みおよび読み出しの少なくとも一方を指令する。このようにして、DMA制御回路24は、メモリ2の指定されるアドレスへのデータの書き込みおよびメモリ2の指定されるアドレスからのデータの読み出しの少なくとも一方を行うことができる。このデータが、図11におけるDMAデータDMA_DATAに相当する。
DMA制御回路24は、メモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しの少なくとも一方が終了すると、終了通知DMA_END1を出力するとともに、割り込み要求INTR1を出力する。前記DMA制御回路24の設定条件は、割り込み要求INTR1をマスクするか否かをも示す。割り込み要求INTR1がマスクされるとき、DMA制御回路24は、前記書き込みおよび読み出しの少なくとも一方が終了しても、割り込み要求INTR1を出力しない。
割り込み要求INTR1は、OR回路39に与えられる。OR回路39には、各内部ブロック33のDMA制御回路24からの割り込み要求INTR1〜INTR3が与えられる。OR回路39は、これらの割り込み要求INTR1〜INTR3のいずれか1つが与えられると、割り込み要求INTRを出力する。この割り込み要求INTRは、CPU1に与えられる。
セレクタ回路25は、レジスタ36に記憶されているセレクタ回路25の設定条件である選択指令に基づいて、起動指令を出力する。セレクタ回路25は、CPU1からレジスタ36を介して与えられる開始指令DMA_TRG1、ならびに第2および第3の内部ブロック33b,33cの各DMA制御回路24からの終了通知DMA_END2,DMA_END3のいずれか1つに応答して起動指令D_TRG1を出力する。
図12は、CPU1のDMA関連動作を説明するためのフローチャートである。同図は、各DMA制御回路24が、第1のDMA制御回路24a、第2のDMA制御回路24b、第3のDMA制御回路24cの順で起動されることを想定している。
所定の動作開始指令が入力されるとCPU1はDMA関連動作を開始し、ステップS11で各内部ブロック33の制御回路37の設定条件を各内部ブロック33のレジスタ36に与えることによって、各内部ブロック33の制御回路37のレジスタ設定を行い、ステップS2に進む。
ステップS12で、第1のDMA制御回路24aの設定条件を第1の内部ブロック33aのレジスタ36に与えることによって、第1のDMA制御回路24aのレジスタ設定を行い、ステップS13で、第2のDMA制御回路24bの設定条件を第2の内部ブロック33bのレジスタ36に与えることによって、第2のDMA制御回路24bのレジスタ設定を行い、ステップS14で、第3のDMA制御回路24cの設定条件を第3の内部ブロック33cのレジスタ36に与えることによって、第3のDMA制御回路24cのレジスタ設定を行う。これらのステップS12〜S14では、開始アドレスおよび転送バイト数などが設定される。
ステップS15で、各セレクタ回路25の設定条件である選択指令を、各内部ブロック33のレジスタ36に与え、ステップS16に進む。図5においては、第1の内部ブロック33aのレジスタ36には、CPU1からの開始指令を選択することを示す選択指令が与えられる。第2の内部ブロック33bのレジスタ36には、第1のDMA制御回路24aからの終了通知を選択することを示す選択指令が与えられる。第3の内部ブロック33cのレジスタ36には、第2のDMA制御回路24bからの終了通知を選択することを示す選択指令が与えられる。このようにCPU1は、各内部ブロック33のレジスタ36に選択指令を与えることによって、各DMA制御回路24を連携するための連携設定を行う。
ステップS16で、各内部ブロック33のレジスタ36に対して、不要な割り込み要求をマスクするための設定を行い、ステップS17に進む。不要な割り込み要求とは、起動されるべき各DMA制御回路24のうち、最後に起動されるDMA制御回路24を除く残余のDMA制御回路24からの割り込み要求である。図5においては、第1および第2のDMA制御回路24a,24bからの割り込み要求がマスクされる。
ステップS17で、開始指令を出力し、これによって第1のDMA制御回路24aの開始ビットを設定してステップS18に進む。ステップS18で、DMA制御回路24による割り込み要求、図12においては第3のDMA制御回路24cによる割り込み要求を与えられるとDMA関連動作を終了する。
前記ステップS17で、CPU1が開始指令を出力すると、CPU1からの開始指令に応答して、第1のセレクタ回路25aが起動指令を出力する。第1のDMA制御回路24aは、第1のセレクタ回路25aからの起動指令に応答して起動する。この第1のDMA制御回路24aからの終了通知に応答して第2のセレクタ回路25bが起動指令を出力する。第2のDMA制御回路24bは、第2のセレクタ回路25bからの起動指令に応答して起動する。この第2のDMA制御回路24bからの終了通知に応答して第3のセレクタ回路25cが起動指令を出力する。第3のDMA制御回路24cは、第3のセレクタ回路25cからの起動指令に応答して起動する。第3のDMA制御回路24cは、メモリ2へのデータの書き込みおよびメモリ2からのデータの読み出しの少なくとも一方が終了すると、割り込み要求を出力する。割り込み要求は、OR回路39に与えられる。OR回路39は、割り込み要求をCPU1に与える。
このようにCPU1が開始指令を出力してから、CPU1が割り込み要求を与えられるまでの間、CPU1を介さずに、各DMA制御回路24によって、メモリへデータを書き込むとともに、メモリからデータを読み出すことができる。この間、CPU1は、別の処理を実行することができる。
以上のような先行技術によれば、各セレクタ回路25はCPU1からの開始指令だけでなく、各DMA制御回路24からの終了通知にも応答して起動指令を出力することができる。したがって各セレクタ回路25のいずれか1つにCPU1からの開始指令が与えられると、他のセレクタ回路25にはCPU1からの開始指令が与えられなくても、各セレクタ回路25は、各DMA制御回路24を順次、起動させることができる。
換言すると、CPU1を介さずに、各DMA制御回路24を連携させることができる。したがって、それまでの従来技術のように、各DMA制御回路によるメモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方が終了する毎に、各DMA制御回路からCPUに割り込み要求を与え、CPUから開始指令を出力する必要がなくなるのでCPUの処理負荷を軽減することができ、CPUのパフォーマンスの低下を防ぐことができる。
しかしながら、同じデータに対して複数の処理ブロックが一連の処理を行う場合、同じアドレスのデータを複数の処理ブロックで読んだり、一つの処理ブロックが書き込んだデータを別の処理ブロックが読んだりすることが処理の手順として予め分かっている場合であっても、上記先行技術では一つのDMAによる読み出し又は書き込みが終了してからでないと次のDMAの動作は開始することできないので、さらなる高速化を図るには限界があった。
なお、複数のDMAデバイスがメモリの同じ時アドレス上のデータを同時に読み取り可能にする先行技術として、異なるIOバスに接続された複数のDMAデバイスが同じメモリアドレスのデータを読み出そうとしていることを検出した場合にメモリバスから複数のIOバスへデータを転送するブリッジで行うようにしたものがある(特許文献2)。しかし、この従来技術は、偶々DMAデバイスが同じメモリアドレスのデータを読み出そうとしていることを検出した場合だけ実行されるものであり、また、読み出し後のそれぞれの転送先のデータ処理速度が異なっている場合に適用することは困難である。
特願2004−363211号 特開平11−134287号公報
本発明は、上述のごとき事情に鑑みてなされたものであり、同じアドレスのデータを複数の処理ブロックで読んだり、一つの処理ブロックが書き込んだデータを別の処理ブロックが読んだりすることが処理の手順として予め分かっているような場合に、複数の処理ブロックの処理速度が異なっていても、他のDMA制御回路が同じデータを取得できるようにして、さらなるデータ処理の高速化やメモリバスの効率的利用が可能なデータ処理装置を提供することを目的としてなされたものである。
上記課題を解決するために、以下の技術手段を有する。
第1の技術手段は、データの書き込みおよびデータの読み出しが可能なメモリと、
前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しの開始指令を出力する主制御部と、
前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しの少なくとも一方を行い、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しの少なくとも一方が終了すると終了通知を出力する複数のDMA制御回路と、
前記各DMA制御回路をそれぞれ起動させる起動指令を出力する複数の起動指令部とを含み、前記各起動指令部は、前記主制御部からの開始指令または前記各DMA制御回路からの終了通知に応答して起動指令を出力し、前記各DMA制御回路は、前記各起動指令部からの起動指令に応答して起動するデータ処理装置において、
前記主制御部からの指令に基づいて前記各DMA制御回路の任意の2つ以上のDMA制御回路を並列グループ化するための並列グループ化手段を有し、該並列グループ化手段により一方のDMA制御回路が書き込み又は読み出し処理を行っているデータを他方のDMA制御回路が取得可能にすることを特徴とする。
第2の技術手段は、第1の技術手段において、前記並列グループ化手段により並列グループ化された前記各DMA制御回路は、一方がマスターに他方がスレーブにそれぞれ設定され、スレーブ側に設定されたDMA制御回路の信号線を無効化することを特徴とする。
第3の技術手段は、第2の技術手段において、前記各DMA制御回路の出力する起動・終了信号をまとめることによりDMAグループを形成して直列連携化し、最後のDMA制御回路以外の割り込み要求を無効化することを特徴とする。
第4の技術手段は、第2又は3の技術手段において、他方のDMA制御回路はデータ処理が終了する毎に一方のDMA制御回路に対して終了通知を行い、一方のDMA制御回路は他方のDMA制御回路からの終了通知が来るまで次のバーストアクセス動作を行わないように設定されることを特徴とする。
第5の技術手段は、第2又は3の技術手段において、前記各DMA制御回路の中の所定のDMA制御回路が、データ処理ブロックの中で最もデータ処理に時間を要するものを選択するように設定されることを特徴とする。
第6技術手段は、第1から5のいずれかの技術手段において、前記並列グループ化手段は、前記主制御部からの指令に基づいて、一方のDMA制御回路と他方のDMA制御回路のメモリデータ線およびコマンド信号線とを接続することを特徴とする。
第7の技術手段は、第1から5のいずれかの技術手段において、前記並列グループ化手段は、前記各DMA制御回路にセレクタを設けると共にデータバスを共通化し、前記主制御部からの指令に基づいて必要なDMA制御回路をアクティブにするものであることを特徴とする。
第8の技術手段は、第1の技術手段において、前記並列グループ化手段は、前記各DMA制御回路に対応する入出力装置側のコントロール信号線を接続するものであることを特徴とする。
本発明によれば、複数のDMA制御回路で同じデータを扱うことによりさらなるデータ処理の高速化が可能となり、しかも、効率的にメモリバスを使用することができる。
また、CPUから見たDMA回路の数を減らすことができる。
さらに、DMAグループ内でお互いの処理速度を影響せずに取りこぼしなくデータ処理を完了することができる。
以下、本発明について図面を参照しながら説明する。なお、上述した先行技術と同じ部分については説明を省略する。
図1は、本発明の一実施形態に係るデータ処理装置を簡略化して示したブロック図である。
データ処理装置10は、CPU1と、メモリ2と、複数のDMA制御回路14と、複数のセレクタ回路15とを含む。以下、各DMA制御回路14を第1〜第3のDMA制御回路14a〜14cと記載する場合がある。また各セレクタ回路15を第1〜第3のセレクタ回路15a〜15cと記載する場合がある。
図1の実施形態は、3つのDMA制御回路のうち2つのDMA制御回路14a、14bをグループ化した例を示したもので、第1のDMA制御回路14aおよび第2のDMA制御回路14bから終了信号が出力されるとAND回路18の出力信号により第3のセレクタ15cから第3のDMA制御回路14cに起動信号が入力され、第3のDMA制御回路14cにおける処理が終了すると第1のセレクタ15aに終了信号が入力され、次の処理ブロックの開始信号が第1のDMA制御回路14aに入力されることを示している。
図2は、本実施形態に係るデータ処理装置の全体構成を示すブロック図である。データ処理装置10は、CPU1と、メモリ2と、DMA制御回路を含む複数(図示の例では3つ)の内部ブロック13a〜13cと、メモリ2を制御するメモリコントローラ9と、アービタ&セレクタ8とを含み、第1の内部ブロック13aと第2内部ブロック13bがグループ化されている。
図3は、本実施形態に係るデータ処理装置における要部を詳細に示した図である。図の例は、メモリへのデータの書き込み/読み出しの際に、第1のDMA制御回路14aと第2のDMA制御回路14bで同時に並行処理を行えるようにしたもので、第1のDMA制御部14aのメモリデータ線およびコマンド信号線は、CPUからの制御信号CPU_CONTに応じて動作するSW1を介して第2のDMA制御回路14bのメモリデータ線およびコマンド信号線と接続線L1、L2により接続される。
DMA制御回路を並列グループ化するやり方としては、これ以外にも、例えば、バスを同一にしてDMAにチップセレクトを設け、必要なDMAをアクティブにするようにしてもよい。つまり、個別に動作させる場合はDMAを1つずつアクティブにし、並列動作させる場合はグループ化するDMAを複数アクティブにすることにより同様の動作を行わせることができる。
図4は、CPU1のDMA関連動作およびDMA側の動作を説明するためのフローチャートである。所定の動作開始指令が入力されるとCPU1はDMA関連動作を開始し、ステップS1で各内部ブロック13の制御回路17の設定条件を、各内部ブロック13のレジスタ16に与えることによって各内部ブロック13の制御回路17のレジスタ設定を行う。
次いで、ステップS2で、第1のDMA制御回路14aの設定条件を第1の内部ブロック13aのレジスタ16に与えることによって第1のDMA制御部14aのレジスタ設定を行い、ステップS3で第2のDMA制御回路14bの設定条件を第2の内部ブロック13bのレジスタ16に与えることによって第2のDMA制御回路14bのレジスタ設定を行い、ステップS4で第3のDMA制御回路14cの設定条件を第3の内部ブロック13cのレジスタ16に与えることによって第3のDMA制御回路14cのレジスタ設定を行う。これらのステップS2〜S4では、開始アドレスおよび転送バイト数などが設定される。
次いで、ステップS2で、第1のDMA制御回路14aの設定条件を第1の内部ブロック13aのレジスタ16に与えることによって第1のDMA制御回路14aのレジスタ設定を行い、ステップS3で第2のDMA制御回路14bの設定条件を第2の内部ブロック13bのレジスタ16に与えることによって第2のDMA制御回路14bのレジスタ設定を行い、ステップS4で第3のDMA制御回路14cの設定条件を第3の内部ブロック13cのレジスタ16に与えることによって第3のDMA制御回路14cのレジスタ設定を行う。これらのステップS2〜S4では、開始アドレスおよび転送バイト数などが設定される。
ステップS5では、CPU1からの制御信号CPU_CONTによりスイッチSW1が閉じられて第1のDMA制御回路14aと第2のDMA制御回路14bのメモリデータ線およびコマンド信号線2とが接続線L1,L2により接続され、いずれか一方のDMA制御回路をマスターにして他方のDMA制御回路をスレーブにするための設定がなされ、第1のDMA制御回路14aと第2のDMA制御回路14bとの並列グループ化が行われる。また、ステップS5では、第2のDMA制御回路14bの割り込み要求をマスクするための設定も行われる。
ステップS6で、CPU1は、各セレクタ回路15の設定条件である選択指令を各内部ブロック13のレジスタ16に与える。図4においては、第1の内部ブロック13aのレジスタ16aおよび第2の内部ブロック13bのレジスタ16bには、CPU1からの開始指令を選択することを示す選択指令が与えられる。
また、図3には示されていないが、第3の内部ブロック13cのレジスタ16cには、第1のDMA制御回路14aおよび第2のDMA制御回路14bからの終了信号によりAND回路18から出力される終了通知を選択することを示す選択指令が与えられる。このようにCPU1は、各内部ブロック13のレジスタ16に選択指令を与えることによって、各DMA回路14を連携するための連携設定を行う。
さらに、ステップS6で、CPU1は、各内部ブロック13のレジスタ16に対して、不要な割り込み要求をマスクするための設定を行う。不要な割り込み要求とは、起動されるべき各DMA回路14のうち、最後に起動されるDMA回路以外のDMA回路からの割り込み要求である。図4においては、第1および第2のDMA回路14a,14bからの割り込み要求がマスクされる。割り込み要求は、OR回路19に与えられ、OR回路19は割り込み要求をCPU1に与える。
なお、ステップS6で、第1のDMA制御回路14aがグループの中で最も処理に時間を要するもの、例えば、スキャナーによる画像データの取り込み処理等を選択するように予め設定しておけば、第1のDMA制御回路14aは第2のDMA制御回路14bからの終了通知を必要とせずにバーストアクセス動作を行うことができる。つまり、第2のDMA制御回路14bの処理時間が第1にDMA制御回路14aの処理時間よりも必ず短かいことが確実ならば第2のDMA制御回路14bは、データ処理が終わる毎に第1のDMA制御回路14aに対し終了通知をする必要がなくなる。
ステップS7で、CPU1は開始指令を出力し、これによって第1のDMA制御回路14aと第2のDMA制御回路14bの開始ビットを設定し、ステップS8で第1のDMA制御回路14aおよび第2のDMA制御回路14bによるデータ転送が実行され、データ転送が終了すると(ステップS9)、ステップS10で第1のDMA制御回路14aから終了通知が出力される。
ステップS11で、第1のDMA制御回路14aからの終了通知によって第3のDMA制御回路14cがスタートし、ステップS12で第3のDMA制御回路14cによるデータ転送が実行され、データ転送が終了すると(ステップS13)と、ステップS14で第3のDMA制御回路14cから終了通知が出力される。
ステップS15で、第3のDMA制御回路14cすなわち最後のDMA制御回路による割り込み要求がCPU1に与えられるとDMA関連動作を終了する。
図5は、他の実施形態を示したもので、スイッチSW2DMA制御回路に対応した入出力側に設け各信号線を接続可能にしたものである。このように構成した場合、入出力装置からのデータの授受においても、複数のDMA制御回路で共用することが可能となる。
このようにCPU1が開始指令を出力してから、CPU1に割り込み要求を与えられるまでの間、CPU1を介さずに第1のDMA制御回路14aによってメモリへのデータの書き込み又はメモリからのデータを読み出す、と同時に第2のDMA制御回路14bは、第1のDMA制御回路14aがメモリ2に書き込もうとしているデータ、又はメモリ2から読み出しデータを取得し、そのデータをメモリ2の別のアドレスに書き込んだり、あるいは、制御回路17bのバッファに転送することが可能となる。
したがって、同じデータを同時に利用することにより、リード動作を減らし効率的にメモリバスを使用することができ、また、CPUからみたDMAの数を減らすことができる。
本発明の一実施形態に係るデータ処理装置を簡略化して示すブロック図である。 データ処理装置の全体構成を示すブロック図である。 データ処理装置の要部の構成を示す図である。 CPUのDMA関連動作およびDMA側の動作を説明するためのフローチャートである。 本発明の他の実施形態に係るデータ処理装置の要部の構成を示す図である。 従来技術のデータ処理装置の構成を示すブロック図である。 従来技術におけるCPUのDMA関連動作を示すフローチャートである。 本発明の先行技術に係るデータ処理装置を簡略化して示すブロック図である。 DMA制御回路によるメモリへのデータの書き込みおよびメモリからのデータの読み出しの一例を説明するための図である。 本発明の先行技術に係るデータ処理装置の全体の構成を示すブロック図である。 本発明の先行技術に係るデータ処理装置の内部ブロックの構成を示すブロック図である。 本発明の先行技術に係るデータ処理装置のCPUのDMA関連動作を説明するためのフローチャートである。
符号の説明
1…CPU、2…メモリ、8…アービタ&セレクタ、9…メモリコントローラ、10…データ処理装置、13…内部ブロック、14…DMA制御回路、15…セレクタ、16…レジスタ、17…制御回路、18…AND回路、19…OR回路。

Claims (8)

  1. データの書き込みおよびデータの読み出しが可能なメモリと、
    前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しの開始指令を出力する主制御部と、
    前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しの少なくとも一方を行い、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しの少なくとも一方が終了すると終了通知を出力する複数のDMA制御回路と、
    前記各DMA制御回路をそれぞれ起動させる起動指令を出力する複数の起動指令部とを含み、前記各起動指令部は、前記主制御部からの開始指令または前記各DMA制御回路からの終了通知に応答して起動指令を出力し、前記各DMA制御回路は、前記各起動指令部からの起動指令に応答して起動するデータ処理装置において、
    前記主制御部からの指令に基づいて前記各DMA制御回路の任意の2つ以上のDMA制御回路を並列グループ化するための並列グループ化手段を有し、該並列グループ化手段により一方のDMA制御回路が書き込み又は読み出し処理を行っているデータを他方のDMA制御回路が取得可能にすることを特徴とするデータ処理装置。
  2. 請求項1に記載のデータ処理装置において、前記並列グループ化手段により並列グループ化された前記各DMA制御回路は、一方がマスターに他方がスレーブにそれぞれ設定され、スレーブ側に設定されたDMA制御回路の信号線を無効化することを特徴とするデータ処理装置。
  3. 請求項2に記載のデータ処理装置において、前記各DMA制御回路の出力する起動・終了信号をまとめることによりDMAグループを形成して直列連携化し、最後のDMA制御回路以外の割り込み要求を無効化することを特徴とするデータ処理装置。
  4. 請求項2又3に記載のデータ処理装置において、他方のDMA制御回路はデータ処理が終了する毎に一方のDMA制御回路に対して終了通知を行い、一方のDMA制御回路は他方のDMA制御回路からの終了通知が来るまで次のバーストアクセス動作を行わないように設定されることを特徴とするデータ処理装置。
  5. 請求項2又は3に記載のデータ処理装置において、前記各DMA制御回路の中の所定のDMA制御回路が、データ処理ブロックの中で最もデータ処理に時間を要するものを選択するように設定されることを特徴とするデータ処理装置。
  6. 請求項1から5のいずれかに記載のデータ処理装置において、前記並列グループ化手段は、前記主制御部からの指令に基づいて、一方のDMA制御回路と他方のDMA制御回路のメモリデータ線およびコマンド信号線とを接続することを特徴とするデータ処理装置。
  7. 請求項1から5のいずれかに記載のデータ処理装置において、前記並列グループ化手段は、前記各DMA制御回路にセレクタを設けると共にデータバスを共通化し、前記主制御部からの指令に基づいて必要なDMA制御回路をアクティブにするものであることを特徴とするデータ処理装置。
  8. 請求項1に記載のデータ処理装置において、前記並列グループ化手段は、前記各DMA制御回路に対応する入出力装置側のコントロール信号線を接続するものであることを特徴とするデータ処理装置。
JP2006044846A 2006-02-22 2006-02-22 データ処理装置 Expired - Fee Related JP4446968B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006044846A JP4446968B2 (ja) 2006-02-22 2006-02-22 データ処理装置
US11/647,446 US20070208886A1 (en) 2006-02-22 2006-12-29 Data processing apparatus
CNB2007100788221A CN100481044C (zh) 2006-02-22 2007-02-15 数据处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006044846A JP4446968B2 (ja) 2006-02-22 2006-02-22 データ処理装置

Publications (2)

Publication Number Publication Date
JP2007226374A true JP2007226374A (ja) 2007-09-06
JP4446968B2 JP4446968B2 (ja) 2010-04-07

Family

ID=38472691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006044846A Expired - Fee Related JP4446968B2 (ja) 2006-02-22 2006-02-22 データ処理装置

Country Status (3)

Country Link
US (1) US20070208886A1 (ja)
JP (1) JP4446968B2 (ja)
CN (1) CN100481044C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015018454A (ja) * 2013-07-11 2015-01-29 キヤノン株式会社 データ転送装置及びデータ転送方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100088433A1 (en) * 2008-10-03 2010-04-08 An Chen Computer Co., Ltd. Direct memory access (DMA) system
TW201339842A (zh) * 2012-03-20 2013-10-01 Copystar Backup & Storage Corp 協同式匯流排仲裁多工架構及依該架構所進行之資料存取仲裁方法
CN110399322B (zh) * 2019-06-28 2021-03-09 苏州浪潮智能科技有限公司 一种数据传输方法及乒乓dma架构

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774680A (en) * 1995-12-11 1998-06-30 Compaq Computer Corporation Interfacing direct memory access devices to a non-ISA bus
JP4405277B2 (ja) * 2004-02-16 2010-01-27 株式会社日立製作所 ディスク制御装置
US7725618B2 (en) * 2004-07-29 2010-05-25 International Business Machines Corporation Memory barriers primitives in an asymmetric heterogeneous multiprocessor environment
US7173841B2 (en) * 2004-12-03 2007-02-06 Taiwan Semiconductor Manufacturing Company, Ltd. Magnetic memory array
JP2006268753A (ja) * 2005-03-25 2006-10-05 Fujitsu Ltd Dma回路及びコンピュータシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015018454A (ja) * 2013-07-11 2015-01-29 キヤノン株式会社 データ転送装置及びデータ転送方法

Also Published As

Publication number Publication date
CN101025722A (zh) 2007-08-29
JP4446968B2 (ja) 2010-04-07
US20070208886A1 (en) 2007-09-06
CN100481044C (zh) 2009-04-22

Similar Documents

Publication Publication Date Title
JP2006293927A (ja) ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi
JP4446968B2 (ja) データ処理装置
US20190387124A1 (en) Control circuitry, image forming apparatus incorporating the control circuitry, control method, and non-transitory recording medium storing program
JP2000047974A (ja) バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
JP2001084229A (ja) Simd型プロセッサ
WO2011099048A1 (ja) 伝送制御装置、メモリ制御装置、及び前記伝送制御装置を備えたplc
JP2008040905A (ja) 半導体装置、及び記憶装置へのアクセス方法
JP2010152585A (ja) 複数バスを有するシステムlsi
JP2007172112A (ja) メモリコントローラ
JP2008146541A (ja) Dma転送システム、dmaコントローラ及びdma転送方法
US20050135402A1 (en) Data transfer apparatus
JP4560398B2 (ja) データ処理回路
JP4649257B2 (ja) マルチcpuシステム
JP2012098884A (ja) データ処理装置および画像処理装置
JP4292218B2 (ja) 画像処理装置及び画像処理システム
JP2001134538A (ja) 信号処理装置
JP3959407B2 (ja) 画像処理装置及び画像処理システム
JP2005301714A (ja) マルチcpuシステム、そのデータ転送方法、及びそのプログラム
US20100153610A1 (en) Bus arbiter and bus system
JP2009265776A (ja) 画像処理装置
JP5361773B2 (ja) データアクセス制御装置
JP2008198119A (ja) データ転送装置、データ転送システムおよびデータ転送方法
JP2006031227A (ja) Dma転送を用いたコンピュータシステム
JP2010026739A (ja) タイミング調整装置、タイミング調整方法、タイミング調整プログラム及び記録媒体
JP2820054B2 (ja) バスインタフェース装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091113

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

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

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

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees