KR20010055219A - Full detection and management method of message buffer using DPRAM - Google Patents

Full detection and management method of message buffer using DPRAM Download PDF

Info

Publication number
KR20010055219A
KR20010055219A KR1019990056358A KR19990056358A KR20010055219A KR 20010055219 A KR20010055219 A KR 20010055219A KR 1019990056358 A KR1019990056358 A KR 1019990056358A KR 19990056358 A KR19990056358 A KR 19990056358A KR 20010055219 A KR20010055219 A KR 20010055219A
Authority
KR
South Korea
Prior art keywords
buffer
message
board
pool
master board
Prior art date
Application number
KR1019990056358A
Other languages
Korean (ko)
Other versions
KR100371136B1 (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 KR10-1999-0056358A priority Critical patent/KR100371136B1/en
Publication of KR20010055219A publication Critical patent/KR20010055219A/en
Application granted granted Critical
Publication of KR100371136B1 publication Critical patent/KR100371136B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

PURPOSE: A method for sensing and managing message buffer pull using a dual port ram is provided to instantly sense buffer full by transmitting and receiving control information between a master board and a slaver board via a DPRAM and reduce load of a processor by reporting buffer full or termination mutually. CONSTITUTION: Functions of a master board and a slaver board are initialized(S310). The master board is operated as master basic functions of sensing obstacles and managing the slaver board, transmitting a message to the slaver board, and receiving the message from the slaver board(S320-S323). The master board confirms the method for sensing buffer full in methods 1 and 2 before transmitting the message(S330). If method 1 is set up, the master board reads current transmission buffer write pointer(TXWP) in a control information area for confirming whether buffer flag of the corresponding write pointer is empty(S340). If empty, the master board stores the message in a transmission buffer indicated by the TXWP and changes the flag from empty to use(S390). The master board increases the value of the TXWP and changes the TXWP value with a transmission starting address(TXSA)(S391). If not empty, the master board generates transmission buffer full interrupt to the slaver board(S370) and waits in idle state(S371). If the master board receives buffer full termination interrupt(S380), the master board reopens message transmission. If method 2 is set up, the master board reads transmission buffer and read and write pointers and calculates the number of the empty buffers for calculating buffer full degree(S350). The master board compares the set reference value with the buffer full degree for judging buffer full(S360).

Description

이중포트메모리를 사용한 메시지 버퍼 풀 감지 및 관리 방법 {Full detection and management method of message buffer using DPRAM}Full detection and management method of message buffer using DPRAM}

본 발명은 ATM 교환기의 호처리 및 운용기능을 수행하는 프로세서들간의 메시지 통신을 전담하는 보드와 메인 프로세서간에서와 같이 이중포트메모리(Dual Port Random Access Memory : 이하 DPRAM이라 한다)를 사용하여 두 보드간의 메시지 버퍼를 운용하는 경우에 있어서, 메시지 버퍼의 풀 감지 및 관리에 관한 것이다.In the present invention, a board dedicated to message communication between processors performing call processing and operation functions of an ATM switch and two boards using dual port random access memory (hereinafter referred to as DPRAM) as between main processors. In the case of operating a message buffer, the present invention relates to the full detection and management of the message buffer.

종래에 두 보드간 통신(Inter-Processor Communication) 메시지 버퍼로서 이중포트메모리를 사용하는 경우, 메시지 버퍼의 풀(full)은 현 버퍼 포인터의 버퍼에 메시지가 처리되지 않아 버퍼가 비어있지 않을 경우에 감지되며, 이때 프로세서는 그 버퍼를 사용할 수 있을 때까지 기다려야 한다. 따라서 프로세서는 버퍼 풀을 감지한 후, 그 버퍼를 사용할 수 있을 때까지 그 버퍼가 비어졌는지 상태를 주기적으로 폴링(polling)해야 하므로 프로세서에 부하가 걸리는 문제점이 있다. 프로세서가 버퍼의 상태를 폴링하는 동안에 메시지 송신과 무관한 응용프로그램도 수행되지 못하기 때문에 시스템의 전체 성능을 저하시킨다. 또한, 버퍼가 완전 풀(100%)인 경우에만 버퍼 풀임을 감지할 수 있기 때문에 버퍼 풀 상태를 해소하더라도 다중 메시지를 전송하는 경우에는 메시지 버퍼 풀이 연속적으로 발생할 수 있다. 따라서 완전 풀이 아닌 경우에도 버퍼 풀에 가까워지면 버퍼 풀에 가까워졌음을 알려 메시지의 송신률을 조정하도록 해야 한다Conventionally, when using dual port memory as a message buffer between two boards, the full buffer of the message buffer is detected when the message is not processed in the buffer of the current buffer pointer and the buffer is not empty. The processor must wait until the buffer is available. Therefore, since the processor detects the buffer pool and needs to periodically poll the state of whether the buffer is empty until the buffer is available, the processor is overloaded. While the processor is polling for the status of the buffer, no applications can be run that are not related to sending messages, which degrades the overall performance of the system. In addition, since the buffer pool can be detected only when the buffer is a full pool (100%), even when the buffer pool is released, the message buffer pool may be continuously generated when multiple messages are transmitted. Therefore, even if it is not a full pool, when it is close to the buffer pool, it should be informed that it is close to the buffer pool to adjust the transmission rate of the message.

상기한 종래의 문제점을 해결하기 위한 본 발명의 목적은 두 보드가 DPRAM을 통해 메시지를 전달함에 있어, 프로세서의 부하 없이 즉각적인 버퍼 풀의 감지와 버퍼 풀의 해지 상태를 보고함으로써 프로세서의 유휴시간을 줄일 수 있도록 하는 이중포트메모리를 사용한 메시지 버퍼의 풀 감지 및 관리 방법을 제공하는 데 있다.An object of the present invention to solve the above-mentioned problems is to reduce the idle time of the processor by reporting the instantaneous detection of the buffer pool and reporting the buffer pool's cancellation status without the processor load, when the two boards deliver messages through the DPRAM. It provides a method for detecting and managing the pool of message buffers using dual port memory.

도 1은 DPRAM 인터페이스를 가지는 두 보드의 구성도1 is a configuration diagram of two boards having a DPRAM interface

도 2는 DPRAM의 자료구조도2 is a data structure diagram of a DPRAM

도 3은 본 발명에 따른 DPRAM의 송신버퍼 풀 감지 및 해지 방법을 보인 흐름도3 is a flowchart illustrating a method of detecting and releasing a transmission buffer pool of a DPRAM according to the present invention.

도 4는 본 발명에 따른 PRAM의 수신버퍼 풀 감지 및 해지 방법을 보인 흐름도4 is a flowchart illustrating a method of detecting and releasing a receiving buffer pool of a PRAM according to the present invention.

상기한 목적을 달성하기 위해 본 발명은 DPRAM과 인터럽트라는 하드웨어적인 자원을 이용해 소프트웨어적으로 효율적인 메시지 버퍼를 운용한다.In order to achieve the above object, the present invention utilizes hardware resources such as DPRAM and interrupts to operate a software-efficient message buffer.

이를 위해 DPRAM을 통해 두 보드간의 메시지 전달뿐만 아니라, 제어정보를 주고받으며, 메시지 송신/수신 루틴에서 DPRAM의 정보만으로 버퍼 풀을 감지할 수 있도록 DPRAM의 구조를 송신/수신버퍼 영역과 버퍼를 운용하는 포인터와 주소를 저장하는 제어정보영역으로 구성하며, 각각의 버퍼는 메시지 버퍼의 상태를 나타내는 플래그 영역을 포함한다.To this end, DPRAM not only transfers messages between the two boards, but also transmits and receives control information, and operates the DPRAM structure for transmitting and receiving buffer areas and buffers so that the buffer pool can be detected only by DPRAM information in the message sending / receiving routines. It consists of a control information area that stores a pointer and an address, and each buffer includes a flag area indicating the status of the message buffer.

그리고, 인터럽트를 이용하여 버퍼 풀 발생 및 버퍼 풀의 해지 상태를 즉각적으로 상대방 보드에게 알려줌으로써 메시지 통신을 단절하거나 재계하도록 한다. 따라서 마스터와 슬래이버 보드는 버퍼 풀 및 해지 상태를 계속적으로 체크하지 않기 때문에 CPU 의 부하를 줄일 수 있다.In addition, the interrupt is used to immediately notify the other board of the buffer pool generation and the buffer pool cancellation status, thereby disconnecting or resuming message communication. Thus, the master and slaver boards do not constantly check the buffer pool and revocation status, reducing the CPU load.

또한 본 발명에서는 2가지의 버퍼 풀의 감지 방법을 제공한다. 하나는 버퍼가 완전 풀인 경우에만 버퍼 풀로 감지하는 방법이고, 다른 하나는 버퍼 풀의 정도가 일정값(예: 70~90%) 이상이면 버퍼 풀로 감지하는 방법이다.In addition, the present invention provides two methods for detecting the buffer pool. One is to detect as a buffer pool only when the buffer is full, and the other is to detect as a buffer pool if the buffer pool is above a certain value (eg 70 ~ 90%).

이하, 첨부도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 하드웨어 구성을 나타낸 것이다.1 shows a hardware configuration according to an embodiment of the present invention.

도면에서 보듯이, ATM 교환시스템의 호처리 및 운용을 위한 마스터 보드(master board : 110)와 프로세서간 통신을 전담하는 슬래이버 보드(slaver board : 120)로 이루어지며, 상기 두 보드는 PCI(Peripheral Component Interconnect) 버스 인퍼페이스(131)로 연결되어, 슬래이버 보드(120) 내의 DPRAM(123)과 인터럽트(113,124) 자원을 이용하여 메시지를 전달하는 구조를 가진다.As shown in the figure, it consists of a master board (110) for call processing and operation of the ATM switching system and a slaver board (120) dedicated to communication between processors, and the two boards are PCI (Peripheral). Component Interconnect) connected to the bus interface 131 to transfer messages using the DPRAM 123 and the interrupt 113 and 124 resources in the slave board 120.

