KR100235584B1 - 동기 신호를 제공하기 위한 스위칭 네트워크 이용 방법 및 스위칭 네트워크 동작 동기화 방법 - Google Patents
동기 신호를 제공하기 위한 스위칭 네트워크 이용 방법 및 스위칭 네트워크 동작 동기화 방법 Download PDFInfo
- Publication number
- KR100235584B1 KR100235584B1 KR1019920010399A KR920010399A KR100235584B1 KR 100235584 B1 KR100235584 B1 KR 100235584B1 KR 1019920010399 A KR1019920010399 A KR 1019920010399A KR 920010399 A KR920010399 A KR 920010399A KR 100235584 B1 KR100235584 B1 KR 100235584B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- controller
- node controller
- packet
- message
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
- Computer And Data Communications (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
본 발명은 메시지를 발신 및 수신하는 사용자 프로세서(72)와 다중 레벨 통신 프로토콜을 이용하는 패킷 스위칭 네트워크(10)간의 인터페이스를 제공하는 동기화된 노드 제어 시스템(66)이다. 사용자 프로세서(72)의 클러스터는 스위칭 네트워크(1)의 게이트웨이(82)와 통신하는 노드 제어기(78)와 각각 관련되어 있다. 각각의 노드 제어기(78)는 노드 제어기(78)들 사이에서 메시지를 통신하기 위한 레벨 2프로토콜과, 상기 사용자 프로세서(72)들 사이에서 메시지를 통신하기 위한 레벨 3프로토콜을 처리하도록 프로그램되어 있다. 각각의 노드 제어기(78)는 또한 노드 제어기 프레임 동안에 프로토콜과 관련된 프로세스의 반복 스케줄을 수행하도록 프로그램되어 있으며, 이에 따라 모든 노드 제어기(78)는 동기화된 처리 스케줄을 따른다. 각각의 노드 제어기(78)는 노드 제어기 프레임 주기 내에서 내부레벨 2동작 및 레벨 3동작을 동기화시키도록, 또한 레벨 2프로세스를 동기화시키도록 프로그래밍되어 있으며, 이에 따라 발신 및 수신 노드 제어기(78)는 패킷 프레임 중에 특정 패킷을 전송할 수 있다.
Description
제1도는 본 발명에 이용된 스위칭 네트워크의 블럭도.
제2도는 노드 제어 시스템의 하나인 노드와 해당 클러스터 프로세서의 블럭도.
제3도는 교환 네트워크의 블럭도.
제4도는 노드 제어기의 블럭도.
제5도는 각각의 노드 제어기에 의해 수행되는 패킷 제어 프로세싱을 나타낸 흐름도.
제6도는 각각의 노드 제어기 내에서 수행되는 패킷 제어, 제2레벨 통신 및 제3레벨 통신 제어 프로세서를 나타낸 도면.
제7도는 발신자(originator) 및 서버(server) 노드 제어기에 의해 수행되는 제2레벨 제어 프로세서를 나타낸 도면.
제8도는 L2 FIFO에서의 발신자 경로 확인 프로세싱을 나타낸 도면.
제9도는 L2 FIFO에서의 서버 경로 확인 프로세싱을 나타낸 도면.
제10도는 L3 이벤트 큐(event queue)에서의 CP 수신 준비 이벤트 프로세싱을 나타낸 도면.
제11도는 L3 이벤트 큐에서의 CP 메시지 이용 가능 이벤트 프로세싱을 나타낸 도면.
* 도면의 주요부분에 대한 부호의 설명
10 : 스위칭 네트워크 66 : 노드 제어기 시스템
82 : 게이트웨이 86 : 교환 제어 시스템
90 : 유지 보수 버스 102 : 유지 보수 제어기
106 : 교환 네트워크 158 : 유지 보수 인터페이스
166 : GW 인터페이스 222 : CP 인터페이스
[발명의 기술 분야]
본 발명은 디지탈 스위칭 네트워크에 관한 것으로, 특히 소스(source)와 수신지(destination)에서 메시지를 처리하는 프로세서의 클러스터(cluster)와 통신 경로를 생성하는 스위칭 네트워크를 인터페이스하는 노드 제어기(node controller)에 관한 것이다.
[발명의 배경]
본원의 출원인 측에 양도된, 발명의 명칭이 "인터프로세서 스위칭 네트워크(Interprocessor Switching Network)"인 미국 특허 제4,885,739 호의 공보에는, 다수의 프로세서들간의 데이터 전송을 처리하기 위한 디지탈 스위칭 네트워크가 기재되어 있다. 이 시스템은 고속 접속율로 다수의 동시 접속을 수용할 수 있도록 설계되어 있다. 접속은 스위칭 매트릭스를 통해 이루어지며, 데이타 전송에는 패킷 스위칭 기술이 이용된다. 상기 스위칭 네트워크는 관련된 감시 및 주변 장치를 가지고 있는 컴퓨터 또는 전화기 시스템과 같은 데이타 스테이션의 분배 시스템 내에서 메시지를 통신하기 위한 접속을 형성하는데 이용된다. 각각의 데이타 스테아션에서는, 프로세서 기초 사용자 장치의 클러스터가 메시지를 발신 및 수신한다.
미국 특허 제4,885,739호의 공보에 기재된 스위칭 네트워크는, 클러스터 프로세서의 노드를 처리하는 노드 제어기, 상기 노드 제어기용 인터페이스를 스위칭 매트릭스에 제공하기 위한 게이트웨이, 교환용 제어 시스템, 및 상기 스위칭 매트릭스를 포함하고 있는 교환기(interchange)를 포함한 여러 가지의 하드웨어 구성에 특징이 있다. 또한, 적어도 3개의 레벨을 가지고 있는 다중 레벨 통신 프로토콜의 이용에 특징이 있다. 제1레벨은 게이트웨이와스위칭 시스템간의 통신을 처리한다. 제2레벨은 노드 제어기들간의 통신을 처리한다. 제3레벨은 클러스터 프로세서들간의 통신을 처리한다.
일반적으로, 미국 특허 제4,885,739호의 공보에 기재된 바와 같은 스위칭 네트워크의 노드 제어기는 인터럽트 구동된다. 인터럽트 신호는 통신 경로를 설정하고 데이타를 송수신하는 프로세스를 트리거(trigger)시킨다. 이 기술은 실용적이지만, 데이타 스테이션의 수가 증가함에 따라 스위칭 처리가 복잡해진다. 각종 제어 메시지 및 데이타 메시지의 발생 및 통신은 처리 비용을 증가시킨다.
증가된 메시지 량의 요구를 충족시키기 위해서, 기존의 시스템은 높은 인터럽트 속도로 실시간 처리를 달성하려는 시도를 한다. 인터럽트는 프로세싱 이벤트(processing event)마다 한번씩 발생된다. 따라서, 발신 클러스터 프로세서로부터의 메시지 전송과 수신지 클러스터 프로세서에서의 메시지 수신 사이의 시간 동안에 다수의 인터럽트가 발생될 수 있다. 인터럽트 속도를 증가시켜서 고속 메시지 처리 속도가 시도되었다. 하지만, 고속 인터럽트 속도가 갖는 문제점은 각각의 인터럽트 주기 동안에 보다 적은 이벤트가 처리될 수 있다는 것이다. 처리되지 않은 이벤트는 나중에 처리하기 위해 큐 처리되어야 한다. 발신 메시지의 속도가 느릴 때에는 "캐치업(catchup) 기간" 동안에 비 큐처리(dequeueing)가 행해진다. 따라서, 대기 시간 및 전체 처리량은 확률과 통계의 함수가 된다.
다량의 메시지를 소정의 시간 내에 처리하기 위해서는 개선된 스위칭 네트워크 이용 방법이 필요하다.
[발명의 개요]
본 발명의 한가지 양태는, 메시지를 발신 및 수신하는 사용자 프로세서와 다중 레벨 통신 프로토콜을 이용하는 패킷 스위칭 네트워크간의 인터페이스를 제공하는 동기화된 노드 제어 시스템이다. 사용자 프로세서의 클러스터는 스위칭 네트워크의 게이트웨이와 통신하는 노드 제어기와 각각 관련되어 있다. 각각의 노드 제어기는 노드 제어기 사이에서 메시지를 통신하기 위한 레벨 2프로토콜과, 상기 사용자 프로세서들 사이에서 메시지를 통신하기 위한 레벨 3프로토콜을 처리하도록 프로그램되어 있다. 각각의 노드 제어기는 또한 노드 제어기 프레임 동안에 프로토콜과 관련된 프로세스의 반복 스케줄을 수행하도록 프로그램되어 있으며, 이에 따라 모든 노드 제어기는 동기화된 처리 스케줄을 따른다. 각각의 노드 제어기는 이들 노드 제어기 프로세스를 처리하기 위한 패킷 제어 회로, 제2레벨 제어 회로, 제3레벨 제어 회로, 및 패킷 데이타 메모리를 가지고 있다. 각각의 노드 제어기 내에서, 패킷 제어 회로, 및 제2 및 제3레벨 제어 회로는 패킷 프레임 중에 동기화된 상호 작용을 수행하도록 프로그램되어 있다. 각각의 노드 제어기의 제2레벨 제어 회로는 또한, 발신 및 수신지 노드 제어기가 동일한 패킷 프레임중에 특정 패킷을 전송할 수 있도록 프로그램되어 있다.
본 발명의 기술적인 이점은 스위칭 네트워크의 고속 시스템 처리량이다. 노드 제어기의 동기화에 의해, 서버 노드 제어기는 발신 노드 제어기가 전송할 메시지를 가지고 있는 동일한 프레임 주기 동안에 메시지를 수신할 준비를 할 수 있다. 프로세싱 이벤트는 랜덤(random) 이벤트 인터럽트에 따라 구성되기 보다는 규칙적으로 발생되는 프레임 내에 구성된다. 결과적으로, 수신지 노드 제어기의 응답 시간이 예측될 수 있고, 이에 따라 소정의 처리량 속도를 충족할 수 있도록 스위칭 네트워크가 보다 쉽게 설계될 수 있다.
[발명의 상세한 설명]
다음은 본 특허 출원에 이용된 약어에 대한 설명이다.
CP : 클러스터 프로세서 CTS : 전송 클리어(clear to send)
OCP : 수신지 클러스터 프로세서 DMA : 집적 메모리 엑세스
FIFO : 선입 선출 메모리 GC : 그룹 제어기
GW : 게이트웨이(gateway) IN : 교환기(interchange)
INC : 교환 제어(interchange control)
MC : 유지 보수(maintenance) 제어기
NC : 노드 제어기 NOP : 무동작(no operation)
0** : 발신, 즉, 발신 노드 제어기 ONC OCP : 발신 클러스터 프로세서
OGC : 발신 그룹 제어기 OGW : 발신 게이트웨이
ONC : 발신 노드 제어기 OPAK : 발신자 경로 확인
PDM : 패킷 데이타 메모리 PKT : 패킷
PKTA : 패킷 확인(packet acknowledgement)
PKTAA : 패킷 확인 확인(packet acknowledgement acknowledgment)
PUA : 패킷 이용 불능(unavailable) RCG : 여분의 코드 발생기
RDY : 준비(ready) RFS : 서비스 요구
RR : 해제 요구 RTS : 전송 요구
RUA : 수신기 이용 불능
S** : 서버, 즉, 서버 노드 제어기 SNC
SGC : 서버 그룹 제어기 SGW : 서버 게이트웨이
SM : 스위치 매트릭스 SN : 스위칭 네트워크
SNC : 서버 노드 제어기 SPAK : 서버 경로 확인
SRD : 서비스 요구 분배기(distributor) TUA : 송신기 이용 불능
[시스템 장치 개요]
제1도는 스위칭 네트워크(SN)(10)와 노드 제어기(NC) 시스템(66)의 블럭도이다. 상이한 NC 시스템을 가지고 있는 SN(10)은 노드 제어기 시스템이 "네트워크 인터페이스"로서 지정된 미국 특허 제4,885,739호의 공보에 기재되어 있다.
NC 시스템(66)은 발명의 명칭이 "개선된 인터프로세서 스위칭 네트워크"인 계류 중인 미국 특허 출원 제07,680,327호(대리인 문서 번호 제36560-1490 호)에 기재된 다른 스위칭 네트워크의 일부이다.
미국 특허 제4,885,739호와 미국 특허 출원 제07/680,327호의 공보는 참조 문헌으로서 본 명세서에 포함된다. 특허된 스위칭 네트워크 또는 계류 중인 특허 출원의 스위칭 네트워크는 본 명세서에서 설명된 NC 시스템(66)을 이용할 수도 있다.
기본적으로, NC 시스템이 이용된 각각의 SN(10)은 다수의 게이트웨이(82), 교환 제어 시스템(86), 교환기(IN)(106) 및 유지 보수 제어기(MC) 시스템(102)을 가지고 있다. 이들 각각은 앞서 서두에 언급한 특허 및 특허 출원에 기재되어 있다. 본 특허 출원의 배경에 기재된 바와 같이, 유사한 특성 및 동작을 가지고 있는 다른 스위칭 네트워크도 NC 시스템(66)을 이용할 수 있다.
제2도는 특정 응용에 이용된 그룹으로 배열되어 있기 때문에, 클러스터 프로세서(CP)(72)로서 기재된 다수의 사용자 프로세서(72)에 접속된 NC 시스템(66)의 하나의 노드의 블럭도이다. CP(72)는 스위칭 네트워크(10)의 일부인 데이타 통신 시스템의 일부분이다. NC 시스템(66)의 일반적인 기능은 통신 경로가 SN(10)을 통해 스위칭되는 CP(72)의 다수의 클러스터들간의 통신은 제어하는 것이다.
NC 시스템(66)은 프로세서 클러스터 버스(74)에 접속된 다수의 노드 제어기(NC)(78)로 구성되어 있다. 각각의 NC(78)는 클러스터의 CP(72)들간의 모든 메시지 트래픽(traffic)을 처리하고, 해당 GW(82)를 통해 클러스터에 대한 메시지 트래픽을 처리하는 역할을 한다. 제2도에 도시된 바와 같이, 각각의 노드는 여분(redundancy)를 위해 한 쌍의 노드 제어기(78)를 가지고 있을 수도 있다.
SN(10)은 적어도 3레벨을 가지고 있는 다중 레벨 통신 프로토콜을 이용한다. 레벨 1(L1) 프로토콜은 GW(82)와 IN(106)간의 통신을 처리하여, CP(72)들 간의 접속을 생성 및 해제한다. 레벨 2(L2) 프로토콜은 NC(78)들간의 통신을 처리한다. 레벨 3(L3) 프로토콜은 CP(72)들간의 통신을 처리한다. 레벨 4(L4) 프로토콜은 유지 보수 기능에 이용된다.
본 발명의 중요한 특징은 노드 제어기 프로세싱의 동기화이다. 이 동기화는 2프레임 주기, 즉 NC 프레임과 패킷 프레임으로 구현된다.
이하에서, NC 프레임 및 패킷 프레임의 이용에 대해, 하나의 시스템으로서의 NC(78)들의 동작을 개별적으로 나타낸 제5도 내지 제7도를 참조하여 설명한다.
NC 프레임은 모든 NC(78)들이 병렬로 수행하는 일련의 프로세싱 단계를 정의한다. 패킷 프레임은 서브세트의 NC 프레임이고, 패킷 전송을 포함하고 있는 일련의 프로세싱 단계를 정의한다.
이와 같은 설명의 일예에서, 상기 NC 프레임은 200 마이크로 초이고, 상기 패킷 프레임은 67 마이크로 초이다. 하지만, 이들 시간 기간은 예를 위한 것이며, 기타 다른 시간 기간이 처리 속도에 대한 하드웨어 제약에 따라 이용될 수 있다.
NC 동기 신호를 발생하는데 이용된 하드웨어는 IN(106)의 블럭도인 제3도에 예시되어 있다. NC 프레임 동기 신호는 NC(78)들을 서로 동기화한다. 이 신호는 예컨대, MC 시스템(102)의 클럭에 의해 NC 시스템(66)의 외부에서 발생되어, IN(106)을 통해 모든 NC(78)에 전송된다. IN(106)내의 레지스터(884a)는 지정된 참조 NC(78)의 어드레스를 기억한다. 교차점 리셋트 스위치(884b)는 기타 다른 모든 NC(78)를 참조 NC(78)에 접속한다. 동기 신호가 모든 NC에 전송되며, 이에 따라 각각의 NC(78)가 NC 프레임을 리셋트시킬 수 있다.
본 발명의 이점은 NC 동기 신호를 구현하는데 기존의 SN(10)이 이용될 수 있다는 것이다. 예컨대, 미국 특허 제4,885,739호의 IN(106)은 1방식(one-way) 메시지용의 어드레스가 제공될 수 있는 내부 레지스터(884a)를 가지고 있다. 교차점 리셋트 스위치(884b)는 교차점 내의 모든 위치에 레지스터(884a)에 저장된 것을 기록하는데 사용된다. 따라서, 모든 노드에 메시지를 동시에 전달하는데 이용될 수 있다. 이들 특징은 동기 신호를 모든 NC(78)에 전달하는데 사용될 수 있다.
[시스템 동작 개요]
하나의 CP(72)로부터 다른 CP(72)로, 즉, 발신 CP(OCP)(72)로부터 수신지 CP(OCP)(72)로 전송될 데이타는 패킷이 되도록 그룹화된다. 이 패킷은 메시지 데이타 뿐만 아니라 제어 데이타를 포함하고 있다. 제어 데이타는 수신지 어드레스를 포함하고 있고, 이에 따라 OCP(72)로부터의 패킷이 SN(10)를 통해 OCP(72)로 라우팅될 수 있다.
OCP로부터 OCP로 메시지를 전달하는 프로세스 동안에, SN(10) 및 NC 시스템(66)에 의해 이용된 프로토콜은 패킷 메시지와는 구별되는, 본 명세서에서 "제어 메시지"라고 하는 각종 요구 및 확인을 포함하고 있다.
게이트웨이(GW)(82), 그룹 제어기(GC)(88), 교환 제어(INC) 시스템(86) 및 IN(106)과 같은 SN(10)의 기타 다른 구성 요소의 기능 및 용어는 바뀔 수도 있지만, NC 시스템(66)의 기본적인 동작은 실질적으로 동일하게 유지된다. 하나의 CP(72)로부터 다른 CP로의 패킷 메시지 전달은 발신 노드 제어기(ONC)(78) 및 서버노드 제어기(SNC)(78)를 포함한다. 이 설명을 위해 "발신자(originator)"는 OCP(72)와 관련된 SN(10)의 서브시스템을 지칭한다. "서버"는 OCP(72)와 관련된 서브 시스템을 지칭한다.
스위칭 프로세스의 일반적인 기술은 메시지를 위해 CP(72)를 폴링(poll)하는 데 이용된다. 클러스터 버스(74)중 하나의 클러스터 버스 상의 발신 CP(OCP)(72)가 다른 클러스터 버스(74) 상의 수신지 CP(OCP)(72)와 통신하기를 원하면, ONC(78)는 메시지를 메모리에 전송하고 이 메시지로부터 수신지를 결정한다.
ONC(78)는 서비스 제어 메시지에 대한 요구를 발신 GW(OGW)(82)에 제공하며, 이에 따라 OGW(82)와 서버 게이트웨이(SGW)(82)간의 접속을 설립하기 위해 SN(10)의 상위 레벨로 서비스 요구를 전달한다. 일단 상기 접속이 설정되면, ONC(78)는 전송을 요구하고, SNC(78)는 확인을 한다. 다음에, ONC(78)와 SNC(78)는 패킷 메시지를 전달한다.
L1 프로토콜의 보다 상세한 설명은 미국 특허 제4,885,739호 및 미국 특허 출원 제07/680,327호의 공보에 기재되어 있다. L2 및 L3 프로토콜은 본 특허 출원의 다음 절에서 보다 상세히 설명된다.
[노드 제어기 장치]
제4도는 NC(78)의 블록도이다. NC(78)의 주요 구성 요소는 패킷 제어 프로세서(PCP)(156). 패킷 데이타 메모리(PDM)(232), L2 서브시스템(40); 및 L3 서브시스템(41)이다. 이들 구성 요소를 NC(78)의 외부에 있는 SN(10)의 구성 요소에 접속하기 위한 인터페이스는 유지 보수 인터페이스(158), CP 인터페이스(222), 및 GW 인터페이스(166)를 포함하고 있다.
PCP(156)는 모토로라 인코포레이티드(Motorola, Inc)에 의해 제조된 32비트 MC 68020 프로세서와 같은 고속 마이크로 프로세서이다. 이 설명의 실시예에서는, 메모리의 4기가(giga) 바이트를 어드레싱할 수 있다. PCP(156)는 데이타 기억용 내부 랜덤 액세스(RAM) 메모리(156a) 및 코드 메모리(156b)를 가지고 있다. 내부 타이밍을 제공하기 위해, PCP(156)는 소정의 간격으로 클럭 인터럽트를 발생하는 카운터-타이머-병렬 I/O 유니트(CIO)(156C)를 포함하고 있다. 이 신호는 NC 프레임 주기를 정의한다.
PCP(156)는 유지 보수 인터페이스(158)를 통해 유지 보수 버스(90)에 접속되어 있다. 또한, PCP(156)는 프로세싱 노드 링크(84)의 일부인 홀드 라인(hold line)(160)에 의해 해당 GW(82)에 접속되어 있다.
PCP(156)의 프로세싱은 2가지 형태, 즉 패킷 제어 프로세싱과 운영 체제 프로세싱으로 나뉠 수 있다. 패킷 제어 프로세싱은 패킷 레벨 메시지 라우팅, PDM(232)의 버퍼 관리, 및 L2 서브 시스템(40) 및 L3 서브 시스템(41)의 초기화를 포함하고 있다. 운영 체제 프로세싱은 통신 체널의 초기화 및 제어 처리를 포함하고 있다.
위에서 설명한 바와 같이, 외부에서 발생된 동기 신호는 SN(10)의 제어를 PCP(156)에 전달하고 NC 프레임 주기를 정의하는 NC 프레임 인터럽트를 제공한다.
PCP(156)는 각각의 프레임의 일부분이 운영 체제 프로그래밍에 할당되도록 프로그래밍 된다. 이 설명의 실시예에서는 각각의 프레임의 10%가 그와 같이 할당된다. 각각의 인터럽트 내에서 일어나는 프로세싱 단계를 제5도를 참조하여 이하에서 설명한다.
PDM(232)은 패킷 데이타용의 중앙 기억 장치를 제공한다. NC(78)에 의해 수신된 패킷은 CP(72)로부터 수신된 경우에는 L3 서브 시스템에 의해, GW(82)로부터 수신된 경우에는 L2 서브 시스템에 의해 PDM(232)에 기억된다.
L2 및 L3 서브 시스템(40,41)은 제어기, 즉, L2 제어기(176)와 L3 제어기(196)를 각각 가지고 있다. 이들 제어기(176,196)는 RAM 기초 상태 제어기이고, RAM은 PCP 인터페이스(168,190)를 통해 PCP(156)에 의해 액세스될 수 있다. 바람직하게, 제어기(176,196)는 상태 제어기 및 PCP(156)에 의해 액세스될 수 있는 이중 포트 RAM을 각각 가지고 있다. 제어기(176,196)는 외부 기준 및 RAM에 기억된 프로그램을 기초로 제어 기능 및 프로그램 점프(jump)를 수행하는 순차 카운팅 및 디코드 논리 회로를 가지고 있다.
L2 서브 시스템(40)은 NC(78)와 관련된 GW(82)와 PDM(232)간의 패킷 데이타 전송을 처리한다. 따라서, L2 서브 시스템(40)은 GW(82)를 통해 SN(10)의 모든 NC(78)들간의 통신을 처리한다. L2 서브 시스템(40)은 L2 제어기(176), L2 트랜스포트(170), L2 PCP 인터페이스(168) 및 L2 FIFO(177)로 구성되어 있다.
L2 제어기(176)는 작업을 수행하도록 프로그램될 수 있다는 점에서 마이크로 프로세서와 유사하다. 하지만 L2 제어기(176)는 이벤트 구동되며, 하나 이상의 인터럽트 처리기를 실행하는 프로세서로서 가장 적합하다. 전송 측에서, L2 제어기(176)는 기능 선택 레지스터를 통해 PCP(156)에 의해 제어된다. 수신 측에서, L2 제어기(176)는 발신자 및 서버 경로 확인(OPAK,SPAK)과 같은 GW(82)로부터의 신호 및 메시지에 의해 제어된다. L2 트랜스포트(170)는 PDM(232)과 GW(82)간의 데이타 전송을 제공하기 위한 직접 메모리 액세스(DMA) 채널이다.
동작 중에, L2 제어기(176)는 NC(78) 및 GW(82)에서 발생된 이벤트의 순서에 따라 패킷 데이타 전송에 대한 L2 트랜스포트(170)을 설정한다. 다음에, L2 트랜스포트(170)는 GW(82)와 PDM(232)간의 데이타 전송을 제어한다. 패킷 레벨 상태 정보는 각각의 NC(78)에 의해 수행되는 처리와 관련하여 후술되는 바와 같이, 하나 이상의 상태 레지스터를 통해 L2 제어기(176)에 의해 PCP(156)로 전송된다.
L2 FIFO(177)는 상태 정보를 PCP(156)로 전달하여, L2 FIFO 처리를 수행한다. 이 프로세스는 제5도 내지 제9도를 참조하여 이하에서 설명된다.
L3 서브 시스템(41)은 PDM(232)와 CP(72)간의 패킷 데이타의 전송을 처리한다. L3 서브 시스템(41)은 L3 제어기(196), L3 트랜스포트(198), L3 PCP 인터페이스(190) 및 L3 FIFO(233)으로 구성되어 있다.
L3 제어기(196)는 작업을 수행하도록 프로그램될 수 있는 마이크로 프로세서와 유사하다. L3 트랜스포트(198)는 L3 제어기(196)의 제어 하에 있는 DNA 채널이다. L3 제어기(196)는 CP(72)와 PDM(232)간의 메시지 전송을 초기화하고, CP(72)의 상태에 의해 지시된 바와 같이 CP(72)에 대해 데이타를 전송하기 위해 L3 트랜스포트(198)을 준비한다. L3 제어기(196)의 이중 포트 RAM은 NC(78)에 의해 제공된 클러스터 버스(74) 상의 각각의 CP(72)의 전용 부분으로 분할된다. PCP(156)는 각각의 CP(72)의 상태에 따라 동작 중에 L3 제어기(196)의 코드를 변경시킨다. 예컨대, L3 제어기(196)는 메시지를 위해 CP(72)를 주사하고, 데이타를 CP(72)로 전송하며, CP(72)로부터의 데이타를 전송할 수 있다. L3 제어기(196)는 이전의 수행으로부터 얻어진, 동작에 좌우되는 코드를 변화시키는 PCP(156)와 함께 각각의 CP(72)에 대해 코드를 직렬로 수행한다.
L3 제어기(196)는 패킷 레벨 상태 정보를 PCP(156)로 전달한다. 또한, L3 제어기(196)는 L3 트랜스포트(198)를 통해 PDM(232)와 PCP(156)간의 패킷을 전송한다.
PCP(156)는 L3 트랜스포트(198)에 의해 PDM(232)에 복사될 데이타를 전송 FIFO(226)에 제공된다. 다음에 이 데이타는 CP(72)로 전송된다. L3 제어기(196) 및 L3 트랜스포트(198)는 PCP(156)가 판독할 수 있도록 L3 FIFO(233)에 데이타를 제공한다. L3 제어기(196)가 클러스터 버스(74)를 폴링할 때, 수신된 데이타를 L3 FIFO(233)로 복사한다. L3 FIFO(233) 및 전송 FIFO(226)는 PCP(156)의 타이밍을 L3 서브 시스템(41)의 타이밍으로부터 분리한다.
PCP(156)는 PCP(156)에 전송되는 상태 정보를 기초로 L2 제어기(176) 및 L3 제어기(196)를 제어한다. 이 상태 정보를 기초로, PCP(156)는 취해진 동작을 결정하는데, 예컨대, CP(72)로부터 수신된 메시지가 상주 CP(72)(NC(78)에 접속된 동일한 클러스터의 일부)에 어드레싱되어 L3 트랜스포트(198)를 통해 클러스터로 다시 전송되어야 하는지, 아니면 메시지가 비상주 CP(72)에 어드레싱되어 L2 트랜스포트(170)를 통해 SN(10)을 거쳐 전송되어야 하는지를 결정한다.
멀티플렉서(230)는 L3 FIFO(230)에 대한 3개의 L3 입력중에서 하나를 선택한다. 제1입력은 데이타 출력 포트의 클러스터 인터페이스(222)에 접속된다. 제2및 제3입력은 L3 제어기(196) 및 L3 트랜스포트(198)에 접속된다.
GW 인터페이스(166)는 NC(78)를 GW 전송 버스(84)에 접속한다. 따라서, GW(82)에 대해 메시지 전송을 수행하는데 이용되고, GW 기능을 제어하는데 이용된다. GW 인터페이스(166)는 L2 인터페이스(168)에 접속된다.
L2 인터페이스(168)는 PCP(156)에 접속된다. 또한 L2 인터페이스(168)는 L2 트랜스포트(170)에 그리고 GW 인터페이스(166)의 데이타 출력에 접속된다. L2 인터페이스(168)는 L2 제어기(176)의 상태 출력에 접속된다.
L2 제어기(176)는 제1제어 출력 및 데이타 포트를 가지고 있고, 이들 둘은 L2 트랜스포트(170)에 접속되어 있다. 멀티플렉서(182)는 상기 데이타 출력으로부터, 그리고 L2 트랜스포트(170)로부터 입력을 수신한다. 멀티플렉서(182)의 출력은 GW 인터페이스(166)에 접속된다.
멀티플렉서(184)는 L2 제어기(176)의 제어 출력으로부터, 그리고 L2 트랜스포트(170)의 제어 출력으로부터 입력을 수신한다. 멀티플렉서(184)는 GW 인터페이스(166)에 접속된 출력을 가지고 있다. GW 인터페이스(166)의 데이타 포트는 L2 트랜스포트(170)에 접속된다.
PCP(156)는 L3 PCP 인터페이스(190)에 접속된다. L3 제어기 데이타 버스(192)는 L3 제어기(196)의 데이타 포트, L3 트랜스포트(198) 및 멀티플렉서(200)에 L3 PCP 인터페이스(190)를 접속한다. 전송 데이타 버스(202)는 L3 제어기(196), 패리티 책커(PC)(204) 및 멀티플렉서(206)에 L3 PCP 인터페이스(190)를 접속한다. 또한 L3 제어기 제어/상태 라인(208)은 L3 PCP 인터페이스(190)를 L3 제어기(196)에 접속한다.
L3 제어기(196)는 멀티플렉서(212)에 접속된 제어 포트를 가지고 있다. 제어 라인(214)은 L3 제어기(196)를 L3 트랜스포트(198)에 접속한다. L3 트랜스포트(198)는 멀티플렉서(200)의 제2입력에 접속된 제2PC(216)에 접속된다. L3 트랜스포트(198)의 제어 포트는 멀티플렉서(212)의 제2입력에 접속된다.
멀티플렉서(200)의 출력은 CP 인터페이스(222)의 데이타 포트에 접속된 제1패리티 발생기(218)에 접속된다. 멀티플렉서(212)의 출력은 CP 인터페이스(222)의 제어 포트에 접속된다. 또한 PC(204)는 CP 인터페이스(222)의 데이타 포트에 접속된다. 클러스터 버스(74)는 CP 인터페이스(222)에 접속된다.
멀티플렉서(206)의 제2입력은 L3 인터페이스(190)에 접속된 전송 FIFO(226)로부터 수신된다. 길이 방향 여분 코드 발생기(RCG)(228)의 출력은 멀티플렉서(206)의 제3입력에 접속된다. RCG(228)의 입력은 멀티플렉서(230) 및 전송 데이타 버스(202)에 접속된다. 또한 멀티플렉서(230)는 L3 제어기 데이타 버스(192) 및 PC(216)에 접속된다. 멀티플렉서(230)의 출력은 L3 FIFO(233)에 접속된다.
L2 트랜스포트(170)는 데이타 포트를 통해 L3 트랜스포트(198) 및 PDM(232)에 접속된다. 어드레스/제어 포트는 입력이 L2 트랜스포트(170) 및 L3 트랜스포트(198)에 접속되어 있는 멀티플렉서(238)에 접속된다.
유지 보수 인터페이스(158)는 SN(10)내의 유지 보수 동작을 수행하는 L4 프로토콜을 지원한다. 상기 인터페이스는 LIFO 버퍼를 가지고 있는 풀 듀플렉스(full-duplex) 고속 병렬 통신 채널로 구성되어 있다. 이들 채널은 유지보수 기능을 처리하는 GC(88)에 PCP(156)를 인터페이스한다.
[노드 제어기 프로세싱의 개요]
바람직한 실시예에서, NC 동작은 하나의 프로세서와 2개의 제어기, 즉 PCP(156)와 L2 및 L3 제어기(176,196)를 포함하고 있는 상기 NC(78)를 이용하여 수행된다. 하지만, 동일한 단계들이 필요한 FIFO 및 기타 다른 하드웨어가 후술되는 설명에 따라 유지되는 한, 다른 하드웨어로 수행될 수 있다. 예컨대, 제어기(176,196)는 프로세스로 대체될 수 있다.
NC 시스템(66)의 동작의 다음의 설명은 각종 소프트웨어와 하드웨어 메모리 구조를 참조한다. 이들은 PCP(156) 및 제어기(176,196)에 의해 유지되는 소프트웨어 구현 데이타 구조 뿐만 아니라 상기 L2 FIFO(177) 및 L3 FIFO(233)를 포함하고 있다. 이들 소프트웨어 데이타 구조는 이미 공지된 프로그래밍 기술에 의해 처리되는 각종 리스트, 버퍼 및 큐를 포함하고 있다. 달리 설명하지 않으면, 상기 소프트웨어 구조는 PCP(156)에 의해 처리된다.
다음의 설명은 본 특허 출원의 서두에 기재된 약어를 이용하지만, 판독의 용이성을 위해 일부 소자 번호가 생략된다. 예컨대, CP(72)는 OCP 및 OCP로 지칭되며, 이들 약자는 각종 메시지 명으로 이용된다.
제5도 내지 제7도에는 NC 동작에 관련된 동기화의 2가지 형태가 예시되어 있다. 동기화는 각각의 NC(78)의 PCP(156), L2 제어기 및 L3 제어기 뿐만 아니라 SN(10)의 NC의 상호 작용에 관계가 있다. 이 동기화는 상기 2개의 프레임 주기, 즉 NC 프레임 주기와 패킷 프레임 주기에 구현된다. 본 설명의 실시예에서, 상기 프레임 주기는 각각 200 마이크로초와 40 마이크로초이다. 각각의 NC 프레임내에서는, 3개의 패킷이 전송된다.
제5도에는 모든 NC(78)가 NC 프레임 동안에 동시에 수행하는 NC 처리 기술이 예시되어 있다. 제5도에 설명된 NC 기술은 각각의 단계가 동시에 일어난다는 의미에서 모든 NC(78)에 공통적이다. 하지만, 각각의 단계에서, 특정 NC(78)의 동작은 NC(78)의 상태에 따라, 예컨대, 서버 또는 발신자 NC(78)인지, 아니면 프레임 주기 동안에 둘 다 아닌지에 따라 달라진다. 각종 프로세스는 각각의 NC 프레임 동안에 1회 이상 발생된다. 특히 L2 FIFO, 계류 서비스 요구 및 L2 제어기 시작 프로세스는 각각 3회 일어나고, L3 FIFO 프로세스는 2회 일어난다.
NC 프레임 동기화는 MC(102)로부터 전달되는 홀드 신호의 부재를 검출할 때 모든 NC(78)에 의해 전송된 레벨 2동기화 메시지에 의해 얻어진다. 전송된 모든 메시지 가운데 실제 전송된 메시지만이 참조 NC(78)로부터의 메시지이다. 이 메시지의 수신시에, 모든 NC(78)가 NC 프레임을 다시 동기화한다.
동기를 유지하기 위해, NC 프레임은 클럭 인터럽트에 의해 구동되며, 여기서는 일예로 200 마이크로초 인터럽트이다. 인터럽트를 발생하는데 이용되는 클럭은 MC(102)로부터 출력되어 IN(106) 및 GWY(82)에 분배된다.
제6도는 각각의 NC(78)내의 처리를 설명하는 도면이다. 이 도면은 처리단계 마다의 시간의 할당을 열거하고 있고, L2 제어기(176), PCP(156) 및 L3 제어기(196)에 의해 수행된 처리의 상호 작용에 관련되어 있다. 제5도와 일치되게, 제6도는 PCP(156)가 각종 처리를 1회 이상 수행함을 나타내고 있다.
제7도는 ONC(78) 및 SNC(78)의 처리, 특히, L2 서브시스템(40)의 처리를 나타낸 도면이다. 설명된 바와 같이 패킷은 1패킷 프레임 주기 동안에 ONC(78)로부터 SNC(78)로 전송된다.
L2 처리에 대해 제6도와 제7도를 비교하면, 제6도는 PCP 상호 작용을 포함하고 있는 단계를 나타내고 있음을 이해해야 한다. OPAK/SPAK 하위 단계는 HOLD 해제로 수행되며, 이때에는 PCP FIFO 데이타가 이용 가능하고 L2 메시지 수신기가 디스에이블된다. HOLD 설정 단계는 OPAK/SPAK 메시지와 함께 수행되며, 이때에는 PCP SPAK 버퍼가 초기화되고, L2 메시지 수신기가 인에이블되며, PCP 요구 버퍼가 초기화된다. 제7도의 단계들은 L2 제어기 동작을 보다 상세히 나타내고 있다. SPAK 확장 기능은 SPAK 버퍼를 처리하고, 서비스 요구 기능은 요구 버퍼를 처리한다.
제5도 내지 제7도를 참조하면, ONC(78)의 동작 측면에서, OCP(72)가 인바운드(inbound) 메시지를 전송하고자 함을 지시하는 플래그를 상태 버퍼에 설정하면, L3 제어기(196)는 CP(72) 주사 동안에 플래그를 검출한다. L3 제어기(196)는 멀티플렉서(230)를 통해 신호를 L3 FIFO(233)에 전송한다. 이 신호에 응답하여, PCP(156)는 L3 제어기(196)의 제어 버퍼를 변화시키며, 이에 따라 L3 제어기(196)의 다음 전달시에 패킷이 L3 트랜스포트(198)를 통해 OCP(72)로부터 PDM(232)측으로 전송된다. 전송을 수행하기 위해, L3 제어기(196)는 PDM(232)내의 어드레스 및 전송될 바이트 수의 카운트를 L3 트랜스포트(198)에 제공된다. 인에이블 신호가 L3 제어기 데이타 버스(192)와 제어 라인(214)를 통해 멀티플렉서(206) 및 L3 제어기(196)에 전송되며, 이에 따라 데이타 전송 경로가 설정된다. L3 트랜스포트(198)는 데이타를 PDM(232)에 전송하는데 필요한 제어 신호를 발생한다.
OCP(72)로부터의 데이타가 ONC(78)의 PDM(232)에 저장된 후에, PCP(156)는 PDM(232)로부터 GW 인터페이스(166)측으로 데이타를 전송할 것을 L2 제어기(176)에 명령한다. L2 제어기(176)는 L3 제어기(196)와 유사한 방식으로 동작한다.
PDM(232)로부터 GW 인터페이스(166)측으로 데이타를 전송하기 위해, L2 제어기(176)는 L2 트랜스포트(170)에서 전송을 초기화한다. L2 제어기는 어드레스 포인터와 전송될 바이트의 카운트를 L2 트랜스포트(170)로 전송하지만, SN(10)을 통한 패킷 접속이 제공될 때까지 전송을 수행하지 않는다.
2개의 NC(78)가 접속되면, SNC(78)는 서버 경로 확인(SPAK) 신호를 수신하고, 홀드 신호를 제공하여, L2 메시지 수신기를 인에이블시킨다. ONC(78)는 SPAK를 수신하고, 홀드를 제공하여, L2 메시지 수신기를 인에이블시킨다.
다음에, ONC(78)의 PCP(156)는 ONC(78)를 트리거하여, 서비스 요구(RFS)를 제공하는 서비스 요구 PCP 기능 버퍼를 실행시킨다. SNC(78)의 PCP(156)는 SNC(78)를 트리거하여, 준비 메시지(RDY)를 ONC(78)에 전송하고, 해제 요구(RR)를 제공하는 SPAK 확장 PCP기능 버퍼를 실행한다.
RDY의 수신시에, ONC(78)는 RDY 및 서버 노드 식별자를 L2 FIFO(177)에 기록하고, SNC(78)측에 (RTS) 메시지를 전송하라는 요구를 전송한다. RTS의 수신에, SNC(78)는 RTS 및 서버 프로세서 식별자를 기록하고, L2 FIFO(177)에 (CTS) 메시지를 ONC(78)에 전송하라는 클리어를 전송하며, 패킷 데이타를 수신하기 위해 L2 트랜스포트(170)를 준비한다.
CTS의 수신시에, ONC(78)는 패킷 데이타를 수반하는 PKT를 전송한다.
패킷 데이타의 완료시에, SNC(78)는 패킷 인식(PKTA)을 ONC에 전송한다. PKTA의 수신시에, SNC(78)는 PKTA를 L2 FIFO(177)에 기록하고, 확인된 패키지 확인(PKTAA)을 SKC(78)에 전송한다. PKTAA의 수신시에, SNC(78)는 PKTAA를 L2 FIFO(177)에 기록한다.
[L2 FIFO 프로세싱]
제5도를 참조하면, NC 처리의 단계(530)는 L2 FIFO(177)를 처리하는 것이다. 제6도 및 제7도는 이 처리에 대해 보다 상세히 설명한다.
L2 FIFO 프로세스는 먼저 L1 접속 상태를 결정한다. 상주 노드가 요구를 하면, 프로세스는 홀드 신호를 해제한다. 상기 처리의 후속 단계는 GW(82)로부터의 메시지에 따라, 특히 상기 메시지가 발신 경로 확인(OPAK)인지, 서버 경로확인(SPAK)인지에 따라 좌우된다.
제8도는 OPAK 메시지에 대한 L2 FIFO 처리, 예컨대 ONC의 동작을 설명한다. 위에서 언급한 바와 같이, 이 메시지는 L2 메시지 수신기를 디스에이블시키는 PCP(156)에 의해 얻어진다. 단계(610)에서, PCP(156)는 L2 FIFO를 판독한다. 판독 결과가 비상주 노드로부터의 준비(RDY) 메시지인 경우에, 단계(612)는 L2 FIFO로부터 다음의 데이타 바이트를 판독하여 서버 노드를 확인한다. 단계(616)는 L2 FIFO 내의 다른 바이트를 판독하여 출력 허용 카운트를 결정한다.
단계(616)의 판독이 출력 허용 카운트를 나타내면, 단계(616)는 패킷 전송의 상태로서 참조되는 다음의 바이트를 판독한다. 전송이 성공적이면, 예컨대 PKTA메시지의 수신이 성공적이면, 단계(620)는 서버 노드측으로의 전송을 대기하는 패킷이 존재하는지를 결정한다. 상기 패킷이 존재하면, 단계(622)는 OCP를 확인하여 수신지 노드 출력 큐에 따라 가장 오래된 버퍼의 어드레스에 PDM 어드레스를 설정함으로써 L2 RDY 버퍼를 수정한다. 전송을 대기하는 패킷이 있으면 단계(624)는 수신지 노드가 전송 패킷을 가지고 있지 않음을 나타내는 노드 비지(busy) 데이타 구조를 수정한다.
단계(626)는 L3 수신 주사를 변경하여 OCP에 대한 주사 논리를 인에이블시킨다. 단계(626)는 상기 출력 허용 카운트의 내용을 기초로 OCP에 대한 출력 허용 프레임 카운트를 갱신한다.
단계(616)에서 수신된 출력 허용 카운트가 부가 패킷을 출력하기 전에 지연이 요구되지 않음을 지시하면, 단계(630)는 전송을 대기하는 부가 패킷이 존재하는지를 결정한다. 지연이 요구됨을 지시하면, 단계(632)는 OCP의 상태를 수정하여 출력이 허용됨을 지시한다. 단계(634)는 출력 버퍼 데이타 구조가 가장 긴 OCP 출력 홀딩 큐 상태인 발신 버퍼를 수정하고, 출력 버퍼 데이타 구조가 처리될 데이타를 포함하고 있음을 지시하기 위해 유지 보수 동작 요구 데이타 구조를 수정한다.
단계(616)에서 수신된 출력 허용 카운트가 지연이 요구됨을 지시하면, 단계(636)는 전송을 대기하는 부가 패킷이 존재하는지를 결정한다. 지연이 요구되지 않음을 지시하면, 단계(636)는 출력이 허용되지 않음을 지시하기 위해 상기 OCP의 상태를 수정한다. 단계(640)는 시간 데이타 구조에서 가장 긴 OCP 출력 홀딩 큐 상에 있는 발신 버퍼를 수정하고, 시간 버퍼 데이타 구조가 처리될 데이타를 포함하고 있음을 지시하기 위해 데이타 구조에 필요한 유지 보수 동작을 수정한다.
제9도에는 서버 경로 확인(SPAK) 메시지에 대한 L2 FIFO 처리, 즉 SNC 동작이 도시되어 있다. L2 메시지 수신기를 디스에이블시킨 후에, 단계(910)에서, PLP(156)는 L2 FIFO(177)를 판독한다. 판독이 RTS 메시지일때, 단계(912)는 상태 정보용의 L2 FIFO를 판독한다.
단계(912)의 상태 판독이 성공적인 패킷 전송, 즉, PKT 메시지를 지시하면, 단계(914)는 출력 버퍼 프리 큐로부터 다음에 이용 가능한 출력 버퍼를 검색한다. 단계(916)는 새롭게 요구된 출력 버퍼의 PDM 어드레스를 일치시키기 위해 OCP에 대한 RTS 버퍼에서 L2 수신 명령을 수정하고, 방금 판독된 패킷과 관련된 버퍼로 OCP 출력 큐로 갱신하며, 새로운 출력 허용 카운트를 전송하기 위해 OCP에 대한 L2 RTS 버퍼를 수정한다. OCP가 전송 진행 상태 패킷을 가지고 있지 않으면, 단계(922)는 L3 전송 명령을 수정하여 방금 판독된 패킷의 PDM 어드레스를 일치시키고, L3 전송 주사를 일치시켜서 OCP에 대한 주사 논리를 인에이블시키며, CP 비지 데이타 구조를 수정하여 OCP가 전송 진행 패킷을 가지고 있음을 지시한다.
단계(912)의 L2 FIFO 판독이 PKT 메시지가 아니면, 단계(930)는 판독이 송신기 이용 불능(TUA) 메시지인지를 결정한다. 송신기 이용 불능이면, 프로세스는 아무런 작업도 하지 않고 에러 상태로 간주한다.
단계(910)의 L2 FIFO 판독이 RTS가 아니면, 단계(932,934)는 판독이 수신기 이용 불능(RUA) 메시지인지, 패킷 이용 불능(PUA) 메시지인지를 결정한다. RUA 또는 PUA이면, 프로세스는 아무런 작업도 않는다. RUA 또는 PUA가 아니면, 프로세스는 에러 상태로 간주한다.
NULL 상태의 경우에, L2 FIFO 프로세스는 PCP(156)의 프로그램이 논리를 수정하는 방법에 따라 다르게 수행된다. 다음의 서브프로세스중 하나가 호출된다:
1) L3 이벤트 큐의 처리,
2) NC를 아이들 상태로 함,
3) GW 구성,
4) GW의 지속적인 감시,
5) 상주 노드를 제외한 모든 노드의 중단,
6) 상주 노드 해제,
7) 상주 노드 재시작.
이들 각각의 서브프로세스에 대해 이하에서 설명한다.
(1) L3 이벤트 큐
이 프로세스는 제5도의 단계(570)를 참조하여 이하에서 설명한다.
(2) NC를 아이들 상태로 함
이 서브프로세스는 PCP(156)의 프로그램을 수정하여 L2 FIFO 내의 아이들 L2 트랜잭션(transaction)에 따라 GW 구성 서브프로세스를 호출한다.
(3) GW 구성
리셋트 데이타 구조가 GW 리셋트가 요구됨을 지시하면, 이 서브프로세스는 PCP(156)의 GW 구성 기능 버퍼에서 리셋트를 인에이블시키고, 이 버퍼를 시작한 다음에 리셋트를 디스에이블한다. 다음에 이 서브프로세스는 PCP(156)의 일정한 모니터 GW 기능 버퍼를 인에이블하여, 이 버퍼를 개시시킨다.
다음에 서브프로세스는 PCP(156)에 의해 유지되는 GW FIFO로부터의 클럭/프레임 선택 및 에러 데이타를 판독 및 비교한다. 비교 불량이 없고, 응답 데이타 구조가 응답이 필요함을 지시하면, 상기 서브프로세스는 OS/PCP 큐의 응답 및 큐를 위해 버퍼 헤더 메시지 형태를 수정한다. 비교 불량이 있고, 응답 데이타 구조가 응답이 필요함을 지시하면, 상기 서브프로세스는 구성 메시지에 에러 코드를 제공하고, OC/PCP 큐의 응답 및 큐를 위해 버퍼 헤더 메시지 형태를 수정한다.
비교 불량에 대한 테스트 후에, 서브프로세스는 응답 데이타 구조를 클리어한다. 다음에 자동 해제 데이타 구조가 자동 헤드가 요구됨을 지시하면, 상기 서브프로세스는 PCP(156)의 프로그램을 수정하여 L2 FIFO의 아이들 L2 트랜잭션에 대해 상주 노드를 제외한 모든 노드의 중단을 호출한다. 자동 해제가 요구되지 않고, 홀드가 설정되지 않으면, 상기 서브프로세스는 PCP(156)의 프로그램을 수정하여 아이들 L2 트랜잭션에 대한 상주 노드를 다시 개시시킨다.
(4) GW의 지속적인 감시
이 서브프로세스는 먼저 게이트웨이 상태 레지스터 데이타를 GW 홀드 타이머데이타와 비교한다.
비교 불량이 있고, GW 홀드 타이머가 제로이면, 상기 서프 프로세스는 GW 구성 기능 버퍼를 수정하여 리셋트를 인에이블시키고, GW 구성 기능 버퍼를 개시시키며, 상주 노드가 요구를 할 수 없거나 요구를 처리할 수 없고, 동기화 상태가 아님을 지시하고, 홀드가 설정됨을 지시하고, 홀드 타이머를 소정의 값으로 설정한다. 비교 불량이 있고, GW 홀드 타이머가 제로이면, 서브프로세스는 GW 구성 기능 버퍼를 개시시키고, 홀드 타이머를 증가시키며 홀드 타이머가 소정의 임계치를 초과하면, 에러를 보고한다.
비교 불량이 없고, GW 상태 레지스터 데이타가 홀드가 설정되지 않음을 지시하면, 서브프로세스는 GW 구성 기능 버퍼의 리셋트를 디스에이블시키고, 홀드가 클리어됨을 지시하고, L2 아이들 트랙잭션에 대해 GW 구성을 호출하기 위해 L2 FIFO를 수정하고, 클럭 인터럽트 벡터를 에러 루틴으로 설정하고, 클럭 인터럽트 간격을 소정의 값으로 설정하고, 클럭 인터럽트를 인에이블시키고, 시간 지연을 설정하고, L2 수신기를 인에이블시키며, 동기 명령을 전송하기 위해 PCP 기능 버퍼를 개시시킨다.
다음에 서브프로세스는 동기 명령을 위해 L2 FIFO를 주사하고, 수신시에 L2 수신기를 디스에이블시키고, 상주 노드가 동기화됨을 지시하고, 클럭 인터럽트를 정규 루틴으로 설정하며, 인터럽트 간격을 소정의 값으로 설정한다.
(5) 상주 노드를 제외한 모든 노드의 중단
상기 서브프로세스는 자동 해제 절차의 제1단계를 GW 액세스 기능 메모리에 다운 로드한다. 다음에, 상기 메모리를 개시시키고, PCP(156)의 프로그램을 수정하여, 아이들 L2 트랜잭션에 대해 상주 노드 해제를 호출한다.
(6) 상주 노드 해제
이 서브프로세스는 자동 해제 절차의 제2단계를 GW 액세스 기능 메모리에 다운 로드한다. 다음에, 메모리를 개시시키고, 노드 비지 데이타 구조를 수정하여 상주 노드가 출력중임을 지시한다.
(7) 상주 노드 재시작
상기 서브프로세스는 자동 해제 데이타 구조를 클리어하고, PCP(156)의 프로그램을 수정하여, L2 FIFO의 아이들 L2 트랜잭션에 대해 L3 이벤트 큐 처리를 호출한다.
상주 노드가 동기화되면, 서브프로세스는 상기 상주 노드가 요구를 형성 및 처리할 수 있음을 지시한다.
[진행중인 서비스 요구 리스트 프로세싱]
제5도를 다시 참조하면, 단계(540)는 진행중인 서비스 요구 리스트를 처리한다. 서비스에 대해 진행중인 요구가 있고, 상주 노드가 요구를 처리할 수 있으면, 프로세스는 발행 서비스 요구/판독 홀드 PCP 버퍼를 수정하여, 큐에서 가장 긴 노드에 대한 서비스 요구(RFS)를 발생한다. 그렇지 않으면, 프로세스는 발행 서비스 요구/판독 홀드 PCP 버퍼를 수정하여, 서비스 요구를 발생하지 않는다.
[L2 개시 프로세싱]
제5도를 다시 참조하면, 단계(550)는 L2 개시 프로세싱이다. 제1처리 프로세스는 L1 접속 상태를 초기화하여 홀드 신호를 아이들로 설정한다. NC와 관련된 GW가 구성되면, 프로세스는 발행 서비스 요구/판독 홀드 버퍼를 초기화하고, GW FIFO로부터 데이타를 판독한다.
홀드가 설정되면, L2 개시 프로세스는 또한 단계(530)의 L2 FIFO 프로세스를 수정하여 홀드 결과의 지속된 감시를 처리한다.
설정되지 않으면, 상주 노드가 요구를 처리할 수 있는 경우에, 프로세스는 CIO(156C)의 레지스터로부터 OPAK/SPAK 메시지를 판독하고, 이들 메시지를 L1접속 상태 데이타 구조에 저장한다. SPAK의 경우에 프로세스는 L3 제어 레지스터에 비트를 설정하여 L2 수신기를 인에이블시키고, SPAK 확장 버퍼를 개시시킨다. OPAK의 경우에 프로세스는 L3 제어 레지스터에 비트를 설정하여 L2 수신기를 인에이블시킨다.
[L3 FIFO 프로세싱]
제5도를 다시 참조하면, 단계(560)는 L3 FIFO(233)를 처리한다. 이 프로세스는 L3 FIFO(233)로부터 다음의 이벤트를 판독하며, 이 이벤트는 다음의 이벤트중 하나의 이벤트가 되게 된다.
(1) 이벤트 없음(no-event),
(2) CP 수신 준비(CP-ready-ti-receive),
(3) CP 이용 가능 메시지,
(4) 종료,
(5) 주사 갱신,
(6) 에러,
(7) 재시작,
(8) 유지 보수.
각각의 이들 이벤트는 바로 다음의 절에서 설명되는 바와 같이 서브프로세스와 관계되어 있다.
(1) 이벤트 없음
이 서브프로세스는 상주 PCP 데이타베이스의 L3데드(dead) 에러 상태를 저장하고, 에러 보고가 OS/PCP 큐 처리에 대해 진행 중임을 지시한다.
(2) CP 수신 준비
이 서브프로세스는 CP 수신 준비 데이타 바이트에 나타낸 CP에 대한 주사 기능을 디스에이블시킨다. 또한, L3 이벤트 큐에 대한 이벤트를 큐 처리한다.
(3) CP 이용 가능 메시지
이 서브프로세스는 CP 이용 가능 메시지 데이타 바이트에 나타낸 CP에 대해 주사 기능을 디스에이블시키고, L3 이벤트 큐에 대해 CP 이용 가능 메시지 데이타를 큐 처리한다. 또한, L3 FIFO(233)로부터 시작 표시, 메시지 형태, SNC 및 OCP 식별자를 포함하고 있는 데이타를 판독 및 저장한다.
(4) 종료
이 서브프로세스는 L3 FIFO 프로세스의 PCP(156)에 의해 완료를 알린다. 이 서브프로세스는 제5도의 메인 논리 흐름으로 프로세싱을 복귀한다.
(5) 주사 갱신
이 서브프로세스의 성능은 주사 갱신 바이트의 데이타 부분의 내용에 좌우된다. 주사 갱신 데이타는 수신 주사 또는 전송 주사를 지시할 수 있고, 모든 주사 형태가 정지 지점에서 또는 정지 지점 전에 완료될 수 있다.
수신 주사가 정지 지점 이전에 완료되면, 서브프로세스는 L3 FIFO(233)로부터 주사 정지 지점을 판독하고, 이전에 판독된 주사 정지 지점에 나타낸 CP에 대해 수신 주사 엔트리 지점에 대한 이전의 내용을 다시 로드하며, 수신 주사 정지 지점에 나타낸 CP에 대해 주사 엔트리 지점으로 점프(jump)를 수행하고, 새로운 판독 주사 정지 지점으로서 나타낸 CP와 관련된 주사 엔트리 지점에 대한 내용을 수정한다.
전송 주사가 정지 지점 이전에 완료되면, 서브프로세스는 L3 FIFO(233)로부터 전송 주사 정지 지점을 판독하고, 이전 전송 주사 정지 지점에 나타낸 CP에 대해 전송 주사 엔트리 지점의 이전 내용을 다시 로드하며, 전송 주사 정지 지점에 나타낸 CP의 엔트리 지점으로 점프를 수행하고, 이전에 주사 정지 지점으로서 나타낼 CP의 주사 엔트리 지점의 내용을 수정하고 전송 주사 정지 지점에 나타낸 CP에 대해 수행한 논리를 판독한다.
수신 주사가 정지 지점에서 완료되면, 서브프로세스는 이전에 판독된 주사 정지 지점에 나타낸 CP의 수신 주사 엔트리 지점의 이전 내용을 재로드하고, 이전 판독 주사 정지 지점에 나타낸 CP에 대한 주사 엔트리 지점에 대해 점프를 수행하며, 새롭게 판독된 주사 정지 지점으로서 나타낼 CP에 대한 주사 엔트리 지점의 내용을 수정한다.
전송 주사가 정지 지점에서 완료되면, 서브프로세스는 이전에 전송된 주사 정지 지점에 나타낸 CP의 전송 주사 엔트리 지점의 이전 내용을 재로드하고, 이전 주사 정지 지점에 나타낸 CP에 대한 주사 엔트리 지점에 대해 점프를 수행하며, 새로운 전송 주사 정지 지점으로서 나타낼 CP에 대한 주사 엔트리 지점의 내용을 수정한다.
(6) 에러
이 서브프로세스는 L3 이벤트 큐를 갱신하여 에러를 가진 CP를 식별하고, 에러의 형태에 따라 적절한 동작을 취한다.
(7) L3재시작
L3 FIFO(233)가 비어 있으면,이 서브프로세스는 L3 제어기(196)를 다시 개시시킨다.
(8) 유지보수
이 서브프로세스는 다음의 3가지 기능중 한가지 기능을 호출할 수 있다:
a) PDM 기록
b) CP 리셋트
c) CP LIFO 소거
이들 기능의 각각은 바로 다음의 절에서 설명한다.
PDM 기록 기능은 L3 제어기(196)를 수정하여 레지스터를 비동작(NOP) 상태로 초기화하고, PDM 기록 프로세싱이 기록 PDM 상태 기능 데이타 구조에서 식별된 출력 버퍼에 대해 요구됨을 지시하기 위해 L3 이벤트큐를 갱신한다. 또한 이 기능은 PCP/OS 이벤트 큐가 처리될 수 있도록, 지연된 유지 보수 동작 요구 데이타 구조를 수정한다.
상기 CP 리셋트 기능은 레지스터가 NOP 상태로 초기화되도록 L3 제어기를 수정하고, 유지 보수 기능 명령 바이트를 수반하는 데이타 바이트로 식별된 CP 리셋트 프로세싱의 요구됨을 지시하기 위해 L3 이벤트 큐를 갱신한다.
CP FIFO 소거 기능은 레지스터가 NOP 상태로 초기화되도록 L3 제어기를 수정하고, 유지 보수 기능 명령 바이트를 수반하는 데이타 바이트로 식별된 CP에 대해 CP LIFO 소거 프로세스가 요구됨을 지시하기 위해 L3 이벤트 큐를 갱신한다. 또한, 이 기능은 PCP/OS 이벤트 큐가 처리될 수 있도록, 지연된 유지 보수 동작 요구 데이타 구조를 수정한다.
[L3 이벤트 큐 프로세싱]
제5도의 단계(570)는 L3 이벤트 큐로부터의 엔트리를 처리한다. 큐 엔트리는 처리될 이벤트의 형태, 이벤트와 관련된 CP, 이벤트에 관련된 기타 다른 데이타를 포함하고 있는 데이타를 포함하고 있다. 다음은 L3 이벤트 큐의 가능한 이벤트이다:
1) CP 수신 준비,
2) CP 메시지 이용 가능,
3) PDM 기록,
4) CP 리셋트,
5) CP-LIFO 소거,
6) 버스 타임 아웃.
이들 이벤트의 각각에 관련된 서브프로세스가 다음의 절에서 설명된다. L3 이벤트 큐가 처리될 이벤트를 포함하고 있지 않으면, 유지 보수 동작 요구 데이타 구조가 처리된다.
(1) CP 수신 준비
제10도에는 CP 수신 준비 이벤트에 대한 서브프로세스가 도시되어 있다. 이 서브프로세스는 OCP의 위치에 따라 다르게 제1단계를 수행한다. OCP가 NC에 상주하면, 단계(1010)는 COP의 주사 논리를 인에이블시키기 위해 L3 수신 주사를 수정한다. OCP가 상주하지 않으면, 단계(1012)는 상기 OCP와 관련된 L2 RTS 버퍼의 OCP에 대한 출력 허용 카운트를 갱신하고, 전송된 버퍼에 출력 버퍼 프리 큐를 할당한다.
단계(1014)는 OCP의 출력 큐를 분석한다. 출력 버퍼가 전송을 대기하면, 단계(1016)는 전송될 다음의 패킷, 예컨대 OCP 출력 큐에 대한 가장 오래된 출력 버퍼와 관련된 패킷의 PDM 어드레스를 일치시킬 것을 OCP에 지시하기 위한 L3전송 PDM 명령을 수정한다. 단계(1018)는 OCP에 대해 주사 논리를 인에이블 시키기 위해 L3전송 주사를 수정한다. 하지만 출력 버퍼가 전송을 대기하지 않지 않으면, 단계(1020)는 CP 비지 데이타 구조를 수정하여, OCP가 전송 대기 패킷을 가지고 있지 않음을 지시한다. 단계(1022)는 OCP의 상태를 검사하고, 논리를 호출하여 단지 상태가 전송되면 OCP를 디액티브시킨다.
(2) CP 메시지 이용 가능
제11도에는 CP 메시지 이용 가능 이벤트에 대한 서브프로세스가 예시되어 있다. 이 서브프로세스는 개시 표시의 내용에 따라 다르게 수행된다. 표시가 적합한 헤더일때, 상기 서브프로세스는 패킷 프로세싱을 시작한다. 이 프로세싱은 패킷이 인트라 클러스터인지 인터 클러스터인지, 즉 OCP가 상주인지의 여부에 따라 다르다. 기타 다른 개시 표시가 운영 체제 또는 에러 프로세스를 개시시키는데 이용될 수도 있다.
인터 클러스터 패킷의 경우에, 단계(1110)는 상주 및 수신지 노드의 상태를 판독한다. 수신지 노드 및/또는 상주 노드 상태가 서비스되고 있지 않을 때, 단계(1112)는 L3 수신 주사를 수정하여 OCP에 대한 주사 논리를 인에이블시킨다. 수신지 노드 및 상주 노드의 상태가 서비스 상태일 때, 단계(1114)는 OCP의 상태를 판독한다. 이 상태가 출력 진행중일때, 단계(1116)는 OCP의 출력 홀딩 큐에 대해 방금 판독된 패킷과 관련된 버퍼를 큐 처리한다. 상기 상태가 출력 불능 상태이면, 단계(1118)는 OCP의 상태를 수정하여, 출력이 진행중임을 지시한다.
단계(1120)는 출력 허용 프레임 카운트를 분석한다. 출력 허용 프레임 카운트가 현재의 프레임 카운트와 동일하거나 작거나, 카운트의 델타가 최대 카운트 충돌(collision) 지연과 동일하거나 크면, 상기 프로세스는 출력 버퍼 데이타 구조 및 다른 유지 보수 동작 요구 데이타 구조를 수정하여, 출력 버퍼 데이타 구조가 처리될 데이타를 포함하고 있음을 지시한다. 그렇지 않으면 상기 서브프로세스는 시간 버퍼 데이타 구조 및 유지 보수 동작 요구 데이타 구조를 수정하여, 시간 버퍼 데이타 구조가 처리될 데이타를 포함하고 있음을 지시한다.
수신지 노드 및/또는 상주 노드 상태가 출력 허용되면, 단계(1121)는 OCP 상태를 수정하여 출력이 진행 중임을 지시한다. 단계(1122)는 수신지 노드 식별자와 관련된 노드 출력 큐에 대해 방금 판독된 패킷과 관련된 버퍼를 큐 처리한다. 단계(1124)는 수신지 노드 식별자로 진행중인 서비스 요구 큐를 갱신하고, 노드 비지 데이타 구조를 수정하여 수신지 노드가 전송 진행 패킷을 가지고 있음을 지시한다. 수신지 노드가 전송 대기중인 다른 패킷을 가지고 있지 않으면, 단계(1128)는 방금 판독된 패킷을 수신한 OCP를 식별하고, 상기 패킷의 PDM 어드레스로 PDM 어드레스를 설정하여 수신지 노드의 L2 RDY 버퍼를 수정한다.
인트라 클러스터 패킷의 경우에, CP 메시지 이용 가능 서브프로세스는 OCP의 상태를 먼저 검사한다. OCP가 디스에이블되면, 단계(1130)는 L3 수신 주사를 수정하여 OCP의 주사 논리를 인에이블시킨다. 그렇지 않으면 단계(1132)는 OCP의 출력 큐로 방금 판독된 패킷과 관련된 버퍼를 큐 처리한다. OCP가 전송 진행중인 패킷을 가지고 있지 않으면 단계(1134)는 OCP의 L3 전송 PDM 명령을 수정하여 방금 판독된 패킷의 PDM 어드레스를 일치시키며, L3 전송 주사를 수정하여 OCP의 주사 논리를 인에이블시킨다. 단계(1136)는 CP 비지 데이타 구조를 수정하여 OCP가 전송 진행중인 패킷을 가지고 있음을 지시한다.
(3) PDM 기록
PDM 기록 이벤트에 대한 프로세싱은 OCP가 인에이블된 상태를 가지고 있는지를 먼저 결정한다. OCP가 인에이블되면, 프로세스는 OCP 출력 큐로 출력 버퍼를 큐 처리한다. 다음에 OCP가 전송 진행중인 패킷을 가지고 있지 않으면, 프로세스는 L3전송 PDM 명령을 수정하여 출력 버퍼의 PDM 어드레스를 일치시키고, L3 전송 주사를 수정하여 OCP의 주사 논리를 인에이블시키며, CP 비지 데이타 구조를 수정하여 OCP가 전송 진행중인 패킷을 가지고 있음을 지시한다. OCP가 인에이블되지 않으면, 프로세스는 출력 버퍼로 출력 버퍼 프리 큐를 갱신한다.
(4) CP 리셋트
CP 리셋트 이벤트의 프로세싱은 CP가 액티브 상태인지를 결정한다. 액티브 상태이면, 프로세스는 디액티브시킨다.
(5) CP-LIFO 소거
CP-LIFO 소거 이벤트의 프로세싱은 CP에 할당된 프로그램 영역 상의 수신 주사 기능을 인에이블시키고, CP 상태가 액티브 상태임을 지시한다.
(6) 버스 타임아웃
버스 타임아웃 이벤트의 프로세싱은, CP 상태가 액티브 상태일때, 상기 CP를 디액티브시키고, CP 데이타 베이스 내의 버스 타임아웃 에러 상태를 저장하며, 에러 보고가 상기 처리 동안 OS/PCP 큐 기능이 진행중임을 나타낸다.
[유지 보수 기능]
제5도의 NC 처리의 단계(580)는 지속적인 감시 기능 어레이의 내용을 기초로 하여 다음 유지 보수 기능중 한 기능을 수행한다.
1) CP 비지 타이밍(CP busy timing),
2) 노드 비지 타이밍(node busy timing),
3) 출력 버퍼 타이밍,
4) 보조 카운팅(miscellaneous counting),
이들 기능은 다음 4가지 설명 내에 상세히 설명되어 있다.
(1) CP 비지 타이밍
CP 비지 타이밍 기능은 다수의 서브 단계를 수행한다. 제1단계는 현재 얻어진 프로세서 데이타 구조로 CP 데이타 구조를 얻는다. 제2단계는 현재 얻어진 CP 데이타 구조 어드레스를 증가시킨다. 제3단계는 CP 데이타 구조와 함께 현재 저장된 CP 데이타 구조를 AND 처리하여 현재 저장된 CP 데이타 구조를 처리한다. 결과적으로 얻어진 구조가 제로가 아닐 때, 상기 기능은 CP비지 타임아웃 데이타 구조에 결과를 저장하고, CP 비지 타임아웃 데이타 구조가 처리될 데이타를 가지고 있음을 지시하기 위해 다른 유지 보수 동작 요구 플래그를 수정한다. 제4단계는 현재 저장된 CP 데이타 구조 어드레스를 증가시킨다.
(2) 모드 비지 타이밍
노드 비지 타이밍 기능은 4단계를 가지고 있다. 이 기능은 노드 데이타 구조로부터 현재 얻어진 노드 데이타 구조로 얻는다. 또한 현재 얻어진 노드 데이타 구조 어드레스를 증가시킨다. 또한 상기 노드 데이타 구조와 상기 현재 저장된 노드 데이타 구조를 AND 처리하여 상기 현재 저장된 노드 데이타 구조를 처리한다. 결과적으로 얻어진 구조가 제로가 아니면, 상기 기능은 노드 비지 타임아웃 데이타 구조에 결과를 저장하고, 노드 비지 타임아웃 데이타 구조가 처리될 데이타를 가지고 있음을 지시하기 위해 다른 유지 보수 동작 요구 플래그를 수정한다. 최종적으로, 상기 현재 저장된 노드 데이타 구조 어드레스를 증가시킨다.
(3) 출력 버퍼 타이밍
이 출력 버퍼 타이밍 기능은 현재 엔트리 포인터를 버퍼 타이머 데이타 구조로 진행시킨다. 현재 엔트리의 내용이 제로가 아니면, 상기 기능은 현재 엔트리의 내용을 출럭 버퍼 데이타 구조와 조합한다. 결과가 제로가 아니면 유지 보수 요구 데이타 구조를 수정하여 상기 출력 버퍼 데이타 구조가 처리될 데이타를 가지고 있음을 지시한다.
(4) 보조 카운팅
이 보조 카운팅 기능은 L2 제어기(176)가 액티브되면 여러 단계를 수행한다. 이들 단계는 먼저 자체 테스트 프레임 카운트를 증가시킨다. 자체 테스트 프레임 카운트가 한계치를 초과하면, 상기 기능은 다음와 같은 수행을 한다. 즉, 상기 자체 테스트 프레임 카운트를 클리어시키고, 테스트될 다음의 클럭 테스트 값을 선택하며, 선택된 클럭 테스트 값을 이용하기 위해 GW의 지속적인 감시 PCP 기능을 수정하고, 기대된 클럭 테스트 결과를 수정하고, 자체 테스트 프레임 카운트를 클리어시키며, 진행중인 서비스 요구 리스트 상에 상주 노드 식별자를 설정하고, 진행중인 자체 테스트를 설정한 후 종료한다. 그렇지 않으면, 상기 기능은 노드 고정 타이머를 증가시킨다. 상기 노드 고정 타이머가 한계치를 초과하면, 상기 기능은 노드 고정 데이타 구조를 재발생된 서비스 요구 데이타 구조에 복사하고, 상기 노드 고정 데이타 구조를 클리어하며, 계류 서비스 요구 리스트 대신에 재발생된 서비스 요구에 대한 명령을 얻기 위해 PCP 논리를 수정하고, 상기 노드 고정 타이머를 클리어시킨 후 종료한다.
L2 제어기(176)의 액티브 여부에 관계없이, 상기 보조 카운팅 기능은 디액티브 노드 간격을 증가시킨다. 상기 비활성 노드 간격 값이 한계값을 초과하면, 상기 기능은 디액티브 노드 간격을 클리어하고, 현재 엔트리 포인터를 디액티브 노드 타이머 데이타 구조로 진행시킨다. 현재 앤트리의 내용이 제로가 되면, 상기 기능은 현재 엔트리의 내용을 진행중인 디액티브 노드 데이타 구조와 조합하고, 노드들이 디액티브 진행중임을 지시하기 위해 다른 유지 보수 요구 데이타 구조를 수정한다.
[프레임 완료]
제5도의 NC 프로세스의 단계(580)는 프레임 완료 프로세스이다. 이 프로세스는 지연된 유지 보수 동작 요구 데이타 구조의 내용을 유지 보수 동작 요구 데이타 구조와 조합한다. 다음에 후술되는 바와 같이 우선 순위를 기초로 서브프로세스를 수행하며, 여기서 이 서브프로세스는 고순위에서 저순위로 열거되어 있다.
(1) 출력 버퍼 데이타 구조 처리,
(2) PCP/OS 이벤트 큐 처리,
(3) 진행중인 디액티브 노드 데이타 구조 처리,
(4) 노드 비지 타임아웃 데이타 구조 처리,
(5) CP 비지 타임아웃 데이타 구조 처리,
(6) PDM 판독,
(7) PDM 기록,
이들 서브프로세스의 각각은 다음의 절에 상세히 설명되어 있다. 후술되는 바와 같이 상기 프레임 완료 프로세스는 OS 프로세싱을 포함하고 있을 수도 있다. 이들 서브프로세스중 하나의 서브프로세스를 수행한 후에, 프레임 완료 프로세스는 레지스터에 재기억시키고, 인터럽트로부터 복귀한다.
(1) 출력 버퍼 데이타 구조 처리
출력 버퍼 데이타 구조 서브프로세스는 출력 버퍼 데이타 구조에 표시된 제1버퍼를 선택 해제한다. 결과적으로 얻어진 출력 버퍼 데이타 구조가 제로이면, 상기 프로세스는 출력 버퍼 데이타 구조가 처리될 데이타를 가지고 있지 않음을 지시하기 위해 유지 보수 동작 요구 데이타 구조를 수정한다. 제로가 아니면, 상기 프로세스는 OCP가 출력 진행중을 지시하기 OCP의 상태를 수정한다. 다음에 상기 프로세스는 인터 클러스터 패킷 프로세스를 호출한다.
(2) PCP/OS 이벤트 큐 처리
PCP/OS 이벤트 큐 처리 프로세스는 패킷 제어 및 운영 체제 이벤트를 나타내는 PCP/OS 이벤트 큐로부터의 이벤트를 처리한다. 이들 이벤트는 다음을 포함한다.
a) CP 액티브,
b) CP 디액티브,
c) 노드 액티브,
d) 노드 디액티브,
e) GW 구성,
f) L4 메시지 전송,
g) 재초기화,
h) 운영 체제 버퍼 비움,
i) CP 리셋트,
k) 노드 초기화.
이들 이벤트는 다음의 절에 설명된 바와 같이 서브 기능과 각각 관련되어 있다.
CP 액티브 서브프로세스는 L3 큐로부터 다음의 이용 가능 L3 프로그램 영역을 얻는다. 이 프로그램 영역이 이용 가능할 때, 상기 서브프로세스는 응답 및 이벤트 큐 처리를 위해 버퍼 헤더 메시지 형태를 수정하고, CP의 적절한 어드레스 비트를 포함하기 위해 주어진 L3 프로그램 영역의 L3 수신 주사, L3 전송 주사, 수신 헤더 논리, 수신 패킷 논리 및 전송 패킷 논리에서 CP 선택 명령을 수신한다. 또한, 이벤트 큐가 처리되지 않음을 지연된 유지 보수 동작 요구 구조로 나타낸다. 적절한 어드레스 비트를 포함시키기 위해 CP LIFO 소거 영역의 CP 선택 명령을 수정한다. CP LIFO 소거를 호출할 수 있도록 적절한 값을 포함시키기 위해 레지스터를 수정하고, 상기 레지스터가 수정되었다는 사실 및 LIFO가 소거되어야 하는 CP의 식별을 L3 FIFO(233)에서 지시하기 위해 L3 제어기(196)를 수정한다.
CP 디액티브 서브프로세스는 PCP/OS 이벤트 큐에 따른 응답 및 큐 처리를 위해 버퍼 헤더 메시지 형태를 수정한다. 상기 프로세스는 CP용으로 확보된 L3 프로그램 영역을 비운다. CP가 비지 상태일때, 상기 서브프로세스는 L3 이벤트 큐에 따른 디스에이블된 CP 데이타에 대한 CP 수신 준비를 큐 처리한다. 또한 상기 서브프로세스는 L3 제어기(196) 내의 CP와 관련된 수신 주사 기능 및 전송 주사 기능 프로그램 영역을 디스에이블시킨다. 또한 CP가 디액티브됨을 지시한다.
노드 서브프로세스 액티브는 액티브될 노드가 상주 노드인지를 먼저 결정한다. 상주 노드이면, 상기 서브프로세스는 PKTA RAM을 수정하여 PKTAA 메시지를 전송하고, SPAK 확장 PCP 버퍼를 수정하여 서비스중인 노드 SPAK 확장 PCP 버퍼 논리를 포함시키고, 상주 노드 상태가 액티브됨을 지시한다. 액티브될 노드가 상주 노드가 아니면, 상기 서브프로세스는 이용할 수 없는 패킷을 지시하기 위해 액티브된 노드에 할당된 RDY RAM의 CP 수를 수정하고, 상기 노드가 액티브됨을 지시하며, 액티브중인 노드에 대해 재지향된 노드로서 노드 식별을 저장하며, OS/PCP 큐에 따라 메시지를 해제 및 큐 처리하기 위해 노드 상태 변화 메시지 형태를 수정한다.
상기 디액티브 노드 서브프로세스는 노드 디액티브 타이머 어레이의 앤트리에서 디액티브될 노드와 관련된 소자를 조작하고, OS/PCP 큐에 따라 메시지를 해제 및 큐 처리하기 위해 노드 상태 변화 메시지 형태를 수정한다.
GW 구성 서브프로세스는 리셋트가 요구되지 않음을 지시하기 위해 리셋트 요구 데이타 구조를 초기화한다. 다음에 서브프로세스는 리스트의 끝이 될 때까지 구성 메시지의 다음 명령으로 진행한다. 초기화 리셋트 명령의 경우에, 상기 서브 프로세스는 리셋트가 요구되고, GW 동작이 요구됨을 지시한다. 링크 갱신 명령의 경우에 서브프로세스는 구성 메시지의 비트맵(bitmap)의 내용을 기초로 GC 상태를 갱신하고, 현재 선택된 클럭이 디스에이블된 상태를 지시하면 다른 인에이블된 클럭을 선택하기 위해 GW 지속 감시 PCP 기능을 수정하며, 기대된 클럭 테스트 결과를 수정하고, 링크 갱신 비트 맵의 내용을 기초로 에러 레지스터 마스크를 생성하며, 구성 메시지의 비트 맵의 내용을 기초로 액티브 GE 선택 데이타 구조를 갱신하고, 액티브 GC 선택 데이타가 이전의 것과 상이하면, 새로운 GC 선택 데이타를 반영하기 위해 GW 구성 PCP 기능 버퍼를 수정하고, GW 동작이 요구됨을 지시한다.
명령 리스트가 종료되고 GW 동작이 요구되지 않으면 서브프로세스는 OS/PCP 큐에 따라 응답 및 큐 처리를 하기 위해 구성 버퍼 헤더 메시지를 수정한다. 명령 리스트가 종료되고 GW 동작이 요구되면, 상기 서브프로세스는 요구를 행하기 위해 상주 노드가 허용되지 않음을 설정하고, 구성 메시지의 어드레스를 저장하며, PCP/OS 이벤트 큐가 처리되지 않아도 됨을 지연된 유지 보수 동작 요구 데이타 구조로 지시하며, 응답이 요구됨을 지시하기 위해 응답 데이타 구조를 수정한다. 홀드가 설정되지 않으면, 상기 서브프로세스는 L2 FIFO(177)의 아이들 L2 트랜잭션에 따라 아이들 NC를 호출하기 위해 PCP 명령을 수정한다.
L4 메시지 전송 서브프로세스는 상태 번호에 따라 다르게 수행한다. 상태 1의 경우에 서브프로세스는 출력 버퍼를 얻고 기록 PDM 상태 기능 데이타 구조의 출력 버퍼의 식별을 저장하고, 출력 버퍼 데이타 구조의 OCP를 저장하며, 출력 버퍼 데이타 구조의 OS 버퍼 어드레스를 저장하고, 다수의 패킷 데이타를 L3 FIFO(233)에 로드하며, 다음의 바이트가 L4 메시지로부터 기록 메모리 상태 기능 데이타 구조의 L3 FIFO(233)로 전송되는 어드레스를 저장하고, 상태 번호를 기록 메모리 상태 기능데이타 구조의 2로 설정하며, 추가 처리가 기록 메모리 기능을 완료하기 위해 요구됨을 지시하기 위해 유지 보수 동작 요구 데이타 구조를 수정하고, PCP/OS 이벤트 큐가 처리되지 않음을 지연된 유지 보수 동작 요구 데이타 구조로 지시한다. 상태 2의 경우에, 전송 레벨(4) 메시지 서브프로세스는 최종 상태가 종료되는 L3 FIFO(233)로 패킷 데이타의 다수의 바이트를 로드하고, 다음의 바이트가 레벨(4) 메시지로부터 L3 FIFO(233)로 기록 메모리 상태 기능 데이타 구조로 전송되는 어드레스를 저장하며, 상태 번호를 기록 메모리 상태 기능 데이타 구조의 3으로 설정한다.
상태 3의 경우에 전송 레벨 4 메시지 서브프로세스는 최총 상태가 종료되는 L3 FIFO(233)로 패킷 데이타의 다수의 바이트를 로드하고, PCP/OS 큐에 따라 해제 및 큐 처리를 위해 버퍼 헤더 메시지 형태를 수정하며, 기록 메모리 버퍼의 PDM 어드레스를 일치시키기 위해서 L3 제어기(196)의 기록 메모리 프로그램 영역의 기록 메모리 명령을 수정하고, 기록 메모리 논리를 호출하기 위해 적절한 값을 포함하도록 레지스터(3)를 수정하며, 레지스터(3)가 수정됨을 지시하기 위해 L3 제어기(196)를 수정하고, 기록 메모리 서브프로세스에 대해 추가 프로세스가 요구되지 않음을 지시하기 위해 보유 유지 동작 데이타 구조를 수정한다.
재초기화 서브프로세스는 액티브된 CP가 없는 L3 제어기(196)를 재초기화하고, 상주 NC(78)에 속하는 CP의 수를 일치시키기 위해 충분한 엔트리를 가진 L3프로그램 영역 큐를 재초기화하며, 수신 및 전송 주사 리스트의 최종 CP와 관련된 L3논리를 재초기화한다.
운영 체제 버퍼 비움 서브프로세스는 CP가 OS 버퍼 데이타 구조를 진행중인지를 검사한다. CP가 진행 중이면, 상기 서브프로세스는 새롭게 이용 가능한 버퍼를 가지고 KXPCP 버퍼 비움 규 처리를 갱신하며, 여기서, KXPCP가 L4 메시지가 일렬로 되어 있을 때 OS에 의해 이용된 한 세트의 버퍼를 참조한다. 하지만 CP가 진행중이면, 상기 서브프로세스는 KXPCP 버퍼 지움 큐 처리로부터 풀링(pull)되는 OS 버퍼에 할당된 PDM 버퍼의 PDM 어드레스를 일치시키기 위해서 OCP에 대한 L3 수신 메모리 명령을 수정한다. CP의 진행을 처리한 후에, 상기 서브프로세스는 OCP와 관련된 입력 버퍼에의 PDM 버퍼 할당을 수정하고, OCP에 대한 주사 논리를 인에이블시키기 위해 L3 수신 주사를 수정하며, OS 메시지 계류 메모리 전송으로 KXPCP 프리 버퍼 큐로부터 수행되는 OS 버퍼가 메모리 전송을 대기하고 있는 것을 나타낸다. 다른 버퍼가 계류 메모리 전송이 아닐 때, 그 서브프로세스는 OCP와 이전에 관련된 버퍼의 PDM 어드레스를 일치시키기 위해 프로그램 영역 내의 판독 메모리 명령을 수정하고, KXPCP 프리 버퍼 큐로부터 얻어진 버퍼의 어드레스로 OS 버퍼 어드레스를 설정하며, 한 판독 PDM 이벤트로 점프를 야기시키며, 다른 처리가 판독PDM 서브프로세스를 요구함을 나타내는 다른 유지 보수 요구 데이타 구조를 조정하고, 판독 PDM 상태 기능 데이타 구조의 1로 상태 번호를 설정한다.
CP 리셋트 서브프로세스는 PCP/OS 큐에 따른 응답 및 큐 처리를 위해 버퍼 헤더 메시지 형태를 수정한다. 적당한 CP 어드레스를 포함하기 위해 리셋트 프로그램 영역의 선택 CP 명령을 수정한다. 또한 리셋트 논리를 얻기 위해 적당한 값을 포함하는 레지스터의 초기화를 수정하고, 수정된 레지스터의 초기화 및 리셋트될 CP의 식별을 L3 FIFO에 지시하기 위해 L3 제어기(196)를 수정한다. 다음에 그 서브프로세스는 PCP/OS 이벤트 큐가 처리되지 않음을 지연된 유지 보수 동작 요구 데이타 구조에서 나타낸다.
초기화 노드 서브프로세스는 노드의 OS 상태를 체크한다. 상기 노드가 액티브되면, 그 서브프로세스는 액티브 노드 논리를 호출한다. 상기 노드가 디액티브노드 논리를 호출한다. 다음에 서브프로세스는 PCP/OS 큐의 메시지를 해제 및 큐 처리를 위해 노드 상태 변경 메시지를 수정한다.
(3) 진행중인 디액티브 노드 데이타 구조 프로세스
진행중인 디액티브 노드 데이타 구조 프로세스는 먼저 디액티브될 노드로서 진행중인 디액티브 노드 데이타 구조로 지시된 제1노드를 선택 해제한다. 결과적으로 얻어진 진행중인 디액티브 노드 데이타 구조가 제로이면, 프로세스는 진행중인 디액티브 노드 데이타 구조가 추가적인 처리를 요구하지 않음을 지시하기 위해 유지 보수 동작 요구 데이타 구조를 수정한다.
디액티브될 노드가 상주 노드이면, 프로세스는 RUN를 전송하기 위해 SPAK 확장 버퍼를 수정한다. 또한 상기 프로세스는 L2 트랜잭션을 대기하는 입력 버퍼를 가지고 있는 모든 OCP에 대해 L3 수신 주사를 다시 인에이블시키고, 모든 노드 비지 타이머를 해제하며, 서비스 요구 진행 리스트를 비우고, 상주 노드가 디액티브임을 지시한다.
디액티브될 노드가 상주 노드가 아니면, 프로세스는 RUA를 표시하기 위해 디액티브 노드에 할당된 RDY RAM의 CP 번호를 수정하고, 디액티브될 노드를 포함하고 있는 L2 트랜잭션을 대기하는 입력 버퍼를 가지고 있는 모든 OCP에 대해 L3 수신 주사를 인에이블시켜, 노드 비지 타이머를 해제하고, 노드가 액티브 상태가 아님을 지시한다.
(4) 노드 비지 타임아웃 데이타 구조 프로세스
노드 비지 타임아웃 데이타 구조 프로세스는 먼저 노드 비지 타임아웃 데이타 구조를 노드 고정 데이타 구조에 복사한다. 또한 노드 비지 데이타 구조와 노드 비지 데이타 타임아웃 데이타 구조를 XOR함으로써 새로운 노드 비지 데이타 구조를 생성한다.
상주 노드가 노드 비지 타임아웃 데이타 구조로 지시되고, 자동 해제 데이타 구조가 자동 해제가 시도되었음을 지시하면, 서브프로세스는 모든 L2 버퍼를 자유롭게 하고, L2 금지를 전송하고, 에러 보고를 전송한다. 그렇지 않으면 서브프로세스는 자동 해제가 시도되어야 함을 지시하기 위해 자동 해제 데이타 구조를 수정하고, 리셋트가 요구됨을 지시하기 위해 리셋트 데이타 구조를 수정하고, 상주 노드가 요구를 형성하거나 처리할 수 없음을 지시하고, L2 FIFO의 아이들 L2 트랜잭션에 대해 아이들 NC를 호출하기 위해 PCP(156)의 프로그래밍을 수정한다.
상주 노드가 나타나지 않으면, 프로세스는 자체 테스트를 설정하고, 그 상주 노드 식별을 계류 서비스 요구 리스트 상에 배치하며, 자동 해제 데이타 구조를 클리어한다.
(5) CP 비지 타임아웃 데이타 구조 프로세스
CP 비지 타임아웃 데이타 구조 프로세스는 먼저 CP 비지 타임아웃 데이타 구조에 나타낸 제1CP를 선택해제한다. 결과적으로 얻어진 CP 비지 타임아웃 데이타 구조가 제로이면, 서브프로세스는 CP 비지 타임아웃 데이타 구조가 다른 처리를 요구하지 않음을 지시하기 위해 다른 유지 보수 동작 요구 데이타 구조를 처리한다.
선택 해제된 CP의 경우에 CP 상태가 액티브되면, 프로세스는 CP를 디액티브시키기 위한 논리를 호출하고, 출력 타임아웃 에러 상태를 저장하고, 에러 보고가 OS/PCP 큐에 대해 진행중임을 지시한다.
(6) PDM 판독
PDM 판독 프로세스는 PDM 상태 판독 번호의 내용에 따라 수행된다. 상태 1의 경우에, 상기 서브프로세서는 L3 FIFO(233)로부터의 패킷 데이타의 특정 개수의 바이트를 OS 버퍼에 전송하고, 다음의 바이트가 PDM 상태 판독 기능 데이타 구조로 전송되어야 하는 어드레스를 저장하고, PDM 상태 판독 기능 데이타 구조로 상태 번호를 2로 설정하고, OS 버퍼와 관련된 PDM 버퍼의 제2절반의 PDM 어드레스를 일치시키기 위해 L3 제어기(196)의 PDM 판독 명령을 수정한다.
상태 2의 경우에 PDM 판독 프로세스는 L3 FIFO(233)로부터의 패킷 데이타의 특정 개수의 바이트를 최종 상태가 완료된 OS 버퍼로 전송하고, OS/PCP 큐에 대해 전송 및 큐 처리를 위해 OS 버퍼 헤더 메시지 형태를 수정하고, 상기 버퍼가 PDM(232)로부터 전송됨을 PDM 전송 진행중인 OS 메시지로 지시한다.
PDM 전송 진행중인 OS 메시지 데이타 구조가 다른 OS 메시지가 PDM 전송 진행중이지 않음을 지시하면, 다음의 단계는 재초기화 코드를 수정하는 것이다. 전송 진행중임을 지시하면, 다음의 단계는 PDM 전송 진행중인 OS 메시지 데이타 구조에 나타낸 제1의 OS 버퍼와 관련된 PDM 버퍼의 PDM 어드레스를 일치시키기 위해 L3 제어기(196)의 PDM 판독 명령을 수정하고, PDM 상태 판독 기능 데이타 구조의 상태 번호를 1로 설정한다.
(7) PDM 기록
PDM 기록 프로세스는 PDM 상태 기록 기능 상태 구조의 내용에 따라 상이하게 수행된다. 상기 프로세스는 적합한 PDM 상태 기록 기능을 실행한다.
[운영체제 특성]
SN(10)의 OS에 대한 상세한 것은 본 명세서에 기재하지 않았지만 본 발명을 구현하는데 여러 가지 OS 특성이 이용된다. 첫째, OS는 어느 방향으로 LIFO 전송마다 하나의 패킷을 포함하고 있는 PCP LIFO를 관리한다. 둘째, 인터 노드 헤더는 시작 표시, 메시지 형태, 수신지 노드 어드레스, 및 수신지 프로세서 어드레스를 포함하고 있다. 셋째 OS 작업은 PCP(156)에 의해 트리거된 특정 OS 기능을 처리한다. 이들 기능은 OS/PCP 큐 처리, OS/PCP CP 에러 보고 데이타 구조 처리, 및 OS/PCP 노드 에러 보고 데이타 구조 처리를 포함하고 있다. OS/PCP 큐 프로세스는 선택된 버퍼에 대한 해제 및 응답과 같은 이벤트를 포함하고 있다.
[다른 실시예]
본 발명은 특정 실시예를 참조하여 설명되었지만 이 설명은 한정하는 의미로 해석되는 것을 의미하지 않는다. 다른 실시예 뿐만 아니라 공개된 실시예의 각종 수정예가 당업자에 의해 명백해질 것이다. 그러므로 특허 청구의 범위는 본원의 진정한 범위에 속하는 모든 수정예를 포함하게 됨을 이해할 수 있다.
Claims (12)
- 동기 신호를 제공하기 위해 스위칭 매트릭스를 가지고 있는 패킷 스위칭 네트워크를 이용하는 스위칭 네트워크 이용 방법으로서, 상기 스위칭 매트릭스가 데이타 통신에서 동기식 노드 제어기를 통해 사용자 프로세서를 이 사용자 프로세서의 노드에 접속하는 스위칭 네트워크 이용 방법에 있어서, 기준 노드 제어기의 어드레스를 저장하기 위해 상기 스위칭 매트릭스에 의해 액세스 가능한 메모리를 이용하는 단계와; 상기 어드레스에 의해 식별된 상기 기준 노드 제어기에 상기 노드 제어기의 타측을 접속하는데 상기 스위칭 매트릭스를 이용하는 단계와; 동기화를 요구하기 위해 상기 노드 제어기로부터의 메시지를 상기 스위칭 매트릭스에 전송하는 단계와; 상기 스위칭 매트릭스에서 상기 기준 노드 제어기로부터의 상기 메시지를 수신하는 단계와; 상기 동기 신호를 상기 스위칭 매트릭스를 통해 모든 상기 노드 제어기에 전달하는 단계로서, 상기 동기 신호가 상기 노드 제어기를 상기 기준 노드 제어기에 동기시키는 단계를 포함하고 있는 스위칭 네트워크 이용 방법.
- 제1항에 있어서, 상기 기준 노드 제어기에 상기 노드 제어기의 타측을 접속하는데 상기 스위칭 매트릭스를 이용하는 상기 단계가 교차점 리셋트 스위치에 의해 달성되는 스위칭 네트워크 이용 방법.
- 제1항에 있어서, 상기 노드 제어기에서 상기 메시지를 리셋트 타이밍 신호로 이용하는 단계를 더 포함하고 있는 스위칭 네트워크 이용 방법.
- 제1항에 있어서, 상기 노드 제어기의 노드 제어 프레임 주기를 정의하는데 상기 동기 신호를 이용하는 단계를 더 포함하고 있는 스위칭 네트워크 이용 방법.
- 제4항에 있어서, 상기 노드 제어기의 패킷 프레임 주기를 정의하는데 상기 동기 신호를 이용하는 단계를 더 포함하고 있는 스위칭 네트워크 이용 방법.
- 제1항에 있어서, 상기 메모리는 상기 스위칭 매트릭스의 내부 래지스터인 스위칭 네트워크 이용 방법.
- 제1항에 있어서, 상기 메시지는 상기 스위칭 매트릭스의 외부에서 발생되는 클럭 신호인 스위칭 네트워크 이용 방법.
- 프로세서 기초 사용자 장치에 대한 통신을 처리하며, 스위칭 매트릭스에 관련된 통신을 처리하는데 제1레벨 프로토콜을 이용하는 스위칭 네트워크의 동작을 동기화하는 스위칭 네트워크 동작 동기화 방법에 있어서, 상기 노드 제어기들간의 메시지에 대해 제2레벨 프로토콜을 처리하고, 사용자 프로세서들간의 메시지에 대해 제3레벨 프로토콜을 처리하기 위해, 사용자 프로세서의 클러스터와 각각 관련되어 있는 노드 제어기를 이용하는 단계와; 각각의 상기 노드 제어기에서 노드 제어기 동기 신호를 수신하는 단계와; 상기 노드 제어 동기 신호로 노드 제어 프레임 주기를 정의하는 단계와; 각각의 노드 제어기가 상기 노드 제어 프레임 주기 동안에 동일한 스케줄의 프로세스를 수행할 수 있도록 상기 노드 제어 프레임 동안에 상기 제2레벨 프로토콜 및 상기 제3레벨 프로토콜과 관련된 프로세스를 수행하는 단계와; 상기 노드 제어 프레임 내에 패킷 프레임을 정의하는 단계와; 상기 패킷 프레임 내에서 패킷 전송을 수행하는 단계를 포함하고 있는 스위칭 네트워크 동작 동기화 방법.
- 제8항에 있어서, 복수의 패킷 프레임이 상기 노드 제어 프레임 동안에 발생되는 스위칭 네트워크 동작 동기화 방법.
- 제8항에 있어서, 상기 프로세스는 각각의 상기 노드 제어기의 제2레벨 메모리를 처리하는 단계와, 각각의 상기 노드 제어기의 제3레벨 메모리를 처리하는 단계와, 진행중인 서비스 요구를 처리하는 단계를 포함하고 있는 스위칭 네트워크 동작 동기화 방법.
- 제10항에 있어서, 상기 프로세스는 제3레벨 이벤트 큐를 처리하는 단계를 포함하고 있는 스위칭 네트워크 동작 동기화 방법.
- 제8항에 있어서, 상기 노드 제어 동기 신호는 상기 노드 제어기의 외부에서 발생되어, 상기 스위칭 네트워크의 매트릭스를 통해 상기 노드 제어기에 전송되는 스위칭 네트워크 동작 동기화 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/717,420 US5291480A (en) | 1991-06-18 | 1991-06-18 | Synchronous node controllers for switching network |
US717,420 | 1991-06-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR930001618A KR930001618A (ko) | 1993-01-16 |
KR100235584B1 true KR100235584B1 (ko) | 1999-12-15 |
Family
ID=24881959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019920010399A KR100235584B1 (ko) | 1991-06-18 | 1992-06-16 | 동기 신호를 제공하기 위한 스위칭 네트워크 이용 방법 및 스위칭 네트워크 동작 동기화 방법 |
Country Status (11)
Country | Link |
---|---|
US (2) | US5291480A (ko) |
EP (1) | EP0526690B1 (ko) |
JP (1) | JPH05219585A (ko) |
KR (1) | KR100235584B1 (ko) |
AT (1) | ATE221712T1 (ko) |
AU (1) | AU655246B2 (ko) |
CA (1) | CA2063846C (ko) |
DE (1) | DE69232703T2 (ko) |
ES (1) | ES2179037T3 (ko) |
MX (1) | MX9201649A (ko) |
TW (1) | TW221541B (ko) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2778893B2 (ja) * | 1993-03-05 | 1998-07-23 | 株式会社東芝 | 通信制御装置 |
US6510465B1 (en) * | 1994-04-19 | 2003-01-21 | Ibm | Dual communication services interface for distributed transaction processing |
US5546452A (en) * | 1995-03-02 | 1996-08-13 | Geotel Communications Corp. | Communications system using a central controller to control at least one network and agent system |
US5737334A (en) * | 1995-07-12 | 1998-04-07 | Bay Networks, Inc. | Pipeline architecture for an ATM switch backplane bus |
US6426952B1 (en) | 1998-09-18 | 2002-07-30 | The United States Of America As Represented By The Secretary Of The Navy | Multi-interface point-to-point switching system (MIPPSS) having an internal universal signal format |
US6580692B1 (en) | 1998-09-18 | 2003-06-17 | The United States Of America As Represented By The Secretary Of The Navy | Dynamic switch path verification system within a multi-interface point-to-point switching system (MIPPSS) |
US6678268B1 (en) | 1998-09-18 | 2004-01-13 | The United States Of America As Represented By The Secretary Of The Navy | Multi-interface point-to-point switching system (MIPPSS) with rapid fault recovery capability |
US6628648B1 (en) | 1998-09-18 | 2003-09-30 | The United States Of America As Represented By The Secretary Of The Navy | Multi-interface point-to-point switching system (MIPPSS) with hot swappable boards |
US6526048B1 (en) | 1998-09-18 | 2003-02-25 | The United States Of America As Represented By The Secretary Of The Navy | Multi-interface point-to-point switching system (MIPPSS) under unified control |
US6845410B1 (en) * | 1999-09-29 | 2005-01-18 | Silicon Graphics, Inc. | System and method for a hierarchical system management architecture of a highly scalable computing system |
US6832265B1 (en) | 2000-01-07 | 2004-12-14 | Cisco Technology, Inc. | Methods and apparatus for moving data elements within a data communications device |
US7437428B1 (en) * | 2000-02-16 | 2008-10-14 | Microsoft Corporation | System and method for transferring data over a network |
US6920110B2 (en) | 2001-02-14 | 2005-07-19 | Microsoft Corporation | System and method for transferring data over a network |
AU2000231428A1 (en) * | 2000-03-10 | 2001-09-17 | Shenzhen Liming Network Systems Co., Ltd. | A platform of information switch |
US7185076B1 (en) | 2000-05-31 | 2007-02-27 | International Business Machines Corporation | Method, system and program products for managing a clustered computing environment |
US7487152B1 (en) | 2000-05-31 | 2009-02-03 | International Business Machines Corporation | Method for efficiently locking resources of a global data repository |
US6834307B2 (en) * | 2001-06-26 | 2004-12-21 | Intel Corporation | Event-based application layer switching for high-speed protocol processing |
JP3683211B2 (ja) * | 2001-12-10 | 2005-08-17 | エヌイーシーコンピュータテクノ株式会社 | ノード間データ転送方法及びノード間データ転送装置 |
US20030210703A1 (en) * | 2002-05-13 | 2003-11-13 | Accton Technology Corporation | Method of managing frame and switch and network structure thereof |
CN100448234C (zh) * | 2006-07-17 | 2008-12-31 | 朱宁宁 | 自动化***中的一种通信网关 |
US8381014B2 (en) * | 2010-05-06 | 2013-02-19 | International Business Machines Corporation | Node controller first failure error management for a distributed system |
US8825848B1 (en) * | 2012-03-20 | 2014-09-02 | Emc Corporation | Ordering of event records in an electronic system for forensic analysis |
WO2016105427A1 (en) * | 2014-12-24 | 2016-06-30 | Intel Corporation | Apparatus and method for using multiple multi-drop buses |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR910017801A (ko) * | 1990-03-22 | 1991-11-05 | 미다 가쓰시게 | 독립 동기형 구내정보통신망 및 그것에 사용되는 노드장치 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5922464A (ja) * | 1982-07-29 | 1984-02-04 | Fuji Xerox Co Ltd | タイミング同期回路 |
FR2552609B1 (fr) * | 1983-09-27 | 1985-10-25 | Cit Alcatel | Procede et dispositif de selection d'une station d'un ensemble de stations dialoguant avec une station principale |
US4646287A (en) * | 1984-12-07 | 1987-02-24 | At&T Bell Laboratories | Idle period signalling in a packet switching system |
US4719621A (en) * | 1985-07-15 | 1988-01-12 | Raytheon Company | Packet fastbus |
SE452231B (sv) * | 1986-03-07 | 1987-11-16 | Philips Norden Ab | Forfarande for synkronisering av klockor ingaende i ett lokalt netverk av busstyp |
US4885739A (en) * | 1987-11-13 | 1989-12-05 | Dsc Communications Corporation | Interprocessor switching network |
US4939753A (en) * | 1989-02-24 | 1990-07-03 | Rosemount Inc. | Time synchronization of control networks |
US5020020A (en) * | 1989-04-07 | 1991-05-28 | Digital Equipment Corporation | Computer interconnect system with transmit-abort function |
US5027349A (en) * | 1989-05-10 | 1991-06-25 | Alcatel Na | Embedded control technique for distributed control systems |
US4939752A (en) * | 1989-05-31 | 1990-07-03 | At&T Company | Distributed timing recovery for a distributed communication system |
JP2964151B2 (ja) * | 1989-07-03 | 1999-10-18 | 富士通株式会社 | 通信制御方式 |
EP0440284B1 (en) * | 1990-01-30 | 1996-04-10 | Koninklijke Philips Electronics N.V. | A system for the transmission of data packets |
JP3120994B2 (ja) * | 1990-05-11 | 2000-12-25 | キヤノン株式会社 | デジタル交換装置 |
US5218602A (en) * | 1991-04-04 | 1993-06-08 | Dsc Communications Corporation | Interprocessor switching network |
-
1991
- 1991-06-18 US US07/717,420 patent/US5291480A/en not_active Expired - Lifetime
-
1992
- 1992-03-14 AT AT92104435T patent/ATE221712T1/de not_active IP Right Cessation
- 1992-03-14 DE DE69232703T patent/DE69232703T2/de not_active Expired - Fee Related
- 1992-03-14 EP EP92104435A patent/EP0526690B1/en not_active Expired - Lifetime
- 1992-03-14 ES ES92104435T patent/ES2179037T3/es not_active Expired - Lifetime
- 1992-03-24 CA CA002063846A patent/CA2063846C/en not_active Expired - Fee Related
- 1992-03-27 TW TW081102363A patent/TW221541B/zh active
- 1992-04-03 AU AU14048/92A patent/AU655246B2/en not_active Ceased
- 1992-04-10 MX MX9201649A patent/MX9201649A/es not_active IP Right Cessation
- 1992-06-16 KR KR1019920010399A patent/KR100235584B1/ko not_active IP Right Cessation
- 1992-06-18 JP JP4182901A patent/JPH05219585A/ja active Pending
-
1994
- 1994-02-28 US US08/204,641 patent/US5432781A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR910017801A (ko) * | 1990-03-22 | 1991-11-05 | 미다 가쓰시게 | 독립 동기형 구내정보통신망 및 그것에 사용되는 노드장치 |
Also Published As
Publication number | Publication date |
---|---|
AU655246B2 (en) | 1994-12-08 |
EP0526690B1 (en) | 2002-07-31 |
JPH05219585A (ja) | 1993-08-27 |
US5432781A (en) | 1995-07-11 |
EP0526690A3 (en) | 1998-07-08 |
TW221541B (ko) | 1994-03-01 |
ATE221712T1 (de) | 2002-08-15 |
DE69232703T2 (de) | 2003-04-03 |
ES2179037T3 (es) | 2003-01-16 |
EP0526690A2 (en) | 1993-02-10 |
CA2063846A1 (en) | 1992-12-19 |
DE69232703D1 (de) | 2002-09-05 |
US5291480A (en) | 1994-03-01 |
CA2063846C (en) | 1999-08-24 |
KR930001618A (ko) | 1993-01-16 |
AU1404892A (en) | 1992-12-24 |
MX9201649A (es) | 1992-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100235584B1 (ko) | 동기 신호를 제공하기 위한 스위칭 네트워크 이용 방법 및 스위칭 네트워크 동작 동기화 방법 | |
US5218602A (en) | Interprocessor switching network | |
EP0366935B1 (en) | High-speed switching system with flexible protocol capability | |
US6070219A (en) | Hierarchical interrupt structure for event notification on multi-virtual circuit network interface controller | |
JP2540624B2 (ja) | 交換装置 | |
US4380063A (en) | Flow control mechanism for block switching nodes | |
US5377189A (en) | Hybrid data communications systems | |
EP0391583B1 (en) | Dual-path computer interconnect system with four-ported packet memory control | |
EP0179550B1 (en) | Controlled star network | |
US5187780A (en) | Dual-path computer interconnect system with zone manager for packet memory | |
JPH06197130A (ja) | 高速パケット交換装置およびデータパケットの経路指定方法 | |
JPS6158062B2 (ko) | ||
US5317692A (en) | Method and apparatus for buffer chaining in a communications controller | |
US6172984B1 (en) | System and method for reducing the latency for time sensitive data over CSMA/CD networks | |
JPS6223257A (ja) | 情報伝送方法 | |
EP0492972A2 (en) | Serial link communication systems | |
US7609688B2 (en) | Serialized bus communication and control architecture | |
US5613067A (en) | Method and apparatus for assuring that multiple messages in a multi-node network are assured fair access to an outgoing data stream | |
KR100298961B1 (ko) | 메시지도착통지를위한소스및수신지개시인터럽트시스템 | |
US4516237A (en) | Remote data link controller having multiple data link handling capabilities | |
JPH05336141A (ja) | ループネットワーク | |
WO1990015493A1 (en) | Hybrid data communications system | |
JP3023339B2 (ja) | メッセージ着信通知方法及びシステム | |
Lunn et al. | Message transport on the Cambridge ring—A simulation study | |
RU2068579C1 (ru) | Способ доступа абонента к шине данных в вычислительной сети ethernet и устройство для его осуществления |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |