KR20030025610A - Redundancy processors system and method for preventing data error thereof - Google Patents

Redundancy processors system and method for preventing data error thereof Download PDF

Info

Publication number
KR20030025610A
KR20030025610A KR1020010058740A KR20010058740A KR20030025610A KR 20030025610 A KR20030025610 A KR 20030025610A KR 1020010058740 A KR1020010058740 A KR 1020010058740A KR 20010058740 A KR20010058740 A KR 20010058740A KR 20030025610 A KR20030025610 A KR 20030025610A
Authority
KR
South Korea
Prior art keywords
processor
pulse signal
memory
semaphore
processors
Prior art date
Application number
KR1020010058740A
Other languages
Korean (ko)
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 KR1020010058740A priority Critical patent/KR20030025610A/en
Publication of KR20030025610A publication Critical patent/KR20030025610A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1604Error detection or correction of the data by redundancy in hardware where the fault affects the clock signals of a processing unit and the redundancy is at or within the level of clock signal generation hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space

Abstract

PURPOSE: A system for supporting a dual processor and a method for preventing a data error in the system are provided to control a processor in a specific address area according to an operation of other process when the processor executes an operation by adding a semaphore circuit. CONSTITUTION: An address area of a message whose width is bigger than a width of a memory is set in the memory out of messages being transmitted/received through the memory. A semaphore circuit with respect to the set memory area is embodied(S200-S210). In an operation at the set area, a processor applies a low pulse signal to an input terminal of the semaphore circuit(S220). The semaphore circuit selectively outputs a high pulse signal or a low pulse signal in accordance with an operation of other process(S230-S250). In the case that a low pulse signal is output from the semaphore circuit, the processor executes an operation in the set area and applies a high pulse signal to the input terminal of the semaphore circuit according as the operation is completed(S250-S270).

Description

이중 프로세서 지원 시스템 및 그 시스템에서의 데이터 오류 방지 방법{REDUNDANCY PROCESSORS SYSTEM AND METHOD FOR PREVENTING DATA ERROR THEREOF}REDUNDANCY PROCESSORS SYSTEM AND METHOD FOR PREVENTING DATA ERROR THEREOF}

본 발명은 이중 프로세서 지원 시스템 및 그 제어 방법에 관한 것으로, 특히 세마포 회로를 부가하여 두 프로세서간 통신시 듀얼 포트 램의 데이터 폭 이상의 메시지가 전송될 경우 발생할 수 있는 데이터 오류를 방지하기 위한 시스템 및 방법에 관한 것이다.The present invention relates to a dual processor support system and a control method thereof, and more particularly to a system and method for preventing a data error that may occur when a message larger than the data width of a dual port RAM is transmitted during communication between two processors by adding a semaphore circuit. It is about.

도 1은 종래 기술에 따른 이중 프로세서 지원 시스템의 블록 구성도이다.1 is a block diagram of a dual processor support system according to the prior art.

도 1을 참조하면, 종래의 이중 프로세서 지원 시스템은 두 개의 프로세서(1, 2)와, 상기 두 프로세서(1, 2)간의 통신을 위한 메모리(3)와, 상기 두 프로세서(1, 2)와 메모리(3)를 연결하는 데이터 버스, 어드레스 버스(4, 5) 및 제어 신호 버스(6, 7)를 포함하는 메모리 시스템 버스로 구성된다.Referring to FIG. 1, a conventional dual processor supporting system includes two processors 1 and 2, a memory 3 for communication between the two processors 1, 2, and two processors 1 and 2. It consists of a memory system bus comprising a data bus, an address bus 4, 5 and a control signal bus 6, 7 connecting the memory 3.

상기 메모리(3)는 16비트 데이터 폭을 가진 듀얼 포트 램(이후, 메모리를 듀얼 포트 램으로 통칭함)일 수 있고, 상기 두 프로세서(1, 2)가 각각 다른 유니트에 위치하고 있을 경우에 상기 듀얼 포트 램(3)은 두 개의 유니트 중 어느 하나에 위치할 수 있다.The memory 3 may be a dual port RAM having a 16-bit data width (hereinafter, referred to collectively as a dual port RAM), and the dual may be provided when the two processors 1 and 2 are located in different units. The port RAM 3 may be located in either of two units.

상기와 같이 구성된 상태에서의 동작 설명은 다음과 같다.The description of the operation in the state configured as described above is as follows.

제 1 프로세서(1) 및 제 2 프로세서(2)는 자신의 데이터 버스(4, 5)를 통하여 듀얼 포트 램(3)에 연결되어 데이터를 쓰고, 읽는 동작을 한다.The first processor 1 and the second processor 2 are connected to the dual port RAM 3 through their data buses 4 and 5 to write and read data.

