KR19980056297A - 분산 처리 시스템에서의 비순차적 작업 제어 장치 및 방법 - Google Patents

분산 처리 시스템에서의 비순차적 작업 제어 장치 및 방법 Download PDF

Info

Publication number
KR19980056297A
KR19980056297A KR1019960075563A KR19960075563A KR19980056297A KR 19980056297 A KR19980056297 A KR 19980056297A KR 1019960075563 A KR1019960075563 A KR 1019960075563A KR 19960075563 A KR19960075563 A KR 19960075563A KR 19980056297 A KR19980056297 A KR 19980056297A
Authority
KR
South Korea
Prior art keywords
bus
data
processing system
data processing
job control
Prior art date
Application number
KR1019960075563A
Other languages
English (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 KR1019960075563A priority Critical patent/KR19980056297A/ko
Publication of KR19980056297A publication Critical patent/KR19980056297A/ko

Links

Landscapes

  • Bus Control (AREA)

Abstract

본 발명은 데이터 분산 처리 시스템에 관한 것으로, 각 데이터 처리 시스템이 공동으로 사용하는 버스 사용 효율을 높이기 위하여 각 시스템의 버스 요구와 현재 버스 상태를 점검하여 그에 따라 버스를 할당해주는 비순차적 작업 제어 장치 및 방법에 관한 것으로서, 다수개의 데이터 처리 수단(400, 440)와; 공유 인터페이스 버퍼 수단(500); 포트 중재 수단(490); 버스 중재 수단(430, 470); 및 상기 데이터 처리 수단(400, 440)과 포드 중재 수단(490) 및 버스 중재 수단(430, 470)와 상호 정보를 교환하면서, 유휴 상태에 있는 버스를 즉각적으로 사용할 수 있도록 랜덤하게 제어하는 작업 제어 수단(480)를 포함하여 구성되는 작업 제어 장치를 구비한 본 발명은 각각의 데이터 처리 시스템이 요구하는 버스에 대한 제어 정보(bus.id)를 추가하여 버스 대기 행렬(entry)을 구성하고, 만약 요구된 버스가 유효한 상태일 경우에 순서에 상관없이 지명기(dispetcher)를 통해 비순차적으로 버스를 할당해주므로써, 순차적으로 버스를 할당한 종래 시스템에 비해서 버스 사용 효율을 최대 2배까지 높일 수 있는 효과가 있다.

Description

분산 처리 시스템에서의 비순차적 작업 제어 장치 및 방법
본 발명은 데이터 분산 처리 시스템에 관한 것으로, 각 데이터 처리 시스템이 공동으로 사용하는 버스 사용 효율을 높이기 위하여 각 시스템의 버스 요구와 현재 버스 상태를 점검하여 그에 따라 버스를 할당해주는 비순차적 작업 제어 장치 및 방법에 관한 것이다.
일반적으로, 컴퓨터를 사용하는 형태를 시대별로 살펴보면, 1960년대는 일괄 처리(Batch Processing), 1970년대는 컴퓨터 능력을 작은 시간 대로 나누어 여럿이 사용하는 시분할 처리(Timesharing Processing), 1980년대는 개인용 컴퓨터나 워크데이션의 등장으로 개인 처리(personneal Computing)를 그 특성으로 볼 수 있다. 그리고, 1990년대에 들어와서는 분산 처리(Distributed Processing/Disributed Computing)시대가 시작되었으며, 분산 처리란 컴퓨터 통신망에 연결된 여러대의 컴퓨터 시스템들이 서로 도와 하나의 목적을 해결하고자 처리하는 것을 일컫는다.즉, 분산 처리 기술의 목적은 통신망에 연결된 여러 자원들을 마치 사용자 혼자서 사용하는 것처럼 지원해 주는 것이다. 특히, 공유 자원인 버스를 통해 시스템 내의 모든 데이터 전송이 이루어지기 때문에 시스템 버스의 성능은 전체 시스템의 성능을 크게 좌우하는 요소로서 시스템 성능을 나타내는 지표로 사용되고 있다.
분산 처리 시스템을 크게 3부분으로 구분하면, 데이터 처리부와 인터페이스 버퍼 및 공유 버스로 구분할 수 있으며, 다수개의 데이터 처리부로부터 전송되거나 수신되는 데이터를 공유 버스를 통해 상호 교환하게 된다. 이때 인터페이스 버퍼는 상기 데이터 처리부와 공유 버스간의 입출력을 제어하므로써 전체 시스템의 원할 한 동작을 제공하는 기능을 한다. 그러나, 종래에는 다수개의 데이터 처리부마다 각각 자신의 인터페이스 버퍼를 따로 구비하고 있었기 때문에, 다수개의 데이터 처리부로부터 하나의 데이터 처리 장치로 데이터를 전송하고자 할 경우에 한꺼번에 공유 버스에 몰리는 현상이 발생될 수 있었다. 이러한 시스템의 장애를 극복하기 위해서, 공유 인터페이스 버퍼를 구비하여 순차적으로 공유 버스를 이용할 수 있도록 한 분산 처리 시스템이 본 발명자에 의해 제안 된 바 있다.
본 발명자에 의해 제시된 종래의 분산 처리 시스템의 전체 구성도를 도 1에 도시하였다. 도 1 을 참조하면, 종래의 분산 처리 시스템은 제 1 다수개의 데이터 처리부(100)와, 제 1 데이터 버스(110), 제 1 제어 버스(120), 제 1 버스 중재부(130), 제 2 다수개의 데이터 처리부(140)와, 제 2 데이터 버스(150), 제 2 제어 버스(160), 제 2 버스 중재부(170), 작업 제어부(180), 포트 중재부(190), 및 공통 인터페이스 버퍼(200)로 구성되어 있다.
공유 버스의 로드(작업량)를 분산시키기 위해 상기 공통 인터페이스 버퍼(200)를 듀얼 포트를 갖는 램으로 구현하여, 각 포트의 입출력 데이터를 실어 나르는 두개의 데이터 버스(110, 150)와, 두개의 버스 중재부(130, 170), 및 두개의 다수 데이터 처리부(100, 140)로 구분지었으며, 이에 따라 두개의 포트가 각각 독립적으로 동작하므로써 버스의 로드를 반절로 줄이게 하였다.
또한, 상기 공통 인터페이스 버퍼(200)는 상기 작업 제어부와 상기 포트 중재부와 상호간에 정보(시스템 요구, 버스 사용권한)등을 상호 교환하면서 버스에 실린 데이터를 인터페이스 버퍼에 저장 시키거나 인터페이스 버퍼에 저장된 데이터를 버스에 실어 전송한다.
여기서, 공통 인터페이스를 이용하여 버스의 로드를 분산시키고자 제작한 종래의 분산 처리 시스템에서의 순차적 작업을 도 2 및 도 3을 참고하여 설명하겠다.
도 2는 환형 큐(circular queue)구조를 갖는 공유 인터페이스 버퍼를 이용한 작업 제어를 설명하기 위한 도면이고, 도 3 은 도 2의 작업 제어가 순차적으로 이루어지는 종래의 작업 제어 장치에서의 엔트리 구조(entry structure)를 도시한 도면이다.
도 2 를 참조하면, 4개의 데이터 처리부(1∼4)는 작업 제어부(180)로 버스 사용 요청 신호를 보내고, 작업 제어부(180)로부터 버스 사용 응답 신호를 받아 버스(110)를 통해 데이터를 전송하여 인터페이스 버퍼에 저장하기도 하고, 인터페이스 버퍼이 저장된 데이터를 버스(110)를 통해 수신 받기도 한다. 인터페이스 버퍼는 환형 큐(circular queue)로 구현되며, 환형 큐(circular queue)에는 데이터 처리부(procosser)가 버스를 통해 연결되어 있고 각 데이터 처리부(processer)는 각각의 헤드 포인터(head pointer)와 테일 포인터(tail pointer)를 가지고 있다. 헤드 포인터(head pointer)는 공용 포인터(public pointer)로 설정되며, 테일 포인터(tail pointer)는 각 처리 장치의 전용 포인터(dedicate pointer)로 설정된다. 그 이유는 헤드 포인터(head pointer)는 수신할 데이터를 읽어 가기 위한 읽기 포인터(read pointer)로서 다른 데이터 처리 장치에서도 사용가능하기 때문이다. 반면에 테일 포인터(tail pointer)는 전송할 데이터를 쓰기 위한 쓰기 포인터(write pointer)로서 각 데이터 처리 장치는 자신 고유의 위치를 가지고 있어야 하기 때문이다.
즉, 상기 공유 인터페이스 버퍼는 헤드 포인터H1 부터 테일 포인터T1 까지의 공간을 제 1 데이터 처리부(1)에 할당하고, 헤드 포인터H2 부터 테일 포인터T2 까지의 공간을 제 2 데이터 처리부(2)에 할당하고, 나머지 처리부도 동일한 공간을 할당받고 있다.
종래의 분산 처리 시스템의 동작을 설명하기 위하여, 일례로 제 1 다수의 데이터 처리부(100) 중 임의의 한 데이터 처리부(이하, 송신 데이터 처리부 라함)가 데이터1000 0111를 제 2 다수의 데이터 처리부(140)중 임의의 한 데이터 처리부(이하, 제 1 수신 데이터 처리부 라함.)로 전달할 경우를 가정하였다.
먼저, 상기 송신 데이터 처리부가 상기 제 1 버스 중재부(130)로 제 1 데이터 버스(120) 이용 요구(request)신호를 보낸다. 상기 제 1 버스 조정부(160)는 현재 제 1 데이터 버스(120)가 유휴 상태(idle state)이면 상기 송신 데이터 처리부로 버스 이용 허락(grant)신호를 보낸다. 그러면, 상기 송신 데이터 처리부는 전달하고자 하는 데이터 1000 0111 를 제 1 데이터 버스(120)의 쓰기 전용 버스에 올림과 동시에 송신 데이터 처리부의 식별자(owner id)와 상기 송신 데이터 처리부의 고유 쓰기 포인터인 테일 포인터 내용(tail pointer content) 및 제 1 수신 데이터 처리부의 식별자(destination id)를 제 1 제어 버스(120)를 통하여 상기 작업 제어부(180)로 전달한다. 상기 작업 제어부(180)는 상기 송신 데이터 처리부의 식별자(owner id)와 상기 테일 포인터 내용(tail pointer content: 예 T2) 및 제 1수신 데이터 처리부의 식별자(destination id)를 하나의 필드로 구성하여 저장한다.
이때, 상기 제 1 버스 조정부(130)는 현재 제 1 데이터 버스(110)가 사용중(busy state)인 상태, 쓰기 전용 버스에 데이터가 올라와 있음을 상기 포트 중재부(190)에게 알린다. 상기 포트 중재부(190)는 상기 제 1 데이터 버스(120)가 연결되어 있는 제 1 포트를 통하여 상기 송신 데이터 처리부로부터의 데이터 1000 0111를 입력받아 상기 테일 포인터 T2가 지정하는 공통 인터페이스 버퍼의 주소에 저장한다.
이어서, 상기 작업 제어부(180)는 상기 저장되어 있던 엔트리의 제 1 수신 데이터 처리부의 식별자(destination id)를 이용하여 수신 데이터 처리부를 결정한 후, 상기 수신 데이터 처리부로 유효한 데이터가 있음을 알리는 제어 신호와 상기 송신 데이터 처리부의 식별자(owner id)와 테일 포인터 내용(tail pointer content)을 출력한다. 동시에, 상기 작업 제어부(180)는 상기 제 2 데이터 버스(150)와 연결된 상기 인터페이스 버퍼(200)의 포트를 사용하도록 상기 포트 조정부(190)에 제어 신호를 출력한다. 상기 제어 신호를 입력 받은 제 1 수신 데이터 처리부는 상기 제 2 버스 중재부(170)로 제 2 데이터 버스(150) 이용 요구(request)신호를 보낸다. 상기 제 2 버스 중재부(170)는 현재 제 2 데이터 버스(150)가 유휴 상태(idle state)이므로 상기 요구 신호를 보낸온 제 1 수신 데이터 처리부로 제 2 데이터 버스(150)를 이용하도록 허락신호(grant)를 보낸다.
이어서, 상기 제 1 수신 데이터 처리부는 상기 작업 제어부(180)로부터 입력받은 송신 데이터 처리부에서 보낸 데이터 1000 0111를 인터페이스 버퍼(200)의 테일 포인터(T2)가 가르키는 주소에서 액세스하는 것이다.
이와 같이, 종래의 작업 제어부(180)에서는 상기 제 1 또는 제 2 데이터 처리부(100, 140)로부터 제어 버스를 통하여 입력되는 송신 데이터 처리부의 식별자(owner id)와 쓰기 주소에 해당하는 테일 포인터에 저장된 내용(tail pointer content) 및 수신 데이터 처리부의 식별자(destination id)를 하나의 필드로 구성하여 엔트리(entry)를 구성한 다음, 엔트리 순서에 따라 상기 송신 데이터 처리부가 전달하고자 하는 데이터를 상기 수신 데이터 처리부가 액세스할 수 있도록 제어한다.
이와 같이 구성된 종래의 작업 테이블을 도 3을 참조하여 설명하면, 작업 테이블은 환형 큐 구조의 메모리로 구현된다. 즉, owner id 와 tail pointer content 및 destination id 를 하나의 필드로 구성하고, 선입 선출(first-in first-out: FIFO) 방식에 따라 상기 필드를 엔트리로 구성하고 순차적으로 입력받고 순차적으로 출력한다. 결국, 종래의 작업 제어 장치를 구비한 분산 처리 시스템에서는 상기 작업 제어부(260)의 작업 테이블에 따라 순차적으로 작업을 제어한다는 것을 알 수 있다.
그런데, 종래의 작업 제어 장치가 갖는 순차성 때문에 전체 시스템의 공동 자원인 버스를 효율적으로 사용하지 못한다는 문제점이 었었다.
예컨데, 도 1 에 도시된 제 1,2 데이터 버스가 모두 사용 가능 할 경우, 도 2 에 도시된 엔트리 1 이 우선 제 1 데이터 버스(110)를 사용하고자 하고, 엔트리 2 도 제 1 데이터 버스(110)를 사용하고자 하고, 엔트리 3 은 제 2 데이터 버스(150)를 사용하고자 할 경우를 가정하여 살펴보고자 한다.
엔트리 1 은 제 1 데이터 버스(110)를 사용하는데 어떠한 제약도 없으므로 작업을 정상적으로 수행할 수 있지만, 엔트리 2는 엔트리 1이 제 1 데이터 버스(110)을 사용하고 있으므로 작업을 수행하지 못하게 된다. 이러한 상황에서 환형 큐 구조를 갖는 작업 제어부(180)는 활동을 멈추고 엔트리 1이 완료될 때가지는 정지하게 된다. 따라서, 엔트리 3이 이용할 수 있는 제 2 데이터 버스(150)는 현재 유휴 상태임에도 불구하고 엔트리 2의 정지로 인해 엔트리 3의 작업을 수행하지 못하는 버스 낭비를 초래하게 된다.
결국, 작업 제어 장치의 기본 목적은 시스템의 각 자원(예: 버스)의 이용비를 높이는데 있는데, 종래의 환형 큐 구조를 갖는 작업 제어 장치에서는 순차적으로 작업을 진행시키므로 인하여 유휴상태를 갖는 버스가 존재함에도 불구하고 이를 이용하지 못하는 문제점이 있었다.
이에, 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 현재 버스의 상태와 데이터 처리 시스템의 버스 요구 정보를 검색하여 엔트리 순서에 상관없이 요구된 버스가 유휴 상태에 있으면 즉각 작업을 수행하는 비순차적 작업 제어 장치 및 방법을 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 장치는 하나의 업무를 분담하여 처리하는 다수개의 데이터 처리부와, 각 데이터 처리부마다 헤드 포인터부터 테일 포인터까지의 버퍼링 공간을 할당하여 제공하는 공유 인터페이스 버퍼, 상기 공유 인터페이스 버퍼의 포트를 중재하기 위한 포트 중재부, 상기 다수개의 데이터 처리수단의 버스 요청에 따라 버스 사용 권한을 부여하는 버스 중재부, 및 상기 데이터 처리부와 포드 중재부 및 버스 중재부와 상호 정보를 교환하면서, 유휴 상태에 있는 버스를 즉각적으로 사용할 수 있도록 랜덤하게 제어하는 작업 제어부를 포함하여 구성되어 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 방법은, 데이터를 송신하고자 하는 발신지 식별자(owner id)와 기설정된 테일 포인터 내용(tail pointer content), 데이터를 수신하고자 하는 목적지 식별자(destination id), 및 요구하고자 하는 버스 식별자(bus id)에 대한 제어 정보를 전송하는 제 1 단계와, 상기 제 1 단계에서 전송된 일련의 제어 정보를 하나의 필드로 구성하여 저장함과 동시에, 상기 제 1 단계에서 전송되는 순서대로 순차적으로 제어 정보를 저장하여 엔트리를 구성하는 제 2 단계, 현재 버스의 상태에 관한 제어 정보(bus infomation)와 상기 제 2 단계의 엔트리 순서대로 버스 식별자(bus id)를 검색하여, 요구된 버스가 유휴 상태일 경우에는 엔트리 순서에 상관없이 즉각적으로 유휴 버스(idle bus)를 할당해주는 제 3 단계, 및 버스를 할당받은 엔트리를 바로 삭제하는 제 4 단계를 포함하여 구성되는 것을 특징으로 한다.
도 1 은 종래의 공유 인터페이스 버퍼를 구비한 분산 처리 시스템의 구성을 개략적으로 도시한 블록도,
도 2 는 도 1의 환형 큐(circular queue)구조를 갖는 공유 인터페이스 버퍼를 이용한 작업 제어를 설명하기 위한 도면,
도 3 은 도 2의 작업 제어가 순차적으로 이루어지는 종래의 작업 제어 장치에서의 엔트리 구조(entry structure)를 도시한 도면,
도 4 는 본 발명에 따라 비순차적 작업 제어를 수행하는 작업 제어 장치를 도시한 블록도이다.
* 도면의 주요부분에 대한 부호의 설명 *
400 : 작업 테이블 410 : 지명 수단(dispatcher)
B1 : 제 1 공동 버스 사용권 B2 : 제 2 공동 버스 사용권
B.Info : 현재 버스 상태
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
본 발명의 분산 처리 시스템은 종래의 분산 처리 시스템의 구성요소들과 비교하여 설명하면, 종래의 다수개의 데이터 처리부(100, 140)나 인터페이스 버퍼(200), 버스 중재부(130,170), 포트 중재부(190)의 기능은 본질적으로 동일하다. 다만, 본 발명의 데이터 처리부(400, 440)에서는 제어 정보에 한하여 사용하고자 하는 버스 식별자(bus id)가 추가되어 작업 제어부(480)로 전송되는 점과, 버스 중재부(430, 470)에서는 현재 버스 상태가 유휴 상태인지, 사용 상태인지에 대한 버스 정보(bus infonation)를 작업 제어부(480)로 전송되는 점이 다를 뿐이다.
이제, 본 발명의 비순차 작업 제어를 담당하는 작업 제어부를 설명하고자 한다.
도 4 는 본 발명에 따라 비순차적 작업 제어를 수행하는 작업 제어 장치를 도시한 블록도로서, 제어 정보를 저장하고 있는 메모리(480-1)와 제어 정보에 따른 요구에 부응하는 버스 자원을 할당해주는 지명기(480-2 : dispatcher)를 포함하여 구성된다.
상기 메모리(480-1)는 상기 각 데이터 처리부로부터 전송되어 오는 제어 정보를 저장하는 버퍼로서, 선입 선출(FIFO) 방식의 환형 큐(cirsular queue)로 구현되어 있다. 도 4에서 보는 바와 같이, 하나의 데이터 처리부로부터 전송되어 오는 일련의 제어 정보 즉, 발신지 식별자(owner id), 테일 포인터 내용(tail pointer id), 목적지 식별자(destination id), 버스 식별자(bus id)를 하나의 필드(이하, 제 i 엔트리 라함)로 하여 들어오는 순서대로 최대 n개 까지 저장할수 있다. 이렇게 만들어진 엔트리들의 묶음을 작업 테이블(job table)이라 명명한다. 상기 작업 테이블의 각 엔트리들의 출력 포트는 독립적으로 상기 지명기(480-2)로 연결되어 있다. 그리고, 상기 지명기(480-2)는 현재의 버스 상태에 관한 정보를 상기 작업 테이블(job table)내의 버스 식별자(bus id)의 내용과 순차적으로 비교하면서, 요구되는 버스가 유효 상태에 있으면, 즉시 작업을 수행하도록 버스를 할당해주는 역할을 한다.
예를 들어, 제 1 엔트리(entry 1)의 버스 식별자(bus id)는 제 1 버스이고, 제 2 엔트리(entry 2)의 버스 식별자(bus id)도 제 1 버스이고, 제 3 엔트리(entry 3)의 버스 식별자(bus id)는 제 2 버스라고 가정하자. 그리고, 현재 제 1 버스와 제 2 버스의 상태가 둘다 유효 상태(idle state)라고 가정하자.
상기 지명기(480-2)는 작업 테이블(480-1)로부터 제 1 엔트리의 버스 식별자(bus id1)와 버스 중재부로부터 제공된 현재 버스 정보(B.info)를 비교하여 유효한 제 1 버스(B1)를 할당해 준다. 즉, 제 1 엔트리의 작업인 테일 포인터(T1)가 상기 인터페이스 버퍼(500)로 전송되어 작업이 수행된다. 계속해서 상기 지명기(480-2)는 작업 테이블(480-1)로부터 제 2 엔트리의 버스 식별자(bus id2)와 버스 중재부로부터 현재 버스 정보(B.info)를 비교하여 제 1 버스(B1)가 이미 할당되어 있기 때문에 버스를 할당할 수 없음을 시스템에 알린다. 계속해서, 상기 지명기(480-2)는 작업 테이블(480-1)로부터 제 3 엔트리의 버스 식별자(bus id3)와 버스 중재부로부터 현재 버스 정보(B.info)를 비교하여 유효한 제 2 버스(B2)를 할당해 준다. 즉, 제 3 엔트리의 작업인 테일 포인터(T2)가 상기 인터페이스 버퍼(500)로 전송되어 작업이 수행된다. 상기 제 1 엔트리 작업과 제 3 엔트리 작업이 수행되고 난 후에는 작업 테이블에서 삭제되고, 제 2 엔트리는 작업 순서를 기다려야 하므로 그대로 남아 있도록 하는 기능이 추가적으로 필요하다.
즉, 작업 테이블에 저장된 선입선출 순서에 구예받지 않고, 현재 유효한 버스를 요구하는 작업부터 수행하는 비순차적 작업 제어로 인해서, 작업 테이블내의 엔트리가 랜덤한 순서로 진행 될수 있기 때문에, 작업 테이블은 압축 기능(compression function)을 갖추어야 한다. 압축 기능이란, 작업이 랜덤한 순서로 수행 됐을 경우, 군데 군데 빠져나간 엔트리의 빈 공간을 하위 엔트리들이 채워주는 기능을 말한다.
이상에서 살펴본 바와 같이, 본 발명은 각각의 데이터 처리 시스템이 요구하는 버스에 대한 제어 정보(bus.id)를 추가하여 버스 대기 행렬(entry)을 구성하고, 만약 요구된 버스가 유효한 상태일 경우에 순서에 상관없이 지명기(dispetcher)를 통해 비순차적으로 버스를 할당해주므로써, 순차적으로 버스를 할당한 종래 시스템에 비해서 버스 사용 효율을 최대 2배까지 높일 수 있는 효과가 있다.

Claims (10)

  1. 하나의 업무를 분담하여 처리하는 다수개의 데이터 처리 수단(400, 440)와;
    상기 다수개의 데이터 처리수단마다 각각의 헤드 포인터(head pointer)부터 테일 포인터(tail pointer)까지의 버퍼링 공간을 할당하여 제공하는 공유 인터페이스 버퍼 수단(500);
    상기 공유 인터페이스 버퍼 수단(500)의 포트(port)를 중재하기 위한 포트 중재 수단(490);
    상기 다수개의 데이터 처리수단의 버스 요청에 따라 버스 사용 권한을 부여하는 버스 중재 수단(430, 470); 및
    상기 데이터 처리 수단(400, 440)과 포드 중재 수단(490) 및 버스 중재 수단(430, 470)와 상호 정보를 교환하면서, 유휴 상태에 있는 버스를 즉각적으로 사용할 수 있도록 랜덤하게 제어하는 작업 제어 수단(480)를 포함하여 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 비순차적 작업 제어 장치.
  2. 제 1 항에 있어서, 상기 다수개의 데이터 처리 수단(400, 440)에 포함된 독립적인 데이터 처리 시스템은 버스를 할당받기 위해서 자신을 나타내는 발신지 식별자(owner id)와, 기설정된 테일 포인터 내용(tail pointer content), 데이터를 수신하고자 하는 목적지 식별자(destination id), 및 요구하고자 하는 버스 식별자(bus id)에 대한 제어 정보를 상기 작업 제어 수단으로 전송하는 것을 특징으로 하는 분산 처리 시스템에서의 비순차적 작업 제어 장치.
  3. 제 1 항에 있어서, 상기 공유 인터페이스 버퍼 수단(500)은 환형 큐(circular queue)방식으로 동작하는 듀얼 포트 메모리(dual port memory)로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 비순차적 작업 제어 장치.
  4. 제 3 항에 있어서, 상기 공유 인터페이스 버퍼 수단(500)의 듀얼 포트 각각에 제 1 데이터 버스 및 제 2 데이터 버스를 연결하여 두개의 공동 버스를 독립적으로 운영하는 상기 버스 중재 수단은 제 1 데이터 버스를 운영하는 제 1 버스 중재 수단(430)과 제 2 데이터 버스를 운영하는 제 2 버스 중재 수단(470)으로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 비순차적 작업 제어 장치.
  5. 제 4 항에 있어서, 상기 제 1 버스 중재 수단(430)은 제 1 데이터 버스가 현재 유휴 상태(idle state)인지, 사용 상태(busy state)인지를 알리는 버스 상태 정보(B.info)를 상기 작업 제어 수단(480)으로 제공하는 것을 특징으로 하는 분산 처리 시스템에서의 비순차적 작업 제어 장치.
  6. 제 4 항에 있어서, 상기 제 2 버스 중재 수단(470)은 제 2 데이터 버스가 현재 유휴 상태(idle state)인지, 사용 상태(busy state)인지를 알리는 버스 상태 정보(B.info)를 상기 작업 제어 수단(480)으로 제공하는 것을 특징으로 하는 분산 처리 시스템에서의 비순차적 작업 제어 장치.
  7. 제 1 항에 있어서, 상기 작업 제어 수단(480)은 상기 각 데이터 처리 시스템으로부터 제공받은 일련의 제어 정보를 저장하는 메모리(480-1)와;
    상기 버스 중재 수단으로부터 제공받은 현재 버스 상태 정보(B.info)와 상기 메모리(480-1)에 저장된 버스 식별자(bus id)를 비교하여, 요구된 버스가 유휴 상태(idle state)일 경우에는 순서에 관계없이 버스를 할당해 주는 지명수단(480-2)을 포함하여 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 비순차적 작업 제어 장치.
  8. 제 7 항에 있어서, 상기 메모리(480-1)는 압축기능(compression)을 갖는 선입 선출(FIFO) 방식의 환형 큐(cirsular queue)로서, 하나의 데이터 처리부로부터 전송되어 오는 일련의 제어 정보 즉, 발신지 식별자(owner id), 테일 포인터 내용(tail pointer id), 목적지 식별자(destination id), 버스 식별자(bus id)를 하나의 엔트리로하여 들어오는 순서대로 최대 n개 까지 저장할수 있는 것을 특징으로 하는 분산 처리 시스템에서의 비순차적 작업 제어 장치.
  9. 제 7 항에 있어서, 상기 지명기(480-2)에는 상기 메모리(480-1)의 행라인 출력 포트들이 독립적으로 연결되어 각 처리 시스템의 제어 정보를 제공하고, 할당하고자 하는 버스가 존재하면 해당하는 작업의 테일 포인터를 상기 공통 인터페이스 버퍼로 제공하는 것을 특징으로 하는 분산 처리 시스템에서의 비순차적 작업 제어 장치.
  10. 데이터를 송신하고자 하는 발신지 식별자(owner id)와 기설정된 테일 포인터 내용(tail pointer content), 데이터를 수신하고자 하는 목적지 식별자(destination id), 및 요구하고자 하는 버스 식별자(bus id)에 대한 제어 정보를 전송하는 제 1 단계와;
    상기 제 1 단계에서 전송된 일련의 제어 정보를 하나의 필드로 구성하여 저장함과 동시에, 상기 제 1 단계에서 전송되는 순서대로 순차적으로 제어 정보를 저장하여 엔트리를 구성하는 제 2 단계;
    현재 버스의 상태에 관한 제어 정보(bus infomation)와 상기 제 2 단계의 엔트리 순서대로 버스 식별자(bus id)를 검색하여, 요구된 버스가 유휴 상태일 경우에는 엔트리 순서에 상관없이 즉각적으로 유휴 버스(idle bus)를 할당해주는 제 3 단계; 및
    버스를 할당받은 엔트리를 바로 삭제하는 제 4 단계를 포함하여 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 비순차적 작업 제어 방법.
KR1019960075563A 1996-12-28 1996-12-28 분산 처리 시스템에서의 비순차적 작업 제어 장치 및 방법 KR19980056297A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960075563A KR19980056297A (ko) 1996-12-28 1996-12-28 분산 처리 시스템에서의 비순차적 작업 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960075563A KR19980056297A (ko) 1996-12-28 1996-12-28 분산 처리 시스템에서의 비순차적 작업 제어 장치 및 방법

Publications (1)

Publication Number Publication Date
KR19980056297A true KR19980056297A (ko) 1998-09-25

Family

ID=66395670

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960075563A KR19980056297A (ko) 1996-12-28 1996-12-28 분산 처리 시스템에서의 비순차적 작업 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR19980056297A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020058688A (ko) * 2000-12-30 2002-07-12 이계안 캔 시스템에서 데이터 통신을 위한 메시지 구성방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020058688A (ko) * 2000-12-30 2002-07-12 이계안 캔 시스템에서 데이터 통신을 위한 메시지 구성방법

Similar Documents

Publication Publication Date Title
US4969120A (en) Data processing system for time shared access to a time slotted bus
EP0451938B1 (en) Multiple cluster signal processor
US20010023462A1 (en) Information processing system
CN113468084B (zh) 一种多模式dma数据传输系统
JPH0844681A (ja) 複数の処理装置により共用される資源の集中管理
JPH0797363B2 (ja) 多重階層レベルマルチプロセツサ装置
JPH01200466A (ja) データ処理システム
EP0384621B1 (en) Data transfer operations between two asynchronous buses
EP0374338A1 (en) Shared intelligent memory for the interconnection of distributed micro processors
US5649209A (en) Bus coupling information processing system for multiple access to system bus
US11372794B2 (en) Data processing apparatus for arbitration of requests and operation method thereof
US6260099B1 (en) Multi-level priority control system and method for managing concurrently pending data transfer requests
US5708784A (en) Dual bus computer architecture utilizing distributed arbitrators and method of using same
EP1187029B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
US6889283B2 (en) Method and system to promote arbitration priority in a buffer queue
KR19980056297A (ko) 분산 처리 시스템에서의 비순차적 작업 제어 장치 및 방법
KR980013132A (ko) 고 처리 능력의 주변 구성 요소 상호 접속 버스를 가진 데이터 처리 및 통신 시스템
US7908421B2 (en) Universal serial bus endpoint context caching
CN109992560B (zh) 一种通信方法及通信系统
CN115269467B (zh) 一种总线仲裁的方法、装置、存储介质及电子设备
KR100215572B1 (ko) 인터페이스 버퍼 제어 방법 및 장치
KR100204494B1 (ko) 분산 처리 시스템에서의 작업 제어 장치 및 그 방법
JP2727514B2 (ja) 転送先id指定回路
JP2000244585A (ja) バスインタフェース回路
WO1994009437A1 (en) Signal handling system with a shared data memory

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application