JP2021012447A - 情報処理装置および半導体装置 - Google Patents

情報処理装置および半導体装置 Download PDF

Info

Publication number
JP2021012447A
JP2021012447A JP2019124964A JP2019124964A JP2021012447A JP 2021012447 A JP2021012447 A JP 2021012447A JP 2019124964 A JP2019124964 A JP 2019124964A JP 2019124964 A JP2019124964 A JP 2019124964A JP 2021012447 A JP2021012447 A JP 2021012447A
Authority
JP
Japan
Prior art keywords
data
control means
processing
integrated circuit
processing apparatus
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
Application number
JP2019124964A
Other languages
English (en)
Inventor
平山 雄也
Yuya Hirayama
雄也 平山
努 中港
Tsutomu Nakaminato
努 中港
健児 黒石
Kenji Kuroishi
健児 黒石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2019124964A priority Critical patent/JP2021012447A/ja
Priority to CN202010095462.1A priority patent/CN112181319A/zh
Priority to US16/816,366 priority patent/US11593151B2/en
Publication of JP2021012447A publication Critical patent/JP2021012447A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • G06F9/30127Register windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1263Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1296Printer job scheduling or printer resource handling

Abstract

【課題】第2制御手段が第1処理の開始後且つ完了前に第1処理よりも第2処理を優先して実行する場合において、第2処理が完了するまで第1処理が再開されない場合に比べて、第1処理が中断してからの待ち時間を減らす。【解決手段】機器から取得されるデータを処理し、機器の動作を制御する第1制御手段を有する第1集積回路と、第1制御手段よりもデータの処理速度が速い第2制御手段を有する第2集積回路と、を備え、第2制御手段は、第1処理の開始後且つ完了前に第1処理よりも第2処理を優先して実行する場合に、第1処理の対象のデータについて定められた条件に基づいて、第1制御手段に第1処理を再開させるか否かを決定することを特徴とする情報処理装置。【選択図】図4

Description

本発明は、情報処理装置および半導体装置に関する。
情報処理装置には、データを処理し機器の動作を制御する第1制御手段を有する第1集積回路と、第1制御手段よりもデータの処理速度が速い第2制御手段を有する第2集積回路とが設けられることがある。第1制御手段および第2制御手段は、例えば、処理ごとに使い分けられる。
ここで、例えば、第2制御手段は、第1処理の開始後且つ完了前に、第2処理の実行を指示されると、第1処理を中断し、第1処理よりも第2処理を優先して実行することがある。
特開2018−148455号公報 特許第4756599号
第2制御手段が第1処理の開始後且つ完了前に第1処理よりも第2処理を優先して実行する場合に、第1処理の対象のデータに関わらず、第2処理が完了するまで第1処理が再開されないと、第1処理が中断してから再開されるまで待ち時間が発生することがある。
本発明は、第2制御手段が第1処理の開始後且つ完了前に第1処理よりも第2処理を優先して実行する場合において、第2処理が完了するまで第1処理が再開されない場合に比べて、第1処理が中断してからの待ち時間を減らすことを目的とする。
請求項1に記載の発明は、機器から取得されるデータを処理し、当該機器の動作を制御する第1制御手段を有する第1集積回路と、前記第1制御手段よりもデータの処理速度が速い第2制御手段を有する第2集積回路と、を備え、前記第2制御手段は、第1処理の開始後且つ完了前に当該第1処理よりも第2処理を優先して実行する場合に、当該第1処理の対象のデータについて定められた条件に基づいて、前記第1制御手段に当該第1処理を再開させるか否かを決定することを特徴とする情報処理装置である。
請求項2に記載の発明は、前記条件は、前記第1処理の対象の前記データに対して当該第1処理が実行されることの優先度について定められた条件であることを特徴とする請求項1記載の情報処理装置である。
請求項3に記載の発明は、前記優先度は、前記第1処理の対象の一部のデータについて当該第1処理が実行されることと、当該第1処理の対象の前記データであって当該一部のデータに続く他の一部のデータについて当該第1処理が実行されることとの間の時間の制約に基づいて定められることを特徴とする請求項2記載の情報処理装置である。
請求項4に記載の発明は、前記第1処理の対象の前記データは、パケット化された複数のデータであることを特徴とする請求項1記載の情報処理装置である。
請求項5に記載の発明は、前記決定に関する決定情報と、データの内容に関する内容情報とを関連付けて保持する保持手段をさらに有し、前記第2制御手段は、前記第1処理の対象の前記データに係る前記内容情報を取得し、取得した当該内容情報に関連付けられて前記保持手段に保持されている前記決定情報から、前記第1制御手段に当該第1処理を再開させるか否かを決定することを特徴とする請求項1記載の情報処理装置である。
請求項6に記載の発明は、データを格納する格納手段と、前記第1処理の対象の前記データを、パケット化されたデータごとに前記第2集積回路に送信する送信手段と、をさらに備え、前記第2集積回路は、前記送信手段から送信されたデータの前記格納手段への格納を制御する格納制御手段と、前記第2制御手段と、前記格納制御手段とを接続する第1通信路と、をさらに有し、前記第1制御手段は、前記第1処理を実行する場合、前記格納手段に格納されている当該第1処理の対象の前記データを取得し、取得した当該データに対して当該第1処理を実行し、前記第2制御手段は、前記格納手段に格納されているデータを、前記第1通信路を介して取得し、取得した当該データに対して前記第2処理を実行し、前記第2制御手段が前記第2処理を実行しているときにおいて、前記送信手段から前記格納制御手段へ送信されるデータが通る通信路、および、前記格納手段から前記第1制御手段へ送信されるデータが通る通信路は、何れも、前記第1通信路とは異なる通信路であることを特徴とする請求項1記載の情報処理装置である。
請求項7に記載の発明は、機器と接続可能な第1接続手段と、前記送信手段とを有する第3集積回路をさらに備え、前記送信手段は、前記第1接続手段に前記機器が接続された場合において、前記第2制御手段による前記第2処理が実行されている場合、当該機器から送信されるデータの処理の要求を、前記第1制御手段に送信することを特徴とする請求項6記載の情報処理装置である。
請求項8に記載の発明は、前記第2集積回路は、前記第1集積回路と接続可能な第2接続手段をさらに有し、前記第2制御手段は、前記第1制御手段に前記第1処理を再開させる場合、当該第1処理が完了した分のデータに関する情報を当該第1制御手段に送信することを特徴とする請求項1記載の情報処理装置である。
請求項9に記載の発明は、前記第2制御手段は、前記第1制御手段に前記第1処理を再開させた場合において、前記第2処理が完了しても当該第1処理が完了していない場合、当該第1制御手段に実行された当該第1処理を引き継いで再開することを特徴とする請求項1記載の情報処理装置である。
請求項10に記載の発明は、機器から取得されるデータを処理し、当該機器の動作を制御する第1制御手段を有する第1集積回路と、前記第1制御手段よりもデータの処理速度が速い第2制御手段を有する第2集積回路と、を備え、前記第2制御手段は、第1処理の開始後且つ完了前に当該第1処理よりも第2処理を優先して実行する場合に、当該第1処理の対象のデータについて定められた条件に基づいて、前記第1制御手段に当該第1処理を再開させるか否かを決定することを特徴とする半導体装置である。
請求項11に記載の発明は、前記条件は、前記第1処理の対象の前記データについて当該第1処理が実行されることの優先度について定められた条件であることを特徴とする請求項10記載の半導体装置である。
請求項12に記載の発明は、前記優先度は、前記第1処理の対象の一部のデータについて当該第1処理が実行されることと、当該第1処理の対象の前記データであって当該一部のデータに続く他の一部のデータについて当該第1処理が実行されることとの間の時間の制約に基づいて定められることを特徴とする請求項11記載の半導体装置である。
請求項1の発明によれば、第2制御手段が第1処理の開始後且つ完了前に第1処理よりも第2処理を優先して実行する場合において、第2処理が完了するまで第1処理が再開されない場合に比べて、第1処理が中断してからの待ち時間を減らすことができる。
請求項2の発明によれば、第2処理が完了するまで第1処理が再開されない場合に比べて、第1処理が中断してからの待ち時間を、第1処理が実行されることの優先度に応じて減らすことができる。
請求項3の発明によれば、第2処理が完了するまで第1処理が再開されない場合に比べて、一部のデータについて第1処理が実行されることと、他の一部のデータについて第1処理が実行されることとの間の時間の制約に応じて、第1処理が中断してからの待ち時間を減らすことができる。
請求項4の発明によれば、パケット化された複数のデータのうちの、第2制御手段による第1処理が完了した一部のデータに対して、第1制御手段が再び第1処理を行う必要がなくなる。
請求項5の発明によれば、第2制御手段が、第1処理の対象のデータに係る内容情報を取得した場合において、この内容情報に関連付けられて保持手段に保持されている決定情報に基づく決定とは異なる決定をすることがなくなる。
請求項6の発明によれば、送信手段から格納制御手段へ送信されるデータが通る通信路、および格納手段から第1制御手段へ送信されるデータが通る通信路の少なくとも一方が第1通信路である場合に比べて、第2制御手段による第2処理の実行が妨げられることを抑制できる。
請求項7の発明によれば、第2制御手段による第2処理が実行されているか否かに関わらず、機器から送信されるデータの処理の要求が第2制御手段に送信される場合に比べて、第2制御手段による第2処理の実行が妨げられることを抑制できる。
請求項8の発明によれば、第1制御手段が、第1処理が完了していない分のデータから第1処理を再開できるようになる。
請求項9の発明によれば、第2処理の完了後も第1制御手段が第1処理を継続する場合に比べて、第1処理が実行される時間を減らすことができる。
請求項10の発明によれば、第2制御手段が第1処理の開始後且つ完了前に第1処理よりも第2処理を優先して実行する場合において、第2処理が完了するまで第1処理が再開されない場合に比べて、第1処理が中断してからの待ち時間を減らすことができる。
請求項11の発明によれば、第2処理が完了するまで第1処理が再開されない場合に比べて、第1処理が中断してからの待ち時間を、第1処理が実行されることの優先度に応じて減らすことができる。
請求項12の発明によれば、第2処理が完了するまで第1処理が再開されない場合に比べて、一部のデータについて第1処理が実行されることと、他の一部のデータについて第1処理が実行されることとの間の時間の制約に応じて、第1処理が中断してからの待ち時間を減らすことができる。
本実施形態に係る画像形成装置の外観図である。 本実施形態に係る画像形成装置の内部構造を示す図である。 画像形成装置を構成する制御装置等の機能モジュール間の接続構成の例を説明する図である。 画像読取装置、画像記録装置および制御装置の内部構成の一例を説明する図である。 引き継ぎ管理テーブルの構成例を示した図である。 MainCPUがI/Oデータ処理を行っているときにUI描画処理の要求を受けた場合に実行される処理動作を説明する図である。 引き戻し処理の流れを示したフローチャートである。
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
ここでは、画像形成装置を例に説明する。本実施形態で説明する画像形成装置は、用紙に画像を形成する装置であり、コピー機能、スキャナ機能、ファックス送受信機能、印刷機能を備えている。
もっとも、これら全ての機能を有する画像形成装置である必要はなく、いずれか1つの機能に特化した装置、例えば複写機、スキャナ(3次元スキャナを含む。)、ファックス送受信機、プリンタ(3次元プリンタを含む。)でもよい。
<画像形成装置の概略構成>
図1は、本実施形態に係る画像形成装置1の外観図である。図2は、本実施形態に係る画像形成装置1の内部構造を示す図である。
画像形成装置1は、原稿の画像を読み取る画像読取装置100と、用紙上に画像を記録する画像記録装置200と、を備えている。
また、画像形成装置1は、ユーザによる操作の受付やユーザに対する各種の情報の提示に使用するユーザインタフェース(UI)300を備えている。
さらに、画像形成装置1は、画像形成装置1の全体動作を制御する制御装置500を備えている。
ここでの画像形成装置1は情報処理装置の一例である。なお、制御装置500は情報処理装置の一例でもある。
画像読取装置100は、画像記録装置200の上に取り付けられている。画像読取装置100は、原稿の画像を光学的に読み取る。
画像記録装置200は、画像の形成に使用するエンジンや用紙の搬送に使用する機構で構成され、その内部には制御装置500が配置されている。
ユーザインタフェース300は、その操作面が画像形成装置1を操作するユーザと対面するように、画像読取装置100の手前側に配置されている。
このうち、画像読取装置100は、原稿の画像を読み取る画像読取部110と、この画像読取部110に原稿を搬送する原稿搬送部120と、を備えている。原稿搬送部120は、画像読取装置100の上部に配置され、画像読取部110は、画像読取装置100の下部に配置されている。
原稿搬送部120は、原稿を収容する原稿収容部121と、原稿収容部121から引き出された原稿が排出される原稿排出部122とを有し、不図示の搬送機構を使用して原稿収容部121から原稿排出部122に原稿を搬送する。
原稿搬送部120は、原稿自動送り装置(ADF:Auto Document Feeder)とも呼ばれる。
なお、原稿に対して読取光学系を相対的に移動させ、原稿の画像を読み取ることもできる。
画像記録装置200は、用紙トレイから引き出された用紙Pに画像を形成する画像形成部20と、画像形成部20に対して用紙Pを供給する用紙供給部60と、画像形成部20にて画像が形成された用紙Pを排出する用紙排出部70と、画像形成部20から出力される用紙Pの表裏を反転させ、画像形成部20に向けて再度搬送する反転搬送部80と、を備えている。
これらの構成はいずれも既知であるので、詳細な説明は省略する。なお、画像形成部20には、用紙Pの搬送経路に沿ってブラック(K)、シアン(C)、マゼンタ(M)、イエロー(Y)の各色に対応する記録ユニットが配置されている。色の種類及び色の組み合わせは一例である。
ユーザインタフェース300は、ユーザからの指示を受け付ける受付装置とユーザに対して情報を提供する出力装置とで構成され、具体的には操作受付部と表示部とを有している。
ここで、操作受付部は、ハードウェアキーに対する操作を検知する機能とソフトウェアキーに対する操作を検知する機能などを提供する。一方、表示部は、情報を提供する画面やソフトウェアキー等を表示する。
<機能モジュール間の接続構成>
図3は、画像形成装置1を構成する制御装置500等の機能モジュール間の接続構成の例を説明する図である。
画像読取装置100、画像記録装置200、ユーザインタフェース300は、制御装置500に対して接続されている。画像読取装置100、画像記録装置200、ユーザインタフェース300、制御装置500には、いずれも機能モジュール化された半導体チップが内蔵されている。
本実施形態では、複数のMochi(Modular Chip)チップが集約された半導体基板(Substrate)を使用する。Mochiチップとは、必要とされる機能だけを選択的に集約した半導体チップである。因みに、Mochiは商標である。
Mochiチップ間の相互接続方式には、パラレル接続方式とシリアル接続方式があるが、本実施形態では、シリアル接続方式を採用する。すなわち、本実施形態では、Mochiチップ間のデータをシリアル伝送方式により転送する。
<制御装置の内部構成>
図4は、画像読取装置100、画像記録装置200および制御装置500の内部構成の一例を説明する図である。
画像読取装置100には、Mochiインタフェースモジュール101が設けられている。Mochiインタフェースモジュール101は、制御装置500に対して原稿の画像データを転送する。
画像記録装置200には、Mochiインタフェースモジュール201が設けられている。Mochiインタフェースモジュール201は、制御装置500から転送された画像データを受信する。
制御装置500は、画像読取装置100、画像記録装置200、およびユーザインタフェース300と外部バスで接続されている。本実施形態の制御装置500は、複数のMochiチップが集積化されたMochiチップユニット510と、SSD(Solid State Drive)580と、DRAM(Dynamic Random Access Memory)590とを有する。ここで、Mochiチップユニット510は、半導体装置の一例として捉えられる。
Mochiチップユニット510は、第1集積回路の一例としてのMFP(MultiFunction Peripheral)モジュールチップ520と、第2集積回路の一例としてのMainCPUモジュールチップ540と、第3集積回路の一例としてのI/O(Input/Output)モジュールチップ570とを有する。
MFPモジュールチップ520は、画像読取装置100や画像記録装置200の動作を制御する機能を持たされている。画像読取装置100、画像記録装置200、ユーザインタフェース300、およびMFPモジュールチップ520により、画像形成装置1による複写機、スキャナ、ファックス送受信機、プリンタ等の機能が満たされる。すなわち、制御装置500にMFPモジュールチップ520が設けられている場合には、MainCPUモジュールチップ540が設けられていなくても、画像形成装置1としての機能が満たされる。
MFPモジュールチップ520は、MFPCPU527と、第1Mochiインタフェースモジュール521と、第2Mochiインタフェースモジュール522と、第3Mochiインタフェースモジュール523と、第4Mochiインタフェースモジュール524と、第5Mochiインタフェースモジュール525とを有する。また、MFPモジュールチップ520は、第1内部バス526と、メモリ管理ユニット(Memory Management Unit)528と、第1メモリコントローラ529と、侵入防止システム(Intrusion Prevention System)530とを有する。
第1制御手段の一例としてのMFPCPU527は、画像形成装置1の動作を制御する。MFPCPU527は、画像データの読み込みの指示を受けると、画像読取装置100から転送された画像データを読み込んでSSD580に格納させる。また、MFPCPU527は、画像の形成の指示を受けると、画像記録装置200へ画像データを転送させ、用紙に対する画像の形成を行わせる。
また、MFPCPU527は、データの処理を行う。データの処理としては、例えば、データの種類を特定する処理が挙げられる。データの種類を特定する処理としては、例えば、データが画像データかまたは指示に関するデータであるかを特定する処理等が挙げられる。
MFPCPU527としては、例えば、動作周波数が0.66MHzであるものが用いられる。
第1Mochiインタフェースモジュール521は、画像読取装置100から転送されたデータを受信する。
第2Mochiインタフェースモジュール522は、画像記録装置200へデータを転送する。
第3Mochiインタフェースモジュール523は、ユーザインタフェース300へデータを転送する。第3Mochiインタフェースモジュール523から転送されたデータは、ユーザインタフェース300の表示部に表示される。なお、MainCPUモジュールチップ540から転送されたデータがユーザインタフェース300の表示部に表示されている間は、第3Mochiインタフェースモジュール523からユーザインタフェース300へのデータの転送は行われない。
第4Mochiインタフェースモジュール524は、MainCPUモジュールチップ540に対してデータの送受信を行う。
第5Mochiインタフェースモジュール525は、I/Oモジュールチップ570から転送されたデータを受信する。
第1内部バス526は、予め定められたサイズ(例えば64バイト)のパケットデータを転送する。第1内部バス526は、第1Mochiインタフェースモジュール521と、第2Mochiインタフェースモジュール522と、第3Mochiインタフェースモジュール523と、第4Mochiインタフェースモジュール524と、第5Mochiインタフェースモジュール525と、メモリ管理ユニット528と、第1メモリコントローラ529と、侵入防止システム530とを相互に接続し、パケットデータの受け渡しに用いられる。
なお、本実施形態では、Mochiチップユニット510内のデータの転送は、パケットデータごとに行われる。
メモリ管理ユニット528は、MFPCPU527に格納されるデータに対応するアドレス情報を管理する。
第1メモリコントローラ529は、SSD580へのデータの格納、SSD580からのデータの取り出し、SSD580のリフレッシュなどを制御する回路である。第1メモリコントローラ529は、第1内部バス526に接続されており、第1内部バス526に接続された他のデバイスとの間でパケットデータを受け渡しする。
侵入防止システム530は、第1内部バス526を通るデータを監視し、MFPモジュールチップ520内への不正なアクセスを未然に防ぐ。
MainCPUモジュールチップ540は、MainCPU550と、第6Mochiインタフェースモジュール541と、第7Mochiインタフェースモジュール542と、第8Mochiインタフェースモジュール543と、第2内部バス544と、第1データバス545と、第2データバス546と、第2メモリコントローラ560とを有する。
MainCPU550は、データの処理を行う。この処理は、MFPCPU527により行われるデータの処理と同様の処理である。MainCPU550は、例えば、I/Oモジュールチップ570から転送されたデータの処理を行う。I/Oモジュールチップ570から転送されたデータの処理を、以下では、I/Oデータ処理と称する。
MainCPU550は、MFPCPU527よりもデータの処理速度が速い。MainCPU550としては、例えば、動作周波数が1.6GHzのものが用いられる。
また、MainCPU550は、デコンポーズ処理を行う。デコンポーズ処理とは、画像データを、用紙出力形式の画像データに変換する処理である。用紙出力形式の画像データとしては、例えば、ビットマップデータが挙げられる。
また、MainCPU550は、UI描画処理を行う。UI描画処理とは、ユーザインタフェース300の操作受付部にて受け付けられた操作に応じた画像をユーザインタフェース300の表示部に表示させる処理である。
なお、本実施形態では、デコンポーズ処理やUI描画処理は、MFPCPU527を用いて行われずに、MainCPU550を用いて行われる。
また、本実施形態のMainCPU550は、I/Oデータ処理等、デコンポーズ処理やUI描画処理とは異なる他の処理を行っているときに、デコンポーズ処理やUI描画処理の要求を受けると、他の処理よりもデコンポーズ処理やUI描画処理を優先して行う。
また、MainCPU550は、I/Oデータ処理を行っているときにデコンポーズ処理やUI描画処理の要求を受けた場合に、行っていたI/Oデータ処理を、MFPCPU527に引き継ぐ。より具体的には、MainCPU550は、I/Oデータ処理の対象のデータに基づいて、このI/Oデータ処理をMFPCPU527に引き継ぐか否かを決定する。そして、I/Oデータ処理をMFPCPU527に引き継ぐ場合、MFPCPU527に対してI/Oデータ処理の引き継ぎを行い、MainCPU550により行われていない分のI/Oデータ処理をMFPCPU527に行わせる。
また、MainCPU550は、デコンポーズ処理やUI描画処理を行う際に、デコンポーズ処理やUI描画処理を行うことをI/Oモジュールチップ570のDMAC572(後述)に通知する。そして、デコンポーズ処理やUI描画処理が完了すると、これらの処理が完了したことをDMAC572に通知する。
MainCPU550は、画像形成装置1全体の動作を制御する第1のCPU(Central Processing Unit)コア551Aと、画像読取装置100の動作を制御する第2のCPUコア551Bと、画像を処理するGPU(Graphics Processing Unit)コア551Cとで構成される。すなわち、MainCPU550はマルチコア構成である。
第1のCPUコア551A、第2のCPUコア551Bは、何れも第2制御手段の一例である。広義には、MainCPU550も第2制御手段の一例である。
本実施形態では、第1のCPUコア551A、第2のCPUコア551Bは、一次キャッシュメモリ552A、552Bと、二次キャッシュメモリ553Aとを有している。
一方、GPUコア551Cは、一次キャッシュメモリ552Cを有している。
第2接続手段の一例としての第6Mochiインタフェースモジュール541は、第4Mochiインタフェースモジュール524および第2メモリコントローラ560に対してデータの送受信を行う。
第7Mochiインタフェースモジュール542は、第2内部バス544から転送されたデータを受信し、受信したデータを、ユーザインタフェース300へ転送する。第7Mochiインタフェースモジュール542から転送されたデータは、ユーザインタフェース300の表示部に表示される。
第8Mochiインタフェースモジュール543は、I/Oモジュールチップ570から転送されたデータを受信し、受信したデータを、第2内部バス544または第2メモリコントローラ560へ転送する。
第1通信路の一例としての第2内部バス544は、パケットデータの受け渡しに用いられる。第2内部バス544は、MainCPU550と、第6Mochiインタフェースモジュール541と、第7Mochiインタフェースモジュール542と、第8Mochiインタフェースモジュール543と、第2メモリコントローラ560とを相互に接続する。
第1データバス545は、第6Mochiインタフェースモジュール541と第2メモリコントローラ560とを直接接続する通信路である。
第2データバス546は、第8Mochiインタフェースモジュール543と第2メモリコントローラ560とを直接接続する通信路である。
格納制御手段の一例としての第2メモリコントローラ560は、DRAM590へのデータの格納、DRAM590からのデータの取り出し、DRAM590のリフレッシュなどを制御する回路である。第2メモリコントローラ560は、第2内部バス544、第1データバス545、および第2データバス546に接続されており、第2内部バス544、第1データバス545、および第2データバス546に接続された他のデバイスとの間でパケットデータを受け渡しする。
I/Oモジュールチップ570は、画像形成装置1に接続される外部機器からのデータの受信に用いられる。
I/Oモジュールチップ570は、外部機器インタフェース部571と、DMAC(Direct Memory Access Controller)572と、第9Mochiインタフェースモジュール573と、第10Mochiインタフェースモジュール574と、を有する。
第1接続手段の一例としての外部機器インタフェース部571は、外部機器に接続する。外部機器としては、例えば、PC(Personal Computer)等の端末装置、USBメモリ、サーバ装置等の通信先などが挙げられる。外部機器インタフェース部571は、接続した外部機器からデータを取得する。
送信手段の一例としてのDMAC572は、外部機器から外部機器インタフェース部571に転送されたデータをDRAM590に転送させ、転送させたデータをDRAM590に格納させる。この転送は、MainCPU550を介さないDMA(Direct Memory Access)転送である。
また、DMAC572は、MainCPU550がデコンポーズ処理やUI描画処理を行う際に、フラグを立てる。より具体的には、DMAC572は、MainCPU550がデコンポーズ処理やUI描画処理を行うことの通知をMainCPU550から受けると、DMAC572に設けられているフラグレジスタをオンにする。また、デコンポーズ処理やUI描画処理が完了したことの通知をMainCPU550から受けると、フラグレジスタをオフにする。
また、DMAC572は、外部機器から外部機器インタフェース部571に転送されたデータをDRAM590に格納させると、このデータの処理の割り込み要求を行う。DMAC572は、DMAC572に設けられているフラグレジスタを参照する。そして、フラグレジスタがオフになっている場合には、MainCPU550に対して割り込み要求を行う。一方、フラグレジスタがオンになっている場合には、MFPCPU527に対して割り込み要求を行う。
第9Mochiインタフェースモジュール573は、外部機器インタフェース部571から転送されたデータを受信し、受信したデータを、第5Mochiインタフェースモジュール525へ転送する。
第10Mochiインタフェースモジュール574は、外部機器インタフェース部571から転送されたデータを受信し、受信したデータを、第8Mochiインタフェースモジュール543へ転送する。
SSD580は、例えば、不揮発性の半導体メモリである。なお、SSD580の代わりに、例えば、eMMC(embedded Multi Media Card)が用いられてもよい。
格納手段の一例としてのDRAM590は、例えば、揮発性の半導体メモリである。
<引き継ぎ管理テーブルの説明>
次に、引き継ぎ管理テーブルについて説明する。
図5は、引き継ぎ管理テーブルの構成例を示した図である。引き継ぎ管理テーブルは、MainCPU550がI/Oデータ処理をMFPCPU527に引き継ぐか否かを管理するためのテーブルである。引き継ぎ管理テーブルは、MainCPU550の一次キャッシュメモリ552Aに格納されている。
図5に示された引き継ぎ管理テーブルでは、「要求」に、MainCPU550がI/Oデータ処理を行っているときに要求される処理の内容が示されている。ここで、「UI描画」は、UI描画処理を意味する。また、「デコンポーズ」は、デコンポーズ処理を意味する。また、「その他」は、UI描画処理およびデコンポーズ処理の何れにも該当しない他の処理を意味する。また、「NOP」は、何もしない(No Operation)ことを意味する。
また、引き継ぎ管理テーブルでは、「ヘッダ情報」に、I/Oデータ処理の対象のデータに含まれるヘッダ情報が示されている。「UI描画」および「デコンポーズ」に関連付けて示されている「A」、「B」、「C」は、何れも、ヘッダ情報を意味する。また、「UI描画」および「デコンポーズ」に関連付けて示されている「A〜C以外」は、「A」、「B」、「C」の何れにも該当しないヘッダ情報を意味する。
「A」、「B」および「C」の何れかのヘッダ情報が含まれるデータは、「A〜C以外」のヘッダ情報が含まれるデータに比べて、I/Oデータ処理が実行されることの優先度が高い。より具体的に説明すると、まず、I/Oデータ処理の対象のデータが連続する複数のパケットデータである場合を前提とする。この場合において、「A」、「B」および「C」の何れかが含まれるデータに対するI/Oデータ処理は、「A〜C以外」が含まれるデータに対するI/Oデータ処理よりも、複数のパケットデータについて処理のリアルタイム性が求められる。リアルタイム性とは、一のパケットデータについてI/Oデータ処理が実行されることと、この一のパケットデータに連続する他の一のパケットデータについてI/Oデータ処理が実行されることとの間の時間の制約が設けられる性質である。
「A」、「B」および「C」の各々は、例えば、QoS(Quality of Service)が求められる処理の対象のデータに含まれるヘッダ情報である。また、「A〜C以外」は、例えば、QoSが求められない処理の対象のデータに含まれるヘッダ情報である。QoSとは、ネットワーク上で提供するサービスの品質である。サービスの品質には、処理のリアルタイム性についての品質が含まれる。
また、「引き継ぎ」には、MainCPU550がI/Oデータ処理をMFPCPU527に引き継ぐか否かの情報が示されている。ここで、「する」は、MainCPU550がI/Oデータ処理をMFPCPU527に引き継ぐことを意味する。また、「しない」は、MainCPU550がI/Oデータ処理をMFPCPU527に引き継がないことを意味する。
図示の例では、「UI描画」および「デコンポーズ」の「A、B、C」には、「引き継ぎ」として「する」が関連付けられている。また、「UI描画」および「デコンポーズ」の「A〜C」には、「引き継ぎ」として「しない」が関連付けられている。すなわち、I/Oデータ処理が実行されることの優先度に応じて、MainCPU550がI/Oデータ処理をMFPCPU527に引き継ぐか否かが定められている。また、「その他」および「NOP」には、「ヘッダ情報」に関わらず、「引き継ぎ」として「しない」が関連付けられている。
MainCPU550は、I/Oデータ処理を行っているときに、このI/Oデータ処理とは異なる他の処理の要求を受けると、引き継ぎ管理テーブルを参照する。そして、「要求」および「ヘッダ情報」に基づいて、「引き継ぎ」を行うか否かを決定する。
本実施形態では、上述の通り、MainCPU550が、I/Oデータ処理を行っているときに、デコンポーズ処理やUI描画処理の要求を受けると、I/Oデータ処理よりもデコンポーズ処理やUI描画処理を優先して行う。この場合において、MainCPU550は、リアルタイム性が求められるI/Oデータ処理については、MFPCPU527に引き継ぐようにしている。
すなわち、本実施形態では、MainCPU550は、第1処理の開始後且つ完了前に第1処理よりも第2処理を優先して実行する場合に、第1処理の対象のデータについて定められた条件に基づいて、MFPCPU527に第1処理を再開させるか否かを決定する。特に、本実施形態では、第1処理の対象のデータについて定められた条件は、このデータについて第1処理が実行されることの優先度について定められた条件である。さらに、この優先度は、第1処理の対象の一部のデータについて第1処理が実行されることと、第1処理の対象のデータであって一部のデータに続く他の一部のデータについて第1処理が実行されることとの間の時間の制約に基づいて定められる。また、第1処理の対象のデータは、パケット化された複数のデータである。
ここで、第1処理としては、例えば、I/Oデータ処理等が挙げられる。また、第2処理としては、例えば、デコンポーズ処理やUI描画処理等が挙げられる。
なお、MainCPU550は、I/Oデータ処理を行っているときに、「その他」や「NOP」の処理の要求を受けた場合、I/Oデータ処理の対象のデータに関わらず、I/Oデータ処理の引き継ぎを行わない。この場合、MainCPU550は、「その他」や「NOP」を完了させた後、I/Oデータ処理を再開する。
また、図5の引き継ぎ管理テーブルに示した「ヘッダ情報」は一例に過ぎず、図5に示した「ヘッダ情報」とは異なる「ヘッダ情報」が、「要求」と「引き継ぎ」とに関連付けられて示されてもよい。
また、一次キャッシュメモリ552Aは、MFPCPU527にI/Oデータ処理を再開させるか否かの決定に関する決定情報と、データの内容に関する内容情報とを関連付けて保持する保持手段として捉えられる。ここで、決定情報としては、例えば、引き継ぎ管理テーブルの「引き継ぎ」に示された情報が挙げられる。また、内容情報としては、例えば、引き継ぎ管理テーブルの「ヘッダ情報」に示された情報が挙げられる。
<I/Oデータ処理中にUI描画処理の要求を受けた場合の処理動作>
図6は、MainCPU550がI/Oデータ処理を行っているときにUI描画処理の要求を受けた場合に実行される処理動作を説明する図である。なお、以下では、MainCPU550が行っていたI/Oデータ処理の対象のデータに含まれるヘッダ情報が「A」(図5参照)であるものとする。
まず、I/Oモジュールチップ570の外部機器インタフェース部571に外部機器が接続され、外部機器から外部機器インタフェース部571にデータが転送される。I/Oモジュールチップ570のDMAC572は、外部機器インタフェース部571に転送されたデータを、DRAM590に格納させる(ステップ1)。このデータは、第10Mochiインタフェースモジュール574、第8Mochiインタフェースモジュール543、および第2内部バス544を介して、第2メモリコントローラ560に転送される。そして、転送されたデータは、第2メモリコントローラ560によりDRAM590に格納される。また、外部機器から転送されるデータは、複数のパケットデータからなる画像データである。すなわち、本実施形態では、外部機器から、画像データがパケットデータごとに転送される。
DMAC572は、MainCPU550に対して、DRAM590に格納させたパケットデータの処理の割り込み要求、すなわちI/Oデータ処理の割り込み要求を行う(ステップ2)。
MainCPU550は、I/Oデータ処理の割り込み要求を受けると、DRAM590に格納されているI/Oデータ処理の対象のパケットデータを取り出す。そして、取り出したパケットデータの処理、すなわち、I/Oデータ処理を行う(ステップ3)。このI/Oデータ処理の対象のパケットデータは、外部機器から転送される画像データ、すなわち複数のパケットデータのうちの、最初のパケットデータである。
この後、MainCPU550は、I/Oデータ処理が行われていない残りのパケットデータに対して順番に、パケットデータの取り出し、および、取り出したパケットデータに対するI/Oデータ処理を行う。
MainCPU550は、UI描画処理の要求を受ける(ステップ4)。
MainCPU550は、引き継ぎ管理テーブル(図5参照)を参照し、I/Oデータ処理の対象のパケットデータについてI/Oデータ処理が実行されることの優先度に基づき、MFPCPU527に引き継ぐか否かを決定する。この例では、MainCPU550がI/Oデータ処理を行っているときに受けた処理の「要求」は「UI描画」であり(図5参照)、I/Oデータ処理を対象のパケットデータには、上述の通り「A」が含まれる。そのため、MainCPU550は、I/Oデータ処理をMFPCPU527に引き継ぐことを決定する(ステップ5)。
MainCPU550は、DMAC572に対して、割り込み要求の中断を指示する(ステップ6)。
なお、ステップ1〜ステップ6は、MainCPU550がI/Oデータ処理をMFPCPU527に引き継ぐか否かに関わらず行われる処理である。また、MainCPU550がI/Oデータ処理をMFPCPU527に引き継がない場合、MainCPU550は、ステップ5の処理が完了すると、I/Oデータ処理を中断し、UI描画処理を行う。そして、MainCPU550は、UI描画処理が完了すると、中断していたI/Oデータ処理を再開する。
一方、MainCPU550がI/Oデータ処理をMFPCPU527に引き継ぐ場合、ステップ5が完了すると、MainCPU550は、I/Oデータ処理の実行中であった対象のパケットデータを、DRAM590に格納させる(ステップ7)。すなわち、MainCPU550は、I/Oデータ処理を行うためにDRAM590から取り出していたパケットデータを、DRAM590に戻す。このパケットデータは、第2内部バス544を介して、第2メモリコントローラ560に転送される。そして、転送されたパケットデータは、第2メモリコントローラ560によりDRAM590に格納される。
MainCPU550は、MFPCPU527に対して、I/Oデータ処理の引き継ぎの要求を行う(ステップ8)。この引き継ぎの要求において、MainCPU550は、I/Oデータ処理が完了したパケットデータに対応するDRAM590のアドレス情報を、MFPCPU527に送信する。
MainCPU550は、UI描画処理を行うことをDMAC572に通知し、DMAC572にフラグを立てさせる(ステップ9)。すなわち、MainCPU550は、UI描画処理を行うことをDMAC572に通知し、DMAC572に設けられているフラグレジスタをオンにさせる。
MainCPU550は、UI描画処理を行う(ステップ10)。
ここで、フラグレジスタがオンになっているときに、外部機器インタフェース部571に新たに外部機器が接続され、接続された外部機器からデータが転送される場合がある。この場合、DMAC572は、新たに接続された外部機器から外部機器インタフェース部571に転送されたデータを、第10Mochiインタフェースモジュール574、第8Mochiインタフェースモジュール543および第2データバス546を介して第2メモリコントローラ560へ転送する。すなわち、転送されたデータは、第2内部バス544を通らない。また、転送されたデータは、第2メモリコントローラ560によってDRAM590に格納される。また、DMAC572は、新たに接続された外部機器から外部機器インタフェース部571に転送されたデータを、第9Mochiインタフェースモジュール573、第5Mochiインタフェースモジュール525、第1内部バス526、第4Mochiインタフェースモジュール524、第6Mochiインタフェースモジュール541、第1データバス545を介して、第2メモリコントローラ560に転送してもよい。この場合においても、転送されたデータは、第2メモリコントローラ560によってDRAM590に格納される。
また、DMAC572は、フラグレジスタがオンであることに基づき、新たに接続された外部機器から転送されるデータの処理の割り込み要求を、MFPCPU527に対して行う。
MFPCPU527は、I/Oデータ処理の引き継ぎの要求をMainCPU550から受けると、DRAM590に格納されているパケットデータを取得する(ステップ11)。このパケットデータは、I/Oデータ処理の対象の複数のパケットデータのうちの、I/Oデータ処理が行われていないパケットデータである。すなわち、MFPCPU527は、I/Oデータ処理の引き継ぎ要求において、MainCPU550から、I/Oデータ処理が完了したパケットデータがDRAM590の何れの領域に格納されているかを示すアドレス情報を取得する。そして、I/Oデータ処理が完了したパケットデータに続くI/Oデータ処理が未完了のパケットデータを、DRAM590から取得する。また、このパケットデータは、第2メモリコントローラ560によりDRAM590から取り出されると、第1データバス545、第6Mochiインタフェースモジュール541、第4Mochiインタフェースモジュール524、および第1内部バス526を介して、MFPCPU527に転送される。すなわち、DRAM590からMFPCPU527に転送されるパケットデータは、第2内部バス544を通らない。
MFPCPU527は、取得したパケットデータについて、I/Oデータ処理を行う(ステップ12)。すなわち、MFPCPU527は、MainCPU550が行っていたI/Oデータ処理を再開する。
MFPCPU527は、I/Oデータ処理が完了したパケットデータを、DRAM590に格納させる(ステップ13)。このパケットデータは、第1内部バス526、第4Mochiインタフェースモジュール524、第6Mochiインタフェースモジュール541、および第1データバス545を介して、第2メモリコントローラ560に転送される。そして、転送されたパケットデータは、第2メモリコントローラ560によって、DRAM590に格納される。
この後、I/Oデータ処理が行われていない残りのパケットデータに対して順番に、ステップ11〜ステップ13までの処理が行われる。
MFPCPU527は、I/Oデータ処理が行われていなかった全てのパケットデータについてI/Oデータ処理を行うと、I/Oデータ処理が完了したことを示す完了通知を、MainCPU550に対して行う(ステップ14)。
なお、図6に示す例では、MainCPU550がI/Oデータ処理を行っているときにUI描画処理の要求を受けた場合に実行される処理動作について説明した。ここで、MainCPU550がI/Oデータ処理を行っているときに要求を受けた処理がデコンポーズ処理である場合であっても、上述した処理と同様の処理が行われる。
以上の通り、本実施形態では、MainCPU550は、I/Oデータ処理の対象のデータに係るヘッダ情報を取得し、取得したヘッダ情報に関連付けられて一次キャッシュメモリ552Aの引き継ぎ管理テーブルに保持されている「引き継ぎ」の情報から、MFPCPU527にI/Oデータ処理を再開させるか否かを決定する。
また、本実施形態では、MainCPU550は、DRAM590に格納されているデータを、第2内部バス544を介して取得し、取得したデータに対してUI描画処理やデコンポーズ処理を実施する。そして、MainCPU550がUI描画処理やデコンポーズ処理を実行しているときにおいて、DMAC572から第2メモリコントローラ560に送信されるデータが通る通信路、および、DRAM590からMFPCPU527へ送信されるデータが通る通信路は、何れも、第2内部バス544とは異なる通信路である。
また、本実施形態では、DMAC572は、外部機器インタフェース部571に機器が接続されている場合において、MainCPU550によるUI描画処理やデコンポーズ処理が実行されている場合、機器から送信されるデータの処理の要求を、MFPCPU527に送信する。
また、本実施形態では、MainCPU550は、MFPCPU527にI/Oデータ処理を再開させる場合、I/Oデータ処理が完了した分のデータに関する情報をMFPCPU527に送信する。
<引き戻し処理>
次に、引き戻し処理の流れについて説明する。引き戻し処理とは、MainCPU550がI/Oデータ処理をMFPCPU527に引き継いだ場合において、MainCPU550が再びこのI/Oデータ処理を行う処理である。この引き戻し処理は、例えば、MainCPU550が、I/Oデータ処理をMFPCPU527に引き継ぎ、デコンポーズ処理やUI描画処理を開始すると行われる。
図7は、引き戻し処理の流れを示したフローチャートである。
MainCPU550は、I/Oデータ処理が完了したことを示す完了通知をMFPCPU527から取得したか否かを判断する(S101)。完了通知を取得した場合(S101にてYES)、引き戻し処理は終了する。
一方、MainCPU550が完了通知を取得していない場合(S101にてNO)、MainCPU550は、UI描画処理やデコンポーズ処理等、I/Oデータ処理よりも優先して行っていた処理が完了したか否かを判定する(S102)。否定結果が得られた場合(S102にてNO)、ステップ101の処理が再び行われる。
I/Oデータ処理よりも優先して行っていた処理が完了した場合(S102にてYES)、MainCPU550は、MFPCPU527がI/Oデータ処理を完了したか否かを判定する(S103)。より具体的には、MainCPU550は、MFPCPU527の通信状況を確認することにより、MFPCPU527がI/Oデータ処理を完了したか否かを判定する。
MFPCPU527がI/Oデータ処理を完了した場合(S103にてYES)、引き戻し処理は終了する。
一方、MFPCPU527がI/Oデータ処理を完了していない場合(S103にてNO)、MainCPU550は、MFPCPU527に対して引き戻し通知を行う(S104)。引き戻し通知は、I/Oデータ処理を行う主体をMFPCPU527からMainCPU550に戻すことの通知である。
MFPCPU527は、引き戻し通知を受けると、DMAC572に対して、割り込み要求の中断を指示する。また、MFPCPU527は、I/Oデータ処理の実行中であった対象のパケットデータを、DRAM590に格納させる。さらに、MFPCPU527は、I/Oデータ処理が完了したパケットデータに対応するDRAM590のアドレス情報を、MainCPU550に送信する。
MainCPU550は、I/Oデータ処理が行われていないパケットデータをDRAM590から取得し、取得したパケットデータについて、I/Oデータ処理を行う(S105)。
以上の通り、本実施形態では、MainCPU550は、MFPCPU527にI/Oデータ処理を再開させた場合において、UI描画処理やデコンポーズ処理が完了してもI/Oデータ処理が完了していない場合、MFPCPU527に実行されたI/Oデータ処理を引き継いで再開する。
以上、本発明の実施形態について説明したが、本発明の技術的範囲は上記の実施形態に記載の範囲には限定されない。上記の実施形態に、種々の変更又は改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
例えば、本実施形態に示す画像形成装置1(図1参照)では、画像読取装置100と画像記録装置200(制御装置500を含む)が一体化されているが、画像読取装置100と画像記録装置200(図1参照)はそれぞれ独立した筐体に格納されていてもよい。
また、本実施形態における画像形成装置1では、オフィスなどで使用される装置構成を想定しているが、商業用(プロダクション用)の画像形成装置でもよい。
本実施形態では、Mochiチップユニット510に、MFPモジュールチップ520、MainCPUモジュールチップ540およびI/Oモジュールチップ570が設けられている構成としたが、さらに他の集積回路がMochiチップユニット510に設けられてもよい。
本実施形態では、MainCPU550内のキャッシュメモリの階層構造が1階層の場合(GPUコア551C)と2階層の場合(第1のCPUコア551A、第2のCPUコア551B)について説明したが、いずれの場合もキャッシュメモリの階層構造は例示の場合に限らない。例えばキャッシュメモリの階層構造は3階層以上でもよい。
本実施形態では、個々の機能モジュールで動作しない機能ブロックを含まない半導体チップ、換言すると動作に必要な機能ブロックだけを選択的に組み合わせたMochiチップで構成する場合について説明したが、他の構成の半導体チップでもよい。例えば1つの半導体基板上にシステムとしての動作に必要となる機能ブロックの一式を配置した半導体チップを用いてもよい。
また、機能モジュール間の接続は、Mochiインタフェースモジュール以外の接続方式を採用してもよい。
本実施形態では、MFPモジュールチップ520におけるデータの通信路としての共用の通信路が第1内部バス526のみであるが、共用の通信路として第1内部バス526とは別に他の通信路が設けられてもよい。また、MainCPUモジュールチップ540におけるデータの通信路としての共用の通信路が第2内部バス544のみであるが、共用の通信路として第2内部バス544とは別に他の通信路が設けられてもよい。
1…画像形成装置、510…Mochiチップユニット、520…MFPモジュールチップ、527…MFPCPU、540…MainCPUモジュールチップ、544…第2内部バス、545…第1データバス、546…第2データバス、550…MainCPU、560…第2メモリコントローラ、570…I/Oモジュールチップ、571…外部機器インタフェース部、572…DMAC、590…DRAM

Claims (12)

  1. 機器から取得されるデータを処理し、当該機器の動作を制御する第1制御手段を有する第1集積回路と、
    前記第1制御手段よりもデータの処理速度が速い第2制御手段を有する第2集積回路と、を備え、
    前記第2制御手段は、第1処理の開始後且つ完了前に当該第1処理よりも第2処理を優先して実行する場合に、当該第1処理の対象のデータについて定められた条件に基づいて、前記第1制御手段に当該第1処理を再開させるか否かを決定することを特徴とする情報処理装置。
  2. 前記条件は、前記第1処理の対象の前記データに対して当該第1処理が実行されることの優先度について定められた条件であることを特徴とする請求項1記載の情報処理装置。
  3. 前記優先度は、前記第1処理の対象の一部のデータについて当該第1処理が実行されることと、当該第1処理の対象の前記データであって当該一部のデータに続く他の一部のデータについて当該第1処理が実行されることとの間の時間の制約に基づいて定められることを特徴とする請求項2記載の情報処理装置。
  4. 前記第1処理の対象の前記データは、パケット化された複数のデータであることを特徴とする請求項1記載の情報処理装置。
  5. 前記決定に関する決定情報と、データの内容に関する内容情報とを関連付けて保持する保持手段をさらに有し、
    前記第2制御手段は、前記第1処理の対象の前記データに係る前記内容情報を取得し、取得した当該内容情報に関連付けられて前記保持手段に保持されている前記決定情報から、前記第1制御手段に当該第1処理を再開させるか否かを決定することを特徴とする請求項1記載の情報処理装置。
  6. データを格納する格納手段と、
    前記第1処理の対象の前記データを、パケット化されたデータごとに前記第2集積回路に送信する送信手段と、をさらに備え、
    前記第2集積回路は、
    前記送信手段から送信されたデータの前記格納手段への格納を制御する格納制御手段と、
    前記第2制御手段と、前記格納制御手段とを接続する第1通信路と、をさらに有し、
    前記第1制御手段は、前記第1処理を実行する場合、前記格納手段に格納されている当該第1処理の対象の前記データを取得し、取得した当該データに対して当該第1処理を実行し、
    前記第2制御手段は、前記格納手段に格納されているデータを、前記第1通信路を介して取得し、取得した当該データに対して前記第2処理を実行し、
    前記第2制御手段が前記第2処理を実行しているときにおいて、前記送信手段から前記格納制御手段へ送信されるデータが通る通信路、および、前記格納手段から前記第1制御手段へ送信されるデータが通る通信路は、何れも、前記第1通信路とは異なる通信路であることを特徴とする請求項1記載の情報処理装置。
  7. 機器と接続可能な第1接続手段と、前記送信手段とを有する第3集積回路をさらに備え、
    前記送信手段は、前記第1接続手段に前記機器が接続された場合において、前記第2制御手段による前記第2処理が実行されている場合、当該機器から送信されるデータの処理の要求を、前記第1制御手段に送信することを特徴とする請求項6記載の情報処理装置。
  8. 前記第2集積回路は、前記第1集積回路と接続可能な第2接続手段をさらに有し、
    前記第2制御手段は、前記第1制御手段に前記第1処理を再開させる場合、当該第1処理が完了した分のデータに関する情報を当該第1制御手段に送信することを特徴とする請求項1記載の情報処理装置。
  9. 前記第2制御手段は、前記第1制御手段に前記第1処理を再開させた場合において、前記第2処理が完了しても当該第1処理が完了していない場合、当該第1制御手段に実行された当該第1処理を引き継いで再開することを特徴とする請求項1記載の情報処理装置。
  10. 機器から取得されるデータを処理し、当該機器の動作を制御する第1制御手段を有する第1集積回路と、
    前記第1制御手段よりもデータの処理速度が速い第2制御手段を有する第2集積回路と、を備え、
    前記第2制御手段は、第1処理の開始後且つ完了前に当該第1処理よりも第2処理を優先して実行する場合に、当該第1処理の対象のデータについて定められた条件に基づいて、前記第1制御手段に当該第1処理を再開させるか否かを決定することを特徴とする半導体装置。
  11. 前記条件は、前記第1処理の対象の前記データについて当該第1処理が実行されることの優先度について定められた条件であることを特徴とする請求項10記載の半導体装置。
  12. 前記優先度は、前記第1処理の対象の一部のデータについて当該第1処理が実行されることと、当該第1処理の対象の前記データであって当該一部のデータに続く他の一部のデータについて当該第1処理が実行されることとの間の時間の制約に基づいて定められることを特徴とする請求項11記載の半導体装置。
JP2019124964A 2019-07-04 2019-07-04 情報処理装置および半導体装置 Pending JP2021012447A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019124964A JP2021012447A (ja) 2019-07-04 2019-07-04 情報処理装置および半導体装置
CN202010095462.1A CN112181319A (zh) 2019-07-04 2020-02-17 信息处理装置和半导体装置
US16/816,366 US11593151B2 (en) 2019-07-04 2020-03-12 Information processing apparatus and semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019124964A JP2021012447A (ja) 2019-07-04 2019-07-04 情報処理装置および半導体装置

Publications (1)

Publication Number Publication Date
JP2021012447A true JP2021012447A (ja) 2021-02-04

Family

ID=73918992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019124964A Pending JP2021012447A (ja) 2019-07-04 2019-07-04 情報処理装置および半導体装置

Country Status (3)

Country Link
US (1) US11593151B2 (ja)
JP (1) JP2021012447A (ja)
CN (1) CN112181319A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022163836A1 (ja) 2021-01-28 2022-08-04 三菱マテリアル株式会社 炭素材料の製造方法、炭素材料、二酸化炭素の分解方法、還元剤

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2901505B2 (ja) * 1994-10-14 1999-06-07 キヤノン株式会社 印刷装置
KR100283146B1 (ko) * 1998-11-04 2001-03-02 구자홍 디에스피의 인터럽트 제어 장치
JP2001109708A (ja) * 1999-10-14 2001-04-20 Hitachi Ltd マイクロコンピュータ
US7173724B2 (en) * 2001-02-02 2007-02-06 Sharp Kabushiki Kaisha Image forming system having display sections with different formats
JP4756599B2 (ja) 2006-07-04 2011-08-24 ルネサスエレクトロニクス株式会社 データ処理装置
JP5200646B2 (ja) * 2007-05-01 2013-06-05 株式会社リコー 割込制御装置および画像処理装置
JP5397739B2 (ja) * 2008-03-18 2014-01-22 株式会社リコー 画像処理装置、画像処理方法および画像処理プログラム
JP5300346B2 (ja) * 2008-06-30 2013-09-25 キヤノン株式会社 画像形成装置及び画像形成方法
JP5235768B2 (ja) * 2009-04-23 2013-07-10 キヤノン株式会社 制御装置、その制御方法、及びプログラム
JP5948976B2 (ja) * 2012-03-06 2016-07-06 富士ゼロックス株式会社 画像形成装置および情報処理装置
JP6218515B2 (ja) * 2013-09-05 2017-10-25 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP6299617B2 (ja) * 2015-01-27 2018-03-28 コニカミノルタ株式会社 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム
JP2017173872A (ja) * 2016-03-18 2017-09-28 富士ゼロックス株式会社 情報処理装置、画像形成装置及び情報処理プログラム
JP2018148455A (ja) 2017-03-07 2018-09-20 日本電信電話株式会社 情報処理装置及び方法
JP2019046260A (ja) * 2017-09-04 2019-03-22 富士ゼロックス株式会社 画像処理装置、半導体装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022163836A1 (ja) 2021-01-28 2022-08-04 三菱マテリアル株式会社 炭素材料の製造方法、炭素材料、二酸化炭素の分解方法、還元剤

Also Published As

Publication number Publication date
CN112181319A (zh) 2021-01-05
US20210004260A1 (en) 2021-01-07
US11593151B2 (en) 2023-02-28

Similar Documents

Publication Publication Date Title
US8243311B2 (en) Image output apparatus for controlling order of print jobs and display jobs in queue
US9509866B2 (en) Image forming apparatus that executes fax job concurrently with print job while reducing delay in fax job processing, job execution method, and storage medium
JP2021012447A (ja) 情報処理装置および半導体装置
JP3706116B2 (ja) 画像出力処理装置
US7301653B2 (en) Image processing apparatus, image processing method, and storage medium
JP5171296B2 (ja) 画像保存システム、画像処理装置、画像保存方法およびプログラム
JP6969295B2 (ja) 情報処理装置及び画像処理システム
JP2020144527A (ja) 情報処理装置および半導体装置
JP2019046260A (ja) 画像処理装置、半導体装置及びプログラム
US8411314B2 (en) Image forming apparatus for forming an image by transferring an image onto an intermediate transfer member, image forming method, and storage medium
JP2010016541A (ja) 画像形成装置
JP2002199152A (ja) 複数の画像形成装置を有するネットワークシステム
JP7000748B2 (ja) 画像処理装置、半導体装置及びプログラム
JP7106825B2 (ja) 画像処理装置、半導体装置及びプログラム
JP2012061639A (ja) 画像形成装置および印刷制御方法
JP7010070B2 (ja) 情報処理装置および半導体装置
JPH0897959A (ja) デジタル複写機のネットワークシステム
JP2011039715A (ja) 画像形成装置
JP5538317B2 (ja) 情報処理装置及び画像形成装置
JP4311551B2 (ja) 画像形成装置
JP5645630B2 (ja) 情報処理装置、停止方法、及びプログラム
JP2005072987A (ja) 画像形成装置
JP2006137117A (ja) 画像形成装置
JP2020047005A (ja) 情報処理装置および半導体装置
JP2005072985A (ja) 画像形成装置