그리고 DPRAM(123)은 마스터 보드 CPU(111)와 슬래이버 보드 CPU(121)가 액세스(112,122) 할 수 있다.In addition, the DPRAM 123 may be accessed (112, 122) by the master board CPU 111 and the slave board CPU 121.

도 2는 도 1과 같이 구성되는 두 보드간 메시지 통신에 있어서, 버퍼 풀 감지에 따른 프로세서의 부하를 줄이기 위해 본 발명에서 제안된 DPRAM의 구조도 이다.FIG. 2 is a structural diagram of a DPRAM proposed in the present invention to reduce the load of a processor according to buffer pool sensing in message communication between two boards configured as shown in FIG. 1.

도면에서 보듯이, DPRAM은 3개의 제어정보영역(210, 220, 230)과 2개의 메시지 원형 버퍼(211, 221) 영역으로 구성되어 있다. 제어정보영역-1(210)은 메시지 송신버퍼(240)의 제어정보를 저장하는 영역이고, 제어정보영역-2(220)는 메시지 수신버퍼(250)의 제어정보를 저장하는 영역이며, 제어정보영역-3(230)은 인터럽트와 관련된 제어정보를 저장하는 영역이다.As shown in the figure, the DPRAM is composed of three control information areas 210, 220 and 230 and two message circular buffers 211 and 221. The control information area-1 210 is an area for storing control information of the message transmission buffer 240, and the control information area-2 220 is an area for storing control information of the message receiving buffer 250, and the control information. Area-3 230 is an area for storing control information related to interrupts.

그리고 메시지 원형 송신버퍼(240)는 N개의 버퍼 엔트리들로 구성되어 있고, 메시지 원형 수신버퍼(250)는 M개의 버퍼 엔트리들로 구성되어 있으며, 원형으로(Circular) 동작한다. 메시지 원형 송/수신버퍼(240, 250)의 각각의 엔트리는 헤드정보 영역, 메시지 데이터 영역과 플래그 영역으로 구성된다.The message circular transmission buffer 240 is composed of N buffer entries, and the message circular reception buffer 250 is composed of M buffer entries, and operates circularly. Each entry of the message prototype transmit / receive buffers 240 and 250 is composed of a head information area, a message data area and a flag area.

헤드정보 영역은 메시지의 제어정보를 가지며, 데이터 영역은 전달할 메시지의 내용이며, 플래그 영역은 송신/수신 버퍼의 상태, 즉 use(사용중) 또는 empty(비어있음)로 표시한다. 따라서 버퍼의 플래그가 empty이면, 메시지를 복사한 후 use로, 버퍼의 플래그가 use이면, 그 버퍼에서 메시지를 읽어 온 후 empty로 변경해야 한다.The head information area has control information of the message, the data area is the content of the message to be delivered, and the flag area is indicated by the state of the send / receive buffer, that is, use (empty) or empty (empty). Therefore, if the buffer flag is empty, copy the message and then use it. If the buffer flag is use, read the message from the buffer and change it to empty.

송신/수신 버퍼를 원형으로 구성하여 마스터와 슬래이버 보드에서 사용하기 위해 각각의 버퍼는 시작주소(Base Address), 끝주소(End Address), 읽기포인터(Read Pointer)와 쓰기포인터(Write Pointer)를 가진다.Each buffer has a base address, an end address, a read pointer, and a write pointer for use in the master and slaver boards. Have

TXBA, TXRP, TXWP, TXEA는 각각 송신버퍼(240)의 시작주소, 읽기포인터, 쓰기포인터, 끝주소이며, 제어정보영역-1(210)에 저장된다. 또한, RXBA, RXRP, RXWP, RXEA는 각각 수신버퍼(250)의 시작주소, 읽기포인터, 쓰기포인터, 끝주소이며, 제어정보영역-2(220)에 저장된다.TXBA, TXRP, TXWP and TXEA are the start address, read pointer, write pointer, and end address of the transmission buffer 240, respectively, and are stored in the control information area-1 210. RXBA, RXRP, RXWP, and RXEA are the start address, read pointer, write pointer, and end address of the reception buffer 250, respectively, and are stored in the control information area-2 (220).

시작주소(RXBA, TXBA)와 끝주소(RXEA, TXEA)는 초기화 때 설정되어 변경되지 않으며, 원형으로 운영할 때 버퍼의 시작과 끝을 계산하기 위해 필요하다. 읽기포인터(RXRP, TXRP)는 마스터와 슬래이버 보드가 버퍼에서 메시지를 가져갈 때 사용하는 버퍼포인터이고, 쓰기포인터(RXWP, TXWP)는 버퍼에 메시지를 복사할 때 사용하는 버퍼포인터다.The start address (RXBA, TXBA) and end address (RXEA, TXEA) are set at initialization and do not change. They are needed to calculate the start and end of the buffer when operating in a circular fashion. Read pointers (RXRP, TXRP) are buffer pointers used by master and slaver boards to take messages from buffers, and write pointers (RXWP and TXWP) are buffer pointers used to copy messages to buffers.

TXRP와 RXWP는 슬래이버 보드의 CPU(121)가 사용/관리하는 버퍼포인터다. TXWP와 RXRP는 마스터 보드의 CPU(111)가 사용/관리하는 버퍼포인터다.TXRP and RXWP are buffer pointers used / managed by the CPU 121 of the slaver board. TXWP and RXRP are buffer pointers used / managed by the CPU 111 of the master board.

도면에서의 버퍼포인터를 예를 들면, 송신버퍼(240)의 경우에는 송신버퍼 엔트리 3에서 엔트리 (N-2)까지 슬래이버 보드(120)가 송신할 메시지가 저장되어 있으며, 송신버퍼 엔트리 (N-1), N, 1, 2는 버퍼가 비어 있는 상태이다. 그리고 수신버퍼(250)의 의 경우는 수신버퍼 엔트리 2에서 엔트리 (M-2)까지 마스터 보드(110)가 수신할 메시지가 저장되어 있으며, 수신버퍼 엔트리 (M-1), M, 1은 버퍼가 비어 있는 상태이다.For example, in the case of the transmission buffer 240, in the transmission buffer 240, a message to be transmitted by the slave board 120 from transmission buffer entry 3 to entry N-2 is stored, and transmission buffer entry N -1), N, 1, 2 are empty buffers. In the case of the receiving buffer 250, a message to be received by the master board 110 is stored from the receiving buffer entry 2 to the entry M-2, and the receiving buffer entries M-1, M, and 1 are buffers. Is empty.

마스터 보드(110)에서 현재 메시지 송신포인터는 TXWP이며, 메시지 수신포인터는 RXRP다. 슬래이버 보드에서 현재 메시지 송신포인터는 TXRP이고, 메시지 수신포인터는 RXWP다.In the master board 110, the current message transmission pointer is TXWP, and the message reception pointer is RXRP. On the slaver board, the current message send pointer is TXRP and the message receive pointer is RXWP.

도 3은 마스터 보드측의 동작 흐름을 슬래이버 보드로의 메시시 송신을 중심으로 나타낸 것이다.3 shows the operation flow of the master board side mainly on the mesh transmission to the slaver board.

먼저, 마스터 보드 동작이 시작되어 마스터 보드의 기능을 초기화 하고, 슬래이버 보드의 동작을 시작하도록 슬래이버 보드의 기능을 초기화 시킨다(S310).First, the master board operation is started to initialize the function of the master board, and initializes the function of the slaver board to start the operation of the slaver board (S310).

초기화가 끝나면 마스터 보드(110)는 마스터 기본 기능으로 동작하는데(S320), 마스터 보드(110)는 슬래이버 보드(120)의 장애감지 및 상태관리기능(S321), 슬래이버 보드(120)로 메시지 송신기능(S322)과 슬래이버 보드(120)로부터의 메시지 수신기능(S323)의 3가지 마스터 기본기능을 가진다.After initialization, the master board 110 operates as a master basic function (S320), and the master board 110 sends a message to the failure detection and status management function of the slaver board 120 (S321) and the slaver board 120. It has three master basic functions: a transmission function (S322) and a message reception function (S323) from the slaver board (120).

여기서는, 본 발명과 관련한 슬래이버 보드(120)로의 메시지 송신기능에 대해서만 설명한다.Here, only the message transmission function to the slaver board 120 according to the present invention will be described.

마스터 보드(110)가 메시지를 송신하기 위해서는 먼저 송신 버퍼(240)의 풀 여부를 확인하여야 한다.In order for the master board 110 to transmit a message, first, it is necessary to check whether the transmission buffer 240 is full.

본 발명에서 버퍼 풀을 감지하는 방법에는 2가지가 있다.In the present invention, there are two methods for detecting the buffer pool.

2가지 방법 모두 제어 정보 영역-1(210)에 저장되어 있는 송신 버퍼의 제어정보를 이용한다. 방법1은 송신버퍼의 쓰기포인터(RXWP)가 가르키는 버퍼의 플래그가 empty인지 확인하는 것이고, 방법2는 송신버퍼의 읽기와 쓰기포인터(RXRP, RXWP)에서 빈 버퍼의 수를 계산하여 버퍼의 풀 정도를 계산하고, 설정되어 있는 기준 버퍼 풀 정도와 비교하여 버퍼 풀 여부를 판단하는 것이다.Both methods use the control information of the transmission buffer stored in the control information area-1210. Method 1 checks whether the buffer flag indicated by the write buffer (RXWP) of the send buffer is empty, and method 2 calculates the number of free buffers in the read and write pointers (RXRP, RXWP) of the send buffer and pulls the buffer. The degree is calculated and compared with the set reference buffer pool to determine whether or not the buffer pool.

방법1은 버퍼가 완전 풀일 경우만 감지되며, 방법2는 설정되어 있는 버퍼의 풀 정도(예를 들면 80% 또는 90% 버퍼 풀)에 따라 버퍼 풀 여부를 판단하게 된다. 방법1, 2의 선택과 방법 2에서의 버퍼 풀의 정도는 사용자가 설정할 수 있다.Method 1 detects only when the buffer is a full pool, and method 2 determines whether or not the buffer pool is based on the buffer pool set (for example, 80% or 90% buffer pool). The choice of methods 1 and 2 and the degree of buffer pool in method 2 can be set by the user.

따라서, 마스터 보드(110)는 메시지를 송신하기 전에 버퍼 풀 감지방법이 방법1, 2 중 어느 것으로 설정되어 있는지를 확인한다(S330).Therefore, before transmitting the message, the master board 110 checks whether the buffer pool sensing method is set to one of methods 1 and 2 (S330).

확인 결과 방법1로 설정되어 있으면, 제어 정보 영역-1(210)에서 현재 송신버퍼 쓰기 포인터(RXWP)을 읽어, 해당 쓰기 포인터의 버퍼 플래그가 empty인지 확인한다(S340).If the result of the check is set to the method 1, the current transmission buffer write pointer RXWP is read from the control information area-1 210 to check whether the buffer flag of the write pointer is empty (S340).

그 결과 empty이면 버퍼 풀이 아니므로 송신버퍼 쓰기포인터(TXWP)가 가르키는 송신버퍼에 메시지를 저장하고, 플래그를 empty에서 use로 변경한다(S390). 그리고, 송신버퍼 쓰기포인터(TXWP)의 값을 증가한 후 끝주소(TXEA)보다 크면 시작주소(TXSA)의 값으로 쓰기포인터(TXWP)의 값을 변경한다(S391).As a result, if it is empty, it is not a buffer pool, so the message is stored in the transmission buffer indicated by the transmission buffer write pointer TXWP, and the flag is changed from empty to use (S390). If the value of the transmit buffer write pointer TXWP is increased and larger than the end address TXEA, the value of the write pointer TXWP is changed to the value of the start address TXSA (S391).

그러나, 단계 S340에서 버퍼 플래그 확인결과 empty가 아니면, 즉 use이면 현재 버퍼 풀인 상태이므로 버퍼가 비기까지는 메시지를 송신할 수 없다. 따라서 마스터 보드는 슬래이버 보드로 송신버퍼 풀 인터럽트를 발생시키고(S370), 휴지상태로 기다리게 된다(S371).However, if the result of checking the buffer flag in step S340 is not empty, that is, it is in the current buffer pool state, the message cannot be transmitted until the buffer is empty. Therefore, the master board generates a transmit buffer full interrupt to the slaver board (S370), and waits in the idle state (S371).

한편, 단계 S370에서 발생된 송신버퍼 풀 인터럽트를 수신한 슬래이버 보드(120)는 송신버퍼(이는 마스터 보드측에서 본 것이고, 슬래이버 보드측에서보면 수신버퍼인 셈이다)의 메시지를 읽어 버퍼를 empty로 만든 후에 버퍼 풀 해지 인터럽트를 마스터 보드(110)로 발생시킨다.On the other hand, the slaver board 120 receiving the transmit buffer full interrupt generated in step S370 reads the message of the transmit buffer (this is seen from the master board side, and from the slave board side, it is the receive buffer) and reads the buffer. After emptying, the buffer pool cancellation interrupt is generated to the master board 110.

이에, 마스터 보드(110)가 슬래이버 보드(120)로부터 버퍼 풀 해지 인터럽트를 수신하면(S380), 앞서 설명한 바와 같이 단계 S390 및 S391을 수행하여 메시지 송신을 재계한다.Accordingly, when the master board 110 receives the buffer pool canceling interrupt from the slave board 120 (S380), as described above, steps S390 and S391 are performed to resume message transmission.

한편, 단계 S300에서 버퍼 풀 감지방법을 확인한 결과, 방법2로 설정된 경우에는 제어 정보 영역-1(210)에서 송신버퍼의 읽기와 쓰기포인터(RXRP, RXWP)를 읽어 빈 버퍼의 수를 계산하여 버퍼의 풀 정도를 계산한다. 그 후 설정되어 있는 기준값과 버퍼의 풀 정도를 비교하여 버퍼 풀 여부를 판단한다(S360). 예를 들어 기준값이 90%이면 계산된 버퍼의 풀 정도가 90% 이상이면 버퍼 풀로 감지한다.On the other hand, as a result of checking the buffer pool detection method in step S300, if the method 2 is set, the read and write pointers (RXRP, RXWP) of the transmission buffer are read from the control information area-1 210, and the number of empty buffers is calculated and buffered. Calculate the degree of pooling. After that, it is determined whether or not the buffer pool is compared by setting the reference value and the buffer pool degree (S360). For example, if the reference value is 90%, if the calculated buffer pool is over 90%, it is detected as a buffer pool.

판단 결과, 버퍼 풀인 경우와 버퍼 풀이 아닌 경우에 있어서의 동작은 앞서 설명한 버퍼 풀 감지 방법이 방법1인 경우와 동일하다.As a result of the determination, the operation in the case of the buffer pool and the case of the non-buffer pool is the same as in the case where the method for detecting the buffer pool described above is Method 1.

도 4은 슬래이버 보드측의 동작 흐름을 마스터 보드로의 메시시 송신을 중심으로 나타낸 것이다.Figure 4 shows the operation flow of the slaver board centered on the message transmission to the master board.

슬래이버 보드의 동작이 시작되어 슬래이버 보드(120)를 초기화하고 마스터 보드에게 초기화 완료를 알린다(S410).Operation of the slaver board is started to initialize the slaver board 120 and notify the master board of the completion of initialization (S410).

초기화가 끝나면 슬레이버 보드(120)는 슬레이버 기본 기능으로 동작하는데(S320), 슬래이버 보드(120)는 마스터 보드로부터 제어정보 수신, 슬래이버 보드 상태관리 및 장애감지기능(S421), 마스터 보드로 메시지 수신 기능(S422), 마스터 보드로부터 메시지 송신기능(S423)의 슬래이버 기본 기능을 가진다.After initialization, the slaver board 120 operates as a slave function (S320), and the slaver board 120 receives control information from the master board, the slaver board state management and fault detection function (S421), and the master board. Low message reception function (S422), Slave basic function of the message transmission function from the master board (S423).

여기서는, 본 발명과 관련한 마스터 보드(110)로의 메시지 송신기능에 대해서만 설명한다.Here, only the message transmission function to the master board 110 according to the present invention will be described.

슬래이버 보드(110)는 수신된 메시지를 마스터 보드(120)로 전달하기 위해 DPRAM의 메시지 수신버퍼(이는 마스터 보드측에서 본 것이고, 슬래이버 보드측에서보면 송신버퍼인 셈이다)가 비어 있는지, 버퍼 풀인지 검사가 필요하다.The slaver board 110 checks whether the message receiving buffer of DPRAM (which is seen from the master board side and the transmission buffer from the slaver board side) is empty to transfer the received message to the master board 120. You need to check if it is a buffer pool.

송신버퍼와 마찬가지로 수신버퍼도 버퍼 풀을 감지하는 방법은 2가지 방법이 있다. 방법1은 수신버퍼가 완전히 풀인 경우에만 버퍼 풀로 감지하고, 방법2는 수신버퍼의 버퍼 풀 정도를 계산하여 기준값 이상이면 버퍼 풀로 감지한다.Like the send buffer, the receive buffer has two ways to detect the buffer pool. Method 1 detects the buffer pool only when the receiving buffer is completely full, and Method 2 calculates the buffer pool of the receiving buffer and detects it as the buffer pool if it is above the reference value.

따라서, 슬레이브 보드(120)는 메시지를 송신하기 전에 버퍼 풀 감지방법이 방법1, 2 중 어느 것인지 확인한다(S430).Therefore, the slave board 120 checks whether the buffer pool sensing method is one of methods 1 and 2 before transmitting the message (S430).

확인 결과 방법1인 경우에는 제어 정보 영역-2(220)의 현재 수신버퍼 쓰기포인터(RXWP)가 가르키는 버퍼의 플래그가 empty여부를 확인한다(S440). 그리고 단계 S430에서의 확인결과, 버퍼 풀 감지방법이 방법2인 경우에는 수신버퍼 쓰기포인터(RXWP)와 읽기포인터(RXRP)를 가지고 빈(empty) 버퍼의 수를 계산하여 버퍼의 풀 정도를 계산한 후(S450), 계산된 값과 기준값과 비교하여 버퍼 풀 여부를 판단한다(S460).If the result of the check is the method 1, it is checked whether the flag of the buffer indicated by the current reception buffer write pointer RXWP of the control information area-2 220 is empty (S440). When the buffer pool detection method is Method 2, when the buffer pool detection method is the method 2, the buffer pool is calculated by calculating the number of empty buffers with the reception buffer write pointer (RXWP) and the read pointer (RXRP). After (S450), it is determined whether or not the buffer pool by comparing the calculated value and the reference value (S460).

단계 S440에서 버퍼 플래그가 empty가 아닌 경우, 단계 S460에서 버퍼 풀의 정도를 계산한 값이 기준값 이상인 경우 각각 버퍼 풀로 감지한다.When the buffer flag is not empty in step S440, when the value of the buffer pool calculated in step S460 is greater than or equal to the reference value, each of the buffer pools is detected.

단계 S440 또는 단계 S460에서 버퍼 풀이 감지되면 슬래이버 보드(120)는 마스터 보드(110)로 수신버퍼 풀 인터럽트를 발생시키고(S470), 휴지(idle, sleep)상태로 기다린다(S471).When the buffer pool is detected in step S440 or step S460, the slaver board 120 generates a receive buffer pool interrupt to the master board 110 (S470) and waits in an idle (sleep) state (S471).

마스터 보드(110)는 수신버퍼 풀 인터럽트를 수신한 후에 메시지를 수신하여 버퍼를 empty로 만든 후에, 버퍼 풀 해지 인터럽트를 슬래이버 보드(120)에게 발생시킨다.After receiving the receive buffer pool interrupt, the master board 110 receives the message and makes the buffer empty, and then generates a buffer pool cancellation interrupt to the slaver board 120.

단계 S440 또는 단계 S460에서 확인한 결과 버퍼 풀이 아니거나, 마스터 보드(110)로부터 버퍼 풀 해지 인터럽트가 발생하면(S480), 수신버퍼 쓰기포인터(RXWP)가 가르키는 수신버퍼에 메시지를 저장하고 플래그를 empty에서 use로 변경한다(S490). 그리고, 쓰기포인터(RXWP)의 값을 증가한 후 끝주소(RXEA)보다 크면 시작주소(RXSA)의 값으로 쓰기포인터(RXWP)의 값을 변경하여 메시지 송신을 종료한다(S491).If the result of the check in step S440 or step S460 is not a buffer pool or a buffer pool release interrupt occurs from the master board 110 (S480), the message is stored in the reception buffer indicated by the reception buffer write pointer (RXWP) and the flag is empty. Change to use (S490). When the value of the write pointer RXWP is increased and greater than the end address RXEA, the value of the write pointer RXWP is changed to the value of the start address RXSA to terminate message transmission (S491).

상술한 바와 같은 본 발명은 부가적인 하드웨어 회로나, 버퍼 풀 감지 프로세스 없이 DPRAM을 통해 두 보드간의 메지지 전달뿐만아니라 제어정보를 주고받음으로써 버퍼의 풀을 즉각적으로 감지하고, 버퍼 풀 및 해지를 인터럽트를 이용하여 상호 보고함으로써 프로세서의 부하를 줄일 수 있다. 또한 버퍼 풀일 경우에는 메시지 송신을 단절하고, 버퍼 풀 상태가 해지 되면 메시지 송신을 재계함으로써 유연한 메시지 통신을 제공한다. 따라서 본 발명은 DPRAM 인터페이스를 가지는 두 보드간의 메시지 버퍼의 관리 방법에 효과적으로 적용될 수 있다.As described above, the present invention immediately detects a pool of buffers by interrupting buffer pool and revocation by sending and receiving control information as well as transfer of messages between two boards through DPRAM without additional hardware circuitry or buffer pool detection process. By reporting to each other, the processor load can be reduced. In the case of the buffer pool, it also provides flexible message communication by disconnecting the message transmission and resuming the message transmission when the buffer pool state is released. Therefore, the present invention can be effectively applied to a method of managing a message buffer between two boards having a DPRAM interface.

이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.The technical spirit of the present invention has been described above with reference to the accompanying drawings, but this is by way of example only and not intended to limit the present invention. In addition, it is obvious that any person skilled in the art can make various modifications and imitations without departing from the scope of the technical idea of the present invention.

Claims (5)

이중포트메모리를 사용하여 두 보드간의 메시지 버퍼를 운용하는 경우에 있어서,In case of operating message buffer between two boards using dual port memory, 메시지 버퍼로 사용되는 이중포트메모리를 송신버퍼의 제어정보를 저장하는 영역, 수신버퍼의 제어정보를 저장하는 영역, 인터럽트 제어 정보를 저장하는 영역, 메시지 송신버퍼 및 메시지 수신버퍼로 구성하고, 상기 메시지 송/수신 버퍼의 각각의 버퍼 엔트리는 버퍼의 상태(use/empty)를 나타내는 플래그 영역을 포함시켜,The dual port memory used as the message buffer is composed of an area for storing control information of a transmission buffer, an area for storing control information of a reception buffer, an area for storing interrupt control information, a message transmission buffer, and a message reception buffer. Each buffer entry in the transmit / receive buffer contains a flag area indicating the buffer's state (use / empty), 상기 이중포트메모리를 통하여 메시지 뿐만 아니라 제어정보를 주고 받아 이중포트메모리의 제어정보만으로 버퍼 풀을 감지하고, 버퍼 풀을 처리함으로써 메시지 송/수신 버퍼를 관리하는 것을 특징으로 하는 이중포트메모리를 사용한 메시지 버퍼의 풀 감지 및 관리 방법.Messages using dual port memory, characterized by transmitting and receiving control information as well as messages through the dual port memory, detecting a buffer pool using only the control information of the dual port memory, and managing the message transmission / reception buffer by processing the buffer pool. How pools are detected and managed. 제1항에 있어서,The method of claim 1, 상기 이중포트메모리의 메시지 송/수신 버퍼는 원형으로 관리되며, 두 보드에서의 메시지 송/수신 버퍼를 관리를 위한 제어정보로서, 송/수신버퍼의 시작주소, 끝주소, 읽기포인터 및 쓰기포인터를 가지는 것을 특징으로 하는 이중포트메모리를 사용한 메시지 버퍼의 풀 감지 및 관리 방법.The message send / receive buffer of the dual port memory is managed in a circle, and as the control information for managing the message send / receive buffers on both boards, the start address, the end address, the read pointer and the write pointer of the send / receive buffer are stored. Method for detecting and managing a pool of message buffers using dual port memory. 제2항에 있어서,The method of claim 2, 상기 메시지 송/수신버퍼의 버퍼 풀 감지는 현재 쓰기포인터가 가리키는 버퍼의 플래그를 검사하여 empty가 아닌 경우 버퍼 풀 감지하는 것을 특징으로 하는 이중포크메모리를 사용한 메시지 버퍼의 풀 감지 및 관리 방법.The buffer pool detection of the message send / receive buffer is a method of detecting and managing a pool of message buffers using a double fork memory, characterized in that by detecting the flag of the buffer pointed to by the current write pointer to detect the buffer pool if not empty. 제2항에 있어서,The method of claim 2, 상기 메시지 송/수신버퍼의 버퍼 풀 감지는 현재 읽기포인터와 쓰기포인터에서 빈 버퍼의 수를 계산하여, 버퍼 풀 정도를 계산하고, 계산된 버퍼 풀 정도가 설정된 기준값 이상이면 버퍼 풀로 감지하는 것을 특징으로 하는 이중포크메모리를 사용한 메시지 버퍼의 풀 감지 및 관리 방법.The buffer pool detection of the message send / receive buffer calculates the number of empty buffers at the current read pointer and the write pointer, calculates the buffer pool degree, and detects the buffer pool if the calculated buffer pool degree is greater than or equal to a set reference value. How to detect and manage the pool of message buffers using dual fork memory. 제1항 내지 제4항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 4, 버퍼 풀이 감지되면 송신을 중단한 후, 인터럽트를 이용하여 상대방 보드에게 버퍼 풀의 감지를 알리고 휴지상태로 전환하며,When the buffer pool is detected, it stops transmitting and informs the other board of the buffer pool by using an interrupt and switches to the idle state. 상대방 보드의 버퍼 풀 해제를 알리는 인터럽트에 의해 휴지상태에서 깨어나 메시지 전송을 재계하는 것을 특징으로 하는 이중포크메모리를 사용한 메시지 버퍼의 풀 감지 및 관리 방법.A method for detecting and managing a pool of message buffers using dual fork memory, characterized by waking from idle state and resuming message transmission by an interrupt signal indicating a buffer pool release of a counterpart board.
KR10-1999-0056358A 1999-12-10 1999-12-10 Full detection and management method of message buffer using DPRAM KR100371136B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0056358A KR100371136B1 (en) 1999-12-10 1999-12-10 Full detection and management method of message buffer using DPRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0056358A KR100371136B1 (en) 1999-12-10 1999-12-10 Full detection and management method of message buffer using DPRAM

Publications (2)

Publication Number Publication Date
KR20010055219A true KR20010055219A (en) 2001-07-04
KR100371136B1 KR100371136B1 (en) 2003-02-07

Family

ID=19624722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0056358A KR100371136B1 (en) 1999-12-10 1999-12-10 Full detection and management method of message buffer using DPRAM

Country Status (1)

Country Link
KR (1) KR100371136B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100421168B1 (en) * 2001-09-06 2004-03-04 삼성전자주식회사 Method for processing a transmission data in a data processing system between processors
KR100691419B1 (en) * 2001-02-09 2007-03-09 삼성전자주식회사 Wireless communication apparatus, the method thereof and wireless communication system employing the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100691419B1 (en) * 2001-02-09 2007-03-09 삼성전자주식회사 Wireless communication apparatus, the method thereof and wireless communication system employing the same
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
KR100371136B1 (en) 2003-02-07

Similar Documents

Publication Publication Date Title
JP2008536225A (en) Peripheral device shared USB hub
JP2002082816A5 (en)
KR100371136B1 (en) Full detection and management method of message buffer using DPRAM
JP6014627B2 (en) Electronic device power mode switching system
JP2000201166A (en) Power saving network device
JP3465637B2 (en) Server and control method thereof
CN114625236B (en) Information processing method and device
JPH09212388A (en) Method for monitoring operation of cpu
KR950022612A (en) Error detection device and processing method on redundancy board of redundancy device
JPH0149976B2 (en)
JP3206665B2 (en) Computer system
KR100227516B1 (en) Apparatus for controlling pstn subscriber
KR930007020B1 (en) Interprocessor communication method
KR910008569A (en) Signal terminal group maintenance device of common line signal device
KR100198802B1 (en) Message teansfer control using xcent-net between nodes
CN115918036A (en) Data transmission on a bus system
JP2002297272A (en) Method for processing electronic equipment and electronic equipment
JP2834062B2 (en) Information processing system
JPH0438543A (en) System for communication between devices
KR950022514A (en) Communication port control method of a single processor communicating with a plurality of systems and apparatus therefor
KR100200836B1 (en) Communication device having radio paging function and interface method thereof
JPS61198944A (en) Polling system
JPH07306840A (en) Computer system
JP2000330702A (en) Input device sharing system
KR20150033076A (en) LIN System and using method of the same

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