WO2001042918A1 - Procede et dispositif de gestion d'interruption - Google Patents
Procede et dispositif de gestion d'interruption Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 47
- 238000012545 processing Methods 0.000 claims description 321
- 238000007726 management method Methods 0.000 claims description 129
- 230000008569 process Effects 0.000 claims description 33
- 230000007704 transition Effects 0.000 claims description 13
- 238000011084 recovery Methods 0.000 claims description 4
- 238000010295 mobile communication Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 230000000873 masking effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 18
- 230000007246 mechanism Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 5
- 101100444028 Drosophila melanogaster Dso2 gene Proteins 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 101100532687 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IRR1 gene Proteins 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task 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
Claims
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100444594C (zh) * | 2001-12-13 | 2008-12-17 | 松下电器产业株式会社 | 用于执行接收处理的通信装置和方法 |
Families Citing this family (29)
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)
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)
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 |
-
1999
- 1999-12-07 JP JP34729499A patent/JP3600095B2/ja not_active Expired - Fee Related
-
2000
- 2000-12-07 WO PCT/JP2000/008661 patent/WO2001042918A1/ja active IP Right Grant
- 2000-12-07 US US09/890,940 patent/US6820155B1/en not_active Expired - Fee Related
- 2000-12-07 CN CNB008038368A patent/CN1162777C/zh not_active Expired - Fee Related
- 2000-12-07 EP EP00979973A patent/EP1189137A4/en not_active Withdrawn
- 2000-12-07 AU AU17333/01A patent/AU1733301A/en not_active Abandoned
- 2000-12-07 KR KR10-2001-7009918A patent/KR100408351B1/ko not_active IP Right Cessation
Patent Citations (4)
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)
Title |
---|
See also references of EP1189137A4 * |
Cited By (1)
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 |