(57)【要約】【課題】バッファメモリを介して入出力デバイスとデータ記憶手段との間でデータ転送を行う場合に、データ記憶手段とバッファメモリとの間で効率良くデータを転送することができるデータ転送制御装置及びデータ転送制御方法を提供すること。【解決手段】本発明のデータ転送制御装置１０のＤＭＡコントローラ６は、ＦＩＦＯメモリ７ａ（或いは、ＦＩＦＯメモリ７ｂ）に格納されているデータのビット数を検出するビット数検出部６ｂと、ビット数検出部６ｂによって検出されたビット数に基づいて、ＦＩＦＯメモリ７ａ（或いは、ＦＩＦＯメモリ７ｂ）とＳＤＲＡＭ５との間でのデータの転送を、１サイクルスチールで行うデータ転送部６ｃとを備える。【選択図】図２
2007219874.tif 000002
【特許請求の範囲】
【請求項１】
１回に所定ビット数分のデータの入出力を行う入出力デバイスと、
データを読み書き可能に格納するデータ記憶手段と、
前記入出力デバイスとデータ記憶手段との間に介設され、前記所定ビット数の２倍以上の所定数倍のデータであるバッファ可能ビット数のデータを一時的に格納するバッファメモリと、
前記バッファメモリを介する、前記入出力デバイスと前記データ記憶手段との間のデータの転送を制御するＤＭＡコントローラとを備えたデータ転送制御装置であって、
前記ＤＭＡコントローラは、前記バッファメモリに格納されている前記データのビット数を検出する検出手段と、
前記検出手段によって検出されたビット数に基づいて、前記バッファメモリと前記データ記憶手段との間でのデータの転送を、１サイクルスチールで行うデータ転送手段とを備えることを特徴とするデータ転送制御装置。
【請求項２】
前記データ転送手段は、前記データ記憶手段から前記バッファメモリへデータを転送する場合に、前記バッファ可能ビット数と前記検出手段によって検出されたビット数との差のビット数のデータの転送を、１サイクルスチールで行うことを特徴とする請求項１に記載のデータ転送制御装置。
【請求項３】
前記データ転送手段は、前記バッファメモリから前記データ記憶手段へデータを転送する場合に、前記検出手段によって検出されたビット数のデータの転送を、１サイクルスチールで行うことを特徴とする請求項１又は２に記載のデータ転送制御装置。
【請求項４】
前記データ記憶手段は、ＳＤＲＡＭからなり、
前記データ転送手段は、前記バッファメモリと前記データ記憶手段との間でのデータの転送を、バースト転送により行うことを特徴とする請求項１〜３のいずれかに記載のデータ転送制御装置。
【請求項５】
前記バッファメモリは、ＦＩＦＯメモリであることを特徴とする請求項１〜４のいずれかに記載のデータ転送制御装置。
【請求項６】
１回に所定ビット数分のデータの入出力を行う入出力デバイスと、
データを読み書き可能に格納するデータ記憶手段と、
前記入出力デバイスとデータ記憶手段との間に介設され、前記所定ビット数の２倍以上の所定数倍のデータであるバッファ可能ビット数のデータを一時的に格納するバッファメモリと、
前記バッファメモリを介する、前記入出力デバイスと前記データ記憶手段との間のデータの転送を制御するＤＭＡコントローラとを備えたデータ転送制御装置のデータ転送制御方法であって、
前記ＤＭＡコントローラが、前記バッファメモリに格納されている前記データのビット数を検出し、
検出されたビット数に基づいて、前記バッファメモリと前記データ記憶手段との間でのデータの転送を、１サイクルスチールで行うことを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御装置及びデータ転送制御方法に関し、詳しくは、バッファメモリを介して、入出力デバイスとデータ記憶手段との間のデータ転送を行うＤＭＡ（Direct Memory Access）コントローラを備えたデータ転送制御装置及びデータ転送制御方法に関するものである。
【背景技術】
【０００２】
入出力（Ｉ／Ｏ）デバイスとデータ記憶手段（ここでは、ＤＲＡＭ：Dynamic Random Access Memory）との間でＤＭＡ転送を行う場合、転送効率を向上させるために、入出力デバイスとＤＲＡＭとの間にＦＩＦＯ（first-in first-out）メモリを設け、ＦＩＦＯメモリを介して、入出力デバイスとＤＲＡＭとの間のデータのＤＭＡ転送を行うＤＭＡ転送制御装置が考案されている（例えば、特許文献１参照）。
【特許文献１】特開平２−２２７７６２号公報（図２）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、特許文献１に開示されているような従来のＤＭＡ転送制御装置において、Ｉ／ＯデバイスによるＦＩＦＯメモリへのデータの書き込み／読み出しは、常にＦＩＦＯメモリの容量分（例えば、４バイト）というわけではなく、ＦＩＦＯメモリの容量分未満（例えば、２バイトや３バイト）の場合もある。図７（ａ）に例示するように、Ｉ／ＯデバイスからＤＲＡＭへ転送するべき２バイトのデータがＦＩＦＯメモリ（バッファメモリの一例）に格納されている場合、１回のＤＭＡ転送で１バイトのデータをＦＩＦＯメモリからＤＲＡＭへＤＭＡ転送すると、ＦＩＦＯメモリには、ＤＲＡＭへ転送するべき２バイトのデータが格納されているにも関わらず１バイトしか転送されないため、効率が悪いという問題があった。
【０００４】
また、図７（ｂ）に例示するように、ＤＲＡＭから読み出されてＩ／Ｏデバイスへ転送するべき１バイトのデータがＦＩＦＯメモリに格納されている場合、１回のＤＭＡ転送で１バイトのデータをＤＲＡＭからＦＩＦＯメモリへＤＭＡ転送すると、ＦＩＦＯメモリには、３バイトのデータを格納することができるにも関わらず１バイトしか転送されないため、上記と同様に効率が悪いという問題点があった。
【０００５】
本発明は、かかる課題に鑑みてなされたものであり、バッファメモリを介して入出力デバイスとデータ記憶手段との間でデータ転送を行う場合に、データ記憶手段とバッファメモリとの間で効率良くデータを転送することができるデータ転送制御装置及びデータ転送制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に記載のデータ転送制御装置は、１回に所定ビット数分のデータの入出力を行う入出力デバイスと、データを読み書き可能に格納するデータ記憶手段と、前記入出力デバイスとデータ記憶手段との間に介設され、前記所定ビット数の２倍以上の所定数倍のデータであるバッファ可能ビット数のデータを一時的に格納するバッファメモリと、前記バッファメモリを介する、前記入出力デバイスと前記データ記憶手段との間のデータの転送を制御するＤＭＡコントローラとを備えたデータ転送制御装置であって、前記ＤＭＡコントローラは、前記バッファメモリに格納されている前記データのビット数を検出する検出手段と、前記検出手段によって検出されたビット数に基づいて、前記バッファメモリと前記データ記憶手段との間でのデータの転送を、１サイクルスチールで行うデータ転送手段とを備えることを特徴としている。
【０００７】
上記構成によれば、ＤＭＡコントローラの検出手段により、バッファメモリに格納されているデータのビット数が検出され、検出手段によって検出されたビット数に基づいて、データ転送手段により、バッファメモリとデータ記憶手段との間でのデータの転送が、１サイクルスチールで行われる。
【０００８】
したがって、データ記憶手段からバッファメモリへデータを転送する場合には、バッファ可能ビット数と検出手段によって検出されたビット数との差のビット数のデータの転送を１サイクルスチールで行い、逆に、バッファメモリからデータ記憶手段へデータを転送する場合には、検出手段によって検出されたビット数のデータの転送を１サイクルスチールで行うことにより、データ記憶手段とバッファメモリとの間で効率良くデータを転送することが可能となる。
【０００９】
請求項２に記載のデータ転送制御装置は、請求項１に記載のデータ転送制御装置において、前記データ転送手段は、前記データ記憶手段から前記バッファメモリへデータを転送する場合に、前記バッファ可能ビット数と前記検出手段によって検出されたビット数との差のビット数のデータの転送を、１サイクルスチールで行うことを特徴としている。
【００１０】
上記構成によれば、データ記憶手段からバッファメモリへデータを転送する場合に、バッファ可能ビット数と検出手段によって検出されたビット数との差のビット数のデータの転送が、データ転送手段により１サイクルスチールで行われるため、データ記憶手段からバッファメモリへ効率良くデータを転送することが可能となる。
【００１１】
請求項３に記載のデータ転送制御装置は、請求項１又は２に記載のデータ転送制御装置において、前記データ転送手段は、前記バッファメモリから前記データ記憶手段へデータを転送する場合に、前記検出手段によって検出されたビット数のデータの転送を、１サイクルスチールで行うことを特徴としている。
【００１２】
上記構成によれば、バッファメモリからデータ記憶手段へデータを転送する場合に、検出手段によって検出されたビット数のデータの転送が、データ転送手段により１サイクルスチールで行われるため、バッファメモリからデータ記憶手段へ効率良くデータを転送することが可能となる。
【００１３】
請求項４に記載のデータ転送制御装置は、請求項１〜３のいずれかに記載のデータ転送制御装置において、前記データ記憶手段は、ＳＤＲＡＭからなり、前記データ転送手段は、前記バッファメモリと前記データ記憶手段との間でのデータの転送を、バースト転送により行うことを特徴としている。
【００１４】
上記構成によれば、データ記憶手段がＳＤＲＡＭにより構成されている。そして、データ転送手段により、バッファメモリとデータ記憶手段との間でのデータの転送が、１サイクルスチールでバースト転送により行われるため、データ記憶手段とバッファメモリとの間で効率良く且つ高速にデータを転送することが可能となる。
【００１５】
請求項５に記載のデータ転送制御装置は、請求項１〜４のいずれかに記載のデータ転送制御装置において、前記バッファメモリは、ＦＩＦＯメモリであることを特徴としている。
【００１６】
上記構成によれば、ＤＭＡコントローラの検出手段により、ＦＩＦＯメモリに格納されているデータのビット数が検出され、検出手段によって検出されたビット数に基づいて、データ転送手段により、ＦＩＦＯメモリとデータ記憶手段との間でのデータの転送が、１サイクルスチールで行われる。
【００１７】
ここで、バッファメモリがＦＩＦＯメモリであるため、バッファメモリに対する複雑なメモリ管理を行うことなく、データ記憶手段とバッファメモリとの間で効率良くデータを転送することが可能となる。
【００１８】
請求項６に記載のデータ転送制御方法は、１回に所定ビット数分のデータの入出力を行う入出力デバイスと、データを読み書き可能に格納するデータ記憶手段と、前記入出力デバイスとデータ記憶手段との間に介設され、前記所定ビット数の２倍以上の所定数倍のデータであるバッファ可能ビット数のデータを一時的に格納するバッファメモリと、前記バッファメモリを介する、前記入出力デバイスと前記データ記憶手段との間のデータの転送を制御するＤＭＡコントローラとを備えたデータ転送制御装置のデータ転送制御方法であって、前記ＤＭＡコントローラが、前記バッファメモリに格納されている前記データのビット数を検出し、検出されたビット数に基づいて、前記バッファメモリと前記データ記憶手段との間でのデータの転送を、１サイクルスチールで行うことを特徴としている。
【００１９】
上記構成によれば、ＤＭＡコントローラにより、バッファメモリに格納されているデータのビット数が検出される。そして、ＤＭＡコントローラにより、検出されたビット数に基づいて、バッファメモリとデータ記憶手段との間でのデータの転送が、１サイクルスチールで行われる。
【００２０】
したがって、データ記憶手段からバッファメモリへデータを転送する場合には、バッファ可能ビット数と検出手段によって検出されたビット数との差のビット数のデータの転送を１サイクルスチールで行い、逆に、バッファメモリからデータ記憶手段へデータを転送する場合には、検出手段によって検出されたビット数のデータの転送を１サイクルスチールで行うことにより、データ記憶手段とバッファメモリとの間で効率良くデータを転送することが可能となる。
【発明の効果】
【００２１】
請求項１に記載のデータ転送制御装置によれば、データ記憶手段からバッファメモリへデータを転送する場合には、バッファ可能ビット数と検出手段によって検出されたビット数との差のビット数のデータの転送を１サイクルスチールで行い、逆に、バッファメモリからデータ記憶手段へデータを転送する場合に、検出手段によって検出されたビット数のデータの転送を１サイクルスチールで行うことにより、データ記憶手段とバッファメモリとの間で効率良くデータを転送することができる。
【００２２】
請求項２に記載のデータ転送制御装置によれば、データ記憶手段からバッファメモリへデータを転送する場合に、バッファ可能ビット数と検出手段によって検出されたビット数との差のビット数のデータの転送が、データ転送手段により１サイクルスチールで行われるため、データ記憶手段からバッファメモリへ効率良くデータを転送することができる。
【００２３】
請求項３に記載のデータ転送制御装置によれば、バッファメモリからデータ記憶手段へデータを転送する場合に、検出手段によって検出されたビット数のデータの転送が、データ転送手段により１サイクルスチールで行われるため、バッファメモリからデータ記憶手段へ効率良くデータを転送することができる。
【００２４】
請求項４に記載のデータ転送制御装置によれば、データ転送手段により、バッファメモリとデータ記憶手段との間でのデータの転送が、１サイクルスチールでバースト転送により行われるため、データ記憶手段とバッファメモリとの間で効率良く且つ高速にデータを転送することができる。
【００２５】
請求項５に記載のデータ転送制御装置によれば、バッファメモリがＦＩＦＯメモリであるため、バッファメモリに対する複雑なメモリ管理を行うことなく、データ記憶手段とバッファメモリとの間で効率良くデータを転送することができる。
【００２６】
請求項６に記載のデータ転送制御方法によれば、データ記憶手段からバッファメモリへデータを転送する場合には、バッファ可能ビット数と検出手段によって検出されたビット数との差のビット数のデータの転送を１サイクルスチールで行い、逆に、バッファメモリからデータ記憶手段へデータを転送する場合には、検出手段によって検出されたビット数のデータの転送を１サイクルスチールで行うことにより、データ記憶手段とバッファメモリとの間で効率良くデータを転送することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態に係るファクシミリ装置（データ転送制御装置の実施形態の一例）及びファクシミリ装置のデータ転送制御方法について、図面に基づき説明する。図１は、本発明の実施の形態に係るファクシミリ装置１０の一例を示す構成図である。ファクシミリ装置１０は、図示するように、制御部（ＣＰＵ：Central Processing Unit）３、ＲＯＭ（Read Only Memory）４、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）５、ＤＭＡ（Direct Memory Access）コントローラ６、ＦＩＦＯ（First-In First-Out）メモリ７、及び、Ｉ／Ｏデバイス８を備えており、各部３〜７は、システムバス９によって通信可能に接続されている。
【００２８】
なお、本実施形態においては、このシステムバス９は、アドレスバスやデータバスとしても機能し、システムバス９を介してＦＩＦＯメモリ７とＳＤＲＡＭ５との間でデータのＤＭＡ転送が行われる形態について説明するが、他のバスを介してＦＩＦＯメモリ７とＳＤＲＡＭ５との間でデータのＤＭＡ転送が行われる形態でもよい。
【００２９】
制御部３は、このファクシミリ装置１０を構成する各部を制御する。ＲＯＭ４は、制御部３によってファクシミリ装置１０の各部が制御されるための制御プログラムを格納している。ＳＤＲＡＭ５（データ記憶手段の一例）は、ファクシミリ装置１０の動作の実行に伴って取得される画像データや設定情報等の各種データを読み書き可能に、言い換えれば、書き込み及び読み出し可能に格納するものであり、Ｉ／Ｏデバイス８（入出力デバイスに相当する：ここでは、Ｉ／Ｏデバイス８ａ）へ転送するべきデータや、Ｉ／Ｏデバイス８（ここでは、Ｉ／Ｏデバイス８ｂ）から転送されたデータ等を格納する。
【００３０】
Ｉ／Ｏデバイス８ａ（８）とＩ／Ｏデバイス８ｂ（８）は、１回に所定ビット数（例えば、８ビット：１バイト）分のデータの入出力を行う入出力デバイスであり、例えば、コピーやファクシミリ送受信などのために画像データをＭＨ、ＭＲ、ＭＭＲ方式等により符号化及び復号するＣＯＤＥＣ（Coder and Decoder）や、ファクシミリ送受信データの変調及び復調を行うＭＯＤＥＭ等である。
【００３１】
なお、本実施形態においては、ＳＤＲＡＭ５から読み出されてＦＩＦＯメモリ７ａ（７）に書き込まれたデータを読み出すＩ／Ｏデバイス８ａ（８）と、ＳＤＲＡＭ５に転送するべきデータをＦＩＦＯメモリ７ｂ（７）に書き込むＩ／Ｏデバイス８ｂ（８）との２つのＩ／Ｏデバイス８を備える形態について説明するが、ファクシミリ装置１０が備えるＩ／Ｏデバイス８の数は２個に限定されるものではなく、１、或いは、３以上のＩ／Ｏデバイス８を備える形態であってもよい。
【００３２】
ＦＩＦＯメモリ７は、所定ビット数（ここでは、８ビット：１バイト）の２倍以上の所定数倍のデータであるバッファ可能ビット数（ここでは、３２ビット：４バイト）のデータを一時的に格納するバッファメモリである。ファクシミリ装置１０は、ＦＩＦＯメモリ７として、ＦＩＦＯメモリ７ａ及びＦＩＦＯメモリ７ｂを備えている。ＦＩＦＯメモリ７ａは、Ｉ／Ｏデバイス８ａとＳＤＲＡＭ５との間に介設されており、ＦＩＦＯメモリ７ａには、ＳＤＲＡＭ５からＩ／Ｏデバイス８ａへＤＭＡ転送されるデータが一時的に格納される。ＦＩＦＯメモリ７ｂは、Ｉ／Ｏデバイス８ｂとＳＤＲＡＭ５との間に介設されており、ＦＩＦＯメモリ７ｂには、Ｉ／Ｏデバイス８ｂからＳＤＲＡＭ５へＤＭＡ転送されるデータが一時的に格納される。なお、ＦＩＦＯメモリ７（７ａ又は７ｂ）に格納されたデータは、先入れ先出し方式（ＦＩＦＯ方式）で処理される。
【００３３】
ＤＭＡコントローラ６は、ＦＩＦＯメモリ７を介する、Ｉ／Ｏデバイス８とＳＤＲＡＭ５との間のデータの転送を制御するものである。ＤＭＡコントローラ６は、具体的には、ＳＤＲＡＭ５に格納されているデータをＦＩＦＯメモリ７ａを介してＩ／Ｏデバイス８ａへＤＭＡ転送する転送処理と、Ｉ／Ｏデバイス８ｂのデータをＦＩＦＯメモリ７ｂを介してＳＤＲＡＭ５へＤＭＡ転送する転送処理とを行う。
【００３４】
また、ＤＭＡコントローラ６は、各Ｉ／Ｏデバイス８（ここでは、Ｉ／Ｏデバイス８ａとＩ／Ｏデバイス８ｂ）がＤＭＡコントローラ６に対してＤＭＡ転送を要求するために使用するチャネルを複数備えており、ＤＭＡコントローラ６が備えるこれらのチャネル毎にＦＩＦＯメモリ７（ここでは、ＦＩＦＯメモリ７ａとＦＩＦＯメモリ７ｂ）が設けられている。
【００３５】
なお、このファクシミリ装置１０は、上記した各部３〜８の他に、図示しないが、コピーやファクシミリ送信のために原稿の画像データを読み取る原稿読取部、ユーザによる各種の入力操作が行われる操作部、各種の画面情報を表示する例えば液晶表示装置（ＬＣＤ）からなる表示部、画像データの画像を用紙に記録する記録部、ファクシミリ通信を行う際にファクシミリ装置１０とＧ３ファクシミリ装置（不図示）とを通信可能に接続するＮＣＵ（Network Control Unit）等を備えている。
【００３６】
図２は、本発明の主要部の一例を示す機能構成図である。ファクシミリ装置１０のＤＭＡコントローラ６は、機能的に、転送要求受付部６ａ、ビット数検出部６ｂ、及び、データ転送部６ｃを備えている。
【００３７】
ＤＭＡコントローラ６の転送要求受付部６ａは、Ｉ／Ｏデバイス８ａからのＤＭＡ転送の要求信号であるＤＲＥＱ（データリクエスト：図１では、ＤＲＥＱ１）、又は、Ｉ／Ｏデバイス８ｂからのＤＭＡ転送の要求信号であるＤＲＥＱ（図１では、ＤＲＥＱ２）を受け付けるものである。
【００３８】
なお、この転送要求受付部６ａによってＩ／Ｏデバイス８ａからのＤＲＥＱ１が受け付けられた場合には、ＤＭＡコントローラ６は、ＦＩＦＯメモリ７ａを介して、ＳＤＲＡＭ５からＩ／Ｏデバイス８ａへデータをＤＭＡ転送する。また、転送要求受付部６ａによってＩ／Ｏデバイス８ｂからのＤＲＥＱ２が受け付けられた場合には、ＤＭＡコントローラ６は、ＦＩＦＯメモリ７ｂを介して、Ｉ／Ｏデバイス８ｂからＳＤＲＡＭ５へデータをＤＭＡ転送する。
【００３９】
ビット数検出部６ｂ（検出手段に相当する）は、ＦＩＦＯメモリ７に格納されているデータのビット数を検出するものである。ここで、ＦＩＦＯメモリ７（７ａと７ｂ）は、該ＦＩＦＯメモリ７に格納されているデータのビット数を示す格納データ量通知信号（図１に示す、第１検出信号と第２検出信号）が出力されるように構成されている。そして、ビット数検出部６ｂは、例えば、転送要求受付部６ａによってＩ／Ｏデバイス８ａからのＤＲＥＱ１が受け付けられた後に、ＦＩＦＯメモリ７ａに対して格納データ量通知信号の送信を指示する信号を送信してＦＩＦＯメモリ７ａから第１検出信号を受信し、その信号に基づいてＦＩＦＯメモリ７ａに格納されているデータのビット数を検出する。また、ビット数検出部６ｂは、転送要求受付部６ａによってＩ／Ｏデバイス８ｂからのＤＲＥＱ２が受け付けられた後に、ＦＩＦＯメモリ７ｂに対して格納データ量通知信号の送信を指示する信号を送信してＦＩＦＯメモリ７ｂから第２検出信号を受信し、その信号に基づいてＦＩＦＯメモリ７ｂに格納されているデータのビット数を検出する。
【００４０】
なお、ＦＩＦＯメモリ７ａ又はＦＩＦＯメモリ７ｂに格納されているデータのビット数を検出する方法はこれに限定されるものではなく、例えば、ＦＩＦＯメモリ７ａに格納されているデータのビット数を検出する場合、Ｉ／Ｏデバイス８ａからＤＲＥＱ１が入力されてからそのＤＲＥＱ１がネゲートされる（無効になる）迄の間、ＦＩＦＯメモリ７ａに格納されているデータを読み込み、その読み込んだデータのデータ量をカウントしてＦＩＦＯメモリ７ａに格納されているデータのビット数を検出するようにしてもよい。
【００４１】
データ転送部６ｃ（データ転送手段に相当する）は、ビット数検出部６ｂによって検出されたビット数に基づいて、ＦＩＦＯメモリ７とＳＤＲＡＭ５との間でのデータの転送を、１サイクルスチールで行うものである。データ転送部６ｃは、ＳＤＲＡＭ５からＦＩＦＯメモリ７へデータを転送する場合、すなわち、ここでは、ＳＤＲＡＭ５からＦＩＦＯメモリ７ａへデータを転送する場合に、ＦＩＦＯメモリ７ａのバッファ可能ビット数とビット数検出部６ｂによって検出されたビット数との差のビット数のデータの転送を、１サイクルスチールで行う。例えば、バッファ可能ビット数が３２ビット（４バイト）であり、ビット数検出部６ｂによって第１検出信号に基づいて検出されたビット数が８ビット（１バイト）であった場合、データ転送部６ｃは、これらの差に相当する２４ビット（３バイト）のデータをＳＤＲＡＭ５からＦＩＦＯメモリ７ａへ１サイクルスチールでＤＭＡ転送する。なお、データを１サイクルスチールでＤＭＡ転送するサイクルスチールモードでは、制御部３がシステムバス９を使用していない時にＤＭＡコントローラ６のデータ転送部６ｃによってＤＭＡ転送が行われ、１回のＤＭＡ転送が終了する度にバス権が制御部３に戻される。
【００４２】
一方、データ転送部６ｃは、ＦＩＦＯメモリ７からＳＤＲＡＭ５へデータを転送する場合、すなわち、本実施形態においては、ＦＩＦＯメモリ７ｂからＳＤＲＡＭ５へデータを転送する場合に、ビット数検出部６ｂによって検出されたビット数のデータの転送を、１サイクルスチールで行う。例えば、ビット数検出部６ｂによって第２検出信号に基づいて検出されたビット数が１６ビット（２バイト）であった場合、その１６ビット（２バイト）のデータをＦＩＦＯメモリ７ｂからＳＤＲＡＭ５へ１サイクルスチールでＤＭＡ転送する。
【００４３】
なお、データ転送部６ｃは、ＦＩＦＯメモリ７とＳＤＲＡＭ５との間でのデータの転送を、バースト転送により行う。すなわち、ＳＤＲＡＭ５からＦＩＦＯメモリ７ａへの１サイクルスチールでのＤＭＡ転送と、ＦＩＦＯメモリ７ｂからＳＤＲＡＭ５への１サイクルスチールでのＤＭＡ転送とをバースト転送により行う。ここで、バースト転送は、１回のバスサイクルで複数個のワードデータ（例えば、２バイトや３バイトのデータ）をまとめて転送するＤＭＡ転送である。
【００４４】
次に、本発明に係るファクシミリ装置１０において、ＦＩＦＯメモリ７ｂからＳＤＲＡＭ５へデータをＤＭＡ転送する場合の各信号の発生タイミングについて、図３に基づいて説明する。なお、図３〜図６に示されている各信号は、以下の通りである。
【００４５】
「ＣＫ」（クロック）は、ファクシミリ装置１０全体の動作の基準となるクロック信号である。「ＤＲＥＱ」（データリクエスト）は、Ｉ／Ｏデバイス８がＤＭＡコントローラ６に対してＤＭＡ転送を要求するＤＭＡ転送の要求信号である。「／ＢＲＥＱ」（バスリクエスト）は、ＤＭＡコントローラ６が制御部３に対してバス権（ここでは、システムバス９のバス権）を要求する信号である。「／ＢＡＣＫ」（バスアクノレッジメント）は、制御部３がバス権をＤＭＡコントローラ６に与えることを確認する確認信号である。「／ＤＡＣＫ」（データアクノレッジメント）は、ＤＭＡコントローラ６からＩ／Ｏデバイス８へ出力されるＤＭＡ転送開始の確認信号である。「ＡＤＤＲＥＳＳ」は、ＳＤＲＡＭ５に対して与えられるロウアドレス又はカラムアドレスを示す信号である。「ＤＡＴＡ」は、ＦＩＦＯメモリ７とＳＤＲＡＭ５との間でＤＭＡ転送されるデータを示す。「／ＲＤ」（リード）は、ＦＩＦＯメモリ７からのデータの読み出しを指示する信号である。「／ＣＳ」（チップセレクト）は、処理を行う対象となるデバイスとしてＳＤＲＡＭ５を選択する信号である。「／ＲＡＳ」（ロウアドレスストローブ）は、アドレスバス（不図示）上のデータ（アドレス）がＲＯＷ（行）であることを示す信号である。「／ＣＡＳ」（カラムアドレスストローブ）は、アドレスバス上のデータ（アドレス）がＣＯＬＵＭＮ（列）であることを示す信号である。「／ＷＥ」（ライトイネーブル）は、ＳＤＲＡＭ５へのデータの書き込みを指示する信号である。図５及び図６に示す「／ＷＲ」（ライト）は、ＦＩＦＯメモリ７へのデータの書き込みを指示する信号である。なお、「／」が付与されていない信号は、その信号がハイアクティブであることを示し、「／」が付与されている信号は、その信号がロウアクティブであることを示している。
【００４６】
ＤＭＡコントローラ６の転送要求受付部６ａは、図３に示すように、Ｉ／Ｏデバイス８ｂからのＤＲＥＱ（ここでは、ＤＲＥＱ２）が入力されると（ハイアクティブになると）、制御部３に対してバス権を要求するべく／ＢＲＥＱを出力する（ロウアクティブにする）。これに対して、制御部３は、ＤＭＡコントローラ６にバス権を与えるべくＤＭＡコントローラ６に対して／ＢＡＣＫを出力する（ロウアクティブにする）。ＤＭＡコントローラ６は、この制御部３から／ＢＡＣＫが入力されている間、ＤＭＡ転送を行うべくシステムバス９を使用することができる。
【００４７】
このように、制御部３からの／ＢＡＣＫが入力され、ＤＭＡコントローラ６の転送要求受付部６ａがＩ／Ｏデバイス８ｂからのＤＭＡ転送要求を受け付けると、ビット数検出部６ｂは、ＦＩＦＯメモリ７ｂにアクセスしてＦＩＦＯメモリ７ｂから第２検出信号を受信し、その信号に基づいてＦＩＦＯメモリ７ｂに格納されているデータのビット数を検出する。ここで、例えば、ビット数検出部６ｂによってＦＩＦＯメモリ７ｂに格納されているデータのビット数が２４ビット（３バイト）であると検出された場合、ＦＩＦＯメモリ７ｂには、各８ビット（１バイト）のデータＤ１、Ｄ２、Ｄ３の３バイト分のデータが格納されているので、データ転送部６ｃは、Ｉ／Ｏデバイス８ｂに対してＤＭＡ転送開始の確認信号である／ＤＡＣＫ（ここでは、／ＤＡＣＫ２）を出力するとともに、ＦＩＦＯメモリ７ｂに対してデータの読み出しを指示する信号である／ＲＤを出力して該ＦＩＦＯメモリ７ｂから３バイト分のデータＤ１〜Ｄ３を連続して読み出す（図３中のＦＩＦＯ読み出しサイクル）。
【００４８】
続いて、ＦＩＦＯメモリ７ｂから読み出されたデータＤ１〜Ｄ３を書き込むべきデバイスを選択するべく、／ＣＳがＳＤＲＡＭ５に入力される。それと同時に、アドレスバス上のデータがロウアドレスであることを示す／ＲＡＳとともにロウアドレスＲがＳＤＲＡＭ５に入力され、続いて、アドレスバス上のデータがカラムアドレスであることを示す／ＣＡＳとともにカラムアドレスＣ１、Ｃ２、Ｃ３がＳＤＲＡＭ５に入力される。これにより、ＳＤＲＡＭ５に書き込むべき３バイト分のデータのアドレスが指定されるので、ＦＩＦＯメモリ７ｂから読み出された３バイト分のデータＤ１、Ｄ２、Ｄ３は、カラムアドレスＣ１、Ｃ２、Ｃ３が指定されると同時にＳＤＲＡＭ５の指定されたアドレスに書き込まれる（図３中のＳＤＲＡＭ書き込みサイクル）。
【００４９】
このように、ＦＩＦＯメモリ７ｂからＳＤＲＡＭ５へデータを転送する場合に、ＤＭＡコントローラ６のビット数検出部６ｂにより、ＦＩＦＯメモリ７ｂに格納されているデータのビット数が検出され、データ転送部６ｃにより、ビット数検出部６ｂによって検出されたビット数（ここでは、２４ビット：３バイト）のデータの転送が、１サイクルスチールでバースト転送により行われる。
【００５０】
次に、従来のデータ転送制御装置において、ＦＩＦＯメモリからＳＤＲＡＭへデータをＤＭＡ転送する場合の各信号の発生タイミングについて、図４に基づいて説明する。なお、図示しないが、この従来のデータ転送制御装置は、一般的な、制御部、Ｉ／Ｏデバイス、ＳＤＲＡＭ、ＦＩＦＯメモリ、及びＤＭＡコントローラを備えているものとする。また、バッファ可能ビット数が３２ビット（４バイト）のＦＩＦＯメモリには、３バイトのデータが格納されているものとする。
【００５１】
図示するように、従来のデータ転送制御装置のＤＭＡコントローラは、Ｉ／ＯデバイスからのＤＲＥＱが入力されると、制御部に対してバス権を要求するべく／ＢＲＥＱを出力する。これに対して、制御部は、ＤＭＡコントローラにバス権を与えるべく／ＢＡＣＫを出力する。／ＢＡＣＫを受けたＤＭＡコントローラは、バッファ可能ビット数（３２ビット：４バイト）のＦＩＦＯメモリに何バイトのデータが格納されているか判らないため、Ｉ／Ｏデバイスに対してＤＭＡ転送開始の確認信号である／ＤＡＣＫを出力するとともに、ＦＩＦＯメモリに対して／ＲＤを出力して該ＦＩＦＯメモリから１バイト分のデータＤ１を読み出す（図４中のＦＩＦＯ読み出しサイクル）。
【００５２】
続いて、ＦＩＦＯメモリから読み出されたデータＤ１を書き込むべきデバイスを選択するべく、／ＣＳがＳＤＲＡＭに入力される。そして、同時に、アドレスバス上のデータがロウアドレスであることを示す／ＲＡＳとともにロウアドレスＲがＳＤＲＡＭに入力され、続いて、アドレスバス上のデータがカラムアドレスであることを示す／ＣＡＳとともにカラムアドレスＣ１がＳＤＲＡＭに入力される。これにより、ＳＤＲＡＭに書き込むべき１バイト分のデータのアドレスが指定されるので、ＦＩＦＯメモリから読み出された１バイト分のデータＤ１は、カラムアドレスＣ１が指定されると同時にＳＤＲＡＭに書き込まれる（図４中のＳＤＲＡＭ書き込みサイクル）。
【００５３】
このようにして、ＦＩＦＯメモリからＳＤＲＡＭへ１バイト分のデータＤ１がＤＭＡ転送されると、ＤＭＡコントローラは、バス権を制御部に戻す。そして、ＤＭＡコントローラは、再度Ｉ／ＯデバイスからのＤＲＥＱを受けて、次に転送するべきＦＩＦＯメモリのデータＤ２をＳＤＲＡＭへＤＭＡ転送する。このように、従来のデータ転送制御装置では、ＦＩＦＯメモリに３バイト分のデータＤ１〜Ｄ３が格納されている場合に、１回のＤＭＡ転送で１バイトのデータをＤＭＡ転送する転送処理を３回繰り返してＦＩＦＯメモリに格納されている３バイト分のデータＤ１〜Ｄ３がＳＤＲＡＭへ転送される。
【００５４】
以上の図３及び図４に基づく説明から明らかなように、従来のデータ転送制御装置では、ＳＤＲＡＭへ転送するべきデータがＦＩＦＯメモリに３バイト格納されているにも関わらず１バイトずつしかＤＭＡ転送されないが、本発明に係るファクシミリ装置１０では、ＦＩＦＯメモリ７ｂからＳＤＲＡＭ５へデータを転送する場合に、ビット数検出部６ｂにより、ＦＩＦＯメモリ７ｂに格納されているデータのビット数が検出され、データ転送部６ｃにより、ビット数検出部６ｂによって検出されたビット数のデータが、１サイクルスチールでバースト転送される。
【００５５】
したがって、本発明に係るファクシミリ装置１０によれば、従来のデータ転送制御装置に比べて、ＦＩＦＯメモリ７ｂからＳＤＲＡＭ５へのデータのＤＭＡ転送を効率良く、且つ、高速に行うことができる。
【００５６】
次に、本発明に係るファクシミリ装置１０において、ＳＤＲＡＭ５からＦＩＦＯメモリ７ａへデータをＤＭＡ転送する場合の各信号の発生タイミングについて、図５に基づいて説明する。図示するように、ＤＭＡコントローラ６の転送要求受付部６ａは、Ｉ／Ｏデバイス８ａからのＤＲＥＱ（ここでは、ＤＲＥＱ１）が入力されると、制御部３に対してバス権を要求するべく／ＢＲＥＱを出力する。これに対して、制御部３は、ＤＭＡコントローラ６にバス権を与えるべくＤＭＡコントローラ６に対して／ＢＡＣＫを出力する。ＤＭＡコントローラ６は、この制御部３から／ＢＡＣＫが入力されている間、ＤＭＡ転送を行うべくシステムバス９を使用することができる。
【００５７】
このように、制御部３からの／ＢＡＣＫが入力され、ＤＭＡコントローラ６の転送要求受付部６ａがＩ／Ｏデバイス８ａからのＤＭＡ転送要求を受け付けると、ビット数検出部６ｂは、ＦＩＦＯメモリ７ａにアクセスしてＦＩＦＯメモリ７ａから第１検出信号を受信し、その信号に基づいてＦＩＦＯメモリ７ａに格納されているデータのビット数を検出する。ここで、例えば、ビット数検出部６ｂによってＦＩＦＯメモリ７ａに格納されているデータのビット数が８ビット（１バイト）であると検出された場合、データ転送部６ｃは、バッファ可能ビット数（３２ビット：４バイト）とビット数検出部６ｂによって検出されたビット数（ここでは、８ビット）との差のビット数である２４ビット（３バイト）のデータをＳＤＲＡＭ５から読み出す。
【００５８】
具体的には、ＦＩＦＯメモリ７ａにＤＭＡ転送する各８ビット（１バイト）のデータＤ１、Ｄ２、Ｄ３の３バイト分のデータを読み出すデバイスを選択するべく、／ＣＳがＳＤＲＡＭ５に入力される。そして、同時に、アドレスバス上のデータがロウアドレスであることを示す／ＲＡＳとともにロウアドレスＲがＳＤＲＡＭ５に入力され、続いて、アドレスバス上のデータがカラムアドレスであることを示す／ＣＡＳとともにカラムアドレスＣ１、Ｃ２、Ｃ３がＳＤＲＡＭ５に入力される。これにより、ＳＤＲＡＭ５から読み出すべき３バイト分のデータのアドレスが指定されるので、カラムアドレスＣ１、Ｃ２、Ｃ３からそれぞれ１クロック遅延してＳＤＲＡＭ５から３バイト分のデータＤ１、Ｄ２、Ｄ３が連続して読み出される（図５中のＳＤＲＡＭ読み出しサイクル）。
【００５９】
続いて、データ転送部６ｃは、Ｉ／Ｏデバイス８ａに対してＤＭＡ転送開始の確認信号である／ＤＡＣＫ（ここでは、／ＤＡＣＫ１）を出力すると同時に、ＦＩＦＯメモリ７ａに対してＦＩＦＯメモリ７ａへのデータの書き込みを指示する／ＷＲを出力して該ＦＩＦＯメモリ７ａに３バイト分のデータＤ１〜Ｄ３を連続して書き込む（図５中のＦＩＦＯ書き込みサイクル）。
【００６０】
このように、ＳＤＲＡＭ５からＦＩＦＯメモリ７ａへデータを転送する場合に、ＤＭＡコントローラ６のビット数検出部６ｂにより、ＦＩＦＯメモリ７ａに格納されているデータのビット数が検出され、データ転送部６ｃにより、バッファ可能ビット数（ここでは、３２ビット：４バイト）とビット数検出部６ｂによって検出されたビット数（ここでは、８ビット：１バイト）との差のビット数（ここでは、２４ビット：３バイト）のデータの転送が、１サイクルスチールでバースト転送により行われる。
【００６１】
次に、図４に基づいて説明したものと同様の従来のデータ転送制御装置において、ＳＤＲＡＭからＦＩＦＯメモリへデータをＤＭＡ転送する場合の各信号の発生タイミングについて、図６に基づいて説明する。なお、ＦＩＦＯメモリのバッファ可能ビット数は３２ビット（４バイト）で、ＦＩＦＯメモリには、１バイトのデータが格納されているものとする。
【００６２】
図示するように、ＤＭＡコントローラは、Ｉ／ＯデバイスからのＤＲＥＱが入力されると、制御部に対してバス権を要求するべく／ＢＲＥＱを出力する。これに対して、制御部は、ＤＭＡコントローラにバス権を与えるべく／ＢＡＣＫを出力する。／ＢＡＣＫを受けたＤＭＡコントローラは、バッファ可能ビット数（３２ビット：４バイト）のＦＩＦＯメモリに何バイトのデータが格納されているか判らないため、ＦＩＦＯメモリに書き込むデータＤ１を読み出すべきデバイスを選択するべく、／ＣＳをＳＤＲＡＭに入力する。そして、アドレスバス上のデータがロウアドレスであることを示す／ＲＡＳとともにロウアドレスＲがＳＤＲＡＭに入力され、続いて、アドレスバス上のデータがカラムアドレスであることを示す／ＣＡＳとともにカラムアドレスＣ１がＳＤＲＡＭに入力される。これにより、ＳＤＲＡＭから読み出すべき１バイト分のデータのアドレスが指定されるので、カラムアドレスＣ１が指定されてから１クロック遅延して、１バイト分のデータＤ１がＳＤＲＡＭから読み出される（図６中のＳＤＲＡＭ読み出しサイクル）。
【００６３】
続いて、ＤＭＡコントローラは、Ｉ／Ｏデバイスに対してＤＭＡ転送開始の確認信号である／ＤＡＣＫを出力すると同時に、ＦＩＦＯメモリに対して／ＷＲを出力して該ＦＩＦＯメモリに対して、ＳＤＲＡＭから読み出した１バイト分のデータＤ１を書き込む（図６中のＦＩＦＯ書き込みサイクル）。
【００６４】
このようにして、ＳＤＲＡＭからＦＩＦＯメモリへ１バイト分のデータＤ１がＤＭＡ転送されると、ＤＭＡコントローラは、バス権を制御部に戻す。そして、ＤＭＡコントローラは、再度Ｉ／ＯデバイスからのＤＲＥＱを受けて、次に転送するべきＳＤＲＡＭのデータＤ２をＦＩＦＯメモリへＤＭＡ転送する。このように、従来のデータ転送制御装置では、ＦＩＦＯメモリに３バイト分のデータを格納可能な場合でも、１回のＤＭＡ転送で１バイトのデータをＤＭＡ転送する転送処理を３回繰り返してＳＤＲＡＭに格納されている３バイト分のデータＤ１〜Ｄ３がＦＩＦＯメモリへ転送される。
【００６５】
以上の図５及び図６に基づく説明から明らかなように、従来のデータ転送制御装置では、ＦＩＦＯメモリには３バイト分のデータを格納可能な空き領域があるにも関わらず１バイトずつしかＤＭＡ転送されないが、本発明に係るファクシミリ装置１０では、ＳＤＲＡＭ５からＦＩＦＯメモリ７ａへデータを転送する場合に、ビット数検出部６ｂにより、ＦＩＦＯメモリ７ａに格納されているデータのビット数が検出され、データ転送部６ｃにより、バッファ可能ビット数とビット数検出部６ｂによって検出されたビット数との差のビット数のデータが、１サイクルスチールでバースト転送される。
【００６６】
したがって、本発明に係るファクシミリ装置１０によれば、従来のデータ転送制御装置に比べて、ＳＤＲＡＭ５からＦＩＦＯメモリ７ａへのデータのＤＭＡ転送を効率良く、且つ、高速に行うことができる。
【００６７】
なお、本発明は、上記実施形態に限定されるものではなく、以下の形態でもよい。
すなわち、本実施形態においては、データ転送制御装置がファクシミリ装置１０である形態について説明したが、ファクシミリ装置１０の構成は、本発明に係るデータ転送制御装置の一態様にすぎず、本発明の要旨を逸脱しない範囲内で適宜設計変更できることは勿論であり、本発明に係るデータ転送制御装置は、例えば、複写機、インターネットファクシミリ装置、スキャナ、プリンタ、これらの複合機等に適用することができる。
【００６８】
また、本実施形態においては、データ記憶手段がＳＤＲＡＭ５からなる形態について説明したが、データ記憶手段は、ＳＤＲＡＭ５に限定されるものではなく、例えば、ＤＲＡＭ（Dynamic RAM）やＤＤＲ ＳＤＲＡＭ（Double Data Rate SDRAM）であってもよい。
【００６９】
また、本実施形態においては、データ記憶手段がＳＤＲＡＭ５からなり、データ転送部６ｃは、ＦＩＦＯメモリ７とＳＤＲＡＭ５との間でのデータの転送を、バースト転送により行う場合について説明したが、シングル転送により行うようにしてもよい。なお、シングル転送は、１回のバスサイクルで１個のワードデータを転送するＤＭＡ転送である。また、本実施の形態においては、転送要求受付部６ａは、Ｉ／ＯデバイスからＤＲＥＱが入力され、Ｉ／Ｏデバイスに／ＤＡＣＫを出力する構成としたが、ＦＩＦＯからＤＲＥＱが入力され、ＦＩＦＯへ／ＤＡＣＫを出力するようにしてもよい。
【産業上の利用可能性】
【００７０】
本発明は、例えば、バッファメモリを介して、入出力デバイスとデータ記憶手段との間のデータ転送を行うＤＭＡコントローラを備えたデータ転送制御装置及びデータ転送制御方法に適用可能である。
【図面の簡単な説明】
【００７１】
【図１】本発明に係るファクシミリ装置の一例を示した構成図である。
【図２】本発明に係るファクシミリ装置の主要部の一例を示した機能構成図である。
【図３】本発明に係るファクシミリ装置において、ＦＩＦＯメモリからＳＤＲＡＭへデータをＤＭＡ転送する場合の各信号の発生タイミングを例示したタイミングチャートである。
【図４】従来のデータ転送制御装置において、ＦＩＦＯメモリからＳＤＲＡＭへデータをＤＭＡ転送する場合の各信号の発生タイミングを示したタイミングチャートである。
【図５】本発明に係るファクシミリ装置において、ＳＤＲＡＭからＦＩＦＯメモリへデータをＤＭＡ転送する場合の各信号の発生タイミングを例示したタイミングチャートである。
【図６】従来のデータ転送制御装置において、ＳＤＲＡＭからＦＩＦＯメモリへデータをＤＭＡ転送する場合の各信号の発生タイミングを示したタイミングチャートである。
【図７】（ａ）は、ＦＩＦＯメモリを介したＩ／ＯデバイスからＤＲＡＭへのデータのＤＭＡ転送を例示した図であり、（ｂ）は、ＦＩＦＯメモリを介したＤＲＡＭからＩ／ＯデバイスへのデータのＤＭＡ転送を例示した図である。
【符号の説明】
【００７２】
３    制御部
５    ＳＤＲＡＭ（データ記憶手段）
６    ＤＭＡコントローラ（検出手段、データ転送手段）
７ａ（７）、７ｂ（７）    ＦＩＦＯメモリ（バッファメモリ）
８ａ（８）、８ｂ（８）    Ｉ／Ｏデバイス（入出力デバイス）
１０    ファクシミリ装置（データ転送制御装置）
【図１】
2007219874.tif 000003
【図２】
2007219874.tif 000004
【図３】
2007219874.tif 000005
【図４】
2007219874.tif 000006
【図５】
2007219874.tif 000007
【図６】
2007219874.tif 000008
【図７】
2007219874.tif 000009