(57)【要約】【課題】ＤＭＡ転送装置において、任意のタイミングに転送情報を切り替え可能とすることを目的とする。【解決手段】転送周期決定回路１２０は、所定の周期を示す周期信号４０を生成する。切り替え回路１３０は、周期信号４０に同期して、カウンタ値をインクリメントする。また、切り替え回路１３０は、カウンタ値をオフセット値４３として、固定アドレス記憶部１４０が記憶した固定アドレス４１とオフセット値４３とからアドレス４４を計算する。ＤＭＡ転送チャネル１１０は、切り替え回路１３０のＲＡＭにおけるアドレス４４が示す位置から転送情報４２を取得する。そして、ＤＭＡ転送チャネル１１０は、取得した転送情報４２に従いデータを転送する。【選択図】図２
2011022781.tif 000002
【特許請求の範囲】
【請求項１】
所定の周期を示す周期信号を生成する周期生成部と、
前記周期生成部が生成した周期信号に同期して、値を変更する第１値変更部と、
前記第１値変更部が変更した値に応じて、送信元アドレスと送信先アドレスとの少なくとも一方を含む転送情報を読み込む読込先を決定する読込先決定部と、
前記読込先決定部が決定した読込先から転送情報を読み込み、読み込んだ転送情報に従って、データを転送するデータ送信部と
を備えることを特徴とするデータ転送装置。
【請求項２】
前記データ転送装置は、さらに、
複数の転送情報を記憶したアドレス記憶部を備え、
前記読込先決定部は、前記第１値変更部が変更した値をオフセット値として、所定のベースアドレスと前記オフセット値とから読込先アドレスを計算し、
前記データ送信部は、前記読込先決定部が計算した読込先アドレスが示す前記アドレス記憶部における位置から転送情報を読み込む
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記データ転送装置は、さらに、
複数のベースアドレスを記憶したベースアドレス記憶部と、
前記周期生成部が生成した周期信号に同期して、値を変更する第２値変更部と、
前記読込先決定部は、前記第２値変更部が変更した値に応じて、前記ベースアドレス記憶部が記憶した複数のベースアドレスのうち、どのベースアドレスを使用するかを決定して、決定したベースアドレスと前記オフセット値とから読込先アドレスを計算する
ことを特徴とする請求項２に記載のデータ転送装置。
【請求項４】
前記データ転送装置は、さらに、
転送情報を記憶した複数のレジスタを備え、
前記読込先決定部は、前記第１値変更部が変更した値に応じて、前記複数のレジスタのうち、どのレジスタを使用するかを決定し、
前記データ送信部は、前記読込先決定部が決定したレジスタから転送情報を読み込む
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項５】
前記データ転送装置は、さらに、
複数のベース値を記憶したベース値記憶部と、
前記周期生成部が生成した周期信号に同期して、値を変更する第２値変更部を備え、
前記読込先決定部は、前記第２値変更部が変更した値に応じて、前記ベース値記憶部が記憶した複数のベース値のうち、どのベース値を使用するかを決定して、決定したベース値と前記第１値変更部が変更した値とに応じて、前記複数のレジスタのうち、どのレジスタを使用するかを決定する
ことを特徴とする請求項４に記載のデータ転送装置。
【請求項６】
前記データ転送装置は、さらに、
前記周期生成部が生成した周期信号を遅延させる遅延部を備え、
前記第１値変更部は、前記遅延部が遅延させた周期信号に同期して値を変更する
ことを特徴とする請求項１から５までのいずれかに記載のデータ転送装置。
【請求項７】
前記データ転送装置は、さらに、
転送状態を示すステータス情報を外部から参照可能に記憶するステータス記憶部
を備えることを特徴とする請求項１から６までのいずれかに記載のデータ転送装置。
【請求項８】
所定の周期を示す周期信号を生成する周期生成ステップと、
前記周期生成ステップで生成した周期信号に同期して、値を変更する第１値変更ステップと、
前記第１値変更ステップで変更した値に応じて、送信先アドレスを読み込む読込先を決定する読込先決定ステップと、
前記読込先決定ステップで決定した読込先から送信先アドレスを読み込み、読み込んだ送信先アドレスへ所定の転送データを転送するデータ送信ステップと
を備えることを特徴とするデータ転送方法。
【請求項９】
所定の周期を示す周期信号を生成する周期生成処理と、
前記周期生成処理で生成した周期信号に同期して、値を変更する第１値変更処理と、
前記第１値変更処理で変更した値に応じて、送信元アドレスと送信先アドレスとの少なくとも一方を含む転送情報を読み込む読込先を決定する読込先決定処理と、
前記読込先決定処理で決定した読込先から転送情報を読み込み、読み込んだ転送情報に従って、データを転送するデータ送信処理と
をコンピュータに実行させることを特徴とするデータ転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、所定のタイミングで転送情報を変更してＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送を繰り返し実行するデータ転送技術に関する。
【背景技術】
【０００２】
周期的にデータ転送を繰り返すＤＭＡ転送装置において、周期毎にデータの転送情報（転送元アドレス、転送先アドレス等の情報）が異なる場合がある。この場合、周期毎に、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が、ＤＭＡ転送装置の転送情報の設定を行ってデータ転送を行う。そのため、ＤＭＡ転送装置には、周期毎に、転送情報の設定によるオーバヘッドが発生する。
特に、小さなサイズのデータを転送する場合には、データの転送時間に対するオーバヘッドの割合が高くなる。
【０００３】
特許文献１には、ＣＰＵが転送先アドレスを切り替えることなく、自動的に転送先のアドレスを切り替えてデータ転送を行うＤＭＡ転送装置についての記載がある。
このＤＭＡ転送装置では、転送の開始アドレスと終了アドレスとの組を複数用意しておき、複数の組のうち１組を選択し転送を開始する。選択した開始アドレスと終了アドレスとの組が示す転送先アドレスに対して転送が終了すると、自動的に他の開始アドレスと終了アドレスとの組を選択して、転送を開始する。この処理を順次繰り返す。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２００２−１８３０８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されたＤＭＡ転送装置では、選択したアドレスに対して転送が終了した場合に、次のアドレスを選択するものであり、任意のタイミングで転送情報を切り替えることはできない。
この発明は、ＤＭＡ転送装置において、ＣＰＵによらず、任意のタイミングで転送情報を切り替えて、データ転送することを可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るデータ転送装置は、例えば、
所定の周期を示す周期信号を生成する周期生成部と、
前記周期生成部が生成した周期信号に同期して、値を変更する第１値変更部と、
前記第１値変更部が変更した値に応じて、送信元アドレスと送信先アドレスとの少なくとも一方を含む転送情報を読み込む読込先を決定する読込先決定部と、
前記読込先決定部が決定した読込先から転送情報を読み込み、読み込んだ転送情報に従って、データを転送するデータ送信部と
を備えることを特徴とする。
【発明の効果】
【０００７】
この発明に係るデータ転送装置によれば、所定の周期で転送情報の読込先を変更し、変更した読込先から読み込んだ転送情報に従ってデータを転送する。そのため、周期の設定により、任意のタイミングで転送情報を切り替えすることができる。
【図面の簡単な説明】
【０００８】
【図１】ＤＭＡ転送装置による転送処理の一例を示す図。
【図２】実施の形態１に係るＤＭＡ転送装置１００の構成図。
【図３】分周回路の一例を示す図。
【図４】図３に示す分周回路により生成される周期信号４０のタイミングチャート。
【図５】実施の形態１に係る切り替え回路１３０の構成図。
【図６】実施の形態１に係る間接アドレスＲＡＭ１３３の説明図。
【図７】実施の形態２に係るＤＭＡ転送装置１００の構成図。
【図８】実施の形態２に係る選択回路１５０の構成図。
【図９】実施の形態３に係るＤＭＡ転送装置１００の構成図。
【図１０】実施の形態３に係るチャネルコマンドワード１７０の説明図。
【図１１】実施の形態３に係る切り替え回路１３０の構成図。
【図１２】実施の形態４に係るＤＭＡ転送装置１００の構成図。
【図１３】実施の形態４に係る選択回路１５０の構成図。
【図１４】実施の形態５に係るＤＭＡ転送装置１００の構成図。
【発明を実施するための形態】
【０００９】
以下、図に基づきこの発明の実施の形態について説明する。
なお、以下の説明において、転送情報とは、転送元アドレス（データの読み出し元アドレス）と、転送先アドレス（データの書き込み先アドレス）との少なくともいずれかを含む情報である。特に、以下の実施の形態では、後述するように、転送情報は、転送元アドレス、転送先アドレス、転送長、転送モードを含む情報である。
【００１０】
図１は、ＤＭＡ転送装置による転送処理の一例を示す図である。
図１に示すＤＭＡ転送装置は、周期１では、転送元であるＡから転送先であるＤへデータを転送し、周期２では、転送元であるＢから転送先であるＣへデータを転送する。そして、この処理を繰返し行う。つまり、図１に示すＤＭＡ転送装置は、２つの転送情報を交互に切り替えて、データ転送を行う。
ここで、周期１、周期２、・・・とは、ある決められた時間であり、例えば、１秒間等である。つまり、図１に示す従来のＤＭＡ転送装置では、ある時間毎に転送情報を切り替えて、データ転送を行う。
【００１１】
従来のＤＭＡ転送装置では、周期１が始まる際、ＣＰＵにより転送情報が設定される。同様に、周期１から周期２に移る際や、周期２から周期３に移る際にもＣＰＵにより転送情報が設定される。つまり、周期毎に、ＣＰＵにより転送情報が設定され、オーバヘッドが発生する。
【００１２】
特許文献１に記載された技術により、転送情報を切り替える場合、ある時間毎に転送情報を切り替えることはできない。したがって、図１に示す場合において、ＣＰＵによらず、転送情報を切り替えることはできない。
【００１３】
実施の形態１．
図２は、実施の形態１に係るＤＭＡ転送装置１００（データ転送装置）の構成図である。
ＤＭＡ転送装置１００は、バス１１を介してＣＰＵ１０に接続される。また、ＤＭＡ転送装置１００は、バス１１を介して、ＲＡＭや磁気ディスク装置等の記憶装置と接続される。さらに、ＤＭＡ転送チャネル１１０は、バス１１やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート等のインターフェース等を介してデバイス（例えば、プリンタ、スキャナ、カメラ等）とも接続されていてもよい。
【００１４】
ＤＭＡ転送装置１００は、ＤＭＡ転送チャネル１１０（データ転送部）、転送周期決定回路１２０（周期生成部）、切り替え回路１３０、固定アドレス記憶部１４０を備える。
【００１５】
ＤＭＡ転送チャネル１１０は、後述する方法により取得した転送情報４２における転送元アドレスに従って、リード要求２１により転送データをリードデータ２２として、バス１１を介して接続されたＲＡＭや磁気ディスク装置、あるいはデバイス等から読み出す。ＤＭＡ転送チャネル１１０は、読み出したリードデータ２２を、内部バッファ（メモリ）に一時記憶する。そして、ＤＭＡ転送チャネル１１０は、後述する方法により取得した転送情報４２における転送先アドレスに従って、ライト要求２３により内部バッファに一時記憶したリードデータ２２を、バス１１を介して接続されたＲＡＭや磁気ディスク装置、あるいはデバイス等に書き込む（転送する）。
【００１６】
転送周期決定回路１２０は、クロック周波数３０（ＣＬＫ）とリセット信号３１（ＲＳＴ）とを入力として、所定の周期を示す周期信号４０を生成する分周回路である。つまり、転送周期決定回路１２０は、クロック周波数３０を分周して、クロック周波数３０の周期の整数倍の周期を示す周期信号４０を生成する。そして、転送周期決定回路１２０は、生成した周期信号４０を切り替え回路１３０へ送信する。
【００１７】
図３は、分周回路の一例を示す図である。図４は、図３に示す分周回路により生成される周期信号４０のタイミングチャートである。図３に示す分周回路は、フリップフロップ６０，６１、ＮＯＴ回路６２、ＮＡＮＤ回路６３により構成される。図４に示すように、図３に示す分周回路は、２分周した周期Ｄ１の周期信号４０と、４分周した周期Ｄ２の周期信号４０とを生成する。
なお、ここでは、転送周期決定回路１２０の一例として２分周と４分周との周期信号４０を生成する分周回路を示したが、転送周期決定回路１２０はこれに限らず、何分周する分周回路であってもよい。
【００１８】
切り替え回路１３０は、転送周期決定回路１２０が生成した周期信号４０に応じて、ＤＭＡ転送チャネル１１０に取得させる転送情報４２を切り替える回路である。
【００１９】
図５は、切り替え回路１３０の構成図である。
切り替え回路１３０は、カウンタ１３１（第１値変更部）、読込先決定回路１３２（読込先決定部）、間接アドレスＲＡＭ１３３（アドレス記憶部）を備える。
【００２０】
カウンタ１３１は、周期信号４０に同期して、カウンタ値をインクリメントする。つまり、カウンタ１３１のカウンタ値は、転送周期決定回路１２０が生成した周期毎に値が増える。
【００２１】
読込先決定回路１３２は、カウンタ１３１のカウンタ値をオフセット値とし、後述する固定アドレス記憶部１４０が記憶した固定アドレス４１（ベースアドレス）とオフセット値４３とからアドレス４４を計算する。例えば、読込先決定回路１３２は、固定アドレス４１とオフセット値４３とを加算して、アドレス４４を計算する加算回路である。
【００２２】
図６は、間接アドレスＲＡＭ１３３の説明図である。
図６に示すように、間接アドレスＲＡＭ１３３は、予めＣＰＵ１０により登録された複数の転送情報４２を記憶する。転送情報４２には、転送元アドレス、転送先アドレス、転送長（転送するデータ長）、転送モード（転送方法、使用するプロトコル等）等の転送に関係する情報が含まれる。
【００２３】
ＤＭＡ転送チャネル１１０は、間接アドレスＲＡＭ１３３における読込先決定回路１３２が計算したアドレス４４が示す位置から転送情報４２を読み込むことにより、転送情報４２を取得する。そして、ＤＭＡ転送チャネル１１０は、取得した転送情報４２に従い、データ転送を行う。
例えば、ベースアドレスである固定アドレス４１に、オフセット値４３を足すと図６のアドレス１となった場合、ＤＭＡ転送チャネル１１０は転送元アドレス１と転送先アドレス１とを含む転送情報４２を読み込む。そして、ＤＭＡ転送チャネル１１０は、例えば、バス１１を介して接続されたＲＡＭにおける転送元アドレス１が示す位置のデータをリードし、リードしたデータを転送先アドレス１へ転送する。
【００２４】
固定アドレス記憶部１４０は、予め設定された固定アドレス４１を記憶するＲＡＭ、ＲＯＭ等の記憶装置である。
【００２５】
以上のように、実施の形態１に係るＤＭＡ転送装置１００では、転送周期決定回路１２０で決定された周期が示すタイミングで、カウンタ１３１の値が変化することにより、間接アドレスＲＡＭ１３３から転送情報４２を読み出すアドレスが自動的に切り替わる。これにより、ＤＭＡ転送装置１００は、次の転送情報４２を読み出すことが可能である。そのため、ＤＭＡ転送装置１００は、ＣＰＵ１０の介在なしに、次の転送情報４２に従った転送を開始することができる。
つまり、実施の形態１に係るＤＭＡ転送装置１００では、ＣＰＵ１０により転送情報が設定されるのは、間接アドレスＲＡＭ１３３に複数の転送情報４２が設定される一度だけである。間接アドレスＲＡＭ１３３に転送情報４２が設定された後は、ＤＭＡ転送チャネル１１０は、転送周期決定回路１２０で決定された周期が示すタイミングで、自動的に切り替えて間接アドレスＲＡＭ１３３から転送情報４２を読み出し、転送を行う。したがって、転送情報４２が変更される毎に、ＣＰＵ１０が転送情報４２を設定していたオーバヘッドが発生しない。また、転送周期決定回路１２０によって決定した周期が示すタイミングに合わせて、転送情報４２の切り替えを行うことができる。
【００２６】
なお、上記説明では、カウンタ１３１はアップカウンタとし、オフセット値となるカウンタ値はインクリメントされるとした。しかし、カウンタ１３１は、ダウンカウンタであってもよいし、カウンタ１３１に代えてビット反転回路としてもよい。
【００２７】
実施の形態２．
図７は、実施の形態２に係るＤＭＡ転送装置１００（データ転送装置）の構成図である。実施の形態２に係るＤＭＡ転送装置１００について、実施の形態１に係るＤＭＡ転送装置１００と異なる部分のみ説明する。
【００２８】
実施の形態１に係るＤＭＡ転送装置１００では、切り替え回路１３０を備えていた。これに対して、実施の形態２に係るＤＭＡ転送装置１００では、切り替え回路１３０に代えて、選択回路１５０を備える。
また、実施の形態１に係るＤＭＡ転送装置１００は、切り替え回路１３０で間接アドレスＲＡＭ１３３から読み出すアドレスを切り替えるためのベースアドレスを記憶した固定アドレス記憶部１４０を備えた。しかし、実施の形態２に係るＤＭＡ転送装置１００は、間接アドレスＲＡＭ１３３を用いて転送情報４２を決定していないため、固定アドレス記憶部１４０を備えていない。
【００２９】
図８は、選択回路１５０の構成図である。
選択回路１５０は、カウンタ１５１（第１値変更部）、読込先決定回路１５２（読込先決定部）、アドレスレジスタＡ１５３、アドレスレジスタＢ１５４を備える。
カウンタ１５１は、カウンタ１３１と同様であり、周期信号４０に同期して、カウンタ値をインクリメントする。
読込先決定回路１５２は、カウンタ１５１のカウンタ値４５に応じて、アドレスレジスタＡ１５３とアドレスレジスタＢ１５４とのどちらのアドレスレジスタを使用するかを決定する。アドレスレジスタＡ１５３とアドレスレジスタＢ１５４とには、異なる転送情報４２が記憶されている。したがって、読込先決定回路１５２が使用するレジスタを切り替えることにより、転送情報４２が切り替えられる。
【００３０】
ＤＭＡ転送チャネル１１０は、読込先決定回路１５２が決定したレジスタから転送情報４２を読み込むことにより、転送情報４２を取得する。そして、ＤＭＡ転送チャネル１１０は、取得した転送情報４２に従い、データ転送を行う。
【００３１】
以上のように、実施の形態２に係るＤＭＡ転送装置１００は、実施の形態１に係るＤＭＡ転送装置１００よりも小さい規模の回路で、実施の形態１に係るＤＭＡ転送装置１００と同様に、自動的に転送情報４２を切り替えることができ、ＣＰＵが転送情報を設定するオーバヘッドを削減することができる。
【００３２】
なお、カウンタ１５１は、カウンタ１３１と同様に、ダウンカウンタであってもよいし、カウンタ１３１に代えてビット反転回路としてもよい。
【００３３】
実施の形態３．
図９は、実施の形態３に係るＤＭＡ転送装置１００（データ転送装置）の構成図である。実施の形態３に係るＤＭＡ転送装置１００について、実施の形態１に係るＤＭＡ転送装置１００と異なる部分のみ説明する。
【００３４】
実施の形態１に係るＤＭＡ転送装置１００では、ベースアドレスとして使用できる値が、固定アドレス記憶部１４０が記憶した固定アドレス４１の１種類であった。これに対して、実施の形態３に係るＤＭＡ転送装置１００では、固定アドレス記憶部１４０に代えて、複数のベースアドレス４７を記憶したチャネルコマンドワード１７０（ベースアドレス記憶部）を備える。
また、実施の形態３に係るＤＭＡ転送装置１００では、チャネルコマンドワード１７０が記憶した複数のベースアドレス４７の中から使用するベースアドレス４７を選択するためのカウンタ１６０（第２値変更部）を備える。
【００３５】
カウンタ１６０は、カウンタ１３１と同様であり、周期信号４０に同期して、カウンタ値をインクリメントする。なお、転送周期決定回路１２０が複数の周期を示す周期信号を生成する場合、カウンタ１６０は、カウンタ１３１が同期する周期信号とは異なる周期を示す周期信号に同期して、カンウト値をインクリメントしてもよい。
【００３６】
図１０は、チャネルコマンドワード１７０の説明図である。
図１０に示すように、チャネルコマンドワード１７０は、予めＣＰＵ１０により登録された複数のベースアドレス４７を記憶したＲＡＭ等の記憶装置である。
【００３７】
図１１は、実施の形態３に係る切り替え回路１３０の構成図である。
図１１に示すように、切り替え回路１３０の読込先決定回路１３２は、カウンタ１６０のカウンタ値をアドレス４６として、チャネルコマンドワード１７０におけるアドレス４６が示す位置からベースアドレス４７を読み出す。そして、読込先決定回路１３２は、ベースアドレス４７とオフセット値４３とからアドレス４４を計算する。
例えば、図１０ではカウンタ値が０であるため、読込先決定回路１３２は、チャネルコマンドワード１７０における０番目のアドレスのベースアドレス０を読み出す。
【００３８】
そして、実施の形態１と同様に、ＤＭＡ転送チャネル１１０は、間接アドレスＲＡＭ１３３におけるアドレス４４が示す位置から転送情報４２を読み込み、読み込んだ転送情報４２に従いデータ転送を行う。
【００３９】
実施の形態３に係るＤＭＡ転送装置１００では、転送情報４２が使用される順序と異なる順序で間接アドレスＲＡＭ１３３に格納されている場合であっても、チャネルコマンドワード１７０が記憶したベースアドレス４７を切り替えてアドレス４４を計算することにより、対応することができる。
【００４０】
実施の形態４．
図１２は、実施の形態４に係るＤＭＡ転送装置１００（データ転送装置）の構成図である。実施の形態４に係るＤＭＡ転送装置１００について、実施の形態２に係るＤＭＡ転送装置１００と異なる部分のみ説明する。
【００４１】
実施の形態２に係るＤＭＡ転送装置１００では、カウンタ１５１のカウンタ値４５によって使用するレジスタを切り替えていた。
これに対して、実施の形態４に係るＤＭＡ転送装置１００では、複数のベース値４８を記憶したチャネルコマンドワード１７０（ベース値記憶部）と、チャネルコマンドワード１７０が記憶した複数のベース値４８の中から使用するベース値４８を選択するためのカウンタ１６０（第２値変更部）を備える。そして、実施の形態４に係るＤＭＡ転送装置１００では、ベース値４８とカウンタ値４５とによって使用するレジスタを切り替える。
【００４２】
カウンタ１６０は、実施の形態３に係るカウンタ１６０と同様である。
チャネルコマンドワード１７０は、予めＣＰＵ１０により登録された複数のベース値４８を記憶したＲＡＭ等の記憶装置である。
【００４３】
図１３は、実施の形態４に係る選択回路１５０の構成図である。
図１３に示すように、選択回路１５０の読込先決定回路１５２は、カウンタ１６０のカウンタ値をアドレス４６として、チャネルコマンドワード１７０におけるアドレス４６が示す位置からベース値４８を読み出す。そして、読込先決定回路１５２は、ベース値４８とカウンタ値４５とから使用するレジスタを決定する。
【００４４】
そして、実施の形態２と同様に、ＤＭＡ転送チャネル１１０は、読込先決定回路１５２が決定したレジスタから転送情報４２を読み込み、読み込んだ転送情報４２に従いデータ転送を行う。
【００４５】
実施の形態４に係るＤＭＡ転送装置１００では、転送情報４２が使用する順序と異なる順序でレジスタに格納されている場合であっても、チャネルコマンドワード１７０が記憶したベース値４８を切り替えて使用するレジスタを計算することにより、対応することができる。
【００４６】
実施の形態５．
図１４は、実施の形態５に係るＤＭＡ転送装置１００（データ転送装置）の構成図である。実施の形態５に係るＤＭＡ転送装置１００について、実施の形態１に係るＤＭＡ転送装置１００と異なる部分のみ説明する。
【００４７】
実施の形態１に係るＤＭＡ転送装置１００では、ＤＭＡ転送チャネル１１０は、転送情報４２における転送元アドレスに従って、リード要求２１により転送データをリードデータ２２として読み出し、内部バッファに一時記憶した後、転送情報４２における転送先アドレスに従って、ライト要求２３により内部バッファに一時記憶したリードデータ２２を書き込む。
これに対して、実施の形態５に係るＤＭＡ転送装置１００では、ＤＭＡ転送チャネル１１０は、バス１１を介して接続されたデバイス１２（例えば、プリンタ、スキャナ、カメラ等）から、データ受信２４を行う。つまり、ＤＭＡ転送チャネル１１０がリード要求２１により、能動的にデータの読み出しをするのではなく、デバイス１２が送信したデータをＤＭＡ転送チャネル１１０が受動的に受信する。ＤＭＡ転送チャネル１１０は、受信したデータを内部バッファに一時記憶する。そして、ＤＭＡ転送チャネル１１０は、内部バッファに一定のデータが格納されると、転送先アドレスへライト要求２３を行い、データ転送を行う。
【００４８】
ＤＭＡ転送チャネル１１０が転送情報４２を取得する方法等ついては、実施の形態１と同様である。
なお、ＤＭＡ転送チャネル１１０が転送情報４２を取得する方法等については、実施の形態１ではなく、実施の形態２−４のいずれかと同様であってもよい。
【００４９】
以上の実施の形態に係るＤＭＡ転送装置１００は、ＣＰＵ１０がＤＭＡ転送装置１００の転送状態を確認可能にするためのステータス情報を有するとしてもよい。つまり、ＤＭＡ転送装置１００のメモリ（ステータス記憶部）に、転送中、転送終了、転送エラー等のステータスを示すステータス情報を記憶しておき、ＣＰＵ１０からアクセス可能にしておいてもよい。
ＤＭＡ転送装置１００がステータス情報を有することで、ＣＰＵ１０がＤＭＡ転送装置１００の転送状況を判断することが容易となり、エラー発生時の処理や転送の中断等を容易に行うことができる。
【００５０】
また、以上の実施の形態に係るＤＭＡ転送装置１００は転送周期決定回路１２０により生成された周期信号４０により転送情報４２の切り替えがされていた。ここで、周期信号４０が示す周期は、クロック周波数３０の整数倍の周期である。
クロック周波数３０の整数倍の周期以外のタイミングで転送情報４２を切り替えしたい場合等には、周期信号４０が示す周期を遅延させる遅延回路（遅延部）を設けてもよい。つまり、転送周期決定回路１２０は、内部にクロック周波数３０が入力される分周回路と、分周回路が生成した周期信号が入力される遅延回路とを備えてもよい。遅延回路を備えることにより、転送情報４２の切り替えのタイミングをクロック周波数３０の整数倍のタイミングよりも自由度を上げて決めることが可能となる。つまり、クロック周波数３０の整数倍の周期と位相をずらして、転送情報４２を切り替えることが可能となる。
【００５１】
また、上記の説明において、転送情報とは、転送元アドレスと、転送先アドレスとの少なくともいずれかを含む情報であるとした。転送元アドレスと、転送先アドレスとの少なくともいずれかとしたのは、実施の形態５で説明したように、受動的に受信したデータを転送する場合に、転送情報に転送元アドレスが不要になる場合があるからである。また、この場合以外に、例えば、転送先アドレスが固定であり、転送元アドレスだけが周期的に切り替わる場合には、転送情報には、転送元アドレスだけを含め、転送先アドレスは別途記憶しておくようにしてもよい。同様に、転送元アドレスが固定であり、転送先アドレスだけが周期的に切り替わる場合には、転送情報には、転送元アドレスだけを含め、転送先アドレスは別途記憶しておくようにしてもよい。このようにすることで、ＲＡＭの記憶領域を節約することができる。
【００５２】
なお、ＤＭＡ転送チャネル１１０は、例えば、ソフトウェア、プログラム、あるいは回路で実現されてもよい。また、「〜回路」と説明したものは、ソフトウェア、プログラムで実現されてもよい。これらのソフトウェア、プログラムは、ＣＰＵ１０あるいは、ＣＰＵ１０とは別にＤＭＡ転送装置１００内部等に設けられた処理装置により実行される。
【００５３】
以上をまとめると次のようになる。
ＤＭＡ転送装置１００は、以下の（１）から（３）を特徴とする。
（１）周期毎に処理を繰り返す装置において、周期毎に送信アドレス又は受信アドレスが異なる時に、ＤＭＡを使用し転送を行う場合に、周期毎に送信アドレス又は受信アドレスの切り替えを自動的に行う。
（２）送信アドレス又は受信アドレスは間接的に決定する。周期毎に自動的に使用されるアドレスの参照先を変える事で、ＣＰＵからＤＭＡの転送先を設定する必要がなくなる。
（３）送信アドレス又は受信アドレスの参照先を変更するタイミングは、周期を決めているタイミングに分周し、分周した周期のタイミングで行う。
【００５４】
また、ＤＭＡ転送装置１００は、
データを読み出す転送元のアドレスと、データを書き込む転送先アドレスと転送長を指定して転送を行い、転送元アドレス、転送先アドレス、転送長の３つの転送情報を格納するＤＭＡ転送装置１００であって、
分周によって周期処理の周期を整数倍にした周期を決定する転送周期決定回路に接続され、
間接指定によって前記転送元アドレス、前記転送先アドレスを読み出すための前記転送元アドレス、前記転送先アドレスの組を複数格納する間接アドレスＲＡＭを備え、
前記転送周期決定回路によって分周された周期のタイミングに同期して、値をインクリメント又はデクリメントするカウンタ又はビット反転回路を備え、
前記カウンタ又はビット反転回路の値によって、前記間接アドレスＲＡＭの前記転送元アドレス、前記転送先アドレスが格納されているアドレスを切り替える事が可能な切り替え回路を備え、
切り替えによって得られたアドレスによって前期間接アドレスＲＡＭを読み出し、読み出した前期間接アドレスＲＡＭの前記転送元アドレス、前記転送先アドレスに従ってＤＭＡ転送を行うことを特徴とする。
【００５５】
さらに、ＤＭＡ転送装置１００は、
データを読み出す転送元のアドレスと、データを書き込む転送先アドレスと転送長を指定して転送を行い、転送元アドレス、転送先アドレス、転送長の３つの転送情報を格納するＤＭＡ転送装置１００であって、
前記転送周期決定回路に接続され、
前記転送元アドレス、前記転送先アドレスのデータ転送に必要な転送情報が格納されている複数のアドレスレジスタを備え、
前記カウンタ又は前記ビット反転回路を備え、
前記カウンタ又はビット反転回路の値によって、前記複数のアドレスレジスタから任意の前記アドレスレジスタを選択する選択回路を備え、
選択されたアドレスレジスタから読み出した前記転送元アドレス、前記転送先アドレスに従ってＤＭＡ転送を行うことを特徴とする。
【００５６】
また、さらに、ＤＭＡ転送装置１００は、
データを読み出す転送元のアドレスと、データを書き込む転送先アドレスと転送長を指定して転送を行い、転送元アドレス、転送先アドレス、転送長の３つの転送情報を複数格納するＤＭＡ転送装置１００であって、
前記転送周期決定回路に接続され、
前記間接アドレスＲＡＭを備え、
前記カウンタ又は前記ビット反転回路を備え、
前記間接アドレスＲＡＭに前記転送情報が不連続に複数格納されている場合に、ベースアドレスを使用して不連続に格納されている前記転送情報を選択することを可能にするため、複数のベースアドレスが格納されており前記カウンタ又はビット反転回路の値によって異なるベースアドレスを選択することが可能なＲＡＭであるチャネルコマンドワードを備え、
前記カウンタ又は前記ビット反転回路の値と前記チャネルコマンドワードに格納されている前記ベースアドレスによって、前記間接アドレスＲＡＭの前記転送元アドレス、前記転送先アドレスの前記転送情報が格納されているアドレスを切り替えることが可能な切り替え回路を備え、
切り替えによって得られたアドレスによってＲＡＭを読み出し、読み出した前期間接アドレスＲＡＭの前記転送元アドレス、前記転送先アドレスに従ってＤＭＡ転送を行うことを特徴とする。
【００５７】
また、ＤＭＡ転送装置１００は、
データを読み出す転送元のアドレスと、データを書き込む転送先アドレスと転送長を指定して転送を行い、転送元アドレス、転送先アドレス、転送長の３つの転送情報を複数格納するＤＭＡ転送装置１００であって、
前記転送周期決定回路に接続され、
前記アドレスレジスタを複数備え、
前記カウンタ又は前記ビット反転回路を備え、
前記転送情報が保存されているアドレスレジスタが不連続である場合に、ベースアドレスを使用して不連続なアドレスレジスタを選択することを可能にするため、複数のベースアドレスが格納されており前記カウンタ又はビット反転回路の値によって異なるベースアドレスを選択することが可能なＲＡＭであるチャネルコマンドワードを備え、
前記カウンタの値と前記ベースアドレスによって前記複数のアドレスレジスタから任意の前記アドレスレジスタを選択することが可能な選択回路を備え、
選択された前記アドレスレジスタに格納されている前記転送元アドレス、前記転送先アドレス、前記転送長に従ってＤＭＡ転送を行うことを特徴とする。
【００５８】
さらに、ＤＭＡ転送装置１００は、
デバイスから送られるデータを受信するバッファに保持されているデータを、書き込む転送先アドレスを指定して転送し、転送先アドレスの転送情報を格納するＤＭＡ転送装置１００であって、
分周によって周期処理の周期を整数倍にした周期を決定する転送周期決定回路に接続され、
間接指定によって前記転送先アドレスを読み出すための前記転送先アドレスを複数格納する間接アドレスＲＡＭを備え、
前記転送周期決定回路によって分周された周期のタイミングに同期して、値をインクリメント又はデクリメントするカウンタ又はビット反転回路を備え、
前記カウンタ又はビット反転回路の値によって、前記間接アドレスＲＡＭの前記転送先アドレスが格納されているアドレスを切り替える事が可能な切り替え回路を備え、
切り替えによって得られたアドレスによって前期間接アドレスＲＡＭを読み出し、読み出した前記転送先アドレスに従ってＤＭＡ転送を行うことを特徴とする。
【００５９】
また、さらに、ＤＭＡ転送装置１００は、
デバイスから送られるデータを受信するバッファに保持されているデータを、書き込む転送先アドレスを指定して転送し、転送先アドレスの転送情報を格納するＤＭＡ転送装置１００であって、
前記転送周期決定回路に接続され、
前記間接アドレスＲＡＭを備え、
前記カウンタ又は前記ビット反転回路を備え、
前記間接アドレスＲＡＭに前記転送情報が不連続に複数格納されている場合に、ベースアドレスを使用して不連続に格納されている前記転送情報を選択することを可能にするため、複数のベースアドレスが格納されており前記カウンタ又はビット反転回路の値によって異なるベースアドレスを選択することが可能なＲＡＭであるチャネルコマンドワードを備え、
前記カウンタ又はビット反転回路の値と前記チャネルコマンドワードに格納されている前記ベースアドレスによって、前記間接アドレスＲＡＭの前記転送先アドレスの前記転送情報が格納されているアドレスを切り替えることが可能な切り替え回路を備え、
切り替えによって得られたアドレスによってＲＡＭを読み出し、読み出した前期間接アドレスＲＡＭの前記転送先アドレスに従ってＤＭＡ転送を行うことを特徴とする。
【００６０】
また、ＤＭＡ転送装置１００は、ＣＰＵがＤＭＡ転送装置の転送状況を確認するためのステータス情報を備えることを特徴とする。
【００６１】
さらに、ＤＭＡ転送装置１００は、転送周期決定回路によって決定された周期を遅延させることで転送の開始タイミングの自由度を向上させるための遅延回路を備えることを特徴とする。
【符号の説明】
【００６２】
１０  ＣＰＵ、１１  バス、１２  デバイス、２１  リード要求、２２  リードデータ、２３  ライト要求、２４  データ受信、３０  クロック周波数、３１  リセット信号、４０  周期信号、４１  固定アドレス、４２  転送情報、４３  オフセット値、４４  アドレス、４５  カウンタ値、４６  アドレス、４７  ベースアドレス、４８，５２  ベース値、６０，６１  フリップフロップ、６２  ＮＯＴ回路、６３  ＮＡＮＤ回路、１００  ＤＭＡ転送装置、１１０  ＤＭＡ転送チャネル、１２０  転送周期決定回路、１３０  切り替え回路、１３１，１５１，１６０  カウンタ、１３２，１５２  読込先決定回路、１３３  間接アドレスＲＡＭ、１４０  固定アドレス記憶部、１５０  選択回路、１５３  アドレスレジスタＡ、１５４  アドレスレジスタＢ、１７０  チャネルコマンドワード。
【図１】
2011022781.tif 000003
【図２】
2011022781.tif 000004
【図３】
2011022781.tif 000005
【図４】
2011022781.tif 000006
【図５】
2011022781.tif 000007
【図６】
2011022781.tif 000008
【図７】
2011022781.tif 000009
【図８】
2011022781.tif 000010
【図９】
2011022781.tif 000011
【図１０】
2011022781.tif 000012
【図１１】
2011022781.tif 000013
【図１２】
2011022781.tif 000014
【図１３】
2011022781.tif 000015
【図１４】
2011022781.tif 000016