WO2001042918A1 - Procede et dispositif de gestion d'interruption - Google Patents

Procede et dispositif de gestion d'interruption Download PDF

Info

Publication number
WO2001042918A1
WO2001042918A1 PCT/JP2000/008661 JP0008661W WO0142918A1 WO 2001042918 A1 WO2001042918 A1 WO 2001042918A1 JP 0008661 W JP0008661 W JP 0008661W WO 0142918 A1 WO0142918 A1 WO 0142918A1
Authority
WO
WIPO (PCT)
Prior art keywords
interrupt
task
processing
initialization
information
Prior art date
Application number
PCT/JP2000/008661
Other languages
English (en)
French (fr)
Inventor
Hiroyuki Ito
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US09/890,940 priority Critical patent/US6820155B1/en
Priority to KR10-2001-7009918A priority patent/KR100408351B1/ko
Priority to EP00979973A priority patent/EP1189137A4/en
Priority to AU17333/01A priority patent/AU1733301A/en
Publication of WO2001042918A1 publication Critical patent/WO2001042918A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Definitions

  • the present invention relates to an apparatus and method for managing interrupts in a computer processing real-time operation system (real-time OS), a multi-task operation system (multi-task OS), and a signal processor (DSP).
  • real-time OS real-time operation system
  • multi-task OS multi-task operation system
  • DSP signal processor
  • the present invention relates to an interrupt management device and an interrupt management method suitable for use in a mobile communication system using a CD MA (Wideband-Code Division Multiple Access) system, such as a video terminal device such as a portable videophone device.
  • CD MA Wideband-Code Division Multiple Access
  • an interrupt request from an external device or an external device or a software interrupt request from a running application program (hereinafter referred to as “CPU”) is being executed while a microprocessor (hereinafter referred to as a CPU) is executing a program.
  • a microprocessor hereinafter referred to as a CPU
  • an asynchronous interrupt request is generated due to factors such as an interrupt request
  • the program processing being executed is interrupted and the interrupt request is processed.
  • the DSP has an internal main processor (hereinafter referred to as MP) for the above-mentioned CPU.
  • MP main processor
  • the program processing being executed is executed.
  • interrupt request processing is performed.
  • the minimum unit of a program is referred to as a task.
  • the interrupt request is transmitted to the CPU or MP by control means (hereinafter referred to as an interrupt controller) for transmitting the occurrence of the interrupt.
  • the CPU or MP identifies the cause of the interrupt and calls the corresponding interrupt processing task to process the interrupt request.
  • processing Execute the interrupt processing task after saving the computation resources hereinafter “processing Execute the interrupt processing task after saving the computation resources. Then, when the interrupt processing task is completed, these internal registers are returned to the original state and the task processing being executed is resumed.
  • OS real-time OS or multitasking OS
  • the above interrupt management mechanism is generally used as a monitor and program for software (usually called microcode or firmware in a DSP) of one separate task separated from an interrupt processing task. Be built.
  • interrupt management mechanism and the monitor program are collectively referred to as an interrupt handler.
  • Interrupt processing is divided into a single interrupt that disables the acceptance of other interrupts while interrupt processing is being performed, and a multiple interrupt that enables acceptance of other interrupts while interrupt processing is being performed. being classified.
  • the interrupt handler and the interrupt processing task are closely related, and the interrupt handler changes the interrupt processing content and the interrupt processing by the interrupt processing task. There is a problem that the contents cannot be changed independently of each other.
  • Japanese Patent Application Laid-Open No. 5-2224951 discloses that a software interrupt is designated when the CPU is activated by an interrupt request and the process is shifted to 0S before the process shifts to the interrupt handler.
  • Double interrupt designating means, and interrupt handler starting means that, when the processing is transferred via the double interrupt designating means, analyzes the cause of the interrupt and saves the registers in the OS and starts the interrupt handler.
  • an interrupt handler termination processing means for restoring the registers and resetting the interrupted processing within 0 S when notified of the end of the interrupt processing from the interrupt handler. I have.
  • Japanese Unexamined Patent Publication No. Hei 8-279571 has a plurality of interrupt input means which can be individually masked, and interrupts the CPU in response to an input to an unmasked interrupt input means.
  • An interrupt controller for transmitting the interrupt is provided, and a specific interrupt operation processing means for operating the interrupt mask table in the interrupt controller is provided in 0S, and only information relating to the interrupt to be managed by ⁇ S is stored in the managed interrupt storage means.
  • ⁇ ⁇ In the section where exclusive control is performed during s system call processing, only interrupts for which information is stored in the managed interrupt storage means are disabled, and interrupts that do not issue a system call remain enabled. There is disclosed a technique for performing such operations.
  • an interrupt task that does not affect the resource management by the OS is not affected by 0S. Can be constructed separately from 0S.
  • the interrupt processing task related to resource management by the OS is closely related to the processing of 0S, and the interrupt processing task is still aware of the processing contents of interrupt prohibition / permission in the interrupt handler in 0S. There is a problem that must be created. Disclosure of the invention
  • An object of the present invention is to provide an interrupt handler or an interrupt handler when it is necessary to change the processing of an interrupt handler, such as when another interrupt can be accepted in an interrupt task or when another interrupt is disabled.
  • Interrupt handling task It is an object of the present invention to provide an interrupt management device and an interrupt management method capable of easily changing the contents of interrupt processing by the user. Another object of the present invention is to manage interrupts by using 0S, an interrupt handler in 0S collectively performs interrupt disable / enable processing for all interrupt factors. In this case, the user can create an interrupt handling task without being aware of the interrupt enable / disable processing in the interrupt handler in 0S.
  • An object of the present invention is to provide an interrupt management device and an interrupt management method capable of constructing an independent interrupt process.
  • the purpose of this is to independently manage the interrupt handler that specifies the processing for each interrupt factor, to manage the interrupts that can be accepted for each interrupt factor, and to cancel the mask set for the interrupt factor that accepts the interrupt.
  • a mask release means is provided, and the interrupt handler is achieved by updating the interrupt mask using the interrupt management means and the interrupt mask release means, and controlling the permission / inhibition of the interrupt for each interrupt factor.
  • FIG. 1 is a diagram showing a configuration of an interrupt management device according to a first embodiment of the present invention
  • FIG. 2A is a diagram showing an operation of an interrupt controller according to a first embodiment
  • FIG. Diagram showing the flow of operation of the interrupt controller according to mode 1;
  • FIG. 3 is a diagram showing a setting state of an interrupt mask register of each interrupt factor held in the interrupt management unit according to the first embodiment
  • FIG. 4 is a diagram for explaining an interrupt factor determination processing procedure according to the first embodiment
  • FIG. 5 is a diagram for explaining a processing procedure in a multiple interrupt control unit according to the first embodiment
  • FIG. 6 illustrates a processing procedure in the interrupt processing task according to the first embodiment.
  • FIG. 7 is a diagram showing a configuration of an interrupt management device according to the second embodiment of the present invention
  • FIG. 8A is a diagram showing a state of information of a running disk stored in an execution task control unit according to the second embodiment;
  • FIG. 8B is a diagram showing a state transition set in the register when a task requiring an initialization process according to the second embodiment is set for each bit;
  • FIG. 10 is a diagram showing a configuration of an interrupt management device according to Embodiment 3 of the present invention;
  • FIG. 10 is a diagram showing a configuration of an interrupt management device according to Embodiment 4 of the present invention.
  • FIG. 1 is a diagram showing a configuration of an interrupt management device according to Embodiment 1 of the present invention.
  • the interrupt management device 100 shown in FIG. 1 includes an interrupt handler 101, an interrupt controller 102, an interrupt management unit 103, and an interrupt mask release unit 104.
  • 1 includes a save processing unit 105, an interrupt factor determination unit 106, an interrupt task control processing unit 107, a task return processing unit 108, and a multiple interrupt control unit 109.
  • the interrupt controller 102 includes an interrupt mask unit 110.
  • Reference numerals 1 2 1 to 1 2 2 are first to N-th interrupt factors, and reference numeral 1 2 3 is a processing task having first to N-th tasks 1 24 to 1 26.
  • Reference numeral 127 denotes an interrupt processing task having first to N-th interrupt processing tasks 128 to 130.
  • the interrupt controller 102 sets the first interrupt source 1 2 1 to the N-th
  • An interrupt mask unit 110 is provided to set a mask for each interrupt factor consisting of interrupt factors 1 2 2.
  • the interrupt controller 102 responds to the interrupt factor for which the mask has not been set by the interrupt mask unit 110. Notifies the interrupt handler 101 of the occurrence of the interrupt.
  • the save processing unit 105 saves (saves) various information of the task that was being executed when the interrupt occurred.
  • the interrupt factor determination unit 106 determines an interrupt processing task to be processed based on the interrupt factor.
  • the interrupt management unit 103 holds the interrupt acceptable state prepared for each interrupt factor, independently of the interrupt handler 101.
  • the interrupt mask release unit 104 controls interrupt enablement by releasing the mask set as an interrupt source that accepts an interrupt in the interrupt processing task, independently of the interrupt handler 101.
  • the interrupt mask release unit 104 holds a setting state for setting (1) the interrupt mask to the mask release state.
  • the multiple interrupt control unit 109 controls update of the interrupt mask using the interrupt management unit 103 and the interrupt mask release unit 104.
  • the interrupt task control unit 107 shifts processing between the determined interrupt processing task and the interrupt handler.
  • FIG. 2A is a diagram for explaining the operation of the interrupt controller 102.
  • the interrupt management device 100 sets an interrupt request register (IR: Interrupt Request) indicating the occurrence of each interrupt factor, and disables (0) / enables (1) the interrupt for each interrupt factor.
  • IR Interrupt Request
  • the interrupt mask register (IM: Interrupt Mask) that controls the interrupt request register (IRR) that exists for each interrupt source and is used to reset the interrupt request register IR ) And.
  • the interrupt mask register is provided in the interrupt mask section 110.
  • a common interrupt enable flag (called IE Interrupt Enable) is set for all maskable interrupt sources. This interrupt enable flag controls interrupt disable (0) / enable (1).
  • FIG. 2A shows an example in which each of the IR, IM, and IRR registers is implemented using a 16-bit register.
  • FIG. 2B shows the flow of processing in the interrupt controller 102 when an interrupt factor occurs. As shown in Figure 2B, when an interrupt factor occurs, the corresponding bit in the interrupt request register is set (1), the interrupt enable flag is enabled (1), and the corresponding bit in the interrupt mask register is enabled (1). ), The interrupt enable flag is disabled (0), and then the process transitions to the interrupt handler. When the interrupt enable flag or interrupt mask register is changed from the disabled (0) state to the enabled (1) state, the interrupt factor determination process shown in Figure 2B is performed.
  • interrupt handler 101 when the process transitions to the interrupt handler 101, four interrupt sources, IRQ 14, IRQ 12, IRQ 1, and IRQO, are output to the interrupt request register IR as interrupt sources.
  • Is set to (1) the interrupt mask register IM is set to IM15, IM14, IM3, IM1, and IMO to enable interrupts (1).
  • IMFGreg a register provided in the interrupt management unit 103.
  • interrupt mask release unit 104 does not have an interrupt source for which mask release should be performed. That is, it is assumed that all bits of the register provided in the interrupt mask release unit 104 are set to clear (0).
  • Level 1 interrupt source IRQO, IRQ1
  • Level 2 interrupt source IRQ15, IRQ14, IRQ13, IRQ12, IRQ4
  • Level 3 interrupt sources IRQ5, IRQ6, IRQ7, IRQ8, IRQ9JRQ10JRQ11 This interrupt level indicates the priority of the interrupt. Assume that the priority is higher in the order of level 0> level 1> level 2> level 3.
  • the interrupt management unit 103 holds, for each interrupt, the setting state (called IMFG) in the interrupt mask register that enables only the interrupt factors higher than the interrupt factor level to be enabled (1). You.
  • FIG. 3 shows the setting state of the interrupt mask register to be set for the above-mentioned interrupt level.
  • IMFG14 for interrupt factor IRQ14 the corresponding bits of IRQ0, IRQ1 S IRQ2, and IRQ3, which are higher in level than IRQ14, are set to enable (1).
  • IMFG2 for interrupt factor IRQ2 all bits are set to disabled (0) because there is no interrupt factor with a higher level than IRQ2.
  • this processing task is referred to as a suspended task 125
  • the interrupt factor determining unit 106 determines which interrupt factor is to be processed using the interrupt managing unit 103 for the interrupt factor notified by the interrupt controller 102, and calls the interrupt factor. Determine the interrupt processing task.
  • FIG. 4 is an explanatory diagram of the interrupt factor determination processing procedure. Since four types of interrupt factors, IRQ14, IRQ12, IRQ1, and IRQO, are set (1) as interrupt factors, the corresponding bits of IR14, 11112, IR1, and IR0 are set to 1 in the interrupt request register IR ( S 1).
  • the interrupt mask register IM is set to the corresponding bit 1 of each of the IM15, IM14, IM3, IM1, and IMO because IM15, IM14, IM3, IM1, and IMO are set to interrupt enable (1) as the setting state of the interrupt mask register IM. (S2).
  • S3 an AND operation for each corresponding bit of S1 and S2 is performed (S3).
  • evaluation is performed in order from the MSB (Most Significant Bit) side, and the interrupt factor corresponding to the bit whose value is 1 earliest is selected. In this case, the bit at the position corresponding to IRQ14 is the earliest, and IRQ14 is selected as the interrupt factor.
  • IRQ1 is selected as the interrupt factor.
  • IMFG1 that is, the value of IMFG1 shown in FIG. 3
  • S6 the interrupt management unit 103
  • IRR1 interrupt request reset register
  • FIG. 5 is an explanatory diagram of a processing procedure in the multiple interrupt control unit 109.
  • the multiple interrupt control unit 109 sets the interrupt mask IMFG1 corresponding to the determined R-th interrupt processing task 129 to the interrupt management unit 1103 which holds the interrupt ready state prepared for each interrupt factor. And set it in the interrupt mask section 110 of the interrupt controller 102.
  • the mask corresponding to the interrupt factor IRQ1 determined by the interrupt factor determination unit 106 is updated to the interrupt disabled state and updated.
  • the interrupt mask status is saved. That is, the state (S10) obtained by performing the EOR operation of the state in which the corresponding bit of the interrupt cause IRQ1 is changed to 1 (S9) and the IM of S2 is saved (the save destination register is saved). IM—called SHLTreg).
  • interrupt accepting management state held in the interrupt management unit 103 when an interrupt occurs is also saved. That is, the contents (S11) of IMFGreg in which all interrupts are enabled are saved (the register to be saved is called IMFG-SHLTreg).
  • the interrupt task control processing unit 107 calls the R-th interrupt processing task 129 determined by the interrupt factor determination unit 102.
  • the interrupt mask release unit 104 sets the information on the interrupt factors that enable interrupts to the interrupt release state.
  • the interrupt mask corresponding to the interrupt factor for enabling the interrupt of the interrupt mask section 110 of the interrupt controller 102 is set to the unmasked state.
  • the bit corresponding to IRQ2 in the interrupt mask release unit 104 is set from clear (0). Change to (1).
  • S12 shown in FIG. 6 indicates the state of the interrupt mask release unit 104 at this time.
  • IRQ2 is a higher-level interrupt source than the interrupt source IRQ1 that is handled by the R-th interrupt processing task 1229, it is necessary to immediately enable interrupts.
  • S8 which is the current setting state of the unit 110
  • S13 shown in FIG. 6 indicates the state of the interrupt mask unit 110 at this time.
  • the multiplexed interrupt control unit 109 sets the state of the interrupt mask (S109) saved by the multiplexed interrupt control unit 109 to IM-SHLTreg. ),
  • the bit corresponding to IRQ2 is set to enable interrupts, and set in the interrupt mask section 110 of the interrupt controller 102.
  • S14 shown in FIG. 6 shows the state of the interrupt mask unit 110 at this time.
  • IRQ2 is based on the state (S11) of the interrupt management unit 103 saved in IMFG—SHLTreg and the interrupt mask release unit 104 set in the Rth interrupt processing task 1229. In the state (S12), interrupts are all permitted.
  • the task restoration processor 108 restores various information of the task being executed at the time of occurrence of the interrupt saved by the save processor 105, and resumes the processing of the interrupted task 125.
  • the interrupt management device 100 includes an interrupt management unit 103 that manages whether an interrupt is possible for each interrupt factor and a management that cancels an interrupt mask. All of the interrupt mask release units 104 are provided independently of the interrupt handler 101.
  • the interrupt handler 101 has a setting state for managing whether or not an interrupt held in the interrupt management section 103 is enabled, and a setting state for releasing the mask held in the interrupt mask release section 104. Is used to define the processing for each interrupt factor. In particular, it manages the enabling / disabling of multiple interrupt sources.
  • the multiple interrupt control unit 109 includes an interrupt management unit 103 and an interrupt mask. Since the enable / disable of interrupts is controlled using the release unit 104, interrupts such as those that allow other interrupts to be accepted within the interrupt disk and those that disable other interrupts after an interrupt are used. Even when it is necessary to change the enable / disable control, the setting states of the interrupt management unit 103 and the interrupt mask release unit 104 may be changed. Therefore, the creator of the program can create the interrupt processing task 127 without being aware of the interrupt enable / disable control (interrupt management state) in the interrupt handler 101. In addition, it is possible to construct an interrupt process that does not depend on the interrupt management state of the interrupt handler 101.
  • the present invention can be realized by software, and the present invention can be realized by reading the software from a recording medium. Further, the present invention can be incorporated as an interrupt management mechanism in a signal processing processor (DSP), and is effective when an application using interrupt processing is realized independently of interrupt processing in the DSP. In addition, the present invention can be incorporated into interrupt processing in an OS such as a real-time operation system of computer processing and a multitasking operation system, and can be used to construct an application system realized on a personal computer. Is effective when realizing an application that uses interrupt processing independently of the interrupt processing in 0S, and when there are multiple interrupts, the harmful 'I' This is particularly effective because it can be constructed in a form independent of the interrupt mechanism of the.
  • DSP signal processing processor
  • FIG. 7 is a diagram showing a configuration of an interrupt management device according to Embodiment 2 of the present invention.
  • portions corresponding to the respective portions of the first embodiment shown in FIG. 1 are denoted by the same reference numerals as in FIG. 1, and description thereof will be omitted.
  • the interrupt management device 700 of the second embodiment shown in FIG. In addition to the components of, the execution task control unit 70 1 and the initialization task instruction unit 70
  • the initialization task management unit 703 stores the call address of the task for performing the initialization processing of the processing task independently of the interrupt handler 101.
  • the execution task control unit 701 holds information on the task being executed.
  • the initialization task instructing unit 720 sets a task that requires initialization processing.
  • the task management control unit 704 uses the execution task control unit 701 and the initialization task instruction unit 702 to execute the initialization processing of the interrupted task 1 25 when returning to the interrupted task 125. It is determined whether or not it is necessary. If the initialization process is necessary, the task for performing the initialization process stored in the initialization task management unit 703 is called.
  • the thus configured interrupt management device 70 according to the second embodiment of the present invention.
  • FIG. 8A shows the state of the information of the running task stored in the running task control unit 701.
  • FIG. 8A shows a case where the tasks of the processing task 123 and the interrupt processing task 127 are managed in correspondence with each bit.
  • FIG. 8B a task that requires initialization processing in the initialization task instructing unit 702 is set in the register when setting a task corresponding to each bit similarly to the execution task control unit 701.
  • the execution task control unit 701 stores information on a task being executed (called TSKINF) among the processing task 123 and the interrupt processing task 127.
  • TSKINF a task being executed
  • 1 is set to the corresponding bit of the processing task being executed at that time (here, the interrupted task 125) (T1).
  • the multiplexed interrupt control unit 109 controls the execution task (interrupted task 125) stored in the execution task control unit 701 at the time of the interrupt. That is, the state of T1 is saved (the register to be saved is called TSKINF_SHLTreg), and the information (T2) of the R-th interrupt processing task 1229 determined by the interrupt factor determination unit 106 is newly added.
  • the execution task control section 7 0 1.
  • the information of the task to be initialized is stored in the initialization task instructing unit 702.
  • the task management control unit 704 compares the information (T 3) of the task to be initialized stored in 02 with the task management control unit 704.
  • the initialization task management unit 703 uses the task call address for performing the initialization processing of the corresponding task.
  • Suspend task 1 25 Performs initialization task processing.
  • the information of the execution task control unit 701 which is saved in TSKINF-SHLTreg, is information of the task being executed at the time of the occurrence of the interrupt. Therefore, only the corresponding 1 bit is always set to 1. Therefore, the task management control unit 704 performs an AND operation on T2 and T3, and if the operation result is a non-zero value, it can be determined that the compared task points to the same task. Ba Well, in this case it is the same task.
  • the task return processing unit 108 when various information of the task being executed at the time of the occurrence of the interrupt saved by the save processing unit 105 is required, a return process is performed.
  • the interrupt management device 700 includes the initialization task management unit 703 that stores the call address of the task that performs the initialization process of the disk, and the It has an execution task control unit 701 that holds task information, and an initialization task instruction unit 702 that sets a task that requires initialization processing.
  • the interrupt management device 700 having such a configuration initializes the interrupted task 1 25 when returning to the interrupted task by using the execution task control section 70 1 and the initialization task instructing section 70 2. If it is necessary to determine whether or not the processing is necessary and the interrupted task 1 25 needs to be initialized, the task that performs the initialization processing is called using the call address stored in the initialization task management unit 73. Task management is performed by the control unit 704.
  • the interrupt processing task 127 controls the task processing to start from the initial state, the task task area, task control means, etc. No need to initialize. Therefore, the interrupt processing task 127 does not need to be aware of the processing contents of the task to be initialized, and the processing procedure for performing initialization within the interrupt processing task 127 is the interrupt processing task 127 and the initialization. It is possible to build a mechanism that can be controlled independently of tasks that require.
  • the present invention can be realized by software, and the present invention can be realized by reading the software from a recording medium. Further, the present invention can be incorporated as an interrupt management mechanism in a signal processing processor (DSP), and is effective in realizing an application that uses interrupt processing independently of interrupt processing in a DSP. is there.
  • DSP signal processing processor
  • the present invention also relates to a real-time operation system for computer processing. System and multitasking operation system, etc., can be incorporated into the interrupt processing in 0S. For this reason, in the construction of various application systems realized on a personal computer, the task initialization processing can be constructed in a form independent of the interrupt mechanism in the OS. Demonstrate its effect.
  • FIG. 9 is a diagram showing a configuration of an interrupt management device according to Embodiment 3 of the present invention.
  • portions corresponding to the respective portions of the second embodiment shown in FIG. 7 are denoted by the same reference numerals as in FIG. 2, and detailed description thereof will be omitted.
  • the interrupt management device 900 of the third embodiment shown in FIG. 9 includes, in addition to the components of the second embodiment, a task manager 903 and a task interruption processing unit provided in the interrupt handler 101. 9 and 4.
  • the task manager 903 is provided with a dispatch processing section 902. Further, the dispatch processing section 902 is provided with a task control section 901.
  • the dispatch processing unit 902 provided in the task manager 903 determines a processing task to be processed for a portion corresponding to the interrupt management device 700 shown in FIG. 7, and calls each processing task. Using the task control unit 901 that stores the address and the initialization task management unit 703 that stores the call address of the task that performs the task initialization processing, the switching processing of the call processing task 123 is performed. .
  • the task interruption processing unit 904 does not restore various information of the task being executed at the time of occurrence of the interrupt saved by the saving processing unit 105, and does not return the dispatch processing unit.
  • the task management control unit 704 uses the execution task control unit 701 and the initialization task instructing unit 702 to initialize the interrupted task 125 when returning to the interrupted task 125.
  • the task interruption processing section 904 is called when the initialization processing of the interrupted task 1 25 is required. Call recovery processing unit 108.
  • the task return processing unit 108 when the task return processing unit 108 performs the return processing of the interrupted task 125, it initializes the execution task control unit 701 in the same way as the task management control unit 704. Using the task instructing unit 702, it is determined whether or not the initialization processing of the interrupted task 1 25 is necessary, and if the initialization processing is necessary, it is stored in the initialization task management unit 703. Call the task that performs the initialization process.
  • the execution task control unit saved in TSKINF_SHLTreg before the interrupt processing task is called by the multiple interrupt control unit 109 ⁇ 01 Information (T 2) and stored in the initialization task instruction unit 70 2
  • the comparison process is performed using the information (T 3) of the task to be initialized.
  • the evacuation processing unit 105 saves the task.
  • the task interruption processing unit 904 is called instead of the task return processing unit 108 that saves various information of the task being executed at the time of the generated interrupt.
  • the task return processing unit 108 that saves various information of the task being executed at the time of the occurrence of the interrupt saved by the save processing unit 105 is called, and the interrupted task Processing resumes.
  • the task management control unit 70 compares the processing task designated by the initialization task instruction unit 72 with the processing task switching process which is called by the dispatch processing unit 902 of the task manager 903. In the same way as the comparison process in step 4, if the processing task to be called is a task that requires initialization processing, the initialization processing is performed using the call address stored in the initialization task management unit 703. Call the task to be performed.
  • the task When initialization occurs in the initialization processing, it is no longer necessary to return.
  • the interrupt saved by the save processing unit 105 occurs, various information of the task being executed is restored.
  • the initialization processing can be started from the initialization processing only when the task is again instructed by the dispatch processing section 902 of the task manager 903.
  • the present invention can be realized by software, and the present invention can be realized by reading the software from a recording medium.
  • the present invention can be incorporated as an interrupt management mechanism and a task management mechanism in a signal processing processor (DSP), and realizes an application using interrupt processing in the DSP and interrupt processing independently of the task manager. It is effective when you do.
  • DSP signal processing processor
  • the present invention can be incorporated into the interrupt processing in OS and the task manager processing such as a real-time operation system of computer processing and a multitasking operation system. Therefore, when initialization processing is performed for various application systems implemented on a personal computer, there is no need to restore various information of tasks that no longer need to be restored. Further, regarding the initialization processing, the processing can be started from the initialization processing only when the task is again instructed by the dispatch processing section 902 of the task manager 903.
  • FIG. 10 is a diagram showing a configuration of an interrupt management device according to Embodiment 4 of the present invention.
  • portions corresponding to the respective portions of the third embodiment shown in FIG. 9 are denoted by the same reference numerals as in FIG. 9, and description thereof will be omitted.
  • the interrupt management device 100 of the fourth embodiment shown in FIG. 10 includes an initialization control unit 1001 having an initialization task management unit 703 in addition to the components of the third embodiment. It is comprised including.
  • the initialization control unit 1001 starts a task when performing initialization for each processing task.
  • the task initialization control is performed using the initialization task management unit 703 that stores the operation start address.
  • the task manager 903 includes an initialization control unit 1001 and a dispatch processing unit 902 which performs task switching processing using the task control unit 901 which stores a call address for each processing task. Be composed.
  • the initialization control unit 1001 When called by the processing task 123, the initialization control unit 1001 stores the call address from the processing task 123 in the initialization task management unit 703 of the corresponding processing task, The corresponding processing task is stored as information of a task for initializing in the initialization task instructing section 702, and then the processing is transferred to the dispatch processing section 902.
  • the initialization control unit 1001 when the initialization control unit 1001 is called from the dispatch processing unit 902, it is stored in the initialization task management unit 703 corresponding to the processing task specified at the time of the call. The task is called using the activation start address of the specified task.
  • the dispatch processing unit 902 When the dispatch processing unit 902 is called from the processing task 123, the dispatch processing unit 902 stores the call address from the processing task 123 in the task control unit 901 of the corresponding processing task.
  • the initialization task is switched when the processing task to be called is switched. A comparison is made with the processing task designated by the designation unit 702.
  • the processing task to be called is a task requiring initialization processing
  • the task is called using the activation start address stored in the initialization task management unit 703.
  • a method of acquiring a call address to be stored in the initialization control unit 1001 and the dispatch processing unit 902 for example, there is a method using a CALL instruction and a POP instruction used in DSP or the like.
  • the CALL instruction is an instruction that stores the program count of the next instruction after the program that issued the CALL instruction in the screen, and transitions the processing to the program count value specified by the CALL instruction. Is an instruction to retrieve the value stored in the stack.
  • control is transferred to predetermined processing of the initialization control unit 1001 and the dispatch processing unit 902 by the CALL instruction, and the value of the program counter at the return destination of the dinner called by using the POP instruction is changed.
  • the address can be obtained by storing it in the initialization task management section 703 or the task control section 901.
  • the task management including the initialization in the task manager 903 defines only the address management and the control method. Therefore, it is possible to construct processing task switching control independent of the call address of each processing task.
  • the present invention can be realized by software, and the present invention can be realized by reading the software from a recording medium. Further, the present invention can be incorporated as an interrupt management mechanism and a task management mechanism in a signal processing processor (DSP). INDUSTRIAL APPLICABILITY The present invention is effective when realizing an application using interrupt processing in the DSP and interrupt processing independently of the task manager.
  • DSP signal processing processor
  • the present invention can be incorporated into an interrupt process and a task manager process in an OS such as a real-time computer operation system and a multitask operation system. others Therefore, it has an advantageous effect that it is possible to construct a task switching process that does not depend on the process in the S for an application system realized on a personal computer.
  • processing of enabling / disabling interrupts in an interrupt handler such as when enabling other interrupts to be accepted in an interrupt task or when disabling other interrupts after an interrupt
  • the interrupt processing task it is not necessary for the interrupt processing task to be aware of the processing contents of the task to be initialized.
  • the processing procedure for initialization is controlled independently of the interrupt processing task and tasks that require initialization. A possible mechanism can be constructed.
  • the initialization processing it is possible to start the processing from the initialization processing only when the task is instructed again by the dispatch processing unit 902 of the task manager 903.
  • Tasks including initialization in Task Manager 902 Since the management of the task specifies only the management and control method of the address, it is possible to control the switching of the processing disk independent of the calling address of each processing task.
  • the present invention manages interrupts in a computer processing real-time operation system (real-time OS), a multitasking operation system (multitask OS), and a signal processing processor (DSP). (Wide band-Code Division Multiple Access) It is suitable for use in the field of an interrupt management device and an interrupt management method suitable for use in an image terminal device such as a mobile videophone device in a mobile communication system using the system. .

Landscapes

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

Description

明 細 書 割り込み管理装置及び割り込み管理方法 技術分野
本発明は、コンピュータ処理のリアルタイム 'オペレーションシステム(リ アルタイム 0 S ) 、 マルチタスク ·オペレーションシステム (マルチタスク O S ) 、 及び信号処理用プロセッサ (D S P ) における割り込み管理を行う 装置及び方法に関し、特に W- C D MA (Wide band-Code Division Multiple Access) 方式を用いた移動体通信システムにおける携帯テレビ電話装置等の 画像端末装置などに用いて好適な割り込み管理装置及び割り込み管理方法に 関する。 背景技術
従来、マイクロプロセッサ 'システムにおいては、マイクロプロセッサ(以 下 C P Uと記す) がプログラムの処理を実行中に、 外部デバイスまたは外部 装置からの割り込み要求または実行中の応用プログラムからのソフトウエア 割り込み要求 (以下、 割り込み要求と総称する) 等の要因によって非同期の 割り込み要求が発生した時には、 実行中のプログラム処理が中断されて割り 込み要求の処理が行われる。
一方、 D S Pにおいては、 上記の C P Uに対するものとして内部にメイン プロセッサ (以下 M Pと記す) を有しており、 この M Pがプログラムの処理 を実行中に割り込み要求が発生した時には、 実行中のプログラム処理を中断 して割り込み要求の処理が行われる。 以下、 プログラムの最小単位をタスク と記す。
割り込み要求に対して行う処理の内容は割り込み要因ごとに異なるので、 ユーザは割り込み要因ごとに割り込み処理ルーチン (以下、 割り込み処理夕 スクと記す) を作成しておく必要がある。 割り込み要求は、 割り込みの発生 を伝える制御手段 (以下、 割り込みコントローラと呼ぶ) により CPUもし くは MPに伝えられる。 CPUもしくは MPは、 割り込み要因を識別し、 該 当する割り込み処理タスクを呼び出して割り込み要求の処理を行う。
割り込み要求の発生により CPUもしくは MPが実行中のタスク処理を中 断する際には、 再開するタスクのァドレスやそれまで使用していた CPUも しくは MPの内部レジス夕の内容 (以下、 処理中演算リソースと記す) を保 存してから割り込み処理タスクを実行する。 そして、 割り込み処理タスクが 終了した時にこれらの内部レジス夕を元の状態に戻して実行中であったタス ク処理を再開する。
前記割り込み処理タスクの中で処理中演算リソースの退避 ·復帰処理を記 述すると、 割り込み処理タスクの作成が煩雑になるため、 CPUを有するマ イク口プロセッサ -システムにおいては、 これらの処理は、 一般的にリアル タイム OS又はマルチタスク OS (以下、 OSと総称する) の割り込み管理 機構を呼び出すこと (以下、 システムコールと記す) によって行なわれる。
MPを有する DSPにおいては、 上記割り込み管理機構は、 一般的に割り 込み処理タスクと分離した 1つの別タスクのソフトウエア (通常 D SPでは マイクロコード、 ファームウェアと呼ばれるもの) のモニタ . プログラムと して構築される。
以下、 前記割り込み管理機構と前記モニタ ·プログラムを総称して割り込 みハンドラと記す。
割り込み処理は、 割り込み処理を行なつている間は他の割り込みの受け付 けを禁止する単独割り込みと、 割り込み処理を行なっている間にも他の割り 込みの受け付けを可能とする多重割り込みとに分類される。
単独割り込みでは、 割り込みが発生した時に、 割り込みハンドラで処理中 演算リソースをそのタスクのスタック領域とタスク制御手段へ退避し、 同時 に割り込みマスクをマスクして他の割り込みを禁止状態にし、 割り込み処理 を行なう。 そして、 割り込み処理が完了し、 中断したタスクの実行再開の時 にタスクのスタック情報、 タスクの制御手段、割り込みマスクを回復させる。 一方、 多重割り込み可能な場合は、 割り込みハンドラにおいて、 割り込み マスクをマスクして他の割り込みを禁止する際に、 上位の割り込みレベルに 対しては割り込みマスクは設定せずに割り込み処理を行なう。 すなわち、 多 重割り込みを有する割り込みハンドラにおいては、 複数の割り込みが発生し た場合に、 どの割り込みを禁止するかを判定する必要がある。
しかしながら、 割り込みタスク内で他の割り込みの受け付け/禁止を判定 する場合は、割り込みハンドラと割り込み処理タスクが密接に関連しており、 割り込みハンドラによる割り込み処理内容の変更と、 割り込み処理タスクに よる割り込み処理内容の変更を互いに独立して行うことが出来ないという問 題がある。
一方、 O Sを用いて他の割り込みの受け付け z禁止を判定する場合は、 す ベての割り込み要因に対して 0 S内にある割り込みハンドラが一括して割り 込みの受け付け/禁止を判定しているので、 ユーザは〇 S内の割り込みハン ドラの割り込み管理状態を意識して割り込み処理タスクを作成しなければな らないという問題がある。 また、 0 S内の割り込みハンドラの割り込み管理 状態に依存しない割り込み処理が構築できないという問題がある。
特開平 5— 2 2 4 9 5 1号公報には、 割り込み要求を受けた C P Uより起 動されたときにソフトウエア割り込みを指定して割り込みハンドラへの処理 移行前に 0 Sに処理を移行させる二重割込指定手段と、 二重割込指定手段を 介して処理を移行されたとき、 O S内で割り込み要因の解析とレジス夕類の 保存を行って割り込みハンドラを起動する割込ハンドラ起動手段と、 割込ハ ンドラより割り込み処理の終了を通知されたときに 0 S内でレジス夕類の復 帰を行い中断した処理を再開させる割込ハンドラ終了処理手段と、 を備える 管理方式が開示されいる。
この特開平 5— 2 2 4 9 5 1号公報に記載の管理方式によれば、 O S内で P
4 のレジスタ類の退避 ·復帰処理と割り込みハンドラでの処理を二重割込指定 手段により分離し、割り込みハンドラの作成効率の向上が図ることが出来る。 しかしながら、 割り込みハンドラと割り込み処理タスクを分離する手段につ. いては何ら開示されておらず、 依然として割り込みハンドラによる処理内容 の変更と割り込み処理タスクによる割り込み処理内容の変更とを独立して行 うことが出来ないという問題がある。
また、 特開平 8— 2 9 7 5 8 1号公報には、 個別にマスク可能な複数の割 り込み入力手段を有し、 マスクされていない割り込み入力手段への入力に応 じて C P Uに割り込みを伝える割り込みコントローラを設け、 割り込みコン トローラ中の割り込みマスクテーブルを操作する特定割り込み操作処理手段 を 0 S内に設けると共に、 〇 Sで管理したい割り込みに関する情報のみを被 管理割り込み格納手段に格納し、 〇 sのシステムコール処理中の排他制御を 行う区間では、 被管理割り込み格納手段に情報が格納されている割り込みの みを割込み禁止とし、 システムコールを発行しないような割り込みについて は割り込み許可状態を継続するという技術が開示されている。
この特開平 8— 2 9 7 5 8 1号公報に記載の技術によれば、 O Sによる資 源管理に影響を及ぼさない割り込みタスクについては 0 Sによる影響を受け ることがなくなり、 その割り込み処理タスクの処理を 0 Sと切り離して構築 することが可能である。 しかしながら、 O Sによる資源管理に関係する割り 込み処理タスクについては 0 Sの処理と密接に関連しており、 依然として 0 S内の割り込みハンドラにおける割り込みの禁止/許可の処理内容を意識し て割り込み処理タスクを作成しなければならないという問題がある。 発明の開示
本発明の目的は、 割り込みタスク内で他の割り込みを受け付けられるよう にする場合や、 他の割り込みを禁止する場合などの、 割り込みハンドラの処 理を変更することが必要な際に、 割り込みハンドラ又は割り込み処理タスク による割り込み処理内容を容易に変更することが出来る割り込み管理装置及 び割り込み管理方法を提供することである。 また、 本発明の他の目的は、 0 Sを用いて割り込みを管理する場合に、 全ての割り込み要因に対して 0 S内 にある割り込みハンドラがー括して割り込みの禁止/許可の処理を行なつて いても、 ユーザが 0 S内の割り込みハンドラにおける割り込みの禁止ノ許可 の処理内容を意識せずに割り込み処理タスクを作成することができ、 また、 〇 S内の割り込みハンドラの割り込み管理状態に依存しない割り込み処理を 構築することができる割り込み管理装置及び割り込み管理方法を提供するこ とである。
この目的は、割り込み要因毎の処理を規定する割り込みハンドラと独立に、 割り込み要因毎に用意された割り込み受付可能状態を保持する割り込み管理 手段、 及び割り込みを受け付ける割り込み要因に設定するマスクを解除する 割り込みマスク解除手段を設け、 割り込みハンドラは、 前記割り込み管理手 段と前記割り込みマスク解除手段とを用いて割り込みマスクを更新して、 割 り込み要因毎に割り込みの許可 禁止を制御することにより達成される。 図面の簡単な説明
図 1は、 本発明の実施の形態 1に係る割り込み管理装置の構成を示す図; 図 2 Aは、 実施の形態 1に係る割り込みコントロ一ラの動作を示す図; 図 2 Bは、 実施の形態 1に係る割り込みコントローラの動作の流れを示す 図;
図 3は、 実施の形態 1に係る割り込み管理部に保持されている各割り込み 要因の割り込みマスクレジス夕の設定状態を示す図;
図 4は、 実施の形態 1に係る割り込み要因判定処理手順を説明する図; 図 5は、 実施の形態 1に係る多重割り込み制御部での処理手順を説明する 図;
図 6は、 実施の形態 1に係る割り込み処理タスクでの処理手順を説明する 図 7は、 本発明の実施の形態 2に係る割り込み管理装置の構成を示す図; 図 8 Aは、 実施の形態 2に係る実行タスク制御部に格納される実行中の夕 スクの情報の状態を示す図;
図 8 Bは、 実施の形態 2に係る初期化処理が必要となるタスクを各ビッ ト 毎に対応させて設定する場合のレジス夕に設定された状態の遷移を示す図; 図 9は、 本発明の実施の形態 3に係る割り込み管理装置の構成を示す図; 図 1 0は、 本発明の実施の形態 4に係る割り込み管理装置の構成を示す図 である。 発明を実施するための最良の形態
以下、 本発明を実施するための最良の実施形態について、 図面を参照して 詳細に説明する。
(実施の形態 1 )
図 1は、 本発明の実施の形態 1に係る割り込み管理装置の構成を示す図で ある。
この図 1に示す割り込み管理装置 1 0 0は、 割り込みハンドラ 1 0 1と、 割り込みコントローラ 1 0 2と、 割り込み管理部 1 0 3と、 割り込みマスク 解除部 1 0 4とを備え、 割り込みハンドラ 1 0 1は、 退避処理部 1 0 5と、 割り込み要因判定部 1 0 6と、 割り込みタスク制御処理部 1 0 7と、 タスク 復帰処理部 1 0 8と、 多重割り込み制御部 1 0 9とを備え、 割り込みコント ローラ 1 0 2は、 割り込みマスク部 1 1 0を備えて構成されている。
また、 参照符号 1 2 1〜1 2 2は第 1〜第 Nの割り込み要因であり、 参照 符号 1 2 3は第 1〜第 Nのタスク 1 2 4〜1 2 6を有する処理タスクであり、 参照符号 1 2 7は第 1〜第 Nの割り込み処理タスク 1 2 8〜1 3 0を有する 割り込み処理タスクである。
割り込みコントローラ 1 0 2は、 第 1の割り込み要因 1 2 1〜第 Nの割り 込み要因 1 2 2からなる割り込み要因毎にマスクを設定する割り込みマスク 部 1 1 0を備えている。 割り込みコントローラ 1 0 2は、 第 1の割り込み要 因 1 2 1〜第 Nの割り込み要因 1 2 2の入力があった場合、 割り込みマスク 部 1 1 0によりマスクが設定されなかった割り込み要因に対応する割り込み の発生を割り込みハンドラ 1 0 1に通知する。
退避処理部 1 0 5は、 割り込み発生時に実行中であったタスクの種々の情 報を退避 (保存) する処理を行う。
割り込み要因判定部 1 0 6は、 割り込み要因より処理すべき割り込み処理 タスクを決定する。
割り込み管理部 1 0 3は、 割り込みハンドラ 1 0 1とは独立に、 割り込み 要因毎に用意された割り込み受付可能状態を保持する。
割り込みマスク解除部 1 0 4は、 割り込みハンドラ 1 0 1とは独立に、 割 り込み処理タスクにおいて、 割り込みを受け付ける割り込み要因に設定する マスクを解除することにより割り込み許可を制御する。 割り込みマスク解除 部 1 0 4には、割り込みマスクをマスク解除状態に設定 (1)する設定状態が保 持される。
多重割り込み制御部 1 0 9は、 割り込み管理部 1 0 3と割り込みマスク解 除部 1 0 4とを用いて割り込みマスクの更新制御を行う。
割り込みタスク制御部 1 0 7は、 決定された割り込み処理タスクと割り込 みハンドラ間で処理を遷移させる。
次に、 上記構成の割り込み管理装置 1 0 0の動作について説明する。
図 2 Aは割り込みコントローラ 1 0 2の動作を説明する図である。 ここで は、 説明を簡単にするために、 本実施の形態に係る割り込み管理装置 1 0 0 には、 夫々がマスク可能である 1 6種類の割り込み要因 (IRQn:n=0, l,..,15 とする) が入力される場合について説明する。 割り込み管理装置 1 0 0は、 夫々の割り込み要因の発生を示す割り込み要求レジス夕 (IR:Interrupt Requestと呼ぶ) と、 夫々の割り込み要因に対して割込みの禁止 (0)/許可 (1) を制御する割り込みマスクレジス夕 (IM:Interrupt Maskと呼ぶ) と、 割込 み要因毎に存在して、 割込み要求レジス夕 IR をリセットするために使用す る割込み要求リセヅトレジス夕 (IRR:Interrupt Request Resetと呼ぶ) と、 を備えている。 尚、 割り込みマスクレジス夕は割り込みマスク部 1 1 0に備 えられている。 また、 マスク可能な割込み要因全てについて共通の割込み許 可フラグ (IE Interrupt Enable と呼ぶ) が設定される。 この割込み許可フ ラグは、 割込みの禁止 (0)/許可 (1)の制御する。
割り込みが発生した場合には、 割り込み要求レジス夕の該当ビッ卜が 1に 設定される。 そして、 ソフトウェアが IRRへセット(1)することにより、 IR の該当ビヅ卜がリセット(0)される。 図 2 Aにおいては、 IR、 IM、 IRR の各 レジス夕が各々 16bit のレジス夕を用いて実現される場合が一例として示さ れている。
図 2 Aには IR、 IM、 IRR IE をそれそれ示し、 各割り込み要因
Figure imgf000010_0001
るビットを、 Irn、 Imn、 IRRn(n=0,l,..,15)と表す。 図 2 Bは割り込み要因が発生した時の割り込みコントローラ 1 0 2での処 理の流れを示している。 図 2 Bに示すように、 割り込み要因が発生すると、 割り込み要求レジス夕の該当ビットがセット(1)され、割り込み許可フラグが 許可 (1)されており、割り込みマスクレジス夕の該当ビットが許可 (1)されてい る場合に、 割り込み許可フラグを禁止 (0)とした後、 割り込みハンドラに処理 が遷移する。割り込み許可フラグ又は割込みマスクレジス夕が禁止 (0)状態か ら許可 (1)状態に変更された場合にも図 2 Bに示す割り込み要因判定処理が 行われる。
以下、割り込みハンドラ 1 0 1における処理について説明する。ここでは、 説明を簡単にするために、 割り込みハンドラ 1 0 1に処理が遷移した際に、 割り込み要求レジス夕 IRに割り込み要因として IRQ 14、 IRQ 12、 IRQ 1、 IRQO の 4種類の割り込み要因がセッ ト(1)されており、 割り込みマスクレジス夕 IMに IM15、 IM14、 IM3、 IM1、 IMOが割込み許可 (1)に設定されており、 全ての割り込みが許可されている割り込みマスクが割り込み管理部 1 0 3に 備えられたレジス夕 (IMFGreg)への設定状態として保持されている場合に ついて説明をする。
また、 この時の割り込みマスク解除部 1 0 4には、 マスク解除を行うべき 割り込み要因がないとする。 即ち、 割り込みマスク解除部 1 0 4に備えられ たレジス夕の全てビットがクリア (0)に設定されているとする。
また、 割り込み要因の割り込みレベルとして下記のように 4段階の割り込 みレベルが設定されている。
レベル 0の割り込み要因: IRQ2, IRQ3
レベル 1の割り込み要因: IRQO, IRQ1
レベル 2の割り込み要因: IRQ15,IRQ14,IRQ13,IRQ12,IRQ4
レベル 3の割り込み要因: IRQ5, IRQ6, IRQ 7, IRQ8, IRQ9JRQ10JRQ11 この割り込みレベルは割り込みの優先度を表し、 レベル 0 >レベル 1 >レベ ル 2 >レベル 3の順で優先度が高いとする。
割り込み管理部 1 0 3には、 各割り込み毎にその割り込み要因のレベルよ り高いレベルの割り込み要因のみを割り込み許可 (1)とする割り込みマスク レジス夕への設定状態 (IMFGと呼ぶ) が保持される。
図 3は、 上述した割り込みレベルに対して設定すべき割り込みマスクレジ ス夕の設定状態を示しており、 IMFGn(n=0,l,..,15)は各々ΠlQn(n=0,l,.., 15) に対応している。例えば、割り込み要因 IRQ14に対する IMFG14は、 IRQ14 よりレベルの高い、 IRQ0、 IRQ1S IRQ2、 IRQ3の該当ビットが許可 (1)に設 定される。 また、 割り込み要因 IRQ2に対する IMFG2は、 IRQ2 よりレべ ルの高い割り込み要因が存在しないため、全てのビッ卜が禁止 (0)に設定され る。
まず、 割り込みハンドラ 1 0 1に処理が遷移した場合、 その際に実行中で あった処理タスク (この処理タスクを中断タスク 1 2 5とする) の種々の情 報が退避処理部 1 0 5により退避される。 次に、 割り込み要因判定部 1 0 6において、 割り込みコントローラ 1 0 2 より通知された割り込み要因に対して、 割り込み管理部 1 0 3を用いてどの 割り込み要因に対する処理を行うかの判定を行い、 呼び出す割り込み処理夕 スクを決定する。
図 4は割り込み要因判定処理手順の説明図である。 割り込み要因として IRQ 14, IRQ12、 IRQ1、 IRQOの 4種類の割り込み要因がセット(1)されてい るため割込み要求レジス夕 IRは IR14、 11112、 IR1、 IR0の各該当ビットが 1となっている (S 1 ) 。
割り込みマスクレジスタ IMの設定状態として IM15、 IM14、 IM3、 IM1、 IMO が割込み許可 (1)に設定されているため割り込みマスクレジス夕 IM は IM15、 IM14、 IM3、 IM1、 IMOの各該当ビット 1となっている (S 2 ) 。 次に、 S 1と S 2の各対応するビット毎の AND演算が行われる (S 3 ) 。 S 3の状態において、 MSB (Most Significant Bit) 側から順に評価を行 い、値が最も早く 1となっているビットに該当する割り込み要因を選択する。 この場合は IRQ14 に対する位置のビットが最も早く 1となっているため、 割り込み要因として IRQ14が選択される。
次に、 割り込み管理部 1 0 3に保持されている割り込みマスクレジス夕へ の設定状態 IMFGに対して、 選択された割り込み要因 IRQ14に対応する割 り込みマスクレジス夕への設定状態 IMFG14 (即ち、 図 3に示す IMFG14 の値) が獲得される (S 4 ) 。
次に、 S 3及び S 4で得られた各状態の AND演算をビット毎に行う ( S 5 ) o
次に、 S 3の状態に対して行ったのと同じ評価が行われ、 割り込み要因と して IRQ1が選択される。
次に、 S 4と同様の処理を行い割り込み管理部 1 0 3から IMFG1 (即ち、 図 3に示した IMFG1の値) が獲得される (S 6 ) 。
次に、 S 5と同様に S 5及び S 6で得られた各状態の AND演算をビット 毎に行うと、 全てのビッ卜が 0となるため (S 7 ) 、 S 3の状態に対して行 つたのと同じ評価を行っても選択すべき割り込み要因が存在しない。 選択す べき割り込み要因が存在しなくなった評価の直前の評価において選択された 割り込み要因、 即ち IRQ1が割り込み要因として選択され、 呼び出す割り込 み処理タスクとして IRQ1に対する割り込み処理タスクが決定されて、 割り 込みタスク制御処理部 1 0 7に処理が遷移する。 尚、 IRQ1 に対する割り込 み処理タスクは、 第 Rの割り込み処理タスク 1 2 9とする。
割込み要因として IRQ1が選択されたため、 割込み要求リセットレジス夕 IRRの IRQ1に該当するビット、 即ち、 IRR1をセット(1)することにより割 り込み要求レジス夕 IRにセッ 卜されている IRQ1の割り込み要因のリセッ ト(0)を行う。
図 5は多重割り込み制御部 1 0 9での処理手順の説明図である。
多重割り込み制御部 1 0 9は、 決定された第 Rの割り込み処理タスク 1 2 9に対応する割り込みマスク IMFG1を、 割り込み要因毎に用意された割り 込み受付可能状態を保持する割り込み管理部 1 0 3から取り出し、 割り込み コントローラ 1 0 2の割り込みマスク部 1 1 0に設定する。
この際に、 割り込み発生時に割り込みコントローラ 1 0 2の割り込みマス ク部 1 1 0で既に割り込みマスクが設定されているために割り込み禁止にな つている割り込み要因に対応する割り込みマスクに対しては変更を行わない。 即ち、 S 6の IMFG1 と S 2の IMとの AND演算を各対応するビット毎 に行い、 この演算結果を割り込みマスク部 1 1 0に設定する割り込みマスク 状態と決定する。 そして、 このマスク状態が割込み割り込みマスク部 1 1 0 に設定される (S 8 ) 。
さらに、 割り込み発生時に割り込みコントローラ 1 0 2に設定されていた 割り込みマスクの状態において、 割り込み要因判定部 1 0 6で判定された割 込み要因 IRQ1に対応するマスクが割込み禁止状態に更新され、 更新された 割り込みマスクの状態が退避処理される。 即ち、 割り込み要因 IRQ1の該当ビットを 1に変更した状態 (S 9 ) と S 2の IM との EOR演算を行うことにより得られる状態 (S 1 0 ) が退避さ れる (退避先のレジス夕を IM— SHLTregと呼ぶ) 。
さらに、 割り込み発生時に割り込み管理部 1 0 3に保持されていた割り込 み受付可能管理状態も退避する。 即ち、 全ての割り込みが許可されている状 態である IMFGregの内容 (S 1 1 ) が退避される (退避するレジス夕を IMFG— SHLTregと呼ぶ) 。
次に、 割り込みタスク制御処理部 1 0 7が割り込み要因判定部 1 0 2で決 定された第 Rの割り込み処理タスク 1 2 9を呼び出す。
第 Rの割り込み処理タスク 1 2 9では、 割り込みに対応する処理が行われ る。 この処理中に新たに入力された割り込み要因に対して割り込み許可を行 う場合は、 割り込みマスク解除部 1 0 4において、 割り込みを許可する割り 込み要因の情報を割り込み解除状態に設定する。 また、 即座に割り込み許可 を行う場合には、 割り込みコントロ一ラ 1 0 2の割り込みマスク部 1 1 0の 割り込みを許可する割り込み要因に対応する割り込みマスクをマスク解除状 態に設定する。
即ち、 第 Rの割り込み処理タスク 1 2 9の処理中に、 新たに割り込み要因 IRQ2を受け付け可能とする場合には、割り込みマスク解除部 1 0 4の IRQ2 に対応するビットをクリア (0)から設定 (1)に変更する。
図 6に示す S 1 2はこの時の割り込みマスク解除部 1 0 4の状態を示して いる。
さらに、 IRQ2 は第 Rの割り込み処理タスク 1 2 9が処理対象としている 割り込み要因 IRQ1より上位レベルの割り込み要因であるため、 即座に割込 み許可を行う場合となり、 割り込みコントローラ 1 0 2の割り込みマスク部 1 1 0の現時点での設定状態である、 S 8の状態に対して、 IRQ2 の該当ビ ヅトの割込みマスクを解除 (1)にする。図 6に示す S 1 3はこの時の割り込み マスク部 1 1 0の状態を示している。 第 Rの割り込み処理タスク 1 2 9の処理が終わると、 再び割り込みタスク 制御処理部 1 0 7に処理が移行する。
この際、 多重割り込み制御部 1 0 9は、 第 Rの割り込み処理タスク 1 2 9 を呼び出す前に、 多重割り込み制御部 1 0 9により IM— SHLTreg に退避さ れた割り込みマスクの状態 ( S 1 0 ) の IRQ2に対応するビットを割り込み 許可に設定したものを、 割り込みコントロ一ラ 1 0 2の割り込みマスク部 1 1 0に設定する。 図 6に示す S 1 4には、 この時の割り込みマスク部 1 1 0 の状態を示している。 IRQ2 は、 IMFG— SHLTreg に退避しておいた割り込 み管理部 1 0 3の状態 (S 1 1 ) と、 第 Rの割り込み処理タスク 1 2 9で設 定された割り込みマスク解除部 1 0 4の状態 (S 1 2 ) においていずれも割 り込み許可状態になっている。
さらに、 この際に割り込み許可状態に変更された割り込み要因 IRQ2に対 しては、 割り込みマスク解除部 1 0 4の対応する割り込み要因の情報をリセ ヅトする。 図 6に示す S 1 5はこの時の割り込みマスク解除部 1 0 4の状態 を示している。
そして、 タスク復帰処理部 1 0 8で、 退避処理部 1 0 5で退避された割り 込み発生時に実行中であったタスクの種々の情報を復帰し、 中断タスク 1 2 5の処理を再開する。
このように、 実施の形態 1に係る割り込み管理装置 1 0 0には、 割り込み 要因毎に割り込みが可能かどうかを管理する割り込み管理部 1 0 3、 及び割 り込みマスクを解除するかどうかを管理する割り込みマスク解除部 1 0 4が いずれも割り込みハンドラ 1 0 1とは独立に設けられている。 割り込みハン ドラ 1 0 1は、 割り込み管理部 1 0 3に保持されている割り込みが可能かど うかを管理する設定状態と、 割り込みマスク解除部 1 0 4に保持されている マスク解除を行う設定状態とを用いて、 割り込み要因毎の処理を規定する。 特に、 複数の割り込み要因の割り込みの許可/禁止を管理する。
多重割り込み制御部 1 0 9は、 割り込み管理部 1 0 3及び割り込みマスク 解除部 1 0 4を用いて、 割り込みの許可/禁止を制御するので、 割り込み夕 スク内で他の割り込みを受け付けられるようにする場合や、 割り込み後に他 の割り込みを禁止する場合などの、 割り込みの許可/禁止の制御を変更する ことが必要な場合であっても、 割り込み管理部 1 0 3と割り込みマスク解除 部 1 0 4の設定状態を変更すれば良い。 したがって、 プログラムの作成者は、 割り込みハンドラ 1 0 1における割り込みの許可/禁止の制御 (割り込み管 理状態) を意識せずに割り込み処理タスク 1 2 7を作成することが出来る。 また、 割り込みハンドラ 1 0 1の割り込み管理状態に依存しない割り込み処 理の構築が可能になる。
尚、 本発明は、 ソフトウェアにより実現することも可能であり、 このソフ トウエアを記録媒体から読み出して本発明を実現することも可能である。 また、 本発明は、 信号処理用プロセッサ (D S P ) における割り込み管理 機構として組み込むことが可能であり、 D S P内での割り込み処理とは独立 に割り込み処理を用いたアプリケーションを実現する場合に有効である。 また、 本発明は、 コンピュータ処理のリアルタイム ·オペレーションシス テムならびにマルチタスク ·オペレーションシステムなどの O S内の割り込 み処理に組み込むことが可能であり、 パーソナルコンビユー夕上で実現され るアプリケーションシステムの構築においては、 0 S内での割り込み処理と は独立に割り込み処理を用いたアプリケーションを実現する場合に有効であ り、 さらに多重割り込みを有する場合には、 害' I」り込みレベルを 0 S内の割り 込み機構とは独立した形態で構築することが可能となるため特にその効果を 発揮する。
(実施の形態 2 )
図 7は、 本発明の実施の形態 2に係る割り込み管理装置の構成を示す図で ある。 この図 7において、 図 1に示す実施の形態 1の各部に対応する部分に は図 1と同一符号を付し、 その説明を省略する。
この図 7に示す実施の形態 2の割り込み管理装置 7 0 0は、 実施の形態 1 の構成要素に加えて、 実行タスク制御部 7 0 1と、 初期化タスク指示部 7 0
2と、 初期化タスク管理部 7 0 3と、 割り込みハンドラ 1 0 1内のタスク管 理制御部 7 0 4と、 を備えて構成されている。
初期化タスク管理部 7 0 3は、 割り込みハンドラ 1 0 1とは独立に、 処理 タスクの初期化処理を行うタスクの呼出しァドレスを格納する。
実行タスク制御部 7 0 1は、 実行中のタスクの情報を保持する。
初期化タスク指示部 7 0 2は、初期化処理が必要となるタスクを設定する。 タスク管理制御部 7 0 4は、 実行タスク制御部 7 0 1と初期化タスク指示 部 7 0 2とを用いて、 中断タスク 1 2 5に復帰する際に中断タスク 1 2 5の 初期化処理の要否を判定し、 初期化処理が必要な場合には、 初期化タスク管 理部 7 0 3に格納されている初期化処理を行うタスクを呼出す。
このように構成された本発明の実施の形態 2に係る割り込み管理装置 7 0
0の動作について説明する。 尚、 説明を簡単にするため、 割り込みハンドラ
1 0 1での処理のうち実施の形態 1と同じ部分についてはその詳しい説明を 省略する。
図 8 Aには、 実行タスク制御部 7 0 1に格納される実行中のタスクの情報 の状態を示す。 この図 8 Aには、 処理タスク 1 2 3並びに割込み処理タスク 1 2 7の各々のタスクを各ビット毎に対応させて管理する場合について示し ている。
図 8 Bには、 初期化タスク指示部 7 0 2に初期化処理が必要となるタスク を実行タスク制御部 7 0 1と同様に各ビット毎に対応させて設定する場合の レジス夕に設定された状態の遷移を示している。
実行タスク制御部 7 0 1には、 処理タスク 1 2 3ならびに割り込み処理夕 スク 1 2 7のうち、 実行中のタスクの情報 (TSKINFと呼ぶ) が格納されて いる。 まず、 割り込みハンドラ 1 0 1に処理が遷移した場合、 その際に実行 中であった処理タスク (ここでは中断タスク 1 2 5 ) の該当ビッ トに 1が設 定される (T 1 ) 。 まず、 割り込みハンドラ 1 0 1において、 多重割り込み制御部 1 0 9によ り、 割り込み発生時に実行タスク制御部 7 0 1に格納されていた実行中の夕 スク (中断タスク 1 2 5 ) の情報、 即ち T 1の状態が退避され (退避するレ ジス夕を TSKINF_SHLTregと呼ぶ)、 割り込み要因判定部 1 0 6で決定さ れた第 Rの割り込み処理タスク 1 2 9の情報 (T 2 ) が新たに実行タスク制 御部 7 0 1に格納される。
そして、 第 Rの割り込み処理タスク 1 2 9において、 タスクの初期化が必 要な場合には、 初期化タスク指示部 7 0 2に初期化するタスクの情報を格納 する。
中断タスク 1 2 5が初期化が必要なタスクとして設定された場合を考える c この場合、 初期化タスク指示部 7 0 2には中断タスク 1 2 5の該当ビッ卜に
1が設定される (T 3 ) 。
そして、 第 Rの割込み処理タスク 1 2 9の処理が終わると、 再び割り込み タスク制御処理部 1 0 7に処理が移行する。 この際、 多重割り込み制御部 1 0 9により、害 IJり込み処理夕スクを呼び出す前に TSKINF— SHLTregに退避 しておいた実行タスク制御部 7 0 1の情報 (T 2 ) と初期化タスク指示部 7
0 2に格納されている初期化するタスクの情報 (T 3 ) とが、 タスク管理制 御部 7 0 4において比較される。
タスク管理制御部 7 0 4では比較したタスクが同じタスクを指示している 場合には、 初期化タスク管理部 7 0 3は、 対応するタスクの初期化処理を行 うタスクの呼出しァドレスを用いて中断タスク 1 2 5の初期化タスクの処理 を行う。
例えば、 TSKINF— SHLTregに退避される実行タスク制御部 7 0 1の情報 は、 割り込み発生時に実行中であったタスクの情報であるため、 常に該当す る 1ビットのみが 1に設定されている。 したがって、 タスク管理制御部 7 0 4において、 T 2と T 3の AND演算を行い、 その演算結果が 0でない値と なった場合には、 比較したタスクが同じタスクを指示していると判断すれば よく、 この場合は同じタスクとなっている。
尚、 タスク復帰処理部 1 0 8において、 退避処理部 1 0 5で退避された割 り込み発生時に実行中であったタスクの種々の情報が必要とされる場合には 復帰処理が行われる。
このように、 本発明の実施の形態 2に係る割り込み管理装置 7 0 0は、 夕 スクの初期化処理を行うタスクの呼出しアドレスを格納する初期化タスク管 理部 7 0 3と、実行中のタスクの情報を保持する実行タスク制御部 7 0 1と、 初期化処理が必要となるタスクを設定する初期化タスク指示部 7 0 2とを有 して構成される。 このような構成を有する割り込み管理装置 7 0 0は、 実行 タスク制御部 7 0 1と初期化タスク指示部 7 0 2を用いて、 中断タスクに復 帰する際に中断タスク 1 2 5の初期化処理の要否を判定し中断タスク 1 2 5 が初期化する必要がある場合には、 初期化タスク管理部 7 0 3に格納されて いる呼出しァドレスを用いて初期化処理を行うタスクの呼出しをタスク管理 制御部 7 0 4が行う。
このため、 割り込み処理タスク 1 2 7において、 タスクの処理を初期状態 から始めるように制御する場合が発生した場合に、 タスクのス夕ック領域、 タスク制御手段などを割り込み処理タスク 1 2 7が初期化する必要がない。 従って、 割り込み処理タスク 1 2 7は、 初期化するタスクの処理内容を意 識する必要がなく、 割り込み処理タスク 1 2 7内において、 初期化を行なう 処理手順を割り込み処理タスク 1 2 7ならびに初期化を必要とするタスクと 独立に制御できる機構の構築が可能となる。
また、 本発明は、 ソフトウェアにより実現することも可能であり、 このソ フトウェアを記録媒体から読み出して本発明を実現することも可能である。 また、 本発明は、 信号処理用プロセッサ (D S P ) における割り込み管理 機構として組み込むことが可能であり、 D S P内での割り込み処理とは独立 に割り込み処理を用レ、たアプリケーションを実現する場合に有効である。 また、 本発明は、 コンピュータ処理のリアルタイム 'オペレーションシス テムならびにマルチタスク ·オペレーションシステムなどの 0 S内の割り込 み処理に組み込むことが可能である。 このため、 パーソナルコンピュータ上 で実現される種々のアプリケーションシステムの構築においては、 タスクの 初期化処理を 0 S内の割り込み機構とは独立した形態で構築することが可能 となるため、 本発明が特にその効果を発揮する。
(実施の形態 3 )
図 9は、 本発明の実施の形態 3に係る割り込み管理装置の構成を示す図で ある。 この図 9において図 7に示す実施の形態 2の各部に対応する部分には 図 2と同一符号を付し、 その詳しい説明を省略する。
この図 9に示す実施の形態 3の割り込み管理装置 9 0 0は、 実施の形態 2 の構成要素の他に、 タスクマネージャ 9 0 3と、 割り込みハンドラ 1 0 1内 に備えられたタスク中断処理部 9 0 4と、 を有して構成される。 タスクマネ ージャ 9 0 3には、ディスパッチ処理部 9 0 2とが設けられている。さらに、 ディスパッチ処理部 9 0 2には、 タスク制御部 9 0 1が備えられている。 タスクマネージャ 9 0 3に備えられたディスパッチ処理部 9 0 2は、 図 7 に示す割り込み管理装置 7 0 0に対応する部分に対し、 処理対象となる処理 タスクの判定を行い、 処理タスク毎の呼出しァドレスを格納したタスク制御 部 9 0 1と、 タスクの初期化処理を行うタスクの呼出しァドレスを格納する 初期化タスク管理部 7 0 3とを用いて、 呼び出す処理タスク 1 2 3の切換え 処理を行う。
タスク中断処理部 9 0 4は、 退避処理部 1 0 5で退避された割り込み発生 時に実行中であったタスクの種々の情報の復帰を行わずディスパッチ処理部
9 0 2を呼び出す。
また、 タスク管理制御部 7 0 4は、 実行タスク制御部 7 0 1と初期化タス ク指示部 7 0 2を用いて中断タスク 1 2 5に復帰する際に中断タスク 1 2 5 の初期化処理の要否を判定し、 中断タスク 1 2 5の初期化処理が必要な場合 には、 タスク中断処理部 9 0 4を呼び出し、 処理化処理が不要な場合はタス ク復帰処理部 1 0 8を呼び出す。
このように構成された実施の形態 3の割り込み管理装置 9 0 0の動作を説 明する。
割り込みハンドラ 1 0 1においてタスク復帰処理部 1 0 8が中断タスク 1 2 5の復帰処理を行う際には、 タスク管理制御部 7 0 4と同様に、 実行タス ク制御部 7 0 1と初期化タスク指示部 7 0 2を用いて、 中断タスク 1 2 5の 初期化処理の要否を判定し、 初期化処理が必要な場合には、 初期化タスク管 理部 7 0 3に格納されている初期化処理を行うタスクを呼出す。
即ち、 多重割り込み制御部 1 0 9により割り込み処理タスクが呼び出され る前に TSKINF_SHLTregに退避しておいた実行タスク制御部 Ί 0 1の情報 ( T 2 ) と初期化タスク指示部 7 0 2に格納されている初期化するタスクの 情報 (T 3 ) を用いた比較処理が行われる。
これにより、 中断タスク 1 2 5に復帰する際に中断タスク 1 2 5の初期化 処理の要否が判定され、 初期化処理が必要なタスクに復帰する場合、 退避処 理部 1 0 5で退避された割り込み発生時に実行中であったタスクの種々の情 報の退避を行うタスク復帰処理部 1 0 8ではなく、 タスク中断処理部 9 0 4 が呼び出される。
初期化処理が不要な場合は、 退避処理部 1 0 5で退避された割り込み発生 時に実行中であったタスクの種々の情報の退避を行うタスク復帰処理部 1 0 8が呼び出され、 中断タスクの処理が再開される。
そして、 タスクマネージャ 9 0 3のディスパッチ処理部 9 0 2で呼び出す 処理タスクの切換え処理を行う際に初期化タスク指示部 7 0 2で指示された 処理タスクとの比較を、 タスク管理制御部 7 0 4での比較処理と同様の方法 で行い、 呼び出す処理タスクが初期化処理が必要なタスクの場合には、 初期 化タスク管理部 7 0 3に格納されている呼出しアドレスを用いて初期化処理 を行うタスクの呼出しを行う。
このように、 実施の形態 3の割り込み管理装置 9 0 0によれば、 タスクの 初期化が発生した場合に、 初期化処理においては、 もはや復帰する必要がな い退避処理部 1 0 5で退避された割り込み発生時において、 実行中であった タスクの種々の情報の復帰を行うこと無く、 さらに初期化処理は、 タスクマ ネ一ジャ 9 0 3のディスパッチ処理部 9 0 2で再度そのタスクが指示された 際にのみ初期化処理から処理を開始することが可能となる。
また、 本発明は、 ソフトウェアにより実現することも可能であり、 このソ フトウエアを記録媒体から読み出して本発明を実現することも可能である。 また、 本発明は、 信号処理用プロセッサ (D S P ) における割り込み管理 機構ならびにタスク管理機構として組み込むことが可能であり、 D S P内で の割り込み処理ならびにタスクマネージャとは独立に割り込み処理を用いた アプリケーションを実現する場合に有効である。
また、 本発明は、 コンピュータ処理のリアルタイム 'オペレーションシス テムならびにマルチタスク ·オペレーションシステムなどの 0 S内の割り込 み処理ならびにタスクマネージャ処理に組み込むことが可能である。 このた め、 パーソナルコンピュータ上で実現される種々のアプリケーションシステ ムに対し初期化処理を伴う場合には、 もはや復帰する必要がないタスクの 種々の情報の復帰を行うこと無い。 さらに初期化処理に関しても、 タスクマ ネージャ 9 0 3のディスパッチ処理部 9 0 2で再度そのタスクが指示された 場合にのみ初期化処理から処理を開始することが出来る。
(実施の形態 4 )
図 1 0は、 本発明の実施の形態 4に係る割り込み管理装置の構成を示す図 である。 この図 1 0において図 9に示す実施の形態 3の各部に対応する部分 には図 9と同一符号を付し、 その説明を省略する。
この図 1 0に示す実施の形態 4の割り込み管理装置 1 0 0 0は、 実施の形 態 3の構成要素の他に、 初期化タスク管理部 7 0 3を有する初期化制御部 1 0 0 1を備えて構成される。
初期化制御部 1 0 0 1は、 処理タスク毎の初期化を行う場合のタスクの起 動開始アドレスを格納する初期化タスク管理部 7 0 3を用いてタスクの初期 化制御を行う。
タスクマネージャ 9 0 3は、 初期化制御部 1 0 0 1と、 処理タスク毎の呼 出しァドレスを格納するタスク制御部 9 0 1を用いてタスクの切換え処理を 行うディスパッチ処理部 9 0 2とにより構成される。
このように構成された実施の形態 4に係る割り込み管理装置 1 0 0 0の動 作を説明する。
初期化制御部 1 0 0 1は、 処理タスク 1 2 3から呼び出された場合には、 対応する処理タスクの初期化タスク管理部 7 0 3に処理タスク 1 2 3からの 呼出しアドレスを格納し、 対応する処理タスクを初期化するタスクの情報と して初期化タスク指示部 7 0 2に格納した上、 ディスパッチ処理部 9 0 2に 処理を移す。
また、 ディスパッチ処理部 9 0 2から初期化制御部 1 0 0 1が呼び出され た場合には、 呼び出された際に指示された処理タスクの対応する初期化夕ス ク管理部 7 0 3に格納されているタスクの起動開始ァドレスを用いてタスク の呼出しを行なう。
ディスパッチ処理部 9 0 2は、 処理タスク 1 2 3から呼び出された場合に は、 対応する処理タスクのタスク制御部 9 0 1に処理タスク 1 2 3からの呼 出しァドレスを格納する。
また、 タスク中断処理部 9 0 4もしくは、 初期化制御部 1 0 0 1からディ スパッチ処理部 9 0 2が呼び出された場合には、 呼び出す処理タスクの切換 え処理を行う際に、 初期化タスク指示部 7 0 2で指示された処理タスクとの 比較を行う。
呼び出す処理タスクが初期化処理の必要なタスクの場合には、 初期化タス ク管理部 7 0 3に格納されている起動開始ァドレスを用いてタスクの呼出し を行う。
その他の場合にはタスク制御部 9 0 1から呼び出す処理タスクに対応する 呼出しァドレスを用いてタスクの呼出しを行う。
初期化制御部 1 0 0 1並びにディスパッチ処理部 9 0 2において、 格納す べき呼出しアドレスの獲得方法としては、 例えば、 D S Pなどで用いられる CALL命令と POP命令を用いた方法がある。
CALL命令とは CALL命令を発行したプログラムの次の命令のプログラム カウン夕をス夕ックに格納し、 CALL命令で指示されたプログラムカウン夕 の値に処理を遷移させる命令であり、 POP命令とはスタックに格納されてい る値を取り出す命令である。
従って、 この CALL命令により初期化制御部 1 0 0 1並びにディスパッチ 処理部 9 0 2の所定の処理に制御が移り、 POP命令を用いて呼び出された夕 スクの戻り先のプログラムカウン夕の値を、 初期化タスク管理部 7 0 3もし くはタスク制御部 9 0 1に格納することによりアドレスを獲得することが出 来る。
このように、 本発明の実施の形態 4に係る割り込み管理装置 1 0 0 0によ れば、 タスクマネージャ 9 0 3での初期化を含むタスクの管理が、 アドレス の管理ならびに制御方法のみを規定するものであるため、 各処理タスクの呼 出しァドレスに依存しない処理タスクの切換え制御を構築することが可能で ある。
また、 本発明は、 ソフトウェアにより実現することも可能であり、 このソ フトウエアを記録媒体から読み出して本発明を実現することも可能である。 また、 本発明は、 信号処理用プロセッサ (D S P ) における割り込み管理 機構ならびにタスク管理機構として組み込むことが出来る。 本発明は、 D S P内での割り込み処理ならびにタスクマネージャとは独立に割り込み処理を 用いたアプリケーションを実現する場合に有効である。
また、 本発明は、 コンピュータ処理のリアルタイム ·オペレーションシス テムならびにマルチタスク ·オペレーションシステムなどの O S内の割り込 み処理ならびにタスクマネ一ジャ処理に組み込むことが可能である。 このた め、 パーソナルコンピュータ上で実現されるアプリケーションシステムに対 して◦ S内の処理に依存しないタスク切換え処理の構築が可能となるという 有利な効果を有する。
以上説明したように、 本発明によれば、 割り込みタスク内で他の割り込み を受け付けられるようにする場合や、 割り込み後に他の割り込みを禁止する 場合などの、 割り込みハンドラにおける割り込みの許可/禁止の処理を変更 する際に、 割り込みハンドラや割り込み処理タスクによる割り込み処理内容 の変更を容易に行うことができる。
また、 0 Sを用いた割り込み管理方法で、 すべての割り込み要因に対して O S内にある割り込みハンドラが一括して割り込みの禁止/許可の処理を行 なっている場合においても、 ユーザが◦ S内の割り込みハンドラの割り込み 管理状態を意識せず割り込み処理夕スクを作成することができる。
また、 ◦ S内の割り込みハンドラの割り込み管理状態に依存しない割り込 み処理を構築することが出来るとともに、 割り込み処理タスクにおいて、 夕 スクの処理を初期状態から始める制御が発生した場合に、 タスクのスタック 領域、 タスク制御手段などを割り込み処理タスクが初期化する必要がなくな る。
従って、 割り込み処理タスクは初期化するタスクの処理内容を意識する必 要がなく、 割り込み処理タスク内において、 初期化を行なう処理手順を割り 込み処理タスクならびに初期化を必要とするタスクと独立に制御可能な機構 を構築することができる。
さらに、 タスクの初期化が発生した場合に、 退避処理部で退避された割り 込み発生時に実行中であったタスクの種々の情報のうち、 初期化処理におい て復帰する必要が無いものについては復帰を行わな 、。
さらに、 初期化処理においては、 タスクマネージャ 9 0 3のディスパッチ 処理部 9 0 2で再度そのタスクが指示された際にのみ初期化処理から処理を 開始することが可能となる。 タスクマネージャ 9 0 2での初期化を含むタス クの管理がァドレスの管理ならびに制御方法のみを規定するものであるため、 各処理タスクの呼出しアドレスに依存しない処理夕スクの切換え制御を行う ことができる。
本明細書は、 1 9 9 9年 1 2月 7日出願の特願平 1 1 - 3 4 7 2 9 4号公 報に基づく。 この内容は全てここに含めておく。 産業上の利用可能性
本発明は、コンピュータ処理のリアルタイム 'オペレーションシステム(リ アルタイム O S ) ならびにマルチタスク 'オペレーションシステム (マルチ タスク O S ) と信号処理用プロセッサ (D S P ) における割り込み管理を行 うものであり、 W— C D MA (Wide band-Code Division Multiple Access) 方式を用いた移動体通信システムにおける携帯テレビ電話装置等の画像端末 装置などに用いる好適な割り込み管理装置及び割り込み管理方法の分野に利 用するのに好適である。

Claims

請求の範囲
1 . 割り込みマスクで割り込みハンドラへの割り込み通知を制御する割り込 みコントローラと、 前記割り込みの発生時に実行中のタスクの情報を退避す る退避処理手段と、 前記割り込みの要因に応じて処理すべき割り込み処理夕 スクを決定する割り込み要因判定手段と、前記割り込みハンドラとは独立に、 割り込み要因毎に用意された割り込み受付可能状態を保持する割り込み管理 手段と、 割り込み処理タスクに割り込み許可を制御する割り込みマスク解除 手段と、 前記割り込み管理手段及び前記割り込みマスク解除手段の処理に応 じて割り込みマスクの更新制御を行う多重割り込み制御手段と、 決定された 割り込み処理タスクと前記割り込みハンドラ間の処理の遷移を行う割り込み タスク制御手段と、 前記退避処理手段で退避された割り込み発生時に実行中 のタスクの情報を復帰し、 中断されていたタスクの処理を再開するタスク復 帰処理手段と、 を具備する割り込み管理装置。
2 . 割り込みハンドラとは独立に、 タスクの初期化処理を行うためのタスク の呼出しアドレスを格納する初期化タスク管理手段と、 実行中のタスクの倩 報を保持する実行タスク制御手段と、 初期化処理が必要となるタスクを設定 する初期化タスク指示手段と、 前記実行タスク制御手段及び前記初期化夕ス ク指示手段の処理に応じて中断タスクに復帰する際に前記中断タスクの初期 化処理の要否の判定行い、 初期化処理が必要なタスクに復帰する場合に、 前 記初期化タスク管理手段に格納された初期化処理を行うタスクの呼出しを実 行するタスク管理制御手段と、を具備する請求項 1記載の割り込み管理装置。
3 . 処理対象となる処理タスクの判定を行い、 処理タスク毎の呼出しァドレ スを格納したタスク制御手段と、 初期化タスク管理手段の処理に応じて呼び 出す処理タスクの切換え処理を行うディスパッチ処理手段とを有するタスク マネージャと、 退避処理手段で退避された割り込み発生時に実行中のタスク の情報の復帰を行わず、 前記ディスパッチ処理手段を呼び出すタスク中断処 理手段とを具備し、 タスク管理制御手段は、 実行タスク制御手段及び初期化 タスク指示手段の処理に応じて中断タスクに復帰する際に中断タスクの初期 化処理の要否を判定行い、 初期化処理が必要なタスクに復帰する場合は前記 タスク中断処理手段を呼び出し、 初期化処理が不要な場合は夕スク復帰処理 手段を呼び出す請求項 2記載の割り込み管理装置。
4 . 初期タスク管理手段の処理に応じてタスクの初期化制御を行う初期化制 御手段を、 タスクマネージャに具備する請求項 3記載の割り込み管理装置。
5 . 割り込みマスクで割り込みハンドラへの割り込み通知を制御し、 この制 御による割り込み発生時に実行中のタスクの情報を退避し、 前記割り込みの 要因に応じて処理すべき割り込み処理タスクを決定し、 前記割り込みハンド ラとは独立に、 前記割り込み要因毎に用意された割り込み受付可能状態を保 持し、 前記割り込み処理タスクにおいて割り込み許可を制御するための割り 込みマスク解除制御情報及び前記割り込み受付可能状態の情報に応じて割り 込みマスクの更新制御を行い、 決定された割り込み処理夕スクと前記割り込 みハンドラ間の処理の遷移を行い、 前記退避された割り込み発生時に実行中 のタスクの情報を復帰し、 中断されていたタスクの処理を再開する割り込み 管理方法。
6 . 割り込みハンドラとは独立に、 タスクの初期化処理を行うタスクの呼出 しァドレスを格納する初期化タスク管理情報と、 実行中のタスクの情報と、 初期化処理が必要となるタスクを設定する初期化タスク指示情報とを保持し、 前記実行タスク制御情報及び前記初期化タスク指示情報に応じて中断タスク に復帰する際に、 中断タスクの初期化処理の要否を判定行い、 初期化処理が 必要なタスクに復帰する場合に、 前記初期化タスク管理情報に格納されてい る初期化処理を行うタスクの呼出しを行う請求項 5記載の割り込み管理方法。
7 . 処理対象となる処理タスクの判定を行い、 処理タスク毎の呼出しァドレ スを格納した実行タスク制御情報及び初期化タスク管理情報に応じて、 呼び 出す処理タスクの切換え処理を行い、 退避された割り込み発生時に実行中の タスクの情報の復帰を行わず前記切換え処理を行い、 前記実行タスク制御情 報及び前記初期化タスク指示情報に応じて中断タスクに復帰する際に、 中断 タスクの初期化処理の要否を判定行い、 初期化処理が必要なタスクに復帰す る場合に、 前記タスク中断処理を行い、 初期化処理が不要な場合はタスク復 帰処理を行う請求項 6記載の割り込み管理方法。
8 . 初期化タスク管理情報を用いてタスクの初期化制御を行い、 実行タスク 制御情報を用いて夕スクの切換え処理を行う請求項 7記載の割り込み管理方 法。
9 .割り込み管理方法を実行するプログラムが記録された記録媒体であって、 前記割り込み管理方法は、 割り込みマスクで割り込みハンドラへの割り込み 通知を制御し、 この制御による割り込み発生時に実行中のタスクの情報を退 避し、前記割り込みの要因に応じて処理すべき割り込み処理タスクを決定し、 前記割り込みハンドラとは独立に、 前記割り込み要因毎に用意された割り込 み受付可能状態を保持し、 前記割り込み処理タスクにおいて割り込み許可を 制御するための割り込みマスク解除制御情報及び前記割り込み受付可能状態 の情報に応じて割り込みマスクの更新制御を行い、 決定された割り込み処理 タスクと前記割り込みハンドラ間の処理の遷移を行い、 前記退避された割り 込み発生時に実行中のタスクの情報を復帰し、 中断されていたタスクの処理 を再開する。
1 0 . 割り込み管理方法に応じた処理機能を具備するオペレーティングシス テムであって、 前記割り込み管理方法は、 割り込みマスクで割り込みハンド ラへの割り込み通知を制御し、 この制御による割り込み発生時に実行中の夕 スクの情報を退避し、 前記割り込みの要因に応じて処理すべき割り込み処理 タスクを決定し、 前記割り込みハンドラとは独立に、 前記割り込み要因毎に 用意された割り込み受付可能状態を保持し、 前記割り込み処理タスクにおい て割り込み許可を制御するための割り込みマスク解除制御情報及び前記割り 込み受付可能状態の情報に応じて割り込みマスクの更新制御を行い、 決定さ れた割り込み処理タスクと前記割り込みハンドラ間の処理の遷移を行い、 前 記退避された割り込み発生時に実行中のタスクの情報を復帰し、 中断されて いたタスクの処理を再開する。
1 1 . 割り込み管理方法に応じた処理機能を具備する信号処理用プロセッサ であって、 前記割り込み管理方法は、 割り込みマスクで割り込みハンドラへ の割り込み通知を制御し、 この制御による割り込み発生時に実行中のタスク の情報を退避し、 前記割り込みの要因に応じて処理すべき割り込み処理夕ス クを決定し、 前記割り込みハンドラとは独立に、 前記割り込み要因毎に用意 された割り込み受付可能状態を保持し、 前記割り込み処理タスクにおいて割 り込み許可を制御するための割り込みマスク解除制御情報及び前記割り込み 受付可能状態の情報に応じて割り込みマスクの更新制御を行い、 決定された 割り込み処理タスクと前記割り込みハンドラ間の処理の遷移を行い、 前記退 避された割り込み発生時に実行中のタスクの情報を復帰し、 中断されていた タスクの処理を再開する。
1 2 . 割り込み管理装置を具備する画像端末装置であって、 前記割り込み管 理装置は、 割り込みマスクで割り込みハンドラへの割り込み通知を制御する 割り込みコントローラと、 前記割り込みの発生時に実行中のタスクの情報を 退避する退避処理手段と、 前記割り込みの要因に応じて処理すべき割り込み 処理夕スクを決定する割り込み要因判定手段と、 前記割り込みハンドラとは 独立に、 割り込み要因毎に用意された割り込み受付可能状態を保持する割り 込み管理手段と、 割り込み処理タスクに割り込み許可を制御する割り込みマ スク解除手段と、 前記割り込み管理手段及び前記割り込みマスク解除手段の 処理に応じて割り込みマスクの更新制御を行う多重割り込み制御手段と、 決 定された割り込み処理タスクと前記割り込みハンドラ間の処理の遷移を行う 割り込みタスク制御手段と、 前記退避処理手段で退避された割り込み発生時 に実行中のタスクの情報を復帰し、 中断されていたタスクの処理を再開する タスク復帰処理手段と、 を具備する。
1 3 . 画像端末装置を具備する移動体通信システムであって、 前記画像端末 装置は、 割り込みマスクで割り込みハンドラへの割り込み通知を制御する割 り込みコントローラと、 前記割り込みの発生時に実行中のタスクの情報を退 避する退避処理手段と、 前記割り込みの要因に応じて処理すべき割り込み処 理タスクを決定する割り込み要因判定手段と、 前記割り込みハンドラとは独 立に、 割り込み要因毎に用意された割り込み受付可能状態を保持する割り込 み管理手段と、 割り込み処理タスクに割り込み許可を制御する割り込みマス ク解除手段と、 前記割り込み管理手段及び前記割り込みマスク解除手段の処 理に応じて割り込みマスクの更新制御を行う多重割り込み制御手段と、 決定 された割り込み処理タスクと前記割り込みハンドラ間の処理の遷移を行う割 り込みタスク制御手段と、 前記退避処理手段で退避された割り込み発生時に 実行中のタスクの情報を復帰し、 中断されていたタスクの処理を再開する夕 スク復帰処理手段と、 を具備する割り込み管理装置を具備する。
1 4 . 割り込み要因毎の処理を規定する割り込みハンドラと、 前記割り込み ハンドラと独立に、 割り込み要因毎に用意された割り込み受付可能状態を保 持する割り込み管理手段と、 前記割り込みハンドラと独立に設けられ、 割り 込みを受け付ける割り込み要因に設定するマスクを解除する割り込みマスク 解除手段と、 を具備し、 前記割り込みハンドラは、 前記割り込み管理手段と 前記割り込みマスク解除手段とを用いて割り込みマスクを更新することによ り、 割り込み要因毎に割り込みの許可 Z禁止を制御する割り込み管理装置。
PCT/JP2000/008661 1999-12-07 2000-12-07 Procede et dispositif de gestion d'interruption WO2001042918A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US09/890,940 US6820155B1 (en) 1999-12-07 2000-12-07 Interruption managing device and interruption managing method
KR10-2001-7009918A KR100408351B1 (ko) 1999-12-07 2000-12-07 인터럽트 관리 장치, 인터럽트 관리 방법, 기록 매체, 오퍼레이팅 시스템, 신호 처리용 프로세서, 화상 단말 장치 및 이동체 통신 시스템
EP00979973A EP1189137A4 (en) 1999-12-07 2000-12-07 METHOD AND DEVICE FOR INTERRUPTION MANAGEMENT
AU17333/01A AU1733301A (en) 1999-12-07 2000-12-07 Interruption managing device and interruption managing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP34729499A JP3600095B2 (ja) 1999-12-07 1999-12-07 割り込み管理装置及び割り込み管理方法
JP11/347294 1999-12-07

Publications (1)

Publication Number Publication Date
WO2001042918A1 true WO2001042918A1 (fr) 2001-06-14

Family

ID=18389246

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2000/008661 WO2001042918A1 (fr) 1999-12-07 2000-12-07 Procede et dispositif de gestion d'interruption

Country Status (7)

Country Link
US (1) US6820155B1 (ja)
EP (1) EP1189137A4 (ja)
JP (1) JP3600095B2 (ja)
KR (1) KR100408351B1 (ja)
CN (1) CN1162777C (ja)
AU (1) AU1733301A (ja)
WO (1) WO2001042918A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100444594C (zh) * 2001-12-13 2008-12-17 松下电器产业株式会社 用于执行接收处理的通信装置和方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3672634B2 (ja) * 1994-09-09 2005-07-20 株式会社ルネサステクノロジ データ処理装置
GB2381890B (en) * 2001-11-12 2003-10-29 Mentor Graphics Testing the interrupt sources of a microprocessor
GB2381891B (en) * 2001-11-12 2003-10-29 Mentor Graphics Testing the interrupt priority levels in a microprocessor
US20030204655A1 (en) * 2002-04-24 2003-10-30 Schmisseur Mark A. Prioritizing vector generation in interrupt controllers
JP2004102324A (ja) * 2002-09-04 2004-04-02 Oki Electric Ind Co Ltd 割り込みプログラムモジュール、該モジュールを記録した記録媒体およびモニタのための割り込み処理が可能のコンピュータ
US20050071610A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for debug support for individual instructions and memory locations
US7937691B2 (en) 2003-09-30 2011-05-03 International Business Machines Corporation Method and apparatus for counting execution of specific instructions and accesses to specific data locations
US20050071516A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus to autonomically profile applications
US20050071612A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for generating interrupts upon execution of marked instructions and upon access to marked memory locations
US7373637B2 (en) 2003-09-30 2008-05-13 International Business Machines Corporation Method and apparatus for counting instruction and memory location ranges
US7395527B2 (en) 2003-09-30 2008-07-01 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses
US7421681B2 (en) 2003-10-09 2008-09-02 International Business Machines Corporation Method and system for autonomic monitoring of semaphore operation in an application
US8381037B2 (en) 2003-10-09 2013-02-19 International Business Machines Corporation Method and system for autonomic execution path selection in an application
US7526757B2 (en) 2004-01-14 2009-04-28 International Business Machines Corporation Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program
US7415705B2 (en) 2004-01-14 2008-08-19 International Business Machines Corporation Autonomic method and apparatus for hardware assist for patching code
US7197586B2 (en) * 2004-01-14 2007-03-27 International Business Machines Corporation Method and system for recording events of an interrupt using pre-interrupt handler and post-interrupt handler
US7895382B2 (en) * 2004-01-14 2011-02-22 International Business Machines Corporation Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
US7421684B2 (en) 2004-03-22 2008-09-02 International Business Machines Corporation Method and apparatus for autonomic test case feedback using hardware assistance for data coverage
JP4241462B2 (ja) * 2004-03-26 2009-03-18 株式会社デンソー 制御ユニットおよびマイクロコンピュータ
US7080179B1 (en) * 2004-03-26 2006-07-18 Foundry Networks, Inc. Multi-level interrupts
DE102006036107A1 (de) * 2006-04-11 2007-10-18 Siemens Ag Verfahren zur Ermittlung einer Aufgabenerlaubnis
DE102008062692B4 (de) * 2008-12-17 2013-11-14 Texas Instruments Deutschland Gmbh Eingebettetes Mikrocontrollersystem und Verfahren zur Konfiguration eines eingebetteten Mikrocontrollersystems mit gesteuertem Schaltmodus
JP2010204874A (ja) * 2009-03-03 2010-09-16 Nec Corp スレッド制御システム、方法及びプログラム
WO2012086288A1 (ja) * 2010-12-20 2012-06-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 例外の制御方法、システムおよびプログラム
US9710270B2 (en) 2010-12-20 2017-07-18 International Business Machines Corporation Exception control method, system, and program
US9104561B2 (en) * 2012-09-13 2015-08-11 Microsoft Technology Licensing, Llc Failure mode identification and reporting
JP6902948B2 (ja) * 2017-07-13 2021-07-14 日立Astemo株式会社 車両制御装置
EP3462312B1 (en) * 2017-09-29 2022-08-17 ARM Limited Permitting unaborted processing of transaction after exception mask update instruction
CN110399324A (zh) * 2019-06-28 2019-11-01 苏州浪潮智能科技有限公司 中断转换器及中断转换方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60128535A (ja) * 1983-12-16 1985-07-09 Nec Corp 割り込み処理装置
JPH0341520A (ja) * 1989-07-10 1991-02-22 Nec Corp 割り込み制御方式
JPH05113887A (ja) * 1991-10-22 1993-05-07 Nec Corp コンピユータシステム
JPH05224951A (ja) * 1992-02-12 1993-09-03 Fujitsu Commun Syst Ltd マイクロプロセッサ・システムの割込管理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1397438A (en) * 1971-10-27 1975-06-11 Ibm Data processing system
JPS63310029A (ja) 1987-06-11 1988-12-19 Mitsubishi Electric Corp 割込み処理システム
JP2856681B2 (ja) 1994-01-27 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 外部事象を処理する方法およびシステム
JPH08297581A (ja) 1995-02-28 1996-11-12 Nec Corp リアルタイム・オペレーティングシステムにおける割り込み管理方式
US5768599A (en) * 1995-02-28 1998-06-16 Nec Corporation Interrupt managing system for real-time operating system
DE19535546B4 (de) * 1995-09-25 2004-04-08 Siemens Ag Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems
US5995745A (en) * 1996-12-23 1999-11-30 Yodaiken; Victor J. Adding real-time support to general purpose operating systems
US6499078B1 (en) * 1999-07-19 2002-12-24 Microsoft Corporation Interrupt handler with prioritized interrupt vector generator
US6633942B1 (en) * 1999-08-12 2003-10-14 Rockwell Automation Technologies, Inc. Distributed real-time operating system providing integrated interrupt management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60128535A (ja) * 1983-12-16 1985-07-09 Nec Corp 割り込み処理装置
JPH0341520A (ja) * 1989-07-10 1991-02-22 Nec Corp 割り込み制御方式
JPH05113887A (ja) * 1991-10-22 1993-05-07 Nec Corp コンピユータシステム
JPH05224951A (ja) * 1992-02-12 1993-09-03 Fujitsu Commun Syst Ltd マイクロプロセッサ・システムの割込管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1189137A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100444594C (zh) * 2001-12-13 2008-12-17 松下电器产业株式会社 用于执行接收处理的通信装置和方法

Also Published As

Publication number Publication date
US6820155B1 (en) 2004-11-16
EP1189137A4 (en) 2006-12-13
KR100408351B1 (ko) 2003-12-03
KR20010103761A (ko) 2001-11-23
JP2001166950A (ja) 2001-06-22
AU1733301A (en) 2001-06-18
CN1340171A (zh) 2002-03-13
EP1189137A1 (en) 2002-03-20
JP3600095B2 (ja) 2004-12-08
CN1162777C (zh) 2004-08-18

Similar Documents

Publication Publication Date Title
WO2001042918A1 (fr) Procede et dispositif de gestion d'interruption
KR100746797B1 (ko) 프로세서 및 정보처리 방법
JP5323828B2 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
KR100848603B1 (ko) 데이터 처리장치와 복귀상태의 저장방법
RU2417413C2 (ru) Способ доставки прерываний в драйверы пользовательского режима
US6115778A (en) Method and apparatus for handling interrupts through the use of a vector access signal
WO2007081022A1 (ja) マルチプロセッサシステム、マルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム
JP2007047866A (ja) リアルタイム組込み簡易モニタプログラム
JP2006243864A (ja) プロセッサおよび情報処理方法
WO2006030564A1 (ja) プロセッサ
JP2003058381A (ja) プログラムによる例外処理設定を可能にしたプロセッサ
JP2001117786A (ja) プロセススケジューリング装置およびプロセススケジューリング方法
JP4057769B2 (ja) 割り込み管理装置及び割り込み管理方法
JP2001256062A (ja) 割込処理方法およびその方法を用いた演算処理装置
US7318132B2 (en) Method and apparatus for dynamically unloading file system filters
JPS6290728A (ja) 割込処理方法
JP2001229038A (ja) マルチオペレーテング計算機システム
KR20040101260A (ko) 가상 직접 메모리 액세스를 위한 방법 및 장치
JP2000235503A (ja) オペレーティングシステム及び計算機
WO2023144939A1 (ja) コンピュータ、制御方法及び制御プログラム
WO1996008948A2 (en) Method and apparatus for fast microcontroller context switching
JPH11167494A (ja) 演算処理装置、及び演算処理装置のレジスタ管理方法
JP3581723B2 (ja) 会話情報制御装置
JPS58142451A (ja) 割込制御方式
KR100455623B1 (ko) 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 00803836.8

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 1020017009918

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2000979973

Country of ref document: EP

Ref document number: 09890940

Country of ref document: US

Ref document number: IN/PCT/2001/809/KOL

Country of ref document: IN

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

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2000979973

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 1020017009918

Country of ref document: KR