JP2004118300A - Dmaコントローラ - Google Patents

Dmaコントローラ Download PDF

Info

Publication number
JP2004118300A
JP2004118300A JP2002277298A JP2002277298A JP2004118300A JP 2004118300 A JP2004118300 A JP 2004118300A JP 2002277298 A JP2002277298 A JP 2002277298A JP 2002277298 A JP2002277298 A JP 2002277298A JP 2004118300 A JP2004118300 A JP 2004118300A
Authority
JP
Japan
Prior art keywords
register
transfer
dma
bit
dma 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
JP2002277298A
Other languages
English (en)
Inventor
Hirofumi Inada
稲田 洋文
Hiroshi Miura
三浦 弘
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.)
Rohm Co Ltd
Original Assignee
Rohm 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 Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to JP2002277298A priority Critical patent/JP2004118300A/ja
Priority to US10/668,359 priority patent/US20040093439A1/en
Publication of JP2004118300A publication Critical patent/JP2004118300A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】DMA転送の設定に割かれるCPUの処理時間を低減させることができるDMAコントローラを提供する。
【解決手段】設定用レジスタ(204〜208)と、動作用レジスタ(209〜214)と、DMA転送の転送条件を外部の記憶手段から設定用レジスタにDMA転送するための転送条件を記憶している設定実行用レジスタ(215〜219)と、設定用レジスタと設定実行用レジスタとを択一的に選択する選択手段(220〜224)と、選択手段によって選択されるレジスタがDMA転送が終了する毎に交互に切り替わるように制御する選択制御手段(201)と、DMA転送を開始するにあたって選択手段によって選択されているレジスタに記憶されているデータが動作用レジスタに書き込まれるように制御する動作用レジスタ制御手段(202)と、動作用レジスタに記憶されているデータに基づいてDMA転送を実行する転送実行手段(201)と、を備える。
【選択図】   図6

Description

【0001】
【発明の属する技術分野】
本発明は、CPU(中央処理装置)を介することなく周辺装置間で行われるデータ転送を制御するDMAコントローラに関するものである。
【0002】
【従来の技術】
DMAコントローラは、周辺装置からデータ転送の要求を受けると、システムバスの使用権を要求し、システムバスの使用権が認可されると、予め設定された転送元から転送先へのデータ転送を開始するようになっている。そして、DMAコントローラの制御によるデータ転送(以下、「DMA転送」と称する)では、CPUの制御によるデータ転送とは違って、命令のリード及び解読が必要ないので、データの転送速度を高速にすることが可能となる。
【0003】
従来のDMAコントローラでは、まず、CPUがDMA転送の転送条件(DMA転送を実行するために必要な転送元のアドレス、転送先のアドレス、転送するデータの量など)を適切な設定用レジスタに書き込み、その後、周辺装置からデータ転送の要求を受けると、設定用レジスタに書き込まれている内容に従ってDMA転送を実行するようになっていた。
【0004】
【特許文献1】
特開平7−306825号公報
【0005】
【発明が解決しようとする課題】
このため、DMA転送が実行中の場合、そのDMA転送が終了するまでの間、新たなDMA転送を設定することができなかった。したがって、CPUは、実行中のDMA転送が終了する毎に、DMA転送終了の割り込みを受け取り、次のDMA転送を設定する必要があった。この割り込み処理は、レジスタ退避などの処理が必要であるため、CPUに対する負荷が重くなり、システム全体のパフォーマンスを落とすという問題があった。
【0006】
そこで、本発明は、DMA転送の設定に割かれるCPUの処理時間、及び、CPUの負荷を低減させることができるようにしたDMAコントローラを提供することを目的とする。
【0007】
【課題を解決するための手段】
上記の目的を達成するため、本発明のDMAコントローラでは、
実行中のDMA転送の転送条件を記憶しておくための動作用レジスタと、
その次に実行するDMA転送の転送条件を記憶しておくための設定用レジスタと、
DMA転送の転送条件を他の記憶手段から前記設定用レジスタにDMA転送するための転送条件を記憶している設定実行用レジスタと、
前記設定用レジスタと前記設定実行用レジスタとを択一的に選択する選択手段と、
該選択手段によって選択されるレジスタがDMA転送が終了する毎に交互に切り替わるように制御する選択制御手段と、
DMA転送を開始するにあたって前記選択手段によって選択されているレジスタに記憶されているデータが前記動作用レジスタに書き込まれるように制御する動作用レジスタ制御手段と、
前記動作用レジスタに記憶されているデータに基づいてDMA転送を実行する転送実行手段と、
を備えている。
【0008】
このように、従来の設定用レジスタを2重化することにより、DMA転送の転送条件を他の記憶手段からDMAコントローラにDMA転送するという動作と、他の記憶手段からDMAコントローラにDMA転送されたDMA転送の転送条件に基づいてDMA転送を行うという動作とが交互に行われるので、CPUは、他の記憶手段にDMA転送の転送条件を書き込むことによってDMA転送の設定を行うことができるようになる。
【0009】
【発明の実施の形態】
以下に、本発明の実施形態を図面を参照しながら説明する。本発明の第1実施形態であるDMAコントローラのブロック図を図1に示す。第1実施形態のDMAコントローラでは、DMA転送の転送条件である、転送元先頭アドレス、転送先先頭アドレス、転送量のそれぞれに対して、動作用レジスタ、設定用レジスタ、設定実行用レジスタを用意している。
【0010】
C_SRCレジスタ8は転送元先頭アドレスの動作用レジスタ、SRCレジスタ5は転送元先頭アドレスの設定用レジスタ、RLD_SRCレジスタ6は転送元先頭アドレスの設定実行用レジスタ、マルチプレクサ7はSRCレジスタ5とRLD_SRCレジスタ6とを択一的に選択する選択手段である。
【0011】
C_DSTレジスタ13は転送先先頭アドレスの動作用レジスタ、DSTレジスタ10は転送先先頭アドレスの設定用レジスタ、RLD_DSTレジスタ11は転送先先頭アドレスの設定実行用レジスタ、マルチプレクサ12はDSTレジスタ10とRLD_DSTレジスタ11とを択一的に選択する選択手段である。
【0012】
C_QNTレジスタ18は転送量の動作用レジスタ、QNTレジスタ15は転送量の設定用レジスタ、RLD_QNTレジスタ16は転送量の設定実行用レジスタ、マルチプレクサ17はQNTレジスタ15とRLD_QNTレジスタ16とを択一的に選択する選択手段である。
【0013】
また、DMA転送を制御するCTL(コントロール)レジスタ20と、レジスタコントローラ21、シーケンサ22、及び、バス調停回路23を備えている。CTLレジスタ20は主にDMA転送を許可する/しないを示すENBビット(ENBビット=1なら許可)と、DMA転送の転送条件を記憶装置(図1ではRAM3)からDMA転送終了後、次のDMA転送の転送条件を自動で取得させるかさせないかを決定するRLD_ENBビット(RLD_ENBビット=1なら他の記憶装置から転送条件を自動取得させる)から成る。
【0014】
次に、第1実施形態のDMAコントローラの動作について説明する。今、転送条件の異なるDMA転送を2回実行させるとする。まず、CPUが図1のRAM3に2回のDMA転送の転送条件を書き込む。その結果、RAM3の内容が図2に示すようになったとする。
【0015】
すなわち、RAM3のアドレス1000(Hex)に2回目のDMA転送の転送条件が書き込まれているRAM3の最初のアドレスが、アドレス1001(Hex)に1回目のDMA転送の転送元先頭アドレスSA1が、アドレス1002(Hex)に1回目のDMA転送の転送先先頭アドレスDA1が、アドレス1003(Hex)に1回目のDMA転送の転送量BYTE1が、アドレス1004(Hex)に1回目のDMA転送の終了後のCTLレジスタ20の内容(ENBビット=1、RLD_ENBビット=1)が、1回目のDMA転送の転送条件#1として書き込まれたものとする。
【0016】
また、RAM3のアドレス2000(Hex)に任意の値が(なぜなら、DMA転送は2回だけだから)、アドレス2001(Hex)に2回目のDMA転送の転送元先頭アドレスSA2が、アドレス2002(Hex)に2回目のDMA転送の転送先先頭アドレスDA2が、アドレス2003(Hex)に2回目のDMA転送の転送量BYTE2が、アドレス2004(Hex)に1回目のDMA転送の終了後のCTLレジスタ20の内容(ENBビット=0、RLD_ENBビット=0)が、2回目のDMA転送の転送条件#2として書き込まれたものとする。
【0017】
そして、CPUが設定実行用の各レジスタに適切な値を書き込む。具体的には、RLD_SRCレジスタ6には、1回目のDMA転送の転送条件が書き込まれているRAM3の最初のアドレス1000(Hex)を書き込む。RLD_DSTレジスタ11には、RLD_SRCレジスタ6のアドレスを書き込む。RLD_QNTレジスタ16には、5を書き込む(なぜなら、DMA転送の転送条件をRAM3から取得するためには5回のDMA転送が必要だから)。
【0018】
また、CPUがDMAコントローラのCTLレジスタ20にアクセスし、ENBビット=1、RLD_ENBビット=1と書き込む。このとき、DMAコントローラでは、図3に示すように、ENBビット、RLD_ENBビット、及び、前の動作に応じてマルチプレクサ7、12、17によってそれぞれ選択されるレジスタを切り替えてから、C_SRCレジスタ6、C_DSTレジスタ11、C_QNTレジスタ16の値をそれぞれマルチプレクサ7、12、17によって選択されているレジスタの値で更新した後に、シーケンサ22がC_SRCレジスタ8、C_DSTレジスタ13、及び、C_QNTレジスタ18に従ってDMA転送を開始する。
【0019】
今の場合、ENBビット=1、RLD_ENBビット=1であるとともに、前の動作がリロード(RAM3からDMA転送の転送条件を自動で取得するという動作)ではないので、マルチプレクサ7ではRLD_SRCレジスタ6が、マルチプレクサ12ではRLD_DSTレジスタ11が、マルチプレクサ17ではRLD_QNTレジスタ16が、それぞれ選択される。したがって、シーケンサ22は、RLD_SRCレジスタ6、RLD_DSTレジスタ11、及び、RLD_QNTレジスタ16の値を初期値としてDMA転送を実行することになる。
【0020】
この時点では、DMAコントローラの各レジスタの内容は図4の(1)に示すようになっているので、RAM3のアドレス1000(Hex)に格納されている値2000(Hex)がRLD_SRCレジスタ6に、RAM3のアドレス1001(Hex)に格納されている値SA1がSRCレジスタ5に、RAM3のアドレス1002(Hex)に格納されている値DA1がDSTレジスタ10に、RAM3のアドレス1003(Hex)に格納されている値BYTE1がQNTレジスタ15に、RAM3のアドレス1004(Hex)に格納されているデータ(ENBビット=1、RLD_ENBビット=1)がCTLレジスタ20に、順次DMA転送されて格納される。すなわち、1回目のDMA転送の転送条件#1がRAM3からDMAコントローラに自動的に取得される。この時点でDMAコントローラの各レジスタの内容は図4の(2)に示すようになる。
【0021】
この後、DMAリクエストが発生すると、DMAコントローラでは、図3に示すように、ENBビット、RLD_ENBビット、及び、前の動作に応じてマルチプレクサ7、12、17によってそれぞれ選択されるレジスタを切り替えてから、C_SRCレジスタ8、C_DSTレジスタ13、C_QNTレジスタ18の値をそれぞれマルチプレクサ7、12、17によって選択されているレジスタの値で更新した後に、シーケンサ22がC_SRCレジスタ8、C_DSTレジスタ13、及び、C_QNTレジスタ18に従ってDMA転送を開始する。
【0022】
今の場合、ENBビット=1、RLD_ENBビット=1であるとともに、前の動作がリロードであるので、マルチプレクサ7ではSRCレジスタ5が、マルチプレクサ12ではDSTレジスタ10が、マルチプレクサ17ではQNTレジスタ15が、それぞれ選択される。したがって、シーケンサ22は、SRCレジスタ5、DSTレジスタ10、及び、QNTレジスタ15の値を初期値としてDMA転送を実行することになる。これにより、1回目のDMA転送が実行される。
【0023】
このDMA転送が終了すると、DMAコントローラでは、図3に示すように、ENBビット、RLD_ENBビット、及び、前の動作に応じてマルチプレクサ7、12、17によってそれぞれ選択されるレジスタを切り替えてから、C_SRCレジスタ8、C_DSTレジスタ13、C_QNTレジスタ18の値をそれぞれマルチプレクサ7、12、17によって選択されているレジスタの値で更新した後に、シーケンサ22がC_SRCレジスタ8、C_DSTレジスタ13、及び、C_QNTレジスタ18に従ってDMA転送を開始する。
【0024】
今の場合、ENBビット=1、RLD_ENBビット=1であるとともに、前の動作がリロードではないので、マルチプレクサ7ではRLD_SRCレジスタ6が、マルチプレクサ12ではRLD_DSTレジスタ11が、マルチプレクサ17ではRLD_QNTレジスタ16が、それぞれ選択される。したがって、シーケンサ22は、RLD_SRCレジスタ6、RLD_DSTレジスタ11、及び、RLD_QNTレジスタ16の値を初期値としてDMA転送を実行することになる。
【0025】
これにより、この時点でのDMAコントローラの各レジスタの内容は図4の(2)に示すようになっていることから、RAM3のアドレス2000(Hex)に格納されている値がRLD_SRCレジスタ6に、RAM3のアドレス2001(Hex)に格納されている値SA2がSRCレジスタ5に、RAM3のアドレス2002(Hex)に格納されている値DA2がDSTレジスタ10に、RAM3のアドレス2003(Hex)に格納されている値BYTE2がQNTレジスタ15に、RAM3のアドレス2004(Hex)に格納されているデータ(ENBビット=1、RLD_ENBビット=0)がCTLレジスタ20に、順次DMA転送されて格納される。すなわち、2回目のDMA転送の転送条件#2がRAM3からDMAコントローラに自動的に取得される。この時点でDMAコントローラの各レジスタの内容は図4の(3)に示すようになる。
【0026】
この後、DMAリクエストが発生すると、図3に示すように、ENBビット、RLD_ENBビット、及び、前の動作に応じてマルチプレクサ7、12、及び、17での選択の切り替えてから、C_SRCレジスタ8、C_DSTレジスタ13、C_QNTレジスタ18の更新が行った後に、シーケンサ22がDMA転送を開始する。
【0027】
今の場合、ENBビット=1、RLD_ENBビット=0であるので、マルチプレクサ7ではSRCレジスタ5が、マルチプレクサ12ではDSTレジスタ10が、マルチプレクサ17ではQNTレジスタ15が、それぞれ選択される。したがって、シーケンサ22は、SRCレジスタ5、DSTレジスタ10、及び、QNTレジスタ15の値を初期値としてDMA転送を実行することになる。これにより、2回目のDMA転送が実行される。
【0028】
このように、CPUは、実行したいDMA転送の転送条件をRAM3に書き込み、DMAコントローラのCTLレジスタにおいてENBビット=1、RLD_ENBビット=1としておけば、DMA転送が終了すると次のDMA転送の転送条件がRAM3からDMAコントローラに自動的に取得されるという動作と、取得された転送条件に基づいてDMA転送を実行されるという動作とが交互に繰り返し行われる。
【0029】
本発明の第2実施形態であるDMAコントローラは、そのブロック図を図5に示すように、調停回路1、並びに、4つのDMAチャンネル2−1、2−2、2−3、及び、2−4を備えている。
【0030】
各DMAチャンネル2−1、2−2、2−3、2−4は、その回路構成を図6に示すように、シーケンサ201、レジスタコントローラ202、CTLレジスタ203、SRCレジスタ204、DSTレジスタ205、CYCレジスタ206、TRNレジスタ207、SETレジスタ208、SRCカウンタ209、DSTカウンタ210、TMP_CYCレジスタ211、CYCカウンタ212、TRNカウンタ213、CUR_SETレジスタ214、RLD_SRCレジスタ215、RLD_DSTレジスタ216、RLD_CYCレジスタ217、RLD_TRNレジスタ218、RLD_SETレジスタ219、並びに、マルチプレクサ220、221、222、223、及び、224を備えている。
【0031】
調停回路1は、システムバス300の使用権の調停、シーケンサ201の制御等を行う。各DMAチャンネル2−1、2−2、2−3、2−4では、シーケンサ201が、調停回路1による制御の下で、CTLレジスタ203、SRCカウンタ209、DSTカウンタ210、CYCカウンタ212、CUR_SETレジスタ214の内容、及び、レジスタコントローラ202内のレジスタ(不図示)の内容に基づいてDMA転送を実行する。尚、調停回路1は、マルチプレクサ220、221、222、223、及び、224での選択を制御するためのreloadビットを有するレジスタを備えている。
【0032】
レジスタコントローラ202は、シーケンサ201からの指示、並びに、CTLレジスタ203、CYCカウンタ212、TRNカウンタ213、CUR_SETレジスタ214、及び、自身のレジスタの内容に基づいて、SRCカウンタ209、DSTカウンタ210、TMP_CYCレジスタ211、CYCカウンタ212、TRNカウンタ213、及び、CUR_SETレジスタ214の動作の制御、並びに、内部のレジスタの書き換えを行う。尚、レジスタコントローラ202の内部のレジスタには、DMA転送が終了したか否かを示すためのEOP_Oビットが有る。
【0033】
CTLレジスタ203には、DMA転送の実行が許可されているか否かを示すためのENBビット、DMA転送が中断されたか否かを示すためのRESUMビット、動作モードを示すためのMOD1ビット及びMOD0ビット、DMA転送をソフトウェアで開始させるためのS/W_STARTビット、DMA転送が終了したときにその旨を割り込み信号を用いてCPUに通知するか否かを示すためのCEPEビット、次のDMA転送が終了したときにその旨を割り込み信号を用いてCPUに通知するか否かを示すためのNEPEビットなどから成り、DMA転送を制御するための情報が書き込まれる。SRCレジスタ204、DSTレジスタ205、CYCレジスタ206、TRNレジスタ207、及び、SETレジスタ208には、DMA転送の転送条件が書き込まれる。
【0034】
具体的には、SRCレジスタ204には、データの転送元の領域(データを読み出す領域)の先頭のアドレスが書き込まれる。DSTレジスタ205には、データの転送先の領域(データを書き込む領域)の先頭のアドレスが書き込まれる。CYCレジスタ206には、1回のDMA転送におけるサイクル数(尚、1サイクルは、1回読み出して1回書き込むという動作である)に応じた値が書き込まれる。TRNレジスタ207には、DMA転送を行う回数に応じた値が書き込まれる。SETレジスタ208には、DMA転送に関するその他の情報(1サイクルで転送するデータのサイズ、転送元アドレス及び転送先アドレスを1サイクル毎に更新する/しないなど)が書き込まれる。
【0035】
さて、本第2実施形態のDMAコントローラでは、後述するように、DMA転送を実行するにあたって、その転送条件をRAM400から自身にDMA転送するモード(リロードモード)が存在する。CPUは、このリロードモードを用いてDMA転送を実行させるときには、図7に一例を示すように、実行させたい各DMA転送毎に、当該DMA転送の次に実行させたいDMA転送の転送条件が書き込まれているRAM400内の先頭のアドレス、並びに、当該DMA転送の転送条件(転送元の先頭のアドレスを示す情報、転送先の先頭のアドレスを示す情報、1回のDMA転送で行うサイクル数を示す情報、DMA転送を行う回数を示す情報、その他の情報、及び、制御情報)を、RAM400の連続した領域に書き込むようになっている。尚、図7は2つのDMA転送を設定した場合のものである。
【0036】
RLD_SRCレジスタ215は、DMA転送の転送条件が書き込まれているRAM400内の先頭のアドレスをCPUが書き込むためのものである。RLD_DSTレジスタ216、RLD_CYCレジスタ217、RLD_TRNレジスタ218、及び、RLD_SETレジスタ219には、DMA転送の転送条件をRAM400からDMAチャンネルの設定用レジスタ群(SRCレジスタ204、DSTレジスタ205、CYCレジスタ206、TRNレジスタ207、及び、SETレジスタ208)にDMA転送するための転送条件が書き込まれている。
【0037】
マルチプレクサ220は、SRCレジスタ204に保持されているデータとRLD_SRCレジスタ215に保持されているデータとのどちらか一方をシーケンサ201からの指示に応じて選択する。マルチプレクサ220で選択されたデータはSRCカウンタ209に与えられている。
【0038】
マルチプレクサ221は、DSTレジスタ205に保持されているデータとRLD_DSTレジスタ216に保持されているデータとのどちらか一方をシーケンサ201からの指示に応じて選択する。マルチプレクサ221で選択されたデータはDSTカウンタ210に与えられている。
【0039】
マルチプレクサ222は、CYCレジスタ206に保持されているデータとRLD_CYCレジスタ217に保持されているデータとのどちらか一方をシーケンサ201からの指示に応じて選択する。マルチプレクサ222で選択されたデータはTMP_CYCレジスタ211及びCYCカウンタ212に与えられている。尚、CYCカウンタ212には、TMP_CYCレジスタ211に保持されているデータも与えられている。
【0040】
マルチプレクサ223は、TRNレジスタ207に保持されているデータとRLD_TRNレジスタ218に保持されているデータとのどちらか一方をシーケンサ201からの指示に応じて選択する。マルチプレクサ223で選択されたデータはTRNカウンタ213に与えられている。
【0041】
マルチプレクサ224は、TRNレジスタ208に保持されているデータとRLD_TRNレジスタ219に保持されているデータとのどちらか一方をシーケンサ201からの指示に応じて選択する。マルチプレクサ224で選択されたデータはCUR_SETレジスタ214に与えられている。
【0042】
調停回路1の具体的な動作について説明する。入力信号DMA_REQx(x=1、2、3、または、4)がアサートされると、DMAチャンネル2−xに対してDMA転送が要求されたと認識する。また、DMA転送待ちのチャンネル(DMA転送が要求されたが、まだ、DMA転送を実行していないチャンネル)があれば、システムバスの使用権を要求する(具体的には、出力信号BUS_REQをアサートさせる)。
【0043】
また、システムバスの使用権が認可されると(具体的には、入力信号BUS_ACKがアサートされると)、DMA転送待ちのチャンネルのうちの最も優先度が高いチャンネルのシーケンサ201へのスタート信号をアサートさせる。また、システムバスの使用権が取り下げられると(具体的には、入力信号BUS_ACKがネゲートされると)、シーケンサ201へのスタート信号をネゲートさせる。
【0044】
また、バスコントローラ(不図示)からDMA待機命令が発行される(具体的には、入力信号DMA_WAITがアサートされる)と、各DMAチャンネル2−1、2−2、2−3、2−4のシーケンサ201へのウエイト信号をアサートさせる。また、DMA待機命令が解除される(具体的には、入力信号DMA_WAITがネゲートされる)と、シーケンサ201へのウエイト信号をネゲートさせる。
【0045】
尚、バスコントローラは、DMAコントローラがアクセスしたアドレスに対するデータの読み出しあるいは書き込みが完了する前に次の動作に移行しないように、DMAコントローラがアクセスしたアドレスに応じて信号DMA_WAITを制御するようになっている。
【0046】
また、DMAチャンネルのシーケンサ201からCYCカウンタ212にアンダーフローが発生した旨の通知を受けると、そのシーケンサ201へのスタート信号をネゲートさせ、その後、DMA転送待ちのチャンネルがある場合には、システムバスの使用権が認可されていれば、そのうちの優先度が最も高いチャンネルのシーケンサ201へのスタート信号をアサートさせ、一方、DMA転送待ちのチャンネルがない場合には、システムバスを解放する(具体的には、出力信号BUS_REQをネゲートさせる)。尚、システムバスを解放すると、システムバスの使用権が取り下げられるようになっている。
【0047】
また、DMAチャンネルのシーケンサ201からDMA転送が終了した旨の通知を受けると、そのシーケンサ201へのスタート信号をネゲートさせるとともに、システムバスを解放する。
【0048】
DMAチャンネルのシーケンサ201の動作を図8及び図9に示すフローチャートを用いて説明する。まず、CTLレジスタ203のENBビットが1であるか否かを判定する(#101)。ENBビットが1であれば(#101のY)、#102へ移行する。CTLレジスタ203のENBビットはDMA転送が許可されているか否か示すためのビットであり、このビットが1であれば、DMA転送が許可されていることを意味する。
【0049】
尚、CPUは、使用中でないチャンネルに対して、DMA転送の設定を終えると、すなわち、CTLレジスタ203、SRCレジスタ204、DSTレジスタ205、CYCレジスタ206、TRNレジスタ207、及び、SETレジスタ208にDMA転送の転送条件を書き込むと、CTLレジスタ203のENBビットを1にセットするようになっている。
【0050】
#102では、CTLレジスタ203のRESUMビットが1、MOD1ビットが1、MOD0ビットが0、かつ、レジスタコントローラ202内のレジスタのEOP_Oビットが1であるか否かを判定する。#102での判定結果が肯定であれば(#102のY)、前述した#101へ移行し、一方、否定であれば(#102のN)、#103へ移行する。
【0051】
尚、CPUは、CTLレジスタ203のENBビットを0にセットすることによりDMA転送を中断させ、その後、ENBビットを1にセットすることによりDMA転送を再開させるに先立って、CTLレジスタ203のRESUMビットを1にセットするようになっている。すなわち、CTLレジスタ203のRESUMビットはDMA転送が中断されたか否かを示すためのビットであり、このビットが1であれば、DMA転送が中断されたことを意味する。
【0052】
また、CTLレジスタ203のMOD1ビット及びMOD0ビットはDMA転送のモードを指定するためのビットである。レジスタコントローラ202内のレジスタのEOP_OビットはDMA転送が終了したか否かを示すためのビットであり、このビットが1であれば、DMA転送が終了したことを意味する。
【0053】
#103では、CTLレジスタ203のS/W_STARTビットが1、かつ、MOD1ビット、MOD0ビットが共に1であるか否かを判定する。#103での判定結果が肯定であれば(#103のY)、自身のレジスタのreloadビットを1にセットし(#104)、その後、#106へ移行する。一方、#103での判定結果が否定であれば(#103のN)、reloadビットを0にセットし(#105)、その後、#106へ移行する。
【0054】
尚、reloadビットに応じてマルチプレクサ220、221、222、223、及び、224での選択が切り換わるようになっている。具体的には、マルチプレクサ220、221、222、223、224は、reloadビットが0であるときには、それぞれSRCレジスタ204、DSTレジスタ205、CYCレジスタ206、TRNレジスタ207、SETレジスタ208に保持されているデータを選択し、一方、reloadビットが1であるときには、それぞれRLD_SRCレジスタ215、RLD_DSTレジスタ216、RLD_CYCレジスタ217、RLD_TRNレジスタ218、RLD_SETレジスタ219に保持されているデータを選択するようになっている。
【0055】
#106では、アイドル状態からロード&ウエイト状態に遷移する旨をレジスタコントローラ202に通知する。#106を終えると、CTLレジスタ203のENBビットが1であるか否かを判定する(#107)。ENBビットが1であれば(#107のY)、#108へ移行し、一方、ENBビットが1でなければ(#107のN)、前述した#101へ移行する。
【0056】
#108では、調停回路1からのスタート信号がアサートされているか否かを判定する。スタート信号がアサートされていれば(#108のY)、後述する#110へ移行し、一方、スタート信号がアサートされていなければ(#108のN)、#109へ移行する。
【0057】
#109では、CTLレジスタ203のS/W_STARTビットが1であるか否かを判定する。S/W_STARTビットが1であれば(#109のY)、#110へ移行し、一方、S/W_STARTビットが1でなければ(#109のN)、前述した#107へ移行する。
【0058】
#110では、SRCカウンタ209の値に対応するアドレスからデータを自身のバッファに読み込む。#110を終えると、調停回路1からのウエイト信号がアサートされているか否かを判定し(#111)、ウエイト信号がアサートされていなければ(#111のN)、#112へ移行する。
【0059】
#112では、リード状態からライト状態に遷移する旨をレジスタコントローラ202に通知する。#112を終えると、#109で読み込んだデータをDSTカウンタ210の値に対応するアドレスに書き込む(#113)。次に、ウエイト信号がアサートされているか否かを判定し(#114)、ウエイト信号がアサートされていなければ(#114のN)、#116へ移行する。
【0060】
#116では、レジスタコントローラ202内のレジスタのEOP_Oビットが1であるか否かを判定する。EOP_Oビットが1であれば(#116のY)、DMA転送が終了した旨を調停回路1に通知する(#117)。一方、EOP_Oビットが1でなければ(#116のN)、後述する#132へ移行する。
【0061】
#117を終えると、CTLレジスタ203のCEPEビットが1であるか否かを判定する(#118)。CEPEビットが1であれば(#118のY)、割り込み信号を用いてDMA転送が終了した旨をCPUに通知し(#119)、その後、#120へ移行する。一方、CEPEビットが1でなければ(#118のN)、#119を行うことなく、#120へ移行する。
【0062】
#120では、CTLレジスタ203のMOD1ビット、MOD0ビットが共に0であるか否かを判定する。#120での判定結果が肯定であれば(#120のY)、CTLレジスタ203のENBビットに0をセットするとともに(#121)、ライト状態からアイドル状態に遷移する旨をレジスタコントローラ202に通知する(#122)。#122を終えると、前述した#101へ移行する。一方、#120での判定結果が否定であれば(#120のN)、#123へ移行する。
【0063】
#123では、CTLレジスタ203のMOD1ビット、MOD0ビットが共に1であるか否かを判定する。#123での判定結果が肯定であれば(#123のY)、#124へ移行し、一方、#123での判定結果が否定であれば(#123のN)、後述する#127へ移行する。
【0064】
#124では、自身のレジスタのreloadビットを反転させる。#124を終えると、reloadビットが1であるか否かを判定する(#125)。reloadビットが1であれば(#125のY)、CTLレジスタ203のS/W_STARTビットを1にセットし(#126)、その後、後述する#130へ移行する。一方、reloadビットが1でなければ(#125のN)、#126を行うことなく、後述する#130へ移行する。
【0065】
#123での判定結果が否定であるとき(#123のN)に移行する#127では、自身のレジスタのreloadビットを0にセットする。#127を終えると、CTLレジスタ203のMOD1ビットが1、MOD0ビットが0であるか否かを判定する(#128)。
【0066】
#128での判定結果が肯定であれば(#128のY)、MOD1ビット、MOD0ビットを共に0にセットし(#129)、その後、#130へ移行する。一方、#128での判定結果が否定であれば(#128のN)、#129を行うことなく、#130へ移行する。
【0067】
#130では、CTLレジスタ203のCEPEビットの値をCTLレジスタ203のNEPEビットの値で更新する。#130を終えると、ライト状態からロード&ウエイト状態に遷移する旨をレジスタコントローラ202に通知し(#134)、その後、前述した#107へ移行する。
【0068】
#116での判定結果が否定であるとき(#116のN)に移行する#132では、CYCカウンタ212にアンダーフローが発生しているか否かを判定する。CYCカウンタ212にアンダーフローが発生していれば(#132のY)、CYCカウンタ212にアンダーフローが発生した旨を調停回路1に通知する(#133)とともに、ライト状態からロード&ウエイト状態に遷移する旨をレジスタコントローラ202に通知する(#134)。#134を終えると、前述した#107へ移行する。
【0069】
一方、CYCカウンタ212にアンダーフローが発生していなければ(#132のN)、ライト状態からリード状態に遷移する旨をレジスタコントローラ202に通知する(#135)。#135を終えると、前述した#107へ移行する。
【0070】
レジスタコントローラ202の動作を図10及び図11に示すフローチャートを用いて説明する。レジスタコントローラ202は、シーケンサ201からの状態遷移の通知を監視している(#201、#205、#213、及び、#214)。
【0071】
まず、アイドル状態からロード&ウエイト状態に遷移する旨の通知をシーケンサ201から受けた場合について説明する。このときには、#201での判定結果が肯定になり(#201のY)、自身のレジスタのEOP_Oビットが1、または、CTLレジスタ203のRESUMビットが0であるか否かを判定する(#202)。
【0072】
#202での判定結果が肯定であれば(#202のY)、SRCカウンタ209のデータをマルチプレクサ220から与えられるデータで、DSTカウンタ210のデータをマルチプレクサ221から与えられるデータで、TMP_CYCレジスタ211及びCYCカウンタ212のデータをマルチプレクサ222から与えられるデータで、TRNカウンタ213のデータをマルチプレクサ223から与えられるデータで、CUR_SETレジスタ214のデータをマルチプレクサ224から与えられるデータで、それぞれ更新する(#203)。#203を終えると、自身のレジスタのEOP_Oビットを0にセットする(#204)。
【0073】
次に、リード状態からライト状態に遷移する旨の通知をシーケンサ201から受けた場合について説明する。このときには、#205での判定結果が肯定になり(#205のY)、CUR_SETレジスタ214のDSDIRビットが1であるか否かを判定する(#206)。
【0074】
DSDIRビットが1であれば(#206のY)、SRCカウンタ209の値を1だけインクリメントさせ(#207)、その後、#208へ移行する。一方、DSDIRビットが1でなければ(#206のN)、#207を行うことなく、#208へ移行する。
【0075】
#208では、CYCカウンタ212の値を1だけデクリメントさせる。#208を終えると、CYCカウンタ212にアンダーフローが発生しているか否かを判定する(#209)。CYCカウンタ212にアンダーフローが発生していれば(#209のY)、TRNカウンタ213の値が0であるか否かを判定する(#210)。
【0076】
TRNカウンタ213の値が0でなければ(#210のN)、TRNカウンタ213の値を1だけデクリメントさせる(#211)。一方、TRNカウンタ213の値が0であれば(#210のY)、自身のレジスタのEOP_Oビットを1にセットする(#212)。
【0077】
次に、ライト状態からアイドル状態に遷移する旨の通知、または、ライト状態からリード状態に遷移する旨の通知をシーケンサ201から受けた場合について説明する。このときには、#213での判定結果が肯定になり(#213のY)、CUR_SETレジスタ214のDDDIRビットが1であるか否かを判定する(#218)。DDDIRビットが1であれば(#218のY)、DSTカウンタ210の値を1だけインクリメントさせる(#219)。
【0078】
次に、ライト状態からロード&ウエイト状態に遷移する旨の通知をシーケンサ201から受けた場合について説明する。このときには、#214での判定結果が肯定になり(#214のY)、自身のレジスタのEOP_Oビットが1であるか否かを判定する(#215)。
【0079】
EOP_Oビットが1であれば(#215のY)、SRCカウンタ209、DSTカウンタ210、TMP_CYCレジスタ211及びCYCカウンタ212、TRNカウンタ213、CUR_SETレジスタ214の値を、それぞれSRCレジスタ204、DSTレジスタ205、CYCレジスタ206、TRNレジスタ207、SETレジスタ208の値で更新するとともに(#203)、自身のレジスタのEOP_Oビットを0にセットする(#204)。一方、EOP_Oビットが1でなければ(#215のN)、CYCカウンタ212にアンダーフローが発生しているか否かを判定する(#216)。
【0080】
CYCカウンタ212にアンダーフローが発生していれば(#216のY)、CYCカウンタ212の値をTMP_CYCレジスタ211の値で更新し(#217)、その後、#218へ移行する。一方、CYCカウンタ212にアンダーフローが発生していなければ(#216のN)、#217を行うことなく、#218へ移行する。
【0081】
#218では、CUR_SETレジスタ214のDDDIRビットが1であるか否かを判定する。DDDIRビットが1であれば(#218のY)、DSTカウンタ210の値を1だけインクリメントさせる(#219)。
【0082】
以上に述べたシーケンサ201及びレジスタコントローラ202の動作により、各DMAチャンネルでは、DMA転送を開始するにあたって、設定用レジスタ群(SRCレジスタ204、DSTレジスタ205、CYCレジスタ206、TRNレジスタ207、及び、SETレジスタ208)の値を動作用レジスタ群(SRCカウンタ209、DSTカウンタ210、TMP_CYCレジスタ211、CYCカウンタ212、TRNカウンタ213、及び、CUR_SETレジスタ214)に書き込むとともに、動作用レジスタ群の値に基づいてDMA転送を実行する。
【0083】
したがって、DMA転送の転送条件を設定用レジスタ群に書き込むことによって、使用中のDMAチャンネルに対してもDMA転送の設定を行うことができるようになる。これにより、あるタスクでDMA転送を行おうとしたときに、全てのDMAチャンネルが使用中であっても、DMA転送の終了を待つことなくDMA転送の設定を行うことができる可能性が生まれ、タスクスイッチング等によるCPUの処理時間の浪費を低減させることができる。
【0084】
また、CTLレジスタ203のMOD1ビット及びMOD0ビットに応じて動作が以下のように異なる。DMA転送が終了したときに、MOD1ビット、MOD0ビットが共に0にセットされていれば、アイドル状態(DMA転送が禁止された状態)になる(以下、「ノーマルモード」と称する)。
【0085】
DMA転送が終了したときに、MOD1ビットが0、MOD0ビットが1にそれぞれセットされていれば、ロード&ウエイト状態(動作用レジスタ群の値を設定用レジスタ群の値で更新してDMA転送が要求されるのを待っている状態)になるので、CPUの介在なしで次のDMA転送が開始される(以下、「オートリピートモード」と称する)。
【0086】
DMA転送が終了したときに、MOD1ビットが1、MOD0ビットが0にそれぞれセットされていれば、MOD1ビット、MOD0ビットを共に0にセットしてからロード&ウエイト状態になるので、CPUの介在なしで次のDMA転送が開始されるが、そのDMA転送が終了すると、アイドル状態になる(以下、「オートスタートモード」と称する)。
【0087】
したがって、CPUは、使用中でないDMAチャンネルに対してDMA転送を設定した場合にはノーマルモードに、設定したDMA転送が繰り返し行われるようにしたい場合にはオートリピートモードに、使用中のDMAチャンネルに対してDMA転送を設定した場合にはオートスタートモードに、それぞれDMAチャンネルの動作モードが切り換わるように、CTLレジスタ203のMOD1ビット及びMOD0ビットを書き換えればよい。
【0088】
また、DMA転送が実行可能になったとき(CTLレジスタ203のENBビットが1にセットされたとき)に、CTLレジスタ203のS/W_STARTビットが1、MOD1ビット、MOD0ビットが共に1である場合には、DMA転送の転送条件をRAM400から設定用レジスタ群にDMA転送するための転送条件を設定実行用レジスタ群(RLD_SRCレジスタ215、RLD_DSTレジスタ216、RLD_CYCレジスタ217、RLD_TRNレジスタ218、及び、RLD_SETレジスタ219)から動作用レジスタ群に書き込んだ後に、動作用レジスタ群の値に基づいてDMA転送を実行するので、DMA転送の転送条件がRAM400から設定用レジスタ群にDMA転送される。その後、MOD1ビット、MOD0ビットが共に1である間は、DMA転送の転送条件をRAM400から設定用レジスタ群にDMA転送するという動作と、RAM400から設定用レジスタ群にDMA転送された転送条件に基づいてDMA転送を行うという動作とが交互に行われる(以下、「リロードモード」と称する)。
【0089】
このリロードモードにおいては、希望する全てのDMA転送を実行させるためには、それらの各DMA転送の転送条件を、一例として図7に示すように、RAM400に書き込んだ後に、CTLレジスタ203のS/W_STARTビットを1に、MOD1ビット、MOD0ビットを共に1にそれぞれセットするとともに、最初のDMA転送の転送条件が記憶されているRAM400の先頭のアドレス(図7の場合には、20000000)をRLD_SRCレジスタ215に書き込んだ上で、CTLレジスタ203のENBビットを1にセットすればよく、複数のDMA転送を1度に設定することができるようになる。
【0090】
したがって、CPUは、DMAチャンネルに対して複数のDMA転送を設定したいときにはリロードモードを使用することによって、DMA転送の設定に割かれる処理時間を低減させることができるようになる。
【0091】
また、DMA転送が終了したときに、CTLレジスタ203のCEPEビットが0であれば、DMA転送が終了した旨を通知する割り込みをCPUに対して行わない。したがって、CPUは、次のDMA転送の設定を行ったときには、CEPEビットを0にセットしておけば、1つ前に設定したDMA転送が終了してもDMAコントローラから割り込みを受けないので、DMAコントローラからの無意味な割り込みがなくなり、その分だけ多くの時間を他の処理に費やすことができる。
【0092】
尚、CPUは、システムバスの使用権を持っているときには、CTLレジスタ203の値を書き換えることによって、DMAチャンネルの動作モード、及び、DMA転送終了時の割り込みの有無をいつでも切り換えることができるので、状況の変化に容易に対応することができる。
【0093】
その他には、CYCレジスタ206に設定された値をp、TRNレジスタ207に設定された値をqとすると、DMA転送が要求される毎に(p+1)サイクルのDMA転送を行い、その後、新たなDMA転送要求が発生するまで待機状態になる。そして、(q+1)回目のDMA転送の要求に対してDMA転送を行った時点で動作を終了する。すなわち、(p+1)サイクルのDMA転送を(q+1)回行うことになる。
【0094】
したがって、CPUは、AサイクルのDMA転送をB回だけ繰り返し行いたい場合、CYCレジスタ206の値をA−1に、TRNレジスタの値をB−1にそれぞれ設定するという作業を一度だけ行えばよく、これにより、CPUの負担が軽減するので、その分、システムの性能低下を抑制することができる。
【0095】
【発明の効果】
以上説明したように、本発明のDMAコントローラによれば、DMA転送の転送条件を外部の記憶手段から自身にDMA転送するという動作と、外部の記憶手段から自身にDMA転送した転送条件に基づいてDMA転送を行うという動作とが交互に行われるので、外部の記憶手段にDMA転送の転送条件を書き込むことによってDMA転送の設定を行うことができるようになる。これにより、複数のDMA転送を1度に設定することができるようになり、DMA転送の設定に割かれるCPUの処理時間を低減させることができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態であるDMAコントローラのブロック図である。
【図2】RAMに格納されたDMA転送の転送条件の一例を示す図である。
【図3】第1実施形態であるDMAコントローラの動作を説明するための図である。
【図4】第1実施形態のDMAコントローラにおいて各レジスタに格納されている値の一例を示す図である。
【図5】本発明の第2実施形態であるDMAコントローラのブロック図である。
【図6】図5における各DMAチャンネルの回路構成を示す図である。
【図7】リロードモードを用いてDMA転送を行う場合に、CPUによってRAMに書き込まれる内容を説明するための図である。
【図8】図6におけるシーケンサの動作を説明するためのフローチャートである。
【図9】図6におけるシーケンサの動作を説明するためのフローチャートである。
【図10】図6におけるレジスタコントローラの動作を説明するためのフローチャートである。
【図11】図6におけるレジスタコントローラの動作を説明するためのフローチャートである。
【符号の説明】
1  調停回路
2−1、2−2、2−3、2−4  DMAチャンネル
3  RAM
5  SRCレジスタ
6  RLD_SRCレジスタ
7  マルチプレクサ
8  C_SRCレジスタ
10  DSTレジスタ
11  RLD_DSTレジスタ
12  マルチプレクサ
13  C_DSTレジスタ
15  QNTレジスタ
16  RLD_QNTレジスタ
17  マルチプレクサ
18  C_QNTレジスタ
20  CTLレジスタ
21  レジスタコントローラ
22  シーケンサ
23  バス調停回路
201  シーケンサ
202  レジスタコントローラ
203  CTLレジスタ
204  SRCレジスタ
205  DSTレジスタ
206  CYCレジスタ
207  TRNレジスタ
208  SETレジスタ
209  SRCカウンタ
210  DSTカウンタ
211  TMP_CYCレジスタ
212  CYCカウンタ
213  TRNカウンタ
214  CUR_SETレジスタ
215  RLD_SRCレジスタ
216  RLD_DSTレジスタ
217  RLD_CYCレジスタ
218  RLD_TRNレジスタ
219  RLD_SETレジスタ
220、221、222、223、224  マルチプレクサ
300  システムバス
400  RAM

Claims (1)

  1. 実行中のDMA転送の転送条件を記憶しておくための動作用レジスタと、
    その次に実行するDMA転送の転送条件を記憶しておくための設定用レジスタと、
    DMA転送の転送条件を他の記憶手段から前記設定用レジスタにDMA転送するための転送条件を記憶している設定実行用レジスタと、
    前記設定用レジスタと前記設定実行用レジスタとを択一的に選択する選択手段と、
    該選択手段によって選択されるレジスタがDMA転送が終了する毎に交互に切り替わるように制御する選択制御手段と、
    DMA転送を開始するにあたって前記選択手段によって選択されているレジスタに記憶されているデータが前記動作用レジスタに書き込まれるように制御する動作用レジスタ制御手段と、
    前記動作用レジスタに記憶されているデータに基づいてDMA転送を実行する転送実行手段と、
    を備えたことを特徴とするDMAコントローラ。
JP2002277298A 2002-09-24 2002-09-24 Dmaコントローラ Pending JP2004118300A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002277298A JP2004118300A (ja) 2002-09-24 2002-09-24 Dmaコントローラ
US10/668,359 US20040093439A1 (en) 2002-09-24 2003-09-24 Data processing control apparatus and DMA controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002277298A JP2004118300A (ja) 2002-09-24 2002-09-24 Dmaコントローラ

Publications (1)

Publication Number Publication Date
JP2004118300A true JP2004118300A (ja) 2004-04-15

Family

ID=32272937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002277298A Pending JP2004118300A (ja) 2002-09-24 2002-09-24 Dmaコントローラ

Country Status (1)

Country Link
JP (1) JP2004118300A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005321842A (ja) * 2004-05-06 2005-11-17 Nec Engineering Ltd Dma転送システムおよびその転送方法
JP2008204456A (ja) * 2007-02-16 2008-09-04 Arm Ltd 複雑な非線形データの転送制御システム
JP2009151487A (ja) * 2007-12-19 2009-07-09 Panasonic Corp Dma転送制御装置及びデータ転送装置
JP2010026762A (ja) * 2008-07-18 2010-02-04 Japan Radio Co Ltd データ転送装置及びデータ転送方法。
JP2010061620A (ja) * 2008-09-08 2010-03-18 Nec Electronics Corp Dma装置及びdma転送方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005321842A (ja) * 2004-05-06 2005-11-17 Nec Engineering Ltd Dma転送システムおよびその転送方法
JP2008204456A (ja) * 2007-02-16 2008-09-04 Arm Ltd 複雑な非線形データの転送制御システム
US8112560B2 (en) 2007-02-16 2012-02-07 Arm Limited Controlling complex non-linear data transfers
JP2009151487A (ja) * 2007-12-19 2009-07-09 Panasonic Corp Dma転送制御装置及びデータ転送装置
JP2010026762A (ja) * 2008-07-18 2010-02-04 Japan Radio Co Ltd データ転送装置及びデータ転送方法。
JP2010061620A (ja) * 2008-09-08 2010-03-18 Nec Electronics Corp Dma装置及びdma転送方法

Similar Documents

Publication Publication Date Title
US7724984B2 (en) Image processing apparatus
JP4996519B2 (ja) 仮想マルチプロセッサ、システムlsi、携帯電話機器、及び仮想マルチプロセッサの制御方法
JP2006318139A (ja) データ転送装置、データ転送方法およびプログラム
JPH11250228A (ja) 画像処理装置及び画像処理システム
JP4388005B2 (ja) コンテキスト切替え装置
JP2005057374A (ja) A/d変換装置およびマイクロコントローラ
JP2004118300A (ja) Dmaコントローラ
JP2010061620A (ja) Dma装置及びdma転送方法
JP2004118298A (ja) データ処理制御装置
JP4536189B2 (ja) Dma転送装置及びdma転送システム
JP7468112B2 (ja) インタフェース回路およびインタフェース回路の制御方法
JP2008225608A (ja) メモリを制御するメモリコントローラ、メモリモジュール、メモリの制御方法
US20040093439A1 (en) Data processing control apparatus and DMA controller
JP2005165592A (ja) データ転送装置
JP5017784B2 (ja) プロセッサ及びこのプロセッサ適用される割込み処理制御方法
JP2007206924A (ja) 演算処理システム
JP2004118299A (ja) Dmaコントローラ
JP2006331008A (ja) メモリインタフェース
JP4538911B2 (ja) メモリアクセス制御装置および記憶媒体
JP2005063358A (ja) 命令供給制御装置および半導体装置
JP2010113414A (ja) マルチコアシステム、スレッドスケジューリング方法、プログラム、記憶媒体
JP2001134538A (ja) 信号処理装置
JPH08249269A (ja) Dma転送制御方法及びdma転送制御装置
JP2018120448A (ja) 演算処理装置および情報処理システム
JPH06131294A (ja) データ転送装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20060308

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060512

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060606