KR20020033254A - Apparatus and method for flow control in dual processor system - Google Patents
Apparatus and method for flow control in dual processor system Download PDFInfo
- Publication number
- KR20020033254A KR20020033254A KR1020000063879A KR20000063879A KR20020033254A KR 20020033254 A KR20020033254 A KR 20020033254A KR 1020000063879 A KR1020000063879 A KR 1020000063879A KR 20000063879 A KR20000063879 A KR 20000063879A KR 20020033254 A KR20020033254 A KR 20020033254A
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- redundant
- memory
- fifo
- board
- Prior art date
Links
Classifications
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4217—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
본 발명은 이중화 프로세서의 이중화 흐름제어에 관한 것으로, 특히 인터럽트 방식에 의한 운영체제 차원의 소프트웨어적인 제어에 따른 종래기술의 문제점을 극복하고자 CPU(Central Processing Unit)와 이중화 제어부간의 버스중재 기능을 이용하여 이중화 FIFO(First-In First-Out)의 상태에 따른 이중화 흐름제어를 하드웨어적인 수준에서 수행함으로써 제어절차를 간소화하기에 적당하도록 한 버스중재를 통한 이중화 프로세서의 흐름 제어장치 및 그 운용방법에 관한 것이다.The present invention relates to redundancy flow control of a redundant processor, and in particular, to overcome the problems of the prior art according to the operating system-level software control by an interrupt method, by using a bus arbitration function between a central processing unit (CPU) and a redundancy control unit. The present invention relates to a flow control device of a redundant processor through bus arbitration and a method of operating the same, which are suitable for simplifying a control procedure by performing a redundant flow control according to the state of a first-in first-out (FIFO) at a hardware level.
일반적으로 프로세서 이중화 방식은 액티브/스탠바이 형태로 운영된다. 그래서 액티브측 프로세서가 자신의 메인 메모리에 새로이 갱신되는 데이터를 자신의 메모리는 물론 스탠바이 상태의 프로세서측 메모리에도 동시에 저장하도록 구현된다.In general, processor redundancy is active / standby. Thus, the active processor is configured to simultaneously store newly updated data in its main memory, not only in its own memory but also in the standby processor side memory.
이처럼 이중화 프로세서는 서로간에 메모리 동일성(Coherence)을 유지하게 되는데, 이러한 경우를 두 프로세서간 concurrent write 방식에 의한 이중화라 칭한다.As such, the redundant processors maintain memory coherence with each other. This case is called duplication by the concurrent write method between the two processors.
concurrent write 방식에 의한 이중화를 복수의 프로세서 보드내에 구현하기 위해서는 각 보드에 프로세서 정합부와 메인 메모리부와 이중화 제어부 및 이중화 FIFO 등의 기능부가 구비되어야 한다.In order to implement redundancy based on concurrent writes in a plurality of processor boards, each board must include a processor matching unit, a main memory unit, a redundant control unit, and a redundant FIFO.
concurrent write 방식에 따라 액티브 프로세서가 메인 메모리에 쓰기하는 값을 스탠바이 메모리에도 같은 번지의 같은 값으로 갱신시키는 경우에 이중화 채널로써 FIFO 큐(Queue)를 사용한다. 이때 액티브 프로세서의 동작시 스탠바이 프로세서의 상태에 따른 제약을 최소한으로 줄이기 위해 액티브 프로세서는 액티브의 이중화 FIFO가 가득차지 않는 한 메모리에 대한 쓰기 동작을 계속 수행한다.According to the concurrent write method, the FIFO queue is used as a redundancy channel when updating the value written to the main memory by the active processor to the same value at the same address in the standby memory. At this time, in order to reduce the constraints on the standby processor state to the minimum when the active processor operates, the active processor continues to write to the memory unless the active redundant FIFO is full.
그렇지만 스탠바이측의 경우, 스탠바이 프로세서와 이중화 제어부가 하나의 버스를 공유하여 메모리에 접근하기 때문에 스탠바이 프로세서가 계속적으로 메모리에 접근하게 되면, 이중화 제어부의 메모리 접근이 방해되어 액티브 보드측에서전송되는 이중화 데이터를 스탠바이 보드측의 메모리에 갱신하는 속도가 늦어지게 된다.However, in the standby side, since the standby processor and the redundancy control unit share a bus to access memory, if the standby processor continuously accesses the memory, the redundancy data transmitted from the active board side is interrupted because the access of the redundancy control unit is interrupted. Update to the memory on the standby board side becomes slow.
그러므로 액티브 보드측의 이중화 FIFO에서 대기하는 데이터의 량이 증가되어 이중화 FIFO가 가득 차는 경우가 발생될 수도 있다. 이 경우에는 더 이상 액티브 프로세서가 메인 메모리에 쓰는 데이터를 스탠바이 프로세서측으로 전송할 수 없기 때문에, 액티브 프로세서에게 현재 이중화 FIFO의 상태가 만수위(Full)임을 통지하고 상기 만수위 상태가 해소될 때까지 메인 메모리에 대한 쓰기 프로세스를 중단하도록 제한하게 된다.Therefore, the amount of data waiting in the redundant FIFO on the active board side may increase, causing the redundant FIFO to become full. In this case, since the active processor can no longer transfer the data written to the main memory to the standby processor side, the active processor is notified that the state of the current redundant FIFO is full and until the full state is cleared. This will limit the interruption of the write process.
이러한 동작으로 이중화 제어흐름이 수행된다.This operation results in a redundant control flow.
이하, 본 발명에 대비되는 이중화 프로세서의 이중화 흐름제어에 대한 종래기술을 설명한다.Hereinafter, the prior art of the redundant flow control of the redundant processor in contrast to the present invention.
먼저, 도1은 종래기술에 의한 이중화 프로세서의 이중화 흐름제어장치의 블록구성도이다.First, Figure 1 is a block diagram of a redundant flow control apparatus of a redundant processor according to the prior art.
상기 도1에 도시된 바와 같이 종래의 장치는, 이중화 채널로 연결된 두 개의 프로세서 보드로 이루어진다. 각 프로세서 보드는 프로세서(11, 21)와; 메모리(12, 22)와; 이중화 제어부(13, 23) 및 이중화 FIFO(14, 24)로 구성된다.As shown in FIG. 1, the conventional apparatus is composed of two processor boards connected by redundant channels. Each processor board includes a processor (11, 21); Memories 12 and 22; It is comprised of the duplication control part 13 and 23 and the duplication FIFO 14 and 24.
이러한 구성에서 액티브보드의 프로세서(11)가 메모리(12)에 데이터를 쓰는 동작은 이중화 제어부(13)에 의해 감지된다. 이중화 제어부(13)는 해당 프로세서(11)가 쓰는 메모리의 어드레스 및 데이터를 이중화 FIFO(14)에 쓰게 된다.In this configuration, the operation of writing data to the memory 12 by the processor 11 of the active board is sensed by the redundancy control unit 13. The duplication control unit 13 writes the address and data of the memory written by the processor 11 to the duplication FIFO 14.
액티브 보드의 이중화 FIFO(14)내 정보는 이중화 채널을 통해 스탠바이 보드의 이중화 FIFO(24)로 전송되어 해당 이중화 제어부(23)에 의해 감지된다.The information in the redundant FIFO 14 of the active board is transmitted to the redundant FIFO 24 of the standby board through the redundant channel and sensed by the corresponding redundant control unit 23.
스탠바이 보드에서는 이중화 제어부(23)가 감지한 정보는 프로세서(21)와 버스중재를 거친 후 메모리(22)에 쓰기 된다.In the standby board, the information detected by the redundancy control unit 23 is written to the memory 22 after passing through the processor 21 and the bus.
상기 설명한 체계로 액티브 보드의 메인 메모리(12)에 갱신되는 정보가 스탠바이 보드의 메모리(22)에 저장됨으로써 액티브 보드와 스탠바이 보드내 각 메모리의 저장내용에 대한 동일성이 유지되는 것이다.The information updated in the main memory 12 of the active board in the above-described scheme is stored in the memory 22 of the standby board, thereby maintaining the sameness of the storage contents of the active board and each memory in the standby board.
그런데, 상기 체계에서 액티브 보드의 이중화 FIFO(14)가 만수위(full) 상태인 경우에는 메모리(12)의 갱신에 대한 정보는 이중화 FIFO(14)에 저장되지 못하고, 그 결과 스탠바이 보드로 전송될 수 없게 된다. 그러면 두 보드의 메모리(12)(22)간 동일성은 더 이상 유지되지 못한다.However, in the above scheme, when the redundant FIFO 14 of the active board is full, the information about the update of the memory 12 may not be stored in the redundant FIFO 14, and as a result, may be transmitted to the standby board. There will be no. The identity between the memories 12 and 22 of the two boards is no longer maintained.
상기와 같이 두 보드간 메모리(12)(22)의 동일성 유실은 듀얼다운(Dual Down)을 초래하는 중대한 요인이다.As described above, the loss of identity between the memory boards 12 and 22 between two boards is a significant factor causing dual down.
상기 문제점을 방지하기 위해 액티브 보드의 이중화 제어부(13)는 양측 보드의 이중화 FIFO(14)(24)의 상태를 감시하게 된다. 즉, 각 이중화 FIFO(14)(24)의 플래그 중 큐(Queue)가 거의 찼음을 알리는 플래그인 AFF(Almost FIFO Full)의 발생여부를 감시한다. 그래서 두 개의 이중화 FIFO(14)(24)중 어디에서든 AFF 플래그가 발생되면, 해당 보드의 프로세서(11)에게 인터럽트(Interrupt)를 통보한다.In order to prevent the above problem, the redundancy control unit 13 of the active board monitors the state of the redundant FIFOs 14 and 24 of both boards. That is, the generation of AFF (Almost FIFO Full), which is a flag indicating that the queue is almost full, among the flags of each redundant FIFO 14 (24) is monitored. Thus, if an AFF flag is generated in any of the two redundant FIFOs 14 and 24, an interrupt is notified to the processor 11 of the board.
상기 인터럽트를 수신한 프로세서(11)는 해당 인터럽트에 대한 운영체제의 해석을 요구하게 된다. 운영체제는 상기 제시된 인터럽트의 발생시 이중화 흐름제어를 위하여 프로세서(11)의 메모리(12)에 대한 쓰기동작을 중지시키기 위한 일련의 인터럽트 처리루틴을 포함하여야 한다.Upon receiving the interrupt, the processor 11 requests interpretation of the operating system for the interrupt. The operating system should include a series of interrupt processing routines for stopping the write operation to the memory 12 of the processor 11 for the redundant flow control when the above-mentioned interrupt occurs.
이때 인터럽트가 운영체제에 의해 처리되기 위해서는 응용프로그램 계층에서의 소프트웨어적인 프로그래밍이 필요하게 되며, 이러한 응용프로그램 계층에서의 프로그래밍은 일반적으로 시스템에 종속된다. 즉, 상기와 같은 인터럽트 처리루틴은 하나의 시스템으로부터 다른 시스템으로 이식하기가 용이하지 않은 것이다.At this time, the interrupt is processed by the operating system requires software programming in the application layer, and programming in such an application layer is generally system dependent. In other words, such an interrupt processing routine is not easy to port from one system to another.
이처럼 인터럽트를 처리한 운영체제가 프로세서(11)의 동작을 제어하는 바, 이중화 제어부(14)로부터 인터럽트가 수신되면 이중화 FIFO(14)(24)의 만수위(full)를 방지하여야 하므로, 프로세서(11)는 메모리 쓰기동작을 중단하게 되는 것이다.In this way, the operating system that handled the interrupt controls the operation of the processor 11. When the interrupt is received from the duplication control unit 14, the full level of the duplication FIFO 14 and 24 must be prevented. Will abort the memory write operation.
메모리에 대한 쓰기동작을 중단한 프로세서(11)는 이중화 제어부(13)의 레지스터로 들어오는 플래그(AAF, EF, HEF 등)를 통해서 이중화 FIFO(14)(24)의 상태를 감시한다. 감시동작을 수행중인 프로세서(11)는 이중화 FIFO(14)(24)의 상태가 변화되어 큐(Queue)가 비었음을 통지하는 플래그인 EF(Empyt Flag) 또는 큐가 절반정도 비었음을 통지하는 플래그인 HEF(Half Empty Flag)를 확인하게 되면, 중단한 메모리 쓰기작업을 속행한다.The processor 11 which has stopped writing to the memory monitors the state of the redundant FIFOs 14 and 24 through flags (AAF, EF, HEF, etc.) coming into the register of the redundant control unit 13. The processor 11 performing the monitoring operation notifies that the state of the redundant FIFOs 14 and 24 is changed to notify that the queue is empty or that the queue is about half empty. Checking the flag, HEF (Half Empty Flag), will continue the aborted memory write operation.
도2를 참조하여 보다 구체적인 제어동작의 흐름을 설명하면, 우선 액티브 보드의 프로세서(11)가 메모리(12)에 쓰기한다.Referring to FIG. 2, a more specific flow of control operations will be described. First, the processor 11 of the active board writes to the memory 12.
이중화 제어부(13)가 상기 동작을 감시하여 메모리에 쓰기되는 데이터(DATA1)가 스탠바이 보드로 전송해야할 데이터이면, 상기 데이터(DATA1)를해당 보드의 이중화 FIFO(14)에 쓰기 한다.The duplication control unit 13 monitors the operation and writes the data DATA1 to the duplication FIFO 14 of the board if the data DATA1 written to the memory is to be transmitted to the standby board.
이중화 FIFO(14)에 쌓이는 정보는 이중화 채널을 통해 스탠바이 보드의 이중화 FIFO(24)로 전송된다. 그래서 스탠바이 보드로 수신된 정보는 해당 보드의 이중화 제어부(23)에 의해 메모리(24)에 저장된다.Information accumulated in the redundant FIFO 14 is transmitted to the redundant FIFO 24 of the standby board through the redundant channel. Thus, the information received by the standby board is stored in the memory 24 by the redundancy control unit 23 of the board.
상기의 단계로 concurrent 쓰기동작이 수행되며, 이러한 동작의 반복적 수행중 이중화 FIFO의 만수위 상태가 유발되는 경우는 다음에 제시되는 단계로 흐름제어 된다.Concurrent write operations are performed in the above steps, and when the high level state of the redundant FIFO is induced during the repetitive execution of these operations, flow control is performed in the following steps.
이중화 FIFO(14)(24)의 어느 쪽이든지 AFF 플래그를 출력하면, 액티브 보드의 이중화 제어부(13)가 이를 감지하여 해당 보드의 프로세서(11)에게 인터럽트를 통지한다.When either of the redundant FIFOs 14 and 24 outputs the AFF flag, the redundancy control unit 13 of the active board detects this and notifies the processor 11 of the corresponding board of the interrupt.
상기 인터럽트를 수신하는 프로세서(11)는 이중화 FIFO(14)(24)가 가득찬 상태이므로 운영체제의 제어를 받아 메모리(12)에 대한 쓰기작업을 중단한다. 그런다음 프로세서(11)는 이중화 제어부(13)내의 플래그 레지스터를 주기적으로 읽어보아 이중화 FIFO(14)(24)의 상태를 확인한다.The processor 11 receiving the interrupt stops writing to the memory 12 under the control of the operating system because the redundant FIFOs 14 and 24 are full. The processor 11 then periodically reads the flag register in the redundancy control section 13 to check the status of the redundancy FIFOs 14 and 24.
이중화 FIFO(14)(24)의 상태변화가 발생하여 이중화 제어부(13)내의 레지스터에서 EF 또는 HEF 플래그를 읽게 되면, 프로세서(11)는 중단한 메모리 쓰기작업을 재개한다.When a state change of the redundant FIFOs 14 and 24 occurs and the EF or HEF flag is read from a register in the redundant control unit 13, the processor 11 resumes the interrupted memory write operation.
그런데 상기 설명한 종래기술에서 이중화 FIFO가 가득차면 액티브 보드의 프로세서는 메모리 쓰기작업이 제한되어야만 하는데, 이러한 메모리 쓰기작업에 대한 제한상태는 AFF 플래그가 발생한 이중화 FIFO의 상태가 EF 또는 HEF로 전환될 때까지 지속적으로 유지된다.However, in the prior art described above, when the redundant FIFO is full, the processor of the active board must limit the memory write operation. The limited state for the memory write operation is until the state of the redundant FIFO with the AFF flag is changed to EF or HEF. Maintained continuously.
이때 메모리 쓰기작업에 대한 제한 및 해제는 CPU 인터럽트를 이용하여 운영체제에 의해 처리되는 바, 이러한 프로그램은 통상 이식성이 낮으므로 범용의 운영체제에 적용하기가 어려운 단점이 있었다.At this time, the restriction and release of the memory write operation are handled by the operating system using a CPU interrupt. Since such a program is generally low in portability, it is difficult to apply to a general-purpose operating system.
그리고 프로세서가 인터럽트 서비스 루틴으로 가는 동안에 얼마간의 시간차가 발생하는데, 상기 시간동안 이중화 FIFO에 대한 쓰기동작이 계속되어 이중화 FIFO가 만수위에 도달하는 경우에는 액티브측에 갱신되는 데이터를 스탠바이측에서 갱신할 수 없게 되어 메모리 동일성이 유실되는 문제점도 있었다.When the processor goes to the interrupt service routine, some time difference occurs. During this time, when the write operation to the redundant FIFO continues and the redundant FIFO reaches the full level, the standby side can update the data updated on the active side. There was also a problem that the memory identity is lost.
따라서 두 개의 이중화 FIFO중에서 어느 하나라도 만수위 상태가 되면 두 프로세서 보드간 메모리 동일성이 이루어지지 않게 되며, 이러한 상태에서 액티브 보드와 스탠바이 보드간 이중화 절체가 이루어지는 경우 스탠바이 프로세서가 액티브 프로세서로써 제대로 기능할 수 없게 된다.Therefore, if any one of the two redundant FIFOs is full, the memory identity between the two processor boards will not be achieved, and if the redundant switch between the active board and the standby board is made in this state, the standby processor will not function properly as the active processor. do.
이러한 경우는 이중화된 프로세서 보드가 모두 비정상 동작하는 듀얼다운(Dual Down)을 유발하게 되며, 듀얼다운은 이중화된 프로세서의 운용에 있어서 매우 중대한 문제이다.In this case, all of the redundant processor boards cause a dual down operation, which is a serious problem in the operation of the redundant processor.
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 이중화 프로세서의 이중화 흐름제어에 있어서, 인터럽트 방식에 의한 운영체제 차원의 소프트웨어적인 제어에 따른 종래기술의 문제점을 극복하고자 CPU(Central Processing Unit)와 이중화 제어부간의 버스중재 기능을 이용하여 이중화 FIFO(First-In First-Out)의 상태에 따른 이중화 흐름제어를 수행함으로써 제어절차를 간소화하기에 적당하도록 한 버스중재를 통한 이중화 프로세서의 흐름 제어장치 및 그 운용방법을 제공하는 데 있다.Accordingly, the present invention has been proposed to solve the above conventional problems, and an object of the present invention is to solve the problems of the prior art according to the software control of the operating system level by the interrupt method in the redundant flow control of the redundant processor. To overcome this problem, the bus arbitration function between the central processing unit (CPU) and the redundancy control unit is used to perform redundant flow control according to the state of the redundant first-in first-out (FIFO) to simplify the control procedure. The present invention provides a flow control apparatus for a redundant processor and a method of operating the same.
상기와 같은 목적을 달성하기 위하여 본 발명에 의한 버스중재를 통한 이중화 프로세서의 흐름 제어장치는, 액티브 또는 스탠바이 모드로 동작하는 프로세서와; 상기 프로세서가 엑세스하는 데이터를 저장하기 위한 메모리와; 상기 프로세서중 액티브 프로세서가 상기 메모리에 저장하는 데이터에 관한 정보를 이중화 FIFO로 전달하고, 상기 각 이중화 FIFO의 수위에 따라 시스템 버스를 점유하거나 상기 시스템 버스의 점유상태를 해제하는 이중화 제어부와; 상기 이중화 제어부가 전달하는 정보에 따라 액티브 프로세서가 해당 메모리에 저장하는 데이터를 보관하고 있다가, 이중화 채널을 통해 스탠바이 프로세서측의 이중화 FIFO로 전달하며, 각 FIFO의 수위상태를 지시하는 플래그를 액티브 보드의 이중화 제어부로 전달하는 이중화 FIFO로 이루어짐을 그 기술적 구성상의 특징으로 한다.In order to achieve the above object, a flow control apparatus of a redundant processor through bus arbitration according to the present invention includes a processor operating in an active or standby mode; A memory for storing data accessed by the processor; A redundancy control unit which transfers information about data stored in the memory by an active processor among the processors to a redundant FIFO, and occupies a system bus or releases an occupation of the system bus according to the level of each redundant FIFO; The active processor stores data stored in the corresponding memory according to the information transmitted by the redundancy control unit, and transfers the data stored in the corresponding memory to the redundant FIFO on the standby processor side and sends a flag indicating the level of each FIFO. The technical configuration is characterized by consisting of a redundant FIFO delivered to the redundant control unit.
또한, 상기와 같은 목적을 달성하기 위하여 본 발명에 의한 버스중재를 통한 이중화 프로세서의 흐름 제어장치의 운용방법은, 이중화된 프로세서 보드에서 액티브 보드의 프로세서가 메모리에 쓰기하는 정보를 이중화 채널을 통해 전송하여 메모리간 동일성을 유지하는 단계와; 메모리간 동일성을 유지하기 위한 정보교환시 각 보드의 이중화 FIFO 수위에 따라 액티브 보드의 이중화 제어부가 시스템버스를 점유 및 해제하는 단계를 수행함을 그 기술적 구성상의 특징으로 한다.In addition, in order to achieve the above object, the operation method of the flow control apparatus of the redundant processor through the bus arbitration according to the present invention, in the redundant processor board transfers the information written to the memory by the processor of the active board through the redundant channel Maintaining identity between memories; The technical configuration features that the redundancy controller of the active board performs the steps of occupying and releasing the system bus according to the level of redundancy FIFO of each board when exchanging information to maintain the sameness between memories.
도1은 종래기술에 의한 이중화 프로세서의 이중화 흐름제어장치의 블록구성도이고,1 is a block diagram of a redundant flow control apparatus of a redundant processor according to the prior art,
도2는 본 발명의 일실시예에 의한 버스중재를 통한 이중화 프로세서의 흐름 제어장치의 블록구성도이고,2 is a block diagram of an apparatus for controlling a flow of a redundant processor through bus arbitration according to an embodiment of the present invention;
도3은 도2에 적용되는 버스중재를 통한 이중화 프로세서의 흐름 제어장치의 운용방법 흐름도이다.3 is a flowchart illustrating a method of operating a flow control apparatus of a redundant processor through bus arbitration applied to FIG. 2.
이하, 상기와 같은 버스중재를 통한 이중화 프로세서의 흐름 제어장치 및 그 운용방법의 기술적 사상에 따른 실시예에 의거 본 발명의 구성 및 동작을 상세히 설명한다.Hereinafter, the configuration and operation of the present invention will be described in detail according to an embodiment according to the technical idea of the flow control apparatus and the operation method of the redundant processor through the bus arbitration as described above.
먼저, 도2는 본 발명의 일실시예에 의한 버스중재를 통한 이중화 프로세서의 흐름 제어장치의 블록구성도이고, 도3은 도2에 적용되는 버스중재를 통한 이중화 프로세서의 흐름 제어장치의 운용방법 흐름도이다.First, FIG. 2 is a block diagram of a flow control apparatus of a redundant processor through bus arbitration according to an embodiment of the present invention, and FIG. 3 is a method of operating the flow control apparatus of a redundant processor through bus arbitration applied to FIG. It is a flow chart.
상기 도2에 도시된 바와 같이 본 발명이 제시하는 장치의 적절한 실시예는, 이중화 채널로 연결된 두 개의 프로세서 보드로 이루어지는 바 각 프로세서 보드는, 액티브 또는 스탠바이 모드로 동작하는 프로세서(31, 41)와; 상기 프로세서(31, 41)가 엑세스하는 데이터를 저장하기 위한 메모리(32, 42)와; 상기 프로세서(31, 41)중 액티브 프로세서가 상기 메모리(32, 42)에 저장하는 데이터에 관한 정보를 이중화 FIFO(34, 44)로 전달하고, 상기 각 이중화 FIFO(34, 44)의 수위에 따라 시스템 버스를 점유하거나 상기 점유를 해제하는 이중화 제어부(33, 43)와; 상기 이중화 제어부(33, 43)가 전달하는 정보에 따라 액티브 프로세서(31)가 해당 메모리(32)에 저장하는 데이터를 보관하고 있다가, 이중화 채널을 통해 스탠바이 프로세서측의 이중화 FIFO(44)로 전달하며, 각 FIFO의 수위상태를 지시하는 플래그(AFF, EF, HEF 등)를 액티브 보드의 이중화 제어부(33)로 전달하는 이중화 FIFO(34, 44)로 구성된다.As shown in FIG. 2, a suitable embodiment of the apparatus proposed by the present invention is composed of two processor boards connected in a redundant channel, each processor board comprising: processors 31 and 41 operating in an active or standby mode; ; Memory (32, 42) for storing data accessed by the processor (31, 41); The active processor among the processors 31 and 41 transmits information about data stored in the memories 32 and 42 to the redundant FIFOs 34 and 44 and according to the level of each of the redundant FIFOs 34 and 44. A redundancy control unit (33, 43) for occupying or releasing the system bus; The data stored in the memory 32 by the active processor 31 is stored in the memory 32 according to the information transmitted by the redundancy control units 33 and 43, and then transferred to the redundant FIFO 44 on the standby processor side through the redundancy channel. And redundancy FIFOs 34 and 44 which transmit flags (AFF, EF, HEF, etc.) indicating the level of each FIFO to the redundancy control unit 33 of the active board.
그리고 도3에 도시된 바와 같이 본 발명이 제시하는 방법의 적절한 실시예는, 이중화된 프로세서 보드에서 액티브 보드의 프로세서가 메모리에 쓰는 정보를 이중화 채널을 통해 전송하여 메모리간 동일성을 유지하는 단계(ST11~ST13)와; 메모리간 동일성을 유지하기 위한 정보교환시 이중화 FIFO의 AFF 플래그가 출력되면, 액티브 보드의 이중화 제어부가 해당 보드의 프로세서로부터 버스 점유권을 넘겨받아 이중화 FIFO의 플래그가 EF 또는 HEF가 될 때까지 유지하는 단계(ST14~ST18)를 수행한다.As shown in FIG. 3, a suitable embodiment of the method proposed by the present invention may include transmitting information written in a memory of a processor of an active board to a memory through a redundant channel in a redundant processor board (ST11). ST13); If the AFF flag of the redundant FIFO is output during the information exchange to maintain the sameness between memories, the redundancy control unit of the active board receives the bus occupancy rights from the processor of the board and maintains the flag until the flag of the redundant FIFO becomes EF or HEF. Perform (ST14 ~ ST18).
이와 같이 구성되는 방법의 동작을 설명하면 다음과 같다.The operation of the method configured as described above is as follows.
도3에 도시된 본 발명이 적용되는 시스템은 종래기술과 같이 이중화된 프로세서 보드이다.The system to which the present invention shown in FIG. 3 is applied is a redundant processor board as in the prior art.
본 발명은 이중화 FIFO(34)(44)의 만수위(full) 상태의 감지 뿐만 아니라 프로세서의 메모리 쓰기제한 및 해제를 비롯한 일련의 제어동작을 운영체제의 관여없이 수행하게 된다. 즉, 이중화 제어부가 버스중재 기능을 이용하여 하드웨어 계층에서 이중화된 프로세서의 동작을 제어할 수 있도록 함으로써, 이중화 흐름제어를 하드웨어 계층에서 완결할 수 있게 된다.The present invention performs not only the detection of the full state of the redundant FIFO 34 (44) but also a series of control operations including memory write restriction and release of the processor without the involvement of the operating system. That is, by allowing the redundancy control unit to control the operation of the redundant processor in the hardware layer by using the bus arbitration function, the redundancy flow control can be completed in the hardware layer.
이때 프로세서(31)(41)와 이중화 제어부(33)(43)는 하나의 시스템 버스를 통해 메모리(32)(42)에 접근하게 되는데, 하나의 버스를 두 개의 개체(프로세서와 이중화 제어부)가 접근하여야 하므로 상기 각 개체간에는 버스중재 기능이 구현된다.At this time, the processors 31 and 41 and the redundancy control unit 33 and 43 access the memory 32 and 42 through one system bus, and two buses (processor and redundancy control unit) are connected to one bus. Since it is necessary to access the bus arbitration function between each entity.
그래서 각 개체는 버스점유권을 요구(BR: Bus Request)하여 상대측으로부터 이에 대한 응답(BG: Bus Grant)을 받는 경우에만 해당 버스를 점유하여 사용하게 된다.Therefore, each entity occupies and uses the bus only if it requests a bus request (BR) and receives a response from the other party (BG).
이처럼 메모리에 접근해서 읽기/쓰기 할 수 있는 두 개체(프로세서와 이중화 제어부)간은 상기 버스중재 기능을 통해 메모리를 공유하는 것이다.As such, two objects (processor and redundancy control unit) capable of accessing and reading / writing memory share memory through the bus arbitration function.
도2에 도시된 바와 같이 본 발명은 이러한 버스중재 기능을 이용하여 프로세서의 동작을 제어한다.As shown in FIG. 2, the present invention controls the operation of the processor using this bus arbitration function.
즉, 액티브 보드의 이중화 제어부(33)가 이중화 FIFO(34)(44)의 AFF(Almost FIFO Full) 플래그를 감지하면, 이중화 제어부(33)는 버스 점유권을 요구(BR)하여 프로세서(31)로부터 응답(BG)을 받아 버스를 점유한다.That is, when the redundancy control unit 33 of the active board detects the Alf FIFO Full (AFF) flag of the redundancy FIFOs 34 and 44, the redundancy control unit 33 requests (BR) the bus occupancy right from the processor 31. Receive the response (BG) and occupy the bus.
버스를 점유한 이중화 제어부(33)는 이중화 FIFO(34)의 상태가 EF(Empty Flag) 또는 HEF(Half Empty Flag)로 정의된 수위가 될 때까지 버스점유권을 프로세서(31)로 넘겨주지 않는다. 그러면 프로세서(31)는 이중화 FIFO(34)의 수위가 적정위치로 낮아질 때까지 버스를 점유할 수 없게 되므로 메모리(32)에 대한 쓰기동작도 이루어지지 않아 이중화 FIFO(34)에 저장되는 정보도 더 이상 증가되지 않게 된다.The redundancy control unit 33 occupying the bus does not pass the bus occupancy right to the processor 31 until the state of the redundancy FIFO 34 is at a level defined by EF (Empty Flag) or HEF (Half Empty Flag). Then, since the processor 31 cannot occupy the bus until the water level of the redundant FIFO 34 is lowered to an appropriate position, the write operation to the memory 32 is not performed, so that the information stored in the redundant FIFO 34 is further reduced. It will not increase any more.
상기 이중화 FIFO(34)에 대한 쓰기제한은 해당 FIFO 큐에 저장된 정보의 감축에 충분한 조건이다.The write restriction on the redundant FIFO 34 is a condition sufficient to reduce the information stored in the corresponding FIFO queue.
이러한 이중화 흐름제어 장치의 동작흐름을 도3을 참조하여 보다 구체적으로 설명한다.The operation flow of the redundant flow control apparatus will be described in more detail with reference to FIG. 3.
우선, 각 프로세서 보드간 메모리의 동일성을 유지하기 위하여 액티브 보드의 프로세서(31)가 메모리(32)에 쓰기하는 동작은 이중화 제어부(33)에 의해 감시된다(ST11).First, the operation of writing to the memory 32 by the processor 31 of the active board in order to maintain the same memory between the respective processor boards is monitored by the duplication control unit 33 (ST11).
이중화 제어부(33)가 상기 동작을 감시하여 메모리에 쓰기되는 데이터(DATA1)가 스탠바이 보드로 전송해야할 데이터이면, 상기 데이터(DATA1)를 해당 보드의 이중화 FIFO(34)에 쓰기 한다(ST12).If the data DATA1 to be written to the memory to monitor the operation to be transmitted to the standby board, the redundancy control unit 33 writes the data DATA1 to the redundant FIFO 34 of the board (ST12).
이중화 FIFO(34)에 쌓이는 정보는 이중화 채널을 통해 스탠바이 보드의 이중화 FIFO(44)로 전송된다. 그래서 스탠바이 보드로 수신된 정보는 해당 보드의 이중화 제어부(43)에 의해 메모리(44)에 저장된다(ST13).Information accumulated in the redundant FIFO 34 is transmitted to the redundant FIFO 44 of the standby board through the redundant channel. Thus, the information received by the standby board is stored in the memory 44 by the redundancy control unit 43 of the board (ST13).
상기의 단계로 concurrent 쓰기동작이 수행되며, 이러한 동작의 반복적 수행중 이중화 FIFO(34)(44)의 AFF가 발생되는 경우에는 다음에 제시되는 단계로 흐름제어 된다.A concurrent write operation is performed in the above step, and when AFF of the redundant FIFOs 34 and 44 is generated during the repetitive execution of the operation, flow control is performed in the following step.
이중화 FIFO(34)(44)의 어느 쪽이든지 AFF 플래그를 출력하면, 액티브 보드의 이중화 제어부(33)가 이를 감지한다(ST14).When either of the redundant FIFOs 34 and 44 outputs the AFF flag, the redundant control unit 33 of the active board detects this (ST14).
그래서 AFF 플래그를 감지한 이중화 제어부(33)는 프로세서(31)에 대해 버스 점유권을 요구한다(ST15). 프로세서에 대한 버스 점유권의 요구(BR)는 버스중재 기능에 의해 구현되는 것이며 이에 대한 응답(BG)은 기 설명한 바와 같다.Thus, the redundancy control unit 33 that detects the AFF flag requests the bus occupancy right for the processor 31 (ST15). The request for bus occupancy (BR) to the processor is implemented by the bus arbitration function and the response (BG) is as described above.
즉, 프로세서(31)(41)와 이중화 제어부(33, 43)간에 공유되는 시스템 버스에 대한 중재기능을 이용하여, 액티브 프로세서측의 이중화 제어부(33)가 버스를 점유하게 되는 것이다(ST16).That is, the redundancy control unit 33 on the active processor side occupies the bus by using an arbitration function for the system bus shared between the processors 31 and 41 and the redundancy control units 33 and 43 (ST16).
시스템 버스를 점유한 액티브 프로세서측의 이중화 제어부(33)는 각 이중화 FIFO(34, 44)의 수위를 지시하는 플래그를 주기적으로 감지하게 된다(ST17).The redundancy control unit 33 on the active processor side occupying the system bus periodically detects a flag indicating the level of each redundancy FIFO 34, 44 (ST17).
양측의 이중화 FIFO(34, 44)가 모두 EF 또는 HEF 플래그를 전달하게 되면,FIFO의 수위가 낮아진 것이므로 액티브 프로세서측의 이중화 제어부(33)는 액티브 프로세서(31)에게 버스 점유권을 넘겨준다(ST18).When both the redundant FIFOs 34 and 44 transmit the EF or HEF flags, the level of the FIFO is lowered, so the redundancy control unit 33 on the active processor side gives the bus occupancy right to the active processor 31 (ST18). .
이처럼 본 발명은 프로세서(31)의 메모리 접근을 제한함에 있어서, 운영체제 수준에서 인터럽트(Interrupt) 서비스 루틴을 이용하여 제한하는 것이 아니라, 각 하드웨어간의 동작 제어를 위한 버스중재 기능을 이용하여 완결적으로 구현함으로써 별도의 소프트웨어적인 프로그래밍을 불필요하도록 하는 것이다.As described above, the present invention is not limited to using an interrupt service routine at the operating system level in limiting memory access of the processor 31, but is completely implemented using a bus mediation function for controlling operation between hardware. This eliminates the need for separate software programming.
이중화 제어부(33)의 버스 점유권 요구(BR)를 수신한 프로세서(31)는 수행중인 작업을 종료한 후 이중화 제어부(33)로 버스 점유권을 넘겨준다. 이때 버스 점유권을 넘겨주는 동작은 점유 요구(BR)에 대한 응답(BG)으로 이루어지게 된다.Upon receiving the bus occupancy right request BR of the redundancy control unit 33, the processor 31 transfers the bus occupancy right to the redundancy control unit 33 after finishing the work being performed. At this time, the operation of handing over the bus occupancy right is made as a response (BG) to the occupancy request BR.
상기 응답(BG)을 수신한 이중화 제어부(33)는 버스를 점유하게 된다.Upon receiving the response BG, the redundancy control unit 33 occupies the bus.
버스를 점유한 이중화 제어부(33)는 레지스터로 도착하는 상태 플래그(AAF, EF, HEF)를 통해 이중화 FIFO(34)(44)의 상태를 검사하여 그 수위가 일정 수준이하(EF 또는 HEF)로 내려갈 때까지 버스 점유 상태를 유지한다.The redundancy control unit 33 occupying the bus checks the state of the redundancy FIFOs 34 and 44 through the status flags AAF, EF, and HEF arriving at the registers, and the level is below a certain level (EF or HEF). Stay in the bus until you get down.
그래서 이중화 FIFO(34)(44)의 상태 플래그가 EF 또는 HEF이면, 이중화 제어부(33)는 버스 점유권을 프로세서(31)에게 넘겨준다.Thus, if the status flag of the redundant FIFOs 34 and 44 is EF or HEF, the redundant control unit 33 passes the bus occupancy right to the processor 31.
그러면 프로세서(31)가 버스를 점유하여 상기 중단한 메모리 쓰기작업을 재개하게 된다.Processor 31 then takes over the bus and resumes the interrupted memory write operation.
이처럼 본 발명은, concurrent 쓰기 방식으로 이중화 운용되는 시스템에서 두 프로세서 보드간 이중화 흐름을 제어를 별도의 소프트웨어적인 처리루틴 없이도 버스중재 기능을 이용하여 수행할 수 있게 되는 것이다.As described above, the present invention can control the duplication flow between two processor boards in a system that is redundantly operated in a concurrent write method using a bus mediation function without a separate software processing routine.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.Although the preferred embodiment of the present invention has been described above, the present invention may use various changes, modifications, and equivalents. It is clear that the present invention can be applied in the same manner by appropriately modifying the above embodiments. Accordingly, the above description does not limit the scope of the invention as defined by the limitations of the following claims.
이상에서 살펴본 바와 같이 본 발명에 의한 버스중재를 통한 이중화 프로세서의 흐름 제어장치 및 그 운용방법은, 하드웨어 수준에서 버스중재를 이용하여 이중화 FIFO의 만수위(full) 상태가 유발되지 않도록 하는 이중화 흐름제어를 수행함으로써 종래 별도의 인터럽트 처리루틴을 필요로 하던 단점을 극복하여 제어절차를 간소화하는 효과가 있다.As described above, the apparatus for controlling the flow of the redundant processor through the bus arbitration and the operating method thereof according to the present invention provide a redundant flow control that does not cause the full state of the redundant FIFO by using the bus arbitration at the hardware level. By doing so, it is possible to overcome the disadvantage of requiring a separate interrupt processing routine, thereby simplifying the control procedure.
그리고 프로세서에 대한 인터럽트를 이용하는 종래기술과는 달리 인터럽트 처리 루틴의 호출에 따른 시간차가 발생하지 않으므로, 이중화 FIFO의 만수위 가능성을 지시하는 플래그에 따라 즉시 흐름제어를 수행함으로써 이중화 FIFO의 만수위 상태가 발생될 가능성을 보다 견고히 차단할 수 있는 효과가 있다.And unlike the prior art using the interrupt to the processor, the time difference does not occur according to the invocation of the interrupt processing routine, so that the high water level state of the redundant FIFO is generated by performing the flow control immediately according to the flag indicating the high water level possibility of the redundant FIFO. There is an effect that can block the possibility more firmly.
또한, 프로세서의 메모리 쓰기 제한 및 해제 동작을 하드웨어 수준에서 완결적으로 처리할 수 있도록 함으로써, 이중화 흐름제어시 특별한 소프트웨어적인 처리를 요하지 않아 프로그램의 이식성에 따른 제한을 극복하여 범용의 운영체제에 적용가능하도록 하는 효과도 있다.In addition, the memory write limit and release operations of the processor can be completely processed at the hardware level, so that no special software processing is required in the redundant flow control, so that the limitations of the portability of the program can be overcome and applied to a general-purpose operating system. There is also an effect.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000063879A KR20020033254A (en) | 2000-10-30 | 2000-10-30 | Apparatus and method for flow control in dual processor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000063879A KR20020033254A (en) | 2000-10-30 | 2000-10-30 | Apparatus and method for flow control in dual processor system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20020033254A true KR20020033254A (en) | 2002-05-06 |
Family
ID=19696061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000063879A KR20020033254A (en) | 2000-10-30 | 2000-10-30 | Apparatus and method for flow control in dual processor system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20020033254A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100542123B1 (en) * | 2002-12-11 | 2006-01-11 | 한국전자통신연구원 | Ethernet Channel Dualizing Apparatus of Dualizing Ethernet Switch Board |
KR100608652B1 (en) * | 2004-12-22 | 2006-08-08 | 엘지전자 주식회사 | System for controlling gpio of dual cpu using ril |
DE102008024193A1 (en) | 2008-05-19 | 2009-12-03 | Infineon Technologies Ag | Data or signals processing method for brake booster in motor vehicle, involves applying set of functional units to data or signals, programming and/or configuring of one of functional units and programming and/or configuring of matrix |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03144740A (en) * | 1989-10-30 | 1991-06-20 | Matsushita Electric Ind Co Ltd | Processor comparator and instruction feeder |
US5191649A (en) * | 1990-12-21 | 1993-03-02 | Intel Corporation | Multiprocessor computer system with data bus and ordered and out-of-order split data transactions |
JPH0934809A (en) * | 1995-07-18 | 1997-02-07 | Hitachi Ltd | Highly reliable computer system |
KR19980028132A (en) * | 1996-10-21 | 1998-07-15 | 양승택 | High speed data transfer device between synchronous buses |
-
2000
- 2000-10-30 KR KR1020000063879A patent/KR20020033254A/en not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03144740A (en) * | 1989-10-30 | 1991-06-20 | Matsushita Electric Ind Co Ltd | Processor comparator and instruction feeder |
US5191649A (en) * | 1990-12-21 | 1993-03-02 | Intel Corporation | Multiprocessor computer system with data bus and ordered and out-of-order split data transactions |
JPH0934809A (en) * | 1995-07-18 | 1997-02-07 | Hitachi Ltd | Highly reliable computer system |
KR19980028132A (en) * | 1996-10-21 | 1998-07-15 | 양승택 | High speed data transfer device between synchronous buses |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100542123B1 (en) * | 2002-12-11 | 2006-01-11 | 한국전자통신연구원 | Ethernet Channel Dualizing Apparatus of Dualizing Ethernet Switch Board |
KR100608652B1 (en) * | 2004-12-22 | 2006-08-08 | 엘지전자 주식회사 | System for controlling gpio of dual cpu using ril |
DE102008024193A1 (en) | 2008-05-19 | 2009-12-03 | Infineon Technologies Ag | Data or signals processing method for brake booster in motor vehicle, involves applying set of functional units to data or signals, programming and/or configuring of one of functional units and programming and/or configuring of matrix |
US8375256B2 (en) | 2008-05-19 | 2013-02-12 | Infineon Technologies Ag | System with configurable functional units and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5113514A (en) | System bus for multiprocessor computer system | |
US6408369B1 (en) | Internal copy for a storage controller | |
US5845328A (en) | Method for ensuring data coherency for redundat storage by transferring copies of access requests from on-line storage to back-up storage | |
US8650339B2 (en) | Control of data transfer | |
JP3195489B2 (en) | External storage control device and bus switching control method | |
KR20020033254A (en) | Apparatus and method for flow control in dual processor system | |
JP2010211506A (en) | Computer equipped with non-uniform memory access mechanism, controller, and data movement method | |
KR20000032947A (en) | Processor duplexing device of communication system | |
JPH0281255A (en) | Multi-processor computer multiple device | |
JP3162459B2 (en) | Data processing device | |
JP4030951B2 (en) | Data duplication apparatus and method | |
JPH0324634A (en) | Double system device | |
WO2007110914A1 (en) | Multiprocessor system and multiprocessor system operating method | |
KR100498909B1 (en) | Inter-processor communication redundancy device of exchange system | |
JPH0535697A (en) | Multi processor system | |
JPH08272667A (en) | File access control system | |
JP2876676B2 (en) | Communication control method between processors | |
JP2837522B2 (en) | I / O instruction control method | |
JPS61206045A (en) | Information processing system | |
JPS6389951A (en) | Cache memory device | |
JPH04153746A (en) | Storage contents control method for shared extension storage | |
JPS6367669A (en) | Control system for storage controller | |
JP2000181880A (en) | Data transfer system | |
JPH04347750A (en) | Control system for parallel cache memory | |
JPH0659923A (en) | Duplex system using cpu |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |