KR100856259B1 - Apparatus and method for providing redundancy in the processor board using programmable logic device with interrupt - Google Patents

Apparatus and method for providing redundancy in the processor board using programmable logic device with interrupt Download PDF

Info

Publication number
KR100856259B1
KR100856259B1 KR1020010040141A KR20010040141A KR100856259B1 KR 100856259 B1 KR100856259 B1 KR 100856259B1 KR 1020010040141 A KR1020010040141 A KR 1020010040141A KR 20010040141 A KR20010040141 A KR 20010040141A KR 100856259 B1 KR100856259 B1 KR 100856259B1
Authority
KR
South Korea
Prior art keywords
processor
processor board
board
interrupt
redundancy
Prior art date
Application number
KR1020010040141A
Other languages
Korean (ko)
Other versions
KR20030004604A (en
Inventor
정태환
Original Assignee
삼성전자주식회사
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020010040141A priority Critical patent/KR100856259B1/en
Publication of KR20030004604A publication Critical patent/KR20030004604A/en
Application granted granted Critical
Publication of KR100856259B1 publication Critical patent/KR100856259B1/en

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

가. 청구 범위에 기재된 발명이 속한 기술 분야 : 프로세서 보드 이중화 구현을 위한 장치 및 방법에 관한 것이다.

나. 발명이 해결하고자 하는 기술적 과제 : 인터럽트를 이용해 제 1프로세서 보드뿐만 아니라 제 2프로세서 보드에 인터럽트 소스를 전달하는 PLD가 존재하여 이중화 구현이 가능한 장치 및 방법을 제공한다.

다. 발명의 해결방법의 요지 : 본 발명은 인터럽트를 이용하여 프로세서 보드의 이중화 구현을 위한 방법으로서, 두 보드가 실장되어 이중화 준비 완료에 들어가는 과정과, 먼저 실장되는 보드가 활성 동작을 시작하는 과정과, 발생된 사건이 백플레인을 통해 대기 상태의 제 2프로세서 보드에 전달되는 과정과, 상기 활성 동작 후 인터럽트 제어 로직이 발생된 사건의 IRQ를 프로세서에 전달하는 과정과, 상기 프로세서가 PLD내의 레지스터 값을 읽어 들여 어떤 사건이 발생하였는지 감지하는 과정과, 상기 판단 과정 후 프로세서가 각 비트별로 ISR을 수행하고 이중화 절체되어 활성 보드가 대기 상태로 동작하는 과정으로 이루어짐을 특징으로 한다.

라. 발명의 중요한 용도 : 인터럽트를 이용해 프로세서 보드를 이중화할 경우 적용된다.

Figure R1020010040141

인터럽트, 프로세서, PLD, PLD 레지스터, ISR, 백플레인, 파워 리세트,

end. FIELD OF THE INVENTION The present invention relates to an apparatus and method for implementing processor board redundancy.

I. The present invention provides an apparatus and method for implementing redundancy by providing an PLD that delivers an interrupt source to not only the first processor board but also the second processor board using interrupts.

All. Summary of the Invention The present invention provides a method for implementing redundancy of a processor board using interrupts, the process in which two boards are mounted and ready for redundancy, a process in which a board mounted first starts an active operation, Passing the generated event to the standby second processor board through the backplane, passing the IRQ of the generated event to the processor after the active operation, and the processor reads a register value in the PLD. It is characterized in that it consists of a process of detecting what happened, and after the determination process, the processor performs the ISR for each bit and is redundantly switched to operate the active board in a standby state.

la. Important use of the invention: Applied to redundancy of processor boards using interrupts.

Figure R1020010040141

Interrupts, processors, PLDs, PLD registers, ISRs, backplanes, power resets,

Description

인터럽트를 수행하는 프로그래머블 로직 다바이스와 이를 이용한 프로세서 보드 이중화 장치 및 방법{APPARATUS AND METHOD FOR PROVIDING REDUNDANCY IN THE PROCESSOR BOARD USING PROGRAMMABLE LOGIC DEVICE WITH INTERRUPT}  Programmable logic devices that perform interrupts and processor board redundancy devices and methods using the same {APPARATUS AND METHOD FOR PROVIDING REDUNDANCY IN THE PROCESSOR BOARD USING PROGRAMMABLE LOGIC DEVICE WITH INTERRUPT}             

도 1은 인터럽트 방식의 프로세서를 위한 통상적인 인터럽트 제어 방식의구성도  1 is a block diagram of a conventional interrupt control scheme for an interrupt processor.

도 2는 본 발명의 일 실시에 따른 인터럽트를 수행하는 프로세서 보드 이중화 구현의 구성도이다. 2 is a block diagram of a processor board redundancy implementation for performing an interrupt according to an embodiment of the present invention.

도 3은 도 2에 도시된 프로그래머블 로직 디바이스의 내부 로직 구성도 3 is an internal logic diagram of the programmable logic device shown in FIG.

도 4는 도 3에 도시된 PLD 내부의 레지스터 번지 비트에 대한 일 예도 4 is an example diagram of a register address bit inside the PLD shown in FIG.

도 5는 본 발명의 실시에 따른 이중화 구현 처리 흐름도
5 is a redundant implementation process flow diagram according to an embodiment of the present invention.

본 발명은 프로세서 보드의 이중화 구현에 관한 것으로서, 특히 하나의 인터럽트를 이용하여 프로그래머블 로직 디바이스(Programmable Logic Device : 이하 "PLD"라 함)내에 있는 레지스터 값을 프로세서가 읽어 들여 이중화 시키는 장치 및 방법에 관한 것이다. The present invention relates to a redundant implementation of a processor board, and more particularly, to an apparatus and method for a processor to read and duplicate a register value in a programmable logic device (hereinafter referred to as "PLD") using one interrupt. will be.

통상적인 인터럽트 이용은 인터럽트 요구 제어기를 사용하는데, 인터럽트 요구 제어기는 인터럽트 소스를 하나의 프로세서에 전달하는 기능을 구비하고있다. 이러한 기능을 구현하기 위해서 프로세서는 별도의 프로세서 인터페이스 로직을 사용한 로컬버스를 통해 인터럽트 제어기와 연결되어 있다.  Typical interrupt usage uses an interrupt request controller, which has the ability to deliver an interrupt source to one processor. To implement this functionality, the processor is connected to the interrupt controller via a local bus using separate processor interface logic.

도 1을 참조하면, 종래의 인터럽트 제어 장치에서 인터럽트 요구 제어기(120)는 외부에서 입력되는 인터럽트 요구 신호(140)를 일시적으로 저장하고, 프로세서가 읽기 및 쓰기 기능을 수행할 수 있는 인터럽트 제어 레지스터(121)를 포함한다. 상기 인터럽트 요구 제어기(120)는 프로세서 외부의 인터럽트 신호를 프로세서(100)에게 알려 주는 기능을 수행하며, 로컬 버스(141)를 통해 프로세서 인터페이스(110)와 연결된다. 인터럽트 요구 제어기(120)는 인터럽트 신호의 구동 및 철회를 제어하기 위하여 인터럽트 제어 레지스터(121)를 내장하고 있으며, 인터럽트 제어 레지스터는 인터럽트 제어와 관련된 정보를 포함하고 있다. 상기 프로세서 인터페이스(110)는 프로세서와 인터럽트 요구 제어기 사이의 인터페이스 역할을 수행하는 제어 회로로서 프로세서 외부버스(142)를 통하여 프로세서(100)와 연결되고, 로컬 버스(141)를 통하여 인터럽트 요구 제어기와 연결되어 있다. 이하 처리 흐름에 대해 설명하면 하기와 같다.  Referring to FIG. 1, in the conventional interrupt control apparatus, the interrupt request controller 120 temporarily stores an interrupt request signal 140 that is externally input, and an interrupt control register (which allows a processor to perform a read and write function). 121). The interrupt request controller 120 notifies the processor 100 of an interrupt signal external to the processor, and is connected to the processor interface 110 through the local bus 141. The interrupt request controller 120 includes an interrupt control register 121 to control driving and withdrawal of the interrupt signal, and the interrupt control register includes information related to interrupt control. The processor interface 110 is a control circuit that serves as an interface between the processor and the interrupt request controller. The processor interface 110 is connected to the processor 100 through the processor external bus 142 and to the interrupt request controller through the local bus 141. It is. Hereinafter, the processing flow will be described.

상기 인터럽트 제어 레지스터에는 외부에서 입력되는 인터럽트 요구 신호(140)를 사건에 따라 비트별로 저장하는 요구 비트열과(도시하지 않음), 상기 요구 비트열에 셋팅된 비트로서 프로세서로 전달하는 비트열인 구동 비트열(도시하지 않음)을 포함한다. 다음으로, 프로세서는 상기 인터럽트 제어 레지스터에 요구 비트열이 셋팅되었는지 여부를 판단한다. 판단 결과 요구 비트열이 셋팅되어 있으면, 인터럽트 제어 레지스터의 구동 비트열을 셋팅하고, 인터럽트 요구 제어기는 프로세서에 인터럽트 요구 신호를 전송한다. 인터럽트 요구 제어기는 상기 프로세서에서 요구한 인터럽트의 유형을 인터럽트 응답 제어기(130)에 전송한다. 인터럽트 응답 제어기로부터 인터럽트 응답 완료 신호(131)가 수신되면, 처리흐름은 다시 인터럽트 제어 레지스터의 요구 비트열 셋팅 여부를 판단하는 시작단계로 복귀하게 된다.  The interrupt control register includes a request bit stream (not shown) for storing the interrupt request signal 140 input externally for each bit according to an event (not shown), and a bit stream transmitted to the processor as bits set in the request bit stream. (Not shown). Next, the processor determines whether a request bit string is set in the interrupt control register. If the request bit string is set as a result of the determination, the driving bit string of the interrupt control register is set, and the interrupt request controller sends an interrupt request signal to the processor. The interrupt request controller transmits the type of interrupt requested by the processor to the interrupt response controller 130. When the interrupt response complete signal 131 is received from the interrupt response controller, the process returns to the start step of determining whether to set the request bit string in the interrupt control register.

상기한 바와 같이 통상적인 인터럽트 제어방식은 인터럽트 제어기가 인터럽트 신호를 오직 하나의 프로세서에게만 전달하므로 이중화 구현이 불가능하며, 프로세서는 별도의 프로세서 인터페이스를 사용하여 로컬 버스를 통해 인터럽트 제어기와 연결되므로 시스템의 성능 효율을 떨어뜨리는 문제점이 있었다.
As described above, the conventional interrupt control method is impossible to implement redundancy since the interrupt controller transmits the interrupt signal to only one processor, and the processor is connected to the interrupt controller through the local bus using a separate processor interface, thereby improving system performance. There was a problem of decreasing efficiency.

따라서 본 발명의 목적은 종래 기술의 문제점을 해결하기 위하여 프로세서가 프로세서 버스를 통해 직접 인터럽트 신호를 억세스하여 레지스터를 읽고 쓰며, 제 1프로세서 보드뿐만 아니라 제 2프로세서 보드에 인터럽트 신호를 전달하는 로직이 존재하여 이중화 구현을 제공함에 있다. Accordingly, an object of the present invention is to solve the problems of the prior art, the processor accesses the interrupt signal directly through the processor bus to read and write the register, there is logic to transfer the interrupt signal to the second processor board as well as the first processor board. To provide a redundant implementation.

이를 위하여 본 발명은 동일한 구성을 갖는 두개의 보드로 이루어져 있으 며, 상기 두개의 보드 각각은 PLD와, PLD내의 레지스터를 읽고 쓰는 프로세서와, 상기 프로세서를 초기화 시키는 파워 리세트(Power Reset) 회로와, 이중화 구현 중 이상 상태 발생시 상대 보드의 프로세서를 강제적으로 재부팅시키는데 연결되어 있는 앤드게이트(AND Gate)로 이루어져 있으며, 상기 두 보드는 발생된 인터럽트 신호를 전달하는 백플레인(Back plane)으로 연결되는 것을 특징으로 한다.
To this end, the present invention consists of two boards having the same configuration, each of which comprises a PLD, a processor for reading and writing a register in the PLD, a power reset circuit for initializing the processor, It consists of an AND gate which is connected to forcibly rebooting the processor of the partner board when an abnormal state occurs during the redundancy implementation, and the two boards are connected by a back plane which transfers the generated interrupt signal. do.

이하 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 그리고 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. First, in adding reference numerals to the components of each drawing, it should be noted that the same reference numerals have the same reference numerals as much as possible even if displayed on different drawings. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

도 2는 본 발명의 일 실시에 따른 인터럽트를 수행하는 프로세서 보드 이중화 구현을 도시한 것이다. 상기 도 2를 참조하면, 본 발명의 일 실시에 대한 프로세서 보드 이중화 장치는 제 1프로세서 보드(활성동작 상태에 있는 보드를 이하 "제 1프로세서 보드"라 함)와 제 2프로세서 보드(대기 동작 상태에 있는 보드를 이하 "제 2프로세서 보드"라 함)로 이루어져 있으며, 상기 두개의 보드 각각은 프로세서와 PLD를 내장하고 있으며, 시스템의 안정성과 서비스의 연속성을 위한 이중화 구현을 위해 백 플레인(220)에 연속으로 나란히 실장되어 있다. 여기서 백 플레인 이란 컴퓨터의 마더보드와 같은 시스템의 한 부분, 또는 그 자체라고 할 수 있다. 즉 양 보드 PLD간의 인터럽트 신호(221)를 전달하는 커넥터 역할을 수행한다. 이하 편의상 보드 (200)을 제 1프로세서 보드, 보드 (210)을 제 2프로세서 보드로 하여 설명하기로 한다.  Figure 2 illustrates a processor board redundancy implementation for performing interrupts in accordance with one embodiment of the present invention. Referring to FIG. 2, a processor board redundancy apparatus according to an embodiment of the present invention includes a first processor board (hereinafter, referred to as a "first processor board") and a second processor board (standby operating state). The boards of the present invention are hereinafter referred to as "second processor boards", each of which includes a processor and a PLD, and a backplane 220 for redundancy for system stability and service continuity. It is mounted side by side in succession. Backplane here is a part of a system, such as a computer's motherboard, or itself. In other words, it serves as a connector for transmitting the interrupt signal 221 between the two board PLD. Hereinafter, for convenience, the board 200 will be described with the first processor board and the board 210 as the second processor board.

PLD(202, 212)는 제 1프로세서 보드(200)와 제 2프로세서 보드(210)에 각각 내장되어 레지스터 구현 및 인터럽트 제어로직, 글리치 제거 로직의 구현이 가능한 프로그램 로직 디바이스를 의미한다. 파워 리세트 회로(203, 213)는 파워가 들어온 뒤 일정시간 동안 로우 상태로 되어 프로세서(201, 211)를 초기화하여 구동할 수 있는 디바이스다. 앤드게이트(204, 214)는 둘 또는 그 이상의 입력에 하나의 출력을 갖는데, 입력 모두가 1일 때만 출력도 1인 결과를 갖는 논리곱 연산 기능을 수행하는 회로다. 이때, 상기 제 1프로세서 보드(200)의 앤드게이트(204)에는 제 1프로세서 보드(200)의 파워 리세트 신호(207)와 제 2프로세서 보드(210)에 연결된 신호(206)가 같이 연결되어 있다. 이중화 구현 중 이상 상태가 발생하여 제 1프로세서 보드가 정상 상태가 아닐 때, 제 2프로세서 보드의 프로세서(211)는 상기 제 1프로세서 보드의 앤드게이트(204)를 통해 제 1프로세서 보드에 연결되어 있는 신호(206)에 일정시간 로우 값을 동작하게 하게 할 수 있다. 그 결과 앤드게이트(204)는 하드웨어적으로 제 1프로세서 보드의 프로세서를 파워 리세트 시키는 것과 동일한 출력을 얻기 때문에, 결국 앤드게이트(204)를 통해 제 2프로세서 보드에서 제 1프로세서 보드의 프로세서 파워 리세트가 가능하다. 푸시 스위치(Push switch)(205, 215)는 일반적으로 사용하는 버튼식 스위치를 의미한다.  The PLDs 202 and 212 refer to program logic devices embedded in the first processor board 200 and the second processor board 210 to implement register implementation, interrupt control logic, and glitch elimination logic. The power reset circuits 203 and 213 are in a low state for a predetermined time after power is turned on, and are the devices capable of initializing and driving the processors 201 and 211. The AND gates 204 and 214 have one output at two or more inputs, and are circuits for performing the AND function with the result that the output is also only when both inputs are one. In this case, the power reset signal 207 of the first processor board 200 and the signal 206 connected to the second processor board 210 are connected to the AND gate 204 of the first processor board 200 together. have. When an abnormal state occurs during the redundancy implementation and the first processor board is not in a normal state, the processor 211 of the second processor board is connected to the first processor board through the end gate 204 of the first processor board. The signal 206 can be made to operate a low value for some time. As a result, the endgate 204 obtains the same output in hardware as the power reset of the processor of the first processor board, so the endgate 204 eventually returns the processor power of the first processor board from the second processor board. Set is possible. Push switches 205 and 215 refer to button switches generally used.                     

도 3은 제 1프로세서 보드의 PLD(202) 내부 로직 구성을 나타내는 것으로, 상기 프로세서 보드에서 사용되는 PLD(202)는 PLD 내부의 인터럽트 제어로직(301)과, 프로세서의 읽고 쓰기가 가능한 레지스터(302) 및 이중화시 제 2프로세서 보드에서 전달되는 신호(305)의 잡음이나 글리치를 제거하는 글리치 제거 로직(303)으로 구성되어 있다. 이하 각 구성을 일 실시에 따른 인터럽트 수행과 설명하면 하기와 같다. 3 illustrates an internal logic configuration of the PLD 202 of the first processor board. The PLD 202 used in the processor board includes an interrupt control logic 301 inside the PLD and a register 302 capable of reading and writing the processor. And glitch rejection logic 303 that removes noise or glitch of the signal 305 transmitted from the second processor board during redundancy. Hereinafter, each configuration will be described with reference to performing interrupts according to an exemplary embodiment.

인터럽트 제어 로직(301)은 이미 설정된 레지스터의 해당 비트가 인터럽트 소스에 의해 1에서 0으로 바뀌면 프로세서에 인터럽트 리퀘스트(Inerrupt Request : 이하 "IRQ"라 함)를 전달한다. PLD 내부의 레지스터(302)는 인터럽트 소스를 나타내며 8비트로 구현되어 있고, 이미 인터럽트 할당이 레지스터에 설정되어 있다. 제 1프로세서 보드에서 발생된 인터럽트 신호(304)는 바로 PLD 내부의 레지스터(302)로 전달되고, 제 2프로세서 보드로부터 전달된 인터럽트 신호(305)는 글리치 제거 로직(303)을 거쳐 PLD 내부의 레지스터(304)로 전달된다. 이때 제 1프로세서 보드에서 발생하는 인터럽트 신호(304)를 제 2프로세서 보드에 보낼 때는 글리치 제거 로직없이 직접 전달(306)되며, 제 2프로세서 보드에서 전달되는 인터럽트 신호(305)는 글리치 제거 로직(303)을 거치게 된다. 상기 글리치 제거 로직(303)에서 글리치란 논리회로가 잡음 등에 의해 타이밍에서 벗어나 오동작 하는 것을 의미한다. 글리치 제거 로직은 카운터로 구현된 로직을 이용하여 탈실장시 발생하는 글리치를 피해 본래 인터럽트 신호를 레지스터에 전달 할 수 있도록 구성되어 있다. 이를 이용하여 탈실장시 발생할 수 있는 이상 신호를 피해 안정된 본 소스를 레지스터에 전달 할 수 있다. 도 4를 참조하여 PLD 내부의 한 레지스터 번지 비트를 사건별로 상세히 설명하면 하기와 같다 The interrupt control logic 301 sends an interrupt request (hereinafter referred to as "IRQ") to the processor when the corresponding bit of the register already set is changed from 1 to 0 by the interrupt source. The register 302 inside the PLD represents an interrupt source and is implemented with 8 bits, and the interrupt assignment is already set in the register. The interrupt signal 304 generated by the first processor board is directly transmitted to the register 302 inside the PLD, and the interrupt signal 305 transmitted from the second processor board is passed through the glitch elimination logic 303 to register within the PLD. Is passed to 304. In this case, when the interrupt signal 304 generated from the first processor board is sent to the second processor board, the signal is directly transmitted 306 without the glitch elimination logic, and the interrupt signal 305 transmitted from the second processor board is the glitch elimination logic 303. ). In the glitch removal logic 303, the glitch means a logic circuit malfunctioning due to noise or the like. The glitch elimination logic is configured to deliver the original interrupt signal to the register by avoiding the glitch that occurs during unmounting using logic implemented as a counter. By using this, a stable main source can be delivered to a register avoiding an abnormal signal that may occur when unmounting. A register address bit in the PLD will be described in detail with reference to FIG. 4 as follows.

