专利摘要:
The present invention relates to a multi-interrupt control device and method for a sequential PCI bus for handling interrupts between a system and a host system to be connected to the PCI bus, the difficulty in interrupt processing in the prior art, and other systems In order to solve the limitations in the use of interrupts, the present invention allows a host system to process interrupts in the order of occurrence and priority through an interrupt line of one of the PCI buses. It is proposed to.
公开号:KR19980044600A
申请号:KR1019960062702
申请日:1996-12-07
公开日:1998-09-05
发明作者:민병의;이범렬;임성호;박광규;박배욱
申请人:양승택;한국전자통신연구원;
IPC主号:
专利说明:

Multiple Interrupt Controls and Methods for Sequential PCI Buses
The present invention relates to a multi-interrupt control device and method for a sequential PCI bus for handling the interruption between a host system and a system to be connected to the PCI bus.
Conventionally, a single interrupt is satisfied in a system connected to a PCI bus, but due to the miniaturization of the chip and the multifunction of the system, there are many interrupt resources in the system connected to the host bus. (Starvation) phenomenon occurs, and there is a problem that places a lot of restrictions on the performance and use of the system, such as interrupt conflicts when using with other systems.
The present invention allows a host system to process interrupts in the order of occurrence and priority via an interrupt line of one of the PCI buses through a plurality of interrupt resources in the system connected to the PCI bus, thereby reducing the local interrupt resources in the system. It is efficiently managed by interrupt queues and flags so that interrupt processing of local interrupt resources in the system can be processed in order of occurrence and priority without starvation.
1 is a block diagram showing the present invention and the peripheral relationship functional block.
Figure 2 is a block diagram of a multiple interrupt control device for the sequential PCI bus of the present invention.
3 is a control flowchart of an interrupt detector according to the present invention;
4 is a control flowchart of an interrupt queue controller according to the present invention;
5 is a control flowchart of an interrupt queue input / output controller according to the present invention.
Explanation of symbols on the main parts of the drawings
410: interrupt detector 420: interrupt flag
430: interrupt queue controller 431: queue counter
440: interrupt queue 441: queue flag
450: Interrupt queue I / O controller 460: Priority encoder
The multi-interrupt control for the sequential PCI bus of the present invention for achieving the above object is to handle a plurality of interrupt resources in the host and system connected to the PCI bus through one interrupt line of the PCI bus;
Detecting an interrupt from an interrupt detector, setting an interrupt flag, determining an interrupt priority from the flag state, requesting a queue input from an interrupt queue controller, and receiving the acknowledgment to reset the interrupt flag; Setting interrupt information in the interrupt queue, incrementing the queue counter, confirming the queue input upon receiving a queue input request, shifting the interrupt queue to the right when the queue shift request is received, and decrementing the queue counter; If it is set by checking the queue flag of the interrupt queue, the method includes requesting an interrupt from the host, transmitting the interrupt information when the interrupt information is requested from the host, and requesting a queue shift.
Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
1 is a block diagram illustrating a configuration and peripheral relationship functional block of the present invention, and illustrates a system for a PCI bus that is connected through a host system 100 and a PCI bus 110.
The system for the PCI bus is an essential element, which is composed of a PCI bus master / slave controller 200 that is responsible for data transfer over the PCI bus, and a PCI bus configuration register 300 that stores the configuration of the PCI bus. And it shows the connection state with the multiple interrupt controller 400 for the PCI bus according to the present invention.
The multi-interrupt controller 400 for the PCI bus receives local interrupts from the plurality of local interrupt resources 500 and is in charge of processing to deliver the interrupts to the host system 100 connected through the PCI bus 110. The interrupt line through the PCI bus 110 is directly connected to the multiple interrupt controller 400 and the host system 100.
The queue output request from the host system 100 indicates that it will be delivered to the multiple interrupt controller 400 via the PCI bus master / slave controller 200 which is an integral part of the system for the PCI bus.
2 is an internal block diagram of a multi-interrupt control device 400 for a sequential PCI bus of the present invention, which is largely an interrupt detector 410, an interrupt flag 420, a priority encoder 460, and an interrupt queue controller 430. , A queue counter 431, an interrupt queue 440, and an interrupt queue input / output controller 450.
The interrupt detector 410 detects interrupts from local interrupt resources (1, 2, 3, ..., n), sets 415 the corresponding interrupt flag 420, and stores the interrupt information in the interrupt queue ( A queue input request 416 is made to the interrupt queue controller 430 to shoot at 440. At this time, if multiple interrupts are detected at the same time, the priority among the multiple detected interrupts is determined by the priority encoder 460, and the queue input request 416 to the interrupt queue controller 430 sequentially according to the priority. In response to the queue input confirmation signal 417 from the interrupt queue controller 430, the operation of resetting the corresponding flag 415 is repeated as many as the interrupt request detection number.
The interrupt queue controller 430 receives the queue input request 416 from the interrupt detector 410 and the queue shift request 451 from the interrupt queue input / output controller 450 to control the interrupt queue 440. A cue counter 431 is provided for addressing. When a queue input request 416 from the interrupt detector 410 comes, it enters the interrupt queue 440 corresponding to the current queue counter 431 value, increments the queue counter, and then queues the interrupt detector 410. Sending acknowledgment 417 completes the queue input 432, shifts the interrupt queue 440 to the right when the queue shift request 451 from the interrupt queue input / output controller 450 is received, and the queue counter 431 is moved. Performs the function of reducing.
In addition, the interrupt queue input / output controller 450 searches for a queue flag 441 indicating whether the interrupt queue 440 is valid, and generates an interrupt signal to the host if it is set. When interrupt information is received from the host system 100 after an interrupt is generated, the 0th queue of the interrupt queue 440 is transmitted to the host system 100 through the PCI bus 110, and the queue is interrupted to the interrupt queue controller 430. Perform the shift request 451.
The control flow according to the present invention is divided into the control flow of the interrupt detector, the control flow of the interrupt queue controller, and the input / output control flow of the interrupt queue, and the description of each is as follows.
3 is a detection flowchart of an interrupt detector.
In the start state, it is repeatedly checked whether an interrupt is detected (S1), and when an interrupt is detected, it is first checked whether there is more than one interrupt detected (S2), and if there is one detected interrupt, the corresponding flag is set ( S3) After encoding the interrupt (S4), a queue input request 416 is made to the interrupt queue controller 430 (S5). When the queue input confirmation signal 417 is received while checking the queue input confirmation from the interrupt queue controller 430 (S6), the corresponding flag is reset and branched to the start state (S7).
However, if one or more interrupts are detected (S2), after encoding the detected interrupts by the priority encoder 460 (S8), a queue input request (S9) is made to the interrupt queue controller 430, followed by an interrupt queue. The controller 430 checks the queue input confirmation 417 (S10) and receives the queue input confirmation signal 417, and resets the corresponding flag (S11), until all detected interrupts are sequentially input to the interrupt queue. This process is performed repeatedly (S12).
4 is a flowchart illustrating a control of an interrupt queue controller, and a flowchart for managing an interrupt queue by receiving input from an interrupt detector and an interrupt queue input / output controller.
In the start state, it is checked whether there is a queue shift request 451 from the interrupt queue input / output controller 450 (S13). If there is a queue shift request, the interrupt queue is shifted to the right (S14), the queue counter is decremented by one (S15), and branched to the start state. If there is no queue shift request, the interrupt detector 410 checks whether there is a queue input request 416 (S16), and if not, branches to an initial state. If there is a queue shift request, it reads the count value from the queue counter 431 to check if the queue is empty, and if the queue is empty, interrupts the queue queue from the priority encoder 460 to the queue according to this value. Information is controlled to be written (S18), the queue counter 431 is incremented by one (S19), the cue input confirmation signal 417 is sent to the interrupt detector 410, and then branches to the initial state.
5 is an input / output control flowchart of an interrupt queue.
In the start state, the interrupt queue input / output controller 450 checks the interrupt queue flag 441 and sets it (S20), generates an interrupt signal to the host (S21), and receives an interrupt information request from the host (S22). The interrupt information is read from the interrupt information to the host (S23), and a queue shift request (S24) is made to the interrupt queue controller.
As described above, the present invention processes a plurality of interrupt resources in a system connected to a PCI bus through one interrupt line of the PCI bus, thereby facilitating the use of a host system because other systems can use interrupt convenience and limited interrupt resources. Can be promoted.
In addition, interrupts are processed in the order of interrupt occurrence and priority interrupts are processed first, so it is easy for multimedia processing, efficient use of system support, and access to the host using queue flags. ) Can be reduced.
权利要求:
Claims (5)
[1" claim-type="Currently amended] To treat a host system connected to a PCI bus and multiple local interrupt resources in the system as one interrupt line on the PCI bus,
Interrupt detection means for detecting interrupt information detected from the plurality of local interrupt resources to control a corresponding interrupt flag, requesting a queue input according to an interrupt priority, and receiving a queue input confirmation signal to control the corresponding flag;
An interrupt flag indicating a plurality of interrupt states according to flag control of the interrupt detecting means;
Priority determining means for determining the priority of the plurality of input interrupt information according to the enable signal of the interrupt detecting means;
Interrupt queue control means for receiving an queue input request signal and a queue shift request signal to control an interrupt queue;
An interrupt queue inputted according to the control of the interrupt queue control means and outputted according to a priority determined by the priority determining means;
Checks the validity of the interrupt queue, generates an interrupt signal to the host system, receives the interrupt information request signal from the host system, transmits the interrupt queue information to the host system through the PCI bus, and requests a queue shift to the interrupt queue control means. Multi-interrupt control device for the sequential PCI bus, characterized in that consisting of interrupt queue input and output control means.
[2" claim-type="Currently amended] The method of claim 1, wherein the priority determining means
Multiple interrupt control device for sequential PCI bus, characterized by the use of an encoder.
[3" claim-type="Currently amended] The method of claim 1, wherein the interrupt queue control means
In order to address a queue, a sequential PCI counter is provided with a queue counter which increases with the queue input request signal from the interrupt detection means and decreases with this queue shift request signal from the interrupt queue input and output control means. Multiple interrupt control unit for the bus.
[4" claim-type="Currently amended] The method of claim 1, wherein the interrupt queue is
A multi-interrupt control device for a sequential PCI bus, comprising: a queue flag indicating whether the interrupt queue is valid.
[5" claim-type="Currently amended] An interrupt detector, an interrupt queue controller, a priority encoder, and an interrupt queue input / output controller,
To handle multiple interrupt resources in the host and system connected to the PCI bus through one interrupt line in the PCI bus,
A first step of detecting an interrupt from an interrupt detector to set an interrupt flag and determining an interrupt priority from the flag state, requesting a cue input from an interrupt queue controller, acknowledging the reset flag, and resetting the interrupt flag;
A second step of setting interrupt information in an interrupt queue, increasing a queue counter and confirming a queue input upon receiving the queue input request, shifting the interrupt queue to the right and decreasing the queue counter upon receiving a queue shift request;
The third interrupt control apparatus for the sequential PCI bus, comprising: a third process of requesting an interrupt to the host if the queue flag of the interrupt queue is set and transmitting the interrupt information to the host when the interrupt information is requested from the host; .
类似技术:
公开号 | 公开日 | 专利标题
US5701495A|1997-12-23|Scalable system interrupt structure for a multi-processing system
KR920010916B1|1992-12-24|Multiprocessor level change synchronization apparatus
EP0870239B1|2003-04-16|Burst-broadcasting on a peripheral component interconnect bus
US5557744A|1996-09-17|Multiprocessor system including a transfer queue and an interrupt processing unit for controlling data transfer between a plurality of processors
US4363094A|1982-12-07|Communications processor
EP0241129B1|1995-09-13|Addressing arrangement for a RAM buffer controller
US4969120A|1990-11-06|Data processing system for time shared access to a time slotted bus
DE3546683C3|2003-10-09|Method for operating a data processing system
US4519028A|1985-05-21|CPU with multi-stage mode register for defining CPU operating environment including charging its communications protocol
US4138732A|1979-02-06|Data transfer control system
US4096569A|1978-06-20|Data processing system having distributed priority network with logic for deactivating information transfer requests
US4942515A|1990-07-17|Serial communications controller with FIFO register for storing supplemental data and counter for counting number of words within each transferred frame
KR960012686B1|1996-09-24|Inter processor communication protocol
US6154793A|2000-11-28|DMA with dynamically assigned channels, flexible block boundary notification and recording, type code checking and updating, commands, and status reporting
DE3300262C2|1990-07-26|
CA1111924A|1981-11-03|Input/output interface logic for concurrent operations
US5535341A|1996-07-09|Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
EP0166272B1|1992-01-15|Processor bus access
US4674033A|1987-06-16|Multiprocessor system having a shared memory for enhanced interprocessor communication
US4999769A|1991-03-12|System with plural clocks for bidirectional information exchange between DMA controller and I/O devices via DMA bus
US4494190A|1985-01-15|FIFO buffer to cache memory
US5404548A|1995-04-04|Data transfer control system transferring command data and status with identifying code for the type of information
KR0167818B1|1999-01-15|Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
US7478186B1|2009-01-13|Interrupt coalescer for DMA channel
US6836812B2|2004-12-28|Sequencing method and bridging system for accessing shared system resources
同族专利:
公开号 | 公开日
KR100199021B1|1999-06-15|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
1996-12-07|Application filed by 양승택, 한국전자통신연구원
1996-12-07|Priority to KR1019960062702A
1998-09-05|Publication of KR19980044600A
1999-06-15|Application granted
1999-06-15|Publication of KR100199021B1
优先权:
申请号 | 申请日 | 专利标题
KR1019960062702A|KR100199021B1|1996-12-07|1996-12-07|A multi-interrupt control device and method by interrupt order on pci bus|
[返回顶部]