JP2003263399A - データ転送装置,その方法 - Google Patents
データ転送装置,その方法Info
- Publication number
- JP2003263399A JP2003263399A JP2002061901A JP2002061901A JP2003263399A JP 2003263399 A JP2003263399 A JP 2003263399A JP 2002061901 A JP2002061901 A JP 2002061901A JP 2002061901 A JP2002061901 A JP 2002061901A JP 2003263399 A JP2003263399 A JP 2003263399A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bus
- transfer
- data transfer
- usage right
- 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
Links
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】
【課題】 DMAデータ転送において,転送するデータ
量が多い場合や,転送先デバイスの処理速度が遅い場合
であっても,効率的にバスを使用することによってシス
テム全体の処理効率を低下させないこと。 【解決手段】 バスを使用するためのバス使用権を確保
することにより前記バスに接続されたデバイスと他のデ
バイスとの間のデータ転送を行った後,前記バス使用権
を開放するデータ転送方法において,前記デバイス内の
データを複数に分割した部分データごとに,前記バス使
用権の確保(S4),前記部分データの転送(S7〜S
9),及び前記バス使用権の開放(S10)を行い,こ
れを繰り返すことによって前記デバイス内のデータを転
送する。前記部分データそれぞれは,転送元の前記デバ
イス内におけるアドレスが連続していない複数のチャン
ネルデータから構成され,該チャンネルデータを順次転
送する(S7)ことによって前記部分データを転送す
る。
量が多い場合や,転送先デバイスの処理速度が遅い場合
であっても,効率的にバスを使用することによってシス
テム全体の処理効率を低下させないこと。 【解決手段】 バスを使用するためのバス使用権を確保
することにより前記バスに接続されたデバイスと他のデ
バイスとの間のデータ転送を行った後,前記バス使用権
を開放するデータ転送方法において,前記デバイス内の
データを複数に分割した部分データごとに,前記バス使
用権の確保(S4),前記部分データの転送(S7〜S
9),及び前記バス使用権の開放(S10)を行い,こ
れを繰り返すことによって前記デバイス内のデータを転
送する。前記部分データそれぞれは,転送元の前記デバ
イス内におけるアドレスが連続していない複数のチャン
ネルデータから構成され,該チャンネルデータを順次転
送する(S7)ことによって前記部分データを転送す
る。
Description
【0001】
【発明の属する技術分野】本発明は,バスを占有するこ
とによってバスに接続されたデバイスと他のデバイスと
の間のデータ転送を行うデータ転送装置に関するもので
ある。
とによってバスに接続されたデバイスと他のデバイスと
の間のデータ転送を行うデータ転送装置に関するもので
ある。
【0002】
【従来の技術】近年,コンピュータに限らず,その周辺
機器や家電製品等においても,その制御のためにCP
U,RAM,ROM,及び外部とデータの入出力を行う
I/Oデバイス等の各種デバイスが搭載されている。通
常,これらデバイスは共通のバスに接続されており,こ
のバスの使用権を確保(占有)してバスに接続されたデ
バイスと他のデバイスとの間のデータ転送を行うデバイ
スのことをバスマスタという。ここで,前記他のデバイ
スには,バス接続されたデバイスやバス接続されていな
いデバイスが含まれる。一般に,CPUは前記バスマス
タであるが,CPUを介さずに直接デバイス間でのデー
タ転送(いわゆるDMA(Direct Memory Access)転
送)を行う前記バスマスタであるDMAコントローラ
(データ転送装置)が設けられることも多い。このDM
Aコントローラの例として,外部装置から入力されたデ
ータを一時記憶メモリに書き込むもの等がある。DMA
コントローラを設けることにより,CPUのデータ転送
負荷を低減することができ,CPUは,より高度な演算
処理を優先的に行えるので,システム全体として効率的
な処理が可能となる。
機器や家電製品等においても,その制御のためにCP
U,RAM,ROM,及び外部とデータの入出力を行う
I/Oデバイス等の各種デバイスが搭載されている。通
常,これらデバイスは共通のバスに接続されており,こ
のバスの使用権を確保(占有)してバスに接続されたデ
バイスと他のデバイスとの間のデータ転送を行うデバイ
スのことをバスマスタという。ここで,前記他のデバイ
スには,バス接続されたデバイスやバス接続されていな
いデバイスが含まれる。一般に,CPUは前記バスマス
タであるが,CPUを介さずに直接デバイス間でのデー
タ転送(いわゆるDMA(Direct Memory Access)転
送)を行う前記バスマスタであるDMAコントローラ
(データ転送装置)が設けられることも多い。このDM
Aコントローラの例として,外部装置から入力されたデ
ータを一時記憶メモリに書き込むもの等がある。DMA
コントローラを設けることにより,CPUのデータ転送
負荷を低減することができ,CPUは,より高度な演算
処理を優先的に行えるので,システム全体として効率的
な処理が可能となる。
【0003】
【発明が解決しようとする課題】しかしながら,従来の
DMAコントローラは,データ転送を開始すると,それ
が完了するまでバスを占有し続けるので,他のバスマス
タはバスを使用する処理を行うことができず,バスが解
放されるまで待たされるという問題点があった。特に,
転送するデータ量が多い場合や,転送先のデバイスのデ
ータ処理速度が遅い場合には,長時間待たされることに
なり,システム全体の処理効率が悪化するという問題点
があった。逆に、転送データが細分され少量のデータを
多数転送する場合に,その都度バスの使用権を確保した
り解放したりしていると,バスの使用権を取得するため
のオーバヘッドによりバスの使用効率が低下するという
問題点があった。従って,本発明は上記事情に鑑みてな
されたものであり,その目的とするところは,DMAに
よるデータ転送において,転送するデータ量が多い場合
や転送先デバイスの処理速度が遅い場合等であっても,
逆に少量データを多数転送する場合であっても,効率的
にバスを使用することによってシステム全体の処理効率
を低下させないデータ転送装置及びその方法を提供する
ことにある。
DMAコントローラは,データ転送を開始すると,それ
が完了するまでバスを占有し続けるので,他のバスマス
タはバスを使用する処理を行うことができず,バスが解
放されるまで待たされるという問題点があった。特に,
転送するデータ量が多い場合や,転送先のデバイスのデ
ータ処理速度が遅い場合には,長時間待たされることに
なり,システム全体の処理効率が悪化するという問題点
があった。逆に、転送データが細分され少量のデータを
多数転送する場合に,その都度バスの使用権を確保した
り解放したりしていると,バスの使用権を取得するため
のオーバヘッドによりバスの使用効率が低下するという
問題点があった。従って,本発明は上記事情に鑑みてな
されたものであり,その目的とするところは,DMAに
よるデータ転送において,転送するデータ量が多い場合
や転送先デバイスの処理速度が遅い場合等であっても,
逆に少量データを多数転送する場合であっても,効率的
にバスを使用することによってシステム全体の処理効率
を低下させないデータ転送装置及びその方法を提供する
ことにある。
【0004】
【課題を解決するための手段】上記目的を達成するため
に本発明は,所定のバスを使用するためのバス使用権を
確保するバス使用権確保手段と,前記バス使用権を確保
した後に前記バスを介して該バスに接続されたデバイス
と他のデバイスとの間のデータ転送を行うデータ転送手
段と,データ転送後に前記バス使用権を解放するバス使
用権解放手段とを具備するデータ転送装置において,転
送元の前記デバイス内のデータを複数に分割した部分デ
ータごとに,前記バス使用権確保手段による前記バス使
用権の確保,前記データ転送手段による前記部分データ
の転送,及び前記バス使用権解放手段による前記バス使
用権の解放を行い,これを繰り返すことによって転送元
の前記デバイス内のデータを転送するよう制御する制御
手段を具備してなることを特徴とするデータ転送装置で
ある。これにより,転送するデータ量が多い場合や,転
送先デバイスの処理速度が遅い場合であっても,比較的
データ量の少ない前記部分データを転送するごとに,前
記バス使用権が解放されるので,バスに接続された他の
デバイスがバスの使用を長時間待たされることがなく,
バスを効率的に使用できるので,システム全体の処理効
率を低下させることがない。
に本発明は,所定のバスを使用するためのバス使用権を
確保するバス使用権確保手段と,前記バス使用権を確保
した後に前記バスを介して該バスに接続されたデバイス
と他のデバイスとの間のデータ転送を行うデータ転送手
段と,データ転送後に前記バス使用権を解放するバス使
用権解放手段とを具備するデータ転送装置において,転
送元の前記デバイス内のデータを複数に分割した部分デ
ータごとに,前記バス使用権確保手段による前記バス使
用権の確保,前記データ転送手段による前記部分データ
の転送,及び前記バス使用権解放手段による前記バス使
用権の解放を行い,これを繰り返すことによって転送元
の前記デバイス内のデータを転送するよう制御する制御
手段を具備してなることを特徴とするデータ転送装置で
ある。これにより,転送するデータ量が多い場合や,転
送先デバイスの処理速度が遅い場合であっても,比較的
データ量の少ない前記部分データを転送するごとに,前
記バス使用権が解放されるので,バスに接続された他の
デバイスがバスの使用を長時間待たされることがなく,
バスを効率的に使用できるので,システム全体の処理効
率を低下させることがない。
【0005】また,前記部分データそれぞれが,転送元
の前記デバイス内におけるアドレスが連続していない複
数のチャンネルデータから構成され,前記データ転送手
段が,前記バス使用権を解放せずに前記チャンネルデー
タを順次転送することにより前記部分データを転送する
ものであってもよい。
の前記デバイス内におけるアドレスが連続していない複
数のチャンネルデータから構成され,前記データ転送手
段が,前記バス使用権を解放せずに前記チャンネルデー
タを順次転送することにより前記部分データを転送する
ものであってもよい。
【0006】また,前記バス使用権の解放から次の前記
バス使用権の確保までの時間間隔を制御する時間間隔制
御手段を具備するものも考えられる。一般に,転送先
(転送データを受け取る側)のデバイスにおけるデータ
処理時間は,受け取るデータ量の大小によって変化する
ので,例えば,前記時間間隔制御手段により,前記部分
データのサイズに基づいて前記時間間隔を制御すれば,
転送先デバイスのバッファを溢れさせたり,無駄な処理
待ちが発生したりすることを防止でき,システム全体の
処理効率の悪化を防止できる。また,前記データ転送装
置をデータ転送方法として捉えたものも考えられる。
バス使用権の確保までの時間間隔を制御する時間間隔制
御手段を具備するものも考えられる。一般に,転送先
(転送データを受け取る側)のデバイスにおけるデータ
処理時間は,受け取るデータ量の大小によって変化する
ので,例えば,前記時間間隔制御手段により,前記部分
データのサイズに基づいて前記時間間隔を制御すれば,
転送先デバイスのバッファを溢れさせたり,無駄な処理
待ちが発生したりすることを防止でき,システム全体の
処理効率の悪化を防止できる。また,前記データ転送装
置をデータ転送方法として捉えたものも考えられる。
【0007】
【発明の実施の形態】以下添付図面を参照しながら,本
発明の実施の形態及び実施例について説明し,本発明の
理解に供する。尚,以下の実施の形態及び実施例は,本
発明を具体化した一例であって,本発明の技術的範囲を
限定する性格のものではない。ここに,図1は本発明の
実施の形態に係るDMA転送装置X及びその周辺デバイ
スの構成を表すブロック図,図2は本発明の実施の形態
に係るDMA転送装置XがアクセスするRAMのメモリ
構成の一例を表す図,図3は本発明の実施の形態に係る
DMA転送装置Xによるデータ転送時のタイムチャー
ト,図4は本発明の実施の形態に係るDMA転送装置の
データ転送手順を表すフローチャート,図5は本発明の
実施例に係るDMA転送装置Y及びその周辺デバイスの
構成を表すブロック図である。
発明の実施の形態及び実施例について説明し,本発明の
理解に供する。尚,以下の実施の形態及び実施例は,本
発明を具体化した一例であって,本発明の技術的範囲を
限定する性格のものではない。ここに,図1は本発明の
実施の形態に係るDMA転送装置X及びその周辺デバイ
スの構成を表すブロック図,図2は本発明の実施の形態
に係るDMA転送装置XがアクセスするRAMのメモリ
構成の一例を表す図,図3は本発明の実施の形態に係る
DMA転送装置Xによるデータ転送時のタイムチャー
ト,図4は本発明の実施の形態に係るDMA転送装置の
データ転送手順を表すフローチャート,図5は本発明の
実施例に係るDMA転送装置Y及びその周辺デバイスの
構成を表すブロック図である。
【0008】本発明の実施の形態に係るDMA転送装置
Xは,インクジェットプリンタ等のデータ処理装置に搭
載され,DMA転送を行うデータ転送装置の一例であ
る。以下,本DMA転送装置Xがインクジェットプリン
タに搭載された場合を例に説明する。図1に示すよう
に,本DMA転送装置Xは,インクジェットプリンタが
具備するバス10に接続され,該バス10介してCPU
12,ROM13,RAM14等の各デバイスと接続さ
れている。これらのうち,本DMA転送装置Xと前記C
PU12とが前記バスマスタである。また,前記バスマ
スタである本DMA転送装置XとCPU12とは,前記
バス10の使用権をどのバスマスタに与えるかを制御す
るバスアービタ11に接続されている。さらに,本DM
A転送装置Xは,印刷出力される画像データを一時記憶
するプリントバッファ30に接続され,該プリントバッ
ファ30に一時記憶された前記画像データが,当該イン
クジェットプリンタの印刷部(不図示)を制御する印刷
ヘッドコントローラ40により読み出されて印刷処理さ
れる。本DMA転送装置Xは,前記CPU12により生
成され前記RAM14に蓄積された前記画像データを,
前記RAM14から前記プリントバッファ30にDMA
転送する。
Xは,インクジェットプリンタ等のデータ処理装置に搭
載され,DMA転送を行うデータ転送装置の一例であ
る。以下,本DMA転送装置Xがインクジェットプリン
タに搭載された場合を例に説明する。図1に示すよう
に,本DMA転送装置Xは,インクジェットプリンタが
具備するバス10に接続され,該バス10介してCPU
12,ROM13,RAM14等の各デバイスと接続さ
れている。これらのうち,本DMA転送装置Xと前記C
PU12とが前記バスマスタである。また,前記バスマ
スタである本DMA転送装置XとCPU12とは,前記
バス10の使用権をどのバスマスタに与えるかを制御す
るバスアービタ11に接続されている。さらに,本DM
A転送装置Xは,印刷出力される画像データを一時記憶
するプリントバッファ30に接続され,該プリントバッ
ファ30に一時記憶された前記画像データが,当該イン
クジェットプリンタの印刷部(不図示)を制御する印刷
ヘッドコントローラ40により読み出されて印刷処理さ
れる。本DMA転送装置Xは,前記CPU12により生
成され前記RAM14に蓄積された前記画像データを,
前記RAM14から前記プリントバッファ30にDMA
転送する。
【0009】図2に,前記RAM14に蓄積された前記
画像データの構成の一例を示す。図2(a)に示すよう
に,前記画像データは,黒,シアン,マゼンタ,イエロ
ー,ライトシアン,ライトマゼンタそれぞれの色の濃度
を表す色データごと区分されて前記RAM14内に蓄積
される。そして,各色データは,前記印刷ヘッドコント
ローラ40によって印刷処理がなされる順番に並べられ
ている。例えば,図2(a)に網掛けで示されるデータ
ch1−1,ch2−1,…ch6−1は,前記印刷ヘ
ッドコントローラ40の最初の1回の処理によって印刷
される位置(例えば,記録紙の左上の8画素分)の各色
データであり,それらの次に並べられているデータ(図
2(b)に網掛けで示されるデータch1−2,ch2
−2,…ch6−2)は,2回目の処理によって印刷さ
れる位置(例えば,次の8画素分)の各色データであ
る。同様に3回目以降に処理されるデータが印刷処理が
なされる順番に並べられている。以下,前記印刷ヘッド
コントローラ40による1回の処理分の前記各色データ
それぞれ(ch1−1〜ch6−1,ch1−2〜ch
6−2等のそれぞれ)をチャンネルデータといい,1回
の処理分の各チャンネルデータをまとめて部分データと
いう。即ち,1組目のデータch1−1〜ch6−1が
1回目に処理される前記部分データであり,2組目のデ
ータch1−2〜ch6−2が2回目に処理される前記
部分データである。また,図2に示すように,前記部分
データを構成する前記チャンネルデータそれぞれのアド
レスは連続せずに散在している。前記印刷ヘッドコント
ローラ40は,前記プリントバッファ30に,記録紙の
先頭位置(左上の8画素分)から順次,前記部分データ
(ch1−1〜ch6−1やch1−2〜ch6−2)
が書き込まれることを前提に印刷処理を行う。
画像データの構成の一例を示す。図2(a)に示すよう
に,前記画像データは,黒,シアン,マゼンタ,イエロ
ー,ライトシアン,ライトマゼンタそれぞれの色の濃度
を表す色データごと区分されて前記RAM14内に蓄積
される。そして,各色データは,前記印刷ヘッドコント
ローラ40によって印刷処理がなされる順番に並べられ
ている。例えば,図2(a)に網掛けで示されるデータ
ch1−1,ch2−1,…ch6−1は,前記印刷ヘ
ッドコントローラ40の最初の1回の処理によって印刷
される位置(例えば,記録紙の左上の8画素分)の各色
データであり,それらの次に並べられているデータ(図
2(b)に網掛けで示されるデータch1−2,ch2
−2,…ch6−2)は,2回目の処理によって印刷さ
れる位置(例えば,次の8画素分)の各色データであ
る。同様に3回目以降に処理されるデータが印刷処理が
なされる順番に並べられている。以下,前記印刷ヘッド
コントローラ40による1回の処理分の前記各色データ
それぞれ(ch1−1〜ch6−1,ch1−2〜ch
6−2等のそれぞれ)をチャンネルデータといい,1回
の処理分の各チャンネルデータをまとめて部分データと
いう。即ち,1組目のデータch1−1〜ch6−1が
1回目に処理される前記部分データであり,2組目のデ
ータch1−2〜ch6−2が2回目に処理される前記
部分データである。また,図2に示すように,前記部分
データを構成する前記チャンネルデータそれぞれのアド
レスは連続せずに散在している。前記印刷ヘッドコント
ローラ40は,前記プリントバッファ30に,記録紙の
先頭位置(左上の8画素分)から順次,前記部分データ
(ch1−1〜ch6−1やch1−2〜ch6−2)
が書き込まれることを前提に印刷処理を行う。
【0010】また,本DMA転送装置Xは,図1に示す
ように,前記CPU12からの指令により前記色データ
それぞれを前記RAM14から前記プリントバッファ3
0に転送するDMAコントローラ21(DMAC)と,
前記バスアービタ11との所定の信号の授受により前記
バス使用権の確保及び解放を行うとともに,前記DMA
コントローラ21それぞれのうちのいずれに確保した前
記バス使用権を与えるかを制御するリクエストアービタ
22と,該リクエストアービタ22の指令により動作す
るタイマーであるウエイトカウンタ23とを具備してい
る。図3は,前記リクエストアービタ22から前記バス
アービタ11に対して前記バス使用権を確保(取得)す
るか解放するかを要求する信号であるバス使用要求信号
(busreq)の状態(ONかOFFか)と,該BU
Sリクエストに応じて前記バスアービタ11から前記リ
クエストアービタ22に対して前記バス使用権を許可す
るか禁止するかを応答する信号であるバス使用権許可信
号(busgnt)の状態(ONかOFFか)と,前記
部分データの転送処理の状態(転送中か否か)とを表す
タイムチャートである。前記リクエストアービタ22
は,前記部分データの転送を行う前に,まず,前記バス
使用要求信号(busreq)をONにする(t1の時
点)。前記バスアービタ11は,前記CPU12等,他
の前記バスマスタの状態により,本DMA転送装置X用
に前記バス使用権を確保できた時点で前記バス使用許可
信号(busgnt)をONにする(t2の時点)。前
記DMAコントローラ21は,前記バス使用許可信号
(busgnt)がONである間に1組の前記部分デー
タ(複数の前記チャンネルデータ)の1回目の転送処理
を行う。さらに,該転送処理の終了後,前記リクエスト
アービタ22が,前記バス使用要求信号(busre
q)をOFFにするとともに,前記ウエイトカウンタ2
3が計時を開始する(t3の時点)。前記バス使用要求
信号(busreq)のOFFに応じて,前記バスアー
ビタ11により前記バス使用許可信号(gusgnt)
がOFFされ,前記バス使用権が解放される。これによ
り,前記CPU等の他の前記バスマスタによる前記バス
10の使用が可能となる。そして,前記ウエイトカウン
タ23による計時終了後に前記バス使用要求信号(bu
sreq)が再度ONされ(t5の時点),2組目の前
記部分データの転送処理が行われ,以下,全ての前記画
像データが転送されるまで同様の処理が繰り返される。
ように,前記CPU12からの指令により前記色データ
それぞれを前記RAM14から前記プリントバッファ3
0に転送するDMAコントローラ21(DMAC)と,
前記バスアービタ11との所定の信号の授受により前記
バス使用権の確保及び解放を行うとともに,前記DMA
コントローラ21それぞれのうちのいずれに確保した前
記バス使用権を与えるかを制御するリクエストアービタ
22と,該リクエストアービタ22の指令により動作す
るタイマーであるウエイトカウンタ23とを具備してい
る。図3は,前記リクエストアービタ22から前記バス
アービタ11に対して前記バス使用権を確保(取得)す
るか解放するかを要求する信号であるバス使用要求信号
(busreq)の状態(ONかOFFか)と,該BU
Sリクエストに応じて前記バスアービタ11から前記リ
クエストアービタ22に対して前記バス使用権を許可す
るか禁止するかを応答する信号であるバス使用権許可信
号(busgnt)の状態(ONかOFFか)と,前記
部分データの転送処理の状態(転送中か否か)とを表す
タイムチャートである。前記リクエストアービタ22
は,前記部分データの転送を行う前に,まず,前記バス
使用要求信号(busreq)をONにする(t1の時
点)。前記バスアービタ11は,前記CPU12等,他
の前記バスマスタの状態により,本DMA転送装置X用
に前記バス使用権を確保できた時点で前記バス使用許可
信号(busgnt)をONにする(t2の時点)。前
記DMAコントローラ21は,前記バス使用許可信号
(busgnt)がONである間に1組の前記部分デー
タ(複数の前記チャンネルデータ)の1回目の転送処理
を行う。さらに,該転送処理の終了後,前記リクエスト
アービタ22が,前記バス使用要求信号(busre
q)をOFFにするとともに,前記ウエイトカウンタ2
3が計時を開始する(t3の時点)。前記バス使用要求
信号(busreq)のOFFに応じて,前記バスアー
ビタ11により前記バス使用許可信号(gusgnt)
がOFFされ,前記バス使用権が解放される。これによ
り,前記CPU等の他の前記バスマスタによる前記バス
10の使用が可能となる。そして,前記ウエイトカウン
タ23による計時終了後に前記バス使用要求信号(bu
sreq)が再度ONされ(t5の時点),2組目の前
記部分データの転送処理が行われ,以下,全ての前記画
像データが転送されるまで同様の処理が繰り返される。
【0011】次に,図4のフローチャートを用いて本D
MA転送装置Xにおけるデータ転送の処理手順について
説明する。以下,S1,S2,…は,処理手順(ステッ
プ)の番号を表すものとする。まず,前記DMAコント
ローラ21及び前記リクエストアービタ22は,前記C
PU12等からの所定のDMA転送開始指令の入力待ち
状態(S1のN側)となり,前記DMA転送開始指令が
入力されると(S1のY側),前記リクエストアービタ
22は,前記DMA転送開始指令に基づいて,データ転
送を行う前記チャンネルデータの数nを設定する(S
2)。例えば,前記DMA転送開始指令が,モノクロ印
刷に関する指令であればn=1,黒及びカラー3原色印
刷に関する指令であればn=4,フルカラー印刷に関す
る指令であればn=6等に設定される。同時に,前記D
MA転送開始指令を受けた前記DMAコントローラ21
は,前記リクエストアービタ22に対し,前記DMA転
送開始指令により指定される前記色データ全ての転送を
完了するまで,前記バス10の使用許可を要求するDM
Aリクエスト(req)を出力する(S2)。次に,前
記リクエストアービタ22は,前記DMAリクエスト
(req)の有無を判別(S3)し,該DMAリクエス
ト(req)がある場合には,前記バスアービタ11へ
の前記バス使用要求信号(busreq)をONする
(S4,図2のt1時点に相当)。さらに,前記バス使
用許可信号(busgnt)がONになるまで待ち(S
5のN側),これがONになると(S5のY側),前記
チャンネルデータの番号(黒=1,シアン=2,…ライ
トマゼンタ=6)を表すカウンタiをリセット(i←
1)する(S6)。次に,前記リクエストアービタ22
がi番目の前記チャンネルデータ(前記色データ)に対
応する前記DMAコントローラ21に対し,前記バス1
0の使用を許可する旨の応答ackを出力することによ
り,許可を受けた前記DMAコントローラ21が,1色
分の前記チャンネルデータを前記RAM14から前記プ
リントバッファ30へ転送する(S7)。該転送終了時
に,次の転送対象となる前記チャンネルデータの前記R
AM内でのアドレスが記憶される(不図示)。次に,前
記リクエストアービタ22は,前記カウンタiがS2で
設定された前記チャンネルデータの数nと等しいか否か
を判別(S8)し(即ち,指定された全チャンネルデー
タの転送が終了したか否かを判別し),iとnが等しく
ない(即ち,i<n)と判別した場合は,前記カウンタ
iをカウントアップ(S9)した後,S7へ戻って次の
前記チャンネルデータの転送処理が行われる。一方,S
8において,i=nである(即ち,指定された全チャン
ネルデータの転送が終了した)と判別されると,前記リ
クエストアービタ22は,前記バス使用要求信号(bu
sreq)をOFFして前記バス使用権を解放する。さ
らに,前記リクエストアービタ22は,前記ウエイトカ
ウンタ23に対し,次に前記バス使用権を確保するまで
の時間間隔(図3のt3〜t5の時間)に相当するカウ
ンタをセット(S11)して前記ウエイトカウンタ23
をスタートさせる(S12)。該時間間隔は,例えば,
前記部分データのデータサイズに応じて設定する等が考
えられる。そして,前記ウエイトカウンタ23のカウン
ト終了を待ち(S13のN側),該カウントが終了する
と(S13のY側),S3へ戻って次の前記部分データ
についての前記DMAリクエスト(req)がなくなる
まで前述したS3〜S13の処理が繰り返される(S3
のY側)。一方,S3において,前記リクエストアービ
タ22は,いずれの前記DMAコントローラ21からも
前記DMAリクエスト(req)がないと判別(S3の
N側)すると,データ転送処理が終了する。このよう
に,前記リクエストアービタ22により,転送データ
(前記画像データ)を複数に分割した前記部分データご
とに,前記バス使用権の確保(S4),前記部分データ
の転送(S7〜S9),及び前記バス使用権の解放(S
10)を行い,これを繰り返すことによって転送元の前
記デバイス内のデータ(前記画像データ)を転送するよ
う制御されるので,転送するデータ量が多い場合や,転
送先デバイスの処理速度が遅い場合であっても,前記バ
ス10に接続された他のデバイスが前記バス10の使用
を長時間待たされることがなく,前記バス10を効率的
に使用できる。
MA転送装置Xにおけるデータ転送の処理手順について
説明する。以下,S1,S2,…は,処理手順(ステッ
プ)の番号を表すものとする。まず,前記DMAコント
ローラ21及び前記リクエストアービタ22は,前記C
PU12等からの所定のDMA転送開始指令の入力待ち
状態(S1のN側)となり,前記DMA転送開始指令が
入力されると(S1のY側),前記リクエストアービタ
22は,前記DMA転送開始指令に基づいて,データ転
送を行う前記チャンネルデータの数nを設定する(S
2)。例えば,前記DMA転送開始指令が,モノクロ印
刷に関する指令であればn=1,黒及びカラー3原色印
刷に関する指令であればn=4,フルカラー印刷に関す
る指令であればn=6等に設定される。同時に,前記D
MA転送開始指令を受けた前記DMAコントローラ21
は,前記リクエストアービタ22に対し,前記DMA転
送開始指令により指定される前記色データ全ての転送を
完了するまで,前記バス10の使用許可を要求するDM
Aリクエスト(req)を出力する(S2)。次に,前
記リクエストアービタ22は,前記DMAリクエスト
(req)の有無を判別(S3)し,該DMAリクエス
ト(req)がある場合には,前記バスアービタ11へ
の前記バス使用要求信号(busreq)をONする
(S4,図2のt1時点に相当)。さらに,前記バス使
用許可信号(busgnt)がONになるまで待ち(S
5のN側),これがONになると(S5のY側),前記
チャンネルデータの番号(黒=1,シアン=2,…ライ
トマゼンタ=6)を表すカウンタiをリセット(i←
1)する(S6)。次に,前記リクエストアービタ22
がi番目の前記チャンネルデータ(前記色データ)に対
応する前記DMAコントローラ21に対し,前記バス1
0の使用を許可する旨の応答ackを出力することによ
り,許可を受けた前記DMAコントローラ21が,1色
分の前記チャンネルデータを前記RAM14から前記プ
リントバッファ30へ転送する(S7)。該転送終了時
に,次の転送対象となる前記チャンネルデータの前記R
AM内でのアドレスが記憶される(不図示)。次に,前
記リクエストアービタ22は,前記カウンタiがS2で
設定された前記チャンネルデータの数nと等しいか否か
を判別(S8)し(即ち,指定された全チャンネルデー
タの転送が終了したか否かを判別し),iとnが等しく
ない(即ち,i<n)と判別した場合は,前記カウンタ
iをカウントアップ(S9)した後,S7へ戻って次の
前記チャンネルデータの転送処理が行われる。一方,S
8において,i=nである(即ち,指定された全チャン
ネルデータの転送が終了した)と判別されると,前記リ
クエストアービタ22は,前記バス使用要求信号(bu
sreq)をOFFして前記バス使用権を解放する。さ
らに,前記リクエストアービタ22は,前記ウエイトカ
ウンタ23に対し,次に前記バス使用権を確保するまで
の時間間隔(図3のt3〜t5の時間)に相当するカウ
ンタをセット(S11)して前記ウエイトカウンタ23
をスタートさせる(S12)。該時間間隔は,例えば,
前記部分データのデータサイズに応じて設定する等が考
えられる。そして,前記ウエイトカウンタ23のカウン
ト終了を待ち(S13のN側),該カウントが終了する
と(S13のY側),S3へ戻って次の前記部分データ
についての前記DMAリクエスト(req)がなくなる
まで前述したS3〜S13の処理が繰り返される(S3
のY側)。一方,S3において,前記リクエストアービ
タ22は,いずれの前記DMAコントローラ21からも
前記DMAリクエスト(req)がないと判別(S3の
N側)すると,データ転送処理が終了する。このよう
に,前記リクエストアービタ22により,転送データ
(前記画像データ)を複数に分割した前記部分データご
とに,前記バス使用権の確保(S4),前記部分データ
の転送(S7〜S9),及び前記バス使用権の解放(S
10)を行い,これを繰り返すことによって転送元の前
記デバイス内のデータ(前記画像データ)を転送するよ
う制御されるので,転送するデータ量が多い場合や,転
送先デバイスの処理速度が遅い場合であっても,前記バ
ス10に接続された他のデバイスが前記バス10の使用
を長時間待たされることがなく,前記バス10を効率的
に使用できる。
【0012】
【実施例】本発明の実施の形態に係る前記DMA転送装
置Xでは,前記DMAコントローラ21を前記色データ
ごとに設ける構成としたが,このような構成に限らず,
例えば,図5に示すDMA転送装置Yのように前記DM
Aコントローラ21を1つとする構成であってもよい。
本DMA転送装置Yでは,前記バスアービタ11に対す
る前記バス使用要求信号(busreq)の出力,及び
前記バス使用許可信号の入力は,前記DMAコントロー
ラ21が行う。さらに,前記色データそれぞれに対応す
るレジスタ24が設けられている。該レジスタ24は,
前記DMAコントローラ21により次の転送対象となる
前記チャンネルデータの先頭アドレスを指すポインタ情
報が格納されるアドレスレジスタ(不図示)と,前記部
分データの残り転送回数を表す情報が格納される転送カ
ウントレジスタ(不図示)とから構成されている。前記
DMAコントローラ21は,前記チャンネルデータを転
送するごとに,前記アドレスレジスタのポインタを次の
転送対象となる前記チャンネルデータの先頭アドレスを
指すように更新するとともに,前記転送カウントレジス
タの残り転送回数を1ずつカウントダウンする。該残り
転送回数は,前記CPU12等から前記DMA転送開始
指令を受けたときに,前記画像データを前記部分データ
に分割した分割数に初期設定される。前記DMAコント
ローラ21は,前記ポインタによりアドレス指定される
前記チャンネルデータを順次転送することにより,前記
部分データの転送を行うことができるとともに,前記残
り転送回数が0(ゼロ)になったことを検出することに
より,データ転送が完了したことを判別できる。
置Xでは,前記DMAコントローラ21を前記色データ
ごとに設ける構成としたが,このような構成に限らず,
例えば,図5に示すDMA転送装置Yのように前記DM
Aコントローラ21を1つとする構成であってもよい。
本DMA転送装置Yでは,前記バスアービタ11に対す
る前記バス使用要求信号(busreq)の出力,及び
前記バス使用許可信号の入力は,前記DMAコントロー
ラ21が行う。さらに,前記色データそれぞれに対応す
るレジスタ24が設けられている。該レジスタ24は,
前記DMAコントローラ21により次の転送対象となる
前記チャンネルデータの先頭アドレスを指すポインタ情
報が格納されるアドレスレジスタ(不図示)と,前記部
分データの残り転送回数を表す情報が格納される転送カ
ウントレジスタ(不図示)とから構成されている。前記
DMAコントローラ21は,前記チャンネルデータを転
送するごとに,前記アドレスレジスタのポインタを次の
転送対象となる前記チャンネルデータの先頭アドレスを
指すように更新するとともに,前記転送カウントレジス
タの残り転送回数を1ずつカウントダウンする。該残り
転送回数は,前記CPU12等から前記DMA転送開始
指令を受けたときに,前記画像データを前記部分データ
に分割した分割数に初期設定される。前記DMAコント
ローラ21は,前記ポインタによりアドレス指定される
前記チャンネルデータを順次転送することにより,前記
部分データの転送を行うことができるとともに,前記残
り転送回数が0(ゼロ)になったことを検出することに
より,データ転送が完了したことを判別できる。
【0013】
【発明の効果】以上説明したように,本発明によれば,
転送元のデバイス内のデータを複数に分割した部分デー
タを転送するごとにバス使用権を解放するので,転送す
るデータ量が多い場合や,転送先デバイスの処理速度が
遅い場合であっても,バスに接続された他のデバイスが
バスの使用を長時間待たされることがなく,バスを効率
的に使用できるので,システム全体の処理効率を低下さ
せることがない。また、アドレスが連続していない複数
のデータであっても,バス使用権を解放せずに順次転送
することにより,少量データを多数転送する場合であっ
ても,バスを効率的に使用できるので,システム全体の
処理効率を低下させることがない。また,バス使用権の
解放から次のバス使用権の確保までの時間間隔が転送す
るデータのサイズ等によって適切に制御することによ
り,転送先デバイスのバッファを溢れさせたり,無駄な
処理待ちが発生したりすることを防止でき,状況に応じ
たより効率的な処理が可能となる。
転送元のデバイス内のデータを複数に分割した部分デー
タを転送するごとにバス使用権を解放するので,転送す
るデータ量が多い場合や,転送先デバイスの処理速度が
遅い場合であっても,バスに接続された他のデバイスが
バスの使用を長時間待たされることがなく,バスを効率
的に使用できるので,システム全体の処理効率を低下さ
せることがない。また、アドレスが連続していない複数
のデータであっても,バス使用権を解放せずに順次転送
することにより,少量データを多数転送する場合であっ
ても,バスを効率的に使用できるので,システム全体の
処理効率を低下させることがない。また,バス使用権の
解放から次のバス使用権の確保までの時間間隔が転送す
るデータのサイズ等によって適切に制御することによ
り,転送先デバイスのバッファを溢れさせたり,無駄な
処理待ちが発生したりすることを防止でき,状況に応じ
たより効率的な処理が可能となる。
【図1】本発明の実施の形態に係るDMA転送装置X及
びその周辺デバイスの構成を表すブロック図。
びその周辺デバイスの構成を表すブロック図。
【図2】本発明の実施の形態に係るDMA転送装置Xが
アクセスするRAMのメモリ構成の一例を表す図。
アクセスするRAMのメモリ構成の一例を表す図。
【図3】本発明の実施の形態に係るDMA転送装置Xに
よるデータ転送時のタイムチャート。
よるデータ転送時のタイムチャート。
【図4】本発明の実施の形態に係るDMA転送装置のデ
ータ転送手順を表すフローチャート。
ータ転送手順を表すフローチャート。
【図5】本発明の実施例に係るDMA転送装置Y及びそ
の周辺デバイスの構成を表すブロック図。
の周辺デバイスの構成を表すブロック図。
10…バス
11…バスアービタ
12…CPU
13…ROM
14…RAM
21…DMAコントローラ
22…リクエストアービタ
23…ウエイトカウンタ
24…レジスタ
30…プリントバッファ
40…印刷ヘッドコントローラ
S1,S2,,…処理手順(ステップ)
Claims (8)
- 【請求項1】 所定のバスを使用するためのバス使用権
を確保するバス使用権確保手段と,前記バス使用権を確
保した後に前記バスを介して該バスに接続されたデバイ
スと他のデバイスとの間のデータ転送を行うデータ転送
手段と,データ転送後に前記バス使用権を解放するバス
使用権解放手段とを具備するデータ転送装置において,
転送元の前記デバイス内のデータを複数に分割した部分
データごとに,前記バス使用権確保手段による前記バス
使用権の確保,前記データ転送手段による前記部分デー
タの転送,及び前記バス使用権解放手段による前記バス
使用権の解放を行い,これを繰り返すことによって転送
元の前記デバイス内のデータを転送するよう制御する制
御手段を具備してなることを特徴とするデータ転送装
置。 - 【請求項2】 前記部分データそれぞれが,転送元の前
記デバイス内におけるアドレスが連続していない複数の
チャンネルデータから構成され,前記データ転送手段
が,前記バス使用権を解放せずに前記チャンネルデータ
を順次転送することにより前記部分データを転送してな
る請求項1に記載のデータ転送装置。 - 【請求項3】 前記バス使用権の解放から次の前記バス
使用権の確保までの時間間隔を制御する時間間隔制御手
段を具備してなる請求項1又は2のいずれかに記載のデ
ータ転送装置。 - 【請求項4】 前記時間間隔制御手段が,前記部分デー
タのサイズに基づいて前記時間間隔を制御してなる請求
項3に記載のデータ転送装置。 - 【請求項5】 所定のバスを使用するためのバス使用権
を確保するバス使用権確保手順と,前記バス使用権を確
保した後に前記バスを介して該バスに接続されたデバイ
スと他のデバイスとの間のデータ転送を行うデータ転送
手順と,データ転送後に前記バス使用権を解放するバス
使用権解放手順とを有するデータ転送手順において,転
送元の前記デバイス内のデータを複数に分割した部分デ
ータごとに,前記バス使用権確保手順による前記バス使
用権の確保,前記データ転送手順による前記部分データ
の転送,及び前記バス使用権解放手順による前記バス使
用権の解放を行い,これを繰り返すことによって転送元
の前記デバイス内のデータを転送するよう制御する制御
手順を有してなることを特徴とするデータ転送方法。 - 【請求項6】 前記部分データそれぞれが,転送元の前
記デバイス内におけるアドレスが連続していない複数の
チャンネルデータから構成され,前記データ転送手順
が,前記バス使用権を解放せずに前記チャンネルデータ
を順次転送することにより前記部分データを転送してな
る請求項5に記載のデータ転送方法。 - 【請求項7】 前記バス使用権の解放から次の前記バス
使用権の確保までの時間間隔を制御する時間間隔制御手
順を有してなる請求項5又は6のいずれかに記載のデー
タ転送方法。 - 【請求項8】 前記時間間隔制御手順が,前記部分デー
タのサイズに基づいて前記時間間隔を制御してなる請求
項7に記載のデータ転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002061901A JP2003263399A (ja) | 2002-03-07 | 2002-03-07 | データ転送装置,その方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002061901A JP2003263399A (ja) | 2002-03-07 | 2002-03-07 | データ転送装置,その方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003263399A true JP2003263399A (ja) | 2003-09-19 |
Family
ID=29195946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002061901A Pending JP2003263399A (ja) | 2002-03-07 | 2002-03-07 | データ転送装置,その方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003263399A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332548B2 (en) | 2006-12-13 | 2012-12-11 | Fujitsu Limited | Monitoring device, semiconductor integrated circuit, and monitoring method |
-
2002
- 2002-03-07 JP JP2002061901A patent/JP2003263399A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332548B2 (en) | 2006-12-13 | 2012-12-11 | Fujitsu Limited | Monitoring device, semiconductor integrated circuit, and monitoring method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20010012122A1 (en) | Printing apparatus | |
JP3797013B2 (ja) | 画像処理方法、印刷装置、画像処理システムおよび記録媒体 | |
JP5718305B2 (ja) | 画像形成装置 | |
JP4829408B2 (ja) | 画像処理方法及び画像処理装置 | |
JP2003263399A (ja) | データ転送装置,その方法 | |
JP4175974B2 (ja) | 画像データ転送制御装置 | |
US9197782B2 (en) | Image processing device and image processing method | |
JP2004133661A (ja) | インタフェースユニット | |
JP2007087347A (ja) | データ転送装置 | |
JP2000322209A (ja) | プリンタシステム | |
JP2000229451A (ja) | プリンタ制御方法および装置 | |
JPH08310084A (ja) | 印刷装置 | |
JP2004038231A (ja) | 半導体集積回路 | |
JPH0216626A (ja) | プリンタ出力制御方式 | |
JP2005062946A (ja) | メモリ制御装置 | |
JP4832327B2 (ja) | バス調停回路 | |
JPH0916354A (ja) | 印刷制御方法 | |
JP2001184301A (ja) | 画像データ転送方法ならびに装置 | |
JP2021026303A (ja) | データ転送装置 | |
JPH08152978A (ja) | プリンタエンジンの制御装置 | |
JPH0361562A (ja) | プリンタ装置 | |
JPS62278052A (ja) | プリンタのドツトイメ−ジデ−タ入力方式 | |
JPH0746305B2 (ja) | プリント制御装置 | |
JPH06149735A (ja) | データ受信制御装置 | |
JPH05138956A (ja) | プリンタ内画像データ制御方式 |