KR900006793B1 - 패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법 - Google Patents

패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법 Download PDF

Info

Publication number
KR900006793B1
KR900006793B1 KR1019860700371A KR867000371A KR900006793B1 KR 900006793 B1 KR900006793 B1 KR 900006793B1 KR 1019860700371 A KR1019860700371 A KR 1019860700371A KR 867000371 A KR867000371 A KR 867000371A KR 900006793 B1 KR900006793 B1 KR 900006793B1
Authority
KR
South Korea
Prior art keywords
data packets
queue
output port
output
coupled
Prior art date
Application number
KR1019860700371A
Other languages
English (en)
Inventor
로버트 제이. 맥밀런
Original Assignee
휴우즈 에어크라프트 캄파니
에이.더블유.카람벨라스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 휴우즈 에어크라프트 캄파니, 에이.더블유.카람벨라스 filed Critical 휴우즈 에어크라프트 캄파니
Application granted granted Critical
Publication of KR900006793B1 publication Critical patent/KR900006793B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/40Constructional details, e.g. power supply, mechanical construction or backplane

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

내용 없음.

Description

패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법
본 발명은 주로 멀티프로세서 및 병렬 컴퓨터 시스템과 디지탈 통신 장비등내에 사용된 패킷 스위칭 장치에 관한 것으로, 더욱 상세하게 말하자면 동일한 입력 포오트에 도달하는 데이타 패킷들 사이의 출력 포오트 경쟁(contention)을 감소시키기 위해서 데이타 패킷들을 분류 및 저장시키기 위해 사용되는 입력 포오트에 각각 결합된 다수의 대기 행렬(queue) 셋트를 사용하는 패킷 스위칭 장치에 관한 것이다.
컴퓨터 기술의 개발 분야 중 어떤 분야는 대규모 멀티프로세서를 기초로 한 분산 및 병렬 처리 컴퓨터 시스템의 설계 및 개발과 관련된다. 이러한 부류의 컴퓨더 시스템 및 구조적 접근 방법 중 대표적인 것은 단일 명령 열, 단일 데이타 열(single instruction stream, multiple data stream : SIMD) 켬퓨터 구조 및 다중 명령 열, 다중 데이타 열(multiple instruction stream, multiple data stream : MIND) 컴퓨터 구조이다.
전형적으로, SIMD 컴퓨터는 제어 유니트, N개의 프로세서, N개의 메모리 모듈 및 상호접속 회로망으로 구성된다. 제어 유니트는 명령을 모든 프로세서에 발송하고, 모든 활성 프로세서들은 동시에 동일한 명령을 실행한다. 각각의 활성 프로세서는 자체 관련 메모리 모듈내의 테이타상의 명령을 실행한다. 상호접속 회로망은 프로세서 및 메모리 모듈용 통신 시설을 제공한다.
전형적으로, MIND 컴퓨터는 N개의 프로세서 및 N개의 메모리로 구성되고, 각각의 프로세서는 독립 명령 열을 실행할 수 있다. 각각의 프로세서는 임의의 다른 프로세서와 통신할 수 있다. 이와 같은 프로세서간의 임의적 통신에 따라 이 통신을 위한 마찬가지의 상호접속 회로망이 MIMD 컴퓨터대에 사용될 수 있다.
다른 형태의 컴퓨터 시스템내에 사용된 프로세서들 및 메모리들을 상호접속시키기 위해 다수의 상호접속회로망이 사용될 수 있다. 이 상호접속 회로망은 예를 들어 델타(delta)회로망, 오메가(omega)회로망, 간접 이진 n-큐브(indirect binary n-cube)회로망, 플립(flip)회로망, 큐브 회로망 및 밴얀(banyan)회로망을 포함한다.
상술한 회로망들은 다음 발행물에 어느 정도 상세히 기술되어 있다. 1980년 8월, 1980년도 병렬 프로세싱 국제 회로록(1980 Int'1 Conf. Parallel Processing), 161-162페이지, "MIND기용 모듈러 상호접속 회로망의 LSI실행(LSI Implementation of modular interconnection networks for MIND machine) ; 1981년 4월, IEEE 컴퓨터 회보(IEEE Trans. Computers), 제C-30권,273-282페이지," 퍼버식 델타 회로망의 해석 및 시율레이션(Analysis and simulation of buffered delta network) 1979년 4월, 제6차 컴퓨터 "멀티프로세서용 프로세서 -메모리 상호접속 방법(Processor-memory interconnections for multiprocessor)" ; 1980년 6월, AFIPS 1980년도 국제 컴퓨터 회의록(AFIPS 1980 Nat'1. Computer Conf.), 643-653페이지. "TRAC내의 밴얀 상호접속 희로망의 설계 및 실행(Design and implementation of the banyan interconnection network in TRAC) " , 1981년 12월, 컴퓨터 지 (Computer), 제14권,65-76페이지, "다단큐브 다목적 상호접속 회로망(The multistage cube : a versatile interconnection network)" ; 1980년 12월, 분산 데이타 획득, 계산 및 제어 심포지움 의사록(Distributed Data Acquisition, Computing and Control Symp.) 11-12페이지, "하이브리드 큐브 회로망(The hybrid cube networks)" ; 및 1981년 8월, 1981년도 병렬 프로세싱 국제 회의록(1981 Int'1. Conf. on Parallel Proce$ing), 229-233페이지, "PASM용 상호접속 회로망내의 4x4 스위칭 노오드의 성능 및 실행(Performance and implementation of 4x4 switching nodes in an interconnection network for PASM) ".
패킷 스위칭, 메시지 스위칭, 시분할 회로 스위칭 또는 공간분할 회로 스위칭을 포함하는 여러 행태의 스위칭 기술이 테이타를 SIMD 및 MIND 컴퓨터내로 전송하기 위해 사용될 수 있다. 패킷 스위칭은 한번에 1개 이상의 데이타 워드(word)를 시스템을 통해 보내는 수단을 포함한다.
종래의 패킷 스위칭 상호접속 회로망은 회로망을 통하는 정보의 전송 속도를 포함하는 공지된 문제점을 갖는다. 전형적으로, 종래의 설계들은 데이타 패킷들을 저자시키고 이 데이타 패킷들을 모든 출력 포오트로 포워드(forward)하기 위해 회로망의 각각의 입력 포오트에 결합된 단일 대기 행렬(queue)을 사용하였다. 단일 대기 행렬 시스템내에서, 예를 들어, 출력 포오트 1로 가기로 되어 있는 데이타 패킷이 대기 행렬내에서 출력 포오트 2로 가기로 되어 있는 데이타 패킷보다 실제로 선행하고 포오트 1을 통해 아직 배출되지 않았기 때문에 출력 포오트 2행 데이타 패킷이 이 포오트를 통해 배출되지 못하도록 차단된다는 사실로 인해 경쟁 문제점이 발생한다. 이 경쟁 문제점은 불필요한 이송 지연을 야기시키므로 시스템 전체 효율을 감소시킨다.
이 문제점을 해결하고저 하는 한 패킷 스위칭 노오드 설계는 상술한 "하이브리드 큐브 회로망"이란 명칭의 논문에 기술되어 있다. 이 관심의 대상인 회로망은 12페이지의 제VI.2도에 도시되어 있다. 이 도면은 별도의 대기 행렬 선택 논리회로를 통해 직행(straight) 및 교환(exchange)신호로서 식별된 2개의 대기 행렬에 각각 결합되는 2개의 입력 포오트로 구성되는 스위치 노오드를 도시한 것이다, 각각의 대기 행렬쌍의 2개의 대기 행렬의 출력은 대기 행렬 선택 및 스위치 논리회로를 통해 2개의 입력 프오트에 결합된다.
직행/교환 신호는 패킷들이 전송 싸이클 중에 적당한 대기 행렬대로 직접 게이트(gate)되게 하는 회로에 의해 처리된 데이타 패킷내에 포함된다. 이 데이타 패킷들은 제2대기 행렬 선택기 및 스위치를 통해 제어부내의 제어 논리회로에 의해 적당한 출력 포오트로 게이트된다. 4 : 1 멀티플렉서는 데이타 패킷들을 적당한 출력 포오트로 게이트시키기 위해서 제2대기 행렬 선택기 및 스위치 대신에 사용될 수 있었다.
이 스위치 노오드의 동작은 본 발명의 동작과 어느 정도 유사하다. 그러나, 다음에 설명한 바와같이, 본발명의 구조 및 동작은 이 스위치 노오드의 구조 및 동작과 상이하다. 직행/교환 스위치 노오드와 본 발명사이의 근본적인 차이점은 전자가 소정의 대기 행렬 출력을 소정의 출력 포오트에 접속시키고, 후자가 다음에 기술한 바와같이 각각의 대기 행렬 출력을 정확히 한 출력에 접속시킨다는 것이다.
(발명의 요약)
종래 기술의 패킷 스위칭 노오드의 단점을 제거하기 위해서, 본 발명은 목적지들의 상이한 출력 포오트들인 노오드의 입력 포오트에 도달하는 데이타 패킷들 사이의 경쟁의 문제점을 제거시키는 패킷 스위칭 노오드를 제공한다. 본 발명은 또한 경쟁을 감소시키고 시스템 성능 및 전체 시스템 효율을 향상시키도록 출력포오트 목적지에 따라 인가된 데이타 패킷들을 분류하는 패킷 스위칭 노오드를 제공한다.
상술한 특징 및 장점들을 얻기 위해서, 본 발명은 데이타 패킷들이 인가될 출력 포오트 목적지를 표시하는 루팅 태그(routing tag)신호를 포함하는 인가된 데이타 패킷들을 처리하는 패킷 스위칭 노오드를 제공한다. 이 패킷 스위칭 노오드는 다수의 입력 포오트와 다수의 출력 포오트로 구성된다. 다수의 대기 행렬 선택기들은 다수의 입력 포오트들 중 대응 입력 포오트에 각각 결합된다. 다수의 대기 행렬 선택기는 각각 데이타 패킷의 출력 포오트 목적지에 따라 각각의 입력 포오트에 인가된 데이타 패킷들을 발생시키기에 적합하다.
다수의 대기 행렬 셋트들은 다수의 대기 행렬 선택기들 중 대응 대기 행렬 선택기에 각각 결합된다. 각각의 대기 행렬 셋트는 출력 포오트 목적지의 기능에 따라 인가된 데이타 패킷들을 저장 및 포워드시키기 위한 다수의 대기 행렬들로 구성된다. 다수의 출력 중재기들은 다수의 출력 포오트들 중 대응 출력 포오트와 목적지들이 대응 출력 포오트인 데이타 패킷들을 저장 및 포워드시키는 각각의 대기 행렬 셋트의 각각의 대기 행렬 사이에 각각 결합된다. 이 출력 중재기들은 선정된 우선순위 중재 기법에 따라 대기 행렬내에 저장된 데이타 패킷들을 대응 출력 포오트로 전송시키기에 적합하다.
대기 행렬 선택기들은 각각의 입력 포오트와 대응하는 다수의 대기 행렬 셋트 사이에 결합된 대기 행렬선택 논리회로로 구성된다. 대기 행렬 선택 논리회로는 루팅 태그 신호들에 따라 입력 포오트에 도달하는 인가된 데이타 패킷들을 대기 행렬들 중 대응 대기 행렬에 발송시키기에 적합하다. 출력 중재기들은 각각의 출력 포오트와 각각의 다수의 대기 행렬 셋트의 각각의 대기 행렬 사이에 결합된 출력 중재 논리회로로 구성된다. 출력 중재 논리회로는 목적지들이 이 출력 중재 논리회로에 결합된 출력 포오트들인 데이타 패킷들을 처리하고, 선정된 우선순위 중재 기법에 따라 각각의 대기 행렬대에 저장된 이 출력 포오트에 관련된 데이타 패킷들을 이 출력 포오트에 인가시키기에 적합하다.
동작시에, 본 발명의 패킷 스위칭 노오드는 명령 흐름 컴퓨터(instruction flow computer) 등과 같은 멀티프로세서 컴퓨터 시스템에 사용될 수 있다. 이러한 컴퓨터 시스템은 다수의 프로세서, 및 소정의 프로세서에 의해 억세스될 수 있는 다수의 메모리들로 구성된다. 본 발명의 패킷 스위칭 노오드는 프로세서와 메모리 사이의 통신 링크(link)의 일부로서 사용될 수 있다.
일예로서, 이 시스템은 2개의 프로세서와 2개의 메모리로 구성된다. 따라서, 신호들을 시스템을 통해 전송하기 위해 4입력, 4출력 스위치 노오드가 사용되었다. 각각의 프로세서 및 각각의 메모리는 스위치 노오드의 입력 포오트와 출력 포오트에 접속된다. 예를 들어, 한 처리 싸이클 동안에, 프로세서 1은 데이타를 메모리 1내에 저장시키기를 원한다. 프로세서 1은 입력 및 출력 포오드 0에 접속되고, 메모리 1은 입력 및 출력 포오트 2에 접속된다. 프로세서 1은 데이타 패킷의 일부분인 목적지(출력 포오트 2)를 표시하는 루팅태그 신호를 발생시킨다. 데이타 패킷은 입력 포오트 0에서 패킷 스위칭 노오드로 들어간다. 대기 행렬 선택기는 루팅 캐그 신호를 해독하고 데이타 패킷을 저장시켜 이 데이타 패킷을 출력 포오트 2에 결합된 출력중재기로 포워드시키는 이 대기 행렬 선택기에 결합된 대기 행렬 셋트 내의 대기 행렬로 데이타 패킷을 통과시킨다. 이 데이타 패킷은 우선순위 중재 기법에 기초를 두고 출력 중재기를 통해 출력 포오트 2로 통과되어, 최종적으로 메모리 1에 도달한다.
본 발명이 어떻게 이러한 경쟁을 해결하는가에 대해 더욱 분명히 이해하기 위해, 몇개의 처리 싸이클이 생겼고, 각각의 대기 행렬 셋트내의 대부분의 대기 행렬이 저장된 데이타 패킷을 갖는다고 가정한다. 또 프로세서 1이 메모리 1대에 데이타를 저장시키기를 원한다고 가정한다. 프로세서 1은 입력 포오트 0에 결합된 대기 행렬 선택기에 의해 해독되는 루팅 태그 신호를 발생시킨다. 데이타 패킷은 데이타 패킷을 출력 포오트 2로 향한 출력 중재기에 발송시키는 적당한 대기 행렬대에 저장된다.
프로세서 1이 출력 포오트 3에 접속되는 메모리 2대에 데이타를 저장시킨다고 가정한다. 정당한 루팅 태그 신호가 발생되고, 데이타 패킷은 입력 포오트 1로 들어간다. 그런 다음, 이 데이타 패킷은 출력 포오트3에 관련된 대기 행렬내로 배치되는데 그렇다고 위치적으로 목적지가 출력 포오트 2인 이전의 데이타 패킷다음에 배치되는 것은 아니다. 그러므로, 제2데이타 패킷의 메모리 2로 전송되는데 있어 제1데이타 패킷에 의한 방해를 받지 않는다.
일반적으로, 각각의 대기 행렬 선택기는 상이한 출력 포오트행 데이타 패킷들을 이에 결합된 대기 행렬셋트내의 상이한 대기 행렬로 발송시킨다. 이것은 이 처리 단계에서 패킷들 사이의 경쟁을 제거시킨다. 모든 입력 포오트들로부터 출력 중재기에 발송된 데이타 패킷들이 처리되어야 하는 순서를 결정해야 하는 출력 중재기에서만 경쟁이 존재하게 된다. 이러한 문제는 이를 해결하기 위해 구현되는 우선순위 중재 기법에 의해 달성된다.
본 발명은 NxM 스위치 노오드를 구성한다. 본 발명의 패킷 스위칭 노오드의 설계는 각각의 입력/출력포오드 쌍마다 1개의 대기 행렬을 사용하여, 총 MxN개의 대기 행렬을 발생시킨다. 이 형태의 대기 행렬배열의 한가지 장점은 인입 데이타 괘킷들이 목적지에 따라 분류되게 하므로, 패킷들 사이의 경쟁을 감소시키고 성능을 향상시킨다는 것이다.
패킷 스위칭 노오드는 비트 슬라이스(bit slice)방식으로 구현될 수 있는 블럭으로서 융통성있게 형성할수 있다. 회로망은 임의의 크기 및 통로 폭을 갖도록 다양하게 구성할 수 있다. 본 발명은 레지스터들 및 다른 보조 구조물들을 상호 접속시키기 위한 단일 컴퓨터내의 1개의 모듈로부터 대규모 병렬 처리 시스템용 회로망을 형성하는 수백개의 모듈에 이르기까지 폭넓은 범위에서 사용하기에 적합하다. 본 발명은 고속 디지탈 패킷 스위치식 통신을 요구하는 소정의 응용시에 사용될 수 있다.
또한, 본 발명은 데이타 패킷들이 인가될 출력 포오트 목적지를 표시하는 루팅 태그 신호를 포함하는 인가된 데이타 패킷들을 처리하는 방법을 제공한다. 이 방법은 데이타 패킷들을 적당한 출력 포오트로 발송시키기 의해서 데이타 패킷들을 처리한다. 이 방법은 포함된 루팅 태그 신호들에 따라 데이타 패킷들을 분류하는 단계를 포함한다. 제2단계는 루팅 태그 신호들에 따라 각각의 출력 포오트들에 관련된 선정된 대기행렬내에 데이타 패킷들을 저장시키는 단계를 포함한다. 다음 단계는 동일한 출력 포오트를 경쟁하는 대기행렬내에 저장된 데이타 패킷들중에서 중재하거나 선택하는 단계를 포함한다. 최종 단계는 선택된 데이타패킷을 루팅 태그 신호에서 식별된 출력 포오트로 인가 또눈 발송시키는 단계를 포함한다.
본 발명은 컴퓨터 시스템 및 구조에 본 발명을 사용하는 방법에 관련하여 기술되어 있지만, 본 발명은 이 응용에 제한되지 않는다. 본 발명은 또한 통신 분야를 포함하는 응용시에 사용될 수도 있다. 특히, 본 발명을 사용하는 상호 접속 회로망은 데이타 패킷에 의해 데이타 및 음성 정보를 통신하는 전화 시스렘을 접속시키는데 사용될 수 있다.
이하, 첨부도면을 참조하여 본 발명의 여러가지 목적 및 특징들에 대해서 상세하게 기술하겠다.
제1도는 본 발명의 원리에 따른 패킷 스위칭 노오드의 개략적인 실시예를 도시한 것이고,
제2도는 제1도의 패캣 스위칭 노오드의 4입력 4출력 실행 상태를 도시한 것이며,
제3a도 및 제3b도는 제2도의 패킷 스위칭 노오드를 상세하게 도시한 것이고,
제4도는 제3도의 패킷 스위칭 노오드내에 사용하기 위한 클럭 발생기 회로를 도시한 것이며,
제5a도 및 제5b도는 제3도의 패킷 스위칭 노오드내에 사용하기 위한 대기 행렬 선택기 논리회로를 도시한 것이고,
제6a도 및 제6b도는 제3도의 패킷 스위칭 노오드내에 사용하기 위한 대기 행렬 회로를 도시한 것이며,
제7a도 및 제7b도는 제3도의 패킷 스위칭 노오드내에 사용하기 위한 출력 중재 제어 논리회로를 도시한 것이고,
제8a도 및 제8b도는 제3도의 패킷 스위칭 노오드내에 사용하기 위한 출력 중재 데이타 논리회로를 도시한 것이며,
제9도는 제6도의 대기 행렬대에 사용된 모율로 3계수기의 논리회로를 상제하게 도시한 것이고,
제10도는 제6도의 대기 행렬대로 사용된 모듈로 4업/다운(up/down)계수기의 논리회로를 상세하게 도시한 것이며,
제11도는 제6도의 대기 행렬의 해독 및 기입 디코느 논리를 실행하기 위해 사용된 2 : 3 디멀티플렉서의 논리회로를 상세하게 도시한 것이고,
제12도는 제7도에 도시한 출력 중재 제어 논리회로내에 사용된 우선순위 계수기내에 사용된 모듈로 4업계수기의 논리회로를 상세하게 도시한 것이며,
제13도 및 제14도는 제3도의 패킷 스위칭 노오드에 대한 타이밍도이다.
제1도를 참조하면, 본 발명의 원리에 따른 패킷 스위칭 노오드(20)의 실시예가 도시되어 있다. 패킷 스위칭 노오드(20)은 다수의 대기 행렬 선택기(22)의 입력에 각각 결합되는 다수의 입력 포오트(21)들로 구성된다. 각각의 대기 행렬 선택기(22)는 대응 대기 행렬 셋트(23)의 별도의 대기 행렬에 각각 결합되는 다수의 출력들을 갖고 있다. 다수의 출력 포오트(25)는 다수의 출력 중재기(24)의 출력에 각각 결합된다. 각각의 출력 중재기(24)는 각각의 대기 행렬 셋트(23)내에 포함된 대기행렬들의 선정된 출력에 결합되는 다수의 입력들을 갖고 있다.
패킷 스위칭 노오드(20)은 데이타 패킷들이 발송될 출력 포오트 목적지를 표시하는 데이타 워드 및 루팅태그 산호를 포함하는 인가된 데이타 페킷들을 처리하기에 적합하다. 각각의 대기 행렬 선택기(22)는 루팅태그 신호들에 따라 이에 결합된 대기 행렬 셋트내의 대기 행렬들 중 대응 대기 행렬로 입력 포오트에 도달하는 인가된 데이타 패킷들을 발송시키도록 설계된 대기 행렬 선택 논리회로로 구성된다. 각각의 대기 행렬선택기(22)는 각각의 출력 포오트(25)에 대응하는 다수의 출력들을 갖고 있다. 각각의 이 출력들은 이에 관련된 대기 행렬 셋트(23)중의 한 대기 행렬에 각각 결합된다. 그러므로, 각각의 대기 행렬 셋트는 그 입력포오트에 도달하는 데이타 패킷들을 적합하게 처리하여 출력 포오트를(25)중의 어느 출력 포오트로 향하도록 한다.
각각의 출력 중재기(24)는 각각의 입력 포오트(21)에 대응하는 다수의 입력들을 갖고 있다. 특정한 출력 중재기의 각각의 입력은 목적지가 특정한 출력 중재기(24)가 결합되는 출력 포오트(25)인 데이타 패킷들을 처리하는 각각의 대기 행렬 셋트(23)의 한 대기 행렬의 출력에 각각 결합된다. 그러므로, 모든 입력 포오트(21)은 모든 출력 포오트(25)에 결합된다. 각각의 출력 중재기(24)는 결합된 출력 포오트(25)로부터 통과될 데이타 패킷들을 선택하기 위해서 모든 다수의 입력 포오트들로부터 도달하는 데이타 패킷들을 처리하는 출력 중재 논리회로로 구성된다. 이 선택 처리는 출력 중재 논리회로에 의해 실행된 선정된 우선순위 중재 기법에 의해 실행된다.
특히, 제1대기 행렬 선택기(22a)는 제1대기 행렬 셋트(23a)의 각각의 대기 행렬에 결합된 다수의 출력들을 갖고 있다. 제1대기 행렬 셋트(23a)의 대기 행렬들의 각각의 출력은 1 : 1방식으로 각각의 출력 중재기(23)의 각각의 입력들에 결합된다. 그러므로, 제1대기 행렬은 제1출력 중재기(24a)에 결합되고, 제2대기 행렬은 제2출력 중재기(24b)에 결합된다. 이와 마찬가지로, 제2대기 행렬 선택기(22b)에 결합된 제2대기 행렬 셋트(23b)는 각각의 출력 중재기(24)의 상이한 입력에 접속된 대기 행렬을 갖고 있다. 패킷 스위칭 노오드(20)내에 사용된 모든 대기 행렬 선택기 및 대기 행렬 셋트의 경우에 동일한 접속 기법이 존재한다.
제1도에 도시한 바와 같이, 패킷 스위칭 노오드(20)은 임의 수의 입력 및 출력 포오트(21,25)로 구성된다. 제1도는 N개의 입력 포오트(21)과 M개의 출력 포오트(25)가 있을 수 있다는 것을 나타냄으로써 본발명을 개략적으로 도시한 것이다. 4개의 입력 포오트와 4개의 출력 포오트에 결합되는 이 노오드의 특수한 실시예에 대하여 제2도를 참조하여 다음에 기술하겠다.
동작시에, 일예로써, 본 발명의 패킷 스위칭 노오드는 명령 흐름 컴퓨터 등과 같은 멀티프로세서 컴퓨터시스템내에 사용될 수 있다. 이러한 컴퓨터 시스템은 다수의 프로세서, 및 소정의 프로세서에 의해 억세스될 수 있는 다수의 메모리들로 구성될 수 있다. 이 패킷 스위칭 노오드(20)은 프로세서와 메모리 사이에 통신 링크를 제공한다.
프로세서 1이 입력 포오트(21a)에 접속되고, 메모리 1이 출력 포오트(25a)에 접속된다고 가정한다. 예를들어, 프로세서 1은 데이타를 메모리 1대에 저장시키기를 원한다. 프로세서 1은 데이타 패킷의 일부분인 목적지(메모리1)을 표시하는 루팅 태그 신호를 발생시킨다. 데이타 패킷은 입력 포오트(21a)에서 패킷 스위칭 노오드(20)으로 들어간다. 제1대기 행렬 선택기(22a)는 루팅 태그 신호를 해독히고, 이 선택기내의 논리회로는 데이타 패킷들을 출력 포오트(25a)에 결합된 제1출력 중재기(24a)로 발송시키는 제1대기행렬셋트(23a)의 대기 행렬내에 데이타 패킷을 배치시킨다. 이 데이타 패킷은 출력 중재 논리회로에 의해 실행된 우선순위 중재 기법에 기초를 두고 메모리 포오트 1로 통과된다.
패킷 스위칭 노오드(20)은 이 노오드에 의해 처리된 데이타 패킷들 사이의 경쟁을 감소시키도록 설계된다. 패킷 스위칭 노오드(20)이 경쟁을 감소시키는 방법을 더욱 확실히 이해하기 위해, 몇개의 처리 싸이클이 생겼고 각각의 대기 행렬 셋트(23)내에 대부분의 대기 행렬이 저장된 데이타 패킷들을 갖는다고 가정한다. 또, 프로세서 1이 메모리 1내에 데이타를 저장시키기를 원한다고 가정한다. 프로세서 1은 입력 포오트(21a)에 결합된 제1대기 행렬 선택기(22a)에 의해 해독되는 루팅 태그 신호를 발생시킨다. 데이타 패킷은 이 데이타 패킷을 출력 포오트(25a)용 제1출력 중재기(24a)로 발송시키는 제1대기 행렬 셋트(23a)의 적당한 대기 행렬내에 저장된다.
이제, 프로세서 1이 출력 포오트(25b)에 결합되는 메모리 내에 데이타를 저장시킬려고 한다고 하자. 적당한 루팅 태그 신호가 발생되고, 데이타 패킷이 입력 포오트(21a)로 들어간다. 그런 다음 이 데이타 패킷은 출력 포오트(25b)에 관련된 대기 행렬내로 배치되는데, 그렇다고 위치적으로 목적지가 메모리 1인 이전의 데이타 패킷 다음에 배치되는 것은 아니다. 그러므로, 제2데이타 패킷이 메모리 2로 전송되는데 있어제1데이타 패킷에 의해 방해를 받지 않는다.
따라서, 각각의 대기 행렬 선택기(22)는 상이한 출력 포오트 행 데이타 패킷들을 이의 관련된 대기 행렬셋트(23)의 상이한 대기 행렬내로 발송시킨다. 이것은 이 처리 단계에서 패킷들 사이의 경쟁을 감소시킨다. 데이타 패킷들이 처리되어야 하는 순서를 결정해야 하는 출력 중재기(24)에서만 경쟁이 있게 된다. 이것은 출력 중재 논리회로에 의해 실행된 우선순위 중재 기법에 의해 달성된다.
출력 중재기(24)에 의해 특정한 우선순위 중재 구조를 구현하는데에는 라운드 로빈(round robin) 우선순위 기법으로서 통상적으로 알려져 있는 방법으로 구현할 수도 있다. 통계학적으로, 이 우선순위 기법에 의하면 각각의 데이타 패킷이 선택된 확률은 동일하다. 그러나, 소정의 경우에, 이 기법은 최고 우선순위를갖고 있는 패킷이 스위칭 노오드(20)에서 나올때까지 이 우선순위를 보유하도록 설계된 출력 중재 논리회로를 가짐으로써 변형될 수 있다. 또한, 조만간에, 모든 데이타 패킷에 최고 우선순위가 제공된다. 이 기법은모든 데이타 패킷이 서비스(serveice)가 보장되므로 스위칭 노오드(20)을 나오게 되는 수단을 제공한다. 이 우선순위 기법에 관련된 논리회로에 대해서는 다음에 제7도에 관련하여 더욱 상세하게 기술하겠다.
대기 행렬 선택기(22)와 출력 중재기(24)는 선정된 핸드쉐이킹 프로토콜(handshaking protocol)을 실행하기에 적합하다. 이 프로토콜은 노오드(20)을 통하는 전송 싸이클 동안에 데이다가 전혀 손실되지 않게 하는데 필요하다. 핸드쉐이킹 프로토콜은 컴퓨터 분야에서 공지되어 있으므로, 본 명세서에서는 상세하게 기술하지 않겠다. 그러나, 대기 행렬 선택기(22)와 출력 중재기(24)내에서 이 프로트콜을 실행하는 논리회로에 대해서는 다음에 제5도 및 제7도를 참조하여 더욱 상세하게 기술하겠다. 본 발명의 핸드쉐이킹 프로토콜 특징에 의하면 스위칭 노오드를 구성 블럭으로 이용하여 다단 상호 접속 회로망을 설계할 수 있다.
제2도를 참조하면, 제1도의 패킷 스위칭 노오드의 4입력 4출력 실행상태가 도시되어 있다. 이 패킷 스위칭 노오드(20)은 4개의 입력 포오트(21), 4개의 대기 행렬 선택기(22),4기의 대기 행렬 셋트(23),4개의 출력 중재기(24) 및 4개의 출력 포오트(25)로 구성된다. 각각의 대기 행렬 셋트(23)은 각각의 대기 행렬 선택기(22)의 출력과 각각의 4개의 출력 중기기(24)의 입력 사이에 결합되는 4개의 대기 행렬로 구성된다.
제3도를 참조하면, 제2도의 패킷 스위칭 노오드(20)의 상세한 계통도가 도시되어 있다. 제3도는 완전한 도면을 얻기 위해 서로 인접하여 배치되어야 하는 제3a도와 제3b도로 구성된다. 이 노오드는 입력 포오트(21a-d), 대기 행렬 선택기(22a-d), 4개의 대기 행렬(23a-1 내지 23a-4) 등으로 구성된 대기 행렬셋트(23a-d), 4개의 출력 중재기(24a-d) 및 4개의 출력 포오트(25a-d)로 구성된다. 부수적으로, 클럭발생기(26)은 노오드(20)의 다수의 구성부품들에 결합된다. 각각의 구성부품들은 스위칭 노오드(20)의 다른 구성부품들에 접속된 신호 라인들을 나타내는 것으로 도시되어 있다. 각각의 4개의 대기 행렬 선택기(22)들은 각각 개별 블럭으로서 도시되어 있다. 특정한 대기 행렬 셋트(23)의 각각의 대기 행렬은 개별 블럭으로서 도시되어 있다. 각각의 출력 중재기(24)는 데이타 논리회로(24a-1 내지 24d-1) 및 제어 논리회로(24a-2 내지 24d-2)로 구성되는 2개의 블럭으로서 도시되어 있다.
제3도의 패킷 스위칭 노오드(20)을 구성하는 각각의 구성부품들은 제4도 내지 제8도에 상세하게 도시되어 있다. 이 회로들의 설계 및 구조의 상세한 설명은 그 설계가 간단하므로 생략하겠다. 그러나, 설계 또는 동작이 공지되지 않은 구성부품들에 대해서는 상세하게 기술하겠다. 이 회로들은 이 회로들내에서 실시된 필요한 논리식 및 결정 알고리즘을 실행하는 다수의 가능한 논리회로들 중 몇가지만 도시한 것이다.
제4도는 제3도의 패킷 스위칭 노오드(20)내에 사용하기 위한 클럭 발생기(26)의 회로를 도시한 것이다. 제4도에 도시한 다수의 입력 및 출력 라인과 신호 식별 라인들은 상술한 제3도 및 제5도 내지 제8도내에서 식별된 신호 라인들에 대응한다. 클럭 발생기(26)은 디코더(32)와 리셋트 플립-플롭(31)에 결합된 3제산(divide-by-three) 계수기(34)로 구성된다. 이 3제산계수기(34)는 플립-플롭(30), 궤한 게이트(33) 및 버퍼(35)로 구성된다. 동작시에; 계수기(34)는 순차 00, 01, 10, 00,…로 클럭신호 출력들을 발생시킨다. 이 신호들은 디코더(32)에 의해 3개의 클럭 위상(phase), 즉 REQψ, GRAψ 및 XFERψ로 변환된다. 리셋트 플립-플롭(31)은 시스템용 동기 리셋트(RESET) 신호를 발생시키도록 마스터 리셋트(MASTERRESET) 신호를 클럭 신호의 동기시킨다.
제5도는 앞에서 제3도를 참조하여 예시한 바와 같이 완전한 도면을 형성하기 위한 결합되어야 하는 제5a도 및 제5b도로 구성된다. 제5도는 제3도의 각각의 대기 행렬 선택기(22)에 관련된 대기 행렬 선택기 논리회로를 도시한 것이다. 또, 각각의 신호 라인들이 표시되어 제4도 내지 제8도에 도시한 다른 구성부품들의 신호 라인들에 대응한다. 대기 행렬 선택기 논리회로는 태그 디코더(40), 인가(grant)발생 논리회로(41) 및 8-입력, 1 : 4 디멀티플렉서(42)로 구성된다. 동작시에, 이 논리회로는 요구 위상을 구성하는 REQO 클럭 개시시에 2개의 태그 비트 및 8개의 데이타 비트로된 요구 신호를 수신한다. 태그 신호들은1:4 디멀티플렉서(42)를 사용하여 4개의 대기 행렬들 중 한 대기 행렬을 선택하는 태그 디코더(40)에 의해 디코드된다. 선택된 대기 행렬이 2번깨 대기 행렬로부터의 FULLi에 의해 포시되는 충만상태(fu11)가 아니면, 1 : 4 디멀티플렉서(42)는 엔에이블되고, 인가(GRANT)신호가 인가 발생 논리회로(41)에 의해 발생된다. 선택된 대기 행렬이 충만 상태이면, 인가(GRANT)신호가 전혀 제공되지 않는다.
제 6도는 제6a도 및 제6b도로 구성되고, 완전한 도면을 얻기 위해서 제 3도와 유사한 방식으로 결합되어야 한다. 제6도는 제3도에 도시한 각각의 대기 행렬의 회로를 도시한 것이다. 3개의 데이타 패킷들은 저장 레지스터(50a-c)내에 저장될 수 있다. 나머지 논리회로는 대기 행렬의 동작을 제어한다. 이 논리회로는 기입 디코더(53)에 결합된 백 포인터(back pointer, 52), 및 해독 디코더(55)에 결합한 프론트 포인터(front pointer, 54)로 구성된다. 이 구성부품들은 8-입력 멀티플렉서(51), 상태 디코더(57)에 결합되는 상태계수기(56), 계수기 엔에이블 논리회로(58), 타이잉 플립-플롭(59)에 결합된다.
각각의 대기 행렬, 예를 들어 대기 행렬(23a-1)은 다음과 같이 동작한다. 데이타 패킷들은 대기 행렬선택기(22)내의 1 : 4 디멀티플렉서(42)로부터 대기 행렬의 후방에서 수신된다. 대기 행렬(23a-1)이 상태디코더(57)로 표시한 바와 같이, 충만 상태가 아니면, 데이타 패킷은 백 포인터(52)에 의해 지시된 레지스터(50)들 중 한 레지스터내로 기입된다. 선택된 레지스터(50)은 XFERψ 클럭에 의해 신호된 전송중에 기입 디코더(53)에 의해 엔에이블된다. 다음 요구 신호를 수신함에 따라, 백 포인터는 증가 동작을 제어하는타이밍 플립-플롭(59b)에 의해 엔에이블링된 경우에 증가된다. 기입 디코더(53)으로 보내진 기입 클럭펄스는 타이밍 플립-플롭(59a)에 의해 종료된다. 여기서 한가지 유념할 것은, 이 타이잉 플릅이 필요하게되는 경우는 레지스터(50)이 레벨 트리거(level trigger)될 경우이다. 따라서 레지스터(50)들이 연부 트리거(edge trigger)될 경우에만 이 타이잉 플립-플롭이 회로에서 제거될 수 있다.
데이타 패킷이 수신될 때마다, 상태 계수기(56)은 증가되고, 데이타 패킷이 전송될 때마다 상태 계수기(56)은 감소된다. 이 실행된 동작은 대기 행렬 선택기(22)로부터 증가 백(INCBACK)신호 및 출력 중재기(24)로부터의 증가 프론트(INCFRONT)신호를 검사하는 계수가 엔에이블 논리회로(58)에 의해 결정된다.상태 계수기(56)이 00이면, 상태 디코더 논리회로(57)은 공백 상태를 표시하고, 상태 계수기(56)이 11이면,상태 디코더 논리회로(57)은 충만 상태를 표시한다.
상태 디코더(57)이 대기 행렬이 공백 상태가 아니라는 것을 표시할 때마다, 데이타 패킷을 대기 행렬의 전방으로부터 대응 출력 포오트(25)로 출력시킬 것을 요구하는 신호가 출력 중재기(24)로 보내진다. 출력 중재기(24)가 이 대기 행렬을 선택하고 데이타 ㅍ킷이 전송되면, 증가 프론트(INCFRONT) 신호는 활성화되고 전송중에 프론트 포인더(54)는 증가하게 된다. 해독 디코더(55)는 포론트 포인터(54)로부터의 신호들을 디코드하고 선택된 레지스터(50)으로부터의 출력이 8-입력 멀티플렉서(51)을 사용하여 대기행렬의 전방에서 나타나게 한다.
출력 중재기 제어 논리회로(24a-2)는 제7도에 도시되어 있다. 제7도는 앞에서 제3도를 참조하여 나타낸 바와같이 완전한 도면을 얻기 위해서 결합되어야 하는 제7a도와 제7b도로 구성된다. 출력 중재기 제어 논리회로(24a-c)를 구성하는 각각의 회로는 중재기 논리회로(60), 증가 프론트 발생 논리회로(61), 우선순위 계수기(62) 및 우선순위 계수기 엔에이블 논리회로(63)으로 구성된다. 동작시에, 중재기 논리회로(60)은 대응 출력 포오트(25)로부터의 패킷을 전송하기 위해서 "비공백"신호에 의해 총 4개의 대기 행렬로부터 신호들을 수신할 수 있다. 1개의 대기 행렬은 우선순위 계수기(62)에 의해 표시된 우선순위에 따라 선택되고, 요구 출력신호는 이 대기행렬로부터 출력된다. 우선순위 계수기(62)는 증가되므로, 신호가 우선순위 계수기 엔에이블 논리회로(63)으로부터 수신되는 경우에 우선순위 계수기 엔에이블 논리회로(63)으로부터 수신되는 경우에 우선순위가 변한다. 이러한 신호는 최고 우선순위를 갖고 있는 데이타 패킷이 전송될 경우에만 발생되는데, 이것은 인가 신호의 수신에 의해 표시된다. 증가 프론트 발생 논리회로(61)은 인가신호가 수신된 경우에 선택된 대기행렬의 전방 포인터를 증가시키기 위한 신호를 보낸다. 중재기 논리회로(60)의 출력은 출력 중재기 데이타 논리회로(24a-1)을 제어한다. 출력 중재기 데이타 논리회로(24a-1)은 제8도에 도시되어 있고, 선택된 대기행렬을 이 출력 포오트(25)에 접속시키는 8-입력 4 : 1멀티플렉서로 구성된다. 제8도는 제8a도와 제8b도로 구성되고, 완전한 도면을 얻기 위해 제3도를 참조하여 상술한 바와 같이 결합되어야 한다.
제9도는 제6도에 도시한 대기 행렬(23)내에 백 포인터(52) 및 프론트 포인터(54)를 실행하기 위해 사용된 모듈로 3계수기의 상세한 논리회로를 도시한 것이다. 제10도는 제6도에 도시한 대기 행렬(23)내의 모듈로 4업/다운 계수기(56)의 상세한 논리회로를 도시한 것이다. 제11도는 제6도내의 대기 행렬(23)내에 기입디코드 논리회로(53) 및 해독 디코드 논리회로(55)를 구현하기 위해 사용된 2 : 3 디멀티플렉서의 상세한 논리회로를 도시한 것이다. 제12도는 제7도에 도시한 출력 중재기 제어 논리회로(24a-2)내의 우선순위 계수기(62)를 구현하기 위해 사용된 모듈로 4업-계수기의 상세한 논리회로를 도시한 것이다.
제13도 및 제14도는 제3도의 패킷 스위칭 노오드에 대한 타이잉도를 도시한 것이다. 제13도는 대기 행렬이 공백 상태이고 1개의 데이타 패킷을 수용 및 전송하는 최악의 경우의 타이밍 해석 상태를 도시한 것이다. 제14도는 대기 행렬이 저장된 2개의 데이타 패킷들을 갖고 있고, 1개의 데이타 패킷을 수용하고, 충만상태로 되고, 다음에 1개의 데이타 패킷을 전송하는 최악의 경우의 타이밍 해석 상태를 도시한 것이다. 파선은 특정한 신호가 나타날 수 있는 최근의 시간을 나타낸다. 화살표는 화살표가 시작되는 사상의 발생에 응답하여 발생하는 사상으로 가게 된다.
본 발명은 또한 데이타 패킷들이 인가될 출력 포오트 목적지를 나타내는 루팅 태그 신호를 포함하는 데이타 패킷들에 적용된 처러방법을 고려한 것이다. 이 방법은 데이타 패킷들을 적당한 출력 포오트로 발송시키기 위해서 이 데이타 패킷들을 처러한다.
이 방법은 포함된 루팅 태그 신호에 따라 데이타 패킷을 분류하는 단계를 포함한다. 이 분류 기능은 대기행렬 선택기에 의해 실행된다. 제2단계는 루팅 태그 신호들에 따라 각각의 출력 포오트에 각각 관련된 선정된 대기 행렬내에 이 데이타 패킷들을 저장시키는 방법을 포함한다.
다음 단계는 동일한 출력 포오트를 경쟁하는 대기 행렬들내에 저장되었던 데이타 패킷들 중에서 중재하거나 선택하는 단계를 포함한다. 이 중재 처리는 출력 중재기들에 의해 실행된다. 최총 단계는 선택된 데이타 패킷을 루팅 태그 신호로 식별된 출력 포오트로 인가 또는 발송시키는 단계를 포함한다. 또한, 이 최종 단계도 출력 중재기에 의해 실행된다.
지금까지, 멀티프로세서 또는 병렬 컴퓨터 응용시에 스위칭 노오드로서 사용될 수 있는 새롭고 개량된 패킷 스위칭 노오드에 대해 기술하였다. 이 패킷 스위칭 노오드는 목적지들이 상이한 출력 포오트들인 노오드의 입력 포오트에 도달하는 데이타 패킷들 사이의 경쟁 문제점을 제거시킨다. 이 패킷 스위칭 노오드는 경쟁을 감소시키기 위해서 각각의 입력 포오트에 결합된 다수의 대기행렬들을 사용하여 출력 포오트 목적지에따라 인가된 데이타 패킷들을 분류한다. 본 발명은 또한 성능이 향상되고 시스템 효율이 높은 패킷 스위칭노오드를 제공한다. 본 발명은 또한 경쟁을 감소시키고 시스템 효율을 증가시키도록 동작하는 패킷 스위칭노오드에 사용하기 위한 데이타 처러방법을 제공한다.
상술한 실시예들은 단지 본 발명의 원리를 응용하는 다수의 특정한 실시예들 중 몇가지 실시예를 기술한것이다. 본 분야에 숙련된 기술자를은 본 발명의 원리 및 범위를 벗어나지 않고서 다수의 변형된 다른 배열의 고안할 수도 있다. 특히, 본 발명을 이용하는 상호 접속 회로망은 데이타 패킷에 의해 데이타 및 음성정보를 통신하는 전화기 시스템을 접속시키기 위해서 사용될 수 있다.

Claims (6)

  1. 데이타 패킷들이 인가될 출력 포오트 목적지를 표시하는 신호들을 포함하는 인가된 상기 데이타 패킷들을 처리하기 위한 패킷 스위칭 노오드(20)에 있어서, 다수의 입력 포오트(21), 다수의 출력 포오트(25), 상기 데이타 패킷들의 출력 포오트 목적지에 따라 각각의 상기 입력 포오트에 인가된 데이타 패킷들을 발송시키기 위해 다수의 상기 입력 포오트들(21)중 대응 입력 포오트들에 각각 결합된 다수의 대기 행렬 선택수단(22), 다수의 상기 대기 행렬 선택 수단들(22)중 대응 대기 행렬 선택 수단에 각각 결합되고, 출력 포오트 목적지의 기능에 따라 인가된 상기 데이타 패킷들을 저장 및 포워드하기 위한 다수의 대기행렬로 각각 구성되는 다수의 대기 행렬 셋트(23), 및 선정된 우선순위 중재 기법에 따라 상기 대기 행렬내에 저장된 데이타 패킷들을 상기 대응 출력 포오트에 전송하기 위해, 다수의 출력 포오트들 중 상기 대응 출력 포오트와 목적지들이 상기 대응 출력 포오트인 데이타 패킷들을 저장 및 포워드 하는 각각의 상기 대기 행렬 세트(23)중의 각각의 대기 행렬 사이에 각각 결합된 다수의 출력 중재 수단(24)로 구성되는 것을 특징으로 하는패킷 스위칭 노오드(20).
  2. 데이타 패킷들이 인가될 출력 포오트(25) 목적지를 표시하는 신호들을 포함하는 인가된 상기 데이타 패킷들을 처리하기 위한 패킷 스위칭 노오드(20)에 있어서, 다수의 입력 포오트(21), 다수의 출력 포오트(25), 상기 데이타 패킷의 출력 포오트 목적지에 따라 각각의 상기 입력 포오트(21)에 인가된 상기 데이타 패킷들을 발송시키고, 다수의 상기 입력포오트들 중 대응 입력 포오트에 결합된 입력을 각각 갖고 있으며,다수의 출력들을 각각 갖고 있는 다수의 대기 행렬 선택 수단(22), 출력 포오트 목적지의 기능에 따라 인가된 데이타 패킷들을 저장 및 포워드 하기 위해 다수의 상기 대기행렬 선택 수단들(22)중 대응 대기 행렬 선택수단에 각각 결합되고, 상기 대응 대기 행렬 선택수단의 출력에 각각 결합되는 입력과, 출력을 각각 갗고있는 다수의 상기 대기 행렬로 각각 구성되는 다수의 대기 행렬 셋트(23), 및 선정된 우선순위 중재 기법에따라 각각의 상기 대기행렬 셋트(23)의 관련 대기 행렬내에 저장된 데이타 패킷들을 다수의 출력 포오트들(25)중 상기 대응 출력 포오트에 전송시키고, 상기 대응 출력 포오트(25)에 결합된 출력을 각각 갖고 있으며 목적지들이 상기 대응 출력 포오트(25)인 데이타 패킷을 저장 및 포워드하는 각각의 상기 대기 행렬 제트(23)의 각각의 대기 행렬의 출력에 결합된 다수의 입력들을 각각 갖고 있는 다수의 출력 중재 수단(24)로 구성되는 것을 특징으로 하는 괘킷 스위칭 노오드(20).
  3. 데이타 패킷들이 인가될 출력 포오트(25) 목적지를 표시하는 루팅 태그 신호들을 포함하는 인가된 상가 데이타 패킷들을 처리하기 위한 패킷 스위칭 노오드(20)에 있어서, 다수의 입력 포오트(21), 다수의 출력 포오트(25), 다수의 상기 입력 포오트(21)에 각각 결합되고 목적지들이 상기 출력 포오트들(25)중 특정한 출력 포오트인 데이타 패킷을 각각 처리하여 저장시키는 다수의 대기 행렬로 각각 구성되는 다수의 대기행렬 세트(23), 상기 루팅 태그 신호에 따라 상기 입력 포오트(21)에 도달하는 인가된 데이타 패킷들을 상기 대기 행렬들 중 대응 대기 행렬로 발송시키기 위해 각각의 상기 입력 포오트(21)과 다수의 대응 대기 행렬 셋트(23) 사이에 결합된 대기 행렬 선택기(22), 및 선정된 우선순위 중재 기법에 따라 각각의 상기 출력포오트(25)와 각각의 상기 대기 행렬내에 저장된 상기 출력 포오트에 관련된 데이타 패킷들을 상기 출력 포오트(25)에 인가시키기 위해 목적지들이 상기 출력 포오트(25)인 데이타 패킷들을 처리하는 각각의 다수의 상기 대기 행렬 셋트(23)의 각각의 대기 행렬사이에 결합된 출력 중재기(24)로 구성되는 것을 특정으로 하는 패킷 스위칭 노오드(20).
  4. 데이타 패킷들을 적당한 출력 포오트(25)로 발송시키기 위해서 상기 데이타 패킷들이 연가될 상기 출력 포오트(25) 목적지들을 표시하는 루팅 태그 신호들을 포함하는 인가된 상기 데이타 패킷들을 처리하는방법에 있어서, 포함된 상기 루팅 태그 신호들에 따라 상기 데이타 페킷들을 분류하는 단계, 상기 루팅 태그 신호들에 따라 각각의 상기 출력 포오트들(25)중의 각각의 포오트들에 관련된 선정된 대기 행렬내에 상기 데이타 패킷들을 저장시키는 단계, 동일한 상기 출력 포오트(25)에 대해 경쟁하는 대기 행렬들 내에 저장되었던 상기 데이타 패킷들 중에서 선택하는 단계, 및 선택된 데이타 패킷을 상기 루팅 태그 신호로 식별된 상기 출력 포오트(25)에 인가시키는 단계를 포함하는 것을 특징으로 하는 데이타 패킷 처리 방법.
  5. 데이타 패킷들을 적당한 출력 포오트(25)로 발송시키기 위해서 상기 데이타 패킷들이 인가될 상기 출력 포오트(25) 목적지들을 표시하는 루팅 태그 신호들을 포함하는 인가된 상기 데이타 패킷들을 처리하는방법에 있어서, 포함된 상기 루팅 태그 신호들에 따라 상기 데이타 패킷들을 분류하는 단계, 상기 루팅 태그 신호내에 포함된 상기 출력 포오트(25) 목적지에 대응하는 대기 행렬(23)내에 상기 데이타 패킷들을 저장시키는 단계, 상기 출력 포오트(25)중 특정한 출력 포오트에 대응하는 각각의 대기 행렬(23)내에 저장된 상기 데이타 패킷들 중에서 중재하는 단계, 및 중재 처러중에 선택된 상기 데이타 패킷들을 상기 루팅 태그신호로 식별된 상기 출력 포오트(25)로 발송시키는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 데이타 패킷들을 적당한 출력 포오트(25)로 발송시키기 위해서 상기 데이타 패킷들이 연가될 상기 출력 포오트(25) 목적지들을 표시하는 루팅 태그 신호들을 포함하는 연가된 상기 데이타 패킷들을 처리하는 방법에 있어서, 포함된 상기 루팅 태그 신호들에 따라 상기 데이타 패킷들을 분류하는 단계, 상기 루팅 태그 신호들로 식별된 상기 출력 포오트(25) 목적지에 기초를 두고 선정된 대기 행렬(23)내에 분류된 상기 데이타 패킷들을 저장시키는 단계, 동일한 출력 포오트(25)를 향하는 상기 대기 행렬(23)대에 저장된 상기 데이타 패킷들 중에서 중재하는 단계, 및 중재 처리중에 선틱된 상기 데이타 패킷들을 상기 대기 행렬(23)으로부터 루팅 태그 신호로 식별된 출력 포오트(25)에 발송시키는 단계를 포함하는 것을 특징으로 하는 방법.
KR1019860700371A 1984-10-18 1984-10-18 패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법 KR900006793B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US662474 1984-10-18
US06/662,474 US4623996A (en) 1984-10-18 1984-10-18 Packet switched multiple queue NXM switch node and processing method
PCT/US1985/001838 WO1986002510A1 (en) 1984-10-18 1985-09-26 PACKET SWITCHED MULTIPLE QUEUE NxM SWITCH NODE AND PROCESSING METHOD

Publications (1)

Publication Number Publication Date
KR900006793B1 true KR900006793B1 (ko) 1990-09-21

Family

ID=24657876

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1019860700371A KR900006793B1 (ko) 1984-10-18 1984-10-18 패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법
KR1019860700371A KR880700568A (ko) 1984-10-18 1985-09-26 패킷 스위치 다중 대기 행렬 n×m 스위치 노오드 및 처리방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1019860700371A KR880700568A (ko) 1984-10-18 1985-09-26 패킷 스위치 다중 대기 행렬 n×m 스위치 노오드 및 처리방법

Country Status (7)

Country Link
US (1) US4623996A (ko)
EP (1) EP0200780B1 (ko)
KR (2) KR900006793B1 (ko)
DE (1) DE3573871D1 (ko)
IL (1) IL76534A0 (ko)
SG (1) SG74589G (ko)
WO (1) WO1986002510A1 (ko)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4920534A (en) * 1986-02-28 1990-04-24 At&T Bell Laboratories System for controllably eliminating bits from packet information field based on indicator in header and amount of data in packet buffer
NL8601712A (nl) * 1986-07-01 1988-02-01 Koninkl Philips Electronics Nv Communicatienetwerk, in het bijzonder een telefoonnetwerk en datacommunicatienetwerk dat is samengesteld uit een verzameling van knooppuntseenheden, waarbij specifieke faciliteiten binnen naar keuze vastgestelde domeinen, volledig geintegreerd kunnen worden geboden.
US4760570A (en) * 1986-08-06 1988-07-26 American Telephone & Telegraph Company, At&T Bell Laboratories N-by-N "knockout" switch for a high-performance packet switching system
US4754451A (en) * 1986-08-06 1988-06-28 American Telephone And Telegraph Company, At&T Bell Laboratories N-by-N "knockout" switch for a high-performance packet switching system with variable length packets
EP0257168B1 (en) * 1986-08-27 1992-06-03 International Business Machines Corporation Pseudo synchronous transportation apparatus in a communication network
EP0259117B1 (en) * 1986-09-05 1994-01-26 AT&T Corp. Distributed packet switching system
US4821259A (en) * 1986-09-05 1989-04-11 American Telephone And Telegraph Company, At&T Bell Laboratories Control information communication arrangement for a distributed control switching system
US4780870A (en) * 1986-09-05 1988-10-25 American Telephone And Telegraph Company, At&T Bell Laboratories Packet switch
DE3889550T2 (de) * 1987-01-12 1994-09-01 Fujitsu Ltd Datenübertragungspufferschaltungen für Datenaustausch.
US4887076A (en) * 1987-10-16 1989-12-12 Digital Equipment Corporation Computer interconnect coupler for clusters of data processing devices
EP0312628B1 (en) * 1987-10-20 1993-12-29 International Business Machines Corporation High-speed modular switching apparatus for circuit and packet switched traffic
DE3738177A1 (de) * 1987-11-10 1989-05-18 Siemens Ag Vermittlungsknoten fuer die vermittlung von in datenpaketen uebertragenen datensignalen
EP0315918B1 (de) * 1987-11-11 1993-02-24 Siemens Aktiengesellschaft Vermittlungsknoten für die Vermittlung von in Datenpaketen übertragenen Datensignalen
ATE89692T1 (de) * 1988-03-26 1993-06-15 Alcatel Nv Kommunikationsvermittlungselement.
US5268896A (en) * 1988-03-26 1993-12-07 Alcatel N.V. Communication switching element
SE462361B (sv) * 1988-03-30 1990-06-11 Ellemtel Utvecklings Ab Paketdatavaeljare
US4872159A (en) * 1988-03-31 1989-10-03 American Telephone And Telegraph Company At&T Bell Laboratories Packet network architecture for providing rapid response time
GB8810094D0 (en) * 1988-04-28 1988-06-02 Plessey Co Plc Asychronous time division network
DE3823878A1 (de) * 1988-07-14 1990-01-18 Philips Patentverwaltung Koppelfeld fuer ein vermittlungssystem
GB8821409D0 (en) * 1988-09-13 1988-10-12 Int Computers Ltd Data processing system
DE3833490A1 (de) * 1988-10-01 1990-04-05 Philips Patentverwaltung Koppelfeld fuer ein vermittlungssystem
US5210744A (en) * 1989-06-28 1993-05-11 Mitsubishi Denki Kabushiki Kaisha Cell exchange apparatus
US4955017A (en) * 1989-08-29 1990-09-04 At&T Bell Laboratories Growable packet switch architecture
US4955016A (en) * 1989-08-29 1990-09-04 At&T Bell Laboratories Interconnect fabric providing connectivity between an input and arbitrary output(s) of a group of outlets
JPH03182140A (ja) * 1989-12-11 1991-08-08 Mitsubishi Electric Corp 共通バッファ形交換装置
US5247613A (en) * 1990-05-08 1993-09-21 Thinking Machines Corporation Massively parallel processor including transpose arrangement for serially transmitting bits of data words stored in parallel
CA2043505A1 (en) * 1990-06-06 1991-12-07 Steven K. Heller Massively parallel processor including queue-based message delivery system
US5191578A (en) * 1990-06-14 1993-03-02 Bell Communications Research, Inc. Packet parallel interconnection network
US5265257A (en) * 1990-06-22 1993-11-23 Digital Equipment Corporation Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines
US5265229A (en) * 1990-07-02 1993-11-23 Digital Equipment Corporation Single load, multiple issue queue with error recovery capability
US5231633A (en) * 1990-07-11 1993-07-27 Codex Corporation Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
CA2048198C (en) 1990-08-09 1996-06-04 Kai Y. Eng Growable switch
US5172371A (en) * 1990-08-09 1992-12-15 At&T Bell Laboratories Growable switch
US5166930A (en) * 1990-12-17 1992-11-24 At&T Bell Laboratories Data channel scheduling discipline arrangement and method
US5144293A (en) * 1990-12-18 1992-09-01 International Business Machines Corporation Serial link communication system with cascaded switches
US5250943A (en) * 1991-03-29 1993-10-05 International Business Machines Corporation GVT-NET--A Global Virtual Time Calculation Apparatus for Multi-Stage Networks
US5365228A (en) * 1991-03-29 1994-11-15 International Business Machines Corporation SYNC-NET- a barrier synchronization apparatus for multi-stage networks
US5404461A (en) * 1991-03-29 1995-04-04 International Business Machines Corp. Broadcast/switching apparatus for executing broadcast/multi-cast transfers over unbuffered asynchronous switching networks
JP2947628B2 (ja) * 1991-03-11 1999-09-13 富士通株式会社 スイッチ制御装置
US5825773A (en) * 1991-03-20 1998-10-20 Hitachi, Ltd. Switching system for transferring broadcast packet held in broadcast buffer received from input port to output ports according to the state of each output port
GB2254980B (en) * 1991-04-16 1995-03-08 Roke Manor Research Improvements in or relating to multicast server apparatus
US5321813A (en) 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
US5268900A (en) * 1991-07-05 1993-12-07 Codex Corporation Device and method for implementing queueing disciplines at high speeds
JP3679813B2 (ja) * 1991-07-22 2005-08-03 株式会社日立製作所 並列計算機
JP2671699B2 (ja) * 1991-11-15 1997-10-29 三菱電機株式会社 セル交換装置
US5398235A (en) * 1991-11-15 1995-03-14 Mitsubishi Denki Kabushiki Kaisha Cell exchanging apparatus
US5243699A (en) * 1991-12-06 1993-09-07 Maspar Computer Corporation Input/output system for parallel processing arrays
GB2272820B (en) * 1992-11-14 1996-08-07 Roke Manor Research Improvements in or relating to asynchronous transfer mode communication systems
EP1030483B1 (en) * 1993-02-15 2003-10-08 Mitsubishi Denki Kabushiki Kaisha Asynchronous transfer mode switch
SE515148C2 (sv) * 1993-06-23 2001-06-18 Ericsson Telefon Ab L M Styrning av cellväljare
US5613067A (en) * 1993-12-30 1997-03-18 International Business Machines Corporation Method and apparatus for assuring that multiple messages in a multi-node network are assured fair access to an outgoing data stream
EP0669736A3 (en) * 1994-01-26 1997-01-08 Ibm Dynamic routing in real time in a data network.
US5495426A (en) * 1994-01-26 1996-02-27 Waclawsky; John G. Inband directed routing for load balancing and load distribution in a data communication network
GB2288096B (en) * 1994-03-23 1999-04-28 Roke Manor Research Apparatus and method of processing bandwidth requirements in an ATM switch
GB2288095A (en) * 1994-03-23 1995-10-04 Roke Manor Research Improvements in or relating to asynchronous transfer mode (ATM) systems
GB2288947B (en) * 1994-04-20 1999-01-06 Roke Manor Research Improvements in or relating to ATM communication systems
SE504985C2 (sv) * 1995-05-09 1997-06-09 Ericsson Telefon Ab L M ATM-växelkärna
US5822540A (en) * 1995-07-19 1998-10-13 Fujitsu Network Communications, Inc. Method and apparatus for discarding frames in a communications device
US6185222B1 (en) 1995-09-28 2001-02-06 Cisco Technology, Inc. Asymmetric switch architecture for use in a network switch node
FR2741763B1 (fr) * 1995-11-23 1998-01-23 Jean Louis Simon Systeme de regulation de trains d'information pour commutateur paquet
US5742597A (en) * 1996-03-14 1998-04-21 Motorola, Inc. Method and device for multipoint switching and arbitration in output-request packet switch
US5790545A (en) * 1996-03-14 1998-08-04 Motorola Inc. Efficient output-request packet switch and method
US5878227A (en) * 1996-07-01 1999-03-02 Sun Microsystems, Inc. System for performing deadlock free message transfer in cyclic multi-hop digital computer network using a number of buffers based on predetermined diameter
US6049546A (en) * 1996-10-15 2000-04-11 At&T Corporation System and method for performing switching in multipoint-to-multipoint multicasting
US6115387A (en) * 1997-02-14 2000-09-05 Advanced Micro Devices, Inc. Method and apparatus for controlling initiation of transmission of data as a function of received data
KR100327986B1 (ko) * 1997-12-20 2002-08-08 주식회사 하이닉스반도체 웨이트-플레그를이용한딜레이트래픽프레임의선택방법
EP1006694B1 (en) * 1998-12-03 2009-02-25 Secretary of Agency of Industrial Science and Technology Communications method and communications system
US6574232B1 (en) * 1999-05-26 2003-06-03 3Com Corporation Crossbar switch utilizing broadcast buffer and associated broadcast buffer management unit
US6519697B1 (en) 1999-11-15 2003-02-11 Ncr Corporation Method and apparatus for coordinating the configuration of massively parallel systems
US6412002B1 (en) 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6418526B1 (en) 1999-11-15 2002-07-09 Ncr Corporation Method and apparatus for synchronizing nodes in massively parallel systems
US6745240B1 (en) 1999-11-15 2004-06-01 Ncr Corporation Method and apparatus for configuring massively parallel systems
US7106728B1 (en) 2000-05-01 2006-09-12 Industrial Technology Research Institute Switching by multistage interconnection of concentrators
US6591285B1 (en) * 2000-06-16 2003-07-08 Shuo-Yen Robert Li Running-sum adder networks determined by recursive construction of multi-stage networks
US6807186B2 (en) * 2001-04-27 2004-10-19 Lsi Logic Corporation Architectures for a single-stage grooming switch
US7006497B2 (en) * 2001-06-04 2006-02-28 Calix Networks, Inc. Traffic merging system
US7035294B2 (en) * 2001-06-04 2006-04-25 Calix Networks, Inc. Backplane bus
US7068672B1 (en) * 2001-06-04 2006-06-27 Calix Networks, Inc. Asynchronous receive and transmit packet crosspoint
US7103059B2 (en) * 2001-06-15 2006-09-05 Industrial Technology Research Institute Scalable 2-stage interconnections
US7609695B2 (en) * 2001-06-15 2009-10-27 Industrial Technology Research Institute Optimizing switching element for minimal latency
US6999453B1 (en) 2001-07-09 2006-02-14 3Com Corporation Distributed switch fabric arbitration
US7269158B2 (en) * 2002-03-06 2007-09-11 International Business Machines Corporation Method of operating a crossbar switch
US7151777B2 (en) * 2002-04-04 2006-12-19 Fujitsu Limited Crosspoint switch having multicast functionality
US7512148B2 (en) * 2003-12-09 2009-03-31 Texas Instruments Incorporated Weighted round-robin arbitrator
GB2495543A (en) * 2011-10-14 2013-04-17 St Microelectronics Res & Dev An arrangement for routing requests
US20140050221A1 (en) * 2012-08-16 2014-02-20 Stmicroelectronics, Inc. Interconnect arrangement

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2447652A1 (fr) * 1979-01-24 1980-08-22 Materiel Telephonique Operateur pour reseau de commutation de donnees numeriques par paquets
FR2458196A1 (fr) * 1979-06-01 1980-12-26 Materiel Telephonique Niveau de commutation d'un operateur pour reseau de commutation de donnees numeriques par paquets
US4482996A (en) * 1982-09-02 1984-11-13 Burroughs Corporation Five port module as a node in an asynchronous speed independent network of concurrent processors
FR2549673B1 (fr) * 1983-07-19 1989-06-30 Thomson Csf Mat Tel Commutateur elementaire pour autocommutateur utilisant une technique de multiplexage asynchrone

Also Published As

Publication number Publication date
IL76534A0 (en) 1986-01-31
EP0200780B1 (en) 1989-10-18
DE3573871D1 (en) 1989-11-23
SG74589G (en) 1990-04-20
WO1986002510A1 (en) 1986-04-24
US4623996A (en) 1986-11-18
KR880700568A (ko) 1988-03-15
EP0200780A1 (en) 1986-11-12

Similar Documents

Publication Publication Date Title
KR900006793B1 (ko) 패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법
KR900006791B1 (ko) 패킷 스위치식 다중포트 메모리 n×m 스위치 노드 및 처리 방법
Tamir et al. Dynamically-allocated multi-queue buffers for VLSI communication switches
Tamir et al. Symmetric crossbar arbiters for VLSI communication switches
Tamir et al. High-performance multi-queue buffers for VLSI communications switches
Katevenis et al. Weighted round-robin cell multiplexing in a general-purpose ATM switch chip
KR900006792B1 (ko) 패킷 스위칭 노드용 로드 평형 회로장치
EP0623880B1 (en) Crossbar switch for multiprocessor system
Duato et al. Performance evaluation of adaptive routing algorithms for k-ary n-cubes
EP0334954B1 (en) Layered network
EP0405208B1 (en) Multistage network with distributed pipelined control
Frazier et al. The design and implementation of a multi-queue buffer for VLSI communication switches.
EP0369146A2 (en) Multipath hierarchical network
US5371893A (en) Look-ahead priority arbitration system and method
JPH05241947A (ja) 分散クロスバー・スイッチ・アーキテクチャにおける交換接続の配列。
Bolding et al. The chaos router chip: design and implementation of an adaptive router.
Hanawa et al. Multistage interconnection networks with multiple outlets
Chi et al. Decomposed arbiters for large crossbars with multi-queue input buffers
Lee A variable round-robin arbiter for high speed buses and statistical multiplexers
Youn et al. On multistage interconnection networks with small clock cycles
Arango et al. Staged circuit switching
JP3031591B2 (ja) アクセス調停方式
JP3112208B2 (ja) マトリクス網回路
Sharif-Kashani Using interconnection-processor combining to reduce hot spots and tree saturation in multistage interconnection networks
JPH0638608B2 (ja) パケット・スイッチング・多重キュ−n×mスイッチ・ノ−ド及び処理方法