KR101371506B1 - Method for dead-lock avoidance for 2-processor data communication system - Google Patents

Method for dead-lock avoidance for 2-processor data communication system Download PDF

Info

Publication number
KR101371506B1
KR101371506B1 KR1020060118053A KR20060118053A KR101371506B1 KR 101371506 B1 KR101371506 B1 KR 101371506B1 KR 1020060118053 A KR1020060118053 A KR 1020060118053A KR 20060118053 A KR20060118053 A KR 20060118053A KR 101371506 B1 KR101371506 B1 KR 101371506B1
Authority
KR
South Korea
Prior art keywords
flag
processor
data
dpram
queue
Prior art date
Application number
KR1020060118053A
Other languages
Korean (ko)
Other versions
KR20080048125A (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 KR1020060118053A priority Critical patent/KR101371506B1/en
Publication of KR20080048125A publication Critical patent/KR20080048125A/en
Application granted granted Critical
Publication of KR101371506B1 publication Critical patent/KR101371506B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 프로세서간 데이터 처리 시스템에서 교착상태 회피 방법에 관한 것으로서, 이중 포트 램(Dual-Port RAM : 이하 'DPRAM'이라 칭함) 큐(Queue)의 플래그 영역에 기록되어 있는 플래그(flag) 값이 송신측 프로세서의 기록 완료를 나타내는 플래그 값인지 여부를 확인하는 과정과, 상기 플래그 값이 상기 송신측 프로세서의 기록 완료를 나타내는 플래그 값이 아닌 그 이외의 값일 시, 수신측 프로세서의 처리 완료를 나타내는 플래그 값으로 해석하여 해당 DPRAM 큐의 데이터 영역에 데이터를 기록하는 과정을 포함하여, DPRAM 동일 주소 충돌에 의한 교착상태 발생 및 교착상태에 의한 프로세서간 통신절단을 피할 수 있는 이점이 있다. The present invention relates to a deadlock avoidance method in an interprocessor data processing system, wherein a flag value recorded in a flag area of a dual-port RAM (hereinafter, referred to as 'DPRAM') queue is stored. A process of checking whether or not it is a flag value indicating completion of recording by the transmitting processor, and a flag indicating completion of processing by the receiving processor when the flag value is anything other than a flag indicating completion of recording by the transmitting processor. Including a process of writing data into a data area of a corresponding DPRAM queue by interpreting the value, there is an advantage of avoiding deadlock occurrence due to DPRAM identical address collision and interprocessor communication disconnection due to deadlock.

프로세서, 데이터 처리 시스템, 교착, DPRAM, 플래그 Processor, Data Processing System, Deadlock, DPRAM, Flags

Description

프로세서간 데이터 처리 시스템에서 교착상태 회피 방법{METHOD FOR DEAD-LOCK AVOIDANCE FOR 2-PROCESSOR DATA COMMUNICATION SYSTEM}How to avoid deadlocks in interprocessor data processing systems {METHOD FOR DEAD-LOCK AVOIDANCE FOR 2-PROCESSOR DATA COMMUNICATION SYSTEM}

도 1은 일반적인 프로세서간 데이터 처리 시스템의 구성을 도시한 도면, 및1 is a diagram illustrating a configuration of a general interprocessor data processing system, and

도 2는 본 발명의 실시 예에 따른 DPRAM 큐의 처리상태 판별방법을 도시한 도면.2 is a diagram illustrating a processing state determination method of a DPRAM queue according to an exemplary embodiment of the present invention.

본 발명은 프로세서간 데이터 처리 시스템에 관한 것으로서, 특히, 프로세서간 데이터 처리 시스템에서 교착상태 회피 방법에 관한 것이다. The present invention relates to an interprocessor data processing system, and more particularly, to a deadlock avoidance method in an interprocessor data processing system.

2개의 프로세서를 밀결합하여 데이터를 송수신하는 시스템에서는 일반적으로 두 프로세서의 사이에 동시 읽기 및 쓰기 동작이 가능한 메모리장치, 즉 이중포트램(Dual-Port RAM : 이하 'DPRAM'이라 칭함)을 두어, 반대편 프로세서의 처리를 기다리지 않고도 최대한의 처리속도를 얻을 수 있도록 구성한다. In a system in which two processors are tightly coupled to transmit and receive data, a memory device capable of simultaneously reading and writing operations between two processors, that is, a dual-port RAM (hereinafter referred to as 'DPRAM') is provided. It is configured to get the maximum processing speed without waiting for the processing of the opposite processor.

도 1은 일반적인 프로세서간 데이터 처리 시스템의 구성을 도시한 도면이다. 1 is a diagram illustrating a configuration of a general interprocessor data processing system.

상기 도 1을 참조하면, 상기 시스템은 DPRAM(120)을 일정한 크기의 블럭으로 분할하여 다수개의 큐(Queue)로 구성하고, 데이터 송신측(100)에서 첫 번째 큐에서부터 데이터를 써나가면 수신측(110)에서도 첫 번째 큐로부터 차례로 데이터를 읽어가도록 하여 2개의 프로세서(100, 110) 간 데이터 통신이 가능하도록 하였다. 또한, 상기 각 큐에는 데이터를 주고 받기 위한 영역(123) 이외에 두 프로세서(100, 110)의 해당 영역에 대한 처리상태를 표시하기 위한 플래그(Flag) 영역(121)을 두어, 송신측(100)에서 데이터 영역(123)에 데이터를 기록한 후 상기 플래그 영역(121)을 특정 값, 예를 들어 0xAA로 기록하여 두고, 수신측(110)에서 상기 플래그 영역(121)의 값을 주기적으로 읽어 보아 상기 특정 값(0xAA)을 가지면 해당 큐의 데이터를 모두 읽어 들인 뒤 상기 플래그 영역(121)을 다른 특정 값, 예를 들어 0x00로 설정함으로써, 송신측(100)에서 다시 상기 데이터 영역(123)에 데이터를 기록할 수 있도록 한다. 송신측(100)에서는 해당 영역(123)에 다시 새로운 데이터를 기록하고자 하는 경우, 해당 영역(123)에 대한 처리상태 플래그를 먼저 확인하여, 수신측 프로세서(110)의 처리가 완료되었음을 알리는 플래그(0x00)로 변경되어 있는 경우에만 새로운 데이터를 기록한다. 이와 같은 동작을 연속적으로 수행함으로써 송신측 프로세서(100)는 수신측 프로세서(110)로 데이터를 송신할 수 있다. 따라서, 송신측(100)에서 현재 송신한 큐의 플래그를 확인한 결과 '송신측 프로세서 기록완료'(OxAA) 상태로 되어 있다면, 이는 정상적인 경우라면 데이터 수신측(110)에서 아직 데이터를 수신하지 못한 것이므로, 송신 프로세서(100)는 현재 의 큐가 비워질 때까지, 즉 현재 큐의 플래그가 지워질 때(0x00으로 변경될 때)까지 기다려야 한다. Referring to FIG. 1, the system divides the DPRAM 120 into blocks having a predetermined size, and configures a plurality of queues, and when data is written from the first queue at the data transmitting side 100, the receiving side ( 110 also reads data from the first queue in order to enable data communication between the two processors (100, 110). In addition, each of the queues has a flag area 121 for indicating a processing state of the corresponding areas of the two processors 100 and 110 in addition to the area 123 for sending and receiving data. After the data is recorded in the data area 123, the flag area 121 is recorded as a specific value, for example, 0xAA, and the receiving side 110 periodically reads the value of the flag area 121. If it has a specific value (0xAA), all the data of the corresponding queue is read, and then the flag area 121 is set to another specific value, for example, 0x00, so that the sender 100 returns data to the data area 123 again. Make sure that you record it. When the transmitting side 100 wants to record new data in the corresponding region 123 again, the processing state flag for the corresponding region 123 is first checked, and a flag indicating that the processing of the receiving processor 110 is completed ( Write new data only if it is changed to 0x00). By continuously performing such an operation, the transmitting processor 100 may transmit data to the receiving processor 110. Therefore, if the sender 100 checks the flag of the queue currently transmitted, and if it is in the 'transmitter processor write complete' (OxAA) state, this means that the data receiver 110 has not received data yet. For example, the transmission processor 100 must wait until the current queue is empty, that is, until the flag of the current queue is cleared (changes to 0x00).

한편, 상기 DPRAM은 두 개의 프로세서가 동일주소에 대하여 동시 접근을 시도하며, 상기 두 프로세서의 동작 중 적어도 하나는 쓰기 동작일 경우, 그 최종 처리 결과에 대한 정상기록을 보장하지 않는다는 장치 특성을 가진다. 예를 들어, 송신측 프로세서가 특정 데이터 영역에 기록한 데이터를 수신측 프로세서가 처리하였는지 여부를 확인하기 위해 해당 플래그 주소에 읽기 동작을 수행하고, 수신측 프로세서가 '송신측 프로세서 기록완료'를 나타내는 플래그를 기록하기 위해 동일 플래그 주소에 쓰기 동작을 수행할 수 있다. 이와 같이 큐 플래그가 기록되는 영역에 대한 동시 접근으로 인해 주소 충돌이 발생하는 경우, 해당 플래그 주소에 유효한 플래그 값(0x00, 0xAA)이 아닌 의미없는 값으로 기록되게 되고, 송신측 프로세서는 폴링(polling)만을 계속하여 반복하면서 수신측 프로세서가 해당 플래그를 처리완료 플래그로 변경해주기만을 기다리게 된다. 이때, 수신측 프로세서는, 이미 해당 큐 플래그에 '처리 완료'를 나타내는 값을 기록하였기 때문에, 송신측 프로세서가 새로운 데이터를 기록하고 큐 플래그를 '송신측 프로세서 기록완료'(OxAA)로 변경해 주기만을 기다리게 된다. 즉, 두 프로세서는 서로 상대방의 처리가 완료되기만을 기다리는 교착상태(dead-lock state)에 빠지게 되고, 이는 곧 두 프로세서 사이의 통신 절단이라는 치명적인 문제를 일으킨다. On the other hand, the DPRAM has a device characteristic that two processors try to access the same address at the same time, and at least one of the operation of the two processors does not guarantee the normal writing of the final processing result when a write operation. For example, a read operation is performed on a corresponding flag address in order to confirm whether a receiving processor has processed data written in a specific data area by a sending processor, and a receiving processor writes a flag indicating 'sending processor write'. A write operation may be performed at the same flag address to write a. If an address conflict occurs due to simultaneous access to the area where the queue flag is recorded, it is recorded as a meaningless value instead of a valid flag value (0x00, 0xAA) for the flag address. ), It will wait for the receiving processor to change the flag to the completed flag. At this time, since the receiving side processor has already recorded a value indicating 'processing completion' in the corresponding queue flag, the transmitting side processor only records new data and changes the queue flag to 'sending side processor writing complete' (OxAA). I will wait. That is, the two processors enter a dead-lock state waiting for each other's processing to complete, which causes a fatal problem of communication loss between the two processors.

여기서, 한 번 발생된 큐의 점유 상태 표기 오류가 DPRAM 통신에 오류를 미치는 경위를 예를 들어 살펴보면 다음과 같다. 먼저, n 번째 큐의 플래그가 두 프 로세서 사이의 주소 충돌로 인하여, 유효한 두 가지 플래그 값(0xAA / 0x00)이 아닌, 손상된 어떤 임의의 값으로 기록되었다고 가정하고, 송신측 송신 포인터(Tx pointer)와 수신측 수신 포인터(Rx pointer)가 모두 n-1번째 큐에 있다고 가정한다. 이와 같은 상태에서 송신측에서 송신할 데이터가 발생하면, 송신측 프로세서는 이를 n-1 번째 큐의 데이터 영역에 해당 데이터를 기록하고 플래그를 0xAA로 변경기록한 후, n 번째 큐에 송신데이터를 기록하고자 한다. 그러나, n 번째 큐 플래그가 수신측 처리완료 플래그(0x00)가 아니므로, 송신측 프로세서는 더 이상 데이터 기록을 진행할 수 없음으로 판단하고, 지속적인 폴링(polling)동작을 수행하여, 수신측 프로세서의 처리가 완료되어 플래그가 '수신측 처리완료 플래그(0x00)로 변경되기만을 기다린다. 한편, 수신측 프로세서는 n-1번째 큐에 대한 처리를 완료하고, n번째 큐에 도착하게 되면, 큐 플래그의 상태가 '송신측 프로세서 기록 완료상태'(0xAA)가 아니므로, 지속적인 폴링(polling) 동작을 수행하여, 플래그가 0xAA 로 변경되기만을 기다리게 된다. Here, the case where the occupancy status indication error of the queue that occurred once causes an error in DPRAM communication is as follows. First, it is assumed that the flag of the nth queue is written as any corrupted value, not two valid flag values (0xAA / 0x00), due to an address conflict between the two processors. It is assumed that both the and Rx pointers are in the n-1th queue. In this state, when the sender generates data to be transmitted, the sender processor records the data in the data area of the n-1th queue, changes the flag to 0xAA, and then records the transmission data in the nth queue. do. However, since the nth cue flag is not the receiving side completion flag (0x00), the transmitting side processor determines that it is no longer able to proceed with data recording, and performs a continuous polling operation to process the receiving side processor. Waits until the flag is changed to the 'process side completion flag (0x00)'. On the other hand, when the receiving processor completes the processing for the n-1th queue and arrives at the nth queue, the status of the queue flag is not 'the sending processor write completion status' (0xAA), and thus, continuous polling is performed. Operation, only waiting for the flag to change to 0xAA.

이와 같이, 상기 DPRAM을 통한 두 프로세서 간 통신에서, 큐의 플래그를 통하여 데이터 송신측과 수신측이 각각 해당 큐에 대한 처리상태를 표기함에 있어서, 두 프로세서가 동시에 동일 주소에 대하여 쓰기 동작이 포함된 접근을 동시에 요청으로 인하여 두 프로세서 간에 발생하는 교착 상태를 회피할 수 있는 방법의 제안이 필요하다. As described above, in the communication between the two processors through the DPRAM, when the data transmitting side and the receiving side respectively indicate the processing status of the corresponding queue through the flag of the queue, the two processors simultaneously write to the same address. There is a need for a way to avoid deadlocks between two processors due to simultaneous access requests.

따라서, 본 발명의 목적은 프로세서간 데이터 처리 시스템에서 교착상태 회피 방법을 제공함에 있다. Accordingly, an object of the present invention is to provide a deadlock avoidance method in an interprocessor data processing system.

본 발명의 다른 목적은 DPRAM 기반 통신 시스템에서 동일 주소에 대한 동시 접근에 따른 데이터 손상에 의한 교착 상태를 회피하기 위한 방법을 제공함에 있다. Another object of the present invention is to provide a method for avoiding deadlock caused by data corruption due to simultaneous access to the same address in a DPRAM-based communication system.

상기 목적을 달성하기 위해 본 발명의 실시 예에 따르면, 프로세서간 데이터 처리 시스템에서 프로세서의 데이터 기록 방법은, 이중 포트 램(Dual-Port RAM : 이하 'DPRAM'이라 칭함) 큐(Queue)의 플래그 영역에 기록되어 있는 플래그(flag) 값이 송신측 프로세서의 기록 완료를 나타내는 플래그 값인지 여부를 확인하는 과정과, 상기 플래그 값이 상기 송신측 프로세서의 기록 완료를 나타내는 플래그 값이 아닌 그 이외의 값일 시, 수신측 프로세서의 처리 완료를 나타내는 플래그 값으로 해석하여 해당 DPRAM 큐의 데이터 영역에 데이터를 기록하는 과정을 포함하는 것을 특징으로 한다. In order to achieve the above object, according to an embodiment of the present invention, a data recording method of a processor in an interprocessor data processing system includes a flag area of a dual-port RAM (hereinafter, referred to as a DPRAM) queue. Checking whether a flag value recorded in the flag value is a flag value indicating completion of recording by the transmitting processor, and when the flag value is anything other than a flag value indicating completion of recording by the transmitting processor. And writing data into a data area of a corresponding DPRAM queue by interpreting the flag value indicating the completion of the processing of the receiving processor.

이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

이하, 본 발명은 프로세서간 데이터 처리 시스템에서 교착상태 회피 방법에 대해 설명하기로 한다. Hereinafter, the present invention will be described in a deadlock avoidance method in an interprocessor data processing system.

도 2는 본 발명의 실시 예에 따른 DPRAM 큐의 처리상태 판별방법을 도시한 도면이다. 2 is a diagram illustrating a method of determining a processing state of a DPRAM queue according to an exemplary embodiment of the present invention.

상기 도 2를 참조하면, 프로세서는 201단계에서 데이터를 기록하고자 하는 DPRAM 큐의 플래그 영역에 접근하여 상기 플래그 영역에 기록되어 있는 플래그 값을 확인한다. 이후, 상기 프로세서는 203단계에서 상기 플래그 값이 '송신측 프로세서가 해당 영역에 대하여 기록을 완료하였음'을 나타내는 플래그(예를 들어, 0xAA)인지 여부를 확인하고, 상기 플래그 값이 '송신측 기록 완료'를 나타내는 플래그일 시, 상기 201단계로 돌아가 이하 단계를 반복 수행함으로써 상기 플래그 값이 상기 '송신측 기록 완료'를 나타내는 플래그 값이 아닌 그 이외의 값을 나타낼 때까지 주기적인 반복 폴링을 수행하는 대기 상태에 머무른다. Referring to FIG. 2, in step 201, the processor accesses a flag area of a DPRAM queue to which data is to be written and checks a flag value recorded in the flag area. In step 203, the processor checks whether the flag value is a flag (eg, 0xAA) indicating that the sender processor has completed recording of the corresponding region, and the flag value is the sender record. If the flag is 'Complete', returning to step 201 and repeating the following steps until the flag value indicates a value other than the flag value indicating the 'recording side of the sender' is completed, periodically repeat polling is performed. Stay in standby.

만약, 상기 확인된 플래그 값이 '송신측 기록 완료'를 나타내는 플래그가 아닌 그 이외의 값일 시, 상기 프로세서는 205단계에서 해당 플래그 값을 '수신측 프로세서가 해당 영역에 대하여 처리를 완료하였으므로, 송신측 프로세서가 새로운 데이터를 기록하는 것을 허락함'을 나타내는 플래그 값(0x00)으로 해석하여 해당 영역에 새로운 데이터를 기록한다. If the checked flag value is anything other than a flag indicating 'transmission side write completion', the processor transmits the flag value in step 205 because the receiver side has completed processing for the corresponding area. New data is recorded in the corresponding area by interpreting the flag value (0x00) indicating that the processor is allowed to write new data.

즉, 동일 주소에 대한 동시 쓰기 동작으로 인한 DPRAM 주소충돌이 발생하여 유효한 플래그 값(0xAA, 0x00)이 아닌 값이 기록되어 버린 경우, 송신측 프로세서 는 플래그를 확인 후, 해당 DPRAM 큐의 데이터 영역에 데이터 기록을 진행한다. That is, if a DPRAM address conflict occurs due to simultaneous write operation to the same address and a value other than the valid flag values (0xAA, 0x00) is recorded, the sender processor checks the flag and then enters the data area of the corresponding DPRAM queue. Proceed with data recording.

이후, 상기 프로세서는 본 발명에 따른 알고리즘을 종료한다. The processor then terminates the algorithm according to the invention.

한편, 상기와 같은 동작이 가능한 이유는 다음과 같다. 본 발명에서 가정한 DPRAM 기반 2-프로세서 통신시스템에서는 DPRAM의 각 분할영역을 (데이터 + 처리상태표시용 플래그)로 구성하며, 두 프로세서는 각각 먼저 해당 영역에 대한 플래그를 확인하여 자신이 접근해도 좋은 상태인지를 먼저 파악하고, 데이터 영역에 대한 처리를 완전히 종료한 이후, 마지막으로 플래그 값을 변경해야 한다. 그렇지 않으면, 해당 영역 데이터에 대한 무결성을 보장할 수 없다. 이러한 프로세서간 통신규약을 충실히 이행한다는 가정하에서, 플래그 값이 유효한 두 가지 값 이외에 또 다른 값을 가진다는 것은 수신측에서 데이터 처리를 완료하고, 플래그에 대한 쓰기 동작을 시도했다는 것을 의미한다. 즉, 송신측 프로세서는 해당 영역에 대한 처리상태를 확인하기 위하여 '읽기동작'을 시도하고, 동시에 수신측 프로세서는 동일 플래그에 대하여 '쓰기동작'을 시도했다는 것을 의미하며, 수신측에서 플래그에 대하여 '쓰기 동작'이 필요한 유일한 경우는 '해당 영역에 대한 처리를 완료했음을 표시'하기 위한 경우가 유일하다. 따라서, 송신측 프로세서는 '송신측 프로세서가 해당 영역에 대하여 기록을 완료'한 경우만 아니라면, 수신측 프로세서가 처리를 정상적으로 완료했다고 판단하여, 해당 영역에 대하여 새로운 데이터를 기록하여도 문제가 생기지 않는다. On the other hand, the reason for the above operation is as follows. In the DPRAM-based two-processor communication system assumed in the present invention, each partition of the DPRAM is configured with (data + processing status display flag), and each of the two processors may first check the flag for the corresponding area and access it by themselves. You must first determine if it is in a state, complete the processing of the data area, and finally change the flag value. Otherwise, the integrity of the area data cannot be guaranteed. Assuming that the interprocessor communication protocol is faithfully implemented, having a flag value having another value in addition to two valid values means that the receiver has completed data processing and attempted to write a flag. In other words, the sender processor attempts a 'read operation' to check the processing status of the corresponding area, and at the same time, the receiver processor attempts a 'write operation' for the same flag. The only case where a 'write operation' is needed is to 'mark that the processing has been completed for that area'. Therefore, the transmitting processor determines that the receiving processor has completed the processing normally unless the transmitting processor has completed recording of the corresponding region, and there is no problem even if new data is recorded for the corresponding region. .

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but is capable of various modifications within the scope of the invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the scope of the following claims, but also by the equivalents of the claims.

상술한 바와 같이, 본 발명은 DPRAM 기반의 두 프로세서간 통신이 필요한 시스템에서 두 프로세서간 DPRAM 내의 공유 영역에 대한 처리 상태 표시를 특정 주소 및 특정 값을 이용한 플래그 형태로 동기화를 이루는 경우, 플래그가 미리 약속된 두 가지 값이 아닌 다른 값이 기록되어 있다 하더라도 정상적인 값과 동일한 상태로 판단하고, 새로운 데이터를 손상된 플래그를 가진 DPRAM 영역에 계속하여 기록할 수 있도록 함으로써, DPRAM 동일 주소 충돌에 의한 교착상태 발생 및 교착상태에 의한 프로세서간 통신절단을 피할 수 있는 이점이 있다. As described above, in the present invention, in a system requiring communication between two processors based on DPRAM, when a processing status indication of a shared area in DPRAM between two processors is synchronized in the form of a flag using a specific address and a specific value, the flag is previously set. Deadlock due to DPRAM identical address collision occurs by judging the same state as normal value even if the value other than the two promised values is recorded and allowing new data to be continuously written to the DPRAM area with the damaged flag. And there is an advantage that can avoid the communication between the processor due to the deadlock.

Claims (2)

프로세서간 데이터 처리 시스템에서 프로세서의 데이터 기록 방법에 있어서,In the data processing method of the processor in the inter-processor data processing system, 이중 포트 램(Dual-Port RAM : 이하 'DPRAM'이라 칭함) 큐(Queue)의 플래그 영역에 기록되어 있는 플래그(flag) 값이 송신측 프로세서의 기록 완료를 나타내는 플래그 값인지 여부를 확인하는 과정과,Dual-Port RAM (hereinafter referred to as DPRAM) The process of checking whether or not the flag value recorded in the flag area of the queue is a flag value indicating the completion of the recording of the sending processor; , 상기 플래그 값이 상기 송신측 프로세서의 기록 완료를 나타내는 플래그 값이 아닌 그 이외의 값일 시, 수신측 프로세서의 처리 완료를 나타내는 플래그 값으로 해석하여 해당 DPRAM 큐의 데이터 영역에 데이터를 기록하는 과정을 포함하는 것을 특징으로 하는 방법. And when the flag value is anything other than a flag value indicating completion of writing by the transmitting processor, interpreting the flag value as a flag indicating processing completion by the receiving processor, and recording data in the data area of the corresponding DPRAM queue. Characterized in that. 제 1 항에 있어서, The method of claim 1, 상기 플래그 값이 상기 송신측 프로세서의 기록 완료를 나타내는 플래그 값일 시, 상기 플래그 값이 그 이외의 값을 나타낼 때까지 폴링(polling)을 수행하는 과정을 더 포함하는 것을 특징으로 하는 방법. And when the flag value is a flag value indicating completion of recording by the transmitting processor, performing polling until the flag value indicates another value.
KR1020060118053A 2006-11-28 2006-11-28 Method for dead-lock avoidance for 2-processor data communication system KR101371506B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060118053A KR101371506B1 (en) 2006-11-28 2006-11-28 Method for dead-lock avoidance for 2-processor data communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060118053A KR101371506B1 (en) 2006-11-28 2006-11-28 Method for dead-lock avoidance for 2-processor data communication system

Publications (2)

Publication Number Publication Date
KR20080048125A KR20080048125A (en) 2008-06-02
KR101371506B1 true KR101371506B1 (en) 2014-03-11

Family

ID=39804394

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060118053A KR101371506B1 (en) 2006-11-28 2006-11-28 Method for dead-lock avoidance for 2-processor data communication system

Country Status (1)

Country Link
KR (1) KR101371506B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001255902A (en) * 2000-03-14 2001-09-21 Fuji Electric Co Ltd Dual-port memory and its data transferring method and control system using the dual-port memory
JP2002091934A (en) * 2000-09-12 2002-03-29 Mitsubishi Electric Corp Data transmission system using dual port memory and dual port memory
KR100421168B1 (en) * 2001-09-06 2004-03-04 삼성전자주식회사 Method for processing a transmission data in a data processing system between processors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001255902A (en) * 2000-03-14 2001-09-21 Fuji Electric Co Ltd Dual-port memory and its data transferring method and control system using the dual-port memory
JP2002091934A (en) * 2000-09-12 2002-03-29 Mitsubishi Electric Corp Data transmission system using dual port memory and dual port memory
KR100421168B1 (en) * 2001-09-06 2004-03-04 삼성전자주식회사 Method for processing a transmission data in a data processing system between processors

Also Published As

Publication number Publication date
KR20080048125A (en) 2008-06-02

Similar Documents

Publication Publication Date Title
US7949863B2 (en) Inter-port communication in a multi-port memory device
CN100538684C (en) Dma controller, node, control method for data transfer
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
CN110858188B (en) Multiprocessor system with distributed mailbox structure and communication method thereof
KR101371506B1 (en) Method for dead-lock avoidance for 2-processor data communication system
US10621082B2 (en) Information processing device that guarantees consistency in access spaces
US20020040414A1 (en) Multiprocessor system and transaction control method for the same
US6345332B1 (en) Bus interchange apparatus and dual system for accessing a fault information register without regard to buffer conditions
KR950009763B1 (en) A method of data transmission and synchronization between two cpu's
CN109086609B (en) Method and system for multi-core communication with security attributes
KR100720663B1 (en) Device for synchronizing with dual port ram and microprocessor using the device
KR100278805B1 (en) Data Mediation Device and Method in Multi-Processing System
JPS59195728A (en) Data processing device
US20040148418A1 (en) Industrial or domestic local network
JPH01303694A (en) Control circuit for dual port memory
KR940003300B1 (en) Memory-queue in a system using pipe-line bus protocol
KR100308146B1 (en) Method for processing message in speech recognition system
JPH0115100B2 (en)
JP5076348B2 (en) Shared memory access method
KR100604569B1 (en) Apparatus for transceiving data between the processors and mobile terminal including the apparatus
JPH01198850A (en) Direction control system
KR20030009812A (en) Apparatus and method for controlling DPRAM
JPH0410037A (en) Sequential access memory
JPS62174852A (en) Receiving control method in data transmission system
KR970012181A (en) Data queue module and its control method

Legal Events

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