프로세서는 보드를 초기화 시켜 인터럽트 레지스터를 동작할 수 있게 하고, 정상 동작시 설정된 레지스터의 각 비트는 1이고 사건 발생시 0이 된다. 마스킹 비트가 하이 값인 1일 때에 레지스터는 동작을 하지 않고, 마스킹 비트가 로우 값인 0일 때에만 레지스터는 동작을 한다. 제 1프로세서 보드(200)의 탈장 사건 발생시 비트 6는 1에서 0으로 되며, 프로세서는 인터럽트 제어로직에 IRQ를 요청한다. 그리고 프로세서는 인터럽트 서비스 루틴(Interrupt Service Routine : 이하 "ISR"이라 함) 처리에 들어가고, ISR 마지막에 상기 해당 비트 6를 0에서 1로 쓴다. 제 2프로세서 보드(210)의 탈장 사건 발생시 비트 5는 1에서 0으로 되며, 인터럽트 제어 로직은 프로세서에 IRQ를 전달한다. 프로세서는 ISR을 수행하고, ISR 마지막에 상기 해당 비트 5를 0에서 1로 쓴다. 맨 머신 인터페이스(Man Machine Interface : 이하 "MMI"라 함) Reset은 소프트웨어적으로 강제적인 리셋을 의미한다. 소프트웨어 명령어에 의해 제 1프로세서 보드에서 MMI Reset 사건 발생시, 제 1프로세서 보드는 사건 발생을 알기 때문에 제 2프로세서 보드에게만 해당 비트를 전달하면 된다. 그래서 제 2프로세서 보드의 MMI Reset을 나타내는 해당 비트 4는 1에서 0으로 되며, 프로세서는 인터럽트 제어로직에 IRQ를 요청하고 IRQ 신호가 전달되면 해당 비트에 대한 ISR을 수행한다. ISR 수행 마지막에 프로세서는 상기 비트 4를 0에서 1로 쓴다. 제 2프로세서 보드도 상기 인터럽트 신호가 전달(306)되어 똑같은 동작을 한다. 제 1프로세서 보드의 Push switch(205)에 의한 사건 발생시 비트 3은 1 에서 0으로 되며, 인터럽트 제어로직에 의해 프로세서에 IRQ 신호가 전달되고, 프로세서는 ISR을 수행한다. 상기의 ISR 수행 마지막에 프로세서는 해당 비트 3을 0에서 1로 쓴다. 상기 제 1프로세서 보드의 Push switch(205)에 의해 발생된 인터럽트 신호는 제 2프로세서 보드에 전달(306)되고, 프로세서는 제 2프로세서 보드의 Push switch Reset을 인식하여 비트 2를 1에서 0으로 만든다. 그리고 인터럽트 제어 로직에 의해 프로세서에 IRQ 신호가 전달되면, 프로세서는 ISR을 수행한다. ISR 마지막에 프로세서는 해당 비트 2를 0에서 1로 쓴다. 나머지 비트 1과 비트 0은 따로 남겨 둬서 다른 소스를 전달할 수 있다.  The processor initializes the board to enable the interrupt register. In normal operation, each bit of the set register is 1 and becomes 0 when an event occurs. The register does not operate when the masking bit is a high value of 1, and the register operates only when the masking bit is a low value of zero. Bit 6 goes from 1 to 0 when a hernia event occurs in the first processor board 200, and the processor requests an IRQ from the interrupt control logic. The processor then enters the Interrupt Service Routine (hereinafter referred to as "ISR") processing and writes the corresponding bit 6 from 0 to 1 at the end of the ISR. Bit 5 goes from 1 to 0 when a hernia event of the second processor board 210 occurs, and the interrupt control logic delivers an IRQ to the processor. The processor performs an ISR and writes the corresponding bit 5 from 0 to 1 at the end of the ISR. Man Machine Interface (hereinafter referred to as "MMI") Reset refers to a software forced reset. When an MMI Reset event occurs in a first processor board by a software instruction, the first processor board knows that an event has occurred, and therefore, only the second processor board needs to transfer the corresponding bit. Thus, the corresponding bit 4 representing the MMI Reset of the second processor board goes from 1 to 0, and the processor requests an IRQ from the interrupt control logic and performs an ISR for the corresponding bit when an IRQ signal is transmitted. At the end of the ISR, the processor writes bit 4 from 0 to 1. The second processor board also performs the same operation with the interrupt signal transmitted 306. When an event occurs by the push switch 205 of the first processor board, bit 3 becomes 1 to 0, an IRQ signal is transmitted to the processor by interrupt control logic, and the processor performs ISR. At the end of the ISR, the processor writes the corresponding bit 3 from 0 to 1. The interrupt signal generated by the push switch 205 of the first processor board is passed 306 to the second processor board, and the processor recognizes the push switch reset of the second processor board to make bit 2 from 1 to 0. . When the IRQ signal is transmitted to the processor by the interrupt control logic, the processor performs the ISR. At the end of the ISR, the processor writes the corresponding bit 2 from 0 to 1. The remaining bits 1 and 0 can be left separate to deliver other sources.

도 5는 본 발명의 일 실시에 따른 이중화 구현 처리 흐름도를 도시한 것이다. 상기 도 5를 참조하면, 본 발명의 제 1프로세서 보드(200)와 제 2프로세서 보드(210)가 다 실장되면, 양 보드는 소프트웨어적으로 필요한 데이터를 서로간의 내부 프로세서 통신 채널로 주고 받아 이중화 준비 단계(500)에 들어간다. 그중 먼저 실장되는 보드가 활성(510)되고, 나중에 실장되는 보드가 대기 상태(520)로 동작한다. 활성된 제 1프로세서 보드는 시스템의 정상 동작을 수행하는데, 프로세서는 보드 초기화시 해당 번지를 읽어 들이고 마스크 비트를 로우값으로 설정하여 인터럽트 레지스터를 동작할 수 있게 한다. 정상 동작시 해당 비트 각각은 1이고, 사건 발생 단계(511)시 0이 된다. 각 사건은 백 플레인에 연결된 선(221)을 통해 제 2프로세서 보드에 전달된다. 이하 활성된 제 1프로세서 보드를 중심으로 설명한다.  5 is a flowchart illustrating a redundancy implementation process according to an embodiment of the present invention. Referring to FIG. 5, when both the first processor board 200 and the second processor board 210 of the present invention are mounted, both boards transmit and receive data required by software through internal processor communication channels to prepare for redundancy. Enter step 500. The board mounted first is activated 510, and the board mounted later operates in the standby state 520. The activated first processor board performs the normal operation of the system. The processor reads the address at board initialization and sets the mask bit to a low value to enable the interrupt register. Each bit is 1 in normal operation and 0 in the event occurrence step 511. Each event is communicated to the second processor board via a line 221 connected to the backplane. Hereinafter, the active first processor board will be described.

발생된 사건이 감지되면, 인터럽트 소스에 의해 이미 설정된 레지스터의 해당 사건 비트가 하이 값인 1에서 로우 값인 0으로 바뀐다(512). 그리고 인터럽트 제어 로직(301)은 프로세서에 IRQ를 전달하는 단계(513)로 넘어간다. 상기의 IRQ가 전달되면, 프로세서는 제 1프로세서 보드 및 제 2프로세서 보드 모두의 해당 번지를 읽어 들여 이중화 소스 중 어느 비트가 사건을 발생하였는지 판단(514)한다. 판단 후 프로세서는 각 비트별 ISR 수행 단계(515)에 들어간다. 이때 소프트웨어는 시스템 구성에 맞게 할당된 이중화 소스에 의해 처리할 각기 다른 ISR을 갖고, ISR은 각 비트별로 다르게 동작한다. 프로세서는 ISR 수행후 ISR 마지막 단계에서 PLD 레지스터 번지의 해당 인터럽트 비트를 다시 1로 쓰기하여 IRQ를 반전 시킨다(516). 이로써 프로세서는 다음 사건에 사용할 수 있는 준비를 하고 IRQ를 철수 시킨다(517). 이때 ISR 마지막 단계에서 이중화 절체가 되어지고, 절체가 되면 활성 보드는 탈장을 제외하고는 부팅 후 대기 상태로 동작(518)하고, 대기 상태 보드는 활성 보드로 동작(528)한다. 그리고 탈장 절체시 (501)단계는 수행되지 않는다.
When a generated event is detected, the corresponding event bit of the register already set by the interrupt source is changed from 1, which is a high value, to 0, which is a low value. Interrupt control logic 301 then passes to step 513 of delivering an IRQ to the processor. When the IRQ is transmitted, the processor reads the corresponding addresses of both the first processor board and the second processor board to determine 514 which bit of the redundant source has caused the event. After the determination, the processor enters an ISR execution step 515 for each bit. In this case, the software has different ISRs to be processed by the redundant source allocated to the system configuration, and the ISR operates differently for each bit. After performing the ISR, the processor inverts the IRQ by writing the corresponding interrupt bit of the PLD register address back to 1 at the end of the ISR (516). The processor then prepares for the next event and withdraws the IRQ (517). In this case, a redundancy transfer is performed at the end of the ISR, and when the transfer is performed, the active board operates in a standby state after booting except for hernia (518), and the standby board operates as an active board (528). In addition, the step 501 is not performed when the hernia is changed.

이상에서와 같이 본 발명은 하드웨어적인 구성을 통한 인터럽트를 이용해 시스템에 필요한 이중화 소스별로 ISR만을 구현하면 되므로 소프트웨어 구조가 간단해 진다.  As described above, the present invention simplifies the software structure because only the ISR needs to be implemented for each redundant source required for the system using an interrupt through a hardware configuration.

본 발명의 다른 효과로서 이중화 보드의 불능으로 인한 상태에서 탈실장 없이 제 1프로세서 보드의 초기화를 위한 리부팅을 할 수 있게 되어, 특히 원격지나 무인국사의 서비스 연속성과 안정성을 제공하는 시스템의 이중화 구현 효과를 가져 오는 이점이 있다. As another effect of the present invention, it is possible to reboot the initialization of the first processor board without dismounting in the state due to the inability of the redundant board, in particular, the effect of redundancy of the system to provide service continuity and stability of remote or unmanned nations There is an advantage in bringing it.

Claims (8)

프로세서 보드 이중화 구현을 위한 PLD에 있어서, In the PLD for processor board redundancy implementation, 인터럽트가 비트별로 할당되어 있으며, 상기 각 비트는 제 1 프로세서 보드 및 제 2프로세서 보드에서 전달되는 인터럽트 소스를 나타내는 레지스터와,An interrupt is assigned bit by bit, each bit having a register indicating an interrupt source transmitted from the first processor board and the second processor board; 상기 전달된 인터럽트 소스에 의해 설정된 레지스터의 해당 사건 비트값이 바뀌면, IRQ를 프로세서에 전달하는 인터럽트 제어로직과,An interrupt control logic that transmits an IRQ to the processor when the corresponding event bit value of the register set by the delivered interrupt source is changed, 상기 두개의 보드 중 제 2프로세서 보드에서 전달된 신호의 잡음이나 글리치를 제거하여, 제 2프로세서 보드의 본래 인터럽트 신호만을 제 1프로세서 보드의 레지스터에 전달하는 글리치 제거 로직으로 구성되는 것을 특징으로 하는 프로그래머블 로직 디바이스.Programmable logic characterized by removing the noise or glitches of the signal transmitted from the second processor board of the two boards, passing only the original interrupt signal of the second processor board to the register of the first processor board Logic devices. 프로세서 보드 이중화 구현 장치에 있어서, A processor board redundancy implementation, 상기 프로세서 보드 이중화 구현 장치는 동일한 구성을 갖는 제 1 프로세서 보드 및 제 2프로세서 보드로 이루어져 있으며, 상기 두개의 보드 각각은, The processor board redundancy implementing apparatus includes a first processor board and a second processor board having the same configuration, and each of the two boards includes: 제 1항에 기재된 PLD와,PLD as described in claim 1, 상기 PLD내의 레지스터에 기록되어 두 보드 중 어느 보드에서 어떤 사건이 발생하였는지를 나타내는 해당 사건 비트를 읽고 쓰는 프로세서와,A processor that reads and writes corresponding event bits recorded in registers in the PLD to indicate which event occurred on which of the two boards; 상기 프로세서가 레지스터를 읽고 쓰기 전에, 프로세서를 초기화 하여 구동 시키는 파워 리세트 회로와,A power reset circuit for initializing and driving the processor before the processor reads and writes the registers; 상기 파워 리세트 회로의 신호와 제 2프로세서 보드에 연결된 신호가 연결되어 있어, 이중화 구현 중 이상 상태 발생시, 상기 제 1프로세서 보드의 파워 리세트 신호 및 제 2프로세서 보드의 프로세서에 의해 강제적으로 제 1프로세서 보드의 프로세서를 재부팅 시키는 신호를 출력하는 앤드게이트로 이루어지며,The signal of the power reset circuit and the signal connected to the second processor board are connected so that when an abnormal state occurs during the redundancy implementation, the power reset signal of the first processor board and the processor of the second processor board are forcibly performed. It consists of an end gate that outputs a signal to reboot the processor of the processor board. 상기 제 1 및 제 2프로세서 보드는 각각 내장된 PLD 간의 인터럽트 신호를 전달하는 백플레인으로 연결되는 것을 특징으로 하는 프로세서 보드 이중화 구현 장치. And the first and second processor boards are respectively connected to backplanes that transmit interrupt signals between embedded PLDs. 제 2항에 있어서, 상기 프로세서는 프로세서 버스를 통해 직접 PLD에 접근하여 레지스터를 읽고 쓸 수 있는 프로세서 보드 이중화 구현 장치.The apparatus of claim 2, wherein the processor is capable of accessing and reading a register by directly accessing the PLD through a processor bus. 제 2항에 있어서, 정상 동작시에도 보드 교체나 보드 운용중의 이유로 교체가 필요한 경우,The method according to claim 2, wherein the replacement is necessary even during normal operation due to board replacement or board operation. PLD내의 레지스터 MMI 비트를 프로세서가 로우 값으로 구동시켜 강제로 인터럽트 발생 이중화 절체가 가능한 프로세서 보드 이중화 구현 장치.Processor board redundancy implementation capable of forcing interrupt generation redundancy switching by the processor driving register MMI bit to low value in PLD. 프로세서 보드 이중화 구현 방법에 있어서, In the processor board redundancy implementation method, 두 보드가 소프트웨어적으로 필요한 데이터를 내부 프로세서간 통신 채널로 주고 받아 이중화 준비를 완료하는 과정과,The two boards send and receive data required by software through the communication channel between internal processors and prepare for redundancy; 먼저 실장되는 제 1프로세서 보드가 활성 동작에 들어가는 과정과,The first processor board mounted first enters into active operation, 상기 활성 동작 후 발생된 사건의 IRQ를 프로세서에 전달하는 과정과,Delivering an IRQ of an event occurring after the active operation to a processor; 상기 프로세서가 PLD내의 레지스터 값을 읽어 들여 어느 비트가 사건을 발생하였는지 판단하는 과정과,The processor reads the register value in the PLD to determine which bit has caused an event; 상기 판단 과정 후 프로세서가 각 비트별 ISR을 수행하는 과정과,Performing, by the processor, an ISR for each bit after the determination process; 상기 ISR 수행 후 이중화 절체가 되어 제 1프로세서 보드는 대기 상태로 동작하는 과정으로 이루어짐을 특징으로 프로세서 보드 이중화 구현 방법.And performing a redundancy transfer after performing the ISR, wherein the first processor board is operated in a standby state. 제 5항에 있어서, 상기 제 1프로세서 보드가 활성 동작에 들어가는 과정 후, 발생된 사건이 백플레인을 통해 대기 상태의 제 2프로세서 보드에 전달되는 과정을 더 구비함을 특징으로 프로세서 보드 이중화 구현 방법.6. The method of claim 5, further comprising, after the first processor board enters an active operation, the generated event is transferred to a standby second processor board through a backplane. 제 5항에 있어서, 상기 프로세서는 각 비트별 ISR 수행후 ISR 마지막 과정에서 PLD 레지스터 번지의 해당 사건 비트를 다시 초기값으로 쓰기하여 IRQ를 철수하고, 이중화 절체 시키는 과정을 더 구비함을 특징으로 하는 프로세서 보드 이중화 구현 방법.6. The method of claim 5, wherein the processor further comprises the step of withdrawing IRQs by writing corresponding event bits of the PLD register address as initial values again in the final process of ISR after performing ISR for each bit, and performing redundant switching. How to implement processor board redundancy. 제 5항에 있어서, 제 2프로세서 보드가 제 1프로세서 보드의 통신 불능 감지시, 제 2프로세서 보드의 파워 리세트 회로는 제 1프로세서 보드의 앤드 게이트를 통해 제 2프로세서 보드에서 제 1프로세서 보드 프로세서를 강제적으로 파워 리세트시켜 재부팅이 가능한 과정을 더 구비함을 특징으로 하는 프로세서 보드 이중화 구현 방법. The processor of claim 5, wherein when the second processor board detects that the first processor board is incapable of communication, the power reset circuit of the second processor board is connected to the first processor board processor at the second processor board through an end gate of the first processor board. And a process of rebooting by forcibly resetting the power of the processor board.
KR1020010040141A 2001-07-05 2001-07-05 Apparatus and method for providing redundancy in the processor board using programmable logic device with interrupt KR100856259B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010040141A KR100856259B1 (en) 2001-07-05 2001-07-05 Apparatus and method for providing redundancy in the processor board using programmable logic device with interrupt

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010040141A KR100856259B1 (en) 2001-07-05 2001-07-05 Apparatus and method for providing redundancy in the processor board using programmable logic device with interrupt

Publications (2)

Publication Number Publication Date
KR20030004604A KR20030004604A (en) 2003-01-15
KR100856259B1 true KR100856259B1 (en) 2008-09-03

Family

ID=27713605

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010040141A KR100856259B1 (en) 2001-07-05 2001-07-05 Apparatus and method for providing redundancy in the processor board using programmable logic device with interrupt

Country Status (1)

Country Link
KR (1) KR100856259B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930007469A (en) * 1991-10-22 1993-05-20 위머 에르윈 Disposable syringe
KR19980063196A (en) * 1996-12-31 1998-10-07 정장호 Determination of Operation Mode of Redundant Processor System
KR19980084890A (en) * 1997-05-27 1998-12-05 유기범 Redundant Active / Standby Control Method Using Gap Removal Circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930007469A (en) * 1991-10-22 1993-05-20 위머 에르윈 Disposable syringe
KR19980063196A (en) * 1996-12-31 1998-10-07 정장호 Determination of Operation Mode of Redundant Processor System
KR19980084890A (en) * 1997-05-27 1998-12-05 유기범 Redundant Active / Standby Control Method Using Gap Removal Circuit

Also Published As

Publication number Publication date
KR20030004604A (en) 2003-01-15

Similar Documents

Publication Publication Date Title
US5802269A (en) Method and apparatus for power management of distributed direct memory access (DDMA) devices
US6948010B2 (en) Method and apparatus for efficiently moving portions of a memory block
US6476854B1 (en) Video eavesdropping and reverse assembly to transmit video action to a remote console
US7490176B2 (en) Serial attached SCSI backplane and detection system thereof
JP2008090375A (en) Interrupt control system and storage control system using the same
US6532545B1 (en) Apparatus for swapping, adding or removing a processor in an operating computer system
JPH11161625A (en) Computer system
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
CN108132910B (en) System interconnect and system on chip with system interconnect
US9372702B2 (en) Non-disruptive code update of a single processor in a multi-processor computing system
KR20210096857A (en) system on chips and methods of controlling resett of system on chips
JPH07311716A (en) Computer system,parallel port circuit for interfacing of peripheral device with computer system and its operating method
EP0836141B1 (en) A fault-tolerant bus system
US6108732A (en) Method for swapping, adding or removing a processor in an operating computer system
US5664198A (en) High speed access to PC card memory using interrupts
US20090177807A1 (en) Reset method for application specific integrated circuits (asic)
US7181559B2 (en) Message based transport mechanism for level sensitive interrupts
US6904546B2 (en) System and method for interface isolation and operating system notification during bus errors
US5396633A (en) Positive pulse format noise-filter and negative pulse format extension circuit for conditioning interrupt request signals
KR100856259B1 (en) Apparatus and method for providing redundancy in the processor board using programmable logic device with interrupt
WO2023016379A1 (en) Computer system, control method based on pcie device, and related device
US6539472B1 (en) Reboot control unit and reboot control method
JP4572138B2 (en) Server apparatus, server system, and system switching method in server system
CN110765045B (en) FPGA-based interrupt delay counting system and method
WO2013027297A1 (en) Semiconductor device, managing apparatus, and data processor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee