"読み出し対象に対してリードアクセスし、データを出力させるリードアクセス制御装置であって、前記読み出し対象に対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、前記読み出し対象の上位側をリードアクセスする際、先に保持した前記出力データと前記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、前記上位側からの出力データを補正する制御手段を設けたことを特徴とするリードアクセス制御装置。請求項1に記載のリードアクセス制御装置において、当該リードアクセス制御装置は、CPUからの各アドレス信号により、前記読み出し対象である記憶部の各アドレスを順次リードアクセスして、その各アドレスのデータを順次出力させる装置であり、前記制御手段は、前記記憶部から現在のリードアクセスによって出力されたデータである現アドレスのデータを、必要に応じて補正して前記CPUへ出力する出力データ補正手段と、該出力データ補正手段から送られてくる出力データを、次の出力データが前記出力データ補正手段から送られてくるまで保持する出力データ保持手段と、前記記憶部からの1リードアクセス前にアクセスされたアドレスのデータである1アクセス前データと前記出力データ保持手段からのデータである保持データとを比較し、その比較結果に基づいて桁上がりの有無を判定する桁上がり判定手段とを設け、前記出力データ補正手段は、前記桁上がり判定手段によって桁上がりが有ると判定された場合に、前記現アドレスのデータに対して1デクリメントを行うことを特徴とするリードアクセス制御装置。前記制御手段に、前記記憶部の各アドレスに対するリードアクセスを上位アドレスから順に行うモードである場合に、前記出力データ保持手段に保持されているデータをリセットする保持データリセット手段を設けたことを特徴とする請求項2に記載のリードアクセス制御装置。前記制御手段に、前記記憶部の各アドレスに対するリードアクセス間の桁上がりをカウントする桁上がりカウント手段を設けたことを特徴とする請求項2又は3に記載のリードアクセス制御装置。前記出力データ補正手段は、前記記憶部のアクセスされたアドレスにより、前記現アドレスのデータの補正に前記桁上がりカウント手段のカウント値あるいは前記桁上がり判定手段による判定結果を選択的に用いることを特徴とする請求項4に記載のリードアクセス制御装置。読み出し対象に対してリードアクセスし、データを出力させるリードアクセス制御装置における制御方法であって、前記読み出し対象に対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、前記読み出し対象の上位側をリードアクセスする際、先に保持した前記出力データと前記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、前記上位側からの出力データを補正することを特徴とする制御方法。しかしながら、このような従来のリードアクセス制御装置では、カウンタのレジスタに対する1回目のリードアクセス時にデータを保持する場合には、最低でも読み出すレジスタのbit数-CPUのバス幅のデータを保持しなくてはならなく、読み出すレジスタのbit数が大きくなってしまうと、データを保持するための記憶回路レジスタの容量が増加するため、回路規模の増大につながってしまうという問題があった。この発明は、上記の点に鑑みてなされたものであり、カウンタのレジスタのような内部データが動的に変化する読み出し対象記憶部を持つリードアクセス制御装置において、回路規模を減らしつつ、上記読み出し対象に対するリードアクセスを正確に行えるようにすることを目的とする。この発明は、上記の目的を達成するため、以下に示すリードアクセス制御装置およびその制御方法を提供する。この発明によるリードアクセス制御装置は、読み出し対象に対してリードアクセスし、データを出力させるリードアクセス制御装置であって、上記読み出し対象に対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、上記読み出し対象の上位側をリードアクセスする際、先に保持した上記出力データと上記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、上記上位側からの出力データを補正する制御手段を設けたものである。なお、そのリードアクセス制御装置を、CPUからの各アドレス信号により、上記読み出し対象である記憶部の各アドレスを順次リードアクセスして、その各アドレスのデータを順次出力させる装置とし、上記制御手段に、上記記憶部から現在のリードアクセスによって出力されたデータである現アドレスのデータを、必要に応じて補正して上記CPUへ出力する出力データ補正手段と、その出力データ補正手段から送られてくる出力データを、次の出力データが上記出力データ補正手段から送られてくるまで保持する出力データ保持手段と、上記記憶部からの1リードアクセス前にアクセスされたアドレスのデータである1アクセス前データと上記出力データ保持手段からのデータである保持データとを比較し、その比較結果に基づいて桁上がりの有無を判定する桁上がり判定手段とを設け、上記出力データ補正手段が、上記桁上がり判定手段によって桁上がりが有ると判定された場合に、上記現アドレスのデータに対して1デクリメントを行うとよい。また、上記制御手段に、上記記憶部の各アドレスに対するリードアクセスを上位アドレスから順に行うモードである場合に、上記出力データ保持手段に保持されているデータをリセットする保持データリセット手段を設けるとよい。さらに、上記制御手段に、上記記憶部の各アドレスに対するリードアクセス間の桁上がりをカウントする桁上がりカウント手段を設けることが望ましい。この場合、上記出力データ補正手段が、上記記憶部のアクセスされたアドレスにより、上記現アドレスのデータの補正に上記桁上がりカウント手段のカウント値あるいは上記桁上がり判定手段による判定結果を選択的に用いるとよい。この発明による制御方法は、読み出し対象に対してリードアクセスし、データを出力させるリードアクセス制御装置における制御方法であって、上記読み出し対象に対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、上記読み出し対象の上位側をリードアクセスする際、先に保持した上記出力データと上記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、上記上位側からの出力データを補正するものである。この発明によれば、リードアクセス制御装置が、レジスタのような読み出し対象記憶部に対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、上記読み出し対象の上位側をリードアクセスする際、先に保持した上記出力データと上記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、上記上位側からの出力データを補正することにより、回路規模を減らしつつ、上記読み出し対象に対するリードアクセスを正確に行うことができる。以下、この発明を実施するための形態を図面に基づいて具体的に説明する。以下の実施形態は、CPUが読み出し対象であるレジスタ内部データが動的に変化するカウンタのレジスタに対してリードアクセスを行うに際して、以下の特徴を有する。つまり、読み出し対象のレジスタに対して、リードアクセスを下位側から行い、そのときの出力データレジスタ値を保持した後、レジスタの上位側をリードアクセスする際、先に保持したレジスタ値と現在のレジスタ値下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を確認して出力データを補正することが特徴になっている。そこで、その特徴について詳細に説明する。図1は、この発明によるリードアクセス制御回路リードアクセス制御装置を用いた画像形成装置における制御系の構成例を示すブロック図である。この画像形成装置は、デジタル複写機であり、スキャナScanner1およびプロッタPlotter2の各エンジンEnginesと、エンジンドライバEnginesDriver10と、コントローラController20とを備えている。スキャナ1は、原稿の画像を読み取って画像データをエンジンドライバ10へ出力する画像読取手段である。プロッタ2は、エンジンドライバ10からの画像データに基づいて用紙等の記録媒体に画像形成印刷を行う画像形成手段である。エンジンドライバ10は、画像処理ASIC11およびエンジンCPU12を備えている。画像処理ASIC11は、画像処理用のハードウェア要素を有する画像処理用途向けのIC集積回路であり、スキャナ1からの画像データに対して誤差拡散やガンマ変換等の画像処理を行う。また、スキャナ1とプロッタ2とエンジンCPU12とコントローラ20内の画像処理ASIC21とを接続するブリッジの役割も有する。この画像処理ASIC11の部分に後述するリードアクセス制御回路が用いられ、エンジンCPU12によって制御される。エンジンCPU12は、内部ROMに格納されているプログラムに基づいて、画像処理ASIC11の動作や、画像処理ASIC11経由でのスキャナ1およびプロッタ2の動作等を制御するマイクロコンピュータである。このエンジンCPU12は、リードアクセス制御回路に対して、リードイネーブル信号とアドレス信号以下単にアドレスというとを出力することにより、データを要求することができる。コントローラ20は、画像処理ASIC21、ノースブリッジNB22、画像データ格納用メモリ23、画像データ格納用ハードディスクHDD24、およびコントローラCPU25を備えている。画像処理ASIC21は、エンジンドライバ10内の画像処理ASIC11と同様なICであり、その画像処理ASIC11とノースブリッジ22と画像データ格納用ハードディスク24とを接続するブリッジの役割も有する。ノースブリッジ22は、画像処理ASIC21と画像データ格納用メモリ23とコントローラCPU25とを接続するブリッジである。画像データ格納用メモリ23は、エンジンドライバ10から画像処理ASIC21およびノースブリッジ22経由で送られてくる画像データを格納するための記憶手段である。画像データ格納用ハードディスク24は、エンジンドライバ10から画像処理ASIC21経由で送られてくる画像データ、あるいは画像データ格納用メモリ23からノースブリッジ22および画像処理ASIC21経由で送られてくる画像データを格納するための大容量記憶手段である。コントローラCPU25は、内部ROMに格納されているプログラムに基づいて、ノースブリッジ22経由での画像処理ASIC21の動作や、ノースブリッジ22経由での画像データ格納用メモリ23に対する画像データの読み書き、ノースブリッジ22および画像処理ASIC21経由での画像データ格納用ハードディスク24に対する画像データの読み書き等を制御するマイクロコンピュータである。なお、画像処理ASIC21の部分に後述するリードアクセス制御回路を用い、コントローラCPU25によって制御可能にすることもできる。また、デジタル複写機以外の画像形成装置デジタル複合機やファクシミリ装置,プリンタ等の画像処理ASIC11,21に相当する部分に後述するリードアクセス制御回路を用いることもできる。図2は、図1の画像処理ASIC11の部分に用いられるリードアクセス制御回路の構成例を示すブロック図である。このリードアクセス制御回路100は、制御手段を構成するアドレスデコーダ101、出力データ補正部102、出力データ保持部103、および桁上がり判定部104を備え、図1のエンジンCPU12からリードイネーブル信号とアドレス信号以下単にアドレスというとを受け取ることによってデータの要求を受け、その要求先のレジスタここではレジスタ201とするに対してアクセス信号を出力し、そのレジスタ201から出力データを取得してエンジンCPU12へ出力する。便宜上ここでは、他の回路のレジスタを省略していること、出力データのバス幅が8bitであることとする。アドレスデコーダ101は、エンジンCPU12からのリードイネーブル信号とアドレスとを受け取り、出力データの要求先のレジスタに対してアクセス信号を出力し、出力データの出力の制御を行う。要求された現アドレスのデータデータの要求先のレジスタ201から出力されるデータを出力させるためのアクセス信号や、リードアクセス制御回路100に対してリードアクセスが2回以上続いた場合には1アクセス前前リードアクセスのアドレスのデータを出力させるためのアクセス信号をレジスタ201へ出力する。このアドレスデコーダ101は、保持データリセット手段としての機能を果すものであり、エンジンCPU12からのアクセス順序によっては、出力データ保持部103をクリアすることができる。つまり、レジスタ201はカウンタを構成するものであるため、レジスタカウンタ201の各アドレスに対するリードアクセスを下位アドレスから順に行うモードである場合に、この発明に関わる部分が機能するように、そのアクセス順序でない場合レジスタ201の各アドレスに対するリードアクセスを上位アドレスから順に行うモードである場合に、出力データ保持部103にリセットが掛かる仕組みになっている。出力データ保持部103のリセットへの分岐条件を満たした場合にのみ、そのリセットを行う処理のフローチャートの一例を図3に示す。なお、そのフローチャートでは、レジスタ201に対するアドレスは全部で1~4としている。アドレスデコーダ101は、エンジンCPU12からリードイネーブル信号を受け取るリードイネーブル信号がアサート状態になると、例えば図3に示す処理をスタートし、まずステップS1でリードイネーブル信号と共に受け取ったアドレスをチェックし、そのアドレスが1~3のいずれかであればステップS2へ進み、1アクセス前前リードアクセスのアドレスが現アドレスに1を加えたものアドレス1であるかどうかを判断する。そして、1アクセス前のアドレスが現アドレスに1を加えたものアドレス1である場合には、出力データ保持部103をリセットせず、ステップS3で現アドレス出力データの要求先のレジスタに対してアクセス信号を出力する。一方、リードイネーブル信号と共に受け取ったアドレスが1~3のいずれでもない場合4の場合、あるいは1アクセス前のアドレスが現アドレスに1を加えたものでない場合には、ステップS4で出力データ保持部103をリセットした後、ステップS3へ進む。ここで、リードイネーブル信号と共に受け取ったアドレスが1~3のいずれかであり、且つ1アクセス前のアドレスが現アドレスに1を加えたものである場合は、レジスタ201の各アドレスに対するリードアクセスを下位アドレスから順に行うモードであり、次に行うリードアクセスが2回目以降なので、それによって出力されるデータが2番目以降のデータとなるため、それを保持する必要がある。また、リードイネーブル信号と共に受け取ったアドレスが4の場合は、次に行うリードアクセスによって出力されるデータが最上位か最下位のデータとなるため、それを保持する必要はない。更に、1アクセス前のアドレスが現アドレスに1を加えたものでない場合でも、レジスタ201の各アドレスに対するリードアクセスを上位アドレスから順にアクセスするモードであるため、それを保持する必要はない。レジスタ201は、動的にデータの値が変化するカウンタを構成するものを例としている。ここで、レジスタ201のbit数は、便宜上25bitとしている。このレジスタ201は、カウント対象203のデータが変化する毎にその値カウンタ値を保持する。アドレスデコーダ101から各アドレスのアクセス信号を受け取り、桁上がり判定部104と出力データ補正部103にデータを出力する。レジスタ201におけるエンジンCPU12からのアドレスと格納されているデータとの関係は、例えば図4に示すような関係になっており、最上位から最下位までアドレス1,2,3,4と4回のリードアクセスを行うことで、データを読み出すことが可能なレジスタになっている。出力データ補正部102は、出力データ補正手段であり、レジスタ201から現在のリードアクセスによって出力されたデータである現アドレスのデータを受け取り、桁上がり判定部104から桁上がりの判定結果を受けて、現アドレスのデータを必要に応じて補正し、出力データ保持部103およびエンジンCPU12へ出力する。すなわち、桁上がりの判定結果が桁上がり有り○の場合には、現アドレスのデータを1デクリメント-1して出力し、桁上がりの判定結果が桁上がり無し×の場合には、現アドレスのデータを入力時のまま出力する。出力データ保持部103は、出力データ保持手段であり、出力データ補正部102からエンジンCPU12へ出力されたデータ出力データ補正部102から送られて出力データを次のデータが出力される次の出力データが出力データ補正部102から送られてくるまで保持する。その保持されたデータは、桁上がり判定部104へ出力する。この出力データ保持部103は、エンジンCPU12のバス幅と同じbit数分のデータを保持すればよく、この例では8bitの値を保持する。出力データ保持部103としては、レジスタ等のメモリ記憶部を用いればよい。桁上がり判定部104は、桁上がり判定手段であり、レジスタ201から受け取った1アクセス前のアドレスのデータと出力データ保持部103からのデータとを比較し、その比較結果に基づいて桁上がりの有無を判定する。ここで、判定方法は、桁上がりが起こっていれば、レジスタ201からの1リードアクセス前にアクセスされたアドレスのデータである1アクセス前のアドレスのデータデータAと出力データ保持部103からのデータデータBとの関係が、データA<データBとなるので、このとき桁上がりの判定結果を○にし、逆に桁上がりしていなければ×を桁上がりの判定結果として、出力データ補正部102へ通知する。図5は、図2に示した構成のリードアクセス制御回路100およびエンジンCPU12の実際の動作例を示すタイミングチャートである。図中のレジスタ制御部とは、リードアクセス制御回路100内のレジスタ201を制御する部分に相当する。また、レジスタはレジスタ201とし、その各アドレス毎のデータbit8bitを16進数での表現にしている。更に、1dcは、データの1デクリメント-1を示す。これらは、後述する図6,図8においても同様とする。この動作例は、エンジンCPU12がレジスタ201の最下位のアドレス4とアドレス3をリードする読み出す間で桁上がりが起こった場合の内部動作になる。エンジンCPU12は、レジスタ201の下位から順に出力データが出力される毎にリードアクセスを行う。図5を見て分かるように、最初のリードアクセスが起こった際のデータ0x000000FFが出力されると、正確なデータが出力されたことになる。また、エンジンCPU12がレジスタ201のアドレス3をアクセスする直前に桁上がりが起こっている。このときに桁上がりの判定結果が○となり、データが1デクリメント-1され、正確な値を出力できていることが分かる。図6は、図2に示した構成のリードアクセス制御回路100およびエンジンCPU12の実際の他の動作例を示すタイミングチャートである。この動作例は、図5とはレジスタカウンタ201の桁上がりが異なる場合を示しており、エンジンCPU12がレジスタ201の上位から2番目のアドレス2とアドレス1とのリードの間で桁上がりが起こった場合の内部動作になる。エンジンCPU12は、レジスタ201の下位から順に出力データが出力される毎にリードアクセスを行う。図6を見て分かるように、最初のリードアクセスが起こった際のデータ0x00FFFFFBが出力されると、正確なデータが出力されたことになる。また、エンジンCPU12がアドレス1をリードアクセスした際に桁上がりが1リードアクセス前と比べて起こっているが、出力データ保持部103で桁上がり前のデータを保持しているため、桁上がりの判定結果が○となり、正確なデータ出力ができていることが分かる。以上、リードアクセス制御回路100によれば、以下のabに示す作用効果を得ることができる。a読み出し対象であるレジスタに対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、上記レジスタの上位側をリードアクセスする際、先に保持した上記出力データと上記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、上記上位側からの出力データを補正する。具体的には、読み出し対象であるレジスタから現在のリードアクセスによって出力されたデータである現アドレスのデータを、必要に応じて補正してエンジンCPU12へ出力する出力データ補正部102と、それから送られてくる出力データを、次の出力データが出力データ補正部102から送られてくるまで保持する出力データ保持部103と、レジスタ201からの1リードアクセス前にアクセスされたアドレスのデータである1アクセス前データと出力データ保持部103からのデータである保持データとを比較し、その比較結果に基づいて桁上がりの有無を判定する桁上がり判定部104とを設け、出力データ補正部102が、桁上がり判定部104によって桁上がりが有ると判定された場合に、上記現アドレスのデータに対して1デクリメント-1を行う。それによって、動的に変化するレジスタに対してリードアクセスを行うときに、エンジンCPU12のデータバス幅と読み出すレジスタのbit幅との関係がエンジンCPU12のデータバス幅<読み出すレジスタのbit幅であっても、エンジンCPU12のデータバス幅の出力データ保持部103があれば、正確なデータをエンジンCPU12に出力することができる。つまり、回路規模を減らしつつ、上記レジスタに対するリードアクセスを正確に行うことができる。bアドレスデコーダ101が、上記レジスタの各アドレスに対するリードアクセスを上位アドレスから順に行うモードである場合に、出力データ保持部103に保持されているデータをリセットすることにより、上記レジスタの各アドレスに対するリードアクセスを下位アドレスから順に行うモードである場合にのみ、aに示した動作を実行することができる。つまり、上記レジスタの各アドレスに対するリードアクセスの順序により、aに示した動作をオン/オフできる。よって、動作効率の向上につながる。図7は、図1の画像処理ASIC11の部分に用いられるリードアクセス制御回路の他の構成例を示すブロック図であり、図2と同じ部分には同一符号を付してそれらの説明をほとんど省略する。図7に示するリードアクセス制御回路100′は、レジスタ201のアドレス4の最上位bitの桁上がりがアドレス4とアドレス3のリードアクセスが終わるまでに2回以上起こる場合に対応できるものである。図2に示したリードアクセス制御回路100では、前述のタイミングで桁上がりが2回以上起こると、出力データ補正部102はデータに対して1デクリメント-1する機能しか有さないため、正確なデータを出力することはできない。それに対応させた構成が図7に示すリードアクセス制御回路100′の構成となる。桁上がりカウンタ105は、桁上がりカウント手段であり、最下位データを持つアドレス4のアクセスが起こってから、一つ上位のアドレス3のデータの増加をカウントする。このカウント値が出力データ補正部102′に出力される。出力データ補正部102′は、アドレスデコーダ101によるアドレス3のデータ出力時のみ、桁上がりカウンタ105のカウント値を現アドレスのデータから減算デクリメントし、それ以外は、図2に示したリードアクセス制御回路100の出力データ補正部102と同様に桁上がり判定部104の判定結果でデクリメント-1を行うかを決定する。図8は、図7に示した構成のリードアクセス制御回路100′およびエンジンCPU12の実際の動作例を示すタイミングチャートである。図中の2dcは、データの2デクリメント-2を示す。この動作例は、エンジンCPU12によるレジスタ201に対するアドレス4とアドレス3のリードアクセスの間で、アドレス4の最上位bitが2回桁上がりをする場合の内部動作になる。エンジンCPU12は、レジスタ201の下位から順に出力データが出力される毎にリードアクセスを行う。図8を見て分かるように、最初のリードアクセスが起こった際のデータ0x0000FEFEが出力されると、正確なデータが出力されたことになる。また、アドレス4の最上位bitが2回桁上がりを起こしても、桁上がりカウンタ105を追加したことで、正確なデータを出力することができる。なお、レジスタ201のアドレス3の最上位bitの桁上がりがアドレス3とアドレス2のリードアクセスが終わるまでに2回以上起こる場合、あるいはレジスタ201のアドレス2の最上位bitの桁上がりがアドレス2とアドレス1のリードアクセスが終わるまでに2回以上起こる場合に対応できる桁上がりカウンタを備え、出力データ補正部102′が、その桁上がりカウンタのカウント値を現アドレスのデータから減算することも可能である。以上、リードアクセス制御回路100′によれば、前述したabに示した作用効果に加え、以下のcdに示す作用効果を得ることができる。c桁上がりカウンタ105が、レジスタの各アドレスに対するリードアクセス間の桁上がりをカウントすることにより、リードアクセス間で頻繁に桁上がりが起こっても、正確なデータをエンジンCPU12へ出力することができる。d出力データ補正部102′が、レジスタのアクセスされたアドレスにより、現アドレスのデータの補正に桁上がりカウンタ105のカウント値あるいは桁上がり判定部104による判定結果を選択的に用いることにより、動作効率の更なる向上につながる。"