JP2008112274A - Controller and program - Google Patents

Controller and program Download PDF

Info

Publication number
JP2008112274A
JP2008112274A JP2006294043A JP2006294043A JP2008112274A JP 2008112274 A JP2008112274 A JP 2008112274A JP 2006294043 A JP2006294043 A JP 2006294043A JP 2006294043 A JP2006294043 A JP 2006294043A JP 2008112274 A JP2008112274 A JP 2008112274A
Authority
JP
Japan
Prior art keywords
processing
executed
arithmetic processing
predetermined
target
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
JP2006294043A
Other languages
Japanese (ja)
Inventor
Junichi Okuyama
潤一 奥山
Mitsuyuki Tamaya
光之 玉谷
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 JP2006294043A priority Critical patent/JP2008112274A/en
Publication of JP2008112274A publication Critical patent/JP2008112274A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To allow the suppression of a processing delay and the occurrence of useless processing, even if processing in a target is not performed as predicted. <P>SOLUTION: An image processor 100 has a host 10 and a target 20. The host 10 performs various kinds of processing for controlling the image processor 100, and requests the target 20 to perform specific image processing. The target 20 performs image processing requested from the host 10, and upon the completion thereof, transmits an interrupt signal to the host 10. When requesting the target 20 to perform image processing, the host 10 calculates a necessary time in the target 20 for the image processing. Then, the host 10 requests the target 20 to perform the image processing and after the necessary time elapses, processing performed in the host 10 is retreated into a memory 12, and made to wait for the transmission of an interrupt signal. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、制御装置およびプログラムに関する。   The present invention relates to a control device and a program.

例えば、複雑な画像処理を実行する画像処理装置などにおいては、装置全体の動作を制御する演算処理装置(CPU等)に加えて、特定の画像処理に特化した演算処理装置(DSP等)を設ける構成を採用し、全体的な処理の効率化を図ることがある。以下では、この構成における前者の演算処理装置を「ホスト」といい、後者の演算処理装置を「ターゲット」という。   For example, in an image processing apparatus that performs complex image processing, an arithmetic processing apparatus (DSP or the like) specialized for specific image processing is added to an arithmetic processing apparatus (CPU or the like) that controls the operation of the entire apparatus. In some cases, a configuration to be provided is employed to improve overall processing efficiency. Hereinafter, the former arithmetic processing unit in this configuration is referred to as “host”, and the latter arithmetic processing unit is referred to as “target”.

ホストとターゲットとを用いて処理を行う場合に、ホストがターゲットの状態を知るための方法としては、割込とポーリングとがある(例えば、特許文献1および2参照)。ホストは、割込ハンドラを起動することによって割込への対応を行うが、割込ハンドラの起動に伴って多少のオーバーヘッド(時間的負荷)を生じる。それゆえ、ターゲットに要求する処理が何度も発生するような場合には、割込よりもポーリングを用いたほうが望ましいといえる。   When a process is performed using a host and a target, there are interrupt and polling as a method for the host to know the state of the target (see, for example, Patent Documents 1 and 2). The host responds to the interrupt by activating the interrupt handler, but some overhead (temporal load) is generated with the activation of the interrupt handler. Therefore, it can be said that it is preferable to use polling rather than interrupt when processing required for the target occurs many times.

ポーリングを行うときには、あらかじめターゲットが処理を行うために要する時間をホスト側で予測し、予測した時間に基づいてターゲットに問い合わせることがある。このようにすれば、ホストにおいて時間を無駄にすることなくポーリングに対応することができる。
特開平6−19823号公報 特開平6−175860号公報
When polling is performed, a time required for the target to perform processing may be predicted on the host side in advance, and the target may be inquired based on the predicted time. In this way, polling can be handled without wasting time in the host.
JP-A-6-19823 JP-A-6-175860

しかし、ターゲットにおける処理は必ずしも予測通り行われるとは限らず、ノイズ等の予期せぬ遅延要因によって予測よりも多くの時間を要してしまうことがある。このような場合に、予測した時間に基づいてターゲットに問い合わせたのでは、所期する情報が1回のポーリングによっては得られず、ポーリングを繰り返し行わなければならないなどの不都合を生じる。そうすると、ホストおよびターゲットの双方において処理の遅延や無駄な処理の発生が生じ、処理効率が低下する。   However, processing at the target is not always performed as predicted, and may take more time than predicted due to unexpected delay factors such as noise. In such a case, if the target is inquired based on the predicted time, the expected information cannot be obtained by one polling, and the inconvenience arises that the polling must be repeated. Then, processing delay and wasteful processing occur in both the host and the target, and processing efficiency decreases.

本発明はかかる事情に鑑みてなされたものであり、その目的は、ターゲットにおける処理が予測通りに行われないことがあっても、処理の遅延や無駄な処理の発生を抑制することを可能にする技術を提供することにある。   The present invention has been made in view of such circumstances, and an object of the present invention is to suppress delays in processing and occurrence of useless processing even when processing at a target is not performed as expected. It is to provide technology to do.

上述の目的を達成するために、本発明は、所定の処理を実行可能な演算処理装置であって、当該処理を終了すると割込信号を送信する演算処理装置と接続する接続手段と、自装置または前記演算処理装置において実行される処理の内容を特定する処理種別情報を取得する取得手段と、前記取得手段により取得された処理種別情報によって特定される処理が、前記演算処理装置において実行される前記所定の処理である場合に、前記接続手段を介して前記演算処理装置に当該処理の実行を要求する処理要求手段と、前記演算処理装置が前記処理要求手段により要求された前記所定の処理を開始してから終了するまでに要する所要時間を算出する算出手段と、前記接続手段を介して前記演算処理装置から受信した割込信号または前記取得手段により取得された処理種別情報に基づいて、自装置において実行すべき処理を実行する処理実行手段とを備え、前記処理実行手段は、前記処理要求手段により前記演算処理装置に前記所定の処理の実行が要求され、かつ、自装置において処理を実行中である場合に、前記処理要求手段が当該所定の処理の実行を要求してから前記算出手段により算出された所要時間が経過するまでの間に前記実行中の処理を中断し、その後、前記接続手段を介して割込信号を受信すると、前記演算処理装置が実行した前記所定の処理に応じた処理を実行する制御装置を提供する。   In order to achieve the above-described object, the present invention is an arithmetic processing device capable of executing a predetermined process, and a connection means for connecting to an arithmetic processing device that transmits an interrupt signal when the processing is completed, Alternatively, an acquisition unit that acquires process type information that specifies the content of a process executed in the arithmetic processing device, and a process that is specified by the process type information acquired by the acquisition unit is executed in the arithmetic processing device. In the case of the predetermined process, a processing request unit that requests the arithmetic processing unit to execute the process via the connection unit, and the predetermined process requested by the processing request unit by the processing unit. A calculation unit that calculates a time required from the start to the end, and an interrupt signal received from the arithmetic processing unit via the connection unit or the acquisition unit. Processing execution means for executing a process to be executed in the own apparatus based on the acquired process type information, and the process execution means causes the processing request means to execute the predetermined process on the arithmetic processing unit. When the process is requested and the process is being executed in the own apparatus, the process request unit requests the execution of the predetermined process until the required time calculated by the calculation unit elapses. When a process being executed is interrupted and then an interrupt signal is received via the connection means, a control device is provided that executes a process corresponding to the predetermined process executed by the arithmetic processing unit.

また、本発明は、前記演算処理装置が、複数の前記所定の処理を実行可能であって、各々の前記所定の処理を構成する複数の演算処理を実行する複数の内部プロセサと、前記複数の内部プロセサの状態を示す情報を各々の内部プロセサに対応する記憶領域に記憶するステータスレジスタとを備える場合において、前記処理実行手段は、前記接続手段を介して割込信号を受信すると、当該割込信号の契機となった前記所定の処理を前記算出手段により当該処理について算出された所要時間に基づいて特定する構成であってもよい。   According to the present invention, the arithmetic processing device is capable of executing a plurality of the predetermined processes, and includes a plurality of internal processors that execute a plurality of arithmetic processes constituting each of the predetermined processes, And a status register that stores information indicating the state of the internal processor in a storage area corresponding to each internal processor, the processing execution means receives the interrupt signal via the connection means, and The configuration may be such that the predetermined process triggered by the signal is specified based on the required time calculated for the process by the calculation unit.

また、かかる構成において、前記処理実行手段は、前記ステータスレジスタの記憶領域のうち、前記特定された所定の処理を実行する際に用いられた前記内部プロセサの状態を示す情報が記憶された記憶領域を特定して参照してもよい。
あるいは、前記処理実行手段は、前記所定の処理である第1の処理と第2の処理とを示す処理種別情報が前記取得手段により取得され、かつ、前記第1の処理を前記割込信号の契機となった処理として特定した場合、当該特定後であって前記演算処理装置が前記第2の処理を実行中である期間に、前記ステータスレジスタの記憶領域のうち前記第1の処理を実行する際に用いられた前記内部プロセサの状態を示す情報が記憶された記憶領域を参照してもよい。
Further, in this configuration, the process execution means stores a storage area in which information indicating the state of the internal processor used when executing the specified predetermined process is stored in the storage area of the status register May be identified and referenced.
Alternatively, the process execution means acquires the process type information indicating the first process and the second process as the predetermined process by the acquisition means, and performs the first process on the interrupt signal. When specified as a trigger process, the first process is executed in the storage area of the status register during the period after the specification and the arithmetic processing unit is executing the second process. You may refer to the storage area in which information indicating the state of the internal processor used at the time is stored.

また、本発明は、上述した制御装置の機能を実現するためのプログラムとしても特定され得る。例えば、本発明は、所定の処理を実行可能な演算処理装置であって、当該処理を終了すると割込信号を送信する演算処理装置と接続するコンピュータに、実行される処理の内容を特定する処理種別情報を取得する取得機能と、前記取得機能により取得された処理種別情報によって特定される処理が前記所定の処理である場合に、前記演算処理装置と接続する接続手段を介して、当該演算処理装置に当該処理の実行を要求する処理要求機能と、前記演算処理装置が前記処理要求機能により要求された前記所定の処理を開始してから終了するまでに要する所要時間を算出する算出機能と、前記接続手段を介して前記演算処理装置から受信した割込信号または前記取得機能により取得された処理種別情報に基づいて、自装置において実行すべき処理を実行する処理実行機能であって、前記処理要求機能により前記演算処理装置に前記所定の処理の実行が要求され、かつ、自装置において処理を実行中である場合に、前記処理要求機能が当該所定の処理の実行を要求してから前記算出機能により算出された所要時間が経過するまでの間に前記実行中の処理を中断し、その後、前記接続手段を介して割込信号を受信すると、前記演算処理装置が実行した前記所定の処理に応じた処理を実行する処理実行機能とを実現させるためのプログラムとしても特定され得る。   The present invention can also be specified as a program for realizing the functions of the control device described above. For example, the present invention is an arithmetic processing unit capable of executing a predetermined process, and a process for specifying the content of the process to be executed in a computer connected to the arithmetic processing unit that transmits an interrupt signal when the process ends. If the acquisition function for acquiring type information and the process specified by the process type information acquired by the acquisition function are the predetermined process, the calculation process is performed via a connection unit connected to the calculation processing device. A processing request function for requesting the apparatus to execute the processing; a calculation function for calculating a time required for the arithmetic processing apparatus to start from the predetermined processing requested by the processing request function; and Processing to be executed in its own device based on the interrupt signal received from the arithmetic processing device via the connection means or the processing type information acquired by the acquisition function A process execution function to be executed, when the processing request function requests the arithmetic processing device to execute the predetermined process, and the process request function When the execution of the process is requested until the required time calculated by the calculation function elapses, the process being executed is interrupted, and then an interrupt signal is received via the connection means. It can also be specified as a program for realizing a process execution function for executing a process according to the predetermined process executed by the arithmetic processing unit.

以上のような本発明により、ターゲットにおける処理が予測通りに行われないことがあっても、処理の遅延や無駄な処理の発生を抑制することが可能となる。   According to the present invention as described above, it is possible to suppress processing delays and useless processing even when processing at the target is not performed as expected.

以下、本発明の実施の形態について、図面を参照しながら説明する。
[構成]
図1は、本発明の一実施形態である画像処理装置100の構成を示すブロック図である。この画像処理装置100は、例えば、プリンタや複写機等の画像形成装置の一部を構成するものである。なお、画像形成装置は、ユーザが指示を入力するための入力装置や、ネットワークを介してコンピュータ装置と接続するための通信インタフェース等を備えている。画像処理装置100の構成は、同図に示すように、装置全体の動作を制御するホスト10と、特定の画像処理を実行するターゲット20とに大別される。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[Constitution]
FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus 100 according to an embodiment of the present invention. The image processing apparatus 100 constitutes a part of an image forming apparatus such as a printer or a copying machine. Note that the image forming apparatus includes an input device for a user to input an instruction, a communication interface for connecting to a computer device via a network, and the like. As shown in the figure, the configuration of the image processing apparatus 100 is roughly divided into a host 10 that controls the operation of the entire apparatus and a target 20 that executes specific image processing.

ホスト10は、コントローラ11と、メモリ12と、ターゲットIF(InterFace)13と、入出力IF14とを備える。コントローラ11は、CPU(Central Processing Unit)等の演算処理装置、ROM(Read Only Memory)、発振器およびタイマを備える。コントローラ11は、ROMに記憶された所定のプログラムに基づいて、入力装置や通信インタフェースを介して要求された処理を実行することにより、画像形成装置全体の動作を制御する。また、コントローラ11は、タイマを用いた時間計測機能を実現する。タイマは、演算処理装置から指示された所定の時間が経過(すなわちタイムアウト)すると、これを演算処理装置に通知するように構成されている。メモリ12は、SDRAM(Synchronous Dynamic Random Access Memory)やDDR(Double Data Rate)−SDRAM等の記憶装置を備え、コントローラ11のワークエリアとして機能する。ターゲットIF13は、コントローラ11がターゲット20とデータのやりとりを行うためのインタフェースであり、複数の信号線によりターゲット20と接続する。なお、ターゲットIF13と接続する複数の信号線には、ターゲット20からホスト10に割込信号を送信するための信号線と、ホスト10からターゲット20に画像処理の要求(コマンド)を送信するための信号線と、ホスト10とターゲット20との間で画像処理に関するデータを送受信するための信号線とが含まれる。入出力IF14は、入出力装置や通信インタフェースからの要求を表す情報や画像データなどを取得したり、あるいは、情報や画像データを供給するためのインタフェースである。入力装置や通信インタフェースから送信される情報は、画像処理装置100において実行すべき処理がどのようなものであるかを特定するものである。そこで、この情報のことを、以下では「処理種別情報」という。   The host 10 includes a controller 11, a memory 12, a target IF (InterFace) 13, and an input / output IF 14. The controller 11 includes an arithmetic processing unit such as a CPU (Central Processing Unit), a ROM (Read Only Memory), an oscillator, and a timer. The controller 11 controls the operation of the entire image forming apparatus by executing a requested process via an input device or a communication interface based on a predetermined program stored in the ROM. Further, the controller 11 realizes a time measurement function using a timer. The timer is configured to notify the arithmetic processing device when a predetermined time instructed from the arithmetic processing device has elapsed (that is, timed out). The memory 12 includes a storage device such as SDRAM (Synchronous Dynamic Random Access Memory) or DDR (Double Data Rate) -SDRAM and functions as a work area of the controller 11. The target IF 13 is an interface for the controller 11 to exchange data with the target 20 and is connected to the target 20 through a plurality of signal lines. Note that a signal line for transmitting an interrupt signal from the target 20 to the host 10 and a signal processing request (command) from the host 10 to the target 20 are transmitted to the plurality of signal lines connected to the target IF 13. A signal line and a signal line for transmitting and receiving data relating to image processing between the host 10 and the target 20 are included. The input / output IF 14 is an interface for acquiring information or image data representing a request from an input / output device or a communication interface, or for supplying information or image data. Information transmitted from the input device or the communication interface specifies what kind of processing is to be executed in the image processing apparatus 100. Therefore, this information is hereinafter referred to as “processing type information”.

なお、画像処理装置100において実行すべき処理のそれぞれには、所定の優先度が割り当てられている。ホスト10は、優先度の高い処理を優先的に実行するように構成されている。各処理の優先度は、処理種別情報から一意的に特定可能である。例えば、各処理の優先度は、処理種別情報と関連付けられてホスト10の内部にあらかじめ記憶されていてもよいし、処理種別情報に含まれる態様であってもよい。   A predetermined priority is assigned to each process to be executed in the image processing apparatus 100. The host 10 is configured to preferentially execute processing with high priority. The priority of each process can be uniquely specified from the process type information. For example, the priority of each process may be stored in advance in the host 10 in association with the process type information, or may be included in the process type information.

ターゲット20は、プロセサ21と、メモリ22と、ホストIF23とを備える。プロセサ21は、DSP(Digital Signal Processor)やASIC(Application Specific Integrated Circuit )等の演算処理装置や発振器を備え、供給されるデータに基づいて所定の画像処理を実行する。なお、プロセサ21は、複数の異なる画像処理を実行可能であるとともに、複数の演算処理を並列的に実行可能である。メモリ22は、SDRAMやDDR−SDRAM等の記憶装置を備え、プロセサ21のワークエリアとして機能する。ホストIF23は、プロセサ21がホスト10とデータのやりとりを行うためのインタフェースであり、上述した複数の信号線によりホスト10と接続する。なお、プロセサ21は、ホスト10から要求された画像処理を終了すると、ホストIF23を介して割込信号を送信するように構成されている。   The target 20 includes a processor 21, a memory 22, and a host IF 23. The processor 21 includes an arithmetic processing device such as a DSP (Digital Signal Processor) and an ASIC (Application Specific Integrated Circuit) and an oscillator, and executes predetermined image processing based on supplied data. The processor 21 can execute a plurality of different image processes and can execute a plurality of arithmetic processes in parallel. The memory 22 includes a storage device such as SDRAM or DDR-SDRAM and functions as a work area of the processor 21. The host IF 23 is an interface for the processor 21 to exchange data with the host 10 and is connected to the host 10 through the above-described plurality of signal lines. The processor 21 is configured to transmit an interrupt signal via the host IF 23 when the image processing requested from the host 10 is completed.

ここで、図2を参照してプロセサ21の内部構成を説明する。同図に示すように、プロセサ21は、複数の内部プロセサP1、P11、P12、…、P1m、P2、P3、…、Pn(ただし、mおよびnは任意の自然数)と、複数のステータスレジスタR0、R1、R11、R12、…、R1m、R2、R3、…、Rnとを備える。個々の内部プロセサは、1または複数の演算器を有し、それぞれが決められた演算処理を実行する。また、個々のステータスレジスタは、所定のビット数のレジスタであり、内部プロセサのステータス(状態)、すなわち、要求された演算処理が内部プロセサによって正常に実行されたか否かを表す情報を記憶する。   Here, the internal configuration of the processor 21 will be described with reference to FIG. As shown in the figure, the processor 21 includes a plurality of internal processors P1, P11, P12,..., P1m, P2, P3,..., Pn (where m and n are arbitrary natural numbers) and a plurality of status registers R0. , R1, R11, R12,..., R1m, R2, R3,. Each internal processor has one or a plurality of arithmetic units, and each executes a predetermined arithmetic processing. Each status register is a register having a predetermined number of bits, and stores information indicating the status (state) of the internal processor, that is, whether the requested arithmetic processing is normally executed by the internal processor.

ステータスレジスタは、あるレジスタの表す値が「1」の場合、当該レジスタに対応する演算処理が正常に終了したことを表しており、あるレジスタの表す値が「2」の場合、当該レジスタに対応する演算処理が正常に終了していない(すなわち異常終了した)ことを表している。また、ステータスレジスタは、あるレジスタの表す値が「0」の場合、当該レジスタに対応する内部プロセサが演算処理を要求されていない状態(アイドル状態)であることを表しており、あるレジスタの表す値が「3」の場合、当該レジスタに対応する内部プロセサが演算処理を実行中の状態(ビジー状態)であることを表している。つまり、この場合、ステータスレジスタは、2ビットの記憶領域により1つの内部プロセサのステータスを表している。   When the value represented by a certain register is “1”, the status register indicates that the arithmetic processing corresponding to the register has been completed normally. When the value represented by a certain register is “2”, the status register corresponds to the register. This indicates that the arithmetic processing to be performed has not ended normally (that is, ended abnormally). In addition, when the value represented by a certain register is “0”, the status register indicates that the internal processor corresponding to the register is not requested to perform arithmetic processing (idle state). A value of “3” indicates that the internal processor corresponding to the register is in a state (busy state) in which arithmetic processing is being executed. That is, in this case, the status register represents the status of one internal processor by a 2-bit storage area.

内部プロセサP1、P11、P12、…、P1m、P2、P3、…、Pnは、階層的な構造となるような関連を有している。図2において、内部プロセサP1、P2、P3、…、Pnは上層側に相当し、内部プロセサP11、P12、…、P1mは、内部プロセサP1に対して下層側に相当する。なお、同図においては図示を省略しているが、内部プロセサP2、P3、…、Pnについても、下層側に相当する内部プロセサが内部プロセサP1のそれと同様に関連付けられている。しかし、内部プロセサP2、P3、…、Pnに関連付けられた内部プロセサの数は、m個に限らない。また、これも特に図示しないが、内部プロセサP11、P12、…、P1mに対しても、より下層側の内部プロセサが存在する構成であってもよい。   The internal processors P1, P11, P12,..., P1m, P2, P3,..., Pn have a relationship that forms a hierarchical structure. In FIG. 2, internal processors P1, P2, P3,..., Pn correspond to the upper layer side, and internal processors P11, P12,..., P1m correspond to the lower layer side with respect to the internal processor P1. Although not shown in the figure, for the internal processors P2, P3,..., Pn, the internal processor corresponding to the lower layer side is associated with that of the internal processor P1. However, the number of internal processors associated with the internal processors P2, P3,..., Pn is not limited to m. Further, although not particularly illustrated, a configuration in which a lower-layer internal processor exists also for the internal processors P11, P12,..., P1m may be employed.

ステータスレジスタR0は、内部プロセサP1、P2、P3、…、Pnに対応するものである。すなわち、ステータスレジスタR0は、少なくとも2nビット分の記憶領域を有し、各記憶領域が内部プロセサP1、P2、P3、…、Pnのステータスを表す。また、ステータスレジスタR1は、内部プロセサP11、P12、…、P1mに対応する2mビット分の記憶領域を有し、各記憶領域が内部プロセサP11、P12、…、P1mの状態を表す。なお、ステータスレジスタR2、R3、…、Rnも、上述したステータスレジスタR1と同様の構造となっている。   The status register R0 corresponds to the internal processors P1, P2, P3,. That is, the status register R0 has a storage area of at least 2n bits, and each storage area represents the status of the internal processors P1, P2, P3,. The status register R1 has a storage area of 2 m bits corresponding to the internal processors P11, P12,..., P1m, and each storage area represents the state of the internal processors P11, P12,. The status registers R2, R3,..., Rn have the same structure as the status register R1 described above.

なお、ターゲット20が実行する画像処理には、その開始から終了までに要する時間(所要時間)が予測可能な処理とそうでない処理とがあるが、本実施形態において対象とするのは、前者とする。所要時間が予測不可能な画像処理については、通常の割込処理を行えばよい。所要時間が予測可能な処理には、例えば、入力された画像データのピクセル数に対して出力する画像データのピクセル数があらかじめ定まっている画像処理がある。このような画像処理の例としては、いわゆるネガポジ反転処理やサブサンプリング処理(間引き処理)などがある。ここにおいて、ネガポジ反転処理とは、例えば、入力された画像データの各ピクセルが8ビット(すなわち256階調)の階調値Nで表される場合に、その階調値を全て「255−N」に変換する処理のことである。また、サブサンプリング処理とは、画像データのピクセル数を所定の割合で間引く処理のことである。このような画像処理の場合、画像データのピクセル数やピクセル毎の処理に要するクロックサイクル数に基づいて、その所要時間を算出することが可能である。   Note that the image processing executed by the target 20 includes a process in which the time (required time) required from the start to the end thereof can be predicted and a process in which the time is not so. In the present embodiment, the target is To do. For image processing whose required time cannot be predicted, normal interrupt processing may be performed. For example, the required time can be predicted by image processing in which the number of pixels of image data to be output is determined in advance with respect to the number of pixels of input image data. Examples of such image processing include so-called negative / positive inversion processing and sub-sampling processing (thinning-out processing). Here, the negative / positive inversion processing is, for example, when each pixel of input image data is represented by a gradation value N of 8 bits (that is, 256 gradations), all the gradation values are “255-N”. Is a process of converting to "." The sub-sampling process is a process for thinning out the number of pixels of image data at a predetermined rate. In the case of such image processing, it is possible to calculate the required time based on the number of pixels of image data and the number of clock cycles required for processing for each pixel.

[動作]
上述した構成のもと、画像処理装置100は、種々の処理を実行する。画像処理装置100においては、ホスト10が主体となって処理を実行するが、一部の処理については、ホスト10に代わってターゲット20が実行するようになっている。このときの動作を概要は以下の通りである。すなわち、画像処理装置100のホスト10は、まず、入力装置や通信インタフェースから処理種別情報を入力IF14を介して取得し、その情報に基づいて、実行すべき処理の内容を特定する。そして、ホスト10は、特定した処理のうち、自らが実行可能な処理については自らで実行し、ターゲット20が実行可能な画像処理についてはターゲット20に実行させる。ターゲット20における処理が終了したら、ホスト10は、その処理結果に応じた処理をさらに実行する。
[Operation]
Based on the above-described configuration, the image processing apparatus 100 executes various processes. In the image processing apparatus 100, the host 10 mainly performs the processing, but the target 20 executes the part of the processing instead of the host 10. The outline of the operation at this time is as follows. That is, the host 10 of the image processing apparatus 100 first acquires process type information from the input device or the communication interface via the input IF 14, and specifies the content of the process to be executed based on the information. Then, the host 10 executes the process that can be executed by the host 10 by itself, and causes the target 20 to execute the image process that can be executed by the target 20. When the processing at the target 20 is completed, the host 10 further executes processing according to the processing result.

このような一連の処理を効率良く実行するために、ホスト10には、自らが実行可能な処理については自らで実行しつつ、ターゲット20の状態を適宜判断し、必要に応じてターゲット20に画像処理を実行させることが求められる。以下においては、画像処理装置100が上述した一連の処理を効率良く実行するための動作について、3つの動作例を挙げて説明する。なお、以下に示す動作例においては、処理種別情報が供給されるときに、ホスト10において何らかの処理が実行されている状況を前提として説明する。   In order to execute such a series of processes efficiently, the host 10 determines the state of the target 20 as appropriate while executing the processes that can be executed by itself, and images the target 20 as necessary. It is required to execute the process. In the following, operations for the image processing apparatus 100 to efficiently execute the above-described series of processes will be described with reference to three operation examples. Note that the following operation example will be described on the assumption that some processing is being executed in the host 10 when processing type information is supplied.

(1)動作例1
図3は、本実施形態の画像処理装置100の第1の動作例を示すフローチャートである。以下、同図に沿って説明する。まず、画像処理装置100において、入力装置や通信インタフェースから何らかの要求が入力されると、ホスト10のコントローラ11は、この入力に対応する割込ハンドラを起動することにより、実行中の処理を中断し、その処理内容をメモリ12の所定領域に保持する(ステップSa1)。すなわち、コントローラ11は、実行中の処理をメモリ12に退避させ、後にこの処理を再開できるようにしておく。
(1) Operation example 1
FIG. 3 is a flowchart illustrating a first operation example of the image processing apparatus 100 according to the present embodiment. Hereinafter, description will be given with reference to FIG. First, in the image processing apparatus 100, when any request is input from the input device or the communication interface, the controller 11 of the host 10 activates an interrupt handler corresponding to the input, thereby interrupting the process being executed. The processing contents are held in a predetermined area of the memory 12 (step Sa1). That is, the controller 11 saves the process being executed in the memory 12 so that the process can be resumed later.

次に、コントローラ11は、入力された要求に応じた処理種別情報を取得する(ステップSa2)。処理種別情報を取得したら、コントローラ11は、処理種別情報により特定される処理がターゲット20の実行可能な画像処理であるか否かを判断する(ステップSa3)。処理種別情報により特定される処理がターゲット20の実行可能な画像処理でない場合(ステップSa3:NO)、コントローラ11は、この処理をホスト10で実行すべき処理であると特定し、その優先度に応じた処理を実行する(ステップSa13)。ここで、コントローラ11は、処理種別情報により特定された処理が退避中の処理よりも優先度の高い処理である場合は、当該特定された処理を実行し、処理種別情報により特定された処理が退避中の処理よりも優先度の低い処理である場合は、退避中の処理を再開し、終了した後に当該特定された処理を実行する。なお、このステップにおけるコントローラ11の動作は、通常の割込処理のそれと同様であるため、詳細な説明は省略する。   Next, the controller 11 acquires process type information corresponding to the input request (step Sa2). If the process type information is acquired, the controller 11 determines whether or not the process specified by the process type information is an image process that can be executed by the target 20 (step Sa3). When the process specified by the process type information is not an image process that can be executed by the target 20 (step Sa3: NO), the controller 11 specifies that this process is to be executed by the host 10, and sets the priority thereof. A corresponding process is executed (step Sa13). Here, when the process specified by the process type information is a process having a higher priority than the process being saved, the controller 11 executes the specified process, and the process specified by the process type information is executed. If the process has a lower priority than the process being saved, the process being saved is resumed, and the specified process is executed after the process is finished. Note that the operation of the controller 11 at this step is the same as that of a normal interrupt process, and thus detailed description thereof is omitted.

一方、処理種別情報により特定される処理がターゲット20の実行可能な画像処理である場合(ステップSa3:YES)、コントローラ11は、その画像処理の所要時間を算出する(ステップSa4)。なお、このときコントローラ11が算出する所要時間は、予測値に過ぎない。そのため、ターゲット20は、要求された画像処理を実行するに際し、予期せぬ遅延要因によって所要時間よりも多くの時間を要してしまうこともある。   On the other hand, when the process specified by the process type information is an image process that can be executed by the target 20 (step Sa3: YES), the controller 11 calculates the time required for the image process (step Sa4). The required time calculated by the controller 11 at this time is only a predicted value. Therefore, the target 20 may take more time than the required time due to an unexpected delay factor when executing the requested image processing.

所要時間を算出したら、コントローラ11は、この所要時間に基づいてタイマに時間の計測を開始させる(ステップSa5)。続いて、コントローラ11は、取得した処理種別情報により特定される画像処理の実行をターゲット20に要求する(ステップSa6)。そして、ターゲット20に要求を送信したら、コントローラ11は、メモリ12に退避させた処理に関するデータを読み出し、退避させていた処理を再開する(ステップSa7)。   After calculating the required time, the controller 11 causes the timer to start measuring time based on the required time (step Sa5). Subsequently, the controller 11 requests the target 20 to execute the image processing specified by the acquired processing type information (step Sa6). Then, when the request is transmitted to the target 20, the controller 11 reads the data related to the processing saved in the memory 12, and resumes the saved processing (step Sa7).

コントローラ11が処理を実行していると、やがて、ターゲット20における画像処理が終了する。上述したように、タイマは、所要時間に達するとこれを通知するように構成されている。そのため、コントローラ11は、ターゲット20における処理の終了前後において、タイマからのタイムアウトの通知の有無を判断する(ステップSa8)。そして、タイマがタイムアウトした場合、すなわち、タイマが計測を開始してからの時間が上述した所要時間と一致した場合(ステップSa8:YES)、コントローラ11は、実行中の処理を再び中断し、その処理内容をメモリ12の所定領域に保持する(ステップSa9)。   When the controller 11 is executing the processing, the image processing on the target 20 is finished. As described above, the timer is configured to notify when the required time is reached. Therefore, the controller 11 determines whether or not there is a time-out notification from the timer before and after the end of the process in the target 20 (step Sa8). When the timer has timed out, that is, when the time since the timer started measurement coincides with the required time described above (step Sa8: YES), the controller 11 interrupts the process being executed again, The processing contents are held in a predetermined area of the memory 12 (step Sa9).

ここで、コントローラ11は、ターゲット20から送信される割込信号の有無を判断する(ステップSa10)。この間、コントローラ11は、その他の処理を実行せずに待機している。そして、ターゲットIF13を介してターゲット20からの割込信号を受信したら(ステップSa10:YES)、コントローラ11は、この割込信号に対応する割込ハンドラを起動し、ターゲット20において実行された画像処理に応じた所定の処理を実行する(ステップSa11)。このとき実行される処理のことを、以下では「割込対応処理」という。   Here, the controller 11 determines whether or not there is an interrupt signal transmitted from the target 20 (step Sa10). During this time, the controller 11 stands by without performing other processes. When the interrupt signal from the target 20 is received via the target IF 13 (step Sa10: YES), the controller 11 activates the interrupt handler corresponding to this interrupt signal, and the image processing executed in the target 20 A predetermined process corresponding to the above is executed (step Sa11). The processing executed at this time is hereinafter referred to as “interrupt handling processing”.

ここで、割込対応処理について説明する。割込対応処理においては、コントローラ11はまず、ターゲット20のステータスレジスタを参照する。なお、その後の処理については、ターゲット20が実行した画像処理やその処理結果に応じて異なる。例えば、コントローラ11は、参照したステータスレジスタが「2」であった場合、すなわち処理が異常終了した場合には、ターゲット20に同様の処理を再度実行させる。また、コントローラ11は、参照したステータスレジスタが「1」であった場合、すなわち処理が正常に終了した場合には、ターゲット20の処理結果を表すデータを受信し、そのデータにさらに演算処理を施すこともある。また、画像処理の種類によっては、ステータスレジスタを参照した後に処理を必要としない場合もある。   Here, the interrupt handling process will be described. In the interrupt handling process, the controller 11 first refers to the status register of the target 20. The subsequent processing differs depending on the image processing executed by the target 20 and the processing result. For example, if the referenced status register is “2”, that is, if the process ends abnormally, the controller 11 causes the target 20 to execute the same process again. In addition, when the referred status register is “1”, that is, when the processing ends normally, the controller 11 receives data representing the processing result of the target 20 and further performs arithmetic processing on the data. Sometimes. Depending on the type of image processing, there is a case where no processing is required after referring to the status register.

続いて、コントローラ11がステータスレジスタを参照する手順を説明する。コントローラ11は、ターゲット20から割込信号を受信すると、ターゲット20において割込を必要とする何らかのイベントが発生したと判断することができる。ホスト10とターゲット20とを接続する信号線のうち、割込信号のために割り当てられた信号線は、通常1本である。そのため、このような構成においては、コントローラ11は、単に割込信号を受信しただけでは、ターゲット20において何らかのイベントが発生したということしか判断できず、具体的にどのような画像処理が実行されたのかなどを判断することはできない。そこで、コントローラ11は、プロセサ21のステータスレジスタを参照し、どの内部プロセサにおいて演算処理が実行されたかを特定することにより、割込信号の契機となった画像処理を特定している。所定の画像処理を実行するために必要な内部プロセサはあらかじめ決められているので、コントローラ11は、その内部プロセサに対応したステータスレジスタを参照すればよい。   Subsequently, a procedure in which the controller 11 refers to the status register will be described. When receiving an interrupt signal from the target 20, the controller 11 can determine that some event requiring an interrupt has occurred in the target 20. Of the signal lines connecting the host 10 and the target 20, the number of signal lines allocated for interrupt signals is usually one. Therefore, in such a configuration, the controller 11 can only determine that some event has occurred in the target 20 simply by receiving an interrupt signal, and specifically, what kind of image processing has been executed. It cannot be judged. Therefore, the controller 11 refers to the status register of the processor 21 and identifies which internal processor has executed the arithmetic processing, thereby identifying the image processing that triggered the interrupt signal. Since an internal processor necessary for executing predetermined image processing is determined in advance, the controller 11 may refer to a status register corresponding to the internal processor.

プロセサ21が図2に示したような階層的な構造を有している場合、コントローラ11は、上層のステータスレジスタから順番に参照していき、目的とする下層のステータスレジスタの値を特定する。例えば、図2に例示した構成において、内部プロセサP11において演算処理が正常に実行され、コントローラ11がその状態を判断しようとする場合を考える。なお、この場合において、内部プロセサP2、…、Pnは、いずれも動作しないものとする。このような場合には、ステータスレジスタR0は、内部プロセサP1に対応するレジスタの値のみが「1(正常終了)」となっており、その他の内部プロセサP2、…、Pnに対応するレジスタの値は全て「0(アイドル状態)」となっている。また、ステータスレジスタR1は、内部プロセサP11に対応するレジスタの値が「1」となっている。   When the processor 21 has a hierarchical structure as shown in FIG. 2, the controller 11 sequentially refers to the status register of the upper layer and specifies the value of the target status register of the lower layer. For example, in the configuration illustrated in FIG. 2, consider a case where the arithmetic processing is normally executed in the internal processor P11 and the controller 11 tries to determine the state. In this case, it is assumed that none of the internal processors P2, ..., Pn operate. In such a case, in the status register R0, only the value of the register corresponding to the internal processor P1 is “1 (normal end)”, and the values of the registers corresponding to the other internal processors P2,. Are all “0 (idle state)”. In the status register R1, the value of the register corresponding to the internal processor P11 is “1”.

割込信号に対応する画像処理を特定するために、コントローラ11は、まず、上層の内部プロセサに対応するステータスレジスタ、すなわちステータスレジスタR0を参照し、値が「1」となっているレジスタを特定する。続いて、コントローラ11は、値が「1」となっているレジスタに対応する内部プロセサの下層側に相当する内部プロセサのステータスレジスタを参照する。上述した場合であれば、内部プロセサP1に対応するレジスタの値が「1」となっているので、コントローラ11は、次にステータスレジスタR1を参照することとなる。   In order to identify the image processing corresponding to the interrupt signal, the controller 11 first refers to the status register corresponding to the upper layer internal processor, that is, the status register R0, and identifies the register whose value is “1”. To do. Subsequently, the controller 11 refers to the status register of the internal processor corresponding to the lower layer side of the internal processor corresponding to the register whose value is “1”. In the case described above, since the value of the register corresponding to the internal processor P1 is “1”, the controller 11 next refers to the status register R1.

ここで、図3の説明に戻る。コントローラ11は、上述のようにしてステータスレジスタを参照し、割込対応処理を実行する。そして、この割込対応処理が終了したら、コントローラ11は、退避させた処理に関するデータをメモリ12から読み出し、その処理を再開する(ステップSa12)。   Returning to the description of FIG. The controller 11 refers to the status register as described above and executes an interrupt handling process. When this interrupt handling process is completed, the controller 11 reads out the data related to the saved process from the memory 12, and resumes the process (step Sa12).

このように動作することにより、画像処理装置100は、ターゲット20が予測通りに画像処理を終えた場合のみならず、予測より多くの時間を要した場合においても、割込対応処理を遅滞なく開始することができる。そのため、画像処理装置100は、ターゲット20において予期せぬ遅延が生じたとしても、ターゲット20からの割込信号に即座に対応し、一連の処理を効率良く実行することが可能となる。画像処理装置100を本動作例のように動作させた場合、コントローラ11は、ターゲット20からの割込信号を受信する前に実行中の処理を退避させているので、割込信号を受信してから退避を行うような構成に比べて、割込対応処理をより迅速に行うことが可能となる。また、画像処理装置100を本動作例のように動作させた場合、ターゲット20において予期せぬ遅延が生じた場合であっても、コントローラ11は何もせずに待機するので、コントローラ11における無駄な処理(ポーリング等)の発生を抑制することが可能となる。   By operating in this way, the image processing apparatus 100 starts the interrupt handling process without delay not only when the target 20 finishes image processing as predicted, but also when more time is required than predicted. can do. Therefore, even if an unexpected delay occurs in the target 20, the image processing apparatus 100 can immediately respond to an interrupt signal from the target 20 and efficiently execute a series of processes. When the image processing apparatus 100 is operated as in this operation example, the controller 11 evacuates the processing being executed before receiving the interrupt signal from the target 20. As compared with the configuration in which the saving is performed from the beginning, it is possible to perform the interrupt handling process more quickly. Further, when the image processing apparatus 100 is operated as in the present operation example, even if an unexpected delay occurs in the target 20, the controller 11 waits without doing anything, so the controller 11 is useless. Generation of processing (polling or the like) can be suppressed.

(2)動作例2
続いて、本実施形態の画像処理装置100の第2の動作例について、図4のフローチャートを参照して説明する。本動作例は、ターゲット20に対して複数の画像処理の実行要求が連続的に送信されるような場合に特に適した動作例である。なお、本動作例においては、図4に示すように、上述した動作例1と同様の処理を行うステップが存在する。以下では、このようなステップについては、その説明を適宜省略する。
(2) Operation example 2
Subsequently, a second operation example of the image processing apparatus 100 of the present embodiment will be described with reference to the flowchart of FIG. This operation example is an operation example particularly suitable when a plurality of image processing execution requests are continuously transmitted to the target 20. In this operation example, as shown in FIG. 4, there is a step for performing the same processing as in the operation example 1 described above. Hereinafter, description of such steps will be omitted as appropriate.

本動作例におけるステップSb1〜Sb10およびSb15の処理は、動作例1におけるステップSa1〜Sa10およびSa13の処理と概ね同様である。ただし、本動作例においては、ステップSb2において、それぞれが異なる内部プロセサにより実行される2つの画像処理を示す処理種別情報が取得されるとする。つまり、本動作例において、コントローラ11は、それぞれの画像処理について所要時間を算出し(ステップSb4)、処理の実行の要求(ステップSb6)などを行う。なお、以下においては、処理種別情報により特定される2つの画像処理のことを、それぞれ「第1の画像処理」、「第2の画像処理」と称して区別することとする。また、説明の便宜上、第2の画像処理の所要時間は第1の画像処理の所要時間よりも長いとする。   The processing of steps Sb1 to Sb10 and Sb15 in this operation example is substantially the same as the processing of steps Sa1 to Sa10 and Sa13 in operation example 1. However, in this operation example, it is assumed that process type information indicating two image processes executed by different internal processors is acquired in step Sb2. That is, in this operation example, the controller 11 calculates a required time for each image processing (step Sb4), and makes a request for execution of the processing (step Sb6). In the following description, the two image processes specified by the process type information are referred to as “first image process” and “second image process”, respectively. For convenience of explanation, it is assumed that the time required for the second image processing is longer than the time required for the first image processing.

コントローラ11は、ステップSb10において割込信号を受信すると、その割込信号の契機となった画像処理を特定する(ステップSb11)。このとき、コントローラ11は、割込信号を受信したタイミングと、ステップSb4において算出した所要時間とに基づいて、割込信号の契機となった画像処理を特定する。例えば、コントローラ11は、ステップSb6においてターゲット20に画像処理を要求してからステップSb10において割込信号を受信するまでの時間を、ステップSb4において算出した第1および第2の画像処理の所要時間のそれぞれと比較し、所要時間との差がより小さい方の画像処理を割込信号の契機となった画像処理として特定する。上述したように、ここでは、第2の画像処理の所要時間の方が第1の画像処理の所要時間よりも長いとしているから、第1の画像処理が先に特定されることとなる。   When the controller 11 receives the interrupt signal in step Sb10, the controller 11 specifies the image processing that triggered the interrupt signal (step Sb11). At this time, the controller 11 specifies the image processing that triggered the interrupt signal based on the timing at which the interrupt signal is received and the required time calculated in step Sb4. For example, the controller 11 determines the time from the time when image processing is requested to the target 20 at step Sb6 to the time when the interrupt signal is received at step Sb10 as the time required for the first and second image processing calculated at step Sb4. Compared with each, the image processing with the smaller difference from the required time is specified as the image processing triggered by the interrupt signal. As described above, here, since the time required for the second image processing is longer than the time required for the first image processing, the first image processing is specified first.

このようにして割込信号の契機となった画像処理を特定したら、コントローラ11は、割込対応処理を実行する(ステップSb12)。本動作例の割込対応処理は、上述した動作例1の割込対応処理と異なる。本動作例において、コントローラ11は、ステップSb11において特定された画像処理に基づいて、参照すべきステータスレジスタを特定する。コントローラ11は、割込信号の契機となった画像処理を既に特定しているので、この画像処理を実行するために用いられる内部プロセサを特定することができる。そのため、コントローラ11は、ステータスレジスタを階層的に順番に参照しなくとも、参照すべきステータスレジスタを特定することができるので、このステータスレジスタを直接参照する。そして、コントローラ11は、必要に応じて、上述した動作例1と同様にその後の処理を実行する。   When the image processing that triggered the interrupt signal is specified in this way, the controller 11 executes an interrupt handling process (step Sb12). The interrupt handling process of this operation example is different from the interrupt handling process of the operation example 1 described above. In this operation example, the controller 11 specifies a status register to be referred to based on the image processing specified in step Sb11. Since the controller 11 has already specified the image processing that triggered the interrupt signal, the controller 11 can specify the internal processor used for executing this image processing. Therefore, the controller 11 can specify the status register to be referred to without referring to the status register in a hierarchical order, and therefore directly refers to the status register. And the controller 11 performs a subsequent process similarly to the operation example 1 mentioned above as needed.

割込対応処理を終了したら、コントローラ11は、ターゲット20に要求した画像処理が全て終了したか否かを判断する(ステップSb13)。換言すると、この判断は、第1の画像処理の終了を契機に送信される割込信号と第2の画像処理の終了を契機に送信される割込信号の双方が受信されたか否かの判断に等しい。ターゲット20に要求した画像処理が全て終了した場合(ステップSb13:YES)、すなわち、第2の画像処理の終了を契機に送信される割込信号が受信された場合には、コントローラ11は、退避させた処理に関するデータをメモリ12から読み出し、その処理を再開する(ステップSb14)。一方、ターゲット20に要求した画像処理が終了していない場合(ステップSb13:NO)、すなわち、第2の画像処理の終了を契機に送信される割込信号が未だ受信されていない場合には、コントローラ11は、ステップSb7以降の処理を再度実行し、受信した割込信号に応じた処理を行う。   When the interrupt handling process is completed, the controller 11 determines whether or not the image processing requested for the target 20 has been completed (step Sb13). In other words, this determination is made as to whether or not both the interrupt signal transmitted at the end of the first image processing and the interrupt signal transmitted at the end of the second image processing have been received. be equivalent to. When all of the image processing requested for the target 20 is completed (step Sb13: YES), that is, when an interrupt signal transmitted upon completion of the second image processing is received, the controller 11 saves. Data relating to the processed processing is read from the memory 12, and the processing is resumed (step Sb14). On the other hand, when the image processing requested to the target 20 has not ended (step Sb13: NO), that is, when the interrupt signal transmitted upon the end of the second image processing has not yet been received, The controller 11 executes the processing after step Sb7 again, and performs processing according to the received interrupt signal.

このように動作することにより、画像処理装置100は、ターゲット20において実行された画像処理を、ステータスレジスタを順次参照することなく特定することが可能となる。これにより、画像処理装置100は、割込信号の契機となった画像処理を実行した内部プロセサのステータスを直接参照することが可能となる。例えば、図2に例示した構成において、内部プロセサP11において演算処理が実行され、コントローラ11がその状態を判断しようとする場合、動作例1ではステータスレジスタR0を参照してからステータスレジスタR1を参照する必要があったが、本動作例においては、ステータスレジスタR0を参照せずにステータスレジスタR1を参照することができる。この結果、コントローラ11は、割込対応処理に要する時間(クロックサイクル数)を少なくすることができ、後続の処理をより早く実行することが可能となる。また、これに伴い、コントローラ11は、ターゲット20に連続的に要求を送信するような場合に、次の処理の実行をより早く要求することができるので、ターゲット20がアイドル状態となる時間を少なくすることが可能となる。つまり、本動作例によれば、画像処理装置100は、全体として処理の効率化を図ることが可能となる。   By operating in this way, the image processing apparatus 100 can specify the image processing executed on the target 20 without sequentially referring to the status register. As a result, the image processing apparatus 100 can directly refer to the status of the internal processor that executed the image processing triggered by the interrupt signal. For example, in the configuration illustrated in FIG. 2, when the arithmetic processing is executed in the internal processor P11 and the controller 11 tries to determine the state, in the operation example 1, the status register R1 is referred to after referring to the status register R0. Although necessary, in this operation example, the status register R1 can be referred to without referring to the status register R0. As a result, the controller 11 can reduce the time (number of clock cycles) required for the interrupt handling process, and can execute subsequent processes earlier. Accordingly, the controller 11 can request the execution of the next process earlier when the request is continuously transmitted to the target 20, thereby reducing the time for the target 20 to be in the idle state. It becomes possible to do. That is, according to this operation example, the image processing apparatus 100 can improve the processing efficiency as a whole.

[変形例]
以上においては、一の好適な実施形態とその動作例を例示して本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、その他の種々の態様にて実施することも可能である。本発明においては、例えば、上述した実施形態に対して以下のような変形を適用することができる。
[Modification]
In the above, the present invention has been described by exemplifying one preferred embodiment and its operation example. However, the present invention is not limited to the above-described embodiment, and may be implemented in various other modes. Is also possible. In the present invention, for example, the following modifications can be applied to the above-described embodiment.

上述した動作例2において、コントローラ11は、ステータスレジスタを参照せずに割込信号の契機となった画像処理を特定することができるため、その画像処理の終了後に自らが実行すべき処理をステータスレジスタを参照する前に知ることができる。そのため、動作例2に示した処理においては、割込対応処理においてステータスレジスタの参照を省略することも可能である。このように動作した場合であっても、ターゲット20における画像処理が正常に終了している限りは、特に問題は生じない。   In the operation example 2 described above, the controller 11 can specify the image processing that triggered the interrupt signal without referring to the status register, so that the processing that the controller 11 should execute after the end of the image processing is displayed. You can know before referring to the register. For this reason, in the processing shown in the operation example 2, it is possible to omit reference to the status register in the interrupt handling processing. Even in such a case, there is no particular problem as long as the image processing on the target 20 is normally completed.

しかし、ステータスレジスタを参照しないということは、ターゲット20における画像処理が正常終了したか異常終了したかを判断しないということなので、ターゲット20における画像処理が異常終了した場合には、当然問題が生じる。そこで、割込対応処理においてステータスレジスタの参照を省略する場合であっても、その後のいずれかのタイミングでステータスレジスタを参照するのが望ましいといえる。ステータスレジスタを参照するタイミングとしては、例えば、ある割込信号に応じた割込対応処理の終了後であって、かつ、ターゲット20が画像処理を実行中である期間のいずれかが望ましい。具体的には、例えば、図4に示したフローチャートにおいて、ステップSb13における判断が否定的である場合に、この判断の後であってステップSb7の処理(退避中の処理の再開)を実行する前にステータスレジスタを参照するとよい。そして、ステータスレジスタを参照した結果、対応する処理が異常終了したと判断される場合には、同一の処理を再度実行させればよい。このようにすれば、効率的な処理を維持しつつ、異常時にリカバリをすることが可能となる。   However, not referring to the status register means that it is not determined whether the image processing at the target 20 has ended normally or abnormally, so that a problem naturally occurs when the image processing at the target 20 ends abnormally. Therefore, even if the reference of the status register is omitted in the interrupt handling process, it can be said that it is desirable to refer to the status register at any later timing. The timing for referring to the status register is preferably, for example, any period after the end of the interrupt handling process according to a certain interrupt signal and during which the target 20 is executing the image process. Specifically, for example, in the flowchart shown in FIG. 4, when the determination in step Sb13 is negative, after the determination and before executing the process of step Sb7 (resumption of the process being saved) Refer to the status register. If it is determined that the corresponding process has ended abnormally as a result of referring to the status register, the same process may be executed again. In this way, it is possible to recover at the time of abnormality while maintaining efficient processing.

また、上述した実施形態においては、1のホスト10に対して1のターゲット20が接続されている構成を示したが、1のホスト10に対して複数のターゲット20が接続される構成であってもよい。また、このような構成の場合、あるターゲットの処理結果を他のターゲットに引き渡すこともあるが、このような処理を上述の割込対応処理に含んでもよい。また、上述した実施形態においては、ホスト10とターゲット20とを備えた画像処理装置100を示したが、本発明は画像処理装置に限定されるものではない。すなわち、上述した実施形態においては、ターゲット20は画像処理を実行するものとして説明したが、画像処理以外の演算処理を実行するものであってもよい。   In the above-described embodiment, a configuration in which one target 20 is connected to one host 10 is shown, but a configuration in which a plurality of targets 20 are connected to one host 10 is described. Also good. In the case of such a configuration, the processing result of a certain target may be delivered to another target, but such processing may be included in the above-described interrupt handling processing. In the above-described embodiment, the image processing apparatus 100 including the host 10 and the target 20 is shown. However, the present invention is not limited to the image processing apparatus. In other words, in the above-described embodiment, the target 20 has been described as executing image processing, but may execute arithmetic processing other than image processing.

本発明の画像処理装置の構成を例示したブロック図である。It is the block diagram which illustrated the composition of the image processing device of the present invention. プロセサの内部構成を例示した図である。It is the figure which illustrated the internal structure of the processor. 画像処理装置の第1の動作例を示すフローチャートである。It is a flowchart which shows the 1st operation example of an image processing apparatus. 画像処理装置の第2の動作例を示すフローチャートである。It is a flowchart which shows the 2nd operation example of an image processing apparatus.

符号の説明Explanation of symbols

100…画像処理装置、11…コントローラ、12、22…メモリ、13…ターゲットIF、14…入出力IF、21…プロセサ、23…ホストIF、P1、P11、P12、P1m、P2、P3、Pn…内部プロセサ、R0、R1、R11、R12、R1m、R2、R3、Rn…ステータスレジスタ
DESCRIPTION OF SYMBOLS 100 ... Image processing apparatus, 11 ... Controller, 12, 22 ... Memory, 13 ... Target IF, 14 ... Input / output IF, 21 ... Processor, 23 ... Host IF, P1, P11, P12, P1m, P2, P3, Pn ... Internal processor, R0, R1, R11, R12, R1m, R2, R3, Rn ... Status register

Claims (5)

所定の処理を実行可能な演算処理装置であって、当該処理を終了すると割込信号を送信する演算処理装置と接続する接続手段と、
自装置または前記演算処理装置において実行される処理の内容を特定する処理種別情報を取得する取得手段と、
前記取得手段により取得された処理種別情報によって特定される処理が、前記演算処理装置において実行される前記所定の処理である場合に、前記接続手段を介して前記演算処理装置に当該処理の実行を要求する処理要求手段と、
前記演算処理装置が前記処理要求手段により要求された前記所定の処理を開始してから終了するまでに要する所要時間を算出する算出手段と、
前記接続手段を介して前記演算処理装置から受信した割込信号または前記取得手段により取得された処理種別情報に基づいて、自装置において実行すべき処理を実行する処理実行手段と
を備え、
前記処理実行手段は、
前記処理要求手段により前記演算処理装置に前記所定の処理の実行が要求され、かつ、自装置において処理を実行中である場合に、前記処理要求手段が当該所定の処理の実行を要求してから前記算出手段により算出された所要時間が経過するまでの間に前記実行中の処理を中断し、その後、前記接続手段を介して割込信号を受信すると、前記演算処理装置が実行した前記所定の処理に応じた処理を実行する
ことを特徴とする制御装置。
An arithmetic processing device capable of executing a predetermined process, and a connection means for connecting to an arithmetic processing device that transmits an interrupt signal when the processing ends.
An acquisition means for acquiring process type information for specifying the content of a process executed in the own apparatus or the arithmetic processing apparatus;
When the process specified by the process type information acquired by the acquisition means is the predetermined process executed in the arithmetic processing apparatus, the arithmetic processing apparatus is caused to execute the process via the connection means. Processing request means to request;
Calculating means for calculating a time required for the arithmetic processing unit to start after the predetermined processing requested by the processing requesting means is completed;
Based on the interrupt signal received from the arithmetic processing device via the connection means or the processing type information acquired by the acquisition means, a process execution means for executing a process to be executed in the own device,
The process execution means includes
When the processing requesting unit requests the arithmetic processing unit to execute the predetermined process and the processing requesting unit requests the execution of the predetermined process when the processing is being performed in the own device. When the processing being executed is interrupted until the required time calculated by the calculating means elapses and then an interrupt signal is received via the connecting means, the predetermined processing executed by the arithmetic processing unit is performed. A control device that performs processing according to processing.
前記演算処理装置が、複数の前記所定の処理を実行可能であって、各々の前記所定の処理を構成する複数の演算処理を実行する複数の内部プロセサと、前記複数の内部プロセサの状態を示す情報を各々の内部プロセサに対応する記憶領域に記憶するステータスレジスタとを備える場合において、
前記処理実行手段は、
前記接続手段を介して割込信号を受信すると、当該割込信号の契機となった前記所定の処理を前記算出手段により当該処理について算出された所要時間に基づいて特定する
ことを特徴とする請求項1に記載の制御装置。
The arithmetic processing unit is capable of executing a plurality of the predetermined processes, and indicates a plurality of internal processors executing a plurality of arithmetic processes constituting each of the predetermined processes, and states of the plurality of internal processors In the case of providing a status register for storing information in a storage area corresponding to each internal processor,
The process execution means includes
When the interrupt signal is received through the connection means, the predetermined process that triggered the interrupt signal is specified based on the required time calculated for the process by the calculation means. Item 2. The control device according to Item 1.
前記処理実行手段は、
前記ステータスレジスタの記憶領域のうち、前記特定された所定の処理を実行する際に用いられた前記内部プロセサの状態を示す情報が記憶された記憶領域を特定して参照する
ことを特徴とする請求項2に記載の制御装置。
The process execution means includes
The storage area of the status register is specified and referred to by specifying a storage area in which information indicating the state of the internal processor used when executing the specified processing is specified. Item 3. The control device according to Item 2.
前記処理実行手段は、
前記所定の処理である第1の処理と第2の処理とを示す処理種別情報が前記取得手段により取得され、かつ、前記第1の処理を前記割込信号の契機となった処理として特定した場合、当該特定後であって前記演算処理装置が前記第2の処理を実行中である期間に、前記ステータスレジスタの記憶領域のうち前記第1の処理を実行する際に用いられた前記内部プロセサの状態を示す情報が記憶された記憶領域を参照する
ことを特徴とする請求項2に記載の制御装置。
The process execution means includes
Process type information indicating the first process and the second process, which are the predetermined processes, is acquired by the acquisition unit, and the first process is specified as a process triggered by the interrupt signal. In this case, the internal processor used when executing the first process in the storage area of the status register during the period after the identification and the arithmetic processing unit is executing the second process. The control device according to claim 2, wherein a storage area in which information indicating the state is stored is referred to.
所定の処理を実行可能な演算処理装置であって、当該処理を終了すると割込信号を送信する演算処理装置と接続するコンピュータに、
実行される処理の内容を特定する処理種別情報を取得する取得機能と、
前記取得機能により取得された処理種別情報によって特定される処理が前記所定の処理である場合に、前記演算処理装置と接続する接続手段を介して、当該演算処理装置に当該処理の実行を要求する処理要求機能と、
前記演算処理装置が前記処理要求機能により要求された前記所定の処理を開始してから終了するまでに要する所要時間を算出する算出機能と、
前記接続手段を介して前記演算処理装置から受信した割込信号または前記取得機能により取得された処理種別情報に基づいて、自装置において実行すべき処理を実行する処理実行機能であって、前記処理要求機能により前記演算処理装置に前記所定の処理の実行が要求され、かつ、自装置において処理を実行中である場合に、前記処理要求機能が当該所定の処理の実行を要求してから前記算出機能により算出された所要時間が経過するまでの間に前記実行中の処理を中断し、その後、前記接続手段を介して割込信号を受信すると、前記演算処理装置が実行した前記所定の処理に応じた処理を実行する処理実行機能と
を実現させるためのプログラム。
An arithmetic processing unit capable of executing a predetermined process, and a computer connected to the arithmetic processing unit that transmits an interrupt signal upon completion of the process,
An acquisition function that acquires process type information that identifies the content of the process to be executed;
When the process specified by the process type information acquired by the acquisition function is the predetermined process, the calculation processing apparatus is requested to execute the process via a connection unit connected to the calculation processing apparatus. Processing request function;
A calculation function for calculating a time required for the arithmetic processing unit to start from the predetermined process requested by the process request function;
A process execution function for executing a process to be executed in the own apparatus based on an interrupt signal received from the arithmetic processing apparatus via the connection means or a process type information acquired by the acquisition function, When the request function requests the arithmetic processing device to execute the predetermined process, and the processing is being executed in the own device, the calculation is performed after the processing request function requests the execution of the predetermined process. When the processing being executed is interrupted until the required time calculated by the function elapses and then an interrupt signal is received via the connection means, the predetermined processing executed by the arithmetic processing unit is performed. A program that implements a process execution function that executes the corresponding process.
JP2006294043A 2006-10-30 2006-10-30 Controller and program Pending JP2008112274A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006294043A JP2008112274A (en) 2006-10-30 2006-10-30 Controller and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006294043A JP2008112274A (en) 2006-10-30 2006-10-30 Controller and program

Publications (1)

Publication Number Publication Date
JP2008112274A true JP2008112274A (en) 2008-05-15

Family

ID=39444764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006294043A Pending JP2008112274A (en) 2006-10-30 2006-10-30 Controller and program

Country Status (1)

Country Link
JP (1) JP2008112274A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191682A (en) * 2009-02-18 2010-09-02 Toshiba Corp Apparatus, method and program for processing information controlling computing system
JP7418569B2 (en) 2019-12-13 2024-01-19 インテル コーポレイション Transmission and synchronization techniques for hardware-accelerated task scheduling and load balancing on heterogeneous platforms

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191682A (en) * 2009-02-18 2010-09-02 Toshiba Corp Apparatus, method and program for processing information controlling computing system
JP7418569B2 (en) 2019-12-13 2024-01-19 インテル コーポレイション Transmission and synchronization techniques for hardware-accelerated task scheduling and load balancing on heterogeneous platforms

Similar Documents

Publication Publication Date Title
US8566493B2 (en) Interrupt controller and methods of operation
JP2006195823A (en) Dma device
EP1365321A2 (en) Multiprocessor system
JP2011160366A (en) Communication device
US6581119B1 (en) Interrupt controller and a microcomputer incorporating this controller
US8913262B2 (en) Image forming apparatus, power control method, and storage medium
US9552050B2 (en) Information processing device, printing device, and control method
US9244692B2 (en) Information processing apparatus, control method for information processing apparatus, and program to stop supply of clock to a DSP
JP2008112274A (en) Controller and program
JP2004078683A (en) Computer system and shared memory controlling method
JP2005085079A (en) Data transfer controller
JP5783348B2 (en) Control device, control program, and image forming apparatus
JPH11353291A (en) Multiprocessor system and medium recording task exchange program
JP4862395B2 (en) Information processing apparatus and information processing apparatus control method
JP2007208696A (en) Encryption processing circuit and printer
JP4163487B2 (en) Memory control apparatus, image forming apparatus, and memory system control method
JP4107278B2 (en) Processor control circuit and information processing apparatus
JP2006059303A (en) Computer system
JP4203337B2 (en) Memory arbiter and memory control device
JP2018106583A (en) Semiconductor device
JP3991999B2 (en) Central processing unit and processor control method
JP2006195705A (en) Processor
JP2007219925A (en) Bus controller, bus control program and recording medium
JP2007320079A (en) Image forming controlling apparatus and method for controlling image forming apparatus
JP2007060198A (en) Digital composite machine