KR0169590B1 - The terminal driving method of high speed parallel computer in communication node - Google Patents
The terminal driving method of high speed parallel computer in communication node Download PDFInfo
- Publication number
- KR0169590B1 KR0169590B1 KR1019960029905A KR19960029905A KR0169590B1 KR 0169590 B1 KR0169590 B1 KR 0169590B1 KR 1019960029905 A KR1019960029905 A KR 1019960029905A KR 19960029905 A KR19960029905 A KR 19960029905A KR 0169590 B1 KR0169590 B1 KR 0169590B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- terminal
- data
- result
- buffer
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
본 발명은 고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법에 관한 것으로 주전산기 4의 통신 전용 노드와 같은 구조에서 마이크로커널을 기반으로 동작하는 새로운 터미널 장치 구동기를 이용하여 다른 노드에서 동작하는 스트림 관리자에게 다양한 터미널 장치 구동기 접근 가능 기능과 고장 감내 기능을 제공해 줄 뿐만 아니라, 터미널 관련 작업을 일반 계산 처리와 분리함으로써 처리 기능을 극대화 하는 고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법이 개시 된다.The present invention relates to a method for driving a terminal device on a dedicated node for high-speed parallel computer communication. In addition to providing terminal device driver accessibility and fault tolerance, a method of driving a terminal device on a node dedicated to high-speed parallel computer communication that maximizes processing capabilities by separating terminal-related tasks from general computational processing is disclosed.
Description
본 발명은 고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법에 관한 것이다.The present invention relates to a method for driving a terminal device on a node dedicated to high speed parallel computer communication.
고속 병렬 컴퓨터(이하, 주전산기 4)는 다수의 클러스터들이 상호 연결망으로 접속되어 있는 약결합 다중 처리 시스템이다. 임의의 한 클러스터는 P6버스를 기반으로 한 공유 메모리와 다수의 주 처리 장치로 구성된 노드들이 서로 상호 연결망으로 접속되어 있는 구조를 갖고 있다. 주전산기 4의 구조에 마이크로커널을 기반으로 한 운영체제를 탑재하여, 고장 감내, 시스템 관리의 용이성, 확장성을 극대화 하였다. 통신 전용 노드란 클러스터내에 존재하는 여러 종류의 노드들 중에서 외부와의 통신을 담당하는 역할을 하며, 통신 관련 제어기, 직렬 입출력 제어기, 실시간 제어기, 비휘발성 메모리 등이 이 노드에 존재한다.A high speed parallel computer (hereinafter referred to as main computer 4) is a weakly coupled multiprocessing system in which a plurality of clusters are interconnected. An arbitrary cluster has a structure in which nodes consisting of a shared memory based on the P6 bus and a plurality of main processing devices are interconnected with each other. The microcomputer kernel-based operating system is built into the structure of the host computer 4 to maximize fault tolerance, ease of system management, and scalability. The communication dedicated node is responsible for communicating with the outside of the various types of nodes in the cluster, and communication-related controllers, serial input / output controllers, real-time controllers, and nonvolatile memories exist in the node.
직렬 입출력 제어기(이하, 비동기 포트)를 통해 장착되는 시스템 콘솔 및 사용자 터미널(이하, 터미널)은 시스템 관리자 혹은 사용자(이하 사용자)가 수행하기를 원하는 명령을 시스템 내부로 전달하는 기능과 더불어 시스템 내에서 처리된 결과를 사용자에게 보여주는 기능을 한다.The system console and user terminal (hereinafter referred to as "terminal"), which are mounted through the serial input / output controller (hereinafter referred to as "asynchronous port"), allow the system administrator or user (hereinafter referred to as "user") to transmit commands to the system. It shows the processed result to the user.
이러한 터미널을 운영체제가 사용할수 있게 하기 위해서는 터미널 장치 구동기가 필수적이다. 특히, 주전산기 4와 같이 통신 전용 노드를 갖고, 각 노드에 마이크로커널이 동작하는 구조에서는 기존의 터미널 장치 구동기와 다른 형태의 새로운 터미널 장치 구동기의 구동 방법이 요구된다.Terminal device drivers are necessary to make these terminals available to the operating system. In particular, in a structure in which a communication kernel has a dedicated node, such as the main computer 4, and a microkernel operates at each node, a method of driving a new terminal device driver different from the existing terminal device driver is required.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 고속 병렬 컴퓨터 통신 전용 노드상의 터미널 장치 구동 방법은 마이크로커널을 통신 전용 노드 상에 접속한 후 터미널 구동기를 초기화하는 제 1 단계와, 상기 초기화 상태에서 메시지 송수신 접속점에 요구 메시지가 도착할 때마다 요구 메시지 처리기에서 작업 분장표에 따라 제어 및 일반 메시지 처리기를 구동하는 제 2 단계와, 상기 제어 및 일반 메시지 처리기의 구동에 따라 메시지를 쓰기 큐에 연결한 후 큐 내의 QFULL 플래그를 통하여 스트림 관리자와 송신흐름을 제어하고 메시지 송신 구동기에 실행을 요청하는 제 3 단계와, 상기 제어 및 일반 메시지 처리기의 실행 요청에 따라 메시지 송신 구동기에서 쓰기 큐에 연결된 메시지를 터미널 송신 버퍼에 저장하고 인터럽트 가능 플래그를 세트하여 인터럽트를 생성하는 제 4 단계와, 상기 인터럽트에 의해 구동된 인터럽트 처리기에서 터미널 송신 버퍼 내의 자료를 비동기 포트 송신 버퍼를 통해 비동기 포트로 송신한 후 상기 비동기 포트의 메시지를 비동기 포트 수신 버퍼로 송신하는 제 5 단계와, 상기 비동기 포트 수신 버퍼내의 자료를 스캔 구동기를 이용하여 터미널 수신 버퍼로 송신한 후 RQFULL 상태에 따라 상기 터미널 수신 버퍼에 수신된 자료를 메시지 형태로 구성하여 스트림 관리자로 전송하는 제 6 단계로 이루어진 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method of driving a terminal device on a high-speed parallel computer communication dedicated node according to the present invention. Whenever a request message arrives at a transmitting / receiving connection point, a second step of driving the control and general message handler according to the work separation table in the request message processor, and connecting the message to the write queue according to the driving of the control and general message handler, A third step of controlling the stream manager and the transmission flow through the QFULL flag and requesting execution of the message transmission driver; and a message connected to the write queue in the message transmission driver to the terminal transmission buffer according to the execution request of the control and general message handler. Save and set the interruptible flag A fourth step of generating an interrupt, and transmitting the data in the terminal transmit buffer to the asynchronous port through the asynchronous port transmit buffer in the interrupt handler driven by the interrupt, and then sending the message of the asynchronous port to the asynchronous port receive buffer. And a fifth step of transmitting the data in the asynchronous port receiving buffer to the terminal receiving buffer using a scan driver, and configuring the received data in the terminal receiving buffer in a message form according to the RQFULL state to transmit the data to the stream manager. Characterized in consisting of steps.
제1도는 본 발명이 적용되는 통신 전용 노드의 구성도.1 is a block diagram of a communication dedicated node to which the present invention is applied.
제2도는 본 발명이 적용되는 터미널 장치 구동기의 구성도.2 is a block diagram of a terminal device driver to which the present invention is applied.
제3도는 본 발명에 따른 터미널 구동기를 초기화 하기 위한 흐름도.3 is a flow chart for initializing a terminal driver according to the present invention.
제4도는 본 발명에 따른 요구 메시지 처리기의 처리방법을 설명하기 위해 도시한 흐름도.4 is a flowchart illustrating a method of processing a request message processor according to the present invention.
제5도는 본 발명에 따른 일반 및 제어 처리기의 처리방법을 설명하기 위해 도시한 흐름도.5 is a flowchart illustrating a processing method of a general and control processor according to the present invention.
제6도는 본 발명에 따른 메시지 송신 구동기의 구동방법을 설명하기 위해 도시한 흐름도.6 is a flowchart illustrating a method of driving a message transmission driver according to the present invention.
제7도는 본 발명에 따른 인터럽트 처리기의 처리방법을 설명하기 위해 도시한 흐름도.7 is a flowchart illustrating a method of processing an interrupt handler according to the present invention.
제8도는 본 발명에 따른 스캔 구동기의 구동방법을 설명하기 위해 도시한 흐름도.8 is a flowchart illustrating a method of driving a scan driver according to the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
101: P6 버스101: P6 bus
102: 주 처리 장치(MPU : Main Processing Unit)102: main processing unit (MPU)
103: 공유 메모리 104: PCI 버스103: shared memory 104: PCI bus
105: 이더넷 제어기 106: FDDI 제어기105: Ethernet controller 106: FDDI controller
107: 상호연결망 접속 제어기(XNIF : X-bar Network InterFace)107: X-bar Network InterFace (XNIF)
108: 지역 자원 제어기(LRC : Local Resource Controller)108: Local Resource Controller (LRC)
109: 인터럽트 제어기(IC : Interrupt Controller)109: interrupt controller (IC)
110: 상호 연결망(X-bar : Cross-Bar)110: interconnection network (X-bar: Cross-Bar)
111: 직렬 입출력 제어기(SIOC : Serial Input Output Controller)111: Serial Input Output Controller (SIOC)
112: 비휘발성 메모리(NVRAM : Non-Volatile RAM)112: non-volatile memory (NVRAM)
113: 실시간 제어기(RTC : Real Time Clock)113: Real Time Clock (RTC)
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.
제1도는 본 발명이 적용되는 통신 전용 노드의 구성도이다. 통신 전용 노드내에는 P6 버스(101)를 기반으로 하여 P6 주처리 장치(102), 공유 메모리(103)가 각각 존재한다. P6 버스(101)에는 두 개의 PCI 버스(104)가 접촉되어 있으며, 첫 번째 PCI 버스(104)에는 크로스바 구조 상호 연결망(110) 접근을 가능하게 해주는 상호 연결망 접속 제어기(X-bar Network InterFace : 이하, XNIF라 함)(107) 그리고 직렬통신을 위한 직렬 입출력 제어기(Serial Input Output Controller: 이하, SIOC라 함)(111), 시스템에 시간을 제공해주는 실시간 제어기(Real Time Controller: 이하, RTC라 함)(113), 시스템에 형상정보를 보관하고 있는 비휘발성 메모리(Non-Volatile RAM:이하, NVRAM라 함)(112) 등의 지역 자원을 관리하는 지역 자원 제어기(Local Resource Controller:이하, LRC라 함)(108)와 인터럽트 제어기(Interrupt Controller:이하, IC라 함)(109)가 장착되어 있다. 두 번째 PCI 버스(104)에는 외부와의 통신을 위한 이더넷(Ethernet), 광섬유 분산 데이터 인터페이스(Fiber Distributed Data Interface ; FDDI) 등과 같이 통신 장치 제어기(105, 106)가 장착된다. 터미널 장치 구동기는 공유 메모리(103)내에 적재되어 사용되고, 주처리 장치(102)에 의하여 실행된다. 사용자 터미널은 SIOC(111)내의 포트를 통해 비동기 방식으로 접속된다.1 is a block diagram of a communication dedicated node to which the present invention is applied. Within the communication dedicated node, the P6 main processing unit 102 and the shared memory 103 exist based on the P6 bus 101. Two PCI buses 104 are in contact with the P6 bus 101, and an interconnection network access controller (X-bar Network InterFace) which allows access to the crossbar structure interconnection network 110 is connected to the first PCI bus 104. , XNIF) 107 and Serial Input Output Controller (SIOC) 111 for serial communication, Real Time Controller (RTC), which provides time to the system. 113, a local resource controller (hereinafter referred to as LRC) that manages local resources such as non-volatile memory (NVRAM, hereinafter referred to as NVRAM) 112 storing shape information in the system. 108 and an Interrupt Controller (hereinafter referred to as IC) 109 are mounted. The second PCI bus 104 is equipped with communication device controllers 105 and 106 such as Ethernet, Fiber Distributed Data Interface (FDDI) for communication with the outside. The terminal device driver is loaded into the shared memory 103 and used, and is executed by the main processing device 102. The user terminal is connected asynchronously through a port in the SIOC 111.
제2도는 본 발명이 적용되는 터미널 장치 구동기의 구성 및 처리 모형을 보여 준다. 메시지 송수신 접속점(201)에 요구 메시지가 도착할 때마다, 작업의 종류와 담당 처리기의 쌍으로 이루어진 작업 분장표(203)에 따라서 일반 메시지 처리기(204) 혹은 제어 메시지 처리기(205)에 제어를 넘겨줄 요구 메시지 처리기(202)가 실행된다. 제어 메시지 처리기(205)는 작업 종류에 따라서 즉시 처리하거나 단방향 접속 리스트로 된 쓰기 큐(206)의 맨 앞에 제어 메시지를 연결 시킨다. 일반 메시지 처리기(204)는 수신된 메시지를 쓰기 큐(205)의 맨 뒤에 연결 시킨다. 제어 및 일반 메시지 처리시는 메시지를 쓰기 큐에 연결하고, 큐 내의 메시지 수에 따라서 QFULL 플레그(207)를 통하여 스트림 관리자와 송신 흐름제어를 한다. 그리고 메시지 송신 구동기(210)가 대기중 이면 실행 요청한다. 메시지 송신 구동기(210)는 쓰기 큐(206)에 연결되어 있는 메시지를 맨 앞부터 순서대로 하나씩 가져와서 터미널 송신 버퍼(208)에 저장하고(219), 인터럽트 가능 플래그를 세트해 둔다. 그 결과로, 인터럽트가 야기된다. 인터럽트 처리기(211)는 비동기 포트 송신 버퍼(209)에 저장된 자료를 터미널 접속된 비동기 포트(212)로 모두 송신하고(217), 터미널 송신 버퍼(208)에 있는 모든 자료도 비동기 포트 송신 버퍼(209)로 가져와(218) 모두 비동기 포트(212)로 송신한다. 터미널로부터 비동기 포트(212)에 수신 자료가 도착하면 인터럽트를 야기하게 되고, 인터럽트 처리기(21)가 구동되어 비동기 포트 수신 버퍼(216)로 수신 자료를 옮긴다(222). 스캔 구동기(213)는 주기적으로 깨어나서 비동기 포트 수신 버퍼(216)에 존재하는 자료를 터미널 수신 버퍼(215)로 옮긴(221) 뒤에 스트림 관리자와 수신 흐름제어 상태를 나타내는 RQFULL(214) 상태에 따라서 수신된 자료를 메시지 형태로 구성하여 스트림 관리자로 전송한다(220).2 shows a configuration and processing model of a terminal device driver to which the present invention is applied. Whenever a request message arrives at the message transmission / reception connection point 201, a request is made to transfer control to the general message processor 204 or the control message processor 205 according to the job classification table 203 composed of the type of job and the handler in charge. The message handler 202 is executed. The control message processor 205 immediately processes or connects the control message to the front of the write queue 206 in the one-way connection list according to the type of work. The generic message handler 204 connects the received message to the back of the write queue 205. In the control and general message processing, the message is connected to the write queue, and transmission flow control is performed with the stream manager through the QFULL flag 207 according to the number of messages in the queue. If the message transmission driver 210 is waiting, it executes a request. The message transmission driver 210 takes the messages connected to the write queue 206 one by one from the beginning, stores them in the terminal transmission buffer 208 (219), and sets an interruptible flag. As a result, an interrupt is caused. The interrupt handler 211 transmits all the data stored in the asynchronous port transmit buffer 209 to the terminal-connected asynchronous port 212 (217), and all the data in the terminal transmit buffer 208 are also the asynchronous port transmit buffer 209. 218 and both transmit to the asynchronous port 212. When received data arrives at the asynchronous port 212 from the terminal, an interrupt is caused, and the interrupt handler 21 is driven to move the received data to the asynchronous port receive buffer 216 (222). The scan driver 213 periodically wakes up and transfers the data present in the asynchronous port receive buffer 216 to the terminal receive buffer 215 (221) and then receives it according to the RQFULL 214 state indicating the stream manager and receive flow control conditions. The data is configured in the form of a message and transmitted to the stream manager (220).
제3도는 본 발명에 따른 터미널 구동기를 초기화 하기 위한 흐름도이다. 이과정은 마이크로커널이 통신 전용 노드상에 접속된 후에 시작된다. 메시지 송수신 접속점(201)을 초기화하고(301), 작업의 종류와 담당처리기의 쌍으로 이루어진 작업 분장표(203)를 초기화 한(302) 다음, 접속점에 도착한 요구 메시지에 대해서 담당 처리기로 제어권을 이양하기 전까지 수행되는 요구 메시지 처리기(202)를 구동한다(302). 쓰기 큐(206)와 터미널 송수신 버퍼(208, 215), 비동기 송수신 버퍼(209, 216)를 초기화하고(303), 메시지 송신 구동기(210) 및 스캔 구동기(213)를 구동한다(304). 끝으로, 비동기 포트(212)를 초기화 하고(305) 수행 종료한다.3 is a flowchart for initializing a terminal driver according to the present invention. This process begins after the microkernel is connected on the dedicated node for communication. Initializing the message transmission / reception connection point 201 (301), initializing the job classification table (203) composed of the type of job and the handler in charge (302), and transferring control to the handler for the request message arriving at the connection point. The request message processor 202, which is performed before, is driven (302). The write queue 206, the terminal transmit / receive buffers 208 and 215, and the asynchronous transmit / receive buffers 209 and 216 are initialized (303), and the message transmission driver 210 and the scan driver 213 are driven (304). Finally, the asynchronous port 212 is initialized (305) and the execution ends.
제4도는 본 발명에 따른 요구 메시지 처리기의 처리 방법을 설명하기 위해 도시한 흐름도이다. 터미널 구동기 초기화 시에 수행 시작되고(302), 요구 메시지가 도착할 때까지 실행 대기 상태에 있다(402). 스트림 관리자로부터 통신 전용 노드상에 운용되는 마이크로커널을 통해서 요구 메시지가 메시지 송수신 접속점(201)에 도착할 때, 실행 시작한다. 접속점에 도착한 요구 메시지를 가져와서 그 메시지가 요구하는 작업의 내용을 판별한다(403). 이 작업을 담당해 줄 처리기를 터미널 장치 구동기 생성시에 만들어 둔 작업 분장표(203)에 의거하여 찾는다(404). 담당 처리기가 존재할 경우에는, 이 처리기에 실행 요청을 하고(406), 또 다른 요구 메시지가 접속점에 도착해 있는지를 검사한다(401). 만일 또 다른 요구 메시지가 메시지 송수신 접속점(201)에 존재하면(401), 상기 수행을 반복하고, 그렇지 않을 경우에는 실행을 대기한다(402).4 is a flowchart illustrating a method of processing a request message processor according to the present invention. Execution starts at terminal driver initialization (302), and is in a waiting state for execution until a request message arrives (402). Execution starts when a request message arrives at the message transmission / reception connection point 201 through a microkernel which is operated on the communication dedicated node from the stream manager. The request message arrives at the access point and the content of the job requested by the message is determined (403). The processor for this task is found based on the job division table 203 created at the time of generating the terminal device driver (404). If the responsible processor is present, an execution request is made to the processor (406) and a check is made to see if another request message has arrived at the access point (401). If another request message exists at the message transmission / reception access point 201 (401), the execution is repeated, otherwise waiting for execution (402).
제5도는 본 발명에 따른 일반 및 제어 메시지 처리기의 처리방법을 설명하기 위해 도시한 흐름도이다. 요구 메시지 처리기(202)가 실행 요청(406)을 함으로서 수행을 시작한다. 만일 긴급 처리를 요구하는 제어 메시지일 경우에는(501) 즉시 처리하고(502) 수행을 종료한다(512). 그 밖의 제어 메시지일 경우에는(503) 터미널 BUSY 상태와 같이 터미널 상태가 처리를 요구하는 상태를 만족할 때만(504) 처리되고(502), 그렇지 않을 경우에는 쓰기 큐의 맨 앞에 연결된다(506). 일반 메시지일 경우에는 무조건 도착 순서대로 쓰기 큐의 맨 뒤에 연결된다(505). 쓰기 큐에 메시지 연결 뒤, 쓰기 큐 내에 대기하고 있는 제어 및 일반 메시지의 수가 쓰기 큐가 송신 흐름제어를 위해 정해 놓은 고수위 값보다 커질 경우에는(507) QFULL 플래그(207)를 세트하고(508) 스트림 관리자로 메시지 전송 중지를 요청한다(509). 그리고, 메시지 송신 구동기(210)가 대기 1 중이면(510), 실행 요청하고(511), 수행을 종료한다(512).5 is a flowchart illustrating a method of processing a general and control message processor according to the present invention. The request message handler 202 starts execution by making an execution request 406. If it is a control message requesting urgent processing (501) immediately processing (502) and execution ends (512). For other control messages (503), only when the terminal state satisfies the state requiring processing (504), such as terminal BUSY state (504), otherwise it is connected (506) to the front of the write queue. If it is a normal message, it is connected to the end of the write queue unconditionally in arrival order (505). After the message is connected to the write queue, if the number of control and general messages waiting in the write queue is greater than the high water level set by the write queue for transmit flow control (507), set the QFULL flag (207) and stream (508). Request to stop transmitting the message to the administrator (509). If the message transmission driver 210 is in standby 1 (510), it executes a request (511), and execution ends (512).
제6도는 본 발명에 따른 메시지 송신 구동기의 구동방법을 설명하기 위해 도시한 흐름도이다. 터미널 구동기 초기화시에 수행 시작되고(304), 쓰기 큐에 메시지가 존재할 때까지 대기 1의 상태로 있는다(602). 일반 및 제어 메시지 처리기에 의해서 쓰기 큐에 메시지가 연결될 경우에 실행 요청(511)을 받아 실행 시작한다. 그리고, 쓰기 큐의 맨 앞에서 메시지를 가져온다(603). 쓰기 큐 내에 대기중인 메시지의 수가 송신 흐름제어를 위해 정해 놓은 저수위값보다 작아질 경우에는(604) 스트림 관리자로 이전의 메시지 전송 중지 요구에 대해 해제를 통보한다(605). 만일 제어 메시지를 가져왔을 경우에는(606), 현재 터미널의 상태가 수행을 위해 만족하면(607), 제어 메시지를 처리해 주고(611), 그렇지 않을 경우에는 쓰기 큐의 맨 앞에 다시 저장되며(608), 다시 상기 수행을 반복한다. 일반 메시지일 경우에는 터미널 송신 버퍼(208)가 비어있는가를 검사한다(609). 만일 비어있지 않으면 대기 2 하고(610), 인터럽트 처리기(211)가 실행요청을 함으로써(710) 대기 상태를 벗어나게 된다. 비어 있으면 터미널 송신 버퍼 내(208)로 메시지를 저장하고 인터럽트 가능 플래그를 세트한다(612). 그리고, 다시 처음으로 돌아가서(601) 쓰기 큐가 비어 있으면 대기 1 하고(602), 그렇지 않으면 상기 수행을 반복한다.6 is a flowchart illustrating a method of driving a message transmission driver according to the present invention. The execution begins at terminal driver initialization (304) and remains in wait 1 until a message exists in the write queue (602). When a message is connected to the write queue by the general and control message handler, the execution request 511 is received and execution starts. Then, the message is brought to the front of the write queue (603). If the number of messages queued in the write queue is smaller than the low water level defined for transmission flow control (604), the stream manager is notified of the previous message transmission stop request (605). If a control message is obtained (606), if the state of the current terminal is satisfactory for execution (607), the control message is processed (611), otherwise it is stored again at the beginning of the write queue (608). Then repeat the above operation. If it is a normal message, the terminal transmit buffer 208 checks whether it is empty (609). If not empty, wait 2 (610), the interrupt handler 211 is requested to run (710) to exit the wait state. If empty, store the message in the terminal transmit buffer 208 and set the interruptible flag (612). If the write queue is empty, it waits 1 (602). Otherwise, the operation is repeated.
제7도는 본 발명에 따른 인터럽트 처리기의 처리방법을 설명하기 위해 도시한 흐름도이다. 비동기 포트(212) 상에 인터럽트가 발생할 때에 수행 시작한다. 수신 준비 상태가 되어 있으면(701). 수신 자료를 비동기 포트 수신 버퍼(216)에 저장한다(702). 만일 비동기 수신 버퍼(216) 내에 저장된 자료의 수가 버퍼가 정해 놓은 고수위값을 넘어서게 되면(707), 터미널로 자료 송신 중단 요청을 한다(704). 비동기 포트에 또 다른 자료가 존재할 경우에는(705), 상기 작업을 다시 수행한다. 송신 준비 상태가 되어 있으면(706), 우선 비동기 송신 버퍼(209)내에 저장되어 있는 자료를 모두 터미널로 전송하고, 터미널 송신 버퍼(208)에 저장된 자료들 모두에 대해서도 비동기 송신 버퍼 내로 옮겨와 터미널로 전송되도록 한다(707). 그리고, 인터럽트 가능 플래그를 리세트한다(708). 만일, 메시지 송신 구동기(210)가 대기 2 중이면(709), 실행 요청을 하고(710), 수행을 종료한다(711).7 is a flowchart illustrating a method of processing an interrupt handler according to the present invention. Execution starts when an interrupt occurs on the asynchronous port 212. If it is ready to receive (701). The received data is stored in the asynchronous port receive buffer 216 (702). If the number of data stored in the asynchronous reception buffer 216 exceeds the high level value defined by the buffer (707), the data transmission stop request is made to the terminal (704). If there is another data in the asynchronous port (705), the operation is performed again. If it is ready to transmit (706), first, all data stored in the asynchronous transmission buffer 209 is transferred to the terminal, and all the data stored in the terminal transmission buffer 208 is transferred to the asynchronous transmission buffer to the terminal. To be transmitted (707). Then, the interruptible flag is reset (708). If the message transmission driver 210 is in standby 2 (709), an execution request is made (710), and execution ends (711).
제8도는 본 발명에 따른 스캔 구동기의 구동방법을 설명하기 위해 도시한 흐름도이다. 이 구동기는 주기적으로 깨어나서 수행을 시작한다. 우선 터미널 수신 버퍼(215)가 꽉 차있을 경우에는(801) 스트림 관리자와의 흐름제어를 위해 사용되는 RQFULL 플래그(214)가 세트되어 있는지 검사한다(802). 만일 세트되어 있으면 수행을 종료한다(807). 그렇지 않을 경우에는 스트림 관리자로 터미널 수신 버퍼(215)에 저장된 모든 자료를 메시지의 형태로 전송한다(803). 만일, 터미널 수신 버퍼에 여분이 존재했을 경우에는 비동기 수신 버퍼(216)에 저장되어 있는 자료가 존재하는지를 검사한다(804). 자료가 존재하지 않을 경우에는 RQFULL 플래그가 세트되어 있으면(805) 수행을 종료하고(807), 리세트되어 있으면 버퍼 내에 저장되어 있는 모든 자료를 메시지의 형태로 스트림 관리자로 전송하고(806), 수행을 종료한다(807). 비동기 수신 버퍼(216) 내에 자료가 존재했을 경우에는 자료를 터미널 수신 버퍼(215)로 이동한다(808). 비동기 수신 버퍼 내에 저장되어 있는 자료의 수가 버퍼 내에서 터미널과의 흐름제어를 위해 정해 놓은 저수위값보다 작아질 경우에는(809), 터미널로 이전의 자료 전송 중지 요구에 대해 해제를 알리고(810), 상기 수행을 반복한다.8 is a flowchart illustrating a method of driving a scan driver according to the present invention. The driver wakes up periodically and starts running. First, when the terminal reception buffer 215 is full (801), it is checked whether the RQFULL flag 214, which is used for flow control with the stream manager, is set (802). If set, execution ends (807). Otherwise, all data stored in the terminal receive buffer 215 is transmitted to the stream manager in the form of a message (803). If there is excess in the terminal receive buffer, it is checked whether there is data stored in the asynchronous receive buffer 216 (804). If no data exists, execution ends if the RQFULL flag is set (805) (807). If the data is reset, all data stored in the buffer is sent to the stream manager in the form of a message (806). End (807). If data exists in the asynchronous receive buffer 216, the data is moved to the terminal receive buffer 215 (808). If the number of data stored in the asynchronous receive buffer is less than the low water level set in the buffer for flow control with the terminal (809), the terminal is informed of the release of the previous data transmission stop request (810). Repeat the above operation.
상술한 바와 같이 본 발명에 의하면 주전산기 4의 통신 전용 노드와 같은 구조에서 마이크로커널을 기반으로 동작하는 새로운 터미널 장치 구동기를 이용하여 다른 노드에서 동작하는 스트림 관리자에게 다양한 터미널 장치 구동기 접근 가능 기능과 고장 감내 기능을 제공해 줄 뿐만 아니라, 터미널 관련 작업을 일반 계산 처리와 분리함으로써 처리 기능을 극대화 하는 탁월한 효과가 있다.As described above, according to the present invention, a new terminal device driver operating based on a microkernel in the same structure as the communication dedicated node of the main computer 4 uses various terminal device driver accessible functions and fault tolerance to stream managers operating at other nodes. In addition to providing functionality, it has the advantage of maximizing processing power by separating terminal-related tasks from normal computational processing.
고속 병렬 컴퓨터인 주전산기 4의 통신 전용 노드와 같은 구조에서 마이크로커널을 기반으로 동작하는 새로운 터미널 장치 구동기를 이용하여 다른 노드에서 동작하는 스트림 관리자에게 다양한 터미널 장치 구동기 접근가능 기능과 고장 감내 기능을 제공해 줄 뿐만 아니라, 터미널 관련 작업을 일반 계산 처리와 분리 함으로써 처리 기능을 극대화 하는데 그 목적이 있다.The new terminal device driver, which operates based on the microkernel in the same structure as the communication dedicated node of the main computer 4, which is a high-speed parallel computer, provides stream terminal managers operating in other nodes with various terminal device driver access and fault tolerance functions. In addition, the purpose is to maximize the processing capabilities by separating the terminal-related work from the normal calculation processing.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960029905A KR0169590B1 (en) | 1996-07-24 | 1996-07-24 | The terminal driving method of high speed parallel computer in communication node |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960029905A KR0169590B1 (en) | 1996-07-24 | 1996-07-24 | The terminal driving method of high speed parallel computer in communication node |
Publications (2)
Publication Number | Publication Date |
---|---|
KR980010823A KR980010823A (en) | 1998-04-30 |
KR0169590B1 true KR0169590B1 (en) | 1999-01-15 |
Family
ID=19467251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960029905A KR0169590B1 (en) | 1996-07-24 | 1996-07-24 | The terminal driving method of high speed parallel computer in communication node |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0169590B1 (en) |
-
1996
- 1996-07-24 KR KR1019960029905A patent/KR0169590B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR980010823A (en) | 1998-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595353B (en) | PCIe bus-based data transmission control method and device | |
US4562535A (en) | Self-configuring digital processor system with global system | |
US5513328A (en) | Apparatus for inter-process/device communication for multiple systems of asynchronous devices | |
US4633392A (en) | Self-configuring digital processor system with logical arbiter | |
US5940612A (en) | System and method for queuing of tasks in a multiprocessing system | |
US4720784A (en) | Multicomputer network | |
JP3382631B2 (en) | Computer network system | |
CN101385296A (en) | Gateway for the automatic routing of messages between buses | |
EP0479520A2 (en) | Network communication apparatus | |
CN115657553A (en) | PCIE topology and PCIE equipment simulation method, device, equipment and medium | |
EP0429882A2 (en) | Low-end high-performance switch subsystem architecture | |
CN112445735A (en) | Method, computer equipment, system and storage medium for transmitting federated learning data | |
US5592673A (en) | Loosely coupled compound computer system using lock and semaphore mechanism for performing exclusive control of shared resource which is accessed through a distinct bus | |
EP0871307A2 (en) | Apparatus for flexible control of interrupts in multiprocessor systems | |
EP0871308A2 (en) | Method and program product for flexible control of interrupts in multiprocessor systems | |
GB2365288A (en) | Bus arbitration system | |
CN105487403A (en) | Establishment of motion control system based on CAN and simulation modeling method | |
CN113452591A (en) | Loop control method and device based on CAN bus continuous data frame | |
KR0169590B1 (en) | The terminal driving method of high speed parallel computer in communication node | |
CN116166582A (en) | Data reading and writing method, system, equipment and storage medium | |
JPH117434A (en) | System for processing quick arrival message in ansyncronous data communication system for plural nodes | |
CN108055186B (en) | Master-slave processor communication method and device | |
JPH0256699B2 (en) | ||
JPH08202566A (en) | Inter-processor communication system | |
US6915355B2 (en) | Automation equipment equipped with a USB link for monitoring and control in an automation application |
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: 20081001 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |