JP2005056067A - Dma転送制御装置 - Google Patents

Dma転送制御装置 Download PDF

Info

Publication number
JP2005056067A
JP2005056067A JP2003285080A JP2003285080A JP2005056067A JP 2005056067 A JP2005056067 A JP 2005056067A JP 2003285080 A JP2003285080 A JP 2003285080A JP 2003285080 A JP2003285080 A JP 2003285080A JP 2005056067 A JP2005056067 A JP 2005056067A
Authority
JP
Japan
Prior art keywords
transfer
dma
dma transfer
control device
parameter
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
JP2003285080A
Other languages
English (en)
Inventor
Akihiro Furuta
暁広 古田
Nobuo Higaki
信生 檜垣
Tetsuya Tanaka
哲也 田中
Tsuneyuki Suzuki
常之 鈴木
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 JP2003285080A priority Critical patent/JP2005056067A/ja
Priority to EP04017988A priority patent/EP1503292B1/en
Priority to DE602004012492T priority patent/DE602004012492T2/de
Priority to US10/901,294 priority patent/US7305499B2/en
Priority to CNB2004100851433A priority patent/CN100388253C/zh
Publication of JP2005056067A publication Critical patent/JP2005056067A/ja
Pending legal-status Critical Current

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

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転送の時間管理を可能にし、リアルタイム処理においてシステム破綻を招くことのないDMA転送制御装置を提供する。
【解決手段】複数の論理プロセッサ毎にバス占有可能時間値および1組または複数組のDMA転送パラメータを格納する転送パラメータ記憶手段121と、DMA転送パラメータに基づきDMA転送を実行するデータ転送実行手段122と、DMA転送パラメータの授受ならびにDMA転送の開始および中断を制御する制御手段123と、論理プロセッサ毎に最初のDMA転送が開始されるとバス占有経過時間の計測を開始する時間計測手段1231とを備え、バス占有経過時間がバス占有可能時間値に達した場合に、制御手段123は実行中のDMA転送を中断させ、所定順の論理プロセッサに係るDMA転送パラメータに基づくDMA転送を開始させる。
【選択図】 図1

Description

本発明はDMA転送の時間管理を可能にするDMA転送制御装置に関する。
近年、機器のマルチメディア化に伴い、プロセッサ上で音声や動画像(AV)の符号化や復号処理を行うことが日常的となっている。一般にAV復号処理を行う場合に、所定の時間内に一定量の処理を完結させること、すなわちリアルタイム処理(実時間処理)が必要である。さらに音声および動画像の双方向通信では、符号化処理においてもリアルタイム性が要求される。
このようなリアルタイム処理を含む複数の処理を単一のプロセッサ上で実行する場合には、処理のリアルタイム性を保証する機構が必要である。この機構を実現する方法の一つに、プロセッサ資源を時分割し、所定の時間毎に処理内容を切り替える方式がある。この方式は、大局的にみると、複数の仮想的な論理プロセッサがそれぞれ異なる処理を並列に実行していることと等価である。以下では、この方式を仮想的マルチプロセッシング(VMP)と呼ぶことにする。
AV処理においては、入出力装置、バッファメモリ(データの一時蓄積用メモリ)、ワークメモリ(データ処理用のメモリ)等の間で、内部データバスを経由して大量のデータ転送を行う必要がある。通常このようなデータ転送にプロセッサ資源を消費することは好ましくなく、DMA(直接メモリアクセス)コントローラを用いて行うことが一般的である。
近年のシステムLSIにおける情報処理量の増大に伴い、LSI内部バスにおけるデータ転送量もまた増大する一方である。このデータ転送を効率良く行うために、DMAコントローラにも高機能なものが求められており、これまでに種々の提案がなされている。例えば、転送効率を向上させるために、複数のDMA転送に優先度を持たせるものや(特許文献1参照)、複数のDMA転送を予約実行するものが考案されている(特許文献2参照)。
特開平9−223102号公報 特開2002−41445号公報
図2は従来のDMAコントローラを搭載したシステムの構成例を示すブロック図である。図2において、マイクロプロセッサユニット(MPU)1は、プロセッサ11、内部DMAコントローラ12、外部DMAバスインターフェイス13、内部メモリ14、15、16から構成され、11〜16の各部はMPUに搭載されたプロセッサ内部バスおよび内部DMAバスに接続される。さらに、MPU1、外部DMAコントローラ2、周辺回路3、外部メモリ4、周辺回路5は、MPU外部のDMAバスに接続される。
図2のシステムを用いて、蓄積デバイス(例えば半導体メモリカード)から音声圧縮データを読み出し、復号処理を行った後に音声インターフェイス回路に出力する場合を考察する。この場合に、周辺回路3は半導体メモリカードとのインターフェイス回路、周辺回路5は音声インターフェイス回路とする。
音声再生を途切れなく行うために、音声復号処理を行うプログラム(プログラムCとする)にはリアルタイム性が要求される。さらに、この音声復号処理プログラムCと並列に、2つの非リアルタイム性のプログラムAおよびプログラムBを実行させるものとする。この場合のプロセッサ11および内部DMAコントローラ12の動作を図3のタイミングチャートに示す。
この音声復号処理におけるデータおよび処理の流れは、以下のようになる。
(処理1)外部DMAコントローラ2は、圧縮音声データを周辺回路3から外部メモリ4へ随時転送する。なお、この処理は、内部DMAコントローラ12の動作を考察する上で特に意識する必要はない。
(処理2)内部DMAコントローラ12は、過去の復号処理結果を内部メモリ14から周辺回路5へ転送する。このDMA転送はプログラムCによって起動される。
(処理3)内部DMAコントローラ12は、処理2のDMA転送を完了すると、プロセッサ11に割込みを通知する。これによりプログラムCは次のDMA転送を起動し、内部DMAコントローラ1は、処理2に引き続いて新たな圧縮データを外部メモリ4から内部メモリ14へ転送する。処理2、3において、内部メモリ14は、バッファメモリとして使用されている。
(処理4)プロセッサ11では、上記2、3の処理と並行して内部メモリ15に保持されたデータの復号処理を行う。本処理において、内部メモリ15は、ワークメモリとして使用されている。
処理2から4までは所定の処理単位時間毎に繰り返され、単位時間毎に内部メモリ14と15の用途が交互に入れ替わる。すなわち、内部メモリ14は、ある時間ではバッファメモリ、別の時間ではワークメモリとして使用される。内部メモリ15についても同様である。
このシステムでは、プログラムCのリアルタイム性を保証するために、プログラムA、B、Cが図3に示すように時分割で実行される。この状態を、プログラムA、B、Cがそれぞれ個別の仮想的な論理プロセッサによって実行されているとみなすこともできる。図3に示す「処理単位時間」は、音声復号処理の場合、一般に符号化方式や、周辺回路の出力データレート(単位時間あたりの出力データ量)、バッファ容量等から決定される。
また、このシステムでは、仮想的マルチプロセッシングを導入しているため、各プログラム(A、B、C)の開発にあたって他のプログラムの処理内容や実行時間等を考慮する必要がない。各プログラムにそれぞれ一定のプロセッサ資源が確保されることを前提として、プログラム開発を独立して進めることが可能である。すなわち、仮想的マルチプロセッシングには、リアルタイム処理を保証できる他に、プログラム開発が容易という利点がある。さらに同様の理由から、処理単位時間が異なる別のシステムへ上記プログラムA、Bを移植することも容易である。
次に、このシステムの問題点を示すために、特定のプログラムがDMAバスを長時間占有した場合を考察する。図4のタイミングチャートに示す動作例においては、プログラムBは転送量の大きいDMA転送を実行し、DMAバスを長時間占有している。このDMA転送が終了しDMAバスが開放されると、プログラムCは内部メモリ15から周辺回路5へのDMA転送を実行し、転送完了後プロセッサ11に割込みを通知する。
しかし、図4のタイミングチャートにおいては、割込みが通知された時点でプログラムCの処理はすでに終了しており、引き続いて次のDMA転送を起動することができない。プログラムCが内部メモリ15のデータ処理を開始する時点で、処理対象のデータが未転送であるため、リアルタイム処理は破綻する。
このような事態を回避するためには幾つかの方法が考えられるが、その一つとして複数のDMA転送を予約実行する方法がある。すなわち、図5のタイミングチャートに示すように、外部メモリから内部メモリ15へのDMA転送要求を事前に予約しておき、内部メモリ15から周辺回路5へのDMA転送の完了後、予約したDMA転送を自動的に実行させればよい。具体的には、特許文献2に記載のDMAコントローラを用いることで、これを実現することができる。
しかしながら、複数のDMA転送を予約実行できたとしても、プログラムCのリアルタイム性を保証できない場合がある。例えば、図6のタイミングチャートに示す動作例においては、プログラムBのDMA転送時間が長いため、DMA転送の完了が内部メモリ15の処理開始に間に合わず、リアルタイム処理は破綻する。
結局、プログラムCのDMA転送に対して一定時間のDMAバスアクセスを保証するには、プログラムA、Bが起動するDMA転送に対し、その起動タイミングおよび転送時間(あるいは転送語数)に制限を加える以外には確実な方法はない。上記の考察から分かるように、リアルタイム処理を行う場合には、プロセッサ資源の時分割(VMPの導入)のみでは不十分であって、DMA転送の時間管理(スケジューリング)についても併せて考慮する必要がある。
上述したように、プログラムA、Bの開発においては、これらのプログラムがDMA転送要求を行う場合に、プログラムCのリアルタイム処理を破綻させないよう配慮する必要がある。しかしながら、これによってプログラムA、B、Cの開発には依存関係が生じ、開発を独立して進めることができなくなる。このように、DMA転送のスケジューリングに起因して、プログラム開発が容易というVMPの利点は大きく損なわれることとなる。
また、AV符号化/復号処理においては、符号化方式や入出力データレートによって処理にかかる時間がそれぞれ異なるため、処理単位時間は様々な値を取り得るが、全ての場合について、システム破綻がないことを保証する必要がある。
さらに、複数のリアルタイム処理が輻輳した場合には、システム開発および検証工数が膨大になるほか、システム破綻のないスケジューリングを実施すること自体が困難となる場合もある。
本発明は、このような従来の問題点に鑑みてなされたものであって、リアルタイム処理においてDMA転送の時間管理を可能にすることにより、個々のプログラムにおいてはDMA転送のスケジューリングを考慮する必要がなく、プログラムの開発や移植が容易で、リアルタイム処理においてシステム破綻を招くことのないDMA転送制御装置(DMAコントローラ)を提供することを目的とする。
本発明のDMA転送制御装置は、主プロセッサで実行される複数の論理プロセッサ毎にバス占有可能時間値および1組または複数組のDMA転送の転送パラメータを格納する転送パラメータ記憶手段と、前記転送パラメータに基づきDMA転送を実行するデータ転送実行手段と、前記転送パラメータの授受ならびにDMA転送の開始および中断を制御する制御手段と、前記論理プロセッサ毎に最初のDMA転送が開始されるとバス占有経過時間の計測を開始する時間計測手段と、を備え、バス占有経過時間がバス占有可能時間値に達した場合に、制御手段は実行中のDMA転送を中断させ、所定順の論理プロセッサに係る転送パラメータに基づくDMA転送を開始させるものである。
上記構成によれば、論理プロセッサ毎のバス占有経過時間をバス占有可能時間値に制限することができるため、リアルタイム処理におけるDMA転送の時間管理が可能になり、システム破綻を回避することができ、処理のリアルタイム性を確実に保障することができる。
また、バス占有経過時間がバス占有可能時間値に達し実行中のDMA転送が中断された場合に、プログラムを介することなく自動的に次に実行すべきDMA転送が開始されるため、個々のプログラムにおいてはDMA転送のスケジューリングを考慮する必要がなく、プログラムの開発や保守が容易になる。
さらに、本発明のDMA転送制御装置は、バス占有経過時間がバス占有可能時間値に達する前に、ある論理プロセッサに係るすべてのDMA転送が終了した場合に、制御手段は所定順の論理プロセッサに係る転送パラメータに基づくDMA転送を開始させるものである。
上記構成によれば、ある論理プロセッサに係るすべてのDMA転送の終了時にバス占有可能時間に余裕がある場合も、バス占有が打ち切られ、次に実行すべきDMA転送が開始されるため、バス占有の無駄な時間を無くすことができ、DMA転送効率を向上させることができる。
本発明のDMA転送制御装置は、主プロセッサで実行される複数の論理プロセッサ毎にバス占有可能転送データ数および1組または複数組のDMA転送の転送パラメータを格納する転送パラメータ記憶手段と、前記転送パラメータに基づきDMA転送を実行するデータ転送実行手段と、前記転送パラメータの授受ならびにDMA転送の開始および中断を制御する制御手段と、前記論理プロセッサ毎に最初のDMA転送が開始されるとバス転送データ数の計測を開始する転送データ数計測手段とを備え、前記バス転送データ数が前記バス占有可能転送データ数に達した場合に、前記制御手段は実行中のDMA転送を中断させ、所定順の論理プロセッサに係る転送パラメータに基づくDMA転送を開始させるものである。
上記構成によれば、バス占有可能時間値に代えてバス占有可能転送データ数を用い、バス占有経過時間に代えてバス転送データ数を計測しても、バス占有経過時間を計測するDMA転送制御装置と同等のDMA転送の時間管理が可能であるため、リアルタイム処理において同様の効果を得ることができる。
さらに、本発明のDMA転送制御装置は、バス転送データ数がバス占有可能転送データ数に達する前に、ある論理プロセッサに係るすべてのDMA転送が終了した場合に、制御手段は所定順の論理プロセッサに係る転送パラメータに基づくDMA転送を開始させるものである。
上記構成によれば、バス占有可能時間値に代えてバス占有可能転送データ数を用い、バス占有経過時間に代えてバス転送データ数を計測しても、バス占有経過時間を計測するDMA転送制御装置と同等の処理が可能であるため、バス占有の無駄な時間を無くすことができ、DMA転送効率を向上させることができる。
さらに、本発明のDMA転送制御装置は、前記所定順は巡回的とし、DMA転送要求が無い論理プロセッサに係るDMA転送処理はすべてスキップされるものである。
上記構成によれば、DMA転送要求を有する論理プロセッサに係るDMA転送のみが巡回的に処理されるため、バス占有の無駄な時間を無くすことができ、DMA転送効率を最大に向上させることができる。
さらに、本発明のDMA転送制御装置は、論理プロセッサ毎の複数組の転送パラメータは転送パラメータ記憶手段にてFIFO構造にキューイングされるものである。
上記構成によれば、転送パラメータをFIFO構造にキューイングしてDMA転送制御を行うことにより、DMA転送終了割込みから次のDMA転送起動にかかるオーバヘッドがなくなり、DMA転送効率を向上させることができる。
さらに、本発明のDMA転送制御装置は、転送パラメータのキューイングが所定の最大転送パラメータ数を超えて行われようとした場合に、制御手段は主プロセッサにエラー発生を通知するものである。
上記構成によれば、所定の最大転送パラメータ数を超えて転送パラメータのキューイングが行われることを防ぐことができるため、すでにキューイングされた転送パラメータの破壊など、意図しない動作を防止することができる。
本発明のDMA転送制御装置は、前記転送パラメータの先頭キューの前に緊急キューとして1組の転送パラメータをキューイングすることが可能なものである。
上記構成によれば、緊急キューが通常の転送パラメータより高い優先度でキューイングされるため、即時応答性が要求される事象の発生などに応じて、これに係るDMA転送を緊急キューとして扱い最優先で実行することができる。
本発明のDMA転送制御装置は、緊急キューがキューイングされた状態で、さらに緊急キューのキューイングが行われようとした場合に、制御手段は主プロセッサにエラー発生を通知するものである。
上記構成によれば、緊急キューが2重にキューイングされることを防ぐことができるため、すでにキューイングされた転送パラメータの破壊など、意図しない動作を防止することができる。
本発明の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転送の転送パラメータをDMA転送の実行開始時の値に復元し、この転送パラメータに基づくDMA転送の実行を繰り返す機構を備えるものである。
上記構成によれば、個別のDMA転送要求毎に自動的にDMA転送を繰り返し実行することにより、アプリケーションにおいて繰り返し実行される個別のDMA転送について、DMA転送終了割込みから次のDMA起動にかかるオーバヘッドを無くし、DMA転送効率を向上させることができる。
さらに、本発明のDMA転送制御装置は、バス占有可能時間値あるいはバス占有可能転送データ数に拘らず、論理プロセッサ毎にDMA転送の中断を禁止する機構を備えるものである。
上記構成によれば、緊急性の高いアプリケーションが起動され、これに伴うDMA転送要求が時分割処理されては不都合な場合に、一時的に論理プロセッサ毎にDMA転送の時分割処理を禁止し、緊急性の高いDMA転送を優先して処理した後に通常動作に戻すことができる。
さらに、本発明のDMA転送制御装置は、バス占有可能時間値あるいはバス占有可能転送データ数に拘らず、個別にDMA転送の中断を禁止する機構を備えるものである。
上記構成によれば、緊急性の高いアプリケーションが起動され、これに伴うDMA転送要求が時分割処理されては不都合な場合に、一時的に個別にDMA転送の時分割処理を禁止し、緊急性の高いDMA転送を優先して処理した後に通常動作に戻ることができる。
さらに、本発明のDMA転送制御装置は、データ転送実行手段は、1組の転送パラメータを保持する転送パラメータ一時記憶手段を備え、これに保持された転送パラメータを使用してDMA転送を行うものである。
上記構成によれば、DMA転送の実行時に転送パラメータ記憶手段をアクセスする必要が無くなるため、メモリアクセスに係る消費電力を節約することができる。また、プロセッサからの転送パラメータのキューイングとアクセスが競合することが無いため、プロセッサ側の待ち時間が少なくなりCPU効率が向上する。
さらに、本発明のDMA転送制御装置は、転送パラメータのキューイングの際に1組の転送パラメータのバッファとして用いる転送パラメータ一時格納手段を備え、制御手段は、転送パラメータ一時格納手段に格納された転送パラメータを用いてキューイングされる転送パラメータに関するキュー管理情報を論理プロセッサ毎に生成し、転送パラメータおよびキュー管理情報を転送パラメータ記憶手段に格納するものである。
上記構成によれば、1組の転送パラメータを一時格納するバッファを備えているため、転送パラメータのキューイングの際に、各パラメータ値を格納する度に転送パラメータ記憶手段をアクセスする必要が無くなる。
さらに、本発明のDMA転送制御装置は、転送パラメータのキューイングの際に、転送パラメータ一時格納手段から転送パラメータ記憶手段への転送パラメータの転送中は、主プロセッサからのキューイングのアクセスを待たせるものである。
上記構成によれば、転送パラメータ記憶手段への転送パラメータの格納中に転送パラメータ一時格納手段にバッファされたパラメータ値が変化し意図しない動作を引き起こすことを防ぐことができる。
さらに、本発明のDMA転送制御装置は、論理プロセッサ毎に転送パラメータがキューイングされているか否かを示すキューアクティブフラグを備え、制御手段はキューアクティブフラグを巡回的にチェックして論理プロセッサ毎のDMA転送要求の有無を判断するものである。
上記構成によれば、各論理プロセッサに係るDMA転送終了後、次の論理プロセッサに係るDMA転送要求の有無を判断することができ、DMA転送要求が無い場合は、転送パラメータ記憶手段をアクセスする必要が無いため処理を高速化でき、併せて消費電力を削減することができる。
さらに、本発明のDMA転送制御装置は、論理プロセッサ毎のキューアクティブフラグは、この論理プロセッサに係るいずれかの転送パラメータが有効化されたときにセットされ、この論理プロセッサに係るすべてのDMA転送の終了時にリセットされるものである。
上記構成によれば、各々のキューアクティブフラグは各論理プロセッサに係るDMA転送要求の最初の発生からすべてのDMA転送の終了時までの間セットされるため、DMA転送要求の有無を常に正しく示すことができる。
さらに、本発明のDMA転送制御装置は、キューアクティブフラグのいずれかをリセットするときは、このリセットされるキューアクティブフラグのセット要求を待たせるものである。
上記構成によれば、キューアクティブフラグのリセット時に新たなセット要求を待たせることで、キューアクティブフラグの不正な変化により意図しない動作を引き起こすことを防ぐことができる。
さらに、本発明のDMA転送制御装置は、キューアクティブフラグをDMA転送制御装置の外部から直接アクセスすることが可能な経路を有するものである。
上記構成によれば、プロセッサがデバッグモードに入る場合に、キューアクティブフラグを外部から直接アクセス可能にすることにより、有力な解析手段を提供することができる。
本発明のDMA転送制御装置は、キューアクティブフラグの状態とキュー管理情報との間で矛盾が生じた場合に、キュー管理情報に従って前記キューアクティブフラグの状態を補正するものである。
上記構成によれば、デバッグモードでの操作等によりキューアクティブフラグの状態とキュー管理情報との間で矛盾が生じた場合に、キュー管理情報に従ってキューアクティブフラグの状態が補正されるため、プロセッサが不正な状態に陥ることを防ぐことができる。
本発明によれば、論理プロセッサ毎のバス占有経過時間をバス占有可能時間値に制限することにより、リアルタイム処理におけるDMA転送の時間管理が可能になり、システム破綻を回避することができ、処理のリアルタイム性を確実に保障することができる。
また、バス占有経過時間がバス占有可能時間値に達し実行中のDMA転送が中断された場合に、プログラムを介することなく自動的に次に実行すべきDMA転送が開始されるため、個々のプログラムにおいてはDMA転送のスケジューリングを考慮する必要がなく、プログラムの開発や保守が容易になる。
さらに本発明によれば、転送パラメータをFIFO構造にキューイングしてDMA転送制御を行うことにより、DMA転送終了割込みから次のDMA転送起動にかかるオーバヘッドが無くなり、DMA転送効率を向上させることができる。
さらに本発明によれば、転送パラメータを論理プロセッサ毎あるいは個別に無効にすることができるため、アプリケーションが途中で無効になった場合などへの対応が可能となる。また、DMA要求の投機的実行が可能となり、アプリケーション作成上の自由度が増す。
さらに本発明によれば、DMA転送の実行を論理プロセッサ毎あるいは個別に保留することができるため、アプリケーションが中断され、また再開される場合に、DMA転送の途中における転送パラメータの退避、削除、復帰の各処理が不要となり、保留と復帰の切り替えを高速化することができる。
さらに本発明によれば、論理プロセッサ毎あるいは個別にDMA転送を繰り返し実行することにより、アプリケーションにおいて繰り返し実行される一連のDMA転送についてDMA転送終了割込みから次のDMA起動にかかるオーバヘッドを無くし、DMA転送効率を向上させることができる
さらに本発明によれば、緊急性の高いアプリケーションが起動され、これに伴うDMA転送要求が時分割処理されては不都合な場合に、一時的に論理プロセッサ毎あるいは個別にDMA転送の時分割処理を禁止し、緊急性の高いDMA転送を優先して処理した後に通常動作に戻すことができる。
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の図面の記載において、同一または類似の部分には同一または類似の符号を付し、同一部分については重複した説明を省略する。
また、本発明の各実施の形態においては、システム構成として図2を想定する。すなわち、各実施の形態における動作例として、図2に示すシステムを用いて、蓄積デバイス(例えば半導体メモリカード)から音声圧縮データを読み出し、復号処理を行った後に音声インターフェイス回路に出力する場合を想定し、周辺回路3は半導体メモリカードとのインターフェイス回路、周辺回路5は音声インターフェイス回路とする。
(実施の形態1)
図1は本発明の実施の形態1に係るDMA転送制御装置の構成を示すブロック図である。図1において、プロセッサ11およびDMA転送制御装置(DMAコントローラ)12はプロセッサ内部バスおよびDMAバスに接続される。これらは、図2におけるマイクロプロセッサユニット(MPU)1の一部として組み込まれるものであり、図2と同一の符号を付している。
DMA転送制御装置12は、転送パラメータ記憶手段121、データ転送実行手段122、制御手段123から構成され、さらに、制御手段123は時間計測手段1231を含むように構成される。プロセッサ内部バス、データ伝送実行手段122、時間計測手段1231は、DMA転送制御装置12の内部において転送パラメータ記憶手段121に接続される。
転送パラメータ記憶手段121は、プロセッサ11から送出されたDMA転送の転送パラメータおよびバス占有可能時間を論理プロセッサ毎に格納する。図7は転送パラメータ記憶手段に格納される転送パラメータの配列例を示すメモリマップである。
データ転送実行手段122は、制御手段123からの制御に従い、DMA転送の実行に必要なアドレスや制御信号を生成する。制御手段123は、転送パラメータ記憶手段121に格納されるデータの入出力、およびデータ転送実行手段122が行うDMA転送の開始と中断を制御する。また、本実施の形態のDMA転送制御装置は、特許文献2に示されたようなDMA転送を予約実行する機能を有するものとする。
図8は、本実施の形態のDMA転送制御装置の動作例を示すタイミングチャートである。この例では、3つの異なるプログラムA、B、Cが、それぞれ論理プロセッサ0、1、2に割り当てられている。各プログラムのDMAバス占有可能時間は、A:B:C=1:1:3となるように定められており、これらバス占有可能時間の値は、プロセッサ11により転送パラメータ記憶手段121に図7に示すように格納されている。
プログラムが割り当てられていない論理プロセッサ3〜15のバス占有可能時間は0である。時間計測手段1231は論理プロセッサ番号順に巡回的にバス占有可能時間を読み出し、論理プロセッサ毎のバス占有経過時間を常時計測しており、DMAバスの占有権は図8の最下段に示すように各プログラムに割り当てられる。
まずプログラムCは、DMA転送制御装置12に対して内部メモリ14から周辺回路5へのDMA転送を要求する。このとき、プロセッサ11はDMA転送制御装置12に対してDMA転送の実行に必要な1組の転送パラメータを送出し、これらは転送パラメータ記憶手段121に格納される。この1組の転送パラメータは次に示すものである。
(1)転送元(内部メモリ14)開始アドレス
(2)転送先(周辺回路5)開始アドレス
(3)転送方式
(4)転送語数
DMAバスの割り当てがプログラムCに切り替えられると、制御手段123は、転送語数が0でないことを読み取り、データ転送実行手段122にDMA転送を開始させる。データ転送実行手段122は、DMA転送の進行に伴い、転送パラメータ記憶手段121に格納された転送元アドレス、転送先アドレス、転送語数を随時更新し、転送語数=0となった時点でDMA転送の完了を制御手段123に通知する。さらに、制御手段123はプロセッサ11に割込みを通知する。
プログラムCはこの割込み通知を受け、次のDMA転送である外部メモリから内部メモリ14へのDMA転送を要求する。要求の手順は最初のDMA転送のときと同様である。このDMA転送は、DMAバスが再度プログラムCに割り当てられた時点で実行される。
さらに時間が進むと、プログラムBがDMA転送を要求し実行されるが、プログラムBのバス占有可能時間が比較的短いためDMA転送は一度に完了しない。DMA転送のバス占有経過時間がバス占有可能時間に達した時点で、制御手段123はデータ転送実行手段122にDMA転送を中断させる。このとき、転送元アドレス、転送先アドレス、転送語数の途中経過が転送パラメータ記憶手段121に残っているので、DMAバスが再度プログラムBに割り当てられるとDMA転送を引き続いて実行することができる。
ここで、図8のタイミングチャートにおいては、図の最下段に示すように、バス占有可能時間を論理プロセッサ毎のDMA転送用タイムスロットとして強制的に与える場合を示している。しかしながら、この方法では、ある論理プロセッサに係るすべてのDMA転送がバス占有可能時間値に達する前に終了した場合に、与えられたDMA転送用タイムスロットに空き時間が発生することになる。そのため、論理プロセッサ毎にDMA転送用タイムスロットを機械的に与える方式では、DMAバスの稼働率を最高にすることができず、達成可能なリアルタイム性能が低くなる恐れがある。
そこで、本発明においては、ある論理プロセッサに係るすべてのDMA転送がバス占有可能時間値に達する前に終了した場合に、次の論理プロセッサに係るDMA転送を直ちに開始させるように制御する。ここで論理プロセッサの順序は番号順かつ巡回的とする。また、DMA転送パラメータが格納されていない論理プロセッサに係るDMA転送処理は、すべてスキップするように制御する。このようにすることで、DMAバスの稼働率を限界まで上げることができる。
これらの制御機能により、プログラムBのDMA転送が中断された、もしくは終了した時点で、転送パラメータ記憶手段121にプログラムCの転送パラメータが格納されていることが確認された場合は、制御手段123はデータ転送実行手段122にプログラムCのDMA転送を開始させる。
しかし、プログラムBのDMA転送が中断された時点で、まだプログラムCの転送パラメータが格納されていない場合は、制御手段123は次の転送パラメータに基づきDMA転送を開始しようとするが、他に転送パラメータが設定されていないので再びプログラムBのDMA転送を開始させる。図9は、この場合のDMA転送の中断と再開が繰り返される動作例を示すタイミングチャートである。
このように、転送パラメータ記憶手段121に予約格納された転送パラメータを制御手段123が巡回的にチェックし、転送語数が0でない次のDMA転送をデータ転送実行手段122に開始させるため、バス占有経過時間がバス占有可能時間に達してDMA転送が中断された場合に、プログラムを介することなく次のDMA転送を直ちに開始することができる。
さらに、本実施の形態のDMA転送制御装置において、時間計測手段1231を用いてバス占有経過時間を計測する方法と同等の時間監視方法として、バス転送データ数を計測する方法を採用することもできる。この場合は、転送パラメータ記憶手段121にはバス占有可能時間値に代えてバス占有可能転送データ数を格納し、時間計測手段1231はDMA転送におけるバス転送データ数を計測し、これがバス占有可能転送データ数に達した場合に実行中のDMA転送を中断させ、次のDMA転送を開始させるようにする。
なお上記説明では、転送パラメータ記憶手段121に予約格納された転送パラメータにおいて、転送語数をチェックすることにより実際のDMA転送要求の有無を判定しているが、これに代えて、転送パラメータの一部、例えば転送方式にDMA転送要求有効フラグを設けるようにしてもよい。これは以下に説明する他の実施の形態においても同様である。
以上のように、本実施の形態のDMA転送制御装置では、プログラム毎にDMAバス占有時間、あるいはこれと同等なバス占有可能転送データ数を割り当てて制御することにより、一括したスケジューリングを行う。これにより、個々のプログラム(A、B、C)において、DMA転送のスケジューリングを考慮する必要がなくなる。また、リアルタイム処理が必要なプログラム(C)に対して、充分なバス占有時間を割り当てることにより、リアルタイム処理におけるシステム破綻を回避することが可能となる。
(実施の形態2)
前述した実施の形態1においては、DMA転送制御装置がプログラムを介することなく、転送パラメータ記憶手段に予約格納された転送パラメータに基づき巡回的にDMA転送を開始することができたが、DMA転送を終了し転送語数=0となった転送パラメータは効力を失い、プロセッサに割込むことで新しい転送パラメータを受け取る必要がある。
例えば、図8に示すタイミングチャートにおいて、内部メモリ15から周辺回路5へのDMA転送終了後は、プロセッサへ割込み、外部メモリから内部メモリ15へのDMA転送要求を予約する必要がある。本実施の形態においては、図1に示すDMA転送制御装置において、1つの論理プロセッサが複数のDMA転送要求を予約することにより、関連する一連のDMA転送をプロセッサへ割込まずに実行することを可能にする。
図10は、本発明の実施の形態2に係るDMA転送制御装置において、転送パラメータ記憶手段に格納された転送パラメータの配列例を示すメモリマップである。この例においては、1つの論理プロセッサ1について6組の転送パラメータがキューイング可能である。転送パラメータのキューに基づくDMA転送は一連のものとして連続して実行されるため、バス占有可能時間は6組の転送パラメータに対して1つ与えられている。
転送パラメータのキューはFIFO構造をとり、例えば、制御手段123には各論理プロセッサ毎にキュートップとキューボトムのポインタを設け、転送パラメータの積み込み時にキュートップを更新し、DMA転送の終了時にキューボトムを更新するように管理する。
図11は、本実施の形態のDMA転送制御装置の動作例を示すタイミングチャートである。この例では、図2の構成例のシステムにおいて、3つの異なるプログラムA、B、Cが、それぞれ論理プロセッサ0、1、2に割り当てられ、それぞれの転送パラメータが転送パラメータ記憶手段121に格納されている。
プログラムAはDMA転送を行わず、プログラムBは比較的短いバス占有可能時間が与えられている。リアルタイム性が要求されるプログラムCでは、内部メモリ14/15から周辺回路5へのDMA転送と、外部メモリから内部メモリ14/15へのDMA転送とを連続して実行できるように、2組の転送パラメータが論理プロセッサ2について設定され、2つのDMA転送に必要なバス占有可能時間が与えられている。
論理プロセッサ2の転送パラメータをこのようにキューイングすることにより、内部メモリ14/15から周辺回路5へのDMA転送と、外部メモリから内部メモリ14/15へのDMA転送との間の、DMA転送終了割込みとDMA転送起動にかかるオーバヘッドがなくなり、DMA転送効率を向上させることができる。
上述のプログラムCではリアルタイム性が要求されたが、アプリケーションによっては事象の発生に対する即時応答性が要求されるものがある。この場合は、発生した事象に対応して用意される転送パラメータのDMA転送を最優先で実行する必要がある。そのため、通常の転送パラメータのキューより優先度の高い転送パラメータを、その論理プロセッサの緊急キューとしてキューイング可能な機構を設ける必要がある。
図12は、本実施の形態において、このような緊急キューのキューイングを可能にする転送パラメータの配列例を示すメモリマップである。図12においては、論理プロセッサの通常キューの先頭にある転送パラメータの前に緊急キューの転送パラメータがキューイング可能である。このように緊急キューをキューイング機構を設けることにより、発生した事象に対応するDMA転送を最優先で実行することができる。
一方、本実施の形態による転送パラメータのキューイングを無制限に行うと、転送パラメータ数が所定の最大転送パラメータ数を超えてしまう可能性がある。そのため、最大転送パラメータ数を超えて転送パラメータのキューイングが行われようとしたことを検知し、これをエラーとしてプロセッサに通知するようにする。また、緊急キューがキューイングされた状態で、さらに緊急キューがキューイングされようとした場合にも、これを検知しエラーとしてプロセッサに通知するようにする。
図13は、本発明の実施の形態2に係るDMA転送制御装置の構成を示すブロック図であり、上述したような転送パラメータのキューイングにおける異常を検知し、割込みによりプロセッサに通知する機能を備えている。
図13のDMA転送制御装置12aにおいては、図1のDMA転送制御装置12に対して、プロセッサ11に対する割込みとして、前述した通常キューの異常の通知、および緊急キューの異常の通知が追加され、これに係る制御機能が制御手段123aに追加されている。このような機能を備えることにより、すでにキューイングされた転送パラメータの破壊など、意図しない動作を防止することができる。
(実施の形態3)
本実施の形態においてはDMA転送要求の削除を可能にする。これにより、アプリケーションが途中で無効になった場合や、転送データ数が途中で変更された場合への対応が可能となる。また、DMA要求の投機的実行が可能となり、アプリケーション作成上の自由度が増す。以下、図1または図13に示したDMA転送制御装置により本実施の形態を説明する。
アプリケーションが途中で無効になった場合は、DMA転送要求を論理プロセッサ毎に削除する方法を取ることができる。この場合は、該当する論理プロセッサに対応する転送パラメータを無効にするようにプロセッサから書き換える。これは例えば、転送語数を0に設定するか、あるいは有効フラグを設けている場合は、それを無効に設定することにより達成される。
また、実施の形態2のように1つの論理プロセッサにキューイングされた複数のDMA転送要求を全て削除する場合は、制御手段123において該当する論理プロセッサのキュートップとキューボトムのポインタを初期状態に戻すことで達成される。しかし、複数のDMA転送要求を全て削除するのではなく個別に削除する場合は、キュー構造を維持するための処理が必要である。
図14は、本発明の実施の形態3に係るDMA転送制御装置において、転送パラメータ記憶手段に格納された転送パラメータの配列例を示すメモリマップである。この例においては、1つの論理プロセッサ1について6組の転送パラメータがキューイング可能で、この6組の転送パラメータ全体に対して、バス占有可能時間とキュー管理情報が与えられている。
キュー管理情報はキューに置かれた各転送パラメータの格納位置とその有効性を示す有効フラグとからなる。キュー構造はキュー管理情報により管理される。キュー管理情報は6つの部分に区分けされ、右端の部分がキュートップとなる。転送パラメータの格納位置はキュー領域内の順番号で示され、転送パラメータは任意の位置に格納することができる。この格納位置は転送パラメータの登録時に決定され、転送パラメータを有効化する積み込み時に有効フラグが有効に更新される。
DMA転送終了時およびDMA転送要求を個別に削除する場合は、キュー管理情報より当該のキュー情報を取り去ると共に、当該キューよりもボトム側のキュー情報をキュートップ側にシフトさせて詰める。これにより転送パラメータの格納位置に1つ空きができるが、この格納位置には、プロセッサから個別に新たな転送パラメータのキューイングを行うことができる。すなわち、新たな転送パラメータを登録し、キュー管理情報の有効フラグを有効に更新(積み込み)することができる。
DMA転送時およびDMA転送終了時における、キュー管理情報とキュー領域内の転送パラメータの状態例を図23に示す。また、DMA転送要求を個別に削除する場合の削除前および削除後における、キュー管理情報とキュー領域内の転送パラメータの状態例を図24に示す。
このように、各転送パラメータを管理するキュー管理情報を設けることにより、キュー管理情報を更新するだけでDMA転送の終了時やキューの削除時に転送パラメータを個別に無効化することができる。その結果、転送パラメータ自体を書き換えることなくキューの途中にあるDMA転送要求を削除することが可能となり、また、複数のDMA転送要求を削除することも容易になる。
図15は、本実施の形態において、転送パラメータ記憶手段121に格納された転送パラメータに緊急キューがキューイングされた場合の配列例を示すメモリマップである。この場合も、キュー管理情報に緊急キューの管理情報を含めることにより、上述した方法と同様の処理を行うことができる。
(実施の形態4)
本実施の形態においてはDMA転送要求の保留を可能にする。これにより、アプリケーションが中断され、また再開される場合に、DMA転送の途中における転送パラメータの退避、削除、復帰の各処理が不要となり、保留と復帰の切り替えを高速化することができる。以下、図1または図13に示したDMA転送制御装置により本実施の形態を説明する。
アプリケーションを途中で中断する場合は、論理プロセッサ毎にDMA転送要求を保留する方法を取る。この場合は、プロセッサから制御手段123に論理プロセッサ毎の保留情報を設定し、制御手段123は保留情報が設定された論理プロセッサに対応するDMA転送要求を実行しないように制御する。
また、実施の形態2のように1つの論理プロセッサにキューイングされた複数のDMA転送要求を個別に保留する場合は、キュー管理情報にDMA転送要求毎の保留フラグを設ける方法を取る。図16は、本実施の形態において、キュー管理情報にDMA転送要求毎の保留フラグを設けた場合のキュー管理情報の構成例を示す図である。
論理プロセッサ毎にDMA転送要求が保留された場合、あるいは論理プロセッサのDMA転送要求がすべて保留された場合は、当該論理プロセッサに与えられたバス占有可能時間によらず、DMAバス占有がスキップされる。これにより、DMA転送要求が保留された論理プロセッサに係るDMA転送のバス占有時間終了待ちを無くし、バス使用効率を上げることができる。
さらに、キューイングしたDMA転送要求の実行をすべて保留する機能を設けることができる。プロセッサから制御手段123に対して全保留コマンドを実行することにより全保留状態に遷移させ、解除コマンドを実行することにより全保留状態から脱出するように制御する。デバッグ時などでDMA転送が実行されると不都合な場合に、この機能を使用して全てのDMA転送の実行を保留させることができる。
(実施の形態5)
本実施の形態においては特定のDMA転送を繰り返し実行する機構を実現する。これにより、アプリケーションにおいて繰り返し実行されるDMA転送に関し、DMA転送終了割込みから次のDMA起動にかかるオーバヘッドを無くし、DMA転送効率を向上させることができる。以下、図1または図13に示したDMA転送制御装置により本実施の形態を説明する。
この機構を実現するために、繰り返し実行するDMA転送については転送パラメータ記憶手段121においてキューイングされた転送パラメータ登録時の設定値を保持し、制御手段123がこの転送パラメータを繰り返し復元(キューイング)するように制御する。
図17は、本発明の実施の形態5に係るDMA転送制御装置において、転送パラメータ記憶手段に格納された転送パラメータの配列例を示すメモリマップである。この例においては実施の形態2と同様に、1つの論理プロセッサ1について6組の転送パラメータがキューイング可能で、この6組の転送パラメータ全体に対してバス占有可能時間が与えられている。
さらに、各転送パラメータにおいて、転送元開始アドレス、転送先開始アドレス、転送語数については、DMA転送の実行時に随時更新される現在値に加えて、転送パラメータを初期値に復元するための転送パラメータ登録時の設定値を保持している。また、制御フラグとして繰り返し実行フラグを設けている。
論理プロセッサ毎にDMA転送を繰り返し実行する場合は、設定された一連の転送パラメータによるDMA転送終了後、これら一連の転送パラメータを再度初期値に復元する。また、DMA転送要求を個別に繰り返し実行する場合は、繰り返し実行フラグが設定されている転送パラメータのDMA転送終了後、転送パラメータを初期値に復元し、このDMA転送を再度開始させる。
このように、論理プロセッサ毎あるいは個別のDMA転送要求毎に自動的にDMA転送を繰り返し実行することにより、DMA転送終了割込みから次のDMA起動にかかるオーバヘッドを無くし、DMA転送効率を向上させることができる。
(実施の形態6)
本実施の形態においてはDMA転送の時分割処理を一時的に禁止することができる機構を実現する。これにより、緊急性の高いアプリケーションが起動されDMA転送要求を行った場合に、一時的にDMA転送の時分割処理を禁止し、緊急性の高いDMA転送を優先して処理した後に通常動作に戻すことができる。以下、図1または図13に示したDMA転送制御装置により本実施の形態を説明する。
DMA転送の時分割処理の禁止と解除は、プロセッサから制御手段123に対して所定のコマンドを実行することで処理される。論理プロセッサ毎にDMA転送の時分割禁止を行う方法としては、バス占有可能時間が特定の値、例えば最大値あるいは0などの値に設定された場合に時分割禁止とみなす方法、あるいは、バス占有可能時間に付随して時分割禁止フラグを設ける方法などがある。また、個別のDMA転送要求毎の時分割禁止は、図17に示すように転送パラメータの一部に時分割禁止フラグを設けることにより実現される。
時分割処理が禁止されたDMA転送においては、論理プロセッサ毎に設定されたバス占有可能時間値あるいはバス占有可能転送データ数に拘らず、時間計測手段1231によるバス占有時間監視機能が抑止され、実行中のDMA転送は中断されず終了するまで実行される。
このように、DMA転送の時分割処理の禁止と解除を行う機構を設けることにより、緊急性の高いアプリケーションに伴うDMA転送要求が時分割処理されては不都合な場合に、これを優先させて1回で処理することができる。
(実施の形態7)
図18は本発明の実施の形態7に係るDMA転送制御装置の構成を示すブロック図である。図18のDMA転送制御装置12cにおいては、図1のDMA転送制御装置12に対して、データ伝送実行手段122の内部に転送パラメータ一時記憶手段1221が設けられ、これに対応する制御機能が制御手段123cに追加されている。
転送パラメータ一時記憶手段1221にはDMA転送の実行開始時に制御手段123cにより転送パラメータ記憶手段121から転送パラメータがコピーされ、データ伝送実行手段122においてDMA転送の実行時のアドレス計算用として使用される。これにより、データ伝送実行手段122はDMA転送が中断あるいは終了するまで転送パラメータ記憶手段121に対してアクセスを行わない。
このように構成することで、DMA転送の実行時のアドレス計算を行う度に転送パラメータ記憶手段121に格納された転送パラメータを参照する必要が無くなるため、メモリアクセスに係る消費電力を節約することができる。また、プロセッサからの転送パラメータのキューイングとアクセスが競合することが無く、特に、転送パラメータ記憶手段121が1ポートメモリで構成されている場合にプロセッサ側の待ち時間が少なくなりプロセッサ実行効率が向上する。
(実施の形態8)
図19は本発明の実施の形態8に係るDMA転送制御装置の構成を示すブロック図である。図19のDMA転送制御装置12bにおいては、図1のDMA転送制御装置12に対して、キューイングの際にバッファとして用いるための転送パラメータ一時格納手段124が設けられ、これに対応する制御機能が制御手段123bに追加されている。
図20は転送パラメータ一時格納手段124の構成例を示すブロック図である。転送パラメータ一時格納手段124は1組の転送パラメータを一時格納することができる。転送パラメータのキューイングの際は、転送パラメータを構成する各パラメータ値を転送パラメータ一時格納手段124に設定した後、開始フラグをセットし、キュー管理情報を更新し、この1組の転送パラメータを転送パラメータ記憶手段121へ転送する。
転送パラメータ一時格納手段124から転送パラメータ記憶手段121への転送パラメータの転送中は、プロセッサから制御手段123bへのキューイングのアクセスを待たせる。このようにすることで、転送パラメータ記憶手段121への転送パラメータの格納中に転送パラメータ一時格納手段124にバッファされたパラメータ値が変化し意図しない動作を引き起こすことを防いでいる。
(実施の形態9)
図21は本発明の実施の形態9に係るDMA転送制御装置の構成を示すブロック図である。図21のDMA転送制御装置12eにおいては、図1のDMA転送制御装置12に対して、実施の形態7における転送パラメータ一時記憶手段1221および実施の形態8における転送パラメータ一時格納手段124が設けられるとともに、新たに記憶補助手段125が設けられ、これに対応する制御機能が制御手段123eに追加されている。
記憶補助手段125には、転送パラメータがキューイングされているか否かを論理プロセッサ毎に示すキューアクティブフラグを格納する。制御手段123eは記憶補助手段125の各論理プロセッサに対応するキューアクティブフラグを巡回的にチェックすることにより、論理プロセッサ毎のDMA転送要求の有無を判断する。
キューアクティブフラグは、該当する論理プロセッサについて、キューイングされたいずれかの転送パラメータが有効化されたときにセットされ、すべてのDMA転送の終了時にリセットされる。また、キューアクティブフラグの更新中は、プロセッサから制御手段123eへのキューイングのアクセスを待たせるように制御する。
これにより、各論理プロセッサについてのDMA転送終了後、次の論理プロセッサにおけるDMA転送要求の有無を判断することができ、DMA転送要求が無い場合は、転送パラメータ記憶手段121をアクセスする必要が無いため処理を高速化でき、併せて消費電力を削減することができる。また、キューアクティブフラグを設けて上記のように使用することでDMA転送制御装置に起動時にキュー管理情報を初期化する必要が無くなるため、特に転送パラメータ記憶手段121がメモリで構成されている場合には有効である。
図22は本実施の形態において、記憶補助手段125をプロセッサ内部バスに接続する経路を設けた構成例を示すブロック図である。これにより、キューアクティブフラグをDMA転送制御装置の外部から直接アクセスすることを可能にしている。
例えば、プロセッサが不正な状態に陥った場合にプロセッサの動作を停止させてデバッグモードに入ることがあるが、このような場合に、キューアクティブフラグを外部から直接アクセス可能にすることにより、有力な解析手段を提供することができる。
また、デバッグモードにおいてキューアクティブフラグやキュー管理情報が不正に操作され、その後、デバッグモードから通常動作に復帰した場合には、キューアクティブフラグの状態とキュー管理情報との間で矛盾が生じ、プロセッサが不正な状態に陥ることが起こり得る。そのような場合に備えて、両者に矛盾が生じた場合は、キュー管理情報に従ってキューアクティブフラグの状態を補正する機能を備えることも有用である。
本発明にかかるDMA転送制御装置は、論理プロセッサ毎のバス占有経過時間をバス占有可能時間値に制限することにより、リアルタイム処理におけるDMA転送の時間管理が可能になり、システム破綻を回避することができ、処理のリアルタイム性を確実に保障することができるという効果を有し、DMA転送の時間管理を可能にするDMA転送制御装置等として有用である。
本発明の実施の形態1に係るDMA転送制御装置の構成を示すブロック図。 従来のDMAコントローラを搭載したシステムの構成例を示すブロック図。 時分割で実行されるプログラムにおける従来のDMA転送制御装置の動作を示すタイミングチャート。 特定のプログラムがDMAバスを長時間占有した場合の従来のDMA転送制御装置の動作を示すタイミングチャート。 複数のDMA転送を予約実行する機能を備えた従来のDMA転送制御装置の動作を示すタイミングチャート。 複数のDMA転送を予約実行する機能を備えてもリアルタイム処理が破綻する場合の従来のDMA転送制御装置の動作を示すタイミングチャート。 本発明の実施の形態1における転送パラメータ記憶手段に格納される転送パラメータの配列例を示すメモリマップ。 本発明の実施の形態1に係るDMA転送制御装置の動作例を示すタイミングチャート。 本発明の実施の形態1に係るDMA転送制御装置においてDMA転送の中断と再開が繰り返される動作例を示すタイミングチャート。 本発明の実施の形態2における転送パラメータ記憶手段に格納された転送パラメータの配列例を示すメモリマップ。 本発明の実施の形態2に係るDMA転送制御装置の動作例を示すタイミングチャート。 本発明の実施の形態2における緊急キューのキューイングを可能にする転送パラメータの配列例を示すメモリマップ。 本発明の実施の形態2に係るDMA転送制御装置の構成を示すブロック図。 本発明の実施の形態3における転送パラメータ記憶手段に格納された転送パラメータの配列例を示すメモリマップ。 本発明の実施の形態3における緊急キューがキューイングされた場合の転送パラメータの配列例を示すメモリマップ。 本発明の実施の形態4におけるDMA転送要求毎の保留フラグを設けたキュー管理情報の構成例を示す図。 本発明の実施の形態5における転送パラメータ記憶手段に格納された転送パラメータの配列例を示すメモリマップ。 本発明の実施の形態7に係るDMA転送制御装置の構成を示すブロック図。 本発明の実施の形態8に係るDMA転送制御装置の構成を示すブロック図。 本発明の実施の形態8における転送パラメータ一時格納手段124の構成例を示すブロック図。 本発明の実施の形態9に係るDMA転送制御装置の構成を示すブロック図。 本発明の実施の形態9におけるキューアクティブフラグを外部から直接アクセス可能にする経路を設けた構成例を示すブロック図。 本発明の実施の形態3における転送パラメータの状態を示す図。 本発明の実施の形態3における転送パラメータの状態を示す図。
符号の説明
1 マイクロプロセッサユニット
2 外部DMAコントローラ
3 周辺回路
4 外部メモリ
5 周辺回路
11 プロセッサ
12、12a、12b、12c、12e DMA転送制御装置
13 外部DMAバスインターフェイス
14、15、16 内部メモリ
121 転送パラメータ記憶手段
122 データ転送実行手段
123、123a、123b、123c、123e 制御手段
124 転送パラメータ一時格納手段
125 記憶補助手段
1221 転送パラメータ一時記憶手段
1231 時間計測手段

Claims (29)

  1. 主プロセッサで実行される複数の論理プロセッサ毎にバス占有可能時間値および1組または複数組のDMA転送の転送パラメータを格納する転送パラメータ記憶手段と、前記転送パラメータに基づきDMA転送を実行するデータ転送実行手段と、前記転送パラメータの授受ならびにDMA転送の開始および中断を制御する制御手段と、前記論理プロセッサ毎に最初のDMA転送が開始されるとバス占有経過時間の計測を開始する時間計測手段とを備え、
    前記バス占有経過時間が前記バス占有可能時間値に達した場合に、前記制御手段は実行中のDMA転送を中断させ、所定順の論理プロセッサに係る転送パラメータに基づくDMA転送を開始させるDMA転送制御装置。
  2. 前記バス占有経過時間が前記バス占有可能時間値に達する前に、ある論理プロセッサに係るすべてのDMA転送が終了した場合に、前記制御手段は所定順の論理プロセッサに係る転送パラメータに基づくDMA転送を開始させる請求項1記載のDMA転送制御装置。
  3. 主プロセッサで実行される複数の論理プロセッサ毎にバス占有可能転送データ数および1組または複数組のDMA転送の転送パラメータを格納する転送パラメータ記憶手段と、前記転送パラメータに基づきDMA転送を実行するデータ転送実行手段と、前記転送パラメータの授受ならびにDMA転送の開始および中断を制御する制御手段と、前記論理プロセッサ毎に最初のDMA転送が開始されるとバス占有可能転送データ数の計測を開始する時間計測手段とを備え、
    前記バス占有可能転送データ数が前記バス転送データ数が前記バス占有可能転送データ数に達した場合に、前記制御手段は実行中のDMA転送を中断させ、所定順の論理プロセッサに係る転送パラメータに基づくDMA転送を開始させるDMA転送制御装置。
  4. 前記バス転送データ数が前記バス占有可能転送データ数に達する前に、ある論理プロセッサに係るすべてのDMA転送が終了した場合に、前記制御手段は所定順の論理プロセッサに係る転送パラメータに基づくDMA転送を開始させる請求項3記載のDMA転送制御装置。
  5. 前記所定順は巡回的とし、DMA転送要求が無い論理プロセッサに係るDMA転送処理はすべてスキップされる請求項1から4のいずれか一項記載のDMA転送制御装置。
  6. 前記転送パラメータ記憶手段において、論理プロセッサ毎の前記複数組の転送パラメータはFIFO構造にキューイングされる請求項1から5のいずれか一項記載のDMA転送制御装置。
  7. 前記転送パラメータのキューイングが所定の最大転送パラメータ数を超えて行われようとした場合に、前記制御手段は前記主プロセッサにエラー発生を通知する請求項6記載のDMA転送制御装置。
  8. 前記転送パラメータの先頭キューの前に緊急キューとして1組の転送パラメータをキューイングすることが可能な請求項6または7記載のDMA転送制御装置。
  9. 前記緊急キューがキューイングされた状態で、さらに前記緊急キューのキューイングが行われようとした場合に、前記制御手段は前記主プロセッサにエラー発生を通知する請求項8記載のDMA転送制御装置。
  10. 前記転送パラメータを論理プロセッサ毎に無効にする機構を備える請求項1から9のいずれか一項記載のDMA転送制御装置。
  11. 前記転送パラメータを個別に無効にする機構を備える請求項1から9のいずれか一項記載のDMA転送制御装置。
  12. キューイングされた前記転送パラメータに関するキュー管理情報を論理プロセッサ毎に前記転送パラメータ記憶手段に格納し、前記キュー管理情報は少なくとも個別の転送パラメータの有効/無効情報を含む請求項6から9のいずれか1項記載のDMA転送制御装置。
  13. 前記転送パラメータに基づくDMA転送の実行を論理プロセッサ毎に保留する機構を備える請求項1から9のいずれか一項記載のDMA転送制御装置。
  14. 前記転送パラメータに基づくDMA転送の実行を個別に保留する機構を備える請求項1から9のいずれか一項記載のDMA転送制御装置。
  15. 前記転送パラメータに基づくDMA転送の実行をすべて保留する機構を備える請求項1から9のいずれか一項記載のDMA転送制御装置。
  16. 実行が保留されたDMA転送については、DMA転送に係るすべての処理がスキップされる請求項13から15のいずれか一項記載のDMA転送制御装置。
  17. キューイングされた前記転送パラメータに関するキュー管理情報を論理プロセッサ毎に前記転送パラメータ記憶手段に格納し、前記キュー管理情報は少なくとも個別の転送パラメータの保留情報を含む請求項6から9のいずれか一項記載のDMA転送制御装置。
  18. 論理プロセッサに係る一連のDMA転送の実行終了時に転送パラメータをDMA転送の実行開始時の値に復元し、該転送パラメータに基づくDMA転送の実行を繰り返す機構を備える請求項1から9のいずれか一項記載のDMA転送制御装置。
  19. 個別のDMA転送の実行終了時に該DMA転送の転送パラメータをDMA転送の実行開始時の値に復元し、該転送パラメータに基づくDMA転送の実行を繰り返す機構を備える請求項1から9のいずれか一項記載のDMA転送制御装置。
  20. 前記バス占有可能時間値あるいは前記バス占有可能転送データ数に拘らず、論理プロセッサ毎にDMA転送の中断を禁止する機構を備える請求項1から9のいずれか一項記載のDMA転送制御装置。
  21. 前記バス占有可能時間値あるいは前記バス占有可能転送データ数に拘らず、個別にDMA転送の中断を禁止する機構を備える請求項1から9のいずれか一項記載のDMA転送制御装置。
  22. 前記データ転送実行手段に1組の転送パラメータを保持する転送パラメータ一時記憶手段を備え、前記データ転送実行手段は前記転送パラメータ一時記憶手段に保持された転送パラメータを使用してDMA転送を行う請求項1から21のいずれか一項記載のDMA転送制御装置。
  23. 前記転送パラメータのキューイングの際に1組の転送パラメータのバッファとして用いる転送パラメータ一時格納手段を備え、前記制御手段は、前記転送パラメータ一時格納手段に格納された転送パラメータを用いてキューイングされる転送パラメータに関するキュー管理情報を論理プロセッサ毎に生成し、前記転送パラメータおよび前記キュー管理情報を前記転送パラメータ記憶手段に格納する請求項6から9のいずれか一項記載のDMA転送制御装置。
  24. 前記転送パラメータのキューイングの際に、前記転送パラメータ一時格納手段から前記転送パラメータ記憶手段への転送パラメータの転送中は、前記主プロセッサからのキューイングのアクセスを待たせる請求項23記載のDMA転送制御装置。
  25. 論理プロセッサ毎に前記転送パラメータがキューイングされているか否かを示すキューアクティブフラグを備え、前記制御手段は前記キューアクティブフラグを巡回的にチェックして論理プロセッサ毎のDMA転送要求の有無を判断する請求項6から9のいずれか一項記載のDMA転送制御装置。
  26. 前記キューアクティブフラグは論理プロセッサに係るいずれかの転送パラメータが有効化されたときにセットされ、該論理プロセッサに係るすべてのDMA転送の終了時にリセットされる請求項25記載のDMA転送制御装置。
  27. 前記キューアクティブフラグのいずれかをリセットするときは、該リセットされるキューアクティブフラグのセット要求を待たせる請求項26記載のDMA転送制御装置。
  28. 前記キューアクティブフラグをDMA転送制御装置の外部から直接アクセスすることが可能な経路を有する請求項25記載のDMA転送制御装置。
  29. 前記キューアクティブフラグの状態と前記キュー管理情報との間で矛盾が生じた場合に、前記キュー管理情報に従って前記キューアクティブフラグの状態を補正する請求項25記載のDMA転送制御装置。
JP2003285080A 2003-08-01 2003-08-01 Dma転送制御装置 Pending JP2005056067A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003285080A JP2005056067A (ja) 2003-08-01 2003-08-01 Dma転送制御装置
EP04017988A EP1503292B1 (en) 2003-08-01 2004-07-29 DMA controller with bus occupation time limitation and sets of DMA parameters for a plurality of logical processors
DE602004012492T DE602004012492T2 (de) 2003-08-01 2004-07-29 DMA-Steuerung mit Busbesetzungszeit-Beschränkung sowie DMA-Parametersätze für mehrere logische Prozessoren
US10/901,294 US7305499B2 (en) 2003-08-01 2004-07-29 DMA controller for controlling and measuring the bus occupation time value for a plurality of DMA transfers
CNB2004100851433A CN100388253C (zh) 2003-08-01 2004-08-02 直接存储器存取传输控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003285080A JP2005056067A (ja) 2003-08-01 2003-08-01 Dma転送制御装置

Publications (1)

Publication Number Publication Date
JP2005056067A true JP2005056067A (ja) 2005-03-03

Family

ID=33535731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003285080A Pending JP2005056067A (ja) 2003-08-01 2003-08-01 Dma転送制御装置

Country Status (5)

Country Link
US (1) US7305499B2 (ja)
EP (1) EP1503292B1 (ja)
JP (1) JP2005056067A (ja)
CN (1) CN100388253C (ja)
DE (1) DE602004012492T2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2306325A1 (en) 2009-09-11 2011-04-06 Renesas Electronics Corporation Data processing circuit
WO2012014400A1 (ja) * 2010-07-27 2012-02-02 パナソニック株式会社 データ転送制御装置及びデータ転送制御方法
JP2012150663A (ja) * 2011-01-19 2012-08-09 Fujitsu Semiconductor Ltd データ転送装置及びデータ転送方法
JP2013148956A (ja) * 2012-01-17 2013-08-01 Toyota Motor Corp 情報処理装置およびdmaコントローラの動作確認方法
JP2014010759A (ja) * 2012-07-02 2014-01-20 Toshiba Corp ブリッジ装置およびその方法、ストレージ装置、ならびにプログラム
JP2014504749A (ja) * 2011-06-24 2014-02-24 株式会社日立製作所 ストレージシステム
JP2015212969A (ja) * 2015-07-09 2015-11-26 トヨタ自動車株式会社 情報処理装置およびdmaコントローラの動作確認方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079036B2 (en) * 2004-11-10 2011-12-13 Microsoft Corporation Method and system for structured DMA transactions
US7734832B2 (en) * 2004-11-10 2010-06-08 Microsoft Corporation Method and system for structured programmed input/output transactions
JP2006157580A (ja) * 2004-11-30 2006-06-15 Ricoh Co Ltd 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体
JP2006178787A (ja) * 2004-12-22 2006-07-06 Toshiba Corp 半導体装置とそのデータ転送方法
CN100369024C (zh) * 2005-01-17 2008-02-13 北京中星微电子有限公司 直接存储访问控制装置和图像处理***以及传输方法
US7546391B2 (en) * 2005-05-13 2009-06-09 Texas Instruments Incorporated Direct memory access channel controller with quick channels, event queue and active channel memory protection
US7555577B2 (en) * 2005-05-13 2009-06-30 Texas Instruments Incorporated Data transfer apparatus with channel controller and transfer controller capable of slave and standalone operation
JP2006338353A (ja) * 2005-06-02 2006-12-14 Sony Corp 情報処理装置および情報処理方法、並びにプログラム
US7930444B2 (en) 2005-06-30 2011-04-19 Freescale Semiconductor, Inc. Device and method for controlling multiple DMA tasks
CN101218569B (zh) 2005-06-30 2011-07-13 飞思卡尔半导体公司 用于控制dma任务的执行的装置
CN101218570B (zh) 2005-06-30 2010-05-26 飞思卡尔半导体公司 在直接存储器存取任务请求之间进行仲裁的装置和方法
JP2008216472A (ja) * 2007-03-01 2008-09-18 Matsushita Electric Ind Co Ltd 音声復号化装置及び音声復号化システム
WO2009028144A1 (ja) * 2007-08-30 2009-03-05 Panasonic Corporation Dma制御装置およびデータ転送方法
US20090063725A1 (en) * 2007-08-31 2009-03-05 O2Micro Inc. Direct memory access system
US8266337B2 (en) * 2007-12-06 2012-09-11 International Business Machines Corporation Dynamic logical data channel assignment using channel bitmap
US8447897B2 (en) * 2011-06-24 2013-05-21 Freescale Semiconductor, Inc. Bandwidth control for a direct memory access unit within a data processing system
US9128925B2 (en) 2012-04-24 2015-09-08 Freescale Semiconductor, Inc. System and method for direct memory access buffer utilization by setting DMA controller with plurality of arbitration weights associated with different DMA engines
FR3057969B1 (fr) * 2016-10-25 2019-11-01 Thales Systeme de pilotage deterministe du fonctionnement de moyens de transfert de donnees par acces direct a des moyens de memorisation
CN114661644B (zh) * 2022-02-17 2024-04-09 之江实验室 辅助3d架构近存计算加速器***的预存储dma装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250305A (ja) 1992-03-06 1993-09-28 Mitsubishi Electric Corp データ転送制御方式
US5680556A (en) * 1993-11-12 1997-10-21 International Business Machines Corporation Computer system and method of operation thereof wherein a BIOS ROM can be selectively locatable on diffeent buses
JPH0830549A (ja) 1994-07-18 1996-02-02 Fuji Xerox Co Ltd バス制御装置
US5603050A (en) * 1995-03-03 1997-02-11 Compaq Computer Corporation Direct memory access controller having programmable timing
JPH09223102A (ja) 1995-12-14 1997-08-26 Ricoh Co Ltd ダイレクトメモリアクセスコントローラ
JP3712842B2 (ja) * 1997-08-05 2005-11-02 株式会社リコー データ転送制御方法、データ転送制御装置及び情報記録媒体
US6363445B1 (en) * 1998-10-15 2002-03-26 Micron Technology, Inc. Method of bus arbitration using requesting device bandwidth and priority ranking
JP2000132505A (ja) 1998-10-27 2000-05-12 Matsushita Electric Ind Co Ltd バスアクセス方法および装置とその利用装置およびシステム
JP3258300B2 (ja) 1999-09-03 2002-02-18 松下電器産業株式会社 Dma転送装置および画像復号装置
US6542940B1 (en) 1999-10-25 2003-04-01 Motorola, Inc. Method and apparatus for controlling task execution in a direct memory access controller
JP2002041445A (ja) 2000-05-19 2002-02-08 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ
DE60124484T2 (de) * 2000-09-29 2007-09-06 Ricoh Company, Ltd. Datenverarbeitungsvorrichtung und DMA-Datenübertragungsverfahren
JP2002163239A (ja) * 2000-11-22 2002-06-07 Toshiba Corp マルチプロセッサシステムおよびその制御方法
KR100367084B1 (ko) * 2000-12-22 2003-01-09 한국전자통신연구원 실시간 고속의 데이터 처리용 디엠에이 제어기 및 제어방법
KR100456696B1 (ko) * 2002-05-21 2004-11-10 삼성전자주식회사 집적회로장치의 버스중재기

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2306325A1 (en) 2009-09-11 2011-04-06 Renesas Electronics Corporation Data processing circuit
WO2012014400A1 (ja) * 2010-07-27 2012-02-02 パナソニック株式会社 データ転送制御装置及びデータ転送制御方法
US8996913B2 (en) 2010-07-27 2015-03-31 Panasonic Intellectual Property Management Co., Ltd. Data transfer control device and data transfer control method
JP5834182B2 (ja) * 2010-07-27 2015-12-16 パナソニックIpマネジメント株式会社 データ転送制御装置及びデータ転送制御方法
JP2012150663A (ja) * 2011-01-19 2012-08-09 Fujitsu Semiconductor Ltd データ転送装置及びデータ転送方法
JP2014504749A (ja) * 2011-06-24 2014-02-24 株式会社日立製作所 ストレージシステム
JP2013148956A (ja) * 2012-01-17 2013-08-01 Toyota Motor Corp 情報処理装置およびdmaコントローラの動作確認方法
JP2014010759A (ja) * 2012-07-02 2014-01-20 Toshiba Corp ブリッジ装置およびその方法、ストレージ装置、ならびにプログラム
US9122779B2 (en) 2012-07-02 2015-09-01 Kabushiki Kaisha Toshiba Bridge device with an error tolerant DMA transfer function
JP2015212969A (ja) * 2015-07-09 2015-11-26 トヨタ自動車株式会社 情報処理装置およびdmaコントローラの動作確認方法

Also Published As

Publication number Publication date
DE602004012492D1 (de) 2008-04-30
EP1503292A3 (en) 2005-03-23
US7305499B2 (en) 2007-12-04
EP1503292B1 (en) 2008-03-19
US20050050241A1 (en) 2005-03-03
EP1503292A2 (en) 2005-02-02
DE602004012492T2 (de) 2009-04-09
CN1591374A (zh) 2005-03-09
CN100388253C (zh) 2008-05-14

Similar Documents

Publication Publication Date Title
JP2005056067A (ja) Dma転送制御装置
US9075671B2 (en) Operating system and architecture for embedded system
JP3922070B2 (ja) 分散制御方法及び装置
US8584125B2 (en) Apparatuses, methods, and computer-readable media for interrupt control
US8161453B2 (en) Method and apparatus for implementing task management of computer operations
US8145820B2 (en) Multiprocessor system and computer program product
JP3889879B2 (ja) 仮想メモリ変換を制御する方法
JP2008065713A (ja) マルチプロセッサシステム及び割込み制御方法
JP2006127463A (ja) 情報処理装置、メモリ領域管理方法、並びにコンピュータ・プログラム
JP4523910B2 (ja) 並列処理装置及び並列処理方法及び並列処理プログラム
CN108958903B (zh) 嵌入式多核中央处理器任务调度方法与装置
JP2009175960A (ja) 仮想マルチプロセッサシステム
JP4017005B2 (ja) 演算装置
CN108958904B (zh) 嵌入式多核中央处理器的轻量级操作***的驱动程序框架
CN108958905B (zh) 嵌入式多核中央处理器的轻量级操作***
EP4390686A1 (en) Scheduling of duplicate threads
US11681527B2 (en) Electronic device and multiplexing method of spatial
JP2003186686A (ja) リソース制御装置、方法及び記憶媒体
JP2019040325A (ja) 電源管理装置,ノード電源管理方法およびノード電源管理プログラム
JP6940283B2 (ja) Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム
JP6358330B2 (ja) 情報処理装置、情報処理システム、メモリ管理方法およびメモリ管理プログラム
JP2001184326A (ja) マルチプロセッサスケジューリング方法およびマルチプロセッサスケジューリングを行う計算機システム
JPH0376497B2 (ja)
JPS60114941A (ja) マルチ・タスク制御用デバイス
JPH10177493A (ja) 図形処理システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070328