그런데, 상기 듀얼 포트 램(3)은 포트는 두 개를 가지고 있지만 내부의 램어레이는 하나만 가지고 있기 때문에 두 개의 포트를 통하여 두 개의 프로세서(1, 2)가 동시에 동일한 영역에 대한 동작 요청을 할 경우에는 나중에 동작을 시도한 프로세서로 BUSY신호를 전송하고, 다른 포트의 버스 동작이 끝나면 상기 BUSY 신호가 비활성화시켜 프로세서가 쓰고, 읽기 동작을 할 수 있게 한다.However, since the dual port RAM 3 has two ports but only one internal RAM array, two processors 1 and 2 simultaneously request the operation of the same area through the two ports. The BUSY signal is transmitted to the processor that attempted to operate later, and when the bus operation of another port is completed, the BUSY signal is inactivated so that the processor can write and read.

그러나, 두 개의 버스(4, 5)의 데이터 폭을 16비트라고 가정하면, 하나의 버스 싸이클마다 워드 데이터에 대한 읽기/쓰기 동작을 수행하게 되는데, 프로세서(1, 2)간에 주고 받는 메시지가 하나의 워드가 아닌 그 이상의 데이터 폭을 가질 경우에는 한번의 쓰기나 읽기의 동작으로 메시지 모두에 대한 동작을 할 수가 없고, 하나 이상의 사이클을 통하여 메시지를 보내야 한다.However, assuming that the data widths of the two buses 4 and 5 are 16 bits, a read / write operation of word data is performed for each bus cycle, and a message transmitted and received between the processors 1 and 2 is one. If the data width is longer than the word of, the write or read operation cannot operate on all the messages, and the message must be sent through one or more cycles.

예를 들어, 쓰려고 하는 데이터가 64비트의 데이터라고 한다면 4번의 쓰기 동작을 수행하여야 한다.For example, if the data to be written is 64-bit data, four write operations must be performed.

만일 왼쪽 포트를 사용하는 제 1 프로세서(1)가 64비트 중 16비트를 쓰려고 하는 동작에서 오른쪽 포트를 사용하는 제 2 프로세서(2)가 동일한 어드레스의 16 비트에 대한 읽기 동작을 하려고 하면 충돌이 일어나서 제 2 프로세서(2)는 BUSY 신호가 활성화되어 기다리게 되고, 제 1 프로세서(1)는 쓰기 동작을 하게 된다.If the first processor 1 using the left port attempts to write 16 bits among the 64-bits, the second processor 2 using the right port attempts to read 16 bits of the same address. The second processor 2 waits with the BUSY signal activated, and the first processor 1 performs a write operation.

그리고 나서 동일한 어드레스에 제 2 프로세서(2)가 읽기 동작을 하고, 다음에는 제 1 프로세서(1)가 다음 어드레스에 쓰고자 하는 데이터를 쓰게 되는데, 제 1 프로세서(1)가 나머지 데이터를 쓰려고 하는 도중에 우선 순위가 더 빠른 프로세스의 동작이 요구되면 다음 데이터에 대한 쓰기 동작이 연기되고, 제 2 프로세서(2)는 제 1 프로세서(1)에서 쓰기 동작이 연기된 것을 인식하지 못하고 64비트 중 나머지 데이터를 읽어갈 것이다.Then, the second processor 2 reads at the same address, and then the first processor 1 writes data to be written to the next address, while the first processor 1 tries to write the remaining data. If an operation of a process with a higher priority is required, a write operation for the next data is delayed, and the second processor 2 does not recognize that the write operation is delayed in the first processor 1 and does not recognize the remaining data of 64 bits. Will read.

따라서, 제 1 프로세서(2)에는 64비트 중 16비트만이 전달이 되고, 나머지 비트는 원하지 않는 다른 데이터가 전달되는 문제가 있을 수 있다.Therefore, there may be a problem that only 16 bits of 64 bits are transferred to the first processor 2 and other data that is not desired is transferred to the remaining bits.

따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창출한 것으로, 세마포 회로를 부가하여 프로세서가 특정 어드레스 영역에 대한 어떤 동작 수행하려 할 때, 상기 특정 어드레스 영역에서 다른 프로세서가 동작하고 있는지의 여부에 따라 프로세서가 상기 특정 어드레스 영역에서 동작 허용 또는 금지되도록 제어하는 이중 프로세서 지원 시스템 및 그 시스템에서의 데이터 오류 방지 방법을 제공함에 그 목적이 있다.Accordingly, the present invention has been made to solve the above-mentioned conventional problems. When the processor attempts to perform an operation on a specific address region by adding a semaphore circuit, it is necessary to determine whether another processor is operating in the specific address region. It is an object of the present invention to provide a dual processor supporting system for controlling a processor to allow or prohibit an operation in the specific address region according to whether or not a data error is prevented in the system.

상기의 목적을 달성하기 위한 본 발명의 일 실시 예는, 하나의 메모리를 통해 읽기 또는 쓰기 동작을 수행하여 메시지를 송수신하는 두 개의 프로세서를 지원하는 시스템에 있어서, 상기 메모리는 상기 송수신되는 메시지 폭이 메모리의 데이터 폭보다 큰 어드레스 영역이 설정되고, 상기 두 프로세서와 각각 제어 신호선을 통해 접속되는 두 개의 입력단과, 상기 두 프로세서 각각에 결과 값을 출력하는 두 개의 출력단을 구비하여, 상기 설정된 메모리의 어드레스 영역에서 동작하기 위한 제 1 프로세서로부터 로우 펄스 신호가 입력되면, 상기 제 2 프로세서의 상기 어드레스 영역에서의 동작 여부를 판단하여, 상기 제 2 프로세서로부터 동작에 따른 로우 펄스 신호가 입력될 경우에는 상기 제 1 프로세서에 하이 펄스 신호를 출력하여 상기 어드레스 영역에서의 동작이 금지되도록 지원하고, 상기 제 2 프로세서로부터동작 완료에 따른 하이 펄스 신호가 입력될 경우에는 제 1 프로세서에 로우 펄스 신호를 출력하여 동작되도록 지원하는 다수의 세마포 회로로 이루어진 데이터 오류 방지부를 더 포함하여 구성된 것을 특징으로 한다.An embodiment of the present invention for achieving the above object, in a system that supports two processors for transmitting and receiving messages by performing a read or write operation through a single memory, the memory is a message width that is transmitted and received An address area larger than the data width of the memory is set, and includes two input terminals each connected to the two processors through a control signal line, and two output terminals outputting a result value to each of the two processors. When a low pulse signal is input from the first processor for operating in the area, it is determined whether the second processor is operating in the address area, and when the low pulse signal according to the operation is input from the second processor, 1 output a high pulse signal to the processor to The data error protection unit includes a plurality of semaphore circuits that support the operation of the control circuit and to output the low pulse signal to the first processor when the high pulse signal is input from the second processor. Characterized in that further comprises.

상기의 목적을 달성하기 위한 본 발명의 다른 실시 예는, 두 프로세서 사이의 하나의 메모리를 통해 송수신되는 메시지 중 메시지 폭이 메모리의 데이터 폭보다 큰 경우의 어드레스 영역을 메모리에 설정하고, 상기 설정된 메모리 영역에 대한 프로세서 동작 여부 제어 신호를 출력하는 세마포 회로를 구현하는 제 1 단계와; 상기 설정된 영역에서의 동작시 프로세서가 상기 세마포 회로의 입력단에 로우 펄스 신호를 인가하는 제 2 단계와; 상기 로우 펄스 신호를 인가받은 세마포 회로가 다른 프로세스의 동작 여부에 따라, 선택적으로 하이 펄스 또는 로우 펄스 신호를 출력하는 제 3 단계와; 상기 세마포 회로로부터 하이 펄스 신호가 출력될 경우, 상기 제 2 단계로 궤환되고, 상기 세마포 회로로부터 로우 펄스 신호가 출력될 경우 상기 프로세서는 상기 설정된 영역에서의 동작을 수행한 후, 동작 완료에 따라 상기 세마포 회로의 입력단에 하이 펄스 신호를 인가하는 제 4 단계로 이루어지는 것을 특징으로 한다.Another embodiment of the present invention for achieving the above object is to set the address area when the message width of the message transmitted and received through the one memory between the two processors than the data width of the memory in the memory, and the set memory Implementing a semaphore circuit that outputs a processor operation control signal for the region; A second step of applying, by the processor, a low pulse signal to an input terminal of the semaphore circuit during operation in the set region; A third step in which the semaphore circuit receiving the low pulse signal selectively outputs a high pulse signal or a low pulse signal according to whether another process operates; When the high pulse signal is output from the semaphore circuit, the processor returns to the second step, and when the low pulse signal is output from the semaphore circuit, the processor performs an operation in the set area and then, upon completion of the operation, And a fourth step of applying a high pulse signal to an input terminal of the semaphore circuit.

도 1은 종래 기술에 따른 이중 프로세서 지원 시스템의 블록 구성도.1 is a block diagram of a dual processor support system according to the prior art.

도 2는 본 발명에 따른 이중 프로세서 지원 시스템의 블록 구성도.2 is a block diagram of a dual processor support system according to the present invention.

도 3은 본 발명에 따른 세마포 회로도.3 is a semaphore circuit diagram in accordance with the present invention.

도 4는 본 발명에 따른 이중 프로세서 지원 시스템에서의 데이터 오류 방지 방법을 설명하기 위한 플로우차트.4 is a flowchart for explaining a data error prevention method in a dual processor support system according to the present invention.

** 도면의 주요 부분에 대한 부호의 설명 **** Description of symbols for the main parts of the drawing **

1 : 제 1 프로세서 2 : 메모리(듀얼 포트 램)1: first processor 2: memory (dual port RAM)

3 : 제 2 프로세서 10 : 데이터 오류 방지부3: second processor 10: data error protection unit

100 : 세마포 회로 110, 130 : 제 1, 제 2 D 플립플롭100: semaphore circuit 110, 130: first, second D flip-flop

120, 140 : 제 1, 제 2 부정 논리곱 게이트120, 140: first and second negative AND gate

이하, 본 발명에 따른 일 실시예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.Hereinafter, an embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 이중 프로세서 지원 시스템의 블록 구성도이다.2 is a block diagram of a dual processor support system according to the present invention.

도 2를 참조하면, 본 발명의 이중 프로세서 지원 시스템은 종래와 같이 두개의 프로세서(1, 2)와, 상기 두 프로세서(1, 2)간의 통신을 위한 메모리(3; 듀얼 포트 램)가 데이터 버스(4, 5) 및 제어 신호 버스(6, 7)로 연결되어 있는 상태에서, 상기 두 개의 프로세서(1, 2)로부터 인가 받은 제어 신호에 따라 상기 두 프로세서(1, 2)로 동작 여부 제어 신호를 출력하는 데이터 오류 방지부(10)를 더 포함한다.Referring to FIG. 2, in the dual processor supporting system of the present invention, two processors 1 and 2 and a memory 3 (dual port RAM) for communication between the two processors 1 and 2 are conventionally used as data buses. (4, 5) and the control signal bus (6, 7) in a state connected to the control signal received from the two processors (1, 2), the operation whether the control signal to the two processors (1, 2) It further includes a data error prevention unit 10 for outputting.

상기 데이터 오류 방지부(10)는 양쪽 프로세서(1, 2)에 의하여 데이터가 동시에 변화되는 것을 막기 위해 공용의 듀얼 포트 램(3)에 차례대로 접근하는 상호 배제적 접근을 보장하는데 사용되는 많은 종류의 하드웨어 기법 중 널리 사용되는 다수의 이진 세마포 회로(100)를 구비한다.The data error protection unit 10 is used in many types to ensure mutually exclusive access to the common dual port RAM 3 in order to prevent data from being changed at the same time by both processors (1, 2) A plurality of binary semaphore circuits 100 are widely used among the hardware techniques.

상기 세마포 회로(100)는 작업들간의 동기를 맞추기 위한 도구로 다익스트라(Dijkstra)에 의해서 도입된 것으로, 상기 이진(binary) 세마포 이외에도 계수(conuting) 세마포, 및 다중지연(case-wait) 세마포 등 다양한 형태의 기능을 가진 세마포가 있다.The semaphore circuit 100 is introduced by Dijkstra as a tool for synchronizing tasks. In addition to the binary semaphores, counting semaphores, case-wait semaphores, and the like. There are semaphores with various types of functions.

상기 이진 세마포는 특정 영역들을 여러 작업들이 동시에 사용하고자 할 경우 이들중에서 하나의 작업만이 특정영역을 사용하고 나머지는 기다리게 되어 이들간에 동기를 맞추는 기능을 한다.The binary semaphore functions to synchronize specific domains because only one task uses a specific region and waits for the rest if multiple tasks are to be used simultaneously.

도 3은 본 발명의 세마포 회로이다.3 is a semaphore circuit of the present invention.

도 3을 참조하면 세마포 회로(100)는 상기 두 프로세서(1, 2)로부터 제어 신호가 입력되는 입력단(111, 131)과 각각 연결되는 두 개의 D타입 플립플롭(110, 130)과, 상기 두 프로세서(1, 2)로 각각 동작 여부 제어 신호를 출력하는출력단(123, 143)과 연결되는 두 개의 부정 논리곱 게이트(120, 140)로 이루어진다.Referring to FIG. 3, the semaphore circuit 100 includes two D-type flip-flops 110 and 130 connected to input terminals 111 and 131 to which control signals are input from the two processors 1 and 2, respectively. Two negative AND gates 120 and 140 are connected to the output terminals 123 and 143 for outputting an operation control signal to the processors 1 and 2, respectively.

상기 D플립플롭(110, 130)은 D입력(111, 131), Q출력(113, 133)을 구비하고 상기 Q출력단(113)에는 인버터(114, 144)가 부가되어 출력 신호가 반전된다. 상기 반전된 Q출력은 신호선에 의해 부정 논리곱 게이트(120, 140)의 제 1 입력(121, 141)에 접속된다.The D flip-flops 110 and 130 include D inputs 111 and 131 and Q outputs 113 and 133, and inverters 114 and 144 are added to the Q output terminal 113 to invert the output signal. The inverted Q output is connected to the first inputs 121 and 141 of the negative AND gates 120 and 140 by signal lines.

상기 부정 논리곱 게이트(120, 140)의 출력은 각각 다른 부정 논리곱 게이트(140, 120)의 제 2 입력(142, 122)에 접속됨과 동시에 상기 출력단(123, 143)에 접속된다.The outputs of the negative AND gates 120 and 140 are connected to the second inputs 142 and 122 of the other negative AND gates 140 and 120, respectively, and to the output terminals 123 and 143, respectively.

도 4는 본 발명에 따른 이중 프로세서 지원 시스템에서의 데이터 오류 방지 방법을 설명하기 위한 플로우 차트이다.4 is a flowchart illustrating a data error prevention method in a dual processor supporting system according to the present invention.

도 4를 참조하면, 본 발명에 따른 이중 프로세서 지원 시스템에서의 데이터 오류 방지 방법은 상기 메모리(3)를 통해 송수신되는 메시지 중 메시지 폭이 메모리(3)의 데이터 폭보다 큰 경우의 어드레스 영역을 메모리(3)에 설정하고, 상기 설정된 메모리 영역에 대한 세마포 회로(100)를 구현하는 단계(S200~S210)와, 상기 설정된 영역에서의 동작시 프로세서(1, 2)가 상기 세마포 회로(100)의 입력단에 로우 펄스 신호를 인가하는 단계(S220)와, 상기 로우 펄스 신호를 인가받은 세마포 회로(100)가 다른 프로세스(2, 1)의 동작 여부에 따라, 선택적으로 하이 펄스 또는 로우 펄스 신호를 출력하는 단계(S230~S250)와, 상기 세마포 회로(100)로부터 하이 펄스 신호가 출력될 경우, 상기 단계(S220)로 궤환되고, 상기 세마포 회로(100)로부터 로우 펄스 신호가 출력될 경우 상기 프로세서는 상기 설정된 영역에서의 동작을 수행한 후, 동작 완료에 따라 상기 세마포 회로의 입력단에 하이 펄스 신호를 인가하는 단계(S250~S270)로 이루어진다.Referring to FIG. 4, the data error prevention method of the dual processor supporting system according to the present invention stores an address area when a message width of a message transmitted and received through the memory 3 is larger than the data width of the memory 3. (S) and implementing the semaphore circuit 100 for the set memory area (S200 to S210), and the processors 1 and 2 are operated when the semaphore circuit 100 operates in the set area. Applying a low pulse signal to the input terminal (S220) and the semaphore circuit 100 receiving the low pulse signal selectively outputs a high pulse signal or a low pulse signal depending on whether other processes (2, 1) operate. And a high pulse signal is output from the semaphore circuit 100, and is fed back to the step S220, and a low pulse signal is output from the semaphore circuit 100. After performing the operation in the set area, the parser may be configured to apply a high pulse signal to the input terminal of the semaphore circuit (S250 to S270) as the operation is completed.

우선 본 발명은 듀얼 포트 램(3)의 동일한 영역에 양쪽 프로세서(1, 2)가 동작을 시도할 경우, BUSY 신호를 이용하여 하나의 프로세서만 동작을 하고 나머지 프로세서는 나중에 동작하게 하는 과정은 상술한 종래 기술과 동일하므로, 부가된 데이터 오류 방지부(10)를 통한 데이터 폭 이상의 메시지가 송수신되는 경우에 대해서만 도 4를 참조하여 설명하기로 한다.First, when both processors 1 and 2 attempt to operate in the same region of the dual port RAM 3, only one processor is operated using the BUSY signal and the other processors are operated later. Since it is the same as the prior art, only a case in which a message having a data width or more through the added data error prevention unit 10 is transmitted and received will be described with reference to FIG. 4.

우선 두 프로세서(1, 2) 사이의 하나의 메모리(3)를 통해 송수신되는 메시지 중 메시지 폭이 메모리(3)의 데이터 폭보다 큰 경우의 어드레스 영역을 메모리(3)에 설정하고(S200), 상기 설정된 메모리 영역에 대한 프로세서 동작 여부 제어 신호를 출력하는 세마포 회로(100)를 구현한다(S210).First, an address area when a message width is greater than the data width of the memory 3 among messages transmitted and received through one memory 3 between the two processors 1 and 2 is set in the memory 3 (S200), A semaphore circuit 100 that outputs a processor operation control signal for the set memory area is implemented (S210).

따라서, 상기 세마포 회로(100)는 상기 영역이 연속적인 경우가 아닌 경우에는 다수 구현되어야 한다.Therefore, the semaphore circuit 100 must be implemented in a number of cases when the region is not continuous.

제 1 프로세서(1)가 상기 설정된 영역에서 동작을 하기 위해 상기 세마포 회로(100)에 로우 펄스 신호를 입력한다(S220).The first processor 1 inputs a low pulse signal to the semaphore circuit 100 to operate in the set region (S220).

상기 세마포 회로(100)는 로우 펄스 신호를 입력받아, 상기 메모리의 해당 어드레스 영역에서 제 2 프로세서(2)가 동작하고 있는지 판단하게 되는데(S230), 도 4에는 도시되어 있지 않지만 세마포 회로(100)가 제 2 프로세서(2)의 동작 여부를 판단하게 되는 상세한 동작 원리를 후술하기로 한다.The semaphore circuit 100 receives the low pulse signal and determines whether the second processor 2 is operating in the corresponding address area of the memory (S230). Although not shown in FIG. 4, the semaphore circuit 100 may be used. A detailed operation principle of determining whether the second processor 2 is operated will be described later.

상기 로우 펄스 신호는 세마포 회로(100) D타입 플립플롭(110)의 입력이 된다.The low pulse signal becomes an input of the semaphore circuit 100 D-type flip-flop 110.

상기 D 플립플롭들의 동작은 종래 기술에서 잘 알려져 있으며 여기서는 상세히 기술하지 않기로 한다. 기본적으로 D플립플롭은 오직 하나의 이진 입력 신호와 하나의 이진 출력 신호를 구비하여 상기 입력 신호는 D플립플롭의 입력 클록 신호와 동기된다. 즉, D 플립플롭의 이진 출력 신호는 지정된 클록 펄스 천이가 발생할 때 이진 입력 신호의 상태를 취한다.The operation of the D flip-flops is well known in the art and will not be described in detail herein. Basically, the D flip-flop has only one binary input signal and one binary output signal so that the input signal is synchronized with the input clock signal of the D flip flop. That is, the binary output signal of the D flip-flop takes the state of the binary input signal when a specified clock pulse transition occurs.

따라서, 상기 D 타입 플립플롭(110)은 로우 펄스 신호 입력에 따라 로우 펄스 신호를 출력하는데, 도 3에 도시한 바와 같이 반전되어 하이 펄스 신호가 부정 논리곱 게이트(120)의 제 1 입력(121)으로 입력된다.Accordingly, the D-type flip-flop 110 outputs a low pulse signal according to the low pulse signal input, and is inverted as shown in FIG. 3 so that the high pulse signal is the first input 121 of the negative AND gate 120. ) Is entered.

이때, 상기 제 2 프로세서(2)가 먼저 동작하고 있는 경우에는 제 2 프로세서(130)로 출력되는 로우 펄스 신호가 상기 부정 논리곱 게이트(120)의 제 2 입력(122)에 입력되므로, 상기 부정 논리곱 게이트(120)의 출력은 하이 펄스 신호가 된다.In this case, when the second processor 2 is operating first, the low pulse signal output to the second processor 130 is input to the second input 122 of the negative AND gate 120. The output of the AND gate 120 becomes a high pulse signal.

즉, 상기 S230의 단계에서 제 2 프로세서(2)가 동작중인 경우에, 상기 세마포 회로(100)는 제 1 프로세서(1)에 하이 펄스 신호를 출력하게 되고(S240), 상기 하이 펄스 신호를 입력받은 제 1 프로세서(1)는 다시 세마포 회로(100)의 입력단(111)에 로우 펄스 신호를 입력하는 S220의 단계를 재 수행하게 된다.That is, when the second processor 2 is operating in the step S230, the semaphore circuit 100 outputs a high pulse signal to the first processor 1 (S240), and inputs the high pulse signal. The received first processor 1 again performs step S220 of inputting a low pulse signal to the input terminal 111 of the semaphore circuit 100.

