KR920009447B1 - 다중처리 시스템에서의 입출력 전담 처리장치. - Google Patents
다중처리 시스템에서의 입출력 전담 처리장치. Download PDFInfo
- Publication number
- KR920009447B1 KR920009447B1 KR1019900021865A KR900021865A KR920009447B1 KR 920009447 B1 KR920009447 B1 KR 920009447B1 KR 1019900021865 A KR1019900021865 A KR 1019900021865A KR 900021865 A KR900021865 A KR 900021865A KR 920009447 B1 KR920009447 B1 KR 920009447B1
- Authority
- KR
- South Korea
- Prior art keywords
- input
- output
- service
- processor
- message
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
내용 없음
Description
제1도는 본 발명의 입출력 처리장치를 이용한 공유 메모리 다중 처리시스템의 구성도.
제2도는 본 발명의 입출력 처리 장치의 불럭 다이어그램.
제3도는 본 발명의 입출력 처리장치의 구성도.
제4도는 본 발명의 입출력 처리장치의 입출력 메시지 및 제어 흐름도.
본 발명은 입출력 전담 처리장치에 관한 것으로, 특히 공유 메모리를 이용하는 다중처리 시스템에서 각종 입출력 장치들을 제어하면서 입출력 서비스를 전담하도록한 다중처리기 시스템에서의 입출력 전담 처리장치에 관한 것이다.
종래에는 입출력의 종류에 따라서 각기 다른 입출력 처리기를 시스템버스(System Bus)에 연결하여 이것에 대한 제어를 CPU가 하게 하였다.
그러나 이와같은 방식은 CPU가 입출력 관련 서어비스를 하는데 많은 시간을 소용하게 되고, 다양한 입출력의 종류에 따라 서로 다른 서어비스가 요구되었다.
또한 빈번한 입출력 작용을 위해서 시스템버스를 사용하는 시간이 길어지므로 시스템의 성능이 저하되는 문제점이 있었다.
이와같은 문제점을 해결하기 위한 본 발명은 입출력 전용 버스를 지원하면서 다양한 입출력 디바이스를 제어하여, CPU의 입출력 관련 부하를 줄이고, 또 입출력 서비스를 일관성 있게 하도록함을 그 목적으로 한다.
이를 위하여 본 발명은 입출력 전담 처리기를 통하여 모든 종류의 입출력 장치를 연결할 수 있어서 한정된 시스템버스를 슬롯을 효율적으로 사용할 수 있도록 하고, 새로운 입출력 장치를 이식할 때에도 운영체제를 거의 바꾸지 않고 입출력 처리 장치내의 퍼엄웨어(Firmuware)만을 교체하도록 한다.
이하 본 발명은 첨부 도면에 의거 상세히 기술하여 보면 다음과 같다. 제1도는 본 입출력 전담 처리 장치(이하 IOP로 씀)를 이용한 일반적인 공유 메모리 다중처리 시스템의 구성을 나타낸 것으로, IOP(1)는 CPU(2) 및 메모리(MEM)(3)등은 시스템버스(SYSTEM bus)를 통하여 상호 연결되어 있다.
또한, IOP(1)는 입출력버스(I/O bus)를 통하여 디스크(4), 자기테이프(5), 모니터(6), 및 네트워크(7)들의 모든 입출력 장치들과 데이타를 교환한다.
IOP(1)와 CPU(2)사이에 통신을 하기 위해서 인터럽트와 공유 메모리를 이용한다.
즉, 각 CPU(2)들과 IOP(1)는 서로 인터럽트를 주골 받을 수 있고, 또 메모리(3)내의 시스템 영역에 액세스 하여 통신에 필요한 정보 및 데이타를 쓴다.
제2도는 IOP의 구성중 나타낸 것으로, IOP는 시스템버스 정합 모듈(12), 및 MPU(Micro Processing Unit)(3)와 주변회로 등으로 구성한다. IOP(1)의 퍼엄웨어는 국부(Local ROM)(14)에 있어서 전원이 인가되고 자체테스트(Self-test)가 끝나면 국부램(Local RAM)(15)으로 복사된 후 MPU(13)에 의해서 실행된다.
IOP(1)의 프로세서인 MPU(13)는 데이타 입출력을 수행하기 위해 IOP(1)내부의 모든 자원(16)∼(20)은 물론 정합부(21)∼(24)를 통하여 시스템 메모리를 액세스하고, 입출력버스에 연결된 입출력 디바이스(25)∼(27)에도 액세스할 수 있다.
MPU(13)가 처리할수 있는 인터럽트의 종류는 크게 세가지 그룹이 있는데 즉, 시스템 버스로 부터의 인터럽트, 로컬 인터럽트 그리고 입출력버스로 부터의 인터럽트 등이다. 인터럽트 처리 우선 순위는 그룹 간에서는 시스템버스 인터럽트가 가장 높고, 다음에 로컬 인터럽트, 로컬 인터럽트, 입출력버스로 부터의 인터럽트 순이다.
각 그룹 내에서 다시 7가지 레벨의 인터럽트가 있다.
데이타 버퍼램(Data Buffer RAM)(28)은 블럭 단위 입출력을 보다 효율적으로 수행하기 위해서 완충 기능을 해준다.
데이타 버퍼램(28)은 MPU(13) 혹은 입출력버스에 연결된 입출력 장치(20)∼(27)들이 모두 액세스 할 수 있으나, 만약 동시에 요청 했을 경우엔 MPU(13)의 우선 순위가 높다.
제3도는 퍼업웨어의 구성을 나타낸 것으로 IOP(1)와 다른 프로세서들 사이에 통신을 하기위한 기본적인 기능 즉, 시스템 버스로부터의 인터럽트에 대한 서비스기능, 서비스 완료후 상태를 반환하는 기능 및 공유영역내의 채널을 조작하기 위한 루틴등을 수행하는 메시지 처리수단(31)과, 입출력 요구 메시지들을 처리하기 위해서 서비스 프로세스를 생성하고, 그 프로세스를 관리, 및 제어하는 기능을 수행하는 입출력 제어수단(32)과, 디스트(4), 자기 테이프(5), 모니터(6) 및 네트워크(7) 등을 제어하는 입출력 디바이스에 따라서 실질적인 입출력 서비스를 수행하는 부분으로서 새로운 입출력 장치를 입출력버스에 연결할 경우에 그에 해당하는 디바이스 드라이버를 추가할 수 있는 구동 디바이스(32)들로 구성한 것이다.
제4도는 IOP가 입출력 메시지를 처리하기 위한 메시지 및 제어 흐름을 나타낸 것으로, IOP(1)의 기능은 호스트 CPU(2)로부터 일련의 입출력 요구 메시지를 받아서 그 명령의 종류에 따라서 적절한 입출력 서비스를 한 후, 그 결과를 반환하는 것이다.
메시지 전달을 위한 수단으로 CPU(2)와 IOP(1)사이의 공유영역에 요구 채널(4)과 서비스 채널(40)을 둔다. 요구 채널(41)은 호스트 CPU(2)가 IOP(1)에게 입출력 요구를 위한 메시지를 보내는 창구이고, 서비스채널(42)은 IOP(1)가 그 메시지를 받아서 처리한 결과를 반환하는 곳이다. 이 채널(41), (42)은 링크트 리스트로 구현되었고, CPU(2)는 IOP(1)의 초기화 시에 두 채널의 시작 주소를 IOP(1)에게 알려준다.
호스트 프로세서는 입출력 요구가 발생하면 메시지를 요구 채널에 삽입하고 IOP(1)에게 인터럽트를 보낸다. IOP(1)의 메시지 처리기(43)는 요구 채널(41)로부터 메시지를 가져와서 IOP(1)내의 명령큐(44)로 삽입함으로서 인터럽트에 대한 처리를 끝낸다.
IOP(1)내의 명령큐(44)에 있는 입출력 메시지를 처리하기 위해서 MPU(13)는 그 메시지를 위한 서비스프로세스 처리기(45)에서 처리하도록 한다.
이 메시지를 위한 입출력 서비스가 완료되면 그 결과를 서비스 채널(42)에 반환하고 CPU(2)에게 인터럽트를 보낸다.
IOP(1)내의 명령큐(44)에 들어온 메시지는 FIFO(First In Firstout) 형식으로 처리된다.
원칙적으로 IOP(1)의 프로세스는 하나이나, 그 프로세스 수행 도중에 원하는 자원이나 어떤 조건이 만족되지 않아서 더 이상 프로세스가 진행되지 못하는 경우가 발생하면 그 프로세스를 잠시 중단하고 새로운 프로세스를 생성하거나 수행 대기중인 다른 프로세스를 선정하여 다시 그 프로세스를 수행하도록 한다.
수행이 완료된 프로세스는 즉시 소멸시켜서 궁극적으로는 하나의 프로세스만을 수행하도록 한다.
또한 MPU(13)는 입출력버스(I/O bus)에 연결된 여러 가지 입출력(4)∼(7)들로부터 인터럽트를 받을 수 있다. 입출력 장치(4)∼(7)는 크게 나누어 문자단위 입출력 장치와 블럭단위 입출력 장치로 나눌수 있다.
이 두가지 종류의 입출력 장치의 입출력 처리 과정의 차이는 블럭 단위 입출력 장치는 IOP(1)내의 데이터버퍼램(29)을 이용하여 입출력 요구를 처리하나 문자단위 입출력 장치는 데이타 버퍼램(28)을 이용하지 않고 입출력을 한다.
입출력버스(I/O bus)로 부터의 인터럽트가 들어오면 각 입출력 장치를위한 인터럽트 처리기(46)가 적절한 서비스를 한다. 이와같이 IOP(1) 내 MPU(13)는 평상시에는 명령큐(44)에 있는 메시지들을 처리하기 위해서 서비스 처리기 프로세스(45)에서 프로세스를 수행하다가 시스템버스(System Bus)나 입출력버스로 (I/O bus)로부터 인터럽트가 들어오면 그에 대한 서비스를 수행하고 입출력버스 인터럽트 처리기(46)에서 수행하도록 한 후 다시 중단된 서비스 프로세스를 수행한다.
따라서 본 발명의 입출력 전담처리 장치에 의하여서는, CPU(2)와, 시스템버스를 통하여 연결된 IOP(1)에서 입출력버스를 통하여 연결된 디코더(4), 자기테이프(5), 모니터(6) 및 네트워크(7)들의 입출력 장치들을 제어하도록 함으로서 입출력 관련 부하를 줄이면서 입출력 서비스를 일관성 있게 수행하도록 함은 물론, 모든 종류의 입출력 장치에 대하여 효율적으로 사용하도록 한 것임을 알 수 있다.
Claims (1)
1. 다중처리 시스템의 입출력 처리기에 있어서, CPU(2)로부터 입출력 요구를 위한 메시지를 전달받는 요구채널(41)과, 상기 요구 채널(41)에 입력된 메시지를 명령큐(44)로 전달하면서 CPU(2)로부터의 입출력에 대한 인터럽트를 해제하는 메시지 처리기(43)와, 상기 명령큐(44)에 들어온 메시지에 대해 FIFO방식으로 하나씩의 프로세스를 수행하는 서비스 프로세스 처리기(45)와, 상기 서비스 프로세스 처리기(45)에서 처리한 결과를 상기 CPU(2)로 전달하는 서비스 채널(42)과, 시스템버스 또는 입출력버스를 통해 인터럽트가 들어오면 그에 대한 처리중 MPU(13)의 제어에 의해 수행하는 입출력버스 인터럽트 처리기(46)들로 구성됨을 특징으로 하는 다중처리기 시스템에서의 입출력 전담 처리장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019900021865A KR920009447B1 (ko) | 1990-12-26 | 1990-12-26 | 다중처리 시스템에서의 입출력 전담 처리장치. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019900021865A KR920009447B1 (ko) | 1990-12-26 | 1990-12-26 | 다중처리 시스템에서의 입출력 전담 처리장치. |
Publications (2)
Publication Number | Publication Date |
---|---|
KR920013143A KR920013143A (ko) | 1992-07-28 |
KR920009447B1 true KR920009447B1 (ko) | 1992-10-16 |
Family
ID=19308546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019900021865A KR920009447B1 (ko) | 1990-12-26 | 1990-12-26 | 다중처리 시스템에서의 입출력 전담 처리장치. |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR920009447B1 (ko) |
-
1990
- 1990-12-26 KR KR1019900021865A patent/KR920009447B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR920013143A (ko) | 1992-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5506975A (en) | Virtual machine I/O interrupt control method compares number of pending I/O interrupt conditions for non-running virtual machines with predetermined number | |
DE69727407T2 (de) | Verteilte Ausführung von modusungeeigneten Befehlen in Multiprozessorsysteme | |
US6711643B2 (en) | Method and apparatus for interrupt redirection for arm processors | |
US5214759A (en) | Multiprocessors including means for communicating with each other through shared memory | |
JPH04318654A (ja) | マイクロプロセッサへの割り込みのリダイレクションシステム | |
JPH1097490A (ja) | スケーラブル対称型マルチプロセッサにおいてバス幅またはバス・プロトコルを変更せずに割り込みを分散する方法および装置 | |
US5507032A (en) | Multiprocessor I/O request control system forming device drive queue and processor interrupt queue from rows and cells of I/O request table and interrupt request table | |
US6470408B1 (en) | Apparatus and method for delivering interrupts via an APIC bus to IA-32 processors | |
US4855899A (en) | Multiple I/O bus virtual broadcast of programmed I/O instructions | |
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 | |
JPH08115289A (ja) | 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム | |
JPH10283304A (ja) | 割り込み要求を処理する方法及びシステム | |
EP0049521A2 (en) | Information processing system | |
US6675238B1 (en) | Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor | |
KR920009447B1 (ko) | 다중처리 시스템에서의 입출력 전담 처리장치. | |
Ahuja et al. | A multi-microprocessor architecture with hardware support for communication and scheduling | |
EP1193607A2 (en) | Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller | |
JP2864255B2 (ja) | 仮想計算機方式の計算機システム | |
KR940009104B1 (ko) | 시스템간의 데이타 전송방법 | |
JPH01305461A (ja) | バス使用権制御方式 | |
JPH10260850A (ja) | 仮想計算機システム | |
JPH056333A (ja) | マルチプロセサシステム | |
KR19990061480A (ko) | 로컬 인터럽트 제어기에서 인터럽트 처리방법 | |
JPH0573507A (ja) | 電子計算機間メツセージ交信時の救済装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 19980929 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |