(57)【特許請求の範囲】
【請求項１】
メモリに対する複数のアクセスリクエストを、優先順位の高い順に調停し、上記メモリに対してリクエスト内容を指示するリクエスト調停手段を有し、バーストアクセスリクエストに対応するメモリアクセス制御装置であって、
上記バーストアクセスリクエストに応じたバーストアクセス動作中に他のアクセスリクエストが発生したときに、上記リクエスト調停手段による調停動作を可とするか不可とするかを切り替える切替手段を有することを特徴とするメモリアクセス制御装置。
【請求項２】
上記切替手段は、各ビットが各チャネルに対応する複数ビットのバーストロックレジスタを有し、
上記バーストロックレジスタのいずれか１以上のビットが、上記リクエスト調停手段による調停動作を不可とするように設定されている場合、それら１以上のビットに対応するチャネルのうちのいずれか１以上のチャネルからバーストアクセスリクエストが発生し、そのチャネルが選択されている期間中、上記リクエスト調停手段による調停動作を不可とする、請求項１に記載のメモリアクセス制御装置。
【請求項３】
上記切替手段は、各ビットが各チャネルに対応する複数ビットのバーストイネーブルレジスタを有し、
上記バーストイネーブルレジスタのいずれか１以上のビットが、対応するチャネルのバースト信号をマスクするように設定されている場合、それら１以上のビットに対応するチャネルのバースト信号がマスクされ、上記リクエスト調停手段による調停動作を可とする構成とした、請求項１または２に記載のメモリアクセス制御装置。
【請求項４】
メモリに対する複数のアクセスリクエストを、優先順位の高い順に調停し、上記メモリに対してリクエスト内容を指示するリクエスト調停手段を有し、バーストアクセスリクエストに対応するメモリアクセス制御装置を制御するためのプログラムを記憶した記憶媒体であって、
上記バーストアクセスリクエストに応じたバーストアクセス動作中に他のアクセスリクエストが発生したときに、上記リクエスト調停手段による調停動作を可とするか不可とするかを切り替えるための切替プログラムを含むプログラムを記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリに対するアクセスリクエストとして、いわゆるバーストアクセスリクエストに対応するメモリアクセス制御装置、およびそのメモリアクセス制御装置を制御するためのプログラムを記憶した記憶媒体に関する。
【０００２】
【従来の技術】
たとえば、画像読取装置では、イメージセンサより順次得られた読取データをＤＲＡＭなどのメモリを介して画像処理する際、画像処理速度を向上するためにメモリのリード／ライト動作として、いわゆるバーストアクセスが実現されている。このバーストアクセスとは、行およびカラムからなるメモリアレイに対し、たとえば１つの行アドレスを１回指定するだけで、同じ行アドレスのデータに関して１クロックでアクセスできることを言う。
【０００３】
このようなバーストアクセスは、メモリに対して読取部などから直接バーストアクセスリクエストとして要求されるが、バーストアクセスリクエスト以外にもメモリに対するアクセスリクエストがある。そして、アクセスリクエストには、他のアクセスリクエストに先んじて割り込むべきものもあり、そのため、複数のアクセスリクエストについて、優先順位の高い順に調停してリクエスト内容をメモリに対して指示するメモリアクセス制御回路が実現されている。
【０００４】
【発明が解決しようとする課題】
ここで、バーストアクセスリクエストとそれ以外のアクセスリクエストが混在する場合を考えると、メモリアクセス制御回路は、バーストアクセス中であっても他のアクセスリクエストの優先順位が高いと、それに応じたリード／ライト動作を割り込ませるべくメモリに対して指示する。つまり、バーストアクセスによっては、リード／ライト動作を瞬時に終えて次のアクセスに移行できるものであっても、メモリアクセス制御回路は、優先順位に従ってアクセスリクエストを調停するので、バーストアクセスが中断してメモリとの間で効率良くデータが転送されないおそれがあった。
【０００５】
一方、低優先順位のバーストアクセス中に高優先順位のアクセスリクエストが発生した場合、その高優先順位のアクセスリクエストをバーストアクセスが終わるまで待たすことも考えられるが、そうすると、画像処理などのようにリアルタイム性が要求される高優先順位のアクセスリクエストによっては、システムに破綻をきたしてしまうおそれもあった。
【０００６】
たとえば、カラー画像読取装置からの画像信号を処理する場合、解像度によって、バーストアクセスが非常に効率的であったり、非効率的であったりする。このような場合、他のアクセスリクエストによってバーストアクセスを中断させるか否か任意に選択できれば、非常に好都合である。
【０００７】
本発明は、上記の点に鑑みて提案されたものであって、バーストアクセスリクエストに応じたアクセス動作中、それ以外のアクセスリクエストが発生してもアクセス効率の低下やシステムの破綻を招くことなく、複数のアクセスリクエストを巧みに調停することができるメモリアクセス制御装置、およびそのメモリアクセス制御装置を制御するためのプログラムを記憶した記憶媒体を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載した発明のメモリアクセス制御装置は、メモリに対する複数のアクセスリクエストを、優先順位の高い順に調停し、上記メモリに対してリクエスト内容を指示するリクエスト調停手段を有し、バーストアクセスリクエストに対応するメモリアクセス制御装置であって、上記バーストアクセスリクエストに応じたバーストアクセス動作中に他のアクセスリクエストが発生したときに、上記リクエスト調停手段による調停動作を可とするか不可とするかを切り替える切替手段を有することを特徴とする。
【０００９】
このようなメモリアクセス制御装置によれば、バーストアクセスリクエストに応じてバーストアクセス動作中、他のアクセスリクエストが発生したときには、アクセスリクエストの調停動作を可とするか不可とするかの切り替えに応じて、バーストアクセス動作を優先させるか否かを任意に切り替えることができる。したがって、ある制御条件下においては、バーストアクセス動作中に、それよりも高優先順位のアクセスリクエストがあっても、バーストアクセスによる高速動作をそのまま続行させることもできるし、また、別の制御条件下においては、バーストアクセス動作中に、それよりも高優先順位のアクセスリクエストがあれば、バーストアクセス動作を中止して、高優先順位のアクセスリクエストを割り込ませることもでき、メモリに対するアクセス効率の低下やシステムの破綻を招くことなく、複数のアクセスリクエストを巧みに調停することができる。
【００１０】
また、請求項２に記載した発明のメモリアクセス制御装置は、請求項１に記載のメモリアクセス制御装置であって、上記切替手段は、各ビットが各チャネルに対応する複数ビットのバーストロックレジスタを有し、上記バーストロックレジスタのいずれか１以上のビットが、上記リクエスト調停手段による調停動作を不可とするように設定されている場合、それら１以上のビットに対応するチャネルのうちのいずれか１以上のチャネルからバーストアクセスリクエストが発生し、そのチャネルが選択されている期間中、上記リクエスト調停手段による調停動作を不可とする。
【００１１】
このようなメモリアクセス制御装置によれば、請求項１に記載のメモリアクセス制御装置による効果に加えて、バーストロックレジスタのビットに応じて、バーストアクセス動作中に他のアクセスリクエストによるアクセス動作を割り込ませるべきか否かを決定することができる。
【００１２】
さらに、請求項３に記載した発明のメモリアクセス制御装置は、請求項１または２に記載のメモリアクセス制御装置であって、上記切替手段は、各ビットが各チャネルに対応する複数ビットのバーストイネーブルレジスタを有し、上記バーストイネーブルレジスタのいずれか１以上のビットが、対応するチャネルのバースト信号をマスクするように設定されている場合、それら１以上のビットに対応するチャネルのバースト信号がマスクされ、上記リクエスト調停手段による調停動作を可とする構成とする。
【００１３】
このようなメモリアクセス制御装置によれば、請求項１または２に記載のメモリアクセス制御装置による効果に加えて、バースト信号をマスクするように設定できるバーストイネーブルレジスタのビットに応じて、バーストアクセス動作中に他のアクセスリクエストによるアクセス動作を割り込ませるべきか否かを決定することができる。しかも、バースト信号をマスクするように設定されたチャネルについては、バーストアクセスリクエストがあっても、シングルアクセスとして処理させるようにすることができるので、他のチャネルからのアクセスリクエストを優先的に割り込ませることが可能となる。
【００１４】
また、請求項４に記載した発明の記憶媒体は、メモリに対する複数のアクセスリクエストを、優先順位の高い順に調停し、上記メモリに対してリクエスト内容を指示するリクエスト調停手段を有し、バーストアクセスリクエストに対応するメモリアクセス制御装置を制御するためのプログラムを記憶した記憶媒体であって、上記バーストアクセスリクエストに応じたバーストアクセス動作中に他のアクセスリクエストが発生したときに、上記リクエスト調停手段による調停動作を可とするか不可とするかを切り替えるための切替プログラムを含むプログラムを記憶したことを特徴とする。
【００１５】
このような記憶媒体によれば、記憶されたプログラムに基づいてＣＰＵを動作させることにより、請求項１に記載のメモリアクセス制御装置の動作を実現することができる。
【００１６】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について図面を参照して説明する。
【００１７】
図１は、本発明に係るメモリアクセス制御装置の一実施形態として、ファクシミリ装置の構成を示したブロック図である。この図に示すように、本発明に係るファクシミリ装置は、ＣＰＵ１０、ＮＣＵ１１、ＲＡＭ１２、モデム１３、ＲＯＭ１４、ＥＥＰＲＯＭ１５、ゲートアレイ１６、コーデック１７、ＤＭＡＣ１８、読取部２１、印刷部２２、操作部２３、および表示部２４などを具備して概略構成されている。ＣＰＵ１０、ＮＣＵ１１、ＲＡＭ１２、モデム１３、ＲＯＭ１４、ＥＥＰＲＯＭ１５、ゲートアレイ１６、コーデック１７、およびＤＭＡＣ１８は、バス線２７により相互に接続されている。バス線２７には、アドレスバス、データバス、および制御信号線が含まれる。ゲートアレイ１６には、読取部２１、印刷部２２、操作部２３、および表示部２４が接続されている。ＮＣＵ１１には、公衆電話回線２８が接続されている。
【００１８】
ＣＰＵ１０は、ファクシミリ装置全体の動作を制御する。ＮＣＵ１１は、公衆電話回線２８に接続されて網制御を行う。ＲＡＭ１２は、ＣＰＵ１０の作業領域や各種データの格納領域などを提供するメモリであって、データの読み書きを制御するＲＡＭコントローラや、行およびカラムからなるメモリアレイを有する。このメモリアレイに対してデータを読み書きする際には、通常、後述するアクセスリクエストにより行アドレスおよびカラムアドレスが指定されるが、たとえば１つの行アドレスを１回指定するだけで、同じ行アドレスについての連続データをブロック転送して１クロックで読み書きするといった、いわゆるバーストアクセスも可能である。モデム１３は、ファクシミリデータの変調や復調などを行う。ＲＯＭ１４は、ＣＰＵ１０が実行すべきプログラムや設定値などのデータを記憶している。ＥＥＰＲＯＭ１５は、各種のフラグや設定データなどを記憶する。ゲートアレイ１６は、ＣＰＵ１０と各部２１〜２４とのインターフェースとして機能する一方、各部２１〜２４やＣＰＵ１０などとＲＡＭ１２との間でメモリアクセスを制御する機能を備える。コーデック１７は、ファクシミリデータの符号化や復号化を行う。ＤＭＡＣ１８は、直接ＲＡＭ１２へのデータの書き込みや読み出しを行う。
【００１９】
読取部２１は、イメージセンサや光源などを備え、原稿などから文字や図形などのカラー画像を読み取る。印刷部２２は、たとえばインクジェット方式あるいは熱転写方式などにより、文字や図形などのカラー画像を印刷する。操作部２３は、テンキーや文字キーなどのキースイッチ群を備え、使用者のキー操作に応じた指示をＣＰＵ１０に伝える。表示部２４は、ＬＣＤなどのディスプレイを備え、動作状態や操作ガイダンスなどを表示する。
【００２０】
要点について説明すると、本ファクシミリ装置は、所定の解像度でイメージセンサより順次得られた画像データに対し、メインメモリとなるＲＡＭ１２を共用してフィルタ演算などを施しながら画像処理を行うものである。このような画像処理に際しては、ＲＡＭ１２に対する画像データの読み書きを高速としてメモリのアクセスタイムを向上するため、先述したようにバーストアクセスが行われる。このようなバーストアクセスは、読取部２１から直接バーストアクセスリクエストとして要求されるだけでなく、ＣＰＵ１０などからも要求される。また、アクセスリクエストの発生中に他のアクセスリクエストが発生する場合があり、そのため、本ファクシミリ装置では、これらのアクセスリクエストが複数発生した場合に対処すべく、優先順位の高い順に調停してリクエスト内容をＲＡＭ１２に対して指示するための回路がゲートアレイ１６に構築されている。
【００２１】
図２は、アクセスリクエストを優先順に調停する回路を示したブロック図であって、この図に示すプライオリティエンコーダ１６Ａは、サンプリング信号生成回路１６Ｂから出力されるサンプリング信号ｓａｍｐｌｅ＿ｅｎｂに応じて、複数の機能ｃｈ１〜ｃｈ３より要求されるアクセスリクエストｒｅｑ１〜ｒｅｑ３を優先順に調停する（ここでは、一例として、機能ｃｈ１の順位が最も高く、ついで、機能ｃｈ２の順位が２番目に高く、機能ｃｈ３の順位が最も低く設定されている場合について説明するが、これらの優先順位は固定的なものであっても、あるいは、異なる制御条件下において順位が適宜変更されるものであってもよい）といった、いわゆるチャネル選択回路として中心的機能を果たす。サンプリング信号生成回路１６Ｂは、プライオリティエンコーダ１６Ａによる調停動作を許可する場合、イネーブル信号としてサンプリング信号ｓａｍｐｌｅ＿ｅｎｂをハイレベルで出力するが、サンプリング信号ｓａｍｐｌｅ＿ｅｎｂの出力レベルは、バーストイネーブルレジスタ１６Ｃおよびバーストロックレジスタ１６Ｄに設定されたビットｃｈ（ｎ）ｂｓｔ＿ｅｎｂ，ｃｈ（ｎ）ｂｓｔ＿ｌｏｃｋに依存する。要するに、ＲＡＭコントローラ１２Ａに対してバーストアクセスを要求中には、バーストイネーブルレジスタ１６Ｃやロックレジスタ１６Ｄのビットｃｈ（ｎ）ｂｓｔ＿ｅｎｂ，ｃｈ（ｎ）ｂｓｔ＿ｌｏｃｋに応じて、他のアクセスリクエストによる割り込みを禁止するか否かを切り替えることができる。割り込みを禁止する場合には、サンプリング信号生成回路１６Ｂからサンプリング信号ｓａｍｐｌｅ＿ｅｎｂがローレベルで出力され、プライオリティエンコーダ１６Ａによる調停動作が不可とされるのである。
【００２２】
バーストロックレジスタ１６Ｄとは、各機能（チャネル）に対応した複数のビットを有し、各チャネルからアクセスリクエストｒｅｑ１〜ｒｅｑ３がある場合、それぞれをバーストアクセスリクエストとして単独動作させるか否かを０，１のビットｃｈ１ｂｓｔ＿ｌｏｃｋ〜ｃｈ３ｂｓｔ＿ｌｏｃｋで設定するための置数器である。たとえば、アクセスリクエストｒｅｑ３がｂｓｔ３＝「１」のバーストアクセスリクエストとして発生中であって、それに対応するバーストロックレジスタ１６Ｄのビットｃｈ３ｂｓｔ＿ｌｏｃｋが「１」に設定された場合、サンプリング信号生成回路１６Ｂからは、サンプリング信号ｓａｍｐｌｅ＿ｅｎｂがローレベルで出力されることで、プライオリティエンコーダ１６Ａによる調停動作が禁止される。つまり、この場合には、アクセスリクエストｒｅｑ３によるバーストアクセスが単独動作とされ、これよりも順位の高い他のアクセスリクエストｒｅｑ１，ｒｅｑ２による割り込みが禁止されるのである。
【００２３】
逆に、たとえば、アクセスリクエストｒｅｑ３がｂｓｔ３＝「１」のバーストアクセスリクエストとして発生中であっても、それに対応するバーストロックレジスタ１６Ｄのビットｃｈ３ｂｓｔ＿ｌｏｃｋが「０」の場合、サンプリング信号生成回路１６Ｂからは、サンプリング信号ｓａｍｐｌｅ＿ｅｎｂがハイレベルで出力され、プライオリティエンコーダ１６Ａによる調停動作が許可されることから、これよりも順位の高い他のアクセスリクエストｒｅｑ１，ｒｅｑ２による割り込みが可能とされる。
【００２４】
一方、バーストイネーブルレジスタ１６Ｃとは、各機能（チャネル）に対応した複数のビットを有し、各チャネルからのアクセスリクエストｒｅｑ１〜ｒｅｑ３をバーストアクセスリクエストとしてマスクするか否かを０，１のビットｃｈ１ｂｓｔ＿ｅｎｂ〜ｃｈ３ｂｓｔ＿ｅｎｂで設定しておくための置数器である。たとえば、アクセスリクエストｒｅｑ３に関するｂｓｔ３＝「１」のバーストアクセスリクエストをマスクする場合、バーストイネーブルレジスタ１６Ｃのビットｃｈ３ｂｓｔ＿ｅｎｂには、「０」が設定される。そして、そのビットｃｈ３ｂｓｔ＿ｅｎｂとバースト信号ｂｓｔ３とが論理積ゲート１６Ｅを介して演算され、ローレベルの出力信号ｃｈ３ｂｓｔがサンプリング信号生成回路１６Ｂに供給される。すると、ｃｈ３ｂｓｔ＿ｌｏｃｋの状態に関わらず、サンプリング信号生成回路１６Ｂからサンプリング信号ｓａｍｐｌｅ＿ｅｎｂがハイレベルで出力されることで、プライオリティエンコーダ１６Ａによる調停動作が可とされる。つまり、この場合には、ｃｈ３ｂｓｔ＿ｌｏｃｋが「１」であっても、他のアクセスリクエストｒｅｑ１，ｒｅｑ２による割り込みが許可されるのである。
【００２５】
逆に、たとえばアクセスリクエストｒｅｑ３をマスクしない場合、バーストイネーブルレジスタ１６Ｃのビットｃｈ３ｂｓｔ＿ｅｎｂには、「１」が設定され、そのビットｃｈ３ｂｓｔ＿ｅｎｂとバースト信号ｂｓｔ３とが論理積ゲート１６Ｅを介して演算される結果、バースト信号ｂｓｔ３がそのまま出力信号ｃｈ３ｂｓｔとしてサンプリング信号生成回路１６Ｂに供給される。すると、サンプリング信号生成回路１６Ｂから出力されるサンプリング信号ｓａｍｐｌｅ＿ｅｎｂのレベルは、ｃｈ３ｂｓｔ＿ｌｏｃｋの状態に依存して決定される。
【００２６】
なお、図２には図示していないが、プライオリティエンコーダ１６Ａには、論理積ゲート１６Ｅから出力信号ｃｈ１ｂｓｔ〜ｃｈ３ｂｓｔが供給されるようになっており、これによって、プライオリティエンコーダ１６Ａは、各チャネルからアクセスリクエストｒｅｑ１〜ｒｅｑ３があった場合、対応する出力信号ｃｈ１ｂｓｔ〜ｃｈ３ｂｓｔがローレベルであると、各チャネルからのアクセス要求がバーストアクセスであったとしても、シングルアクセスとなるように調停動作を行うようになっている。
【００２７】
すなわち、プライオリティエンコーダ１６Ａは、メモリ（ＲＡＭ１２）に対する複数のアクセスリクエストを、優先順位の高い順に調停し、メモリに対してリクエスト内容を指示するリクエスト調停手段を実現している。また、バーストイネーブルレジスタ１６Ｃおよびバーストロックレジスタ１６Ｄを含むサンプリング信号生成回路１６Ｂは、バーストアクセスリクエストに応じたバーストアクセス動作中に他のアクセスリクエストが発生したときに、上記リクエスト調停手段による調停動作を可とするか不可とするかを切り替える切替手段を実現している。
【００２８】
なお、上記の手段は、ＣＰＵ１０の一部機能としても実現することができ、その場合、ＲＯＭ１４は、メモリに対する複数のアクセスリクエストを、優先順位の高い順に調停し、上記メモリに対してリクエスト内容を指示するリクエスト調停手段を有し、バーストアクセスリクエストに対応するメモリアクセス制御装置を制御するためのプログラムを記憶した記憶媒体であって、上記バーストアクセスリクエストに応じたバーストアクセス動作中に他のアクセスリクエストが発生したときに、上記リクエスト調停手段による調停動作を可とするか不可とするかを切り替えるための切替プログラムを含むプログラムを記憶した記憶媒体を実現する。
【００２９】
さらに詳しく説明するために、サンプリング信号生成回路１６Ｂの構成を図３の回路図に示す。なお、この図においては、主としてバーストロックレジスタ１６Ｄのビットｃｈ１ｂｓｔ＿ｌｏｃｋ〜ｃｈ３ｂｓｔ＿ｌｏｃｋを処理するための回路を示す。
【００３０】
図３に示すように、サンプリング信号生成回路１６Ｂは、バーストロックレジスタ１６Ｄの各ビットｃｈ１ｂｓｔ＿ｌｏｃｋ〜ｃｈ３ｂｓｔ＿ｌｏｃｋに対応するロックフラグ生成部１６Ｂａ〜１６Ｂｃ、入力段の論理積ゲート１６Ｂｄ〜１６Ｂｆ、中段のＮＯＲゲート１６Ｂｈ、論理和ゲート１６Ｂｉ、ならびに出力段の論理和ゲート１６Ｂｊなどを有して構成される。各ロックフラグ生成部１６Ｂａ〜１６Ｂｃには、先述したアクセスリクエストｒｅｑ１〜ｒｅｑ３、論理積ゲート１６Ｅの出力信号ｃｈ１ｂｓｔ〜ｃｈ３ｂｓｔ、バーストロックレジスタ１６Ｄのビットｃｈ１ｂｓｔ＿ｌｏｃｋ〜ｃｈ３ｂｓｔ＿ｌｏｃｋのほか、ＲＡＭコントローラ１２Ａにより選択中のアクセスリクエストに対応したリクエスト選択信号ｓｅｌ＿ｃｈ１〜ｓｅｌ＿ｃｈ３や、それに対するＲＡＭコントローラ１２Ａからの応答信号ａｃｋが入力される。ロックフラグ生成部１６Ｂａ〜１６Ｂｃは、それぞれフリップフロップを含む論理回路で構成されたものであって、一定周期（図４，５に波線で示す周期）のクロック信号をもとに所定の演算動作（リクエスト選択信号ｓｅｌ＿ｃｈ１〜ｓｅｌ＿ｃｈ３と関連したタイミングで、バーストロックされたときには「１」となり、ロックされないときには「０」となるロックフラグを生成する動作）を行い、その演算結果をロックフラグｃｈ１＿ｌｏｃｋ〜ｃｈ３＿ｌｏｃｋとして出力する。各ロックフラグｃｈ１＿ｌｏｃｋ〜ｃｈ３＿ｌｏｃｋは、中段のＮＯＲゲート１６Ｂｈに入力される。このＮＯＲゲート１６Ｂｈの出力端は、出力段の論理和ゲート１６Ｂｊの入力端に接続され、出力段の論理和ゲート１６Ｂｊからは、出力レベルが０，１に対応するサンプリング信号ｓａｍｐｌｅ＿ｅｎｂが出力される。
【００３１】
一方、入力段の各論理積ゲート１６Ｂｄ〜１６Ｂｆには、先の論理積ゲート１６Ｅからの出力信号ｃｈ１ｂｓｔ〜ｃｈ３ｂｓｔが反転入力されるほか、リクエスト選択信号ｓｅｌ＿ｃｈ１〜ｓｅｌ＿ｃｈ３および応答信号ａｃｋが入力される。これらの論理積ゲート１６Ｂｄ〜１６Ｂｆの各出力端は、中段の論理和ゲート１６Ｂｉの入力端に接続されているとともに、この論理和ゲート１６Ｂｉの出力端は、出力段の論理和ゲート１６Ｂｊの入力端に接続されている。つまり、ｃｈ１〜ｃｈ３に対応した各ロックフラグ生成部１６Ｂａ〜１６Ｂｃから出力されるロックフラグｃｈ１＿ｌｏｃｋ〜ｃｈ３＿ｌｏｃｋがすべて「０」である場合、または、入力段の各論理積ゲート１６Ｂｄ〜１６Ｂｆから出力される信号のいずれかが「１」である場合に限り、サンプリング信号ｓａｍｐｌｅ＿ｅｎｂが「１」として出力され、プライオリティエンコーダ１６Ａによりアクセスリクエストｒｅｑ１〜ｒｅｑ３が調停される。
【００３２】
簡単に言えば、バーストロックレジスタ１６Ｄの対応するビットｃｈ１ｂｓｔ＿ｌｏｃｋ〜ｃｈ３ｂｓｔ＿ｌｏｃｋに「１」が設定されたバーストアクセスリクエストｒｅｑ１〜ｒｅｑ３については、プライオリティエンコーダ１６Ａによる調停動作が不可とされ、他のアクセスリクエストによる割り込みが禁止される。逆に「０」が設定されたバーストアクセスリクエストｒｅｑ１〜ｒｅｑ３については、プライオリティエンコーダ１６Ａによる調停動作が可能とされ、他のアクセスリクエストによる割り込みが許可されるのである。もちろん、バーストイネーブルレジスタ１６Ｃによってバースト信号ｂｓｔ１〜ｂｓｔ３のいずれか１以上がマスクされている場合、マスクされたチャネルについては、バーストロックレジスタ１６Ｄに「１」が設定されていても、割り込みが許可されることになる。
【００３３】
図４および図５は、アクセスリクエストｒｅｑ１〜ｒｅｑ３を調停する際に入出力される各種信号のタイミングを示したタイムチャートである。なお、各図は、主としてバーストロックレジスタ１６Ｄの各ビットｃｈ１ｂｓｔ＿ｌｏｃｋ〜ｃｈ３ｂｓｔ＿ｌｏｃｋに応じたタイミングを示し、特に図４は、各ビットｃｈ１ｂｓｔ＿ｌｏｃｋ〜ｃｈ３ｂｓｔ＿ｌｏｃｋがすべて「１」の場合、一方、図５は、ｃｈ３に対応するビットｃｈ３ｂｓｔ＿ｌｏｃｋのみが「０」の場合を示す。また、各図に示すタイミング中においては、バーストイネーブルレジスタ１６Ｃの各ビットｃｈ１ｂｓｔ＿ｅｎｂ〜ｃｈ３ｂｓｔ＿ｅｎｂがすべて「１」に設定された状態とし、したがって、論理積ゲート１６Ｅの出力信号ｃｈ１ｂｓｔ〜ｃｈ３ｂｓｔは、バーストアクセスリクエストに該当する場合に「１」として出力されるバースト信号ｂｓｔ１〜ｂｓｔ３のそれぞれと同値で示されるものとする。さらに、応答信号ａｃｋは、ＲＡＭコントローラ１２Ａにより各アクセスリクエストｒｅｑ１〜ｒｅｑ３が認められたときにハイレベルとなり、メモリアクセス不可などの状態に応じてローレベルとなるが、応答信号ａｃｋと各アクセスリクエストｒｅｑ１〜ｒｅｑ３との対応関係を明らかにするために、図中に番号を付記するとともに、説明においては、その番号をパーレン括弧中に示す。
【００３４】
まず、図４に示すように、バーストアクセスリクエスト（１〜４）ｒｅｑ２が発生し、それに対応するバーストロックレジスタ１６Ｄのビットｃｈ２ｂｓｔ＿ｌｏｃｋが「１」の場合、サンプリング信号ｓａｍｐｌｅ＿ｅｎｂがローレベルとなってプライオリティエンコーダ１６Ａによる調停動作が不可とされる。その一方、論理積ゲート１６Ｅの出力信号ｃｈ２ｂｓｔに遅れてプライオリティエンコーダ１６Ａからは、バーストアクセスリクエスト（１〜４）ｒｅｑ２を選択した状態を示す選択信号ｓｅｌ＿ｃｈ２が出力される。
【００３５】
それとともに、サンプリング信号生成回路１６Ｂのｃｈ２に対応したロックフラグ生成部１６Ｂｂからは、ロックフラグｃｈ２＿ｌｏｃｋが「１」として出力される。
【００３６】
これにより、サンプリング信号生成回路１６Ｂは、他のアクセスリクエストｒｅｑ１，ｒｅｑ３の割り込みを禁止すべく、サンプリング信号ｓａｍｐｌｅ＿ｅｎｂをローレベルで出力する。
【００３７】
次に、プライオリティエンコーダ１６Ａからは、バーストアクセスリクエスト（５〜７）ｒｅｑ３を選択した状態を示す選択信号ｓｅｌ＿ｃｈ３が出力されるとともに、サンプリング信号生成回路１６Ｂのｃｈ３に対応したロックフラグ生成部１６Ｂｃからは、ロックフラグｃｈ３＿ｌｏｃｋが「１」として出力され、ＲＡＭコントローラ１２Ａの応答信号ａｃｋに応じてバーストアクセスリクエスト（５〜７）ｒｅｑ３が受け付けられる。すなわち、バーストアクセスリクエスト（４）ｒｅｑ２の段階では、当該バーストアクセスリクエスト動作の最後であることから、出力信号ｃｈ２ｂｓｔがローレベルとなるのに伴って、サンプリング信号ｓａｍｐｌｅ＿ｅｎｂがハイレベル（応答信号ａｃｋがハイレベルであることが条件である）となり、次のクロック信号のタイミングで調停動作が可能となる。これにより、アクセスリクエスト（４）ｒｅｑ２が終了すると同時に、選択信号ｓｅｌ＿ｃｈ２に代わって、選択信号ｓｅｌ＿ｃｈ３が選択され、バーストアクセスリクエスト（５）ｒｅｑ３が受け付けられる。
【００３８】
一方、同図に一例として示すように、バーストアクセスに該当しないアクセスリクエスト（１２）ｒｅｑ２の発生中に、他のバーストアクセスリクエスト（８〜１１）ｒｅｑ１が重複して発生した場合、プライオリティエンコーダ１６Ａは、上記とは異なり他のバーストアクセスリクエスト（８〜１１）ｒｅｑ１を優先する。つまり、この場合には、優先順位の高いバーストアクセスリクエストｒｅｑ１（８〜１１）がプライオリティエンコーダ１６Ａを介してＲＡＭコントローラ１２Ａにより選択され、それに応じた応答信号（８〜１１）ａｃｋが出力されるのである。
【００３９】
そして、待ち状態とされたアクセスリクエスト（１２）ｒｅｑ２は、バーストアクセスリクエストｒｅｑ１（８〜１１）の次にプライオリティエンコーダ１６Ａを介してＲＡＭコントローラ１２Ａにより選択され、それに応じた応答信号（１２）ａｃｋが出力されることとなる。
【００４０】
さらに、同図に一例として示すように、バーストアクセスに該当しないアクセスリクエスト（１７，２２）ｒｅｑ２の発生中に、他のバーストアクセスリクエスト（１８〜２１）ｒｅｑ１が発生した場合、プライオリティエンコーダ１６Ａは、上記と同様に他のバーストアクセスリクエスト（１８〜２１）ｒｅｑ１を優先する。この場合、プライオリティエンコーダ１６Ａは、応答信号（１７〜２２）ａｃｋで示されるように、アクセスリクエスト（１７）ｒｅｑ２を既に優先させていることから、そのアクセスリクエスト（１７）ｒｅｑ２を中断させた後、他のバーストアクセスリクエスト（１８〜２１）ｒｅｑ１を割り込ませ、その後、再びバーストアクセスリクエスト（２２）ｒｅｑ２を選択している。
【００４１】
図５は、バーストアクセスリクエストｒｅｑ３に対応してバースト信号ｂｓｔ３が「１」として出力されるが、バーストロックレジスタ１６Ｄのビットｃｈ３ｂｓｔ＿ｌｏｃｋが常に「０」とされているために、ロックフラグｃｈ３＿ｌｏｃｋも常に「０」として出力される状態を示したものである。
【００４２】
この場合、同図に一例として示すように、バースト信号ｂｓｔ３を「１」としたバーストアクセスリクエスト（５，１４）ｒｅｑ３の発生中に、他のバーストアクセスリクエスト（６〜１０）ｒｅｑ２，（１１〜１３）ｒｅｑ１が発生した場合であれば、プライオリティエンコーダ１６Ａは、サンプリング信号ｓａｍｐｌｅ＿ｅｎｂが「１」となる出力レベルに応じて、他のバーストアクセスリクエスト（６〜１０）ｒｅｑ２，（１１〜１３）ｒｅｑ１を割り込ませる。
【００４３】
要するに、各図に示すタイムチャートから言えることは、少なくともロックフラグｃｈ１＿ｌｏｃｋ〜ｃｈ３＿ｌｏｃｋがすべて「０」である期間中、サンプリング信号ｓａｍｐｌｅ＿ｅｎｂが「１」となり、プライオリティエンコーダ１６Ａによる調停動作が可能とされるのである。
【００４４】
したがって、上記構成、動作を有するファクシミリ装置によれば、バーストアクセスリクエストｒｅｑ１〜ｒｅｑ３に応じてバーストアクセス動作中、他のアクセスリクエストが発生したときには、各レジスタ１６Ｃ，１６Ｄのビット設定に応じて、現時点のバーストアクセス動作を優先させるか否かを任意に切り替えることができる。したがって、ある制御条件下においては、バーストアクセス動作中に、それよりも高優先順位のアクセスリクエストがあっても、バーストアクセスによる高速動作をそのまま続行させることもできるし、また、別の制御条件下においては、バーストアクセス動作中に、それよりも高優先順位のアクセスリクエストがあれば、バーストアクセス動作を中止して、高優先順位のアクセスリクエストを割り込ませることもでき、メモリに対するアクセス効率の低下やシステムの破綻を招くことなく、複数のアクセスリクエストｒｅｑ１〜ｒｅｑ３を巧みに調停することができる。
【００４５】
なお、本発明は、上記の実施形態に限定されるものではない。
【００４６】
たとえば、メモリアクセス制御装置としては、ファクシミリ装置に限らず、パーソナルコンピュータの周辺機器や、パーソナルコンピュータそのものであっても良い。
【００４７】
アクセスリクエストの数は、上記実施形態で示した数に限らず、２以上であれば本発明を適用できる。
【００４８】
バーストイネーブルレジスタ１６Ｃおよびバーストロックレジスタ１６Ｄは、必ずしもすべての機能（チャネル）に対応して設けなくても良く、すなわち、必要な機能に対応するビットのみを設ければ良い。また、バーストイネーブルレジスタ１６Ｃ、バーストロックレジスタ１６Ｄのいずれか一方が設けられた構成であっても良い。
【００４９】
【発明の効果】
以上説明したように、請求項１に記載した発明のメモリアクセス制御装置によれば、バーストアクセスリクエストに応じてバーストアクセス動作中、他のアクセスリクエストが発生したときには、アクセスリクエストの調停動作を可とするか不可とするかの切り替えに応じて、バーストアクセス動作を優先させるか否かを任意に切り替えることができる。したがって、ある制御条件下においては、バーストアクセス動作中に、それよりも高優先順位のアクセスリクエストがあっても、バーストアクセスによる高速動作をそのまま続行させることもできるし、また、別の制御条件下においては、バーストアクセス動作中に、それよりも高優先順位のアクセスリクエストがあれば、バーストアクセス動作を中止して、高優先順位のアクセスリクエストを割り込ませることもでき、メモリに対するアクセス効率の低下やシステムの破綻を招くことなく、複数のアクセスリクエストを巧みに調停することができる。
【００５０】
また、請求項２に記載した発明のメモリアクセス制御装置によれば、請求項１に記載のメモリアクセス制御装置による効果に加えて、バーストロックレジスタのビットに応じて、バーストアクセス動作中に他のアクセスリクエストによるアクセス動作を割り込ませるべきか否かを決定することができる。
【００５１】
さらに、請求項３に記載した発明のメモリアクセス制御装置によれば、請求項１または２に記載のメモリアクセス制御装置による効果に加えて、バースト信号をマスクするように設定できるバーストイネーブルレジスタのビットに応じて、バーストアクセス動作中に他のアクセスリクエストによるアクセス動作を割り込ませるべきか否かを決定することができる。しかも、バースト信号をマスクするように設定されたチャネルについては、バーストアクセスリクエストがあっても、シングルアクセスとして処理させるようにすることができるので、他のチャネルからのアクセスリクエストを優先的に割り込ませることが可能となる。
【００５２】
また、請求項４に記載した発明の記憶媒体によれば、記憶されたプログラムに基づいてＣＰＵを動作させることにより、請求項１に記載のメモリアクセス制御装置の動作を実現することができる。
【図面の簡単な説明】
【図１】本発明に係るメモリアクセス制御装置の一実施形態として、ファクシミリ装置の構成を示したブロック図である。
【図２】アクセスリクエストを優先順に調停する回路を示したブロック図である。
【図３】サンプリング信号生成回路の構成を示した回路図である。
【図４】アクセスリクエストを調停する際に入出力される各種信号のタイミングを示したタイムチャートである。
【図５】アクセスリクエストを調停する際に入出力される各種信号のタイミングを示したタイムチャートである。
【符号の説明】
１０    ＣＰＵ
１１    ＮＣＵ
１２    ＲＡＭ
１３    モデム
１４    ＲＯＭ
１５    ＥＥＰＲＯＭ
１６    ゲートアレイ
１６Ａ  プライオリティエンコーダ
１６Ｂ  サンプリング信号生成回路
１６Ｃ  バーストイネーブルレジスタ
１６Ｄ  バーストロックレジスタ
１７    コーデック
１８    ＤＭＡＣ
２１    読取部
２２    印刷部
２３    操作部
２４    表示部
【図１】
0004538911.tif 000002
【図２】
0004538911.tif 000003
【図３】
0004538911.tif 000004
【図４】
0004538911.tif 000005
【図５】
0004538911.tif 000006