JP2006215621A - Dma制御装置 - Google Patents

Dma制御装置 Download PDF

Info

Publication number
JP2006215621A
JP2006215621A JP2005024998A JP2005024998A JP2006215621A JP 2006215621 A JP2006215621 A JP 2006215621A JP 2005024998 A JP2005024998 A JP 2005024998A JP 2005024998 A JP2005024998 A JP 2005024998A JP 2006215621 A JP2006215621 A JP 2006215621A
Authority
JP
Japan
Prior art keywords
dma
request
time
execution
transfer
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
JP2005024998A
Other languages
English (en)
Inventor
Takuya Jinbo
卓哉 神保
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005024998A priority Critical patent/JP2006215621A/ja
Publication of JP2006215621A publication Critical patent/JP2006215621A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】 競合する複数のDMA要求の調停をするに際し、DMA実行順序を決定するための比較情報を減少させ、調停回路の回路規模を減らすとともに、制限時間内にDMA転送を行う。
【解決手段】 各DMA要求コア101,102,103からDMA要求を行う際に、DMA転送の内容(転送開始アドレス、転送長、DMA転送で格納又は読み出される対象資源、読み出し/書き込みの区別等)を表すDMA転送情報31,32,33とともに、DMA実行開始要求時刻情報21,22,23を転送する。DMA実行開始要求時刻は、DMA実行終了要求時刻からDMA転送の所要時間を差し引いて得られ、アービタ装置100に転送される。アービタ装置100では、DMA実行開始要求時刻を見ながらDMAの実行順序を決定し、この順序に従ってDMAが実行される。
【選択図】 図1

Description

本発明は、プロセッサ、画像処理装置、ネットワーク転送処理装置等のデータ転送処理装置におけるDMA(ダイレクトメモリアクセス)制御装置に関するものである。
近年、LSIデザインツール(EDA)の処理技術の向上や0.13μmプロセス等のプロセス微細化技術の進歩に伴い、LSIの集積度の飛躍的な向上が達成され、従来はシステムとして複数のLSIや複数の基板を用いて開発していたシステムが、1つのLSIに集積されたシステムLSIが開発の主流となってきている。
このようなLSI開発環境の発展に伴い、様々な分野において今まで複数のLSIで構成されていたシステムが1チップに構成され、開発されている。例えば、従来1プロセッサと通信用コントローラ等の複数の周辺チップとで構成されていたPC用LSIは、複数LSIを1つのCPU又は1つの周辺チップとして機能を集約したLSIの開発が行われている。また、DVDレコーダは、エンコーダLSI、デコーダLSI等の複数のLSIで構成されていたが、機能が集約され、1つのLSIとして開発されるようになってきている。
これに伴い、外部メモリ等として複数個のLSIそれぞれに搭載されてきたメモリは、これらを統合して1つのLSIのメモリインタフェースとして構成されることが望まれている。
メモリを統合する際に問題となるのは、システムの動作要求を満たしつつ、かつてそれぞれのLSIに1対1で存在していたメモリに対し並列に行ってきたメモリアクセスを1つのメモリに対して行うことに変更することである。具体的には、それぞれのLSIはメモリアクセスに対し、システムを動作させるため必要な処理時間と、システムが破綻しないための限界となる制限時間とを持って動作する。つまり、メモリアクセスをスケジューリングすることが課題となる。
この課題は、古くはネットワークシステム等のクライアント・サーバを構成するコンピュータ間の接続処理、実行順序処理や、プリンタ等のオフィスの共用資源として少数対多数の関係で配置されるシステムのプロセス処理方法として検討されてきている事柄である。その解決策として、時分割処理と、割り込み処理とが知られている。
まず、時分割処理は、メモリアクセスを要求する各コアに対し、メモリアクセスを行う時間を各コア総当たりで一定時間与え、一定時間内はメモリアクセスを専有化させる処理であって、ラウンドロビン方式とも呼ばれる。
時分割処理の利点は、各メモリアクセス要求を行うコアに対して一定の時間を与えるため、全体の時間管理がしやすく、回路が簡潔に構成できる点である。ただし、時分割処理は一定時間を与える処理であるため、一定時間が算出できないアクセス、例えばCPUのキャッシュアクセスやCPUのデータアクセス等、CPUの動作プログラムの内容により不確定な動作になる場合や、LSIの動作の切り替えによりメモリ内容を全て更新する場合等は、そのつどラウンドロビンで設定した処理時間に対し、CPUやLSIの動作切り替えで要望される時間内に処理を行い、かつ機能切り替えの間満たさなければならない機能が前記アクセス分を減少させた残りのDMA転送で補えるかどうかの検証、改変を行う必要がある。ところが、こういった検証、改変はシステムLSIにとってかなりの負担となるため、多くの場合は最悪条件を想定し、最悪条件に見合うメモリインタフェースを準備してLSIを実装する。このため得てしてメモリインタフェースがオーバースペックとなる転送能力を持つシステムLSIを開発することとなる。
次によく行われる手法は割り込み処理であって、これは各アクセスを短く設定し、メモリアクセスを優先順位に定められた順序に実行できるよう割り込み等の処理を行いつつ、転送順序を入れ替えながら転送を行う手法である。
割り込み処理の利点は、各メモリアクセス要求を行うコアの状態によって動作を変化させた場合でも予め定められた優先順位で割り込み処理を行うので、コアの要求どおりのメモリアクセス制御を行うことができる点である。しかしながら、この方式の欠点は、頻度が高くアクセス速度が高いメモリアクセスが存在する場合、システムの性能を保持するため、割り込みを容易に行うべく転送長の単位を短く設定しなければならなくなる場合にある。SDRAM、DDR−SDRAM、RAMBUS−DRAM等のバースト転送を連続で行うことによって性能を向上させることを特徴とするメモリでは、ある程度の転送長で転送しないと性能が引き出せない特徴があるのだが、こういったメモリの特徴に反してバースト長を短くする動作を設定しなければ安定した性能が引き出せなくなるといった点が欠点となる。
以上2つの方式の欠点から、ラウンドロビン方式と割り込み方式との両者を併せ持つ特徴を持ち、メモリアクセスを転送長、アドレス、優先度から総合的に判断するメモリアクセス制御方法も提案されている。
通例、外部メモリに対するアクセスはDMAとして処理される。上記メモリアクセスの課題は、DMAに関しても当てはまる。
ある従来技術によれば、複数のバスマスタ(例えばDMA要求コア)が共通バスをアクセスする際に、アクセス1回あたりのバス占有量を最適な値に変えたり、優先順位の低いバスマスタのアクセスを一旦中断して優先順位の高いバスマスタに直ちにバス使用権を委譲する(特許文献1参照)。
他の従来技術によれば、複数のDMA要求を時間的に管理して制限時間内にDMAを完了させるように、アービタ装置が転送長、転送モード、転送制限時間等のDMA起動要因に応じてDMA実行順序を調停する(特許文献2参照)。
特開2000−132505号公報 特開2002−207691号公報
システムLSIの集積化が進むにつれてDMA制御がより複雑になり、より多数のDMA要求コアからの制御に対し実行順序の決定、割り込み、時分割といった処理を行わなければならなくなっている。多くのDMAパラメータを用いて比較及び検証を行う回路を実現すればDMA転送精度は向上するが、その分回路面積やDMA制御装置の処理の負担、回路の開発における検証時間は大きくなる。
更に、DMA処理時間内に転送処理を行うことができない場合にもDMA転送要求を行うコアが複数相互のコア間でエラー情報を受けて制御を行わないと、システム全体の動作に悪影響を与える場合がある。加えて、DMA実行が不可能と判断された場合、そのDMA処理の情報がなければシステム全体として該実行不可能なDMAが与える影響を認識できず、システムとして有効な対策を実行することができない。
更に、DMAを行う転送先が他のコアと共用されている場合は、DMAと他のコアの動作を排他的に実行しないと、DMAと他コアの動作とが競合した場合、いずれか一方の動作を停止させなければならず、システムとして非効率になる。
上記課題を解決するために、本発明では、各DMA要求コアからDMA要求を行う際にDMA転送情報とともにDMA実行開始要求時刻情報を転送する。DMA実行開始要求時刻は、DMA実行終了要求時刻からDMA転送の所要時間を差し引いて得られ、アービタ装置に転送される。アービタ装置では、DMA実行開始要求時刻を見ながらDMAの実行順序を決定し、この順序に従ってDMAが実行される。
加えて、DMA実行開始要求時刻や、DMA実行開始予定時刻を全てのDMA要求コアに提示することで、複数のDMA要求コア間で共通使用される資源に関するDMA転送を円滑に行う。
本発明によれば、DMA要求コアは、DMA実行開始要求時刻になったらDMA転送が行われているものとして、DMA実行処理待ちのプロセスを実行することができる。また、DMA実行開始要求時刻が示されるため、アービタ装置はDMA実行順序を決定しやすくなる利点がある。
更に、DMA実行開始要求時刻を参照することでDMA実行を要求したコア以外でも他のコアのDMA実行開始予定時刻を得ることができる。また、どのDMAが間に合わないかを各コアが知ることができる結果、DMA実行が間に合わなくなるような場合でもシステム全体としてDMAが間に合わない場合に備えた対処ができるようになる。
以下、本発明の実施形態を図面に基づいて詳細に説明する。
《第1の実施形態》
図1は、本発明の第1の実施形態に係るDMA制御装置の構成を示している。図1のDMA制御装置は、第1のDMA要求コア(第1コア)101、第2のDMA要求コア(第2コア)102、第3のDMA要求コア(第3コア)103、タイマ105、アービタ装置100、セレクタ106から構成され、選択されたDMA要求をDMA実行部107で実行する。
第1のDMA要求コア101は、DMA転送情報生成部110と、DMA実行開始要求時刻算出部111とからなるDMA要求生成部112を持つ。第2及び第3のDMA要求コア102,103も第1のDMA要求コア101と同様の内部構造を持つ。
第1〜第3のDMA要求コア101,102,103は、タイマ105より時刻情報10を常に受け、実行開始要求時刻情報21,22,23と、DMA転送の開始アドレス、DMA転送長、DMA転送で格納又は読み出される対象資源、読み出し/書き込みの区別からなるDMA転送情報31,32,33とでアービタ装置100と接続され、DMA転送情報31,32,33でセレクタ106と接続される。また、アービタ装置100はセレクタ106に対し最優先DMA選択信号65を転送する。DMA実行部107は、最優先DMA選択信号65に応じてセレクタ106により選択されたDMA転送情報40を受けてDMA実行を行う。
図2は、図1中のDMA転送情報生成部110の詳細構成を示している。DMA転送情報生成部110は、アドレス及びデータ変換回路201から構成され、CPU、外部インタフェースから初期アドレス設定41、転送長設定42を受け、アドレス、転送長、転送対象メモリ情報、要求コアの情報、読み出し/書き込み情報、優先度のうち少なくともアドレス、転送長、転送対象メモリ情報、要求コアの情報、読み出し/書き込み情報を変換又は生成し、DMA転送情報31としてアービタ装置100とセレクタ106とに転送する。
図3は、図1中のDMA実行開始要求時刻算出部111の詳細構成を示している。DMA実行開始要求時刻算出部111は、加算部301、転送所要時間算出部302、減算部303から構成される。加算部301は、予め設定された動作プログラム、外部設定、ROMによる転送間隔の設定から指定されるDMA実行時間情報50と、前述の時刻情報10とを参照して、システムが動作する最悪のケースから算出されるDMA実行終了要求時刻情報54を生成する。例えば、1秒間に5000回実行されるDMAが存在する場合はDMA実行時間情報50が1/5000=200μsと指定され、時刻情報10が表す現在時刻に対して200μsを加算された時刻を表す情報がDMA実行終了要求時刻情報54として設定される。転送所要時間算出部302は、転送対象メモリ情報51、転送開始アドレス52、転送長53から、DMA転送が実際に開始されてから終了するまでの転送にかかる時間を表すDMA転送所要時間情報55を生成する。例えばDMA転送長が200バイトであった場合、バス幅2バイト/1サイクルのとき、100サイクル分の時間がDMA転送所要時間情報55として与えられる。以上生成されたDMA実行終了要求時刻情報54とDMA転送所要時間情報55とを受け、減算部303ではDMA実行終了要求時刻からDMA転送所要時間を差し引いた値を表すDMA実行開始要求時刻情報21を生成し、アービタ装置100に転送する。
なお、上記全ての時間及び時刻に関する情報は、サイクル数で示した値でもよい。また、DMA転送を行う際、ページ切り替え等を加味し、加算部301、転送所要時間算出部302、減算部303で演算を行う場合、マージンとして余裕を持たせた演算を行うのがよい。
図4は、図1中のアービタ装置100の詳細構成を示している。アービタ装置100はDMA実行開始要求時刻順序判定部405を有し、第1、第2及び第3コア101,102,103のDMA実行開始要求時刻情報21,22,23から最優先DMA選択信号65を生成してセレクタ106へ転送する。
図5は、図1のDMA制御装置におけるDMA要求の模式図である。システムやDMA要求コア101,102,103のプログラム、システムの外部制御手段、DMA転送情報生成部110の構成、動作によりDMA要求開始時刻801が決定される。また、各DMA要求にはシステムを成立させるための動作限界時間があり、図3にDMA実行終了要求時刻情報54として示したようにシステムモデル的にDMA実行終了要求時刻802が定義される。更に、実際のDMAデータ転送に必要な時間としてDMA転送所要時間803が定義される。804はDMA実行開始要求時刻である。DMA要求開始時刻801からDMA実行終了要求時刻802までの間が各DMAを実行する場合のシステムの要求時間となり、DMA許容転送時間805と呼ぶ。そして、DMA許容転送時間805からDMA転送所要時間803を差し引いたものが、DMA転送待機予定時間806として定義される。
図6は、図1のDMA制御装置の動作例を、図5のDMA要求のモデルに従って表している。図6において、丸印の中心はDMA要求開始時刻801であり、アービタ装置100が調停動作を実行するタイミングを示す。図6中のA〜Lの記号は各DMA転送におけるDMA実行開始要求時刻804を示す。
図6のような順序でDMA要求が行われた場合、まず第1コア101よりDMA要求が転送された時刻1でアービタ装置100によるDMAの調停が行われる。このとき有効なDMA要求に関する情報は、第1コア101のDMA実行開始要求時刻情報21及びDMA転送情報31のみであり、DMA実行開始要求時刻Aがアービタ装置100に与えられる。アービタ装置100は、第1コア101から転送されたDMA転送情報31を実行すべくセレクタ106に対し、第1コア101のDMA転送情報31を選択するよう最優先DMA選択信号65を出力し、DMA実行部107へ被選択DMA転送情報40として第1コア101のDMA転送情報31を転送する。
時刻1から時刻2までの間は第1コア101のDMA転送情報31が実行されており、アービタ装置100は停止している。時刻2ではDMA実行部107によるDMA転送情報31の実行が終了しているので、アービタ装置100はDMA実行開始要求時刻Bを参照し、第2コア102のDMA転送情報32が選択され、DMA実行部107で実行される。そして、時刻3で第3コア103からDMA転送情報33及びDMA実行開始要求時刻Cを表す情報23が転送されても、ここでは第2コア102のDMA転送情報32がDMA実行部107で実行中のため、第3コア103のDMA転送情報33は待機状態となる。この間アービタ装置100は動作を停止している。
第3コア103のDMA転送情報33が実行可能となった時点で、アービタ装置100はDMA実行開始要求時刻Cを参照し、第3コア103のDMA転送情報33が実行される。以下、時刻4では第1コア101のDMA転送情報31が、時刻5では第3コア103のDMA転送情報33が、時刻6では第2コア102のDMA転送情報32がそれぞれ実行される。時刻7では第2コア102のDMA転送情報32がDMA実行部107で処理中のため、第1コア101のDMA転送情報31は第2コア102のDMA転送情報32がDMA実行部107で実行終了した後に実行されるよう設定される。しかしながら、時刻8では第1コア101のDMA実行開始要求時刻Hより早い第3コア103のDMA実行開始要求時刻Gが入力されるため、第3コア103のDMA転送情報33が選択され、第3コア103のDMA要求が先行実行され、次いで第1コア101のDMA要求が実行される。時刻9では、第1コア101のDMA転送情報31が選択される。以下時刻10〜12ではそれぞれ第2コア102のDMA転送情報32、第3コア103のDMA転送情報33、第1コア101のDMA転送情報31が実行される。
以上述べてきたように、時刻3、7、8を除く時刻ではDMA実行開始要求時刻と比較してDMA実行部107の動作状態に余裕があるので、選択されたDMAをDMA実行部107で早期実行することで後続するDMAの実行時間を保証する。実行が重なった場合の時刻8ではDMA実行開始要求時刻を比較し、早い方を先に実行する。DMAが先に実行中の時刻3、7では、現在実行中のDMAが終了するまでアービタ装置100による調停を待機させる。
図6ではDMA実行開始要求時刻に対し、実際のDMA転送が余裕を持って実行できているが、DMA実行開始要求時刻と比較してDMA実行部107の動作状態に余裕がない場合は各設定されたDMAを遅延させて実行するとともに全DMA要求コア101,102,103に実行エラー信号を送り、各コア101,102,103で該当するDMAが実行不可能に陥った場合の措置を実行させる。
以上述べた構成をとることによって、DMA要求コア101,102,103でDMA実行開始要求時刻を算出するため、アービタ装置100の内部構成が小さくでき、アービタ装置100がDMA実行開始要求時刻情報21,22,23を参照することでDMA実行順序を容易に判定できる。
なお、DMA要求の時間間隔や転送長が一定であって競合が少ない場合は、時刻情報10をより少ないビットの比較で構成できる。例えば、各DMA要求コア101,102,103で転送長や転送要求を行うタイミングが一定の場合、一定の転送長に従って時刻情報10を設定すればよい。
《第2の実施形態》
図7は、本発明の第2の実施形態に係るDMA制御装置におけるアービタ装置100の構成を示している。図4と比較して図7では、DMA実行開始要求時刻情報21,22,23とDMA転送情報31,32,33とをDMA実行終了予定時刻推定部401,402,403で受け、DMA実行終了予定時刻情報61,62,63を生成する。DMA実行開始要求時刻順序判定部405は、DMA実行開始要求時刻情報21,22,23を受け、DMA実行開始予定順序情報64を出力する。DMA実行終了予定時刻順序判定部406は、DMA実行終了予定時刻情報61,62,63と、DMA実行開始予定順序情報64とを受け、開始、終了時刻全ての比較を行って、最優先DMA選択信号65を生成する。
図8は、図7のアービタ装置100を用いたDMA制御装置の動作例を示している。図8によれば、時刻1〜7では図6と同様の動作を行うが、図8の時刻8で第3コア103から図6のときより長い転送長のDMA要求が発行される。このとき第3コア103の実行開始要求時刻情報23(図8中のG)は第1コア101の実行開始要求時刻情報21(図8中のH)より前の時刻を指しており、第1の実施形態では第3コア103のDMA転送情報33を実行してから第1コア101のDMA転送情報31を実行するが、第3コア103のDMA転送情報33の転送長が長いため第3コア103のDMA転送情報33を実行した後で第1コア101のDMA転送情報31を実行する際に、第1コア101のDMA転送が間に合わなくなる。ところが、第2の実施形態では、DMA実行開始要求時刻情報21,22,23に加えDMA転送情報31,32,33から転送長の情報を受け、DMA実行終了予定時刻情報61,62,63を生成し比較することで、総合的な判断を行うようにした。こうすることで時刻8では第1コア101のDMA転送情報31が選択され、その実行後に第3コア103のDMA転送情報33が実行されるので、各DMAの実行終了要求時刻を守ることができる。
以上述べたように第2の実施形態によれば、転送長がまちまちのDMAに関してもDMA実行終了予定時刻の推定を行い、より正確なDMA制御を行うことが可能になる。
《第3の実施形態》
図9は、本発明の第3の実施形態に係るDMA制御装置におけるアービタ装置100の構成を示している。図4と比較して図9では、DMA実行開始要求時刻順序判定部405からのDMA実行開始予定順序情報64を実行順序決定部407で受ける。実行順序決定部407は、参照テーブル408を参照しながら最優先DMA選択信号65を生成し、出力する。参照テーブル408は、DMA要求毎に重要度の重み付けを定めている。実行順序決定部407は、参照テーブル408に定められた重要度を参照してDMAの実行順序を設定しなおす。
図10は、図9中の参照テーブル408の詳細構成を示している。図10の参照テーブル408は、DMA要求コア101,102,103、DMAのデータ転送方向(読み出し、書き込み)、DMAのデータ転送対象により優先順位の重み付けがされている。DMA要求が競合した場合、各DMAの実行開始要求時刻と時刻情報10により知られる現在時刻との差分、すなわち残り時間に対し、DMA毎に参照テーブル408の係数を参照して当該係数で割り算し、重み付き残り時間が最も短い要素に関してDMAを実行する。
なお、図10の参照テーブル408は各要素により固定値の重み付けを用いたが、DMA要求コア101,102,103が参照し、書き換えを行う構成であってもよい。また、参照テーブル408は今までのDMAの実行状況、例えば実行終了要求時刻までに実行できたかどうかの履歴やアクセス頻度を蓄積し、実行終了要求時刻までに実行できなかった場合には、履歴、頻度に基づきDMAの実行優先設定を向上させるような構成を採用してもよい。
《第4の実施形態》
図11は、本発明の第4の実施形態に係るDMA制御装置におけるアービタ装置100の構成を示している。図11のアービタ装置100では、DMAの実行状況に応じて参照テーブル408が更新される。参照テーブル更新部411は、最優先DMA選択信号65及び外部入力を参照して参照テーブル408を更新する。
参照テーブル更新部411は、選択されたDMAの要求コア、要求する方向、要求対象を分析し、選択される毎に参照テーブル408の数値を減少させる。その際、減少させる前の数値をチャネルレジスタ412に保存する。また、一定時間DMA要求入力がない場合には減少させた数値をもとに戻す機能を有する。減少させた数値をもとに戻す時刻は、チャネルレジスタ412に保存されている情報から決定される。
図12及び図13は、図11のアービタ装置100を用いたDMA制御装置の動作例を示している。図13には、重み付け係数の推移が参照テーブル408の更新例として示されている。
図12及び図13によれば、時刻1では第1コア101からDMA転送情報31が転送され、第1コア101が選択される。このとき第1コア101は選択されたため、参照テーブル408の第1コア101の重み付け要素は20へと3だけ減少する。同様に時刻2では第2コア102からのDMA転送情報32を受け、回路が動作する。第2コア102が選択されたので参照テーブル408の第2コア102の重み付け要素が15から14へ減少する。以下DMA要求コア101,102,103が選択されるに従い参照テーブル408の重み付け値は減少する。ただし、一定時間DMA入力がない場合、例えば時刻3〜5の間の第3コア103に対する参照テーブル408の値はチャネルレジスタ412に保存された経過時刻に現在の時刻が到達したとき、参照テーブル408のもとの重み付けに戻る。同様に時刻9〜12の間の第1コア101、第2コア102に対する参照テーブル408の重み付けも、一定時間DMA要求がなかったため初期設定値に戻る。
以上述べたように、第4の実施形態によれば、アービタ装置100において参照テーブル更新部411が最優先DMA選択信号65を参照することでDMA転送履歴の自己フィードバックを行い、DMAの実行状態に応じた優先順位を設定できる。また、図11に「外部入力」として示したように各DMA要求コア101,102,103がDMA実行順序の変更を設定することも可能である。
《第5の実施形態》
図14は、本発明の第5の実施形態に係るDMA制御装置におけるアービタ装置100の構成を示している。図4と比較して図14では、DMA実行開始要求時刻情報21,22,23とDMA転送情報31,32,33とをDMA実行終了予定時刻推定部401,402,403で受け、DMA実行終了予定時刻情報61,62,63を生成する。DMA実行開始要求時刻順序判定部405は、DMA実行開始要求時刻情報21,22,23を受け、DMA実行開始予定順序情報64を出力する。DMA実行終了予定時刻順序判定部406は、DMA実行終了予定時刻情報61,62,63を受け、終了時刻全てを比較し、DMA実行終了予定順序情報66を生成する。DMA実行開始要求時刻順序判定部405からのDMA実行開始予定順序情報64と、DMA実行終了予定時刻順序判定部406からのDMA実行終了予定順序情報66とを実行順序決定部407で受ける。実行順序決定部407は、参照テーブル408を参照しながら最優先DMA選択信号65を生成し、出力する。
第5の実施形態によれば、時間方向に各DMA要求を監視し、実動作時間を保証したDMA制御装置を提供することができる。
《第6の実施形態》
図15は、本発明の第6の実施形態に係るDMA制御装置の構成を示している。図15中のアービタ装置100は、上記第1〜第5の実施形態で述べたアービタ装置100のいずれかである。図15によれば、アービタ装置100からセレクタ106及びDMA実行開始予定時刻推定部540に対し、最優先DMA選択信号65を出力する。DMA実行開始予定時刻推定部540は、時刻情報10と最優先DMA選択信号65により選択されるDMA転送情報31,32,33に含まれる転送長、転送対象メモリに関する情報とから、転送に必要な時間を現在時刻に加えることで、DMA実行開始予定時刻情報68を推定する。このDMA実行開始予定時刻情報68は、DMA実行を行う場合の最早での実行開始予定時刻を示す。セレクタ106は、図1と同様にDMA転送情報31,32,33から最優先DMA選択信号65に従い、転送キュー500にDMA制御情報41を転送する。具体的には、DMA制御情報41の内容は、DMA転送情報(アドレス、転送量、読み出し/書き込み、対象となるメモリ情報)、DMA実行開始要求時刻、DMA実行開始予定時刻で構成され、それぞれがDMA転送情報キュー501、DMA実行開始要求時刻情報キュー502、DMA実行開始予定時刻情報キュー503に転送される。以上3つの情報が転送された後それぞれのキュー501〜503を管理すべくそれぞれのポインタ情報をインデックスキー504にまとめて管理を行う。DMA実行部107にはインデックスキー504の情報をもとに最優先となっているデータが転送される。新しくDMA要求が発行された場合はインデックスキー504の空き状況を見てアービタ装置100によりインデックスキー504の空き領域に対応するキュー501,502,503に、新しく優先設定されたDMA制御情報41がセットされる。
図16は、図15のDMA制御装置の動作例を示している。転送キュー500によりパイプライン制御ができるため、図16に示すように、各コア101,102,103からのDMA要求間隔は短くなっている。これと比して各コア101,102,103のDMAの実行開始要求時刻は遅らせることができるようになる。
図16において、時刻1では第1〜第3コア101,102,103からDMA要求がある。DMA実行開始要求時刻が一番早い第2コア102のDMA転送情報32が実行され、第3コア103のDMA転送情報33が2番目に早いので転送キュー500の1段目に、第1コア101のDMA転送情報31が転送キュー500の2段目に入力される。時刻2で第1コア101からDMA転送情報31が新たに入力され、転送キュー500の3段目に転送される。時刻3で第3コア103からDMA転送情報33が転送され、転送キュー500の4段目に転送される。最初に実行された第2コア102のDMA転送情報32の実行が時刻4で終了し、転送キュー500からDMA実行部107へ、そして転送キュー500内でも順次データが転送される。逐次時刻5、時刻6で第2コア102のDMA転送情報32が、時刻7で第3コア103のDMA転送情報33がそれぞれ転送キュー500の4段目に入力され、逐次パイプライン処理される。
このように転送キュー500を持つことで、DMA要求コア101,102,103はDMA要求を出した直後に次の処理に移行することができる利点がある。なお、転送キュー500に入力されるDMAの転送長は説明では1つのDMA要求全体の転送長として扱ったが、SDRAM等に見られるメモリバーストアクセス単位に分割してもよい。
更に図15の例では、アービタ装置100で再度DMA優先順位を判定する場合にDMA要求コア101,102,103からの更新情報71,72,73,74を受け、セレクタ141,142,143,144で前に使用したDMA実行開始予定時刻情報か更新情報かのいずれを使用するか選択する機能を有する。
DMAの動作状況としてはDMA実行開始予定時刻情報キュー503が存在するため、動作状況を参照し、より早い時期にDMAが終了した方が都合がよいと各DMA要求コア101,102,103が判定した場合は、DMA実行開始要求時刻情報キュー502の情報を更新情報71,72,73,74により変更することで、アービタ装置100における優先順位を変更することが可能になる。このことにより、例えばDMA制御装置に対して急に短い間隔のDMAを要求しなければならなくなった場合に、DMA要求コア101,102,103から転送キュー500の内容を変更することでDMA転送を効率化することができる。
《第7の実施形態》
図17は、本発明の第7の実施形態に係るDMA制御装置の構成を示している。図17のDMA制御装置は、図15と違って、第1、第2及び第3のDMA要求コア(第1、第2及び第3コア)101,102,103の各々から複数本のDMA要求をアービタ装置100に転送する。各コア101,102,103のDMA要求バスを複数本にすることにより、各コア101,102,103の内部の優先順位の高低に応じて、DMA要求を複数のDMA要求バスに振り分けてアービタ装置100へ転送することができる。また、転送キュー500を持ち、並行して入力されたDMA要求を転送キュー500に格納することで、第1〜第3コア101,102,103のDMA処理待ち時間を短縮し、各コア101,102,103から実行開始要求時刻が早いDMA要求が後から入力された場合でも、その要求に見合った処理することができる。
なお、各コア101,102,103に共通のDMA要求バスを更に設けておけば、コア毎のDMA要求バスの本数より多くのDMA要求を行う必要が生じた場合でも、アービタ装置100への情報伝送に当該共通のDMA要求バスを利用することができる。
《第8の実施形態》
図18は、本発明の第8の実施形態に係るDMA制御装置の構成を示している。図17と比較して転送キュー500のほかにバッファキュー510を持つ。新規のDMA要求の実行開始要求時刻が現在実行中のDMAより早い場合、現在実行中のDMAを中断し、データをバッファキュー510に送り返し、実行開始要求時刻の早いDMAを実行するのである。
優先度の高いDMAの実行後又は新規DMA要求が入力された場合は、アービタ装置100はDMA実行部107に対して中断制御153を行う。DMA実行部107で実行中のDMAは中断され、DMA実行部107は転送情報151を分割部520に転送する。分割部520は実行終了部分と未実行部分とを分割し、未実行部分を残転送情報152としてアービタ装置100に再送し、再度調停を行う。このことにより、DMA転送において実行開始要求時刻の早いDMAを先行的に実行できる。
図19は、図18のDMA制御装置の動作例を示している。図19によれば、時刻1〜5ではDMA実行開始要求時刻が要求された順序どおりになっているので、そのまま転送キュー500に入力される。時刻6で第3コア103のDMA転送情報33が入力されたとき、第3コア103のDMA実行開始要求時刻情報23が入力され、第1コア101のために実行中であるDMAの実行開始要求時刻より第3コア103のDMA実行開始要求時刻の方が早いため、DMA実行部107は現在のDMA実行を中断し、中断したDMAについて、転送中のDMA転送と、未処理のDMA転送とに情報を分割する。分割方法はDMA対象がSDRAMのような一定処理単位を持つバースト転送を含むメモリの場合、バースト転送処理単位が終了した時点で分割する。SRAMのようにランダムアクセスの場合は即時分割を行う。分割を行った後の転送データはバッファキュー510に転送され、そこで第3コア103のDMA転送情報33の実行終了を待つ。第3コア103のDMA転送情報33の実行が終了した時点で、第1コア101の分割データが処理される。時刻7でも同様に処理を行う。以降、蓄積されたDMAを逐次DMA実行開始要求時刻に従い転送を行う。なお、図19には、中断なしの場合に第3コア103のDMA転送が間に合わないことを併せて示している。
以上述べたように、DMA転送を中断して実行順序を入れ替えることで、実行開始要求時刻の早いDMA転送を先行して実行できるDMA制御装置を提供できる。
なお、ここではDMA転送は初めにコア101,102,103から要求された転送長を1まとめにして処理する形で説明したが、DMA転送を予め一定のサイズに分割し、一定サイズに分割したDMA転送に関して上記の割り込み処理を実施してもよい。また、読み出し、書き込み等のアクセス方向の切り替わりが発生する場合に時間的要求の厳しいDMA転送を優先的に配置してもよい。
新規DMA要求が先行実行されることにより転送キュー500で待機中のDMA要求がDMA実行開始要求時刻までに実行が開始されなくなる場合には、アービタ装置100が各DMA要求の実行開始要求時刻をもとにDMA実行順序を再度調整すればよい。この場合、アービタ装置100は、待機中のDMA要求を発していたコアに対してエラー信号を返送するとともに、当該待機中のDMA要求の実行開始要求時刻を早めるように変更することで、当該待機中のDMA要求の優先順位を上げるようにすればよい。
図20は、2つのDMA要求間にデータの依存関係がある場合には上記中断制御153等が抑制されることを示している。つまり、アービタ装置100は、新規DMA要求の実行開始要求時刻が現在実行中のDMAの実行開始要求時刻より早い場合でも、後者の結果を前者が参照するような依存関係が両者間にあるときには、当該依存関係が反映されるように新規DMA要求の実行開始要求時刻を遅らせるように変更することで、当該新規DMA要求の優先順位を下げるように制御するのである。
図20において、1001〜1008は各々DMA転送を表す。DMA間の依存関係は1001と1006、1004と1007が同一メモリへのアクセスを行い、1001のメモリへの書き込みをもとに1006が実行され、1004のメモリへの書き込みをもとに1007が実行されるものとする。時刻6でDMA転送1006が要求されるが、DMA転送1001が終了していないため、依存関係が反映されるように、DMA転送1001の終了後までDMA転送1006が待機するように、DMA転送1006の実行開始要求時刻を遅らせるべくアービタ装置100が情報を変更する。同様に時刻7でDMA転送1007が要求されるが、DMA転送1004が終了していないため、DMA転送1004の終了後までDMA転送1007が待機する。時刻8ではDMA転送1008が要求され、依存関係が存在しないためDMA転送1008が直ちに実行される。
以上のようにデータ依存関係をDMA調停の際に監視することで、DMA実行の際の追い越しによる動作の意味合いの変更をプログラム制御だけでなくDMA制御装置でも防止することができる。なお、前述の第6又は第7の実施形態でもデータ依存関係を反映したDMA調停が有効である。
以上、本発明の第1〜第8の実施形態に係るDMA制御装置を説明してきた。最後に、これらのDMA制御装置のプロセッサにおける利用形態を説明する。
図21は、上記第1〜第8の実施形態のうちのいずれかに係るDMA制御装置を利用したプロセッサの構成例を示している。図21のプロセッサは、第1、第2及び第3のDMA要求コア(第1、第2及び第3コア)101,102,103、DMA調停回路901、転送キュー500,530、外部メモリコントローラ902、内部メモリコントローラ903、書き込みFIFO904、読み出しFIFO905、内部メモリ906から構成される。DMA調停回路901は、前述のアービタ装置100、タイマ105、セレクタ106、DMA実行開始予定時刻推定部540を含むものである。外部メモリコントローラ902及び内部メモリコントローラ903は、前述のDMA実行部107に対応する。907は外部メモリである。
データの流れを説明すると、第1〜第3コア101,102,103よりDMA要求が発行され、DMA調停回路901にて前述の調停が行われる。調停後外部メモリコントローラ902、内部メモリコントローラ903に調停の結果選択されたDMA転送情報が転送される。外部メモリコントローラ902は、選択されたDMA転送情報を受け、内部メモリコントローラ903からのデータ転送状況やFIFO904,905の空き状況を見て転送可能な状態にあると判断した場合にDMAを実行する。ここで転送可能な状態とは、バースト転送を行う外部メモリ907の場合、バースト転送長分の転送が行われても、データの供給(外部メモリ907へ書き込みアクセス時)又はデータの転送(外部メモリ907からのデータの読み出しアクセス時)がバースト長転送分中断せず実行可能かどうかを判定する。同様に内部メモリコントローラ903は、内部メモリ906に対しデータの供給(外部メモリ907からのデータの読み出しアクセス時)又はデータの転送(外部メモリ907へ書き込みアクセス時)を行う。この際、内部メモリコントローラ903は、バースト転送長分のアクセスが確保できるかどうかを内部メモリ906の競合状況、アクセス状況から判定し、DMA調停回路901や外部メモリコントローラ902に転送する。DMA調停回路901及び外部メモリコントローラ902は、内部メモリコントローラ903から内部メモリ906の競合情報を受ける。また、外部メモリコントローラ902はメモリアクセス実行状況及び実行予定をDMA調停回路901へ伝達する。
DMA調停回路901は、内部メモリコントローラ903から受けたメモリ競合情報と、外部メモリコントローラ902からのメモリアクセス実行状況及び実行予定と、DMA要求コア101〜103から与えられたDMA実行開始要求時刻とを参照し、DMA実行開始予定時刻を推定する。DMA実行開始予定時刻がDMA実行開始要求時刻より遅くなる場合には、全てのコア101,102,103に状況を伝達し、各コア101,102,103はDMAの実行が遅れる場合の措置を実行することで、システム全体におけるDMA実行時間の変動による不具合を減少させる。
以上より、従来はDMAの実行状況によってはデータ転送に破綻が生じ、システム全体に悪影響を与えていた特殊な条件下でのシステムの動作に関して、システム上の保護を達成することができるとともに、特殊な条件下での動作環境を生成して検証するためのテスト条件開発時間、シミュレーション時間を低減することができる。
本発明に係るDMA制御装置は、DMAの実行順序判定を簡略化するとともにDMA転送に係る情報の共有化を達成し、複数チャネルのDMA転送を制御する場合に有用である。また、通信ネットワークやプリンタ等のオフィスで少数対多数の接続を行う通信システムの情報のやり取り等の用途にも応用できる。
本発明の第1の実施形態に係るDMA制御装置の構成を示すブロック図である。 図1中のDMA転送情報生成部の詳細構成を示すブロック図である。 図1中のDMA実行開始要求時刻算出部の詳細構成を示すブロック図である。 図1中のアービタ装置の詳細構成を示すブロック図である。 図1のDMA制御装置におけるDMA要求の模式図である。 図1のDMA制御装置の動作例を示すタイミング図である。 本発明の第2の実施形態に係るDMA制御装置におけるアービタ装置の構成を示すブロック図である。 図7のアービタ装置を用いたDMA制御装置の動作例を示すタイミング図である。 本発明の第3の実施形態に係るDMA制御装置におけるアービタ装置の構成を示すブロック図である。 図9中の参照テーブルの詳細構成を示す概念図である。 本発明の第4の実施形態に係るDMA制御装置におけるアービタ装置の構成を示すブロック図である。 図11のアービタ装置を用いたDMA制御装置の動作例を示すタイミング図である。 図11のアービタ装置を用いたDMA制御装置の動作例を参照テーブルの更新例とともに示すタイミング図である。 本発明の第5の実施形態に係るDMA制御装置におけるアービタ装置の構成を示すブロック図である。 本発明の第6の実施形態に係るDMA制御装置の構成を示すブロック図である。 図15のDMA制御装置の動作例を示すタイミング図である。 本発明の第7の実施形態に係るDMA制御装置の構成を示すブロック図である。 本発明の第8の実施形態に係るDMA制御装置の構成を示すブロック図である。 図18のDMA制御装置の動作例を示すタイミング図である。 図18のDMA制御装置において2つのDMA要求間にデータの依存関係がある場合の動作例を示すタイミング図である。 本発明の第1〜第8の実施形態のうちのいずれかに係るDMA制御装置を利用したプロセッサの構成例を示すブロック図である。
符号の説明
100 アービタ装置
101 第1のDMA要求コア(第1コア)
102 第2のDMA要求コア(第2コア)
103 第3のDMA要求コア(第3コア)
105 タイマ
106 セレクタ
107 DMA実行部
110 DMA転送情報生成部
111 DMA実行開始要求時刻算出部
112 DMA要求生成部
141〜144 セレクタ
201 アドレス及びデータ変換回路
301 加算部
302 転送所要時間算出部
303 減算部
401〜403 DMA実行終了予定時刻推定部
405 DMA実行開始要求時刻順序判定部
406 DMA実行終了予定時刻順序判定部
407 実行順序決定部
408 参照テーブル
411 参照テーブル更新部
412 チャネルレジスタ
500,530 転送キュー
510 バッファキュー
520 分割部
540 DMA実行開始予定時刻推定部
901 DMA調停回路
902 外部メモリコントローラ
903 内部メモリコントローラ
904 書き込みFIFO
905 読み出しFIFO
906 内部メモリ
907 外部メモリ

Claims (16)

  1. 複数チャネルのDMA(ダイレクトメモリアクセス)を制御するためのDMA制御装置であって、
    複数のDMA要求コアと、
    DMA実行順序を調停するためのアービタ装置と、
    前記複数のDMA要求コアと前記アービタ装置とに共通に時刻情報を発行するタイマとを備え、
    前記複数のDMA要求コアは、各々DMA要求を発行する際に前記タイマから発行された時刻情報を参照しながら、DMA実行終了要求時刻までにDMA転送が終わるべくDMA実行開始要求時刻を算出し、DMA転送の内容を表すDMA転送情報とともにDMA実行開始要求時刻を表す情報を前記アービタ装置へ送り、
    前記アービタ装置は、各DMA要求コアのDMA実行開始要求時刻をもとにDMA実行順序を調停することを特徴とするDMA制御装置。
  2. 請求項1記載のDMA制御装置において、
    前記アービタ装置は、各DMA要求コアのDMA実行開始要求時刻とDMA転送長とをもとにDMA実行終了予定時刻を推定し、各DMA要求コアのDMA実行開始要求時刻及びDMA実行終了予定時刻をもとにDMA実行順序を調停することを特徴とするDMA制御装置。
  3. 請求項1記載のDMA制御装置において、
    前記アービタ装置は、DMA要求毎の重要度を定めた参照テーブルを有し、各DMA要求コアのDMA実行開始要求時刻をもとに調停したDMA実行順序を、前記参照テーブルに定められた重要度をもとに修正することを特徴とするDMA制御装置。
  4. 請求項3記載のDMA制御装置において、
    前記参照テーブルに定められたDMA要求毎の重要度は、実際のDMA転送の実行状況に応じて更新されることを特徴とするDMA制御装置。
  5. 請求項3記載のDMA制御装置において、
    前記アービタ装置は、DMA要求毎の重要度を定めた参照テーブルを有し、各DMA要求コアのDMA実行開始要求時刻とDMA転送長とをもとにDMA実行終了予定時刻を推定し、各DMA要求コアのDMA実行開始要求時刻及びDMA実行終了予定時刻をもとに調停したDMA実行順序を、前記参照テーブルに定められた重要度をもとに修正することを特徴とするDMA制御装置。
  6. 請求項1記載のDMA制御装置において、
    前記アービタ装置による調停結果をもとに、新規DMA要求の最も早いDMA実行開始予定時刻を推定するための手段と、
    実行待ちのDMA要求について、前記DMA実行開始要求時刻を表す情報と、前記DMA実行開始予定時刻を表す情報とを、前記DMA転送情報とともにDMA制御情報として一時保管するための転送キューとを更に備えたことを特徴とするDMA制御装置。
  7. 請求項6記載のDMA制御装置において、
    前記転送キュー中の全てのDMA制御情報を前記複数のDMA要求コアへ伝達するための手段を更に備えたことを特徴とするDMA制御装置。
  8. 請求項6記載のDMA制御装置において、
    前記複数のDMA要求コアは、自身が要求したDMAについて前記転送キュー中のDMA制御情報を変更する機能を更に有することを特徴とするDMA制御装置。
  9. 請求項1記載のDMA制御装置において、
    実行待ちのDMA要求に関する情報を順次一時保管するための転送キューを更に備え、
    前記複数のDMA要求コアのうち少なくとも1つは、前記アービタ装置へ情報を送るための複数のDMA要求バスを持ち、自身の内部の優先順位の高低に応じて複数のDMA要求を前記複数のDMA要求バスに振り分けて転送することを特徴とするDMA制御装置。
  10. 請求項9記載のDMA制御装置において、
    前記複数のDMA要求コアのうち少なくとも2つは、共通のDMA要求バスを持ち、各々当該共通のDMA要求バスを通して前記アービタ装置へ情報を送る機能を有することを特徴とするDMA制御装置。
  11. 請求項6〜10のいずれか1項に記載のDMA制御装置において、
    前記アービタ装置は、新規DMA要求の実行開始要求時刻が現在実行中のDMAの実行開始要求時刻よりも早い場合には、現在実行中のDMAを分割処理して中断し、前記新規DMA要求が先行して実行されるように制御することを特徴とするDMA制御装置。
  12. 請求項11記載のDMA制御装置において、
    前記アービタ装置は、新規DMA要求が先行実行されることにより前記転送キューにて待機中のDMA要求の実行が当該待機中のDMA要求の実行開始要求時刻までに開始されなくなる場合には、各DMA要求の実行開始要求時刻をもとにDMA実行順序を再度調停することを特徴とするDMA制御装置。
  13. 請求項12記載のDMA制御装置において、
    前記アービタ装置は、前記待機中のDMA要求を発行したDMA要求コアに対してエラー信号を返送するとともに、前記待機中のDMA要求の実行開始要求時刻を早めるように変更することで、前記待機中のDMA要求の実行優先順位を上げるように制御することを特徴とするDMA制御装置。
  14. 請求項6〜13のいずれか1項に記載のDMA制御装置において、
    前記アービタ装置は、新規DMA要求の実行開始要求時刻が現在実行中のDMAの実行開始要求時刻より早い場合でも、後者の結果を前者が参照するような依存関係が両者間にあるときには、当該依存関係が反映されるべく前記新規DMA要求の実行開始要求時刻を遅らせるように変更することで、前記新規DMA要求の実行優先順位を下げるように制御することを特徴とするDMA制御装置。
  15. 請求項1〜14のいずれか1項に記載のDMA制御装置と、内部メモリと、内部メモリコントローラとを含むことを特徴とするプロセッサ。
  16. 請求項15記載のプロセッサにおいて、
    前記DMA制御装置中のアービタ装置は、前記内部メモリコントローラから通知される前記内部メモリの使用状況に応じて各DMA要求コアからの要求に係るDMAの実行順序を調停することを特徴とするプロセッサ。
JP2005024998A 2005-02-01 2005-02-01 Dma制御装置 Pending JP2006215621A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005024998A JP2006215621A (ja) 2005-02-01 2005-02-01 Dma制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005024998A JP2006215621A (ja) 2005-02-01 2005-02-01 Dma制御装置

Publications (1)

Publication Number Publication Date
JP2006215621A true JP2006215621A (ja) 2006-08-17

Family

ID=36978836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005024998A Pending JP2006215621A (ja) 2005-02-01 2005-02-01 Dma制御装置

Country Status (1)

Country Link
JP (1) JP2006215621A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210280A (ja) * 2007-02-27 2008-09-11 Fujitsu Ltd 半導体装置及びdmaコントローラ
JP2009217818A (ja) * 2008-02-12 2009-09-24 Fujitsu Ltd 情報処理装置,スケジュール管理装置,スケジュール管理方法およびスケジュール管理プログラム
JP2010073113A (ja) * 2008-09-22 2010-04-02 Yokogawa Electric Corp データ転送装置及び半導体試験装置
JP2019159750A (ja) * 2018-03-13 2019-09-19 日本電気株式会社 データ転送装置、データ転送方法、プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210280A (ja) * 2007-02-27 2008-09-11 Fujitsu Ltd 半導体装置及びdmaコントローラ
JP2009217818A (ja) * 2008-02-12 2009-09-24 Fujitsu Ltd 情報処理装置,スケジュール管理装置,スケジュール管理方法およびスケジュール管理プログラム
JP2010073113A (ja) * 2008-09-22 2010-04-02 Yokogawa Electric Corp データ転送装置及び半導体試験装置
JP2019159750A (ja) * 2018-03-13 2019-09-19 日本電気株式会社 データ転送装置、データ転送方法、プログラム
JP6992616B2 (ja) 2018-03-13 2022-01-13 日本電気株式会社 データ転送装置、データ転送方法、プログラム

Similar Documents

Publication Publication Date Title
US8312229B2 (en) Method and apparatus for scheduling real-time and non-real-time access to a shared resource
JP4907166B2 (ja) リソース管理装置
JP5498505B2 (ja) データバースト間の競合の解決
JP2011505037A (ja) 読出しデータバッファリングのシステム及び方法
JP2010282405A (ja) データ処理システム
US20080270658A1 (en) Processor system, bus controlling method, and semiconductor device
JP2010134628A (ja) メモリコントローラおよびデータ処理装置
WO2006080371A2 (ja) アクセス調停装置、および調停可能条件検証装置
JP5565204B2 (ja) データ転送装置、データ転送方法およびプログラム、ならびに、画像形成装置
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
JP6201591B2 (ja) 情報処理装置および情報処理装置の制御方法
JP2004199698A (ja) 複数の割込発生源から生じる割込要求の優先順位決定用割込制御装置ならびに割込制御方法
US7606957B2 (en) Bus system including a bus arbiter for arbitrating access requests
JP2006215621A (ja) Dma制御装置
WO2006024193A1 (fr) Procede et systeme pour transfert de donnees
US20090119429A1 (en) Semiconductor integrated circuit
JP2005092780A (ja) リアルタイムプロセッサシステム及び制御方法
US7761280B2 (en) Data processing apparatus simulation by generating anticipated timing information for bus data transfers
JP2007041771A (ja) プロセススケジューリングシステム、プロセススケジューリング方法およびプログラム
JP2011034214A (ja) メモリ制御装置
JP7226084B2 (ja) 情報処理装置
JP7292044B2 (ja) 制御装置および制御方法
US11068425B2 (en) Semiconductor device and bus generator
JP7381603B2 (ja) データ転送装置およびデータ転送方法
JP2007164713A (ja) リソース管理装置及びリソース管理方法