그러나, 상기 제 2 프로세서(2)가 동작을 하고 있지 않은 경우에는 상기 제 2 프로세서(130)가 세마포 회로(100)의 입력단(131)에 하이 펄스를 입력하고 동작을 완료하게 되고, 상기 제 2 프로세서(2)로 출력(143)되는 하이 펄스 신호가 상기 부정 논리곱 게이트(120)의 제 2 입력(122)에 입력되므로, 상기 부정 논리곱 게이트(120)의 출력(123)은 로우 펄스 신호가 된다.However, when the second processor 2 is not operating, the second processor 130 inputs a high pulse to the input terminal 131 of the semaphore circuit 100 to complete the operation. Since the high pulse signal output 143 to the processor 2 is input to the second input 122 of the negative gate 120, the output 123 of the negative gate 120 is a low pulse signal. Becomes

즉, 상기 S230의 단계에서 제 2 프로세서(2)가 동작하고 있지 않을 경우에는, 상기 세마포 회로(100)는 제 1 프로세서(1)에 로우 펄스 신호를 출력하게 되고(S250), 상기 제 1 프로세서(1)는 상기 설정된 영역에서 동작을 수행한 후(S260), 상기 세마포 회로(100)의 입력단(110)에 하이 펄스 신호를 입력하고 동작을 완료하게 된다(S270).That is, when the second processor 2 is not operating in the step S230, the semaphore circuit 100 outputs a low pulse signal to the first processor 1 (S250). After performing the operation in the set area (S260) (1), a high pulse signal is input to the input terminal 110 of the semaphore circuit 100 to complete the operation (S270).

따라서, 양쪽 프로세서가 동시에 동일한 영역에서 동작하고자 하는 경우에도, 상기 세마포 회로가 미리 동작하고 있는 프로세서가 동작을 마칠때까지 다른 프로세서의 동작을 금지하여 데이터 오류를 방지할 수 있다.Therefore, even when both processors intend to operate in the same area at the same time, data errors can be prevented by prohibiting the operation of another processor until the processor in which the semaphore circuit operates in advance finishes the operation.

이상의 본 발명은 상기에 기술된 실시예들에 의해 한정되지 않고, 당업자들에 의해 다양한 변형 및 변경을 가져올 수 있으며, 이는 첨부된 청구항에서 정의되는 본 발명의 취지와 범위에 포함된다.The present invention is not limited to the embodiments described above, and various modifications and changes can be made by those skilled in the art, which are included in the spirit and scope of the present invention as defined in the appended claims.

이상에서 설명한 바와 같이 본 발명은 세마포 회로를 부가하여 각 프로세서간의 통신시 메모리의 데이터 폭 이상의 메시지가 전송될 경우 발생할 수 있는 데이터 오류를 방지할 수 있는 효과가 있다.As described above, the present invention has an effect of adding a semaphore circuit to prevent data errors that may occur when a message larger than the data width of the memory is transmitted during communication between the processors.

Claims (2)

하나의 메모리를 통해 읽기 또는 쓰기 동작을 수행하여 메시지를 송수신하는 두 개의 프로세서를 지원하는 시스템에 있어서,In a system that supports two processors to send and receive messages by performing a read or write operation through a single memory, 상기 메모리는 상기 송수신되는 메시지 폭이 메모리의 데이터 폭보다 큰 어드레스 영역이 설정되고,The memory has an address area in which the message width to be transmitted and received is greater than the data width of the memory, 상기 두 프로세서와 각각 제어 신호선을 통해 접속되는 두 개의 입력단과, 상기 두 프로세서 각각에 결과값을 출력하는 두 개의 출력단을 구비하여, 상기 설정된 메모리의 어드레스 영역에서 동작하기 위한 제 1 프로세서로부터 로우 펄스 신호가 입력되면, 상기 제 2 프로세서의 상기 어드레스 영역에서의 동작 여부를 판단하여, 상기 제 2 프로세서로부터 동작에 따른 로우 펄스 신호가 입력될 경우에는 상기 제 1 프로세서에 하이 펄스 신호를 출력하여 상기 어드레스 영역에서의 동작이 금지되도록 지원하고, 상기 제 2 프로세서로부터 동작 완료에 따른 하이 펄스 신호가 입력될 경우에는 제 1 프로세서에 로우 펄스 신호를 출력하여 동작되도록 지원하는 다수의 세마포 회로로 이루어진 데이터 오류 방지부를 더 포함하여 구성되는 것을 특징으로 하는 이중 프로세서 지원 시스템.A low pulse signal from a first processor for operating in an address region of the set memory, having two input terminals connected to the two processors, respectively, via control signal lines, and two output terminals outputting result values to the two processors, respectively. If is input, it is determined whether the second processor operates in the address area, and when a low pulse signal corresponding to an operation is input from the second processor, a high pulse signal is output to the first processor to output the high address signal. The data error prevention unit includes a plurality of semaphore circuits that support the operation of the control circuit and output a low pulse signal to the first processor when the high pulse signal is input from the second processor. Characterized in that further comprises Dual processor support system. 두 프로세서 사이의 하나의 메모리를 통해 송수신되는 메시지 중 메시지 폭이 메모리의 데이터 폭보다 큰 경우의 어드레스 영역을 메모리에 설정하고, 상기 설정된 메모리 영역에 대한 프로세서 동작 여부 제어 신호를 출력하는 세마포 회로를 구현하는 제 1 단계와;Implementing a semaphore circuit that sets an address area in a memory when a message width is greater than a data width of a memory among messages transmitted and received through a memory between two processors, and outputs a processor operation control signal for the set memory area. A first step of doing; 상기 설정된 영역에서의 동작시 프로세서가 상기 세마포 회로의 입력단에 로우 펄스 신호를 인가하는 제 2 단계와;A second step of applying, by the processor, a low pulse signal to an input terminal of the semaphore circuit during operation in the set region; 상기 로우 펄스 신호를 인가받은 세마포 회로가 다른 프로세스의 동작 여부에 따라, 선택적으로 하이 펄스 또는 로우 펄스 신호를 출력하는 제 3 단계와;A third step in which the semaphore circuit receiving the low pulse signal selectively outputs a high pulse signal or a low pulse signal according to whether another process operates; 상기 세마포 회로로부터 하이 펄스 신호가 출력될 경우, 상기 제 2 단계로 궤환되고, 상기 세마포 회로로부터 로우 펄스 신호가 출력될 경우 상기 프로세서는 상기 설정된 영역에서의 동작을 수행한 후, 동작 완료에 따라 상기 세마포 회로의 입력단에 하이 펄스 신호를 인가하는 제 4 단계로 이루어지는 것을 특징으로 하는 이중 프로세서 지원 시스템에서의 데이터 오류 방지 방법.When the high pulse signal is output from the semaphore circuit, the processor returns to the second step, and when the low pulse signal is output from the semaphore circuit, the processor performs an operation in the set area and then, upon completion of the operation, And a fourth step of applying a high pulse signal to an input terminal of the semaphore circuit.
KR1020010058740A 2001-09-21 2001-09-21 Redundancy processors system and method for preventing data error thereof KR20030025610A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010058740A KR20030025610A (en) 2001-09-21 2001-09-21 Redundancy processors system and method for preventing data error thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010058740A KR20030025610A (en) 2001-09-21 2001-09-21 Redundancy processors system and method for preventing data error thereof

Publications (1)

Publication Number Publication Date
KR20030025610A true KR20030025610A (en) 2003-03-29

Family

ID=27725099

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010058740A KR20030025610A (en) 2001-09-21 2001-09-21 Redundancy processors system and method for preventing data error thereof

Country Status (1)

Country Link
KR (1) KR20030025610A (en)

Similar Documents

Publication Publication Date Title
EP0057511B1 (en) Information processing unit
US4841178A (en) Asynchronous processor arbitration circuit
US5535343A (en) Method and apparatus for generating write signals
US20010028629A1 (en) Self-synchronous transfer control circuit and data driven information processing device using the same
US8201015B2 (en) Control card circuit and method for selecting a synchronization source among a plurality of line card circuits
KR20030025610A (en) Redundancy processors system and method for preventing data error thereof
US20050235069A1 (en) Microcontroller
JPH01305460A (en) Inter-processor communication system
JPH07154451A (en) Scanning programmable check matrix for system interconnection use
US6304931B1 (en) Access limiting bus control system and method
US7058842B2 (en) Microcontroller with multiple function blocks and clock signal control
US4872108A (en) Device having multiplexer for enabling priority and non-priority common circuit
US6175257B1 (en) Integrated circuit comprising a master circuit working at a first frequency to control slave circuits working at a second frequency
KR100214327B1 (en) Interrupt circuit
KR930004903B1 (en) Parallel data communication system and its method between processors by using data bus
JPH0561812A (en) Information processing system
JPH11239193A (en) Clock synchronization communication equipment
JP3597744B2 (en) Interrupt factor signal flag register device
JP4608143B2 (en) Calling information processing device
JPS62217481A (en) Multiport memory circuit
KR100267767B1 (en) Interrupt generator
JPH1153424A (en) Logic simulator
JPH07121483A (en) Shared memory access control circuit
JPH09218848A (en) Daisy chain system for bus interface
JPH02244369A (en) Inter-firmware communication system

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination