WO1994007202A1 - Data processing apparatus - Google Patents

Data processing apparatus Download PDF

Info

Publication number
WO1994007202A1
WO1994007202A1 PCT/JP1993/001340 JP9301340W WO9407202A1 WO 1994007202 A1 WO1994007202 A1 WO 1994007202A1 JP 9301340 W JP9301340 W JP 9301340W WO 9407202 A1 WO9407202 A1 WO 9407202A1
Authority
WO
WIPO (PCT)
Prior art keywords
interrupt
level
priority level
request
mask
Prior art date
Application number
PCT/JP1993/001340
Other languages
English (en)
French (fr)
Inventor
Yasuo Yamada
Original Assignee
Kabushiki Kaisha Toshiba
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 Kabushiki Kaisha Toshiba filed Critical Kabushiki Kaisha Toshiba
Priority to DE69327043T priority Critical patent/DE69327043T2/de
Priority to EP93919682A priority patent/EP0614148B1/en
Publication of WO1994007202A1 publication Critical patent/WO1994007202A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to an interrupt processing activation method for a data processing device such as a microprocessor having a plurality of interrupt priority levels, and more particularly, to executing an interrupt processing program corresponding to an accepted interrupt factor, when executing an interrupt processing program.
  • Data processing device that can automatically set the priority level and simplify the priority arbitration circuit of the interrupt controller at the same time, thereby reducing the amount of hardware that composes it and reducing its power consumption.
  • An interrupt mechanism with multiple priority levels is a very powerful and important technology for quickly responding to truly urgent interrupt processing from among a large number of interrupt processing programs. Similarly, execute the interrupt acceptance bus cycle after accepting the interrupt, fetch the interrupt vector for identifying the device that has requested the interrupt processing, and branch from the vector value to the processing routine corresponding to the accepted interrupt factor.
  • the interrupter mechanism is also an important technology.
  • interrupt vectors are present in most high-performance microprocessors. If the interrupt vector is not fetched in the interrupt acceptance bus cycle, the device that has requested the interrupt cannot be identified. In order to identify the interrupt request device in the interrupt processing program, one inquiry (port Ring). This is very time consuming and increases response time to interrupts.
  • the interrupt mechanism having the plurality of priority levels and the vector interrupt mechanism are, for example, It is mounted on a 68000 microprocessor microprocessor.
  • the outline of the interrupt response procedure in the data processor of this 68000 micro processor is shown below.
  • FIG. 5 is a detailed flowchart of the interrupt response procedure, that is, an interrupt exception handling sequence.
  • the value of PC-2 specifies the start of the instruction that will be executed next when there is no external interrupt, that is, specifies the program counter setting value. .
  • an interrupt mask level according to the priority level of an accepted interrupt when executing a processing program corresponding to that interrupt. It is.
  • the above-mentioned Motorola 680 microprocessor has, for example, an interrupt level from level 0 to level 7 shown in FIG. 6 and an interrupt executed in step S104 shown in FIG.
  • interrupt requests with a priority equal to or lower than the mask level are ignored, that is, masked. Therefore, if the priority level of the currently accepted interrupt request is set as a mask level, interrupt requests of the same priority level and lower priority interrupt requests are ignored. This is often because the request is ignored even if the device receiving the interrupt keeps making requests. It is very convenient because there is no heavy reception. Also, among a plurality of interrupt requests of the same priority level, the next interrupt request should be executed after the processing of the first accepted interrupt request is completed, so the priority level of the accepted interrupt is set as the mask level. Setting is very convenient.
  • priority level 7 is exceptionally handled, and it is configured to accept interrupt requests with the same priority level as the interrupt mask level and used as non-maskable interrupts. I have.
  • This method of setting the interrupt mask level is very good, but has one problem: o It is necessary to return the interrupt vector corresponding to the interrupt factor that matches the accepted interrupt priority level Is a point.
  • the address of the interrupt processing program is calculated from the interrupt vector, it is fetched by the microprocessor in the interrupt acceptance bus cycle, or given by the interrupt controller or interrupt request device. It does not seem to need to correspond to the interrupt factor that matches the level. Rather, if an interrupt request with a higher priority level than the accepted interrupt request has occurred, the interrupt vector corresponding to the newly generated interrupt request with a higher priority level is fetched and the new It is desirable to respond to the generated high-priority interrupt request.
  • the time between when the microprocessor accepts an interrupt and when it executes the interrupt acceptance bus cycle is not short.
  • the lower two bytes of the program counter are saved to the stack (step S105), and then the interrupt acceptance bus cycle is executed. Run (Step S107).
  • the instruction may be prefetched asynchronously with the interrupt acceptance. In this case, the execution is performed when the interrupt is accepted.
  • These bus cycles usually end in a few moments, for example, the refresh operation of the dynamic memory used for main memory. In some cases, such as when there is contention with other bus masters in a multiprocessor, there are cases where more than tens of clicks are waited.
  • the interrupt request signal changes every moment, and there is no guarantee that the interrupt request signal at the moment when the interrupt is accepted and the interrupt request signal at the moment when the interrupt acceptance bus cycle is executed.
  • the interrupt controller arbitrates interrupt requests from interrupt request devices and determines the highest priority interrupt.
  • the interrupt controller finds the highest priority level interrupt at a given moment. Not only is it specified when the microphone mouth processor executes the interrupt acceptance bus cycle (in the case of a 680 microprocessor, it is output to the address buses A1 to A3). It is necessary to find the interrupt with the highest priority among the interrupt requests that have the same priority as the one accepted by the microprocessor. (When multiple interrupt sources share the same interrupt priority, Note that there is). This places a very heavy burden on the interrupt controller and requires complex mechanisms.
  • the interrupt accepted by the microphone processor may not match the interrupt vector fetched in the interrupt acceptance bus cycle, and the microphone processor must be equipped with a mechanism that can cope with such a situation.
  • the accepted priority level is set as an interrupt mask level, so this mismatch is a fatal problem for the 680 microprocessor. But this problem is not acceptable.
  • the interrupt vector is stored in a microcontroller.
  • the processor When giving an interrupt to the processor, it must search for the interrupt source corresponding to the priority level specified by the microphone processor (specifying the accepted priority level), and give the interrupt vector corresponding to it. This has the drawback of significantly complicating the controller's priority ordering mechanism.
  • the interrupt with the higher priority is Run after request execution. That is, since the timing for determining the highest priority interrupt request is executed earlier than necessary, the response time of an interrupt request having a higher priority level is extended unnecessarily (it is postponed). . Disclosure of the invention
  • the present invention solves the problems of the conventional data processing apparatus described above.
  • the object of the present invention is to make the timing of determining the highest-level interrupt request as late as possible, for example, an interrupt acceptance bus cycle.
  • An object of the present invention is to provide a data processing device capable of reducing the response time of an interrupt request having a high priority level by making a decision immediately before giving an interrupt vector.
  • Another object of the present invention is to simplify the priority arbitration circuit of the interrupt controller, reduce the amount of window required for configuring the interrupt controller, and reduce the power consumed by the interrupt controller.
  • An object of the present invention is to provide a data processing device having a function.
  • the data processor of the present invention is characterized by the fact that, from the outside of the data processor, an interrupt request for which one of a plurality of interrupt priority levels is designated is achieved, as shown in FIG. IPL 0 # IPL 2 # and the interrupt request of all the priority levels among the plurality of interrupt priority levels are received without masking at all, or low priority among the plurality of interrupt priority levels Interrupt requests from the level side to any level are specified to be ignored and the interrupt requests are masked. Interrupt mask means 11 and the maximum interrupt priority level masked by the interrupt mask means 11 are held.
  • the mask level holding means 13 and the interrupt request input by the input means IPL 0 #IPL 2 # hold the mask level holding means 13.
  • the control means 15 executes an interrupt processing activation procedure, and the control means 15 executes the interrupt acceptance bus cycle.
  • the interrupt priority level value given from the input means IPL 0 # to IPL 2 # is fetched, and the interrupt priority level value is set in the mask level holding means 13 as a mask level when executing the interrupt processing.
  • control is performed so as to mask an interrupt request having the same or lower priority level as the accepted interrupt priority level.
  • the control unit 15 is configured such that when the interrupt request input by the input units IPL 0 # to IPL 2 # is higher than the mask level held by the mask level holding unit 13, Accepting the interrupt request, executing an interrupt acceptance bus cycle indicating the accepted interrupt priority level, and executing at least the interrupt request for an interrupt request having a priority level equal to or lower than the priority level.
  • Performs an interrupt handling activation procedure that includes the step of receiving an interrupt vector that can identify the source of the request, but simplifies the interrupt controller circuit by delaying the timing of determining the highest priority interrupt request as late as possible.
  • the response time of an interrupt request having a high priority level is shortened.
  • the interrupt controller always determines the highest priority interrupt request, and as a result, the arbitration result immediately before giving the interrupt vector in the interrupt acceptance bus cycle is meaningful. I have.
  • the control means 15 receives the interrupt vector at the time of execution of the interrupt acceptance bus cycle, and at the same time, takes in the interrupt priority level value given from the input means IPL 0 # to IPL 2 #, and sets the interrupt priority level value. Is set in the mask level holding means 13 as a mask level at the time of execution of the interrupt processing, and during the execution of the interrupt processing, an interrupt request having the same or lower priority level as the received interrupt priority level is masked. Control.
  • the fact that the data processing device has captured the interrupt vector means that it responds to the interrupt, and the interrupt to be processed cannot be changed after the interrupt vector is captured. Therefore, priority arbitration is allowed until immediately before the interrupt vector is fetched, and the highest priority level of the interrupt request is fetched at the same time as the interrupt vector fetch. Slow down.
  • FIG. 1 is a configuration diagram of a data processing device according to an embodiment of the present invention.
  • FIG. 2 is a bit configuration diagram of a PSW (processor status word) in the data processing device shown in FIG.
  • FI G.3 is a flow chart showing the interrupt processing activation procedure (when the highest priority level when accepting an interrupt is the same as the highest priority level when fetching an interrupt vector) in the data processing device shown in Fig. 1 It is.
  • Fig. 4 shows the interrupt processing activation procedure in the data processing device shown in Fig. 1.
  • FIG. 5 is a flowchart showing an interrupt exception handling procedure in a conventional data processing device.
  • FIG. 6 is an explanatory diagram of an interrupt level in a conventional data processing device.
  • FIG. 1 shows a configuration diagram of a data processing device according to an embodiment of the present invention.
  • the data processing device (hereinafter, referred to as a microprocessor) of this embodiment includes an address bus A1 to A23, a data bus D0 to D15, a bus control signal group, and an interrupt. It is connected to peripheral devices and interrupt controllers via an inter-use signal consisting of request signal groups IPL 0 # to IPL 2 #.
  • the bus control signal group includes an address strobe signal AS #, a read / write signal R / W #, an upper data strobe signal UDS #, a lower data strobe signal LDS #, and a data acknowledgment signal DTACK #. It is included.
  • the three interrupt request request signals IPL 0 # to IPL 2 # are used by an external device to indicate that there is an interrupt request to the microphone processor 1. In this embodiment, it is assumed that there is an interrupt request level having a priority of level 1 to level 7. The symbol # following the signal name indicates that the signal is a negative logic signal.
  • the internal configuration of the microprocessor 1 of this embodiment includes an interrupt request signal group.
  • the control circuit 15 receives the priority interrupt signal 51, issues a mask level capture signal 53 to the mask register 13 and generates an interrupt request signal group IPL 0 # to IPL 2 #. Load the requested level into the mask register 13.
  • the mask register 13 is a microcontroller, also called a PSW (processor status word). Bits for controlling various operations of the microprocessor 1 may be included in a part of the register in which the bits are collected.
  • FIG. 2 shows a configuration example of the PSW.
  • the microphone mouth processor 1 of the present embodiment has an interrupt mechanism having a plurality of priority levels and a vector interrupt mechanism. There are 1 to 7 interrupt priority levels (level 0 indicates that no interrupt is requested), with level 1 being the lowest priority level and level 7 being the highest priority level. The operation of these mechanisms will be explained with reference to the interrupt processing activation procedure shown in FIG.
  • step Sp 1 it is assumed that “2” is set as the mask level of the mask register 13 in the microprocessor 1 (step Sp 1).
  • an interrupt of a low priority level of 1 or 2 is set.
  • the request is masked, ignored and not accepted. That is, due to the progress of the program on the microprocessor 1 side, these low-priority interrupt requests are kept waiting until it becomes unnecessary to mask low-priority interrupts, that is, until high-priority interrupt processing is completed.
  • the interrupt request signal from peripheral device A is input to the interrupt controller (step SC1), and the interrupt controller arbitrates the priority.
  • the highest priority level (in this case, there is only one input,
  • the priority level of the interrupt request input that has the highest priority level (level 3) is transmitted to microprocessor 1 as an interrupt request (step SC2)
  • the interrupt controller outputs the interrupt vector uniquely assigned to the peripheral device A to the data buses DO to D15 (step SC3), and the microprocessor 1 outputs data buses D0 to D1.
  • the highest priority level at the time of accepting an interrupt is the same as the highest priority level at the time of taking an interrupt vector. Therefore, as in the conventional example, even if the priority level at the time of accepting the interrupt is set to the mask level in the interrupt processing program, no particular inconvenience occurs.
  • the actual microphone processor saves the internal state (for example, the contents of general-purpose registers, the contents of the program counter, etc.) of the microphone processor depending on the program being processed at the time of receiving the interrupt, and executes the interrupt processing program.
  • the interrupt acceptance bus cycle that is, the accepted interrupt request is not always executed immediately after the acceptance of the interruption request.
  • an interrupt request signal from another peripheral device is input to the interrupt controller, and the highest priority level may change.
  • the interrupt request signal from peripheral device A is input to the interrupt controller (step SC11), the priority of the interrupt is arbitrated by the interrupt controller, and the interrupt request with the highest priority level (level 3) The priority level of the input is transmitted to the microprocessor 1 as an interrupt request (step SC12).
  • the control circuit 15 accepts the interrupt request at a predetermined timing such as an instruction break (step). SP 1 2). However, some time may elapse before the interrupt acceptance bus cycle is executed. Also, if an interrupt request from peripheral device B occurs at a very delicate timing, the highest priority level may change between the reception of the interrupt and the interrupt acceptance bus cycle. For example, as shown in step SC13 shown in FIG. 4, an interrupt request is generated from peripheral device B having a higher priority level (level 5) than peripheral device A, and the highest priority level of the arbitration circuit (not shown) is generated. Is changed to "5" (step SC14), which corresponds to this case.
  • the priority level of the interrupt request accepted first is "3". Therefore, in the interrupt acceptance bus cycle, the priority level of the interrupt request accepted on the address buses A1 to A23 is set. "3" to indicate that the received interrupt request is of level 3 (step SP13)
  • the interrupt controller In response to this interrupt acceptance bus cycle, the interrupt controller is uniquely assigned to peripheral device B requesting the level 5 interrupt so that it can respond to the currently highest priority level 5 interrupt.
  • the interrupt is output to the data buses D0 to D15 (step SC15).
  • the priority level of the initially accepted interrupt was "3", but it is important to use the priority level "5" that was captured at the same time as the interrupt vector.
  • interrupt requests exceeding the priority level "5" of the device are accepted, but interrupt requests lower than that are masked.
  • the interrupt processing program for peripheral device B knows that the interrupt priority level is assigned to "5", and does not cause an interrupt of priority level 5 or lower. It may be coded on the assumption that it will not be interrupted. In this case, since the program assigned to the priority level 5 is executed at the mask level 3, the interrupt of the priority level 4 or the priority level 5 may be accepted, and an unexpected situation occurs.
  • an interrupt request that has occurred once in peripheral device B will not be released unless the specified process is executed in the interrupt processing program for peripheral device B and the interrupt factor is removed.
  • an interrupt request (priority level 5) from the same peripheral device B will be accepted immediately after the execution of the interrupt processing program for peripheral device B at mask level 3. That is, as a result, the interrupt request from the peripheral device B is erroneously accepted twice.
  • the conventional microprocessor has a configuration in which the microprocessor cannot respond to an interrupt having a priority level different from the priority level initially accepted by the microprocessor.
  • the interrupt controller must search for an interrupt request that matches the priority level indicated on the address bus in the interrupt acceptance bus cycle, which complicates the mechanism.
  • an interrupt request of a higher priority level occurs, it is not allowed to immediately respond to the request, so that the response time of the interrupt request having the higher priority level may be extended more than necessary. There was a problem.
  • the microprocessor 1 captures the interrupt vector on the data bus DOD 15 and simultaneously sets the interrupt request signal group IPL 0 # IPL 2 #
  • the interrupt request level value input by the CPU is also captured, and the priority level value is set as a mask level in an interrupt processing program to be executed from now on, so that the above-mentioned problem of the conventional microprocessor can be easily solved. Can be.
  • interrupt processing activation method of the microprocessor of this embodiment can be implemented with the same mechanism as the conventional example, but also requires only re-sampling of the priority level of the interrupt request input. There are no problems that can be solved. Here, it also has the feature that it is not necessary to increase the number of clocks required for interrupt processing activation. This is a noteworthy matter.
  • the microprocessor adopts the interrupt processing activation method of the configuration of the present embodiment described above, so that the interrupt controller allows the priority level designated from among the peripheral devices generating the interrupt request to be equal to the priority level specified by the interrupt request. It eliminates the need for very time-consuming and complicated mechanisms, such as searching for a match. Therefore, the priority arbitration circuit (not shown) of the interrupt controller can be simplified, the amount of dou- er required to construct the priority arbitration circuit can be reduced, and the power consumed there can be reduced. Can be reduced.
  • an interrupt priority level value given from an interrupt request signal group is fetched at the same time as receiving an interrupt vector, and The mask level at the time of processing execution is set in the mask level holding means.
  • control is performed so that interrupt requests with the same or lower priority level as the received interrupt priority level are masked, and the interrupt controller always determines the highest priority interrupt request. Then, the arbitration result immediately before giving the interrupt vector in the interrupt acceptance bus cycle is meaningful.
  • a data processing device capable of simplifying a priority arbitration circuit of an interrupt controller, reducing the amount of dwell required for configuring the circuit, and reducing the power consumed there. be able to.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

明細害
データ処理装置 技術分野
この発明は、 複数の割り込み優先レベルを有するマイクロプロセッサ等のデータ処 理装置の割り込み処理起動方式に関し、 特に、 受け付けた割り込み要因に対応する割 り込み処理プログラ ムを実行する際に、 割り込みマスク レベルを自動的に設定し、 同 時に割り込みコン トローラの優先順位調停回路等を簡単化できることにより、 それを 構成するハ一ドウヱァ量を減少でき、 かつその消費電力を低く押さえることのできる データ処理装置に関する。 背景技術
複数の優先レベルを備えた割り込み機構は、 多数ある割り込み要因の処理プログラ ムの中から、 本当に緊急性の高い割り込み処理に素早く対応するための、 非常に強力 で重要な技術である。 同様に、 割り込み受け付け後に割り込み受付バスサイ クルを実 行し、 割り込み処理を要求したデバイスを識別するための割り込みベクタを取り込ん で、 そのべクタ値から受け付けた割り込み要因に対応する処理ルーチンへ分岐するべ クタ割り込み機構も重要な技術である。
これらの割り込み機構は、 現在、 高性能マイクロプロセッサのほとんどが備えてい る。 割り込み受け付けバスサイ クルで割り込みベクタを取り込まなければ、 割り込み を要求したデバィスを特定することができず、 割り込み処理プログラムの中で割り込 み要求デバイ スを特定するために、 1つ 1つ問い合わせ (ポー リ ング) しなければな らない。 これは非常に時間がかかるため、 割り込みに対する応答時間を増大させるこ とになる。
上記複数の優先レベルを備えた割り込み機構及びべクタ割り込み機構は、 例えばモ ト ローラ社のマイク ロプロセッサ 68000に搭載されている。 この 68000マイ ク口プロセッサのデータ処理装置における割り込み応答手順の概略を以下に示す。
(1)割り込み要求を受け付ける。
(2)割り込み受付バスサイクル (割り込みァクノレッジサイクル) を実行する。
(3)割り込みベクタを受け付ける (取り込む) 。
(4)ベクタ値からテーブルを検索し割り込み処理プログラムのァドレスを知る。
(5) 割り込み処理プログラムに分岐する。
F I G. 5は、 上記割り込み応答手順、 即ち割り込み例外処理シーケンスの詳細な フロー図である。 同図のステップ S 1 02において、 P C— 2の値は、 外部割り込み がなかった場合に、 次に実行することになつた命令の先頭を指定している、 即ちプロ グラムカウンタ設定値を指定する。
上記(1)-(5)の応答手順の処理ステツプの途中で、 割り込み直前のマイク口プロ セッサの内部状態を退避する等の必要な処理が実行されるが、 それは本発明にとって 本質的な事項ではないので、 ここでは説明を省略する。
ところで、 複数の優先レベルを備えた割り込み機構では、 受け付けた割り込みの優 先レベルに従って、 その割り込みに対応した処理プログラムを実行する際に、 割り込 みマスク レベルを自動的に設定するのが一般的である。 上記したモ ト ローラ社の 6 8 0 0 0マイクロプロセッサでは、 例えば、 F I G. 6に示すレベル 0からレベル 7の割り込みレベルを持ち、 F I G. 5に示したステップ S 1 04において実行する 割り込みマスクレベルでは、 優先度がマスクレベルと同じか、 それ以下の優先レべ ルの割り込み要求を無視する、 即ちマスクする。 従って、 いま受け付けた割り込み要 求の優先レベルをマスクレベルとして設定すれば、 同一優先レベルの割り込み要求 、 及びそれ以下の優先レベルの割り込み要求を無視する。 これは、 割り込みを受け付 けられたデバイ スが要求を出し続けている場台でも、 その要求は無視されるので、 多 重に受け付けられることが無いため非常に都合がよい。 また、 同一優先レベルの複数 の割り込み要求の間では、 最初に受け付けられた割り込み要求の処理が終了した後に 、 次の割り込み要求を実行するべきであるから、 受け付けた割り込みの優先レベルを マスク レベルとして設定するのは非常に都合がよい。
6 8 0 0 0マイク口プロセッサでは、 例えば、 優先レベル 7だけを例外的に扱って おり、 割り込みマスク レベルと同一優先レベルの割り込み要求を受け付けるように構 成してマスク不可能割り込みとして使用している。
この割り込みマスク レベルの設定方式は大変優れた方式であるが、 1つ問題がある o 即ち、 受け付けられた割り込み優先レベルと一致する割り込み要因に対応した割り 込みべクタを返すことが必要とされる点である。
割り込み処理プログラムのア ドレスは割り込みべクタから計算されるため、 割り込 み受付バスサイクルでマイクロプロセッサが取り込む、 あるいは割り込みコントロ ーラまたは割り込み要求デバイスが与える、 割り込みベクタは、 必ずしも、 受け付け られた優先レベルと一致する割り込み要因に対応したものでなくても構わないように 見える。 むしろ、 受け付けられた割り込み要求よりも優先レベルの高い割り込み要求 が発生している場合、 その新たに発生した、 より優先レベルの高い割り込み要求に対 応した割り込みべクタを取り込ませて、 その新たに発生した高優先の割り込み要求に 応える方が望ましい。
しかし、 これにも問題がある。 割り込みベクタは割り込み受付バスサイクルで決定 される力 ί、 割り込み処理ルーチンで使用される割り込みマスク レベルは、 最初に受け 付けた割り込み要求のものが使われるからである。
実際に、 マイクロプロセッサが割り込みを受け付けてから、 割り込み受付バスサイ ク ルを実行するまでの時間は短いとは隈らない。 F I G . 5 に示したように 、 6 8 0 0 0 マイ ク ロプロセッサの例では、 プログラムカウ ンタの下位 2バイ トをス タックに退避してから (ステップ S 1 0 5 ) 、 割り込み受付バスサイクルを実行する (ステ ッ プ S 1 0 7〉 。 また、 別の種類のマイクロプロセッサでは、 割り込み受付と は非同期的に命令のプリフヱツチを行なっていることもある。 この場合、 割り込みを 受け付けた時点で実行していたバスサイクルが途中で中断することはない。 これらの バスサイクルは、 通常、 数ク口ックで終了するが、 例えば、 主記憶に使用しているダ イ ナミ ックメモ リ の リ フ レツ シュ動作と競合したり、 マルチプロセッサで他のバスマ ス夕と競合した場合等では、 数十ク口ック以上も待たされる場合がある。
一般に、 割り込み要求信号は時々刻々と変化するものであり、 割り込みが受け付け られた瞬間の割り込み要求信号と割り込み受付バスサイクルが実行された瞬間の割り 込み要求信号が一致する保証は全く無い。 割り込みコ ントローラでは、 割り込み要求 デバイ スからの割り込み要求を調停し、 最高優先レベルの割り込みを判定しているが
、 これは時々刻々と変化するものである。
6 8 0 0 0マイク口プロセッサのように、 受け付けた優先レベルの割り込みに対応 する割り込みベクタを取り込むことが前提である場合、 割り込みコ ン ト ローラは、 あ る瞬間の最高優先レベルの割り込みを見つけるだけでなく、 マイク口プロセッサが割 り込み受付バスサイクルを実行したときに指定される (6 8 0 0 0マイクロプロセッ サの場合は、 ァ ドレスバス A 1〜A 3に出力される) ところのマイクロプロセッサが 受け付けた優先レベルと同一の割り込み優先レベルを持つ割り込み要求の中で最高優 先順に位置する割り込みを見つける必要がある (複数の割り込み要因が同一の割り込 み優先レベルを共有する場合があることに注意) 。 これは、 割り込みコ ン ト ローラに とって非常に大きな負担になり、 複雑な機構が必要になる。
また、 割り込みが受け付けられた瞬間以降に、 それよりも優先レベルの高い割り込 み要求信号が発生した場合、 この新たに発生した高い優先レベルの割り込み要求は 、 (その優先レベルが高いにも関わらず) 後回しになる。 即ち、 少し前に要求して受 け付けられた割り込み要求に対応する割り込み処理プログラムに制御が移った時、 そ こで使われているマスク レベルよりも優先レベルが高い割り込みとして受け付けられ るまで、 待たされることになる。
割り込みが受け付けられてから割り込み処理プログラムの実行が開始されるまでに は、 マイクロプロセッサの内部状態を退避する等の処理を行なうために、 一般に数十 クロック必要である。 従って、 最高優先レベルの割り込み要求を決定する時期は、 そ れをマイクロプロセッサに伝える直前、 即ち割り込み受付バスサイクルで割り込みべ ク夕を与える直前であるのが望ましい。
この場合、 マイ ク口プロセッサが受け付けた割り込みと割り込み受付バスサイクル で取り込む割り込みべクタとが一致しない場合が考えられ、 マイク口プロセッサはそ う いう状況にも対応.できる機構を備える必要がある。 しかしながら、 例えば 6 8 0 0 0マイクロプロセッサの場合、 受け付けた優先レベルを割り込みマスクレべ ルとして設定すするので、 この不一致は 6 8 0 0 0マイクロプロセッサにとっては 致命的な問題である。 しかし、 この問題は、 許されるものでもない。
上記したように、 従来の、 割り込みマスクレベルとして受け付けた優先レベル (こ れは、 割り込み処理プログラムで使用される) を自動設定する機構を備えた従来のデ 一夕処理装置において、 割り込みベクタをマイクロプロセッサに与える際に、 マイク 口プロセッサが指定した優先レベル (受け付けた優先レベルを指定する) に対応する 割り込み要因を捜して、 それに対応する割り込みベクタを与えなければならず、 この ことは、 割り込みコ ン トローラの優先順位順序機構を著しく複雑にするという欠点を 引き起こしていた。
また、 割り込みを受け付けた時点で最高の優先レベルであった割り込みに対応する ため、 たとえその直後に、 それよりもより高い優先レベルを持った割り込み要求が来 ていても、 この優先レベルの高い割り込み要求の実行の後で実行されるたる。 即ち 、 最高の優先の割り込み要求を決定する時期が必要以上に早く実行されるため、 それ よりも優先レベルの高い割り込み要求の応答時間が必要以上に伸びる (後回しにされ る) という欠点があった。 発明の開示
本発明は、 上記従来のデータ処理装置の有する問題点を解決するもので、 その目的 は、 傻先レベルの最高位の割り込み要求を決定する時期を可能な限り遅く し、 例えば 、 割り込み受付バスサイクルにおいて割り込みベクタを与える直前に決定を行なうこ とで、 高い優先レベルを持つ割り込み要求の応答時間を短縮することのできるデータ 処理装置を提供することである。
また本発明の他の目的は、 割り込みコントローラの優先順位調停回路を簡単化し 、 割り込みコン トローラを構成するのに必要となる ドウ ァ量を削減すると共に 、 割り込みコン トローラにおいて消費される電力を低減した機能を有するデータ処理 装置を提供することである。
前期目的を達成するために、 本発明のデータ処理装置の特徴は F I G . 1 に示す よ うに、 当該データ処理装置の外部から、 複数の割り込み優先レベルの内の 1つが指 定されている割り込み要求を入力する入力手段 I P L 0 # I P L 2 #と、 前記 複数の割り込み優先レベルの中の全ての優先レベルの割り込み要求を全くマスク しな いで受けるか、 或いは前記複数の割り込み優先レベルの中の低優先レベル側から任意 のレベルまでの割り込み要求を無視するように指定して該割り込み要求をマスクする 割り込みマスク手段 1 1 と、 前記割り込みマスク手段 1 1 によりマスク されている最 大の割り込み優先レベルを保持するマス ク レベル保持手段 1 3 と、 前記入力手段 I P L 0 # I P L 2 #により入力した割り込み要求が前記マスク レベル保持手段 1 3 の保持するマスク レベルよりも高い時に、 該割り込み要求を受け付けるステップ と、 受け付けた割り込み優先レベルを示して割り込み受付バスサイ クルを実行し、 該 優先レベルと同じかまたはそれより高い優先レベルを持つ割り込み要求に対して、 少 なく とも該割り込み要求の要求元を識別できる割り込みベクタを受け取るステツプと を含む割り込み処理起動手順を実行する制御手段 1 5 とを具備し、 前記制御手段 1 5は、 前記割り込み受付バスサイ クル実行時に、 前記割り込みベクタを受け取ると 同時に、 前記入力手段 I P L 0 # 〜 I P L 2 #から与えられている割り込み優先 レベル値を取り込み、 該割り込み優先レベル値を該割り込み処理実行時のマスク レべ ルとして前記マスク レベル保持手段 1 3に設定し、 該割り込み処理実行中は受け付け た割り込み優先レベルと同じまたは低い優先レベルの割り込み要求をマスクするよう 制御することである。
上記構成を有する本発明のデータ処理装置では、 制御手段 1 5は、 入力手段 I P L 0 # 〜 I P L 2 #により入力した割り込み要求がマスク レベル保持手段 1 3の保持するマス ク レベルよりも高い時に、 該割り込み要求を受け付けるステップ と、 受け付けた割り込み優先レベルを示して割り込み受付バスサイクルを実行し、 該 優先レベルと同じかまたはそれより髙ぃ優先レベルを持つ割り込み要求に対して、 少 なく とも該割り込み要求の要求元を識別できる割り込みベクタを受け取るステップと を含む割り込み処理起動手順を実行するが、 最高優先レベルの割り込み要求を決定す る時期を可能な限り遅くすることで割り込みコントローラの回路を簡単化すると共に 、 高い優先レベルを持つ割り込み要求の応答時間を短く している。
具体的には、 常に割り込みコ ン ト ローラで最高優先レベルの割り込み要求の決定を 行なう こととし、 その結果として、 割り込み受付バスサイクルで割り込みベクタを与 える直前の調停結果が意味を持つようにしている。
この際、 割り込みベクタにより指定された割り込み処理プログラムのためのマスク レベルの自動設定の問題があるが、 これに対しては、 データ処理装置が割り込みべク タと同時にサンプルし直した割り込み要求の優先レベル値を使用することで対処する 。 このため制御手段 1 5は、 割り込み受付バスサイ クル実行時に、 割り込みベクタを 受け取ると同時に、 入力手段 I P L 0 # ~ I P L 2 #から与えられている割り込 み優先レベル値を取り込み、 該割り込み優先レベル値を該割り込み処理実行時のマス ク レベルと してマスク レベル保持手段 1 3に設定し、 該割り込み処理実行中は受け付 けた割り込み優先レベルと同じまたは低い優先レベルの割り込み要求をマスクするよ う制御する。
データ処理装置が割り込みベクタを取り込んだということは、 その割り込みに対し て応答することを意味しており、 割り込みベクタの取り込み以降の時点で処理する割 り込みを変更することはできない。 従って、 割り込みベクタの取り込み直前まで優先 順位の調停を許し、 割り込みベクタ取り込みと同時に最も高い割り込み要求の優先レ ベルを取り込むという動作により、 最新の最高優先レベルの割り込み要求を決定する 時期を可能な限り遅くする。
これにより、 高い優先レベルを持つ割り込み要求の応答時間を短縮したデータ処理 装置の割り込み処理起動方式を実現すると共に、 割り込みコントローラの優先順位調 停回路を簡単化し、 それを構成するのに必要となるハ一ドウユア量を減少し、 更にそ こで消費される電力を低減することが可能となる。 図面の簡単な説明
F I G. 1は、 本発明の一実施例に係るデータ処理装置の構成図である。
F I G. 2は、 F I G. 1に示したデータ処理装置における P S W (プロセッサス テータスワード) のビッ ト構成図である。
F I G. 3は、 F I G. 1図に示したデータ処理装置における割り込み処理起動手 順 (割り込み受付時の最高優先レベルと、 割り込みベクタ取込時の最高優先レベルが 同じ場合) を示すフローチャー トである。
F I G. 4は、 F I G. 1に示したデータ処理装置における割り込み処理起動手順
(割り込み要求受付後、 最高優先レベルが変化する場合) を示すフ π—チャー トであ る o
F I G. 5は、 従来のデータ処理装置における割り込み例外処理手順を示すフロ —チャートである。
F I G. 6は、 従来のデータ処理装置における割り込みレベルの説明図である。 発明を実施するための最良の形態
以下、 本発明に係る実施例を図面に基づいて説明する。
F I G. 1に本発明の一実施例に係るデータ処理装置の構成図を示す。
F I G. 1 に示すように、 本実施例のデータ処理装置 (以下、 マイクロプロセッサ という) は、 ァ ドレスバス A 1 ~A23、 デ一夕バス D 0〜D 1 5、 バス制御信号群 及び割り込み要求信号群 I P L 0 #〜I P L 2 #からなるィ ンタフユース信号を介し て、 周辺装置や割り込みコントローラと接続されている。 ここでバス制御信号群には 、 ア ドレスス ト ローブ信号 A S #、 リー ドライ ト信号 R/W#、 上位データス ト 口 ーブ信号 U D S #、 下位データス トローブ信号 L D S #、 及びデータァクノ レツジ信 号 D T A C K # が含ま れてい る。 ま た 3 本の割 り 込み要求要求信号 I P L 0 #~ I P L 2 #は、 外部デバィスがマイク口プロセッサ 1に対して割り込み 要求があることを示すために用いられる。 本実施例では、 レベル 1からレベル 7の優 先度を持つ割り込み要求レベルがあるとする。 尚、 信号名に続く記号 #は、 その信号 が負論理信号であることを示している。
また、 本実施例のマイ ク ロ プロ セ ッ サ 1 の内部構成は、 割り込み要求信号群
I P L 0 #~ I P L 2 #により入力される割り込み要求の一部を選択的にマスクする (或いは全くマスク しない〉 マスク回路 1 1 と、 マスクする最大の優先レベルを保持 するマスク レジスタ 1 3 と、 マス ク回路 1 1でマス ク した結果、 マス ク レジス タ 1 3のマスク レベルよりも高い優先レベルの割り込みがあったことを示す優先割り込 み信号 5 1を受けて、 割り込み受付に関する一切の処理を制御する制御回路 1 5とか ら構成されている。
制御回路 1 5は、 優先割り込み信号 5 1を受けて、 マスク レジスタ 1 3に対してマ ス ク レベル取り込み信号 5 3 を発して、 割り込み要求信号群 I P L 0 # 〜 I P L 2 #により入力される割り込み要求レベルをマスク レジスタ 1 3に取り込む。 マス ク レジスタ 1 3は、 P SW (プロセッサステータスワー ド) とも呼ばれるマイ クロプロセッサ 1の種々の動作を制御するビッ トが集まったレジスタの一部に含まれ ていてもよい。 P S Wの一構成例を F I G . 2に示す。
本実施例のマイク口プロセッサ 1においては、 複数の優先レベルを備えた割り込み 機構とベクタ割り込み機構を備えている。 割り込みの優先レベルは、 1〜7のレベル (レベル 0は割り込みが要求されていないことを示す) があり、 レベル 1が最低優先 レベル、 レベル 7が最高優先レベルである。 これらの機構が働く様子を F I G . 3 に 示す割り込み処理起動手順により説明する。
先ず初めに、 マイ クロプロセッサ 1ではマスクレジスタ 1 3のマスクレベルとして " 2 " が設定されているものとする (ステップ S p 1 ) o この場合、 優先レベルが 1 または 2 の低い優先レベルの割り込み要求はマスクされ、 無視されて受け付けられ ない。 つまりマイクロプロセッサ 1側のプログラムの進行により、 優先レベルの低い 割り込みをマスクする必要がなくなるまで、 即ち優先度の高い割り込み処理が終了す るまでこれらの優先レベル低い割り込み要求は待たされることになる。
さて、 周辺デバィス Aからの割り込み要求信号が、 割り込みコントローラに入力さ れ (ステップ S C 1 ) 、 割り込みコントローラで優先順位の調停が行なわれて、 最高 優先レベル (この場合、 入力が 1つしかないが、 レベル 3が最高優先レベル) を持つ 割り込み要求入力の優先レベルを、 割り込み要求としてマイクロプロセッサ 1に伝え る (ステップ S C 2 ) o
マイクロプロセッサ 1では、 入力された割り込み要求の優先レベル (= 3 ) が、 マ スク レベルより も大きいことをマスク回路 1 1で判定し、 制御回路 1 5へ割り込みが あったことを示す優先割り込み信号 5 1 により伝える。 制御回路 1 5では、 命令の切 れ目など所定のタイ ミ ングで割り込み要求を受け付ける (ステップ S P 2 ) 。 そして 、 割り込み要求を受け付けたことを周辺デバィスゃ割り込みコントローラに知らせ 、 割り込み受付バスサイ クルを実行する (ステップ S P 3 ) 。 これは、 割り込みを要 求したデバイスを識別する (割り込み処理プログラムのア ドレスを知る) ための割り 込みべクタを受け取るために行なわれる。 この時、 アドレスバス A 1 ~A 23には受 け付けた割り込み優先レベル (= 3) が出力される。
これに応答して割り込みコン トローラは、 周辺デバィス Aに固有に割り当てられた 割り込みベクタをデータバス D O〜D 1 5に出力し (ステップ S C 3) 、 マイクロプ 口セッサ 1はデータバス D 0〜 D 1 5上の割り込みべクタを取り込んで (ステップ S P 4〉 、 割り込み処理プログラムへと制御を移す (ステップ S P 5 ) 。 割り込みべ クタを取り込むと同時に、 割り込み要求信号群 I P L 0 #〜 I P L 2 #により入力さ れる割り込み要求レベル値 (= 3) も取り込み、 その値を割り込み処理プログラムで のマスク レベルとするべく、 マスク レジスタ 1 3に設定する。 つまり、 制御回路 1 5からマスク レベル取り込み信号 53が与えられる時にマスクレジスタ 1 3に取り 込まれる。 これにより、 周辺デバイス Aの割り込み処理プログラムでは、 そのデバィ スの優先レベルである" 3" を越える割り込み要求は受け付けられるが、 それ以下の 割り込み要求はマスクされる、 即ち無視される。
上述した F I G. 3の場合では、 割り込みを受け付けた時点での最高優先レベルと 、 割り込みベクタを取り込む時点での最高優先レベルが同じであった。 従って、 従来 例と同様に、 割り込みを受け付けた時点での優先レベルを、 その割り込み処理プログ ラムでのマスク レベルとするよう動作しても、 特に不都合は生じない。
ところで、 実際のマイク口プロセッサでは、 割り込みを受け付けた時点で処理して いたプログラムに依存するマイク口プロセッサの内部状態 (例えば、 汎用レジスタの 内容、 プログラムカウンタの内容等) を保存し、 割り込み処理プログラムから復帰し た時に、 その保存された内部状態の内容を復帰させ、 滞りなく元の処理を続行しなけ ればならない。 従って、 割り込み要求を受け付けてから、 直ちに割り込み受付バスサ ィクル、 即ち受け付けられた割り込み要求、 が実行されるとは限らない。 その間に 、 別の周辺デバィスからの割り込み要求信号が割り込みコントローラに入力され、 最 高優先レベルが変化することが考えられる。 この場合の動作を、 F I G. 4に示す割 り込み処理起動手順により説明する。
先ず、 マイ ク ロプロセ ッサ 1 ではマスク レジスタ 1 3 のマスク レベルと して 、 " 2 " が設定されているものとする (ステップ S P 1 1 )
周辺デバィス Aからの割り込み要求信号が、 割り込みコン トローラに入力され (ス テツプ S C 1 1 ) 、 割り込みコ ン ト ローラで優先順位の調停が行なわれて、 最高優先 レベル (レベル 3 ) を持つ割り込み要求入力の優先レベルを、 割り込み要求としてマ イク口プロセッサ 1に伝える (ステップ S C 1 2 ) 。
マイク口プロセッサ 1では、 入力された割り込み要求の優先レベル (== 3 ) が、 マ スクレベルよりも大きいので、 制御回路 1 5は、 命令の切れ目など所定のタイ ミ ング で割り込み要求を受け付ける (ステップ S P 1 2 ) 。 しかし、 割り込み受付バスサイ クルを実行するまでに、 若干の時間が経過する場合がある。 また、 非常に微妙なタイ ミ ングで周辺デバイス Bからの割り込み要求が発生した場合、 割り込みの受付から割 り込み受付バスサイ クルまでの間に、 最高優先レベルが変化する恐れがある。 例えば F I G . 4 に示すステツプ S C 1 3のように、 周辺デバィス Aよりも高い優先レベル (レベル 5 ) を有する周辺デバイ ス Bから割り込み要求が発生し、 調停回路 (図示せ ず) の最高優先レベルが" 5 " に変化した場合 (ステップ S C 1 4 ) がこの場合に該 当する。 この場合、 マイクロプロセッサ 1側では、 最初に受け付けた割り込み要求の 優先レベルが" 3 " であるので、 割り込み受付バスサィ クルでは、 ァ ドレスバス A 1〜A 2 3上に受け付けた割り込み要求の優先レベルである" 3 " を載せ、 受け付 けた割り込み要求がレベル 3のものであることを示す (ステップ S P 1 3 )
この割り込み受付バスサイクルに応答して、 割り込みコン トローラは、 その時点で 最高優先レベルであるレベル 5 ©割り込みに応答させるベく、 レベル 5の割り込みを 要求している周辺デバィス Bに固有に割り当てられた割り込みべク夕をデータバス D 0〜D 1 5に出力する (ステップ S C 1 5 ) 。
マイクロプロセッサ 1 はデータバス D 0〜D 1 5上の割り込みべクタを取り込んで (ステ ップ S P 1 4 ) 、 より高い優先レベルの割り込みを要求した周辺デバィス B用 の割り込み処理プログラムへと制御を移す (ステップ S P 1 5 ) 。 また割り込みべク タを取り込むと同時に、 割り込み要求信号群 I P L 0 # ~ I P L 2 #により入力され る割り込み要求レベル値 (= 5 ) も取り込み、 その値を周辺デバイ ス B用の割り込み 処理プログラムでのマスク レベルとするべく、 マスク レジスタ 1 3 に設定する。
こ こで、 最初に受け付けた割り込みの優先レベルは" 3 " であったが、 割り込みべ ク タ と同時に取り込んだ優先レベルである" 5 " を使用する点が重要である。 つまり 、 周辺デバイ ス Bの割り込み処理プログラムでは、 そのデバイ スの優先レベルである " 5 " を越える割り込み要求は受け付けられるが、 それ以下の割り込み要求はマスク されることとなる。
本発明の実施例と従来例との比較のために、 本実施例の手法を用いずに、 最初に受 け付けた時点での優先レベル値である" 3 " をマスク レベルとして設定した場合に発 生する問題点を以下で考える。
周辺デバィ ス B用の割り込み処理プログラムは、 その割り込み優先レベルが " 5 " に割り当てられていることを知っており、 優先レベル 5以下の割り込みが掛か らない、 つまり優先レベル 5以下の割り込み要求により中断されない、 ことを前提に コーディ ングされているかもしれない。 この場合、 優先レベル 5に割り当てられたプ 口 グラ ムがマスク レベル 3で実行されるため、 優先レベル 4 または優先レベル 5 の割 り込みが受け付けられる可能性があり、 予測しない事態が発生する。
また、 周辺デバイ ス Bで一度発生した割り込み要求は、 周辺デバイ ス B用の割り込 み処理プロ グラ ムの中で所定の処理を実行し、 割り込み要因を取り除かない限り、 解 除されないことも考えられる。 この場合、 マスク レベル 3で周辺デバイ ス B用の割り 込み処理プログラムを実行開始した直後に、 同じ周辺デバィス Bからの割り込み要求 (優先レベル 5 ) が受け付けられてしまう。 つまり結果として、 周辺デバイス Bから の割り込み要求が誤って 2度受け付けられたことになる。 このような問題を回避するために、 従来のマイクロプロセッサでは、 マイクロプロ セッサが最初に受け付けた優先レベルと異なる優先レベルの割り込みに応答すること はできない構成を有していた。 従って、 割り込みコントローラは、 割り込み受付バス サイクルでァドレスバスに示された優先レベルと一致する割り込み要求を捜す必要が あり、 その分機構が複雑になってしまう。 また、 より高い優先レベルの割り込み要求 が発生していても、 それに対して直ちに応答することが許されない構成であるため 、 高い優先レベルを持つ割り込み要求の応答時間が必要以上に伸びる場合が発生する という問題があった。
これに対し、 本実施例のマイク口プロセッサにおける割り込み処理起動方式では 、 マイクロプロセッサ 1 は、 データバス D O D 1 5上に載っている割り込みベクタ を取り込むと同時に、 割り込み要求信号群 I P L 0 # I P L 2 #により入力さ れる割り込み要求レベル値も取り込み、 その優先レベル値をこれから実行する割り込 み処理プログラムでのマスクレベルとして設定するので、 上記した従来のマイクロプ 口セッサが有する問題点を簡単に解決することができる。
また、 本実施例のマイクロプロセッサの割り込み処理起動方式では、 従来例と同等 の機構で実現できるにも関わらず、 また割り込み要求入力の優先レベルを再サンプル するだけなので特に処理手順が複雑になることもなく、 種々の問題点が解決できる 。 ここで、 割り込み処理起動に必要なクロック数を全く増加する必要がない、 という 特徴をも有する。 これは特筆すべき事項である。
また、 マイクロプロセッサが、 上記した本実施例の構成である割り込み処理起動方 式を採用することにより、 割り込みコントロ一ラでは、 割り込み要求を発生している 周辺デバイスの中から指定された優先レベルと一致するものを捜すといった、 非常に 手間がかかり、 かつ複雑な機構を必要とする処理が不要になる。 従って、 割り込みコ ン トローラの優先順位調停回路 (図示せず) を簡単にすることができ、 それを構成す るのに必要となる ドウユア量を減少することもでき、 そこで消費される電力を低 減することができる。
更に、 高い優先レベルを持つ割り込み要求の応答時間を短縮することができる。 これらの効果により、 マイク口プロセッサシステム全体として見た場合の処理性能 を向上することができ、 マイクロプロセッサや周辺装置の応用範囲を広げることが可 能となる。 産業上の利用可能性
以上、 詳細に記載したように本発明によれば、 割り込み受付バスサイクル実行時に 、 割り込みベクタを受け取ると同時に、 割り込み要求信号群から与えられる割り込み 優先レベル値を取り込み、 該割り込み優先レベル値を該割り込み処理実行時のマスク レベルとしてマスクレベル保持手段に設定する。 さらに、 割り込み処理実行中は受け 付けた割り込み優先レベルと同じかまたは低い優先レベルの割り込み要求をマスクす るよう制御し、 常に割り込みコントローラで最高優先レベルの割り込み要求の決定を 行なう。 そして、 割り込み受付バスサイクルで割り込みベクタを与える直前の調停結 果が意味を持つようにした。
従って、 最高優先レベルの割り込み要求を決定する時期を可能な限り遅くすること ができ、 高い優先レベルを持つ割り込み要求の応答時間を短縮したデータ処理装置の 割り込み処理起動方式を実現することができる。 さらに、 本発明によれば、 割り込み コントローラの優先順位調停回路を簡単化し、 それを構成するのに必要となる ド ゥユア量を減少し、 そこで消費される電力を低減可能なデータ処理装置を提供するこ とができる。

Claims

請求の範囲
1 . 割り込み要求は、 それぞれ複数ある割り込み優先レベルの内の 1つに設定され
、 外部から供袷される該割り込み要求を入力する入力手段と、
前記複数の割り込み優先レベルの中の全ての優先レベルの割り込み要求を全くマス ク しないで受けるか、 或いは前記複数の割り込み優先レベルの中の低優先レベル側か ら所定の優先レベルまでの割り込み要求を無視するように指定して該割り込み要求を マスクする割り込みマスク手段と、
前記割り込みマスク手段によりマスクされている割り込み優先レベルのうち最大の 割り込み優先レベルを保持するマスク レベル保持手段と、
前記入力手段から入力された割り込み要求を受け付け、 既に受け付けた割り込み要 求の優先レベルと同じかまたはそれより高い優先レベルを持つ割り込み要求に対して 、 少なく とも該割り込み要求の要求元を識別できる割り込みベクタを受け取る機能を 有する制御手段とを有し、
前記制御手段は、 前記割り込み受付時に、 前記割り込みベクタを受け取ると同時に 、 前記入力手段から与えられている割り込み要求の優先レベル値を取り込み、 該割り 込み優先レベル値を該割り込み処理実行時のマスク レベルとして前記マスク レベル保 持手段に設定し、 前記入力手段から新たに受け付けた割り込み優先レベルと同じまた は低い優先レベルの割り込み要求をマスクするよう前記割り込みマスク手段へ指示す ることを特徴とするデータ処理装置。
2 . 前記制御手段は、 前記入力手段から入力された割り込み要求が前記マスク レベル 保持手段の保持するマスク レベルより も高い優先レベルを有する場合該割り込み要求 を受け付ける手段と、 受け付けた割り込み優先レベルを示して割り込み受付を実行し 、 該優先レベルと同じかまたはそれより高い優先レベルを持つ割り込み要求に対して 、 少なく とも該割り込み要求の要求元を識別できる割り込みベクタを受け取る手段と を含み、
前記割り込みベクタ受け取り手段が前記割り込みベクタを受け取ると同時に、 前記 入力手段から入力された割り込み要求の割り込み優先レベル値を取り込み、 該割り込 み優先レベル値を該割り込み処理実行時のマスク レベルと して前記マスク レベル保持 手段に設定し、 該割り込み処理実行中は受け付けた割り込み優先レベルと同じまたは 低い優先レベルの割り込み要求をマスクするよう前記割り込みマスク手段へ指示する ことを特徴とする請求の範囲 1に記載のデータ処理装置。
3 . データ処理装置の外部から、 複数の割り込み優先レベルの内の 1つが指定されて いる割り込み要求を入力する入力手段と、
前記複数の割り込み優先レベルの中の全ての優先レベルの割り込み要求を全くマス ク しないで受けるか、 或いは前記複数の割り込み優先レベルの中の低優先レベル側か ら任意のレベルまでの割り込み要求を無視するように指定して該割り込み要求をマス クする割り込みマスク手段と、
前記割り込みマスク手段によりマスクされている最大の割り込み優先レベルを保持 するマスク レベル保持手段と、
前記入力手段により入力した割り込み要求が前記マスク レベル保持手段の保持する マスク レベルよりも高い時に、 該割り込み要求を受け付けるステップと、 受け付けた 割り込み優先レベルを示して割り込み受付パスサイ クルを実行し、 該優先レベルと同 じかまたはそれより高い優先レベルを持つ割り込み要求に対して、 少なく とも該割り 込み要求の要求元を識別できる割り込みベクタを受け取るステップとを含む割り込み 処理起動手順を実行する制御手段とを有し、
前記制御手段は、 前記割り込み受付バスサイ クル実行時に、 前記割り込みベク タを 受け取ると同時に、 前記入力手段から与えられている割り込み優先レベル値を取り込 み、 該割り込み優先レベル値を該割り込み処理実行時のマスク レベルとして前記マス ク レベル保持手段に設定し、 該割り込み処理実行中は受け付けた割り込み優先レベル と同じまたは低い優先レベルの割り込み要求をマスクするよう制御することを特徴と するデータ処理装置。
PCT/JP1993/001340 1992-09-21 1993-09-20 Data processing apparatus WO1994007202A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE69327043T DE69327043T2 (de) 1992-09-21 1993-09-20 Datenverarbeitungsvorrichtung
EP93919682A EP0614148B1 (en) 1992-09-21 1993-09-20 Data processing apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP4/251183 1992-09-21
JP25118392A JP3715328B2 (ja) 1992-09-21 1992-09-21 データ処理装置

Publications (1)

Publication Number Publication Date
WO1994007202A1 true WO1994007202A1 (en) 1994-03-31

Family

ID=17218921

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1993/001340 WO1994007202A1 (en) 1992-09-21 1993-09-20 Data processing apparatus

Country Status (4)

Country Link
EP (1) EP0614148B1 (ja)
JP (1) JP3715328B2 (ja)
DE (1) DE69327043T2 (ja)
WO (1) WO1994007202A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100455663C (zh) * 1999-03-31 2009-01-28 诺维信公司 脂肪酶变体

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4151198B2 (ja) * 1999-06-23 2008-09-17 株式会社デンソー 割込コントローラ及びマイクロコンピュータ
JP4600586B2 (ja) * 2000-05-29 2010-12-15 セイコーエプソン株式会社 割込信号生成装置及び割込信号の生成方法
JP5017784B2 (ja) * 2005-03-16 2012-09-05 セイコーエプソン株式会社 プロセッサ及びこのプロセッサ適用される割込み処理制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61214032A (ja) * 1985-03-20 1986-09-22 Hitachi Ltd 割込み制御方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61214032A (ja) * 1985-03-20 1986-09-22 Hitachi Ltd 割込み制御方式

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LAPX86 Family User's Manual, May 20, 1982 (20.05.82), Intel Japan (Ibaraki), p. 410-412. *
See also references of EP0614148A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100455663C (zh) * 1999-03-31 2009-01-28 诺维信公司 脂肪酶变体

Also Published As

Publication number Publication date
DE69327043D1 (de) 1999-12-23
EP0614148B1 (en) 1999-11-17
JP3715328B2 (ja) 2005-11-09
JPH06103223A (ja) 1994-04-15
EP0614148A4 (en) 1995-03-01
EP0614148A1 (en) 1994-09-07
DE69327043T2 (de) 2000-04-20

Similar Documents

Publication Publication Date Title
US5659759A (en) Data processing device having improved interrupt controller to process interrupts of different priority levels
US6895457B2 (en) Bus interface with a first-in-first-out memory
JPH05250305A (ja) データ転送制御方式
JP2001209549A (ja) 文脈切換えを実施する装置とその方法
JP2001142842A (ja) Dmaハンドシェークプロトコル
US7526579B2 (en) Configurable input/output interface for an application specific product
US6581119B1 (en) Interrupt controller and a microcomputer incorporating this controller
US5386573A (en) Single chip microcomputer with interrupt processing capability during hold states
JPH0530112A (ja) デイジタル信号処理システムの制御方法
WO1994007202A1 (en) Data processing apparatus
US7680967B2 (en) Configurable application specific standard product with configurable I/O
JP4451010B2 (ja) プログラマブルコントローラ
WO2006081093A2 (en) Configurable application specific standard product with configurable i/o
US20030177229A1 (en) Microcomputer, bus control circuit, and data access method for a microcomputer
JP2018106583A (ja) 半導体装置
JPH07244594A (ja) データ処理装置
JPH05216808A (ja) データ処理装置
JPH05204831A (ja) マイクロプロセッサ及びそれを使用したダイレクトメモリアクセス機能を有するマイクロコンピュータシステム
JPH01193958A (ja) インターフェース制御回路
JPH02242337A (ja) 命令プリフェッチ装置
JPH07146839A (ja) Dma回路
JPH04369065A (ja) ダイレクトメモリアクセスコントローラ
JPH06278399A (ja) マルチポート型プロッタ装置
JP2000067008A (ja) マルチプロセッサシステム
JPH05204826A (ja) データ処理装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref country code: US

Ref document number: 1994 204390

Date of ref document: 19940318

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1993919682

Country of ref document: EP

AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1993919682

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1993919682

Country of ref document: EP