KR19980014207A - Apparatus and method for processing data protocol of a multiprocessor system - Google Patents
Apparatus and method for processing data protocol of a multiprocessor system Download PDFInfo
- Publication number
- KR19980014207A KR19980014207A KR1019960033068A KR19960033068A KR19980014207A KR 19980014207 A KR19980014207 A KR 19980014207A KR 1019960033068 A KR1019960033068 A KR 1019960033068A KR 19960033068 A KR19960033068 A KR 19960033068A KR 19980014207 A KR19980014207 A KR 19980014207A
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- slave
- exception
- master
- exchange
- Prior art date
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
본 발명은 교환기의 멀티 프로세서 시스템에 관한 것으로, 교환기의 운용 및 보전 스위치 서브시스템에서 외부 통신망과 연결되는 데이타 프로토콜 처리 장치에서 외부 통신망과 연결되어 프로토콜 인터페이스 기능을 수행하는 슬레이브 프로세서의 동작을 감시하여 이상 상태 및 예외 상태를 효과적으로 처리가능하도록 한다. 이러한 본 발명에 따른 교환기의 운용 및 보전 스위치 서브시스템의 통신 프로토콜 처리장치는, 타 프로세서들과 통신하는 마스터 프로세서와, 네트워크와 통신 프로토콜 데이타를 송수신하는 슬레이브 프로세서와, 상기 마스터 프로세서와 슬레이브 프로세서 간의 통신을 VME 상에 수행하는 공통메모리로 구성되며, 상기 마스터 프로세서가 슬레이브 프로세서의 동작을 주기적으로 감시하고 이상 감지시 시스템을 재부팅하고 상위 프로세서에 보고하는 것을 특징으로 한다.The present invention relates to a multiprocessor system of an exchange, in which a data protocol processing unit connected to an external communication network in an operation and maintenance switch subsystem of an exchange monitors an operation of a slave processor connected to an external communication network, State and exception state to be effectively processed. The communication protocol processing apparatus of the switching and subsystem of the switching subsystem according to the present invention includes a master processor for communicating with other processors, a slave processor for transmitting and receiving communication protocol data to and from the network, a communication between the master processor and the slave processor The master processor periodically monitors the operation of the slave processor, reboots the system when an abnormality is detected, and reports to the upper processor.
Description
본 발명은 멀티프로세서 시스템의 데이타 프로토콜 처리 장치 및 방법에 관한 것으로, 특히 소프트웨어 오류에 의한 예외 상태를 처리할 수 있는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for processing a data protocol in a multiprocessor system, and more particularly, to an apparatus and method for handling an exception state due to a software error.
일반적으로 교환기는 분산제어 방식으로 교환 기능을 수행한다. 따라서 현재의 교환기는 멀티프로세서 시스템이 된다. 상기와 같은 교환기의 프로세서에서 예외(exception)가 발생되면, 상기 예외 정보(exception stack frame)를 측정 메모리에 저장한 후 재기동(reboot)하고, 재기동이 완료되면 저장된 정보를 읽어 상위 시스템에 보고하게 된다.Generally, the exchange performs the exchange function by the distributed control method. Thus, the current exchange is a multiprocessor system. When an exception is generated in the processor of the exchange as described above, the exception stack frame is stored in the measurement memory and then rebooted. When the reboot is completed, the stored information is read and reported to the host system .
상기와 같이 교환기에서 예외 상태를 처리하는 종래의 방법을 살펴보면, 예외 상태 발생시 예외정보를 동작모드에 따라 나누어 처리하지 않고 그대로 저장하고 재기동시 저장된 예외 정보를 억세스하여 분석하므로 문제점 분석 및 해결이 용이하지 않다. 또한 교환기의 프로세서 들은 마스터 프로세서 및 슬레이브 프로세서들로 구성되는데, 마스터 프로세서에서 슬레이브 프로세서의 동작 상태를 감시하지 않아 예외 상태를 감지하기가 어렵다.As described above, in the conventional method for handling an exception state in an exchange, if exception information is generated according to an operation mode, the exception information is stored without being processed, and the exception information stored at the time of restart is accessed and analyzed. not. Also, the processors of the exchange are composed of a master processor and a slave processor. It is difficult to detect an exception state because the master processor does not monitor the operation state of the slave processor.
이런 경우, 시스템 동작 모드를 서비스 및 디버그(service/debug)로 구분하고 이를 사용자가 선택하여 사용할 수 있게하면, 예외 상태 발생시 사용자가 시스템 동작모드를 디버그 모드로 전환하여 예외상태를 신속하게 처리할 수 있다.In this case, if the system operation mode is classified into service and debug (service / debug) and the user can select and use it, the user can switch the system operation mode to the debug mode and quickly process the exception state have.
따라서 본 발명의 목적은 멀티프로세서 시스템에서 소프트웨어에 의한 예외상태 발생시 시스템 동작모드를 전환하여 예외상태를 처리할 수 있는 장치 및 방법을 제공함에 있다.It is therefore an object of the present invention to provide an apparatus and method for processing an exception state by switching a system operation mode when an exception state is generated by software in a multiprocessor system.
본 발명의 다른 목적은 멀티프로세서 시스템에서 마스터 프로세서가 슬레이브 프로세서의 동작 상태를 감시하여 이상 상태를 처리할 수 있는 방법을 제공함에 있다.It is another object of the present invention to provide a method by which a master processor can monitor an operation state of a slave processor in a multiprocessor system to process an abnormal state.
이러한 본 발명의 목적들을 달성하기 위하여 교환기의 운용 및 보전 스위치 서브시스템의 통신 프로토콜 처리장치가, 타 프로세서들과 통신하는 마스터 프로세서와, 네트워크와 통신 프로토콜 데이타를 송수신하는 슬레이브 프로세서와, 상기 마스터 프로세서와 슬레이브 프로세서 간의 통신을 VME 상에 수행하는 공통메모리로 구성되며, 상기 마스터 프로세서가 슬레이브 프로세서의 동작을 주기적으로 감시하고 이상 감지시 시스템을 재부팅하고 상위 프로세서에 보고하는 것을 특징으로 한다.In order to accomplish the objects of the present invention, there is provided a communication protocol processing apparatus of an operation and maintenance switch subsystem of an exchange, comprising: a master processor for communicating with other processors; a slave processor for transmitting and receiving communication protocol data; And a common memory for performing communication between the slave processors on the VME. The master processor periodically monitors the operation of the slave processor, reboots the system when an abnormality is detected, and reports to the upper processor.
도 1은 멀티프로세서 시스템의 일예로서 교환기의 운용 및 보전 스위치 서브시스템의 구성을 도시하는 도면1 is a diagram showing a configuration of an operation and maintenance switch subsystem of an exchange as an example of a multiprocessor system;
도 2a,2b는 멀티프로세서 시스템에서 마스터 프로세서가 슬레이브 프로세서의 감시 기능을 수행하는 동작을 도시하는 흐름도FIGS. 2A and 2B are flowcharts showing operations in which a master processor performs a monitoring function of a slave processor in a multi-processor system
도 3은 멀티프로세서 시스템에서 슬레이브 프로세서의 동작을 도시하는 흐름도3 is a flow chart illustrating the operation of a slave processor in a multiprocessor system
도 4는 멀티프로세서 시스템에서 마스터 프로세서 및 슬레이브 프로세서에서 예외가 발생하였을 시의 처리 과정을 도시하는 흐름도4 is a flowchart showing a processing procedure when an exception occurs in the master processor and the slave processor in the multiprocessor system
도 5는 본 발명의 실시예에서 예외처리 체인의 구성을 도시하는 도면5 is a diagram showing the structure of an exception processing chain in the embodiment of the present invention
이하 본 발명의 바람직한 실시예가 첨부된 도면의 참조와 함께 상세히 설명될 것이다. 도면들중 동일한 부품들은 가능한한 어느곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the same parts of the drawings denote the same reference numerals whenever possible.
도 1은 본 발명의 실시예에 따라 전자 교환기과 데이타 통신 프로토콜 장치의 연결 관계를 도시하는 도면이다.1 is a diagram showing a connection relationship between an electronic exchanger and a data communication protocol apparatus according to an embodiment of the present invention.
참조부호100은 전전자 교환기에서 운용 및 보전스위치 서브시스템이다. 상기 운용 및 보전스위치 서브시스템100에서 OMP(Operating Maintenance Processor)110은 상기 스위치 서브시스템100의 운용 밍 보전을 총괄하는 프로세서이다. 상기 OMP110의 주변장치로는 운용 및 보전 기능을 수행하기 위한 데이타들을 저장하는 하드디스크(hard disk)111 및 마그네틱 테이프(magnetic tape)112를 구비한다.Reference numeral 100 denotes an operation and maintenance switch subsystem in all electronic exchanges. In the operation and maintenance switch subsystem 100, an OMP (Operating Maintenance Processor) 110 is a processor that supervises operation and maintenance of the switch subsystem 100. A peripheral device of the OMP 110 includes a hard disk 111 and a magnetic tape 112 for storing data for performing operation and maintenance functions.
MMP(Man-Machine Processor)120은 스위치 서브시스템110과 운용자 간의 MMC(Man-Machine Communication)를 담당하는 프로세서이다. 상기 MMP120의 주변장치로는 MMC 기능을 수행하기 위한 터미널(terminal)122 및PC(Personal Computer)123과, MMC 수행중에 발생되는 데이타를 저장하는 하드디스크121과, MMC 기능 수행에 의한 결과를 프린트하는 프린터(printer)124를 구비한다.A Man-Machine Processor (MMP) 120 is a processor for MMC (Man-Machine Communication) between the switch subsystem 110 and an operator. As a peripheral device of the MMP 120, a terminal 122 and a PC (Personal Computer) 123 for performing an MMC function, a hard disk 121 for storing data generated during MMC execution, And a printer 124.
EXIP(Eithernet and X.25 Interface Processor)130은 TCP/IP 및 X.25 프로토콜(protocol)을 정합하는 데이타 프로토콜 프로세서로서, 상기 TCP/IP망과 상기 OMP110 및 120의 프로토콜을 인터페이스한다. 마스터 프로세서131은 타교환기의 프로세서와 통신하는 기능을 담당한다. 슬레이브 프로세서132는 외부의 TCP/IP 망과 전전자 교환기기 인터페이스될 시 프로토콜(X.25, TCP/IP) 데이타를 송수신하는 기능을 담당한다. 메모리(shared memory)133은 VME 버스 상에서 상기 마스터 프로세서131과 슬레이브 프로세서132 간의 통신 기능을 담당한다.The EXIP (Eithernet and X.25 Interface Processor) 130 is a data protocol processor for matching TCP / IP and X.25 protocols and interfaces protocols of the TCP / IP network and the OMPs 110 and 120. The master processor 131 functions to communicate with a processor of another exchange. The slave processor 132 is responsible for transmitting and receiving protocol (X.25, TCP / IP) data when it is interfaced with an external TCP / IP network and an electronic exchanger. A shared memory 133 serves as a communication function between the master processor 131 and the slave processor 132 on the VME bus.
IPCU(Inter Processor Communication Unit)140은 상기 프로세서 OMP110, MMP120 및 EXIP130 들 간의 프로세서간 통신을 제어한다.An Inter Processor Communication Unit (IPCU) 140 controls interprocessor communication between the processors OMP 110, MMP 120 and EXIP 130.
상기 도 1을 참조하면, 원격 위치되는 워크스테이션(workstation)이 TCP/IP망을 통해 상기 EXIP130과 접속하고 OMP110 또는 MMP120의 화일을 읽기를 요구한다. 그러면 상기 EXIP130은 이를 IPCU140을 통해 상기 OMP110 또는 MMP120에 전달한다. 그리고 상기 EXIP130은 상기 OMP110 또는 MMP120이 리드하여 출력하는 화일을 상기 IPCU140을 통해 IPC 메세지 형태로 수신한 후, 이 화일들을 TCP/IP의 형태로 변환하여 해당하는 워크스테이션에 전달한다.Referring to FIG. 1, a remotely located workstation connects to the EXIP 130 via a TCP / IP network and requests to read a file of the OMP 110 or the MMP 120. The EXIP 130 then forwards it to the OMP 110 or MMP 120 via the IPCU 140. The EXIP 130 receives a file read and output by the OMP 110 or the MMP 120 through the IPCU 140 in the form of an IPC message, converts the files into a TCP / IP format, and transfers the converted files to a corresponding workstation.
또한 상기 워크스테이션에서 전전자 교환기에 화일을 저장하고자 하는 경우, 상기 EXIP130은 원격의 워크스테이션으로 부터 상기 TCP/IP망을 통해 화일 내용을 수신한 후, TCP/IP 형태의 화일을 IPC 메세지로 변환하여 IPCU140에 출력하므로서, 해당하는 OMP110 또는 MMP120에 저장한다.In addition, when the workstation wants to store the file in the entire electronic exchange, the EXIP 130 receives the file contents from the remote workstation via the TCP / IP network, converts the TCP / IP type file into an IPC message And outputs it to the IPCU 140, and stores it in the corresponding OMP 110 or MMP 120.
상기한 바와 같이 운용 및 보전 스위치 서브시스템100에서 EXIP130은 상기 TCP/IP 망과 연결되어 서브시스템110과 상기 TCP/IP 망 간의 화일을 인터페이스하는 기능을 수행한다. 이때 상기 EXIP130의 마스터 프로세서131은 다른 교환기의 프로세서와 통신 기능을 담당하고, 슬레이브 프로세서132는 상기 TCP/IP 망의 프로토콜 방식으로 데이타를 통신하는 기능을 담당한다. 그리고 상기 마스터 프로세서131과 슬레이브 프로세서132 간의 데이타 통신은 공유메모리133을 통해 이루어진다.As described above, in the operation and maintenance switch subsystem 100, the EXIP 130 is connected to the TCP / IP network and performs a function of interfacing a file between the subsystem 110 and the TCP / IP network. At this time, the master processor 131 of the EXIP 130 performs a communication function with a processor of another exchange, and the slave processor 132 functions to communicate data in a protocol mode of the TCP / IP network. Data communication between the master processor 131 and the slave processor 132 is performed through the shared memory 133.
이때 본 발명의 실시예에서는 상기와 같은 구성을 갖는 EXIP130에서 마스터 프로세서131은 도 2a,2b와 같은 동작을 수행하여 상기 슬레이브 프로세서132의 동작을 감시한 후 이상 상태 감지시 이를 상위 프로세서로 보고한다.At this time, in the embodiment of the present invention, in the EXIP 130 having the above-described configuration, the master processor 131 performs operations as shown in FIGS. 2A and 2B to monitor the operation of the slave processor 132, and reports it to an upper processor when an abnormal condition is detected.
상기 도 2a,2b를 참조하면, 먼저 상기 마스터 프로세서131은 201단계에서마스터 보드(master board)의 운영체계(operating system:OS)를 초기화할 시 사용자 예외처리 핸들러(User Exception Handler: 이하 UEH라 칭한다)를 등록하고, 사용자 핸들러 플래그(User Handler on Flag: 이하 UHO플래그라 칭한다)를 세트(UHO플래그←1)한다. 이후 상기 마스터 프로세서131은 202단계에서 프로토콜 처리 기능을 수행하는 응용 프로세스(application precess)를 초기화하고, 203단계에서 슬레이브 동작 감시 기능을 수행하는 프로세스를 초기화한다. 상기와 같이 응용 프로세스 및 슬레이브 감시 프로세스를 초기화하면, 상기 슬레이브 프로세서의 감시 기능이 시작된다.2A and 2B, when the master processor 131 initializes an operating system (OS) of a master board in step 201, the master processor 131 calls a user exception handler (UEH) ), And sets a user handler flag (hereinafter referred to as UHO flag) (UHO flag ← 1). In step 202, the master processor 131 initializes an application process for performing a protocol processing function in step 202, and initializes a process for performing a slave operation monitoring function in step 203. When the application process and the slave monitoring process are initialized as described above, the monitoring function of the slave processor starts.
그러면 상기 슬레이브 프로세서132의 감시 프로세스가 시작되면, 마스터 프로세서131은 204단계에서 상기 슬레이브 프로세서132로 부터 부팅 완료 이벤트(event)의 수신을 대기한다. 이때 상기 이벤트를 수신하면, 상기 마스터 프로세서131은 205단계에서 시스템 부팅이 예외 이상상태(execption fault)에 의해 이루어졌나 확인하기 위하여 예외 히스토리 테이블(exception history table)에서 다운 플래그(down flag)를 리드한다. 그리고 상기 마스터 프로세서131은 206단계에서 상기 다운 플래그의 상태를 검사한다. 이때 상기 리드한 다운플래그가 세트(down flag=1)이면, 시스템 부팅이 예외에 의해 이루어진 것이므로 207단계에서 최근 발생한 예외 스텍 프레임(exception stack frame)리드한 후, 208단계에서 교환기의 운용 보전 프로세서인 OMP110에 마스터의 이상(fault) 정보로 출력한다.When the monitoring process of the slave processor 132 is started, the master processor 131 waits for reception of a booting completion event from the slave processor 132 in step 204. Upon receiving the event, the master processor 131 reads a down flag from the exception history table in order to confirm whether the system booting has been performed by an exceptional fault (step 205) . In step 206, the master processor 131 checks the state of the down flag. In this case, if the read down flag is set (down flag = 1), since the system boot is made by exception, the exception stack frame of the most recently generated exception stack frame is read in step 207, OMP110 as the master fault information.
그러나 상기 206단계에서 다운 플래그가 세트되어 있지 않으면(down flag=0) 시스템 부팅이 마스터 프로세서131의 이상에 의해 이루어진 것이 아니므로, 슬레이브 프로세서132의 이상에 의한 이루어진 것인가를 확인하여야 한다. 따라서 상기 다운 플래그가 세트되지 않은 경우, 상기 마스터 프로세서131은 208단계에서 이를 감지하고, 209단계에서 슬레이브 다운 플래그(slave down flag)를 예외 히스토리 테이블에서 리드한다. 이후 상기 마스터 프로세서131은 210단계에서 슬레이브 다운 플래그가 세트(slave down flag=1) 상태인가 검사한다. 이때 상기 슬레이브 다운 플래그가 세트된 상태이면, 211단계에서 메모리133 상에 존재하는 슬레이브 프로세서132의 예외 히스토리 테이블에서 최근 발생한 예외 스택 프레임을 리드한 후, 212단계에서 이 정보(slave down fault)를 상기 OMP110에 전송한다.However, if the down flag is not set (down flag = 0) in step 206, the system booting is not performed due to an error of the master processor 131, and therefore it should be confirmed whether the slave processor 132 is caused by an abnormality. Therefore, if the down flag is not set, the master processor 131 detects this in step 208, and in step 209, it reads the slave down flag from the exception history table. Then, in step 210, the master processor 131 checks whether a slave down flag is set (slave down flag = 1). If the slave down flag is set in step 211, the most recent exception stack frame is read from the exception history table of the slave processor 132 existing on the memory 133 in step 211. In step 212, this information (slave down fault) OMP110.
상기 208단계 또는 상기 212단계를 수행한 후, 또는 상기 210단계에서 상기 슬레이브 다운 플래그가 세트되지 않은 경우, 상기 마스터 프로세서131은 상기 메모리133 상의 카운터의 값을 올드 플래그(old flag)에 옮겨 저장한다. 이때 상기 메모리133의 카운터는 슬레이브 프로세서132에 의해서 주기적으로 증가되는 카운터이다.If the slave down flag is not set after step 208 or 212, or if the slave down flag is not set in step 210, the master processor 131 shifts the value of the counter on the memory 133 to an old flag . At this time, the counter of the memory 133 is a counter periodically incremented by the slave processor 132.
상기한 바와 같이 마스터 프로세서131이 초기화 동작을 수행할 시, 먼저 마스터 프로세서131의 예외 히스토리 테이블에서 다운 플래그를 분석하므로서, 마스터 프로세서131이 정상적인 상태에서 초기화 동작을 수행한 것인지 아니면 예외 상태에 초기화 동작을 수행한 것인가를 검사한다. 이때 상기 마스터 프로세서131이 예외 상태(down flag=1)이면, 메모리133의 마스터 예외 히스토리 테이블에서 최근의 예외 스택 프레임 값을 억세스하여 OMP110으로 전송한 후, 213단계로 진행한다. 그러나 상기 마스터 프로세서131이 정상 상태(down flag=0)이면, 상기 마스터 프로세서131은 슬레이브 다운 플래그를 검사하여 슬레이브 프로세서132의 상태를 판단한다. 이때 상기 슬레이프 다운 플래그가 예외 상태(slave down flag=1)이면, 상기 메모리133의 슬레이브 예외 히스토리 테이블에서 최근의 예외 스택 프레임 값을 억세스하여 OMP110에 전송한 후, 213단계로 진행한다. 그러나 상기 다운플래그 및 슬레이브 다운 플래그(down flag=slave flag=0)이면, 상기 마스터 프로세서131은 210단계에서 상기 마스터 프로세서131 및 슬레이브 프로세서132가 모두 정상적인 상태에서 초기화 동작을 완료된 상태이므로, 213단계로 진행한다.As described above, when the master processor 131 performs the initialization operation, first, the down flag is analyzed in the exception history table of the master processor 131 to determine whether the master processor 131 has performed an initialization operation in a normal state or an initialization operation Check whether it has been performed. At this time, if the master processor 131 is in an exception state (down flag = 1), the latest exception stack frame value is accessed in the master exception history table of the memory 133 and transmitted to the OMP 110, However, if the master processor 131 is in a normal state (down flag = 0), the master processor 131 checks the slave down flag to determine the state of the slave processor 132. At this time, if the slave down flag is set to an exception state (slave down flag = 1), the latest exception stack frame value is accessed in the slave exception history table of the memory 133 and transmitted to the OMP 110, However, if the down flag and the slave down flag (down flag = slave flag = 0), the master processor 131 is in a state where both the master processor 131 and the slave processor 132 have been initialized in the normal state in step 210, Go ahead.
상기 213단계를 수행한 후, 상기 마스터 프로세서131은 214단계에서 설정된 시간(본 발명의 실시예에서는 1.2초라 가정한다) 동안 대기(sleep)한 후, 215단계에서 상기 메모리133의 카운터 값을 플래그 영역에 옮겨 저장한다. 그리고 상기 마스터 프로세서131은 216단계에서 올드 플래그와 플래그의 값을 비교하여 동일(old_flag=flag)한가 검사한다. 이때 동일하지 않으면 위와 같은 214단계 및 215단계를 반복 수행한다. 위와 같은 과정을 수행하는 중에 상기 올드 플래그와 플래그의 값이 동일하면, 상기 마스터 프로세서131은 217단계에서 시스템을 다시 부팅(rebooting)한 후 종료한다.After performing step 213, the master processor 131 sleeps for a predetermined time (assuming 1.2 seconds in the embodiment of the present invention) in step 214, and then, in step 215, And stores it. In step 216, the master processor 131 compares the value of the old flag with the value of the flag to check whether the flag is the same (old_flag = flag). If not, the steps 214 and 215 are repeated. If the value of the flag is equal to the value of the old flag during the above process, the master processor 131 reboots the system in step 217 and terminates the process.
즉, 부팅이 완료되면, 상기 마스터 프로세서131은 주기적으로 메모리133) 상의 카운터 값을 리드한 후 이전에 읽은 값과 비교한다. 이때 상기 카운터 값은 상기한 바와 같이 슬레이브 프로세서에 의해 주기적으로 증가된다. 따라서 슬레이브 프로세서132가 정상적으로 동작되는 경우에는 이전 상태의 카운터 값(old_flag)과 현재의 카운터 값(flag)은 상이하게 되며, 상기 슬레이브 프로세서132가 비정상적으로 동작되는 경우에는 두 상태의 카운터 값이 동일하게 된다. 따라서 상기 마스터 프로세서131은 상기214단계-216단계를 설정된 시간 간격으로 반복 수행하면서, 상기 슬레이브 프로세서132의 동작을 감시한다. 이때 상기 마스터 프로세서131이 상기 슬레이브 프로세서132를 감시하는 주기는 상기 슬레이브 프로세서132가 카운터 값을 증가시키는 주기 보다 길어야 하므로, 본 발명의 실시예에서는 이를 1.2초로 설정한다. 위와 같이 슬레이브 프로세서의 감시 기능을 수행하는 상태에서 상기 마스터 프로세서131은 이전 상태와 현재 상태의 카운터 값이 동일할 시 상기 슬레이브 프로세서132의 이상 상태 발생으로 시스템을 재부팅하고 종료한다.That is, when the booting is completed, the master processor 131 periodically reads the counter value on the memory 133, and then compares the counter value with the previously read value. At this time, the counter value is periodically increased by the slave processor as described above. Therefore, when the slave processor 132 is normally operated, the counter value (old_flag) in the previous state is different from the current counter value. When the slave processor 132 is operating abnormally, do. Accordingly, the master processor 131 repeatedly performs the steps 214 through 216 at predetermined time intervals, and monitors the operation of the slave processor 132. At this time, the period in which the master processor 131 monitors the slave processor 132 must be longer than the period in which the slave processor 132 increases the counter value, and therefore, it is set to 1.2 seconds in the embodiment of the present invention. When the counter value of the current state is the same as the counter value of the current state, the master processor 131 reboots the system with the abnormal state of the slave processor 132 and terminates.
도 3은 상기 마스터 프로세서131에 의해 동작이 감시되며, TCP/IP 망과 교환기 간의 인터페이스 기능을 수행하는 슬레이브 프로세서132의 동작 흐름을 도시하고 있다.FIG. 3 shows an operation flow of the slave processor 132, which is monitored by the master processor 131 and performs an interface function between the TCP / IP network and the exchange.
상기 도 3을 참조하면, 상기 슬레이브 프로세서132는 301단계에서 마스터 프로세서와 같이 운영체계(OS)를 초기화할 시 사용자 예외처리 핸들러 UEH를 등록하고, 사용자 핸들러 플래그(user handler on flag)를 세트(UHO플래그←1)한다. 이후 상기 슬레이브 프로세서132는 302단계에서 프로토콜 처리 기능을 수행하는 응용 프로세스(application precess)를 초기화하고, 303단계에서 슬레이브 프로세어132의 보고 기능을 담당하는 프로세스를 시작한다. 상기와 같이 응용 프로세스 및 슬레이브 보고 기능 프로세스를 초기화하면, 상기 슬레이브 프로세서132는 상기 마스터 프로세서131에 상태를 보고하는 기능이 시작된다.3, in step 301, the slave processor 132 registers a user exception handling handler UEH when initializing an operating system such as a master processor, sets a user handler flag to a UHO Flag ← 1). Then, the slave processor 132 initializes an application process for performing a protocol processing function in step 302, and starts a process for a reporting function of the slave processor 132 in step 303. When the application process and the slave reporting function process are initialized as described above, the slave processor 132 starts to report the status to the master processor 131.
그러면 상기 슬레이브 프로세서132가 보고 기능을 동작시킨 후, 슬레이브 프로세서132는 304단계에서 상기 메모리133의 슬레이브 예외 히스토리 테이블(slave exception history table)에서 다운 플래그(down flag)를 리드한다. 그리고 상기 마스터 프로세서131은 305단계에서 상기 다운 플래그의 상태를 검사한다. 이때 상기 리드한 다운플래그가 세트(down flag=1)이면, 시스템 부팅이 슬레이브 프로세서132의 예외에 의해 이루어진 것이다. 그러면 상기 슬레이브 프로세서132는 306단계에서 상기 메모리133 상의 마스터 프로세서131 예외 히스토리 테이블에 슬레이브 다운 플래그를 세트하여, 시스템이 슬레이브의 예외에 의해 재부팅되었음을 표시한다. 그리고 상기 다운 플래그가 리세트(down flag=0)이면 정상적인 상태에 시스템 부팅이 이루어진 상태이므로, 306단계에서 상기 슬레이브 다운 플래그를 리세트한다.Then, after the slave processor 132 operates the reporting function, the slave processor 132 reads a down flag from the slave exception history table of the memory 133 in step 304. In step 305, the master processor 131 checks the state of the down flag. At this time, if the read down flag is set (down flag = 1), the system boot is performed by an exception of the slave processor 132. In step 306, the slave processor 132 sets a slave down flag in the master processor 131 exception history table on the memory 133 to indicate that the system has been rebooted by an exception of the slave. If the down flag is reset (down flag = 0), the system is booted to a normal state. Therefore, the slave down flag is reset in step 306.
상기한 바와 같이 307단계에서 상기 슬레이브 다운 플래그를 세트시킨 후 또는 상기 306단계에서 상기 슬레이브 다운 플래그를 리세트시킨 후, 상기 슬레이브 프로세서132는 308단계에서 슬레이브 프로세서132의 부팅이 완료되었음을 알리는 이벤트를 상기 마스터 프로세서131에 출력하여 슬레이브 프로세서132의 감시 기능을 수행할 수 있도록 한다. 이후 상기 슬레이브 프로세서132는 309단계에서 메모리133 상의 카운터 값을 증가시키켜, 310단계로 진행하여 설정된 시간 동안 대기(sleep)한다. 이후 상기 설정 시간 동안 대기한 후, 다시 309단계로 진행하여 상기 메모리133 상의 카운터 값을 증가시키는 동작을 반복 수행한다. 즉, 상기 슬레이브 프로세서132는 정상적인 동작 상태에서 설정된 주기 마다 상기 메모리133 상의 카운터 값을 증가시킨다. 상기 슬레이브 프로세서132가 카운터 값을 증가시키는 주기는 상기 마이크로 프로세서131이 상기 카운터 값을 리드하는 주기 보다 짧게 설정되어야 한다. 상기 카운터 값은 마스터 프로세서131이 슬레이브 프로세서132의 동작을 감시하는 데이타로 사용한다.After the slave down flag is set in step 307 or the slave down flag is reset in step 306, the slave processor 132 transmits an event informing that the booting of the slave processor 132 is completed in step 308, And outputs it to the master processor 131 to perform the monitoring function of the slave processor 132. Then, in step 309, the slave processor 132 increments the counter value on the memory 133, and proceeds to step 310 to sleep for a predetermined time. Thereafter, the process waits for the set time, and then proceeds to step 309 to repeat the operation of increasing the counter value on the memory 133. That is, the slave processor 132 increases the counter value on the memory 133 every set period in a normal operation state. The cycle at which the slave processor 132 increases the counter value should be set shorter than the cycle at which the microprocessor 131 reads the counter value. The counter value is used as data for monitoring the operation of the slave processor 132 by the master processor 131.
도 4는 예외 상태가 발생되었을 시의 처리 과정을 도시하고 있다. 도 5는 예외 핸들러 체인(exception handler chain)의 구성들 도시하고 있다.FIG. 4 shows a processing procedure when an exception condition is generated. Figure 5 shows the configuration of an exception handler chain.
상기 도 5를 참조하면, 예외 벡터(exception vector)에 각각의 예외 형태(exception type)에 대한 예외 핸들러를 등록할 때, 시스템의 공통 예외 핸들러의 주소를 등록한다. 시스템 예외 핸들러는 체인 구조로 이루어져 사용자 예외 핸들러를 등록할 수 있는 구조를 갖는다. 즉, 시스템 예외 핸들러에서 필요한 기본 조치를 취하고, 사용자 핸들러 플래그가 세트되어 있으면, 사용자 예외 핸들러를 호출하며, 플래그가 리세트되어 있으면 사용자 예외 핸들러의 호출을 생략하고 최종적으로 시스템 디버거를 호출한다. 상기 사용자 핸들러 플래그는 쉘(shell) 상에서 명령어(command)로 언제든지 사용자의 필요에 따라 활성/비활성시킬 수 있다.Referring to FIG. 5, when an exception handler for each exception type is registered in an exception vector, the address of the common exception handler of the system is registered. The system exception handler consists of a chain structure and has a structure that can register a user exception handler. That is, the system exception handler takes the necessary basic action. If the user handler flag is set, the user exception handler is called. If the flag is reset, the user exception handler is skipped and the system debugger is finally called. The user handler flag can be activated / deactivated at any time by a command on a shell according to the user's need.
상기 도 4 및 도 5를 참조하면, 먼저 상기 예외 상태가 발생되면, 시스템의 예외 핸들러(exception handler)는 401단계에서 사용자 핸들러 플래그(UHO플래그)를 검사한다. 이때 상기 상기 사용자 핸들러 플래그가 세트되어 있으면 402단계에서 사용자 예외 핸들러(user exception handler)를 호출(call)한다.Referring to FIGS. 4 and 5, when the exception state is generated first, the exception handler of the system checks the user handler flag (UHO flag) in step 401. At this time, if the user handler flag is set, a user exception handler is called in step 402.
상기 사용자 에외 핸들러가 호출되면, 상기 사용자 예외 핸들러는 403단계에서 이를 감지한다. 그러면 상기 사용자 예외 핸들러는 404단계에서 예외 히스토리 테이블 내의 다운 플래그를 세트하고, 405단계에서 예외 스텍 프레임 포인터(exception stack frame pointer)가 지시하는 값을 재 부팅시에도 지워지지 않는 특정 메모리에 저장한다. 즉, 상기 405단계에서는 상기 예외 스텍 프레임을 분석하여 발생한 예외의 종류를 판단한 후, 예외 히스토리 테이블 내에 기록하고 그외의 값을 저장한다. 상기와 같이 정보의 저장을 종료하면, 406단계에서 시스템을 재부팅하고 종료한다.If the user exception handler is called, the user exception handler senses it in step 403. The user exception handler sets the down flag in the exception history table in step 404 and stores the value indicated by the exception stack frame pointer in a specific memory that is not erased even when rebooting. That is, in step 405, the exception stack frame is analyzed to determine the type of the exception generated, and then the exception history table is recorded and other values are stored. Upon completion of storing the information as described above, the system is rebooted in step 406 and is terminated.
그러나 상기 401단계에서 사용자 핸들러 플래그가 리세트된 상태로 판단된 경우에는 407단계에서 시스템 디버거(system debugger)를 호출한 후, 408단계에서 디버깅을 할 수 있는 환경을 제공한다.However, if it is determined in step 401 that the user handler flag is reset, the system debugger is called in step 407 and an environment for debugging is provided in step 408.
상술한 바와 같이 소프트웨어 오류에 의해 발생하는 예외를 사용자의 필요에 따라 서비스/디버그 모드로 나누어 처리하므로서, 시스템이 서비스 중일 때에는 필요한 정보만을 사용자에 제공하고 재부팅하여 계속 서비스를 제공하거나, 또는 시스템 디버거를 사용하여 보다 자세한 정보를 얻어 문제점을 해결할 수 있다. 또한 마스터 및 슬레이브로 이루어진 멀티-프로세서 시스템에서 마스터 프로세서가 하위의 슬레이브 프로세서의 동작 여부를 감시하고, 자체적으로 문제점을 판단하여 상위 시스템에 보고할 수 있는 이점이 있다.As described above, an exception caused by a software error is divided into a service / debug mode according to a user's need. Thus, when the system is in service, only necessary information is provided to the user and rebooted to provide a continuous service or a system debugger You can use it to get more information and solve the problem. Also, in a multi-processor system including a master and a slave, there is an advantage that a master processor can monitor whether a slave processor is operating, determine its own problems, and report it to an upper system.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960033068A KR19980014207A (en) | 1996-08-08 | 1996-08-08 | Apparatus and method for processing data protocol of a multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960033068A KR19980014207A (en) | 1996-08-08 | 1996-08-08 | Apparatus and method for processing data protocol of a multiprocessor system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19980014207A true KR19980014207A (en) | 1998-05-25 |
Family
ID=66250509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960033068A KR19980014207A (en) | 1996-08-08 | 1996-08-08 | Apparatus and method for processing data protocol of a multiprocessor system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19980014207A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100450399B1 (en) * | 2001-12-26 | 2004-09-30 | 주식회사 케이티 | A method for supervising status of dual processors in order to overcome temporary dual channel trouble in atm switch |
-
1996
- 1996-08-08 KR KR1019960033068A patent/KR19980014207A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100450399B1 (en) * | 2001-12-26 | 2004-09-30 | 주식회사 케이티 | A method for supervising status of dual processors in order to overcome temporary dual channel trouble in atm switch |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5675800A (en) | Method and apparatus for remotely booting a computer system | |
US5630049A (en) | Method and apparatus for testing software on a computer network | |
JP4887150B2 (en) | Method and apparatus for monitoring and resetting a coprocessor | |
US5951686A (en) | Method and system for reboot recovery | |
US20050216895A1 (en) | Method and apparatus for remote debugging of kernel and application software | |
EP0897151A1 (en) | Device and method for debugging systems controlled by microprocessors | |
JP2007172634A (en) | Network enhanced bios for enabling remote management of computer without functioning operation system | |
US7318171B2 (en) | Policy-based response to system errors occurring during OS runtime | |
CA2058933C (en) | Reset method when adaptor module is faulty and computer system executing same | |
EP0082722A2 (en) | Computer system with auxiliary service computer | |
JPH0552981B2 (en) | ||
JP2004302731A (en) | Information processor and method for trouble diagnosis | |
JPH10254738A (en) | Emulator device and emulation method | |
KR19980014207A (en) | Apparatus and method for processing data protocol of a multiprocessor system | |
CN115098342A (en) | System log collection method, system, terminal and storage medium | |
EP1222543B1 (en) | Method and device for improving the reliability of a computer system | |
JPH11120154A (en) | Device and method for access control in computer system | |
JPH10228395A (en) | Abnormality diagnostic device for controller | |
KR20020065188A (en) | Method for managing fault in computer system | |
JPH09106361A (en) | Inter-processor nmi communication equipment and system bus controller | |
TW424178B (en) | Device and method for control power arbitration of data process system | |
JPH02191031A (en) | Information processor | |
JPH1185569A (en) | Processor | |
KR920003279B1 (en) | Method for loading os & nos in data processing device | |
JP3062124B2 (en) | Microprocessor development support equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |