(57)【要約】【課題】  回路規模を減らしつつ、読み出し対象に対するリードアクセスを正確に行えるようにする。【解決手段】  読み出し対象であるレジスタ２０１から現在のリードアクセスによって出力されたデータである現アドレスのデータを、必要に応じて補正してエンジンＣＰＵ１２へ出力する出力データ補正部１０２と、それから送られてくる出力データを、次の出力データが出力データ補正部１０２から送られてくるまで保持する出力データ保持部１０３と、レジスタ２０１からの１リードアクセス前にアクセスされたアドレスのデータである１アクセス前データと出力データ保持部１０３からのデータである保持データとを比較し、その比較結果に基づいて桁上がりの有無を判定する桁上がり判定部１０４とを設け、出力データ補正部１０２は、桁上がり判定部１０４によって桁上がりが有ると判定された場合に、上記現アドレスのデータに対して１デクリメントを行う。【選択図】        図２
2012181643.tif 000002
【特許請求の範囲】
【請求項１】
読み出し対象に対してリードアクセスし、データを出力させるリードアクセス制御装置であって、
前記読み出し対象に対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、前記読み出し対象の上位側をリードアクセスする際、先に保持した前記出力データと前記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、前記上位側からの出力データを補正する制御手段を設けたことを特徴とするリードアクセス制御装置。
【請求項２】
請求項１に記載のリードアクセス制御装置において、
当該リードアクセス制御装置は、
ＣＰＵからの各アドレス信号により、前記読み出し対象である記憶部の各アドレスを順次リードアクセスして、その各アドレスのデータを順次出力させる装置であり、
前記制御手段は、
前記記憶部から現在のリードアクセスによって出力されたデータである現アドレスのデータを、必要に応じて補正して前記ＣＰＵへ出力する出力データ補正手段と、
該出力データ補正手段から送られてくる出力データを、次の出力データが前記出力データ補正手段から送られてくるまで保持する出力データ保持手段と、
前記記憶部からの１リードアクセス前にアクセスされたアドレスのデータである１アクセス前データと前記出力データ保持手段からのデータである保持データとを比較し、その比較結果に基づいて桁上がりの有無を判定する桁上がり判定手段とを設け、
前記出力データ補正手段は、前記桁上がり判定手段によって桁上がりが有ると判定された場合に、前記現アドレスのデータに対して１デクリメントを行うことを特徴とするリードアクセス制御装置。
【請求項３】
前記制御手段に、
前記記憶部の各アドレスに対するリードアクセスを上位アドレスから順に行うモードである場合に、前記出力データ保持手段に保持されているデータをリセットする保持データリセット手段を設けたことを特徴とする請求項２に記載のリードアクセス制御装置。
【請求項４】
前記制御手段に、
前記記憶部の各アドレスに対するリードアクセス間の桁上がりをカウントする桁上がりカウント手段を設けたことを特徴とする請求項２又は３に記載のリードアクセス制御装置。
【請求項５】
前記出力データ補正手段は、前記記憶部のアクセスされたアドレスにより、前記現アドレスのデータの補正に前記桁上がりカウント手段のカウント値あるいは前記桁上がり判定手段による判定結果を選択的に用いることを特徴とする請求項４に記載のリードアクセス制御装置。
【請求項６】
読み出し対象に対してリードアクセスし、データを出力させるリードアクセス制御装置における制御方法であって、
前記読み出し対象に対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、前記読み出し対象の上位側をリードアクセスする際、先に保持した前記出力データと前記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、前記上位側からの出力データを補正することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内部データが動的に変化する読み出し対象（カウンタのレジスタ等）に対する読み出しを制御するリードアクセス制御装置、およびその制御方法に関する。
【背景技術】
【０００２】
リードアクセス制御装置では、例えば、１６ビットのＣＰＵが３２ビット構成のカウンタのレジスタにリードアクセスするとき、そのレジスタに格納されているカウント値を示すデータ（カウントデータ）を２回のリードアクセスによって読み出すが、１回目のリードアクセスと２回目のリードアクセスとの間に下位の最上位が桁上がりをすると、正確なデータを読み出せなくなり、データの信頼性を確保することができない。
そのため、カウンタのレジスタに対する１回目のリードアクセス時のデータを保持し、次のリードアクセス時にその保持したデータを出力することで、データの信頼性を確保できるようにしたものが提案されている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、このような従来のリードアクセス制御装置では、カウンタのレジスタに対する１回目のリードアクセス時にデータを保持する場合には、最低でも「読み出すレジスタのｂｉｔ数」−「ＣＰＵのバス幅」のデータを保持しなくてはならなく、「読み出すレジスタのｂｉｔ数」が大きくなってしまうと、データを保持するための記憶回路（レジスタ）の容量が増加するため、回路規模の増大につながってしまうという問題があった。
【０００４】
この発明は、上記の点に鑑みてなされたものであり、カウンタのレジスタのような内部データが動的に変化する読み出し対象（記憶部）を持つリードアクセス制御装置において、回路規模を減らしつつ、上記読み出し対象に対するリードアクセスを正確に行えるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
この発明は、上記の目的を達成するため、以下に示すリードアクセス制御装置およびその制御方法を提供する。
この発明によるリードアクセス制御装置は、読み出し対象に対してリードアクセスし、データを出力させるリードアクセス制御装置であって、上記読み出し対象に対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、上記読み出し対象の上位側をリードアクセスする際、先に保持した上記出力データと上記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、上記上位側からの出力データを補正する制御手段を設けたものである。
【０００６】
なお、そのリードアクセス制御装置を、ＣＰＵからの各アドレス信号により、上記読み出し対象である記憶部の各アドレスを順次リードアクセスして、その各アドレスのデータを順次出力させる装置とし、上記制御手段に、上記記憶部から現在のリードアクセスによって出力されたデータである現アドレスのデータを、必要に応じて補正して上記ＣＰＵへ出力する出力データ補正手段と、その出力データ補正手段から送られてくる出力データを、次の出力データが上記出力データ補正手段から送られてくるまで保持する出力データ保持手段と、上記記憶部からの１リードアクセス前にアクセスされたアドレスのデータである１アクセス前データと上記出力データ保持手段からのデータである保持データとを比較し、その比較結果に基づいて桁上がりの有無を判定する桁上がり判定手段とを設け、上記出力データ補正手段が、上記桁上がり判定手段によって桁上がりが有ると判定された場合に、上記現アドレスのデータに対して１デクリメントを行うとよい。
【０００７】
また、上記制御手段に、上記記憶部の各アドレスに対するリードアクセスを上位アドレスから順に行うモードである場合に、上記出力データ保持手段に保持されているデータをリセットする保持データリセット手段を設けるとよい。
さらに、上記制御手段に、上記記憶部の各アドレスに対するリードアクセス間の桁上がりをカウントする桁上がりカウント手段を設けることが望ましい。この場合、上記出力データ補正手段が、上記記憶部のアクセスされたアドレスにより、上記現アドレスのデータの補正に上記桁上がりカウント手段のカウント値あるいは上記桁上がり判定手段による判定結果を選択的に用いるとよい。
【０００８】
この発明による制御方法は、読み出し対象に対してリードアクセスし、データを出力させるリードアクセス制御装置における制御方法であって、上記読み出し対象に対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、上記読み出し対象の上位側をリードアクセスする際、先に保持した上記出力データと上記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、上記上位側からの出力データを補正するものである。
【発明の効果】
【０００９】
この発明によれば、リードアクセス制御装置が、レジスタのような読み出し対象（記憶部）に対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、上記読み出し対象の上位側をリードアクセスする際、先に保持した上記出力データと上記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、上記上位側からの出力データを補正することにより、回路規模を減らしつつ、上記読み出し対象に対するリードアクセスを正確に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】この発明によるリードアクセス制御回路を用いた画像形成装置における制御系の構成例を示すブロック図である。
【図２】図１の画像処理ＡＳＩＣ１１の部分に用いられるリードアクセス制御回路の構成例を示すブロック図である。
【図３】図２のアドレスデコーダ１０１による出力データ保持部１０３のリセットへの分岐条件を判定する処理の一例を示すフロー図である。
【図４】図２のレジスタ２０１におけるエンジンＣＰＵ１２からのアドレスと格納されているデータとの関係の一例を示す説明図である。
【００１１】
【図５】図２に示したリードアクセス制御回路１００およびエンジンＣＰＵ１２の実際の動作例を示すタイミング図である。
【図６】同じくリードアクセス制御回路１００およびエンジンＣＰＵ１２の実際の他の動作例を示すタイミング図である。
【図７】図１の画像処理ＡＳＩＣ１１の部分に用いられるリードアクセス制御回路の他の構成例を示すブロック図である。
【図８】図７に示したリードアクセス制御回路１００′およびエンジンＣＰＵ１２の実際の動作例を示すタイミング図である。
【発明を実施するための形態】
【００１２】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
以下の実施形態は、ＣＰＵが読み出し対象であるレジスタ（内部データが動的に変化するカウンタのレジスタ）に対してリードアクセスを行うに際して、以下の特徴を有する。つまり、読み出し対象のレジスタに対して、リードアクセスを下位側から行い、そのときの出力データ（レジスタ値）を保持した後、レジスタの上位側をリードアクセスする際、先に保持したレジスタ値と現在のレジスタ値（下位側の現在の出力データ）とを比較し、その比較結果に基づいて桁上がりの有無を確認して出力データを補正することが特徴になっている。
【００１３】
そこで、その特徴について詳細に説明する。
図１は、この発明によるリードアクセス制御回路（リードアクセス制御装置）を用いた画像形成装置における制御系の構成例を示すブロック図である。
この画像形成装置は、デジタル複写機であり、スキャナ（Ｓｃａｎｎｅｒ）１およびプロッタ（Ｐｌｏｔｔｅｒ）２の各エンジン（Ｅｎｇｉｎｅｓ）と、エンジンドライバ（Ｅｎｇｉｎｅｓ
Ｄｒｉｖｅｒ）１０と、コントローラ（Ｃｏｎｔｒｏｌｌｅｒ）２０とを備えている。
【００１４】
スキャナ１は、原稿の画像を読み取って画像データをエンジンドライバ１０へ出力する画像読取手段である。
プロッタ２は、エンジンドライバ１０からの画像データに基づいて用紙等の記録媒体に画像形成（印刷）を行う画像形成手段である。
エンジンドライバ１０は、画像処理ＡＳＩＣ１１およびエンジンＣＰＵ１２を備えている。
【００１５】
画像処理ＡＳＩＣ１１は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（集積回路）であり、スキャナ１からの画像データに対して誤差拡散やガンマ変換等の画像処理を行う。また、スキャナ１とプロッタ２とエンジンＣＰＵ１２とコントローラ２０内の画像処理ＡＳＩＣ２１とを接続するブリッジの役割も有する。この画像処理ＡＳＩＣ１１の部分に後述するリードアクセス制御回路が用いられ、エンジンＣＰＵ１２によって制御される。
【００１６】
エンジンＣＰＵ１２は、内部ＲＯＭに格納されているプログラムに基づいて、画像処理ＡＳＩＣ１１の動作や、画像処理ＡＳＩＣ１１経由でのスキャナ１およびプロッタ２の動作等を制御するマイクロコンピュータである。このエンジンＣＰＵ１２は、リードアクセス制御回路に対して、リードイネーブル信号とアドレス信号（以下単に「アドレス」という）とを出力することにより、データを要求することができる。
【００１７】
コントローラ２０は、画像処理ＡＳＩＣ２１、ノースブリッジ（ＮＢ）２２、画像データ格納用メモリ２３、画像データ格納用ハードディスク（ＨＤＤ）２４、およびコントローラＣＰＵ２５を備えている。
画像処理ＡＳＩＣ２１は、エンジンドライバ１０内の画像処理ＡＳＩＣ１１と同様なＩＣであり、その画像処理ＡＳＩＣ１１とノースブリッジ２２と画像データ格納用ハードディスク２４とを接続するブリッジの役割も有する。
【００１８】
ノースブリッジ２２は、画像処理ＡＳＩＣ２１と画像データ格納用メモリ２３とコントローラＣＰＵ２５とを接続するブリッジである。
画像データ格納用メモリ２３は、エンジンドライバ１０から画像処理ＡＳＩＣ２１およびノースブリッジ２２経由で送られてくる画像データを格納するための記憶手段である。
画像データ格納用ハードディスク２４は、エンジンドライバ１０から画像処理ＡＳＩＣ２１経由で送られてくる画像データ、あるいは画像データ格納用メモリ２３からノースブリッジ２２および画像処理ＡＳＩＣ２１経由で送られてくる画像データを格納するための大容量記憶手段である。
【００１９】
コントローラＣＰＵ２５は、内部ＲＯＭに格納されているプログラムに基づいて、ノースブリッジ２２経由での画像処理ＡＳＩＣ２１の動作や、ノースブリッジ２２経由での画像データ格納用メモリ２３に対する画像データの読み書き、ノースブリッジ２２および画像処理ＡＳＩＣ２１経由での画像データ格納用ハードディスク２４に対する画像データの読み書き等を制御するマイクロコンピュータである。
なお、画像処理ＡＳＩＣ２１の部分に後述するリードアクセス制御回路を用い、コントローラＣＰＵ２５によって制御可能にすることもできる。また、デジタル複写機以外の画像形成装置（デジタル複合機やファクシミリ装置，プリンタ等）の画像処理ＡＳＩＣ１１，２１に相当する部分に後述するリードアクセス制御回路を用いることもできる。
【００２０】
図２は、図１の画像処理ＡＳＩＣ１１の部分に用いられるリードアクセス制御回路の構成例を示すブロック図である。
このリードアクセス制御回路１００は、制御手段を構成するアドレスデコーダ１０１、出力データ補正部１０２、出力データ保持部１０３、および桁上がり判定部１０４を備え、図１のエンジンＣＰＵ１２からリードイネーブル信号とアドレス信号（以下単に「アドレス」という）とを受け取ることによってデータの要求を受け、その要求先のレジスタ（ここでは「レジスタ２０１」とする）に対してアクセス信号を出力し、そのレジスタ２０１から出力データを取得してエンジンＣＰＵ１２へ出力する。便宜上ここでは、他の回路のレジスタを省略していること、出力データのバス幅が８ｂｉｔであることとする。
【００２１】
アドレスデコーダ１０１は、エンジンＣＰＵ１２からのリードイネーブル信号とアドレスとを受け取り、出力データの要求先のレジスタに対してアクセス信号を出力し、出力データの出力の制御を行う。要求された現アドレスのデータ（データの要求先のレジスタ２０１から出力されるデータ）を出力させるためのアクセス信号や、リードアクセス制御回路１００に対してリードアクセスが２回以上続いた場合には１アクセス前（前リードアクセス）のアドレスのデータを出力させるためのアクセス信号をレジスタ２０１へ出力する。
【００２２】
このアドレスデコーダ１０１は、保持データリセット手段としての機能を果すものであり、エンジンＣＰＵ１２からのアクセス順序によっては、出力データ保持部１０３をクリアすることができる。つまり、レジスタ２０１はカウンタを構成するものであるため、レジスタ（カウンタ）２０１の各アドレスに対するリードアクセスを下位アドレスから順に行うモードである場合に、この発明に関わる部分が機能するように、そのアクセス順序でない場合（レジスタ２０１の各アドレスに対するリードアクセスを上位アドレスから順に行うモードである場合）に、出力データ保持部１０３にリセットが掛かる仕組みになっている。出力データ保持部１０３のリセットへの分岐条件を満たした場合にのみ、そのリセットを行う処理のフローチャートの一例を図３に示す。なお、そのフローチャートでは、レジスタ２０１に対するアドレスは全部で「１」〜「４」としている。
【００２３】
アドレスデコーダ１０１は、エンジンＣＰＵ１２からリードイネーブル信号を受け取る（リードイネーブル信号がアサート状態になる）と、例えば図３に示す処理をスタートし、まずステップＳ１でリードイネーブル信号と共に受け取ったアドレスをチェックし、そのアドレスが「１」〜「３」のいずれかであればステップＳ２へ進み、１アクセス前（前リードアクセス）のアドレスが現アドレスに「１」を加えたもの（アドレス＋１）であるかどうかを判断する。
【００２４】
そして、１アクセス前のアドレスが現アドレスに「１」を加えたもの（アドレス＋１）である場合には、出力データ保持部１０３をリセットせず、ステップＳ３で現アドレス（出力データの要求先のレジスタ）に対してアクセス信号を出力する。
一方、リードイネーブル信号と共に受け取ったアドレスが「１」〜「３」のいずれでもない場合（「４」の場合）、あるいは１アクセス前のアドレスが現アドレスに「１」を加えたものでない場合には、ステップＳ４で出力データ保持部１０３をリセットした後、ステップＳ３へ進む。
【００２５】
ここで、リードイネーブル信号と共に受け取ったアドレスが「１」〜「３」のいずれかであり、且つ１アクセス前のアドレスが現アドレスに「１」を加えたものである場合は、レジスタ２０１の各アドレスに対するリードアクセスを下位アドレスから順に行うモードであり、次に行うリードアクセスが２回目以降なので、それによって出力されるデータが２番目以降のデータとなるため、それを保持する必要がある。また、リードイネーブル信号と共に受け取ったアドレスが「４」の場合は、次に行うリードアクセスによって出力されるデータが最上位か最下位のデータとなるため、それを保持する必要はない。更に、１アクセス前のアドレスが現アドレスに「１」を加えたものでない場合でも、レジスタ２０１の各アドレスに対するリードアクセスを上位アドレスから順にアクセスするモードであるため、それを保持する必要はない。
【００２６】
レジスタ２０１は、動的にデータの値が変化するカウンタを構成するものを例としている。ここで、レジスタ２０１のｂｉｔ数は、便宜上２５ｂｉｔとしている。このレジスタ２０１は、カウント対象２０３のデータが変化する毎にその値（カウンタ値）を保持する。アドレスデコーダ１０１から各アドレスのアクセス信号を受け取り、桁上がり判定部１０４と出力データ補正部１０３にデータを出力する。レジスタ２０１におけるエンジンＣＰＵ１２からのアドレスと格納されているデータとの関係は、例えば図４に示すような関係になっており、最上位から最下位までアドレス「１」，「２」，「３」，「４」と４回のリードアクセスを行うことで、データを読み出すことが可能なレジスタになっている。
【００２７】
出力データ補正部１０２は、出力データ補正手段であり、レジスタ２０１から現在のリードアクセスによって出力されたデータである現アドレスのデータを受け取り、桁上がり判定部１０４から桁上がりの判定結果を受けて、現アドレスのデータを必要に応じて補正し、出力データ保持部１０３およびエンジンＣＰＵ１２へ出力する。
すなわち、桁上がりの判定結果が桁上がり有り「○」の場合には、現アドレスのデータを１デクリメント（−１）して出力し、桁上がりの判定結果が桁上がり無し「×」の場合には、現アドレスのデータを入力時のまま出力する。
【００２８】
出力データ保持部１０３は、出力データ保持手段であり、出力データ補正部１０２からエンジンＣＰＵ１２へ出力されたデータ（出力データ補正部１０２から送られて出力データ）を次のデータが出力される（次の出力データが出力データ補正部１０２から送られてくる）まで保持する。その保持されたデータは、桁上がり判定部１０４へ出力する。この出力データ保持部１０３は、エンジンＣＰＵ１２のバス幅と同じｂｉｔ数分のデータを保持すればよく、この例では８ｂｉｔの値を保持する。出力データ保持部１０３としては、レジスタ等のメモリ（記憶部）を用いればよい。
【００２９】
桁上がり判定部１０４は、桁上がり判定手段であり、レジスタ２０１から受け取った１アクセス前のアドレスのデータと出力データ保持部１０３からのデータとを比較し、その比較結果に基づいて桁上がりの有無を判定する。
ここで、判定方法は、桁上がりが起こっていれば、レジスタ２０１からの１リードアクセス前にアクセスされたアドレスのデータである１アクセス前のアドレスのデータ（データＡ）と出力データ保持部１０３からのデータ（データＢ）との関係が、データＡ＜データＢとなるので、このとき桁上がりの判定結果を「○」にし、逆に桁上がりしていなければ「×」を桁上がりの判定結果として、出力データ補正部１０２へ通知する。
【００３０】
図５は、図２に示した構成のリードアクセス制御回路１００およびエンジンＣＰＵ１２の実際の動作例を示すタイミングチャートである。図中の「レジスタ制御部」とは、リードアクセス制御回路１００内のレジスタ２０１を制御する部分に相当する。また、「レジスタ」はレジスタ２０１とし、その各アドレス毎のデータｂｉｔ（８ｂｉｔ）を１６進数での表現にしている。更に、「１ｄｃ」は、データの１デクリメント（−１）を示す。これらは、後述する図６，図８においても同様とする。
この動作例は、エンジンＣＰＵ１２がレジスタ２０１の最下位のアドレス「４」とアドレス「３」をリードする（読み出す）間で桁上がりが起こった場合の内部動作になる。
【００３１】
エンジンＣＰＵ１２は、レジスタ２０１の下位から順に出力データが出力される毎にリードアクセスを行う。
図５を見て分かるように、最初のリードアクセスが起こった際のデータ「０ｘ００００００ＦＦ」が出力されると、正確なデータが出力されたことになる。
また、エンジンＣＰＵ１２がレジスタ２０１のアドレス「３」をアクセスする直前に桁上がりが起こっている。このときに桁上がりの判定結果が「○」となり、データが１デクリメント（−１）され、正確な値を出力できていることが分かる。
【００３２】
図６は、図２に示した構成のリードアクセス制御回路１００およびエンジンＣＰＵ１２の実際の他の動作例を示すタイミングチャートである。
この動作例は、図５とはレジスタ（カウンタ）２０１の桁上がりが異なる場合を示しており、エンジンＣＰＵ１２がレジスタ２０１の上位から２番目のアドレス「２」とアドレス「１」とのリードの間で桁上がりが起こった場合の内部動作になる。
【００３３】
エンジンＣＰＵ１２は、レジスタ２０１の下位から順に出力データが出力される毎にリードアクセスを行う。
図６を見て分かるように、最初のリードアクセスが起こった際のデータ「０ｘ００ＦＦＦＦＦＢ」が出力されると、正確なデータが出力されたことになる。
また、エンジンＣＰＵ１２がアドレス「１」をリードアクセスした際に桁上がりが１リードアクセス前と比べて起こっているが、出力データ保持部１０３で桁上がり前のデータを保持しているため、桁上がりの判定結果が「○」となり、正確なデータ出力ができていることが分かる。
【００３４】
以上、リードアクセス制御回路１００によれば、以下の（ａ）（ｂ）に示す作用効果を得ることができる。
（ａ）読み出し対象であるレジスタに対して、リードアクセスを下位側から行い、そのときの出力データを保持した後、上記レジスタの上位側をリードアクセスする際、先に保持した上記出力データと上記下位側の現在の出力データとを比較し、その比較結果に基づいて桁上がりの有無を判定して、上記上位側からの出力データを補正する。
【００３５】
具体的には、読み出し対象であるレジスタから現在のリードアクセスによって出力されたデータである現アドレスのデータを、必要に応じて補正してエンジンＣＰＵ１２へ出力する出力データ補正部１０２と、それから送られてくる出力データを、次の出力データが出力データ補正部１０２から送られてくるまで保持する出力データ保持部１０３と、レジスタ２０１からの１リードアクセス前にアクセスされたアドレスのデータである１アクセス前データと出力データ保持部１０３からのデータである保持データとを比較し、その比較結果に基づいて桁上がりの有無を判定する桁上がり判定部１０４とを設け、出力データ補正部１０２が、桁上がり判定部１０４によって桁上がりが有ると判定された場合に、上記現アドレスのデータに対して１デクリメント（−１）を行う。
【００３６】
それによって、動的に変化するレジスタに対してリードアクセスを行うときに、「エンジンＣＰＵ１２のデータバス幅」と「読み出すレジスタのｂｉｔ幅」との関係が「エンジンＣＰＵ１２のデータバス幅」＜「読み出すレジスタのｂｉｔ幅」であっても、「エンジンＣＰＵ１２のデータバス幅」の出力データ保持部１０３があれば、正確なデータをエンジンＣＰＵ１２に出力することができる。つまり、回路規模を減らしつつ、上記レジスタに対するリードアクセスを正確に行うことができる。
【００３７】
（ｂ）アドレスデコーダ１０１が、上記レジスタの各アドレスに対するリードアクセスを上位アドレスから順に行うモードである場合に、出力データ保持部１０３に保持されているデータをリセットすることにより、上記レジスタの各アドレスに対するリードアクセスを下位アドレスから順に行うモードである場合にのみ、（ａ）に示した動作を実行することができる。つまり、上記レジスタの各アドレスに対するリードアクセスの順序により、（ａ）に示した動作をオン／オフできる。よって、動作効率の向上につながる。
【００３８】
図７は、図１の画像処理ＡＳＩＣ１１の部分に用いられるリードアクセス制御回路の他の構成例を示すブロック図であり、図２と同じ部分には同一符号を付してそれらの説明をほとんど省略する。
図７に示するリードアクセス制御回路１００′は、レジスタ２０１のアドレス「４」の最上位ｂｉｔの桁上がりがアドレス「４」とアドレス「３」のリードアクセスが終わるまでに２回以上起こる場合に対応できるものである。
【００３９】
図２に示したリードアクセス制御回路１００では、前述のタイミングで桁上がりが２回以上起こると、出力データ補正部１０２はデータに対して１デクリメント（−１）する機能しか有さないため、正確なデータを出力することはできない。それに対応させた構成が図７に示すリードアクセス制御回路１００′の構成となる。
桁上がりカウンタ１０５は、桁上がりカウント手段であり、最下位データを持つアドレス「４」のアクセスが起こってから、一つ上位のアドレス「３」のデータの増加をカウントする。このカウント値が出力データ補正部１０２′に出力される。
【００４０】
出力データ補正部１０２′は、アドレスデコーダ１０１によるアドレス「３」のデータ出力時のみ、桁上がりカウンタ１０５のカウント値を現アドレスのデータから減算（デクリメント）し、それ以外は、図２に示したリードアクセス制御回路１００の出力データ補正部１０２と同様に桁上がり判定部１０４の判定結果でデクリメント（−１）を行うかを決定する。
【００４１】
図８は、図７に示した構成のリードアクセス制御回路１００′およびエンジンＣＰＵ１２の実際の動作例を示すタイミングチャートである。図中の「２ｄｃ」は、データの２デクリメント（−２）を示す。
この動作例は、エンジンＣＰＵ１２によるレジスタ２０１に対するアドレス「４」とアドレス「３」のリードアクセスの間で、アドレス「４」の最上位ｂｉｔが２回桁上がりをする場合の内部動作になる。
【００４２】
エンジンＣＰＵ１２は、レジスタ２０１の下位から順に出力データが出力される毎にリードアクセスを行う。
図８を見て分かるように、最初のリードアクセスが起こった際のデータ（０ｘ００００ＦＥＦＥ）が出力されると、正確なデータが出力されたことになる。
また、アドレス「４」の最上位ｂｉｔが２回桁上がりを起こしても、桁上がりカウンタ１０５を追加したことで、正確なデータを出力することができる。
【００４３】
なお、レジスタ２０１のアドレス「３」の最上位ｂｉｔの桁上がりがアドレス「３」とアドレス「２」のリードアクセスが終わるまでに２回以上起こる場合、あるいはレジスタ２０１のアドレス「２」の最上位ｂｉｔの桁上がりがアドレス「２」とアドレス「１」のリードアクセスが終わるまでに２回以上起こる場合に対応できる桁上がりカウンタを備え、出力データ補正部１０２′が、その桁上がりカウンタのカウント値を現アドレスのデータから減算することも可能である。
【００４４】
以上、リードアクセス制御回路１００′によれば、前述した（ａ）（ｂ）に示した作用効果に加え、以下の（ｃ）（ｄ）に示す作用効果を得ることができる。
（ｃ）桁上がりカウンタ１０５が、レジスタの各アドレスに対するリードアクセス間の桁上がりをカウントすることにより、リードアクセス間で頻繁に桁上がりが起こっても、正確なデータをエンジンＣＰＵ１２へ出力することができる。
（ｄ）出力データ補正部１０２′が、レジスタのアクセスされたアドレスにより、現アドレスのデータの補正に桁上がりカウンタ１０５のカウント値あるいは桁上がり判定部１０４による判定結果を選択的に用いることにより、動作効率の更なる向上につながる。
【産業上の利用可能性】
【００４５】
以上の説明から明らかなように、この発明によれば、回路規模を減らしつつ、読み出し対象に対するリードアクセスを正確に行うことができる。したがって、低コストで読み出し対象に対するリードアクセスを正確に行えるリードアクセス制御装置およびその制御方法を提供することができる。
【符号の説明】
【００４６】
１：スキャナ    ２：プロッタ    １０エンジンドライバ
１１，２１：画像処理ＡＳＩＣ    １２：エンジンＣＰＵ
１００，１００′：リードアクセス制御回路    １０１：アドレスデコーダ
１０２，１０２′：出力データ補正部    １０３：出力データ保持部
１０４：桁上がり判定部    １０５：桁上がりカウンタ    ２０１，２０２：レジスタ
２０３：カウント対象
【先行技術文献】
【特許文献】
【００４７】
【特許文献１】特開２００２−２４１６４号公報
【図１】
2012181643.tif 000003
【図２】
2012181643.tif 000004
【図３】
2012181643.tif 000005
【図４】
2012181643.tif 000006
【図５】
2012181643.tif 000007
【図６】
2012181643.tif 000008
【図７】
2012181643.tif 000009
【図８】
2012181643.tif 000010