JP2010122813A - Information processing apparatus, integrated circuit device, electronic apparatus - Google Patents

Information processing apparatus, integrated circuit device, electronic apparatus Download PDF

Info

Publication number
JP2010122813A
JP2010122813A JP2008294615A JP2008294615A JP2010122813A JP 2010122813 A JP2010122813 A JP 2010122813A JP 2008294615 A JP2008294615 A JP 2008294615A JP 2008294615 A JP2008294615 A JP 2008294615A JP 2010122813 A JP2010122813 A JP 2010122813A
Authority
JP
Japan
Prior art keywords
priority
irq
request source
register
interrupt
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
JP2008294615A
Other languages
Japanese (ja)
Inventor
Yoshihiro Tate
義宏 舘
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008294615A priority Critical patent/JP2010122813A/en
Publication of JP2010122813A publication Critical patent/JP2010122813A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processing apparatus and the like, which suppress increase of circuit scale of hardware and a processing load of a processing execution unit, and have interrupt processing corresponding even to multiple interruption. <P>SOLUTION: The information processing apparatus 10 includes: a priority setting register 51 holding priorities of a plurality of interrupt requests 20; a current priority register 52 holding a current priority; a request source information register 53 holding information of an IRQ request source; an interrupt control unit 60; and a processing execution unit 70. The interrupt control unit 60 determines an interrupt request 20 satisfying a predetermined standard as being made from an IRQ request source, writes a priority and a unique identification number of the IRQ request source into the request source information register 53, and if the priority of the request source information register 53 is higher than the current priority, outputs an IRQ 30. The processing execution unit 70, if it receives the IRQ 30, performs processing corresponding to the unique identification number of the IRQ request source held in the request source information register 53. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、情報処理装置、集積回路装置、電子機器等に関する。   The present invention relates to an information processing device, an integrated circuit device, an electronic device, and the like.

情報処理装置等に含まれる処理実行部に対する割込み処理においては、多数の割り込み要因が存在する一方で、処理実行部に対する割り込み要求信号(以下「IRQ」という)は1本しか存在しない場合があり得る。   In an interrupt process for a process execution unit included in an information processing apparatus or the like, there are cases where there are only a single interrupt request signal (hereinafter referred to as “IRQ”) for a process execution unit while there are many interrupt factors. .

このような場合、割り込み要求の状態に対応する割り込みフラグレジスタをソフトウェア(プログラム)によってチェックして、優先順位に従って割り込み処理を実行することで対処することができる。しかし、割り込み要因が多数存在する場合において、ソフトウェアのみによって割り込み要因を識別し更に優先順位を判別することは、割り込みに対する一連の処理に要する時間が増大するという問題を生じさせる。   Such a case can be dealt with by checking the interrupt flag register corresponding to the state of the interrupt request by software (program) and executing the interrupt processing according to the priority order. However, when there are a large number of interrupt factors, identifying the interrupt factors only by software and further determining the priority order causes a problem that the time required for a series of processing for the interrupts increases.

このため処理時間の短縮を目的として、ハードウェア(割り込み制御部)によって割り込み要因や優先順位を判定することも行われている。しかし、割り込み要因の増加に伴い回路規模が増大するため、コスト面から一定の制約が生じる。   For this reason, for the purpose of shortening the processing time, an interrupt factor and a priority order are also determined by hardware (interrupt control unit). However, since the circuit scale increases with an increase in interrupt factors, certain restrictions arise from the cost aspect.

そこで、割り込み要因のうち優先順位の高い一部についてのみハードウェアによって判定処理を行う手法が提案されている(文献1参照)
特開2005−85056号公報
Therefore, a method has been proposed in which determination processing is performed by hardware only for a part of interrupt factors having a high priority (see Document 1).
JP-A-2005-85056

しかし、優先順位の高い一部の割り込み要求について処理のハードウェア化を行う場合には、割り込みに対する処理中に柔軟に優先度の設定を変更する等といった対応は困難となる。   However, when hardware processing is performed for some interrupt requests with high priority, it is difficult to flexibly change priority settings during processing for interrupts.

本発明の目的は、上記課題に鑑みてなされたものである。本発明のいくつかの態様によれば、割り込み要因が多数存在する場合においてもハードウェアの回路規模の増大と処理実行部の処理負担(割り込み要因等の判断や割り込み要因別設定等に要する時間)を抑え、多重割り込みにも対応した柔軟な割り込み処理機能を有する情報処理装置、集積回路装置、電子機器等を提供することができる。   The object of the present invention has been made in view of the above problems. According to some aspects of the present invention, even when there are a large number of interrupt factors, the increase in the circuit scale of the hardware and the processing burden on the processing execution unit (time required for determination of interrupt factors and the like, setting for each interrupt factor, etc.) It is possible to provide an information processing device, an integrated circuit device, an electronic device, and the like having a flexible interrupt processing function that supports multiple interrupts.

(1)本発明は、
情報処理装置であって、割り込み制御部と、処理実行部と、複数の割り込み要求の優先度を、前記割り込み要求に付された固有識別番号に対応させて保持する優先度設定レジスタと、前記処理実行部によって設定された現在優先度を保持する現在優先度レジスタと、IRQ要求元の固有識別番号を含む要求元情報を保持する要求元情報レジスタと、を含み、前記割り込み制御部は、前記優先度設定レジスタの情報を参照し、前記処理実行部への割り込みを要求している割り込み要求の優先度に基づき前記IRQ要求元を判断し、前記要求元情報を前記要求元情報レジスタに書き込み、前記IRQ要求元の優先度が前記現在優先度より高ければIRQを出力し、前記処理実行部は、前記IRQを受け取ると前記要求元情報レジスタに保持された前記IRQ要求元の固有識別番号に対応した処理を行う。
(1) The present invention
An information processing apparatus, an interrupt control unit, a processing execution unit, a priority setting register that holds priority levels of a plurality of interrupt requests in correspondence with unique identification numbers assigned to the interrupt requests, and the processing A current priority register that holds the current priority set by the execution unit; and a request source information register that holds request source information including a unique identification number of the IRQ request source. The interrupt control unit includes the priority control unit Referencing the information in the frequency setting register, determining the IRQ request source based on the priority of the interrupt request requesting the interrupt to the processing execution unit, writing the request source information in the request source information register, If the priority of the IRQ request source is higher than the current priority, an IRQ is output, and when the IRQ is received, the process execution unit is held in the request source information register Serial performs a process corresponding to the IRQ request source of unique identification number.

本発明によれば、割り込み要因が多数存在する場合においてもハードウェアの回路規模の増大と処理実行部の処理負担を抑え、多重割り込みにも柔軟に対応することができる。   According to the present invention, even when there are a large number of interrupt factors, an increase in the hardware circuit scale and the processing load on the processing execution unit can be suppressed, and multiple interrupts can be flexibly handled.

(2)この情報処理装置の要求元情報は、
前記IRQ要求元の優先度を含んでもよい。その場合、この情報処理装置の割り込み制御部は、前記IRQ要求元の優先度を前記要求元情報レジスタに書き込んでもよい。
(2) The request source information of this information processing apparatus is
The priority of the IRQ request source may be included. In this case, the interrupt control unit of the information processing apparatus may write the priority of the IRQ request source in the request source information register.

(3)この情報処理装置の割り込み制御部は、
最も高い優先度をもつ割り込み要求を前記IRQ要求元と判断してもよい。
(3) The interrupt control unit of this information processing device
An interrupt request having the highest priority may be determined as the IRQ request source.

(4)この情報処理装置の割り込み制御部は、
優先度に加えて固有識別番号に基づき前記IRQ要求元を判断してもよい。
(4) The interrupt control unit of this information processing apparatus
The IRQ request source may be determined based on the unique identification number in addition to the priority.

(5)この情報処理装置の処理実行部は、
前記IRQを受け取ると前記要求元情報レジスタに保持された前記IRQ要求元の優先度を前記現在優先度レジスタに書き込んでもよい。
(5) The processing execution unit of this information processing apparatus
When the IRQ is received, the priority of the IRQ request source held in the request source information register may be written in the current priority register.

(6)この情報処理装置の処理実行部は、
前記IRQ要求元の固有識別番号に対応した処理の終了時に、当該処理を要求したIRQを受け取る前に前記現在優先度レジスタに保持されていた過去優先度の値を、前記現在優先度レジスタに書き込んでもよい。
(6) The processing execution unit of this information processing apparatus
At the end of the process corresponding to the unique identification number of the IRQ request source, the past priority value held in the current priority register before receiving the IRQ that requested the process is written to the current priority register. But you can.

(7)この情報処理装置の処理実行部は、
前記現在優先度レジスタに保持されていた値の履歴情報を記憶し、前記履歴情報に基づいて前記過去優先度の値を前記現在優先度レジスタに書き込んでもよい。
(7) The processing execution unit of this information processing device
The history information of the value held in the current priority register may be stored, and the past priority value may be written in the current priority register based on the history information.

(8)この情報処理装置の処理実行部は、
前記優先度設定レジスタに保持されているどの優先度の値よりも優先度の低い値を前記現在優先度レジスタに設定してもよい。
(8) The processing execution unit of this information processing apparatus
A value having a lower priority than any priority value held in the priority setting register may be set in the current priority register.

(9)本発明は、
上記いずれかに記載の情報処理装置を含む集積回路装置でもよい。
(9) The present invention
An integrated circuit device including any of the information processing devices described above may be used.

(10)本発明は、
上記に記載の集積回路装置を含む電子機器でもよい。
(10) The present invention
An electronic device including the integrated circuit device described above may be used.

以下、本発明を適用した実施の形態について図面を参照して説明する。ただし、本発明は以下の実施の形態に限定されるものではない。また、本発明に係る情報処理装置は、以下の実施の形態及び変形例を自由に組み合わせたものを含むものとする。   Embodiments to which the present invention is applied will be described below with reference to the drawings. However, the present invention is not limited to the following embodiments. In addition, the information processing apparatus according to the present invention includes a combination of the following embodiments and modifications.

1.情報処理装置(集積回路装置)
図1は、本実施形態の情報処理装置の構成図である。情報処理装置10は、集積回路装置に含まれる構成でもよい。
1. Information processing equipment (integrated circuit equipment)
FIG. 1 is a configuration diagram of an information processing apparatus according to the present embodiment. The information processing apparatus 10 may be included in an integrated circuit device.

情報処理装置10は、複数の割り込み要求20の優先度を、割り込み要求20に付された固有識別番号に対応させて保持する優先度設定レジスタ51と、処理実行部70によって設定された現在優先度を保持する現在優先度レジスタ52と、IRQ要求元の固有識別番号を含む要求元情報を保持する要求元情報レジスタ53と、割り込み制御部60と、処理実行部70と、を含む。説明の便宜上レジスタ51〜53を含む機能階層をレジスタ部50とする。   The information processing apparatus 10 includes a priority setting register 51 that holds the priorities of the plurality of interrupt requests 20 in correspondence with the unique identification numbers assigned to the interrupt requests 20 and the current priority set by the processing execution unit 70. , A request source information register 53 that stores request source information including the unique identification number of the IRQ request source, an interrupt control unit 60, and a process execution unit 70. For convenience of explanation, a function hierarchy including the registers 51 to 53 is referred to as a register unit 50.

割り込み要求20は処理実行部70に対する複数の割り込み要因からの割り込み要求であり、割り込み制御部60に入力される。IRQ(Interrupt ReQuest)30は、割り込み制御部60から処理実行部70に対して出力される。   The interrupt request 20 is an interrupt request from a plurality of interrupt factors to the processing execution unit 70 and is input to the interrupt control unit 60. An IRQ (Interrupt ReQuest) 30 is output from the interrupt control unit 60 to the processing execution unit 70.

レジスタ部50は、複数の割り込み要求20の個々に対する割り込み処理の許可/不許可設定を行うIRQイネーブル設定レジスタ54(図7(D)参照)を更に含んでいてもよい。なお、後述する実施例においては複数の割り込み要求20はマスカブル(発生を禁止できる)割り込みを前提とするが、本発明においてはノンマスカブル(発生を禁止できない)割り込みが混在していてもよい。なお、レジスタ部50は割り込み制御部60に含まれていてもよいし、優先度設定レジスタ51、現在優先度レジスタ52、要求元情報レジスタ53、IRQイネーブル設定レジスタ54のうち一部が割り込み制御部60に含まれていてもよい。   The register unit 50 may further include an IRQ enable setting register 54 (see FIG. 7D) that sets permission / non-permission of interrupt processing for each of the plurality of interrupt requests 20. In the embodiment described later, the plurality of interrupt requests 20 are premised on maskable (cancellation is possible) interrupts. However, in the present invention, non-maskable (cannot be prohibited) interrupts may be mixed. Note that the register unit 50 may be included in the interrupt control unit 60, and some of the priority setting register 51, the current priority register 52, the request source information register 53, and the IRQ enable setting register 54 are interrupt control units. 60 may be included.

優先度設定レジスタ51(図7(A)参照)は、複数の割り込み要求20の優先度(図7(A)902参照)を、割り込み要求20に付された固有識別番号(図7(A)901参照)に対応させて保持するレジスタである。ここで、優先度は複数の割り込み要求20に対する処理の優先順位を数値で表したものである。優先度は、後述する実施例のように数の大きい方が処理の優先順位が高いとしてもよいし、その逆でもよい。(以下の実施例の記載においては、大きい数の方を優先順位が高いものとする。)ここで、優先度の数(レベル)が複数の割り込み要求20の数以上ある場合には、個々の割り込み要求に異なる優先度を与えることができるが、後述する現在優先度との比較処理や複数の割り込み要求間での比較処理等を行うハードウェアの回路規模が増大する。そこで、優先度の数は複数の割り込み要求20の数以下を前提としてよい。例えば後述する実施例においては優先度の数は4である。ソフトウェアのみで優先度を判断する処理をする場合に比べるとハードウェアの回路規模は増大するが、その増加分が想定する許容範囲に収まるように優先度の数を選ぶことが可能である。つまり、複数の割り込み要求20の数より小さな優先度の数を選ぶことで、割り込み要因の数の増大に伴うハードウェアの規模の増大を抑えることができる。   The priority setting register 51 (see FIG. 7A) indicates the priority of the plurality of interrupt requests 20 (see FIG. 7A) 902 and the unique identification number assigned to the interrupt request 20 (see FIG. 7A). 901). Here, the priority is a numerical value representing the priority of processing for a plurality of interrupt requests 20. As for the priority, as in the embodiment described later, the higher the number, the higher the processing priority may be, and vice versa. (In the description of the embodiments below, the larger number is the higher priority.) Here, when the number of priorities (level) is greater than or equal to the number of interrupt requests 20, the individual number Although different priorities can be given to interrupt requests, the circuit scale of hardware for performing comparison processing with a current priority, which will be described later, comparison processing between a plurality of interrupt requests, and the like increases. Therefore, the number of priorities may be premised on the number of interrupt requests 20 or less. For example, in the embodiment described later, the number of priorities is four. The hardware circuit scale increases as compared with the case where the priority is determined only by software, but the number of priorities can be selected so that the increase is within the allowable range. That is, by selecting a number of priorities that is smaller than the number of interrupt requests 20, it is possible to suppress an increase in hardware scale that accompanies an increase in the number of interrupt factors.

同じ優先度を持つ割り込み要求が複数発生した場合には、例えば後述するように割り込み要求に付された固有識別番号に基づいてIRQ要求元を決定してもよい。固有識別番号は、複数の割り込み要求20のそれぞれに付された固有の番号であり、特定の割り込み要求を他の割り込み要求と区別するために用いられる。固有識別番号として重複しない数字をそれぞれの割り込み要求に付してもよいし、重複しない文字や記号を用いてもよい。   When a plurality of interrupt requests having the same priority are generated, the IRQ request source may be determined based on, for example, a unique identification number assigned to the interrupt request as described later. The unique identification number is a unique number assigned to each of the plurality of interrupt requests 20 and is used to distinguish a specific interrupt request from other interrupt requests. A unique number as a unique identification number may be attached to each interrupt request, or a unique character or symbol may be used.

現在優先度レジスタ52(図7(B)参照)は、処理実行部70によって設定された現在優先度(図7(B)903参照)を保持するレジスタである。ここで、現在優先度とは処理実行部70が現在IRQ30の発生を許可する優先度を示す。このレジスタに書き込まれる優先度は、優先度設定レジスタ51の説明中で述べた内容と同一である。現在優先度レジスタ52に保持された現在優先度は、割り込み制御部60がIRQ30を出力するときに判断材料として用いられる。処理実行部70は適宜、現在優先度レジスタ52に保持された現在優先度を書き換えてもよい。処理実行部70は現在優先度を指定することで間接的に割り込み制御部60によるIRQ30の出力/抑制を制御できる。後述するように、例えば処理実行部70が現在優先度レジスタ52に「2」を書き込んでおけば、IRQ要求元の優先度が「3」以上の場合にIRQ30が発生し、優先度が「3」未満のIRQ30は抑制される(多重割り込み)。また、処理実行部70は現在優先度レジスタ52に、優先度設定レジスタ51が保持する最も高い優先度の値を書き込むことで、優先度にかかわらずIRQ30を受け付けないようにしてもよい(多重割り込み禁止)。このように、処理実行部70が現在優先度レジスタ52に保持された現在優先度を書き換えることによって、多重割り込みにも柔軟に対応することができる。   The current priority register 52 (see FIG. 7B) is a register that holds the current priority (see 903 in FIG. 7B) set by the process execution unit 70. Here, the current priority indicates a priority at which the process execution unit 70 permits the current IRQ 30 to be generated. The priority written in this register is the same as that described in the description of the priority setting register 51. The current priority held in the current priority register 52 is used as a judgment material when the interrupt control unit 60 outputs the IRQ 30. The process execution unit 70 may rewrite the current priority held in the current priority register 52 as appropriate. The process execution unit 70 can indirectly control the output / suppression of the IRQ 30 by the interrupt control unit 60 by designating the current priority. As will be described later, for example, if the process execution unit 70 writes “2” in the current priority register 52, the IRQ 30 is generated when the priority of the IRQ request source is “3” or higher, and the priority is “3”. <IRQ30 is suppressed (multiple interrupts). Further, the processing execution unit 70 may not accept the IRQ 30 regardless of the priority by writing the highest priority value held in the priority setting register 51 into the current priority register 52 (multiple interrupts). Ban). In this way, the processing execution unit 70 can flexibly cope with multiple interrupts by rewriting the current priority held in the current priority register 52.

要求元情報レジスタ53(図7(C)参照)は、IRQ要求元の要求元情報を保持するレジスタである。前記要求元情報には少なくともIRQ要求元の固有識別番号(図7(C)904参照)が含まれる。ここで、IRQ要求元の優先度は、優先度設定レジスタ51から得ることもできるので前記要求元情報に含まれなくてもよい。しかし、後述する実施例のように、現在優先度を現在優先度レジスタ52に書き込むときに、処理実行部70がIRQ要求元の優先度を参照する場合がある。このとき、処理実行部70が固有識別番号を指標として優先度設定レジスタ51から当該優先度を得るよりも、IRQ要求元の固有識別番号を得るときに同時に優先度も得られた方が処理実行部70の処理負担は少なくて済む。したがって、要求元情報はIRQ要求元の優先度を含み、割り込み制御部60はIRQ要求元の優先度(図7(C)905参照)も前記要求元情報レジスタに書き込んでもよい。(以下の記述においては、要求元情報はIRQ要求元の優先度も含み、要求元情報レジスタ53はIRQ要求元の固有識別番号と優先度を含むとする。)ところで、IRQ要求元とは複数の割り込み要求20の中で優先度(必要な場合には加えて固有識別番号)に基づき割り込み制御部60によって判断される一の割り込み要求のことであり、IRQ30の発生の直接要因を示す。割り込み制御部60が要求元情報レジスタ53に書き込みを行うため、処理実行部70にとっては読み出し専用レジスタであってもよい。要求元情報レジスタ53はIRQ要求元の固有識別番号(図7(C)904参照)を保持しているので、処理実行部70はIRQ30を受け取った後すぐに当該固有識別番号に対応した割り込み処理を行うことができる。また、処理実行部70は優先順位を基準とした比較判定作業を行わなくてよいため、処理負担が軽減される。したがって、割り込みに対する一連の処理に要する時間が短縮される。   The request source information register 53 (see FIG. 7C) is a register that holds request source information of an IRQ request source. The request source information includes at least the unique identification number of the IRQ request source (see FIG. 7C) 904. Here, since the priority of the IRQ request source can be obtained from the priority setting register 51, it may not be included in the request source information. However, as in the embodiment described later, when the current priority is written in the current priority register 52, the process execution unit 70 may refer to the priority of the IRQ request source. At this time, rather than the process execution unit 70 obtaining the priority from the priority setting register 51 using the unique identification number as an index, the process is executed when the priority is obtained at the same time when the unique identification number of the IRQ request source is obtained. The processing load on the unit 70 can be reduced. Therefore, the request source information may include the priority of the IRQ request source, and the interrupt control unit 60 may also write the priority of the IRQ request source (see 905 in FIG. 7C) in the request source information register. (In the following description, it is assumed that the request source information includes the priority of the IRQ request source, and the request source information register 53 includes the unique identification number and priority of the IRQ request source.) Incidentally, there are a plurality of IRQ request sources. This interrupt request 20 is determined by the interrupt control unit 60 based on the priority (in addition to the unique identification number if necessary), and indicates a direct cause of the occurrence of the IRQ 30. Since the interrupt control unit 60 writes to the request source information register 53, the processing execution unit 70 may be a read-only register. Since the request source information register 53 holds the unique identification number of the IRQ request source (see FIG. 7 (C) 904), the process execution unit 70 receives the IRQ 30 and immediately executes interrupt processing corresponding to the unique identification number. It can be performed. Further, the processing execution unit 70 does not have to perform the comparison determination work based on the priority order, so that the processing load is reduced. Therefore, the time required for a series of processing for the interrupt is reduced.

割り込み制御部60は、優先度設定レジスタ51の情報を参照して、処理実行部70への割り込みを要求している割り込み要求20の優先度に基づきIRQ要求元を判断し、当該IRQ要求元の優先度と固有識別番号を要求元情報レジスタ53に書き込み、当該要求元情報レジスタ53の優先度が現在優先度より高ければIRQ30を出力する。   The interrupt control unit 60 refers to the information in the priority setting register 51, determines the IRQ request source based on the priority of the interrupt request 20 requesting the interrupt to the processing execution unit 70, and determines the IRQ request source. The priority and unique identification number are written into the request source information register 53, and if the priority of the request source information register 53 is higher than the current priority, the IRQ 30 is output.

IRQ要求元の判断においては、処理実行部70への割り込みを要求している複数の割り込み要求20の中から優先度を用いる所定の基準を満たす割り込み要求をIRQ要求元と決定してもよい。所定の基準とは、例えば最も高い優先度をもつこととしてもよい。所定の基準を満たす割り込み要求が複数ある場合には、さらに別の所定の基準を追加してもよい。例えば、複数の割り込み要求20の各割り込み要求に付された固有識別番号を用いてIRQ要求元を判断してもよい。後述する実施例のように固有識別番号を昇順に並べたときに先に現れる割り込み要求をIRQ要求元と決定してもよいし、逆順でもよい。(以下の実施例の記載においては、優先度における所定の基準を満たす割り込み要求が複数ある場合には固有識別番号を昇順に並べたときに先に現れる方をIRQ要求元と決定することとする。)
割り込み制御部60は、決定されたIRQ要求元の固有識別番号と優先度を要求元情報レジスタ53に書き込む。IRQ要求元の優先度と固有識別番号は、IRQ要求元を判断する際に優先度設定レジスタ51の情報により得られる。要求元情報レジスタ53への書き込みのタイミングは、随時でもよいし、IRQ要求元が変更される度でもよいし、処理実行部70からの指示に従ってもよい。
In the determination of the IRQ request source, an interrupt request that satisfies a predetermined criterion using priority may be determined as an IRQ request source from among a plurality of interrupt requests 20 requesting an interrupt to the processing execution unit 70. For example, the predetermined reference may have the highest priority. When there are a plurality of interrupt requests that satisfy a predetermined criterion, another predetermined criterion may be added. For example, the IRQ request source may be determined using a unique identification number assigned to each interrupt request of the plurality of interrupt requests 20. The interrupt request that appears first when the unique identification numbers are arranged in ascending order as in an embodiment to be described later may be determined as the IRQ request source, or in reverse order. (In the description of the following embodiment, when there are a plurality of interrupt requests that satisfy a predetermined criterion in priority, the one that appears first when the unique identification numbers are arranged in ascending order is determined as the IRQ request source. .)
The interrupt control unit 60 writes the determined unique identification number and priority of the IRQ request source in the request source information register 53. The priority and unique identification number of the IRQ request source are obtained from information in the priority setting register 51 when determining the IRQ request source. The timing of writing to the request source information register 53 may be any time, every time the IRQ request source is changed, or in accordance with an instruction from the processing execution unit 70.

IRQ30の出力は現在優先度(現在優先度レジスタ52が保持)とIRQ要求元の優先度(要求元情報レジスタ53が保持)の比較によって決定される。例えば、IRQ要求元の優先度が現在優先度より高い場合にIRQ30を出力(発生)して優先度が同じか低い場合はIRQ30を抑制(不発生)するとしてよいし、IRQ要求元の優先度が現在優先度より高いか同じ場合にIRQ30を出力して優先度が低い場合はIRQ30を抑制するとしてもよい。(以下の実施例の記載においては、前者のようにIRQ要求元の優先度が現在優先度より高い場合にIRQ30が出力されるとする。)
処理実行部70は、IRQ30を受け取ると要求元情報レジスタ53に保持されたIRQ要求元の固有識別番号に対応した処理を行う。処理実行部70はCPU(Central Processing Unit)やDSP(Digital Signal Processor)でもよい。IRQ要求元の固有識別番号に対応した処理とは、例えば処理実行部70がCPUの場合には、IRQ30を受け取ると割り込みベクタを参照し、識別されたIRQ要求元の固有識別番号に応じたアドレスに分岐し、そこで割り込みサービスルーチンを実行し、元の処理に戻ることを指す。
The output of the IRQ 30 is determined by comparing the current priority (held in the current priority register 52) with the priority of the IRQ request source (held in the request source information register 53). For example, when the priority of the IRQ request source is higher than the current priority, the IRQ 30 may be output (generated), and when the priority is the same or lower, the IRQ 30 may be suppressed (not generated). If IRQ30 is higher than or equal to the current priority and IRQ30 is output and the priority is low, IRQ30 may be suppressed. (In the description of the following embodiment, it is assumed that the IRQ 30 is output when the priority of the IRQ request source is higher than the current priority as in the former.)
When receiving the IRQ 30, the process execution unit 70 performs a process corresponding to the unique identification number of the IRQ request source held in the request source information register 53. The processing execution unit 70 may be a CPU (Central Processing Unit) or a DSP (Digital Signal Processor). For example, when the process execution unit 70 is a CPU, the process corresponding to the unique identification number of the IRQ request source refers to the interrupt vector when receiving the IRQ 30, and an address corresponding to the identified unique identification number of the IRQ request source. Branching to where the interrupt service routine is executed to return to the original processing.

2.IRQ発生判定方法
図2は、本実施の形態の情報処理装置におけるIRQ発生判定方法を示した図である。IRQ発生判定においては、割り込み制御部60は後述のS20およびS30の処理を行う。また、割り込み制御部60は後述のS10A〜S10Cの処理を行ってもよい。本実施の形態においては、IRQ要求元の判断において、優先度における所定の基準は最も高い優先度をもつことであってもよい。図1と同じ構成要素については同じ番号を付しており、説明は省略する。
2. IRQ Occurrence Determination Method FIG. 2 is a diagram illustrating an IRQ occurrence determination method in the information processing apparatus according to the present embodiment. In the IRQ occurrence determination, the interrupt control unit 60 performs the processes of S20 and S30 described later. Further, the interrupt control unit 60 may perform processes of S10A to S10C described later. In the present embodiment, in the determination of the IRQ request source, the predetermined criterion for priority may be that having the highest priority. The same components as those in FIG. 1 are denoted by the same reference numerals, and description thereof is omitted.

割り込み要求20A、20B、20Cはそれぞれ異なった割り込み要因A、要因B、要因Cから発せられる割り込み要求である。   Interrupt requests 20A, 20B, and 20C are interrupt requests issued from different interrupt factors A, B, and C, respectively.

本実施の形態においては、IRQイネーブル設定レジスタ54を含んでいてもよい。IRQイネーブル設定レジスタ54は割り込み要求20A、20B、20Cのそれぞれに対して割り込み発生の許可(Enable)または不許可(Disable)を指定できる(図7(D)907参照)。本実施の形態においては、割り込み要求20A、20B、20Cのそれぞれに対するIRQイネーブル判定S10A、S10B、S10Cを行ってもよい。IRQイネーブル判定S10A、S10B、S10Cは、IRQイネーブル設定レジスタ54からの割り込み発生の許可があれば後段のIRQ要求元判定S20に割り込み要求を伝え、割り込み発生が不許可であれば後段のIRQ要求元判定S20に割り込み要求は伝えない。図2の例では、IRQイネーブル判定S10A、S10Bに対してはIRQイネーブル設定レジスタ54から割り込み発生の許可(Enable)があるので、要因A割り込み要求20Aと要因B割り込み要求20BがIRQ要求元判定S20に伝えられる。一方IRQイネーブル判定S10CについてはIRQイネーブル設定レジスタ54からは割り込み発生不許可(Disable)となっているので、要因C割り込み要求20CはマスクされてIRQ要求元判定S20には伝わらない。   In the present embodiment, an IRQ enable setting register 54 may be included. The IRQ enable setting register 54 can designate permission (Enable) or non-permission (Disable) of interrupt generation for each of the interrupt requests 20A, 20B, and 20C (see FIG. 7D 907). In the present embodiment, the IRQ enable determinations S10A, S10B, and S10C for the interrupt requests 20A, 20B, and 20C may be performed. The IRQ enable determinations S10A, S10B, and S10C transmit the interrupt request to the subsequent IRQ request source determination S20 if the interrupt generation is permitted from the IRQ enable setting register 54, and if the interrupt generation is not permitted, the subsequent IRQ request source An interrupt request is not transmitted to the determination S20. In the example of FIG. 2, since the interrupt generation is enabled from the IRQ enable setting register 54 for the IRQ enable determinations S10A and S10B, the factor A interrupt request 20A and the factor B interrupt request 20B are changed to the IRQ request source determination S20. To be told. On the other hand, since the IRQ enable determination register S10C is disabled from the IRQ enable setting register 54, the cause C interrupt request 20C is masked and is not transmitted to the IRQ request source determination S20.

本実施の形態においては、IRQ要求元判定S20においてIRQ要求元の判断を行ってもよい。IRQ要求元判定S20は割り込み要求があった場合に、その割り込み要求の優先度を優先度設定レジスタ51から受け取り、所定の基準に照らしてIRQ要求元を判断する。図2の例では、優先度設定レジスタ51から読み出された要因A割り込み要求20Aの優先度(A 優先度)と要因B割り込み要求20Bの優先度(B 優先度)はそれぞれ「0」と「1」である。優先度は数値の大きい方を優先順位が高いとして、IRQ要求元判定S20においてIRQ要求元は要因B割り込み要求20Bと判断される。   In the present embodiment, the IRQ request source may be determined in the IRQ request source determination S20. When there is an interrupt request, the IRQ request source determination S20 receives the priority of the interrupt request from the priority setting register 51, and determines the IRQ request source according to a predetermined standard. In the example of FIG. 2, the priority (A priority) of the factor A interrupt request 20A read from the priority setting register 51 and the priority (B priority) of the factor B interrupt request 20B are “0” and “ 1 ”. In the IRQ request source determination S20, the IRQ request source is determined to be the factor B interrupt request 20B, assuming that the higher priority is the higher priority.

IRQ要求元判定S20においてIRQ要求元が判断された後、本実施の形態の情報処理装置にとって都合の良い時に要求元情報レジスタ53のIRQ要求元の優先度と固有識別番号が更新される。図2の例では、要求元情報レジスタ53のIRQ要求元の優先度はIRQ要求元判定S20の判断結果である「1」(B 優先度)に更新される。また、要求元情報レジスタ53のIRQ要求元の固有識別番号もIRQ要求元判定S20の判断結果である「B」に更新される。   After the IRQ request source is determined in the IRQ request source determination S20, the priority of the IRQ request source and the unique identification number in the request source information register 53 are updated when convenient for the information processing apparatus of the present embodiment. In the example of FIG. 2, the priority of the IRQ request source in the request source information register 53 is updated to “1” (B priority) that is the determination result of the IRQ request source determination S20. Further, the unique identification number of the IRQ request source in the request source information register 53 is also updated to “B” which is the determination result of the IRQ request source determination S20.

本実施の形態においては、現在優先度判定S30において、IRQ30の出力/抑制(発生/不発生)の判断を行ってもよい。現在優先度判定S30は要求元情報レジスタ53からIRQ要求元の優先度を受け取り、また、現在優先度レジスタ52からは現在優先度を受け取り、これらを比較することでIRQ30の出力/抑制を判断する。図2の例では、IRQ要求元の優先度は「1」であり、現在優先度は「0」である。IRQ要求元の優先度が現在優先度よりも優先順位が高いので処理実行部70に対してIRQ30が発生する。   In the present embodiment, determination of output / suppression (occurrence / non-occurrence) of the IRQ 30 may be performed in the current priority determination S30. The current priority determination S30 receives the priority of the IRQ request source from the request source information register 53, receives the current priority from the current priority register 52, and compares these to determine output / suppression of the IRQ 30. . In the example of FIG. 2, the priority of the IRQ request source is “1”, and the current priority is “0”. Since the priority of the IRQ request source is higher than the current priority, the IRQ 30 is generated for the processing execution unit 70.

3.優先度が同じ場合のIRQ発生判定方法
図3は、本実施の形態の情報処理装置におけるIRQ発生判定方法を示した図である。IRQ発生判定においては、割り込み制御部60はS20およびS30の処理を行う。また、割り込み制御部60はS10A〜S10Cの処理を行ってもよい。本実施の形態においては、優先度に加えて固有識別番号に基づきIRQ要求元を判断してもよい。図2と同じ構成要素については同じ番号を付しており、説明は省略する。
3. IRQ Occurrence Determination Method When Priority is Same FIG. 3 is a diagram showing an IRQ occurrence determination method in the information processing apparatus of the present embodiment. In the IRQ occurrence determination, the interrupt control unit 60 performs the processes of S20 and S30. Further, the interrupt control unit 60 may perform the processes of S10A to S10C. In the present embodiment, the IRQ request source may be determined based on the unique identification number in addition to the priority. The same components as those in FIG. 2 are denoted by the same reference numerals and description thereof is omitted.

図3の例では、IRQイネーブル判定S10A、S10B、S10Cに対してはIRQイネーブル設定レジスタ54から割り込み発生の許可(Enable)があるので、要因A割り込み要求20A、要因B割り込み要求20B、要因C割り込み要求20CがIRQ要求元判定S20に伝えられる。   In the example of FIG. 3, since the IRQ enable setting register 54 enables interrupt generation for the IRQ enable determinations S10A, S10B, and S10C, the factor A interrupt request 20A, the factor B interrupt request 20B, and the factor C interrupt are enabled. The request 20C is transmitted to the IRQ request source determination S20.

IRQ要求元判定S20は割り込み要求があった場合に、その割り込み要求の優先度を優先度設定レジスタ51から受け取り、所定の基準に照らしてIRQ要求元の判断する。ここで、前記所定の基準は最も高い優先度をもつことであるとすると、最も高い優先度をもつ割り込み要求が複数あった場合にはIRQ要求元を決定できない。このとき、前記所定の基準に加えて、固有識別番号が別の所定の基準を満たす割り込み要求をIRQ要求元としてもよい。固有識別番号における所定の基準とは、例えば固有識別番号を昇順に並べたときに先に現れる割り込み要求をIRQ要求元と決定することでもよい。図3の例では、優先度設定レジスタ51から読み出された要因A割り込み要求20Aの優先度(A 優先度)と要因B割り込み要求20Bの優先度(B 優先度)および要因C割り込み要求20Cの優先度(C 優先度)はそれぞれ「0」、「1」、「1」である。この場合、要因B割り込み要求20Bの優先度と要因C割り込み要求20Cの優先度は同じ優先度を持ち、IRQ要求元が一つに決まらない。ここで、固有識別番号について昇順に並べたときに先に現れる割り込み要求をIRQ要求元とすると、要因B割り込み要求20Bの固有識別番号「B」は要因C割り込み要求20Cの固有識別番号「C」より先であるため、IRQ要求元は要因B割り込み要求20Bと決定される。   When there is an interrupt request, the IRQ request source determination S20 receives the priority of the interrupt request from the priority setting register 51, and determines the IRQ request source according to a predetermined standard. Here, if the predetermined criterion is to have the highest priority, the IRQ request source cannot be determined when there are a plurality of interrupt requests having the highest priority. At this time, in addition to the predetermined reference, an interrupt request whose unique identification number satisfies another predetermined reference may be set as the IRQ request source. The predetermined reference in the unique identification number may be, for example, determining the interrupt request that appears first when the unique identification numbers are arranged in ascending order as the IRQ request source. In the example of FIG. 3, the priority (A priority) of the factor A interrupt request 20A read from the priority setting register 51, the priority (B priority) of the factor B interrupt request 20B, and the factor C interrupt request 20C The priorities (C priorities) are “0”, “1”, and “1”, respectively. In this case, the priority of the factor B interrupt request 20B and the priority of the factor C interrupt request 20C have the same priority, and there is no single IRQ request source. If the interrupt request that appears first when the unique identification numbers are arranged in ascending order is the IRQ request source, the unique identification number “B” of the factor B interrupt request 20B is the unique identification number “C” of the factor C interrupt request 20C. Since it is ahead, the IRQ request source is determined to be the factor B interrupt request 20B.

現在優先度判定S30については図2の場合と同じ判断が行われるが、図3の例では現在優先度レジスタ52には現在優先度の値として1が保持されている。IRQ要求元の優先度は現在優先度より大きな値ではないため、IRQ30は抑制されて処理実行部70に対してIRQ30は発生しない。   For the current priority determination S30, the same determination as in the case of FIG. 2 is performed, but in the example of FIG. 3, the current priority register 52 holds 1 as the value of the current priority. Since the priority of the IRQ request source is not greater than the current priority, the IRQ 30 is suppressed and the IRQ 30 is not generated for the processing execution unit 70.

4.多重割り込み
図4は、本実施の形態の情報処理装置における多重割り込みの制御例を示した図である。処理実行部は、本実施例のように多重割り込みの制御を行ってもよい。多重割り込みでは、ある割り込み要求の固有識別番号に対応した処理の最中に更に優先度の高い割り込み要求が発生したときには、優先度の高い割り込み要求の固有識別番号に対応した処理を開始する。本実施の形態においては、IRQを受け取ると要求元情報レジスタに保持されたIRQ要求元の優先度を現在優先度レジスタに書き込んでもよい。また、本実施の形態においては、IRQ要求元の固有識別番号に対応した処理の終了時に、当該処理を要求したIRQを受け取る前に現在優先度レジスタに保持されていた過去優先度の値を、現在優先度レジスタに書き込んでもよい。このとき、現在優先度レジスタに保持されていた値の履歴情報を記憶し、履歴情報に基づいて過去優先度の値を現在優先度レジスタに書き込んでもよい。また、情報処理装置の初期状態や割り込み要求がない状態などに、優先度設定レジスタに保持されているどの優先度の値よりも優先度の低い値を現在優先度レジスタに設定してもよい。
4). Multiple Interrupts FIG. 4 is a diagram illustrating an example of control of multiple interrupts in the information processing apparatus according to the present embodiment. The process execution unit may control multiple interrupts as in this embodiment. In the case of multiple interrupts, when an interrupt request with a higher priority occurs during the process corresponding to the unique identification number of a certain interrupt request, the process corresponding to the unique identification number of the interrupt request with a higher priority is started. In the present embodiment, when the IRQ is received, the priority of the IRQ request source held in the request source information register may be written in the current priority register. Further, in the present embodiment, at the end of the process corresponding to the unique identification number of the IRQ request source, the past priority value held in the current priority register before receiving the IRQ that requested the process is You may write to the current priority register. At this time, the history information of the value held in the current priority register may be stored, and the past priority value may be written in the current priority register based on the history information. Also, a value having a lower priority than any priority value held in the priority setting register may be set in the current priority register in an initial state of the information processing apparatus or a state where no interrupt request is made.

ここで、本実施の形態においては、優先度設定レジスタに保持されているどの優先度の値よりも優先度の低い値を「−1」(マイナス1)と表現する。これは実際の情報処理装置では、全てのビットが1である値(2の補数でのマイナス1)であってもよいし、優先度としては用いられないが表現可能な任意の数を割り当ててもよい。本実施の形態においては、要求元情報レジスタの優先度として「−1」が表示されているときは、割り込み要求が無い状態を示している。また、現在優先度レジスタに「−1」を書き込むときは、どの割り込み要求があった場合でもIRQが発生する状態を示している。また、本実施の形態においては、割り込み要求が無い状態のときに要求元情報レジスタの固有識別番号としても「−1」が表示されてもよい。実際の情報処理装置での表現の仕方も優先度の場合と同様である。   In this embodiment, a value having a lower priority than any priority value held in the priority setting register is expressed as “−1” (minus 1). In an actual information processing apparatus, this may be a value in which all the bits are 1 (minus 1 in 2's complement), or an arbitrary number that can be expressed but assigned as a priority is assigned. Also good. In the present embodiment, when “−1” is displayed as the priority of the request source information register, there is no interrupt request. In addition, when “−1” is written in the current priority register, an IRQ is generated regardless of any interrupt request. In the present embodiment, “−1” may also be displayed as the unique identification number of the request source information register when there is no interrupt request. The method of expression in the actual information processing apparatus is the same as in the case of priority.

図4の例においては、要因AからDに起因する4つの割り込み要求があるとする。図4の上から4つの信号は、IRQ要求元の固有識別番号(A、B、C、D)に対応した処理の実施状況を示している。また、それぞれの優先度は要因A=0、要因B=1、要因C=2、要因D=3であるとする。そして、要求元情報レジスタ(固有識別番号と優先度で分離して図示)、現在優先度レジスタとIRQの発生状態を示す信号が示されている。また、図4の例においては、割り込み要求が無い状態における要求元情報レジスタの固有識別番号については「−1」ではなく「X」で表現している。以下に多重割り込みが実行されている場面について説明する。   In the example of FIG. 4, it is assumed that there are four interrupt requests caused by factors A to D. The four signals from the top of FIG. 4 indicate the implementation status of the processing corresponding to the unique identification numbers (A, B, C, D) of the IRQ request source. The priorities are assumed to be factor A = 0, factor B = 1, factor C = 2, and factor D = 3. A request source information register (separated by unique identification number and priority), a current priority register, and a signal indicating an IRQ occurrence state are shown. In the example of FIG. 4, the unique identification number of the request source information register when there is no interrupt request is expressed by “X” instead of “−1”. The scene where multiple interrupts are executed will be described below.

最初は現在優先度レジスタの値は全ての割り込み要求を受け付ける「−1」がセットされている(950)。また、要求元情報レジスタには何も割り込み要求がないことを示す、固有識別番号「X」と優先度「−1」がそれぞれ表示されている。   Initially, the value of the current priority register is set to “−1” for accepting all interrupt requests (950). The request source information register displays a unique identification number “X” and a priority “−1” indicating that there is no interrupt request.

ここで、要因A割り込み要求が発生すると要求元情報レジスタの値が、固有識別番号「A」(951)と優先度「0」(952)に変化する。このとき、現在優先度レジスタの値は「−1」であるのでIRQ要求元の優先度がより高くIRQが発生(I1)する。IRQを受けて、処理実行部は要因A割り込み要求に対応した処理を開始する。そして、現在処理中の要因A(優先度「0」)より優先度が高い割り込み要求に限って受け付けるようにするため、処理実行部は現在優先度レジスタに「0」を書き込む(953)。   Here, when the factor A interrupt request is generated, the value of the request source information register changes to the unique identification number “A” (951) and the priority “0” (952). At this time, since the value of the current priority register is “−1”, the priority of the IRQ request source is higher and an IRQ is generated (I1). Upon receiving the IRQ, the process execution unit starts a process corresponding to the factor A interrupt request. Then, in order to accept only an interrupt request having a higher priority than the factor A currently being processed (priority “0”), the process execution unit writes “0” in the current priority register (953).

次に、優先度が現在処理中の要因Aよりも高い、要因B割り込み要求が発生する。するとIRQ(I2)が発生し、処理実行部は要因A割り込み要求に対応した処理を中断して要因B割り込み要求に対応した処理を開始する(J1)。そして、現在処理中の要因B(優先度「1」)より優先度が高い割り込み要求に限って受け付けるようにするため、処理実行部は現在優先度レジスタに「1」を書き込む(954)。   Next, a factor B interrupt request having a higher priority than the factor A currently being processed is generated. Then, IRQ (I2) is generated, and the process execution unit interrupts the process corresponding to the factor A interrupt request and starts the process corresponding to the factor B interrupt request (J1). Then, in order to accept only an interrupt request having a higher priority than the factor B currently being processed (priority “1”), the process execution unit writes “1” in the current priority register (954).

優先度が現在処理中の要因Bよりも高い、要因C割り込み要求が発生した場合も同様であるし、その要因Cの割り込み要求に対応した処理中に、要因D割り込み要求が発生した場合も同様である(割り込み発生…I3、I4、割り込み処理の変化…J2、J3)。   The same applies when a factor C interrupt request with a higher priority than the factor B currently being processed occurs, and also when a factor D interrupt request occurs during processing corresponding to the factor C interrupt request. (Interrupt occurrence ... I3, I4, change in interrupt processing ... J2, J3).

このように、処理実行部がIRQを受け取ると、要求元情報レジスタに保持されたIRQ要求元の優先度を現在優先度レジスタに書き込んでいくだけで、簡単に、割り込み要求の優先度を考慮した多重割り込みが行える。   As described above, when the process execution unit receives the IRQ, the priority of the interrupt request can be easily considered by simply writing the priority of the IRQ request source held in the request source information register to the current priority register. Multiple interrupts can be performed.

そして、優先度が最も高い要因Dの割り込み要求に対応した処理が、全ての要因の割り込み要求の中で最初に終了する。すると、要因Dの割り込み要求に対応した処理の前に実行されていた要因Cの割り込み要求に対応した処理が再開される(J4)。このとき、要因Dの割り込み要求により現在優先度は3になっている(955)。したがって、要因Cの割り込み要求に対応した処理(優先度=2)が多重割り込みを許すように現在優先度を2にする必要がある。   Then, the processing corresponding to the interrupt request of the factor D having the highest priority is ended first among the interrupt requests of all factors. Then, the process corresponding to the interrupt request of the factor C that was executed before the process corresponding to the interrupt request of the factor D is resumed (J4). At this time, the current priority is 3 due to the interrupt request of the factor D (955). Therefore, it is necessary to set the current priority to 2 so that the processing corresponding to the interrupt request of factor C (priority = 2) allows multiple interrupts.

この現在優先度に設定されるべき値は、終了した割り込み処理(要因Dに対応した処理)を要求したIRQを受け取る前(要因Cに対応した処理の実行中)に現在優先度レジスタに保持されていた値(以下、「過去優先度」という)である。多重割り込みを許すようにするためには、処理実行部は、例えば要求元情報レジスタのIRQ要求元の優先度の値を読み、現在優先度レジスタに再び書き込んでもよい(W1)。しかし、終了した割り込み処理(要因Dに対応した処理)を要求したIRQを受け取る前(要因Cに対応した処理の実行中)の状態に完全に戻ることを保証するためには、前記過去優先度の値を多重割り込みの実行前に保存しておき、割り込み処理(要因Dに対応した処理)の終了時に前記過去優先度の値を現在優先度レジスタに書き込んでもよい(W2)。例えば、効率化のために、現在優先度レジスタの値を多重割り込みの実行の度にスタック領域に履歴情報を保存(プッシュ)しておき、割り込み処理の終了後にその情報を取り出(ポップ)して前記過去優先度の値を取得し、それを現在優先度レジスタに書き込むような機能を備えていてもよい。   The value to be set for the current priority is held in the current priority register before receiving the IRQ requesting the completed interrupt process (process corresponding to the factor D) (during execution of the process corresponding to the factor C). Value (hereinafter referred to as “past priority”). In order to allow multiple interrupts, for example, the process execution unit may read the priority value of the IRQ request source in the request source information register and write it again in the current priority register (W1). However, in order to guarantee a complete return to the state before receiving the IRQ that requested the completed interrupt processing (processing corresponding to the factor D) (during execution of the processing corresponding to the factor C), the past priority May be stored before execution of multiple interrupts, and the value of the past priority may be written to the current priority register at the end of the interrupt process (process corresponding to the factor D) (W2). For example, for the sake of efficiency, the current priority register value is saved (pushed) in the stack area each time multiple interrupts are executed, and the information is taken out (popped) after completion of interrupt processing. It is also possible to have a function of acquiring the past priority value and writing it in the current priority register.

そして、同様に要因Cの割り込み要求に対応した処理が終了すると、要因Bの割り込み要求に対応した処理が再開され(J5)、要因Bの割り込み要求に対応した処理が終了すると、要因Aの割り込み要求に対応した処理が再開される(J6)。全ての割り込み要求に対応した処理が終了すると、要求元情報レジスタと現在優先度レジスタの値は初期の状態の戻る。   Similarly, when the process corresponding to the factor C interrupt request is completed, the process corresponding to the factor B interrupt request is resumed (J5), and when the process corresponding to the factor B interrupt request is completed, the factor A interrupt is resumed. Processing corresponding to the request is resumed (J6). When the processing corresponding to all interrupt requests is completed, the values of the request source information register and the current priority register return to the initial state.

ここで、図4の例においてはIRQ(I1〜I4)のパルス幅は現在優先度レジスタの値よりIRQ要求元の優先度が高い状態の時間に連動しているが、処理実行部が認識できる範囲でより短い幅のパルスであってもよいし、多重割り込みが正しく実施される範囲でより長い幅のパルスであってもよい。   Here, in the example of FIG. 4, the pulse width of the IRQ (I1 to I4) is linked to the time when the priority of the IRQ request source is higher than the value of the current priority register, but can be recognized by the processing execution unit. It may be a pulse having a shorter width in the range, or may be a pulse having a longer width in a range in which multiple interrupts are correctly performed.

ところで、図8は現在優先度レジスタ等を持たない従来の情報処理装置1010の例である。この従来の情報処理装置1010で多重割り込みを実現するために、割り込み要求1020に対応した処理を開始する前に、IRQイネーブル設定レジスタ1054を各割り込み要因のすべてに対し設定する必要があった。また、その判断は処理実行部1070が行うため処理実行部1070の負担が大きく、結果として処理時間の低下につながっていた。本実施の形態の情報処理装置における多重割り込みの制御方法は、たとえネスティングが深くなった場合でも特別な判断処理を行うこともなく、現在優先度レジスタを書き換えるだけで対応できる。また、IRQ要求元の情報は要求元情報レジスタに保持されるため、処理実行部の負担は軽減される。よって、従来の情報処理装置に比べて有利に多重割り込みを実現できる。   FIG. 8 shows an example of a conventional information processing apparatus 1010 that does not have a current priority register or the like. In order to realize multiple interrupts in this conventional information processing apparatus 1010, it is necessary to set the IRQ enable setting register 1054 for all the interrupt factors before starting the processing corresponding to the interrupt request 1020. Further, since the determination is made by the process execution unit 1070, the load on the process execution unit 1070 is large, resulting in a decrease in processing time. The method for controlling multiple interrupts in the information processing apparatus according to the present embodiment can be dealt with only by rewriting the current priority register without performing special judgment processing even when nesting becomes deep. Further, since the information of the IRQ request source is held in the request source information register, the burden on the processing execution unit is reduced. Therefore, multiple interrupts can be advantageously realized as compared with the conventional information processing apparatus.

5.多重割り込み禁止動作
図5は、本実施の形態の情報処理装置における多重割り込み禁止動作例を示した図である。処理実行部は、本実施例のように多重割り込み禁止動作を行ってもよい。本実施の形態においては、優先度設定レジスタに保持されているどの優先度の値よりも優先度の低い値を現在優先度レジスタに設定してもよい。図4と同じ構成要素等については同じ表現を用いており、説明は省略する。
5). Multiple Interrupt Disable Operation FIG. 5 is a diagram showing an example of multiple interrupt disable operation in the information processing apparatus of this embodiment. The process execution unit may perform the multiple interrupt prohibition operation as in this embodiment. In the present embodiment, a value having a lower priority than any priority value held in the priority setting register may be set in the current priority register. The same components as those in FIG. 4 are denoted by the same expressions, and description thereof is omitted.

本実施の形態は、本願にかかる発明が多重割り込み制御への対応のみならず、多重割り込み禁止動作も対応することを示すものである。   This embodiment shows that the invention according to the present application supports not only the multiple interrupt control but also the multiple interrupt prohibiting operation.

図5の要因A〜Dの割り込み要求は、優先度設定レジスタによって一律優先度を0と設定されている。ここで、値は必ずしも0でなくてよい。多重割り込み禁止動作の場合には、割り込み処理の途中では他の割り込み要求を受け付けられない。これを実現するには、最初の要因A割り込み要求に起因するIRQの発生(I1)の後に、処理実行部が現在優先度レジスタの値を0にするだけでよい。そして、当該処理の終了時に、現在優先度レジスタの値を「−1」に戻し、他の割り込み要求を受け付けるようにすればよい。以下、要因B〜Dの割り込み要求に対しても制御方法は同様である。   The interrupt requests for the factors A to D in FIG. 5 have the uniform priority set to 0 by the priority setting register. Here, the value is not necessarily 0. In the case of the multiple interrupt prohibition operation, other interrupt requests cannot be accepted during the interrupt processing. In order to realize this, the processing execution unit only needs to set the value of the current priority register to 0 after the occurrence of the IRQ (I1) caused by the first factor A interrupt request. Then, at the end of the processing, the value of the current priority register may be returned to “−1” to accept another interrupt request. Hereinafter, the control method is the same for the interrupt requests of factors B to D.

このように、多重割り込み禁止の場合でも、多重割り込みの場合と同様に現在優先度レジスタに対する書き込みによって割り込みを制御することができる。よって、本願にかかる発明では多重割り込みや多重割り込み禁止動作にも柔軟に対応することができる。   As described above, even when multiple interrupts are disabled, interrupts can be controlled by writing to the current priority register as in the case of multiple interrupts. Therefore, the invention according to the present application can flexibly cope with multiple interrupts and multiple interrupt prohibition operations.

6.電子機器
以下、本発明を適用した電子機器について説明する。
6). Hereinafter, an electronic device to which the present invention is applied will be described.

図6は、本実施の形態の電子機器の構成図である。   FIG. 6 is a configuration diagram of the electronic device of this embodiment.

電子機器100は撮像素子201と、デコーダー(Decoder)202と、前処理装置300と、情報処理装置10と、後処理装置400と、LCDコントローラー/ビデオデコーダー(Liquid Crystal Display Controller / Video Decoder)500と、ディスプレイ600と、記憶装置700とを含んでいる。本実施の形態ではドライブレコーダーや監視カメラへの適用を想定しているが、他のアプリケーションにおいても適用される。   The electronic device 100 includes an image sensor 201, a decoder 202, a pre-processing device 300, an information processing device 10, a post-processing device 400, an LCD controller / video decoder (Liquid Crystal Display Controller / Video Decoder) 500, A display 600 and a storage device 700. Although the present embodiment assumes application to a drive recorder and a surveillance camera, it is also applicable to other applications.

本実施の形態では、情報処理装置10は、集積回路装置に含まれる構成でもよい。   In the present embodiment, the information processing apparatus 10 may be included in an integrated circuit device.

撮像素子201は、例えばNTSC方式、PAL方式、または全画素読み出し方式の固体撮像素子であり、デコーダー202は、例えばNTSC方式、PAL方式に対応したビデオデコーダー(Video Decoder)である。この撮像素子201とデコーダー202が一体となったカメラモジュール200を用いてもよいし、デコーダー202が不要な場合には省略してもよい。   The image sensor 201 is, for example, a solid-state image sensor of the NTSC system, the PAL system, or the all-pixel readout system, and the decoder 202 is a video decoder (Video Decoder) compatible with, for example, the NTSC system or the PAL system. The camera module 200 in which the image sensor 201 and the decoder 202 are integrated may be used, or may be omitted when the decoder 202 is not necessary.

前処理装置300は画像データに対して前処理を行う装置である。例えば、システムクロックとの同期化装置や画像サイズの変換装置などがある。この前処理装置300は、デコーダー202あるいはカメラモジュール200の出力信号を受け取る。前処理装置300が不要な場合には省略してもよい。   The preprocessing device 300 is a device that performs preprocessing on image data. For example, there are a synchronization device with a system clock, an image size conversion device, and the like. The preprocessing device 300 receives an output signal from the decoder 202 or the camera module 200. If the pre-processing device 300 is unnecessary, it may be omitted.

情報処理装置10は、例えば図1〜図5、図7いずれかで説明した情報処理装置の構成をとることができる。この情報処理装置10は、前処理装置300の出力信号を受け取る。   For example, the information processing apparatus 10 can have the configuration of the information processing apparatus described in any of FIGS. The information processing apparatus 10 receives an output signal from the preprocessing apparatus 300.

後処理装置400は画像データに対して後処理を行う装置である。例えば、画像フォーマットの変換装置やコントラスト補正装置などがある。この後処理装置400は情報処理装置10の出力信号を受け取る。後処理装置400が不要な場合には省略してもよい。   The post-processing device 400 is a device that performs post-processing on image data. For example, there are an image format conversion device and a contrast correction device. The post-processing device 400 receives an output signal from the information processing device 10. If the post-processing device 400 is unnecessary, it may be omitted.

LCDコントローラー/ビデオデコーダー500は、LCDコントローラーまたはビデオデコーダーである。このLCDコントローラー/ビデオデコーダー500は、後処理装置400からの出力信号を受け、ディスプレイ600に適した信号に加工して出力する。このディスプレイ600は、前記加工された信号を受け、画像データを表示する。   The LCD controller / video decoder 500 is an LCD controller or a video decoder. The LCD controller / video decoder 500 receives an output signal from the post-processing device 400, processes it into a signal suitable for the display 600, and outputs it. The display 600 receives the processed signal and displays image data.

記憶装置700は、例えば フラッシュメモリであり、情報処理装置10が出力する静止画などを保存する。   The storage device 700 is a flash memory, for example, and stores a still image output from the information processing device 10.

なお、本発明は本実施の形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。   In addition, this invention is not limited to this Embodiment, A various deformation | transformation implementation is possible within the range of the summary of this invention.

本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。   The present invention includes configurations that are substantially the same as the configurations described in the embodiments (for example, configurations that have the same functions, methods, and results, or configurations that have the same objects and effects). In addition, the invention includes a configuration in which a non-essential part of the configuration described in the embodiment is replaced. In addition, the present invention includes a configuration that exhibits the same operational effects as the configuration described in the embodiment or a configuration that can achieve the same object. Further, the invention includes a configuration in which a known technique is added to the configuration described in the embodiment.

本発明に係る情報処理装置の一例を示すブロック図である。It is a block diagram which shows an example of the information processing apparatus which concerns on this invention. 本発明に係る情報処理装置のIRQ発生判定方法の一例を示すブロック図である。It is a block diagram which shows an example of the IRQ generation | occurrence | production determination method of the information processing apparatus which concerns on this invention. 本発明に係る情報処理装置の、優先度に関する所定の基準を満たす複数の割り込み要求に対するIRQ発生判定方法の一例を示すブロック図である。It is a block diagram which shows an example of the IRQ generation | occurrence | production determination method with respect to the some interrupt request which satisfy | fills the predetermined | prescribed reference | standard regarding a priority of the information processing apparatus which concerns on this invention. 本発明に係る情報処理装置の多重割り込みの制御方法の一例を示すブロック図である。It is a block diagram which shows an example of the control method of the multiple interruption of the information processing apparatus which concerns on this invention. 本発明に係る情報処理装置の多重割り込み禁止動作の一例を示すブロック図である。It is a block diagram which shows an example of the multiple interrupt prohibition operation | movement of the information processing apparatus which concerns on this invention. 本発明を適用した電子機器の一例を示すブロック図である。It is a block diagram which shows an example of the electronic device to which this invention is applied. 図7(A)〜(D)は、レジスタ部に含まれるレジスタの構成例を示すブロック図である。7A to 7D are block diagrams illustrating configuration examples of registers included in the register unit. 従来の情報処理装置の一例を示すブロック図である。It is a block diagram which shows an example of the conventional information processing apparatus.

符号の説明Explanation of symbols

10,1010…情報処理装置(集積回路装置)、20,20A,20B,20C,1020…割り込み要求、30,1030…IRQ、50,1050…レジスタ部、51…優先度設定レジスタ、52…現在優先度レジスタ、53…要求元情報レジスタ、54,1054…IRQイネーブル設定レジスタ、60,1060…割り込み制御部、70,1070…処理実行部、100…電子機器、200…カメラモジュール、201…撮像素子、202…デコーダー、300…前処理装置、400…後処理装置、500…LCDコントローラー/ビデオデコーダー、600…ディスプレイ、700…記憶装置、901…優先度設定レジスタの固有識別番号、902…優先度設定レジスタの優先度、903…現在優先度レジスタの現在優先度、904…要求元情報レジスタの固有識別番号、905…要求元情報レジスタの優先度、906…IRQイネーブル設定レジスタの固有識別番号、907…IRQイネーブル設定レジスタのIRQ許否信号 10, 1010 ... Information processing device (integrated circuit device), 20, 20A, 20B, 20C, 1020 ... Interrupt request, 30, 1030 ... IRQ, 50, 1050 ... Register section, 51 ... Priority setting register, 52 ... Current priority Degree register, 53 ... request source information register, 54, 1054 ... IRQ enable setting register, 60, 1060 ... interrupt control unit, 70, 1070 ... processing execution unit, 100 ... electronic device, 200 ... camera module, 201 ... image sensor, 202 ... Decoder, 300 ... Pre-processing device, 400 ... Post-processing device, 500 ... LCD controller / video decoder, 600 ... Display, 700 ... Storage device, 901 ... Unique identification number of priority setting register, 902 ... Priority setting register 903, the current priority of the current priority register, 9 4 ... unique identification number of the request source information register, the priority of 905 ... request source information register, 906 ... unique identification number of the IRQ enable setting register, 907 ... IRQ enable register sets IRQ permission signal

Claims (10)

割り込み制御部と、
処理実行部と、
複数の割り込み要求の優先度を、前記割り込み要求に付された固有識別番号に対応させて保持する優先度設定レジスタと、
前記処理実行部によって設定された現在優先度を保持する現在優先度レジスタと、
IRQ要求元の固有識別番号を含む要求元情報を保持する要求元情報レジスタと、
を含み、
前記割り込み制御部は、
前記優先度設定レジスタの情報を参照し、前記処理実行部への割り込みを要求している割り込み要求の優先度に基づき前記IRQ要求元を判断し、前記要求元情報を前記要求元情報レジスタに書き込み、
前記IRQ要求元の優先度が前記現在優先度より高ければIRQを出力し、
前記処理実行部は、
前記IRQを受け取ると前記要求元情報レジスタに保持された前記IRQ要求元の固有識別番号に対応した処理を行うことを特徴とする情報処理装置。
An interrupt controller;
A process execution unit;
A priority setting register that holds the priority of a plurality of interrupt requests in association with the unique identification number assigned to the interrupt request;
A current priority register that holds the current priority set by the processing execution unit;
A request source information register holding request source information including a unique identification number of the IRQ request source;
Including
The interrupt control unit
Refers to the information in the priority setting register, determines the IRQ request source based on the priority of the interrupt request requesting the interrupt to the processing execution unit, and writes the request source information in the request source information register ,
If the priority of the IRQ request source is higher than the current priority, IRQ is output,
The process execution unit
When the IRQ is received, the information processing apparatus performs processing corresponding to the unique identification number of the IRQ request source held in the request source information register.
請求項1において、
前記要求元情報は、
前記IRQ要求元の優先度を含み、
前記割り込み制御部は、
前記IRQ要求元の優先度を前記要求元情報レジスタに書き込むことを特徴とする情報処理装置。
In claim 1,
The request source information is:
Including the priority of the IRQ requestor;
The interrupt control unit
An information processing apparatus, wherein the priority of the IRQ request source is written in the request source information register.
請求項1乃至2のいずれかにおいて、
前記割り込み制御部は、
最も高い優先度をもつ割り込み要求を前記IRQ要求元と判断することを特徴とする情報処理装置。
In any one of Claims 1 thru | or 2.
The interrupt control unit
An information processing apparatus, wherein an interrupt request having the highest priority is determined as the IRQ request source.
請求項1乃至3のいずれかにおいて、
前記割り込み制御部は、
優先度に加えて固有識別番号に基づき前記IRQ要求元を判断することを特徴とする情報処理装置。
In any one of Claims 1 thru | or 3,
The interrupt control unit
An information processing apparatus that determines the IRQ request source based on a unique identification number in addition to a priority.
請求項2乃至4のいずれかにおいて、
前記処理実行部は、
前記IRQを受け取ると前記要求元情報レジスタに保持された前記IRQ要求元の優先度を前記現在優先度レジスタに書き込むことを特徴とする情報処理装置。
In any of claims 2 to 4,
The process execution unit
When the IRQ is received, the information processing apparatus writes the priority of the IRQ request source held in the request source information register to the current priority register.
請求項1乃至5のいずれかにおいて、
前記処理実行部は、
前記IRQ要求元の固有識別番号に対応した処理の終了時に、当該処理を要求したIRQを受け取る前に前記現在優先度レジスタに保持されていた過去優先度の値を、前記現在優先度レジスタに書き込むことを特徴とする情報処理装置。
In any one of Claims 1 thru | or 5,
The process execution unit
At the end of the process corresponding to the unique identification number of the IRQ request source, the past priority value held in the current priority register before receiving the IRQ that requested the process is written to the current priority register. An information processing apparatus characterized by that.
請求項6において、
前記処理実行部は、
前記現在優先度レジスタに保持されていた値の履歴情報を記憶し、前記履歴情報に基づいて前記過去優先度の値を前記現在優先度レジスタに書き込むことを特徴とする情報処理装置。
In claim 6,
The process execution unit
An information processing apparatus that stores history information of a value held in the current priority register and writes the value of the past priority in the current priority register based on the history information.
請求項1乃至7のいずれかにおいて、
前記処理実行部は、
前記優先度設定レジスタに保持されているどの優先度の値よりも優先度の低い値を前記現在優先度レジスタに設定することを特徴とする情報処理装置。
In any one of Claims 1 thru | or 7,
The process execution unit
An information processing apparatus, wherein a value having a lower priority than any priority value held in the priority setting register is set in the current priority register.
請求項1乃至8のいずれかに記載の情報処理装置を含む集積回路装置。   An integrated circuit device comprising the information processing device according to claim 1. 請求項9に記載の集積回路装置を含む電子機器。   An electronic apparatus comprising the integrated circuit device according to claim 9.
JP2008294615A 2008-11-18 2008-11-18 Information processing apparatus, integrated circuit device, electronic apparatus Withdrawn JP2010122813A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008294615A JP2010122813A (en) 2008-11-18 2008-11-18 Information processing apparatus, integrated circuit device, electronic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008294615A JP2010122813A (en) 2008-11-18 2008-11-18 Information processing apparatus, integrated circuit device, electronic apparatus

Publications (1)

Publication Number Publication Date
JP2010122813A true JP2010122813A (en) 2010-06-03

Family

ID=42324114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008294615A Withdrawn JP2010122813A (en) 2008-11-18 2008-11-18 Information processing apparatus, integrated circuit device, electronic apparatus

Country Status (1)

Country Link
JP (1) JP2010122813A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097659A (en) * 2011-11-02 2013-05-20 Renesas Electronics Corp Semiconductor data processor, time trigger communication system and communication system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097659A (en) * 2011-11-02 2013-05-20 Renesas Electronics Corp Semiconductor data processor, time trigger communication system and communication system

Similar Documents

Publication Publication Date Title
EP0464615B1 (en) Microcomputer equipped with DMA controller
US9043806B2 (en) Information processing device and task switching method
JP2005202767A (en) Processor system, dma control circuit, dma control method, control method for dma controller, image processing method, and image processing circuit
US20060161924A1 (en) Scheduling method, in particular context scheduling method, and device to be used with a scheduling method
JPH02267634A (en) Interrupt system
US20080022142A1 (en) Multiprocessor System, Synchronization Control Apparatus and Synchronization Control Method
EP1840736B1 (en) Multi-processor system and program execution method in the system
JP2005276097A (en) Interruption request program and microcomputer
JP2008090390A (en) Microcomputer debugging system and microcomputer
JP2008040905A (en) Semiconductor device and access method to storage device
JP2010122813A (en) Information processing apparatus, integrated circuit device, electronic apparatus
JP2010061620A (en) Dma device and dma transfer method
JP2005258509A (en) Storage device
JP2007310735A (en) Direct memory access controller
JP2004348627A (en) Microcomputer system
EP1942412A1 (en) Computer system and method for activating basic program therein
JP5017784B2 (en) Processor and interrupt processing control method applied to the processor
US20180181508A1 (en) Semiconductor device
JP4389797B2 (en) Processor and information processing method
JP2005284760A (en) Interrupt control circuit
JP2010140440A (en) Bus arbitration device
KR100257071B1 (en) Dma controller and method for aternating priority of dma request signal by using the same
US10817288B2 (en) Combined instruction for addition and checking of terminals
JP6332091B2 (en) Electronic control unit
JP2007219837A (en) Interrupt control method, arithmetic unit, and image processor

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: 20120207