KR960012686B1 - 통신 시스템용 스테이션 및 그 통신방법 - Google Patents

통신 시스템용 스테이션 및 그 통신방법 Download PDF

Info

Publication number
KR960012686B1
KR960012686B1 KR1019870014589A KR870014589A KR960012686B1 KR 960012686 B1 KR960012686 B1 KR 960012686B1 KR 1019870014589 A KR1019870014589 A KR 1019870014589A KR 870014589 A KR870014589 A KR 870014589A KR 960012686 B1 KR960012686 B1 KR 960012686B1
Authority
KR
South Korea
Prior art keywords
message
packet
type
station
input
Prior art date
Application number
KR1019870014589A
Other languages
English (en)
Other versions
KR880008565A (ko
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 아메리칸 텔리폰 앤드 텔레그라프 캄파니
Publication of KR880008565A publication Critical patent/KR880008565A/ko
Application granted granted Critical
Publication of KR960012686B1 publication Critical patent/KR960012686B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

요약없음

Description

통신 시스템용 스테이션 및 그 통신방법
제 1 도는 본 발명의 실행을 나타낸 다중 프로세서 시스템의 블럭선도.
제 2 도는 제 1 도의 시스템의 논리 내부 프로세서 통신 구조를 블럭선도 형태로 도시한 도면.
제 3 도 내지 제 5 도는 제 1 도의 시스템의 순서구조를 도시한 블럭선도.
제 6 도는 GETP 호출에 응답하여 제 1 도의 시스템의 인터페이스 장치(141)의 작동을 도시한 흐름도.
제 7 도는 WRITEP 호출에 응답하여 제 1 도의 시스템의 인터페이스 장치의 작동의 흐름도.
제 8 도 내지 제11도는 패킷을 보내는데 있어서 제 1 도의 MSBI의 작동의 흐름도.
제12도는 제 1 도의 시스템의 프로세서의 어드레스 공간에 BIC를 버퍼시킨 맵핑을 블럭선도 형대로 도시한 도면.
제13도는 정규 패킷의 구성을 블럭 형태로 도시한 도면.
제14도는 순간(guick) 메세지 패킷의 구성을 블럭 형태로 도시한 도면.
제15도는 제 1 도의 시스템의 버스와 BIC의 블럭선도.
제16도는 제15도의 BIC의 제어 유니트의 전송 유한상태 장치의 상태 다이어그램.
제17도는 제15도의 BIC의 제어유니트의 수신 유한상태 장치의 상태 다이어그램.
제18도는 내지 제20도는 수신 패킷에서 제 1 도의 시스템의 MSBI의 작동을 도시한 흐름도.
제21도는 제 1 도의 시스템중 MSBI의 전송 순간 메세지루틴의 흐름도.
제22도는 제 1 도의 시스템중 MSBI의 처리시간스탬프루틴의 흐름도.
제23도는 READP 호출에 응답하여, 제 1 도의 시스템중의 인터페이스 장치(141)의 작동 흐름도.
제24도는 제 1 도의 시스템의 인터페이스 장치(141)의 인터럽트 처리 루틴의 흐름도.
제25도는 단일 다이어그램을 형성하기 위해 제 3 도 내지 제 5 도의 장치를 도시한 구성도.
* 도면의 주요부분에 대한 부호의 설명
101 : 프로세서110 : 버스 인터페이스 유니트
140 : 사용자 프로세서147 : 버퍼
150 : 버스380 : 포터 구성체
385 : 표시기
본 발명은 내부 프로세서 통신에 관한 것이며, 상기와 같은 통신을 위한 다수의 프로토콜에 관한 것이다.
다중 프로세서 컴퓨터 시스템에서 다수의 프로세서는 시스템 작업을 실행항에 있어서 상호작용을 한다. 상기 상호작용은 정보의 상호교환을 포함하며 따라서, 상위부분의 프로세서 작동은 내부 프로세서 통신을 구비한다. 통신이 이루어지는 속도 및 효율은 시스템의 성능에 직접 영향을 상당히 미친다. 따라서, 한 프로세서에서 다른 프로세서로 통신사항을 전송하고 다시 응답을 받기 위해 필요한 시간이 경과되는 내부 프로세서 장치의 지연정도는 가능한한 짧아야 한다.
기존 프로토콜은 통상적으로 지연성을 최소화 시키지 않았다. 예를들어, 현재 인기가 있는 많은 통신 프로토콜에서 통신이 이루어질 데이타는 다수의 프로토콜층을 통해 전달이 된다. 데이타는 프로토콜의 층을 오르내리면서 여러번 변환된다. 상기 각 변환은 포로토콜의 상부에 부가되어 지연성을 증가시키며 출력을 감소시킨다. 또다른 예를들어, 많은 기존 프로토콜의 전송중에 상실되거나 또는 보전되는 통신을 처리하기 위해 광범위하고 복잡한 에러 회복방법과 통신 인식 절차를 포함한다. 에러 회복방법을 실행하는 비용을 제한하기 위해 프로토콜은 통상 소프트웨어로 처리된다. 소프트웨어 실행의 지연성과 결합된 상기 방법의 복잡성은 출력에 피해를 끼치면서 지연성을 증가시킨다. 인식 철자는 실행하는 비용을 제한하기 위해 프로토콜은 통상적으로 다수의 통신을 인식하기 위한 역할을 하는 단일 인식을 사용하며 다른 통신에서 더 큰 인식방법을 이용한다. 이러한 효과는 다시 인식에서 지연으로 인해 지연성 문제를 보다 가중시킨다.
요약하면 종래 기술에서의 문제는 최소 지연성을 위해 가장 적당한 통신 프로토콜의 부족으로 인한 것이다.
본 발명은 종래 기술에서의 상기 및 다른 문제와 단점을 해결하려고 한다. 본 발명에 따라서 통신 매체와 상기 매체에 통신 가능하게 접속된 다수의 통신국을 갖는 통신 시스템에서, 각 국은 상기 매체에 억세스를 색출하기 위한 2가지 특성이 부과되어 있다.
즉, 통상적인 형태의 메세지를 전송하기 위해 낮은 우선 순위와 인식 형태의 순간메세지 전송을 위한 높은 우선순위가 있다. 상기 장치에서 인식은 상위 우선 순위를 가지며 따라서 지연이 최소화되어 지연성을 적게한다. 예를들면, 인식은 순간 메세지 또는 다른 정규 메세지의 몇몇 다른 신호가 모든 정규 패킷이 전송중에 또는 전송후에 수신국에 의해 송신국으로 돌아갈 것인가 하는 등이다. 그래서 인식은 피기백되기 위해 또다른 통신을 기다릴 필요가 없으며, 단일 통신내로 저장되어 배치(batch)된 다수의 인식도 아니다. 오히려 인식은 가능한 한 빨리 유리하게 올려보내져서 지연성을 최소화한다. 또한 본 발명에 있어서 인식발생 순간 메세지는 버퍼되고 수신되어 임시로 기억되고 정규 메세지와는 별도로 분리된다. 그래서 순간 메세지는 유리하게 억세스되며 순간 메세지가 억세스되기 전의 순간 메세지 이전에 버퍼된(선입선출 버퍼장치에서는 그럴수도 있는) 모든 정규 메세지를 처리할 필요가 없이 도달된 다른 정규메세지와는 별도로 수신 스테이션에서 억세스되어 처리될 수 있다. 이와 같은 방법으로 인식은 다른 통신에 대해 다수 우선 순위가 주어지며 가능한 한 빨리 처리를 위해 이용가능하게 하여 지연성을 최소화시킨다.
인식은 전달된 데이타의 엔드-엔드(end to end) 보정을 확실하게 하는 역할을 한다. 예를들어 인식은 둘다 가능한 한 빠른 인식을 제공하도록 최적화된 2개 별도수단에 의해 제공된다. 메세지가 수신되었을때 에러 상태를 위해 모니터가 되면 수신 버퍼는 오버 플로우를 위해 모니터된다. 어느 한 상태가 발생되면 매체의 제어가 해제되기 전에 송신국에 부정인식(RNACK)신호를 즉시 전송한다.
따라서, 수신국은 RNACK 신호를 전송할 수 있기 전에 매체 억세스를 위해 경쟁할 필요가 있다. 만약 RNACK 신호가 메세지를 수신하는 동안 전송되지 않는 경우, 긍정 또는 부정 인식이 상술된 순간 메세지 장치에 의해 수신된 메세지를 처리하는 동안 제공된다. 순간 메세지 장치는 상술된 방법으로 지연성을 최소화할 뿐만 아니라 메세지가 수신될때의 시간과 처리될때의 시간 사이에 다른 통신의 전송을 위해 한가한 매체를 남겨두어 다른 순간 메세지를 포함한 다른 통신의 지연성을 최소화시킨다.
또한 본 발명에 있어서, 정규 메세지를 위한 입력 및 출력 순서가 제공된다. 상기 순서는 송신 및 수신된 메세지의 순서를 유지하는 간단한 장치로서의 역할을 한다. 사용자 순서는 논리 채널마다 제공된다.
채널당 출력 순서는 수신 버퍼로부터 직접 수신된 패킷에 의해 포함된 데이타를 최종 목적지로 이동가능하게 하며 예를들어 실제 통신 작동에서 대기 또는 간섭이 없이 통신국의 주 메모리에 위치될 수 있으며 다음 한가하게 수신된 데이타를 요구한다. 채널당 출력 순서는 다른 통신과 통신 제어장치의 방해없이 각 통신을 출력 순서에 대한 통신 순서에 비동기적으로 가산이 되게 한다. 상기와 같은 방해을 제거하면 시스템 오버 헤드를 낮추며 따라서 지연성을 감소시킨다.
입력 및 출력 순서의 입력은 패킷을 유지시키지 않을 뿐만 아니라 단지 패킷의 표시만을 할 뿐이다.
특히 패킷에 의해 통신이 되는 사용자 데이타는 어느 한 곳에 예를들어 통신국의 주 메모리에 기억되고 입력은 단지 데이타에 대한 포인터만을 기억한다. 전송을 위한 패킷은 매체상으로 직접 전송이 되는 것으로부터 전송 버퍼에만 조립이 되며, 수신 버퍼에 의해 수신된 패킷은 수신 버퍼로부터 판독되느냐에 따라 즉시 분해된다. 프로토콜층 사이의 변환 및 복제를 피할 수 있어서 결과적으로 지연성이 줄어든다.
복잡한 에러 회복방법을 피할 수 있다. 패리터 에러, 수신 버퍼 오버 플로우 입력 순서층만 상태와 같은 바람직하지 못한 조건에 의해 양향을 받은 것으로 판면된 수신 메세지는 수신국에서 무시되며, 부정인식 순간 메세지 또는 RNACK 신호에 의해 송신국으로 다시 전송되게 한다. 상기 절차의 단순성은 다른 에러 회복방법의 복잡성과 번거러움을 피하게 하며, 그래서 또한 통신 지연성을 감소시틴다. 상기 해결책은 실패 횟수가 적고 재전송 오버 헤드가 작은 경우에 대해서 지연선 견지에서 볼때 아주 적당하다.
청구된 바와 같은 본 발명은 상기 특징을 갖는 시스템에서 통신방법을 위한 그리고 방법에 대한 통신국에 관한 것이다. 본 발명에 있어서, 통신국은 국과 관련된 2개의 특징중 어느 하나에 따른 통신 매체에 대한 억세스 색출을 위한 제 1 장치(예를들어 조정기(arbiter))와 다른국으로부터의 매체상에 수신된 2가지 형태의 메세지(예를들어, 정규 및 순간 메세지 패킷)에 대한 별도의 기억부(예를들어 수신 FIFO 및 순간 메세지 레지스터)를 구비한다.
제 2 장치(예를들어 공신국의 제어 유니트)는 다른 국에 대한 매체상에 한가지 형태의 메세지를 전송하여 제 1 장치에 의해 억세스를 색출하는데 응답한다. 제 3 장치(예를들어 MSBI 유니트의 출력 처리부)는 낮은 우선 순위에 따른 매체 억세스를 제 1 장치가 색출하게 하며, 제 2 장치가 한가지 형태의 메세지(예를들어 정규 메세지)를 전송하게 한다. 제 4 장치(예를들어 MSBI의 처리부)는 제 2 국으로부터 수신된 메세지에 응답하며, 정규 메세지에 대한 기억부(수신 FIFO)에 기억되고 보다 높은 우선 순위에 따라 제 1 장치가 메세지가 억세스를 색출하게 하며 제 2 장치의 다른 형태의 메세지(예를들어, 순간 메세지)를 제 2 장치가 전송하게 한다.
제 5 장치(예를들어 수신국의 제어 유니트에 포함된)는 정규 메세지에 대한 기억부(수신 FIFO)에 기억된 메세지가 제 1 형태의 조건(예를들어 패리티 에러 또는 수신 FIFO 오버 플로우)에 의해 영향을 받았는가를 판단한다. 만약 영향을 받았다면 제 6 장치(예를들어 수신국의 제어 유니트에 포함된)는 메체상에 신호(예를들어 RNACK)를 전송한다. 영향을 받은 메세지는 실제로 무시된다. 제 7 장치(예를들어 MSBI 유니트의 입력 처리부에 포함된)는 신호가 수신되었을때 상기 국에 의해 전송되고 있던 정규 메세지의 전송에 의해 상기 매체상의 신호 수신에 응답한다.
또한 통신국은 수신된 정규 메세지를 위한 기억부(수신 FIFO)로부터 제거된 메세지를 나타내는 정보에 대한 기억부(예를들어 입력 순서)를 포함한다.
장치는 상기 수신된 정규 메세지에 대한 기억부로부터 제거된 베세지가 제 2 형태(예를들어 패리티에러, 기억부 오버플로우 또는 입력 순서충만)의 조건에 의해 영향을 받았는가를 결정한다. 만약 영향을 받은 경우 상기 메세지는 무시되고, 제 6 장치(수신국 제어유니트)가 상기 메세지 수신동안 아무런 신호를 보내지 않은 경우, 제 4 장치(MSBI 입력 처리부)는 부정 인식을 나타내는 순간 메세지가 전송되게 한다. 만약 메세지가 제 2 형태의 조건에 의해 영향을 받지않은 경우 장치(MSBI 입력 처리부)는 메세지 표시정보(입력순서)를 위한 기억부에 메세지를 나타내는 정보를 기억한다. 그리고 제 4 장치는 공정인식을 나타내는 순간 메세지를 전송하게 한다.
부정인식 순간 메세지의 수신은 인식된 메세지의 실제 재전송을 하게 한다. 예를들어 국은 다른 국의 입력 순서까지 연장된 다른 논리의 통신 선로와 각각 관련된 다수의 출력 순서를 포함한다.
각 출력 순서는 선로의 다른쪽 끝에서 입력 순서에 대한 관련 논리 선로를 통한 전송에 대한 정규 패킷을 규정하는 각 입력을 기억한다. 제 2 장치(송신국 제어 유니트)에 의한 정규 메세지 전송은 상기 입력으로부터 형성이 되며 관련된 논리 선로를 식별한다(선로의 포트를 식별하여). 실시예에서 수신된 순간 메세지는 인식된 정규 메세지의 특정 논리 통신 선로를 식별한다.
부정인식의 수신은 인식된 패킷의 입력을 포함하는 출력 순서의 입력(특정 논리 통신 선로에 대응하는)으로부터의 패킷의 일시적 포메이션과 전송의 지연을 초래한다. 긍정인식의 수신은 인식된 패킷을 나타내는 입력의 출력 순서로부터 삭제시킨다.
본 발명에 있어서, 상술된 다수의 국 사이의 통신방법은 다음 단계를 구비한다. 국과 연관된 첫번째 낮은 우선 순위에 따른 매체에 제 1 국이 억세스를 색출하며 억세스가 색출됨에 따라 제 2 국에 대한 매체상에 제 1 형태의 메세지를 전송한다. 제 2국은 제 1형태의 메세지에 대한 기억부에서 전송된 메세지를 수신하며, 상기 메세지에 응답하여 국과 관련된 두번째 높은 우선 순위에 따른 매체에 대한 억세스를 색출하며 제 1국에 대한 매체상에 제 2 형태의 메세지를 전송한다. 제 1 국은 제 2 형태의 메세지에 대한 기억부에서 메세지를 수신한다. 또한 제 2 형태의 메세지가 부정인식 표시메세지인 경우, 인식된 제 1 형태의 메세지는 제 2 국에서 무시되어 제 1 국은 실제로 예를들어 제 2 국으로부터 수신된 또다른 메세지에 응답하여 제 2 국에 제 1 형태의 메세지를 재전송하는 단계를 반복한다.
간단히 설명한 국 및 상술된 바와 같은 방법 및 요건과 청구된 사항은 처음에 주어진 특징에서 많은 장점을 제공한다. 본 발명의 그 이외 장점 및 특징은 도면을 참고로 한 본 발명의 실시예의 다음 설명으로부터 분명해질 것이다.
제 1 도는 본 발명의 실시예를 실행하는 다중프로세서 시스템을 도시한다. 상기 다중 프로세서는 본예의 목적을 위해 동일할 필요는 없지만 고려가 되어야 하는 다수의 프로세서(101)를 구비한다. 프로세서(101)는 버스(150)에 의해 통신가능하게 상호 접속되어 있다. 각 프로세서(101)는 자체의 버스 인터페이스 회로(GIC)(110)에 의해 버스(150)에 접속된다.
설명을 위한 목적으로 제 1 도에는 단지 2개의 프로세서만 도시되어 있지만, 예를들어 10개 이상의 많은 수의 프로세서(101)가 버스(150)에 접속될 수 있으며 본원에 기술된 바와 같이 버스(150)에 인터페이스 시키기 위해 BIC(110)를 이용한다. 프로세서(101)는 예를들어 WE 32100 싱글보드 컴퓨터 또는 모토로라 68000 싱글 보드 컴퓨터 또는 AT T3B15 컴퓨터 또는 BIC(110)와 같은 것을 통해 버스(150)와 통신가능한 다른 프로세서일 수도 있다. 버스(158)는 본 실시예에서, IEEE 저널의 선택된 영역의 통신 제SAC-1권 제 5 도는(1983년 11월호)에서 에스. 알. 아후야의 논문S/NET : 다중 컴퓨터용 고속 인터페이스와 같은 고속 패킷이다.
각 프로세서(101)는 중앙 처리 유니트(CPU)와 주 기억 메모리(도시하지 않았음)을 구비한다. CPU와 기억부는 본원에서 통상 사용자 처리부(140)라 칭해지는 시스템 및 응용 처리부의 실행 및 기억을 한다. 프로세서(101)의 사용자 처리부(140)는 BIC(110)의 버퍼(147)를 통해 다른 프로세서(101)의 사용자 처리부(140)와 통신을 한다. 그러나 처리부(140)는 버퍼(147)에 대한 직접 억세스를 갖지 않으며 그러나 단지 프로세서(101)의 메모리에서 실행된 순서 구성부(145)을 통해 간접적으로 억세스된다.
처리부(140)는 순서 구성부(145)에 직접 억세스되거나 또는 공유 인터페이스 장치(141)를 통해 간접적으로 억세스된다. 예를들면, 장치(141)는 프로세서(101)상에서 장치 구동기로서 구성이 된다. 순서 구성부(145)는 차례로 주 기억부 -BIC 인터페이스(MSBI)(146)에 의해 BIC(110)의 버퍼(147)에 인터페이스 된다. MSBI(146)는 프로세서(101)상의 장치 구동기로서 또는 프로세서(101)로부터 분리된 하드웨어 유니트로서 구성될 수 있다.
상술된 구조는 링크층(10), 패킷층(11) 및 사용자층(12)을 구비하는 3개층의 통신 프로토콜을 형성한다. 버스(150)와 BIC(110)로 형성된 링크 층(10)은 물리적으로 프로세서(101)와 함께 접촉한다. 상기 층은 송신 및 수신 프로세서(101) 사이의 간단한 선입선을 파이프이다. 이는 모든 정보가 다른단에 성공적으로 수신되는가를 보장하지 않는다.
MSBI(146), 순성 구성부(145) 및 인터페이스 장치로 형성된 패킷층은 모든 정보가 송신 프로세서(101)의 메모리로부터 수신 프로세서(101)의 메모리 내로 정확하게 송신되었는가를 보장하지 않는다.
이는 송신 및 수신 사용자 프로세서(140) 사이의 신뢰성 있는 단방향 거짓 통신 채녈을 제공한다. 사용자 프로세서(140)에 의해 형성된 사용자 층(12)은 통신 데이타의 발생자 또는 소비자이다.
패킷 층
순서 구성부(145)는 사용자 처리부(140)는 다른 처리기(101)로부터의 통신사항을 수신하는 수단에 의한 다수의 입력 순서와 사용자 처리부(140)가 다른 프로세서(101)에 통신사항을 송신하는 수단에 의해 다수의 출력 순서(144)를 구비한다. MSBI(146)가 별도의 하드웨어인 경우 순서 구성부(145)는 응답순서(142)를 포함한다. MSBI(146)는 통신사항을 인터페이스 장치(141)에 통신사항을 전송하기 위한 순서(142)를 이용한다.
제 2 도는 순서 구성부(145)에 의해 실행된 논리 내부 처리가 통신 구성부를 도시한다. 각각의 단일 거짓 또는 논리 통신 채널(200)은 다른 프로세서(101)상에 위치된 2개의 사용자 처리부(140) 사이에서 버스(150)에 의해 물리적으로 제공되는 논리적 선로이다. 단일 채널(200)는 송신 프로세서(101)의 출력 순서(144)의해 한 단부에서, 그리고 수신 프로세서(101)의 입력 순서에 의해 다른 단부에서 규정이 된다.
단일 채널(200)는 입력순서(143)와 출력순서(44)를 지정하여 설정된다. 지정된 순서는 채널의 존재 지속 동안 단일 채널(200)로 지정된 상태로 유지된다. 단일 채널(200)이 파괴되었을때 지정된 순서(143,144)는 새로운 채널을 설정하기 위해 이용될 수 있다.
채널당 입력 순서를 가지면 MSBI(146)가 처리에 방해없이 메모리의 사용자 어드레스 공간에 있는 최종 목적지 버퍼에 BIC(110)로부터 직접 입력 데이타를 이동시키게 한다. 채널당 출력 순서를 가지면 다른 처리부(140) 또는 MSBI(146)와 방해없이 각 사용자 처리부(140)가 출력에 작업을 비동기적으로 부가시키게 한다. 개별 순서에서 고정된 순서로 관련 입력을 그룹으로 만들어 송신 및 수신 처리부 사이의 속도 부정합은 송신 MSBI(146)가 입력순서충만 또는 수신 버퍼 오버플로우 표시를 수신할때 특정 출력 순서에서 모든 나머지 출력으로부터 전송을 지연시켜 쉽게 처리될 수 있다(다음에 상세히 설명함) 2개의 처리부(140) 사이의 이중 채널(투웨이 내부 프로세 통신 링크)(201)는 2개의 반대방향 단일 채널(200)을 구빈한다. 각 이중 채널은 이중 채널의 부재 단일 채널(200)의 입력 수단(143)와 출력 순서(144)을 구비하는 포트(202)에서 프로세서(101)에 단말된다.
순서 구성부(145)는 제 3 도 내지 5도에 상세히 도시되어 있다. 각 포트(202)는 포트 구성부(380)와 관련 되어 있다. 포트 구성부(380)는 관련 포트(202)의 출력 순서(144)의 헤더(340)를 표시하는 출력 순서 포인터(381)과 관련 포트(202)의 입력 순서(143)의 헤더(341)를 표시하는 입력 순서 포인터(382)를 포함한다. 입력부(381,382)는 포트(202)를 규정한다.
순서 구성부(145)는 부트 스트랩 시간에서 시스템에 의해 만들어진다. 그러나 사용자 비동기성 채널의 입력 및 출력 순서는 포트가 실제 채널에 활당될때 활당되어 단지 링트된다. 포트 구성부(380)는 또한 지적된 출력 순서(144)내에 로드될 다음 패킷의 토글 비트의 값을 구분하는 출력 순서 토글(383)과 포인터(382)에 의해 표시된 입력순서(143)내에 로드될 다음 수신된 패킷의 토글 비트의 값을 규정하는 입력순서토글(384)을 포함한다. 토글(383,384)은 사용자 비동기 채널(201)과 커널(kernel) 비동기를 위한 복수 비트와 커널 비동기 채널(201)을 구비하며 하나의 비트는 각 프로세서(101)용이다.
토글(383,384) 포트(202)와 관련된 단일 채널(200)에 대해 데이타 플로링의 완전성을 유지하기 위해 사용된다. 단일 채널(200)을 통해 전송된 패킷의 토글비트의 값은 변경된다. 만약 연속적으로 수신된 패킷의 토글 비트값이 변경되지 않는 경우 전송동안 인식 패킷의 손실과 같은 에러 표시이다.
포트 구성부(380)는 또한 포트(202)가 관련된 채널(201)의 형태를 구별하며 그 커널동기 또는 커널 비동기, 사용자 비동기를 구분하는 채널형 표시기(385)이다. 구성부(380)는 또한 관련 이중 채널의 다른 단부에서 포트를 식별하는 다른 포터 ID(386)을 포함한다. 만약 표시기(385)가 관련 채널(201)을 사용자 비동기로 확인하는 경우 다른 포트 ID(386)는 다른 포트의 ID를 유지하여 이를 직접 확인한다.
만약 표시가 (385)가 관련 채널이 주요 채널로 확인하는 경우, 다른 포트 ID(386)는 각 프로세서(101)상의 다른 포트를 표시하는 어레이(도시하지 않았음)를 지적하여 간접적으로 다른 포트를 확인한다. 구성부(380)는 또한 채널에 활당된 그리고 또다른 포트(202)에 접속된 또는 차단된 즉 목적지 프로세서가 서비스 될 수 없는 또는 한가한 즉 사용되지 않는 또는 좀비(Zombie)상태등의 관련 포트(202)의 상태를 나타내는 상태 표시기(387)를 포함한다. 좀비 포인트는 자유 상태가 유구되는 포트이지만, 포트는 관련 출력 순서(144)가 비어있지 않기 때문에 자유스러운 상태가 될 수 있다.
연관 출력순서(144)는 항복 301 내지 306을 구비하는 출력순서 제어 구조부(300)이다. 커널 동기 출력순서 포인터(301)는 커널 동기 채널을 위한 사용자 처리부(140)의 시스템 주요 처리부를 작동시켜 사용되는 포트(202)의 출력순서(144)의 헤더(340)를 표시한다. 커널 동기 채널은 프로세서(101)의 작동 시스템의 커널 사이에 인터페이스와 같은 서브루틴 호출을 자원한다. 커널이 다른 프로세서에 커널 동기 요청을 발생하면, 커널은 서브루틴 및 리턴과 같이 그 응답을 기다려야만 한다. 커널은 하나가 계류중인 동안 또다른 커널동기 요철을 발생할 수 없다. 그러나 커널은 응답을 기다리는 동안 수신하는 어떤 커널동기 요청에 대한 응답을 발생할 수 있다. 프로세서는 계류중인 요청에 응답이 될때까지 새로운 커널동기 요청을 발생할 수 없기 때문에 단일 커널동기 이중 채널(201)만이 있고 따라서, 각 프로세서(101)상에 하나의 커널동기 포트(202)만 있다. 같은 이유로 입력 순서충만 조건은 커널동기 채널(201)에서 발생될 없다.
커널동기 채널(201) 입력순서(143) 및 출력순서(144)는 시스템에서 각 프로세서(101)에 대해 이용가능한 하나의 데이타 입력 순서와의 각각 활당된다. 이에 프로세서(101)가 커널동기 인식을 기다리고 있는 동안 커널동기 요청을 수신할 수 있게 한다.
출력순서 제어 구성부(300)에 있어서, 제 1 출력 포인터(302)는 포트(202)의 출력순서(144)의 링크된 리스트상에서 제 1 출력순서(144)를 표시한다. 사용되지 않은 출력순서(144)는 어떤 포트(202)의 일부가 아니다.
그래서 출력 순서의 링크된 리스트상에 있지 않다.
커널동기 이외의 포트(202)는 커널동기로 사용이 되며, 사용자 동기 이중 채널(201)로 사용된다. 커널 동기채널(201)은 프로세서(101)의 작동 시스템 커널 사이에서 사용자층 인식을 요청하지 않는 인터페이스와 같은 메세지 통과를 지원한다. 이들 처리작동 시스템은 즉시 응답을 기다릴려고 하지 않거나 또는 아주 긴 서비스 시간을 갖는 서비스를 제공한다. 사용자 동기 채널(201)은 다른 프로세서에 위치된 사용자 처리부 부분 사이의 채널이다.
전송 FIFO 공백(SFE) 시간 종료 표시기(303)는 BIC(110)로부터의 패킷의 전송이 생길 수 있는 최대 시간주기를 구분하며, 인식시간 종료 표시기(304)는 수신 프로세서(101)로부터의 패킷 수신 인식에 대한 시간의 최대 주기를 구분한다.
작업 표시기(305)는 일반적인 처리가 실행될 것인가를 MSBI(146)에 표시하며 파리미터 표시기(306)는 처리되는 파라미터를 구분한다. 출력 계류 표시기(307)는 출력순서(144)가 처리될 입력순서를 갖는가를 표시한다. 구성부(300)는 특정 실행에 의해 요구되는 바와 같이 다른 입력순서를 포함한다.
각 출력순서(144)는 전체 정보(모든 데이타 입력순서(144)에 대해 공통인 정보)를 항복 311 내지 316과 318 내지 319를 구비하는 헤더(340)를 포함한다. 다음 출력순서 포인터(311)는 링크된 리스트에서 다음 출력순서의 헤더(340)에 대해 표시한다.
상기 포인터는 상기 순서(144)가 일반 출력순서 링크 리스트상에 없기 때문에 커널동기 출력 순서에 대해 커널상태로 한다. 스킵 플래그(312)는 MSBI(146)에 의해 조정되며 MSBI(146)가 상기 출력 순서를 스킵 처리하여야 하는가를 표시한다. 처리대기 플래그(313)는 어떤 처리가 출력순서(144)상에서 대기하고 있는가(슬리핑)를 표시한다. 입력 표시기(314)의 수는 상기 순서상에 존재하는 데이타 입력의 수를 표시하며 로드 포인터(315)는 출력 패킷으로 채우는데 다음 데이타 입력(317)을 표시한다. 언로드 포인터(316)는 전송될 다음 데이타 입력(317)을 표시한다. 포기 플래그(aborted flag)(318)는 작동 시스템 커널에 의해 주기적인 검색이 되며 상기 순서(144)와 관련된 채널(201)은, 커널사용자 처리부가 상기 순서(144)에서 슬리핑(sleeping) 상태인 동안 포기될 것인가를 표시한다. 활당해제 기능은 순서(144)에 활당된 공동 메모리를 활당을 해제할때 사용될 메모리 활당해제 기능을 구분 하는 임의의 표시기이다. 이는 만약 순서(144)가 인터페이스 장치(141)의 개별 메모리로부터 활당된 메모리를 갖는 경우 널 상태로 된다. 헤더는 특정 실행에 의해 요구되는 바와 같이 다시 부가적인 입력을 포함한다.
출력순서(144)의 각 데이타 입력(317)은 또다른 프로세서(101)에 전송되 패킷을 표시하며 규정한다. 데이타 입력순서(317)는 다중 워드 입력이다. 패킷 제어 워드(PCW)(320)는 토글 비트 필드(331), 패킷 데이타 전송 BIC ID 필드(333)를 포함하는 메모리에서 버퍼 사이즈를 구별하는 버퍼 크기 필드(332)와 출력 순서(144)에서 공백 상태인 필드(334)를 구비한다(패킷에서 필드(334)는 순간 메세지 순서번호를 포함한다). 버퍼 어드레스워드(321)는 버퍼의 개시 어드레스를 구별한다. 목적지 포트 ID 워드(322)는 목적지 프로세서(101)상에 목적지 포트(202)의 ID를 규정한다. 그리고 BIC 제어 위드(323)는 특히 목적지 프로세서(101)를 규정하는 BIC(110)에 대한 제어 워드이다. 예를들어, 엔트리(317)는 또한 4개의 사용자 제어 워드(324내지 327)을 포함하며 그중 하나는 패킷 형태를 규정하기 위해 플래그 필드로서 작동 시스템 커널에 의해 사용되고 3개는 사용자 정의에 의해 사용된다.
데이타 입력순서(317)는 서로에 대해 그리고 헤더(340)에 대해 물리적으로 연속적인 필요로는 없다.
예를들어 데이타 입력순서(317)는 원형 링크 리스트로서 실행이 된다. 상기의 경우 헤더(340)는 제 1 입력순서(317)에 대한 포인터를 포함하며, 각 입력순서(317)는 링크된 리스트상에서 다음 입력(317)에 대한 포인터를 포함한다.
각 입력순서(143)는 전체 정보를 갖는 항복 348 내지 353과 356 내지 358을 구비하는 헤더(341)를 포함한다. 입력순서충만 플래그(348)은 순서가 충만된 것으로 인정할 것인가를 표시한다. 로우마트(349)는 충만된 순서가 더이상 충만되지 않은 것으로 간주되기 전에 여유있는 상태가 되어야 한다. 처리 대기 플래그(351)는 처리부(40)가 상기 입력순서(143)상에서 대기하고 있는가를 표시한다. 입력순서(351)의 수는 순서(143)상에 존재하는 데이타 입력 순서의 수를 표시한다. 로드 포인터(352)는 입력 패킷으로 채워지는데 이용가능한 다음 데이타 입력순서(353)를 표시한다.
언로드 포인터(356)는 사용자(140)에 돌아오은 최종 데이타 입력순서(354)를 표시한다. 포기 플래그(356)은 출력순서(144)의 포기 플래그(318)의 입력순서등 가치를 구분한다. 활당 플래그(357)는 순서(143)에 할당된 메모리가 인터페이스 장치(141)의 개별공간으로부터의 메모리 인가 또는 작동 시스템 커널에 의해 활당된 공공 메모리인가를 구별한다. 순서형태 표시기(358)는 얼마나 많은 데이타가 순서(143)로부터 벗어나있는가를 구분하며 즉 인터럽트에 응답하여 기능 호출에 의한 동기상태인가 또는 비동기 상태인가 사용자 처리부(140)에 의해 직접 벗어나는가를 구분한다. 헤더는 마찬가지로 부가적인 입력순서를 포함한다. 데이타 입력순서(354)는 다중 워드 입력순서이다. 각 데이타 입력순서(254)는 또다른 프로세서로부터 수신된 패킷을 나타낸다. 데이타 입력순서(354)는 수신된 패킷으로부터 얻어진 패킷 제어 워드(320)와 패킷을 통해 데이타 기억되는 버퍼의 개시의 메모리에서 어드레스를 규정하는 버퍼 어드레스 워드(355)를 구비한다. 데이타 입력순서(354)는 예를들어 수신된 패킷으로부터 얻어진 4개의 사용자 제어 워드 324 내지 327을 포함한다.
출력순서 데이타 입력순서(317)의 경우에서와 같이 입력순서(354)는 물리적으로 연속일 필요는 없지만, 원형 링크 리스트로서 실행될 수 있다. 상기의 경우, 헤더(341)는 또한 순서의 제 1 입력순서에 대한 포인터를 포함하며 각 입력순서(354)는 링크된 리스트상에서 다음 입력순서(354)에 대한 포인터를 포함한다.
응답순서는 채워질 다음 응답 입력순서(362)에 대해 표시하는 로드 포인터(360)와 언로드된 최종 응답 입력순서(362)에 대한 것을 표시하는 언로드 포인터(361)를 포함한다. 응답 입력순서(362)는 단일 워드 입력이다. 래그 필드(370)는 입력순서의 종류 즉 입력순서에 관계되는 것인지 또는 출력순서에 관계되는 것인지를 확인하여 데이타 필드(371)가 포함하는 데이타의 종류를 구별한다. 다시 한번 응답 입력순서(362)는 헤드(343)와 또는 서로 연속적일 필요는 없다.
제 6 도 및 7도는 또다른 프로세서(101)에 패킷을 전송하는데 있어서 인터페이스 장치(141)의 동작을 흐름도로 도시하였으며 이에 의해 구성부(145)의 출력 순서의 사용예를 사용한다.
또다른 프로세서(101)에 패킷을 전송하려고 하는 사용 처리부(140)는 출력순서(144)의 사용가능한 데이타 입력순서(317)를 얻기 위해 단계(400)에서 GETP 호출을 통해 먼저 장치(141)를 호출한다. 호출의 일부로서 호출 처리부(140)는 전송되는 패킷을 원하는 포트(202)를 구별한다.
호출에 응답하여 장치(141)는 단계(401)에서 구별된 전송 포트(202)의 로드 포인터(315)를 얻는다.
장치(141)는 출력순서 포인터(381)를 얻기 위해 구별된 전송 포트(202)의 포트 구성부(380)를 억세스하고 다음 로드 포인터(315)를 얻기 위해 포인터(381)에 의해 지적된 출력순서(144)의 헤더 억세스에 의해 상기와 같이 이루어진다. 다음 인터페이스 장치(141)는 상기 순서의 로드 포인터(3,5)와 언로드 포인터(316)를 비교하여 단계(402)에서 공백 데이타 입력순서(317)가 상기 출력순서에서 이용가능한가를 검사한다. 만약 이들이 같지않은 경우 입력순서(317)는 이용이 가능하며 장치(141)는 단계(409)에서 호출 사용자 처리부(140)로 로드 포인터(315)를 복귀시킨다.
만약 로드 포인터(315)와 언로드 포인터(316)이 같은 경우, 출력순서(144)는 충만된 상태이다. 그래서 장치(141)는 처리부(140)가 단계(403)에 상기 순서상에 대기하고 있다는 것을 표시하기 위해 처리대기 플래그(313)를 설정한다. 다음 장치(141)는 단계(402)에서의 검색이후 변경이 되었는가를 단계(404)에서 결정하기 위해 언로드 포인터(316)의 값을 검사한다. 변화는 데이타 입력순서(317)가 자유로운 상태를 표시하며, 따라서 장치(141)는 단계(405)에서 처리대기 플래그(313)를 제거하고 단계(401)로 복귀시킨다.
만약 언로드된 포인터(316)의 값이 변경되었을 경우 출력순서(144)는 충만된 상태로 유지된다. 그래서 장치(141)는 처리부(140)를 종래 UNIX 시스템방법으로 단계(406)에서 상기 출력순서(144)상에 슬리프시킨다. 처리부를 슬리프시키는데 관련된 작동은 처리부가 슬리프된 때의 프로세서 상태를 기억하며, 상기 출력순서의 어드레스와 관련된 슬리핑 처리의 리스트에 처리부의 ID를 부가시키는 것을 포함한다.
다음 인터페이스 장치(141)는 다른 처리부(140)로부터의 다른 호출을 처리하는데 응답하는 것과 같이 단계(404)에서 다른 작동과 연속이 된다.
패킷 전송이 처리대기 플래그(313)가 셋트된 출력순서(144)로부터의 데이타 입력(317)을 MSBI(146)가 제거할때, MSBI(146)는 인터럽트를 발생한다(제11도의 단계 626 내지 629를 참조).
상기 인터럽트는 인터페이스 장치(141)에 의해 수신되며 제24도에 도시된 방법으로 처리되고 다음에서 논의하기로 한다. 처리의 일부로서 슬리핑 처리는 다시 시작된다. 슬리핑 처리의 실행개시 및 개개에 포함된 사항은 처리부가 슬리프로 부가되었을때의 상태였던 프로세서 상태의 회복을 포함한다. 상기 작용은 단계(408)에서 인터페이스 장치(141)의 실행을 재재하며 장치(141)는 데이타 입력순서(317)에 대한 사용가능성을 다시 체크하기 위해 단계(401)로 돌아간다.
인터페이스 장치(141)가 단계(409)에서 처리부(140)를 호출하기 위해 출력순서 로드 포인터(315)로 복귀될때 처리부(140)를 BIC 제어 워드(323)와 사용자 제어 워드(324 내지 327)로 채워진다. 사용자 동기 채널의 워드(320,322,323)의 필드(333)와 커널동기 또는 커널 비동기 채널의 워드(320)의 필드(333)는 시간종료 출력순서(144)가 활당되었을때 채워질 것이다.
만약 워드(321)는 표시된 디폴트 버퍼를 사용하려고 하지않는 경우, 처리부(140)는 또다른 워드(321)로 지적된 버퍼에 전송되려고 하는 데이타를 기억한다. 처리부(140)는 다음 채워진 데이타 입력순서(317) 전송을 요청한다. WRITEP 호출을 동반하는 파리미터는 모든 형태의 채널에 대한 목적지 포트 ID와 커널 채널을 위한 목적지 BICID를 포함한다.
상기 호출에 응답하여 장치(141)는 단계(501)에서 목적지 프로세서(101)가 내부 프로세서 통신 목적으로 활성화되어야 하는 것을 간주한다. 장치(141)는 단계(500)에서 호출에 의해 규정된 포트(202)의 채널이 사용자 또는 커널 채널인가를 결정하기 위해 전송 포트(202)의 포트 구성부(380)의 입력순서(385)를 억세스하여 상기와 같이한다. 만약 채널(201)이 사용자 채널인 경우 장치(141)는 포트(202)가 활당될 것인지 또는 접속될 것인가를 판단하기 위해 포트 구성부(380)의 상태 표시기(387)를 억세스한다. 만약 그러한 경우 목적지는 활성화되어야 하는 것으로 간주한다.
만약 채널(201)이 커널 포트인 경우 장치(141)는 목적지 포트(202)가 목적지 프로세서(101)를 내부에서 식별될 것인가를 결정하기 위해 포트 구성부(380)의 입력순서(386)에 의해 지적된 어레이를 억세스한다.
만약 목적지 포트(202)가 확인되지 않는 경우(예를들어 상기를 위해 주어진 값이 널 상태인 경우) 목적지 프로세서(101)는 비활성화되는 것으로 간주한다.
만약 목적지가 단계(501)에서 비활성화되는 것으로 판단된 경우 장치(141)는 단계(507)에서 이를 알리기 위해 사용자 처리부(140)를 요청하는 것으로 복귀한다.
만약 목적지가 활성화된 경우 장치(141)는 단계(502)에서 전송 포트(202)의 출력순서(144)의 이용가능한 데이타 입력순서를 억세스한다. 장치(141)는 출력순서(144)가 전송 포트(202)에 대응하는가를 판단하기 위해 전송 포트(202)의 포트 구성부(380)의 출력순서 포인터(381)를 억세스하고 그다음 다음 이용가능한 데이타 입력순서(317)를 찾기위해 식별된 출력순서(144)의 로드 포인터(315)를 억세스하여 다음 상기 입력순서(317)를 억세스한다.
단계(503)에서 장치(141)는 억세스된 데이타 입력순서(317)의 필드(331)에 있는 토글 비트값을 셋트한다. 장치(141)는 전송 포트(202)의 포트 구성부(380)의 입력순서(383)로부터 적당한 토글 비트값을 얻으면 다음 입력순서(383)에서 상기 토글 비트의 값을 변경시킨다.
단계(504)에서 장치(141)는 억세스된 데이타 입력순서(317)를 완성한다. 장치(141)는 예를들어 워드(321)상에서 어드레스 번역 기능을 실행한다. 커널 채널 출력순서(317)에 대해서 장치(141)는 또한 단계(501)에서 결정된 목적지 포트(302) ID를 워드(322)로 기억하며 단계(500)에서 수신된 목적지 프로세서(101)의 GIC(110)의 ID를 워드(323)로 기억한다.
장치(141)는 워드(323)의 비트를 나타내는 순간 메세지를 셋트하지 않는다.
데이타 입력(317)이 완성되고, 장치(141)는 출력순서(144)의 로드 포인터(315)가 스텝(505)에서 다음의 비어있는 데이타 엔트리(317)로 포인트되게 진행된다. 다음에 장치(141)는 출력순서 제어 구성부(300)의 출력의 출력 지연 플랙(307)을 세팅함으로, 스텝(506)에서, 출력순서(144)를 처리하기 위해 MSBI(146)을 트리거한다. 장치(141)는 스텝(507)에서 상기 동작의 완성을 알려주기 위해 유저 처리기(140)에 질의한다.
제 8 도 내지 11도는 다른 프로세서(101)에 패킷을 전송하기 위한 MSBI(146)의 동작을 플로우챠트로 나타내며, 출력순서(144) 및 순서 구성부의 응답순서(142)의 사용을 나타낸다.
제 1 도의 시스템이 스텝(597)에서 턴 온될때, MSBI(146)는 출력순서 제어 구성부(300)의 receive FIFO mot empty 지시기 및 출력 지연 플랙(307)를 모니터하기 시작한다.
만약 스텝(598)에서 수신 FIFO가 비어있지 않으면, 스텝(600)에서, MSBI 146는 수신된 패킷의 처리를 행한다. 수신된 패킷 처리는 제18 내지 20도에서 플로우챠트로 도시되어 있으며, 다음에 상세히 설명하기로 한다. 만약 수신 FIFO가 비어있으며, MSBI 146은 스텝(599)에서 플랙(307)이 세트되는가를 체크한다. 만약 플랙(307)이 세트되지 않거나, 수신된 패킷 처리를 처리하면, MSBI 146은 스텝(598)으로 궤환한다.
스텝(599)에서 출력 지연 플랙(307)이 세트되는가에 응답하여, MSBI(146)는 스텝(601)에서 전송되는 출력순서 데이타 입력(317)을 조사하기 시작한다. MSBI(146)는 구성부(300)의 포인터(301) 및 (302)를 사용하며, 다음의 출력순서 포인터(311)를 찾으며 출력순서(144)를 처리한다. MSBI(146)는 출력순서(144)의 입력을 검사하여 상기 순서(144)를 스킵하는가를 결정한다. 세트 스킵 플랙(312)는 관련 채널(201)의 다른 종단에서 포트(202)의 입력순서가 채워져서 패킷을 수신할 준비가 되어 있지 않는가를 나타낸다. 따라서, 스켑(602)에서, 상기 출력순서(144)는 전송가능 데이타 입력(317)를 가지지 않는 것으로 고려된다. 이 경우, MSBI(146)는 스텝(601)으로 가서 스텝(603)에서 제시된 바와 같이, 다른 출력순서(144)를 찾는다.
만약, 스킵 플랙(312)이 세트되지 않으면, MSBI(146)는 포인터(315) 및 (316)를 비교하여 동일 여부를 정한다. 만약 동일하면, 출력순서(144)는 비게되어, 전송되는 데이타 입력(317)은 없게된다.
따라서, 스텝(602)에서 전송가능 데이타가 없으면, MSBI(146)가 스텝(601)으로 귀환하여 스팁(603)에서 제시한 바와 같이, 다른 출력순서(144)를 찾는다.
포인터(315) 및 (316)가 동일하지 않으면, 출력순서(144)는 스텝(602)에서 최소한 하나의 전송가는 데이타 입력(317)을 가지며, MSBI(146)는 상기 입력에 의해 나타나는 패킷을 기착지에 전송하기 위해 언로드 포인터(316)에 의해 포인트되는 데이타 입력(317)를 억세스한다.
패킷을 전송한 후에, MSBI(146)는 스팁((601)으로 가서, 다음의 데이타 입력(317)이 전송하며, 모든 순서(144)가 전송될 때까지 처리를 반복하기 위해 출력순서(144)를 조사한다.
MSBI(146)는 커널 동기 채널의 출력순서(144)와 함께 출력순서 처리를 시작한다. 스텝(601)에서, MSBI(146)는 출력순서 제어 구성부(300)의 입력(301)을 초기에 억세스하여 커널동기 채널의 출력순서(144)를 찾는다. 커닐 동기 채널의 출력순서(144)를 처리한 후에, MSBI(146)는 구성부(300)로 귀환하여, 출력순서의 링크 리스트상의 제 1 출력순서(144)를 찾는다. 다음에 MSBI(146)는 상기 출력순서를 억세스하며, 다음과 같이 처리한다. 그러나, 링크된 리스트상의 출력순사(144)로부터, MSBI(146)는 스텝(603)에서 출력순서 제어 구성부(300)로는 가지않고 출력순서의 포인터(311)를 사용하여 링크된 리스트 상의 다음의 출력순서(144)를 찾는다. MSBI(146)는 상기 링크된 리스트상에 각각의 출력순서(144)를 처리한다.
링크된 리스트상의 최종 출력순서(144)의 다음의 출력순서 포인터(311)는 무효 입력을 가진다. MSBI(146)가 스텝(603)에서 상기 무효 입력(311)을 만나면, 링크된 리스트의 종단에 도달하는 표식이 되어 모든 전송가능 데이타 입력(317)를 전송한다. 상기 동작이 완성되고, MSBI(146)는 스텝(598)에서 새로운 동작을 체크한다.
MSBI(146)에 의해 패킷을 수신한 것과 마찬가지로, MSBI(146)에 의해 패킷을 전송하는 것은 MSBI(146)에 의해 BIC(110)의 버퍼 (147)와 교신하는 것을 포함한다. 따라서, 패킷의 전송에 포함되어 있는 스텝을 논의하기 전에 제12도에 도시된 바와 같이, 버퍼(147) 및 인터페이스를 MSBI(146)로 고려한다.
버퍼(147)는 다른 처리기(101) 및 EOP레지스터(917)에 전송되는 패킷을 일시적으로 홀딩하기 위한 FIFO(921)를 전송하며, 상기 레지스터는 부분적으로 전송 FIFO(921)을 확장시키며, 상기 어드레스는 패킷의 마지막 워드를 수록하며, 일시적인 홀딩 패킷에 대한 수신된 FIFO(23)는 다른 처리기(101)로부터 수신하며, 일시적인 홀딩 수신 패킷에 대한 신속 메세지 레지스터(918)를 다른 처리기(101)로부터 수신하며, BIC 제어 레지스터(913)는 기착지 및 패킷의 타입을 특정지우기 위해 사용되며, 복수의 단일-비트 지시기를 구비하는 상태 레지스터(916)는 BIC(110) 및 FIFO 또는 신속 메세지 레지스터로 판독되는 마지막 패킷의 상태를 MSBI(146)에 공급하기 위해 사용된다.
FIFO 및 레지스터는 프로세서(101)의 메모리 어드레스 공간(901)내에 표시된다. 제12도에 표시된 바와같이, 어드레스(J)의 수록은 전송 FIFO(921)의 수록이 되게 한다. 어드레스(T)의 판독은 수신 FIFO(923)의 판독이 되게 한다. 어드레스(K)의 수록은 EOP 레지스터(917)의 수록이 되게 한다. 어드레스(K)의 판독은 신속 메시지 레지스터(918)의 판독이 되게 한다. 어드레스(L)의 수록은 제어 레지스터(913)의 수록이 되게 한다. 어드레스(M)의 판독은 상태 레지스터(916)의 판독이 되게 한다. 상술된 어드레스는 메모리 스펙 트럼내에 인접 어드레스일 필요는 없다.
제 8 도의 스텝(602)에서, 출력순서(144)를 전송하기 위해 데이타 입력(317)을 찾을때, 제 9 도의 스텝(608)에서 MSBI(146)는 BIC(110)의 전송 FIFO(921)가 비어있는가를 체크한다. MSBI(146)는 상태 레지스터(916)를 판독하고 SFE 비트 상태를 검사하므로 결정된다.
전송 FIFO(921)가 비어있지 않으면, MSBI(146)는 츌력순서 제어 구성부(300)의 표시기(303)를 억세스 하여 스텝(609)에서 SFE 타임아웃 간격 주기를 얻는다. MSBI(146)는 스텝(610)에서 상태 레지스터(916)의 SFE 비트를 계속 체크하며, 반면에, SFE 타임아웃 간격을 타이밍한다. 만약, 전송 FIFO(921)가 비어 있기 전에 간격이 타임아웃되며, BIC(110)에 문제점이 있는 것을 나타낸다. 따라서 MSBI(146)는 응답순서(142)를 통해 문제점의 인터페이스 장치(141)를 인식한다. 스텝(604)에서, MSBI는 응답순서(142)에 응답하여 로드 포인터(360)에 의해 포인트되는 응답 입력을 억세스하여 택 필드(370)를 세트하여 에러 상태를 확인하며, 데이타 필드(371)에 에러 상태에 의해 영향을 받는 순서(144)를 기억한다. 다음에, MSBI(146)는 로드 포인터(360)로 진행되어 스텝(605)에서, 다음의 자유 응답 입력(362)을 포인트하여 스텝(606)에서, 처리기(101)의 장치(141)에 인터럽트를 전송한다. 따라서, MSBI(146)는 스텝(640)에서 비동작 상태로 가며, 이때, 동작 플랙(305)은 인터페이스 장치(141)에 의해 세트되며, MSBI(146)는 변수(306)에 의해 정해지는 동작을 이행한다. 상기 동작은 스텝(598)으로 귀환한다.
장치(141)는 제24도에 도시된 바와 같은 인터럽트에 응답한다.
만약, 전송 FIFO(921)가 스텝(608)에서 비어있거나, 스텝(610)에서 SFE 타임아웃 간격 타임아웃 전에 비게되면, MSBI(146)는 전송되는 데이타 입력(317)의 BIC 제어 워드(323)를 억세스하면, 스텝(612)에서 기착지 ID 및 BIC 제어 레지스터(913)에 대한 패킷 타임 내용을 수록한다. 다음에 MSBI(146)는 전송되는 데이타 입력(317)의 패킷 제어 워드(320)를 억세스하며, 스텝(631)에서, 필드(334)에 빠른 메시지 시퀸스 번호를 배치시킨다. 시퀸스 번호는 MSBI(146)에 의해 유지되는 연속 카운터이다. MSBI(146)는 스텝(613)에서 상기 카운터를 증가시킨다. MSBI(146)는 따라서, 스텝(613)에서, 패킷 제어 워드(320)를 전송 FIFO(921)에 수록한다. MSBI(146)는 데이타 순서(317)의 기착지 포트 ID(322)에 억세스되며, 상기 순서는 전송되어 스텝(633)에서, 전송 FIFO(921)에 수록된다. MSBI(146)는 데이타 입력(317)의 워드(312)를 억세스하며, 상기 워드는 데이타를 홀딩하는 버퍼의 위치를 결정하기 위해 전송된다. 상기 데이타는 사용자가 패킷에 의해 전송대기를 원하는 데이타이며, 데이타를 전송 FIFO(921)의 메모리-기록 어드레스에 데이타를 수록함으로 스텝(614)에서 데이타의 전송 FIFO(921)로의 DMA 전송을 이행한다.
버퍼로부터 BIC 전송 FIFO(921)으로의 데이타 워드의 DMA 전달을 완성한 후에, MSBI(146)는 사용자 제어 워드(324) 내지(327)를 억세스하며 제10도의 스텝(607)에서 FIFO(921)에 수록한다. MSBI(146)는 처리기(101)에서 공지된 바와같이, 프로세서(101)로부터 현재 시간을 얻으며, 스텝(615)에서, 패킷용 시간 스템프로서 상기 시간을 EOP 레지스터(917)의 어드레스에 수록한다. EOP 레지스터(917)의 어드레스의 수록은 전송 FIFO(921)에 수록되는 시간 스템프가 되게 하나, 전체 패킷을 가진 BIC(110)에 대한 신호는 버스(150)에 포함되어 패킷을 버스(150)을 통한 기착지에 전송한다.
MSBI(146)가 BIC(110)에 전송되는 패킷은 제13도에 도시되어 있다. 이것은, 출력순서 데이타 입력(317)의 워드(320), (322) 및 (324) 내지 (327)을 구비하며, 처리기(101)의 메모리내의 버퍼로부터 전송되는 DMA에 의해 전달되는 데이타 워드(1023) 및 타임 스템프를 운반하는 워드(328)를 구비한다.
다시 제10도에서, EOP 레지스터(917)를 수록할때, MSBI(146)는 스텝(616)에, 출력순서 제어 구성부(300)의 표시기(303)에 의해 SFE 타임아웃 주기를 시작한다. MSBI(146)는 스텝(617)에서 상태 레지스터(916)를 모니터하여 계속 체크하며, 스텝(618)에서 SFE 비트 및 RNACK 비트를 판독한다.
스텝(618)에서, 만약 SFE 타임아웃 주기가, SFE 비트가 전송 FIFO(921)가 비어있는 것으로 표시되기 전에(전체 패킷의 결과가 전송), 끝나면, 링크 층(10)에서 하드웨어 문제점이 나타나는 것을 표시한다. MSBI(146)는 제 9 도의 스텝(619)에서, 리세트 신호를 BIC(110)에 전송하여 리세트하고 개시되게 하여, 스텝(604)을 진행하여, 장치(141)를 인식하기 위해 응답순서(142) 입력을 형성한다. 만약, 제10도의 스텝(618)에서, 상태 레지스터(916)의 RANCK 비트는, 패킷의 전송이 완성되기 전에, 기착지 처리기(101)의 BIC(110)로부터의 RNACK(음의 응답) 신호를 수신하는 것을 나타내면, 기착지 프로세서(101)의 BIC(110)가 전체 패킷을 수신하는 것을 실패하는 것을 나타낸다. 이것은 예로서, 기착지 수신 FIFO(923)의 오버플로우 때문에 발생된다. 기착지 처리기 (101)의 BIC(110)에 회복될 시간을 주기위해, MSBI(146)는 출력순서(144)를 바이패스시켜 출력순서(144)의 데이타 입력(317)의 처리를 끝이나게 한다. 즉, 스텝(620)에서 처리되며, 제 8 도의 스텝(601)으로 돌아가서 전송되는 다른 출력순서(144)의 데이타 입력(317)을 찾는다.
만약, 제10도는 스텝(618)에서, SFE 타임아웃 주기가 타임아웃되거나 또는 RNACK 신호가 수신되기 전에 전체 패킷이 전송되는가를 검출하며, 기착지 프로세서(101)의 BIC(110)에 패킷이 성공적으로 전달되는가를 나타낸다. 스텝(630)에서, MSBI(146)는 구성부(300)의 표시기(304)에 의해 정해지는 ACK 타임아웃 주기의 타이밍을 시작한다. 그후, MSBI(146)는 상태 레지스터(916)를 모니터하며, 스텝(621)에서 제시된 바와 같이, QMNE(quick 메시지 레지스터 비어있지 않음) 비트를 체킹한다. 만약, QMNE 비트가 기착지 처리기 (101)의 MSBI(146)로부터의 quick메시지 수신을 타나내기 전에 ACK 타임아웃 주기가 끝나지 않으면, 기착지 프로세서(101)의 MSBI(146)에 의해 전송되는 패킷의 만족스럽지 못한 수신을 나타낸다. 기착지 MSBI(146)에 회복할 시간을 주기위해, MSBI(146)의 전송은 출력순서(144)의 데이타 입력(317)의 처리를 끝이나게 한다. 상기 출력 번호는 스텝(620)에서 처리되어, 제 8 도의 스텝(601)으로 돌아가서 전송되는 다른 출력순서(144)의 데이타 입력(317)을 찾는다.
제10도는 스텝(621), MSBI(146)가 상술한 주기내에서 기착지 MSBI(146)로부터의 신속메시지의 수신을 검출하면, MSBI(146)는 제11도의 스텝(622)에서, BIC(110)의 신속메시지 레지스터(918)를 판독하여 신속메시지를 얻는다.
신속 메시지는 제14도에 표시되어 있다. 상기 신속 메시지에 의해 응답하는 패킷의 신속 메시지 시퀸스 번호 필드(334)를 구비하는 것은 단일-워드 패킷이며, 메시지의 소스 및 필드(1102)타입을 확인하는 BIC ID 필드(1101)를 전송하며, 상기 필드(1102)는 메시지가 패킷 포지티브 응답(ACK) 또는 네가티브 응답(NACK)인가를 결정한다. 만약, 신속 메시지가 NACK이면, 패킷이 기착지 MSBI(146)에 의해 적절하게 수신되지 않는 것을 나타낸다. 왜냐하면, 입력순서(143)가 오버-플로우 되기 때문이다. 기착지 프로세서(101)에서 문제 발생상태를 정정하는 시간을 허용하기 위해, MSBI(146)을 전송하여 출력순서(144)의 스킵 플랙(312)을 세트시키며, 상기 순서는 스텝(624)에서 처리된다. 입력(321)이 세트되는 동안에, MSBI(146)는 처리되지 않으며, 출력순서(144)의 어떤 데이타 입력(317)도 전송되지 않는다.
MSBI(146)는 제 8 도의 스텝(601)으로 돌아가서, 전송되는 다른 출력순서(144)의 데이타 입력(317)을 찾는다.
제11도의 스텝(623)에서 조사되는 신속 메시지가 ACK이면, 기착지 처리기(101)에 의한 패킷의 양호한 수신을 나타낸다. 따라서, MSBI(146)가 출력순서(144)의 언로드 포인터(316)를 억세스하며, 스텝(625)에서 언로드 포인터를 진행시켜서, 출력순서(144)로부터 전송 입력(317)을 효과적으로 폐기시킨다. 따라서, MSBI(146)는 플랙(313)을 체크하여, 어떠한 처리기(140)가 스텝(626)에서 상기 출력순서(144)를 기다리는가를 체크한다. 만약, 그렇지 않다면, MSBI는 제 8 도의 스텝(601)으로 돌아가서 전송되는 다른 출력순서 데이타 입력(317)을 찾는다.
만약, 처리기(140)가 상기 출력순서(144)를 기다리면, MSBI(146)는 패킷의 양호한 전달장치(141)를 확인한다. 제11도의 스텝(627)에서, 순서(142)에 응답하여 MSBI(146)는 로드 포인터(360)에 의해 포인트되는 응답순서(362)에 억세스하며, 택 필드(370)을 세트하여 출력순서 응답을 확인하며, 데이타 필드(371)에 출력순서 헤더(340)의 어드레스를 기억한다. MSBI(146)는 스텝(628)에서 포인터(360)를 다음의 자유응답순서(362)로 진행시켜서, 스텝(629)에서, 인터럽트를 처리기(101)의 장치(141)로 전송한다. MSBI(146)는 제 8 도의 스텝(601)으로 돌아가서 전송되는 다른 출력순서 데이타 입력(317)을 찾는다.
장치(141)는 제24도에 도시된 방법으로 인터럽트의 수신에 응답한다.
제 1 도의 BIC(110)및 버스(150)는 제15도에 도시되어 있다. BIC(110)는 데이타 버퍼 유닛(1220)을 구비하며, 상기 유닛은 수신 FIFO(923)로 구성되며, FIFO(921) 및 신속 메세지 레지스터(918)를 전송한다. BIC(110)는 제어유닛(1214), 제어 레지스터(913), 상태 레지스터(916) 및 패킷의 종단(EOP) 레지스터(917)를 구비한다. 상기 유닛은 처리기(101)와 BIC(110) 및 처리기(101) 사이에서의 통신을 포함한다. 수신 FIFO(923)는 입력 패킷의 저장소이며, 반면에 전송 FIFO(921)는 출력 패킷의 저장소이다. 신속 메시지 레지스터(918)는 단일-워드 하이-우선 패킷인 수신된 신속 메시지의 저장소이다. 제어 레지스터(9131)는 전송되는 패킷의 기착지를 확인하기 위해 사용되며, BIC(110)의 동작을 제어하기 위해 처리기(101)에 가해지는 수단을 제공한다. 상태 레지스터(916)는 BIC(110)의 상태 및 FIFO(921) 및 (923)으로부터 기록되는 마지막 패킷에 대한 정보를 제공하기 위해 사용된다.
EOP 레지스터(917)는 BIC(110)가 버스(150)에 억세스하기 위해 포함되도록 사용된다. EOP 레지스터(917)는 FIFO(921)내에 실제로 수록되며, EOP 레지스터(917)는 패킷의 추가적인 종단을 발생하며, 마지막 패킷 워드와 동반하는 전송 FIFO(921)에 전송되는 비트를 발생한다.
처리기(101)는 전송 FIFO(921), 제어 레지스터(913), EOP 레지스터(917)에 대한 수록 억세스를 가지며, 상태 레지스터(916), 수신 FIFO(932) 및 신속 메시지 레지스터(918)에 대한 판독 억세스를 가진다. 예로서, 상기 유닛은 처리기(101, 제12도 참조)의 어드레스 공간내에 기입되며 메모리 어드레스 버스를 거쳐 어드레스된다. 이때, 처리기 버스(1203)는 처리기(101)의 메모리 버스의 확장이다. 또, 처리기 주변 버스를 사용하는 변형 버스장치는 쉽게 고안할 수 있다.
유닛(913) 내지 (918) 및 (921) 및 (923)중의 하나가 처리기(101)에 의해 어드레스될때, 버스(1215)를 거쳐 처리기(101)로부터 판독 또는 수록되는 스트로우브를 제어유닛(1214)가 수신한다. 제어유닛(1214)은 판독 또는 수록과 같은 특정 동작 및 선택된 두 어드레스 비트를 조사하여 4 어드레스 유닛중의 하나를 선태하며, 프로세서(101)로부터 공지된 형태의 어드레스 유닛으로의 억세스를 제어한다. 무한 상태 기계 또는 유사한 논리는 FIFO에 대한 판독 및 수록 어드레스 및 버퍼(147)의 레지스터의 각각의 제어를 사용할 수 있다. 상기 동작을 이행하기 위한 회로 및 논리는 공지되어 있으므로 설명하지 않는다.
제어유닛(1214)는 어드레스 정보를 디코드하기 위해 필요한 디코더를 구비하며, 필드 프로그램 가능 논리 어레이(FPLAS) 및 필드 프로그램 가능 논리 시퀸스(FPLSs)를 구비하며, 한정된 상태 기계를 사용한다. 상기 모든 장치는 시판되고 있으며, 이들의 용도는 공지되어 있다.
처리기(101)의 메모리-기입 FIFO 어드레스에 반복된 수록을 이행함으로, 한꺼번에 워드 패킷으로 전송 FIFO(921)에 적재시킨다. 단지 만일 패킷만이 FIFO(921)에 어떤 순간에 존재한다. 예로서, 처리기(101)가 전송 FIFO(921)에 패킷의 워드를 수록할때, 패리터 발생기(2117)는 각 데이타 워드 0에 대한 패리티 코드를 워드와 함께 기억시킨다.
FIFO(921)는 시판되는 FIFO이며, 제어유닛(1214)에 의해 모니터는 버퍼 엠프티 표시를 제공한다. FIFO(921)에 기억되는 제 1 워드는 버퍼 엠프티 표식을 부정하며 제어유닛(1214)이 상태 레지스터(916)의 SFE 비트를 클리어하게 한다.
처리기(101)는 EOP 레지스터(917)의 어드레스에 마지막 또는 패킷의 한 워드만 수록하여 패킷의 종단을 나타낸다. 페리티 발생기(1227)는 상기 워드에 대한 패리티 코드를 연산하여, 전송 FIFO(921)에 전송한다.
전송FIFO(921)에 전송되는 패킷의 데이타 워드와 함께, 처리기(101)는 BIC 제어 워드(323)를 제어 레지스터(913)에 전송한다. BIC 제어 워드 7비트 기착지 확인 코드(DID) 및 1비트 패킷 타입 코드를 구비한다. 기착지 코드는 기착지 프로세서(101)의 BIC(110)의 BIC(110)의 확인 또는 어드레스이며 여기에 패킷이 전송된다. 패킷 타입 코드는 패킷이 정규 패킷인가 또는 신속 메시지인가를 나타낸다.
도시된 실시예 시스템의 데이타 워드는 32비트로 구성되어 있으며, 각각은 패리티 발생기(1227)에 의해 발생되는 4개의 패리티 비트가 동반된다. 전송 FIFO(921)는 37비트 폭이며, 상술한 36비트에다 EOP 레지스터(917)에 의해 발생되는 패킷 종단 비트를 합한 값을 수용한다. 수록을 시작할때, EOP 레지스터(917)는 EOPW 출력 신호를 발생하며, 상기 신호는 마지막 패킷 워드가 수신되는 제어유닛(1214)을 제어하는 것을 나타낸다. 수록할때, EOP 레지스터(917)는 EOPW 출력 신호를 발생시키며, 상기 신호는 패킷의 마지막 워드가 수신되는 유닛(1214)을 제어하도록 지시한다. EOPW 신호는 제어유닛(1214)이 상호접속 버스(150)에 대해 컨텐션을 시작하게 한다.
상호접속 버스(150)는 병렬버스이며, 조정회로(1211)가 접속된 다중 비트 우선버스(1215)를 구비한다. 버스 중재는 공지된 다수의 버스 중재 조직에 의해 이행되며, 상기 조직은 우선 배이식 상에 버스 엑서스를 승인한다. 공지된 한 버스장치는 표준 S-100 버스이며, 여기서, 중재 프로토콜이 정의된다. 조정회로(1211)는 S-100버스로 정의된다. 공지된 조정회로이거나, 다수의 목차로부터 선택되는 유사한 회로이다. 상기 실시예에 있어서, 조정기(1211)는 버스(150)에 실패 억세스를 제공하기 위해 배치되며, 어떤 한 버스 사이클내의 버스(150)에 포함된 모두 조정기(1211)가 사용되며, 그후 연속버스 사이클에서 동작하는 조정기(1211)는 버스(150)에 포함된 모두 조정기(1211)가 사용되며, 그후 연속버스 사이클에서 동작하는 조정기(1211)는 버스(150)를 소유하기 위해 사용된다. 상기 버스 할당조직을 사용하는 장치는 기억 그룹 버스 할당 시스템이라는 제목의 미합중국 특허 제4,514,728호 및 4,384,323호에 기술되어 있다. 상기 시스템은 실패 억세스 조직을 사용한다. 버스(150)에 대한 BIC(110)의 그룹은 버스(150)의 BST(1260)를 단언한다. 콘덴션은 마지막 다수의 버스 사이클이며, 다른 BIC(110)는 BST 리드(1260)가 단언되는 한 버스(150)를 주장한다. BIC(110)가 콘텐션 처리일때, CONTEND 리드(1261)를 단언한다.
BIC(110)가 버스(150)를 포착할때, 리드(1216)를 릴리스시키며, HOLD 리드(1259)를 강조하며, 패킷 전달 간견동안에 단정되게 한다.
우선 버스(1251)는 8우선 리드를 가진 8비트 버스이다. 상기 장치는 S-100 조정회로를 사용한 255개의 다른 우선버스를 이론적으로 정의한다. 조정기(1211)는 8개의 모든 PRIORITY 버스(1251)의 리드에 접속된다. 조정기(1211)는 ID 레지스터(1212)로부터 일정한 7비트 확인워드를 수신한다. 상기 확인워드는 처리기(101) 및 BIC(110)를 확인하며, 버스(150)를 억세스하기 위해 처리기(101)의 우선부로 사용된다. 조정기(1211)는 제어 레지스터(913)로부터, 전송되는 패킷이 정상 데이타 패킷 또는 하이-우선 신속 메시지인가를 표시하는 단일-비트를 수신한다. 개방 콜렉터 논리 게이트를 사용한 조정기(1211)는 확인되는 PRIORITY 버스(1251)의 7개의 최하위 우선리드를 홀드하여, 관련 처리기(101)의 우선을 확인한다. 조정기(1211)는, 만약, 수신된 단일-비트 표식이 신속 메시지로 패킷을 확인할 때만 단언되는 8개의 최상위 PRIORITY 버스(1251)를 홀드한다. 상기 최상위 버스(1251)의 리드값 대신에, 전송되는 신속 메시지를 가지는 처리기(101)는 처리(101)보다 높은 우선 순위를 가지며, 상기 처리기는 전송되는 일정 패킷만을 가진다. 8개의 우선 리드의 상태에 의해 정의되는 높은 우선 순위의 처리기(101)가 존재하지 않으면, 조정기(1211)는 제어유닛(1214)에 WON 신호를 제공하여, 버스(150)의 잔존후에 억세스 되게 한다.
각각의 BIC(110)의 제어유닛(1214)은 한정상태 기계를 구비하여 DATA 버스(1252)로부터 데이타의 판독 또는 수신을 제어하며, DATA 버스(1252)에 데이타가 수록 또는 전송되는 것을 제어한다.
버스 전송 한정 상태 기계는 제16도에 도시되어 있다. 제16도에 도시된 시퀸스는 전송 FIFO(921)로부터 버스(1252)에 데이타를 전달하기 위해 사용된다.
EOP 레지스터(917)에 의한 EOPW 신호가 발생할때, 한정 상태 기계는 IDLE 상태(1301)로부터 READY 상태(1302)로 움직인다. 상기 마지막 상태는 동기 상태로 사용된다. 왜냐하면, EOPW 신호는 버스(150)와 동기되지 않기 때문이다. BST 리드(1260)가 나타나면, 하나 이상의 조정기가 버스(150)를 주장하기 위해 나타나며, READY 상태(1302)로부터 WAIT-1 상태(1303)로 천이가 일어난다. BST 리드(1260)가 단언되지 않으면, 한정 상태 기계는 READY 상태(1302) 또는 WAIT-1 상태(1303)가 될때, 천이가 일어나서 CONTEND-1 상태(1304)가 된다.
버스(150)에 접속된 조정기(1211)는 PRIORITY 버스(1251)의 동일성을 인가함으로 우선 순위를 결정하며, 높은 우선 순위 조정기의 I.D.가 PRIORITY 버스(1251)상에 나타날때 제거된다. 상기 장치에 있어서, 회로의 전기 지연에 의해, 하나 이상의 버스 사이클이 취해지며, 3 내지 5 버스 사이클로 가능하여 버스(150)에 대한 문제점을 해결한다. 제16도에는 CONTEND-1 상태(1304)와 CONTEND-N 상태(1314) 사이의 점선으로 나타난다. CONTEND 상태의 실제수는 시스템의 변수에 따르는 디자인 선택문제이다. 어떤 순간에 있어서, 만약, 조정기(1211)가 WON 신호를 제어유닛(1214)에 전송시키지 못하여, 버스(150)의 문제점을 해결하기 위해 요구되는 시간에 의해 억세스가 행해지는 것을 나타내며, 천이가 WAIT-2 상태(1305)에 대해 행해진다. 상태(1305)에 있어서, 제어튜닛(1214)은 버스(150)의 CONTEND 리드(1261)를 모니터하면, 상기 리드가 더이상 단언되지 않을때, WAIT-2 상태(1305)로부터 CONTEND-1 상태(1304)로 천이가 일어난다. CONTEND 상태 및 WAIT-2 상태(1305)를 통한 시퀸스는 조정기(1211)가 제어유닛(1214)에 WON 신호를 제공할 때까지 반복된다.
제어유닛(1214)는 버스(150)의 HOLD 리드(1259)를 역시 모니터한다. 상기 리드는 BIC(110)에 의해 강조되며, 버스(150)에 대한 억세스를 얻으며, 데이타를 전송한다. 제어유닛(1214)이 WON 신호를 수신한후에 HOLD 리드(1259)가 강조된 채로 잔존하는 한, 버스 전송 유한상태 기계는 CONTEND-N 상태(1314)로 잔존한다. HOLD 리드(1259)가 포기될때, 천이가 되어 SEND 상태(1306)가 된다. 상기 상태에 있어서, 제어유닛(1214)은 버스(150)의 HOLD 리드(1259)를 억세스하여 버스의 포획을 나타낸다.
제어유닛(1214)은 전송 FIFO(921)로부터 데이타 워드 및 다른 정보를 DATA 버스(1252)로 전송하며, 이때 SEND 상태(1306)가 된다. 공지된 데이타 래치(1230)는 전송 FIFO(21)과 DATA 버스(1252) 사이에 제공되어 FIFO(921)와 버스(1252) 사이의 타이밍 차를 보상한다. SEND 상태(1306)에 있어서, 래치(1230)는 제어유닛(1214)에 의해 인에이블 되어 FIFO(921)로부터 버스(1252)로 데이타 전달을 허용한다.
전송 FIFO(21)로부터 얻어지는 패킷 워드는 32비트 DATA 버스(1252)상에 동시에 전송된다. 버스(1252)상의 각 워드는 제어 레지스터(913)로부터 얻어지는 기착지 어드레스(DID)와 동반되며, 7비트 DEST I.D. 버스(1253)상에 전송되며, 버스(1253) 발생지 어드레스는 ID 레지스터(1213)로부터 얻어지며 7비트 FROM 버스(1256)상에 전송되며, 이들 모두는 버스(150)의 부분이다. 비트코드는 정규 또는 신속메시지의 메시지 타입을 규정하는 비트코드는 제어라인 QMOUT(1262) 및 RESET(1263)상에 단위라인 상에 한 비트를 전달하며, 상기 라인은 버스(150)의 부분이다.
SEND 상태(1306)에 있어서, 제어유닛(1214)는 버스(150)의 RNACK 리드(1255) 및 IAMALIVE 리드(1257)를 모니터한다. 기착지 처리기(101)의 BIC(110)는 IAMALIVE 리드(1257)를 사용하여 제어유닛(1214)에 전송의 수신응답을 전송하기 위한 신호를 보내며, RNACK 리드(1255)를 사용하여 제어유닛(1214)을 전송하기 위한 신호를 사용하며, 패리티 에러 또는 수신 FIFO(923)의 오버플로우 또는 신속 메시지 레지스터(918)의 검출과 같은 전송에 있어서 문제점이 발생한다. BIC(110)가 리드(1255)를 어서트하는 것을 수신하거나 또는 리드(1257)를 어서트하는 것을 실패할때, 전송 제어유닛(1214)의 버스전송 유한상태 기계가 SEND 상태(1306)에서 RNACK 상태(1307)로 변한다. 상태(1307)에 있어서, 버스전송 무한상태 기계는 전송 FIFO(921)로부터 버스(150)로 또다른 데이타 및 다른 정보가 전송되는 것을 방해하며, 전송 FIFO(921)를 클리어시키며, 처리기(101)에 문제점을 알려주기 위해 상태 레지스터(916)의 RNACK 비트를 어서트한다. 전송 유한상태 기계의 동작은 LAST 상태(1308)에서 전송이 완성되는 것과 같이 계속된다.
DATA 버스(1252)상에 전송되는 패킷의 마지막 또는 유일한 워드는 EOP 리드(1254)상에 전송되는 EOP 비트와 동반된다. 상기 EOP 비트가 제어유닛(1214)에 의해 검출될때, 천이가 LAST 상태(1308)에서 행해진다.
LAST 상태(1308)에서, 전송 FIFO(921) 및 데이타 래치(1230)는 제어유닛(1214)으로부터 디스에이블된다. LAST 상태(1308)로부터, IDLE 상태(1301)로 귀환이 행해진다.
RNACK 상태(1307)에서 전송 FIFO(921)의 클리어닝 또는 SEND 상태(1306)에서 마지막 워드의 FIFO(921)로부터의 전송은 버퍼 엠프티 표식을 부상시키며, 제어유닛(1214)을 상태 레지스터(916)의 SFE 비트를 세트한다.
버스(150)를 통한 기착지 처리기(101)의 BIC(110)에 의한 패킷의 수신을 고려하기로 한다.
BIC(100)에 있어서, I.D 매치회로(1222)는 DEST I.D. 버스(1253)를 모니터하며, I.D. 레지스터(1212) 에서 정의되는 어드레스와 비교된다. 소스 처리기(101)의 BIC(110)가 기착지 처리기(101)에 패킷을 전송할때, ID 매치회로(1222)는 자체 처리기(101)의 어드레스를 인식하며, 제어유닛(1214) 및 DATA 래치(1225)에 전송되는 MATCH를 발생시킨다. 데이타 래치(1225)는 매치회로(1222)부터의 MATCH 신호 및 제어유닛(1214)으로부터의 ENABLE 신호에 의해 인에이블되며, DATA 버스(1252)로부터의 데이타를 수신 FIFO(923), 신속 메시지 레지스터(918) 및 패리터 체커(1228)에 전송한다.
패리터 체커(1228)는 데이타 워드 및 래치(1225)로부터의 관련 패리티 비트를 수신하여 패리티를 자동적으로 체크한다. 불량 패리티를 검출할때, 체커(1228)는 패리티 실패인 워드와 동반하기 위해 1비트 패리티 에러 신호를 발생한다.
제17도는 버스(150)에 접속된 각 BIC(110)의 제어유닛(1214)에서 구현되는 바와 같은, 버스(150) 수신 동작을 제어하기 위해 유한상태 기계의 상태를 보여준다.
수신 유한 상태 기계의 초기상태는 IDLE 상태(1410)이다. 회로(1222)로부터 MATCH 신호의 수신에 답하여, 제어유닛(1214)은 OPEN RECEIVE 상태(1411)로 천이되며, IAMALIVE 리드(1257)상의 신호를 발생하기 시작한다. 상기 상태에 있어서, ENABLE 신호는 데이타 래치(1225)에 제공되며, 버스(1252)로부터의 데이타 전달은 FIFO(923)를 신속 메시지 레지스터(918)로부터 일어난다. 제어유닛(1214)는 버스(150)의 QMOUT 리드(1262)를 조사한다. 만약, 신속 메시지가 표시되면, 제어유닛(1214)은 신속 메시지 레지스터(918)에 신호를 발생한다. 만약, 신속 메시지가 표시되지 않으면, 제어유닛(1214)은 수신 FIFO(923)에 ENABLE 신호를 발생한다. I.D. 버스(1253)상의 어드레스가 I.D. 레지스터(1212)의 내용과 매치되며, 버퍼 오버플로우와는 다른 상태하에서, OPEN RECEIVE 상태(1411)로부터 변활될 필요는 없다.
제어유닛(1214)으로부터 ENABLE 신호를 수신하는 신속 메시지 레지스터(918) 및 수신 FIFO(923)중의 하나는 인에이블되어 수신된 데이타를 기억한다. 수신된 FIFO(923)는 시판되는 FIFO이며, 버퍼충만 및 버퍼 앰프티를 나타낸다. 레지스터(918)는 버퍼 충만 및 버퍼 엠프티표식을 제공하며, 단일 표시기를 통해 나타난다. 레지스터(918)가 단지 1워드 깊이를 가지므로, 비어 있지 않을때는 충만하게 된다. 수신 FIFO(923)에 기억되는 제 1 워드는 버퍼 앰프티 표식을 부정하여, 제어유닛(1214)이 상태 레지스터(916)에 RFNE 비트를 세트시킨다. 레지스터(198)에 기억되는 워드는 버퍼 엠프티 표식을 부정하며, 제어유닛(1214)의 상태 레지스터(916)에 QMNE 비트를 세트시킨다.
수신 FIFO(923) 및 신속 메시지 레지스터(918)는 39비트 폭이다. 32비프가 수신된 데이타 워드를 홀드하며 동반된 패리티 비트를 홀드한다. 한 비트는 패리티 체커(228)에 의해 발생되는 버퍼 오버 플로우 에러 신호를 홀드한다. 마지막 수신된 패킷의 수신 워드는 버스(150)의 EOP 리드(1254)상에 1비트 EOP 신호와 동반하며, 상기 비트는 동반된 패킷 워드와 제39번째 비트내에 기억된다.
패킷의 종단(EOP)신호를 수신하기 전에 수신 FIFO(923)의 버퍼 충만 상태는 오버 플로우 상태로 해석된다. 유지하게, 단일-워드 신속 메시지를 수신하는 동안에 신속 메시지 레지스터(918)의 버퍼 비엠프티는 오보 플로우 상태로 해석된다. 정상 동작에 있어서, 처리기(101)는 데이타 버스(1252)의 전달비보다 느리게 수신 FIFO(923) 또는 신속 메시지 레지스터(918)로부터 데이타 워드를 판독하여, 기착지 처리기(101)에 있어서, 비정상 상태일때 조차도 가능한 버퍼 오버 플로우 상태를 고려한다. 도면에 있어서, 버퍼 상태 신호를 간단하게 나타내기 위해, 버퍼 유닛(1220)으로 부터의 출력으로 도시되어 있다.
OPEN RECEIVE 상태(1411)에 있어서, 제어유닛(1214)는 수신 FIFO(923)의 버퍼 충만 표식 및 레지스터(918)의 버퍼 엠프티 표식 및 버스(50)의 EOP 리드(1254)를 모니터한다. EOP 리드(1254)상에 수신되는 관련 패킷에 대해 EOP 신호전에 버퍼 충만 표식의 발생은 아무것도 나타내지 않거나, 패킷의 일부만 나타내어, 수신 FIFO(923)내에 양호하게 기억된다. 유사하게, 레지스터(918)가 비어 있지 않을때 신속 메시지의 수신은 레지스터(918)가 오버 플로우 되는것을 나타낸다. 어떤 상태에서도 수신 유한상태 기계가 RNACK 상태(1412)로 천이되게 한다.
OPEN RECEIVE 상태(1411)에 있어서, 제어유닛(1214)은 패리티 체커(1228)의 출력을 모니터한다. 체커(1228)가 수신된 워드상에 불량한 패리티를 검출하여 표식을 발생할 때, 제어유닛(1214)에 의해 검출되며, 수신 유한상태 기계는 RANCK 상태(1412)로 천이가 되게 한다.
RANCK 상태(1412)에 있어서, 제어유닛(1214)은 IAMALIVE 리드(1257)를 디어서트하며 RANCK 리드(1255)를 어서트한다. 제어유닛(1214)는 DATA 래치(1255)로부터 ENABLE 신호를 제거하며 수신 FIFO(923) 또는 레지스터(918)에 대한 수의 더이상의 수록을 차단한다. 버퍼 오버 플로우에 있어서, 제어유닛(1214)은 수신 FIFO(923) 또는 레지스터(918)에서의 마지막 기억워드를 동반하는 버퍼 오버 플로우 비트를 세트한다. 제어유닛(1214)는 EOP 비트를 발생하여 마지막-기억 수신 워드를 동반한다. 최종적으로, 제어 유닛(1214)은 패킷을 수신하는 레지스터(118) 및 수신 FIFO(121)중의 하나로 부터 ENABLE 신호를 제거한다.
RNACK 상태(1412)에서의 상술한 동작을 따르거나, OPEN RECEIVE 상태(1411)에서의 버퍼 오버 플로우 에러 또는 패리티 에러중의 하나를 검출하지 않고 EOP 리드(1214)상의 EOP 신호를 검출할 때, 수신 유한상태 기계는 IDLE 상태(1410)로 천이되게 하며, DATA 래치(1225)로부터의 ENABLE 신호, 수신 FIFO(923) 및 신속 메시지 레지스터(918)를 이동시킨다.
상태 레지스터(916)에 세트되는 RFNE 비트의 검출이 MSBI(146)가 수신 FIFO(923)로부터의 데이타를 한꺼번에 판독하게 하며, 메모리 기입 FIFO 어드레스의 판독을 반복하게 한다. 패킷의 최종 워드가 판독될 때, 제어유닛(114)은 처리기(101)가 코멘트에 의해 규정되는 시간이 될때까지 수신 FIFO(923)의 또다른 판독을 방해하여, 다음의 패킷을 판독한다. 처리기(101)는 FIFO(923)가 비어질때까지, FIFO(923)로부터 패킷을 계속 판독한다. 상기 상태는 버퍼 엠프티지시를 부상시키며, 제어유닛(1214)이 상태 레지스터(196)에서의 RFNE 비트를 리세트되게 한다.
유사하게, 상기 레지스터(916)에서 세트되는 QMNE 비트의 검출은 MSBI(146)가 레지스터(918)로부터 신속 메시지를 판독하여, 레지스터(918)를 비게한다. 상기 상태는 버퍼 엠프터 표시을 부상시키며, 제어유닛(1214)이 QMNE 비트를 상태 레지스터(916)에 리세트되게 한다.
제18 내지 20도는 소스 처리기(101)로부터 BIC(110)을 통한 패킷의 수신에 있어서의 MSBI(146)의 동작 플로우챠트이며, 구성부(145)의 입력순서(143) 및 응답순서(142)의 사용을 나타내었다.
제 1 도의 시스템이 스텝(597)로 턴온될때, MSBI(146)는 BIC 상태 레지스터(916)의 RFNE(수신 FIFO 923 비 엠프티) 비트를 모니터하며, 출력 순서 제어 구성부(300)의 출력제어 플랙(307)을 모니터한다. RFNE 비트가 세트되지 않으면, 수신 FIFO(923)가 비어 있는 것을 나타내며, MSBI(146)가 스텝(599)에서 플랙(307)을 체크한다. 스텝(599)에서 플랙(307)이 세트되면, MSBI(146)는 스텝(1503)에서 출력순서(144)를 처리하며, 스텝(598)으로 향한다. 출력순서 처리는 제 8 도 내지 11도에 플로우챠트로 나타내었으며, 상술되어 있다.
스텝(598)에서, RFNE 비트가 수신 FIFO(923)가 비어 있지 않은 것을 나타낼 때, 하나 또는 그 이상의 패킷이 BIC(110)에 의해 수신되는 것을 의미한다. 따라서, MSBI(146)는 수신 FIFO(923)가 관련된 메모리 어드레스의 판독을 반복함으로 수신 FIFO(923)으로부터 수신된 패킷을 판독하기 시작한다.
스텝(1504)에서, 수신 FIFO(923)상에서 행해지는 제 1 판독 동작은, MSBI(146)가 패킷 제어 워드(320) 및 DEST DORTID 워드(322, 제13도 참조)를 얻으며, 스텝(1515)에서, MSBI(146)는 일시적인 기억 위치에 워드(320)를 기억시킨다. 만약, 판독 워드 중의 하나가 패킷의 마지막 수신 워드를 나타내는 EOP(패킷의 종단)비트와 동반되면, 비트는 패킷의 수신 동안에 수신 FIFO(923) 오버플로우 상태가 발생되게 하거나 또는 패리티 에러가 워드 상에서 검출되는 것을 비트가 나타내며, 상기 워드의 판독은 EOP 비트가 되게하며, 상태 레지스터(916)의 SFERR 비트 또는 SPERR 비트는 세트되기 시작한다. 상기 두 워드가 단독으로 패킷을 형성하지 못하므로, EOP의 세팅은 패킷 수신에서 에러를 나타낸다. MSBI(146)는 상태 레지스터(116)를 판독하여, 스텝(1505)에서 EOP 비트, SFERR 비트 및 SPERR 비트를 체크한다. 하나 이상의 상기 비트가 세트되면, 패킷 수신에서 에러가 표시되며, 스텝(1506)에서, MSBI(141)는 수신 FIFO(923)로부터 수신된 패킷을 플러쉬하여 폐기시킨다. 만약. EOP 비트가 세트되면, MSBI(146)는 단순히 워드 및 수신 FIFO(923)를 판독하는 워드를 낭비한다. 만약 EOP 비트가 세트되지 않으면, MSBI(146)는 수신 FIFO(923)를 판독하여, 상세 레지스터(916)의 EOP 비트가 세트된 것을 검출할때까지 모든 판독 워드를 폐기한다. 그후, MSBI(146)는 스텝(598)으로 간다.
ERR 비트중의 한 비트 또는 EOP 비트는 스텝(1505)에서 세트되지 않은 것을 나타내며, MSBI(146)는 스텝(1507)에서, 수신된 패킷이 리스타트패킷인가를 체크한다. 리스타트 패킷을 출력 순서(144)의 스컵플랙(312)을 클리어할 목적인 패킷이며, MSBI(146)에 의해 출력 순서(144)의 처리를 리스타트한다. 리스타트 패킷은 패킷의 기착지 포트 ID 워드(322)에서의 특정 코드에 의해 확인된다. 이것은, 관련 출력 순서(144)가 reawakened인 기착지 처리기(101) 상기 워드 확인 포트(202)를 제외하고는 어떤 데이타도 운반 하지 않는다. 따라서, 스텝(1507)에서, MSBI(146)는 워드(322)를 체크하고, 특정 코드를 포함하는가를 결정한다. 만약, 포함하면, MSBI(146)는 제20도의 스텝(1508)에서 수신 FIFO(923)로부터, 워드(324) 내지(328)을 구성하는 잔존 패킷을 판독하며, FIFO(923)가 기입되는 메모리 어드레스 상에서 5개의 워드 판독 동작을 이행한다.
상술한 바와 같이, 패킷의 최종 수신 워드는 EOP 비트와 동반하며, BIC(110)에 의해 전송되는 RNACK 신호를 발생하는 어떤 수신 워드는 SFERR 또는 SPERR 비트와 동반된다. 수신 FIFO(923)로부터의 상기 비트와 동반되는 워드의 판독은 상태 레지스터(916)의 대응 비트의 세팅이 되게 한다. EOP 비트와 동반하는 워드를 판독하기 위한 시도는 상태 레지스터(916)의 EOPERR의 세팅이 되게 하며, 패킷 제어 워드(320)의 필드(332)는 실질적인 패킷 길이에 대응하지 않는다. 따라서, MSBI(146)는 상태 레지스터(916)를 판독하여 스텝(1509)에서 EOP 비트가 세트되지 않는가, 또는 SPERR 비트 또는 SFERR 비트 또는 EOPERR 비트가 세트되는가를 판독한다. 만약 판독되면, 패킷의 수신 에러가 표시되며, MSBI(146)는 스텝(1510)에서 패킷을 폐기하여 스텝(598)로 귀환한다.
수신되는 에러가 스텝(1509)에서 없는 것으로 나타나면, MSBI(146)는 패킷이 어드레스되는 포트(202)를 패킷으로부터 결정하여, 포트 구성부(380)에 억세스하여, 출력 순서 포인터(381)로부터 출력 순서(144)가 상기 포트에 해당하는가를 결정하며, 스텝(151)에서 상기 출력 순서(144)의 스킵플랙(312)을 억세스하며 클리어한다. MSBI(146)는 제 8 도 내지 11도의 출력 순서 처리를 트리거하며, 출력 순서 제어 구성부(300)의 출력 지연 플랙(307)을 세팅한다. 리스타트 패킷의 적절한 수신에 응답하여, MSBI(146)는 제21도의 루틴을 호출하여, 스텝(1547)에서, 신속메시지를 리스타트 패킷의 전송자에게 전송한다. 따라서, MSI(146)는 스텝(578)으로 귀환한다.
만약, 수신된 패킷이 제18도의 스텝(1507)에서 리스타트 패킷이 아닌 것으로 정해지며, MSBI(146)는 수신된 패킷의 패킷 제어 워드(320)의 토글 비트 필드(311)를 체크하여, 스텝(1513)에서 상기 값이 적절한가를 결정한다. MSBI(146)는 수신된 패킷의 DEST PORTID 워드(322)를 사용하여, 어느것이 패킷용 기착지 포트(202)인가를 결정하여, 상기 포트(202)의 포트 구성부(380)의 채널 타임 표시기(385)를 억세스하여 포트(202)와 관련된 채널(201)의 커널 채널 또는 사용자 채널인가를 결정한다. 만약, 채널(201)이 사용자 채널이면, MSBI(146)는 포트 구성부(380)의 입력 순서 토글(384)에 억세스하여 기억되는 한 토글 비트 값을 판독한다. 만약, 채널(201)이 커널 채널이며, MSBI(146)는 포트 구성부(380)의 입력 순서 토글(384)에 억세스하여 패킷의 소스인 처리기(101)에 대응하여 기억되는 복수의 토글 비트 값으로 부터 판독된다.
MSBI(146)는 패킷 제어 워드(320)의 BIC ID 필드(333) 전송으로 부터 소스 처리기(101)를 결정한다.
MSBI(146)는 따라서, 억세스되는 구성부(380)의 입력 순서 토글(384)로부터 얻어지는 토글 버트 값을 수시된 패킷 제어 워드(320)의 토글 비트 필드(331)값과 비교하여 동일한가를 정한다. 만약 동일하지 않으면, 토글 비트 필드(331)의 값은 부적절하다. 부적절한 토글 비트 필드(331)값은 상기 처리기(101)에 의해 전송 처리기에 전송되는 신속 메시지가 패킷의 수신을 나타내는 표시이며, 전송 처리기(101)에 의해 수신 되지 않으며, 상기 결과는 전송 처리기(101)의 패킷을 재 전송하게 된다. 따라서, 상기 패킷은 MSBI(146)에 의해 두번 수신되나, 필요로 하지는 않는다. MSBI(146)는 스텝(1526)에서 수신 FIFO(923)로부터 수신 된 패킷을 플러쉬한다. MSBI(146)는 수신 FIFO(923)를 판독하며, 상태 레지스터(916)의 EOP 비트가 세트되는 것을 검출할때까지 모든 판독 워드를 폐기한다. MSBI(46)는 상태 레지스터(916)의 SFERR, SPERR 및 EOPERR 비트를 체크하여 BIC(110)가 스텝(1527)에서, 상기 패킷을 수신할때, RNACK 신호를 전송 처리기(101)에 전송한다. 만약, 상기 비트중의 최소한 하나가 세트되면, RNACK 신호는 전송되어 MSBI(146)의 전송에 있어서 문제점이 있는 것을 알려준다. 즉, 수신 FIFO(923) 오버플로우, 수신 패킷상의 패리터 에러 검출, 지나간 최종 패킷 워드 판독 시도 등의 문제점을 알려주며, MSBI(146)의 전송이 패킷의 전송을 반복하게 한다. 더 이상의 전송 처리기(101)의 인식이 행해지지 않으며, MSBI(146)는 스텝(598)으로 귀환한다.
SFERR 비트, SPERR 비트, EOPERR 비트가 스텝(1527)에서 발견되면, RNACK 신호는 전송 처리기(101)의 MSBI(146)에 전송되지 않는다. 따라서, 수신 처리기(101)의 MSBI(146)의 제21도의 루틴을 호출하여 ACK 신속 메시지를 전송 처리기(101)에 전송하여 스텝(1502)에서 신속한 패킷의 수신을 어드바이스한다. 따라서, MSBI(146)는 스텝(598)으로 귀환한다.
다시 제18도의 스텝(1513)에서, 체크가 수신된 토글 비트 값이 적절한 것으로 나타내면, MSBI(146)는 스텝(1514)에서, 수시된 패킷의 DEST PORTID 워드에 위해 확인되는 포트(202)의 입력 순서(143)가 충만되어 있는가를 체크한다. MSBI(146)는 기착지 포트(202)의 포트 구성부(380)의 입력 순서 포인터(382)에 억세스하여 상기 포트(202)의 입력 순서를 결정한다. MSBI(146)가 상기 입력 순서(143)의 포인터(352) 및 (353)의 값을 비교하여 동일 여부를 결정한다. 만약, 동일하다면, 입력 순서(143)는 충만된다. 따라서, MSBI(146)는 제19도의 스텝(1530)에서, 스텝(1526)의 방법과 같이 수신된 FIFO(923)로부터 수신된 패킷을 플러쉬한다. MSBI(146)는 따라서, 스텝(1531)에서, 스텝(1527)과 동일한 방법으로, 상기 패킷의 수신과 연관되어, RNACK 신호가 전송되는가를 체크한다. 만약, 전송된다면 MSBI(146)는 스텝(598)으로 귀환한다. 그러나 RNACK가 전송되지 않으면, MSBI(146)는 스텝(598)으로 단지 귀환한다. 그러나, RNACK가 전송되지 않으면, MSBI(146)는 스텝(1529)에서 순서(143)의 입력 순서 충만 플랙(348)을 세트하여 순서(143)가 충만된 것을 표시한다. 플랙(348)는 카운트 플랙이며, MSBI(146)는 로우 마크 표시기(349)에 의해 유지되는 값에 이 카운트 플랙을 세트시킨다.
MSBI(146)는 제21도의 루틴을 호출하여 스텝(1532)에서, 네가티브 응답(NACK) 신속 메시지를 처리 패킷의 전송자에게 전송한다. 그후 MSBI(146)는 스텝(598)으로 귀환한다.
제18도의 스텝(1514)에서, 입력 순서(143)가 충만하지 않는 것으로 정해지면, MSBI(146)는 수신 FIFO(923)로부터 처리기(101)의 메모리내의 버퍼로, 스텝(1516)에서, DMA 전달에 의해 수신 패킷의 버퍼 데이타 워드(1023)를 전송한다. 상기 버퍼는 순서 로드 포인터(352)에 의해 포인트되는 입력순서 데이타 입력(354)의 버퍼 어드레스 워드(355)와 동일하게 된다. MSBI(146)는 패킷 제어 워드(320)의 버퍼 사이즈 필드(332)에 의해 규정되는 수와 동수의 워드가 DMA 전달되는 것이 이행한다. MSBI(146)는 수신 FIFO(923)로부터 사용자 제어 워드(324) 내지 (327)를 판독하여 스텝(1517)에서, 입력 순서 데이타 입력(354)의 대응 워드에 기억시킨다. MSBI(146)는 수신 FIFO(923)로부터 시간 스탬프 워드(328)를 판독하여, 스텝(501)에서 일시적인 위치에 기억시킨다.
MSBI(146)는 입력 순서(143)의 로드 포인터(352)로 진행되지 않으므로, 버퍼 어드레스 워드(355)에 의해 포인트되는 버퍼 또는 입력 순서(143)의 데이타 입력의 플러싱이 요구되지 않는다. 또, 상태 레지스터(916)의 SPERR 또는 SFERR 비트가 세트되지 않으면, BIC(110)에 의해 전송되는 RNACK 신호는 패킷의 소스인 처리기(101)가 패킷을 재전송되게 한다. EOP 비트가 세트되지 않거나 EOPERR 비트가 세트되면, 신속 메시지의 수신의 걸여는 패킷의 소스인 처리기(101)의 패킷을 재전송하게 한다. 어느 한 경우에 있어서, 패킷은 상기 기착지 처리기(101)에 영구적으로 재 전송된다.
스텝(1518)에서, 체크에 의해 어떠한 에러도 수신되지 안느다고 나타나면, MSBI(146)는 일시적인 기억 위치로부터 패킷 제어 워드를 추출하여, 스텝(1519)에서, 입력 순서 데이타 입력(354)의 워드(320)에 기억 시킨다. 그후, MSBI(146)는 스텝(1520)에서, 입력 순서(143)의 로드 포인터(352)를 진행시켜, 입력 순서(143)상의 충만 데이타 순서(354)의 내용을 배치시킨다. 그후, MSBI(146)는 처리 대기 플랙(350) 및 입력 순서(143)의 재순서 타입의 표시기(358)를 체크하여, 스텝(1521)에서, 처리기 또는 인터럽트 처리기가 상기 입력 순서(143)상에서 대기하는가를 결정하다. 만약 대기한다면, MSBI(146)는 제20도시 스텝(1522)에서 플랙(350)을 클리어하며, 제 9 도의 스텝(604) 내지(606)에서 상술한 바와 같이, 스텝(1523) 내지 (1525)에서 응답 순서(142)에 의해 패킷의 수신 장치(141)를 인식한다.
제19도의 스텝(1521) 또는 제20도의 스텝(1525)에서, 처리기가 입력 순서(143)를 기다리지 않는 것으로 정해지면, MSBI(146)는 제21도의 루틴을 호출하여 처리기(101)에 전송하며, 상기 처리기는, 스텝(1545)에서, 수신된 패킷의 소스인 처리기(101)에 ACK 신속 메시지를 전송한다. 그후, MSBI(146)는 스텝(1546)에서 제22도의 루틴을 호출하여, 제19도의 스텝(1501)에서의 시간 스템프를 처리한다. 최종적으로, MSBI(146)는 스텝(598)으로 귀환한다.
제21도는 수신된 패킷에 응답하여 소스 처리기(101)에 신속 메시지를 전송하기 위해 MSBI(146)에 의해 사용되는 루틴의 플로우챠트이다. 스텝(1544)에서의 루틴 호출의 부분으로서, MSBI(146)는 수신된 패킷의 패킷 제어 워드(320)의 필드(334)로부터 얻어지는 신속 메시지 시퀸스 번호를 규정하며, 전송 BIC ID는 수신된 패킷의 워드(320)의 필드(333)로부터 얻어져서, 패킷이 ACK 또는 NACK인가를 정한다. 호출에 응답하여, 루틴은 스텝(1528)에서 제어 워드를 형성하며, 상기 워드는 데이타 입력(317)의 출력 순서의 제어 워드(323)와 동일하다. 루틴은 기착지 BIC ID로서 워드(323)에 입력되며, 수신된 전송 BIC ID는 신속 메시지를 규정하는 플래그를 가산한다. 스텝(1528)에서, 루틴은 제14도에 도시된 신속 메시지를 형성하여, 수신된 신속 메시지 레지스터 시퀸스 번호를 입력시키며, 상기 처리기(101)의 BIC(110)의 ID 및 특정 신속 메시지 타임을 입력시킨다. 그후, 루틴은 전송 FIFO(921)를 대기하여 제 9 도의 스텝(608) 내지 (611)과 같이 스텝(1533) 내지(1536)에서 비게된다. 만약 SFE 타임 아웃 주기는 전송 FIFO(921)가 비워지기 전에 타임 아웃되며, 루틴은 BIC(110)를 리세트시키며, 응답순서(142) 입력(362)을 발생하며, 제 9 도의 스텝(619) 및 (604) 내지 (606)에 기술된 바와 같이, 스텝(1537) 내지(1542)에서 인터럽트를 발생하여 장치(141)가 알려주는 것을 방해한다. 상기 루틴은 스텝(1544)에서, 제 9 도의 스텝(640)의 상태와 동기한 비동작 상태를 입력시킨다.
전송 FIFO(921)가 비워질때, 루틴은 제21도의 스텝(1538)에서 제어 워드를 BIC 제어 레지스터(913)에 기록한다. 루틴은 스텝(1539)에서, 신속 메시지를 BIC EOP 레지스터(917)에 기록한다. 상기 루틴은 스텝(543)에서 호출되는 포인트로 귀환한다.
제22도는 타임 스템프를 처리하기 위해 MSBI(146)에 의해 사용되는 코드 세그먼트의 플로우챠트이다. 타임 스템프 워드(328)는 시간 데이타를 운반하는 복수의 비트 및 동일 또는 다른 기간중의 하나를 나타내는 단일 비트를 구비한다. 시간 값은 단일 기간중에 반복될 수 없으나, 다른 기간에서는 행해질 수 있다. 제 1 도의 시스템에서의 시간은 호스트 처리기로 표시되는 단지 하나의 처리기(101)로부터 플로우 아웃된다. 어떤 프로세서(101)가 현재 시간을 다른 처리기(101)로부터 수신되는 시간 스템프 값으로 대체할 수 있을때, 단지 호스트 처리기(101)만 제 1 도시 시스템에서 시간을 증가시킨다. 다른 처리로부터의 시간 스템프의 수신 사이에서, 어떤 비-호스터 처리기(101)에 대해 시간 스탠드 스틸이 되게 한다.
스텝(2200)에서, MSBI(146)는 일시적인 위치의 어드레스를 상기 코드 세그먼트에 규정하며, 여기서, 시간 스템프(328)가 기억되며, 전송 BIC ID는 수신 패킷의 워드(320)의 필드(333)로부터 얻어진다. 호출에 응답하여, 루틴은 워드(328)의 기간 비트의 값을 처리기(101)가 사용되는 시간의 기간 비트의 값과 비교하여 스텝(220)에서, 모든 시간이 동일 기간이면, 루틴은 워드(328)의 시간 데이타 필드 값을 스텝(2204)에서 처리기(101)가 사용되는 시간 값과 비교한다.
워드(328)의 시간 데이타 필드의 값이 사용되는 시간 값보다 크면, 루틴은 현재 사용되는 시간 값을 폐기 하며, 스텝(2205)에서, 워드(328)의 시간 데이타 필드의 값으로 대체하여 처리기 시간을 가속시킨다. 그후, 루틴은 스텝(2206)에서, 호출되는 포인트로 귀환한다. 워드(328)의 시간 데이타 필드의 값이 현재 사용되는 시간 값보다 크면, 상기 루틴은 스텝(2206)에서 호출되는 포인트로 귀환하여, 워드(328)를 통해 수신되는 시간값을 효과적으로 폐기시킨다.
스텝(2201)에서, 기간이 다르면, 루틴은 호출의 부분으로서 수신되는 전송 BIC ID를 체크하여 스텝(2202)에서, 시간 스템프가 호스트 처리기(101)로부터 수신되는가를 결정한다. 만약, 그렇지 않으면, 코드는 스텝(2206)에서 호출되는 포인트로 귀환하여, 워드(328)를 통해 수신되는 시간 값을 효과적으로 폐기시킨다. 만약, 시간 스탬프가 호스트 처리기(101)로부터 수신되면, 코드는 시간을 폐기시키며 기간 값이 사용되어 스텝(2203)에서, 호스트 처리기로부터의 수신되는 값으로 대체시킨다. 그후, 상기 코드는 스텝(2206)에서 호출되는 포인트로 귀환한다.
제23도는 다른 처리기(101)로부터 패킷을 수신하는 인터페이스 장치(141)의 동작 플로우챠트이며, 순서 구성부(145)의 입력 순서(143)의 사용을 도시한 것이다.
사용자 처리기(140)는, 스텝(1900)에서, READP 호출을 통해, 다른 처리기(101)로부터 수신되는 패킷으로 부터의 데이타를 얻어서 장치(141)를 호출한다. 호출 시일부로서, 사용자 처리기(140)는 포트(202)를 규정하며, 데이타를 얻으며, 커널 채널의 포트(202)는 소스 BIC(110)의 ID를 규정한다. 호출에 응답하여, 인터페이스 장치(141)는 포트 입력 순서(143)가 비어있는가를 체크하면, 스텝(1901)에서 호출을 만족시키기 위한 어떤 수신된 정보를 포함하는가를 체크한다. 인터페이스 장치(141)는 지정된 포트(202)의 포트 구성부(380)의 입력 순서 포인터(382)에 억세스하여 어느 입력 순서(143)가 지정된 포트(202)와 관련있는가를 결정한다. 인터페이스 장치(141)는 입력 순서(143)의 포인터(352)및 (353)를 억세스하여 이들을 비교한다. 만약 언로드 포인터(353)가 로드 포인트(352)에 의해 포인트되는 입력(354)에 앞서는 입력(354)는 포인트하면, 포트 구성부(380)의 상태 지시기(387)를 체크하므로 스텝(1902)에서 관련 포트(202)가 단속되어 있는가를 체크한다. 만약, 입력(387)이 포트(202)가 단속되어 있는 것을 나타내면, 인터페이스 장치(141)는 스텝(1908)에서 에러 표시와 함께 호출 처리기(140)로 귀환된다.
만약, 포트(202)가 스텝(1902)에서, 단속된 것을 나타내지 않으면, 인터페이스 장치는 호출 변수를 체크하며, 상기 호출은 스텝(1900)에서 수신되어, 호출 처리기(140)가 순서상에서 슬리프 및 스텝(1903)에 도착되기 위한 입력에 대한 대기를 원하는가를 결정한다. 만약, 그렇지 않으면, 인터페이스 장치(141)는 스텝(1908)에서 에러 표시를 가진 호출 처리기(140)로 귀환한다. 만약 호출 처리기(140)가 대기하기를 원하면 (1904)에서, 인터페이스 장치(141)는 입력 순서(143)의 프로세스 대기 플랙(350)을 세트하여, 처리기가 상기 입력 순서(143)상에서 슬리핑하는 것을 나타낸다. 인터페이스 장치(141)는 스텝(1916)에서, 종래의 UNIX 시스템 방법으로 호출 프로세스를 슬리프되게 한다. 슬리프시키기 위해 처리기에 포함되는 동작은 처리기가 슬리프되는 시간에 처리기 상태의 세이빙을 포함하며, 입력 순서(143)의 어드레스와 관련된 슬리핑 처리기의 리스트에 처리기의 ID를 첨뷔킨다. 다음에, 인터페이스 장치(141)는 다른 처리기(140)로부터의 다른 호출에 응답하며 처리하는 것과 같은 다른 동작을 스텝(1905)에서 포함한다.
패킷의 수신이, 처리가 지연되는 입력 순서(143)에 MSBI(146)가 데이타 입력(354)을 발생할 때, MSBI(146)는 인터럽트(제20도의 스텝(1525) 참조)를 발생한다. 인터럽트가 인터페이스 장치(141)에 의해 수신되며, 제24도에 도시된 방법으로 처리된다. 처리의 부분에 있어서, 슬리핑 처리가 다시 인식된다. 슬리핑 공정의 인식 및 리줌 실행은 처리기 상태의 재기억을 포함하며, 동시에 처리기는 슬리프하기 시작한다. 상기 동작은 스텝(1906)에서 인터페이스 장치(141)의 실행을 리줌한다. 인터페이스 장치(141)는 일련순서 관련 포트(202)의 포트 구성부(380)의 상태 지시기(387)를 다시 체크하여 스텝(1907)에서, 포트가 단속된 것으로 표시되는가를 결정하다. 만약, 단속된 것으로 되면, 인터페이스 장치(141)는 스텝(1908)에서, 에러 표시로서 인식 처리기(140)로 귀환한다.
만약 포트(202)가 스텝(1907)에서 단속되지 않거나, 입력 순서(143)가 스텝(1901)에서 빈 것으로 되지 않으면, 인터페이스 장치(141)는 입력 순서 언로드 포인터(353)에 의해 지적되는 입력 순서 데이타 입력(354)을 판독하며, 스텝(1909)에서, 포인터(353)가 다음 순서(354)로 포인트한다. 인터페이스 장치(141)가 입력 순서 충만 플랙(348)을 체크하여, 스텝(1910)에서, 입력 순서(143)가 충만된 것으로 플래그된다. 플랙(348)은 카운터 플랙이며, 인터페이스 장치(141)는 스텝(1910)에서, 플랙(348)이 비 제로값을 가지는가를 체크한다. 만약, 가지면, 플랙(348)은 세트된 것으로 고려되며, 인터페이스 장치(141)는 (1911)에서 플랙(348)을 감소시켜서, 스텝(1909)에서, 데이타 입력(354)이 입력 순서(143)로부터 제거되는 것을 반영한다.
인터페이스 장치는 플랙을 다시 체크하여 스텝(1912)에서 0으로 감소되는가를 결정한다. 만약 감소된다면, 충분한 입력(354)이 입력 순서(143)로부터 제거되며, 선서(143)는 새로운 순서(354)로 수신하기 시작한다. 따라서, 인터페이스 장치(141)는 스텝(1913)에서, 포트의 포트 구성부(380)의 출력순서 포인터(381)에 의해 확인되는 출력 순서(144)는 데이타 입력(317)에서 상술된 재개시메시지를 구성한다. MSBI(146)는 출력 순서 제어 구성부(300)의 타스크 플랙(305)을 세트하여, 출력 순서(144) 처리를 트리거하여, 스텝(1914)에서, 채널(201)과 관련된 포트의 다른 종단에서 처리기(101)에 재개시 메시지를 전송한다.
스텝(1914)을 따르거나, 또는 입력 순서(143)의 플랙(348)같이 스텝(1912)에서 비제로 또는 스텝(1910)에서 제로로 정해지면, 인터페이스 장치(141)는 스텝(1909)에서 판독되는 데이타 입력의 입력 순서의 버퍼 어드레스 워드(355)를 가진 호출 처리기(140)로, 스텝(1915)에서 귀환한다.
제24도에는 MSBI(146)로부터 인터럽트를 수신하기 위해 인터페이스 장치(141)의 인터럽트 처리기에 의해 응답이 도시되어 있다. 상술한 바와 같이, 인터럽트의 발생은 순서(142)에 응답하여 사용자 입력(362)의 구성에 의해 진행된다. 스텝(2000)에서, 인터럽트의 수신에 응답하여, 인터럽트 처리기는 스텝(201)에서, 로드 포인터(360)를 언로드 포인터(361)와 비교함으로 응답 순서(142)가 비어 있는가를 체크한다. 만약, 언로드 포인터(361)가 로드 포인터(360)에 포인터되는 순서(362)를 즉시 처리하는 순서(362)를 포인트하면, 순서(142)는 비어지며, 인터럽트 처리기는 스텝(2002)에서, 인터럽트되는 인터페이스 장치(141)의 동작으로 치환한다. 만약, 순서(142)가 비어있지 않으면(인터럽트의 수신을 즉시 따르지 않음), 인터럽트 처리기는 스텝(2003)에서, 언로드 포인터(361)에 의해 포인터되는 응답 순서 사용자 입력(362)을 판독하여, 스텝(2004)에서 포인터(361)로 진행되어 다음의 응답 입력(362)을 포인트한다. 인터럽트 처리기는 판독 응답 입력(362)의 택 워드(370)을 조사하여 스텝(2005)에서 입력 타임을 결정한다.
만약, 타임이 입력이면, 입력 순서(143)에 대한 패킷의 수신을 인식하며, 인터럽트 처리기에서 입력을 동시에 세트시키거나 역순되게 하는 처리 대기 지시기(350)를 구비한다. 입력 순서(143)가 처리기에 대하여 서비스 루틴을 가질때 동시에 역순이 되며, 상기 루틴은 직접 인터럽트 처리기가 직접 호출하게 한다. 인터럽트 처리기는 응답 입력(362)의 데이타 워드(371)를 조사하여 대상 입력 순서(143), 동일 입력 순서(143)에 관련된 포트(202)의 포트 구성부(380)의 채널 타입 표시기(385)를 억세스하며, 지시기(385)를 조사하여, 포트(202)와 관련된 채널(201)이 스텝(2006)에서 동시에 역순으로 되는 비동기 채널인가를 결정한다. 만약, 비동기 채널이면, 인터럽트 처리기는 스텝(2007)에서, 대기 루틴을 호출하며, 스텝(2001)으로 귀환하게 한다. 만약 그렇지 않으면, 인터럽트 처리기는 처리기를 웨이크업시키거나 입력 순서(143)상의 슬리핑을 처리하며, 스텝(2008)에서 입력 순서(143)와 관련된 처리기 ID의 리스트에 의해 확인된다. 처리기는 종래의 방법으로 인식된다. 다음에 인터럽트 처리기는 스텝(2001)으로 귀환한다.
만약 스텝(2005)에서, 입력 타입이 출력으로 정해지면, 응답 입력(362)은 처리 대기 플랙(313) 세트를 가진 출력 순서(144)의 데이타 입력(317)에 관련된 패킷을 전송한다. 상기 인터럽트 처리기는 응답 입력(362)의 데이타 워드(371)를 조사하여, 출력 순서(143)를 확인하며, 스텝(2008)에서 출력 순서(143)상에서 슬리핑하는 처리기(140)를 웨이크업 시킨다. 다음에 인터럽트 처리기는 스텝(2001)으로 귀환한다.
스텝(2005)에서, 입력 타입이 입력 또는 출력과는 다른 것으로 정해지면, 스텝(2009)에서, 인터럽트 처리기는 입력 타입에 적절한 입력(362)을 처리한다. 예로서, 인터럽트 처리기는 응답 입력(362)이 처리기(101)의 단자상에 프린트되게 한다. 다음에 인터럽트 처리기는 스텝(2001)으로 행한다.
물론 본 발명의 분야에 숙련된 사람은 상기 실시예를 다양하게 변경 및 변화시킬 수 있다. 상기 변경 및 변화는 본 발명의 정신 및 범주 및 장점을 감소시키지 않고도 가능하다. 상기 모든 변경 및 변화는 첨부된 청구범위에 속한다.

Claims (13)

  1. 통신매체(150)와 상기 매체에 통신 가능하게 접속된 다수의 스테이션(101)을 갖는 시스템을 위한 스테이션에 있어서, 스테이션과 관련된 제1 및 제 2 우선순위중의 어느 하나에 따라 매체에 억세스를 색출하는 제 1 수단(110 : 1301 내지 1305 및 1314)을 구비하며, 제 2 우선순위는 제 1 우선순위보다 놓으며 ; 매체상의 제1 및 제 2 형태중의 어느 하나의 메세지를 다른 스테이션에 전송하기 위해 상기 제 1 수단에 의해 찾아진 억세스를 얻는데 응답하는 제 2 수단(110 : 1306 내지 1308)과 ; 다른 스테이션으로부터 매체상에 수신된 제 1 형태의 메세지를 기억하기 위한 제 3 수단(110 : 923 및 1410 내지 1412)과 ; 제 1 형태의 메세지와 별도로 다른 스테이션으로부터 메체상에 수신된 제 2 형태의 메세지를 기억하는 제 4 수단(110 : 918 및 1410 내지 1412)과 ; 제 1 수단이 제 1 우선순위에 따른 매체 억세스를 색출하게 하고, 제 2 수단이 제 1 형태의 메세지를 전송하게 하는 제 5 수단(114, 제 8 도 내지 11도)과 ; 제 1 수단이 제 2 우선순위에 따른 매체 억세스를 색출하게 하고, 제 2 수단이 제 2 형태의 메세지를 제 2 스테이션에 전송하게 하기 위해 제 3 수단에 기억되어 있고 제 2 수단으로부터 수신된 메세지에 응답하는 제 6 수단(143, 제18도에 내지 20도)를 구비하는 것을 특징으로 하는 통신 시스템용 스테이션.
  2. 제 1 항에 있어서, 상기 제 3 수단은 ; 제 3 수단에 기억된 메세지가 제 1 형태의 조건에 의해 영향을 받는가를 판단하는 제 7 수단(1214 : 1411)과 ; 메세지가 제 1 형태의 조건에 의해 영향을 받은 것으로 판단되었을 때 매체상에 제 1 신호를 전송하기 위해 제 7 수단과 상호 작용하는 제 8 수단(1214 : 1412)을 포함하며 ; 상기 제 5 수단은 ; 제 1 신호의 수신동안 제 2 수단에 의해 전송된 제 1 형태의 메세지의 재전송을 하게 하기 위해 매체상에서 제 1 신호의 수신에 응답하는 제 9수단(618,620)을 포함하는 것을 특징으로 하는 통신 시스템용 스테이션.
  3. 제 2 항에 있어서, 상기 제 6 수단은 ; 제 3 수단으로부터 제거된 메세지를 나타내는 정보를 기억하는 제10수단(143)과 ; 제 2 스테이션으로부터 수신되어 내부에 기억된 메세지를 제 3 수단으로부터 제거하기 위한 제11수단(1504,1514, 제19도)과 ; 제거된 메세지가 제 2 형태의 조건에 의해 영향을 받았는가를 판단하는 제12수단(1514)과 ; 제거된 메세지가 제 2 형태의 조건에 의해 영향을 받지않은 것을 판단된 경우 제10수단에 제거된 메세지를 나타내는 정보를 선택적으로 기억하며, 제 2 형태의 조건에 의해 영향을 받은 경우 제거된 메세지를 무시하는 제13수단과 ; 제거된 메세지가 제 2 형태의 조건에 의해 영향을 받은 것으로 판단된 경우 제 1 수단이 제 2 우선순위에 다른 매체 억세스를 색출하게 하고, 제거된 메세지 긍정 인식을 전달하는 제 2 형태의 메세지를 제 2 스테이션에 제 2 수단이 전송하도록 하며, 제거된 메세지가 제 2 형태의 조건에 의해 영향을 받고, 제 8 수단이 영향을 받은 메세지의 수신동안 매체상에 제 1 신호를 전송하지 않는 경우, 제거된 메세지의 부정 인식을 전달하는 제 2 형태의 메세지를 제 2 수단이 제 2 스테이션에 전송하게 하고, 제 1 수단이 제 2 우선순위에 따른 매체 억세스를 색출하게 하는 제14수단을 포함하는 것을 특징으로 하는 통신 시스템용 스테이션.
  4. 제 2 항에 있어서, 상기 제 6 수단은 ; 제 3 수단으로부터 제거된 메세지를 나타내는 정보를 기억하는 제10수단(143)과 ; 제 2 스테이션으로부터 수신되어 내부에 기억된 메세지를 제 3 수단으로부터 제거하는 제11수단(1504,1515, 제19도)과 ; 제거된 메세지가 제 2 형태의 조건에 의해 영향을 받았는가를 결정하는 제12수단(1505,1509,1514,1518)을 포함하며, 제 2 형태의 조건은 제 1 형태의 조건을 포함하며 ; 제거된 메세지가 제 2 형태의 조건에 의해 영향을 받지 않은 것으로 판단될 경우 제10수단에서 제거된 메세지를 나타내는 정보를 기억하며, 제 2 형태의 조건에 의해 영향을 받은 것으로 판단되는 경우 제거된 메세지를 무시하는 제13수단(1504,1515,1506,1526,1508,1510,1516,1517,1501)과, 제거된 메세지가 제 1 형태의 조건에 의해 영향을 받지 않은 것으로 판단된 경우 제 1 수단이 제 2 우선순위에 따른 매체 억세스를 색출하게 하고 제 2 수단이 제 2 형태의 메세지를 제 2 스테이션에 전송하게 하는 제14수단(1502,1532,1545,1547)을 포함하는 것을 특징으로 하는 통신 시스템용 스테이션.
  5. 제 3 항에 있어서, 제 5 수단은 ; 다른 스테이션의 다른 제10수단과 각각 관련되게 하고 제 2 수단에 의해 관련된 제10수단에 전송을 위한 메세지를 나타내는 정보를 기억하는 다수의 제15수단(144)과 ; 인식이 전달되었는가를 판단하기 위해 제 4 수단으로부터 기억된 메세지를 제거하기 위해 제 4 수단에 의해 메세지를 기억하는데 응답하는 제16수단(621 내지 623)과 ; 상기 인식이 긍정으로 판단된 경우 제 4 수단으로부터 제거된 메세지에 의해 인식된 메세지를 나타내는 정보를 제10수단으로부터 제거하고, 상기 인식이 부정으로 판단된 경우 제 4 수단으로부터 제거된 메세지에 의해 인식된 메세지를 나타내는 정보를 기억하는 제10수단에 의해 기억된 정보로 표시된 메세지의 전송을 지연하는 제17수단을 포함하는 것을 특징으로 하는 통신 시스템용 스테이션.
  6. 제1 항에 있어서, 제 6 수단은 ; 제 2 스테이션으로부터 수신되어 제 3 수단에 기억된 메세지가 제 1 형태의 조건에 의해 영향을 받았는가를 판단하기 위한 제 7수단(1504,1514,1515, 제19도)과 ; 상기 인식이 제 1 형태의 조건에 의해 영향을 받지 않은 것으로 판단된 경우 제 1 수단이 제 2우선 순위에 따른 매체 억세스를 색출하게 하고, 제 2 스테이션으로부터 수신되어 제 3 수단에 기억된 메세지의 긍정 인식을 전달하는 제 2 형태의 메세지를 제 2 스테이션에 전달하게 하며, 상기 인식이 제 1 형태의 조건에 의해 영향을 받은 것으로 판단한 경우 제 1 수단이 제 2 우선순위에 따라 매체 억세스를 색출하게 하며, 제 2 스테이션으로부터 수신되어 제 3 수단에 기억된 메세지의 부정 인식을 전달하는 제 2 형태의 메세지를 제 2 수단이 제 2 스테이션에 전달하게 하기 위해 제 7 수단과 상호 작용하는 제 8수단(1502,1532,1545,1547)을 구비하며 ; 제 5 수단은 ; 제 4 수단에 의해 기억된 메세지에 응답하고 부정 인식 메세지의 재전송을 하기 위해 메세지의 부정 인식을 전달하는 제 9 수단(621 내지 625)을 구비하는 것을 특징으로 하는 통신 시스템용 스테이션.
  7. 제 6 항에 있어서, 제 6 수단은 제 3 수단으로부터 제거된 메세지를 표시하는 정보를 기억하는 제10수단(143)을 구비하며, 제 7 수단은 내부에 기억된 메세지를 제 3 수단으로부터 제거하기 위한 제11수단(1504,1515, 제19도)과, 제거된 메세지가 제 1 형태의 조건에 의해 영향을 받았는가를 판단하기 위한 제12수단(1514)과 ; 제거된 메세지가 제 1 형태의 조건에 의해 영향을 받지 않은 것으로 판단된 경우, 제10수단에 제거된 메세지를 표시하는 정보를 선택적으로 기억하며, 제거된 메세지가 제 1 형태의 조건에 의해 영향을 받은 것으로 판단된 경우 제거된 메세지를 무시하는 제14수단(제19도)을 구비하는 것을 특징으로 하는 통신 시스템용 스테이션.
  8. 제 7 항에 있어서, 제 5 수단은 관련 제 8 수단으로 제 2 수단에 의해 전송을 위한 메세지를 표시하는 정보를 기억하고, 다른 스테이션의 다른 제10수단과 각각 관련된 다수의 제15수단(142)을 구비하며 ; 제 9 수단은 상기 인식이 긍정인 것으로 판단된 경우 제 4 수단으로부터 제거된 메세지에 의해 인정된 메세지를 표시하는 정보를 제15수단으로부터 제거하며, 상기 인식이 부정인 것으로 판단된 경우 제 4 수단으로부터 제거된 메세지에 의해 인정된 메세지를 나탸내는 정보를 기억하기 위해 제15수단에 의해 기억된 정보로 표시되는 메세지의 전송을 지연시키기 위해 제16수단과 상호 작용하는 제17수단(624,625)을 구비하는 것을 특징으로 하는 통신 시스템용 스테이션.
  9. 상기 매체는 다수의 논리 통신 선로(200,201)으로 한정되는 제 1 항의 스테이션에 있어서, 제 5 수단은 통신 시스템의 다수 스테이션의 다른 스테이션에 연장된 다른 논리 선로와 각각 관련된 다수의 출력 열(144)을 포함하여 , 출력 열은 관련 논리 선로를 통한 전송을 위해 제 1 형태의 패킷을 규정하는 입력 순서(317)를 기억하며 ; 제 6 수단은 통신 시스템의 다수의 스테이션의 다른 스테이션의 출력 열로부터 연장된 다른 논리 선로와 각각 관련된 다수의 입력 열(143)을 포함하며, 각 입력열은 관련 논리 선로를 통한 전송을 위해 제 1 형태의 패킷을 각각 나타내는 입력 순서(354)를 기억하며 ; 제 2 수단은 매체상에서 전송을 위한 패킷을 버퍼시키기 위한 제 1 메모리(921)를 포함하며 ; 제 3 수단은 매체상에서 수신된 제 1 형태의 패킷을 버퍼시키기 위한 제2메모리 수단(923)을 포함하며 ; 제 4 수단은 매체상에서 수신된 제 2 형태의 패킷을 버퍼시키기 위한 메모리 수단(918)을 포함하며 ; 제 5 수단은 출력 열의 입력 순서에 의해 규정된 패킷을 제 1 메모리에 기억시키고 출력 열의 관련 논리 선로를 확인하는 제 7 수단에(제 8 도 내지 제11도)을 포함하며 ; 제 1 수단은 제 1 형태의 패킷을 제 1 메모리에 있는 기억부에 응답하여, 제 1 우선순위 관련 스테이션에 따라 매체에 억세스하기 위해 경쟁을 하며, 또한 제 1 메모리 수단에 있는 제 2 형태의 패킷에 응답하여 제 2 우선순위 관련 스테이션에 따라 매체에 억세스를 위해 경쟁을 하며, 제 2 우선순위는 제 1 우선순위보다 높으며 ; 제 2 수단은. 매체상을 통해 제 1 메모리 수단에 기억된 패킷을 전송하기 위해 제 2 작동 수단에 의해 매체에 억세스를 얻는데 응답하는 제 9수단(1214 : 1306 내지 1308)을 포함하며 ; 제 3 수단은 제 2 메모리 수단에서 수신되어 기억하기 위해 제 1 형테의 패킷 수신에 응답하며, 수신된 패킷을 제 3 메모리 수단에 기억하기 위해 제 2 형태의 패킷의 수신에 응답하는 제10수단(1214 : 1410 내지 1412)을 포함하며 ; 제 6 수단은 제 2 메모리 수단으로부터의 수신된 패킷을 제거하며, 제거된 패킷을 표시하는 입력 순서를 제거된 패킷에 의해 확인된 논리 선로와 관련된 입력 열에서 형성된 패킷에 응답하는 제11수단으로 포함하며, 제거된 패킷을 인식하는 제 2 형태의 패킷을 제 1 메모리 수단에 기억하기 위해 제11수단과 상호 작용하는 제12수단(1502,1532,1545 내지 1547, 제21도)을 포함하는 것을 특징으로 하는 통신 시스템용 스테이션.
  10. 제 9 항에 있어서, 제11수단은 ; 제거된 패킷이 제 1 조건의 발생에 의해 영향을 받았는가를 결정하는 제13수단(1514)과 ; 제거된 패킷이 제 1 조건의 발생에 의해 영향을 받지 않은 경우 제거된 패킷을 규정하는 입력을 제거된 패킷에 의해 식별된 논리 선로와 관련된 입력 열에 기억시키고, 제거된 패킷이 제 1 조건의 발생에 의해 영향을 받은 경우 제거된 패킷을 무시하는 제14수단을 구비하며, 제12수단은 제거된 패킷이 제 1 조건의 발생에 의해 영향을 받지 않은 경우, 제거된 패킷의 긍정 인식을 전달하는 제 2 형태의 패킷을 제 1 메모리 수단에 기억시키며, 제거된 패킷이 제 1 조건의 발생에 의해 영향을 받은 경우 제거된 패킷의 부정 인식을 전달하는 제 2 형태의 패킷을 제 1 메모리 수단에 기억하는 제15수단(1532,1545 내지 1547)을 구비하며 ; 제 5 수단은 제거된 패킷이 긍정 인식을 전달하는 경우 제 1 형태의 인식 패킷을 규정하는 입력을 출력 열로부터 제거하는 제거된 패킷에 응답하며 제 3 메모리로부터 제 2 형태의 수신 패킷을 제거하며, 제거된 패킷이 부정 인식을 전달하는 경우 출력 열의 입력 순서에 의해 규정된 패킷의 전송을 지연시키는데 응답하는 제16수단(622 내지 625)을 구비하는 것을 특징으로 하는 통신 시스템용 스테인션.
  11. 통신 매체(150)에 접속되어 제1 및 제 2 형태의 메세지를 전송 및 수신하기 위해 다수의 스테이션 사이에서 통신 방법에 있어서, (a) 제 1 우선순위 제 1 스테이션과 관련된 제1 및 제 2 우선순위에 따른 매체에 제 1 스테이션으로부터의 억세스를 색출하는 단계(1301 내지 1305,1314)와 ; (b) 매체에 억세스를 얻음과 동시에 제 1 스테이션으로부터 매체상을 통해 제 2 스테이션에 제 1 형태의 메세지를 전송하는 단계(1306 내지 1308)와 ; (c) 제 1 기억 수단(923)에서 제 2 스테이션에 제 1 형태의 전송된 메세지를 수신하는 단계를 구비하며 제 2 스테이션은 제 2 형태의 메세지를 별도로 수신하기 위해 제 2 기억(918) 수단을 가지고, 제 1 형태의 메세지를 수신하기 위해 제 1 기억 수단(918)을 가지며, (d) 제 1 형태의 메세지 수신에 응답하여 제 2 우선순위, 제 2 스테이션과 관련된 보다 낮은 제1 및 제 2 우선순위에 따라 제 2 스테이션으로부터 매체상에 억세스를 색출하는 단계(1301 내지 1305,1314)와 ; (e) 매체상의 억세스를 획득함에 따라 제 2 스테이션으로부터 제 1 스테이션 상에 제 2 형태의 메세지를 전송하는 단계(1306 내지 1308)와 ; (f) 제 2 기억 수단(918)에 있는 제 1 스테이션에 제 2 형태의 메세지를 수신하는 다계를 구비하며, 제 1 스테이션은 제 1 형태의 메세지를 수신하기 위해 제 1 기억 수단(923)을 가지며, 제 2 형태의 메세지를 별도로 수신하기 위한 제 2 기억 수단을 갖는 것을 특징으로 하는 다수의 스테이션 사이의 통신 방법.
  12. 제11항에 있어서, 상기 단계(e)는 ; (g) 제 2 스테이션의 제 1 기억 수단에 의해 수신된 메세지가 제 1 형태의 조건에 의해 영향을 받았는가를 결정하는 단계(154)와 ; (h) 수신된 메세지가 영향을 받은 단계를 결정하는데 응답하여 제 2 스테이션에서 영향을 받은 메세지를 무시하는 단계(1530)와 ; (i) 매체상에 억세스를 획득함과 동시에 수신된 메세지가 제 1 형태의 조건에 의해 영향을 받지 않은 경우 제 1 형태의 수신된 메세지의 긍정 인식을 전달하는 제 2 형태의 메세지를 제 2 스테이션으로부터 제 1 스테이션에 전송하는 단계(1545,1547, 제21도)와 ; (j) 매체에 억세스를 획득함과 동시에 만약 수신된 메세지가 제 1 형태의 조건에 의해 영향을 받은 경우 제 1 형태의 수신된 메세지의 부정 인식을 전달하는 제 2 형태의 메세지를 제 2 스테이션으로부터 제 1 스테이션으로 전송하는 단계(1532)와 ; (k) 부정 인식을 전달하는 제 2 형태의 메세지의 수신에 응답하여 제 2 스테이션에 부정 인식 전송 메세지를 재전송하기 위해 제 1 스테이션에 단계(a) 및 (b)를 반복하는 단계를 구비하는 다수의 스테이션 사이의 통신 방법.
  13. 다수의 스테이션이 기억 수단(918,921,923)과 입력 및 출력 열(143,144)를 가지며, 통신 매체는 다수의 논리 통신 선로(200,201)을 규정하는 제11항의 방법에 있어서, 단계(a)는 ; 제 1 스테이션으로부터 다른 스테이션으로 연장된 다른 논리 선로와 관련된 다수의 출력 열의 출력 열(44)의 입력 순서로부터 제 1 형태의 패킷을 제 1 스테이션의 제 1 기억 수단(921)에 형성하는 단계를 구비하며, 입력 순서를 기억하는 각 출력 열은 관련 논리 선로를 통해 전송을 위한 제 1 형태의 패킷과 관련 열 논리 선로를 확인하는 패킷을 규정하며 ; 제 1기억 수단에 있는 패킷의 정보에 응답하여 제 1 우선순위, 제1 및 보다 높은 제 1 스테이션과 관련된 제 2 우선순위에 따라 제 1 스테이션에서 매체에 억세스(1301 내지 1305,1314)를 색출하는 단게를 구비하며 ; 단계(b)는 매체에 억세스를 획득함과 동시에 매체상에서 제 1 기억 수단으로부터 형성된 패킷을 제 2 스테이션에 전송하는 단계를 구비하며 ; 단계(c)는 제 2 기억 수단(923)에 있는 제 2 스테이션에서 제 1 형태의 전송된 패킷을 수신하는 단계를 구비하며, 제 2 스테이션은 제 1 형태의 패킷을 수신하기 위한 제 2 기억 수단과 제 2 형태의 패킷을 수신하기 위한 제 3 기억 수단을 가지며 ; 수신된 패킷에 의해 확인된 논리 선로와 관련된 입력 열(143)에서, 제 2 기억 수단에 수신된 제 1 형태의 패킷을 나타내는 입력 순서를 형성하는 단계를 구비하며, 상기 입력 열은 다른 스테이션의 출력 열로부커 제 2 스테이션까지 연장된 다른 논리 통신 선로와 관련된 다수의 입력 열이며, 입력 순서를 기억하는 각 입력 열은 관련 논리 선로를 통해 수신된 제 1 형태의 패킷을 나타내며 ; 단계(d)는 제 2 기억 수단에서 수신된 제 1 형태의 패킷을 인식하는 제 1 형태의 패킷을 제 2 스테이션의 제 1기억 수단에 형성하는 단계와 ; 제 1기억 수단에서 패킷의 형성에 응답하여, 제 2 우선순위, 제 2 스테이션과 관련된 보다 낮은 제1 및 제 2 우선순위에 따라 매체에 제 2 스테이션에서 억세스를 색출하는 단계(1301 내지 1305,1314)를 구비하며 ; 단계(e)는 매체 억세스를 획득함에 따라 제 1 기억 수단으로부터 매체를 통해 제 1 스테이션으로 형성된 패킷을 전송하는 단계(1306 내지 1308)를 구비하며 ; 단게(f)는 제 3 기억 수단(918)에서, 제 1 스테이션에 있는 제 2 형태의 전송된 패킷을 수신하는 단계를 구비하며, 재 1 스테이션은 제 1 형태의 패킷을 수신하기 위한 제 2 기억부와 제 2 형태의 패킷을 수신하기 위한 제 2 기억부를 가지며 ; 제 2 형태의 패킷 수신에 응답하여, 제 1 형태의 인식된 패킷을 나타내는 입력 순서를 출력 열로부터 제거하는 단계를 구비하는 것을 특징으로 하는 다수의 스테이션 사이의 통신 방법.
KR1019870014589A 1986-12-22 1987-12-21 통신 시스템용 스테이션 및 그 통신방법 KR960012686B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/941,702 US4914653A (en) 1986-12-22 1986-12-22 Inter-processor communication protocol
US941702 1986-12-22

Publications (2)

Publication Number Publication Date
KR880008565A KR880008565A (ko) 1988-08-31
KR960012686B1 true KR960012686B1 (ko) 1996-09-24

Family

ID=25476926

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870014589A KR960012686B1 (ko) 1986-12-22 1987-12-21 통신 시스템용 스테이션 및 그 통신방법

Country Status (7)

Country Link
US (1) US4914653A (ko)
EP (1) EP0272834B1 (ko)
JP (1) JPS63234343A (ko)
KR (1) KR960012686B1 (ko)
BR (1) BR8706962A (ko)
CA (1) CA1277382C (ko)
DE (1) DE3751091T2 (ko)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051892A (en) * 1989-02-09 1991-09-24 International Business Machines Corp. Full duplex conversation between transaction programs
GB8915136D0 (en) * 1989-06-30 1989-08-23 Inmos Ltd Method for controlling communication between computers
US5475680A (en) * 1989-09-15 1995-12-12 Gpt Limited Asynchronous time division multiplex switching system
JPH03270431A (ja) * 1990-03-20 1991-12-02 Fujitsu Ltd プロセッサ間通信方式
US5048013A (en) * 1990-04-06 1991-09-10 At&T Bell Laboratories Transmission congestion control method and apparatus
FR2662522B1 (fr) * 1990-05-28 1994-08-12 Copernique Dispositif informatique de transfert de donnees en mode rafale.
EP0459877A1 (fr) * 1990-05-28 1991-12-04 Copernique, Societe Anonyme Dispositif informatique de transfert de données en mode rafale
AU630299B2 (en) * 1990-07-10 1992-10-22 Fujitsu Limited A data gathering/scattering system in a parallel computer
JPH077975B2 (ja) * 1990-08-20 1995-01-30 インターナショナル・ビジネス・マシーンズ・コーポレイション データ伝送を制御するためのシステムおよび方法
US5481540A (en) * 1990-08-24 1996-01-02 At&T Corp. FDDI bridge frame learning and filtering apparatus and method
JPH06500655A (ja) * 1990-10-03 1994-01-20 スィンキング マシンズ コーポレーション 並列コンピュータ・システム
DE69129443T2 (de) * 1990-12-14 1999-01-14 Sun Microsystems Inc Verfahren zum Betrieb zeitkritischer Prozesse in einer Fenstersystemumgebung
US5165021A (en) * 1991-01-18 1992-11-17 Racal-Datacom, Inc. Transmit queue with loadsheding
DE69220262T2 (de) * 1991-03-08 1997-09-18 Matsushita Electric Ind Co Ltd Einrichtung zur Datenübertragung
US5313649A (en) * 1991-05-28 1994-05-17 International Business Machines Corporation Switch queue structure for one-network parallel processor systems
US5311510A (en) * 1991-07-30 1994-05-10 The Furukawa Electric Co., Ltd. Data storing system for a communication control circuit
US5257384A (en) * 1991-09-09 1993-10-26 Compaq Computer Corporation Asynchronous protocol for computer system manager
GB2260835A (en) * 1991-10-24 1993-04-28 Ibm Data processing system
DE4139933A1 (de) * 1991-12-04 1993-06-09 Philips Patentverwaltung Gmbh, 2000 Hamburg, De Kommunikationssystem
US5590366A (en) * 1992-05-27 1996-12-31 Digital Equipment Corporation Packet forwarding system for measuring the age of data packets flowing through a computer network
US5428796A (en) * 1992-08-26 1995-06-27 International Business Machines Corporation System and method for regulating access to direct access storage devices in data processing systems
CA2123447C (en) * 1993-09-20 1999-02-16 Richard L. Arndt Scalable system interrupt structure for a multiprocessing system
JPH07105023A (ja) * 1993-09-20 1995-04-21 Internatl Business Mach Corp <Ibm> データ処理システム内でスプリアス割込みを検出するための方法及び装置
US6141689A (en) * 1993-10-01 2000-10-31 International Business Machines Corp. Method and mechanism for allocating switched communications ports in a heterogeneous data processing network gateway
US5469446A (en) * 1994-01-26 1995-11-21 International Business Machines Corporation Retry filter and circulating echo method and apparatus
JPH07262154A (ja) * 1994-03-25 1995-10-13 Fujitsu Ltd プロセッサ間通信制御方式
US5590304A (en) * 1994-06-13 1996-12-31 Covex Computer Corporation Circuits, systems and methods for preventing queue overflow in data processing systems
US5590313A (en) * 1994-06-30 1996-12-31 International Business Machines Corporation Multiple protocol device interface subsystem and method
US5495481A (en) * 1994-09-30 1996-02-27 Apple Computer, Inc. Method and apparatus for accelerating arbitration in a serial bus by detection of acknowledge packets
US5925099A (en) * 1995-06-15 1999-07-20 Intel Corporation Method and apparatus for transporting messages between processors in a multiple processor system
US5875329A (en) * 1995-12-22 1999-02-23 International Business Machines Corp. Intelligent batching of distributed messages
US5815673A (en) * 1996-03-01 1998-09-29 Samsung Electronics Co., Ltd. Method and apparatus for reducing latency time on an interface by overlapping transmitted packets
AU2820697A (en) * 1996-04-30 1997-11-19 3Com Corporation Packet filtering based on socket or application identification
US5841988A (en) * 1996-05-23 1998-11-24 Lsi Logic Corporation Interprocessor communications data transfer and error detection in a multiprocessing environment
US5961605A (en) * 1997-02-06 1999-10-05 Gte Laboratories Incorporated Method and apparatus for acknowledging TCP data packets
US6477584B1 (en) * 1997-03-21 2002-11-05 Lsi Logic Corporation Message FIFO empty early warning method
US5944788A (en) * 1997-03-26 1999-08-31 Unisys Corporation Message transfer system and control method for multiple sending and receiving modules in a network supporting hardware and software emulated modules
US5999969A (en) * 1997-03-26 1999-12-07 Unisys Corporation Interrupt handling system for message transfers in network having mixed hardware and software emulated modules
US5983266A (en) * 1997-03-26 1999-11-09 Unisys Corporation Control method for message communication in network supporting software emulated modules and hardware implemented modules
US6038604A (en) * 1997-08-26 2000-03-14 International Business Machines Corporation Method and apparatus for efficient communications using active messages
US6134244A (en) * 1997-08-30 2000-10-17 Van Renesse; Robert Method and system for optimizing layered communication protocols
US6519686B2 (en) * 1998-01-05 2003-02-11 Intel Corporation Information streaming in a multi-process system using shared memory
DE19807931A1 (de) * 1998-02-25 1999-08-26 Rohde & Schwarz Anordnung zum Optimieren der Datenübertragung über einen bidirektionalen Funkkanal
US7076716B1 (en) * 1998-04-13 2006-07-11 Intel Corporation Early acknowledgement of primary packets
US6490630B1 (en) * 1998-05-08 2002-12-03 Fujitsu Limited System and method for avoiding deadlock in multi-node network
US6260158B1 (en) 1998-05-11 2001-07-10 Compaq Computer Corporation System and method for fail-over data transport
US6209106B1 (en) * 1998-09-30 2001-03-27 International Business Machines Corporation Method and apparatus for synchronizing selected logical partitions of a partitioned information handling system to an external time reference
KR20000027893A (ko) * 1998-10-29 2000-05-15 김영환 Hdlc 통신로로 연결된 두 프로세서간 패킷전송방법
US6513070B1 (en) * 1999-07-21 2003-01-28 Unisys Corporation Multi-channel master/slave interprocessor protocol
US6760855B1 (en) 2000-06-14 2004-07-06 Advanced Micro Devices, Inc. System and method for reducing a ground bounce during write by selectively delaying address and data lines with different multiple predetermined amount of delay
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
US7240347B1 (en) * 2001-10-02 2007-07-03 Juniper Networks, Inc. Systems and methods for preserving the order of data
US7126912B2 (en) * 2002-05-30 2006-10-24 Motorola, Inc. Methods for sequencing datagram transmissions
AU2003298560A1 (en) * 2002-08-23 2004-05-04 Exit-Cube, Inc. Encrypting operating system
US7373432B2 (en) * 2002-10-31 2008-05-13 Lockheed Martin Programmable circuit and related computing machine and method
JP2006518058A (ja) * 2002-10-31 2006-08-03 ロッキード マーティン コーポレーション 改善された計算アーキテクチャ用パイプライン加速器、関連システム、並びに、方法
US7219333B2 (en) * 2002-11-22 2007-05-15 Texas Instruments Incorporated Maintaining coherent synchronization between data streams on detection of overflow
US7406481B2 (en) * 2002-12-17 2008-07-29 Oracle International Corporation Using direct memory access for performing database operations between two or more machines
GB2398650B (en) * 2003-02-21 2006-09-20 Picochip Designs Ltd Communications in a processor array
US7380106B1 (en) * 2003-02-28 2008-05-27 Xilinx, Inc. Method and system for transferring data between a register in a processor and a point-to-point communication link
US7630304B2 (en) * 2003-06-12 2009-12-08 Hewlett-Packard Development Company, L.P. Method of overflow recovery of I2C packets on an I2C router
US7337371B2 (en) * 2003-12-30 2008-02-26 Intel Corporation Method and apparatus to handle parity errors in flow control channels
US7734797B2 (en) * 2004-03-29 2010-06-08 Marvell International Ltd. Inter-processor communication link with manageability port
US7809982B2 (en) * 2004-10-01 2010-10-05 Lockheed Martin Corporation Reconfigurable computing machine and related systems and methods
US7676661B1 (en) * 2004-10-05 2010-03-09 Xilinx, Inc. Method and system for function acceleration using custom instructions
US7831890B2 (en) 2004-10-12 2010-11-09 Aware, Inc. Resource sharing in a telecommunications environment
US8219823B2 (en) 2005-03-04 2012-07-10 Carter Ernst B System for and method of managing access to a system using combinations of user information
US20070147404A1 (en) * 2005-12-27 2007-06-28 Lucent Technologies, Inc. Method and apparatus for policing connections using a leaky bucket algorithm with token bucket queuing
JP2009533973A (ja) 2006-04-12 2009-09-17 アウェア, インコーポレイテッド パケット再送信ならびにメモリの共有
US20090158299A1 (en) * 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed
GB2454865B (en) * 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
US8555292B2 (en) 2008-06-27 2013-10-08 Microsoft Corporation Synchronizing communication over shared memory
US8271996B1 (en) * 2008-09-29 2012-09-18 Emc Corporation Event queues
GB2466661B (en) * 2009-01-05 2014-11-26 Intel Corp Rake receiver
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
US8683498B2 (en) * 2009-12-16 2014-03-25 Ebay Inc. Systems and methods for facilitating call request aggregation over a network
US8629867B2 (en) 2010-06-04 2014-01-14 International Business Machines Corporation Performing vector multiplication
US8692825B2 (en) 2010-06-24 2014-04-08 International Business Machines Corporation Parallelized streaming accelerated data structure generation
US8522254B2 (en) * 2010-06-25 2013-08-27 International Business Machines Corporation Programmable integrated processor blocks
US8370521B2 (en) * 2010-07-27 2013-02-05 Sap Ag Reliable data message exchange
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
US9713093B2 (en) 2011-02-10 2017-07-18 Mediatek Inc. Wireless communication device
US9369172B2 (en) 2011-02-10 2016-06-14 Mediatek Inc. Wireless communication device
US9258030B2 (en) * 2011-02-10 2016-02-09 Mediatek Inc. Wireless communication device
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station
EP2611093B1 (en) * 2011-12-21 2018-11-28 Telefonaktiebolaget LM Ericsson (publ) Technique for handling memory resources of a memory buffer
US9236064B2 (en) 2012-02-15 2016-01-12 Microsoft Technology Licensing, Llc Sample rate converter with automatic anti-aliasing filter
CN108076085A (zh) * 2016-11-10 2018-05-25 北京国双科技有限公司 一种数据传输的方法及数据传输装置
CN113672545B (zh) * 2021-09-03 2023-11-17 国网信息通信产业集团有限公司 双处理器间电力数据的传输方法和装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3447135A (en) * 1966-08-18 1969-05-27 Ibm Peripheral data exchange
GB1441816A (en) * 1973-07-18 1976-07-07 Int Computers Ltd Electronic digital data processing systems
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
SE414087B (sv) * 1977-02-28 1980-07-07 Ellemtel Utvecklings Ab Anordning i ett datorsystem vid utsendning av signaler fran en processor till en eller flera andra processorer varvid prioriterade signaler sends direkt utan tidsfordrojning och oprioriterade signalers ordningsfoljd ...
JPS5458187A (en) * 1977-10-18 1979-05-10 Mitsubishi Electric Corp Priority transmission method of information
JPS56110367A (en) * 1980-02-04 1981-09-01 Mitsubishi Electric Corp Communication controller
US4514728A (en) * 1980-02-25 1985-04-30 At&T Bell Laboratories Store group bus allocation system
US4384323A (en) * 1980-02-25 1983-05-17 Bell Telephone Laboratories, Incorporated Store group bus allocation system
US4814974A (en) * 1982-07-02 1989-03-21 American Telephone And Telegraph Company, At&T Bell Laboratories Programmable memory-based arbitration system for implementing fixed and flexible priority arrangements
US4530051A (en) * 1982-09-10 1985-07-16 At&T Bell Laboratories Program process execution in a distributed multiprocessor system
US4714923A (en) * 1982-11-12 1987-12-22 Motorola, Inc. Method and apparatus for shedding load in a communications controller of a data communications system
JPS59177638A (ja) * 1983-03-29 1984-10-08 Fujitsu Ltd メツセ−ジ優先送出制御方式
US4581734A (en) * 1984-02-14 1986-04-08 Rosemount Inc. Multipriority communication system
US4719621A (en) * 1985-07-15 1988-01-12 Raytheon Company Packet fastbus
US4734696A (en) * 1985-12-02 1988-03-29 Telenex Corporation System and method for transmitting information

Also Published As

Publication number Publication date
JPS63234343A (ja) 1988-09-29
DE3751091T2 (de) 1995-07-06
BR8706962A (pt) 1988-07-26
JPH0550021B2 (ko) 1993-07-27
CA1277382C (en) 1990-12-04
DE3751091D1 (de) 1995-03-30
EP0272834A2 (en) 1988-06-29
EP0272834B1 (en) 1995-02-22
US4914653A (en) 1990-04-03
EP0272834A3 (en) 1990-04-25
KR880008565A (ko) 1988-08-31

Similar Documents

Publication Publication Date Title
KR960012686B1 (ko) 통신 시스템용 스테이션 및 그 통신방법
US5752078A (en) System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US4715030A (en) Local area network bridge
US5020020A (en) Computer interconnect system with transmit-abort function
TWI416334B (zh) 在匯流排上以封包形式傳送來自複數個客戶的資料傳送請求之方法、匯流排介面裝置及處理器
US5187780A (en) Dual-path computer interconnect system with zone manager for packet memory
JP3863912B2 (ja) データ伝送の自動開始装置
US6308218B1 (en) Address look-up mechanism in a multi-port bridge for a local area network
US5878217A (en) Network controller for switching into DMA mode based on anticipated memory overflow and out of DMA mode when the host processor is available
EP0013739B1 (en) Communication controller in a data processing system
JPH0865334A (ja) マルチメディア通信装置及び方法
JPH0786863B2 (ja) マルチプロセツサシステムにおけるプロセツサアクセス制御装置
JPH06309252A (ja) 相互接続インタフェース
GB2282474A (en) Buffer memory management for a computer network.
JPH05153194A (ja) 通信制御装置における緩衝域連鎖の方法およびその装置
US5793994A (en) Synchronous event posting by a high throughput bus
US6301256B1 (en) Selection technique for preventing a source port from becoming a destination port in a multi-port bridge for a local area network
US7065582B1 (en) Automatic generation of flow control frames
CN100469055C (zh) 转发报文的处理方法及处理装置
JP2000083053A (ja) プログラム内蔵方式パケット処理装置
US20050060439A1 (en) Peripheral interface system having dedicated communication channels
JPS63124650A (ja) デジタルトランクインタフェース
US20040230717A1 (en) Processing device
US7869453B2 (en) Apparatus and method for data transfer
JP2001022718A (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
LAPS Lapse due to unpaid annual fee