JP2005062946A - メモリ制御装置 - Google Patents
メモリ制御装置 Download PDFInfo
- Publication number
- JP2005062946A JP2005062946A JP2003207372A JP2003207372A JP2005062946A JP 2005062946 A JP2005062946 A JP 2005062946A JP 2003207372 A JP2003207372 A JP 2003207372A JP 2003207372 A JP2003207372 A JP 2003207372A JP 2005062946 A JP2005062946 A JP 2005062946A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- data
- access
- cpu
- 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
Images
Landscapes
- Bus Control (AREA)
- Memory System (AREA)
Abstract
【課題】複数の装置でメモリバスを共用してメモリへのアクセスを行うシステムにおいて、メモリバスへのアクセス要求の競合が起こりやすく、メモリを用いた処理の効率が低下する。
【解決手段】ページメモリの各アドレスに対応してアドレスデコーダ回路76にフラグを設ける。データの書き込みが行われていないアドレスに対応するフラグには「0」を設定し、以降、この「0」のフラグのアドレスに対するCPU52の読み出し要求に対しては、アドレスデコーダ回路76がアドレス一致信号を出力し、それに対応して固定値出力回路78はCPU52に固定値「0」を読み出しデータとして返す。一方、メモリバス調停回路62はアドレス一致信号を受けると、外部デバイス54,56に対し、アクセス権を付与し、外部デバイス54等がメモリバスを使用してメモリ58との間でDMA転送を行う。
【選択図】 図1
【解決手段】ページメモリの各アドレスに対応してアドレスデコーダ回路76にフラグを設ける。データの書き込みが行われていないアドレスに対応するフラグには「0」を設定し、以降、この「0」のフラグのアドレスに対するCPU52の読み出し要求に対しては、アドレスデコーダ回路76がアドレス一致信号を出力し、それに対応して固定値出力回路78はCPU52に固定値「0」を読み出しデータとして返す。一方、メモリバス調停回路62はアドレス一致信号を受けると、外部デバイス54,56に対し、アクセス権を付与し、外部デバイス54等がメモリバスを使用してメモリ58との間でDMA転送を行う。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、メモリ制御装置に関し、特に複数のデータ処理装置からメモリにアクセスする場合における処理の効率化に関する。
【0002】
【従来の技術】
従来より、複数のデータ処理装置として中央演算装置(CPU)と外部デバイスとを含み、それら複数のデータ処理装置でメモリバスを共用しメモリにアクセスするシステムが存在する。その一例であるプリンタシステムでは、画像を保持するページメモリを有し、このページメモリはCPUにて生成された画像データを書き込まれ、その書き込まれた画像データは、外部デバイスである印刷装置からダイレクトメモリアクセス(DMA)により読み出され印刷される。
【0003】
図6は、CPUと外部デバイスとでメモリバスを共用する従来のシステムの概略の構成を示す模式図である。このシステムではCPU2と、2つの外部デバイス4,6とがメモリ8に対しアクセスを行う。これらCPU2及び外部デバイス4,6とメモリ8との間にはメモリバスコントローラ10が介在し、このメモリバスコントローラ10が、メモリ8とのデータの受け渡しを制御する。CPU2及び外部デバイス4,6はメモリ8へのアクセスを希望する場合には、メモリバス調停回路12に対してバスリクエスト信号を送信する。メモリバス調停回路12はバスリクエスト信号を送ってきたCPU2又は外部デバイス4,6に対してアクセス権を付与する。アクセス権はバスグラント信号によって、対応する装置2,4,6に通知され、またコントローラ10に対して、アクセス権を付与された装置を識別するバス調停セレクト信号(Select信号)が供給される。メモリバス調停回路12は複数の装置2,4,6からのアクセス権要求が競合した場合にはそれを調停して、いずれか1つの装置にアクセス権を付与する。
【0004】
メモリバスコントローラ10はアドレスバスセレクト回路22及びデータバスセレクト回路24を備える。図7はメモリバスコントローラ10の概略の構成を示す模式図であり、この図にはアドレスバスセレクト回路22及びデータバスセレクト回路24のより詳しい構成が示されている。アドレスバスセレクト回路22、データバスセレクト回路24はそれぞれ切換器26,28を有する。アドレスバスセレクト回路22が有する切換器26は、CPU2及び2つの外部デバイス4,6がメモリアドレスを出力するアドレス信号線のうちいずれかを選択してメモリ8のアドレス信号線に接続する。またデータバスセレクト回路24の切換器28は、CPU2及び2つの外部デバイス4,6のデータ信号線のうちいずれかを選択してメモリ8のデータ信号線に接続する。これら切換器26,28の切り換え制御は、バス調停セレクト信号に基づいて行われ、それぞれ現在、アドレス権を付与されているものに対応する信号線がメモリ8に接続される。
【0005】
さて、プリンタのような画像処理装置では、ページメモリに印刷画像を展開し、印刷するという処理の中で、ページメモリのクリアをする処理が必要となる。近年、画像データの多値化、カラー化に伴い、データ量が多くなってきており、ページメモリのクリア処理にも時間がかかるようになってきた。これを解決する技術が特許文献1及び特許文献2に示されている。特許文献1に示される技術は、複数に分割されたメモリのアドレス空間毎に、そのアドレス空間に先頭アドレスに書き込みアクセスが行われていない場合、そのアドレス空間から読み出されたデータを所定値にマスクするというものである。また特許文献2に示される技術は、メモリのアクセス状態を記憶し、ライト動作があったアドレスへのリード動作に対してはメモリの内容を出力し、ライト動作がないアドレスへのリードに対しては固定値、例えば初期化値である0を返すというものである。これらの技術によれば、実際のメモリの内容に関わらず、リード動作に対して初期化値を返すことができ、メモリをクリアする動作を省略することができる。
【0006】
【特許文献1】
特開平11−242628号公報
【特許文献2】
特開平10−307762号公報
【0007】
【発明が解決しようとする課題】
CPUと外部デバイスとでメモリバスを共用するプリンタシステムでは、例えば、複数ページを印刷する場合、CPUが1ページ目の描画を完了した後、2ページ目の描画を開始すると同時に、メモリに描画された1ページ目の印刷データが読み出され印刷装置にDMA転送される。このとき、2ページ目のメモリクリア(DMAライト動作)とCPUによる描画のためのメモリアクセス(リード動作又はライト動作)、及び印刷装置への1ページ目の印刷データのデータ転送(DMAリード動作)が行われることになり、メモリバスの稼働率が高くなる。そのため場合によっては、処理が競合して待ち時間が生じることもある。さらに、これに他の外部装置(ENET,HDDなど)のDMA転送が重なると、さらにバス稼働率が高くなる。
【0008】
ここで、上述の特許文献1,2の技術を用いれば、メモリクリア処理を省くことができ、メモリバスの負荷を軽減することができるが、当該技術は本来的にはメモリバスの調停や稼働率の改善という観点を有さない。そのため、上述のような複数の装置でメモリバスを共用する場合の問題点は必ずしも好適に解決されない。
【0009】
本発明は上記問題点を解決することを目的とし、複数の装置でメモリバスが共用されるシステムにおいてメモリ制御が効率的に行われ、メモリバスの負荷を軽減することができるメモリ制御装置を提供することをその目的の一つとする。
【0010】
【課題を解決するための手段】
本発明に係るメモリ制御装置は、複数のデータ処理装置からメモリへのアクセスを行うシステムにおけるメモリ制御装置であって、前記データ処理装置に選択的に前記メモリへのアクセス権を与えるアクセス権付与部と、前記データ処理装置と前記メモリとの間に介在し、前記データ処理装置の要求に基づいて前記メモリに対する書き込み動作及び読み出し動作を行うメモリアクセス部と、を有し、前記メモリアクセス部は、前記データ処理装置と前記メモリとの間でのデータの受け渡しを行うメモリデータ入出力手段と、前記メモリの記憶領域を分割して定められた複数の分割領域に対応させて、当該分割領域に対するデータ更新動作に関する更新情報値を記憶する更新情報値記憶手段と、データの書き込みを要求された前記分割領域に対応する前記更新情報値を第1の値にセットし、一方、記憶内容の初期化を要求された前記分割領域に対応する前記更新情報値を第2の値にセットする更新情報値設定手段と、前記データ処理装置から要求された前記メモリに対する読み出し動作が、前記更新情報値が前記第2の値である前記分割領域に対するものであることを検知して、初期化領域アクセス信号を出力する初期化領域アクセス検知手段と、前記初期化領域アクセス信号に応答して、前記メモリデータ入出力手段を介さずに、当該読み出し動作を要求したデータ処理装置に所定の初期化値を返す初期化値出力手段と、を有する。
【0011】
本発明によれば、メモリの記憶領域が複数の分割領域に区分され、それら分割領域に対応させて更新情報値が定義される。この更新情報値は、対応する分割領域のデータ更新動作として初期化を要求された場合に第2の値にセットされる。一方、初期化のためでなく有効なデータを書き込む動作を要求された場合に第1の値にセットされる。ここで、初期化を要求された場合には、更新情報値をセットするだけでよく、実際に当該分割領域に初期化値を書き込む動作は行う必要がない。更新情報値に第2の値をセットされている分割領域に対する読み出し動作がデータ処理装置から要求された場合には、当該分割領域から実際にデータを読み出すことは行われず、初期化値出力手段から初期化値がデータ処理装置に返される。ここで、更新情報値記憶手段及び初期化値出力手段はメモリではなくメモリアクセス部に設けられるので、更新情報値が第2の値の分割領域に対する読み出し動作において、メモリアクセス部とメモリとの間でデータの受け渡しはなく、メモリバスは用いられない。そこで、メモリアクセス部は、この空いているメモリバスを、他のデータ処理装置からの、更新情報値が第1の値の分割領域に対する読み出し動作要求(この場合には実際にメモリからデータが読み出される)や、初期化のためではないデータの書き込み動作要求に供することができる。すなわち、あるデータ処理装置に対して初期化値出力手段が初期化値を返している状態では、その終了を待たずに、他のデータ処理装置に対するメモリアクセス動作を行うことができ、メモリバスの負荷を抑えつつ、効率的なメモリ制御が実現される。
【0012】
他の本発明に係るメモリ制御装置においては、前記アクセス権付与部が、いずれかの前記データ処理装置に対し前記アクセス権を付与している間、他の前記データ処理装置への前記アクセス権の付与を禁止する付与禁止手段と、前記初期化領域アクセス信号に応答して、前記アクセス権の付与禁止を解除する禁止解除手段と、を有する。
【0013】
いずれかのデータ処理装置に付与されたアクセス権は、原則としてそのデータ処理装置が処理完了又は割り込み等によって、その処理を終えてメモリを解放するまで有効であるが、本発明によれば、データ処理装置が更新情報値に第2の値をセットされた分割領域を読み出す処理を行っている最中に、アクセス権付与部はそのデータ処理装置に選択的に与えられたアクセス権を解除し、他のデータ処理装置に対するアクセス権の付与を可能とする。これにより、他のデータ処理装置がメモリに対するアクセスを必要とした場合に、そのデータ処理装置にアクセス権を付与して、メモリの利用を可能とすることができる。
【0014】
本発明の好適な態様は、前記複数のデータ処理装置として、中央演算装置と、前記メモリにダイレクトメモリアクセス可能な外部デバイスとを含む前記システムにおけるメモリ制御装置であって、前記初期化領域アクセス検知手段が、前記中央演算装置が要求する前記読み出し動作に対しての検知結果に基づいて前記初期化領域アクセス信号を出力し、前記禁止解除手段が、前記初期化領域アクセス信号に応答して、前記外部デバイスへの前記アクセス権の付与禁止を解除するメモリ制御装置である。
【0015】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら説明する。図1は、本発明の実施の形態に係るプリンタシステムの概略の構成を示す模式図である。このシステムではCPU52と、2つの外部デバイス54,56とがメモリ58に対しアクセスを行う。ここで、外部デバイス54,56は例えば印刷装置など、メモリ58上に格納された印刷データを読み出して使用する装置である。メモリ58にはページメモリ領域が確保され、CPU52が描画処理を行って、このページメモリに1ページ分の画像データを書き込み、その画像データが印刷データとして外部デバイス54,56からの読み出し動作に応じて、当該デバイスへDMA転送される。
【0016】
これらCPU52及び外部デバイス54,56とメモリ58との間にはメモリバスコントローラ60が介在し、このメモリバスコントローラ60が、メモリ58とのデータの受け渡しを制御する。CPU52及び外部デバイス54,56はメモリ58へのアクセスを希望する場合には、メモリバス調停回路62に対してバスリクエスト信号を送信する。メモリバス調停回路62はバスリクエスト信号を送ってきたCPU52又は外部デバイス54,56に対して選択的にアクセス権を付与する。アクセス権が付与されたことはバスグラント信号によって対応する装置52,54,56に通知され、またメモリバスコントローラ60に対して、アクセス権を付与された装置を識別するバス調停セレクト信号(Select信号)が供給される。メモリバス調停回路62は複数の装置52,54,56からのアクセス権要求が競合した場合には、要求を受けた順序や優先度に応じて、それら要求間の調停を行い、順番にアクセス権を付与する。
【0017】
メモリバスコントローラ60はアドレスバスセレクト回路72、データバスセレクト回路74、アドレスデコーダ回路76、及び固定値出力回路78を備える。図2はメモリバスコントローラ60の主要部の概略の構成を示す模式図であり、この図にはアドレスバスセレクト回路72、データバスセレクト回路74、及び固定値出力回路78のより詳しい構成が示されている。アドレスデコーダ回路76の構成は図3に示している。
【0018】
アドレスバスセレクト回路72、データバスセレクト回路74はそれぞれ切換器80,82を有する。アドレスバスセレクト回路72が有する切換器80は、CPU52及び2つの外部デバイス54,56がメモリアドレスを出力するアドレス信号線のうちいずれかを選択してメモリ58のアドレス信号線に接続する。またデータバスセレクト回路74の切換器82は、CPU52及び2つの外部デバイス54,56のデータ信号線のうちいずれかを選択してメモリ58のデータ信号線に接続する。これら切換器80,82の切り換え制御は、バス調停セレクト信号に基づいて行われ、それぞれ現在、アドレス権を付与されているものに対応する信号線がメモリ58に接続される。
【0019】
本装置では、CPU52のデータ信号線に固定値出力回路78が接続される。固定値出力回路78は、固定値レジスタ84、データセレクタ86を含んで構成される。一方、アドレスデコーダ回路76は、アドレス比較回路90、アドレス範囲指定レジスタ92、一群のアクセスフラグレジスタ94を含んで構成される。なお、アクセスフラグレジスタ94の補助として外部フラグメモリ96が使用されることもある。アドレスデコーダ回路76のアドレス比較回路90にはCPU52のアドレス信号線が接続されると共に、CPU52の読み出し/書き込み信号が入力され、一方、後述するアドレス一致信号を出力する。
【0020】
以下、本発明に特有の構成であるアドレスデコーダ回路76及び固定値出力回路78を中心に本システムにおけるメモリ制御動作を説明する。
【0021】
メモリ58には描画、印刷の単位となるページに対応して、ページメモリとして使用される領域が確保され、そのアドレス空間がアドレス範囲指定レジスタ92にセットされる。アドレス範囲指定レジスタ92に指定されたアドレス空間により表されるメモリ領域を、所定サイズの分割領域に分割し、その各分割領域に対応して更新情報値を表すフラグが設定される。各アクセスフラグレジスタ94はこのフラグを格納する。例えば、分割領域は1アドレスに対応する領域に指定することができる。ページメモリとして指定されたアドレス空間のサイズが大きい場合や、分割領域のサイズが小さい場合には、分割領域数が多くなる。このような場合において、アドレスデコーダ回路76内のアクセスフラグレジスタ94で足りないときには、外部フラグメモリ96もフラグの格納に用いる。
【0022】
アクセスフラグレジスタ94(及び外部フラグメモリ96)は、アドレス範囲指定レジスタ92にページメモリの新たな範囲を設定するときに、値「0」にクリアされる。本システムではCPU52が描画処理を行い、この際、ページメモリに対する読み出し/書き込み動作が行われる。
【0023】
まずCPU52から書き込み動作の要求があった場合には、アドレス比較回路90は、書き込まれるアドレスに対応するアクセスフラグレジスタ94にフラグ「1」をセットする。その一方で、CPU52から出力される書き込みアドレス、書き込みデータはそれぞれアドレスバスセレクト回路72、データバスセレクト回路74を経由して、メモリ58に渡され、指定されたアドレスにデータが書き込まれる。
【0024】
次に、CPU52からメモリ58に対する読み出し動作の要求があった場合を説明する。この場合には、アドレス比較回路90は、読み出すアドレスがアクセスフラグレジスタ94に「0」をセットされているアドレスのうちのいずれかと一致するか否かを調べる比較処理を行う。例えば、アドレス比較回路90は、まず読み出しアドレスがアドレス範囲指定レジスタ92の設定範囲内に含まれるか否かを調べ、含まれる場合には、そのアドレスに対応するアクセスフラグレジスタ94の格納内容を調べる。そのアクセスフラグレジスタ94の内容が「0」である場合には、「一致」と判定してアドレス一致信号を生成する。
【0025】
アドレス一致信号は固定値出力回路78及びメモリバス調停回路62へ出力される。メモリ58から読み出されるデータは固定値出力回路78のデータセレクタ86を経由してCPU52に転送することができる。アドレス比較回路90からのアドレス一致信号はデータセレクタ86に入力される。データセレクタ86には固定値レジスタ84が接続され、この固定値レジスタ84には初期化値「0」が固定的に設定されている。データセレクタ86はアドレス一致信号を入力されると、固定値レジスタ84から初期化値を読み出してCPU52に読み出しデータとして返す。すなわち、アクセスフラグレジスタ94のフラグに基づいて、読み出し先がページメモリ設定後まだデータを書き込まれていないアドレスであることが検知されると、データセレクタ86は実際にメモリ58から読み出されたデータではなく、固定値レジスタ84からの初期化値を選択してCPU52へのデータ信号線へ出力する。一方、読み出し先がページメモリ設定後、既にデータ書き込みが行われたアドレスである場合には、データセレクタ86にはアドレス一致信号が入力されず、これによりデータセレクタ86は実際にメモリ58から読み出されたデータを選択してCPU52へのデータ信号線に出力する。
【0026】
ちなみに、CPU52が1ページ分の描画処理を完了すると、そのページを格納する全てのアドレスにデータが書き込まれる(すなわち、対応するアクセスフラグレジスタ94に値「1」が設定される)。ここで、CPU52に対して固定値出力回路78を設けたことにより、CPU52による描画処理において、ページメモリに実際に「0」を書き込んで初期化する処理は別段行われないことに留意する。すなわち、ページメモリのクリア処理が省略される。これにより処理時間の短縮が図られると同時に、CPU52によるメモリ58の読み出し動作において、実際にメモリ58へのアクセスが不要となり、その分、メモリバスの使用率を低下させることができる。
【0027】
ここで本システムではCPU52があるページの描画処理を行っている間、外部デバイス54等は先に生成されているページの画像データをDMA転送によりメモリ58から読み出し、これを印刷データとして印刷処理を行う。上述のように、CPU52による処理においてメモリバスの負荷が低下されることにより、それにより生じるメモリバスの空き時間を利用して、外部デバイス54等がDMA転送を行うことが可能となり、描画から印刷までの一連の処理時間が短縮される。以下、この点に関する本システムの動作を説明する。
【0028】
CPU52が先行する1ページの画像データをメモリ58上のページメモリ領域に書き込んだ段階から以下説明する。CPU52は1ページの画像データをページメモリに格納する処理を完了すると、次ページの画像データに関する処理を開始する。この処理ではCPU52は、メモリ58に先に生成された画像を格納するページメモリとは別の領域に1ページ分のページメモリを設定し、そのページメモリをクリアする。その後、そのページメモリに対し書き込み/読み込み動作を行いつつ、新たなページに対応する画像データを生成し、その生成した画像データを当該ページメモリに対する書き込み動作により格納する。
【0029】
ここで、新たなページメモリのクリア処理は、CPU52が当該ページメモリのアドレス空間をアドレスデコーダ回路76に与えると、アドレスデコーダ回路76が当該ページメモリに対応するアクセスフラグレジスタ94に値「0」をセットすることにより実現される。すなわち、既に述べたように、このクリア処理では、実際にメモリ58にアクセスして書き込むことは行われない。
【0030】
またCPU52がページメモリに対する読み出し動作を行う場合、CPU52はメモリバス調停回路62に対し、バスリクエスト信号を送信する。メモリバス調停回路62はCPU52の要求と他の外部デバイス54等からの要求とを調停した結果、CPU52にアクセス権を与えることとした場合には、バスグラント信号をCPU52に返すと共に、バス調停セレクト信号により切換器80,82を、それぞれCPU52のアドレス信号線、データ信号線を選択するように切り換え制御する。
【0031】
一方、CPU52はアクセス権を得たことにより、そのアドレス信号線に対して、読み出し先のメモリアドレスを指定する信号を与える。アドレスデコーダ回路76はこのアドレスに対応するアクセスフラグレジスタ94の値が「0」である場合には、アドレス一致信号を出力する。アドレス一致信号が出力された場合、データセレクタ86は、固定値レジスタ84から得られる初期値「0」をデータ信号線に送出する。すなわち、この場合には、切換器82からデータセレクタ86に入力されるデータが何であるかに無関係に、CPU52には「0」が返され、CPU52はこれをメモリから読み出されたデータとして取り扱う。ちなみに、データアドレス一致信号が出力されない場合には、CPU52が指定したアドレスに対応してメモリ58から読み出されたデータが切換器82を介してCPU52のデータ信号線に出力され、データセレクタ86はこのデータをCPU52へ渡す。
【0032】
さて、上に述べたアドレスデコーダ回路76がアドレス一致信号を出力した場合、そのアドレス一致信号はメモリバス調停回路62にも与えられる。アドレス一致信号が出力された場合には上述のように、CPU52に対して読み出しデータを返すことに関して、実際にメモリ58にアクセスすることは不要である。そこで、メモリバス調停回路62はアドレス一致信号を入力された場合には、CPU52へのアクセス権付与に伴い禁止していた他の装置からのバスリクエスト信号の受付をバスサイクルの終了を待たずに可能とする。例えば、外部デバイス54が先行ページのデータを読み出すためにバスリクエスト信号を送出した場合、メモリバス調停回路62はこの外部デバイス54にアクセス権を付与することとして、外部デバイス54にバスグラント信号を返す。ここで、この外部デバイス54へのアクセス権の付与は、CPU52と固定値出力回路78との間のデータの受け渡しが完了していなくても実行される。
【0033】
外部デバイス54にアクセス権が付与されると、メモリバス調停回路62はバス調停セレクト信号により、切換器80,82を、それぞれ外部デバイス54のアドレス信号線、データ信号線を選択するように切り換え制御する。
【0034】
一方、外部デバイス54はアクセス権を得たことにより、そのアドレス信号線に対して、読み出し先のメモリアドレスを指定する信号を与える。このメモリアドレスは切換器80を介してメモリ58に指定され、対応するアドレスから読み出されたデータが切換器82を介して外部デバイス54に返される。なお、この外部デバイス54の読み出し動作において、CPU52からそのアドレス信号線にアドレス信号がまだ出力されているとしても、切換器80がCPU52からのアドレス信号ではなく、外部デバイス54からのアドレス信号を選択してメモリ58に与えるので支障はない。
【0035】
なお、ここではCPU52の読み出し動作と並行して外部デバイス54の読み出し動作を行う場合を説明したが、CPU52の読み出し動作と並行して他の装置からメモリ58への書き込み動作を行うこともできる。
【0036】
図4、図5は、以上の本システムの動作における各信号のタイミング図であり、いずれもCPU52の読み出し動作が先に要求され、例えば外部デバイス54の読み出し動作がその後に要求された場合を示している。図4は、CPU52の読み出し動作が、アクセスフラグレジスタ94の値が「1」であるアドレスに対するものである場合であり、逆に図5は、アクセスフラグレジスタ94の値が「0」であるアドレスに対する読み出し動作であり、アドレス一致信号が出力される場合である。これら図において、「CPU BR」、「CPU BG」、「外部BR」、「外部BG」はそれぞれ、CPU52からのバスリクエスト信号、CPU52へのバスグラント信号、外部デバイス54からのバスリクエスト信号、外部デバイス54へのバスグラント信号を表し、いずれも信号レベルがLow状態(図において縦方向に表す電圧値が下がった状態)にてバスリクエスト又はバスグラントがなされていることを表す。また、「CPU R/W」はCPU52からの読み出し要求信号(図においてCPU Read)と書き込み要求信号を表す。「CPU Address」、「外部Address」、「メモリAddress」はそれぞれCPU52が指定するメモリアドレス、外部デバイス54が指定するメモリアドレス、実際にメモリ58に指定されるメモリアドレスを表す。「CPU Data」、「外部Data」、「メモリData」はそれぞれCPU52のデータ信号線上のデータ信号、外部デバイス54のデータ信号線上のデータ信号、メモリバス上を受け渡されるデータ信号を表す。
【0037】
図4に示す場合には、CPU52の読み出し要求(CPU Read)に対して、実際にメモリ58へのアクセスが行われる(図示する期間A)。そのため、外部デバイス54のバスリクエスト信号(外部BR)に対するバスグラント信号(外部BG)は、CPU52とメモリ58との間のデータ転送の最終段階(期間Aの終わり)にて出力され、その最終段階が完了した後、外部デバイス54がDMA転送のため、読み出しアドレス(外部Address)を出力することができる(図示する期間B)。そしてこの指定されたアドレスがメモリ58に「メモリAddress」信号として渡され、それにより指定されたアドレスから読み出されたメモリ58のデータがメモリバス、外部デバイス54のデータ信号線を伝送される(図示する期間C)。
【0038】
一方、図5に示す場合では、CPU52の読み出し要求(CPU Read)と共にその指定アドレスが入力されると、アドレスデコーダ回路76がそのアドレスに応じてアドレス一致信号を出力する。アドレス一致信号が出力されると、固定値出力回路78がCPU52の読み出し要求に対して固定値レジスタ84から固定値「0」を返す動作(図示する期間A’)を開始する一方で、メモリバス調停回路62が外部デバイス54に対しバスグラント信号(外部BG)を出力する。外部デバイス54はバスグラント信号を受けるとDMA転送のために読み出しアドレス(外部Address)を出力する(図示する期間B’)。この外部デバイス54から指定された読み出しアドレスはメモリ58に「メモリAddress」信号として渡され、その指定されたアドレスから読み出されたメモリ58のデータがメモリバス、外部デバイス54のデータ信号線をそれぞれ伝送される(図示する期間C’)。
【0039】
図4に示す場合には、CPU52に関する読み出し動作(期間Aの動作)と、外部デバイス54に関する読み出し動作(期間B及び期間Cの動作)とは順次、実行される。これに対し、図5に示す場合には、CPU52に関する読み出し動作(期間A’の動作)を、メモリバスを使用せず行うことができ、それにより空いたメモリバスを使用して、外部デバイス54によるメモリ58へのアクセス動作(期間B’及び期間C’の動作)を実行することができる。
【0040】
以上のように本システムでは、アクセスフラグレジスタ94の値が「1」のアドレスにCPU52が読み出し動作を行う場合には図4に示す動作が行われるが、アクセスフラグレジスタ94の値が「0」のアドレスに読み出し動作を行う場合には図5に示す動作が行われることになるので、メモリバスの負荷が軽減され、また複数の装置で負荷が軽減されたメモリバスを効率的に利用して、アクセス権の割り当ての待ち時間を少なくし、処理の高速化が図られる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るプリンタシステムの概略の構成を示す模式図である。
【図2】本システムのメモリバスコントローラの主要部の概略の構成を示す模式図である。
【図3】本システムのメモリバスコントローラに備えられるアドレスデコーダ回路の構成を示す模式図である。
【図4】アクセスフラグレジスタの値が「1」であるアドレスに対するCPUの読み出し動作における各信号のタイミング図である。
【図5】アクセスフラグレジスタの値が「0」であるアドレスに対するCPUの読み出し動作における各信号のタイミング図である。
【図6】CPUと外部デバイスとでメモリバスを共用する従来のシステムの概略の構成を示す模式図である。
【図7】従来のシステムにおけるメモリバスコントローラの概略の構成を示す模式図である。
【符号の説明】
52 CPU、54,56 外部デバイス、58 メモリ、60 メモリバスコントローラ、62 メモリバス調停回路、72 アドレスバスセレクト回路、74 データバスセレクト回路、76 アドレスデコーダ回路、78 固定値出力回路、80,82 切換器、84 固定値レジスタ、86 データセレクタ、90 アドレス比較回路、92 アドレス範囲指定レジスタ、94 アクセスフラグレジスタ。
【発明の属する技術分野】
本発明は、メモリ制御装置に関し、特に複数のデータ処理装置からメモリにアクセスする場合における処理の効率化に関する。
【0002】
【従来の技術】
従来より、複数のデータ処理装置として中央演算装置(CPU)と外部デバイスとを含み、それら複数のデータ処理装置でメモリバスを共用しメモリにアクセスするシステムが存在する。その一例であるプリンタシステムでは、画像を保持するページメモリを有し、このページメモリはCPUにて生成された画像データを書き込まれ、その書き込まれた画像データは、外部デバイスである印刷装置からダイレクトメモリアクセス(DMA)により読み出され印刷される。
【0003】
図6は、CPUと外部デバイスとでメモリバスを共用する従来のシステムの概略の構成を示す模式図である。このシステムではCPU2と、2つの外部デバイス4,6とがメモリ8に対しアクセスを行う。これらCPU2及び外部デバイス4,6とメモリ8との間にはメモリバスコントローラ10が介在し、このメモリバスコントローラ10が、メモリ8とのデータの受け渡しを制御する。CPU2及び外部デバイス4,6はメモリ8へのアクセスを希望する場合には、メモリバス調停回路12に対してバスリクエスト信号を送信する。メモリバス調停回路12はバスリクエスト信号を送ってきたCPU2又は外部デバイス4,6に対してアクセス権を付与する。アクセス権はバスグラント信号によって、対応する装置2,4,6に通知され、またコントローラ10に対して、アクセス権を付与された装置を識別するバス調停セレクト信号(Select信号)が供給される。メモリバス調停回路12は複数の装置2,4,6からのアクセス権要求が競合した場合にはそれを調停して、いずれか1つの装置にアクセス権を付与する。
【0004】
メモリバスコントローラ10はアドレスバスセレクト回路22及びデータバスセレクト回路24を備える。図7はメモリバスコントローラ10の概略の構成を示す模式図であり、この図にはアドレスバスセレクト回路22及びデータバスセレクト回路24のより詳しい構成が示されている。アドレスバスセレクト回路22、データバスセレクト回路24はそれぞれ切換器26,28を有する。アドレスバスセレクト回路22が有する切換器26は、CPU2及び2つの外部デバイス4,6がメモリアドレスを出力するアドレス信号線のうちいずれかを選択してメモリ8のアドレス信号線に接続する。またデータバスセレクト回路24の切換器28は、CPU2及び2つの外部デバイス4,6のデータ信号線のうちいずれかを選択してメモリ8のデータ信号線に接続する。これら切換器26,28の切り換え制御は、バス調停セレクト信号に基づいて行われ、それぞれ現在、アドレス権を付与されているものに対応する信号線がメモリ8に接続される。
【0005】
さて、プリンタのような画像処理装置では、ページメモリに印刷画像を展開し、印刷するという処理の中で、ページメモリのクリアをする処理が必要となる。近年、画像データの多値化、カラー化に伴い、データ量が多くなってきており、ページメモリのクリア処理にも時間がかかるようになってきた。これを解決する技術が特許文献1及び特許文献2に示されている。特許文献1に示される技術は、複数に分割されたメモリのアドレス空間毎に、そのアドレス空間に先頭アドレスに書き込みアクセスが行われていない場合、そのアドレス空間から読み出されたデータを所定値にマスクするというものである。また特許文献2に示される技術は、メモリのアクセス状態を記憶し、ライト動作があったアドレスへのリード動作に対してはメモリの内容を出力し、ライト動作がないアドレスへのリードに対しては固定値、例えば初期化値である0を返すというものである。これらの技術によれば、実際のメモリの内容に関わらず、リード動作に対して初期化値を返すことができ、メモリをクリアする動作を省略することができる。
【0006】
【特許文献1】
特開平11−242628号公報
【特許文献2】
特開平10−307762号公報
【0007】
【発明が解決しようとする課題】
CPUと外部デバイスとでメモリバスを共用するプリンタシステムでは、例えば、複数ページを印刷する場合、CPUが1ページ目の描画を完了した後、2ページ目の描画を開始すると同時に、メモリに描画された1ページ目の印刷データが読み出され印刷装置にDMA転送される。このとき、2ページ目のメモリクリア(DMAライト動作)とCPUによる描画のためのメモリアクセス(リード動作又はライト動作)、及び印刷装置への1ページ目の印刷データのデータ転送(DMAリード動作)が行われることになり、メモリバスの稼働率が高くなる。そのため場合によっては、処理が競合して待ち時間が生じることもある。さらに、これに他の外部装置(ENET,HDDなど)のDMA転送が重なると、さらにバス稼働率が高くなる。
【0008】
ここで、上述の特許文献1,2の技術を用いれば、メモリクリア処理を省くことができ、メモリバスの負荷を軽減することができるが、当該技術は本来的にはメモリバスの調停や稼働率の改善という観点を有さない。そのため、上述のような複数の装置でメモリバスを共用する場合の問題点は必ずしも好適に解決されない。
【0009】
本発明は上記問題点を解決することを目的とし、複数の装置でメモリバスが共用されるシステムにおいてメモリ制御が効率的に行われ、メモリバスの負荷を軽減することができるメモリ制御装置を提供することをその目的の一つとする。
【0010】
【課題を解決するための手段】
本発明に係るメモリ制御装置は、複数のデータ処理装置からメモリへのアクセスを行うシステムにおけるメモリ制御装置であって、前記データ処理装置に選択的に前記メモリへのアクセス権を与えるアクセス権付与部と、前記データ処理装置と前記メモリとの間に介在し、前記データ処理装置の要求に基づいて前記メモリに対する書き込み動作及び読み出し動作を行うメモリアクセス部と、を有し、前記メモリアクセス部は、前記データ処理装置と前記メモリとの間でのデータの受け渡しを行うメモリデータ入出力手段と、前記メモリの記憶領域を分割して定められた複数の分割領域に対応させて、当該分割領域に対するデータ更新動作に関する更新情報値を記憶する更新情報値記憶手段と、データの書き込みを要求された前記分割領域に対応する前記更新情報値を第1の値にセットし、一方、記憶内容の初期化を要求された前記分割領域に対応する前記更新情報値を第2の値にセットする更新情報値設定手段と、前記データ処理装置から要求された前記メモリに対する読み出し動作が、前記更新情報値が前記第2の値である前記分割領域に対するものであることを検知して、初期化領域アクセス信号を出力する初期化領域アクセス検知手段と、前記初期化領域アクセス信号に応答して、前記メモリデータ入出力手段を介さずに、当該読み出し動作を要求したデータ処理装置に所定の初期化値を返す初期化値出力手段と、を有する。
【0011】
本発明によれば、メモリの記憶領域が複数の分割領域に区分され、それら分割領域に対応させて更新情報値が定義される。この更新情報値は、対応する分割領域のデータ更新動作として初期化を要求された場合に第2の値にセットされる。一方、初期化のためでなく有効なデータを書き込む動作を要求された場合に第1の値にセットされる。ここで、初期化を要求された場合には、更新情報値をセットするだけでよく、実際に当該分割領域に初期化値を書き込む動作は行う必要がない。更新情報値に第2の値をセットされている分割領域に対する読み出し動作がデータ処理装置から要求された場合には、当該分割領域から実際にデータを読み出すことは行われず、初期化値出力手段から初期化値がデータ処理装置に返される。ここで、更新情報値記憶手段及び初期化値出力手段はメモリではなくメモリアクセス部に設けられるので、更新情報値が第2の値の分割領域に対する読み出し動作において、メモリアクセス部とメモリとの間でデータの受け渡しはなく、メモリバスは用いられない。そこで、メモリアクセス部は、この空いているメモリバスを、他のデータ処理装置からの、更新情報値が第1の値の分割領域に対する読み出し動作要求(この場合には実際にメモリからデータが読み出される)や、初期化のためではないデータの書き込み動作要求に供することができる。すなわち、あるデータ処理装置に対して初期化値出力手段が初期化値を返している状態では、その終了を待たずに、他のデータ処理装置に対するメモリアクセス動作を行うことができ、メモリバスの負荷を抑えつつ、効率的なメモリ制御が実現される。
【0012】
他の本発明に係るメモリ制御装置においては、前記アクセス権付与部が、いずれかの前記データ処理装置に対し前記アクセス権を付与している間、他の前記データ処理装置への前記アクセス権の付与を禁止する付与禁止手段と、前記初期化領域アクセス信号に応答して、前記アクセス権の付与禁止を解除する禁止解除手段と、を有する。
【0013】
いずれかのデータ処理装置に付与されたアクセス権は、原則としてそのデータ処理装置が処理完了又は割り込み等によって、その処理を終えてメモリを解放するまで有効であるが、本発明によれば、データ処理装置が更新情報値に第2の値をセットされた分割領域を読み出す処理を行っている最中に、アクセス権付与部はそのデータ処理装置に選択的に与えられたアクセス権を解除し、他のデータ処理装置に対するアクセス権の付与を可能とする。これにより、他のデータ処理装置がメモリに対するアクセスを必要とした場合に、そのデータ処理装置にアクセス権を付与して、メモリの利用を可能とすることができる。
【0014】
本発明の好適な態様は、前記複数のデータ処理装置として、中央演算装置と、前記メモリにダイレクトメモリアクセス可能な外部デバイスとを含む前記システムにおけるメモリ制御装置であって、前記初期化領域アクセス検知手段が、前記中央演算装置が要求する前記読み出し動作に対しての検知結果に基づいて前記初期化領域アクセス信号を出力し、前記禁止解除手段が、前記初期化領域アクセス信号に応答して、前記外部デバイスへの前記アクセス権の付与禁止を解除するメモリ制御装置である。
【0015】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら説明する。図1は、本発明の実施の形態に係るプリンタシステムの概略の構成を示す模式図である。このシステムではCPU52と、2つの外部デバイス54,56とがメモリ58に対しアクセスを行う。ここで、外部デバイス54,56は例えば印刷装置など、メモリ58上に格納された印刷データを読み出して使用する装置である。メモリ58にはページメモリ領域が確保され、CPU52が描画処理を行って、このページメモリに1ページ分の画像データを書き込み、その画像データが印刷データとして外部デバイス54,56からの読み出し動作に応じて、当該デバイスへDMA転送される。
【0016】
これらCPU52及び外部デバイス54,56とメモリ58との間にはメモリバスコントローラ60が介在し、このメモリバスコントローラ60が、メモリ58とのデータの受け渡しを制御する。CPU52及び外部デバイス54,56はメモリ58へのアクセスを希望する場合には、メモリバス調停回路62に対してバスリクエスト信号を送信する。メモリバス調停回路62はバスリクエスト信号を送ってきたCPU52又は外部デバイス54,56に対して選択的にアクセス権を付与する。アクセス権が付与されたことはバスグラント信号によって対応する装置52,54,56に通知され、またメモリバスコントローラ60に対して、アクセス権を付与された装置を識別するバス調停セレクト信号(Select信号)が供給される。メモリバス調停回路62は複数の装置52,54,56からのアクセス権要求が競合した場合には、要求を受けた順序や優先度に応じて、それら要求間の調停を行い、順番にアクセス権を付与する。
【0017】
メモリバスコントローラ60はアドレスバスセレクト回路72、データバスセレクト回路74、アドレスデコーダ回路76、及び固定値出力回路78を備える。図2はメモリバスコントローラ60の主要部の概略の構成を示す模式図であり、この図にはアドレスバスセレクト回路72、データバスセレクト回路74、及び固定値出力回路78のより詳しい構成が示されている。アドレスデコーダ回路76の構成は図3に示している。
【0018】
アドレスバスセレクト回路72、データバスセレクト回路74はそれぞれ切換器80,82を有する。アドレスバスセレクト回路72が有する切換器80は、CPU52及び2つの外部デバイス54,56がメモリアドレスを出力するアドレス信号線のうちいずれかを選択してメモリ58のアドレス信号線に接続する。またデータバスセレクト回路74の切換器82は、CPU52及び2つの外部デバイス54,56のデータ信号線のうちいずれかを選択してメモリ58のデータ信号線に接続する。これら切換器80,82の切り換え制御は、バス調停セレクト信号に基づいて行われ、それぞれ現在、アドレス権を付与されているものに対応する信号線がメモリ58に接続される。
【0019】
本装置では、CPU52のデータ信号線に固定値出力回路78が接続される。固定値出力回路78は、固定値レジスタ84、データセレクタ86を含んで構成される。一方、アドレスデコーダ回路76は、アドレス比較回路90、アドレス範囲指定レジスタ92、一群のアクセスフラグレジスタ94を含んで構成される。なお、アクセスフラグレジスタ94の補助として外部フラグメモリ96が使用されることもある。アドレスデコーダ回路76のアドレス比較回路90にはCPU52のアドレス信号線が接続されると共に、CPU52の読み出し/書き込み信号が入力され、一方、後述するアドレス一致信号を出力する。
【0020】
以下、本発明に特有の構成であるアドレスデコーダ回路76及び固定値出力回路78を中心に本システムにおけるメモリ制御動作を説明する。
【0021】
メモリ58には描画、印刷の単位となるページに対応して、ページメモリとして使用される領域が確保され、そのアドレス空間がアドレス範囲指定レジスタ92にセットされる。アドレス範囲指定レジスタ92に指定されたアドレス空間により表されるメモリ領域を、所定サイズの分割領域に分割し、その各分割領域に対応して更新情報値を表すフラグが設定される。各アクセスフラグレジスタ94はこのフラグを格納する。例えば、分割領域は1アドレスに対応する領域に指定することができる。ページメモリとして指定されたアドレス空間のサイズが大きい場合や、分割領域のサイズが小さい場合には、分割領域数が多くなる。このような場合において、アドレスデコーダ回路76内のアクセスフラグレジスタ94で足りないときには、外部フラグメモリ96もフラグの格納に用いる。
【0022】
アクセスフラグレジスタ94(及び外部フラグメモリ96)は、アドレス範囲指定レジスタ92にページメモリの新たな範囲を設定するときに、値「0」にクリアされる。本システムではCPU52が描画処理を行い、この際、ページメモリに対する読み出し/書き込み動作が行われる。
【0023】
まずCPU52から書き込み動作の要求があった場合には、アドレス比較回路90は、書き込まれるアドレスに対応するアクセスフラグレジスタ94にフラグ「1」をセットする。その一方で、CPU52から出力される書き込みアドレス、書き込みデータはそれぞれアドレスバスセレクト回路72、データバスセレクト回路74を経由して、メモリ58に渡され、指定されたアドレスにデータが書き込まれる。
【0024】
次に、CPU52からメモリ58に対する読み出し動作の要求があった場合を説明する。この場合には、アドレス比較回路90は、読み出すアドレスがアクセスフラグレジスタ94に「0」をセットされているアドレスのうちのいずれかと一致するか否かを調べる比較処理を行う。例えば、アドレス比較回路90は、まず読み出しアドレスがアドレス範囲指定レジスタ92の設定範囲内に含まれるか否かを調べ、含まれる場合には、そのアドレスに対応するアクセスフラグレジスタ94の格納内容を調べる。そのアクセスフラグレジスタ94の内容が「0」である場合には、「一致」と判定してアドレス一致信号を生成する。
【0025】
アドレス一致信号は固定値出力回路78及びメモリバス調停回路62へ出力される。メモリ58から読み出されるデータは固定値出力回路78のデータセレクタ86を経由してCPU52に転送することができる。アドレス比較回路90からのアドレス一致信号はデータセレクタ86に入力される。データセレクタ86には固定値レジスタ84が接続され、この固定値レジスタ84には初期化値「0」が固定的に設定されている。データセレクタ86はアドレス一致信号を入力されると、固定値レジスタ84から初期化値を読み出してCPU52に読み出しデータとして返す。すなわち、アクセスフラグレジスタ94のフラグに基づいて、読み出し先がページメモリ設定後まだデータを書き込まれていないアドレスであることが検知されると、データセレクタ86は実際にメモリ58から読み出されたデータではなく、固定値レジスタ84からの初期化値を選択してCPU52へのデータ信号線へ出力する。一方、読み出し先がページメモリ設定後、既にデータ書き込みが行われたアドレスである場合には、データセレクタ86にはアドレス一致信号が入力されず、これによりデータセレクタ86は実際にメモリ58から読み出されたデータを選択してCPU52へのデータ信号線に出力する。
【0026】
ちなみに、CPU52が1ページ分の描画処理を完了すると、そのページを格納する全てのアドレスにデータが書き込まれる(すなわち、対応するアクセスフラグレジスタ94に値「1」が設定される)。ここで、CPU52に対して固定値出力回路78を設けたことにより、CPU52による描画処理において、ページメモリに実際に「0」を書き込んで初期化する処理は別段行われないことに留意する。すなわち、ページメモリのクリア処理が省略される。これにより処理時間の短縮が図られると同時に、CPU52によるメモリ58の読み出し動作において、実際にメモリ58へのアクセスが不要となり、その分、メモリバスの使用率を低下させることができる。
【0027】
ここで本システムではCPU52があるページの描画処理を行っている間、外部デバイス54等は先に生成されているページの画像データをDMA転送によりメモリ58から読み出し、これを印刷データとして印刷処理を行う。上述のように、CPU52による処理においてメモリバスの負荷が低下されることにより、それにより生じるメモリバスの空き時間を利用して、外部デバイス54等がDMA転送を行うことが可能となり、描画から印刷までの一連の処理時間が短縮される。以下、この点に関する本システムの動作を説明する。
【0028】
CPU52が先行する1ページの画像データをメモリ58上のページメモリ領域に書き込んだ段階から以下説明する。CPU52は1ページの画像データをページメモリに格納する処理を完了すると、次ページの画像データに関する処理を開始する。この処理ではCPU52は、メモリ58に先に生成された画像を格納するページメモリとは別の領域に1ページ分のページメモリを設定し、そのページメモリをクリアする。その後、そのページメモリに対し書き込み/読み込み動作を行いつつ、新たなページに対応する画像データを生成し、その生成した画像データを当該ページメモリに対する書き込み動作により格納する。
【0029】
ここで、新たなページメモリのクリア処理は、CPU52が当該ページメモリのアドレス空間をアドレスデコーダ回路76に与えると、アドレスデコーダ回路76が当該ページメモリに対応するアクセスフラグレジスタ94に値「0」をセットすることにより実現される。すなわち、既に述べたように、このクリア処理では、実際にメモリ58にアクセスして書き込むことは行われない。
【0030】
またCPU52がページメモリに対する読み出し動作を行う場合、CPU52はメモリバス調停回路62に対し、バスリクエスト信号を送信する。メモリバス調停回路62はCPU52の要求と他の外部デバイス54等からの要求とを調停した結果、CPU52にアクセス権を与えることとした場合には、バスグラント信号をCPU52に返すと共に、バス調停セレクト信号により切換器80,82を、それぞれCPU52のアドレス信号線、データ信号線を選択するように切り換え制御する。
【0031】
一方、CPU52はアクセス権を得たことにより、そのアドレス信号線に対して、読み出し先のメモリアドレスを指定する信号を与える。アドレスデコーダ回路76はこのアドレスに対応するアクセスフラグレジスタ94の値が「0」である場合には、アドレス一致信号を出力する。アドレス一致信号が出力された場合、データセレクタ86は、固定値レジスタ84から得られる初期値「0」をデータ信号線に送出する。すなわち、この場合には、切換器82からデータセレクタ86に入力されるデータが何であるかに無関係に、CPU52には「0」が返され、CPU52はこれをメモリから読み出されたデータとして取り扱う。ちなみに、データアドレス一致信号が出力されない場合には、CPU52が指定したアドレスに対応してメモリ58から読み出されたデータが切換器82を介してCPU52のデータ信号線に出力され、データセレクタ86はこのデータをCPU52へ渡す。
【0032】
さて、上に述べたアドレスデコーダ回路76がアドレス一致信号を出力した場合、そのアドレス一致信号はメモリバス調停回路62にも与えられる。アドレス一致信号が出力された場合には上述のように、CPU52に対して読み出しデータを返すことに関して、実際にメモリ58にアクセスすることは不要である。そこで、メモリバス調停回路62はアドレス一致信号を入力された場合には、CPU52へのアクセス権付与に伴い禁止していた他の装置からのバスリクエスト信号の受付をバスサイクルの終了を待たずに可能とする。例えば、外部デバイス54が先行ページのデータを読み出すためにバスリクエスト信号を送出した場合、メモリバス調停回路62はこの外部デバイス54にアクセス権を付与することとして、外部デバイス54にバスグラント信号を返す。ここで、この外部デバイス54へのアクセス権の付与は、CPU52と固定値出力回路78との間のデータの受け渡しが完了していなくても実行される。
【0033】
外部デバイス54にアクセス権が付与されると、メモリバス調停回路62はバス調停セレクト信号により、切換器80,82を、それぞれ外部デバイス54のアドレス信号線、データ信号線を選択するように切り換え制御する。
【0034】
一方、外部デバイス54はアクセス権を得たことにより、そのアドレス信号線に対して、読み出し先のメモリアドレスを指定する信号を与える。このメモリアドレスは切換器80を介してメモリ58に指定され、対応するアドレスから読み出されたデータが切換器82を介して外部デバイス54に返される。なお、この外部デバイス54の読み出し動作において、CPU52からそのアドレス信号線にアドレス信号がまだ出力されているとしても、切換器80がCPU52からのアドレス信号ではなく、外部デバイス54からのアドレス信号を選択してメモリ58に与えるので支障はない。
【0035】
なお、ここではCPU52の読み出し動作と並行して外部デバイス54の読み出し動作を行う場合を説明したが、CPU52の読み出し動作と並行して他の装置からメモリ58への書き込み動作を行うこともできる。
【0036】
図4、図5は、以上の本システムの動作における各信号のタイミング図であり、いずれもCPU52の読み出し動作が先に要求され、例えば外部デバイス54の読み出し動作がその後に要求された場合を示している。図4は、CPU52の読み出し動作が、アクセスフラグレジスタ94の値が「1」であるアドレスに対するものである場合であり、逆に図5は、アクセスフラグレジスタ94の値が「0」であるアドレスに対する読み出し動作であり、アドレス一致信号が出力される場合である。これら図において、「CPU BR」、「CPU BG」、「外部BR」、「外部BG」はそれぞれ、CPU52からのバスリクエスト信号、CPU52へのバスグラント信号、外部デバイス54からのバスリクエスト信号、外部デバイス54へのバスグラント信号を表し、いずれも信号レベルがLow状態(図において縦方向に表す電圧値が下がった状態)にてバスリクエスト又はバスグラントがなされていることを表す。また、「CPU R/W」はCPU52からの読み出し要求信号(図においてCPU Read)と書き込み要求信号を表す。「CPU Address」、「外部Address」、「メモリAddress」はそれぞれCPU52が指定するメモリアドレス、外部デバイス54が指定するメモリアドレス、実際にメモリ58に指定されるメモリアドレスを表す。「CPU Data」、「外部Data」、「メモリData」はそれぞれCPU52のデータ信号線上のデータ信号、外部デバイス54のデータ信号線上のデータ信号、メモリバス上を受け渡されるデータ信号を表す。
【0037】
図4に示す場合には、CPU52の読み出し要求(CPU Read)に対して、実際にメモリ58へのアクセスが行われる(図示する期間A)。そのため、外部デバイス54のバスリクエスト信号(外部BR)に対するバスグラント信号(外部BG)は、CPU52とメモリ58との間のデータ転送の最終段階(期間Aの終わり)にて出力され、その最終段階が完了した後、外部デバイス54がDMA転送のため、読み出しアドレス(外部Address)を出力することができる(図示する期間B)。そしてこの指定されたアドレスがメモリ58に「メモリAddress」信号として渡され、それにより指定されたアドレスから読み出されたメモリ58のデータがメモリバス、外部デバイス54のデータ信号線を伝送される(図示する期間C)。
【0038】
一方、図5に示す場合では、CPU52の読み出し要求(CPU Read)と共にその指定アドレスが入力されると、アドレスデコーダ回路76がそのアドレスに応じてアドレス一致信号を出力する。アドレス一致信号が出力されると、固定値出力回路78がCPU52の読み出し要求に対して固定値レジスタ84から固定値「0」を返す動作(図示する期間A’)を開始する一方で、メモリバス調停回路62が外部デバイス54に対しバスグラント信号(外部BG)を出力する。外部デバイス54はバスグラント信号を受けるとDMA転送のために読み出しアドレス(外部Address)を出力する(図示する期間B’)。この外部デバイス54から指定された読み出しアドレスはメモリ58に「メモリAddress」信号として渡され、その指定されたアドレスから読み出されたメモリ58のデータがメモリバス、外部デバイス54のデータ信号線をそれぞれ伝送される(図示する期間C’)。
【0039】
図4に示す場合には、CPU52に関する読み出し動作(期間Aの動作)と、外部デバイス54に関する読み出し動作(期間B及び期間Cの動作)とは順次、実行される。これに対し、図5に示す場合には、CPU52に関する読み出し動作(期間A’の動作)を、メモリバスを使用せず行うことができ、それにより空いたメモリバスを使用して、外部デバイス54によるメモリ58へのアクセス動作(期間B’及び期間C’の動作)を実行することができる。
【0040】
以上のように本システムでは、アクセスフラグレジスタ94の値が「1」のアドレスにCPU52が読み出し動作を行う場合には図4に示す動作が行われるが、アクセスフラグレジスタ94の値が「0」のアドレスに読み出し動作を行う場合には図5に示す動作が行われることになるので、メモリバスの負荷が軽減され、また複数の装置で負荷が軽減されたメモリバスを効率的に利用して、アクセス権の割り当ての待ち時間を少なくし、処理の高速化が図られる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るプリンタシステムの概略の構成を示す模式図である。
【図2】本システムのメモリバスコントローラの主要部の概略の構成を示す模式図である。
【図3】本システムのメモリバスコントローラに備えられるアドレスデコーダ回路の構成を示す模式図である。
【図4】アクセスフラグレジスタの値が「1」であるアドレスに対するCPUの読み出し動作における各信号のタイミング図である。
【図5】アクセスフラグレジスタの値が「0」であるアドレスに対するCPUの読み出し動作における各信号のタイミング図である。
【図6】CPUと外部デバイスとでメモリバスを共用する従来のシステムの概略の構成を示す模式図である。
【図7】従来のシステムにおけるメモリバスコントローラの概略の構成を示す模式図である。
【符号の説明】
52 CPU、54,56 外部デバイス、58 メモリ、60 メモリバスコントローラ、62 メモリバス調停回路、72 アドレスバスセレクト回路、74 データバスセレクト回路、76 アドレスデコーダ回路、78 固定値出力回路、80,82 切換器、84 固定値レジスタ、86 データセレクタ、90 アドレス比較回路、92 アドレス範囲指定レジスタ、94 アクセスフラグレジスタ。
Claims (3)
- 複数のデータ処理装置からメモリへのアクセスを行うシステムにおけるメモリ制御装置であって、
前記データ処理装置に選択的に前記メモリへのアクセス権を与えるアクセス権付与部と、
前記データ処理装置と前記メモリとの間に介在し、前記データ処理装置の要求に基づいて前記メモリに対する書き込み動作及び読み出し動作を行うメモリアクセス部と、
を有し、
前記メモリアクセス部は、
前記データ処理装置と前記メモリとの間でのデータの受け渡しを行うメモリデータ入出力手段と、
前記メモリの記憶領域を分割して定められた複数の分割領域に対応させて、当該分割領域に対するデータ更新動作に関する更新情報値を記憶する更新情報値記憶手段と、
データの書き込みを要求された前記分割領域に対応する前記更新情報値を第1の値にセットし、一方、記憶内容の初期化を要求された前記分割領域に対応する前記更新情報値を第2の値にセットする更新情報値設定手段と、
前記データ処理装置から要求された前記メモリに対する読み出し動作が、前記更新情報値が前記第2の値である前記分割領域に対するものであることを検知して、初期化領域アクセス信号を出力する初期化領域アクセス検知手段と、
前記初期化領域アクセス信号に応答して、前記メモリデータ入出力手段を介さずに、当該読み出し動作を要求したデータ処理装置に所定の初期化値を返す初期化値出力手段と、
を有することを特徴とするメモリ制御装置。 - 請求項1に記載のメモリ制御装置において、
前記アクセス権付与部は、
いずれかの前記データ処理装置に対し前記アクセス権を付与している間、他の前記データ処理装置への前記アクセス権の付与を禁止する付与禁止手段と、
前記初期化領域アクセス信号に応答して、前記アクセス権の付与禁止を解除する禁止解除手段と、
を有することを特徴とするメモリ制御装置。 - 請求項2に記載のメモリ制御装置であって、前記複数のデータ処理装置として、中央演算装置と、前記メモリにダイレクトメモリアクセス可能な外部デバイスとを含む前記システムにおけるメモリ制御装置において、
前記初期化領域アクセス検知手段は、前記中央演算装置が要求する前記読み出し動作に対しての検知結果に基づいて前記初期化領域アクセス信号を出力し、
前記禁止解除手段は、前記初期化領域アクセス信号に応答して、前記外部デバイスへの前記アクセス権の付与禁止を解除すること、
を特徴とするメモリ制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003207372A JP2005062946A (ja) | 2003-08-12 | 2003-08-12 | メモリ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003207372A JP2005062946A (ja) | 2003-08-12 | 2003-08-12 | メモリ制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005062946A true JP2005062946A (ja) | 2005-03-10 |
Family
ID=34363876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003207372A Pending JP2005062946A (ja) | 2003-08-12 | 2003-08-12 | メモリ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005062946A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7768521B2 (en) | 2006-03-17 | 2010-08-03 | Sony Corporation | Image processing apparatus and image processing method |
CN110427333A (zh) * | 2018-05-01 | 2019-11-08 | 株式会社东芝 | 信号控制电路 |
JP2020046876A (ja) * | 2018-09-18 | 2020-03-26 | キヤノン株式会社 | バス制御回路 |
-
2003
- 2003-08-12 JP JP2003207372A patent/JP2005062946A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7768521B2 (en) | 2006-03-17 | 2010-08-03 | Sony Corporation | Image processing apparatus and image processing method |
CN110427333A (zh) * | 2018-05-01 | 2019-11-08 | 株式会社东芝 | 信号控制电路 |
CN110427333B (zh) * | 2018-05-01 | 2024-03-01 | 株式会社东芝 | 信号控制电路 |
JP2020046876A (ja) * | 2018-09-18 | 2020-03-26 | キヤノン株式会社 | バス制御回路 |
JP7401050B2 (ja) | 2018-09-18 | 2023-12-19 | キヤノン株式会社 | バス制御回路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7096292B2 (en) | On-chip inter-subsystem communication | |
JP4408263B2 (ja) | データ転送システムおよびデータ転送方法 | |
JP5137171B2 (ja) | データ処理装置 | |
US6763448B1 (en) | Microcomputer and microcomputer system | |
KR100644596B1 (ko) | 버스 시스템 및 그 버스 중재방법 | |
US8458411B2 (en) | Distributed shared memory multiprocessor and data processing method | |
EP0814408B1 (en) | Bus bridge apparatus | |
JP2000216935A (ja) | 複合機器の情報処理システム | |
JP2000047974A (ja) | バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム | |
JP5439808B2 (ja) | 複数バスを有するシステムlsi | |
US6856420B1 (en) | System and method for transferring data within a printer | |
US6826644B1 (en) | Peripheral component interconnect arbiter implementation with dynamic priority scheme | |
JP4446968B2 (ja) | データ処理装置 | |
JP2005062946A (ja) | メモリ制御装置 | |
JP2005346715A (ja) | マルチポートランダムアクセスメモリ | |
JPH09153009A (ja) | 階層構成バスのアービトレーション方法 | |
JP4965974B2 (ja) | 半導体集積回路装置 | |
US20100153610A1 (en) | Bus arbiter and bus system | |
JP2004355271A (ja) | データ転送システム | |
JP2006277363A (ja) | 情報転送方式,画像形成装置 | |
JPH09223103A (ja) | 情報処理システム | |
JP2000099391A (ja) | プリンタ装置およびプリンタ制御方法、並びに記録媒体 | |
JP2005316546A (ja) | メモリコントローラ | |
JP2008123333A5 (ja) | ||
JPH05189311A (ja) | キャッシュメモリ・システム |