KR100212450B1 - Base station of mobile telecommunication system - Google Patents

Base station of mobile telecommunication system Download PDF

Info

Publication number
KR100212450B1
KR100212450B1 KR1019960044701A KR19960044701A KR100212450B1 KR 100212450 B1 KR100212450 B1 KR 100212450B1 KR 1019960044701 A KR1019960044701 A KR 1019960044701A KR 19960044701 A KR19960044701 A KR 19960044701A KR 100212450 B1 KR100212450 B1 KR 100212450B1
Authority
KR
South Korea
Prior art keywords
buffer
receive
reception
pointer
temporary
Prior art date
Application number
KR1019960044701A
Other languages
Korean (ko)
Other versions
KR19980026298A (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 KR1019960044701A priority Critical patent/KR100212450B1/en
Publication of KR19980026298A publication Critical patent/KR19980026298A/en
Application granted granted Critical
Publication of KR100212450B1 publication Critical patent/KR100212450B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • 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/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

인터럽트 서비스 루틴으로 수신 버퍼를 운용하기 위한 최소한의 작업을 수행하지만 인터럽트 서비스 루틴과 메시지 수신 처리부가 서로 연관이 없기 때문에 중앙 처리 장치에서 수신 버퍼에 저장된 메시지들을 효율적으로 관리할 수 없는 폴링 방식의 장점을 유지하면서 단점을 보완하기 위해 인터럽트 서비스 루틴과 수신 처리 태스크간에 동기화나 공유 자원에 대한 상호 배제를 지원하는 세마포아를 도입하고, 세마포아를 보완하는 수단으로 수신 처리 플래그와 수신 카운터를 구비함으로써 실시간 처리를 보장하고 인터럽트 처리 부하를 감소시키며, 트래픽에 의한 성능 저하를 방지할 수 있는 메시지 수신부 최적 처리 방법이 개시된다.The interrupt service routine performs the minimum task to operate the receive buffer. However, since the interrupt service routine and the message reception processing unit are not associated with each other, the advantage of the polling method that the central processing unit can not efficiently manage the messages stored in the reception buffer In order to compensate for the disadvantages, we introduce a semaphore that supports synchronization between the interrupt service routine and the reception processing task, mutual exclusion to shared resources, and provides a reception processing flag and a reception counter as means for complementing the semaphore, A method of optimizing a message reception unit capable of reducing an interrupt processing load and preventing performance degradation caused by traffic is disclosed.

Description

이동 통신 시스템 기지국 제어계의 메시지 수신부 최적 처리 방법Optimal processing of message receiver in mobile communication system base station control system

본 발명은 이동 통신 시스템 기지국 제어계에 관한 것으로, 특히 이동 통신 시스템 기지국 제어계를 구성하는 통신 보드들의 메시지 수신부 최적 처리 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a mobile communication system base station control system, and more particularly, to a method of optimizing a message reception unit of communication boards constituting a mobile communication system base station control system.

메시지 통신의 하부 구조를 형성하는 통신 장치들에 의한 메시지 수신을 효율적으로 처리하기 위해서는 프로토콜 소프트웨어나 운영 체계가 필요로 하는 장치 구동기와 수신 처리 구동기 사이의 상호 작용을 효율적으로 구현해야 한다. 장치 구동기와 수신 처리 구동기 사이의 상호 작용을 효율적으로 구현하기 위해 임베디드(Embedded) 시스템에서는 통신 대상 시스템들이 요구하는 특성에 맞도록 효율적인 방법들이 고안되어 왔으며 대표적인 방법은 폴링 방식이다. 폴링 방식은 인터럽트 처리 부하를 최소화하기 위해 인터럽트 서비스 루틴으로 하여금 수신 버퍼를 운용하기 위한 최소한의 작업만을 수행하게 한다. 그러나 인터럽트 서비스 루틴과 메시지 수신 처리부는 서로 연관 없기 때문에 수신 버퍼에 저장된 메시지들을 중앙 처리 장치에서 효율적으로 처리할 수 있는 방법이 없다. 따라서 유일한 방법으로 중앙 처리 장치가 수신 처리 태스크를 주기적으로 동작시켜 수신 버퍼를 검색하게 하는 방법을 사용한다. 폴링 방법은 수신 이벤트마다 발생한 메시지들을 실시간으로 처리하지 못하기 때문에 성능 저하 문제를 내포하고 있으며 메시지 트래픽이 높을수록 수신 버퍼의 범람 현상을 야기시킬 수 있다.In order to efficiently process the message reception by the communication devices forming the infrastructure of the message communication, the interaction between the device driver and the reception processing driver required by the protocol software or the operating system should be efficiently implemented. In order to effectively implement the interaction between the device driver and the reception processing driver, efficient methods have been devised in the embedded system to meet the characteristics required by the communication target systems, and a typical method is the polling method. The polling method allows the interrupt service routine to perform only a minimum of operations to operate the receive buffer in order to minimize the interrupt processing load. However, since the interrupt service routine and the message reception processing unit are not related to each other, there is no way to efficiently process the messages stored in the reception buffer in the central processing unit. Therefore, the central processing unit operates the reception processing task periodically to retrieve the reception buffer. Since the polling method can not process the messages generated in each reception event in real time, it has a problem of performance degradation. The higher the message traffic, the more the flooding of the reception buffer may occur.

따라서 본 발명은 프로세서간 통신상을 통해 수신되는 메시지들을 처리하기 위해 빈번히 수행되는 인터럽트 서비스 루틴의 인터럽트 처리 부하를 최소화하고, 메시지에 대한 프로토콜 처리나 메시지를 운용 프로그램에 전달하기 위한 스케줄링을 포함한 세부적인 기능을 수신 처리 태스크 단계에서 실시간으로 처리할 수 있도록 하기 위해 상기한 폴링 방식의 장점을 살리면서 실시간 처리를 못하는 단점을 극복할 수 있는 고성능 이벤트 구동 방식의 수신 처리 방법을 제공하는데 그 목적이 있다.Therefore, the present invention minimizes the interrupt processing load of the interrupt service routines frequently executed to process messages received through the interprocessor communication, and provides detailed processing including protocol processing for messages and scheduling for delivering messages to operating programs The present invention provides a high performance event-driven reception processing method capable of overcoming the disadvantage that real-time processing can not be performed while taking advantage of the above-described polling method in order to enable a function to be processed in real time at a reception processing task step.

상술한 목적을 달성하기 위한 본 발명은 기지국 제어계 통신 보드들의 메시지 수신부를 초기화하는 단계와, 상기 메시지 수신부가 초기화된 후 수신 버퍼에 메시지가 저장되어 직접 메모리 접근 제어기에서 발생한 인터럽트를 중앙 처리 장치에서 인식하여 인터럽트 서비스 루틴이 수행되는 단계와, 상기 인터럽트 서비스 루틴에서 발생된 수신 세마포어 이벤트에 의해 수신 처리 태스크가 수행되는 단계로 이루어 진 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method for controlling a communication system, the method comprising: initializing a message receiving unit of communication boards of a base station control system; and receiving a message in a receiving buffer after the message receiving unit is initialized, And executing a reception processing task according to a received semaphore event generated in the interrupt service routine.

제1도는 본 발명이 적용되는 이동 통신 시스템 기지국 제어계 통신 프로세서 보드들의 공통 메시지 수신 환경을 도시한 블록도.FIG. 1 is a block diagram illustrating a common message reception environment of communication processor boards of a mobile communication system base station control system to which the present invention is applied; FIG.

제2도는 본 발명에 따른 메시지 수신부 소프트웨어의 구성도.FIG. 2 is a block diagram of a message receiver software according to the present invention; FIG.

제3도는 본 발명에 따른 메시지 수신부 초기화 순서도.FIG. 3 is a flowchart of a message receiving unit initialization process according to the present invention; FIG.

제4도는 본 발명에 따른 수신 인터럽트 서비스 루틴의 처리 순서도.Figure 4 is a flow chart of the processing of the receive interrupt service routine according to the present invention;

제5도는 본 발명에 따른 수신 처리 태스크의 처리 순서도.FIG. 5 is a flowchart of the processing of a reception processing task according to the present invention; FIG.

* 도면의 주요부분에 대한 부호의 설명DESCRIPTION OF THE REFERENCE NUMERALS

11 : 중앙 처리 장치 12 : 국부 메모리11: central processing unit 12: local memory

13 : 직접 메모리 접근 제어기 14 : 직렬 입출력 제어기13: direct memory access controller 14: serial input / output controller

15 : 노드 16,17 : 통신 프로세서 보드15: nodes 16,17: communication processor board

18 : 기본 주소 레지스터 21 : 수신 처리 태스크18: Base address register 21: Reception processing task

22 : 수신 인터럽트 서비스 루틴 23 : 수신 버퍼22: Receive interrupt service routine 23: Receive buffer

24 : 버퍼 읽기(READ) 포인터 25 : 버퍼 쓰기(WRITE) 포인터24: Buffer read (READ) pointer 25: Buffer write (WRITE) pointer

26 : 수신 처리 플래그 27 : 수신 처리 카운터26: Reception processing flag 27: Reception processing counter

28 : 수신 처리 세마포아28: Reception processing semaphores

기지국 제어계 프로세서간 통신을 위한 공통적인 통신 하드웨어 환경을 구비한다.The base station control system has a common communication hardware environment for interprocessor communication.

이 통신 하드웨어에서 메시지들을 수신할 때마다 수신 인터럽트 서비스 루틴은 폴링 방식의 장점인 수신 버퍼에 대해 최소한의 작업만 수행하게 하여 인터럽트 처리 부하를 감소시킨다. 또한, 수신 버퍼내에 저장된 메시지들의 세부적인 처리를 태스크 단계에서 처리하게 한다. 이때 태스크는 폴링 방식이 아닌 이벤트 구동 방식으로 수행하여 인터럽트 서비스 루틴이 메시지를 수신 버퍼에 저장하는 시점에서 수신 처리 태스크에게 그 사실을 이벤트로 통보할 수 있도록 한다. 이렇게 하면 수신 처리 태스크는 이벤트에 대해 대기하는 상태를 유지하고 있다가 이벤트 발생시에 수행되도록 함으로써 중앙 처리 장치가 주기적으로 수신 버퍼를 폴링하는 단점을 극복할 수 있다. 이 방법은 폴링 방법에 비해 인터럽트 서비스 루틴이 수신 처리 태스크에게 이벤트를 발생시키는 데 요구되는 시간만큼 중앙 처리 장치를 더 사용하게 되지만 중앙 처리 장치는 수신 버퍼를 처리하기 위해 주기적으로 수신 태스크를 동작시킬 필요가 없으며 실시간 처리가 가능하게 되어 전체적으로 메시지 통신상의 성능 향상을 보장한다. 인터럽트 서비스 루틴이 수신 처리 태스크에게 메시지 도달 사실을 이벤트로 통보하기 위해 실시간 운영 체계에서 지원되는 태스크간 동기화나 공유 자원에 대한 상호 배제를 지원하는 세마포아를 인터럽트 서비스 루틴과 수신 처리 태스크간 상호 작용에 도입한다. 그러나 인터럽트 서비스 루틴과 수신 처리 태스크간 상호 작용은 세마포아만으로 완전하지 않다. 문제는 인터럽트 서비스 루틴에서 메시지 수신 완료 후 세마포아 수단을 통해 수신 처리 태스크에게 수신 버퍼 처리를 요구한 후에 다시 후속의 메시지들이 수신되는 경우에 발생한다.Each time a message is received in the communication hardware, the receive interrupt service routine performs only a minimum operation on the receive buffer, which is an advantage of the polling method, thereby reducing the interrupt processing load. It also allows the task step to process the detailed processing of messages stored in the receive buffer. At this time, the task is executed by an event driven method instead of the polling method, so that the interrupt service routine can notify the reception processing task of the fact when the message is stored in the reception buffer. In this case, the reception processing task maintains a state of waiting for the event, and is executed when the event occurs, thereby overcoming the disadvantage that the central processing unit periodically polls the reception buffer. This method uses the central processing unit for the time required for the interrupt service routine to generate the event to the reception processing task as compared to the polling method, but the central processing unit needs to periodically operate the receiving task to process the reception buffer And real-time processing is possible, thereby ensuring improvement of message communication performance as a whole. In order to notify the event that the interrupt service routine has reached a message to the reception processing task, a semaphore that supports synchronization between tasks or mutual exclusion to shared resources supported in the real-time operating system is called an interaction between the interrupt service routine and the reception processing task . However, the interaction between the interrupt service routine and the receive processing task is not complete with semaphores. The problem occurs when subsequent messages are received after requesting the receive buffer processing from the receive processing task via the semaphore means after completion of message reception in the interrupt service routine.

수신 처리 태스크는 이미 세마포아 대기 상태에서 깨어나 수신 버퍼를 처리하는 과정에 있는 동안 인터럽트 서비스 루틴은 수신 처리 태스크가 이전의 메시지들에 대한 처리를 어느 시점에서 완료할지 예측할 수 없으므로 후속 메시지들에 대해 처리를 요구할 방법이 없다. 따라서 본 발명은 이러한 문제를 보완하기 위한 또 다른 수단으로 인터럽트 서비스 루틴과 수신 처리 태스크간에 수신 처리 요구와 수신 처리 완료 사실을 알 수 있게 하는 수신 처리 플래그와 수신 카운터를 고안한다. 이 방법의 기본 개념은 수신 처리 태스크가 수신된 메시지들을 처리하는 동안 인터럽트 서비스 루틴은 수신 처리 태스크에 의해 수신 처리 플래그가 완료 상태로 변경되지 않는 한 수신된 메시지들의 갯수만 수신 카운터를 통해 누적시키고 인터럽트 서비스 루틴을 종료하는 것이며 이후에 수신 처리 태스크에 의해 수신 처리 플래그가 수신 처리 완료 상태로 변할 때 비로소 세마포아를 구동시킴으로써 한 세마포아 구동에 의해 다수의 메시지들을 처리할 수 있게 하여 인터럽트 서비스 루틴이 수신 처리 태스크에게 발생시키는 세마포아 이벤트의 수를 줄일 수 있게 하는 것이다.While the receive processing task is already in the process of awakening from the semaphore wait state and processing the receive buffer, the interrupt service routine can not predict at which point the receive processing task will complete the processing of the previous messages, There is no way to ask for. Therefore, the present invention contemplates a reception processing flag and a reception counter that enable the reception processing request and the completion of the reception processing to be known between the interrupt service routine and the reception processing task as another means for compensating for this problem. The basic idea of this method is that while the receive processing task processes the received messages, the interrupt service routine accumulates only the number of received messages through the receive counter unless the receive processing flag is changed to the complete state by the receive processing task, And terminates the service routine. Thereafter, when the reception processing flag changes to the reception processing completion state by the reception processing task, the semaphore is driven so that a plurality of messages can be processed by one semaphore operation, It is possible to reduce the number of semaphore events to be generated in the processing task.

본 발명을 첨부된 도면을 참조하여 상세히 설명한다.The present invention will be described in detail with reference to the accompanying drawings.

제1도는 본 발명이 적용되는 이동통신 시스템 기지국 제어계의 프로세서간 통신 수행 환경을 도시한 블록도이다. 프로세서간 통신망은 고속의 노드(15)들로 구성되어 있다. 이 노드의 종단에 기지국 통신 프로세서 보드(16)(17)들이 직접 혹은 멀티-드롭(multi-drop) 방식으로 접속된다. 기지국 통신 프로세서 보드(16)(17)는 중앙 처리 장치(11), 국부 메모리(12), 직접 메모리 접근 제어기(13), 직렬 입출력 제어기(14)를 공통으로 구비한다. 또한, 직접 메모리 접근 제어기(13)는 기본 주소 레지스터(18)를 내재한다.FIG. 1 is a block diagram illustrating an interprocessor communication execution environment of a mobile communication system base station control system to which the present invention is applied. The interprocessor communication network is composed of high-speed nodes 15. The base station communication processor boards 16 and 17 are connected directly or in a multi-drop manner at the end of this node. The base station communication processor boards 16 and 17 have a central processing unit 11, a local memory 12, a direct memory access controller 13, and a serial input / output controller 14 in common. In addition, the direct memory access controller 13 inherits the base address register 18.

제2도는 본 발명에 따른 메시지 수신 처리부의 소프트웨어 구성도로서 국부 메모리에 저장되어 메시지 수신부 기능을 수행한다. 소프트웨어 환경은 직접 메모리접근 제어기가 메시지 수신을 완료했을 때 발생시키는 인터럽트를 처리하는 인터럽트 서비스 루틴(22)과 수신된 메시지들을 저장하기 위한 수신 버퍼(23) 및 수신 버퍼(23)에 저장된 메시지들을 처리하기 위한 수신 처리 태스크(21)로 구성된다. 그리고 중앙 처리 장치와 직접 메모리 접근 제어기가 공유하는 수신 버퍼를 효율적으로 처리하기 위해 고안된 수신 처리 세마포아(28), 수신 처리 플래그(27), 수신 처리 카운터(27), 그리고 수신 버퍼 운용을 위한 읽기/쓰기(이하 READ/WRITE라 함) 포인터(24)(25)가 있다. 수신 처리 플래그(27)는 인터럽트 서비스 루틴이 수신 처리 태스크에서 이전에 처리를 요구한 메시지들을 처리 완료했는가 검사하기 위한 수신 처리 세마포아(28)의 보조 수단으로 사용된다. 수신 처리 카운터(27)는 높은 수신 메시지 트래픽에서 연속된 메시지들의 갯수를 누적하기 위해 사용된다. 버퍼 READ 포인터(24)는 수신 처리 태스크(21)에서 현재 처리할 수신 버퍼 포인터이며 수신 처리가 완료되면 수신 카운터 값만큼 증가된 수신 버퍼 주소로 갱신된다. 버퍼 WRITE 포인터(25)는 인터럽트 서비스 루틴에서 다음 메시지를 저장하기 위한 수신 버퍼 포인터이며 이 값은 제1도에 도시된 직접 메모리 접근 제어기의 기본 주소 레지스터 값과 일치한다.FIG. 2 is a software block diagram of a message reception processing unit according to the present invention, which is stored in a local memory and functions as a message reception unit. The software environment includes an interrupt service routine 22 for handling interrupts that occur when the direct memory access controller has completed receiving a message, a receive buffer 23 for storing received messages, and messages stored in the receive buffer 23 And a reception processing task 21 for performing the following processing. A receive processing semaphore 28, a receive processing flag 27, a receive processing counter 27, and a read for handling the receive buffer, which are designed to efficiently process the receive buffer shared by the central processing unit and the direct memory access controller, / Write (hereinafter referred to as READ / WRITE) pointer 24 (25). The receive processing flag 27 is used as an auxiliary means of the receive processing semaphore 28 to check whether the interrupt service routine has processed the messages that previously requested processing in the receive processing task. The receive processing counter 27 is used to accumulate the number of consecutive messages in the high received message traffic. The buffer READ pointer 24 is a reception buffer pointer to be processed in the reception processing task 21 and is updated to a reception buffer address increased by the reception counter value when the reception processing is completed. Buffer WRITE pointer 25 is a receive buffer pointer for storing the next message in the interrupt service routine and this value matches the base address register value of the direct memory access controller shown in FIG.

제3도는 기지국 제어계 통신 보드들의 메시지 수신 초기화 과정을 설명하기 위해 도시한 흐름도이다. 초기화 과정은 통신 칩 초기화, 수신 버퍼 초기화, 수신 처리 태스크와 세마포아 생성으로 구성된다. 통신 칩 초기화는 직렬 입출력 제어기의 수신부 초기화(31), 직접 메모리 접근 제어기 초기화와 해당 수신 인터럽트 서비스 루틴 등록(32)을 수행한다. 수신부 버퍼 초기화(34)는 버퍼 READ/WRITE 카운터를 수신 버퍼 시작 주소로 설정한 후 수신 카운터를 0으로 설정하고 수신 처리 플래그를 완료 상태로 둔다. 상기 초기화 과정을 끝낸 후 수신 처리 세마포어와 수신 처리 태스크를 운영 체계의 도움으로 생성시킨다(33)(35). 초기화의 마지막 단계는 직접 메모리 접근 제어기와 직렬 입출력 제어기를 메시지 수신 가능 상태로 천이시키는 것이다(36). 이때부터 프로세서간 통신망에서의 메시지 수신이 가능하다.FIG. 3 is a flow chart illustrating a message reception initialization process of the base station control system communication boards. The initialization process consists of communication chip initialization, receive buffer initialization, receive processing task and semaphore generation. The communication chip initialization initializes the receiving section of the serial input / output controller 31, initializes the direct memory access controller, and registers the corresponding receiving interrupt service routine 32. The receiver buffer initialization 34 sets the buffer READ / WRITE counter to the receive buffer start address, sets the receive counter to 0, and sets the receive processing flag to the completed state. After finishing the initialization process, the reception processing semaphore and the reception processing task are generated with the help of the operating system (33) (35). The final step of initialization is to transition the direct memory access controller and the serial input / output controller to a message receivable state (36). From this point on, it is possible to receive messages from the interprocessor communication network.

제4도는 본 발명에 따른 수신 인터럽트 서비스 루틴의 처리 순서도이다. 인터럽트 서비스 루틴은 항상 직접 메모리 접근 제어기가 발생시키는 인터럽트를 대기하는 상태에 있다(41). 메시지가 수신되어 수신 버퍼에 저장되면 직접 메모리접근 제어기에서 인터럽트를 발생하고, 중앙 처리 장치에서 인터럽트를 인식하면 인터럽트 서비스 루틴이 수행된다(42). 인터럽트 서비스 루틴은 메시지 수신 카운터를 증가시키고 수신 처리 태스크에서 다음에 처리할 수신 버퍼 포인터를 알 수 있도록 버퍼 WRITE 포인터를 직접 메모리 접근 제어기의 기본 주소 레지스터 값으로 변경한다(43). 이제 인터럽트 서비스 루틴은 수신 처리 태스크에게 수신된 메시지들을 처리하도록 요구할 수 있는데 요구에 앞서 수신 처리 요구 가능 상태인가를 수신 처리 플래그 값을 통해 검사한다(44). 수신 처리 플래그 값이 종료 상태이면 현재 수신 처리 태스크는 수신 세마포아 대기 상태에 있으므로 수신 처리 요구 플래그를 요구 상태로 설정한 후(45) 수신 처리 세마포아를 구동한다(46). 수신 처리 플래그가 종료 상태가 아니면 수신 처리 태스크는 이전의 메시지들을 처리하는 과정에 있으므로 인터럽트 서비스 루틴을 종료하고 다시 수신 인터럽트 대기 상태로 천이한다(41).FIG. 4 is a processing flowchart of a receive interrupt service routine according to the present invention. The interrupt service routine is always in a state waiting for an interrupt generated by the direct memory access controller (41). When the message is received and stored in the receive buffer, the direct memory access controller generates an interrupt, and if the central processor recognizes the interrupt, the interrupt service routine is performed (42). The interrupt service routine increments the message reception counter and changes the buffer WRITE pointer to the direct address value of the memory access controller (43) so that the reception processing task knows the next reception buffer pointer to be processed. The interrupt service routine may now request the receive processing task to process the received messages (44) through the receive processing flag value to determine whether the receive processing request is ready prior to the request. If the value of the reception processing flag is in the end state, the current reception processing task is in the standby status of the reception semaphore, and the reception processing request flag is set to the request status (45) and the reception processing semaphore is driven (46). If the reception processing flag is not the end state, the reception processing task is in the process of processing the previous messages, so the interrupt service routine is terminated and the state transits to the reception interrupt waiting state again (41).

제5도는 본 발명에 따른 수신 처리 태스크의 처리 순서도이다. 먼저 수신 처리 태스크는 수신 처리 세마포아 대기 상태에 있다(51). 수신 처리 태스크는 수신 세마포아 이벤트(46)에 의해 수행된다(52). 수신 세마포아 이벤트는 수신 인터럽트 서비스 루틴에서 발생시키며, 프로세서간 통신망에서 메시지들이 수신 버퍼에 저장되는 시점에서 발생하는 인터럽트를 처리한다. 수신 처리 태스크는 인터럽트 서비스 루틴에서 현재 유지하고 있는 수신 카운터 값을 임시 카운터에 저장하고 버퍼 READ포인터를 임시 버퍼 포인터에 저장한다(53). 현재까지 인터럽트 서비스 루틴이 처리를 요구한 메시지들에 대한 처리 준비가 완료되었으므로 후속 메시지들에 대한 개수를 다시 누적하기 위해 수신 카운터를 0로 하고 버퍼 READ 포인터는 다음 세마포아 이벤트에 처리할 수신 버퍼의 시작 주소로 설정하기 위해 인터럽트 서비스 루틴이 관리하는 버퍼 WRITE 포인터로 변경한다(54). 수신 처리 태스크는 임시 카운터 값을 검사한다(55). 검사 결과가 참이면 복잡한 메시지 처리 과정을 수행한 후 다음 메시지를 처리하기 위해 임시 카운터를 감소시키고 임시 버퍼 포인터를 증가시킨다(56). 이때 임시 버퍼 포인터가 수신 버퍼의 끝 주소이면(57) 임시 버퍼 포인터를 수신 버퍼 시작 주소로 변경한다(58). 위 (55) 내지 (58)의 과정은 임시 카운터가 0가 될 때까지 반복된다. 만약 임시 카운터 값이 0이면 수신 처리 플래그를 종료 상태로 천이시키고(59) 다시 수신 처리 세마포아 대기 상태로 간다(51).FIG. 5 is a processing flowchart of a reception processing task according to the present invention. FIG. First, the receive processing task is in the wait state of the receive processing semaphore (51). The receive processing task is performed by a receive semaphore event 46 (52). The receive semaphore event is generated in the receive interrupt service routine and handles the interrupt that occurs at the time the messages are stored in the receive buffer in the interprocessor communication network. The reception processing task stores the reception counter value currently held in the interrupt service routine in the temporary counter and stores the buffer READ pointer in the temporary buffer pointer (53). Since the preparation for processing the messages requiring processing by the interrupt service routine has been completed, the reception counter is set to 0 to accumulate the number of the subsequent messages, and the buffer READ pointer is set to the reception buffer to be processed in the next semaphore event To the buffer WRITE pointer managed by the interrupt service routine to set the start address (54). The receive processing task examines the temporary counter value (55). If the test result is true, after complicated message processing, the temporary counter is decremented and the temporary buffer pointer is incremented to handle the next message (56). At this time, if the temporary buffer pointer is the end address of the receive buffer (57), the temporary buffer pointer is changed to the receive buffer start address (58). The processes (55) to (58) are repeated until the temporary counter becomes zero. If the temporary counter value is 0, the receive processing flag is shifted to the end state (59), and the receive processing semaphore waiting state is again returned (51).

상술한 바와 같이 본 발명에 의하면 이벤트 구동 방식으로 수신 버퍼에 저장된 메시지들을 처리함으로써 실시간 처리를 보장하고 인터럽트 처리 부하를 감소시키며 메시지 트래픽이 높은 상황에서 수신 처리 태스크가 한 세마포아 이벤트에 의해 수신 카운터 값만큼 메시지들을 처리할 수 있게 하여 트래픽에 의한 성능 저하를 방지할 수 있는 훌륭한 효과가 있다.As described above, according to the present invention, by processing messages stored in the reception buffer in an event driven manner, real-time processing is ensured and the load of the interrupt processing is reduced. In a situation where message traffic is high, So that the performance degradation due to the traffic can be prevented.

Claims (4)

기지국 제어계 통신 보드들의 메시지 수신부를 초기화하는 단계와, 상기 메시지 수신부가 초기화된 후 수신 버퍼에 메시지가 저장되어 직접 메모리 접근 제어기에서 발생한 인터럽트를 중앙 처리 장치에서 인식하여 인터럽트 서비스 루틴이 수행되는 단계와, 상기 인터럽트 서비스 루틴에서 발생된 수신 세마포어 이벤트에 의해 수신 처리 태스크가 수행되는 단계로 이루어진 것을 특징으로 하는 이동 통신 시스템 기지국 제어계의 메시지 수신부 최적 처리 방법.A step of initializing a message receiving unit of the communication boards of the base station control system, an interrupt service routine being performed by a central processing unit recognizing an interrupt generated in the direct memory access controller by storing a message in a reception buffer after the message receiving unit is initialized, And a reception processing task is performed by a reception semaphore event generated in the interrupt service routine. 제1항에 있어서, 상기 기지국 제어계 통신 보드들의 메시지 처리부를 초기화하는 단계는 직렬 입출력 제어기의 수신부를 초기화하는 단계와, 상기 직력 입출력 제어기의 수신부를 초기화한 후 직접 메모리 접근 제어기를 초기화하고 수신 인터럽트 서비스 루틴을 등록하는 단계와, 상기 수신 인터럽트 서비스 루틴을 등록한 후 버퍼 읽기/쓰기 카운터를 수신 버퍼 시작 주소로 설정하는 단계와, 상기 버퍼 읽기/쓰기 카운터를 수신 버퍼 시작 주소로 설정한 후 수신 카운터를 0으로 설정하는 단계와, 상기 수신 카운터를 0으로 설정한 후 수신 처리 플래그를 완료 상태로 설정하는 단계와, 상기 수신 처리 플래그를 완료 상태로 설정한 후 수신 처리 세마포어를 생성하는 단계와, 상기 수신 처리 세마포어를 생성한 후 수신 처리 태스크를 생성하는 단계와, 상기 수신 처리 태스크를 생성한 후 직접 메모리 접근 제어기와 직렬 입출력 제어기를 메시지 수신 가능 상태로 천이시키는 단계로 이루어진 것을 특징으로 하는 이동 통신 시스템 기지국 제어계의 메시지 수신부 최적 처리 방법.The method of claim 1, wherein initializing the message processor of the base station control system communication boards comprises: initializing a receiver of the serial input / output controller; initializing the receiver of the input / output controller to initialize the memory access controller; Setting a buffer read / write counter to a receive buffer start address after registering the receive interrupt service routine, setting the buffer read / write counter to a receive buffer start address, Setting a reception processing flag to a complete state after setting the reception counter to 0; generating a reception processing semaphore after setting the reception processing flag to a completion state; Generating a receive processing task after creating the semaphore; After creating the group receiving treatment task direct memory access controller and receive messages for serial input and output controller state step optimum processing method receiving a message of a mobile communication system base station, characterized in that the control system consisting of a transition. 제1항에 있어서, 상기 인터럽트 서비스 루틴이 수행되는 단계는 인터럽트 대기 상태에서 수신 인터럽트 이벤트를 수신할 경우 메시지 수신 카운터를 증가시키는 단계와, 상기 메시지 수신 카운터를 증가시킨 후 버퍼 쓰기 포인터를 직접 메모리 접근 제어기의 기본 주소 레지스터 값으로 변경하는 단계와, 상기 버퍼 쓰기 포인터를 변경한 후 수신 처리 플래그가 종료 상태인가를 검사하는 단계와, 상기 수신 처리 플래그 상태의 검사 결과에 따라 수신 처리 플래그 값이 종료 상태일 경우 수신 처리 요구 플래그를 요구 상태로 설정하는 단계와, 상기 수신 처리 요구 플래그를 요구 상태로 설정한 후 수신 처리 세마포아를 구동하여 수신 처리 태스크로 송신하는 단계와, 상기 수신 처리 세마포어를 수신 처리 태스크로 송신한 후 수신 인터럽트 대기 상태로 천이하는 단계와, 상기 수신 처리 플래그 상태의 검사 결과에 따라 수신 처리 플래그가 종료 상태가 아닐 경우 인터럽트 서비스 루틴을 종료하고 수신 인터럽트 대기 상태로 천이하는 단계로 이루어진 것을 특징으로 하는 이동 통신 시스템 기지국 제어계의 메시지 수신부 최적 처리 방법.2. The method of claim 1, wherein the step of performing the interrupt service routine comprises: increasing a message reception counter when receiving a receive interrupt event in an interrupt standby state; Changing a buffer write pointer to a base address register value of the controller; checking whether a reception processing flag is in an end state after changing the buffer write pointer; Setting a reception processing request flag to a request state and driving the reception processing semaphore to transmit the reception processing request flag to a reception processing task; Wait for receive interrupt after sending to task And terminating the interrupt service routine and transiting to a receive interrupt waiting state when the reception processing flag is not in an end state according to the result of the check of the reception processing flag state. Best method for message receiver. 제1항에 있어서, 상기 수신 처리 태스크가 수행되는 단계는 수신 처리 태스크의 수신 처리 세마포아 대기 상태에서 수신 인터럽트 서비스 루틴으로부터 수신 세마포아 이벤트를 수신할 경우 수신 인터럽트 서비스 루틴에서 현재 유지하고 있는 수신 카운터 값을 임시 카운터에 저장하는 단계와, 상기 수신 카운터 값을 임시 카운터에 저장한 후 버퍼 읽기 포인터를 임시 버퍼 포인터에 저장하는 단계와, 상기 버퍼 읽기 포인터를 임시 버퍼 포인터에 저장한 후 수신 카운터를 0로 설정하는 단계와, 상기 수신 카운터를 0로 설정한 후 버퍼 읽기 포인터를 버퍼 쓰기 포인터로 변경하는 단계와, 상기 버퍼 읽기 포인터를 버퍼 쓰기 포인터로 변경한 후 임시 카운터가 0보다 큰가를 검사하는 단계와, 상기 임시 카운터의 검사 결과에 따라 임시 카운터가 0보다 클 경우 메시지 처리 과정을 수행한 후 임시 카운터를 감소시키고 임시 버퍼 포인터를 증가시키는 단계와, 상기 증가된 임시 버퍼 포인터가 수신 버퍼의 끝 주소인지를 검사하는 단계와, 상기 임시 버퍼 포인터의 검사 결과에 따라 임시 버퍼 포인터가 수신 버퍼의 끝 주소일 경우 임시 버퍼 포인터를 수신 버퍼 시작 주소로 변경하는 단계와, 상기 임시 버퍼 포인터를 수신 버퍼 시작 주소로 변경한 후 임시 카운터가 0보다 큰가를 검사하는 단계로 천이하는 단계와, 상기 임시 버퍼 포인터의 검사 결과에 따라 임시 버퍼 포인터가 수신 버퍼의 끝 주소가 아닐 경우 임시 카운터가 0보다 큰가를 검사하는 단계로 천이하는 단계와, 상기 입시 카운터의 검사 결과에 따라 임시 카운터 값이 0이면 수신 처리 플래그를 종료 상태로 설정한 후 수신 처리 세마포아 대기 상태로 천이하는 단계로 이루어진 것을 특징으로 하는 이동 통신 시스템 기지국 제어계의 메시지 수신부 최적 처리 방법.The method of claim 1, wherein the step of performing the receive processing task further comprises: when receiving a receive semaphore event from a receive interrupt service routine in a receive processing semaphore standby state of a receive processing task, Storing a buffer read pointer in a temporary buffer pointer after storing the received counter value in a temporary counter; storing the buffer read pointer in a temporary buffer pointer, Changing the buffer read pointer to a buffer write pointer after setting the reception counter to 0, changing the buffer read pointer to a buffer write pointer, and checking whether the temporary counter is larger than 0 And the temporary counter is greater than zero according to the result of the inspection of the temporary counter A step of decreasing a temporary counter and increasing a temporary buffer pointer after performing a message processing procedure; checking whether the incremented temporary buffer pointer is an end address of a reception buffer; Changing the temporary buffer pointer to a receiving buffer start address when the temporary buffer pointer is the end address of the receiving buffer, checking whether the temporary counter is greater than 0 after changing the temporary buffer pointer to the receiving buffer starting address, Checking whether the temporary buffer pointer is greater than 0 when the temporary buffer pointer is not the end address of the receiving buffer according to a result of the checking of the temporary buffer pointer; If the counter value is 0, the receive processing flag is set to the end state, and the receive processing semaphore State the mobile communication system, the base station control system of the message receiving optimal process characterized in that comprising the steps of transition to.
KR1019960044701A 1996-10-09 1996-10-09 Base station of mobile telecommunication system KR100212450B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960044701A KR100212450B1 (en) 1996-10-09 1996-10-09 Base station of mobile telecommunication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960044701A KR100212450B1 (en) 1996-10-09 1996-10-09 Base station of mobile telecommunication system

Publications (2)

Publication Number Publication Date
KR19980026298A KR19980026298A (en) 1998-07-15
KR100212450B1 true KR100212450B1 (en) 1999-08-02

Family

ID=19476688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960044701A KR100212450B1 (en) 1996-10-09 1996-10-09 Base station of mobile telecommunication system

Country Status (1)

Country Link
KR (1) KR100212450B1 (en)

Also Published As

Publication number Publication date
KR19980026298A (en) 1998-07-15

Similar Documents

Publication Publication Date Title
CN111580995B (en) Synchronous communication method and system of distributed cloud platform and Internet of things intelligent terminal based on MQTT asynchronous communication scene
KR100383381B1 (en) A Method and Apparatus for Client Managed Flow Control on a Limited Memory Computer System
EP0101609B1 (en) Data communication method
US6920475B1 (en) Communication architecture for distributed computing environment
CN110134534B (en) System and method for optimizing message processing for big data distributed system based on NIO
CN113515320A (en) Hardware acceleration processing method and device and server
US6256660B1 (en) Method and program product for allowing application programs to avoid unnecessary packet arrival interrupts
EP0871307A2 (en) Apparatus for flexible control of interrupts in multiprocessor systems
US4701908A (en) Network system utilizing plural station addresses
US20020004868A1 (en) Parallel processing system in which use efficiency of CPU is improved and parallel processing method for the same
KR100212450B1 (en) Base station of mobile telecommunication system
CN111309467B (en) Task distribution method and device, electronic equipment and storage medium
CN112714181A (en) Data transmission method and device
KR970003972B1 (en) Method for loading of common data initial in cdma
JP2526399B2 (en) Load balancing method for parallel computers
KR100227781B1 (en) The real time processing method of traffic data in the base station
JP2933478B2 (en) Switching system resource control method
JPH09269936A (en) Remote reading processing method and device therefor
CN118449861A (en) Virtual Ethernet realization method, device and chip based on hardware domain
KR100286972B1 (en) Receive buffer control apparatus of processor communication controller board assembly and the method thereof
KR100442599B1 (en) Message handling apparatus and method in exchange system using distributed objects of workstation
JP2823788B2 (en) Computer system with FAX function
JPS63296153A (en) System for controlling command concatenation of inter-program communication processing system
JP3298558B2 (en) How to send and receive monitoring control messages
JPH06250910A (en) Management system for message queue incoming call

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080428

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee