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 PDF

Info

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
Application number
KR1019960029905A
Other languages
Korean (ko)
Other versions
KR980010823A (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 KR1019960029905A priority Critical patent/KR0169590B1/en
Publication of KR980010823A publication Critical patent/KR980010823A/en
Application granted granted Critical
Publication of KR0169590B1 publication Critical patent/KR0169590B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements 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

고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법How to Drive Terminal Devices on Nodes Dedicated to High-Speed Parallel Computer Communications

본 발명은 고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법에 관한 것이다.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)

마이크로커널을 통신 전용 노드상에 접속한 후 터미널 구동기를 초기화하는 제 1 단계와, 상기 초기화 상태에서 메시지 송수신 접속점에 요구 메시지가 도착할 때마다 요구 메시지 처리기에서 작업 분장표에 따라 제어 및 일반 메시지 처리기를 구동하는 제 2 단계와, 상기 제어 및 일반 메시지 처리기의 구동에 따라 메시지를 쓰기 큐에 연결한 후 큐 내의 QFULL 플래그를 통하여 스트림 관리자와 송신 흐름을 제어하고 메시지 송신 구동기에 실행을 요청하는 제 3 단계와, 상기 제어 및 일반 메시지 처리기의 실행 요청에 따라 메시지 송신 구동기에서 쓰기 큐에 연결된 메시지를 터미널 송신 버퍼에 저장하고 인터럽트 가능 플래그를 세트하여 인터럽트를 생성하는 제 4 단계와, 상기 인터럽트에 의해 구동된 인터럽트 처리기에서 터미널 송신 버퍼 내의 자료를 비동기 포트 송신 버퍼를 통해 비동기 포트로 송신한 후 상기 비동기 포트의 메시지를 비동기 포트 수신 버퍼로 송신하는 제 5 단계와, 상기 비동기 포트 수신 버퍼 내의 자료를 스캔 구동기를 이용하여 터미널 수신 버퍼로 송신한 후 RQFULL 상태에 따라 상기 터미널 수신 버퍼에 수신된 자료를 메시지 형태로 구성하여 스트림 관리자로 전송하는 제 6 단계로 이루어진 것을 특징으로 하는 고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법.A first step of initializing the terminal driver after connecting the microkernel to a dedicated node for communication, and driving the control and general message handlers according to the work classification table in the request message processor whenever a request message arrives at the message transmission / reception point in the initialization state. And a third step of connecting the message to the write queue according to the control and the operation of the general message processor, controlling the stream manager and the transmission flow through the QFULL flag in the queue, and requesting the message transmission driver to execute. A fourth step of storing a message connected to a write queue in a message transmission driver in a terminal transmission buffer and generating an interrupt by setting an interruptible flag according to a request for execution of the control and general message processor; and an interrupt driven by the interrupt. In the terminal send buffer in the handler Transmitting a message from the asynchronous port to the asynchronous port receive buffer through the asynchronous port transmit buffer, and transmitting the data in the asynchronous port receive buffer to the terminal receive buffer using a scan driver. And a sixth step of constructing the data received in the terminal reception buffer in a message form according to the RQFULL state and transmitting the data to the stream manager. 제 1 항에 있어서, 상기 제 1 단계는 통신 전용 노드 상에 마이크로커널을 접속한 후 수행을 시작하여 메시지 송수신 접속점을 초기화하는 단계와, 상기 메시지 송수신 접속점을 초기화한 후 작업 분장표를 초기화하고 요구 메시지 처리기를 구동하는 단계와, 상기 요구 메시지 처리기를 구동한 후 쓰기 큐와 터미널 송수신 버퍼 및 비동기 송수신 버퍼를 초기화하는 단계와, 상기 초기화를 수행한 후 메시지 송신 구동기 및 스캔 구동기를 구동하는 단계와, 상기 메시지 송신 구동기 및 스캔 구동기를 구동한 후 비동기 포트를 초기화하고 수행을 종료하는 단계로 이루어진 것을 특징으로 하는 고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법.2. The method of claim 1, wherein the first step comprises: performing a microkernel on a communication-only node, starting a message to initialize a message transmission / reception connection point; initializing a message transmission / reception point; Driving a processor; initializing a write queue, a terminal transmit / receive buffer, and an asynchronous transmit / receive buffer after driving the request message processor; drive a message transmission driver and a scan driver after performing the initialization; A method of driving a terminal device on a node dedicated to high-speed parallel computer communication, comprising the steps of: initializing the asynchronous port and ending execution after driving the message transmission driver and the scan driver. 제 1 항에 있어서, 상기 제 2 단계는 터미널 구동기 초기화 시에 수행 시작되어 요구 메시지의 존재를 검사하는 단계와, 상기 요구 메시지의 존재를 검사한 결과에 따라 요구 메시지가 존재하지 않을 경우 요구 메시지가 도착할 때까지 실행을 대기하는 단계와, 상기 요구 메시지의 존재를 검사한 결과에 따라 요구 메시지가 존재하거나 또는 스트림 관리자로부터 통신 전용 노드상에 운용되는 마이크로커널을 통해서 요구 메시지가 메시지 송수신 접속점에 도착할 경우 실행을 시작하는 단계와, 상기 접속점에 도착한 요구 메시지를 수신하여 상기 메시지가 요구하는 작업의 내용을 추출하는 단계와, 상기 추출 결과에 따라 작업 분장표에 의거하여 담당 구동기의 존재 여부를 검사하는 단계와, 상기 담당 구동기의 존재 여부를 검사한 결과에 따라 담당 처리기가 존재할 경우 상기 담당 처리기에 실행을 요청한 후 다른 요구 메시지가 접속점에 도착해 있는지를 검사하는 단계와, 상기 담당 구동기의 존재 여부를 검사한 결과에 따라 담당 처리기가 존재하지 않을 경우 오류를 반환한 후 다른 요구 메시지가 접속점에 도착해 있는 지를 검사하는 단계와, 상기 접속점의 검사 결과에 따라 다른 요구 메시지가 메시지 송수신 접속점에 존재할 경우 상기 수행을 반복하는 단계와, 상기 접속점의 검사 결과에 따라 다른 요구 메시지가 메시지 송수신 접속점에 존재하지 않을 경우 실행을 대기하는 단계로 이루어진 것을 특징으로 하는 고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법.2. The method of claim 1, wherein the second step is performed when the terminal driver is initialized to check for the presence of the request message, and if the request message does not exist according to a result of checking the existence of the request message, Waiting for execution until arrival, and if a request message exists or a request message arrives at a message transmission / reception access point through a microkernel operating on a communication dedicated node from a stream manager according to a result of checking the existence of the request message. Starting execution, receiving a request message arriving at the access point, extracting the contents of the job requested by the message, and checking the existence of the driver in accordance with the work division table according to the extraction result; According to the result of checking the presence of the driver in charge Requesting execution of the responsible handler if there is a refresher, and then checking whether another request message has arrived at the access point, and if the responsible handler does not exist according to a result of checking whether the responsible driver exists, returning an error. Checking whether another request message arrives at the access point, repeating the execution if another request message exists at the message transmission / reception connection point according to a result of the check of the access point, and requesting another request according to the result of the check of the access point. And waiting for execution if the message does not exist at the message transmission / reception connection point. 제 1 항에 있어서, 상기 제 3 단계는 요구 메시지 처리기의 실행 요청에 따라 수행을 시작하여 긴급 처리를 요구하는 제어 메시지인지를 검사하는 단계와, 상기 긴급 처리를 요구하는 제어 메시지인지를 검사한 결과에 따라 긴급 처리를 요구하는 제어 메시지일 경우 즉시 처리하고 수행을 종료하는 단계와, 상기 긴급 처리를 요구하는 제어 메시지인지를 검사한 결과에 따라 그 밖의 메시지일 경우 메시지인지를 검사하는 단계와, 상기 제어 메시지인지를 검사한 결과에 따라 제어 메시지일 경우 터미널 상태가 처리기의 요구 상태를 만족하는지를 검사하는 단계와, 상기 터미널 상태의 검사 결과에 따라 터미널 상태를 만족할 경우 상기 제어 메시지를 처리하고 수행을 종료하는 단계와, 상기 터미널 상태의 검사 결과에 따라 터미널 상태를 만족하지 않을 경우 상기 제어 메시지를 쓰기 큐의 맨 앞에 연결하는 단계와, 상기 제어 메시지인지의 검사 결과에 따라 일반 메시지일 경우 도착 순서대로 쓰기 큐의 맨 뒤에 연결하는 단계와, 상기 쓰기 큐에 메시지를 연결한 후 쓰기 큐 내의 자료수가 쓰기 큐에서 송신 흐름 제어를 위해 정해놓은 고수위값 보다 큰지를 비교검사하는 단계와, 상기 쓰기 큐 내의 자료수와 고수위값의 비교 검사 결과에 따라 쓰기 큐내의 자료수가 고수위 값보다 커질 경우 QFULL 플래그를 세트하고 스트림 관리자로 메시지 전송 중지를 요청한 후 메시지 송신 구동기가 대기 1 중인지를 검사하는 단계와, 상기 쓰기 큐 내의 자료수와 고수위값의 비교 검사 결과에 따라 쓰기 큐내의 자료수가 고수위 값보다 작아질 경우 메시지 송신 구동기가 대기 1 중인지를 검사하는 단계와, 상기 메시지 송신 구동기가 대기 1인지를 검사한 결과에 따라 메시지 송신 구동기가 대기 1 중일 경우 실행 요청하고 수행을 종료하는 단계와, 상기 메시지 송신 구동기가 대기 1 인지를 검사한 결과에 따라 메시지 송신 구동기가 대기 1 중이 아닐 경우 수행을 종료하는 단계로 이루어진 것을 특징으로 하는 고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법.The method as claimed in claim 1, wherein the third step comprises: starting execution according to a request for execution of the request message processor to check whether the control message requires emergency processing, and checking whether the control message requires emergency processing. If the control message requesting urgent processing according to the step of immediately processing and ending the execution, and if it is a control message requesting the urgent processing according to the result of checking whether it is a message if the other message; Checking whether the terminal state satisfies the request state of the processor in the case of the control message according to a result of checking whether it is a control message; if the terminal state is satisfied according to the test result of the terminal state, processing the control message and ending execution And not satisfying the terminal state according to the test result of the terminal state. Connecting the control message to the front of the write queue; and connecting the control message to the rear of the write queue in the order of arrival in the case of a normal message according to a check result of the control message. Comparing and checking whether the number of data in the write queue is greater than the high level value set for transmission flow control in the write queue, and the number of data in the write queue is greater than the high level value according to the comparison test result of the number of data in the write queue and the high level value. If the QFULL flag is set and the stream manager is requested to stop sending the message, and then the message sending driver is checked for waiting 1 and the number of data in the write queue according to the result of the comparison between the number of data in the write queue and the high level value is high. Checking if the message send driver is waiting 1 if smaller, and said mesh Requesting execution of the message transmission driver when the message transmission driver is in standby 1 and ending execution according to the result of checking whether the message transmission driver is in standby 1; and according to the result of checking that the message transmission driver is in standby 1, the message transmission driver is in standby. A method for driving a terminal device on a dedicated node for high speed parallel computer communication, comprising: terminating execution if not one. 제 1항에 있어서, 상기 제 4 단계는 터미널 구동기 초기화 시에 수행 시작되어 쓰기 큐가 존재하는지 검사하는 단계와, 상기 쓰기 큐의 존재를 검사한 결과에 따라 쓰기 큐가 존재하지 않을 경우 쓰기 큐에 메시지가 존재할 때까지 대기 1의 상태를 유지하는 단계와, 상기 쓰기 큐의 존재를 검사한 결과에 따라 쓰기 큐가 존재하거나 또는 일반 및 제어 메시지 처리기에 의해서 쓰기 큐에 메시지가 연결될 경우 실행을 요청받고 시작하는 단계와, 상기 실행을 시작하여 쓰기 큐의 맨 앞에서 메시지를 수신하는 단계와, 상기 쓰기 큐 내에 대기중인 메시지의 수와 송신 흐름 제어를 위해 정해 놓은 저수위값과의 크기를 비교하는 단계와, 상기 쓰기 큐 내의 메시지와 저수위값을 비교한 결과에 따라 큐 내의 메시지 수가 저수위값보다 작아질 경우 스트림 관리자로 이전의 메시지 전송 중지 요구에 대해 해제를 통보하고 큐 내의 메시지가 제어 메시지인지를 검사하는 단계와, 상기 쓰기 큐 내의 메시지와 저수위값을 비교한 결과에 따라 큐 내의 메시지 수가 저수위 값보다 커질 경우 큐 내의 메시지가 제어 메시지인지를 검사하는 단계와, 상기 큐 내의 메시지가 제어 메시지인지를 검사한 결과에 따라 제어 메시지일 경우 터미널의 상태가 수행을 위해 만족하는지를 검사하는 단계와, 상기 터미널 상태의 검사 결과에 따라 터미널의 상태를 만족할 경우 제어 메시지를 처리하는 단계와, 상기 터미널 상태의 검사 결과에 따라 터미널의 상태를 만족하지 않을 경우 쓰기 큐의 맨 앞에 다시 저장되어 상기 수행을 반복하는 단계와, 상기 큐 내의 메시지가 제어 메시지인가를 검사한 결과에 따라 일반 메시지일 경우 터미널 송신 버퍼가 비어 있는지를 검사하는 단계와, 상기 터미널 송신 버퍼의 검사 결과에 따라 터미널 송신 버퍼가 비어 있지 않을 경우 대기 2 상태에서 인터럽트 처리기에 실행을 요청하여 대기 상태를 벗어나는 단계와, 상기 터미널 송신 버퍼의 검사 결과에 따라 터미널 송신 버퍼가 비어 있을 경우 터미널 송신 버퍼 내로 메시지를 저장하고 인터럽트 가능 플래그를 세트한 후 다시 처음으로 돌아가서 쓰기 큐가 비어 있으면 대기 1하고, 그렇지 않으면 상기 수행을 반복하는 단계로 이루어진 것을 특징으로 하는 고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법.The method of claim 1, wherein the fourth step is performed when the terminal driver is initialized to check whether a write queue exists, and if the write queue does not exist according to a result of checking the existence of the write queue, Maintaining a state of Wait 1 until a message exists, and is requested to execute when a write queue exists or a message is connected to the write queue by a general and control message handler according to a result of checking the existence of the write queue. Starting, receiving the message at the beginning of the write queue at the beginning of the execution, comparing the number of messages queued in the write queue with a low level value determined for transmission flow control; Stream management when the number of messages in the queue is lower than the low level value as a result of comparing the low level value with the message in the write queue Informing the release of the previous message transmission stop request and checking if the message in the queue is a control message, and if the number of messages in the queue is greater than the low water value as a result of comparing the low water value with the message in the write queue. Checking whether the message in the terminal is a control message, checking whether the state of the terminal is satisfactory for execution according to a result of checking whether the message in the queue is a control message, and checking the terminal state. Processing a control message if the terminal satisfies the state of the terminal; and if the state of the terminal is not satisfied according to the result of the terminal state checking, storing the control message again at the beginning of the write queue and repeating the execution; If the message in the message is a normal message, Checking whether a terminal transmit buffer is empty; if the terminal transmit buffer is not empty according to a check result of the terminal transmit buffer, requesting an interrupt handler to execute in standby 2 state to exit the standby state; and If the terminal send buffer is empty according to the check result of the buffer, the message is stored in the terminal send buffer, the interruptible flag is set, and the operation goes back to the beginning, and if the write queue is empty, it waits 1; otherwise, repeats the above operation. A method of driving a terminal device on a dedicated node for high speed parallel computer communication. 제 1 항에 있어서, 상기 제 5 단계는 비동기 포트 상에 인터럽트가 발생할 때 수행 시작하여 수신 준비 상태가 되어 있는지를 검사하는 단계와, 상기 수신 준비 상태를 검사한 결과에 따라 수신 준비 상태가 되어 있을 경우 수신 자료를 비동기 포트 수신 버퍼에 저장하는 단계와, 상기 수신 준비 상태를 검사한 결과에 따라 수신 준비 상태가 되어 있지 않을 경우 송신 준비가 되어 있는지를 검사하는 단계와, 상기 비동기 수신 버퍼 내에 저장된 자료의 수와 버퍼가 정해 놓은 고수위값을 비교하는 단계와, 상기 비동기 수신 버퍼 내의 자료수와 고수위값을 비교한 결과에 따라 수신 버퍼내에 저장된 자료의 수가 고수위값보다 클 경우 터미널로 자료 송신 중단을 요청하는 단계와, 상기 터미널로 자료 송신 중단을 요청한 후 비동기 포트에 다른 자료가 존재하는지를 검사하는 단계와, 상기 비동기 포트의 다른 자료 존재를 검사한 결과에 따라 비동기 포트에 다른 자료가 존재할 경우 상기 수행을 반복하는 단계와, 상기 비동기 포트의 다른 자료 존재를 검사한 결과에 따라 비동기 포트에 다른 자료가 존재하지 않을 경우 송신 준비 상태가 되어 있는지를 검사하는 단계와, 상기 송신 준비 상태가 되어 있는지를 검사한 결과에 따라 송신 준비 상태가 되어 있을 경우 비동기 송신 버퍼 내에 저장되어 있는 자료를 터미널로 전송하는 단계와, 상기 송신 준비 상태가 되어 있는지를 검사한 결과에 따라 송신 준비 상태가 되어 있지 않을 경우 수행을 종료하는 단계와, 상기 비동기 버퍼내의 자료를 터미널로 전송한 후 인터럽트 가능 플래그를 리세트하는 단계와, 상기 인터럽트 가능 플래그를 리세트한 후 메시지 송신 구동기의 상태가 대기 2 중인지를 검사하는 단계와, 상기 메시지 송신 구동기의 검사 결과에 따라 메시지 송신 구동기의 상태가 대기 2 중일 경우 실행을 요청하고 수행을 종료하는 단계와, 상기 메시지 송신 구동기의 검사 결과에 따라 메시지 송신 구동기의 상태가 대기 2 중이 아닐 경우 수행을 종료하는 단계로 이루어진 것을 특징으로 하는 고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법.The method of claim 1, wherein the fifth step includes: performing execution when an interrupt occurs on the asynchronous port and checking whether the reception ready state is ready, and according to a result of checking the reception ready state, Storing the received data in an asynchronous port receiving buffer; and checking whether the receiving data is ready for transmission if it is not ready for receiving according to a result of checking the receiving ready state, and storing the data in the asynchronous receiving buffer. Comparing the number of times and the high water value set by the buffer, and requesting to stop transmitting data to the terminal when the number of data stored in the receiving buffer is greater than the high water value according to the result of comparing the number of data in the asynchronous receiving buffer with the high water value. And other data in the asynchronous port after requesting to stop transmitting data to the terminal. Checking whether there is any other data in the asynchronous port according to the result of checking the presence of other data in the asynchronous port, and repeating the execution of the data, and checking the presence of the other data in the asynchronous port. Checking whether the data is ready to be transmitted when no other data exists in the terminal; and when the data is ready to be transmitted according to the result of checking whether the data is ready to be transmitted, the data stored in the asynchronous transmission buffer Transmitting to the terminal; terminating execution if it is not ready to be transmitted according to the result of checking whether the ready to be transmitted state; and transmitting the data in the asynchronous buffer to the terminal, and clearing the interruptible flag. Setting and resetting the interruptible flag; Checking whether the state of the new driver is in standby 2; requesting execution and ending execution when the state of the message transmission driver is in standby 2 according to a test result of the message transmission driver; and checking the message transmission driver. And terminating the execution when the message transmission driver is not in standby state 2 according to the result. 제 1항에 있어서, 상기 제 6 단계는 터미널 수신 버퍼에 여분의 공간이 존재하는지를 검사하는 단계와, 상기 터미널 수신 버퍼의 검사 결과에 따라 터미널 수신 버퍼에 여분의 공간이 존재하지 않을 경우 RQFULL 플래그의 세트 여부를 검사하는 단계와, 상기 RQFULL 플래그의 세트 여부를 검사한 결과에 따라 세트되어 있을 경우 수행을 종료하는 단계와, 상기 RQFULL 플래그의 세트 여부를 검사한 결과에 따라 세트되어 있지 않을 경우 스트림 관리자로 터미널 수신 버퍼에 저장된 모든 자료를 메시지의 형태로 전송하는 단계와, 상기 터미널 수신 버퍼의 검사결과에 따라 터미널 수신 버퍼에 여분의 공간이 존재할 경우 비동기 수신 버퍼에 자료가 존재하는지를 검사하는 단계와, 상기 비동기 수신 버퍼의 검사 결과에 따라 자료가 존재하지 않을 경우 RQFULL 플래그의 세트 여부를 검사하는 단계와, 상기 RQFULL 플래그의 세트 여부를 검사한 결과에 따라 RQFULL 플래그가 세트되어 있을 경우 수행을 종료하는 단계와, 상기 RQFULL 플래그의 세트 여부를 검사한 결과에 따라 RQFULL 플래그가 리세트되어 있을 경우 버퍼 내에 저장되어 있는 모든 자료를 메시지의 형태로 스트림 관리자로 전송하고 수행을 종료하는 단계와, 상기 비동기 수신 버퍼에 자료가 존재하는지의 검사 결과에 따라 비동기 수신버퍼 내에 자료가 존재할 경우 자료를 터미널 수신 버퍼로 이동하는 단계와, 상기 비동기 수신 버퍼 내에 저장되어 있는 자료의 수를 버퍼 내에서 터미널과의 흐름 제어를 위해 정해 놓은 저수위값과 비교하는 단계와, 상기 비동기 수신 버퍼의 자료 수와 저수위값을 비교한 결과에 따라 비동기 수신 버퍼내의 자료수가 저수위 값보다 작아질 경우 터미널로 이전의 자료 전송 중지 요구에 대해 해제를 알린 후 상기 수행을 반복하는 단계와, 상기 비동기 수신 버퍼의 자료 수와 저수위값을 비교한 결과에 따라 비동기 수신 버퍼내의 자료수가 저수위 값보다 커질 경우 상기 수행을 반복하는 단계로 이루어진 것을 특징으로 하는 고속 병렬 컴퓨터 통신 전용 노드 상의 터미널 장치 구동 방법.The method of claim 1, wherein the sixth step includes checking whether there is an extra space in the terminal receive buffer, and if there is no extra space in the terminal receive buffer according to a result of the check of the terminal receive buffer, the RQFULL flag. Checking whether the RQFULL flag is set or not, if the RQFULL flag is not set according to the result of the check if the RQFULL flag is set. Transmitting all data stored in the terminal receive buffer in the form of a message; and checking whether the data exists in the asynchronous receive buffer if there is extra space in the terminal receive buffer according to a result of the terminal receive buffer checking; RQFULL flag if data does not exist according to the asynchronous receive buffer check result Checking whether the RQFULL flag is set or not, if the RQFULL flag is set according to a result of checking whether the RQFULL flag is set, and ending the execution of the RQFULL flag. If it is reset, transmitting all the data stored in the buffer to the stream manager in the form of a message and ending the execution, and the data exists in the asynchronous receiving buffer according to the result of checking whether the data exists in the asynchronous receiving buffer. Moving the data to a terminal receive buffer, comparing the number of data stored in the asynchronous receive buffer with a low level value set for flow control with the terminal in the buffer, and the data of the asynchronous receive buffer. The number of data in the asynchronous receive buffer depends on the result of comparing the number to the low water value. If smaller, the terminal repeats the execution after notifying the previous data transmission stop request, and the number of data in the asynchronous receiving buffer is low according to the result of comparing the data number of the asynchronous receiving buffer with the low water level value. And repeating said execution if larger. The method of driving a terminal device on a dedicated node for high speed parallel computer communication.
KR1019960029905A 1996-07-24 1996-07-24 The terminal driving method of high speed parallel computer in communication node KR0169590B1 (en)

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)

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