JP2008097356A - Digital multifunction machine, control method therefor, program, and storage medium - Google Patents

Digital multifunction machine, control method therefor, program, and storage medium Download PDF

Info

Publication number
JP2008097356A
JP2008097356A JP2006278937A JP2006278937A JP2008097356A JP 2008097356 A JP2008097356 A JP 2008097356A JP 2006278937 A JP2006278937 A JP 2006278937A JP 2006278937 A JP2006278937 A JP 2006278937A JP 2008097356 A JP2008097356 A JP 2008097356A
Authority
JP
Japan
Prior art keywords
cpu
semaphore
unit
cpus
program
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.)
Withdrawn
Application number
JP2006278937A
Other languages
Japanese (ja)
Inventor
幹生 ▲浜▼
Mikio Hama
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006278937A priority Critical patent/JP2008097356A/en
Publication of JP2008097356A publication Critical patent/JP2008097356A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem in a multi-CPU system wherein when a symmetrical OS compatible with multi-CPU is not used, or when CPUs different in architecture are used, it is required to allocate tasks for various processing to either one of the CPUs depending on purposes and required to clearly specify transmission across CPUs in a transmission API to transmit a message or an event across the CPUs. <P>SOLUTION: All the tasks required for the system are managed as a table, and a task name, a task number and the CPU to be operated are described as members. A plurality of tables may be provided separately, for example, the table when using multiple A CPUs, and the table when using only one CPU. The tables are switched by detecting the number of the CPUs. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、画像形成装置のファイルシステムに関する。   The present invention relates to a file system of an image forming apparatus.

従来、マルチCPUシステム上にマルチCPU対応ではないOSを搭載し、セマフォやメッセージキューの操作をすることは困難であった。   Conventionally, it has been difficult to operate a semaphore or message queue by installing an OS that does not support multiple CPUs on a multiple CPU system.

従来例としては、特許文献1にマルチCPUで共有バッファを用いてメッセージのバッファとして使用する方法がある。
特開平7−73151号公報
As a conventional example, Patent Document 1 discloses a method of using a shared buffer in a multi CPU as a message buffer.
JP-A-7-73151

マルチCPUシステムにおいて、複数のCPU上のOSはそれぞれ別のものであるか、マルチCPU対応ではないOSにおいて、あるいは、同一OSであってもCPUのアーキテクチャが異なり、シンメトリカルにOSを使用できない場合、さまざまな処理を行うタスクを用途別にどちらかのCPU上に割り振って動作させる。このときメッセージ送信や、イベントの送信、セマフォの取得開放をCPUをまたいで行う場合に、メッセージ送信用のAPI中で、CPUをまたいで送信する明示的な指定を行う必要がある。   In a multi-CPU system, the operating systems on multiple CPUs are different, or are not compatible with multiple CPUs, or even if they are the same OS, the CPU architecture is different and the OS cannot be used symmetrically. Tasks for performing various processes are allocated and operated on one of the CPUs according to usage. At this time, when message transmission, event transmission, and semaphore acquisition and release are performed across CPUs, it is necessary to explicitly specify transmission across CPUs in an API for message transmission.

複数のCPU上で管理しているセマフォのIDを全て一まとめにして、テーブルとして管理する。このテーブルを全てのCPU上で所持する。また、タスクID、メッセージキューID等にも同等の処理を行う。   All semaphore IDs managed on multiple CPUs are collected and managed as a table. Have this table on every CPU. The same processing is also performed for the task ID, message queue ID, and the like.

このテーブルを参照すれば、どのセマフォがどのCPUのOS上で生成され、管理されているのかが分かる。   By referring to this table, you can see which semaphore is created and managed on which CPU OS.

マルチCPUシステムの一つのCPU以外を使用しない設定にした場合は、マルチCPUシステムではなく、シングルCPUシステムになるが、テーブルは、例えばCPUをマルチで使用する際のテーブル、CPUを一つしか使用しない際のテーブルと分けて複数持つことができる。これらのテーブルはCPUの個数を検知して、切り替えることとする。各CPUはタスクにメッセージを送信する際、メッセージ送信APIを介して、どちらかのCPUにメッセージを送信するが、その際上記テーブルを参照し、どちらのCPUに送信すべきかを判断する。こうすることにより、CPUの数を変更したといった、システムが異なる場合にも対応が可能であり、なおかつ、シンメトリカルなシステムで無い場合にもマルチCPUの性能を生かすことが可能となる。   If the setting is made so that only one CPU of the multi-CPU system is not used, the multi-CPU system is not a multi-CPU system but a single CPU system. However, for example, when using multiple CPUs, only one CPU is used. You can have multiple tables separately from the table when you do not. These tables detect and switch the number of CPUs. Each CPU transmits a message to one of the CPUs via the message transmission API when transmitting a message to the task. At that time, the CPU refers to the table to determine which CPU should be transmitted. By doing this, it is possible to cope with a case where the systems are different, such as changing the number of CPUs, and it is possible to make use of the performance of the multi-CPU even when the system is not a symmetric system.

複数のCPUを使用するシンメトリカルでないOSにおいて、CPU間をまたがってリソースのやり取りが可能となる。また、CPUの個数を変更した場合にも、ソース等の変更無く対応が可能である。   In a non-symmetric OS using a plurality of CPUs, resources can be exchanged between the CPUs. In addition, even when the number of CPUs is changed, it is possible to cope without changing the source or the like.

従来、マルチCPUシステム上にマルチCPU対応ではないOSを搭載し、セマフォやメッセージキューの操作をすることは困難であった。   Conventionally, it has been difficult to operate a semaphore or message queue by installing an OS that does not support multiple CPUs on a multiple CPU system.

マルチCPUシステムにおいて、複数のCPU上のOSはそれぞれ別のものであるか、マルチCPU対応ではないOSにおいて、あるいは、同一OSであってもCPUのアーキテクチャが異なり、シンメトリカルにOSを使用できない場合、さまざまな処理を行うタスクを用途別にどちらかのCPU上に割り振って動作させる。このときメッセージ送信や、イベントの送信、セマフォの取得開放をCPUをまたいで行う場合に、メッセージ送信用のAPI中で、CPUをまたいで送信する明示的な指定を行う必要がある。   In a multi-CPU system, the operating systems on multiple CPUs are different, or are not compatible with multiple CPUs, or even if they are the same OS, the CPU architecture is different and the OS cannot be used symmetrically. Tasks for performing various processes are allocated and operated on one of the CPUs according to usage. At this time, when message transmission, event transmission, and semaphore acquisition and release are performed across CPUs, it is necessary to explicitly specify transmission across CPUs in an API for message transmission.

複数のCPU上で管理しているセマフォのIDを全て一まとめにして、テーブルとして管理する。このテーブルを全てのCPU上で所持する。また、タスクID、メッセージキューID等にも同等の処理を行う。   All semaphore IDs managed on multiple CPUs are collected and managed as a table. Have this table on every CPU. The same processing is also performed for the task ID, message queue ID, and the like.

このテーブルを参照すれば、どのセマフォがどのCPUのOS上で生成され、管理されているのかが分かる。   By referring to this table, you can see which semaphore is created and managed on which CPU OS.

マルチCPUシステムの一つのCPU以外を使用しない設定にした場合は、マルチCPUシステムではなく、シングルCPUシステムになるが、テーブルは、例えばCPUをマルチで使用する際のテーブル、CPUを一つしか使用しない際のテーブルと分けて複数持つことができる。これらのテーブルはCPUの個数を検知して、切り替えることとする。各CPUはタスクにメッセージを送信する際、メッセージ送信APIを介して、どちらかのCPUにメッセージを送信するが、その際上記テーブルを参照し、どちらのCPUに送信すべきかを判断する。こうすることにより、CPUの数を変更したといった、システムが異なる場合にも対応が可能であり、なおかつ、シンメトリカルなシステムで無い場合にもマルチCPUの性能を生かすことが可能となる。   If the setting is made so that only one CPU of the multi-CPU system is not used, the multi-CPU system is not a multi-CPU system but a single CPU system. However, for example, when using multiple CPUs, only one CPU is used. You can have multiple tables separately from the table when you do not. These tables detect and switch the number of CPUs. Each CPU transmits a message to one of the CPUs via the message transmission API when transmitting a message to the task. At that time, the CPU refers to the table to determine which CPU should be transmitted. By doing this, it is possible to cope with a case where the systems are different, such as changing the number of CPUs, and it is possible to make use of the performance of the multi-CPU even when the system is not a symmetric system.

複数のCPUを使用するシンメトリカルでないOSにおいて、CPU間をまたがってリソースのやり取りが可能となる。また、CPUの個数を変更した場合にも、ソース等の変更無く対応が可能である。   In a non-symmetric OS using a plurality of CPUs, resources can be exchanged between the CPUs. In addition, even when the number of CPUs is changed, it is possible to cope without changing the source or the like.

以下、本発明の実施の形態を図面を参照して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は本発明に係る電子部品としてのコントローラ部が搭載された画像入出力装置(データ処理装置)の一実施の形態を示すブロック構成図であって、該画像入出力装置100は、LAN(Local Area Network)600にてホストコンピュータ(本実施の形態では第一のホストコンピュータ601、第二のホストコンピュータ602)に接続されている。   FIG. 1 is a block diagram showing an embodiment of an image input / output device (data processing device) on which a controller unit as an electronic component according to the present invention is mounted. A local area network (600) is connected to a host computer (in this embodiment, a first host computer 601 and a second host computer 602).

上記画像入出力システム100は、画像データの読取処理を行うリーダ装置(リーダー部)200と、画像データの出力処理を行うプリンタ装置(プリンタ部)300と、画像データの入出力操作を行うキーボード、及び画像データや各種機能の表示/設定などを行う液晶パネルを備えた操作部150と、リーダー装置200を制御して読み込んだ画像データや、LAN600を介してホストコンピュータ601、602より受信したコードデータから生成される画像データを格納/保存できる画像記憶部160を装着し、これら各構成要素に接続されて該構成要素を制御する単一の電子部品からなる制御装置(コントローラ部)110で構成されている。   The image input / output system 100 includes a reader device (reader unit) 200 that performs image data reading processing, a printer device (printer unit) 300 that performs image data output processing, a keyboard that performs image data input / output operations, In addition, an operation unit 150 having a liquid crystal panel for displaying / setting image data and various functions, image data read by controlling the reader device 200, and code data received from the host computers 601 and 602 via the LAN 600 An image storage unit 160 that can store / save image data generated from the computer is mounted, and is configured by a control device (controller unit) 110 formed of a single electronic component that is connected to these components and controls the components. ing.

リーダー装置200は、原稿用紙を搬送する原稿給紙ユニット250と、原稿画像を光学的に読み取って電気信号としての画像データに変換するスキャナユニット210とを有し、プリンタ装置300は、記録用紙を収容する複数段の給紙カセットを備えた給紙ユニット310と、画像データを記録用紙に転写/定着するマーキングユニット(部)320と、印字された記録用紙にソート処理やステイプル処理を施し、外部に排出する排紙ユニット(部)330とを有している。   The reader device 200 includes a document feeding unit 250 that transports document paper, and a scanner unit 210 that optically reads a document image and converts it into image data as an electric signal. A paper feed unit 310 having a plurality of paper feed cassettes to be accommodated, a marking unit (part) 320 for transferring / fixing image data onto recording paper, and a sort process and a stapling process on the printed recording paper, And a paper discharge unit (part) 330 for discharging the paper.

制御装置110は、リーダー部200を制御して、原稿の画像データを読込み、プリンタ部300を制御して画像データを記録用紙に出力してコピー機能を提供する。また、リーダー部200から読取った画像データを、コードデータに変換し、ネットワーク600を介してホストコンピュータ601,602へ送信するスキャナ機能、ホストコンピュータからネットワーク600を介して受信したコードデータを画像データに変換し、プリンタ部300に出力するプリンタ機能、その他の機能ブロックを有している。   The control device 110 controls the reader unit 200 to read image data of a document, and controls the printer unit 300 to output the image data to a recording sheet to provide a copy function. The scanner function converts image data read from the reader unit 200 into code data and transmits the code data to the host computers 601 and 602 via the network 600. Code data received from the host computer via the network 600 is converted into image data. It has a printer function for conversion and output to the printer unit 300, and other functional blocks.

図2はリーダ部200及びプリンタ部300の詳細を示す断面図である。   FIG. 2 is a cross-sectional view showing details of the reader unit 200 and the printer unit 300.

リーダー部200では、原稿給送ユニット250に積層された原稿用紙がその積層順に従って、先頭から順次1枚ずつプラテンガラス211上へ給送され、スキャナユニット210で所定の読み取り動作が終了した後、読み取られた原稿用紙は、プラテンガラス211上の原稿を排出トレイ219に排出される。また、原稿用紙がプラテンガラス211上に搬送されると、ランプ212を点灯し、次いで光学ユニット213の移動を開始させ、原稿用紙を下方から照射し走査する。そして、原稿用紙からの反射光は、複数のミラー214、215、216、及び、レンズ217を介してCCDイメージセンサ(以下「CCD」と記す)218へ導かれ、走査された原稿画像はCCD218によって読み取られる。CCD218で読み取られた画像データは、所定の処理が施された後、コントローラユニット110に転送される。   In the reader unit 200, the original sheets stacked on the original feeding unit 250 are sequentially fed onto the platen glass 211 one by one from the top in accordance with the stacking order, and after a predetermined reading operation is completed by the scanner unit 210, As for the read original paper, the original on the platen glass 211 is discharged to the discharge tray 219. When the original paper is conveyed onto the platen glass 211, the lamp 212 is turned on, then the movement of the optical unit 213 is started, and the original paper is irradiated and scanned from below. The reflected light from the original paper is guided to a CCD image sensor (hereinafter referred to as “CCD”) 218 via a plurality of mirrors 214, 215, 216 and a lens 217, and the scanned original image is read by the CCD 218. Read. The image data read by the CCD 218 is transferred to the controller unit 110 after predetermined processing.

原稿給送ユニット250が原稿流し読み機能を有している場合、原稿給送部250に積層された原稿用紙は、原稿流し読み位置240を一定の速度で通過する。この場合、光学ユニット213は原稿流し読み位置240に移動し、等速で搬送される原稿をランプ212によって照射し、CCD218によって随時読み取ることで画像データを生成し、コントローラユニット110に転送される。   When the document feeding unit 250 has a document feeding reading function, the document sheets stacked on the document feeding unit 250 pass through the document feeding reading position 240 at a constant speed. In this case, the optical unit 213 moves to the document flow reading position 240, irradiates the document conveyed at a constant speed by the lamp 212, reads the image by the CCD 218 as needed, generates image data, and transfers the image data to the controller unit 110.

次いで、プリンタ部300では、コントローラ部110から出力された画像データに対応するレーザ光が、レーザドライバ321により駆動されるレーザ発行部322から発行され、感光ドラム323にはレーザ光に応じた静電潜像が形成され、現像器324により前記静電潜像の部分に現像剤が付着される。   Next, in the printer unit 300, a laser beam corresponding to the image data output from the controller unit 110 is issued from a laser issuing unit 322 driven by a laser driver 321, and the photosensitive drum 323 is electrostatically charged according to the laser beam. A latent image is formed, and a developer is attached to a portion of the electrostatic latent image by the developing device 324.

一方、レーザ光の照射開始と同期したタイミングで、カセット311、カセット312、カセット313、カセット314、手差し給紙段315のいずれかから記録用紙が給紙されて転写部325に搬送路331により搬送され、感光ドラム323に付着している現像剤を記録用紙に転写する。画像データが転写された記録用紙は搬送ベルト326によって、定着部327に搬送され、定着部327における加熱・加圧処理により画像データが記録紙に定着される。定着部327を通過した記録紙は搬送路335、搬送路334を通り、排紙ビン328に排出される。印字面を反転して排紙ビン328に排出する場合には、搬送路336、搬送路338まで導かれ、そこから記録紙を逆方向に搬送し、搬送路337、搬送路334を通り、排紙ビン328に排出される。図に記していないが、排紙ビンの変わりに、排紙ユニットを装着することが可能で、排紙ユニットは排出された記録用紙を束ねて記録用紙の仕分け、仕分けされた記録用紙のステイプル処理などを行うことができる。   On the other hand, recording paper is fed from any of the cassette 311, the cassette 312, the cassette 313, the cassette 314, and the manual paper feed stage 315 at the timing synchronized with the start of laser light irradiation, and is conveyed to the transfer unit 325 by the conveyance path 331. Then, the developer adhering to the photosensitive drum 323 is transferred to the recording paper. The recording sheet on which the image data is transferred is conveyed to the fixing unit 327 by the conveying belt 326, and the image data is fixed on the recording sheet by the heating / pressurizing process in the fixing unit 327. The recording paper that has passed through the fixing unit 327 passes through the transport path 335 and the transport path 334 and is discharged to the paper discharge bin 328. When the print surface is reversed and discharged to the paper discharge bin 328, the recording paper is guided to the transport path 336 and the transport path 338, from which the recording paper is transported in the reverse direction, passes through the transport path 337 and the transport path 334, and is discharged. It is discharged to a paper bottle 328. Although not shown in the figure, it is possible to mount a paper discharge unit instead of the paper discharge bin. The paper discharge unit bundles the discharged recording paper, sorts the recording paper, and staples the sorted recording paper. And so on.

また、画像データを記録用紙に両面記録する場合は、定着部327を通過したあと、記録紙は、搬送路336からフラッパ329によって搬送路333に導かれ、その後、記録紙を逆方向に搬送し、フラッパ329によって搬送路338、再給紙搬送路332へ導かれる。再給紙搬送路332へ導かれた記録紙は上述と同様にして搬送路331を通り、転写部325へ給紙される。   When image data is recorded on both sides of a recording sheet, after passing through the fixing unit 327, the recording sheet is guided from the conveying path 336 to the conveying path 333 by the flapper 329, and then the recording sheet is conveyed in the reverse direction. The flapper 329 is guided to the conveyance path 338 and the refeed conveyance path 332. The recording sheet guided to the refeed conveyance path 332 passes through the conveyance path 331 and is fed to the transfer unit 325 in the same manner as described above.

図3は制御装置(コントローラ部)110の詳細を示すブロック図である。   FIG. 3 is a block diagram showing details of the control device (controller unit) 110.

すなわち、メインコントローラ111は、CPU112と、バスコントローラ113と、後述する各種コントローラ回路を含む機能ブロックを内蔵すると共に、ROM I/F115を介してROM114と接続され、DRAM I/F117を介してDRAM116と接続され、コーデックI/F118を介してコーデック119と接続され、また、ネットワークI/F123を介してネットワークコントローラ121と接続され、コネクタ122によりLAN600との間で所定の制御動作を行う。   That is, the main controller 111 includes a CPU 112, a bus controller 113, and functional blocks including various controller circuits described later, and is connected to the ROM 114 via the ROM I / F 115, and to the DRAM 116 via the DRAM I / F 117. Connected, connected to the codec 119 via the codec I / F 118, connected to the network controller 121 via the network I / F 123, and performs a predetermined control operation with the LAN 600 via the connector 122.

ROM114は、メインコントローラ111のCPU112で実行される各種制御プログラムや演算データが確認されている。DRAM116は、CPU112が動作するための作業領域や画像データを蓄積するための領域として使用される。コーデック119はDRAM116に蓄積されたラスターイメージデータをMH/MR/MMR/JBIGなどの周知の圧縮方式で圧縮し、また圧縮されたデータをラスターイメージに伸長する。また、コーデック119にはSRAM120が接続されており、該SRAM120は前記コーデック119の一時的な作業領域として使用される。   In the ROM 114, various control programs executed by the CPU 112 of the main controller 111 and calculation data are confirmed. The DRAM 116 is used as a work area for the CPU 112 to operate and an area for storing image data. The codec 119 compresses the raster image data stored in the DRAM 116 by a known compression method such as MH / MR / MMR / JBIG, and decompresses the compressed data into a raster image. An SRAM 120 is connected to the codec 119, and the SRAM 120 is used as a temporary work area for the codec 119.

また、前記メインコントローラ111はスキャナバス141を介してスキャナI/F140に接続され、プリンタバス146を介してプリンタI/F145に接続され、さらにPCIバス等の汎用高速バス125を介して拡張ボードを接続するための拡張コネクタ124及び入出力制御部(I/O制御部)126に接続されている。   The main controller 111 is connected to the scanner I / F 140 via the scanner bus 141, connected to the printer I / F 145 via the printer bus 146, and further connected to an expansion board via a general-purpose high-speed bus 125 such as a PCI bus. It is connected to an expansion connector 124 and an input / output control unit (I / O control unit) 126 for connection.

I/O制御部126はリーダ部200やプリンタ部300との間で制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ127が2チャンネル装備されており、該シリアル通信コントローラ127はI/Oバス128を介してスキャナI/F140及びプリンタI/F145に接続されている。   The I / O control unit 126 is equipped with two channels of an asynchronous serial communication controller 127 for transmitting and receiving control commands to and from the reader unit 200 and the printer unit 300. The serial communication controller 127 is an I / O controller. It is connected to the scanner I / F 140 and the printer I / F 145 via the bus 128.

スキャナI/F140は、第一の調歩同期シリアルI/F143及び第一のビデオI/F144を介してスキャナコネクタ142に接続され、さらに該スキャナコネクタ142はリーダ部200のスキャナユニット210に接続されている。そして、スキャナI/F140はスキャナユニット210から受信した画像データに対し所望の2値化処理や、主走査方向及び/又は副走査方向の変倍処理を行い、またスキャナユニット210から送られてきたビデオ信号に基づいて制御信号を生成し、スキャナバス141を介してメインコントローラ111に画像データを転送する。   The scanner I / F 140 is connected to the scanner connector 142 via the first asynchronous serial I / F 143 and the first video I / F 144, and the scanner connector 142 is further connected to the scanner unit 210 of the reader unit 200. Yes. The scanner I / F 140 performs desired binarization processing and scaling processing in the main scanning direction and / or sub-scanning direction on the image data received from the scanner unit 210, and is sent from the scanner unit 210. A control signal is generated based on the video signal, and the image data is transferred to the main controller 111 via the scanner bus 141.

また、プリンタI/F145は、第2の調歩同期シリアルI/F148及び第2のビデオI/F149を介してプリンタコネクタ147に接続され、さらに該プリンタコネクタ147はプリンタ部300のマーキングユニット320に接続されている。そして、プリンタI/F145はメインコントローラ111から出力された画像データにスムージング処理を施して該画像データをマーキングユニット320に出力し、さらにマーキングユニット320から送られたビデオ信号に基づいて、生成された制御信号をプリンタバス146に出力する。   The printer I / F 145 is connected to the printer connector 147 via the second asynchronous serial I / F 148 and the second video I / F 149, and the printer connector 147 is further connected to the marking unit 320 of the printer unit 300. Has been. Then, the printer I / F 145 performs smoothing processing on the image data output from the main controller 111 and outputs the image data to the marking unit 320. Further, the printer I / F 145 is generated based on the video signal sent from the marking unit 320. A control signal is output to the printer bus 146.

そして、CPU112は、ROM114からROMI/F115を介して読み込まれた制御プログラムに基づいて動作し、例えば、第1及び第2のホストコンピュータ601、602から受信したPDL(ページ記述言語)データを解釈し、ラスターイメージデータに展開処理を行う。   The CPU 112 operates based on a control program read from the ROM 114 via the ROM I / F 115, and interprets, for example, PDL (page description language) data received from the first and second host computers 601 and 602. The raster image data is expanded.

また、バスコントローラ113は、スキャナI/F140プリンタI/F145、その他拡張コネクタ124等に接続された外部機器から入出力されるデータ転送を制御するものであり、バス競合時のアービトレーション(調停)やDMAデータ転送の制御を行う。即ち、例えば、上述したDRAM116とコーデック119との間のデータ転送や、スキャナユニット210からDRAM116へのデータ転送、DRAM116からマーキングユニット320へのデータ転送等は、バスコントローラ113によって制御され、DMA転送される。   The bus controller 113 controls data transfer input / output from / to an external device connected to the scanner I / F 140, printer I / F 145, and other expansion connectors 124, and the like. Controls DMA data transfer. That is, for example, the above-described data transfer between the DRAM 116 and the codec 119, the data transfer from the scanner unit 210 to the DRAM 116, the data transfer from the DRAM 116 to the marking unit 320, and the like are controlled by the bus controller 113 and transferred by DMA. The

また、I/O制御部126は、LCDコントローラ131及びキー入力I/F130を介してパネルI/F132に接続され、パネルI/F132は操作部150に接続されている。また、前記I/O制御部126は不揮発性メモリとしてのEEPROM135に接続され、またE−IDEコネクタ161を介して画像データの書き込み/読み出しが可能なハードディスクドライブ(HDD)162に接続され、さらに、機器内で管理する日付と時刻を更新/保存するリアルタイムクロックモジュール133に接続されている。尚、リアルタイムクロックモジュール133はバックアップ用電池134に接続されて該バックアップ用電池134によりバックアップされている。   The I / O control unit 126 is connected to the panel I / F 132 via the LCD controller 131 and the key input I / F 130, and the panel I / F 132 is connected to the operation unit 150. The I / O control unit 126 is connected to an EEPROM 135 as a nonvolatile memory, is connected to a hard disk drive (HDD) 162 capable of writing / reading image data via an E-IDE connector 161, and It is connected to a real time clock module 133 that updates / stores the date and time managed in the device. The real time clock module 133 is connected to the backup battery 134 and backed up by the backup battery 134.

図4はメインコントローラ111の内部詳細を示すブロック構成図である。   FIG. 4 is a block diagram showing the internal details of the main controller 111.

プロセッサコア401は、64ビットのプロセッサバス(SCバス)を介して、システム・バス・ブリッジ(SBB)402に接続される。SBB402は4×4の64ビットクロスバスイッチであり、プロセッサコア401の他に、キャッシュメモリを備えたSDRAMやROMを制御するメモリコントローラ403と専用のローカルバス(MCバス)で接続されており、さらに、グラフィックバスであるGバス404、IOバスであるBバス405と接続され、全部で4つのバスに接続される。SBB402は、これら4モジュール間を、可能な限り同時平行接続を確保することができるように設計されている。また、データの圧縮伸張ユニット(CODEC)418とも、CODEC I/Fを介して接続されている。   The processor core 401 is connected to a system bus bridge (SBB) 402 via a 64-bit processor bus (SC bus). The SBB 402 is a 4 × 4 64-bit crossbar switch, and is connected to a memory controller 403 that controls an SDRAM or ROM including a cache memory in addition to the processor core 401 via a dedicated local bus (MC bus). The G bus 404, which is a graphic bus, and the B bus 405, which is an IO bus, are connected to a total of four buses. The SBB 402 is designed to ensure simultaneous parallel connection between these four modules as much as possible. A data compression / decompression unit (CODEC) 418 is also connected via a CODEC I / F.

Gバス404はGバスアービタ(GBA)406により協調制御されており、スキャナやプリンタと接続するためのスキャナ/プリンタコントローラ(SPC)408に接続される。また、Bバス405は、Bバスアービタ(BBA)407により協調制御されており、SPC408のほか、電力管理ユニット(PMU)409、インタラプトコントローラ(IC)410、UARTを用いたシリアルインタフェースコントローラ(SIC)411、USBコントローラ412、IEEE1284を用いたパラレルインタフェースコントローラ(PIC)413、LANコントローラ(LANC)414、汎用入出力コントローラ(MISC)415、PCIバスインタフェース(PCIC)416にも接続されている。   The G bus 404 is cooperatively controlled by a G bus arbiter (GBA) 406 and is connected to a scanner / printer controller (SPC) 408 for connecting to a scanner or a printer. The B bus 405 is cooperatively controlled by a B bus arbiter (BBA) 407. In addition to the SPC 408, a power management unit (PMU) 409, an interrupt controller (IC) 410, and a serial interface controller (SIC) 411 using UART. USB controller 412, parallel interface controller (PIC) 413 using IEEE1284, LAN controller (LANC) 414, general-purpose input / output controller (MISC) 415, and PCI bus interface (PCIC) 416.

Bバスアービタ407はBバス405を協調制御するアービトレーションであり、Bバス405のバス使用要求を受け付け、調停の後、使用許可が選択された一つのマスタに与えられ、これにより同時に2つ以上のマスタがバスアクセスを行うのを禁止している。尚、アービトレーション方式は3段階の優先権を有し、それぞれの優先権に複数のマスタが割り当てられる。   The B bus arbiter 407 is an arbitration for cooperatively controlling the B bus 405. The B bus 405 receives a bus use request for the B bus 405, and after arbitration, is given to one master selected for use permission. Is prohibited from performing bus access. The arbitration method has three levels of priority, and a plurality of masters are assigned to each priority.

インタラプトコントローラ410は、上述した各機能ブロック及びコントローラユニット110の外部からインタラプトを集積し、CPU401がサポートするコントローラ類408、411−416及びノンマスカブルインタラプト(NMI)に再配分する。   The interrupt controller 410 accumulates interrupts from the functional blocks and the controller unit 110 described above, and redistributes them to the controllers 408, 411-416 and non-maskable interrupts (NMI) supported by the CPU 401.

電力管理ユニット409は機能ブロック毎に電力を管理し、さらに1チップで構成されている電子部品としてコントローラユニット110の消費電力量の監視を行う。すなわち、コントローラユニット110は、CPU401を内蔵した大規模なASIC(特定用途向けIC)で構成されており、このため全ての機能ブロックが同時に動作すると大量の熱を発生して、コントローラ部110自体が破壊されてしまう虞がある。   The power management unit 409 manages the power for each functional block, and monitors the power consumption of the controller unit 110 as an electronic component composed of one chip. That is, the controller unit 110 is composed of a large-scale ASIC (application-specific IC) with a built-in CPU 401. For this reason, when all the functional blocks operate simultaneously, a large amount of heat is generated, and the controller unit 110 itself is There is a risk of being destroyed.

そこで、このような事態を防止するために各に機能ブロック毎に消費電力を管理し、各機能ブロックの消費電力量はパワーマネージメントレベルとして電力管理ユニット409に集積される。そして、該電力管理ユニット409では各機能ブロックの消費電力量を合計し、該消費電力量が限界消費電力を超えないように各機能ブロックの消費電力量を一括して監視する。   Therefore, in order to prevent such a situation, the power consumption is managed for each functional block, and the power consumption amount of each functional block is integrated in the power management unit 409 as a power management level. Then, the power management unit 409 adds up the power consumption amounts of the functional blocks, and collectively monitors the power consumption amounts of the functional blocks so that the power consumption amount does not exceed the limit power consumption.

Gバスアービタ406は中央アービトレーション方式によりGバス404を協調制御しており、各バスマスタに対して専用の要求信号と許可信号とを有する。尚、バスマスタへの優先権の付与方式として、全てのバスマスタを同じ優先権として、公平にバス権を付与する公平アービトレーションモードといずれか一つのバスマスタに対して優先的にバスを使用させる優先アービトレーションモードのいずれかを指定することができる。   The G bus arbiter 406 controls the G bus 404 in a coordinated manner by a central arbitration method, and has a dedicated request signal and a permission signal for each bus master. In addition, as a method of giving priority to the bus master, all bus masters have the same priority, a fair arbitration mode in which the bus right is granted fairly, and a priority arbitration mode in which the bus is preferentially used by any one bus master Either of these can be specified.

図5は、操作部150の例を示す図である。   FIG. 5 is a diagram illustrating an example of the operation unit 150.

500は、ユーザーインターフェイスであり、種々のコピーモード(例えば、両面設定、グループ、ソート、ステイプル出力等)を設定することが可能である。なお、これらのコピーモード設定手段は、ハードキーであっても、タッチパネルに表示されるソフトキーであっても良い。501は、スタートボタンで、このボタンが押されたことを契機にコピー処理が開始される。   A user interface 500 can set various copy modes (for example, duplex setting, group, sort, staple output, etc.). These copy mode setting means may be hard keys or soft keys displayed on the touch panel. Reference numeral 501 denotes a start button, which is started when the button is pressed.

図6は、スタートボタン501押下によりコピー処理が開始された後に、コピーモードとして、原稿の読取り蓄積を繰り返し行う「連続読込モード」が選択されたときにユーザーインターフェース500に表示される原稿読込設定画面502の例である。原稿読込設定画面502には、それまで読み込んだ画像を表示されるモードに入るための「確認」ボタン503と、それまで読み込んだ画像を一括出力するための「読込終了」ボタン504が備えられている。   FIG. 6 shows a document reading setting screen displayed on the user interface 500 when the “continuous reading mode” for repeatedly reading and storing the document is selected as the copy mode after the copy process is started by pressing the start button 501. This is an example of 502. The original reading setting screen 502 is provided with a “confirm” button 503 for entering a mode in which images read up to that time are displayed and an “end reading” button 504 for collectively outputting images read so far. Yes.

図7は、原稿読込設定画面502で「確認」ボタン503が押下されたときに表示される読込画像確認画面で、505の領域にはそれまでに蓄積された画像の総ページ数および表示中のページ番号が表示される。506および507は、蓄積された画像のページを移動させる「ページ移動」ボタンで、506を押下すると前ページに、507を押下すると次ページに移動する。508および509は、確認用画像の拡大/縮小表示を行うための「拡大/縮小」ボタンで、508を押下すると確認用画像は縮小表示され、509を押下すると確認用画像は拡大表示される。510は、蓄積画像確認画面で、505に表示されているページの内容が表示される。511は「再読込」ボタンで、「再読込」ボタン511が押下されるとそのときに表示されていたページを記憶し、画像確認画面をクローズする。画像確認画面がクローズされると502の原稿読込設定画面に戻り原稿読込が可能になる。このとき、原稿読込は再読込モードで実行される。512は「閉じる」ボタンで、「閉じる」ボタン512が押下されると画像確認画面はクローズされる。原稿確認画面がクローズされると502の原稿読込設定画面に戻り原稿読込が可能になる。このとき、原稿読込は連続読込モードで実行される。   FIG. 7 shows a read image confirmation screen that is displayed when the “Confirm” button 503 is pressed on the original reading setting screen 502. The area 505 displays the total number of pages of images accumulated so far and the currently displayed page. The page number is displayed. Reference numerals 506 and 507 denote “page move” buttons for moving the pages of the accumulated images. When the user presses 506, the user moves to the previous page, and when the user presses 507, the user moves to the next page. Reference numerals 508 and 509 denote “enlarge / reduce” buttons for enlarging / reducing the confirmation image. When the user presses 508, the confirmation image is reduced, and when the user presses 509, the confirmation image is enlarged. Reference numeral 510 denotes an accumulated image confirmation screen on which the contents of the page displayed in 505 are displayed. Reference numeral 511 denotes a “reread” button. When the “reread” button 511 is pressed, the page displayed at that time is stored, and the image confirmation screen is closed. When the image confirmation screen is closed, the screen returns to the original reading setting screen 502 so that the original can be read. At this time, the document reading is executed in the reread mode. Reference numeral 512 denotes a “close” button. When the “close” button 512 is pressed, the image confirmation screen is closed. When the original confirmation screen is closed, the original reading setting screen 502 is displayed again, and the original can be read. At this time, the document reading is executed in the continuous reading mode.

なお、上述の連続読込モードとは、読込んだ画像データが蓄積記憶された最後尾(最終画像)から再度画像データの蓄積記憶を行い、処理中に蓄積記憶された全画像データを1組の画像データとして扱うことを意味し、再読込モードとは、蓄積記憶された特定の画像データを、新たに読み込んだ画像データに置き換えることを意味する。また、何れの場合も原稿読込み指示はスタートボタン501押下により行われる。   Note that the above-described continuous reading mode refers to storing and storing image data again from the end (final image) in which the read image data is stored and stored, and storing all image data stored and stored during processing as a set. This means that the data is handled as image data, and the re-read mode means that specific image data stored and stored is replaced with newly read image data. In either case, the document reading instruction is performed by pressing the start button 501.

図8は、本発明における連続読込コピー処理のフローチャートである。   FIG. 8 is a flowchart of the continuous read copy process in the present invention.

S1001では、スタートボタン501が押下されたことによるスタート指示がされたか否かを判別する。スタートボタン501が押下されていない場合はスタートボタン501が押下されるまでその判別を繰り返す。スタートボタン501が押下された場合はS1002に進み、「連続読込モード」が選択されたかの確認を行う。S1002にて「連続読込モード」が設定されていない場合、S1012に進み、通常のコピー処理を行い処理を終了する。「読込画像確認モード」が設定された場合、S1003に進み、自動紙送り装置(DF)にセットされた原稿束の読込み、または、圧板上に置かれた原稿の読込みを行う原稿読込処理を実行する。処理が終了すると操作部150による指示が可能になる。S1004では、画像記憶部160に蓄積された画像確認処理(プレビュー処理)の指示がされたか否かを判別する。画像確認処理実行が指示された場合、S1005に進み画像確認処理(プレビュー処理)を行い、その後S1006に進む。画像確認処理実行の指示が無い場合はS1006に進む。S1006では、「再読込」が指示されたか否かを判別する。再読込の指示はS1005のプレビュー処理内で行われ、再読込の指示がされると、再読込の対象となるページの画像格納場所が記憶さる。再読込が指示されるとS1007に進み、再読込の指示がされない場合はS1008に進む。S1007では、再読込指示がされた時に記憶されたページの画像データ破棄(削除)処理を実行する。その後、S1003に戻り原稿読込処理を実行し、再読込み対象ページの画像データを置き換える。なお、原稿読込処理S1003は、自動紙送り装置(DF)にセットされた全原稿の読込処理、圧板上に置かれた原稿の読込み処理の他、自動紙送り装置にセットされた原稿から指定枚数の読込処理を行うことが可能で、再読込み時は、読込枚数が1ページという指定がされる。S1008は、連続読込処理中止の指示の判別を行う。S1008で中止の指示があった場合はS1009に進み、それまで読込蓄積した画像データの全てを破棄する読込画像破棄処理S1009を実行した後、コピー処理を終了する。S1008で中止の指示が無い場合はS1010に進む。S1010では読込終了指示の判別を行う。S1010で読込終了が指示された場合S1011に進み、それまで読込んだ画像データを全て印刷する読込画像印刷処理を実行した後、コピー処理を終了する。S1010で読込終了が支持されない場合はS1013に進み読込指示の判別を行う。S1013で読込の指示があった場合、S1003に戻り原稿読込処理を実行する。S1013で読込の指示が無い場合はS1004に戻る。つまり、操作部160による指示が何も無いときは、画像確認、再読込、中止、読込終了、読込の何れかの指示待ちになる。   In step S1001, it is determined whether or not a start instruction has been given due to the start button 501 being pressed. If the start button 501 is not pressed, the determination is repeated until the start button 501 is pressed. If the start button 501 is pressed, the process advances to step S1002 to check whether “continuous reading mode” is selected. If the “continuous reading mode” is not set in S1002, the process proceeds to S1012 and a normal copy process is performed and the process is terminated. If the “read image confirmation mode” is set, the process advances to step S1003 to execute a document reading process of reading a bundle of documents set on the automatic paper feeder (DF) or reading a document placed on a pressure plate. To do. When the process ends, an instruction from the operation unit 150 becomes possible. In step S1004, it is determined whether an instruction for image confirmation processing (preview processing) stored in the image storage unit 160 has been issued. If execution of the image confirmation process is instructed, the process proceeds to S1005, where the image confirmation process (preview process) is performed, and then the process proceeds to S1006. If there is no instruction to execute image confirmation processing, the process advances to step S1006. In S1006, it is determined whether or not “re-read” is instructed. The re-reading instruction is performed in the preview process of S1005. When the re-reading instruction is given, the image storage location of the page to be re-read is stored. If re-reading is instructed, the process proceeds to S1007. If re-reading is not instructed, the process proceeds to S1008. In step S1007, image data discarding (deleting) processing of the page stored when the re-reading instruction is issued is executed. Thereafter, the process returns to S1003 to execute the original reading process, and replace the image data of the reread target page. The original reading process S1003 includes a reading process for all originals set on the automatic paper feeder (DF), a reading process for originals placed on the pressure plate, and a specified number of sheets from the original set on the automatic paper feeder. Can be performed, and at the time of re-reading, it is specified that the number of read pages is one page. In step S1008, an instruction to stop the continuous reading process is determined. If there is an instruction to cancel in S1008, the process proceeds to S1009, and after executing the read image discarding process S1009 for discarding all the image data read and accumulated so far, the copy process is terminated. If there is no cancel instruction in S1008, the process proceeds to S1010. In step S1010, a read end instruction is determined. If the end of reading is instructed in step S1010, the process advances to step S1011 to execute a read image printing process for printing all the image data read up to that point, and then the copy process ends. If the reading end is not supported in S1010, the process proceeds to S1013 to determine the reading instruction. If there is an instruction to read in S1013, the process returns to S1003 to execute the original reading process. If there is no read instruction in S1013, the process returns to S1004. That is, when there is no instruction from the operation unit 160, the instruction waits for any of image confirmation, re-reading, cancellation, reading end, and reading.

図9は、原稿読込処理のフローチャートである。   FIG. 9 is a flowchart of the document reading process.

S2001では、自動紙送り装置(DF)の状態の判別を行う。DFがオープンの時はS2006に進み、圧板からの原稿読込処理を行い処理を終了する。DFがクローズの時はS2002に進み、DFに原稿がセットされているか否かの判別を行う。DFに原稿がセットされていない場合はS2006に進み、圧板からの原稿読込処理を行い処理を終了する。DFに原稿がセットされている場合はS2003に進み、再読込処理が指示されているか否かの判別を行う。S2003にて再読込が指示されていると判別した場合はS2004に進み、DFにセットされた原稿から1ページだけ画像を読込み処理を終了する。S2003にて再読込が指示されていないと判別した場合はS2005に進み、DFにセットされた原稿の全ページの読込み処理を行い処理を終了する。   In S2001, the state of the automatic paper feeder (DF) is determined. When the DF is open, the process proceeds to S2006, the original reading process from the pressure plate is performed, and the process is terminated. When the DF is closed, the process proceeds to S2002, and it is determined whether or not a document is set on the DF. If no document is set in the DF, the process proceeds to S2006, where the document reading process from the pressure plate is performed, and the process ends. If a document is set in the DF, the process proceeds to S2003, and it is determined whether or not a re-read process is instructed. If it is determined in S2003 that re-reading is instructed, the process proceeds to S2004, and the image reading process for one page from the document set in the DF is terminated. If it is determined in S2003 that re-reading is not instructed, the process proceeds to S2005, where all pages of the document set in the DF are read, and the process ends.

図10は、蓄積画像確認(プレビュー)処理のフローチャートである。   FIG. 10 is a flowchart of accumulated image confirmation (preview) processing.

S3001では、蓄積画像の確認を行う画像格納先の指定がされているかの判別を行う。連続読込コピー処理で繰り返し読込まれる画像データは、実行中の連続読込コピー処理が使用している画像格納先である文書管理部900のジョブ管理部902配下に管理されており、ジョブ管理部902を指定することで、それまでに読込蓄積した画像データの先頭ページから最終ページまでたどることが可能なように管理されている。S3001で指定が無い場合は処理を終了する。つまり、プレビュー処理は実行されない。S3001で指定があった場合はS3002に進み蓄積された画像の先頭ページを特定する。S3003では蓄積されている画像データから、蓄積画像確認画面510に表示する画像データの生成を行う。本実施例では、蓄積画像確認画面510に表示する直前に画像データの生成を行っているが、原稿読込蓄積時に蓄積画像確認画面表示用の画像データを生成し、オリジナル画像と対応付けて外部記憶部160に格納しておいても良い。S3004では、S3003で生成された画像データを蓄積画像確認画面510に表示する。S3005は入力指示待ちで、入力指示をループして待っている。S3006では次ページを表示する指示がされたかの判別を行い、次ページ表示の指示がされた場合はS3007に進む。S3007では蓄積されている画像データの最後尾かを判別し、最後尾であった場合はS3005に戻り再度入力指示待ちになる。S3007で最後尾で無いと判別した場合、S3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。S3008では、前ページ表示の指示がされたかの判別を行う。前ページ表示の指示がされた場合はS3009に進み、蓄積されている画像データの先頭かの判別を行う。先頭と判別した場合はS3005に戻り再度入力指示待ちになる。先頭で無いと判別した場合、S3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。S3010では蓄積画像確認画面510に表示されている画像を縮小表示する指示がされたかの判別を行う。縮小表示が指示されたと判別した場合はS3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。縮小表示の指示が無い場合S3011に進み、拡大表示の指示がされたかの判別を行う。S3011で拡大表示の指示がされたと判別した場合は指定された場合S3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。拡大表示の指示が無い場合S3012に進み、画像再読込の指示がされたか判別を行う。S3012で画像再読込の指示がされた場合、S3013に進み、現在表示されているページが文書管理部900のどこで管理されているか等を特定する識別情報を記憶(保持)し処理を終了する。ここで保持された情報が前述の画像読込処理に伝わり、再読込処理が実行される。S3012で再読込の指示が無い場合S3005に戻り入力指示待ちとなる。   In step S3001, it is determined whether an image storage destination for checking the stored image has been specified. The image data read repeatedly in the continuous reading copy process is managed under the job management unit 902 of the document management unit 900 that is the image storage destination used by the continuous reading copy process being executed. The job management unit 902 Is specified so that it is possible to trace from the first page to the last page of the image data read and accumulated so far. If there is no designation in S3001, the process is terminated. That is, the preview process is not executed. If specified in step S3001, the process advances to step S3002 to specify the first page of the stored image. In S3003, image data to be displayed on the accumulated image confirmation screen 510 is generated from the accumulated image data. In this embodiment, image data is generated immediately before being displayed on the accumulated image confirmation screen 510. However, image data for displaying the accumulated image confirmation screen is generated at the time of reading and accumulating the document, and is associated with the original image and stored externally. It may be stored in the unit 160. In S3004, the image data generated in S3003 is displayed on the accumulated image confirmation screen 510. In step S3005, an input instruction is waited, and the input instruction is looped and waited. In step S3006, it is determined whether an instruction to display the next page has been issued. If an instruction to display the next page has been issued, the process advances to step S3007. In S3007, it is determined whether the stored image data is at the end, and if it is at the end, the process returns to S3005 and waits for an input instruction again. If it is determined in S3007 that it is not the tail end, the process proceeds to S3003 to generate image data for displaying the stored image confirmation screen of the specified page, and the process is repeated. In step S3008, it is determined whether an instruction to display the previous page has been issued. If an instruction to display the previous page is given, the process advances to step S3009 to determine whether the stored image data is the head. If it is determined that the head, the process returns to S3005 and waits for an input instruction again. If it is determined that it is not the head, the process advances to S3003 to generate image data for displaying the stored image confirmation screen of the specified page, and the process is repeated. In step S3010, it is determined whether an instruction to reduce the image displayed on the stored image confirmation screen 510 has been issued. If it is determined that reduction display has been instructed, the process advances to S3003 to generate image data for displaying the stored image confirmation screen of the specified page, and the process is repeated. If there is no reduction display instruction, the process advances to step S3011 to determine whether an enlargement display instruction has been issued. If it is determined in S3011 that an enlargement display instruction has been issued, if specified, the process proceeds to S3003 to generate image data for displaying the accumulated image confirmation screen of the specified page, and the process is repeated. If there is no instruction for enlarged display, the process advances to step S3012 to determine whether an instruction for rereading an image has been given. If an instruction to re-read an image is issued in S3012, the process advances to S3013 to store (hold) identification information for specifying where the currently displayed page is managed in the document management unit 900, and the process ends. The information held here is transmitted to the above-described image reading process, and the re-reading process is executed. If there is no re-reading instruction in S3012, the process returns to S3005 and waits for an input instruction.

図11は、制御装置110の内部ソフトウェア構造を示す図である。700はコントローラソフトウェアであり、その中はプロトコル解釈部701、ジョブ制御部702、デバイス部703で構成されている。プロトコル解釈部701はホストコンピュータ601や、操作部150から、各インタフェース(411−414)を介して送られてきたコマンド(プロトコル)を解釈し、ジョブ制御部702に対してジョブの実行を依頼する。ジョブ制御部702は、プロトコル解釈部の依頼に基づき種々のジョブを実行する。デバイス部703は、画像入出力システム100を構成する各ユニットを制御するドライバソフトを含み、ジョブ制御部702がジョブを実行する際に使用される。   FIG. 11 is a diagram illustrating an internal software structure of the control device 110. Reference numeral 700 denotes controller software, which includes a protocol interpretation unit 701, a job control unit 702, and a device unit 703. The protocol interpretation unit 701 interprets commands (protocols) sent from the host computer 601 and the operation unit 150 via each interface (411-414), and requests the job control unit 702 to execute a job. . The job control unit 702 executes various jobs based on requests from the protocol interpretation unit. The device unit 703 includes driver software that controls each unit constituting the image input / output system 100, and is used when the job control unit 702 executes a job.

図12は、ジョブ制御部702の構造を示す図である。   FIG. 12 is a diagram illustrating the structure of the job control unit 702.

同図において700はコントローラソフトウェア、701はプロトコル解釈部、702はジョブ制御部、703はデバイス部である。ジョブ制御部702は、ジョブ生成部800、ジョブ処理部810、ドキュメント処理部820、ページ処理部830、バンド処理部840、デバイス割り当て部850を有している。また、ジョブ処理部810は、ジョブ管理部811、バインダ管理部812、ドキュメント管理部813を有している。また、デバイス部703は、第1デバイス851、第2デバイス852及び第3デバイス853等複数のデバイスを有する事が可能となっている。   In the figure, 700 is controller software, 701 is a protocol interpretation unit, 702 is a job control unit, and 703 is a device unit. The job control unit 702 includes a job generation unit 800, a job processing unit 810, a document processing unit 820, a page processing unit 830, a band processing unit 840, and a device allocation unit 850. The job processing unit 810 includes a job management unit 811, a binder management unit 812, and a document management unit 813. The device unit 703 can include a plurality of devices such as a first device 851, a second device 852, and a third device 853.

ホストコンピュータ601,602や、操作部150から送られてきた一連の操作依頼は、コマンド(プロトコル)という形で、各インタフェース(411−414)を介して送られてくる。送られてきたコマンドは、プロトコル解釈部701で解釈された後、ジョブ制御部702に送られる。この時点でコマンドは、ジョブ制御部702が理解できる形に変換される。   A series of operation requests sent from the host computers 601 and 602 and the operation unit 150 are sent via the interfaces (411 to 414) in the form of commands (protocols). The sent command is interpreted by the protocol interpretation unit 701 and then sent to the job control unit 702. At this point, the command is converted into a form that can be understood by the job control unit 702.

ジョブ生成部800はジョブ814を生成する。ジョブ814にはコピージョブ、プリントジョブ、スキャンジョブ及びファックスジョブ等様々なジョブが存在する。プロトコル解釈部701により解釈されたプロトコルには、例えば、プリントジョブならば印刷する文書の名前や印刷部数、出力先の排紙トレイの指定等の種々の設定情報や、印刷データ自体(PDLデータ)等が含まれる。ジョブ814はジョブ処理部810に送られ処理が行われる。ジョブ処理部810は、ジョブを構成する複数のバインダの出力順など、ジョブ全体に関わる設定がされるジョブ管理部811、バインダを構成する複数のドキュメントの出力順など、バインダ全体に関わる設定がされるバインダ管理部812、ドキュメントを構成する複数のページの出力順など、ドキュメント全体に関わる設定がされるドキュメント管理部813を有し、ジョブ814全体に関する設定や処理が行われる。   The job generation unit 800 generates a job 814. The job 814 includes various jobs such as a copy job, a print job, a scan job, and a fax job. The protocol interpreted by the protocol interpreter 701 includes, for example, various setting information such as the name of the document to be printed, the number of copies to be printed, and the designation of the output destination paper discharge tray, and the print data itself (PDL data). Etc. are included. The job 814 is sent to the job processing unit 810 for processing. The job processing unit 810 has settings related to the entire binder, such as a job management unit 811 that performs settings related to the entire job, such as the output order of a plurality of binders that constitute a job, and an output order of a plurality of documents that constitute the binder. A binder management unit 812 and a document management unit 813 for making settings related to the entire document such as the output order of a plurality of pages constituting the document, and settings and processing related to the entire job 814 are performed.

更に、ジョブ処理部810では、ジョブ814全体に関する設定や処理以外は、ジョブ814を構成するさらに小さな仕事の単位であるバインダ815に分割し、また、バインダ815全体に関する設定や処理以外は、バインダ815を構成するさらに小さな仕事の単位であるドキュメント816に分割し処理する。ドキュメント816は入力ドキュメント821と1対1に対応付けされており、入力ドキュメント821は、ドキュメント処理部820により出力ドキュメント822に変換処理される。例えば、原稿の束をスキャナで読み取り、複数のイメージデータに変換するスキャンジョブを考えると、原稿の束に関する設定や操作の手順が書かれているのが入力ドキュメント821であり、複数のイメージデータに関する設定や操作の手順が書かれているのが出力ドキュメント822である。そして、紙の束を複数のイメージデータに変換する役割を持っているのがドキュメント処理部820である。   Further, the job processing unit 810 divides the job 814 other than the settings and processing related to the entire job 814 into the binder 815 that is a smaller work unit constituting the job 814, and the binder 815 other than the settings and processing related to the entire binder 815. Is divided into documents 816, which are units of smaller work that constitutes. The document 816 is associated with the input document 821 on a one-to-one basis, and the input document 821 is converted into an output document 822 by the document processing unit 820. For example, when considering a scan job in which a bundle of documents is read by a scanner and converted into a plurality of image data, an input document 821 describes settings and operation procedures related to the bundle of documents, and a plurality of image data. An output document 822 contains the setting and operation procedures. A document processing unit 820 has a role of converting a bundle of paper into a plurality of image data.

ドキュメント処理部820は、ドキュメント単位の入力ドキュメント821から出力ドキュメント822への変換処理を行い、ドキュメント全体に関する設定や処理以外は、更に小さな仕事の単位である入力ページ831に分割し、ページ処理部830に処理を依頼する。これは、ちょうどジョブ処理部815がジョブ単位の処理に専念して、更に細かい仕事のためにバインダ815、ドキュメント816を生成するのと同じである。ドキュメント単位の設定及び操作は、具体的にはページの並び替え、両面印刷の指定、表紙の付加、OHP中差し等のページ順序に関するものである。   The document processing unit 820 performs conversion processing from the input document 821 in units of documents to the output document 822, and divides the input page 831 that is a unit of smaller work except for setting and processing related to the entire document, and the page processing unit 830. Request processing. This is exactly the same as when the job processing unit 815 is devoted to processing in units of jobs and generates the binder 815 and the document 816 for more detailed work. Specifically, the setting and operation in units of documents relate to page order such as page rearrangement, designation of double-sided printing, addition of a cover, and OHP insertion.

ページ処理部830は、ページ単位の入力ページ831から出力ページ832への変換処理を行う。例えば、上述のスキャンジョブの場合、入力ページ831には読み取りの解像度、読み取りの向き(ランドスケープ/ポートレイト)等の各種設定や、手順が書かれており、出力ページ832にはイメージデータの格納場所等の設定や手順が書かれている。   The page processing unit 830 performs conversion processing from the input page 831 to the output page 832 in page units. For example, in the case of the scan job described above, the input page 831 describes various settings such as the reading resolution and reading direction (landscape / portrait) and the procedure, and the output page 832 stores the image data storage location. Etc. Settings and procedures are written.

ここまでは、ジョブの単位を徐々に小さくして、ページの単位で扱えるようにすることを説明してきた。高価なシステムで1ページ分のページメモリを持てるならば、最終的にページ単位までジョブを細分化して処理すればよい。しかし、現実にはメモリのコスト等の問題から1ページ分のページメモリを持てない場合には、数ライン分のメモリ(バンドメモリ)でジョブ814を処理するシステムもある。このような場合、ページを更に細かい単位であるバンドに分割して変換処理を行う。それが入力バンド841、バンド処理部840、出力バンド842であり、これらの動作に関してはページの場合と同様である。   Up to this point, we have explained that the job unit is gradually reduced so that it can be handled in page units. If an expensive system can have a page memory for one page, the job may be subdivided and processed in units of pages. However, in reality, there is a system that processes the job 814 with a memory (band memory) for several lines when the page memory for one page cannot be provided due to a problem such as memory cost. In such a case, the conversion process is performed by dividing the page into bands, which are finer units. The input band 841, the band processing unit 840, and the output band 842 are the same as those in the page.

ジョブ処理部810、ドキュメント処理部820、ページ処理部830及びバンド処理部840は、いずれも処理を進める際に画像入出力システム100を構成する種々の物理デバイスを使用する。当然、複数の処理部が同時に仕事を進めるとデバイスの競合が発生するので、それを調停するのがデバイス割り当て部850である。例として図に示した第1〜第3のデバイス851〜853は、デバイス割り当て部850により上述した各処理部に割り当てられる論理デバイスであり、例えば、ページメモリやバンドメモリ、原稿給紙ユニット250、マーキングユニット320エンジン及びスキャナユニット210等が考えられる。   The job processing unit 810, the document processing unit 820, the page processing unit 830, and the band processing unit 840 all use various physical devices that make up the image input / output system 100 when processing proceeds. Naturally, device conflict occurs when a plurality of processing units work simultaneously, and the device allocation unit 850 mediates the competition. The first to third devices 851 to 853 shown in the figure as examples are logical devices assigned to the respective processing units by the device assigning unit 850. For example, a page memory, a band memory, a document feeding unit 250, A marking unit 320 engine, a scanner unit 210, and the like are conceivable.

図13は、画像記憶部160に蓄積される画像データを管理する文書管理部900の管理構造を示す図である。   FIG. 13 is a diagram illustrating a management structure of the document management unit 900 that manages image data stored in the image storage unit 160.

文書管理部900は、フォルダ管理部901、ジョブ管理部902、バインダ管理部903、ドキュメント管理部904、ページ管理部905で構成され、それぞれ管理情報(属性値)を持っている。文書管理部900は、1つまたは複数のフォルダ管理部901で構成され、フォルダ管理部901の管理情報が格納されている。フォルダ管理部901は、1つまたは複数のジョブ管理部902で構成され、ジョブ管理部902の管理情報が格納されている。ジョブ管理部902は、1つまたは複数のバインダ管理部903で構成され、バインダ管理部902の管理情報が格納されている。さらに、ジョブ管理部902は、ジョブ制御部702において処理されるジョブ814の動作に必要な情報で、ジョブ管理部811に格納されている属性値を格納/保存することができる。バインダ管理部903は、1つまたは複数のドキュメント管理部904で構成され、ドキュメント管理部904の管理情報が格納されている。さらに、バインダ管理部903は、ジョブ制御部702において処理されるバインダ815の動作に必要な情報で、バインダ管理部812に格納されている属性値を格納/保存することができる。ドキュメント管理部904は、1つまたは複数のページ管理部905で構成され、ページ管理部905の管理情報が格納されている。さらに、ドキュメント管理部904は、ジョブ制御部702において処理されるドキュメント管理部813に格納されている属性値や、ドキュメント処理部820により処理された出力ドキュメント822の属性値を格納/保存することができる。ページ905は、画像記憶部160に保存された、スキャナで読込んだ1ページ分の画像データ、ホストコンピュータから送信されたPDLを展開した1ページ分の画像データ、FAXで受信した1ページ分の画像データなどと対応付けられている。さらに、ページ管理部905は、ジョブ制御部702のページ処理部830により処理された出力ページ832の属性値を格納/保存することができる。つまり、文書管理部900に保存された情報と、画像記憶部160に保存された画像データから画像蓄積時に投入されたジョブ814を再現することが可能である。また、保存されている情報を再設定することで投入時のジョブと異なる動作をさせることも可能である。   The document management unit 900 includes a folder management unit 901, a job management unit 902, a binder management unit 903, a document management unit 904, and a page management unit 905, each having management information (attribute value). The document management unit 900 includes one or a plurality of folder management units 901, and management information of the folder management unit 901 is stored. The folder management unit 901 includes one or a plurality of job management units 902, and stores management information of the job management unit 902. The job management unit 902 includes one or a plurality of binder management units 903, and management information of the binder management unit 902 is stored. Further, the job management unit 902 can store / save attribute values stored in the job management unit 811 with information necessary for the operation of the job 814 processed by the job control unit 702. The binder management unit 903 includes one or a plurality of document management units 904 and stores management information of the document management unit 904. Further, the binder management unit 903 can store / save attribute values stored in the binder management unit 812 with information necessary for the operation of the binder 815 processed in the job control unit 702. The document management unit 904 includes one or a plurality of page management units 905 and stores management information of the page management unit 905. Further, the document management unit 904 can store / save the attribute value stored in the document management unit 813 processed by the job control unit 702 and the attribute value of the output document 822 processed by the document processing unit 820. it can. A page 905 includes one page of image data read by the scanner, one page of image data developed from the PDL transmitted from the host computer, and one page of data received by FAX. It is associated with image data. Further, the page management unit 905 can store / save the attribute value of the output page 832 processed by the page processing unit 830 of the job control unit 702. That is, it is possible to reproduce the job 814 submitted at the time of image accumulation from the information stored in the document management unit 900 and the image data stored in the image storage unit 160. It is also possible to perform operations different from the job at the time of submission by resetting the stored information.

図14は主記憶装置(CPU-AとCPU-Bが共有してアクセスすることが出来る共有メモリ)にアクセスすることが可能なマルチCPUシステムの説明図である、ここでは仮に2つのCPUを搭載したシステムに関して説明するが図14のCPU-A、CPU-B以外のCPUを使用した場合に関しても当発明は該当するものとする。図14中の1001はCPU-A、1002はCPU-B、1003は共有メモリ、1004はシステムバスブリッジ、1005はメモリコントローラ、1006はハードディスクコントローラ、1007はハードディスクである。1004、1005に関しては、図4中で説明したとおりであり、CPUとメモリのデータアクセス方法に関しての説明はここでは省く。CPU-AおよびCPU-Bは、それぞれ、システムバスブリッジ、メモリコントローラを介して、1003共有メモリに対して、データのリード、ライトが可能である。1006ハードディスクコントローラは、メモリコントローラ同様、ハードディスクへの読み書きを制御するコントローラであり、図3にあるようなE−IDEコネクタを介してハードディスクと接続されている。1007ハードディスクはE−IDE規格のハードディスクであり、主記憶装置(共有メモリ)対し、非常に容量が大きい。CPU-AおよびCPU-Bからハードディスクコントローラを介してアクセスすることが可能である。   FIG. 14 is an explanatory diagram of a multi-CPU system that can access a main storage device (shared memory that can be shared and accessed by CPU-A and CPU-B). Here, two CPUs are temporarily installed. Although the system will be described, the present invention also applies to the case where a CPU other than CPU-A and CPU-B in FIG. 14 is used. In FIG. 14, 1001 is CPU-A, 1002 is CPU-B, 1003 is a shared memory, 1004 is a system bus bridge, 1005 is a memory controller, 1006 is a hard disk controller, and 1007 is a hard disk. Reference numerals 1004 and 1005 are the same as those described in FIG. 4, and a description of the data access method between the CPU and the memory is omitted here. CPU-A and CPU-B can read and write data to the 1003 shared memory via a system bus bridge and a memory controller, respectively. Similar to the memory controller, the 1006 hard disk controller is a controller that controls reading and writing to the hard disk, and is connected to the hard disk via an E-IDE connector as shown in FIG. A hard disk 1007 is an E-IDE standard hard disk and has a very large capacity with respect to the main storage device (shared memory). It is possible to access from CPU-A and CPU-B via the hard disk controller.

図15はセマフォに関しての説明図である。7601はタスク1、7602はタスク2、7603はセマフォ、7604はタスクが行うべき処理である。通常、複数のタスク(プロセス、プログラム)が同時実行されるマルチタスクOSでは、一つのリソースに対して複数のタスクが同時にアクセスして内容の破壊や不整合が起きるのを防ぐためにセマフォを使用する。   FIG. 15 is an explanatory diagram regarding a semaphore. 7601 is task 1, 7602 is task 2, 7603 is a semaphore, and 7604 is processing to be performed by the task. Normally, in a multitasking OS in which multiple tasks (processes and programs) are executed simultaneously, a semaphore is used to prevent content destruction and inconsistency by accessing multiple resources simultaneously to one resource. .

今、特定の処理を行いたいタスクが2つ以上いると仮定する。処理を行うためにはセマフォを獲得する必要がある(P動作)。セマフォは誰か一つのタスクが獲得すると、他のタスクは獲得を待つしかない。この例では、タスク2が先にセマフォを獲得した。タスク2がセマフォを獲得している間、タスク1はセマフォ待ち状態になる。タスク1は処理を終えるとセマフォを開放する(V動作)。セマフォが開放されたので、タスク1は待っていたセマフォを獲得することが出来、その後、処理を行える。セマフォにより、一つのリソースや処理に対して排他を行うことが可能となる。これ以上のセマフォに関しての詳しい説明は既知でもあるため割愛する。メッセージキュー、イベントに関してもOSに関する書籍を参照すること。   Suppose that there are now two or more tasks that you want to perform a specific process. In order to perform processing, it is necessary to acquire a semaphore (P operation). When one semaphore gets one task, the other task has to wait for acquisition. In this example, task 2 first acquired a semaphore. While task 2 has acquired a semaphore, task 1 enters a semaphore wait state. Task 1 releases the semaphore when processing is completed (V operation). Since the semaphore has been released, task 1 can acquire the semaphore that has been waiting, and can then perform processing. A semaphore makes it possible to exclude one resource or process. A detailed explanation of semaphores beyond this is omitted because it is already known. Please refer to the OS books for message queues and events.

図16は本実施例の説明図である。7001はマルチCPUシステムにおけるCPU-A、7002はCPU−B、7003は記憶装置上に展開された、CPU-Aのファームウェア、7004はCPU-Bのファームウェア、7005はセマフォ1、7006はセマフォ2、7007はメッセージキュー1、7008はセマフォ3、7009はセマフォ4、7010はメッセージキュー2、7011はタスク1、7012はタスク2である。セマフォ1、セマフォ2はCPU-A上のOSで生成され、管理に関してもCPU-A上のOSが行っている。メッセージキュー1はCPU-A上のOSで生成され、管理に関してもCPU-A上のOSが行っている。セマフォ3、セマフォ4はCPU-B上のOSで生成され、管理に関してもCPU-B上のOSが行っている。メッセージキュー2はCPU-B上のOSで生成され、管理に関してもCPU-B上のOSが行っている。タスク1はCPU-A上で動作しているタスクであり、タスク2はCPU-B上で動作しているタスクである。   FIG. 16 is an explanatory diagram of this embodiment. 7001 is CPU-A in a multi-CPU system, 7002 is CPU-B, 7003 is CPU-A firmware expanded on a storage device, 7004 is CPU-B firmware, 7005 is semaphore 1, 7006 is semaphore 2, 7007 is message queue 1, 7008 is semaphore 3, 7009 is semaphore 4, 7010 is message queue 2, 7011 is task 1, and 7012 is task 2. Semaphore 1 and semaphore 2 are generated by the OS on CPU-A, and the OS on CPU-A also performs management. The message queue 1 is generated by the OS on the CPU-A, and the OS on the CPU-A also performs management. Semaphore 3 and semaphore 4 are generated by the OS on CPU-B, and the OS on CPU-B also performs management. The message queue 2 is generated by the OS on CPU-B, and the OS on CPU-B also performs management. Task 1 is a task operating on CPU-A, and task 2 is a task operating on CPU-B.

図17は本実施例の説明図である。7101はマルチCPUシステムにおけるCPU-A、7102はCPU−B、7103は記憶装置上に展開された、CPU-Aのファームウェア、7104はCPU-Bのファームウェア、7105はCPU-Aのファームウェア内のプログラムでセマフォのP動作をおこなう。7106は同じくセマフォのV動作を行うプログラムであり、7107は同じくメッセージキューに対してメッセージを送信するプログラムである。7108はCPU-Bのファームウェア内のプログラムでセマフォのP動作をおこなう。7109は同じくセマフォのV動作を行うプログラムであり、7110は同じくメッセージキューに対してメッセージを送信するプログラムである。7111はセマフォ1、7112はセマフォ2、7113はメッセージキュー1、7114はセマフォ3、7115はセマフォ4、7116はメッセージキュー2、7117はタスク1、7118はタスク2である。CPUが2つの場合を例に取るが、CPU-A、CPU-Bが両方とも動作している場合に、タスク1とタスク2は別々のCPUが実行するように振り分けることにする。セマフォ1、セマフォ2は主にタスク1が使用するが、タスク2もたまに使用する。セマフォ3、セマフォ4はタスク2が使用するが、タスク1もたまに使用する。そのため、このようにセマフォ1、セマフォ2はCPU-AのOSが管理、セマフォ3、セマフォ4はCPU-BのOSが管理するようにしている。メッセージキューに関しても同等である。   FIG. 17 is an explanatory diagram of this embodiment. 7101 is the CPU-A in the multi-CPU system, 7102 is the CPU-B, 7103 is the CPU-A firmware developed on the storage device, 7104 is the CPU-B firmware, and 7105 is the program in the CPU-A firmware. Perform P action of semaphore with. Reference numeral 7106 denotes a program for performing the V operation of the semaphore, and reference numeral 7107 denotes a program for transmitting a message to the message queue. Reference numeral 7108 denotes a program in the firmware of the CPU-B, which performs a semaphore P operation. Reference numeral 7109 denotes a program for performing the V operation of the semaphore. Reference numeral 7110 denotes a program for transmitting a message to the message queue. 7111 is semaphore 1, 7112 is semaphore 2, 7113 is message queue 1, 7114 is semaphore 3, 7115 is semaphore 4, 7116 is message queue 2, 7117 is task 1, and 7118 is task 2. Taking the case of two CPUs as an example, when both CPU-A and CPU-B are operating, task 1 and task 2 are distributed so that they are executed by different CPUs. Semaphore 1 and semaphore 2 are mainly used by task 1, but task 2 is also used occasionally. Semaphore 3 and semaphore 4 are used by task 2, but task 1 is also used occasionally. Therefore, the OS of CPU-A manages semaphore 1 and semaphore 2, and the OS of CPU-B manages semaphore 3 and semaphore 4. The same is true for message queues.

図22は本実施例の説明図であるがCPU-Bを停止させた場合である。7701はマルチCPUシステムにおけるCPU-A、7702はCPU−B、7703は記憶装置上に展開された、CPU-Aのファームウェア、7705はCPU-Aのファームウェア内のプログラムでセマフォのP動作をおこなう。7706は同じくセマフォのV動作を行うプログラムであり、7707は同じくメッセージキューに対してメッセージを送信するプログラムである。7710はセマフォ1、7711はセマフォ2、7713はセマフォ3、7714はセマフォ4、7116はメッセージキュー1、7717はメッセージキュー2、7708はタスク1、7709はタスク2である。CPUが2つの場合を例に取るが、CPU-A、CPU-Bのうち、CPU−Bが停止中である場合に、タスク1とタスク2をCPU-A上で実行するようにする。この場合、全てのセマフォ、メッセージキューはCPU-AのOS上で生成し、管理するようになる。   FIG. 22 is an explanatory diagram of this embodiment, but shows a case where CPU-B is stopped. 7701 is the CPU-A in the multi-CPU system, 7702 is the CPU-B, 7703 is the CPU-A firmware developed on the storage device, and 7705 is the program in the CPU-A firmware, and performs the P operation of the semaphore. Reference numeral 7706 denotes a program for performing the V operation of the semaphore, and reference numeral 7707 denotes a program for transmitting a message to the message queue. 7710 is semaphore 1, 7711 is semaphore 2, 7713 is semaphore 3, 7714 is semaphore 4, 7116 is message queue 1, 7717 is message queue 2, 7708 is task 1, and 7709 is task 2. Taking the case of two CPUs as an example, when CPU-B is stopped among CPU-A and CPU-B, task 1 and task 2 are executed on CPU-A. In this case, all semaphores and message queues are created and managed on the OS of CPU-A.

図18はCPU-A上のタスク1がCPU-A上のセマフォ1を取得する例図である。7201はマルチCPUシステムにおけるCPU-A、7202はCPU−B、7203は記憶装置上に展開された、CPU-Aのファームウェア上のプログラムであり、セマフォのP動作を行うプログラムである。   FIG. 18 is an example in which task 1 on CPU-A acquires semaphore 1 on CPU-A. Reference numeral 7201 denotes a CPU-A in the multi-CPU system, 7202 denotes a CPU-B, and 7203 denotes a program on the firmware of the CPU-A developed on the storage device, which is a program for performing the P operation of the semaphore.

7204は記憶装置上に展開された、CPU-Bのファームウェア上のプログラムであり、セマフォのP動作を行うプログラムである。7205はセマフォ1、7206はセマフォ3、7211はタスク1、7212はタスク2である。タスク1がセマフォ1を獲得する場合、セマフォP動作を行うプログラムを実行する。セマフォP動作を行うプログラムは後述のテーブルを参照し、セマフォ1は自CPU上のセマフォであるから、そのままセマフォ獲得を行う。セマフォの開放、メッセージの送信に関しても同様である。図22のCPUが一つしか稼動していない場合には全てこの状態になる。   7204 is a program on the firmware of the CPU-B developed on the storage device, and is a program for performing the P operation of the semaphore. 7205 is semaphore 1, 7206 is semaphore 3, 7211 is task 1, and 7212 is task 2. When task 1 acquires semaphore 1, a program for performing a semaphore P operation is executed. A program for performing the semaphore P operation refers to a table to be described later, and since the semaphore 1 is a semaphore on its own CPU, the semaphore is acquired as it is. The same applies to semaphore release and message transmission. This is the case when only one CPU in FIG. 22 is operating.

図19はCPU-A上のタスク1がCPU-A上のセマフォ1を取得する例図である。7301はマルチCPUシステムにおけるCPU-A、7302はCPU−B、7303は記憶装置上に展開された、CPU-Aのファームウェア上のプログラムであり、セマフォのP動作を行うプログラムである。   FIG. 19 is an example in which task 1 on CPU-A acquires semaphore 1 on CPU-A. 7301 is CPU-A in the multi-CPU system, 7302 is CPU-B, 7303 is a program on the firmware of CPU-A developed on the storage device, and is a program for performing the P operation of the semaphore.

7304は記憶装置上に展開された、CPU-Bのファームウェア上のプログラムであり、セマフォのP動作を行うプログラムである。7305はセマフォ1、7306はセマフォ3、7311はタスク1、7312はタスク2である。タスク1がセマフォ3を獲得する場合、まず、自CPU上のセマフォP動作を行うプログラムを実行する。セマフォP動作を行うプログラムは後述のテーブルを参照し、セマフォ3はCPU-B上のセマフォであるから、CPU-Bに対してセマフォ3を獲得するように命令を出す。その後CPU-BはCPU-B上のセマフォP動作を行うプログラムを実行し、セマフォ3の獲得を行う。セマフォの開放、メッセージの送信に関しても同様である。図17のCPUが2つ稼動している場合にはこの状態になる可能性がある。   7304 is a program on the firmware of the CPU-B developed on the storage device, and is a program for performing the P operation of the semaphore. 7305 is semaphore 1, 7306 is semaphore 3, 7311 is task 1, and 7312 is task 2. When task 1 acquires semaphore 3, first, a program that performs a semaphore P operation on its own CPU is executed. A program that performs a semaphore P operation refers to a table that will be described later, and since semaphore 3 is a semaphore on CPU-B, it issues an instruction to CPU-B to acquire semaphore 3. Thereafter, CPU-B executes a program for performing a semaphore P operation on CPU-B, and acquires semaphore 3. The same applies to semaphore release and message transmission. If two CPUs in FIG. 17 are operating, this state may occur.

図20は本実施例でのセマフォ管理テーブルの図である。7401はCPU-A、7402はセマフォP動作内部にあるセマフォがどちらのCPU上で管理されているかを判別するルーチンである。7403はセマフォ1、7404はセマフォ2、7405はセマフォ3、7406はセマフォ4である。7407はマルチCPU用のセマフォ管理テーブル、7408はシングルCPU用のセマフォ管理テーブルである。これらの管理テーブルはCPUが2つのシステムの場合、2つのCPUが稼動している場合のテーブル7407と一つのCPUしか稼動していない場合のテーブル7408を全てのCPU上に配置しておく。システムで使用するセマフォにはIDが割り振られており、例えば、セマフォIDが0x10000000より小さい値の場合はCPU-Aが管理するセマフォ、セマフォIDが0x10000000より大きな値の場合はCPU-Bが管理するセマフォであると設定する。CPUが2つ稼動している場合は、各セマフォIDは7407テーブルのような値に、CPUが一つしか稼動していない場合は各セマフォIDは7408テーブルのような値になる。CPUがいくつかどうしているか検知するルーチンを通して、テーブルを切り替える。セマフォがどちらのCPU上で管理されているか判別するルーチンはCPUの稼動するに対応するテーブルを調べ、セマフォIDを取得する。そのセマフォIDの値によって、自CPUのセマフォであるか、他CPUのセマフォであるかを判別する。   FIG. 20 is a diagram of a semaphore management table in this embodiment. 7401 is CPU-A, and 7402 is a routine for determining on which CPU the semaphore in the semaphore P operation is managed. 7403 is semaphore 1, 7404 is semaphore 2, 7405 is semaphore 3, and 7406 is semaphore 4. 7407 is a semaphore management table for multiple CPUs, and 7408 is a semaphore management table for single CPUs. In these management tables, when a system has two CPUs, a table 7407 when two CPUs are operating and a table 7408 when only one CPU is operating are arranged on all the CPUs. An ID is assigned to the semaphore used in the system. For example, if the semaphore ID is less than 0x10000000, the semaphore is managed by CPU-A, and if the semaphore ID is greater than 0x10000000, it is managed by CPU-B. Set to be a semaphore. When two CPUs are operating, each semaphore ID has a value like 7407 table, and when only one CPU is operating, each semaphore ID has a value like 7408 table. Switch tables through routines that detect how some CPUs are doing. A routine for determining on which CPU the semaphore is managed checks a table corresponding to the operation of the CPU and obtains a semaphore ID. Based on the value of the semaphore ID, it is determined whether it is a semaphore of its own CPU or a semaphore of another CPU.

図21は本実施例のフローチャートである。CPU-A上で動作しているタスク1がセマフォを獲得する例を取って説明する、セマフォ開放やメッセージキューの送信に関しても同様である。7501はStart地点である。7502でセマフォ獲得のためのセマフォP動作プログラムを実行する。7503でセマフォPプログラムは前述のセマフォ管理テーブルを参照しセマフォIDを得る。7504ではセマフォIDが自CPU上で管理されているものであればという判定文である。自CPUで管理されているセマフォ(例えばセマフォ1、ID=0x00000001)であれば、7505において実際にセマフォ1を獲得する作業を行い終了となる。7504でセマフォIDが他CPU上で管理されているものであれば(セマフォ3、ID=0x10000001)、7507において、CPU-AはCPU-Bに依頼を発行する。この依頼の仕方はどのような方法でもかまわない。7508ではCPU-BはCPU−Aから依頼を受けたあと、CPU-B上のプログラムであるセマフォP動作プログラムをセマフォ3に対して行う。7509ではセマフォIDが自CPU上で管理されているものであればという判定文である。この場合、セマフォ3はCPU-B上で管理しているセマフォでありID=0x10000001であるので、自CPU(CPU-B)で管理されているセマフォであると判定する。そのため7510でCPU-B自身の管理しているセマフォ3を獲得するセマフォP動作プログラムを実行して終了となる。CPU-B上のタスク2がセマフォ3、セマフォ1をそれぞれ獲得する際にも同様の処理で行える。   FIG. 21 is a flowchart of this embodiment. The same applies to semaphore release and message queue transmission, which will be described using an example in which task 1 operating on CPU-A acquires a semaphore. 7501 is a Start point. In step 7502, a semaphore P operation program for semaphore acquisition is executed. In 7503, the semaphore P program refers to the semaphore management table described above to obtain a semaphore ID. 7504 is a determination sentence indicating that the semaphore ID is managed on the own CPU. If the semaphore is managed by its own CPU (for example, semaphore 1, ID = 0x00000001), in 7505, the operation for actually acquiring semaphore 1 is performed and the process is terminated. If the semaphore ID is managed on another CPU in 7504 (semaphore 3, ID = 0x10000001), in 7507, CPU-A issues a request to CPU-B. This request may be made in any way. In 7508, CPU-B executes a semaphore P operation program, which is a program on CPU-B, for semaphore 3 after receiving a request from CPU-A. 7509 is a determination statement that the semaphore ID is managed on the own CPU. In this case, since semaphore 3 is a semaphore managed on CPU-B and ID = 0x10000001, it is determined that the semaphore is managed by its own CPU (CPU-B). Therefore, the semaphore P operation program for acquiring the semaphore 3 managed by the CPU-B itself is executed in 7510, and the process is terminated. The same process can be performed when task 2 on CPU-B acquires semaphore 3 and semaphore 1 respectively.

本発明に係わるデータ処理装置としてのデジタル複合機の1実施例形態を示すブロック構成図である。1 is a block configuration diagram showing an embodiment of a digital multi-function peripheral as a data processing apparatus according to the present invention. デジタル複合機の内部構成図である。1 is an internal configuration diagram of a digital multi-function peripheral. 本発明に係わる電子部品としてのコントローラ部の詳細を示すブロック構成図である。It is a block block diagram which shows the detail of the controller part as an electronic component concerning this invention. メインコントローラの詳細を示すブロック構成図である。It is a block block diagram which shows the detail of a main controller. 操作部150の例を示す図である。3 is a diagram illustrating an example of an operation unit 150. FIG. 「連続読込モード」時の原稿読込設定画面の例を示す図である。FIG. 10 is a diagram illustrating an example of a document reading setting screen in “continuous reading mode”. 読込画像確認画面の例を示す図である。It is a figure which shows the example of a reading image confirmation screen. 連続読込コピー処理のフローチャートである。It is a flowchart of a continuous reading copy process. 原稿読込処理のフローチャートである。It is a flowchart of a document reading process. 蓄積画像確認(プレビュー)処理のフローチャートである。It is a flowchart of a stored image confirmation (preview) process. 制御装置内部のソフトウェア構造を示す図である。It is a figure which shows the software structure inside a control apparatus. ジョブ制御部の構造を示す図である。It is a figure which shows the structure of a job control part. 文書管理部の管理構造を示す図である。It is a figure which shows the management structure of a document management part. 主記憶装置(メモリ)を共有するマルチCPUの図である。FIG. 3 is a diagram of a multi CPU sharing a main storage device (memory). セマフォに関しての説明図である。It is explanatory drawing regarding a semaphore. 本実施例でのシステム構成の図である。It is a figure of the system configuration | structure in a present Example. 本実施例でのシステム構成の図である。It is a figure of the system configuration | structure in a present Example. 本実施例でのシステム構成の図である。It is a figure of the system configuration | structure in a present Example. 本実施例でのシステム構成の図である。It is a figure of the system configuration | structure in a present Example. 本実施例でのシステム構成の図である。It is a figure of the system configuration | structure in a present Example. 本実施例でのシステム構成の図である。It is a figure of the system configuration | structure in a present Example. 本実施例でのシステム構成の図である。It is a figure of the system configuration | structure in a present Example.

Claims (7)

複数のCPUを有する画像形成装置であり、複数のCPU上のOSはそれぞれ別のものであるか、マルチCPU対応ではないOSにおいて、あるいは、同一OSであってもCPUのアーキテクチャが異なり、シンメトリカルにOSを使用できない場合において、OSの資源をIDで管理すること、マルチCPUシステムにおけるすべてのOSの前記資源を全て一つのテーブル、あるいは任意の異なるIDで管理し、前記テーブルあるいはIDを全てのCPU上のOSで所持することを特徴とするシステム。   An image forming apparatus with multiple CPUs, and the operating systems on multiple CPUs are different, or are not compatible with multiple CPUs. When OS cannot be used, OS resources are managed by ID, all resources of all OSs in a multi-CPU system are managed by one table or any different ID, and the table or ID is all CPUs A system characterized by possession of the above OS. 請求項1を具備し、前記資源を使用するためのプログラムは、前記テーブルあるいはIDを参照することを特徴とするシステム。   The system according to claim 1, wherein a program for using the resource refers to the table or ID. 請求項2のプログラムを全てのCPU上のOS内に持つことを特徴とするシステム。   A system having the program of claim 2 in an OS on all CPUs. 請求項3を具備し、ユーザーが資源を利用する際には、前記プログラムを使用するkと、その際、前記プログラムは前記テーブルあるいはIDを参照し、資源がどのCPU上のものであるかを判別し、自CPUの資源であれば、自CPUのOS内のプログラムを使用し、資源を使用することを特徴とするシステム。   When the user uses the resource, the user uses the program, and the program refers to the table or the ID to determine which CPU the resource is on. A system characterized in that if it is a resource of its own CPU, it uses a program in the OS of its own CPU and uses the resource. 請求項3を具備し、ユーザーが資源を利用する際には、前記プログラムを使用するkと、その際、前記プログラムは前記テーブルあるいはIDを参照し、資源がどのCPU上のものであるかを判別し、他CPUの資源であれば、他CPUとネゴシエーションを行い、他CPUが他CPUのOS内のプログラムを使用し、資源を使用することを命令することを特徴とするシステム。   When the user uses the resource, the user uses the program, and the program refers to the table or the ID to determine which CPU the resource is on. A system characterized in that if it is a resource of another CPU, it negotiates with the other CPU, and the other CPU uses a program in the OS of the other CPU and instructs to use the resource. 請求項1を具備し、前記テーブルは、マルチCPUの場合とシングルCPUの場合とを顧慮し、複数のテーブルを所持することを特徴とするシステム。   The system according to claim 1, wherein the table has a plurality of tables in consideration of a case of a multi CPU and a case of a single CPU. 請求項6を具備し、稼動しているCPUの個数を検知し、前記複数所持しているテーブルを切り替えることを特徴とするシステム。   7. A system comprising: the number of operating CPUs is detected, and the plurality of tables possessed are switched.
JP2006278937A 2006-10-12 2006-10-12 Digital multifunction machine, control method therefor, program, and storage medium Withdrawn JP2008097356A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006278937A JP2008097356A (en) 2006-10-12 2006-10-12 Digital multifunction machine, control method therefor, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006278937A JP2008097356A (en) 2006-10-12 2006-10-12 Digital multifunction machine, control method therefor, program, and storage medium

Publications (1)

Publication Number Publication Date
JP2008097356A true JP2008097356A (en) 2008-04-24

Family

ID=39380128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006278937A Withdrawn JP2008097356A (en) 2006-10-12 2006-10-12 Digital multifunction machine, control method therefor, program, and storage medium

Country Status (1)

Country Link
JP (1) JP2008097356A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113524A (en) * 2008-11-06 2010-05-20 Exit-Cube Inc Computer system, kernel scheduling system, resource allocation method, and process execution sharing method
JP2015038757A (en) * 2014-10-03 2015-02-26 イグジット−キューブ,インク. Computer system, kernel scheduling system, resource allocation method, and process execution sharing method
US9098712B2 (en) 2002-08-23 2015-08-04 Exit-Cube (Hong Kong) Limited Encrypting operating system
US9449186B2 (en) 2005-03-04 2016-09-20 Encrypthentica Limited System for and method of managing access to a system using combinations of user information

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098712B2 (en) 2002-08-23 2015-08-04 Exit-Cube (Hong Kong) Limited Encrypting operating system
US9449186B2 (en) 2005-03-04 2016-09-20 Encrypthentica Limited System for and method of managing access to a system using combinations of user information
JP2010113524A (en) * 2008-11-06 2010-05-20 Exit-Cube Inc Computer system, kernel scheduling system, resource allocation method, and process execution sharing method
JP2015038757A (en) * 2014-10-03 2015-02-26 イグジット−キューブ,インク. Computer system, kernel scheduling system, resource allocation method, and process execution sharing method

Similar Documents

Publication Publication Date Title
US8248650B2 (en) Image processing apparatus, image processing method, and image processing program
US7920286B2 (en) Image output apparatus, history management method, and history management program
US6539198B2 (en) Image forming apparatus, control method of the image forming apparatus and storage medium
JP2007188226A (en) Digital multifunctional machine and its control method
JP2008097356A (en) Digital multifunction machine, control method therefor, program, and storage medium
JP2006222580A (en) Image processing apparatus and control method thereof, program and, storage medium
JP2005144797A (en) Printing device, data processing device, print processing method, storage medium storing computer-readable program and program
JP2008140191A (en) File system
JP2008099013A (en) Digital complex machine, control method thereof, program and storage medium
JP4054756B2 (en) Image processing apparatus, image processing method, and storage medium storing computer-readable program
JP2009100101A (en) Digital composite machine
JP2010004271A (en) Image processing device
JP2006186656A (en) Image processor, managing method of transfer job, program, and recording medium
JP2007028183A (en) Image copying machine
US8411302B2 (en) Printing system, printing apparatus and print control method therefor
JP2007043553A (en) Fax, program, and storage medium
JP2006173843A (en) Image information i/o device
JP2006347066A (en) Digital multi-functioned machine, and control method, program and storing medium therefor
JP2006155467A (en) Digital composite machine, its control method, program, and storage medium
JP2006222581A (en) Image forming apparatus and control method thereof, computer program, and storage medium
JP2009087302A (en) Image forming apparatus
JP2006056062A (en) Image copying apparatus
JP2006155163A (en) Digital composite machine, its control method, program, and storage medium
JP2004007047A (en) Digital copying apparatus, its control method, its program and storage medium
JP4086473B2 (en) Image forming system, control method, and computer-readable storage medium

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100105