(57)【要約】【課題】第１の揮発性記憶手段よりも記憶容量が少ないが第１の揮発性記憶手段よりも読み書き速度が速い第２の揮発性記憶手段への外部からのデータの書き込みと、第２の揮発性記憶手段から第１の揮発性記憶手段へのデータの書き込みとを時間順次に実行する場合に比して、データの整合性を確保しつつも第１の揮発性記憶手段へのデータの書き込みに要する時間を短縮する。【解決手段】画像処理装置は、原稿の画像を光学的に読み取る読取手段と、データを記憶する第１の揮発性記憶手段と、第１の揮発性記憶手段よりも記憶容量が小さい一方で読み書き速度が速い第２の揮発性記憶手段と、読取手段が出力するデータを第１の揮発性記憶手段に書き込む処理と、第２の揮発性記憶手段のデータの整合を図る処理とを並行して実行する転送手段とを有する。【選択図】図４
2019046221.tif 000002
【特許請求の範囲】
【請求項１】
原稿の画像を光学的に読み取る読取手段と、
データを記憶する第１の揮発性記憶手段と、
前記第１の揮発性記憶手段よりも記憶容量が小さい一方で読み書き速度が速い第２の揮発性記憶手段と、
前記読取手段が出力するデータを前記第１の揮発性記憶手段に書き込む処理と、前記第２の揮発性記憶手段のデータの整合を図る処理とを並行して実行する転送手段と
を有する画像処理装置。
【請求項２】
前記転送手段は、前記第２の揮発性記憶手段のデータの整合を図る処理として、データの書き込みアドレスを、前記第１の揮発性記憶手段へのデータの書き込みに使用される第１の通信路とは異なる第２の通信路を通じて当該第２の揮発性記憶手段に与え、当該アドレスに対応するデータを無効化する、請求項１に記載の画像処理装置。
【請求項３】
データの無効化は、データの更新を管理する情報の無効化である、請求項２に記載の画像処理装置。
【請求項４】
前記転送手段は、
前記読取手段が出力するデータを一時的に保持すると共に、前記書き込む処理と無効化する処理を制御するインタフェース部と、
前記第１の揮発性記憶手段へのデータの書き込みを制御する書き込み制御部と、
前記インタフェース部と前記書き込み制御部を接続する第１の通信路と、
前記インタフェース部と前記第２の揮発性記憶手段と前記書き込み制御部とを相互に接続する、前記第１の通信路とは異なる第２の通信路と、
を有する、請求項１に記載の画像処理装置。
【請求項５】
前記第１の通信路を通じた前記書き込み制御部への書き込み速度は、前記第２の通信路を通じた当該書き込み制御部への書き込み速度より速い、請求項４に記載の画像処理装置。
【請求項６】
処理手段は、仮想アドレス空間上でアドレスを管理する基本ソフトウェアを実行する、請求項１に記載の画像処理装置。
【請求項７】
前記基本ソフトウェアは、組み込みシステム用のオペレーションシステムである、請求項６に記載の画像処理装置。
【請求項８】
前記読取手段が出力するデータは、パケット化されていない連続したデータである、請求項１に記載の画像処理装置。
【請求項９】
前記転送手段は、前記読取手段が出力するデータをシリアル伝送方式で受信する、請求項８に記載の画像処理装置。
【請求項１０】
前記第２の通信路には複数の処理手段が接続されている、請求項４に記載の画像処理装置。
【請求項１１】
複数の前記処理手段は、画像を処理する第１の処理手段と、命令を出力する第２の処理手段とを含む、請求項１０に記載の画像処理装置。
【請求項１２】
第１の揮発性記憶手段よりも記憶容量が小さい一方で読み書き速度が速い第２の揮発性記憶手段と、
外部から入力されるデータを前記第１の揮発性記憶手段に書き込む処理と、前記第２の揮発性記憶手段のデータの整合を図る処理とを並行して実行する転送手段と
を有する、半導体装置。
【請求項１３】
前記転送手段は、
外部から入力されるデータを一時的に保持すると共に、前記書き込む処理と無効化する処理を制御するインタフェース部と、
前記第１の揮発性記憶手段へのデータの書き込みを制御する書き込み制御部と、
前記インタフェース部と前記書き込み制御部を接続する第１の通信路と、
前記インタフェース部と前記第２の揮発性記憶手段と前記書き込み制御部とを相互に接続する、前記第１の通信路とは異なる第２の通信路と
を有する、請求項１２に記載の半導体装置。
【請求項１４】
外部から入力されるデータは、パケット化されていない連続したデータである、請求項１３に記載の半導体装置。
【請求項１５】
コンピュータに、
外部から入力されるデータを第１の揮発性記憶手段に書き込む機能と、
前記書き込む機能の処理と並行して、前記第１の揮発性記憶手段よりも記憶容量が小さい一方で読み書き速度が速い第２の揮発性記憶手段のデータの整合を図る機能と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、半導体装置及びプログラムに関する。
【背景技術】
【０００２】
画像を処理する装置は、主記憶装置としての第１の揮発性記憶手段（例えばＤＲＡＭ：Dynamic Random Access Memory）よりも記憶容量が少ないが第１の揮発性記憶手段よりも読み書き速度が速い第２の揮発性記憶手段（例えばキャッシュメモリ）を使用してデータを処理することが多く、結果的に、第１の揮発性記憶手段と第２の揮発性記憶手段との間でデータの不整合が生じることがある。
【０００３】
この不整合を解消する目的で、外部から第２の揮発性記憶手段に書き込まれたデータを、第２の揮発性記憶手段から第１の揮発性記憶手段に書き込むことがある。この処理は整合処理と呼ばれる。
ここで、外部から第２の揮発性記憶手段にデータを書き込む第１の経路と、第２の揮発性記憶手段から第１の揮発性記憶手段にデータを書き込む第２の経路は、いずれも共通の通信路（例えば内部バス）を使用する。各経路による書き込みの期間中、共通の通信路は占有されるため、外部から第１の揮発性記憶手段にデータが書き込まれるまでの時間は、第１の経路を用いる時間と第２の経路を用いる時間の和として与えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１６４０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方で、画像を処理する装置の外部におけるデータの転送速度は高速化する傾向にあり、画像を処理する装置内でのデータ転送に要する時間が、装置の外部におけるデータの転送時間よりも長くかかる懸念が生じている。
【０００６】
そこで、本発明は、第１の揮発性記憶手段よりも記憶容量が少ないが第１の揮発性記憶手段よりも読み書き速度が速い第２の揮発性記憶手段への外部からのデータの書き込みと、第２の揮発性記憶手段から第１の揮発性記憶手段へのデータの書き込みとを時間順次に実行する場合に比して、データの整合性を確保しつつも第１の揮発性記憶手段へのデータの書き込みに要する時間を短縮することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、原稿の画像を光学的に読み取る読取手段と、データを記憶する第１の揮発性記憶手段と、前記第１の揮発性記憶手段よりも記憶容量が小さい一方で読み書き速度が速い第２の揮発性記憶手段と、前記読取手段が出力するデータを前記第１の揮発性記憶手段に書き込む処理と、前記第２の揮発性記憶手段のデータの整合を図る処理とを並行して実行する転送手段とを有する画像処理装置である。
請求項２に記載の発明は、前記転送手段は、前記第２の揮発性記憶手段のデータの整合を図る処理として、データの書き込みアドレスを、前記第１の揮発性記憶手段へのデータの書き込みに使用される第１の通信路とは異なる第２の通信路を通じて当該第２の揮発性記憶手段に与え、当該アドレスに対応するデータを無効化する、請求項１に記載の画像処理装置である。
請求項３に記載の発明は、データの無効化は、データの更新を管理する情報の無効化である、請求項２に記載の画像処理装置である。
請求項４に記載の発明は、前記転送手段は、前記読取手段が出力するデータを一時的に保持すると共に、前記書き込む処理と無効化する処理を制御するインタフェース部と、前記第１の揮発性記憶手段へのデータの書き込みを制御する書き込み制御部と、前記インタフェース部と前記書き込み制御部を接続する第１の通信路と、前記インタフェース部と前記第２の揮発性記憶手段と前記書き込み制御部とを相互に接続する、前記第１の通信路とは異なる第２の通信路と、を有する、請求項１に記載の画像処理装置である。
請求項５に記載の発明は、前記第１の通信路を通じた前記書き込み制御部への書き込み速度は、前記第２の通信路を通じた当該書き込み制御部への書き込み速度より速い、請求項４に記載の画像処理装置である。
請求項６に記載の発明は、処理手段は、仮想アドレス空間上でアドレスを管理する基本ソフトウェアを実行する、請求項１に記載の画像処理装置である。
請求項７に記載の発明は、前記基本ソフトウェアは、組み込みシステム用のオペレーションシステムである、請求項６に記載の画像処理装置である。
請求項８に記載の発明は、前記読取手段が出力するデータは、パケット化されていない連続したデータである、請求項１に記載の画像処理装置である。
請求項９に記載の発明は、前記転送手段は、前記読取手段が出力するデータをシリアル伝送方式で受信する、請求項８に記載の画像処理装置である。
請求項１０に記載の発明は、前記第２の通信路には複数の処理手段が接続されている、請求項４に記載の画像処理装置である。
請求項１１に記載の発明は、複数の前記処理手段は、画像を処理する第１の処理手段と、命令を出力する第２の処理手段とを含む、請求項１０に記載の画像処理装置である。
請求項１２に記載の発明は、第１の揮発性記憶手段よりも記憶容量が小さい一方で読み書き速度が速い第２の揮発性記憶手段と、外部から入力されるデータを前記第１の揮発性記憶手段に書き込む処理と、前記第２の揮発性記憶手段のデータの整合を図る処理とを並行して実行する転送手段とを有する、半導体装置である。
請求項１３に記載の発明は、前記転送手段は、外部から入力されるデータを一時的に保持すると共に、前記書き込む処理と無効化する処理を制御するインタフェース部と、前記第１の揮発性記憶手段へのデータの書き込みを制御する書き込み制御部と、前記インタフェース部と前記書き込み制御部を接続する第１の通信路と、前記インタフェース部と前記第２の揮発性記憶手段と前記書き込み制御部とを相互に接続する、前記第１の通信路とは異なる第２の通信路とを有する、請求項１２に記載の半導体装置である。
請求項１４に記載の発明は、外部から入力されるデータは、パケット化されていない連続したデータである、請求項１３に記載の半導体装置である。
請求項１５に記載の発明は、コンピュータに、外部から入力されるデータを第１の揮発性記憶手段に書き込む機能と、前記書き込む機能の処理と並行して、前記第１の揮発性記憶手段よりも記憶容量が小さい一方で読み書き速度が速い第２の揮発性記憶手段のデータの整合を図る機能とを実行させるためのプログラムである。
【発明の効果】
【０００８】
請求項１記載の発明によれば、第１の揮発性記憶手段よりも記憶容量が少ないが第１の揮発性記憶手段よりも読み書き速度が速い第２の揮発性記憶手段への外部からのデータの書き込みと、第２の揮発性記憶手段から第１の揮発性記憶手段へのデータの書き込みとを時間順次に実行する場合に比して、データの整合性を確保しつつも第１の揮発性記憶手段へのデータの書き込みに要する時間を短縮できる。
請求項２記載の発明によれば、データの書き込み処理とデータの整合処理とを並行して実行できる。
請求項３記載の発明によれば、データの整合処理が短時間で済む。
請求項４記載の発明によれば、データの書き込み処理とデータの整合処理とを並行して実行できる。
請求項５記載の発明によれば、データの書き込みに要する時間を短縮できる。
請求項６記載の発明によれば、仮想アドレス空間上でアドレスを管理する場合にも使用できる。
請求項７記載の発明によれば、組み込みシステムにおけるデータの書き込みにも使用できる。
請求項８記載の発明によれば、パケット化されていない連続したデータの書き込みにも使用できる。
請求項９記載の発明によれば、装置外部の転送速度が速い場合でも使用できる。
請求項１０記載の発明によれば、複数の処理手段の間でデータの整合性を担保できる。
請求項１１記載の発明によれば、複数の処理手段の間でデータの整合性を担保できる。
請求項１２記載の発明によれば、第１の揮発性記憶手段よりも記憶容量が少ないが第１の揮発性記憶手段よりも読み書き速度が速い第２の揮発性記憶手段への外部からのデータの書き込みと、第２の揮発性記憶手段から第１の揮発性記憶手段へのデータの書き込みとを時間順次に実行する場合に比して、データの整合性を確保しつつも第１の揮発性記憶手段へのデータの書き込みに要する時間を短縮できる。
請求項１３記載の発明によれば、データの書き込み処理とデータの整合処理とを並列化できる。
請求項１４記載の発明によれば、パケット化されていない連続したデータの高速書き込みを実現できる。
請求項１５記載の発明によれば、第１の揮発性記憶手段よりも記憶容量が少ないが第１の揮発性記憶手段よりも読み書き速度が速い第２の揮発性記憶手段への外部からのデータの書き込みと、第２の揮発性記憶手段から第１の揮発性記憶手段へのデータの書き込みとを時間順次に実行する場合に比して、データの整合性を確保しつつも第１の揮発性記憶手段へのデータの書き込みに要する時間を短縮できる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る画像形成装置の外観図である。
【図２】実施の形態１に係る画像形成装置の内部構造を示す図である。
【図３】画像形成装置を構成する制御装置等の機能モジュール間の接続構成の例を説明する図である。
【図４】画像読取装置と制御装置の内部構成の一例を説明する図である。
【図５】画像読込装置からＤＲＡＭにデータを書き込む場合に実行される処理動作を説明する図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、実施の形態について詳細に説明する。
【００１１】
＜実施の形態１＞
ここでは、画像形成装置を例に説明する。実施の形態１で説明する画像形成装置は、記録材（以下「用紙」と記す場合もある。）に画像を形成する装置であり、コピー機能、スキャナ機能、ファックス送受信機能、印刷機能を備えている。
もっとも、これら全ての機能を有する画像処理装置である必要はなく、いずれか１つの機能に特化した装置、例えば複写機、スキャナ（３次元スキャナを含む。）、ファックス送受信機、プリンタ（３次元プリンタを含む。）でもよい。
【００１２】
＜画像形成装置の概略構成＞
図１は、実施の形態１に係る画像形成装置１の外観図である。図２は、実施の形態１に係る画像形成装置１の内部構造を示す図である。
画像形成装置１は、原稿の画像を読み取る画像読取装置１００と、用紙上に画像を記録する画像記録装置２００と、を備えている。
また、画像形成装置１は、ユーザによる操作の受付やユーザに対する各種の情報の提示に使用するユーザインタフェース（ＵＩ）３００を備えている。
さらに、画像形成装置１は、画像形成装置１の全体動作を制御する制御装置５００を備えている。
ここでの画像形成装置１は画像処理装置の一例である。なお、制御装置５００は画像処理装置の一例でもある。
【００１３】
画像読取装置１００は、画像記録装置２００の上に取り付けられている。画像読取装置１００は、原稿の画像を光学的に読み取る読取手段の一例である。
画像記録装置２００は、画像の形成に使用するエンジンや用紙の搬送に使用する機構で構成され、その内部には制御装置５００が配置されている。
ユーザインタフェース３００は、その操作面が画像形成装置１を操作するユーザと対面するように、画像読取装置１００の手前側に配置されている。
【００１４】
このうち、画像読取装置１００は、原稿の画像を読み取る画像読取部１１０と、この画像読取部１１０に原稿を搬送する原稿搬送部１２０と、を備えている。原稿搬送部１２０は、画像読取装置１００の上部に配置され、画像読取部１１０は、画像読取装置１００の下部に配置されている。
原稿搬送部１２０は、原稿を収容する原稿収容部１２１と、原稿収容部１２１から引き出された原稿が排出される原稿排出部１２２とを有し、不図示の搬送機構を使用して原稿収容部１２１から原稿排出部１２２に原稿を搬送する。
原稿搬送部１２０は、原稿自動送り装置（ＡＤＦ：Auto Document Feeder）とも呼ばれる。
なお、原稿に対して読取光学系を相対的に移動させ、原稿の画像を読み取ることもできる。
【００１５】
画像記録装置２００は、用紙トレイから引き出された用紙Ｐに画像を形成する画像形成部２０と、画像形成部２０に対して用紙Ｐを供給する用紙供給部６０と、画像形成部２０にて画像が形成された用紙Ｐを排出する用紙排出部７０と、画像形成部２０から出力される用紙Ｐの表裏を反転させ、画像形成部２０に向けて再度搬送する反転搬送部８０と、を備えている。
これらの構成はいずれも既知であるので、詳細な説明は省略する。なお、画像形成部２０には、用紙Ｐの搬送経路に沿ってブラック（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）の各色に対応する記録ユニットが配置されている。色の種類及び色の組み合わせは一例である。
【００１６】
ユーザインタフェース３００は、ユーザからの指示を受け付ける受付装置とユーザに対して情報を提供する出力装置とで構成され、具体的には操作受付部と表示部とを有している。
ここで、操作受付部は、ハードウェアキーに対する操作を検知する機能とソフトウェアキーに対する操作を検知する機能などを提供する。一方、表示部は、情報を提供する画面やソフトウェアキー等を表示する。
【００１７】
＜機能モジュール間の接続構成＞
図３は、画像形成装置１を構成する制御装置５００等の機能モジュール間の接続構成の例を説明する図である。
画像読取装置１００、画像記録装置２００、ユーザインタフェース３００は、制御装置５００に対して接続されている。画像読取装置１００、画像記録装置２００、ユーザインタフェース３００、制御装置５００には、いずれも機能モジュール化された半導体チップが内蔵されている。
【００１８】
本実施の形態では、必要とされる機能だけを選択的に１つの半導体基板（Ssubstrate）上に集約した半導体チップ、すなわちＭｏｃｈｉ（Modular Chip）チップを使用する。因みに、Ｍｏｃｈｉは商標である。
例えば制御装置５００は、他のＭｏｃｈｉチップとの相互接続に特化した通信インタフェース部、ＣＰＵコア部、メモリコントローラ、関連ロジック回路などを１つの半導体基板（Substrate）上に集約したＭｏｃｈｉチップを使用する。ここでのＭｏｃｈｉチップは、ＳＯＣ（System On a Chip）である。
Ｍｏｃｈｉチップ間の相互接続方式には、パラレル接続方式とシリアル接続方式があるが、本実施の形態では、シリアル接続方式を採用する。すなわち、本実施の形態では、Ｍｏｃｈｉチップ間のデータをシリアル伝送方式により転送する。
【００１９】
＜制御装置の内部構成＞
図４は、画像読取装置１００と制御装置５００の内部構成の一例を説明する図である。
画像読取装置１００は、原稿のイメージを撮像するイメージセンサ１０１と、イメージセンサ１０１の出力信号を処理するアナログフロントエンド（ＡＦＥ）１０２と、ＤＲＡＭ（Dynamic Random Access Memory）５６０へのデータの書き込みを要求するＤＭＡ（Direct Memory Access）１０３と、Ｍｏｃｈｉインタフェースモジュール１０４とを有している。
このうち、Ｍｏｃｈｉインタフェースモジュール１０４が、Ｍｏｃｈｉチップである。
【００２０】
本実施の形態の場合、イメージセンサ１０１には、ＣＣＤ（Charge Coupled Device）イメージセンサを使用する。もっとも、イメージセンサ１０１にはＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサを使用してもよい。
イメージセンサ１０１は、各原稿のイメージに対応する出力信号として、例えばレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）に対応する色信号を出力する。
アナログフロントエンド（ＡＦＥ）１０２は、例えばレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）に対応する色信号を、イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）に対応する色信号に変換する処理を実行する。
【００２１】
ＤＭＡ１０３は、ＣＰＵ（ここではＣＰＵコア５４１Ａ、５４１Ｂ）を介さないデータの読み書きを制御するための回路である。本実施の形態におけるＤＭＡ１０３は、原稿から読み取ったイメージデータの書き込みをＤＲＡＭ５６０に指示する。
この指示を、書き込み要求という。書き込み要求は、書き込みデータと書き込み先を指定するアドレス情報とで構成される。なお、アドレス情報は、書き込み開始アドレスと宛先アドレスとで構成される。アドレス情報は、ＤＲＡＭ５６０の物理アドレスである。
【００２２】
本実施の形態におけるＭｏｃｈｉインタフェースモジュール１０４は、書き込みデータをパケット化されていない連続したデータ形式（非パケット形式）で転送する。換言すると、Ｍｏｃｈｉインタフェースモジュール１０４は、原稿のイメージデータを一括転送する。
この転送を、図４では、経路Ａとして示す。
【００２３】
画像読取装置１００と外部バスで接続された制御装置５００は、１つのチップ上に複数の処理コアなどを集積化したＳＯＣ（System On a Chip）５１０と、主記憶装置としてのＤＲＡＭ５６０と、シリアルパラレル変換回路（SerDes）５７０と、周辺（Peripheral）インタフェース５８０とで構成されている。図４では、ＳＯＣ５１０を１チップＳＯＣとも記す。
ここで、ＳＯＣ５１０は半導体装置の一例であり、ＤＲＡＭ５６０は第１の揮発性記憶手段の一例である。
【００２４】
ＳＯＣ５１０は、外部バスから書き込みデータを受信する通信インタフェース部５２０と、予め定めたサイズ（例えば６４バイト）のパケットデータを転送する内部バス５３０と、通信インタフェース部５２０とメモリコントローラ５５０を直接接続するデータバス５３５と、パケットデータを処理する処理コア部５４０と、ＤＲＡＭ５６０に対するデータの読み書きを制御するメモリコントローラ５５０とで構成される。
【００２５】
通信インタフェース部５２０は、Ｍｏｃｈｉインタフェースモジュール５２１と、先入れ先出し（ＦＩＦＯ）メモリ５２２と、整合処理部５２３とで構成され、転送手段の一例として機能する。
Ｍｏｃｈｉインタフェースモジュール５２１は、外部バスを通じて、画像読取装置１００側のＭｏｃｈｉインタフェースモジュール１０４とシリアル相互接続され、アドレス情報（0×0〜0×FFFF）と各アドレスに該当する書き込みデータを連続データ（非パケットデータ）の形式で受信する。シリアル伝送形式の場合、アドレス情報は、書き込みデータよりも前に転送される。
【００２６】
先入れ先出しメモリ５２２は、書き込み要求（書き込みデータとアドレス情報）を一時的に保持するバッファメモリである。先入れ先出しメモリ５２２からの出力は２つに分岐され、一方は整合処理部５２３に接続され、他方はデータバス５３５を介してメモリコントローラ５５０に接続される。
なお、メモリコントローラ５５０への書き込み要求の転送は、連続データ形式で実行される。図４では、この転送経路を使用するＤＲＡＭ５６０への書き込みを経路Ｃで示す。
ここで、データバス５３５は、内部バス５３０とは異なる通信路である。本実施の形態の場合、「異なる」を、データバス５３５が内部バス５３０の一部又は全部と重複しないという意味で使用する。
【００２７】
整合処理部５２３は、先入れ先出しメモリ５２２から出力される書き込み要求のうちアドレス情報を抽出する処理、抽出されたアドレスに該当するキャッシュデータを探索する処理、該当するキャッシュデータが存在する場合に、該当するキャッシュデータの無効化を指示する処理を実行する。
なお、書き込み要求のうちのアドレス情報だけが整合処理部５２３に対して選択的に出力される場合には、アドレス情報を抽出する処理は不要である。
実施の形態における整合処理部５２３は、これらの処理をハードウェア処理によって実現する。
【００２８】
本実施の形態の場合、無効化の指示は、抽出するアドレスに該当するキャッシュデータの更新を管理する情報を更新済み（Dirty bit）に変更することを意味する。因みに、管理情報には、その他に有効（Valid）と共有（Shared）がある。
ここで、通信インタフェース部５２０は、広義には、インタフェース部の一例にあたる。先入れ先出しメモリ５２２と整合処理部５２３は、狭義には、インタフェース部の一例にあたる。
【００２９】
図４では、整合処理部５２３が内部バス５３０に出力する無効化の指示が転送される経路を経路Ｂで示す。
ここで、整合処理部５２３と内部バス５３０との間のデータの受け渡しは、パケット単位で実行される。
先入れ先出しメモリ５２２からメモリコントローラ５５０への書き込み要求の転送（ＤＲＡＭ５６０へのデータの書き込み）と、整合処理部５２３から内部バス５３０へのキャッシュデータの無効化の指示とは経路が異なるため、２つの処理を並行に実行することができる。
【００３０】
内部バス５３０は、通信インタフェース部５２０と、処理コア部５４０と、メモリコントローラ５５０等を相互に接続し、パケットデータの受け渡しに用いられる。
内部バス５３０は、第２の通信路の一例である。いずれかのデバイスが内部バス５３０を用いてパケットデータを転送している間、内部バス５３０は占有されるため、他のデバイスは内部バス５３０を用いてデータを転送することができない。
【００３１】
データバス５３５は、画像読取装置１００から受信されたデータをメモリコントローラ５５０に直接転送するために用いられるシリアルバス又はパラレルバスである。
データバス５３５は、第１の通信路の一例である。
データバス５３５は、内部バス５３０から物理的に独立した経路である。従って、データバス５３５と内部バス５３０は重複する経路を有しない。
【００３２】
本実施の形態における処理コア部５４０は、２つのＣＰＵ（Central Processing Unit）コア５４１Ａ、５４１Ｂと、ＧＰＵ（Graphics Processing Unit）コア５４１Ｃとで構成される。すなわち、処理コア部５４０はマルチコア構成である。
ＣＰＵコア５４１Ａ、５４１ＢとＧＰＵコア５４１Ｃは、いずれも処理手段の一例である。
なお、命令を出力するＣＰＵコア５４１Ａ、５４１Ｂは第２の処理手段の一例であり、画像を処理するＧＰＵコア５４１Ｃは第１の処理手段の一例である。広義には、処理コア部５４０も処理手段の一例である。
【００３３】
本実施の形態におけるＣＰＵコア５４１Ａ、５４１Ｂは、基本ソフトウェアとしてのＬｉｎｕｘ（登録商標）カーネルやＬｉｎｕｘオペレーティングシステムに基づいて動作している。Ｌｉｎｕｘは、組み込みシステム用のオペレーティングシステムの一例である。
Ｌｉｎｕｘは、仮想アドレス空間上でアドレスを管理するため、物理アドレス空間でアドレスを管理するＷｉｎｄｏｗｓ（登録商標）とは異なり、キャッシュデータの有無を選択するスイッチ処理を採用することができない。
もっとも、オペレーティングシステムとしてＷｉｎｄｏｗｓや他のオペレーションシステムを採用することも可能である。例えばＷｉｎｄｏｗｓ  ＣＥ（登録商標）を採用してもよい。
【００３４】
本実施の形態の場合、ＣＰＵコア５４１Ａ、５４１Ｂは、一次キャッシュ５４２Ａ、５４２Ｂと、二次キャッシュ５４３Ａとを有している。
一方、ＧＰＵコア５４１Ｃは、１次キャッシュ５４２Ｃを有している。
ここでの一次キャッシュ５４２Ａ、５４２Ｂ、５４２Ｃと、二次キャッシュ５４３Ａは、いずれもＤＲＡＭ５６０よりも記憶容量が小さい一方でＤＲＡＭ５６０よりも読み書き速度が速い揮発性の記憶手段である。
従って、一次キャッシュ５４２Ａ、５４２Ｂ、５４２Ｃと、二次キャッシュ５４３Ａは、第２の揮発性記憶手段の一例である。
【００３５】
なお、１次キャッシュ５４２Ａ、５４２Ｂは、二次キャッシュ５４３Ａよりも容量が小さい一方で二次キャッシュ５４３Ａよりも読み書き速度が速い揮発性記憶手段でもある。
前述した整合処理部５２３は、一次キャッシュ５４２Ａ、５４２Ｂ、５４２Ｃと二次キャッシュ５４３Ａに記憶されているキャッシュデータのうち、書き込みアドレスに該当するキャッシュデータの無効化を指示する。
【００３６】
メモリコントローラ５５０は、ＤＲＡＭ５６０に対するデータの書き込み、ＤＲＡＭ５６０からのデータの読み出し、ＤＲＡＭ５６０のリフレッシュなどを制御する回路である。
メモリコントローラ５５０は、内部バス５３０に接続されており、内部バス５３０に接続された他のデバイスとの間でパケットデータを受け渡しする。
例えば、メモリコントローラ５５０は、ＣＰＵコア５４１Ａ、５４１ＢやＧＰＵ５４１Ｃからの要求に従ってデータの読み書きを実行する。
また、メモリコントローラ５５０は、先入れ先出しメモリ５２２からデータバス５３５を通じて受信した書き込み要求に基づいて、ＤＲＡＭ５６０に対する書き込みデータの書き込みを実行する。
ここでのメモリコントローラ５５０は、書き込み制御部の一例である。
【００３７】
＜画像形成装置の基本動作＞
画像形成装置１は、以下のような動作を実行する。
例えば、画像形成装置１は、画像読取装置１００と画像記録装置２００を使用してコピー処理を実行することができる。すなわち、画像形成装置１は、画像読取装置１００によって読み取られた原稿の画像データを画像記録装置２００に与え、原稿の画像を用紙Ｐに形成することができる。
【００３８】
ここでのコピー処理には、ダイレクトコピーとイメージ蓄積コピーの２種類がある。
ダイレクトコピーでは、画像読取装置１００で読み込まれた画像データ（書き込みデータ）を揮発性の記憶手段であるＤＲＡＭ５６０に書き込んだ後、ＤＲＡＭ５６０から読み出して画像記録装置２００に与え、用紙Ｐに画像を形成する。
一方、イメージ蓄積コピーでは、画像読取装置１００で読み込まれた画像データ（書き込みデータ）を揮発性の記憶手段であるＤＲＡＭ５６０に書き込んだ後に処理コア部５４０に読み出して圧縮処理を加え、圧縮後の画像データを不揮発性の記憶手段である不図示のハードディスク装置（補助記憶装置）に書き込み、その後、ハードディスク装置から読み出した画像データを画像記録装置２００に与えて伸長し、伸長された画像データに対応する画像を用紙Ｐに形成する。
なお、ハードディスク装置の代わりに、不揮発性の記憶手段である半導体メモリ、すなわちＳＳＤ（Solid State Drive）を用いてもよい。
【００３９】
また、画像形成装置１は、不図示のパーソナルコンピュータ（ＰＣ）等から印刷ジョブを受信し、受信した印刷ジョブに対応する画像を用紙Ｐに形成することができる。すなわち、画像形成装置１は、通信手段を用いて受信した印刷ジョブに対応する画像データを画像記録装置２００に与え、画像を用紙Ｐ上に形成することができる。この場合も、受信した画像データをＤＲＡＭ５６０に書き込んだ後、ＤＲＡＭ５６０から画像記録装置２００に画像データを与える方式と、ＤＲＡＭ５６０から読み出した画像データをハードディスク装置に書き込んだ後に画像記録装置２００に与える方式がある。
【００４０】
また、画像形成装置１は、ファクシミリの送受信を行なうことができる。すなわち、画像形成装置１は、画像読取装置１００によって読み取られた原稿の画像データを、通信回線を介して送信することができる。この場合も、画像データをＤＲＡＭ５６０に書き込んだ後、ＤＲＡＭ５６０から不図示の通信インタフェースに与える方式と、ＤＲＡＭ５６０からハードディスク装置に書き込んだ後に不図示の通信インタフェースに与える方式がある。
さらに、画像形成装置１は、原稿の画像データをハードディスク装置などの補助記憶装置に保存することができる。すなわち、画像形成装置１は、通信回線を介して接続されたＰＣ側の補助記憶装置に原稿の画像データを保存することもできる。
【００４１】
＜画像読込装置からＤＲＡＭへのデータの書き込み＞
図５は、画像読取装置１００からＤＲＡＭ５６０にデータを書き込む場合に実行される処理動作を説明する図である。
まず、ＤＲＡＭ５６０に対する書き込み要求がＤＭＡ１０３から制御装置５００に送信される（ステップ１）。
ここでの書き込み要求は、アドレス情報（例えば１０００〜５０００番地）と書き込みデータで構成される。
書き込み要求は、Ｍｏｃｈｉインタフェースモジュール１０４（画像読取装置１００側）とＭｏｃｈｉインタフェースモジュール５２１（制御装置５００側）との間を接続する外部バス（シリアルバス）を通じて転送される（経路Ａ）。
【００４２】
本実施の形態の場合、外部バスによるデータ転送に要する時間は、内部バス５３０を使用してキャッシュデータを無効化するのに要する時間と、内部バス５３０を使用して（本実施の形態とは異なる経路を使用して）書き込みデータをＤＲＡＭ５６０に書き込むのに要する時間との和よりも短くなっている。
また、データバス５３５を通じて書き込み要求をメモリコントローラ５５０に転送するのに要する時間は、内部バス５３０を通じてパケット化された書き込み要求をメモリコントローラ５５０に転送するのに要する時間よりも短くなっている。
【００４３】
このため、本実施の形態とは異なる経路を採用する場合には、制御装置５００内におけるデータ転送が間に合わない場合（例えば内部バス５３０を介するデータ転送が遅延した場合）、ＤＲＡＭ５６０に書き込まれる書き込みデータの一部に欠落が生じる、又は、画像読取装置１００による原稿の読み取り速度に制限を設ける必要が生じる。いずれにしても、外部バスを性能通り活用できない。
【００４４】
一方、本実施の形態では、ＳＯＣ５１０の通信インタフェース部５２０に設けられる先入れ先出しメモリ５２２の出力が２方向に分岐される（ステップ２）。分岐された出力の一方はデータバス５３５を通じてメモリコントローラ５５０に伝送され、他方は整合処理部５２３に伝送される。
メモリコントローラ５５０は、書き込み要求で指定されたＤＲＡＭ５６０の物理アドレス（アドレス情報）に対し、先入れ先出しメモリ５２２から順次受信される書き込みデータを書き込んでいく（ステップ３）。
この書き込みは、先入れ先出しメモリ５２２から書き込みデータが受信されている間継続する。
書き込みデータの書き込みが終了すると、メモリコントローラ５５０からデータバス５３５を通じて書き込み完了通知がＤＭＡ１０３（図４参照）に送信される（ステップ１１）。
【００４５】
一方、整合処理部５２３は、書き込み要求の中からアドレス情報を抽出する（ステップ４）。
整合処理部５２３は、パケットデータによって指定可能な範囲毎にキャッシュデータ（例えば１０００〜１１００番地に対応するキャッシュデータ）の無効化を内部バス５３０に指示する（ステップ５）。
この指示により、内部バス５３０に接続されている１次キャッシュメモリ５４２Ａ、５４２Ｂ、５４２Ｃ、２次キャッシュメモリ５４３Ａに対応する書き込みデータの有無が検索される。
【００４６】
１次キャッシュメモリ５４２Ａ、５４２Ｂ、５４２Ｃ、２次キャッシュメモリ５４３Ａは、該当するアドレスデータがあれば、その管理情報を更新済みに変更する（ステップ６）。具体的には、ダーティビットを立てる処理を実行する。
この後、内部バス５３０から整合処理部５２３には、処理完了通知がパケット単位で通知される（ステップ７）。
この後、残りのアドレスに対して順番に、キャッシュデータの無効化と処理完了通知の通知とが実行される（ステップ８〜１０）。
【００４７】
＜実施の形態による効果＞
前述したように、本実施の形態に係る画像形成装置１においては、制御装置５００内におけるキャッシュデータの無効化処理（整合処理）とＤＲＡＭ５６０に対する書き込みデータの書き込み処理とが並行して実行される。
このため、内部バス５３０を時間順次に使用して無効化処理（整合処理）と書き込み処理とを実行する場合に比して、処理時間の短縮化を実現できる。
【００４８】
しかも、先入れ先出しメモリ５２２からメモリコントローラ５５０への書き込みデータの転送は連続データ（非パケットデータ）の形態で実行される。このため、内部バス５３０を経由して書き込みデータをパケット通信する場合に比して転送時間が短くて済む。
また、画像読取装置１００から通知された書き込み要求のために内部バス５３０が占有されることがなくなるため、内部バス５３０に接続されている処理コア部５４０における処理や他のデバイス間の通信への影響も小さくなる。
【００４９】
この結果、本実施の形態では、外部バス（シリアルバス）の通信帯域を性能通りの速さで使用できるようになる。
また、本実施の形態では、画像読取装置１００で発生した書き込みデータを途切れることなく制御装置５００に送信し、最終的にＤＲＡＭ５６０に欠落なく書き込むことが可能になる。
【００５０】
また、本実施の形態に係るＳＯＣ５１０を採用すれば、ＳＯＣ５１０内に大容量のバッファメモリを設ける必要がなくなり、チップサイズの小型化にも効果的である。
また、本実施の形態に係るＳＯＣ５１０を採用すれば、単に専用のデータバスを用意して書き込みデータをメモリコントローラ５５０に与える場合とは異なり、キャッシュデーとＤＲＡＭ５６０側のデータとが整合しない状況の発生を回避できる。
また、ＤＲＡＭ５６０の同じアドレスから読み出されたデータが複数の処理コアでそれぞれ異なる処理を受けた場合でも、各処理コアに対応する複数のキャッシュメモリとＤＲＡＭ５６０との間におけるデータの整合性を確保できる。
また、一般に処理コア部５４０を構成するコア数が多いほどキャッシュコヒーレンスの必要性が増えてデータの整合性に要する処理時間も長くなりやすいが、本実施の形態に係るＳＯＣ５１０を採用すれば、処理コア部５４０を構成するコア数が多くても、ＳＯＣ５１０内におけるデータ転送に要する時間を短縮して外部バス（シリアルバス）の通信帯域を性能通りの速度で使用できる。
【００５１】
＜他の実施の形態＞
以上、本発明の実施の形態について説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、種々の変更又は改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
【００５２】
例えば実施の形態１に示す画像形成装置１（図１参照）では、画像読取装置１００と画像記録装置２００（制御装置５００を含む）が一体化されているが、画像読取装置１００と画像記録装置２００（図１参照）はそれぞれ独立した筐体に格納されていてもよい。
また、実施の形態１における画像形成装置１では、オフィスなどで使用される装置構成を想定しているが、商業用（プロダクション用）の画像形成装置でもよい。
【００５３】
また、実施の形態１の場合には、通信インタフェース部５２０（図４参照）を、画像記録装置２００（図１参照）を備える画像形成装置１（図１参照）における書き込み要求の転送に用いているが、画像の読み取り機能に特化した画像処理装置における書き込み要求の転送に用いてもよい。
なお、通信インタフェース部５２０は、画像読取装置１００以外の外部装置からＤＲＡＭ５６０（図４参照）に対する書き込み要求の受信に使用してもよい。
【００５４】
前述の実施の形態１においては、ＤＲＡＭ５６０（図４参照）に書き込むデータを画像読取装置１００から入力する場合について説明したが、記憶容量が小さい方の揮発性記憶手段の読み書き速度が他方の揮発性記憶手段よりも速いという条件を満たすのであれば、装置構成は実施の形態１に限らない。
【００５５】
前述の実施の形態１に示す画像形成装置１の場合には、書き込みアドレスに対応するキャッシュデータの管理情報を無効化しているが、キャッシュデータそのものを削除する等により無効化してもよい。
【００５６】
前述の実施の形態１の場合、整合処理部５２３（図４参照）は、ハードウェア処理を通じて無効化処理（整合処理）と書き込みデータの書き込み処理とを実現しているが、整合処理部５２３として機能するマイクロコンピュータによるプログラムの実行を通じて無効化処理（整合処理）と書き込み処理を実行してもよい。
【００５７】
前述の実施の形態１では、組み込みシステムの一例である画像形成装置１を前提に説明しているが、通信インタフェース部５２０は、組み込みシステム以外の画像処理装置にも使用できる。
前述の実施の形態１では、処理コア部５４０（図４参照）がマルチコア構成の場合について説明したがシングルコア構成でもよい。
【００５８】
前述の実施の形態１では、ＳＯＣ５１０内のキャッシュメモリの階層構造が１階層の場合（ＧＰＵコア５４１Ｃ）と２階層の場合（ＣＰＵコア５４１Ａ、５４１Ｂ）について説明したが、いずれの場合もキャッシュメモリの階層構造は例示の場合に限らない。例えばキャッシュメモリの階層構造は３階層以上でもよい。
【００５９】
前述の実施の形態１では、個々の機能モジュールで動作しない機能ブロックを含まない半導体チップ、換言すると動作に必要な機能ブロックだけを選択的に組み合わせたＭｏｃｈｉチップで構成する場合について説明したが、他の構成の半導体チップでもよい。例えば１つの半導体基板上にシステムとしての動作に必要となる機能ブロックの一式を配置した半導体チップを用いてもよい。
また、機能モジュール間の接続は、Ｍｏｃｈｉインタフェースモジュール以外の接続方式を採用してもよい。
【符号の説明】
【００６０】
１…画像形成装置、１００…画像読取装置、２００…画像記録装置、３００…ユーザインタフェース、５００…制御装置、５１０…ＳＯＣ、５２０…通信インタフェース部、５２１…Ｍｏｃｈｉインタフェースモジュール、５２２…先入れ先出しメモリ、５２３…整合処理部、５３０…内部バス、５３５…データバス、５４０…処理コア部、５５０…メモリコントローラ、５６０…ＤＲＡＭ
【図１】
2019046221.tif 000003
【図２】
2019046221.tif 000004
【図３】
2019046221.tif 000005
【図４】
2019046221.tif 000006
【図５】
2019046221.tif 000007