KR0131860B1 - Apparatus for input/output of console in multiprocessor system and method of the same - Google Patents
Apparatus for input/output of console in multiprocessor system and method of the sameInfo
- Publication number
- KR0131860B1 KR0131860B1 KR1019940016750A KR19940016750A KR0131860B1 KR 0131860 B1 KR0131860 B1 KR 0131860B1 KR 1019940016750 A KR1019940016750 A KR 1019940016750A KR 19940016750 A KR19940016750 A KR 19940016750A KR 0131860 B1 KR0131860 B1 KR 0131860B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- console
- duart
- processing
- output
- Prior art date
Links
Landscapes
- Multi Processors (AREA)
Abstract
본 발명은 입출력 전용 처리기를 갖는 다중 처리기 시스템의 시스템 제어기 장착되는 콘솔(con-sole)과의 문제 입출력 제어 처리에 따른 시스템의 효율저하를 막기 위한 것으로, 2포트 범용 비동기 송수신기(DUART)의 포트를 통하여 입력되는 문자를 시스템의 주처리기가 원하는 영역으로 전달해 주거나 주처리기가 지정한 DUART의 포트로 문자를 출력한다.DISCLOSURE OF THE INVENTION The present invention is to prevent a problem of the system according to the input / output control process with a console equipped with a system controller of a multiprocessor system having a dedicated input / output processor. The port of a two-port general purpose asynchronous transceiver (DUART) The text input through the system is transferred to the desired area by the main processor of the system or the character is output to the port of the DUART designated by the main processor.
본 발명에서는 콘솔 입출력장치의 레지스터들과 송수신용 버퍼(buffer) 및 큐(queue)를 초기화시킨 후, 콘솔 입출력이 요구되는 시점에서 메세지 전송 규약에서 정의한 형태로 서비스를 제공하는 입출력 명령을 수행하고 이와 연계하여 데이타 흐름을 제어하고 인터럽트(interupt)를 처리한다.The present invention initializes the registers of the console input / output device, buffers and queues for transmission and reception, and then executes an input / output command for providing a service in the form defined in the message transfer protocol at the time when the console input / output is required. In conjunction, it controls data flow and handles interrupts.
Description
제1도는 본 발명이 적용되는 시스템의 기본적인 구조를 나타낸 도면.1 is a diagram showing the basic structure of a system to which the present invention is applied.
제2도는 주처리기와 본 발명간의 인터페이스 방식을 설명하기 위한 도면.2 is a view for explaining the interface method between the main processor and the present invention.
제3도는 본 발명의 구성도.3 is a block diagram of the present invention.
제4도는 인터럽트 처리기의 기능수행과정을 나타낸 흐름도.4 is a flowchart showing a function execution process of an interrupt handler.
*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
1:주처리기2:시스템 제어기1: main processor 2: system controller
3:입출력 처리기4:공유 메모리3: I / O processor 4: shared memory
5:2포트 범용 비동기 송수신기6:순차 입출력 포트5: 2-port general purpose asynchronous transceiver 6: Sequential I / O port
7:콘솔100:콘솔 입출력 구동기7: Console 100: Console I / O Driver
본 발명은 입출력 전용 처리기를 갖는 다중 처리기 시스템의 시스템 제어기에 장착되는 콘솔(con-sole)과의 문자 입출력 제어 처리에 관한 것으로, 더 구체적으로는 2포트 범용 비동기 송수신기(이하, 'DUART'라 함)의 포트를 정하여 입력되는 문자를 시스템의 주처리기가 원하는 영역으로 전달해 주거나 주처리기가 지정한 DUART의 포트로 문자를 출력하는 장치 및 그 방법에 관한 것이다.The present invention relates to a character input / output control process with a console (con-sole) mounted on a system controller of a multiprocessor system having an input / output dedicated processor. More specifically, a two-port general purpose asynchronous transceiver (hereinafter referred to as 'DUART') The present invention relates to an apparatus and method for transmitting a character inputted by determining a port of a terminal) to a desired area of a system main processor or outputting a character to a port of a DUART designated by the main processor.
슈퍼미니(supermini)또는 메인 프레임(Mainframe)과 같은 고속 중형 컴퓨터는, 통상적으로 제1도를 참조하여, 다수의 주처리기(1)와, 시스템 제어기(2)와, 입출력 처리기(3) 및 주기억장치인 공유메모리(4)가 시스템 버스(8)에 각각 연결된 밀결합 다중처리기(Tightly Coupled Multiprocessor) 구조를 가지며, 대칭형 운영체제(Symetric Operating Systrm)가 탑재되어 운용된다.A fast medium sized computer, such as a supermini or mainframe, is typically referred to FIG. 1 with a number of main processors 1, a system controller 2, an input / output processor 3 and a main memory. The shared memory 4, which is a device, has a tightly coupled multiprocessor structure connected to the system bus 8, and a symmetric operating system is mounted and operated.
운영체제의 커널(Kernel)은 주처리기(1)에서 실행된다.The kernel of the operating system is executed in the main processor 1.
이런 시스템에서 모든 입출력은 주처리기(1) 내의 커널과 시스템제어기(2)사이에 메세지전송방식으로 이루어진다.In this system, all inputs and outputs are made by message transmission between the kernel in the main processor 1 and the system controller 2.
퍼스널 컴퓨터, 미니 컴퓨터 정도의 시스템에서는 콘솔 입출력이 운영체제의 커널 레벨에서(즉, 소프트웨어에 의해서만) 구현되나, 다중처리기시스템과 같은 고속 중형 컴퓨터에 있어서는 그 시스템의 하드웨어 구조 상 콘솔 입출력을 커널 레벨에서 구현하는 경우 콘솔과 시스템 간의 데이타 처리 속도 차이 등으로 인해 커널이 실제로 실행되는 주처리기(1)의 작업 수행 효율이 떨어지게 된다.In systems such as personal computers and minicomputers, console I / O is implemented at the kernel level of the operating system (i.e. only by software) .In high speed medium computers such as multiprocessor systems, console I / O is implemented at the kernel level due to the hardware structure of the system. In this case, due to the difference in data processing speed between the console and the system, the main processor 1, which actually executes the kernel, may be inefficiently executed.
본 발명의 목적은 고속 컴퓨터 시스템에 있어서 콘솔 입출력 제어로 인한 시스템의 성능저하를 개선하는 것이다.An object of the present invention is to improve performance degradation of a system due to console input / output control in a high speed computer system.
본 발명의 다른 목적은 다중프로세서시스템에서 콘솔 입출력 제어시에도 주처리기의 작업 수행 효율을 높일 수 있는 콘솔 입출력 구동장치 및 그 구동방법을 제공하는 것이다.Another object of the present invention is to provide a console input / output driving apparatus and a driving method thereof, which can increase the work performance of the main processor even when controlling the console input / output in a multiprocessor system.
이와 같은 목적들을 달성하기 위해서 본 발명에서는 콘솔 입출력을 하고자 할 경우에 커널의 콘솔 입출력 요구를 충족시키기 위한콘솔에 대한 하부 제어 기능을 펌웨어(Firmware)레벨에서 전담 처리할 수 있는 콘솔 입출력 구동장치를 제공한다.In order to achieve the above objects, the present invention provides a console input / output driving apparatus capable of performing a dedicated control function at the firmware level of a lower control function for a console to satisfy a console input / output requirement of a kernel when a console input / output is desired. do.
일 특징에 따르면, 다수의 주처리기와, 시스템 제어기와, 입출력 처리기 및 공유메모리가 시스템 버스에 각각 밀결합되는 다중처리기 시스템에서 콘솔의 입출력을 구동하기 위한 본 발명의 콘솔입출력구동장치는 상기 시스템 제저기와 콘솔 사이에 연결되고 두개의 포트를 갖는 2포트 범용 비동기 송수신기(DUART)와, 콘솔의 입출력구동을 위한 콘솔구동기를 포함하고; 상기 주처리기와 상기 콘솔 구동기 및 상기 DUART 사이의 데이타 전송은 문자단위로 이루어지고, 상기 주처리기와 상기 콘솔 구동기 간의 정보교환은 메세지전송규약에 따라 상기 공유메모리를 이용하고 인터럽트를 사용하는 메세지 전송방식으로 이루어 지며; 상기 콘솔 구동기는 상기 주처리기의 커널로 부터의 병렬 데이타를 받아 들여 직렬 데이타로 변환하여 출력하기 위한 제1큐수단과, 상기 제1큐수단으로부터 제공되는 정보를 상기DUART의 레지스터들로 순차로 전달하기 위한 제1버퍼수단과, 상기 DUART의 상기 레지스터들로부터 직렬로 제공되는 데이타를 받아 들이기 위한 제2버퍼수단과, 상기 제2버퍼수단으로부터 제공되는 직렬 데이타를 병렬 데이타로 변환하여 상기 주처리기의 상기 커널로 제공하기 위한 제2큐수단과, 콘솔 입출력을 위한 인터럽트를 처리하는 인터럽트처리수단을 포함한다.According to one aspect, a console input / output driving apparatus of the present invention for driving the input / output of a console in a multiprocessor system in which a plurality of main processors, a system controller, an input / output processor and a shared memory are tightly coupled to a system bus, respectively, A two-port universal asynchronous transceiver (DUART) connected between the console and the console and having two ports, and a console driver for input / output driving of the console; Data transmission between the main processor, the console driver and the DUART is performed in character units, and information exchange between the main processor and the console driver uses the shared memory and interrupts according to a message transfer protocol. It consists of; The console driver sequentially transfers first queue means for receiving parallel data from the kernel of the main processor, converting the serial data into serial data, and outputting the information provided from the first queue means to the registers of the DUART. A first buffer means for receiving data, a second buffer means for receiving data provided serially from the registers of the DUART, and serial data provided from the second buffer means for converting the serial data into parallel data. Second queue means for providing the kernel, and interrupt processing means for processing interrupts for console input and output.
본 발명의 방법은 콘솔 입출력당치의 레지스터들가 송수신용 버퍼(buffer) 및 큐(queue)을 초기화시킨 후, 콘솔 입출력이 요구되는 시점에서 메세지 전송 규약에서 정의한 형태로 서비스를 제공하는 입출력 명령을 수행하고 이와 연계하여 데아타 흐름 을 제어하고 이터럽트(interupt)를 처리한다.According to the method of the present invention, after the registers of the console input / output values initialize buffers and queues for transmission and reception, an input / output command for providing a service in the form defined in the message transfer protocol is performed at the time when the console input / output is required. In conjunction with this, it controls the data flow and handles interrupts.
이하 첨부된 도면들을 참조하여 본 말명을 상세히 설명한다. 제1도를 참조하여, 본 발명에 따른 시스템 제어기(2)는 공유자원으로서 두개의 순차 입출력 포트(6)를 갖는 하나의 DUART(5)와, 자신의 내부에 내장되고 콘솔 입출력 구동을 위한 프로그램이 탑재되어 있는 PROM(Programmable Read Only Memory)(7)을 구비하고 있다.Hereinafter, the present name will be described in detail with reference to the accompanying drawings. Referring to FIG. 1, the system controller 2 according to the present invention includes one DUART 5 having two sequential I / O ports 6 as shared resources, and a program for driving the console I / O embedded therein. A PROM (Programmable Read Only Memory) 7 mounted thereon is provided.
본 발명에 따른 장치 및 방법은 PROM에 기록되어 있는 명령들에 따라 시스템제어기(2)가 제어기능을 수행하는 것에 의해 실현된다.The apparatus and method according to the invention are realized by the system controller 2 performing a control function in accordance with the instructions recorded in the PROM.
제2도는 운영체제의 커널이 탑재되어 있는 주처리기(1)와, 시스템제어기(2) 내에 구현되는 콘솔 구동기(100) 사이의 인터페이스 방식을 보여 준다.2 illustrates an interface method between a main processor 1 in which a kernel of an operating system is mounted, and a console driver 100 implemented in the system controller 2.
주처리기(1)와 콘솔 구동기(100)간의 정보교환은 메세지전송규약(Message Passing Protocol: MPP)에 따라 공유메모리(4)를 이용하고 인터럽트를 사용하는 메세지 전송방식으로 이루어 진다.The exchange of information between the main processor 1 and the console driver 100 uses a shared memory 4 according to the Message Passing Protocol (MPP) and a message transfer method using interrupts.
주처리기(1)와 콘솔 구동기 (100)사이에 전송되는 메세지(10)에는 콘솔의 입출력을 위한 정보가 포함되어 있다.The message 10 transmitted between the main processor 1 and the console driver 100 includes information for inputting and outputting the console.
메세지 전송규약(MPP)에서는 커널이 요구할 수 있는 콘솔 입출력명령들을 정의하고 있다.The Message Transfer Protocol (MPP) defines the console I / O commands that the kernel can request.
이들 입출력 명령의 종류로는 초기화, 읽기, 쓰기, 입력데이타 흐름중지/재개, 입력데이타 화면출력, 모드 변환, 버퍼 및 큐의 플러쉬(flush), 모뎀 제어, 행업(hangup), 파라메터 설정 명령 등이 있다.These I / O commands include initialization, read, write, stop / resume input data flow, input data output, mode conversion, buffer and queue flush, modem control, hangup, parameter setting command, etc. have.
주처리기(1) 내의 커널이 입출력 명령을 메세지에 기록하여 콘솔 입출력 구동기(100)로 전송함으로써 콘솔 입출력 요구가 발생된다.The kernel in the main processor 1 writes an I / O command in a message and transmits it to the console I / O driver 100 so that a console I / O request is generated.
커널로부터의 메세지를 접수한 콘솔 입출력 구동기(100)는 그 메세지에 기록된 입출력명령에따라 입출력명령을 수행하는 함수를 호출하여 해당 서비스를 수행한 후, 상태 및 (필요한 경우에만) 결과를 다시 메세지를 통하여 커널로 반환함으로써 서비스를 완료하는 하나의 수행 사이클이 종료된다.Upon receipt of a message from the kernel, the console I / O driver 100 performs a corresponding service by calling a function that performs an I / O command according to the I / O command recorded in the message, and then returns the status and the result (if necessary). By returning to the kernel via, the one execution cycle to complete the service is terminated.
제3도는 본 발명에 따른 구동기(100)의 구성을 나타낸 것이다.3 shows the configuration of the driver 100 according to the present invention.
본 발명의 콘솔 구동기(100)는 주처리기(1)와 DUART(5)사이에 연결된다. 주처리기(1), 콘솔 구동기(100), DUART(5) 사이의 데이타 전송은 문자 단위로 이루어 진다.The console driver 100 of the present invention is connected between the main processor 1 and the DUART (5). Data transmission between the main processor 1, the console driver 100, and the DUART 5 is performed in units of characters.
콘솔 구동기(100)는 주처리기(1)의 커널로부터의 병렬 데이타를 받아들여 직렬 데이타로 변환하여 출력하기 위한 송신큐(transmittingqueue)(101)와, 송신큐(101)로부터 제공되는 정보를 DUART(5)의 레지스터들(107, 109)로 순차로 전달하기 위한 송신버퍼(transmitting buffer)(102)와, DUART(5)의 레지스터들로부터 제공되는 직렬 데이타를 받아들이기 위한 수신버퍼(recriving buffer)(103)와, 수신버퍼(103)로부터 제공되는 직렬 데이타를 병렬 데이타로 변환하여 주처리기(1)의 커널로 제공하는 수신큐(receiving queue)(104)와, DUART(5)와 송신버퍼(102) 및 수신버퍼(103)의 인터럽트를 처리하는 인터럽트처리기(interupt handler)(105)를 포함한다.The console driver 100 receives the parallel data from the kernel of the main processor 1, converts it into serial data and outputs the serial data, and transmits the information provided from the transmission queue 101 to DUART ( A transmitting buffer 102 for sequentially transferring to the registers 107, 109 of 5), and a receiving buffer for receiving serial data provided from the registers of the DUART 5; 103, a receiving queue 104 which converts serial data provided from the receiving buffer 103 into parallel data and provides it to the kernel of the main processor 1, DUART 5 and transmitting buffer 102. And an interrupt handler 105 that handles the interrupt of the receive buffer 103.
또한, 에코우플래그(echo flag)가 셋팅(setting)되는 경우에는 수신버퍼(103)의 출력이 송신큐(101)로 제공된다.In addition, when the echo flag is set, the output of the reception buffer 103 is provided to the transmission queue 101.
데이타 및 제어정보를 관리하기 위한 송신큐(101)와, 송신버퍼(102)와, 수신버퍼(103) 및 수신큐(104)는 시스템 제어기(2)의 지역메모리(local memory)내에 구성된다.The transmission queue 101, the transmission buffer 102, the reception buffer 103, and the reception queue 104 for managing data and control information are configured in a local memory of the system controller 2.
주처리기(1)의 커널, 콘솔구동기(100)의 버퍼들(102, 103)및 큐들(101, 104), 그리고 DUART(5)간의 데이타 흐름제어는 인터럽트 처리기(105)의 인터럽트처리함수와 시스템제어기(2) 내의 데이타흐름 제어처리함수의 연계에 의해 수행된다.The data flow control between the kernel of the main processor 1, the buffers 102 and 103 and the queues 101 and 104 of the console driver 100, and the DUART 5 is based on the interrupt processing function of the interrupt processor 105 and the system. This is performed by linkage of data flow control processing functions in the controller 2.
주처리기(1)(더 구체적으로는, 커널)가 콘솔로부터의 데이타 입력을 요구하는 경우, 콘솔의 키보드등에 의해 문자가 입력되면 그 문자는 DUART(5)의 데이타레지스터(107, 109)에 일단 저장된다.When the main processor 1 (more specifically, the kernel) requests data input from the console, when a character is input by the console keyboard or the like, the character is once input to the data registers 107 and 109 of the DUART 5. Stored.
DUART(5)의 데이타레지스터에 저장된 문자데이타는 수신버퍼(103) 및 수신큐(104)를 통하여 주처리기(1) 커널에 전달된다.The character data stored in the data register of the DUART 5 is transferred to the main processor 1 kernel through the reception buffer 103 and the reception queue 104.
이때, 에코우 플래그가 셋팅되어 있으면 수신버퍼(103)의 출력은 동시에 송신큐(101)로도 전달되어 화면에 에코우 된다.At this time, if the echo flag is set, the output of the reception buffer 103 is also transmitted to the transmission queue 101 at the same time and echoed on the screen.
이런 경우에 있어서, 그러나, 커널 모드가 아니면 모니터 데몬(monitor demon)이 수행된다.In this case, however, the monitor daemon runs unless it is in kernel mode.
주처리기(1) 내 커널이 콘솔로의 데이타출력을 요구하는 경우, 커널은 자신이 콘솔로 출력하고자 하는 문자 데이타를 일단 콘솔구동기(100)의 송신큐(101)로 제공한다.When the kernel in the main processor 1 requests data output to the console, the kernel first provides the character data to be output to the console to the transmission queue 101 of the console driver 100.
송신큐(101)의 직렬 출력은 송신버퍼(102)를 통하여 DUART(5)의 데이타레지스터로 제공되어 콘솔인 터미날에 출력된다.The serial output of the transmission queue 101 is provided to the data register of the DUART 5 via the transmission buffer 102 and output to the terminal which is the console.
버퍼들(102, 103) 및 큐들(101, 104)은 빈번한 데이타 송수신으로 인한 데이타 및 메시지 소통량의 부담(overhead of traffic)을 감소시켜 빠른 응답을 수행하도록 하고, 데이타 분실을 방지하는 기능을 한다.The buffers 102 and 103 and the queues 101 and 104 reduce the overhead of data and message traffic due to frequent data transmission and reception to perform a quick response and prevent data loss.
제4도는 인터럽트 처리기(105)의 기능수행과정을 나타낸 흐름도이다.4 is a flowchart illustrating a functional process of the interrupt handler 105.
제4도를 참조하여, 인터럽트 처리기(105)는 커널의 요구에 따라 DUART(5)의 2개의 포트들에 대해 교대로 인터럽트처리를 수행한다. 커널의 콘솔입출력요구에 따른 인터럽트처리기(105)의 인터럽트처리는 DUART(5)의 데이타레지스터(107, 109)에 저장된 데이타를 커널러 전달하기 위한 수신처리와 커널로부터 데이타를 DUART(5)의 데이타레지스터로 전달하기 위한 송신처리로 나누어 수행된다.Referring to FIG. 4, the interrupt handler 105 alternately performs interrupt processing on two ports of the DUART 5 in accordance with a request of the kernel. Interrupt processing of the interrupt handler 105 according to the console input / output request of the kernel includes reception processing for delivering data stored in the data registers 107 and 109 of the DUART 5 and data from the kernel to the data of the DUART 5. It is divided into transmission processing to transfer to register.
먼저, 커널의 콘솔입출력요구가 있는 경우, 인터럽트처리기(105) DUART(5)의 한 포트에 대한 인터럽트처리를 위하여 DUART(5)의 상태 레지스터(106, 108)를 읽어서 DUART(5)가 수신처리 준비상태에 있는 지의 여부를 조사하고(401), 수신처리 준비상태에 있는 것으로 판명되면 DUART(5)의 데이타레지스터로부터 데이타를 읽어 들인다(402). 이어, 읽어 들인 데이타가 콘솔 장치로부터 전달된 데이타임과 아울러 모드의 변환을 위한 문자 데이타인 지의 여부를 조사한다(403). 이때, 읽어 들인 데이타가 모드 변환을 위한 데이타이라고 판명되면(단계 403에서 '예'이면) 모드를 변환하고(404), 그런 후 지금까지의 처리가 두번째 포트를 위한 처리였는지의 여부를 조사한다(405).First, when there is a console input / output request of the kernel, the interrupt register 105 reads the status registers 106 and 108 of the DUART 5 for interrupt processing for one port of the DUART 5, and the DUART 5 receives the processing. It is checked whether it is in a ready state (401). If it is found that it is in a ready state for receiving processing, it reads data from the data register of DUART (5) (402). Then, it is checked whether the read data is the data transmitted from the console device and the character data for changing the mode (403). At this time, if the read data is found to be data for mode conversion (YES in step 403), the mode is switched (404), and then whether the processing up to now has been for the second port is checked ( 405).
상기의 단계 405에서, 두번째 포트를 위한 처리가 아니었던 것으로 판명되면 두번째 포트를 위한 인터럽트처리를 추가로 수행하기 위해 단계 401로 분기한다.If it is found in step 405 above that the process was not for the second port, then branch to step 401 to further perform interrupt processing for the second port.
이때, 두번째 포트를 위한 처리였던 것으로 판명되면 커널의 콘솔 입출력요구에 대한 인터럽트처리를 종료한다.At this time, if it is determined that the processing was for the second port, the interrupt processing for the console input / output request of the kernel is terminated.
한편, 상기의 단계 403에서, 읽어 들인 데이타가 모드의 변환을 위한 데이타가 아니라고 판명되면('아니오'이면), 현재의 모드가 콘솔모드인지의 여부를 조사한다(406).On the other hand, if it is found in step 403 that the read data is not data for mode switching (No), it is checked whether the current mode is the console mode (406).
이때, 현재의 모드가 콘솔모드가 아닌 것으로 판명되면(단계 406에서 '아니오'이면) 모니터 기능을 수행하고 상술한 단계 405로 복귀한다. 상기의 단계 406에서, 현재의 모드가 콘솔모드린 것으로 판명괴면('예'이면) 문자 데이타 및 상태 데이타가 수신버퍼(103)에 기록한다(408).At this time, if it is determined that the current mode is not the console mode (NO in step 406), the monitor function is performed and the process returns to step 405 described above. In step 406 above, if the current mode is found to be in console mode ('Yes'), character data and status data are written to the reception buffer 103 (408).
이로써, 콘솔로부터의 데이타가 수신버퍼(103) 및 수신큐(104)를 통하여 주처리기(1)의 커널로 제공되어 수신처리가 이루어징다. 수신처리가 완료된 경우(단계 408참조)나 수신처리의 준비가 되어 있지 않은 경우(단계 401에서 '아니오'이며), 인터럽트처리기(105)는 DUART(5)의 상태레지스터(106, 108)를 읽어서 DUART(5)가 송신처리 준비상태에 있는 지의 여부를 조사하고(409), DUART(5)가 송신처리준비상태에 있지 않은 것으로 판명되면(단계 409에서 '아니오'이면) 단계 405로 복귀한다.As a result, data from the console is provided to the kernel of the main processor 1 through the reception buffer 103 and the reception queue 104 to perform reception processing. When the reception process is completed (see step 408) or when the reception process is not ready (NO in step 401), the interrupt handler 105 reads the state registers 106 and 108 of the DUART 5, It is checked whether the DUART 5 is in a transmission processing ready state (409), and if it is determined that the DUART 5 is not in the transmission processing ready state (NO in step 409), the process returns to step 405.
상기의 단계 409에서, DUART(5)가 송신처리준비상태에 있는 것으로 판명되면('예'이면), 송신할 데이타(콘솔로 출력할 데이타)가 있는 지의 여부를 조사한다(410).In step 409, if the DUART 5 is found to be ready for transmission processing (YES), it is checked whether there is data to be transmitted (data to be output to the console) (410).
상기의 단계 410에서,송신할 데이타가 존재하는 것으로 판명되면('예'이면), 송신버퍼(102)의 데이타를 DUART(5)의 데이타레지스터에 기록하고(411), 그런 후 단계 405로 복귀한다.In the above step 410, if it is determined that there is data to be transmitted (YES), the data of the transmission buffer 102 is written to the data register of the DUART 5 (411), and then returned to the step 405. do.
송신버퍼(102)의 데이타를 DUART(5)의 데이타레지스터에 기록하는 것에 의해 커널로부터의 데이타가 콘솔로 전달된다.Data from the kernel is transferred to the console by writing the data of the transmission buffer 102 to the data register of the DUART 5.
상기의 단계 410에서, 송신할 데이타가 존재하지 않는 것으로 판명되면('아니오'이면) 송신인터럽트를 디스에이블(disable)시키고(412), 그런 후 단계 405로 복귀한다.In step 410 above, if it is determined that there is no data to transmit ('No'), the transmission interrupt is disabled (412), and then the flow returns to step 405.
이상에서 설명된 바와 같이, 본 발명에 따르면 시스템 제어기 내에 구성되는 콘솔입출럭구동기가 콘솔로의 문자 입력 또는 콘솔로부터의 문자출력을 직접 처리함으로써 주처리기의 오버헤드를 감소시킬수 있게 시스템의 효율을 향상시키는 효과가 있다.As described above, according to the present invention, the console entry / exit driver configured in the system controller improves the efficiency of the system so that the overhead of the main processor can be reduced by directly processing the character input to or output from the console. It is effective to let.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940016750A KR0131860B1 (en) | 1994-07-12 | 1994-07-12 | Apparatus for input/output of console in multiprocessor system and method of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940016750A KR0131860B1 (en) | 1994-07-12 | 1994-07-12 | Apparatus for input/output of console in multiprocessor system and method of the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR0131860B1 true KR0131860B1 (en) | 1998-04-24 |
Family
ID=19387819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940016750A KR0131860B1 (en) | 1994-07-12 | 1994-07-12 | Apparatus for input/output of console in multiprocessor system and method of the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0131860B1 (en) |
-
1994
- 1994-07-12 KR KR1019940016750A patent/KR0131860B1/en not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5428799A (en) | Redirection of interrupts to microprocessors | |
US4821180A (en) | Device interface controller for intercepting communication between a microcomputer and peripheral devices to control data transfers | |
US5935233A (en) | Computer system with a switch interconnector for computer devices | |
US6477610B1 (en) | Reordering responses on a data bus based on size of response | |
US6532510B2 (en) | Computer system for processing system management interrupt requests | |
JPH096717A (en) | System and method for data processing containing buffering mechanism for inbound and outbound read as well as posted write | |
EP2062147B1 (en) | Method and apparatus for conditional broadcast of barrier operations | |
US5475846A (en) | Apparatus for processing PCMCIA interrupt requests | |
US4905145A (en) | Multiprocessor | |
US5014236A (en) | Input/output bus expansion interface | |
US6061757A (en) | Handling interrupts by returning and requeuing currently executing interrupts for later resubmission when the currently executing interrupts are of lower priority than newly generated pending interrupts | |
US6145048A (en) | Method of processing system management interrupt requests | |
US5923887A (en) | Interrupt request that defines resource usage | |
US20050256998A1 (en) | Bus bridge device | |
KR0131860B1 (en) | Apparatus for input/output of console in multiprocessor system and method of the same | |
US5640570A (en) | Information handling system for transmitting contents of line register from asynchronous controller to shadow register in another asynchronous controller determined by shadow register address buffer | |
US5432910A (en) | Coupling apparatus and method for increasing the connection capability of a communication system | |
US5666545A (en) | Direct access video bus computer system and method for transferring video information using a dedicated video bus | |
EP0546354B1 (en) | Interprocessor communication system and method for multiprocessor circuitry | |
JPS634209B2 (en) | ||
KR20020067752A (en) | The one chip asynchronous microprocessor Inter Processor Communication circuit | |
US7111301B1 (en) | Request and completion queue load balancing | |
US6023752A (en) | Digital data apparatus for transferring data between NTDS and bus topology data buses | |
KR0145932B1 (en) | Dma controller in high speed computer system | |
KR950010947B1 (en) | Bus protocol mapping circuit |
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: 20071115 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |