KR0168241B1 - 광대역 종합 통신망에서 atm 스위칭 시스템 - Google Patents

광대역 종합 통신망에서 atm 스위칭 시스템 Download PDF

Info

Publication number
KR0168241B1
KR0168241B1 KR1019950037065A KR19950037065A KR0168241B1 KR 0168241 B1 KR0168241 B1 KR 0168241B1 KR 1019950037065 A KR1019950037065 A KR 1019950037065A KR 19950037065 A KR19950037065 A KR 19950037065A KR 0168241 B1 KR0168241 B1 KR 0168241B1
Authority
KR
South Korea
Prior art keywords
output
data
input
unit
buffer
Prior art date
Application number
KR1019950037065A
Other languages
English (en)
Other versions
KR970024740A (ko
Inventor
이희철
이윤태
Original Assignee
김광호
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김광호, 삼성전자주식회사 filed Critical 김광호
Priority to KR1019950037065A priority Critical patent/KR0168241B1/ko
Publication of KR970024740A publication Critical patent/KR970024740A/ko
Application granted granted Critical
Publication of KR0168241B1 publication Critical patent/KR0168241B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 새로운 스위치 구조는 낮은 시분할 정수에도 임의의 상수만 넘는 시분할 상수를 이용하면 내부막힘을 거의 제거할 수 있도록 하되, 상기 스위치를 하이퍼 큐브구조에서 사용할 수 있도록 하고 상기 변형된 스위치를 하이퍼큐브구조로 연결하여 고속의 스위칭을 이루기 위해서 스위치에 파셜 컷 스루(partial cut-through)기능을 첨부하며, 이를 ATM스위칭에 적용한 소자의 구조아 노드중 하나 이상을 시스템 관리노드로 연결하여서 이용하는 시스템구조 및 프린티드 회로판의 순서를 백플레인설계에 알맞게 나열하는 ATM시스템으로 하고 있다.

Description

광대역 종합 통신망에서 ATM 스위칭 시스템
제1도는 일반적인 ATM스위치의 N=8,b=2에 의한 밴넌망 구조도.
제2도는 제1도의 밴넌망에서의 막힘 현상의 발생 예시도.
제3도는 제1,2도의 스위치(S1-S12)의 연결선(n=1)인 내부 구조도.
제4도는 제1,2도의 스위치(S1-S12)의 연결선(n=24)인 내부 구조도.
제5도는 본 발명의 실시예에 따른 스위치 구조도.
제6도는 제5도의 입력 모듈 처리부(500)의 구체회로도.
제7도는 제5도의 가상 라우터부(510,512)에서의 할당 가능한 시간 슬롯 예시도.
제8도는 제5도의 가상 라우터부(510,512)에서의 임의 시간에 할당된 병렬버스 구성 예시도(시분할 정수=4인 정수).
제9도는 제5도의 출력모듈부(514)의 구체 회로도.
제10도는 제9도의 각각의 출력모듈부(S14)에서 가상 라우터부(510,512)로부터 들어오는 데이터의 최대갯수(7×7)의 할당 예시도.
제11도는 ATM 스위칭 시스템 연결선상에서 패킷 구조설정을 위한 메모리테이블도.
제12도는 본 발명의 실시예에 따른 스위치를 사용한 b=7인 경우의 하이퍼 큐브 연결구조를 위해서 변형된 시스템도.
제13도는 제12도의 출력 모듈부(514)의 구체 회로도.
제14도는 본 발명의 실시예에 따른 하이퍼 큐브 스위치망도.
제15도는 본 발명의 실시예에 따른 ATM 스위칭 시스템의 연결상에서 패킷 구조도.
제16도는 본 발명의 실시예에 따른 N=6인 ATM스위칭소자의 구조도.
제17도는 본 발명의 실시예에 따른 ATM스위칭소자의 중앙제어부의 구제회로도.
제18도는 본 발명의 실시예에 따른 ATM스위칭소자의 공유버퍼부의 구체회로도.
제19도는 본 발명의 실예에 따른 ATM스위칭 시스템의 실시예시도.
제20도는 본 발명의 실시예에 따른 ATM스위칭 시스템의 프린트기판 배치도.
제21도는 본 발명의 실시예에 따른 하이퍼 큐브에서 상대주소의 반전순서를 정하여 데드락 방지를 위해 설명하기 위한 도면.
제22도는 본 발명의 실시예에 따른 하이퍼 큐브의 구조와 통신을 위해 사용한 예시도.
제23도는 본 발명에 따른 변형된 새로운 커넥터스위치에서 각 병렬버스부분의 확률적 예시도.
제24도는 본 발명에 따른 출력모듈로 가상라우터로부터 동시에 들어오는 데이터의 최대개수를 표시한 테이블도.
본 발명은 광대역 종합 통신망(BISDN: Bordband Intergrated Serice Digital Network)에서 이용되는 ATM(ATM : Asynchronous Transfer Mode)스위칭 시스템에 관한 것으로, 특히 직렬패킷으로 부터 수신되는 입력에 대해 어느 출력으로 보낼지를 결정하여 병렬버스 폭 크기의 정보셀로 나누어 저장한후 상기 채빅 단위로 들어온 순서대로 지정된 타임 슬롯에 실어주는 광대역 종합 통신망 ATM 스위칭 시스템에 관한 것이다.
일반적으로 ATM 스위치는 밴넌 네트워크(Banyan Network) 또는 상기 밴넌 네트워크를 개선한 녹 아웃(knock out) 스위치 등에 주로 이용되어 왔었다. 상기 밴년네트워크는 1993년 발행지 페이지 21-28에 'Banyan Networks...로서 LR.Goke,G,J Lipovski에 의해 밝혀진바 있다.
상기 밴넌 네트워크에서 밴넌망은 일반적으로 동수의 입출력 갯수를 갖는 망으로서 임의의 입력점에서 임의의 출력점으로 입력점의 패킷(packet : 고정 길이를 갖는 메세지)을 전달하기 위한 방법이다. N개의 입출력을 갖는 밴넌망에는 b개의 입력으로부터 b개로 출력하는 패킷을 스위칭하는 (b×b)스위칭소자의 각 단에 N/b개씩 logbN단 만큼 단일 경로를 갖도록 연결하여 입출력간의 패킷을 스위칭하여 준다. 제 1도는 노드수(N)가 18이고, b=2인 밴넌 망의 젤를 도시한 것으로서,상기 밴넌망의 문제점은 모든 입력으로부터 임의의 출력을 향하텁 메세지를 동시에 보내면 제2도의 스위치(S7)에서와 같이 내부 구조상 막힘 현상(blocking)이 발생된다. 상기 스위치(S7)의 막힘 현상의 원인은 두 가지로 설명될 수 있다. 첫째, b×b 스위치(S7)의 스위치 소자(엘리먼트)내에서 두 개 이상의 입력에서 동일 출력점을 향하는 패킷이 있으면 스위치(S7)의 내부에서 막힘 현상이 발생된다. 둘째, 만약 b×b 스위치(S7)의 스위칭 속도가 입력에 비하여 b배이고, 스위치(S7)의 출력점에 비어 있는 버퍼가 b개로 항상 존재한다면 스위치(S7)의 내부에서 막힘 현상은 없앨 수 있다. 그러나, 출력점이 제2도에 나타난 것처럼, 다음 단 스위치(S11)의 입력점에 연결되어 있으므로 스위치(S7)의 소자 내부의 막힘 현상이 제거되었다 하더라도 연결선에 의한 막힘현상이 발생된다. 종래의 ATM시스템은 상기와 같은 두개의 기본적인 문제점을 가지고 있으며, 상기 스위치 소자는 밴넌망의 b×b크로스 커넥트 스위치(cross connected swich)(S1-S12)가 사용되는데, 일반적으로 크로스 괴넥트 스위치(S1-S12)의 구조는 제3도에 나타나 있으며,각 입력으로부터 임의의 출력점에 패킷을 전송하기 위해서 점스위치(301)들을 적절히 동작하여야 한다. 예를 들면, 입력 2번의 패킷이 출력 3번으로 전송되기 위해서는 실선으로 나타난 점 스위치(302)가 온(ON)되어야 한다. 이때 점스위치(301)의 수는 b의 제곱으로 증가한다. 그리고 차세대 비 아이 에스 디엔(B-lSDN)에서 사용될 ATM 스위치는 고속(CCITT에서 표준으로 제안하는 각 링크에서의 속도는 155Mbps 혹은 622Mbps임.)에서 동작하여야 하는데,만약 앞의 스위치소자내의 막힘 현상을 없애지 위해서 b×b스위치 소자의 내부 속도를 b배하면, 현존하는 어느 기술을 사용하더라도 해당 기능을 구현할 수 없다. 이 문제를 해결하기 위해서 크로스 크로스 커넥트 스위치의 입출력을 연결하는 선의 수를 늘려야 한다. 즉, 각 입력으로 고속에 직렬로 들어오는 데이타를 병렬로 변환하여 보내면 스위치의 동작속도를 병렬연결선의 수로 나눈 값으로 낮출 수 있다.
예를 들면, 제4도에서처럼 각 입출력을 연결하는 선의 수를 병렬로 24개씩 늘이면 155Mbps의 입력데이타를 소자내에서 6.46Mbps로 전송할 수 있다. 상기 소자에내서의 전송을 병렬화시키더라도 내부의 막힘현상을 제거하기 위해 또다시 소자내의 전송속도를 b배 하면 그 구현이 힘들어진다.
따라서 본 발명의 목적은 하이퍼 큐브구조를 이용하여 연결선상의 막힘 현상을 제거하고 ATM시스템 구현에서 발생하는 과금을 위한 정보의 수집을 스위칭 시스템 내에서 처리하여 고속의 통신을 위해 스위칭 노드간의 동기를 원활히 하는 ATM스위칭시스템을 제공함에 있다.
상기 목적을 수행하기 위한 본 발명은 직렬로 패킷을 수신하는 입력부와, 상기 입력부의 수신데이타의 전송여부를 결정하고 병렬 폭의 버스 폭 크기의 정보셀로 나누어 전송하는 가상라우터와, 상기 가상라우터로부터 지정시간 슬롯에서 데이타를 받아서 들어온 패킷 순서대로 출력하는 출력부로 구성되어 입력부에서 직렬로 패킷을 수신하여 상기 어느 출력부로 전송할지를 결정한 후 가상라우터부로 연결된 병렬 버스상의 패킷을 병렬버스 폭 크기의 정보셀로 나누어서 전송토록 하고 있다.
상기 가상라우터부는 8의 배수인 병렬 연결선으로 이루어진 병렬버스를 끊어주거나 연결해 주는 역할을 하며, 시분할로 동작하는 병렬버스의 자원을 요구하는 입력부에게 먼저 요구하여 한쪽에 먼저 할당해주는 우선 순위를 조정해주는 역할을 하고, 또한 임의의 시간 슬롯의 데이타가 관장하는 출력부로 향하면 그 데이타(정보셀)를 출력부의 입력버퍼에 채워주며, 상기 병렬버스는 가상라우터부와 가상라우터부를 연결해주며, 2×b-2개의 부분으로 가상라우터부에 의하여 분리되어지고, 상기 가상라우터부에 의하여 끊어진 각 병렬버스부분은 다른 데이타를 가길 수 있다. 상기 출력부는 가상라우터로부터 지정시간 슬롯에 데이타를 받아서 임의의 출력버퍼에의 입력단 역할을 하는 부분과 상기 임의의 버퍼에 들어온 패킷을 돌아온 순서대로 출력선으로 전송하여 출력토록 하는 부분으로 구성되어 있다.
이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명 및 첨부도면에서등과 같은 많은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들 없이 본 발명이 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있는 공지기능 및 구성에 대한 상세한 설명을 생략한다. 도면 전체에 걸쳐 동일기능을 가진 소자는 가능한 한 동일번호 및 기호를 사용함을 유념하여야 한다.
제5도는 본 발명에 따른 내부 막힘현상을 제거하기 위한 b=7의 경우 내부블럭도로서,
직렬입력단(S11-S17)을 통해 입력되는 직렬패킷을 각 입력모듈(I1-I7)에서 변환하여 보관하며 링크상의 오류를 확인하고 상기 보관된 병렬 데이타를 병렬버스로 출력토록 하는 입력부(500)와,
상기 입력부의 출력 병렬버스에서 사용할 시간에 따라 순차적으로 할당하여 주고 데이타 경로 설정시 데이타 버스에 실려서 오는 목적 출력모듈의 주소가 해당 가상 라우터가 관장하고 있는 출력모듈일때 사용할 버퍼를 요구하고 상기 출력모듈이 아닐 때 병렬버스를 요구하는 가상라우터부(510,512)와,
상기 가상라우터부(510,512)의 출력데이타를 받아 쓰고 상기 버퍼로부터 읽은 데이터를 전송하는 출력부(514)로 구성된다.
제6도는 제5도의 입력부(500)중의 하나의 입력모듈(Ii)의 구체 회로도로서,
직렬 데이타단(Si)의 입력직렬데이타를 병렬로 출력하기 위해 시프트하는 시프트 래치(603)와,
상기 직렬데이타단(Si)의 연결선상의 패킷오류를 검색하기 위해 수신 패킷데이타로부터 시알시(CRC)를 생성하여 비교하는 시알시 연산부(601)와,
상기 시알시 연산부(601)의 입력데이타를 검출하기 위한 클럭과 입력되는 데이타에서 입력클럭을 분리하여 저장 노드에 제공하는 정렬용래치(604)와,
상기 시프트래치(603)의 병렬데이타를 외부클럭단(CLK1-CLK3)의 클럭에 따라 소정의 단위로 모아 두도록 버퍼링하여 정렬토록 먹싱하는 멀티플렉셔(MUX1-MUX3)와,
상기 멀티플렉셔(MUX1-MUX3)의 출력을 내부버스의 폭에 따라 래치하는 입력버퍼 래치(605)로 구성된다.
제7도는 본 발명에 따른 가상 라우터부(510,512)에서 할당 가능한 시간슬롯 예를 도시한 것이며,
제8도는 본발명에 따른 임의의 시간에 할당된 병렬버스 예시도로서,
각 병렬버스의 사용을 요구시간에 따라서 순차적으로 할당하여 주고, 데이타경로 설정시 데이타 버스에 실려서 오는 목적 출력모듈의 주소가 해상 가상 라우터가 관장하고 있는 출력모듈일때 사용할 버퍼를 요구한다.
제9도는 본 발명에 따른 제5도의 출력부(514)의 구체 회로도로서,
상기 가상라우터의 출력데이타를 시간슬롯으로 분리하여 입력하는 입력버퍼들(901,902)과,
상기 입력버퍼들(901,902)을 통한 출력데이터를 소정 영역에 기록/재생토록 어드레스 신호를 발생하는 어드레스 신호 발생부(906,918)와 상기 입력버퍼들(901,902)의 출력을 저장하는 출력버퍼(904,906)와,
상기 어드레스신호 발생부(908,918)의 출력을 디코딩하여 상기 출력버퍼(904,906)의 선택제어신호를 발생하는 디코더(914,916)와,
상기 출력버퍼(904,906)에서 선택되어 버퍼링된 데이타를 완충하는 3-스테이트 버퍼(910,912)와,
상기 3-스테이트 버퍼(910,912)에서 선택된 출력을 직렬화하여 전송하는 전송부(914)로 구성된다.
따라서 본 발명의 구체적 일 실시예를 제1도-제22도를 참조하여 상세히 설명하면,
본 발명의 새로운 스위치 소자의 제5도와 같은 구성으로 b=7인 경우를 예로 한다. 제5도에서 본 발명의 스위치 소자는 입력부(500)와 가상라우터부와(510,512) 출력부(514)로 구성되어진다. 먼저 전체적인 스위치의 동작을 설명하면 다음과 같다. 입력부(500)의 입력모듈 (I1-I7)중의 하나 입력모듈에서 직렬패킷으로 수신하여 출력부(514)의 출력모듈(01-07)중의 하나 출력모듈로 패킷을 전송하되, 하나의 어느 출력모듈로 전송할지를 결정한 후 연결된 가상라우터부(510,512)의 병렬버스로 병렬버스 폭 크기의 정보셀로 나누어서 전송한다. 상기 가상라우터부(510,512)는 8의 배수인 병렬 연결선으로 이루어진 병렬버스에 대해 이를 끊어주거나 연결해주는 역할을 하고, 시분할로 동작하는 병렬버스에 대해 자원을 요구하는 입력부(500)의 입력모듈에게 먼저 요구한 쪽에 먼저 할당해주는 우선순위를 조정해주는 역할을 한다. 또한 임의의 시간슬롯의 데이타가 해당되는 출력부(514)의 출력모듈로 향하면 그 데이터(정보셀)를 출력모듈의 입력버퍼에 채워준다. 상기 병렬버스는 가상라우터부(510)와 가상라우터부(512)를 연결하여 주며, 2Xb-2개의 부분으로 분리되어진다. 그리고 가상라우터부(510,512)에 의하여 끊어진 각 병렬버스상의 화살표 방향으로 전달된다. 상기, 출력부(514)의 하나의 출력모듈은 가상라우터부(512)로부터 지정시간 슬롯에 데이타를 받아서 임의의 출력버퍼에 입력하는 역할을 하는 입력부(500)와 상기 입력부(500)의 임의의 버퍼에 들어온 패킷을 순서대로 출력하는 것을 받아 전송하는 출력부(514)로 이루어져 있다.
상기 입력부(500)의 적어도 하나의 입력모듈은 시알시 연산부(601), 시프트래치(603), 클럭정렬용래치(604)로 구성된 입력처리부와 멀티플렉셔(MUX1-MUX3), 입력버퍼래치(605)로 구성된 병렬데이터 전송부로 나누어진다. 상기 입력처리부는 시프트래치(603)에서 직렬데이타를 병렬데이타로 변환하여 버퍼에 넣는 역할과, 상기 시알시 연산부(601)에서 링크상의 오류를 확인하는 기능을 수행하고, 클럭정렬용래치(604)에서 입력데이타를 검출하는 외부클럭과 입력모듈을 자체를 동작시키는 내부클럭을 분리시키도록 되어 있다. 한편 병렬데이타의 전송여부는 입력버퍼래치(605)에서 버퍼속에 들어있는 데이타를 병렬버스를 통하여 출력 모듈에 전송하는 기능을 가지며, 상기 외부클럭은 데이타 전송노드에서 공급해 준다. 상기 시프트래치(603)에서 만들어진 병렬데이타를 멀티플렉서(MUX1-MUX3)에서 상기 클럭정렬용래치(604)에서 발생되는 내부클럭에 맞추어 입력버퍼(605)의 폭으로 모아서 넣는다. 한편 외부 데이타는 상기 클럭정렬용래치(604)에서 발생되는 외부클럭에 동조된 상태에서 샘플링버퍼에 채워지고, 샘플링 버퍼의 내용은 입력버퍼(605)의 폭으로 입력버퍼(605)의 폭으로 멀티플렉서(MUX1-MUX3)에 의하여 모아진후 입력버퍼(605)에 채워진다. 상기 입력버퍼(605)의 폭은 내부버스의 폭과 같거나, 그 배수이다. 상기 시알시 연산부(601)는 연결선상의 패킷오류를 검색하기 위해서 수신 패킷테이터로부터 시알시를 생성 비교하는 기능을 한다. 만약, 직렬로 들어오는 데이타선이 여러개로 늘어나는 경우에는 다른 오류절차를 이용할 수 있다. 상기 병렬데이타 전송부는 입력부(500)의 입력모듈 버퍼의 내용으로부터 목적 출력모듈을 알아낸다. 상기 제5도에서와 같이 구성된 병렬버스상 부분(6ph)의 왼쪽 가상 라우터(13번)의 정보로부터 병렬버스(6ph)의 비어있는 시간슬롯을 알아내고, 그 슬롯에 출력모듈(0i)의 정보를 실어서 병렬버스와 출력모듈(0i)을 요구한다. 만약, 모든 병렬버스 시간슬롯이 차 있는 경우 6ph의 왼쪽 가상라우터부(510)에게 시간슬롯 할당요구를 해 놓고, 병렬버스의 슬롯버퍼가 할당되었다는 응답이 감시하고 있는 병렬버스로부터 오면 상기 응답을 받은 타임슬롯에 따라 반복하여 전송하고자 하는 데이타정보셋을 병렬버스상에 실어 보낸다. 그리고 데이터 전송이 끌나면 할당해제선으로 데이타전송이 끝났음을 가상라우터부(512)와 출력부(514)와 출력모듈에 알려서 가상라우터(512)의 재사용을 가능케 한다. 상기 가상 라우터부(510,512)는 병렬버스의 사용을 요구시간에 따라서 순차적으로 할당하여 주고, 데이타 경로 설정시 데이터버스에 실려서 오는 목적 출력모듈의 주소가 해당 가상라우터부(512)가 관장하고 있는 출력모듈이면 출력모듈에게 버퍼를 요구한다. 각 가상라우터부(510,512)가 관장하고 있는 출력모듈은 제5도에서 각 가상라우터에 연결된 출력부(514)의 출력모듈(01-07)이다. (예를들어, 10,3번의 가상라우터가 관장하는 출력모듈 3번이다.) 즉, 지정시간 슬롯에 입력부(500)의 왼쪽 입력모듈(S17)이 병렬버스를 요구하면 그 요구의 목적모듈이 관장하고 있는 출력모듈인지를 검색해보고, 만약 관장하고 있는 모듈이면 출력모듈에 출력버퍼를 요구하고, 아니면 다음의 가상라우터부(510)에게 병렬버스를 요구한다. 왼쪽 가상라우터로부터 병렬버스를 요구하면 그 요구가 관장하고 있는 출력모듈인지를 검색해 보고, 만약 관장하고 있는 출력모듈이면 관장하고 있는 출력모듈에 출력버퍼를 요구하고 아니면 다음의 가상라우터에게 병렬버스를 요구하는 신호를 전달한다. 제5도에서 가상라우터부(510)의 537의 오른쪽 병렬버스에 데이타를 싣는 입력모듈이 해당 병렬버스의 모든 시간슬롯이 찼을 때 병렬버스를 요구해오면 해당 가상라우터부(512)의 왼쪽 병렬버스를 통하여 가상라우터(538)의 오른쪽 병렬버스를 요구하는 것들과 요구시각에 따라 우선순위를 정해주는데, 만약 같은 시각에 병렬버스부분을 요구하면 왼쪽 입력모듈이 더 높은 우선순위를 갖도록 한다. 우선순위를 유지하는 방법은 슈도 엘알유(pseudo LRU) 알고리즘의 변형인 슈도 알에이(pseudo Most Recently Arrived) 알고리즘을 사용한다.
만약, 제7도와 같이 가상라우터의 왼쪽의 병렬버스부분이 오른쪽의 병렬버스부분을 요구하면 시간슬롯에 따라서 할당해야한다. 즉, 좌변의 시간슬롯보다 같거나 늦은 우변의 시간 슬롯은 할당 가능하지만, 좌변의 시간슬롯보다 빠른 시간슬롯에는 할당할 수 없다. 하기 표 1에, 할당가능한 시간슬롯의 예를 보였고, 하기 표 2에 임의의 시간에 할당된 예를 보였다. 상기 출력모듈로부터 응답선을 통하여 버퍼가 할당되었음을 알려오면, 출력버퍼를 요구하였던 입력모듈에게 요구를 하였던 시간슬롯에 출력버퍼가 할당되었음을 응답선을 통해서 알린다. 여기서 매시간 슬롯마다 왼쪽의 데이타를 통과시킬지 출력모듈 버퍼에 적어야될지를 기억하고 있다가 각 슬롯에 정해진 일을 수행한다. 만약, 입력모듈로부터 데이타의 전송이 끝났음을 해제선을 통하여 임의의 시간슬롯에 받으면 그 시간 슬롯을 재사용 가능한 것으로 기억한다. 그리고 왼쪽의 입력모듈이나 왼쪽의 병렬버스부분을 통하여 기다리는 입력모듈이 있고, 할당의 가능하면 할당하여 준다.
상기 출력모듈은 제9도와 같이 도시할 수 있는 것으로 입력모듈로부터 병렬버스를 통하여 데이타를 수신하여 출력선으로 직렬로 데이타를 전송하는 일을 수행하되, 상기 출력모듈은 상기 가상라우터로부터 할당받은 데이타를 버퍼에 쓰는 입력버퍼(901,902)와, 상기 입력버퍼(901,902)의 값을 출력하기 위해 보관하는 출력버퍼(904,906)와, 상기 출력버퍼(904,906)에 데이타를 쓰기위한 번지를 지정하는 라이트어드레스 발생기(908,918)와, 상기 출력버퍼(904,906)에 제공할 라이트어드레스발생기(908,918)의 출력을 선택하는 멀티플렉셔(919,920)와, 상기 멀티플렉셔(918,920)에서 발생되는 신호를 디코딩하여 상기 출력버퍼(904,906)의 출력을 선택하는 디코더(914,916)와, 상기 출력버퍼(904,906)에서 선택되어 출력되는 데이타를 3-상태제어신호에 따라 완충하는 버퍼(910,912)와, 상기 출력모듈내의 버퍼 및 각부를 관리하는 제어부(921)와, 상기 제어부(921)의 제어정보를 가지고 가장 먼저 도착한 버퍼의 데이타를 직렬화 하여 전송하는 전송부(914)로 구성된다.
제 9도에서 상기 출력부(514)의 입력버퍼(901,902)는 두개의 가상라우터(510,512)로부터 데이타를 받는다. 두 개의 가상라우터(510,512)가 모든 타임슬롯에 데이타를 임의의 출력모듈로 출력하도록 하며, 상기 출력모듈은 2x시간 슬롯의 개수[스위치 입력수(b)보다는 작음]의 데이터를 동시에 받을 수 있다. 상기 표 2에 스위치내 각 출력모듈입력부로 최대로 들어올 수 있는 데이타의 개수를 나타내고 있다. 상기 표 2의 동시에 연결되는 패킷의 최대수는 상위 가상라우터에서 b개, 하위 가상라우터에서 b-1개이나 확률적으로 최대수의 패킷이 몰릴 확률은 적으므로 소자내의 속도를 b보다 적은 시간 슬롯의 수로 높여서 내부 막힘 현상을 제거할 수 있다. 입력모듈은 한 싸이클(시간슬롯이 모두 한번 지나는 시간;) 동안 한번 입력버퍼(901,902)의 내용을 읽으면 된다. 데이타의 전달속도를 유지하기 위해서 출력버퍼(904,906)에서도 라이트어드레스 발생부(908,918)에서 한 싸이클시간에 한 번의 버퍼라이트를 수행하도록 해야 한다. 그러나 출력부(514)의 입력버퍼(901,902)에서 한 싸이클 동안 가장 많은 데이타를 받을 때는 2x(시간슬롯 개수) 이므로 이들 데이터를 한 싸이클에 한번을 적기 위해서 여러개의 독립적인 버퍼를 둔다. 상기 제어부(921)는 출력모듈내의 서로 쓰고 읽기가 독립적인 출력버퍼(904,906)를 관리한다. 즉, 가상라우터가 출력모듈내의 출력버퍼(904,906)를 요구하면 출력버퍼(904,906)를 해당가상라우터의 해당 시간슬롯에 할당해 준다. 만약, 비어있는 출력버퍼(904,906)가 하나일 때 두개의 가상라우터가 동시에 버퍼를 요구하면 상기 표 2에서 나타난 데이터를 가질 확률이 높은 가상라우터에게 먼저 할당해 준다. 그리고 전송부(914)로 전송은 출력모듈에 들어온 순서대로 전송되도록 출력모듈에 각 데이터가 들어온 순서를 가지고 있으면서 상기 순서를 유지하는 방법은 먼저 들어온 데이터의 버퍼번호를 선입선출(FIFO; First In First Out) 방식으로 저장되도록 한다. 만약, 데이터가 들어 있는 버퍼가 있고 전송부(914)의 사용이 가능하면, 상기 전송부(914)에게 가장 오래된 데이타를 가지고 있는 버퍼의 내용을 전송할 것을 요구한다. 상기 전송부(914)는 제어부(921)에 의하여 지정받은 버퍼의 내용을 읽어서 직렬화 하여 전송하고, 상기 전송부(914)의 전송품질을 수신측에서 확인할 수 있게 시알시를 첨가한다. 만약, 직렬로 전송하는 데이타선이 여러개인 경우 오류검출을 위해서 다른 방법을 사용할 수 있다. 상기 출력버퍼부(904,906)는 한번의 읽기와 한번의 쓰기가 한 싸이클에 가능한 정적 메모리이다. 한편, 가상라우터와 병렬버스구간의 구성은 8의 배수의 폭을 갖는 연결선과 요구선(req line), 응답선(ack line)과 해제선(release line)으로 이루어져 시분할 방식으로 동작한다. 즉, 가상라우터에 의하여 2xb-2개의 부분으로 분리되어 있고, 상기 시간적으로 시간슬롯의 정수로 분리되어서 사용된다. 상기 표 2는 몇개의 시간으로 분할하여 사용하여야 할지를 계산하는 과정을 보이고 있다. 즉, 각 입력으로부터 임의의 출력으로 향할 확률은 1/6이다. 제1도에서 입력모듈7의 예를 든다면 가상라우터 모듈14번과 13번사이의 병렬버스(7ph)부분을 입력모듈 7번으로부터의 패킷이 차지할 확률은 7번 입력 모듈로부터 7번출력모듈로서 전송될 패킷들중 1/7의 확률이 해당하는 패킷들이 14번 가상라우터에 의하여 7ph의 병렬버스부분을 사용하지 않고 라우팅되어 버렸으므로 그 나머지인 6/7이 된다. 상기 병렬버스의 시분할 정수는 b=7인 경우 상기 표 2에서 구해진 값(4)보다 큰 임의의 정수이다. 상기와 같이 이루어진 스위칭소자를 사용하여 제2도와 같은 막힘 현상을 제거하기 위해 스위칭소자를 하이퍼구조로 연결한다. 하이퍼큐브구조는 케이어리엔큐브(K-ary N-cube)의 연결방법에서 케이가 2인경우에 해당하는 것으로 바이너리 엔큐브(binary n-cube) 라는 이름으로도 불리운다. 상기 하이버큐브에서 각 노드는 이진수로 엔(n)자리 수로 고유주소가 붙여지고 각 주소가 한자리만 다른 경우 연결을 갖는다 제22도의 (22A)에 n=3인 하이퍼큐를 보이고 있다. 제22도의 (22B)는 하이큐브구조가 ATM스위칭시스템에서 사용될 때 각 노드가 에이팀엠 링크의 송수신 점이 되고, 각 노드를 연결한 망에서 각 모드의 도움으로 스위칭이 이루어지는 구조를 보인다. 본 발명은 제22도(22B)의 하이퍼큐브 연결 구조에서 각 연결선이 양방향으로 전송될 때 밴년구조보다 사용가능한 연결선의 개수가 많은 것이 특징이다. 상기 밴년 구조는 입력점에서 패킷이 있을 확률이 1이라고 가정하고 모든 패킷이 전송될려면 망의 내부연결선에서 패킷이 있을 확률이 1이 되어야 하므로 동시에 같은 연결선을 사용하려는 입력데이타가 있으면 막힘 현상이 발생되는데, 하이퍼큐브의 구조를 갖는 망에서는 각 노드에서 메시지의 입력확률이 1이라도 연결하는 연결선에서 메시지가 있을 확률은 0.5에 가까워지므로 같은 연결선을 사용하고자 하는 경우 충돌(연결선상의 막힘)이 발생할 확률이 낮아진다. 먼저, 제22도(22B)의 하이퍼큐브를 ATM스위칭에서 제 22도(22B)와 같이 사용하려면, 하이퍼 큐브내에서 패킷간에 데드락(dead-lock)이 발생하지 않아야 한다. 상기 제22도의 하이퍼큐브에서 데드락을 피하는 라우팅방법으로 L.R.Goke, G.J.Lipovski가 Banyan networks for partitioning multiprocessor system.pp21-28, First Annual Symp. Computer Archit., 1973 에서 제안하고, H.sullivan, T.R. Bashkow가 A Large Scale Homogeneous, Fully Distribut-ed Parallel Machine, pp105-107, Preceedings of 4th Symposium on Computer Architecture, March 1977에서 제안한 하이퍼큐브의 구조에서 메세지 전송시 상대주소의 반전비트의 순서를 최상위 비트(MSB)에서 최하위비트(LSB)로 정하면 데드락을 피할 수 있다고 밝힌바 있다. 그러나 상대주소의 반전비트의 순서를 임의로 정하더라도 데드락은 피할수 있다. 상기 데드락을 피하는 방법은 패킷의 전송에 일정한 제한을 가하는 것이다. 즉, 패킷의 목적주소를 그 패킷이 있는 현재주소와 상호 배제합(exclusive-or)을 구하여[이를 상대주소(rrelaktive address)라 한다] 임의로 정해진 주소자리수의 순서로 상대주소를 한자리씩 0으로 만들도록 현재 주소를 반전시켜서 다음 현재주소로 정하고, 그 노드로 패킷을 전송하여 상대주소의 모든 자리가 0이 되도록 하는 방법이다. 예를 들면 n=4인 하이퍼큐브에서 각 노드는 4비트의 이진수로 표현된다. 이때 노드 11에서 노드 1110로 하나의 패킷을 보낸다면, 그리고 주어진 시스템에서 상대주소를 반전시키는 자리수의 순서를 최상위자리부터 하위자리로 한다면, 첫번의 현재주소는 11이고 목적주소는 1110이다. 이 패킷의 전송경로를 살펴보면 다음과 같다. 현재의 임시주소, 목적주소, 상대주소 다음의 현재주소 반전되는 자리수
상기 표 3과 같이 상대주소를 반전하는 순서(제한)만 정해지면 데드락이 없는 메세지 라우팅이 가능해진다. 상기 데드락이 없어지는 이유를 도면으로 나타내면 제21도와 같다. 제21도의 21A는 본 발명의 실시예에 따른 노드별 독립경로를 나타내는 도면이고, 21B는 상기 21A의 노드별 독립경로를 펼친 상태를 나타낸 도면으로서, 제21도의 (21A)에서 각 노드에서 최상위비트부터 최하위비트로 한 비트씩 반전시켜가는 경로를 나타내고 있으며, 제21도 (21A)의 각 경로는 서로 독립이고, 이를 직선으로 나타내면 그림 제21도(21B)와 같다. 임의로 노드를 출발하는 데이타는 상대주소의 반전순서의 제한에 의하여 어느 링크를 이용해야 하는지가 정해진다. 상기 상대주소의 반전순서의 처음은 제21도(21B)의 최상부링크이고 반전순서의 마지막은 최하부의 링크이다. 즉, 데이타는 위에서 아래로 흐르고 각 중간노드에서 다른경로로 옮겨갈 수 있다. 예를 들면, 1에서 100으로 가는 패킷의 데이타는 최상위 비트의 반전을 위하여 1에서 101로 1번경로의 1번부분을 통하여 가게되고, 최하위비트의 반전을 위하여 3번경로의 3번부분을 이용한다. 상기한 바와 같이 테이타의 흐름이 한 방향이므로 데이타 의존그래프에서 싸이클이 존재하지 않고, 따라서 데드락이 발생하지 않는다. 각 링크의 부하가 균등하기 위해서는 균형잡힌(BLANCED)망에서 동상의(Homogeneous) 구조를 가져야 한다. 상기 동상이란 각 노드에서 들어다 본 망의 구조가 동일하여야 함을 의미한다. 그리고 균형잡힌 망은 하나의 노드에서 데이타를 생성할 확률과 소모할 확률이 같으며, 소모하는 데이타의 양이 같고 하나의 노드에서 생성되는 데이타가 망에 연결된 다른 노드로 향할 확률이 균등하다. 상기 데드락을 피하는 라우팅방법에서 모든 링크의 부하가 동일함을 보이기 위해서 균형잡힌 망이라면 모든 노드가 각 망에 연결된 자신을 제외한 모든 노드에 한번씩 패킷을 발송하였다면 노드수가 8인경우에 7의 패킷생성시간이 걸린다. 각 노드는 7패킷 생성시간동안 7개의 패킷을 7개의 다른 노드에 전송하는 경우가 균형잡힌 망의 조건을 만족시킨다. 상기 와 같은 상황에서 각 링크의 부하를 계산하면 균형잡힌 망에서의 링크당 부하가 된다. 제21도(21B)에서 경로0번의 1번경로부분을 통하여 패킷을 보낼수 있는 노드는 0번노드뿐이다. 상기 0번노드에서 7패킷 생성시간동안에 경로 0번의 1번부분으로 패킷을 보내는 경우는 상대주소의 최상위비트가 1인 4개의 경우이고, 7패킷 생성시간동안 경로0번의 1번부분에 메세지가 찰 확률은 4/7이다. 0번 경로의 3번링크를 사용하는 경우는 6번노드에서 패킷을 생성하는 경우 그 확률은 1/7와, 4번노드에서 생성된 패킷이 6번노드를 거쳐서 3번링크를 이용하는 경우, 그 확률은 1/7와 0번노드에서 생성된 패킷이 4번과 6번노드를 거쳐서 3번링크를 이용하는 경우 그 확률은 1/7, 그리고 2번노드에서 생성되어서 경로 2번의 1번링크를 이용하여 6번노드를 거쳐서 7번노드로 가는 경우이다(그 확률은 1/7). 이들 각 경우의 확률의 4/7이다. 이상에서 노드수가 8인 경우 0번 경로의 각 링크에서의 부하가 동일함을 보이고 있다. 다른 모든 경로에서도 이상의 설명과 동일한 결과를 얻고, 노드수가 2의 누승으로 변할 때도 같은 성질이 성립된다. 상기한 바와 같이 각 병렬버스부분의 확률적으로 필요한 시간슬롯의 수는 하기 표 4와 같이 나타난다.
하이퍼큐브구조로 스위칭소자를 연결할 때는 패킷이 들어온 연결선을 곧바로 다시 보낼 필요가 없다. 즉, 스위칭소자를 하이퍼큐브구조로 연결할 때 각 스위칭소자에서 logN에 해당하는 크로스커넥트 스위칭을 수행하여야 하는데, 임의의 입력연결선으로 들어온 패킷이 들어온 방향(같은 노드)으로 나가는 경우가 없다. 또한 데드락방지를 위해서 반전되어가는 상대주소비트의 순서를 최상위부터 최하위로 정하면 들어온 링크의 자리수보다 높은 자리수의 링크로 패킷이 전송되는 경우가 없다. 즉, 제5도에서 7번입력으로 들어온 패킷은 6,5,.....1의 출력으로 갈 수 있고, 4번 입력으로 들어온 패킷은 3,2,1번으로만 간다. 이럴경우, 제5도는 하이퍼큐브구조에서 사용되기에는 부적당하다. 또한 하이퍼큐브의 각 노드에서 패킷을 수신하거나 송신하므로 하이퍼큐브의 각 노드에서 패킷을 스위칭을 위하여 망에 넣는 경로와 하이퍼큐브망으로부터 스위칭된 패킷을 전송하기 위해서 각 노드가 수신하는 경로가 있어야 한다. 이를 위해 제5도에서의 b×b 크로스커넥트스위치를 b개의 각 입력점 k(k는 링크의 자리수를 최하위자리수의 값을 1로 하여 차례로 상위자리수로 센 값이다.) 에서 k-1개의 출력점으로 가는 k×(k-1)크로스커넥트스위치로 제12와 같이 나타내고 있다. 상기 제12는 제5도 가상라우터를 반으로 줄이고, 각 입력 모듈로부터 하이퍼큐브노드로 데이타를 전송하는 경로와 하이퍼큐브노드로부터 데이타를 출력모듈로 전송하는 경로를 가진다.
상기 표 5에 각 출력모듈에 각 입력모듈로부터 동시에 들어올 수 있는 최대데이타의 개수를 보이고 있고, 상기 표 5에 하이퍼큐브를 위해서 변형한 새로운 크로스커넥트스위치에서 하이퍼큐브망의 연결선에서 패킷이 있을 확률이 1이라 가정하고, 시분할 정수를 구할 수 있다. 상기 하이퍼큐브의 노드간 연결선을 양방향성이 있도록 하여 두개의 연결선으로 계산하면 각 노드에는 다른 노드로 나가는 연결선 logN×N개를 가지고, 상기 하이퍼큐브망에서 연결선의 합은 이다. 평균적으로 하나의 노드에서 메세지를 하이퍼큐브망에 넣었을 때 사용하는 연결선의 갯수를 계산하기 위해서 상기에서 설명한 균형잡힌 망이라고 가정한다. 상기 가정을 가지고 노드수가 16인경우 노드0에서 출발하는 패킷을 분석하면 상기 표 1과 같다. 상기 하이퍼큐브망에서 사용해야 하는 연결선의 갯수는 라우팅 과정에서 상대주소를 한 비트씩 반전시키므로 출발노드에서 상대주소의 1의 수와 같다. 각 패킷이 목적노드로 전송될 때 사용되는 연결선의 수에 따라서 패킷을 확률을 구하면 표 7과 같다. 상기 연결선의 수에 따른 패킷의 확률을 이용하여 노드수가 16인 경우 한 입력단의 임의의 패킷이 하이퍼큐브망의 목적노드에 도달하기 위해서 사용하는 평균적 연결선의 수는 이다. 이 값은 약 2이고, 16개의 모든 노드에서 동시에 패킷을 넣었을 때 사용되는 연결선의 수는 이다. 그러나 하이퍼큐브망에서 연결선의 총수는 16×4였으므로 약 46%의 연결선의 비어있게 된다. 하나의 패킷이 평균을 차지하는 연결선의 수식을 노드수의 다음식과 테이블로 나타내면 다음과 같다.
패킷이 평균적으로 차지하는 연결선의 수=[수학식]
이상에서 분석하여 본 것 같이 밴년망에서 연결선이 찰 확률이 1이어야 하는 반면, 하이퍼큐브망에서는 입력에서 부하가 1(항상 패킷이 들어오고 있는 상태)이라도 비어 있는 연결선의 퍼센트가 50에 가까우므로 스위칭소자를 연결하는 연결선에 의한 막힘 현상이 사라진다.
본 발명의 ATM스위칭시스템을 설명하면, 하이퍼 큐브연결에서 사용하는 연결선상의 하이퍼큐브의 구조로서 ATM스위칭 소자를 연결하고, 그 연결선상의 데이타구조는 제 5에서 나타난 구조를 갖는다. 상기 패킷의 앞,뒤로 패킷의 검출을 위하여 플래그 1111110을 첨가하고, 패킷 내부의 모든 데이타에서 연속하는 5개의 0이 나타나면 그 뒤에 0을 첨가한다. 상기 수신측에서는 패킷의 처음의 플래그를 이용하여 검출하고 연속하는 1다음의 0을 제거하여 데이타를 수신하며, 또다시 플래그를 만나면 패킷의 끝을 인식한다. 상기 ATM스위칭시스템의 구성을 위한 하이퍼 큐브를 연결할 때 스위칭 시스템의 유지관리 및 과금 시스템상태를 파악하기 위해서 본 발명은 제14도와 같은 구조를 갖는다. 하나의 노드는 제14도에서 도시되는 ATM스위칭 소자에서 노드를은 하이퍼 큐브의 구조로 연결되고, 노드와 노드간의 연결은 양방향이다. 상기 노드간의 양방향 연결을 위해서는 출발 노드에서 공급하는 클럭과, 상기 클럭에 동기된 데이타 전송선, 도착노드의 버퍼상태의 사용가능 여부를 알리는 상태선 등 3개의 연결선이 있다. 상기 N개의 노드중 하나 이상은 시스템 유지관리를 위한 시스톰 제어기의 입출력 노드로 사용한다. 상기 하이퍼 큐브 ATM스위칭소자는 제16도에서와 같이 N=16인 경우의 ATM스위칭소자의 구조를 보이고 있으며, 상기 ATM스위칭 소자는 크게 라우터(1161)와 중앙제어부(1161)로 이루어져 있다. 상기 중앙제어부(1161)는 일반적인 중앙연산처리부를 가지고 있다. 상기 소자는 각 소자가 하나의 노드로서 하나의 ATM링크의 입력과 출력을 처리한다. 상기 라우터(1162)는 하이퍼 큐브구조속에서 패킷의 교환을 수행하며, 중앙제어부(1161)는 ATM링크로부터 메세지를 받아서 라우터의 출력모듈로 전송하고, 또 라우터(1162)의 입력모듈로부터 메세지를 받아서 ATM링크의 송신부로 전송한다. 상기 라우터(1162)의 입력모듈에서 상대주소가 모두 영(0)이면 중앙제어부(1161)로 보낸다. 상기 라우터(1162)의 입력모듈은 중앙제어부(1161)로 데이타를 싣는 경로를 가지며 상대주소를 구해서 영(0)이면 패킷을 모두 수신후 중앙제어부(1161)로 인터럽트를 보낸다. 상기 인터럽트 응답이 오면 중앙제어부(1161)로 패킷데이타를 매시간 슬롯마다 싣고 병렬버스부분과 출력버퍼의 요구가 일정시간 동안 오지 않으면 중앙제어부(1161)에 공동버퍼요구 인터럽트를 발생하여 패킷을 공동버퍼를 보낸다. 상기 출력모듈은 중앙제어부(1161)로부터 데이타를 받는 경로를 가지며, 상기 중앙제어부(1161)로부터 출력버퍼요구가 오면 버퍼가 있으면 바로 응답하고 없으면 요구순서를 기억하고 있다가 버퍼가 비면 응답하고, 버퍼를 할당 후 중앙제어부(1161)와 협의하여 매시간 슬롯마다 데이타를 출력버퍼에 기록한다. 상기 중앙제어부(1161)는 제 17도와 같이 ATM링크로부터의 입력을 처리하는 입력부(1712), ATM링크로의 출력을 송신하는 출력부(1711), 공유버퍼제어부(1175), 공유버퍼부(1174), 중앙연산처리부(1173)등으로 이루어져 있다. 상기 공유버퍼(1174)는 제18도와 같이 구성되는 것으로 첨가하는 시스템의 성능을 더욱 향상시킬수 있다. 상기 입력모듈에서 병렬버스의 자원고갈 혹은 출력모듈 내의 출력버퍼가 부족한 경우 패킷을 저장해 두는 곳이다. 상기 입력부(1712)의 패킷이나 출력부(1711)로의 패킷도 이곳에서 기다린다. 공유버퍼 제어부(1175)는 공유버퍼(1174)의 입출력은 푹이 넓은 읽기 쓰기 레지스터(1882,1883)에 의하여 이루어지고, 상기 공유버퍼제어부(1175)는 제18도와 같이 6개의 순차제어기를 이용하여 3개의 쓰기 레지스터(1883)에 각각의 데이타를 순차적으로 채운 후에 공유토록하여 3개의 읽기 레지스터(1882)에 할당되며, 상기 순차제어기는 한번에 넓은 폭의 데이타를 공유버퍼(1811)로부터 읽어서 순차적으로 읽어낸 데이타를 목적지로 중앙연산처리부(1173)의 도움없이 전달하는 역할을 한다. 이들 읽기, 쓰기 제어기는 중앙연산처리부(1173)에 의하여 순차제어를 시작한다. 상기와 같이 여러개의 순차제어기를 두는 이유는 공유버퍼(1174)는 그 크기가 커서 한번 읽거나 쓰는 데 오랜 시간이 걸리므로 공유버퍼(1174)를 사용하는 빈도를 낮추기 위해서이다. 이를 위하여 공유버퍼(1174)의 폭을 넓게 하여서 쓰거나 읽고 제어하는 것들이 많을 경우, 이들 순차제어기가 공유버퍼(1174)의 전단 레지스터를 채우는 동안 레지스터가 차거나(쓰기의 경우) 빈(읽기의 경우) 레지스터를 담당하는 순차제어기가 공유버퍼를 사용한다. ATM링크 입력(수신)부에서는 패킷의 끝에 도착하면 중앙제어부(1700)에 패킷의 처리를 위해 인터럽트로 요구하고, ATM링크의 동기를 가지고 ATM셀을 전송한다. ATM링크출력(송신)부에서는 패킷의 끝이 도착하면 중앙제어부(1700)에 패킷의 처리를 위해 인터럽트로 요구하며, ATM링크의 동기를 가지고 ATM셀을 전송한다. 상기 중앙연산처리부(1713)는 전원이 켜지면 시스템 프로그램에서 자기 노드번호를 정하여 기억시켜 둔다. 그리고 초기화 과정을 거치면서 라우터 각 모듈을 초기화 하고 각 라우터에 번호를 할당해 주고, 상기 입력부(1712)에서 인터럽트 신호를 보내 오면 ATM셀을 입력모듈로부터 가져와서 내부 라우팅을 위하여 셀의 머리부분에 제 15도와 같이 목적주소를 첨부시켜 변환하고 상대주소를 구하여 라우팅되어야 할 출력모듈에게 출력버퍼를 요구한다. 만약, 출력버퍼가 할당되면 바로 셀을 출력버퍼에 라이트하고, 상기 출력버퍼가 없으면 셀을 공동버퍼에 넣어둔다. 상기 출력모듈로부터 빈 버퍼가 있다는 인터럽트신호가 들어오면 데이타를 보낼 셀을 공유버퍼로부터 출력버퍼로 전송하며, 입력모듈의 인터럽트에 응답하고 입려모듈로부터 데이타를 받아서 내부 라우팅에 사용되었던 셀의 머리부분을 제거하여 출력부가 사용가능하면 출력부에 전송한다. 상기 출력부가 사용불가능이면 공유버퍼에 넣어 놓는다. 상기 출력부가 사용가능하다는 인터럽트를 보내올때 보낼 셀이 있으면 출력부로 전송하고, 상기 출력부가 사용가능 하다는 인터럽트가 오고 보낼 셀이 없으면 출력가 사용가능함을 표시해 둔다. 상기 입력모듈이 공유버퍼이용하여 인터럽트를 보내고 입력모듈로부터 셀을 받아서 공유버퍼에 넣은 후 출력모듈에 출력버퍼사용을 신청해 둔다. 상기 공유버퍼에 셀을 쓰고자 할 때 공유버퍼가 차면 가장 오래된 셀을 폐기하고 상기 폐기셀을 머리부분만 일정장소에 모아 둔 후, 시스템관리노드로 전송한 후 공유버퍼에 셀을 쓰거나 읽기 위해서는 중앙연산처리부(1713)가 수정하는 부분만 처리하여 직접 기록하거나 읽고, 셀의 나머지 부분의 데이타는 공유버퍼제어부의 순차제어기를 할당해 준다.
제19도와 같이 노드수가 128이고, 하나의 프린티드회로기판에 8개의 노드가 장착된 ATM스위칭 시스템을 보이고 있다. 상기 제 19도의 경우는 log=7이므로 하나의 회로기판에서 연결이 완료된 링크의 수는 각 노드당 3개이고, 나머지 노드당 4개의 링크가 연결되어야 한다. 이들 링크는 회로기판이 장착되는 백보드에 의하여 이루어지며, 상기 백보드상의 연결은 링크의 속도를 좌우하고 백보드의 면적으로 인한 연결가능성을 판단하는 중요한 변수이다. 이를 위해서 회로기판을 기판내에서 연결이 완료된 3개의 주소중 자리수를 제외하면 하나의 기판은 4개의 자리수로 번호가 매겨질 수 있다. 이를 제20도의 (20A)에서 보이는 것과 같이 나열하면 가장 좋다. 궁극적으로 백보드는 제 20도의 (20A)에서처럼 원형이 되어야 할 것이며 현재는 기술적 문제로 원형의 임의의 자리에서 잘라서 펼친 제 20도의 (20B)의 구조가 된다. 상기 제20도 (20A)의 이진수로 번호가 주어진 회로기판을 최적으로 배치하는 방법은 다음과 같다. 먼저 1과 10을 반복하여 적는데, 자리의 지수가 하나씩 증가하면 각 패턴의 폭이 두배씩 증가한다. 예를 들어, 두 개의 회로기판을 연결하는 경우는 1의 순서가 된다. 4개의 회로기판을 연결하는 경우는 하기 표 10과 같다.
상기 표 10은 기판수=4인 경우 원형백보드에서 최적기판 배치순서를 나타내는 테이블도로서 8개의 회로기판을 연결하는 경우는 상기 표 8와 같고, 16개의 회로기판을 연결하는 경우는 상기 표 9과 같으며, 기판의 개수가 16인 경우를 살펴보면 자리수 3의 경우는 0과 1의 폭이 4이고, 1이 왼쪽에서부터 오른쪽으로 번갈아서 반복됨을 확인할 수 있다.
상술한 바와 같이 하나의 소자만 만들면 ATM스위칭 시스템을 구현할 수 있으며, 다수개(256이상)의 노드를 갖는 ATM 스위칭을 쉽게 구현할 수 있고, 망 내의 속도를 낮출 수 있으므로 광으로 들어오면 ATM링크를 스위칭 망에서는 광전송을 사용하지 않고도 스위칭이 가능하며, 단가가 낮은 ATM스위치를 가능하게 하므로 씨디엠에이(CDMA)통신에서 기지국과 셀렉터간의 패킷교환부분에 상용화될 수 있고, 2000년대에 기대되는 멀티미디어(multi-media)시대에 모든 교환기에 이 구조가 사용되어 궁극적으로 멀티미디어시대를 앞당길 수 있는 이점이 있다.

Claims (3)

  1. 광대역 종합 정보통신망의 ATM스위칭 시스템에 있어서, 직렬입력단(Sl1-Sl7)을 통해 입력되는 직렬패킷을 각 입력모듈(l1-l7)에서 변환하여 보관하며 링크상의 오류를 확인하고 상기 보관된 병렬데이타를 병렬버스로 출력토록 하는 입력부(500)와, 상기 입력부(500)의 출력병렬버스의 사용할 시간에 따라 순차적으로 할당하여 주고 데이타 경로 설정시 데이타 버스에 실려서 오는 목적출력모듈의 주소가 해당 가상 라우터가 관장하고 있는 출력모듈일때 사용할 버퍼를 요구하고 상기 출력모듈이 아닐 때 병렬버스를 요구하는 가상라우터부(510,512)와, 상기 가상라우터부(510,512)의 출력데이타를 받아쓰고 상기 버퍼로부터 읽은 데이터를 전송하는 출력부(514)로 구성됨을 특징으로 하는 광대역 종합 통신망에서 ATM스위칭 시스템.
  2. 제1항에 있어서, 상기 입력부(500)내의 적어도 어느 하나의 입력모듈(li)은 직렬데이타단(Si)의 입력 직렬데이타를 병렬로 출력하기 위해 시프트하는 시프트 래치(603)와, 상기 직렬데이타단(Si)의 연결선상의 패킷오류를 검색하기 위해 수신 패킷데이타로부터 시알시(CRC)를 생성하여 비교하는 시알시 연산부(601)와, 상기 시알시 연산부(601)의 입력데이타를 검출하기 위한 클럭과 입력되는 데이타에서 입력클럭을 분리하여 저장노드에 제공하는 정렬용래치(604)와, 상기 시프트래치(603)의 병렬데이타를 외부클럭단(CLK1-CLK3)의 클럭에 따라 소정의 단위로 모아 두도록 버퍼링하여 정렬토록 먹싱하는 멀티플렉셔(MUX1-MUX3)와, 상기 멀티플렉셔(MUX1-MUX3)의 출력을 내부버스의 폭에 따라 래치하는 입력버퍼래치(605)로 구성됨을 특징으로 하는 광대역 종합통신망에서 ATM스위칭시스템.
  3. 제1항에 있어서 출력부(514)내의 적어도 어느 하나의 출력모듈은 상기 가상라우터부(512)의 출력데이타를 시간슬롯으로 분리하여 입력하는 입력버퍼들(901,902)과, 상기 입력버퍼들(901,902)을 통한 출력데이터를 소정 영역에 기록/재생토록 하는 어드레스 신호를 발생하는 어드레스 신호 발생부(906,918)와, 상기 입력버퍼들(901,902)의 출력을 저장하는 출력버퍼(904,906)와, 상기 어드레스 신호발생부(908,918)의 출력을 디코딩하여 상기 출력버퍼(904,906)의 선택제어신호를 발생하는 디코더(914,916)와, 상기 출력버퍼(904,906)에서 선택되어 버퍼링된 데이타를 완충하는 3-스테이트 버퍼(910,912)와, 상기 3-스테이트버퍼(910,912)에서 선택된 출력을 직렬화하여 전송하는 전송부(914)로 구성됨을 특징으로 하는 광대역종합통신망에서 ATM스위칭시스템.
KR1019950037065A 1995-10-25 1995-10-25 광대역 종합 통신망에서 atm 스위칭 시스템 KR0168241B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950037065A KR0168241B1 (ko) 1995-10-25 1995-10-25 광대역 종합 통신망에서 atm 스위칭 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950037065A KR0168241B1 (ko) 1995-10-25 1995-10-25 광대역 종합 통신망에서 atm 스위칭 시스템

Publications (2)

Publication Number Publication Date
KR970024740A KR970024740A (ko) 1997-05-30
KR0168241B1 true KR0168241B1 (ko) 1999-02-01

Family

ID=19431258

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950037065A KR0168241B1 (ko) 1995-10-25 1995-10-25 광대역 종합 통신망에서 atm 스위칭 시스템

Country Status (1)

Country Link
KR (1) KR0168241B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010109130A (ko) * 2000-05-29 2001-12-08 가네꼬 히사시 Atm 전송 시스템용 네트워크 노드

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010109130A (ko) * 2000-05-29 2001-12-08 가네꼬 히사시 Atm 전송 시스템용 네트워크 노드

Also Published As

Publication number Publication date
KR970024740A (ko) 1997-05-30

Similar Documents

Publication Publication Date Title
EP0809381B1 (en) ATM switching system
JP2788577B2 (ja) フレーム変換方法及び装置
US4667287A (en) Multiprocessor multisystem communications network
US4748617A (en) Very high-speed digital data bus
US4484326A (en) Packet load monitoring by trunk controllers
US5446738A (en) ATM multiplexing system
US5754789A (en) Apparatus and method for controlling point-to-point interconnect communications between nodes
US5835491A (en) Method for supporting multicast capabilities in switching networks with a reservation ring
US4993018A (en) Self-routing switching system with multiple link connections between incoming and outgoing lines
US4965788A (en) Self-routing switch element for an asynchronous time switch
EP0365864B1 (en) Design of a high speed packet switching node
EP0581486B1 (en) High bandwidth packet switch
US5912889A (en) ATM switch with output port clustering for dynamically allocating bandwidth between ports
US5602850A (en) High-speed packet bus
US6633580B1 (en) N×N crossbar packet switch
US5949789A (en) Arbitration ring for accessing a limited bandwidth switching network
EP0113545A1 (en) Packet error rate measurements by distributed controllers
EP1950932A1 (en) System for transmitting data within a network between nodes of the network and flow control process for transmitting said data
US7324537B2 (en) Switching device with asymmetric port speeds
WO1986002512A1 (en) PACKET SWITCHED MULTIPORT MEMORY NxM SWITCH NODE AND PROCESSING METHOD
US6728256B1 (en) Shared buffer control device
RU2129751C1 (ru) Коммутационная система для выполнения асинхронного режима передачи и способ коммутации ячеек в ней
US5883895A (en) Arbitration ring with automatic sizing for a partially populated switching network
US20050041654A1 (en) Multi-dimensional disconnected mesh switching network
KR0168241B1 (ko) 광대역 종합 통신망에서 atm 스위칭 시스템

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
FPAY Annual fee payment

Payment date: 20090914

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee