[go: up one dir, main page]

KR20000028695A - A large combined broadband and narrowband switch - Google Patents

A large combined broadband and narrowband switch Download PDF

Info

Publication number
KR20000028695A
KR20000028695A KR1019990040295A KR19990040295A KR20000028695A KR 20000028695 A KR20000028695 A KR 20000028695A KR 1019990040295 A KR1019990040295 A KR 1019990040295A KR 19990040295 A KR19990040295 A KR 19990040295A KR 20000028695 A KR20000028695 A KR 20000028695A
Authority
KR
South Korea
Prior art keywords
input
output
signal
narrowband
switch
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1019990040295A
Other languages
Korean (ko)
Other versions
KR100645612B1 (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
Priority claimed from US09/276,188 external-priority patent/US6600741B1/en
Application filed by 루센트 테크놀러지스 인크 filed Critical 루센트 테크놀러지스 인크
Publication of KR20000028695A publication Critical patent/KR20000028695A/en
Application granted granted Critical
Publication of KR100645612B1 publication Critical patent/KR100645612B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/08Time only switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections

Landscapes

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

Abstract

대규모 스위칭 네트워크에서 상이한 프로토콜의 디지탈 신호를 스위칭하기 위한 장치 및 방법에 관한 것이다. 신호와 상이한 프로토콜은 입력 모듈 세트에 의해 공통 프로토콜로 싸여진다. 이후에 공통 프로토콜의 신호는 대규모 중앙 단계에 의해 스위칭되어 다수의 출력 모듈로 향하고, 여기서는 이후에 올바른 프로토콜로 신호를 발생한다. 협대역 신호는 광대역 신호로 변환되어 중앙 단계는 광대역 신호만을 스위칭한다. 이것에 의해 중앙 단계의 설계가 단순화되면서도, 초대규모의 경제적인 중앙 단계 스위치를 가능하게 한다. 이러한 구성은 단일의 대규모 스위치로 다수의 프로토콜을 가진 대량의 트래픽을 스위칭할 수 있다는 장점이 있다.An apparatus and method for switching digital signals of different protocols in a large switching network. Protocols different from signals are wrapped in a common protocol by a set of input modules. The signal of the common protocol is then switched by a large central stage and directed to a number of output modules, where the signal is later generated with the correct protocol. The narrowband signal is converted into a wideband signal so that the central stage switches only the wideband signal. This simplifies the design of the central stage, but also enables the large scale economical central stage switch. This configuration has the advantage of being able to switch large volumes of traffic with multiple protocols with a single large switch.

Description

대규모 결합된 광대역 및 협대역 스위치{A LARGE COMBINED BROADBAND AND NARROWBAND SWITCH}Large Combined Wideband and Narrowband Switch {A LARGE COMBINED BROADBAND AND NARROWBAND SWITCH}

이 출원은 본 출원과 동시에 C. J. Chrin 및 M. J. Zola에 의해 출원되고 동일한 출원인에게 양도된, "유연한 통신 스위칭 네트워크"라는 제목의 출원에 관계되며, 또한 1997. 5. 15.자로 C. J. Chrin 및 M. J. Zola에 의해 출원되었고 본 출원과 동일한 출원인에게 양도된 일련번호 08/856,842의 "개선된 통신 스위칭 유닛"이라는 제목의 특허출원에 또한 관계된다.This application is related to an application entitled “Flexible Communication Switching Network”, filed by CJ Chrin and MJ Zola at the same time as this application and assigned to the same applicant, and also to CJ Chrin and MJ Zola as of 15 May 1997. It also relates to a patent application entitled “Improved Communication Switching Unit” of Serial No. 08 / 856,842, filed by and assigned to the same applicant as the present application.

본 발명은 디지탈 통신 스위칭 시스템에 관련되며, 좀 더 자세히는 협대역 및 광대역 디지탈 통신 스위칭 시스템에 관련된다.The present invention relates to digital communication switching systems, and more particularly to narrowband and wideband digital communication switching systems.

주지된 바와 같이, 통신 서비스에 대한 요구는 빠르게 변화되고 있다. 이러한 요구들의 많은 부분은 비디오와 같은 서비스를 위한 것인데, 이는 통상의 오디오 밴드에 비해 한층 광대역이 필요한 것이다. 케이블 텔리비젼 분배 시스템과 전화 및 여타의 구내 장비 통신 시스템의 결합이 개별 고객들에게 광대역 신호를 전송할 수 있는 루프 플랜트(loop plant)를 점점 더 용이하게 이용가능하게 하고 있다. 동시에 광대역 및 협대역 신호를 모두 효율적이고도 집적된 방식으로 처리하는 스위칭 시스템의 개발은 이러한 수요와는 아직 보조를 같이 하고 있지 못하다. 따라서 종래 기술에 있어서의 문제점 중의 하나는 협대역 및 광대역 트래픽을 모두 효율적이고 집적된 방식으로 처리하기 위한 만족할 만한 대규모 스위칭 시스템이 없다는 것이다.As is well known, the demand for communication services is changing rapidly. Many of these needs are for services such as video, which requires more broadband than conventional audio bands. The combination of cable television distribution systems with telephones and other on-premises equipment communication systems is making it easier and easier to use loop plants that can transmit broadband signals to individual customers. At the same time, the development of switching systems that process both broadband and narrowband signals in an efficient and integrated manner has not kept pace with this demand. Thus, one of the problems with the prior art is that there is no satisfactory large scale switching system for handling both narrowband and wideband traffic in an efficient and integrated manner.

이러한 문제점을 해결하고 종래기술에 비해 기술적 진보를 이룩한 본 발명에 따르면 코아(core) 중앙 네트워크가 표준 포맷의 입력을 다수의 접속 모듈로부터 수신하고, 이들 신호를 모듈 중에 스위칭하게 된다. 대량의 광대역 트래픽을 효율적으로 처리하기 위해서, 이들 신호는 각각, 결합되어서는 단일 신호로 되는, 많은 수의 기저대역 채널을 수반한다. 출원인의 바람직한 실시예에 따르면 표준 신호는 2.048 Mb/s 유료부하(payload)를 반송하는 신호로, 32 DS0 음성 채널과 등가이다. 각각의 그러한 신호는 유료 부하 상의 정보를 변경하지 않고 중앙 코아 개체(central core entity)를 통해 스위칭된다.According to the present invention, which solves this problem and has made technological advances over the prior art, a core central network receives input in a standard format from multiple access modules and switches these signals in the module. In order to efficiently handle a large amount of broadband traffic, each of these signals involves a large number of baseband channels, which are combined into a single signal. According to the preferred embodiment of the applicant, the standard signal is a signal carrying a 2.048 Mb / s payload, which is equivalent to a 32 DS0 voice channel. Each such signal is switched through a central core entity without changing the information on the payload.

출원인의 발명의 한 양상에 따르면, 협대역 신호, 즉 단일 음성 채널이 코어를 통해 스위칭될 때에는 이 협대역 신호는 단일의 DS0 유료부하 만을 점유할 뿐이고 신호의 나머지 부분은 "채움(fill)" 비트에 의해 점유된다. 이에 의해 개별적인 음성 채널이 임의의 접속된 모듈로부터 임의의 다른 접속된 모듈로 중앙 코아를 통해 스위칭될 수 있도록 허용하는 장점이 있다.According to one aspect of Applicant's invention, when a narrowband signal, i.e. a single voice channel is switched through the core, this narrowband signal only occupies a single DS0 payload and the remainder of the signal is a "fill" bit. Is occupied by This has the advantage of allowing individual voice channels to be switched through the central core from any connected module to any other connected module.

출원인의 바람직한 실시예에 따르면, 선로 및 트렁크 신호들에 접속된 모듈들은 이들 신호를 표준 포맷 신호로 변환한다. 이러한 모듈들은 마이크로프로세서 기반의 스위치를 포함하는데, 여기서 마이크로프로세서는 표준 선로 및 트렁크 인터페이스 카드에 의해 발생된 입력 펄스 코드 변조된 신호를 수신하여, 이들을 표준 중간 단계 신호들로 변환하며, 그리고 신호들을 특정의 라인과 트렁크로부터 타 종단의 적절한 모듈로 향하는 표준 신호로 스위칭한다. 부가적으로 SONET/SDH {synchronous optical network(동기식 광 네트워크)/synchronous digital hierarchy(동기식 디지탈 계층구조)} 설비들과 같은 설비들간의 인터페이스를 위한 출력 인터페이스 유닛과, 코아 스위치에 접속된 코아들이 포함되는데, 여기서 통신은 표준 신호들이다. 이들 출력 인터페이스 유닛은 SONET 설비의 가상 채널을 통해 전송하기 위하여 표준 신호와 ATM 또는 IP 신호들간을 변환시킨다.According to Applicants' preferred embodiment, modules connected to the line and trunk signals convert these signals into standard format signals. These modules include microprocessor-based switches, where the microprocessor receives input pulse code modulated signals generated by standard line and trunk interface cards, converts them into standard intermediate stage signals, and specifies the signals. Switch from standard lines and trunks to standard signals from the other end to the appropriate module at the other end. In addition, there are output interface units for interfacing between facilities such as SONET / SDH {synchronous optical network / synchronous digital hierarchy} facilities, and cores connected to core switches. Where communication is standard signals. These output interface units convert between standard signals and ATM or IP signals for transmission over the virtual channels of the SONET facility.

본 실시예의 표준 신호는 VT2 신호이며 32 64Kbit 채널을 수반하고, 도 17-20의 논의를 통해 더 자세히 특정된다.The standard signal of this embodiment is a VT2 signal and involves 32 64 Kbit channels and is specified in more detail through the discussion of FIGS. 17-20.

유리하게도 1999년 기술을 사용하면 12288 (768×16) VT2 신호를 지원하기 위한 코아 네트워크가 단일의 주문형 실리콘 칩에 수용될 수 있다. 칩 내부 결선은 인터페이스 회로가 불필요하고 실리콘 칩상에 허용가능한 매우 좁은 회로 결선용 배선을 사용할 수 있기 때문에, 이들 회로들을 위해 많은 칩에 지불하는 것에 비해 큰 장점이 된다. 코아 네트워크에 접속된 모듈들 중에 완전한 상호 결선성을 확보한 위에, 하나의 협대역 신호가 VT2 신호를 완전히 점유하도록 허용함에 의해 코아 네트워크가 VT2 신호 외에는 어떤 것도 스위칭하도록 함이 없이 가능해지는 장점이 있다.Advantageously, using the 1999 technology, a core network to support 12288 (768 × 16) VT2 signals can be accommodated on a single custom silicon chip. In-chip wiring is a big advantage over paying for many chips for these circuits because the interface circuit is unnecessary and the allowable very narrow circuit wiring can be used on the silicon chip. With complete interconnection among the modules connected to the core network, it is advantageous to allow one narrowband signal to fully occupy the VT2 signal without allowing the core network to switch anything but the VT2 signal. .

출원인의 발명의 또다른 양상에 따르면, 종래 기술의 모듈로의 접속이 가능하다. Lucent Technologies Inc.에 의해 제조된 5ESS스위치 통신 모듈과 같은 종래 기술의 모듈은, 코아 네트워크의 입력에서 VT2 신호로 캡슐화되는 전용(proprietary) 링크 신호를 통해 통신한다. 이들 NCT 링크는 협대역 및 광대역 신호를 모두 운반할 수 있다. 통신 모듈은 5ESS스위치의 스위치 모듈로 접속될 수 있다.According to another aspect of the applicant's invention, a connection to a module of the prior art is possible. 5ESS manufactured by Lucent Technologies Inc. Prior art modules, such as switch communication modules, communicate via proprietary link signals that are encapsulated into VT2 signals at the input of the core network. These NCT links can carry both narrowband and wideband signals. Communication module is 5ESS Can be connected to the switch module of the switch.

출원인의 발명의 또다른 양상에 따르면, 임의의 입력으로부터 임의의 출력으로의 블로킹의 부재를 보증하기 위한 주지의 구성인 Clos 네트워크에서와 같이 모듈의 그룹이 다수의 중앙 단계 모듈에 의해 상호결선된다.According to another aspect of the applicant's invention, groups of modules are interconnected by a number of central stage modules, as in the Clos network, a well-known configuration for ensuring the absence of blocking from any input to any output.

도 1은 마이크로프로세서 기반의 타임-슬롯 교환 모듈의 블록도,1 is a block diagram of a microprocessor based time-slot exchange module,

도 2는 이 TSI 모듈의 내부 마이크로프로세서의 블록도,2 is a block diagram of an internal microprocessor of this TSI module;

도 3은 이 TSI 모듈의 메모리 및 버퍼 배치의 블록도,3 is a block diagram of memory and buffer placement of this TSI module;

도 4는 TSI 모듈을 제어하기 위한 프로그램의 흐름도,4 is a flowchart of a program for controlling a TSI module;

도 5는 각각의 프레임 동기화 펄스 사이에 다중 서브-프레임이 조우하는 경우의 도 4의 프로그램의 수정판을 도시한 도면,5 shows a modified version of the program of FIG. 4 when multiple sub-frames encounter between each frame synchronization pulse; FIG.

도 6은 시간 다중화 스위치로 동작하는 마이크로프로세서를 제어하기 위한 프로그램을 도시한 도면,6 shows a program for controlling a microprocessor operating as a time multiplexing switch;

도 7은 타임 슬롯의 그룹들이 번들로 되고, 번들로 스위칭되는 경우의 TSI 프로그램,7 shows a TSI program when groups of time slots are bundled and switched into bundles,

도 8은 비동기 전송 모드(ATM) 셀의 셀 헤더를 나타낸 도면,8 illustrates a cell header of an asynchronous transmission mode (ATM) cell,

도 9는 ATM 셀의 기본적인 처리 동작을 나타낸 도면,9 is a diagram showing a basic processing operation of an ATM cell;

도 10은 ATM 스위치로 동작하는 마이크로프로세서의 메모리 배치를 나타내는 프로그래머 모듈을 도시한 도면,10 shows a programmer module showing a memory arrangement of a microprocessor operating as an ATM switch;

도 11은 마이크로프로세서 ATM 스위치의 입력 처리 동작을 나타내는 흐름도,11 is a flowchart showing an input processing operation of a microprocessor ATM switch;

도 12는 ATM 스위치를 위한 마이크로프로세서 프로그램의 출력 큐(queue)의 처리를 나타낸 도면,12 illustrates processing of an output queue of a microprocessor program for an ATM switch;

도 13은 마이크로프로세서 ATM 스위치의 출력 링크로 ATM 셀을 처리하는 처리과정을 나타낸 도면,13 is a diagram illustrating a process of processing an ATM cell with an output link of a microprocessor ATM switch;

도 14는 마이크로프로세서 복합체로 복제함에 의해 마이크로프로세서 제어 스위치의 싸이즈를 확장하기 위한 구성을 나타내는 블록도,14 is a block diagram illustrating a configuration for extending the size of a microprocessor control switch by replicating it into a microprocessor complex;

도 15는 스위칭 마이크로프로세서의 CLOS 네트워크를 나타낸 도면,15 shows a CLOS network of a switching microprocessor;

도 16은 결합된 회로 및 패킷 스위치로 사용되는 3-단계 네트워크를 도시하는 개념도,16 is a conceptual diagram illustrating a three-stage network used as a combined circuit and packet switch;

도 17은 이러한 3 단계 네트워크의 상세한 블록도,17 is a detailed block diagram of such a three phase network;

도 18은 도 17의 주요 구조로의 접속들을 상세히 도시한 도면,18 illustrates in detail the connections to the main structure of FIG. 17;

도 19는 도 17의 다수의 주요 단계를 상호결선하기 위한 구성을 도시한 도면,FIG. 19 illustrates a configuration for interconnecting a plurality of main steps of FIG. 17;

도 20은 도 17의 코아 구조의 더 상세한 블록도.20 is a more detailed block diagram of the core structure of FIG.

도면의 주요 부분에 대한 부호의 설명Explanation of symbols for the main parts of the drawings

1700 : 중앙 구조 1810, 1820 : 협대역 패들 카드1700: central structure 1810, 1820: narrowband paddle card

1840, 1850 : 광대역 패들 카드1840, 1850: Broadband Paddle Card

1830 : 협대역 주변 장치1830 narrowband peripherals

1860 : 주변 장치 구조 1870 : 광대역 및 협대역 주변 장치1860 Peripheral Structure 1870 Broadband and Narrow-Band Peripherals

도 1-14의 기술은 TSI 기능, TMS 기능을 구현하고, 그리고 또한 동일한 모듈내에서 ATM 신호나 인터넷 프로토콜(IP)의 신호들을 스위칭하기 위한 패킷 스위칭을 구현하기 위한 단일-단계 네트워크에 관련된다. 도 14는 더 적은 모듈들의 그룹이 어떻게 병렬로 되어 더 큰 모듈의 기능을 구현할 수 있는가를 보여준다. 도 15는 전술한 모듈들에 의해 만들어지는 Clos 네트워크를 도시한다. 도 16은 결합된 회로 및 패킷 스위치로 사용되는 3-단계 네트워크를 도시하는 개념도이다. 도 17-20의 주제는 본 출원의 특허청구된 주제의 대부분이며, 출원의 이전 부분에서 기술된 모듈들을 사용하지만, 새로운 형태의 중앙 단계를 가진 이들 모듈을 상호결선하여 매우 대규모의 스위치를 창안한다.The techniques of FIGS. 1-14 relate to a single-stage network for implementing the TSI function, the TMS function, and also for implementing packet switching for switching ATM signals or signals of Internet Protocol (IP) within the same module. Figure 14 shows how fewer groups of modules can be in parallel to implement the functionality of a larger module. 15 shows a Clos network made by the modules described above. 16 is a conceptual diagram illustrating a three-stage network used as a combined circuit and packet switch. The subject matter of FIGS. 17-20 is the majority of the claimed subject matter of this application, using the modules described in the previous part of the application, but interconnecting these modules with a new form of central stage to create a very large switch. .

이 명세서는 소수 명령 세트 기반 컴퓨터{Reduced Instruction Set Computer(RISC)} 마이크로프로세서 상의 적당한 소프트웨어에 의해 다중 하드웨어 기능을 구현하는 방법 및 구성을 기술한다. 이들은 RISC 마이크로프로세서의 경우로 기술되지만, 다른 형태의 마이크로프로세서 구현[예를 들면 복합 명령 세트 기반 컴퓨터{Complex Instruction Set Computer(CISC)}]이 적용될 수도 있다. 복수의 기능이 동일한 하나의 마이크로프로세서에 동시에 존재할 수도 있고 단일 기능만이 제공될 수도 있다. 각각의 입력 및/또는 출력이 받게 될 처리의 형태[예를 들면 타임 슬롯 교환기(TSI), 시간 다중화 스위칭(TMS), 교차결선{Cross-connect(XCON)}, 비동기 모드 (ATM) 스위칭, 인터넷 프로토콜(IP) 라우터, 동적 동기 전송 모드(DTM), 프레임 릴레이(FR) 스위치 등] 의 결정은 소프트웨어 제어에 의해 결정되고 재구성(reconfigure)될 수도 있다. 입력에서 출력 포맷으로의 변환, 예를 들면 회로 스위칭(circuit switching)된 PCM 포맷의 ATM 포맷으로/로부터의 변환도 제공될 수 있다. 단일의 마이크로프로세서 상에는 적합하지 않은 응용들을 위해서 다중 마이크로프로세서를 사용하여 대규모 구성으로 편성하는 방법도 제시된다.This specification describes a method and configuration for implementing multiple hardware functionality by suitable software on a reduced instruction set computer (RISC) microprocessor. These are described in the case of RISC microprocessors, but other types of microprocessor implementations (eg, Complex Instruction Set Computer (CISC)) may be applied. Multiple functions may exist simultaneously in the same microprocessor or only a single function may be provided. The type of processing each input and / or output will receive (eg time slot switch (TSI), time multiplexing switching (TMS), cross-connect (XCON)}, asynchronous mode (ATM) switching, Internet Protocol (IP) router, dynamic synchronous transfer mode (DTM), frame relay (FR) switch, etc.] may be determined and reconfigured by software control. Conversion from input to output format, for example from / to ATM format in circuit switched PCM format, may also be provided. A method of organizing a large scale configuration using multiple microprocessors for applications that are not suitable on a single microprocessor is also presented.

또다른 장점으로는,Another advantage is that

1. VLSI가 거의 혹은 전적으로 소용되지 않는다. - 상용화가 빠르다(개발시간을 제거한다).1. VLSI is rarely or wholly useless. Fast commercialization (removes development time)

2. 마이크로프로세서 자기 진단 기능 - (칩 및 보드의 테스트 툴에 대한 투자를 감소시킨다.)2. Microprocessor Self-Diagnostics-(Reduces investment in chip and board test tools.)

3. 무어의 법칙에 따른 기술 곡선을 직접적으로 따른다. - (양호한 기술 진보)3. Follow the technical curve directly according to Moore's Law. -(Good technological progress)

4. 코어 아키텍쳐가 다수의 응용예에서 사용가능하다.4. The core architecture is available in many applications.

5. 개발 노력이 줄어드는 결과가 가능하다.(위와 같은 모든 원인들에 의해)5. Less development effort is possible (for all of the above reasons).

사용되는 기본적 기술은 다음과 같다.The basic technique used is:

1. 입력 비트 스트림은 클럭에 동기로 직렬 입력, 병렬 출력을 가진 시프트 레지스터로 입력되며 마이크로프로세서 어드레스 버스의 제어 하에 마이크로프로세서 데이터 버스로 병렬로 판독된다.1. The input bit stream is input to a shift register with serial input and parallel output in synchronization with the clock and read in parallel to the microprocessor data bus under the control of the microprocessor address bus.

2. 이후에 이 데이터는 내장 마이크로프로세서 캐시 메모리에 저장되는데 이 메모리는 마이크로프로세서 칩 외부 또는 내부의 레벨 2의 캐시 및/또는 마이크로프로세서 외부의 보조 메모리에 의해 확장될 수 있으며, 저장된 프로그램 제어에 의해 조작되어 목표하는 스위칭 기능을 제공하게 된다.2. This data is then stored in the on-board microprocessor cache memory, which can be expanded by level 2 caches external to or within the microprocessor chip and / or auxiliary memory external to the microprocessor, and stored by program control. It can be manipulated to provide the desired switching function.

3. 저장된 프로그램의 좀 더 자주 사용되는 부분은 캐시에 저장되는 것이 유리하다.3. More frequently used parts of stored programs are advantageously stored in cache.

4. 결과로의 출력은 병렬 입력, 직렬 출력을 가진 시프트 레지스터로 병렬로 판독되고, 클럭에 동기되어 직렬 비트 스트림으로 출력된다.4. The resulting output is read in parallel into a shift register with parallel input, serial output, and output as a serial bit stream in synchronization with the clock.

도 1은 기본적인 시스템 아키텍쳐의 블록도이다. 시스템의 핵심부는 온-보드(on-board) 프로그램 및 데이터 캐시들과, 입력 버퍼로서 직-병렬 시프트 레지스터와 출력 버퍼로서 병-직렬 시프트 레지스터로 구성되는 외부 입력/출력을 포함하는 마이크로프로세서이다. 마이크로프로세서의 제어 하에 있는 입력/출력 디코더가 입력 버퍼를 선택하여 데이터 버스에 데이터를 올리거나, 출력 버퍼를 선택하여 데이터 버스로부터 데이터를 판독한다. 제어 레지스터를 사용하여 외부 세계로부터/외부 세계로 제어 메시지를 수신하거나 전송할 수 있다. 외부 메모리를 사용하여 캐시에 저장하기에는 너무 용량이 큰 데이터 구조는 물론 백업 및 유지 코드까지 저장할 수 있다. 마이크로프로세서 소프트웨어를 사용하여 전통적으로는 하드웨어 구현에 의해 제공되어져 온 스위칭 기능들을 제공할 수 있다. 따라서 다수의 다양한 기능들이 단일의 마이크로프로세서 아키텍쳐에 의해 동시에 제공될 수 있다. 탑재된 소프트웨어를 변경시킴에 의해 상이한 기능 세트들이 제공될 수 있다.1 is a block diagram of a basic system architecture. The heart of the system is a microprocessor comprising on-board program and data caches and an external input / output consisting of a serial-parallel shift register as an input buffer and a parallel-serial shift register as an output buffer. An input / output decoder under the control of the microprocessor selects an input buffer to load data on the data bus, or selects an output buffer to read data from the data bus. Control registers can be used to receive or send control messages to / from the outside world. External memory can be used to store data structures that are too large to be cached, as well as backup and maintenance code. Microprocessor software can be used to provide the switching functions that have traditionally been provided by hardware implementations. Thus, many different functions can be provided simultaneously by a single microprocessor architecture. Different sets of functions can be provided by changing the onboard software.

도 1은 출원인의 발명에 따른 타임 슬롯 교환기 유닛(100)의 입력 및 출력 데이터 스트림을 나타낸다. 출원인의 발명의 바람직한 일실시예에 있어서 Motorola사에 의해 제조된 300 MHz PowePC, EC603e 칩은 각각 초당 2.048 Mbit의 비트율에 동작하는 32 타임 슬롯으로 구성되는 192 직렬 입력 및 출력 스트림을 스위칭할 수 있다. 입력은 n 개의 직렬 입력 스트림을 포함하며, 0번 스트림은 입력 버퍼(101)에, ... , 그리고 n-1번 직렬 입력 스트림은 입력 버퍼(102)에 접속된다. 첫 번째 입력 스트림은 입력 버퍼(101)의 시프트 레지스터에 모여서 각 단이 64 비트인 4단의 버퍼로 순차적으로 병렬로 전송된다. 이 버퍼의 최종 단은 병렬 버스(105)를 구동하기 위해 일련의 64 비트의 트라이-스테이트 버스 구동기로 접속된다. 병렬 버스(105)에는 또한 n 개의 출력 버퍼(111,...,112)가 접속된다. 이 출력 버퍼들 역시 4단계의 64비트 레지스터를 포함하며, 그 입력 단은 버스(105)에 접속되는 64개의 버스 수신기에 연결되고, 그 출력 단은 직렬 출력 스트림을 발생하도록 시프트 레지스터로 연결된다. 버스(105)에는 또한 마이크로프로세서(120)가 연결되어, 자체에 저장된 프로그램의 제어하에 4개의 대응되는 64-비트 데이터 버스의 판독 동작에 따라 n개의 입력 버퍼(101,...,102) 각각으로부터 256 비트 버스트 입력을 받아들인다. 유사하게, 마이크로프로세서는 자체의 프로그램 및 제어 맵(map)의 제어하에 입력을 판독하여 출력 버스트를 발생한 후에는 4개의 대응되는 64 비트 데이터 버스의 기록 동작에 따라 n 개의 출력 버퍼 각각으로 256 비트 버스트 출력을 내보낸다.1 shows an input and output data stream of a time slot exchange unit 100 in accordance with the applicant's invention. In one preferred embodiment of the applicant's invention, a 300 MHz PowePC, EC603e chip manufactured by Motorola is capable of switching 192 serial input and output streams consisting of 32 time slots each operating at a bit rate of 2.048 Mbits per second. The input includes n serial input streams, stream 0 is connected to the input buffer 101, ..., and n-1 serial input streams are connected to the input buffer 102. The first input stream is collected in the shift register of the input buffer 101 and sequentially transmitted in parallel to four buffers of 64 bits each stage. The final stage of this buffer is connected to a series of 64-bit tri-state bus drivers to drive the parallel bus 105. The n output buffers 111,... 112 are also connected to the parallel bus 105. These output buffers also contain four levels of 64-bit registers, whose inputs are connected to 64 bus receivers connected to bus 105, and the outputs are connected to shift registers to generate a serial output stream. The bus 105 is also coupled to a microprocessor 120, each of the n input buffers 101, ..., 102 in accordance with the read operation of four corresponding 64-bit data buses under the control of a program stored therein. Accepts a 256-bit burst input from Similarly, after the microprocessor reads an input under the control of its own program and control map to generate an output burst, the 256-bit burst into each of the n output buffers in accordance with the write operation of four corresponding 64-bit data buses. Export the output.

마이크로프로세서의 제어하에 I/O 디코더 유닛(130)이 사용되어 입력 버퍼의 트라이-스테이트 출력을 버스로 게이팅(gate)하고, 이 버스의 출력을 n 개의 출력 버퍼(111,...,112)로 게이팅한다. I/O 디코더는 마이크로프로세서 어드레스 버스로부터 입력을 수신한다.Under control of the microprocessor, an I / O decoder unit 130 is used to gate the tri-state output of the input buffer to the bus, and output the bus from n output buffers 111,..., 112. Gating to The I / O decoder receives input from the microprocessor address bus.

그리고 마이크로프로세서 프로그램 텍스트 및 경로 메모리와 같은 마이크로프로세서 캐시에 저장되는 데이터를 위한 백업, 캐싱되지 않은 TSI 코드, 시험이나 진단에 요구되는 데이터와 같은 빈번하게 사용되지 않는 데이터 및 프로그램 텍스트를 저장하기 위한 메모리(122)가 또한 이 버스(105)에 연결된다. 버스(105)에는 또한 호 처리 제어기 또는 다른 통신 네트워크 스위치들과 인터페이스하고 제어 메시지를 수신 및 송신하는 제어 레지스터(124)가 연결된다.And memory for storing infrequently used data and program text, such as backups for data stored in microprocessor caches such as microprocessor program text and path memory, uncached TSI code, and data required for testing or diagnostics. 122 is also connected to this bus 105. Bus 105 is also coupled to a control register 124 that interfaces with call processing controllers or other communication network switches and receives and transmits control messages.

도 2는 발명의 이해에 관련되는 마이크로프로세서의 주요 부분의 블록도이다. 마이크로프로세서는 프로그램 캐시(201)를 포함하여 타임 슬롯 교환기 유닛의 동작을 제어하는 제어 프로그램을 저장한다. 프로그램 캐시의 출력은 명령 큐(203)로 가서 다수의 명령이 저장되고, 이에 따라 파이프라인(pipelining) 기술을 사용하여 가능하게 되는 단순 루프 연산의 고속 실행이 가능해진다. 명령 큐는 명령 제어 블록(205)과 인터페이스되어 적절한 명령들이 산술 논리 유닛(ALU)(207)으로 보내진다. ALU는 수신된 명령을 실행하여 로드 저장 유닛(213)을 제어함에 의해 그 명령에 의해 요구되는 단계들을 실행하며, 그러면 이 유닛은 데이터 캐시(211)를 액세스한다. ALU(207)는 또한 마이크로프로세서의 제어나 단기간 저장을 위해 내부 레지스터(215) 그룹을 제어한다. 버스 인터페이스(217)는 버스(105)(도 1)간의 통신을 수행하며, 마이크로프로세서 내부에서는 데이터 캐시(211)와 통신하고, 소프트웨어 교환이나 백업을 위해서는 프로그램 캐시(201)와도 통신한다.2 is a block diagram of the major parts of a microprocessor in accordance with an understanding of the invention. The microprocessor includes a program cache 201 to store a control program that controls the operation of the time slot exchange unit. The output of the program cache goes to the instruction queue 203 where a number of instructions are stored, thereby enabling fast execution of simple loop operations that are made possible using pipelined techniques. The command queue is interfaced with the command control block 205 so that appropriate commands are sent to the arithmetic logic unit (ALU) 207. The ALU executes the received instruction to control the load storage unit 213 to execute the steps required by the instruction, which then accesses the data cache 211. The ALU 207 also controls a group of internal registers 215 for control of the microprocessor or for short term storage. The bus interface 217 communicates with the bus 105 (FIG. 1), communicates with the data cache 211 inside the microprocessor, and also with the program cache 201 for software exchange or backup.

도 3은 마이크로프로세서(120)의 데이터 캐시(211)에 저장된 관련된 메모리 데이터를 나타낸다. 데이터 캐시의 내용은 여타 다른 사항 외에, 입력 버퍼(101,...,102)로부터 수신된 데이터와, 출력 버퍼(111,...,112)로 출력될 데이터를 포함한다. 입력 버퍼(101,...,102)로부터 수신된 데이터는 TSI 버퍼(301 또는 303)에 저장된다. 출원인의 바람직한 실시예에 있어서 다양한 입력 버퍼로부터의 데이터는 이들 버퍼 중의 하나에 순차적으로 저장된다. 초당 n×64 킬로비트 접속을 처리하기 위해 TSI 버퍼는 버퍼(301)를 포함하고, 이 직렬 입력 데이터의 또 다른 프레임을 저장하기 위해서 제 2 버퍼(303)를 포함한다. 버퍼(301,303)는 서로 대체하여 사용할 수 있다. 제어 맵(311)은 TSI 버퍼(301 또는 303)의 내용의 판독을 제어하여 출력 버퍼(111,...,112) 중의 하나로 전송하기 위하여 TSI 출력 버퍼(321)에 저장되는 출력을 발생하기 위해 사용된다. TSI 기록 포인터(315)는 입력 버퍼(101,...,102)중의 하나로부터 TSI 버퍼(301 또는 303)의 어디에 저장되는지를 추적하기 위해 사용된다. 제어 포인터(313)는 TSI 출력 버퍼(321)를 채우기 위해 요구되는 타임 슬롯을 얻기 위하여 TSI 버퍼의 액세스를 제어하도록 제어 맵(313)의 적절한 부분을 지시하기 위해 사용된다. 입력 버퍼 카운트(331)는 입력 버퍼 어드레스 레지스터(332)에 의해 선택된 n개의 입력 버퍼(101,...,102) 중의 적절한 하나로부터 입력을 획득하는 싸이클을 제어하기 위해 사용되고, 출력 버퍼 카운트(333)는 출력 버퍼 어드레스 레지스터(334)에 의해 선택된 n개의 출력 버퍼(111,...,112) 중의 하나로 TSI 출력 버퍼(321)에 모인 출력 분배를 제어하기 위해 사용된다. 링크 상태(link status) 메모리(341)는 서비스 불가능한 n개의 입력 링크 중의 임의의 것, 또는 n 개의 출력 링크 중의 임의의 것을 표시하기 위해 사용된다. 이 상태는 n 개의 입력 버퍼(101,...,102) 중의 하나로부터 입력을 수신하기 전에, 또는 출력 버퍼(111,...,112) 중의 하나로 출력을 전송하기 전에 체크될 수 있다.3 illustrates associated memory data stored in data cache 211 of microprocessor 120. The contents of the data cache include, in addition to other matters, data received from the input buffers 101, ..., 102 and data to be output to the output buffers 111, ..., 112. Data received from the input buffers 101,... 102 are stored in the TSI buffers 301 or 303. In Applicants' preferred embodiment, data from the various input buffers is stored sequentially in one of these buffers. The TSI buffer includes a buffer 301 to handle n x 64 kilobit connections per second, and a second buffer 303 to store another frame of this serial input data. The buffers 301 and 303 may be used interchangeably. The control map 311 controls the reading of the contents of the TSI buffer 301 or 303 to generate an output stored in the TSI output buffer 321 for transmission to one of the output buffers 111,..., 112. Used. The TSI write pointer 315 is used to track where in the TSI buffer 301 or 303 is stored one of the input buffers 101,... 102. The control pointer 313 is used to indicate the appropriate portion of the control map 313 to control the access of the TSI buffer to obtain the time slots required to fill the TSI output buffer 321. The input buffer count 331 is used to control the cycle of acquiring input from the appropriate one of the n input buffers 101,... 102 selected by the input buffer address register 332, and the output buffer count 333. ) Is used to control the output distribution collected in the TSI output buffer 321 into one of the n output buffers 111,..., 112 selected by the output buffer address register 334. Link status memory 341 is used to indicate any of the n non-serviceable input links, or any of the n output links. This state can be checked before receiving input from one of the n input buffers 101,... 102, or sending the output to one of the output buffers 111,..., 112.

제어 맵은 도 1의 제어 레지스터(124) 내의 접속 요구 레지스터(351)로부터 마이크로프로세서가 제어 메시지를 수신할 때 마이크로프로세서 프로그램의 제어하에서 변경되는데, 이 제어 메시지는 타임 슬롯 교환기 유닛에서 접속 설정 또는 접속 해제의 요청을 나타낸다. 제어 맵의 제어 처리는 종래 기술에서 잘 알려진 것이다.The control map is changed under the control of the microprocessor program when the microprocessor receives a control message from the connection request register 351 in the control register 124 of FIG. 1, which control message is established or connected at the time slot exchange unit. Indicates a request for release. Control processing of the control map is well known in the art.

도 4는 출원인의 발명에 따라 타임 슬롯 교환기(TSI)를 구현하기 위한 프로그램의 동작을 나타내는 흐름도이다. 이 처리는 프레임 동기화 펄스를 기다리는 단계(401 블록)로부터 시작한다. 프레임 동기화 펄스가 도달하면, 이 신호에 의해 직렬 입력 스트림으로부터 입력 버퍼(101,...,102)의 동기화된 로딩이 개시되고, 다수의 초기화 단계들이 시작된다. 메모리 기록 어드레스(TSI 기록 포인터)가 초기화되어(402 동작 블록), 이에 의해 입력 버퍼(101,...,102)로부터의 정보를 기록하기 위한 TSI 버퍼(301 및 303)의 올바른 위치가 설정된다. 2 단계의 버퍼링 오프셋이 토글되어(403 동작 블록), 입력 데이터를 교번하는 프레임에 저장하기 위해 TSI 버퍼의 프레임 메모리(301 또는 303) 중의 하나를 선택한다. 이후에 마이크로프로세서는 입력 버퍼(101,...,102)가 가득 찼다는 것을 나타내는 입력 버퍼 로드 신호를 기다리고(404 동작 블록), 이후에 입력 버퍼 어드레스가 초기화되어(동작 블록 405), 첫 번째 입력 버퍼(101)를 지시한다. 동작 블록(406)이 입력 버퍼로부터 새로운 데이터를 판독하는 것을 보증하여 이전 주기로부터의 캐시된 데이터를 망치지 않기 위해, 동작 블록(405)은 판독을 개시하기 전에 입력 버퍼 어드레스와 관련된 캐시 데이터를 무효화한다. 이후에 4개의 접속된 64 비트 데이터 버스 동작으로 입력 버퍼 어드레스에 의해 지시된 입력 버퍼가 버스트(burst)로 판독되고(406 동작 블록), 2단계의 버퍼링 오프셋에 따라 TSI 버퍼(301 또는 303)의 마이크로프로세서 캐시 메모리에 저장된다. 테스트(407)는 이 프레임의 모든 입력이 기록되었는가를 결정한다. 만약 아니면, 버퍼 어드레스가 증분(increment)되고(409 동작 블록), 다음 버퍼가 TSI 버퍼로 판독된다(이미 기술한 동작 블록 406). 이 루프는 테스트(407)가 이 프레임의 모든 입력이 기록되었다는 것을 나타낼 때까지 계속된다.4 is a flowchart illustrating the operation of a program for implementing a time slot exchange (TSI) in accordance with the applicant's invention. This process begins with waiting for a frame synchronization pulse (block 401). When the frame synchronization pulse arrives, this signal initiates the synchronized loading of the input buffers 101,... 102 from the serial input stream and initiates a number of initialization steps. The memory write address (TSI write pointer) is initialized (operation block 402), whereby the correct positions of the TSI buffers 301 and 303 for writing information from the input buffers 101, ..., 102 are set. . The buffering offset in step 2 is toggled (block 403) to select one of the frame memories 301 or 303 of the TSI buffer to store input data in alternating frames. The microprocessor then waits for an input buffer load signal indicating that the input buffers 101, ..., 102 are full (operation block 404), after which the input buffer address is initialized (operation block 405), so that the first The input buffer 101 is indicated. In order to ensure that operation block 406 reads new data from the input buffer so as not to spoil the cached data from the previous period, operation block 405 invalidates the cache data associated with the input buffer address before initiating the read. . Thereafter, with four connected 64-bit data bus operations, the input buffer indicated by the input buffer address is read into the burst (406 operation block), and the TSI buffer 301 or 303 is Stored in the microprocessor cache memory. Test 407 determines whether all inputs of this frame have been recorded. If not, the buffer address is incremented (operation block 409) and the next buffer is read into the TSI buffer (operation block 406 already described). This loop continues until test 407 indicates that all inputs in this frame have been recorded.

이 시점에서 TSI 판독 싸이클이 시작된다. 출력 버퍼 어드레스(334)가 초기화되고(421 동작 블록), TSI 출력 버퍼 어드레스가 초기화되고(423 동작 블록), 그리고 제어 맵 포인터(313)가 제어 맵의 맨 윗부분을 가리키도록 초기화된다(425 동작 블록). 제어 맵의 내용들은 인덱스 레지스터로 판독되고(427 동작 블록), 인덱스 레지스터는 TSI 버퍼로부터 8 비트 타임 슬롯을 판독 위해 사용된다(429 동작 블록); {프레임(301 또는 303)은 동작 블록(403)에서 설정된 2단계 버퍼링 오프셋에 따라 액세스된다}. 판독된 바이트는 이후에 32 바이트 중의 어느 것이 기록될 것인가에 따라 정해지는 적절한 오프셋을 가지고 캐시상의 TSI 출력 버퍼에 기록된다 {TSI 출력 버퍼(321)}(431 동작 블록). 테스트(433)는 32 바이트가 기록되었는지를 결정하기 위해 사용된다; 만약 아니면 동작 블록(427)으로 다시 들어가서, 루프는 동작 블록(427, 429, 431)을 반복한다. 32바이트가 기록되고 나면, 테스트(433)의 결과가 양이 되면서 인지되어, 출력 버퍼 어드레스(334)에 의해 지시된 출력 버퍼(111,...,112)로 4개의 결속된 64 비트 데이터 버스 기록 동작이 버스트로 이루어지는 데이터 캐시 블록 플러쉬(flush) 동작에 의해 캐시로부터 32 바이트가 기록되어 진다(441 동작 블록). 테스트(443)는 모든 출력이 기록되어졌는지를 결정한다. 만약 아니면, TSI 출력 버퍼 판독 어드레스가 재초기화된다(445 동작 블록). 출력 버퍼 어드레스(출력 버퍼 어드레스 334)가 이후에 증분되고(447 동작 블록), 동작 블록(427)에서 출력 버퍼로의 기록 루프가 재개된다. 테스트(443)에서 모든 출력이 기록되어졌다고 판단되면, 이 프레임을 위한 작업이 종료되고, 프로세서는 블록(401)으로 돌아가 다음 프레임 동기화 펄스를 기다리게 된다.At this point, the TSI read cycle begins. The output buffer address 334 is initialized (operation 421), the TSI output buffer address is initialized (operation 423), and the control map pointer 313 is initialized to point to the top portion of the control map (operation 425). block). The contents of the control map are read into the index register (427 operation block), and the index register is used to read an 8 bit time slot from the TSI buffer (429 operation block); {Frame 301 or 303 is accessed according to the two stage buffering offset set in operation block 403). The read byte is then written to the TSI output buffer on the cache with an appropriate offset determined by which of the 32 bytes is to be written {TSI output buffer 321} (operation block 431). Test 433 is used to determine if 32 bytes have been written; If not, enter operation block 427 again, the loop repeats operation blocks 427, 429, 431. After 32 bytes have been written, the result of the test 433 is positively recognized and four bound 64-bit data buses to the output buffers 111, ..., 112 indicated by the output buffer address 334. 32 bytes are written from the cache by the data cache block flush operation in which the write operation is bursted (441 operation block). Test 443 determines whether all output has been recorded. If not, the TSI output buffer read address is reinitialized (445 operation block). The output buffer address (output buffer address 334) is then incremented (operation block 447) and the write loop from operation block 427 to the output buffer is resumed. If it is determined in test 443 that all output has been written, the operation for this frame is terminated, and the processor returns to block 401 to wait for the next frame synchronization pulse.

위의 흐름도는 모든 타임 슬롯에 대해 256 킬로비트 데이터와 같은 초당 n×64 킬로비트 신호를 나타내는지 또는 단일의 초당 64 킬로비트 음성 또는 데이터 타임 슬롯인지 상관없이 모든 타임 슬롯에 대해 이중 버퍼링을 제공한다. 만약 이 이중 버퍼링에 의해 도입되는 부가적인 프레임 지연을 단일의 64 Kbit/초 음성 혹은 데이터 타임 슬롯에서는 원하지 않는다면, 흐름도를 수정하여 선택적인 이중 버퍼링을 제공하여, 즉 단일의 음성 혹은 데이터 타임 슬롯은 이중 버퍼링되지 않도록 할 수 있다. 이러한 단일 버퍼링된 타임 슬롯은 제어 맵(311)에서 표시되어 이중 버퍼 오프셋의 효과를 반전함에 의해 이 타임 슬롯이 두개의 TSI 버퍼 프레임(301 및 303) 중의 다른 하나로부터 판독되도록 한다. 따라서 단일 버퍼링된 타임 슬롯은 이중 버퍼링된 타임 슬롯과는 반대의 프레임으로부터 판독될 수 있다.The above flow chart provides double buffering for all time slots, whether they represent n × 64 kilobit signals per second, such as 256 kilobits of data for all time slots, or a single 64 kilobits per second voice or data time slot. . If the additional frame delay introduced by this double buffering is not desired in a single 64 Kbit / sec voice or data time slot, the flow chart can be modified to provide optional double buffering, i.e. a single voice or data time slot can be doubled. You can prevent it from being buffered. This single buffered time slot is indicated in the control map 311 to invert the effect of the double buffer offset so that this time slot is read from the other of the two TSI buffer frames 301 and 303. Thus, a single buffered time slot can be read from the frame opposite to the double buffered time slot.

일반화된 TSI 흐름Generalized TSI Flow

도 4에 도시된 흐름도는 각각의 직렬 입력 스트림이 32 타임 슬롯으로 구성되고, 동작 블록(406)이 논의될 때 기술한 바와 같이 이 구현예에서는 단일의 32 바이트 버스트로 마이크로프로세서 캐시로 기록되어진다고 가정되므로 프레임 당 한 번만 진행된다. 도 4를 상대적으로 단순히만 수정해도 가능하며 이것이 도 5에 도시되어 높은 대역폭의 직렬 링크를 제공한다.The flow diagram shown in FIG. 4 shows that each serial input stream consists of 32 time slots and in this implementation is written to the microprocessor cache in a single 32 byte burst as described when operation block 406 is discussed. It is assumed that it will only go once per frame. It is possible to modify Fig. 4 relatively simply, which is shown in Fig. 5 to provide a high bandwidth serial link.

(1) 결정 상태(443)의 "예" 출력 단에 또 다른 결정 상태(451)가 필요하다. 이것은 타임 슬롯의 전 프레임이 처리되었는지를 결정한다. "예" 이면, 블록(401)의 대기 상태로 돌아간다. "아니오"이면, 입력 버퍼 로드 대기 블록(404)으로 돌아가 다음 32 타임 슬롯의 버스트를 기다린다.(1) Another decision state 451 is required at the "yes" output of decision state 443. This determines if the entire frame of the time slot has been processed. If yes, the process returns to the waiting state of block 401. If no, return to input buffer load wait block 404 and wait for a burst of the next 32 time slots.

(2) 동작 블록(425)인 판독 제어 맵 포인터 초기화 단계가, 전체 프레임이 아직 기록되지 않았으므로, TSI 판독 루프로부터 TSI 기록 싸이클의 시작부분{메모리 기록 어드레스의 초기화 동작 블록(402) 이후}으로 옮겨진다.(2) The read control map pointer initialization step, which is operation block 425, is performed from the TSI read loop to the beginning of the TSI write cycle (after the initialization operation block 402 of the memory write address) since the entire frame has not yet been written. Transferred.

도 1의 RISC 마이크로프로세서 하드웨어, 도 2의 블록도, 그리고 도 3의 프로그래머 데이터 모델은 시간 다중화 스위치(TMS)를 구현하기 위해서도 사용될 수 있다. 근본적인 차이점은 TSI 응용은 타임 슬롯 중의 하나 혹은 둘을 메모리에 저장하고 유지하는 것이 필요하지만(단일 혹은 이중 버퍼된 응용), 그에 반해 TMS 응용에서는 타임 슬롯이 TMS로의 입력에 나타난 후 가능한 한 빨리 스위칭하는 것이 요구된다는 것이다. 이는 단자(101,...,102)에 나타난 직렬 입력 스트림(이들은 도 3의 TSI 버퍼로 기록되어진 것이다)이 직렬 출력 스트림(111,...,112)로 판독되고 난 이후에는 그들을 TSI 버퍼에 더 이상 저장할 필요가 없다는 것을 의미한다. 따라서 프레임 간격동안 이 버퍼로의 후속하는 기록 버스트는 이전 데이터에 덮어 쓸 수 있다. 이는 TMS 응용에서는 하나 혹은 두 프레임의 메모리가 아니라 직렬 입력 당 32 바이트만(기록/버스트 싸이즈)이 요구되므로 TSI 응용에 비해 메모리 요구량이 적다는 것을 의미한다. 또한 타임 슬롯들이 즉시 판독되어 타임 슬롯들의 순서가 어긋날 가능성이 없기 때문에 n×64 kbit/s 스트림에 이중 버퍼링이 필요하지 않다.The RISC microprocessor hardware of FIG. 1, the block diagram of FIG. 2, and the programmer data model of FIG. 3 may also be used to implement a time multiplexing switch (TMS). The fundamental difference is that TSI applications need to store and maintain one or two of the time slots in memory (single or double buffered applications), whereas TMS applications switch as soon as possible after the time slot appears at the input to the TMS. Is required. This means that the serial input streams (which have been written to the TSI buffer in FIG. 3) shown at terminals 101, ..., 102 are read into the serial output streams 111, ..., 112, and they are stored in the TSI buffer. That means you no longer need to save it. Thus, subsequent write bursts to this buffer during the frame interval can overwrite previous data. This means that TMS applications require less than one byte or two frames of memory, but only 32 bytes per serial input (write / burst size), resulting in lower memory requirements than TSI applications. There is also no need for double buffering in the n × 64 kbit / s stream because the time slots are read immediately and there is no possibility of time slots being out of order.

도 6은 TMS를 구현하기 위한 흐름도이다. TSI 기본 흐름도(도 4)와 유사하며, TMS에 대해 위에서 기술한 차이점들은 물론 일반화된 TSI 흐름도에서 이미 기술한 변경들을 포함한다. 독자를 돕기 위하여 도 4와 동일한 동작에는 동일한 번호를 붙였다. TMS에서는 기본 TSI 흐름도에서 가정된 2.048 Mbit/s 보다 훨씬 큰 고 대역폭 기능성이 요구된다. 이에 따라 도 6에서 전체 프레임을 조작하기 위하여 테스트(449)의 부가와, 판독 제어 포인터를 초기화시키는 단계(425 동작 블록)를 TSI 판독 싸이클로부터 도 6의 TMS 기록 싸이클의 시작 부근에서 프레임 초기화 부분으로 옮기는 것이 필요하다. 이들 두 단계는 일반화된 TSI 흐름도에서 기재된 것과 동일하다.6 is a flowchart for implementing a TMS. Similar to the TSI basic flow diagram (FIG. 4), the differences described above for TMS as well as the changes already described in the generalized TSI flow diagram. In order to assist the reader, the same operation as in FIG. 4 is given the same number. TMS requires high bandwidth functionality much greater than the 2.048 Mbit / s assumed in the basic TSI flow chart. Accordingly, the addition of the test 449 and the step of initializing the read control pointer (operation 425) to manipulate the entire frame in FIG. 6 from the TSI read cycle to the frame initialization portion near the beginning of the TMS write cycle in FIG. It is necessary to move. These two steps are the same as described in the generalized TSI flowchart.

TMS 기능을 구현하기 위한 흐름도 상의 단 두 개의 변경점은,The only two changes in the flow chart for implementing TMS functionality are:

(1) 동작 블록(402)을 TSI 기록의 프레임 초기화 부분으로부터 버퍼 로드된 내부 루프로 옮겨서, 앞절에서 기술한 바와 같이 이 데이터는 이미 출력되었으므로 이전 버스트에 덮어 쓸 수 있도록 한다.(1) Move operation block 402 from the frame initialization portion of the TSI write to the buffer-loaded inner loop so that this data has already been output, as described in the previous section, so that it can overwrite the previous burst.

(2) 이중 버퍼링을 구현하기 위해 사용되는 동작 블록(403)을 제거한다. 도 6의 TMS 흐름도는 시간 다중화 스위칭 기능을 구현한 것이다.(2) Eliminate operation block 403 used to implement double buffering. The TMS flowchart of FIG. 6 implements a time multiplexing switching function.

입력 버퍼(101,...,102)를 캐시로 순차적으로 기록하는데 대한 한 변형은 단일의 입력 버퍼로부터 32 바이트 버스트를 취하는 대신에, 4개의 입력 버퍼들 각각으로부터 8바이트가 기록되는 것이다. 이렇게 하면 입력 버퍼(101,...,102)에 의해 요구되는 버퍼링의 바이트 수를 버퍼당 32 바이트에서 8바이트로 줄일 수 있는 장점이 있다. 버퍼 두개 당 각각 16 바이트씩 취하는 것도 또한 구현될 수 있다.One variation on sequentially writing the input buffers 101, ..., 102 to the cache is that instead of taking a 32 byte burst from a single input buffer, 8 bytes are written from each of the four input buffers. This has the advantage of reducing the number of bytes of buffering required by the input buffers 101, ..., 102 from 32 bytes per buffer to 8 bytes. Taking 16 bytes per two buffers can also be implemented.

도 7은 타임 슬롯의 그룹들을 동시에 스위칭하는데 사용되는 시스템의 동작을 도시하는 흐름도이다. 이러한 것들은 Lucent Technologies 사에 의해 제조된 시스템인 DACS(Digital Access And Cross-Connect System)와 같은 디지탈 교차결선(cross-connect)을 대체하여 사용될 수 있을 것이다.7 is a flowchart illustrating operation of a system used to simultaneously switch groups of time slots. These could be used in place of digital cross-connects such as the Digital Access And Cross-Connect System (DACS), a system manufactured by Lucent Technologies.

블록(461, 463, 465, 467)은 도 6의 블록(429, 431, 433)에 의해 수행되는 기능을 대체한다. 도 7에 기술된 구현에 있어서, 블록(461, 463) 만이 8 번 반복되었다. 이 반복의 종단에 블록(465, 467)이 도시되었는데, 루프를 사용하는 대신에 프로그램은 인-라인(in-line)으로 기술된다. 동작 블록(461)은 도 6의 동작 블록(429)에 본질적으로 등가이며, 동작 블록(463)은 도 6의 동작 블럭(431)과 본질적으로 등가이다; 하지만 테스트(433)를 포함하는 대신에, 동작 블록(441)에 진입하기 이전에 코드가 단순히 8번 반복되었다.Blocks 461, 463, 465, 467 replace the functions performed by blocks 429, 431, 433 in FIG. 6. In the implementation described in FIG. 7, only blocks 461 and 463 have been repeated eight times. Blocks 465 and 467 are shown at the end of this iteration, where the program is described in-line instead of using a loop. Operation block 461 is essentially equivalent to operation block 429 of FIG. 6, and operation block 463 is essentially equivalent to operation block 431 of FIG. 6; However, instead of including the test 433, the code was simply repeated eight times before entering the operation block 441.

위의 흐름도는 바이트 량이 동작 블록(429, 431)에서 판독되고 기록되는 8 비트 타임 슬롯을 기술하였다. 16 비트 및 32 비트 타임 슬롯도 대응되는 로드(load) 및 저장(store) 명령에 반 워드(half word) 혹은 전 워드(full word) 마이크로프로세서 명령을 단순히 대체시킴에 의해 쉽게 제공될 수 있다. 타임 슬롯의 폭을 더 일반화하여, 블록(429, 431)에서 일련의 타임 슬롯을 전송하도록 로드(load)/저장(store) 스트링 명령을 사용하면 인접한 타임 슬롯이 그룹 단위로 스위칭되도록 하는 그룹 스위칭을 포함하도록 할 수 있다. 동작 블록 (427) 내지 (433)까지의 루프 오버헤드(overhead)가 한 바이트 폭의 타임 슬롯에 비해 상대적으로 비례하여 저감되기 때문에 단위 시간동안 스위칭되는 정보의 전체 바이트 수는 타임 슬롯 폭이나 그룹의 싸이즈를 증가시킴에 따라 증가한다. 이는 교차결선을 구현하기 위한 32 타임 슬롯 PCM (E1) 설비를 스위칭하는데 매우 효율적이다. 24 바이트 폭 그룹의 T1 설비들에서와 같은 몇몇 그룹 싸이즈는 이 24 타임 슬롯을 32 바이트 그룹에 채움(padding)으로써 가장 효율적으로 스위칭될 수 있다. 그룹들은 연속적으로 연결되어 출력 버퍼의 출력에서 DS3와 같은 더 높은 대역폭의 전송율을 형성할 수 있다; 이는 디지탈 액세스 교차 결선 시스템(DACS)을 구현하는데 특히 유용하다.The flow chart above describes an 8-bit time slot in which the amount of bytes is read and written in operation blocks 429 and 431. 16-bit and 32-bit time slots can also be readily provided by simply replacing half word or full word microprocessor instructions in the corresponding load and store instructions. To further generalize the width of time slots, the use of a load / store string command to send a series of time slots at blocks 429 and 431 allows group switching to cause adjacent time slots to be switched in groups. It can be included. Since the loop overhead from operations blocks 427 to 433 is reduced in proportion to the time slots of one byte width, the total number of bytes of information switched during the unit time is determined by the time slot width or group. Increases with increasing size. This is very efficient for switching 32 time slot PCM (E1) facilities to implement cross wiring. Some group sizes, such as in T1 facilities in a 24 byte wide group, can be switched most efficiently by padding this 24 time slot into a 32 byte group. The groups can be connected in series to form a higher bandwidth transfer rate such as DS3 at the output of the output buffer; This is particularly useful for implementing digital access cross wiring systems (DACS).

도 1의 블록도가 ATM 스위치를 구현하는데도 사용될 수 있다. 도 8은 ATM 셀의 헤더 구조를 도시한다. ATM 셀은 53개의 타임 슬롯을 64 바이트 그룹에 채움(padding)으로써 가장 효율적으로 스위칭될 수 있다. 이를 위해서는 입력 버퍼 및 출력 버퍼에 약간의 제어 로직이 필요하다. 8비트 단위(octet)(1)의 범용 흐름 제어 비트(5-8)는 ATM 시스템이 과부하되는 것을 방지하기 위한 전체 제어를 위해 사용된다. 가상 경로 식별자는 첫 번째 8비트단위의 첫 번째 4비트 및 두 번째 8비트단위의 마지막 4비트에 걸쳐 분할된다. 가상 경로 식별자는 사용자를 식별한다. 동일한 사용자의 모든 가상 채널은 동일한 가상 경로 식별자를 사용한다. 가상 경로 식별자는 스위치 내에서 ATM 셀을 스위칭하기 위해 사용되는 주된 식별자이며, 입력되는 ATM 셀을 식별하여 이들이 적절한 목적지로 스위칭될 수 있도록 한다. 가상 채널 식별자(8비트 단위 2의 첫번째 4비트와 8비트단위 3 전체, 그리고 8비트 단위 4의 마지막 4비트)는 단말 사용자간의 다수의 통신 중에서 특정한 통신을 식별하기 위해 사용자가 사용한다; 이 특정한 통신은 특정 채널 상에 존재한다. 8비트 단위 4의 첫 번째 4비트는 유료부하(payload) 형태 (2 비트), 미래의 사용을 위한 유보된 1 비트, 셀 손실 우선권 비트이다. 셀 손실 우선권 비트를 사용하여 특정한 셀이 과부하시에 제거될 수 있는지를 결정한다. 최종적으로 헤더 에러 제어 8비트 단위(5)는 헤더에 걸친 주기적 용장분 체크(CRC : cyclic redundancy check) 비트이다.The block diagram of FIG. 1 may also be used to implement an ATM switch. 8 shows a header structure of an ATM cell. ATM cells can be switched most efficiently by padding 53 time slots into a 64 byte group. This requires some control logic in the input and output buffers. The general purpose flow control bits 5-8 in octet 1 are used for overall control to prevent the ATM system from being overloaded. The virtual path identifier is split over the first 4 bits of the first 8 bits and the last 4 bits of the second 8 bits. The virtual path identifier identifies the user. All virtual channels of the same user use the same virtual path identifier. The virtual path identifier is the main identifier used to switch ATM cells within the switch and identifies the incoming ATM cells so that they can be switched to the appropriate destination. The virtual channel identifier (the first 4 bits in 8-bit unit 2 and all 8-bit units 3, and the last 4 bits in 8-bit unit 4) is used by the user to identify a particular communication among a plurality of communication between terminal users; This particular communication is on a particular channel. The first 4 bits of 8 bit unit 4 are payload type (2 bits), 1 bit reserved for future use, and cell loss priority bits. The cell loss priority bit is used to determine if a particular cell can be removed upon overload. Finally, the header error control 8-bit unit 5 is a cyclic redundancy check (CRC) bit across the header.

도 9는 ATM 스위치의 소프트웨어 제어 요소들의 기능적 개략도이다. 이들은 CRC 체크, 입력 링크 제어, VPI/VCI 처리, 형태정렬(shaping), 서비스 품질(QOS) 처리, 출력 링크 제어 및 CRC 발생으로 구성된다. CRC 체크(901 동작 블록)는 각각의 ATM 셀이 시스템에 진입하면 그 헤더 상에 실행된다. 입력 링크 제어(903 동작 블록)는 입력되는 데이터를 마이크로프로세서의 메모리로 가져온다. VPI/VCI 처리(905 동작 블록)는 입력 VPI/VCI 지시와 출력 VPI/VCI 지시, 그리고 서비스 품질(QOS) 포인터를 포함하는 VPI/VCI 데이터 블록을 찾는다. 테스트(907)는 형태 정렬 테스트가 필요한지를 결정하기 위해 사용된다. 형태정렬 테스트는 모든 셀에 대해 실행되는 것이 아니고, 통상 매 열 번째 셀마다 실행된다. 만약 한 셀에서 형태정렬 함수의 실행이 필요하면 이 형태정렬 함수가 실행된다(909 동작 블록). 형태정렬 함수는 피크 또는 평균 허용 데이터 율이 초과되었는지를 결정한다. 만약 그렇다면, 형태정렬 함수는 조정기(throttle)를 정보 전송에 도입하는데, 이는 제한된 싸이즈의 형태정렬 큐에 패킷들을 넣음에 의해 조절을 수행하여, 피크 레이트가 너무 오랫동안 초과되거나 평균 레이트가 초과되면 형태정렬 큐에 더 이상 공간이 없게 되면서 입력이 막히게 되고 패킷들이 누락되게 한다.9 is a functional schematic of the software control elements of an ATM switch. These consist of CRC checking, input link control, VPI / VCI processing, shaping, quality of service (QOS) processing, output link control and CRC generation. CRC check 901 operation block is executed on the header of each ATM cell as it enters the system. Input link control (903 operation blocks) brings incoming data into the memory of the microprocessor. VPI / VCI processing (905 operation block) finds a VPI / VCI data block containing an input VPI / VCI indication, an output VPI / VCI indication, and a quality of service (QOS) pointer. The test 907 is used to determine if a shape alignment test is needed. The shape alignment test is not executed for every cell, but usually every tenth cell. If the shape alignment function needs to be executed in one cell, the shape alignment function is executed (909 operation block). The shape alignment function determines whether the peak or average allowed data rate is exceeded. If so, the shape alignment function introduces a throttle into the information transfer, which performs the adjustment by putting the packets in a shape sized queue of limited size, so that if the peak rate is exceeded for too long or the average rate is exceeded As there is no more space in the queue, the input is blocked and packets are dropped.

다음으로, 서비스 품질 처리(911 동작 블록)가 실행된다. 각각의 출력 링크들은 그 출력 링크로 셀을 제공하기 위한 다수의 큐를 가지고 있다. 이 큐들은 상이한 우선권 정보를 포함하여 특정한 큐들이 여타의 큐들에 비해 우선적으로 서비스되도록 한다. 최종적으로 출력 링크 제어(913 동작 블록)는 셀들을 QOS 큐 중의 하나로부터 출력 링크로 전송하고 새로운 CRC를 발생시킨다. 셀을 QOS 링크 중의 하나로 삽입하기 전에, 출력 VPI/VCI 가 셀 헤더에 삽입된다. 어떤 구현에 있어서는, CRC 함수는 ATM 스위치의 스위칭 용량을 증가시키기 위해 하드웨어적으로 수행된다.Next, quality of service processing (operation block 911) is executed. Each output link has a number of queues for providing cells to that output link. These queues contain different priority information so that certain queues are serviced preferentially over other queues. Finally, output link control (operation block 913) sends cells from one of the QOS queues to the output link and generates a new CRC. Before inserting a cell into one of the QOS links, the output VPI / VCI is inserted into the cell header. In some implementations, the CRC function is performed in hardware to increase the switching capacity of the ATM switch.

도 10은 구현예에서 사용되는 데이터 구조 및 레지스터 할당을 포함하는 프로그래머의 데이터 모델(Programmers' Data Model)을 도시한다. 가상 경로(VP)에 의해 정의되는 ATM 셀 분배, 그리고 가상 채널(VC) 식별자는 칩 외부 SRAM이나, 레벨 2 캐시에서 해싱(hashing) 알고리즘을 사용하여 테이블 룩-업에 의해 구현된다. 셀들의 큐잉(queuing)은 캐시 메모리의 공유된 버퍼 영역과 각각의 출력 포트와 관련된 링크된 리스트(linked list)들을 이용하여 구현된다. 사용되지 않은 메모리 영역과 관련된 링크된 리스트도 있어서 링크된 리스트 중에 임의로 선택하여 구성요소/영역을 부가하기 위한 풀(pool)로 사용된다. 각각의 출력 링크는 다중 출력 큐를 포함하며 이들 각각은 특정한 서비스 품질(QOS)과 관련되어 있다. 각각의 출력 링크는 우선권의 테이블 룩-업을 사용하여 출력될 다음 QOS 큐에 식별자를 제공한다. 이에 의해 원하는 임의의 우선권 순서대로 QOS 큐들을 액세스할 수 있다.FIG. 10 illustrates a Programmers' Data Model including a data structure and register allocation used in an implementation. The ATM cell distribution defined by the virtual path VP, and the virtual channel VC identifier are implemented by table look-up using a hashing algorithm in off-chip SRAM or level 2 cache. Queuing of cells is implemented using linked lists associated with each output port and a shared buffer area of cache memory. There is also a linked list associated with the unused memory area, which is used as a pool for adding components / areas at random. Each output link includes multiple output queues, each of which is associated with a particular quality of service (QOS). Each output link provides an identifier for the next QOS queue to be output using the priority table look-up. This allows access to the QOS queues in any desired priority order.

이 바람직한 실시예에서 모든 것이 캐시 상에 존재하지만, 다른 구현예에 있어서는, 특히 고 처리능력을 가진 것에 있어서는, 많은 데이터와 좀 더 특수화된 프로그램들 중 몇몇은 외부 메모리에 존재할 수도 있다.In this preferred embodiment everything is on the cache, but in other implementations, especially for high processing power, many of the data and some of the more specialized programs may reside in external memory.

도 10의 다양한 블록들의 기능은 다음과 같다.The functions of the various blocks of FIG. 10 are as follows.

블록(1001)은 스위치로의 입력 버퍼를 나타낸다.Block 1001 represents an input buffer to the switch.

입력 버퍼 어드레스 레지스터(1003)는 시스템이 어느 버퍼를 처리하는지를 결정한다.The input buffer address register 1003 determines which buffer the system processes.

셀 헤더 어드레스 레지스터(1005) 및 셀 헤더 레지스터(1007)는 특정한 한 셀의 헤더를 처리하기 위해 사용된다.Cell header address register 1005 and cell header register 1007 are used to process the header of a particular cell.

블록(1009)은 헤더 CRC를 체크하고 발생하기 위해 사용된다(어떤 대체적인 구성에 있어서는 CRC는 회로에 의해 자동적으로 체크되고 발생될 수 있다).Block 1009 is used to check and generate the header CRC (in some alternative configurations the CRC may be automatically checked and generated by the circuit).

해싱 함수 레지스터(1011) 및 해싱 산출 레지스터(1013)는 입력 셀의 헤더에 명시된 VPI/VCI를 위치 지우기 위해 사용된다.Hashing function register 1011 and hashing calculation register 1013 are used to locate the VPI / VCI specified in the header of the input cell.

블록(1015)은 VPI/VCI 테이블로 통상 효율적으로 해싱된 액세스가 가능하도록 50 퍼센트만이 점유된다.Block 1015 is typically occupied only 50 percent to enable efficient hashed access to the VPI / VCI table.

테이블(1015)에 의해 지시된 블록들 중 몇몇은 VPI/VCI(1)을 위한 VPI/VCI 블록인 블록(1017), 비어 있는 블록인 블록(1019), 최종 VPI/VCI을 위한 블록인 블록(1023)이다.Some of the blocks indicated by table 1015 are block 1017, which is a VPI / VCI block for VPI / VCI (1), block 1019, which is an empty block, and block which is the block for the final VPI / VCI ( 1023).

블록(1017)은 입력 VPI/VCI의 식별자, 셀이 스위칭되어야 할 출력 VPI/VCI의 식별자, 서비스 품질(QOS)로의 포인터, 출력 링크로 전송될 셀들을 조립하기 위해 사용되는 큐를 포함한다.Block 1017 includes an identifier of the input VPI / VCI, an identifier of the output VPI / VCI that the cell should be switched to, a pointer to quality of service (QOS), and a queue used to assemble the cells to be sent to the output link.

도 10의 3번째 열은 공유된 메모리 스펙트럼을 사용하여, 링크(1)를 위한 한 세트(1031,...,1033)와 최종 링크인 링크(n)를 위한 또다른 세트(1035,...,1037)를 포함하는 다수의 QOS 큐들을 도시한다. 블록(1031)은 셀이 큐잉되고 있는 링크의 식별자와, 큐 상의 엔트리들을 위한 한 쌍의 포인터를 포함한다. 큐 상의 엔트리들은 다음 번으로 각각 링크되고, 헤드 셀 포인터를 사용하여 큐 상에서 출력 링크로 전송될 셀을 찾으며, 테일(tail) 셀 포인터는 큐 상에서 다음 번 셀이 진입할 수 있는 엔트리를 찾는다. 최종적으로 블록(1041, 1043)은 QOS 큐 들 중 하나에서 출력 버퍼로 전송되어질 특정한 셀을 선택하기 위해 사용된다. 각각의 출력 버퍼에는 링크 제어기(1043)와 같은 하나의 링크 제어기가 있다. 링크 제어기(1043)는 QOS 큐들로의 헤드 셀 포인터를 포함한다. 높은 우선 순위의 QOS 큐에서는 테이블(1043)에 다수의 엔트리가 만들어지는데, 여기서는 16개의 엔트리가 있고 이 16 엔트리는 통상 출력 버퍼 당 4 QOS 큐보다 더 많다. 출력 링크 레지스터는 어느 링크가 처리될 지를 선택하기 위해 사용되며 우선권 카운터 레지스터는 그 출력 버퍼를 위한 헤드 셀 포인터를 선택하기 위해 사용된다. 블록(1043)의 헤더 셀 포인터가 판독되면, QOS 큐들중의 하나의 헤드 셀 포인터를 지시할 것이고, 그 헤드 셀 포인터는 잇따라 그 큐에서 가장 오래된 셀, 즉 출력 버퍼에 놓여질 셀을 가리킬 것이다. 최종적으로 블록(1051)은 'n' 출력 버퍼로 출력 버퍼1 (1053),...,출력 버퍼 "n" (1055)를 도시한다. 출력 어드레스 레지스터(1057)는 어느 출력 버퍼가 처리될 지를 선택하기 위해 사용된다.The third column of FIG. 10 uses a shared memory spectrum, with one set 1031,..., 1033 for link 1 and another set 1035,... For link n being the final link. Multiple QOS queues, including. Block 1031 includes an identifier of the link on which the cell is being queued and a pair of pointers for entries on the queue. The entries on the queue are each linked next time, using the head cell pointer to find the cell to be sent to the output link on the queue, and the tail cell pointer to find the entry on which the next cell can enter. Finally blocks 1041 and 1043 are used to select a particular cell to be sent to the output buffer in one of the QOS queues. Each output buffer has one link controller, such as link controller 1043. Link controller 1043 includes a head cell pointer to QOS queues. In a high priority QOS queue, a number of entries are made in table 1043, where there are 16 entries, which are typically more than 4 QOS queues per output buffer. The output link register is used to select which link is to be processed and the priority counter register is used to select the head cell pointer for that output buffer. When the header cell pointer of block 1043 is read, it will point to the head cell pointer of one of the QOS queues, which head cell pointer will subsequently point to the oldest cell in the queue, that is, the cell to be placed in the output buffer. Finally block 1051 shows output buffer 1 1053, ..., output buffer " n " 1055 as the 'n' output buffer. The output address register 1057 is used to select which output buffer is to be processed.

도 11은 셀 입력 및 VPI/VCI 흐름을 도시하는 흐름도이다. 셀 입력 섹션은 32 바이트 버스트를 입력 버퍼 어드레스에 의해 선택된 입력 버퍼로부터 캐시 메모리로 기록하는 것을 도시한다. 헤더 및 VPI/VCI 처리가 도면의 나머지 부분에 도시된다. CRC 체크는 원하면 소프트웨어적으로 수행될 수 있으며 256 바이트 테이블로의 인덱싱을 위해 헤더를 사용하여 한 번에 한 바이트씩 구현된다. 에러가 검출되면 에러를 정정하거나 셀을 누락시키게 되는 결과를 초래하는 루틴으로 진입한다. CRC 체크 이후에는 빈 셀 코드 체크(empty cell code check)가 수행된다. 비어있는 셀은 무시되나 루틴은 정상적인 "단일 흐름(single thread)" 출력 루틴(도 13의 "E" 입력)으로 흘러간다. 다음으로 32비트 해싱 함수를 VPI/VCI와 결합하여 사용하여 SRAM이나 레벨 2 캐시를 인덱싱하기 위한 해싱 어드레스를 발생하고 그 VPI/VCI를 위한 32 바이트 데이터 버스트를 판독한다. 만약 그 주소에 올바른 VPI/VCI가 없으면, 올바른 VPI/VCI가 찾아지거나 이상 처리(exception handling) 루틴이 개시될 때까지 대체적인 해싱 어드레스가 반복적으로 시도된다. 해싱 알고리즘은 문헌들에 잘 기술되어 있다. 50%만 점유되는 VPI/VCI 테이블에서는, 구현된 알고리즘에 의해 요구되는 평균 탐색 횟수는 1.5로, 메모리 소모의 댓가로 합리적인 액세스 타임을 제공한다. 탐색이 성공적으로 완료되면 필요하다면 형태정렬(shaping)이 수행되고, "출력 VPI/VCI", 즉 셀의 목적지가 테이블로부터 추출되어 셀 헤더로 삽입된다.11 is a flow chart illustrating cell input and VPI / VCI flow. The cell input section illustrates writing a 32 byte burst from the input buffer selected by the input buffer address to cache memory. Header and VPI / VCI processing are shown in the rest of the figure. The CRC check can be performed in software if desired and is implemented one byte at a time using a header for indexing into a 256 byte table. If an error is detected, a routine is entered that results in correcting the error or missing the cell. After the CRC check, an empty cell code check is performed. Empty cells are ignored but the routine flows to the normal "single thread" output routine ("E" input in Figure 13). The 32-bit hashing function is then used in conjunction with VPI / VCI to generate a hashing address for indexing the SRAM or Level 2 cache and to read the 32-byte data burst for that VPI / VCI. If the address does not have the correct VPI / VCI, alternate hashing addresses are repeatedly attempted until the correct VPI / VCI is found or an exception handling routine is initiated. Hashing algorithms are well described in the literature. In the VPI / VCI table, which only occupies 50%, the average number of searches required by the implemented algorithm is 1.5, providing reasonable access time at the expense of memory consumption. If the search is successful, shaping is performed if necessary, and the "output VPI / VCI", i.e., the destination of the cell, is extracted from the table and inserted into the cell header.

도 12는 출력 큐 흐름도이다. 이는 셀을 이전 절에서 기술한 VPI/VCI 탐색과 관련된 데이터에 명시된 QOS와, 출력 링크에 기초하여 적절한 출력 큐로 삽입하는 단계로 구성된다. 각각의 출력 링크와 관련된 "m"개의 QOS 큐가 있으며 각각의 큐는 링크된 리스트에 의해 정의된다(도 10의 출력 링크 테이블당 "m" 개의 QOS 큐들 참조하라). 링크된 리스트(linked list)는 종래 기술에서 주지된 것이다. 또한 "미사용 영역 큐"(ULQ)라고 불리는 사용되지 않은 영역 링크 리스트에 의해 정의되는 모든 사용되지 않은 메모리 영역의 리스트가 있다. 도 12는 이 링크된 리스트 큐를 구현하기 위한 포인터 및 데이터 조작에 대해 상세히 기술한다.12 is an output queue flow diagram. This consists of inserting the cell into the appropriate output queue based on the output link and the QOS specified in the data related to the VPI / VCI discovery described in the previous section. There are "m" QOS queues associated with each output link and each queue is defined by a linked list (see "m" QOS queues per output link table in FIG. 10). Linked lists are well known in the art. There is also a list of all unused memory regions defined by an unused region link list called " unused region queue " (ULQ). 12 details the pointer and data manipulation for implementing this linked list queue.

도 13은 출력 링크로의 기록 흐름도이다. 출력 큐에 사용되는 우선권 순서는 정적인 출력 당 링크 우선권 테이블(도 10 참조)을 사용하여 링크 당 베이스로 큐 판독의 순서를 설정한다. 도 10에 도시된 출력 당(per) 링크 우선권 테이블은 (예로) 16개의 엔트리를 가지며 각각은 그 링크를 위해 설정된 "m" (예를 들면 m=4) 개의 큐 중에 임의개를 특정할 수 있다. 링크상의 선택된 큐가 비어 있으면, 데이터를 가진 큐가 발견될 때까지 혹은 그 링크와 관련된 모든 큐가 비어있다는 것이 결정될 때까지 다른 큐의 각각이 조사된다. 만약 큐 중의 하나에 셀이 발견되면, CRC가 발생되고 헤더에 삽입되며 그 셀은 출력 버퍼로 전송된다. 만약 큐중의 어느것에도 셀이 없으면 아이들 코드(Idle Code)를 위한 CRC가 발생되고 아이들 코드 셀이 출력 버퍼로 전송된다. 이후에 링크된 리스트의 하우스키핑(housekeeping)과 관련된 약간의 포인터 조작이 이루어진다. 우선권 및 버퍼 어드레스 조작과 관련한 추가적인 하우스키핑이 있다. 또한 모든 링크 기록, 형태정렬(shaping), 그리고 모든 셀 판독에 관한 몇 개의 결정 점에 의해 도 11의 진입 점들로 적절히 루프 백하거나 형태정렬 루틴으로 옮기게 된다.13 is a flow chart of writing to an output link. The priority order used for the output queue uses the static per-link link priority table (see FIG. 10) to set the order of queue reads on a per link basis. The per link priority table shown in FIG. 10 has (e.g.) 16 entries, each of which may specify any of the "m" (e.g. m = 4) queues set for the link. . If the selected queue on the link is empty, each of the other queues is examined until a queue with data is found or until all queues associated with that link are determined to be empty. If a cell is found in one of the queues, a CRC is generated and inserted into the header and the cell is sent to the output buffer. If there is no cell in the queue, a CRC is generated for the idle code and the idle code cell is sent to the output buffer. Then some pointer manipulations related to housekeeping the linked list are done. There is additional housekeeping related to priority and buffer address manipulation. In addition, some decision points regarding all link writes, shaping, and all cell reads will properly loop back to the entry points in FIG. 11 or move to the shape alignment routine.

형태 정렬(909 동작 블록)은 다중의 주기적인 셀 간격동안에 발생하여 VPI/VCI 당 결정된 피크 및 평균 대역폭이 초과되지 않았는지를 확인한다. 셀들이 누락되거나 지연되거나 또는 그냥 통과될 수 있다. 형태정렬은 링크된 리스트 보조 큐들을 사용하여 VPI/VCI 당 베이스로 수행된다. 형태정렬의 상세한 사항은 종래기술에 주지되어 있다. 추가적인 정보는 도 9의 VPI/VCI 테이블에 포함되어 있다. 논의되고 있는 형태정렬 간격{예를 들어 매 10 셀마다 피크 레이트, 매 100 셀마다 지속 레이트(sustained rate)}에서, 다음 정보가 VPI/VCI 테이블에 제공된다: 약정된 피크 셀 레이트(PCR), PCR을 위한 시간 표식(time stamp), 약정된 유지 셀 레이트(SCR), SCR을 위한 시간 표식 그리고 형태정렬 큐의 최대 싸이즈.The shape alignment (operation block 909) occurs during multiple periodic cell intervals to ensure that the peak and average bandwidth determined per VPI / VCI have not been exceeded. The cells may be missing, delayed or just passed. Shape sorting is performed on a per VPI / VCI basis using linked list auxiliary queues. Details of conformation are well known in the art. Additional information is included in the VPI / VCI table of FIG. 9. At the morphological intervals under discussion (eg peak rate every 10 cells, sustained rate every 100 cells), the following information is provided in the VPI / VCI table: Contracted Peak Cell Rate (PCR), Time stamp for PCR, contracted sustained cell rate (SCR), time stamp for SCR, and maximum size of shape alignment queue.

도 11-13의 개별적인 블록들이 이제 기술된다. 도 11은 블록(1101)에서 시작하는데, 여기서 시스템은 프레임 동기화 펄스를 기다린다. 프레임 동기화 펄스가 도달하면, 이에 의해 직렬 입력 스트림의 입력 버퍼(101,...,102)로의 동기화된 로딩의 개시를 알린다. 동작 블록(1103)은 입력 버퍼가 로딩되었다는 것을 알리는 신호의 대기를 나타낸다. 입력 버퍼가 로딩되면, 그 버퍼를 마이크로프로세서 메모리로 언로딩시키기 위한 메모리 기록 어드레스가 초기화된다. 이후에 셀은 입력 버퍼로부터 판독되고(1107 동작 블록), 입력 버퍼 어드레스가 증분된다(1109 동작 블록). 이 시점에서 셀은 마이크로프로세서의 메모리로 로딩되어 마이크로프로세서는 셀을 처리할 준비가 되게 된다. 셀의 헤더가 레지스터로 로딩되고(1121 동작 블록), CRC 체크가 수행된다(1123 동작 블록). CRC 체크는 헤더의 내용에 대해서만 수행된다. CRC 체크는 특별한 회로에 의해 실행될 수도 있고 또는 256 바이트 테이블을 사용하여 상대적으로 신속하게 수행될 수도 있다; 각각의 바이트는 256 개의 가능한 CRC 바이트 중의 하나에 대응된다. 다음으로, 셀이 비어있는지 확인하는 체크가 이루어진다(테스트 1125). 비어있는 셀은 산업 표준으로 미리 결정된 VPI/VCI 식별자를 가지고 있다. 테스트(1127)는 셀이 실제로는 비어 있는지를 결정해서 만약 그렇다면 이후의 처리는 중단되고 도 13의 출력 처리 루틴이 개시된다. 셀이 비어 있지 않으면, 이 셀의 VPI/VCI 테이블 엔트리를 찾아야 한다. 처리 블록 및 테스트들(1129, 1131, 1133, 1135, 1137, 1139, 1141, 1143, 1145)이 이 처리를 기술한다. 도 10의 VPI/VCI 테이블(테이블 1015)을 찾는다(1129 동작 블록). 이후에 알려진 상수인 해싱 함수가 마이크로프로세서의 레지스터로 로딩된다(1131 처리블록). 이 레지스터는 VPI/VCI를 포함하고 있는 레지스터의 내용과 곱해진다(1133 동작 블록). 본 실시예의 한 예에 있어서, 도 10의 블록(1017)에서와 같은 대략 2,000개까지의 VPI/VCI 엔트리가 존재한다. 표에 있어서 처리 블록(1133)에서 12 비트의 곱한 결과가 발생되며, 이 경우 우측(least significant) 12 비트를 사용하여 VPI/VCI 테이블의 엔트리를 판독한다. 테이블은 4,096 엔트리 길이이며 12 비트 액세싱 큐에 대응된다. 동작 블록(1137)에서 VPI/VCI의 참값을 액세스된 VPI/VCI 테이블에서 찾은 VPI/VCI 값과 비교하여(1137 동작 블록), 만약 테스트(1139)를 사용하여 두 값이 동일한지 결정한다. 동일하다면 적절한 VPI/VCI 테이블 엔트리를 찾았다는 것을 의미한다. 그렇지 않다면 테스트(1141)를 사용하여 이미 "n번째 시도"에 도달했는지를 결정하여 만약 그렇다면 이상 처리 루틴(1143)이 개시된다. 이 루틴은 n 번의 시도가 VPI/VCI를 위치 지우는데 실패할 경우 지원하기 위해 사용되는 VPI/VCI 테이블 엔트리의 리스트를 탐색한다(보조 테이블에는 도시하지 않음). 이 테이블의 엔트리는 테이블로의 로드 시도가 "n" 번 실패하게 되는 경우에서 생성된다. 만약 이번이 "n" 번째 시도가 아니면 동작 블록(1133)에서 발생된 32비트 곱의 다른 12비트가 사용되어(1145 동작 블록), VPI/VCI의 테이블의 다른 엔트리를 액세스하게 된다(1135 동작 블록).The individual blocks of FIGS. 11-13 are now described. 11 begins at block 1101, where the system waits for a frame synchronization pulse. When the frame synchronization pulse arrives, this signals the start of synchronized loading of the serial input stream into the input buffers 101,... 102. Operation block 1103 represents a wait for a signal indicating that an input buffer has been loaded. When the input buffer is loaded, the memory write address for unloading the buffer into the microprocessor memory is initialized. The cell is then read from the input buffer (operation block 1107) and the input buffer address is incremented (operation block 1109). At this point, the cell is loaded into the microprocessor's memory so that the microprocessor is ready to process the cell. The header of the cell is loaded into a register (1121 operation block), and a CRC check is performed (1123 operation block). CRC checks are performed only on the contents of the header. CRC checks may be performed by special circuitry or may be performed relatively quickly using a 256 byte table; Each byte corresponds to one of 256 possible CRC bytes. Next, a check is made to see if the cell is empty (test 1125). Empty cells have VPI / VCI identifiers predetermined as industry standards. Test 1127 determines if the cell is actually empty so if so, subsequent processing is aborted and the output processing routine of FIG. 13 is started. If the cell is not empty, you need to find the VPI / VCI table entry for this cell. Processing block and tests 1129, 1131, 1133, 1135, 1137, 1139, 1141, 1143, 1145 describe this processing. Find the VPI / VCI table (Table 1015) of FIG. 10 (block 1129). Thereafter, a known constant hashing function is loaded into the register of the microprocessor (1131 processing block). This register is multiplied by the contents of the register containing the VPI / VCI (1133 operation block). In one example of this embodiment, there are up to approximately 2,000 VPI / VCI entries as in block 1017 of FIG. 10. In the table, the result of multiplying 12 bits in processing block 1133 is generated, in which case the entry of the VPI / VCI table is read using the last significant 12 bits. The table is 4,096 entries long and corresponds to a 12-bit access queue. In operation block 1137 the true value of the VPI / VCI is compared with the VPI / VCI value found in the accessed VPI / VCI table (operation 1137), and a test 1139 is used to determine if the two values are equal. If it is the same, it means that an appropriate VPI / VCI table entry was found. If not, test 1141 is used to determine if the "nth attempt" has already been reached, and if so, anomalous processing routine 1143 is initiated. This routine searches the list of VPI / VCI table entries used to support when n attempts fail to locate the VPI / VCI (not shown in the secondary table). Entries in this table are created when the attempt to load into the table fails "n" times. If this is not the "n" attempt, another 12 bits of the 32-bit product generated in operation block 1133 are used (operation 1145) to access another entry in the table of VPI / VCI (operation 1135). ).

해싱 구조를 사용하는 이유는 가능한 VPI/VCI 조합의 전체 수는 백만개를 넘기 때문에(VPI 지시자는 8비트 길이이고, VCI 지시자는 12 비트 길이이다), 한 번에 2,000개만이 사용됨에도 불구하고 220(백만이 넘음) 개의 가능한 VPI/VCI 값이 존재하기 때문이다.The reason for using the hashing scheme is that the total number of possible VPI / VCI combinations is over one million (the VPI indicator is 8 bits long and the VCI indicator is 12 bits long), so even though only 2,000 are used at a time, 20 This is because there are (more than one million) possible VPI / VCI values.

일단 적절한 VPI/VCI 테이블 엔트리를 찾으면(1139 테스트의 출력으로), 테스트(1151)를 사용하여 현재 경우에 형태정렬이 필요한지를 결정한다. 본 실시예에 있어서, 형태 정렬은 매 "n번째" 셀 마다에 대해서만 실행되는데, "n" 값은 예를 들면 10의 값이 될 수 있다. 형태정렬은 특정한 VPI의 입력 레이트를 감시하여 VPI가 피크 레이트에서 허용되는 것보다 더 많은 셀을 전송하지 않도록 보장하기 위해 사용된다. 피크 레이트는 특정한 간격 동안에 전송될 수 있는 셀의 수로 정의된다. 만약 이보다 많은 수의 셀이 전송되면, 여분의 셀은 단순히 제외되어져 버리거나 또는 임시로 통과시키면서 셀의 소스로 감속요청(slow-down) 메시지가 전송된다. 형태 정렬 함수가 실행된 후(1153 동작 블록), 또는 형태정렬이 현재 셀에서 요구되지 않는다면, 출력 VPI/VCI 식별자가 VPI/VCI 테이블로부터 셀로 로딩되고, 입력 VPI/VCI를 대체한다. 이후에 도 12의 출력 큐 루틴이 개시된다.Once the appropriate VPI / VCI table entry is found (as the output of the 1939 test), the test 1151 is used to determine if shape alignment is needed in the current case. In this embodiment, the form alignment is performed only for every "nth" cell, where the "n" value may be, for example, a value of 10. Shape alignment is used to monitor the input rate of a particular VPI to ensure that the VPI does not transmit more cells than allowed at the peak rate. Peak rate is defined as the number of cells that can be transmitted during a particular interval. If a larger number of cells are sent, a slow-down message is sent to the cell's source while the extra cells are either simply excluded or temporarily passed through. After the shape sort function is executed (operation block 1153), or if shape sorting is not required in the current cell, an output VPI / VCI identifier is loaded from the VPI / VCI table into the cell and replaces the input VPI / VCI. Thereafter, the output queue routine of FIG. 12 is started.

시스템은 VPI/VCI 블록에 저장된 QOS 포인터를 판독한다. 이 포인터는 그 VPI/VCI를 서비스하기 위해 QOS 큐 내의 테일(tail) 셀 포인터를 가리킨다. QOS 큐(예를 들면 도 10의 1037 블록)를 사용하여 출력 링크로의 전송을 위해 셀들을 큐잉하게 된다. 전술한 바와 같이, 다수의 QOS 큐들이 특별한 출력 링크로 제공되고, 특정한 VPI/VCI에 제공되는 서비스의 품질에 따라 셀들은 상이한 큐에 저장되며, 바람직하게는 상이한 QOS 큐들이 제공되어 그 내용을 출력 링크로 나르게 된다. 각각의 QOS 큐내의 내용들은 링크된 형태로 저장되며, 테일 셀 포인터는 최종 엔트리를 가리킨다. VPI/VCI 블록의 QOS 포인터가 가리키는 것이 바로 이 포인터이다. QOS 큐의 "m" 포인터가 판독되고(1203 동작 블록), 그 아이들(idle) 큐 영역으로부터 다음 아이들 큐 영역으로의 "n" 링크가 마이크로프로세서의 레지스터에 임시로 저장된다(1205 동작 블록). 이후에 셀은 원래 "n" 셀 포인터에 의해 명시된 위치로 큐에 저장되며(1207 동작 블록), 다음 빈 셀의 주소가 처리된다.The system reads the QOS pointer stored in the VPI / VCI block. This pointer points to a tail cell pointer in the QOS queue to service that VPI / VCI. QOS queues (eg, block 1037 in FIG. 10) are used to queue cells for transmission to the output link. As mentioned above, a number of QOS queues are provided on a special output link, and cells are stored in different queues, depending on the quality of service provided to a particular VPI / VCI, preferably different QOS queues are provided to output the contents. Carried by a link. The contents in each QOS queue are stored in linked form, with the tail cell pointer pointing to the last entry. It is this pointer that the QOS pointer of the VPI / VCI block points to. The "m" pointer of the QOS queue is read (operation block 1203), and the "n" link from its idle queue area to the next idle queue area is temporarily stored in a register of the microprocessor (operation block 1205). The cell is then queued to the location specified by the original "n" cell pointer (operation 1207), and the address of the next free cell is processed.

이용가능한 메모리 공간을 동적으로 효율적으로 공유하기 위하여, 각각의 출력 큐에 링크된 리스트가 사용된다. 추가적으로, "미사용 영역" 링크된 리스트가 있는데, 이는 큐에 정보를 저장하기 위해 사용 가능한 비어 있는(미사용된) 영역을 포함하는 전역적인 자원(global resource)이 된다. 큐가 정보를 추가해야 할 때 이 "미사용 영역" 링크된 리스트로부터 사용가능한 영역을 획득한다. 결과적으로, "미사용 영역" 링크된 리스트와 사용가능한 영역을 요청하는 큐의 링크된 리스트 모두는 충돌한다. 미사용 영역 큐(ULQ : unused location queue)를 포함하여 모든 큐와 관련되는 별도의 헤드 셀 포인터와 테일 셀 포인터가 있다.To dynamically and efficiently share the available memory space, a list linked to each output queue is used. In addition, there is a "unused area" linked list, which is a global resource that contains an empty (unused) area available for storing information in the queue. When a queue needs to add information, it gets the available area from this "unused area" linked list. As a result, both the "unused region" linked list and the linked list of queues requesting an available region collide. There is a separate head cell pointer and tail cell pointer associated with all queues, including the unused location queue (ULQ).

ULQ의 헤드 셀은 큐잉된 셀을 저장하기 위해 다음으로 사용가능한 영역이며, ULQ의 테일 셀은 ULQ 풀(pool)로 되돌아 온 마지막 셀이다. 큐의 헤드 셀은 그 큐에 저장된 마지막 셀이며, 큐의 테일 셀은 그 큐로부터 출력될 다음 번 셀이다. ULQ의 헤드 셀은 저장 영역을 요청하고 있는 큐의 테일 셀로 되며, 링크된 리스트 둘 다는 이러한 메모리 영역 이동 함수를 지원하기 위해 수정된다. 특별히, 동작 블록(1204)은 큐를 확장하여 동작 블록(1207)에서 저장된 셀을 포함하고 동작 블록(1211)은 포인터를 업데이트하여 이 링크된 리스트의 확장을 반영한다. 동작 블록(1213)은 ULQ의 헤드 셀 포인터를 변경하여 사용 가능한 셀 영역의 제거를 반영한다.The head cell of the ULQ is the next available area for storing the queued cells, and the tail cell of the ULQ is the last cell that has returned to the ULQ pool. The head cell of the queue is the last cell stored in the queue, and the tail cell of the queue is the next cell to be output from the queue. The head cell of the ULQ becomes the tail cell of the queue requesting the storage area, and both linked lists are modified to support this memory area movement function. Specifically, operation block 1204 expands the queue to include the cell stored at operation block 1207, and operation block 1211 updates the pointer to reflect the expansion of this linked list. Operation block 1213 changes the head cell pointer of the ULQ to reflect the removal of the available cell area.

동작 블록(1213)의 실행에 잇따라, 도 13의 출력 처리가 실행된다. 도 10의 블록(1043)은 특정 출력 링크의 "m" 개의 QOS 큐로의 일련의 16 포인터인데, 이 예에서 "m" 값은 16 보다 훨씬 적은 값으로 통상 4로 되어, 16개의 엔트리로도 상이한 QOS 큐를 더 많이 또는 덜 종종 지원하도록 사용할 수 있도록 한다. 출력 큐와 관련된 것으로 우선권 카운터(1045)는 우선권 테이블로부터 적절한 엔트리를 선택하기 위해 사용된다. 동작 블록(1301)에서 우선권 카운터를 사용하여 서비스되고 있는 출력 링크의 우선권 테이블로 인덱싱한다(상이한 출력 링크가 회전순번에 따라 서비스된다). 이후에 우선권 카운터가 증분되어 다음 번 링크를 서비스하기 위해 준비된다(1303 동작 블록). 이후에 우선권 테이블에 의해 지적되는 큐를 체크하여 비어있는지를 확인한다(1305 동작 블록). 테스트(1307)는 큐가 비어 있는지를 결정하기 위해 사용하며, 만약 비어 있으면, 이번이 최종번(4번째) 큐인지를 결정한다(1309 동작 블록). 만약 아니면, 큐 카운터가 하나 줄어들고(1311 동작 블록), 대응되는 큐를 체크하여 비어있는지를 확인한다(1305 동작 블록). 초기부터, 또는 (1309), (1311), (1305)의 루프의 진행 후에 테스트(1307)의 결과가 큐가 비어 있지 않다고 알리면, 그 셀 헤더에 CRC 가 발생되고(1313 동작 블록), 셀 헤더가 출력 버퍼에 저장된다(1315 동작 블록). 출력 버퍼 어드레스가 증분되어 후속하는 처리를 준비하고(1317 동작 블록), 현재 셀이 출력 버퍼로 전송되어진 큐는 버퍼로 전송되어진 셀을 큐상의 빈 영역의 리스트로 저장하여 부가하여 업데이트하고, 헤드 셀을 그 큐에 업데이트한다.Following the execution of the operation block 1213, the output processing of FIG. 13 is executed. Block 1043 of FIG. 10 is a series of 16 pointers to "m" QOS queues of a particular output link, where the value of "m" is typically 4, much less than 16, and differs even with 16 entries. It can be used to support more or less frequent QOS queues. Related to the output queue, priority counter 1045 is used to select the appropriate entry from the priority table. In operation block 1301, a priority counter is used to index into the priority table of the output link being serviced (different output links are serviced according to rotation order). The priority counter is then incremented and ready to service the next link (operation block 1303). The queue pointed to by the priority table is then checked to see if it is empty (operation block 1305). Test 1307 is used to determine if the queue is empty, and if empty, determines if this is the last (fourth) queue (operation 1309). If not, the queue counter is decremented by one (1311 operation block) and the corresponding queue is checked to see if it is empty (1305 operation block). From the beginning, or after the progress of the loops 1309, 1311, and 1305, if the result of the test 1307 indicates that the queue is not empty, a CRC is generated in the cell header (1313 operation block), and the cell header Is stored in the output buffer (1315 operation block). The output buffer address is incremented to prepare for subsequent processing (1317 operation block), and the queue in which the current cell is transferred to the output buffer stores the cell transferred to the buffer as a list of empty areas on the queue, and then updates and updates the head cell. To the queue.

동작 블록(1321, 1325)은 큐로부터 출력 링크로의 판독을 위한 링크된 리스트 포인터 조작을 나타내며, 전술한 동작 블록(1204, 1211, 1213)의 기록 단계들과 유사하다. 그러나 이 경우는 ULQ 풀(pool)에 셀 위치가 부가되고, 셀을 출력한 큐로부터 셀 위치가 제거된다.Operation blocks 1321 and 1325 represent linked list pointer operations for reading from a queue to an output link, and are similar to the writing steps of operation blocks 1204, 1211 and 1213 described above. In this case, however, the cell position is added to the ULQ pool, and the cell position is removed from the queue that outputs the cell.

테스트(1335)는 모든 링크로의 출력이 전송되어졌는지를 결정하기 위해 사용된다. 만약 아니면, 출력 링크 우선권 테이블이 증분되어(1337 동작 블록), 다음 번 처리때 다음 번 링크가 서비스되도록 한다. 동작 블록(1339, 1341)은 형태정렬 큐를 언로드하기 위해 사용된다. 모든 링크로의 출력이 발생된 경우에는(1335 테스트의 결과가 양), 출력 링크 우선권 카운터가 증분되고(1351), 입력 버퍼 어드레스가 초기화되어(1353 동작 블록), 첫 번째 입력 버퍼가 서비스되도록 하고, 출력 버퍼 어드레스가 초기화되어(1355 동작 블록), 다음 전 루프 처리 때 초기 출력 버퍼가 서비스되도록 하며, 출력 링크 어드레스 레지스터가 초기화된다(1357 동작 블록). 테스트(1359)는 모든 셀이 입력 버퍼로부터 판독되었는지를 결정하며, 만약 아니면 도 11의 동작 블록(1103)이 재개된다. 만약 모든 셀이 판독되었으면 도 11의 동작 블록(1101)이 개시된다.The test 1335 is used to determine if the output on all links has been sent. If not, the output link priority table is incremented (1337 operation block), causing the next link to be serviced in the next processing. Operation blocks 1339 and 1341 are used to unload the shape sort queue. If output to all links occurs (the result of the 1335 test is positive), the output link priority counter is incremented (1351), the input buffer address is initialized (1353 operation block), and the first input buffer is serviced. The output buffer address is initialized (operation block 1355) so that the initial output buffer is serviced during the next pre-loop processing, and the output link address register is initialized (operation block 1357). Test 1359 determines whether all cells have been read from the input buffer, and if not, operation block 1103 of FIG. 11 resumes. If all cells have been read, operation block 1101 of FIG. 11 is initiated.

도 11 내지 13은 형태정렬(이는 VPI/VCI 당 약정된 피크 및 평균 대역폭이 초과되지 않았는지를 확인하기 위하여 다중 셀 간격 동안만 발생한다)을 제외한 ATM 스위치를 구현하기 위한 흐름도를 도시한다. 흐름도는 의도적으로 "단일 흐름(single thread)" 구현, 즉 설계 논리를 표현하기 위해 다음 번 셀이 입력되기 전에 한 번에 한 셀이 입력으로부터 출력으로 처리되는 방식을 보여준다. 프로세서 활용면의 효율성은 "다중 흐름(multiple thread)" ATM 셀 처리를 실행함에 의해 I/O 판독/기록 및 칩 외부 메모리와 레벨 2 캐시의 판독/기록과 같은 기능들을 중첩 함수(overlapping functions)에 의해 가능하다.11-13 show flow diagrams for implementing an ATM switch except for shape alignment, which occurs only during multiple cell intervals to ensure that the peak and average bandwidths per VPI / VCI have not been exceeded. The flow diagram deliberately shows how a single cell is processed from input to output at a time before the next cell is entered to represent the design logic, ie design logic. The efficiency of the processor utilization is such that by implementing "multiple thread" ATM cell processing, functions such as I / O read / write and read / write of off-chip memory and level 2 cache can be added to overlapping functions. Is possible by

이러한 ATM 스위칭의 구현은 스위치로 진입하는 ATM 셀은 53개의 연속적인 타임 슬롯의 포맷임을 가정하였는데, 이것이 응용 분야를 중요하게 특정한다. ATM 셀이 더 낮은 대역폭 파이프(pipes), 예를 들면 128 kbps, 384 kbps등을 사용하는 T1/E1 분할형(fractional T1/E1)으로 진입하는 다른 응용예가 있다. 이러한 경우에는 ATM 셀은 53 바이트 셀 전체가 이용 가능할 때까지 다수의 프레임을 조사하여 집합시키는(aggregation) 것이 필요하다. 이를 구현하는 여러 가지 방법이 있다. 한 가지 방법은 이러한 함수를 주변 장치의 일부로 고려하여, 별도의 RISC 마이크로프로세서를 제공하여 이러한 기능을 제공하는 것이다. 두 번째 방법은 전술한 ATM 스위칭 구조에 집합(aggregation) 함수를 구비시키는 것이다. 응용 분야마다 상이한 트레이드오프가 있을 수 있는데, 예를 들면 고려되는 스위칭 작업의 싸이즈와 이용가능한 실시간의 양은 물론, 완전한 셀 ATM에 대한 분할형 ATM의 비 등이 될 수 있다.This implementation of ATM switching assumes that the ATM cell entering the switch is in the format of 53 consecutive time slots, which is important for application. There is another application where an ATM cell enters a T1 / E1 fractional T1 / E1 using lower bandwidth pipes, for example 128 kbps, 384 kbps and the like. In this case, the ATM cell needs to examine and aggregate a number of frames until all 53 byte cells are available. There are several ways to implement this. One way is to consider this function as part of a peripheral and provide this functionality by providing a separate RISC microprocessor. The second method is to include an aggregation function in the ATM switching structure described above. There may be different tradeoffs for different applications, for example the size of switching operations under consideration and the amount of real time available, as well as the ratio of split ATM to complete cell ATM.

도 1의 블록도는 도 9-13에 기능이 기술된 ATM 스위치로는 물론, 인터넷 프로토콜(IP) 스위치를 구현하기 위해 사용될 수 있다. ATM의 경우와는 달리, IP 패킷은 가변장이며, 스위칭을 위해서는 최장 접두어(prefix) 매치가 요구되는 목적지 주소 필드를 포함한다. 가변장이라는 것은 좀 더 유연한 버퍼 할당 기법을 의미하며, IP 스위치가 스위칭하는 상이한 네트워크의 최대 전송 유닛 싸이즈에 따라 가능하게는 패킷 분할(fragmentation) 및 재조립(reaasembly)이 필요할 수 있다. 처리 단계들의 순서는 ATM의 경우와 유사할 수 있으며, 헤더 체크-섬(checksum) 확인, 입력 링크 제어, 목적지 처리, 서비스 품질 처리, 출력 링크 제어, 그리고 헤더 체크-섬 확인으로 구성된다. 어떤 구현예에 있어서는 헤더 체크-섬 처리는 IP 스위치의 처리 용량을 개선하기 위해 하드웨어적으로 수행될 수도 있다.The block diagram of FIG. 1 may be used to implement an Internet Protocol (IP) switch as well as an ATM switch described in FIGS. 9-13. Unlike the case of ATM, the IP packet is variable length and contains a destination address field for which a longest prefix match is required for switching. Variable length means a more flexible buffer allocation technique, and possibly packet fragmentation and reassembly may be necessary depending on the maximum transport unit size of the different networks to which the IP switch switches. The order of the processing steps may be similar to that of ATM and consists of header checksum check, input link control, destination processing, quality of service processing, output link control, and header check-sum verification. In some implementations, header check-sum processing may be performed in hardware to improve the processing capacity of the IP switch.

IP 헤더 체크섬 확인이 끝나면, IP 패킷 분배 단계가 그 IP 헤더의 목적지 어드레스 필드를 조사하여 문헌에 잘 기술되어진 바와 같은 최장 접두어 매치 탐색을 수행할 수 있는 룩-업 알고리즘에 기초한 해싱을 수행한다. 탐색은 적절한 출력 링크에 관한 정보를 반환한다. 패킷 헤더를 추가적으로 분석하면 서비스 품질의 다양한 레벨을 구현할 수 있는 처리 정보를 얻을 수 있으며, 출력 링크 및 할당된 처리의 품질과 관련된 특정의 출력 큐를 위치시킬 수 있다. 패킷의 길이가 출력 링크의 최대 전송 유닛 싸이즈보다 더 크면, 패킷을 분할하여 일련의 패킷으로 적절한 출력 큐에 링크시킨다. 출력 링크 처리는 그 순간의 최고 우선권 큐로부터 패킷을 선택하고, 패킷을 실제의 물리적인 출력 링크로 보내기 전에 활성 필드로의 시간이나 수정된 IP 헤더의 헤더 체크섬과 같은 선택된 IP 헤더에 대한 최종 조정을 행한다. 활성 필드로의 시간(time to live field)은 이 시간 내에 패킷이 운반되지 않으면 그 인터넷 패킷을 제거하기 위해 사용되거나, 필드에 명시된 경유하는 스위칭 포인트의 수이다.After the IP header checksum verification is complete, the IP packet distribution step examines the destination address field of the IP header to perform hashing based on a look-up algorithm that can perform the longest prefix match search as well described in the literature. The search returns information about the appropriate output link. Further analysis of the packet headers yields processing information that can implement various levels of quality of service and can locate specific output queues associated with the output links and the quality of the assigned processing. If the length of the packet is larger than the maximum transmission unit size of the output link, split the packet and link it into a series of packets to the appropriate output queue. Output link processing selects the packet from the highest priority queue at that moment, and makes final adjustments to the selected IP header, such as the time to the active field or the header checksum of the modified IP header before sending the packet to the actual physical output link. Do it. The time to live field is the number of switching points that are used to drop the Internet packet if it is not carried within this time, or via the one specified in the field.

덜 유연한 구현예에 있어서는 상태 머신(state machine)에 기초하여 종종 작업장에서 프로그램 가능한 게이트 어레이(FPGA : field programmable gate array) 와 같은 하드웨어로 실행될 것이지만, IP (인터넷 프로토콜) 스위칭은 그 기능을 소프트웨어로 에뮬레이션(emulation)함에 의해 범용 스위칭 구조 내에서 수행될 수 있다. 모든 구현예에 있어서 잘 형성된 패킷이 결국 스위칭 및 라우팅 소프트웨어로 주어진다. 출력 큐를 결정하기 위해 해싱을 통해 처리 형태를 분류하기 위해 이러한 패킷들의 헤더를 조사한다. 처리 흐름의 분류는 해싱 처리에 키를 형성하는데 있어서 IP 목적지에 부가하여 스위칭될 패킷으로부터의 포트 데이터와 다양한 프로토콜을 사용할 수 있다. 해싱 탐색은 QOS(서비스 품질) 처리를 가능하게 하는 출력 링크 및 큐 정보를 최종적으로 산출한다. TTL{time to live(생명시간)}과 같은 다양한 IP 필드가 패킷이 출력 큐잉에 링크되면서 업데이트된다. 처리흐름에 의존하는 해싱된 탐색 테이블에 구체화된 라우팅 정보는 게이트웨이 프로토콜 처리동안에 걸쳐 유지된다. 출력 처리는 링크 당 베이스로 항상 다음의 최적 출력 큐를 결정하여 실제의 패킷 전송을 위해 패킷을 언링크(unlink)시킨다. 패킷 형성의 경우에서 전술한 바와 같이 패킷 출력의 경우도 다수의 상이한 구현예로 구체화될 수 있다. IP 스위칭은 ATM 부분에서 좀 더 상세히 기술한 많은 메카니즘을 사용한다. 성능의 트레이드-오프에 따라 이러한 개념의 상이한 구현예가 직렬 스트림으로부터의 패킷 형성의 기능을 이동시킬 수 있다; 단일 프로세서 대신에, 다양하고 분리된 순차적으로 협력하는 프로세서들을 사용하여 패킷 스트림 데이터를 포함하는 것으로 표시된 TSI 타임 슬롯 내부로부터 패킷을 형성할 수 있다.In less flexible implementations, it will often be implemented in hardware, such as a field programmable gate array (FPGA) in the workplace, based on a state machine, while IP (Internet Protocol) switching emulates its functionality in software. emulation can be performed in a general-purpose switching structure. In all implementations well formed packets are eventually given to the switching and routing software. The headers of these packets are examined to classify the processing type via hashing to determine the output queue. The classification of the processing flow may use various protocols and port data from the packet to be switched in addition to the IP destination in keying the hashing process. The hashing search finally yields output link and queue information that enables QOS (quality of service) processing. Various IP fields, such as TTL {time to live}, are updated as packets are linked to output queuing. Routing information specified in the hashed lookup table that depends on the processing flow is maintained throughout the gateway protocol processing. Output processing always determines the next optimal output queue on a per link basis to unlink packets for actual packet transmission. As mentioned above in the case of packet formation, the case of packet output may also be embodied in a number of different implementations. IP switching uses many of the mechanisms described in more detail in the ATM section. Depending on the trade-off of performance, different implementations of this concept may shift the functionality of packet formation from serial streams; Instead of a single processor, various separate and sequential cooperating processors may be used to form packets from within the TSI time slots that are marked to contain packet stream data.

프레임 릴레이 스위칭도 소프트웨어 기반의 범용 스위칭 구조 내에서 구현될 수 있다. 프레임 릴레이의 경우에 HDLC 기반의 처리는 입력 적응성 하드웨어에 의해 최적으로 수행될 수 있는데, 이는 비트 지향의 처리는 범용 스위치 소프트웨어에 있어서는 종종 비용 면에서 효율적이지 못하기 때문이다. 프레임 스위칭 소프트웨어로 잘 형성된 프레임이 들어온다고 가정하면, DLCI 필드 정보에 걸친 해싱 탐색은 출력 링크 및 큐 정보를 산출할 것이다. 별개의 연산, 운영 및 유지(OA&M : Operation, Administration and Maintenance) 소프트웨어가 프레임 해싱 분배 테이블에 구체화된 라우팅 정보를 유지할 것이다. 후속하는 출력 처리에 의해 출력 적응 하드웨어에 의해 HDLC 포맷 내부에서 전송을 위한 출력 큐로부터 프레임을 언링크시킬 것이다.Frame relay switching can also be implemented within a software based general purpose switching architecture. In the case of frame relay, HDLC-based processing can be optimally performed by the input adaptive hardware, because bit-oriented processing is often not cost effective for general-purpose switch software. Assuming well-formed frames come in with frame switching software, a hashing search across DLCI field information will yield output link and queue information. Separate operation, administration and maintenance (OA & M) software will maintain routing information specified in the frame hashing distribution table. Subsequent output processing will unlink the frames from the output queue for transmission inside the HDLC format by the output adaptation hardware.

이제까지 이 문헌은 통상의 RISC 마이크로프로세서 구조에 의해 구현될 수 있고 거기에 탑재되는 단일 기능의 스위칭 구조 구현예를 기술하였다. 이러한 단일 기능의 스위칭 구조들이 동일한 마이크로프로세서 상에 동시에 구현될 수도 있다.So far this document describes a single function switching architecture implementation that can be implemented by and mounted on a conventional RISC microprocessor architecture. Such single function switching structures may be implemented simultaneously on the same microprocessor.

가장 단순한 형태에 있어서, 상이한 형태의 구조적 기능들이 직렬 링크 당 인터페이스 상에서 도 1의 시프트 레지스터에 할당될 수 있다. 이는 필요한 경우 다운로드될 수 있는 소프트웨어의 제어하에 수행될 것이다. 각각의 링크 타임에 대해 그 링크를 처리할 때에는 그 링크의 프로토콜을 처리하기 위한 프로그램이 실행된다. 예를 들면, TSI 기능이 적용될 회로 스위칭된(circuit switched) 타임 슬롯들 및 ATM 타임-슬롯들이 별개의 직렬 링크 인터페이스를 차지한다면, 링크 타임-슬롯은 단일 기능 구현예에서 기술한 바와 같이 캐시로 버스트 입력될 것이다. 이들 직렬 링크의 대역폭, 예를 들면 타임 슬롯의 수는 응용 예 및 특정한 직렬 링크에 따라 달라질 수 있다. TSI 타임 슬롯은 하나 혹은 두 개의 프레임 간격동안 유지되어야 하기 때문에(타임 슬롯이 단일 버퍼되었는지 혹은 이중 버퍼되었는지에 따라서), 이러한 프레임 보유 요구를 갖지 않는 후속하는 ATM 셀을 판독하는 것은 캐시의 TSI 데이터를 손상시키는 결과를 초래할 수 있다. 만약 각각의 입력 버스트 이후에 데이터가 더 이상 요구되지 않을 때까지 캐시 라인이 잠겨지게 된다면, 이러한 잠재적 문제점은 피할 수 있다.In its simplest form, different types of structural functions may be assigned to the shift register of FIG. 1 on an interface per serial link. This will be done under the control of software that can be downloaded if necessary. When processing the link for each link time, a program for processing the link's protocol is executed. For example, if the circuit switched time slots and ATM time slots to which the TSI function is to occupy separate serial link interfaces, the link time slots burst into the cache as described in a single functional implementation. Will be entered. The bandwidth of these serial links, for example the number of time slots, may vary depending on the application and the particular serial link. Since the TSI time slot must be maintained for one or two frame intervals (depending on whether the time slot is single buffered or double buffered), reading subsequent ATM cells that do not have this frame retention request may cause TSI data in the cache to be lost. It may result in damaging. If a cache line is locked until after data is no longer required after each input burst, this potential problem can be avoided.

이는 위치적(positional) 스위칭(예를 들면 TSI, TMS, 그리고 XCON)과 패킷 스위칭(예를 들면, ATM, IP 라우팅, 그리고 프레임 릴레이)을 포함하여, 두 개 이상의 공존하는 구조 형태에까지 확장될 수 있다. 상이한 프로토콜로 전송되는 데이터를 스위칭함에 있어서, 특정 대역폭의 다발(chunk)이 각각의 프로토콜 형태에 따라 할당된다면 상이한 형태의 트래픽이 동일한 직렬 링크에 탑재될 수 있기 때문에 많은 응용 예에 있어서 개별적인 직렬 링크의 할당은 불필요하게 제한적일 수 있다. 이는 또한 적절한 데이터나 소프트웨어를 다운로드함에 의해 달성될 수 있다. 이는 소비자가 선택하거나 서비스 형태를 변경하면 "최근 변경" 메카니즘을 사용하여 수행할 수 있다.It can be extended to two or more coexisting architecture types, including positional switching (eg TSI, TMS, and XCON) and packet switching (eg ATM, IP routing, and frame relay). have. In switching data transmitted over different protocols, many types of traffic can be mounted on the same serial link if a chunk of a specific bandwidth is allocated for each protocol type. Allocation can be unnecessarily limited. This can also be accomplished by downloading the appropriate data or software. This can be done using the "recently change" mechanism if the consumer chooses or changes the service type.

TSI 인터페이스의 기술에서, 24바이트가 입력/출력 시프트 레지스터의 32 바이트에 채워 넣어질(padded) 수 있다고 기술하였다. 유사하게, ATM 인터페이스에 있어서는 53 바이트 셀이 입력/출력 시프트 레지스터의 64 바이트로 채워 넣어질 수 있다고 제안되었다. 이러한 것이 단일의 기능 형태만이 시프트 레지스터에 할당될 때는 합리적이지만, 다중 기능 형태가 특정 시프트 레지스터에 할당될 경우에는 너무 과도한 복잡성을 부가할 수 있다. 따라서, 캐시로/로부터의 링크에 판독(버스트 입력) 또는 기록(버스트 출력)은 있는 그대로, 즉 타임 슬롯의 연속적이 스트림으로 하고 채워 넣기(padding) 조작은 마이크로프로세서 내부에서 소프트웨어적으로 하는 것이 바람직하다.In the description of the TSI interface, it has been described that 24 bytes can be padded into 32 bytes of the input / output shift register. Similarly, it has been proposed that for an ATM interface, a 53 byte cell can be filled with 64 bytes of an input / output shift register. While this is reasonable when only a single function type is assigned to a shift register, it can add too much complexity when multiple function types are assigned to a particular shift register. Therefore, it is desirable that reads (burst inputs) or writes (burst outputs) to and from the link into and out of the cache remain as is, i.e., a continuous stream of time slots, and padding operations are done in software inside the microprocessor. Do.

데이터 구조의 링크된 리스트가 각각의 직렬 인터페이스로부터 순차적인 메모리 바이트들을 기술하기 위해 사용되어진다면, 주어진 직렬 링크 내에서 상이한 트래픽 형태에 할당된 대역폭은 주제 마이크로프로세서에 의해 유연하게 조작할 수 있다. 예를 들면 재조립을 위해 패킷 데이터가 버퍼링되어야 할 곳이나, 회로 스위칭된(circuit switched) 데이터가 TSI 내에서 어디로 속하는지를 나타낼 수 있는 응용예에 특별한 지시자나 지시점과 길이 정보를 가지고 트래픽 형태를 나타내는 기술적 코드를 가진 마이크로프로세서에 의해 각각의 인터페이스마다 별개의 입력 및 출력 리스트가 해석되어질 수 있다. 이 스위치는 프레임에 대해 제어 데이터를 유지한다.If a linked list of data structures is used to describe sequential memory bytes from each serial interface, the bandwidth allocated to different traffic types within a given serial link can be flexibly manipulated by the subject microprocessor. For example, you can specify the type of traffic with special indicators, indicators, and length information in applications where packet data should be buffered for reassembly, or where circuit switched data belongs within the TSI. Separate input and output lists can be interpreted for each interface by the microprocessor with the descriptive code. This switch holds control data for the frame.

예를 들면, 마이크로프로세서는 주어진 인터페이스에 대해 링크된 데이터 구조로부터 다음 M 바이트 데이터가 다음 M개의 TSI의 연속하는 위치로 전송될 회로 스위칭된 데이터로 취급되어야 한다는 뜻으로 해석할 수 있다. 그러면 다음의 링크된 데이터 구조는 그 다음 N 바이트가, 데이터 구조로부터 지시되어지는 재조립 영역에서, 조립될 IP 패킷의 일부분을 포함하고 있다는 것을 알리는 코드 및 길이를 포함할 수 있다. 최종적으로, 예를 들면 최종 링크된 데이터 구조는 그 다음 P 개의 연속하는 바이트는 ATM 셀을 포함하고 있다는 것을 알릴 수 있다.For example, a microprocessor may interpret from the linked data structure for a given interface to mean that the next M byte data should be treated as circuit switched data to be sent to the next M TSI consecutive positions. The next linked data structure may then include a code and a length indicating that the next N bytes contain a portion of the IP packet to be assembled, in the reassembly area indicated by the data structure. Finally, for example, the final linked data structure may indicate that the next P consecutive bytes contain an ATM cell.

이러한 입력 및 출력 기술자 데이터 구조의 링크된 리스트는 유연하게 임의의 종류의 트래픽 형태를 입력 및 출력 인터페이스 내에 기술할 수 있다. 또한 기술자(descriptor)는 동일한 물리적 인터페이스의 구별된 가상 지선(tributary) 내에서 데이터가 어떻게 해석되어져야 하는가를 나타낼 수도 있다. 기술자 데이터 구조의 내용을 유지하기 위하여 OA&M 소프트웨어를 사용할 수 있다.This linked list of input and output descriptor data structures can flexibly describe any type of traffic type within the input and output interfaces. Descriptors may also indicate how data should be interpreted within distinct virtual branches of the same physical interface. OA & M software can be used to maintain the contents of the descriptor data structure.

종래 기술에서는 소기업의 경우에 PCM 회로 스위칭된 음성 트래픽을 위한 하나의 T1 설비와, 프레임 릴레이 기반의 IP 월드-와이드-웹 트래픽을 위한 또다른 것과, ATM 기반의 비디오 회의를 위한 제3의 T1 설비를 가진 별개의 부분적인 T1 설비들을 리스하였겠지만, 소기업의 경우 단일의 마이크로프로세서 범용 스위치 응용예 내에서 이러한 개념들이 사용될 수 있는 장점이 있다. 범용 스위칭 소자가 사용될 수 있으면 더 많은 대역폭이 가능한 경우에도 이러한 별개 설비의 리스 비용은 종종 단일 설비의 비용을 실질적으로 초과할 수 있다. 범용 스위칭 소자는 또한 고정된 리스한 T1 설비 내에서의 상이한 트래픽 형태 간의 대역폭을 동적으로 조정하는 것을 제공할 수 있는 장점이 있다.In the prior art, one small T1 facility for PCM circuit-switched voice traffic, another for frame relay-based IP world-wide-web traffic, and a third T1 facility for ATM-based video conferencing for small businesses. Although we have leased separate partial T1 installations, we have the advantage that these concepts can be used within a single microprocessor general-purpose switch application. If a general-purpose switching element can be used, the lease cost of such separate installations can often substantially exceed the cost of a single installation, even if more bandwidth is possible. General-purpose switching devices also have the advantage of being able to dynamically adjust the bandwidth between different traffic types within a fixed lease T1 installation.

다수의 동시에 실행되는 스위칭 구조를 단일 마이크로프로세서에 두면 결과적으로 전술한 실시간 영향 때문에 스위칭의 처리 용량에는 적은 영향 밖에 없다. 300MHz EC503e PowerPC 칩은 단일 타임-슬롯 TSI 스위칭에서 대략 480 Mb/초 (7500 타임 슬롯)를 지원할 수 있고 ATM 셀 스위칭에서는 1.5 Gbit(초당 300만 셀)을 처리할 수 있는 것으로 평가되었다. 단일 마이크로프로세서 상에 기능들을 공유하면 각각의 응용의 처리 용량은 그들의 실시간 사용량에 비례하여 줄어든다. 예를 들어 단일의 마이크로프로세서는 TSI에서 대략 240Mb/초(3750 타임-슬롯), ATM 셀 스위칭에서 750Mb/초(초당 750,000셀)를 동시에 지원할 수 있다. 특정 응용의 비율은 트래픽 혼합에 의존하며 프레임 릴레이 및 IP 라우터 스위칭의 비례하는 분량을 포함할 수 있다.Having multiple concurrently running switching structures in a single microprocessor results in only a small impact on the processing capacity of the switching because of the real-time effects described above. The 300MHz EC503e PowerPC chip is said to be capable of supporting approximately 480 Mb / sec (7500 time slots) in single time-slot TSI switching and 1.5 Gbit (3 million cells per second) in ATM cell switching. Sharing features on a single microprocessor reduces the processing capacity of each application in proportion to their real-time usage. For example, a single microprocessor can simultaneously support approximately 240 Mb / sec (3750 timeslots) in TSI and 750 Mb / sec (750,000 cells per second) in ATM cell switching. The rate of a particular application depends on traffic mixing and may include proportional amounts of frame relay and IP router switching.

전술한 단락에서는 회로 스위칭 및 패킷 스위칭 구조의 동시 운용을 예시하였다. RISC는 또한 프레임 릴레이를 통한 IP나 ATM을 통한 IP의 계층화(layering)는 물론 AAL1, AAL2, 그리고 AAL5와 같은 패킷(비동기) 세계와 회로(동기) 간을 오갈때 필요한 기능인 SAC(동기-비동기 변환)을 지원할 수 있다. 따라서 각각의 스위칭 도메인 내에서 접속성(connectivity)이 있을 뿐만 아니라 이들 스위칭 도메인간에서도 집적된 상호접속성(interconnectivity)을 가지고 있다.The foregoing paragraphs illustrate the simultaneous operation of circuit switching and packet switching structures. RISC also provides SAC (Synchronous-Asynchronous Conversion), which is a function required for switching between packet (asynchronous) worlds and circuits (synchronous) such as AAL1, AAL2, and AAL5 as well as IP layering through Frame Relay or IP through ATM ) Can be supported. Thus, there is not only connectivity within each switching domain, but also integrated interconnectivity between these switching domains.

도 14는 도 1의 TSI의 싸이즈를 증가시키는 구성을 예시한다. 도 14는 입력 신호의 갯수 n에 관계없고, 마이크로프로세서 복합체의 갯수 k에 관계없고, 이들 복합체의 속도 및 메모리 용량에 의해 제공되어질 수 있는 n/k의 값에 무관하게 적용될 수 있는 구현예를 도시한다. 도 14의 특정한 실시예에 있어서, n은 32, k는 8, n/k는 4이다. 버퍼 증폭기(521-1, ..., 521-32)에서 종단되는 각각의 입력 스트림은 입력 버퍼(101)와 유사하게 시프트 레지스터 입력 버퍼로 연결된다. 마이크로프로세서 복합체(501-1), 시프트 레지스터(511-1, ..., 511-32)는 지역 버스(541-1)에 접속되는데 이 버스로부터 마이크로프로세서 복합체(501-1)는 입력을 수신한다. 동일한 구성이 각각의 7개의 다른 마이크로프로세서 복합체(501-2, ..., 501-8)에도 입수 가능하다. 각각의 마이크로프로세서 복합체는 전체 32개 출력 버퍼 중 단 4개만으로 출력한다. 예를 들면 마이크로프로세서 복합체(501)는 출력 버퍼(531-1, ..., 531-4) 만으로 출력한다. 각각의 마이크로프로세서 복합체의 처리용량은 입력 시프트 레지스터의 전 범위로부터 입력을 받아 들일 수 있을 만큼 충분하여야 하나 출력 스트림은 1 내지 k만 구동하면 된다. 다행히 입력 신호는 각각의 마이크로프로세서의 TSI 버퍼(301, 303)의 순차적인 위치로 로딩되므로 입력의 흡수는 병렬로 이루어진다. 따라서 단위 시간에 마이크로프로세서 캐시 내에는 매우 많은 양의 입력 데이터가 흡수될 수 있다. 마이크로프로세서에 의해 타임 슬롯 별, 또는 그룹 별 순차 처리가 필요한 것은 출력 데이터뿐이다.FIG. 14 illustrates a configuration for increasing the size of the TSI of FIG. 1. FIG. 14 illustrates an implementation that may be applied regardless of the number n of input signals, regardless of the number k of microprocessor complexes, and regardless of the value of n / k that may be provided by the speed and memory capacity of these complexes. do. In the particular embodiment of Figure 14, n is 32, k is 8, n / k is 4. Each input stream terminating at buffer amplifiers 521-1, ..., 521-32 is connected to a shift register input buffer similarly to input buffer 101. Microprocessor complex 501-1 and shift registers 511-1, ..., 511-32 are connected to local bus 541-1 from which microprocessor complex 501-1 receives input. do. The same configuration is available for each of the seven other microprocessor complexes 501-2, ..., 501-8. Each microprocessor complex outputs with only four of its 32 output buffers. For example, the microprocessor complex 501 outputs only to the output buffers 531-1, ..., 531-4. The processing capacity of each microprocessor complex must be sufficient to accept input from the full range of input shift registers, but the output stream only needs to drive 1 to k. Fortunately, the input signal is loaded into the sequential positions of the TSI buffers 301 and 303 of each microprocessor, so the absorption of the input is in parallel. Thus, a very large amount of input data can be absorbed into the microprocessor cache at unit time. Only output data is required by the microprocessor for time slot or group sequential processing.

마이크로프로세서 복합체 당 지역적 시프트 레지스터를 둔 구성은 각각의 마이크로프로세서마다 시프트 레지스터를 반복적으로 배치해야 하는 대응하는 단점이 있지만 각각의 마이크로프로세서의 근접한 국부 위치에 높은 대역폭의 접속을 제한할 수 있는 장점이 있다. 종종 바람직할 수도 있는 다른 구성에서, 각 마이크로프로세서가 록스텝으로 있는 시프트 레지스터의 단일 전역 세트가 사용될 수 있어서, 동일한 시간에 동일한 입력 데이터를 흡수하게 된다. 이 경우, 고대역 전역 접속 및 전역 마이크로프로세서 동기화의 복잡성이 하나의 마이크로프로세서를 제외한 모든 시프트 레지스터 세트의 감축에 대해 트레이드될 것이다.The configuration with local shift registers per microprocessor complex has the corresponding disadvantage of having to repeatedly shift shift registers for each microprocessor, but has the advantage of limiting high bandwidth connections to the local location proximate each microprocessor. . In other configurations, which may often be desirable, a single global set of shift registers in which each microprocessor is in lockstep may be used, absorbing the same input data at the same time. In this case, the complexity of high-band global access and global microprocessor synchronization will be traded for the reduction of all shift register sets except for one microprocessor.

이론적으로는, 미리 순서가 정해진 출력 데이터를 발생하기 위해 직렬로 입력 데이터를 수신하거나 이 입력 데이터를 처리하는 것이 가능하다. 도 14의 구성은 각각의 입력 워드가 병렬로 수신되고, 각각의 마이크로프로세서가 출력에 출력 스트림을 발생하기 위해 상이한 수의 바이트를 처리할 수 있어 상이한 양의 처리를 위해서는 상이한 마이크로프로세서가 요구되기 때문에 이러한 종류의 구성(입력을 직렬로 처리하여 병렬 출력을 발생하는 것)을 위해서는 만족스럽게 동작하지 않는다.In theory, it is possible to receive or process input data serially to generate pre-ordered output data. The configuration of Figure 14 is because each input word is received in parallel, and each microprocessor can process different numbers of bytes to generate an output stream at its output, so different microprocessors are required for different amounts of processing. It does not work satisfactorily for this kind of configuration (processing inputs in series to produce parallel outputs).

도 15는 스위칭 마이크로프로세서의 3 단계 Clos 네트워크를 도시한다. 이러한 형태의 네트워크의 속성은 블로킹하지 않는 네트워크를 제공하기 위하여 최소한의 수의 타임 슬롯이 요구된다는 것이다(이전의 기술에서의 "교차점"). 도 14에서 입력 마이크로프로세서로의 "n"개의 입력에 대해, 블로킹하지 않기 위해 2n-1 개의 출력이 요구된다. 타임 슬롯의 수가 더 많아지면, 2n이 매우 근접한 근사치가 되며 보수적인 쪽만 문제가 될 것이다. 대규모 TSI 구현을 위한 도 15를 살펴보자. 입력 및 출력 마이크로프로세서는 대칭적인 처리용량을 가지고 있다. 이 TSI의 처리용량은 단일의 마이크로프로세서에 비해 "k" 배이다. 요구되는 종단 타임 슬롯 접속을 정의하는 외부 쏘오스로부터의 제어 메시지를 수신하는 제어 RISC 마이크로프로세서가 있다. 제어 마이크로프로세서는 Clos 네트워크를 통해 적절한 경로를 산출해 내고 이 정보를 요구하는 각각의 마이크로프로세서로 적절한 제어 메시지를 보낸다. 이러한 동작은 각각의 호출에 대해 단 한번만 수행된다. 각각의 입력 마이크로프로세서는 타임-슬롯의 링크를 조립하여 적절한 출력 마이크로프로세서로 보내야 한다. 출력 마이크로프로세서는 중앙 단계로부터 데이터를 수신하여 경로를 완성하기 위하여 적절한 출력 접속을 수행한다. "j" 중앙 단계는 입력 및 출력 마이크로프로세서 간에 공간 스위치 경로(space switch path)를 제공하며, 조립된 타임-슬롯의 그룹을 적절한 목적지로 스위치한다. 따라서 중앙 단계는 이 문헌에서 이전에 정의한 바와 같이 "그룹 스위칭"을 제공하고 있으며, 또한 "그룹 스위칭" 마이크로프로세서는 단일의 타임-슬롯 스위칭에 비해 스위칭되는 타임-슬롯의 수가 5배 이상 증가되었다는 것 역시 이 문헌을 통해 알 수 있다. 따라서 중앙 단계 "1" 내지 "j" 는 각각 "k" I/O 프로세서 중의 하나에 비해 5배의 처리능력을 가지고 있다. 중앙 단계는 프로세서당 I/O 단계("n") 에 비해 타임-슬롯의 수를 두 배 ("2n")로 처리할 필요가 있지만, 전술한 바와 같이 5배의 처리 능력을 가지고 있다. 요구되는 중앙 단계의 수는, "k" 가 입력 또는 출력 단계의 수로 다음 번 정수로 올림한 값이고, n/s = 1/5가 "k" 번째 단계 TSI의 "j" 번째 단계의 그룹 스위칭에 대한 처리 능력의 비일 때, j = 2 (n/s) k가 된다. 예를 들면, "k"=5 이면 j = 2 (1/5) 5 = 2이다. 따라서 단일 마이크로프로세서 TSI의 5배 싸이즈의 TSI의 경우, 5배의 처리능력, 즉 25,000 개의 타임슬롯을 위해서는 벤치마크 200MHz PowerPC를 사용하여 모두 5 개의 입력, 5 개의 출력 및 2 개의 중앙 단계 프로세서가 필요하여 전체적으로 12 개의 마이크로프로세서가 필요하다.15 shows a three stage Clos network of a switching microprocessor. The nature of this type of network is that a minimum number of time slots are required to provide a non-blocking network ("intersection point" in the prior art). For “n” inputs to the input microprocessor in FIG. 14, 2n−1 outputs are required to not block. As the number of time slots increases, 2n becomes a very close approximation and only conservative matters. Let's look at Figure 15 for a large-scale TSI implementation. Input and output microprocessors have symmetrical processing capacity. The throughput of this TSI is "k" times compared to a single microprocessor. There is a control RISC microprocessor that receives control messages from an external source that defines the required end time slot connection. The control microprocessor calculates the proper path through the Clos network and sends an appropriate control message to each microprocessor requesting this information. This operation is performed only once for each call. Each input microprocessor must assemble the time-slot link and send it to the appropriate output microprocessor. The output microprocessor receives data from the central stage and makes appropriate output connections to complete the path. The "j" central stage provides a space switch path between the input and output microprocessors and switches the group of assembled time-slots to the appropriate destination. Thus, the central stage provides "group switching" as previously defined in this document, and the "group switching" microprocessor has more than five times the number of time slots switched compared to a single time slot switching. Again, this document can be known. Thus, the central stages "1" through "j" each have five times the processing power of one of the "k" I / O processors. The central stage needs to double the number of timeslots (" 2n ") compared to the I / O stage (" n ") per processor, but has five times the processing power as described above. The number of required center stages is "k" rounded up to the next integer number of input or output stages, and n / s = 1/5 is group switching of "j" stage of "k" stage TSI When j is the ratio of the processing power to, j = 2 (n / s) k. For example, when "k" = 5, j = 2 (1/5) 5 = 2. Thus, a TSI of five times the size of a single microprocessor TSI requires five inputs, five outputs, and two central stage processors using a benchmark 200 MHz PowerPC for five times the throughput, or 25,000 timeslots. In total, 12 microprocessors are required.

도 15는 예를 들어 ATM과 같은 패킷 스위칭에 사용된다. ATM의 경우 실시간의 많은 부분이 VPI/VCI 테이블 룩-업과 QOS 큐잉 및 우선권 처리에 관련된다. 이들 기능은 기능 분배 방식으로 도 15의 입력 및 출력 마이크로프로세서간에 공유될 수 있다. 따라서 상이한 함수를 위해 입력 및 출력 마이크로프로세서를 동시에 사용함에 의해 대략 2배의 스위칭 처리능력이 제공될 수 있다. 그러나 중앙 단계의 순수한 접속 대역폭은 I/O의 대역폭 필요에 상당히 근접하여 일치한다. 따라서 5 개의 입력 단계 및 5 개의 출력 단계, 5 개의 중앙 단계가 요구된다. 그러나, 이 네트워크의 처리능력은 기능 분배로 인해 단일의 ATM 마이크로프로세서에 비해 대략 10배 정도로 된다. 따라서 벤치마크 200 MHz PowerPC를 사용하는 경우 15 개의 마이크로프로세서가 10Gbps ATM 스위치의 처리 능력의 10배를 제공한다. 비례적으로, 더 고성능의 PowerPC로 더 높은 대역폭을 얻을 수 있다.15 is used for packet switching, for example ATM. In the case of ATM, much of the real time is involved in VPI / VCI table look-ups and QOS queuing and priority processing. These functions can be shared between the input and output microprocessors of FIG. 15 in a functional distribution manner. Thus, roughly twice the switching throughput can be provided by simultaneously using input and output microprocessors for different functions. However, the net access bandwidth of the central stage closely matches the bandwidth needs of the I / O. Thus five input stages, five output stages and five central stages are required. However, the throughput of this network is approximately 10 times that of a single ATM microprocessor due to the distribution of functions. Thus, when using the benchmark 200 MHz PowerPC, 15 microprocessors provide 10 times the processing power of a 10Gbps ATM switch. Proportionally, higher bandwidths can be achieved with higher performance PowerPCs.

도 16은 크로스바(crossbar) 스위치 (회로 스위칭)로서 중앙 단계를 구현하기 위해 ASIC 이나 FPGA를 사용하는 3 단계 네트워크를 도시한다. ASIC이나 FPGA를 얻는데 필요한 선행 시간이 소모되긴 하지만 더 대규모 구성의 경우에는 비용면에서 효율적일 수 있다.Figure 16 shows a three stage network using an ASIC or FPGA to implement a central stage as a crossbar switch (circuit switching). Although the upfront time required to obtain an ASIC or FPGA is consumed, it can be cost-effective for larger configurations.

도 15 및 16은 입력으로부터 출력을 얻기 위한 3단계 네트워크를 도시한다. 이들 도면에 도시된 네트워크가, 다수의 개체를 포함하고, 이들 개체들을 상호결선하기 위하여 전역적 중앙 단계로 연결되는, 더 대규모의 상호결선된 구조의 단일 개체를 구성하는 구조가 있다. 이러한 구성에 있어서, 도 15나 도 16의 중앙 단계는 전역적 중앙 단계로 직접적으로 접속될 수 있다. 따라서 도 15 및 도 16의 다중 구체화(substantiation)는 이 전역 중앙 단계를 경유하여 상호결선될 수 있다. 이들 중앙 단계는 전역 중앙 단계와 결합하여 새로운 중앙 단계의 3단계 구성을 이룬다. 입력 및 출력 마이크로프로세서는 도 15 및 도 16과 동일한 기능을 구현한다.15 and 16 illustrate a three stage network for obtaining output from input. There is a structure in which the network shown in these figures comprises a single entity of a larger interconnected structure, comprising a number of entities and connected to a global central stage in order to interconnect these entities. In this configuration, the central stage of FIG. 15 or FIG. 16 can be directly connected to the global central stage. Thus, the multiple substantiations of FIGS. 15 and 16 can be interconnected via this global central step. These central stages combine with the global central stage to form a new three stage configuration. The input and output microprocessors implement the same functionality as FIGS. 15 and 16.

단일 마이크로프로세서의 경우에서와 똑같이, 다중 혹은 단일 기능의 스위칭 구조는 동일한 마이크로프로세서에 동시에 탑재되고 구현될 수 있다.As in the case of a single microprocessor, multiple or single function switching structures can be mounted and implemented simultaneously on the same microprocessor.

이제까지의 기술이 "스위칭 구조"에 초점을 맞추었지만, RISC 마이크로프로세서는 다른 기능을 구현하기 위해 사용될 수도 있다.Although the technology so far has focused on the "switching structure", RISC microprocessors may be used to implement other functionality.

RISC 마이크로프로세서는 직렬 통신 링크를 종단시키기 위해 사용될 수도 있다. 예를 들어, 전용 PCT(주변 장치 제어 및 타이밍) 링크와 같은 링크가 고려될 수 있다. 이러한 직렬 광 파이버 링크는 1024 타임 슬롯을 가지며, 이중 768 개는 데이터 전송을 위해 사용되고, 나머지는 제어, 동기화, 및 다른 기능들을 위한 것이다. 프레임 동기화는 다수의 인접한 타임 슬롯에 설정된 고정된 코드에 의해 설정된다. 스위칭 구조에서와 마찬가지로 직렬 비트 스트림은 외부 레지스터로 시프트되고, 바이트 정보로 캐시로 버스트 입력된다. RISC는 인접하는 바이트 순차열을 조사하여 동기화 코드에 해당하는 지를 검토한다. 만약 아니면, 한 비트 시프트 명령이 실행되고 그 결과 변경된 연속 바이트들이 조사된다. I/O를 통해 후속하는 바이트들이 들어오면 이러한 올바른 코드를 찾기 위한 입력 비트 스트림에 대한 조사 처리 단계가 동기화 코드를 찾을 때까지 계속된다. 이에 의해 프레임 동기화 순간이 설정되고 직렬 링크를 동기화시킨다. 순차열의 부가적인 바이트에 의해 거대-프레임(super-frame) 경계가 설정되고 이들을 검색하여 또한 거대-프레임 동기화가 달성된다. 또 다른 요구되는 기능들도 비트 스트림에 대한 적절한 조작에 의해 유사하게 실현될 수 있다. 다중 링크도 단일 마이크로프로세서 상에서 지원될 수 있다. 5ESS스위치에 의해 사용되는 PIDB(Peripheral Interface Data Bus : 주변 장치 인터페이스 데이터 버스), NCT(Network Control and Timing : 네트워크 제어 및 타이밍), PCT 등과 같은 같은 전용 직렬 링크는 물론 공지의 표준 DS1, DS3, DSn, E1, E3 및 여타의 32 채널 기반의 설비들, SONET, SDH를 포함하는 다른 직렬 통신 링크들도 또한 구현될 수 있다.RISC microprocessors may be used to terminate the serial communication link. For example, a link such as a dedicated PCT (Peripheral Control and Timing) link may be considered. These serial optical fiber links have 1024 time slots, of which 768 are used for data transmission, the rest for control, synchronization, and other functions. Frame synchronization is established by a fixed code set in multiple adjacent time slots. As in the switching scheme, the serial bit stream is shifted to an external register and bursted into the cache as byte information. RISC examines adjacent byte sequences to see if they correspond to synchronization codes. If not, a bit shift instruction is executed and the resulting contiguous bytes are examined. As subsequent bytes come in through the I / O, the lookup process for the input bit stream to find this correct code continues until the synchronization code is found. This establishes the frame synchronization moment and synchronizes the serial link. Super-frame boundaries are set by the additional bytes in the sequence and search for them also achieves macro-frame synchronization. Still other required functions can be similarly realized by appropriate manipulation on the bit stream. Multiple links can also be supported on a single microprocessor. 5ESS Known standard DS1, DS3, DSn, as well as dedicated serial links such as Peripheral Interface Data Bus (PIDB), Network Control and Timing (NCT), PCT, etc. used by the switch Other serial communication links may also be implemented, including E1, E3 and other 32 channel based facilities, SONET, SDH.

한 프로토콜을 사용하여 데이터를 다른 프로토콜로 전송할 수 있다. 예를 들면 프레임 릴레이 프로토콜이나 ATM 프로토콜을 사용하여 데이터를 IP 프로토콜로 전송할 수 있다. 그러면 스위칭 시스템은 수반하는 프로토콜로 데이터를 스위칭할 수 있고, 수반된 프로토콜 데이터는 스위칭된 데이터로부터 추출될 수 있다.One protocol can be used to transfer data to another. For example, the frame relay protocol or ATM protocol can be used to transfer data to the IP protocol. The switching system can then switch data with the accompanying protocol, and the accompanying protocol data can be extracted from the switched data.

특정한 마이크로프로세서를 사용하여 한 형태의 직렬 링크나 또는 다수 종류의 이러한 직렬 링크를 동시에 종단시킬 수 있다. 도 14 및 15에 도시된 다중 마이크로프로세서 구성이 또한 사용될 수 있다.Certain microprocessors can be used to terminate one type of serial link or multiple types of such serial links simultaneously. Multiple microprocessor configurations shown in FIGS. 14 and 15 may also be used.

위에서는 범용 스위칭 구조와 범용 직렬 링크 종단장치를 별개의 객체로 기술하였지만, 그들은 단일 마이크로프로세서 내에서 결합될 수 있다. 예를 들면, 단일의 마이크로프로세서는 전술한 직렬 링크 중 임의의 것을 종단시킬 수 있고 또한 동일한 마이크로프로세서 내에서 동시에 ATM 스위칭을 제공할 수 있다. 필요하면, 범용 직렬 링크 종단장치(이 문헌에서 전술한 링크 중 임의의 것/전부)가 범용 스위칭 구조(이 문헌에서 전술한 구조 중 임의의 것/전부)와 결합되어 동일한 마이크로프로세서 상에서 동시에 동작할 수 있다. 도 14 및 도 15에 도시된 다중 마이크로프로세서도 또한 적용된다. 특히 중요한 것은, 동일 마이크로프로세서 상의 주변장치 및 스위칭 구조의 결합후 링크를 도 15의 중앙단계로 연장하여 집적된 주변 장치를 갖는 분배된 구조를 제공하는 것이다.Although the general switching architecture and universal serial link termination are described as separate objects above, they can be combined within a single microprocessor. For example, a single microprocessor may terminate any of the serial links described above and also provide ATM switching simultaneously within the same microprocessor. If necessary, a universal serial link terminator (any / all of the links described above in this document) may be combined with a general-purpose switching structure (any / all of the structures described above in this document) to operate simultaneously on the same microprocessor. Can be. The multiple microprocessors shown in FIGS. 14 and 15 also apply. Of particular importance is the extension of the post-combination link of the peripheral and switching structures on the same microprocessor to the central stage of FIG. 15 to provide a distributed structure with integrated peripherals.

위와 같은 접근법을 사용하여 더 높은 레벨의 결합된 스위칭 기능들을 제공할 수 있다. 예로 단일 마이크로프로세서 상에서 트렁크(trunk) 전용 5ESS스위칭 모듈과 같은 객체의 기능들의 구현이 있다. 이것은 마이크로프로세서의 부동 소숫점 10진 유닛이나 마이크로프로세서의 벡터 조작 유닛에 하드웨어 기반으로 구현되는 톤 발생기와 같은 서비스 회로, TMS로의 NCT 인터페이스, 트렁크 종단장치, TSI를 포함한다. 동일한 마이크로프로세서 상에, 소프트웨어 기반으로 호 처리 및 유지 소프트웨어를 위하여 스위칭 모듈 프로세서(SMP)가 동시에 구현될 수 있다(고유한 또는 이뮬레이션 모드로). SM(스위칭 모듈)의 경우 가입자 선로도 또한 포함하고 있어 전술한 모든 것들이, 내장된 트렁크 회로는 물론 통상의 방법으로 구현된 가입자 선로를 지원하기 위해서도 사용될 수 있다.This approach can be used to provide a higher level of combined switching functions. For example, 5ESS dedicated to trunk on a single microprocessor There is an implementation of the functionality of an object such as a switching module. This includes service circuits such as tone generators that are hardware-based in the microprocessor's floating-point decimal unit or the microprocessor's vector manipulation unit, the NCT interface to the TMS, the trunk terminator, and the TSI. On the same microprocessor, a switching module processor (SMP) may be implemented simultaneously (in native or emulation mode) for call processing and maintenance software on a software basis. In the case of the SM (Switching Module), it also includes a subscriber line so that all of the above can be used to support the subscriber line implemented in the usual way as well as the built-in trunk circuit.

일반화된 논리 함수, 특히 순차 논리 구성이 지배적인 경우라면 비용 면에서 효율적으로 구현하기 위해 또한 마이크로프로세서를 사용할 수도 있다. 따라서 이러한 접근법은 현재의 FPGA로 구현되는 기능들을 제공하는데 유용할 수 있으며, 비용 면에서도 더 효율적일 수 있고 개발 면에서도 더 신속할 수 있다. 이러한 접근법은 또한 단일 혹은 다중 마이크로프로세서를 사용하여 응용분야에 따라 응용 특정의 집적 회로(ASIC : application specific integrated circuits)를 대체하기 위해 사용될 수 있다.Microprocessors can also be used to implement cost-effectively if generalized logic functions, especially sequential logic constructs, dominate. Therefore, this approach can be useful to provide the features implemented in today's FPGAs, which can be more cost-effective and faster in development. This approach can also be used to replace application specific integrated circuits (ASICs) using single or multiple microprocessors, depending on the application.

바람직한 실시예에서는 입력 타임 슬롯을 순차적으로 저장하고 제어 메모리 내용에 근거하여 판독을 수행하고 있으나, 순차적 판독과 결합하여 제어 메모리 내용에 근거하여 저장하는 방법을 사용하는 것도 가능하지만, 이러한 구성은 방송 접속망을 덜 효율적으로 조작하게 될 것이다. 도 14의 구성은 수신되는 각각의 입력 워드에 대해 상이한 양의 처리를 하기 위해서는 상이한 마이크로프로세서가 요구되기 때문에 이러한 바람직하지 못한 구성(제어 메모리에 근거한 저장 및 순차적 판독)에 따른 방송에는 만족스러운 결과를 주지 못한다.Although the preferred embodiment stores the input time slots sequentially and reads the data based on the contents of the control memory, it is also possible to use a method of storing the input time slots based on the contents of the control memory in combination with the sequential reading. Will be operated less efficiently. The configuration of FIG. 14 results in a satisfactory result for broadcasting due to this undesirable configuration (storage and sequential read based on control memory) because different microprocessors are required to perform different amounts of processing for each input word received. Can't give

여기서 논의된 접근법은 저장된 프로그램 제어라는 고유한 유연성을 가지고 있다. 따라서 최근에 유럽 표준 기구에 의해 제안된 동적 동기화 전송 모드(dynamic synchronous transfer mode : DTM)와 같은 새롭고 다른 프로토콜을 구현하기 위해 이용될 수도 있다.The approach discussed here has the inherent flexibility of stored program control. It may therefore be used to implement new and different protocols, such as the dynamic synchronous transfer mode (DTM) recently proposed by the European standards body.

RISC 마이크로프로세서 기술은 매우 빠른 속도로 발전하고 있다. 따라서 현재의 한계를 넘어 더 높은 주파수에서 동작하는 마이크로프로세서에 의해 단일 칩에 더 높은 처리용량을 달성할 수 있을 것이다. 무어의 법칙은 이러한 처리용량을 미래에 한층 더 재촉할 것이다.RISC microprocessor technology is advancing at a very rapid pace. Thus, microprocessors operating at higher frequencies beyond current limits will be able to achieve higher throughput on a single chip. Moore's Law will push this capacity further in the future.

도 17-20은 임의의 입력 VT2 신호를 임의의 출력 VT2 신호로 스위칭하기 위한 코아 구성이 스위치(1700)인 대규모 스위치를 도시한다. 이 스위치는 ADSL(asymmetric digital subscriber lines : 비대칭 디지털 가입자 선로) 선로를 위한 선로 카드와, 일반 구식 전화 서비스{POTS(plain old telephone service)} 선로를 처리하기 위한 선로 카드, 그리고 입력 디지탈 혹은 아날로그 트렁크를 처리하기 위한 트렁크 카드를 포함하는 다수의 액세스 인터페이스 유닛(AIU)에 의해 입력된다. 이러한 카드들의 출력은 입력 스트림으로 조립되고 잇따라, 이들은 도 1에 도시된 것과 같은 마이크로프로세서 기반의 통신 스위칭 네트워크 구조 구성(100)으로 입력된다. 모듈(1711, 1725)은 협대역 모듈로 협대역(DS0) 신호들을 운반하고 수신한다; 모듈(1710, 1720)은 광대역 모듈로, 광대역(VT2) 신호를 나르고 수신한다. 모듈(1711)은 POTS 라인 및/또는 ISDN 라인으로만 연결되는데, 이들 모두는 DS0 레이트나 그 이하에서 통신한다. 모듈(1710)은 ADSL 선로에도 연결 가능하다.17-20 illustrate a large scale switch in which the core configuration is switch 1700 for switching any input VT2 signal to any output VT2 signal. This switch provides a line card for asymmetric digital subscriber lines (ADSL) lines, a line card for handling plain old telephone service (POTS) lines, and input digital or analog trunks. It is input by a number of access interface units (AIUs) containing trunk cards for processing. The output of these cards is assembled into an input stream, which in turn is input into a microprocessor based communication switching network architecture configuration 100 as shown in FIG. Modules 1711 and 1725 carry and receive narrowband DS0 signals to narrowband modules; Modules 1710 and 1720 are wideband modules that carry and receive wideband (VT2) signals. Module 1711 connects only to POTS lines and / or ISDN lines, all of which communicate at or below the DS0 rate. Module 1710 can also be connected to an ADSL line.

각각의 VT2 신호는 256 비트의 유료 부하를 포함하며, 초당 8KHz의 반복 레이트로 발생된다. 256 유료 부하 비트에 부가하여, 두 개의 신호 비트가 있고, 협대역 신호(8비트 유료 부하를 가진 것)를 광대역 신호(32 개의 8비트 바이트까지의 곱의 유료 부하)와 구별하기 위한 한 비트가 있다. ISDN 신호는 두 개의 B-채널 신호가 상이한 목적지로 갈 수도 있고 D-채널은 패킷 스위칭 유닛으로 접속되기 때문에 3 개의 협대역 신호로 전송된다. 이 바람직한 실시예에 있어서, 모든 협대역 신호들은 전술한 형태로 전송된다; 협대역 신호를 VT2 신호로 번들(bundling)하는 경우는 없다. 그 이유는 코아 구조(1700)의 인터페이스 포트들은 물리적인 VT2 채널에 대해 단일의 논리적 통신을 위한 정보만을 처리할 수 있기 때문이다.Each VT2 signal contains a payload of 256 bits and is generated at a repetition rate of 8KHz per second. In addition to the 256 payload bits, there are two signal bits, and one bit to distinguish the narrowband signal (with an 8bit payload) from the wideband signal (payload of a product of up to 32 8bit bytes). have. The ISDN signal is transmitted in three narrowband signals because two B-channel signals may go to different destinations and the D-channel is connected to a packet switching unit. In this preferred embodiment, all narrowband signals are transmitted in the form described above; There is no case where the narrowband signal is bundled with the VT2 signal. This is because the interface ports of the core structure 1700 can only process information for a single logical communication for the physical VT2 channel.

코아 구조는 또한 SONET/SDH와 같은 광대역 전송 설비와 인터페이스되는 광대역 출력 인터페이스 유닛(OIU : output interface unit) (1720), 협대역 OIU (1725)에 접속된다. 한편, SONET/SDH 설비는 PCM 신호와 같은 회로 스위칭된 신호나, 또는 ATM 신호나 IP 신호와 같은 패킷 스위칭된 신호를 가진 가상 트렁크를 수반할 수 있다. 한 통신이 이 스위치를 떠나는 경우, (1710, 1711)과 같은 한 AIU에 접속된 VT2와 OIU에 접속된 VT2 간이나, 또는 OIU 들에 접속된 VT2들간에 연결이 설정된다.The core structure is also connected to a wideband output interface unit (OIU) 1730, narrowband OIU 1725, which interfaces with a broadband transmission facility such as SONET / SDH. On the other hand, a SONET / SDH facility may involve virtual trunks with circuit switched signals, such as PCM signals, or packet switched signals, such as ATM signals or IP signals. When one communication leaves this switch, a connection is established between VT2 connected to one AIU and VT2 connected to an OIU, or between VT2s connected to OIUs, such as 1710 and 1711.

Lucent Technologies Inc.에서 제조한 5ESS스위치와 같은 기존의 플랜트(plant)와의 호환성을 갖기 위하여, 코아 구조는 또한 5ESS스위치의 통신 모듈(1730)에 접속된 5ESS네트워크 제어 및 타이밍(NCT) 링크와 같은 링크와도 통신을 할 수 있다. 협대역 NCT(1730)가 코아 구조 상에서 종단하면, 그 신호는 VT2 신호로 변환된다. 광대역 NCT(1732)는 이미 VT2 신호를 수반한다. 코아 구조는 이 구조의 채널을 통해 구조 내의 제어 회로나 AIU 및 OIU의 제어 회로와 모두 통신을 하고 있는 스위칭 모듈 프로세서 제어기(1790)에 의해 제어되고 있다.5ESS manufactured by Lucent Technologies Inc. In order to be compatible with existing plants such as switches, the core structure is also 5ESS. 5ESS connected to the communication module 1730 of the switch It can also communicate with links such as network control and timing (NCT) links. When narrowband NCT 1730 terminates on a core structure, the signal is converted to a VT2 signal. Wideband NCT 1732 already carries a VT2 signal. The core structure is controlled by the switching module processor controller 1790, which communicates with the control circuits in the structure or the control circuits of the AIU and OIU through the channels of the structure.

이해를 쉽게 하기 위하여, 도 17은 선로 모듈(1710, 1711)이 입력 모듈이고, 트렁크 모듈(1720, 1725)이 출력 모듈인 것처럼 도시되었다. 실제로는 중앙 셀 구조(1700)는 임의의 포트로부터 임의의 다른 포트로 신호를 스위치할 수 있다; 따라서 선로 대 트렁크 트래픽은 물론, 선로 대 선로 트래픽이나 트렁크 대 트렁크 트래픽로 지원한다. 또한 임의의 선로 또는 트렁크의 신호는 양방향(two-way) 신호다. 따라서, 모듈(1710, 1711, 1720, 1725)은 모두 셀 구조(1700)으로의 "입력" 모듈이며, 셀 구조는 임의의 접속된 포트로부터 임의의 다른 접속된 포트로의 신호들간에 되돌리는(hairpin) 접속을 하고 있다. 이 구조는 3 단계 구조이다; 첫째로 셀 구조로의 신호를 운반하는 모듈; 둘째로 셀 구조(1700), 셋째로 셀 구조로부터의 신호를 운반하는 모듈이다.For ease of understanding, FIG. 17 is depicted as track modules 1710 and 1711 are input modules and trunk modules 1720 and 1725 are output modules. In practice, the central cell structure 1700 can switch signals from any port to any other port; Therefore, it supports line-to- trunk traffic as well as line-to-line traffic or trunk-to- trunk traffic. In addition, any line or trunk signal is a two-way signal. Thus, modules 1710, 1711, 1720, and 1725 are all “input” modules to cell structure 1700, where the cell structure returns between signals from any connected port to any other connected port ( hairpin) You are connecting. This structure is a three step structure; First a module for carrying signals to the cell structure; Second, cell structure 1700, third, a module that carries signals from the cell structure.

도 18은 AIU 유닛(1710, 1711)과 OIU 유닛(1720, 1725) 및 코아 구조(1700) 간의 접속을 도시한다. 중앙 구조로의 각각의 접속은 협대역 포트(1809)나 광대역 포트(1839)와 같은 한 포트에서 종단된다. 협대역 포트의 경우, 포트는 입력 신호로부터 클럭을 복구해야 하며, 입력을 버퍼링하고, 유료부하의 점유되지 않은 248 비트를 위한 흐름 비트(flow bits)를 발생하며, 프레임화(framing)를 수행하고, 포트의 제어 레지스터를 제어하기 위한 정보를 수신한다. 광대역 포트(1839)의 경우, 입력을 버퍼링하고, 클럭을 복구하며, 프레임화를 수행하고, 제어 레지스터를 위한 입력 정보를 수신하는 것이 필요하다. 협대역 주변 장치, 즉, 주변 장치(1711, 1725)를 포함하는 주변 장치(1830)와 같은 협대역 신호를 발생하는 주변 장치는, 한 쌍의 패들 카드(paddlecard)를 통해 중앙 구조(1700)에 접속된다. 이 패들 카드의 기본적인 기능은 동기화 및 프레임화를 복구하기 위해서는 인터페이스 회로가 필요한 광 파이버 또는 배선 링크를 통해 진행시켜 광학 또는 전기 영역(가능하게는 이 둘간의 변환)에서 모두 전송을 가능하게 하는 것이다. 패들 카드는 또한 VT2 스트림의 1:N 분할을 제공하여 주변 장치 구조의 N 개 집합이 하나의 광대역 포트로 접속될 수 있도록 한다. 이는 도 18에 도면부호(1855)로 표기된다.18 illustrates a connection between AIU units 1710 and 1711 and OIU units 1720 and 1725 and core structure 1700. Each connection to the central architecture terminates at one port, such as narrowband port 1809 or wideband port 1839. For narrowband ports, the port must recover the clock from the input signal, buffer the input, generate flow bits for the unoccupied 248 bits of the payload, perform framing, It receives the information to control the control register of the port. For broadband port 1839, it is necessary to buffer the input, recover the clock, perform framing, and receive input information for the control register. Narrowband peripherals, that is, peripherals that generate narrowband signals, such as peripherals 1830 including peripherals 1711 and 1725, are connected to the central structure 1700 via a pair of paddlecards. Connected. The basic function of the paddle card is to go through an optical fiber or wiring link that requires interface circuitry to restore synchronization and framing, allowing transmission in either the optical or electrical domain (possibly between them). The paddle card also provides a 1: N split of the VT2 stream so that N sets of peripheral structures can be connected to one broadband port. This is indicated by reference numeral 1855 in FIG. 18.

(1830)은 하드-코딩된 PCM 회로 스트림 처리 장비를 포함하며, 프로토콜 처리나 스위칭과 같은 종류의 작업은 할 수 없다. 이는 각각의 형태의 스트림은 자신의 프로토콜일 수 있고, 스트림 별로 패킷이나 회로 스위칭된 것일 수 있으며, 실제로 비트 스트림을 해석하는 (1860)과는 바로 대조적이다.1830 includes hard-coded PCM circuit stream processing equipment and cannot do any kind of work such as protocol processing or switching. This is in contrast to 1860, where each type of stream may be its own protocol, packet- or circuit-switched per stream, and actually interpret the bit stream.

예를 들면, AIU 혹은 OIU와 같은 수용되는 광대역 및 협대역 주변 장치에서 주변 장치(1870)는 중앙 구조(1700)와 인터페이스되는 광대역 패들 카드(1840)로 전송하기 위해, 광대역 패들 카드(1850)로 입력되는 (1710)과 같은 AIU나 (1720)과 같은 OIU에 포함된 구조로 입력된다. 광대역 패들 카드는 포트(1839)에 입력을 공급한다.For example, in an acceptable broadband and narrowband peripheral such as an AIU or OIU, the peripheral device 1870 is sent to the broadband paddle card 1850 for transmission to the broadband paddle card 1840 interfaced with the central structure 1700. It is input in a structure included in an AIU such as 1710 or an OIU such as 1720. The broadband paddle card supplies an input to port 1839.

768 개의 VT2 들이 각각 128 개의 VT2 의 6개 스트림으로 분할된다. 이렇게 하는 주된 이유는, 128 VT2는 스트림으로부터의 250+ Mb/s 판독 및 기록와, 주변 장치로의 250+ Mb/s의 판독 및 기록으로, 총 1 Gbps의 판독 및 기록과 프로토콜 처리를 나타내기 때문이다. 이것은 1999년도의 다중-프로토콜이고 혼합형(heterogeneous)의 처리로는 대규모 처리이다. 실제적인 근거로, 이것은 단일 프로세서 복합체로서는 모든 상이한 프로토콜을 처리할 수 있기에 충분한 크기이다. 또한 이것은 계량성(scalability)의 관점에서 보면 비용면에서 가장 효율적인 단위 유닛이기 때문이다. 따라서 중앙 구조의 "N" 포트는 실제로 "6*N" 주변 장치 구조를 구동한다.768 VT2s are divided into six streams of 128 VT2s each. The main reason for this is because 128 VT2 represents 250+ Mb / s reads and writes from the stream and 250+ Mb / s reads and writes to peripherals, representing a total of 1 Gbps reads and writes and protocol processing. to be. This is the multi-protocol of 1999 and large-scale treatment with heterogeneous treatment. In practical terms, this is large enough to handle all different protocols with a single processor complex. This is also because it is the most cost-effective unit in terms of scalability. Thus the "N" port of the central structure actually drives the "6 * N" peripheral structure.

중앙 구조Central structure

중앙 구조(1700)는 VT2 싸이즈의 요소를 스위칭한다. VT2{가상 지선(virtual tributary)}는 SONET/SDH 표준 신호이며, 8KHz 프레임 별로 32 개의 타임 슬롯, 즉 프레임 별로 256 비트, 초당 2,048,000 비트의 유료 부하를 포함한다. 각각의 VT2는 각 방향 당 2.048 Mb/s인 양방향성이다.Central structure 1700 switches the elements of the VT2 size. VT2 (virtual tributary) is a SONET / SDH standard signal and contains 32 time slots per 8KHz frame, 256 bits per frame and 2,048,000 bits per second. Each VT2 is bidirectional with 2.048 Mb / s in each direction.

중앙 구조는 어떠한 형태의 서비스나 비트 스트림이 VT2 셀에 있는지에 대해서는 알지 못한다. 비트 스트림에 대한 해석은 수행되지 않는다. 각각의 VT2 타임슬롯의 각각의 포트로부터 VT2 셀의 내용이 적절한 외향 포트 및 올바른 타임슬롯으로 복제된다(TSI 기능).The central structure does not know what type of service or bit stream is in the VT2 cell. The interpretation on the bit stream is not performed. From each port of each VT2 timeslot the contents of the VT2 cell are duplicated to the appropriate outbound port and the correct timeslot (TSI function).

중앙 구조는 다음과 같은 형태의 포트를 포함한다.The central structure includes ports of the form

· N_in = 협대역 입력 포트N_in = narrowband input port

·N_out = 협대역 출력 포트N_out = narrowband output port

·B_in = 광대역 입력 포트B_in = broadband input port

·B_out = 광대역 출력 포트B_out = broadband output port

그리고 동반된 데이터 경로는,And the accompanying data path,

·N_in_N_out = 협대역 대 협대역 경로N_in_N_out = narrowband to narrowband path

·N_in_B_out = 협대역 대 광대역 경로N_in_B_out = narrowband to wideband path

·B_in_N_out = 광대역 대 협대역 경로B_in_N_out = broadband to narrowband path

·B_in_B_out = 광대역 대 광대역 경로B_in_B_out = broadband to broadband path

위와 같은 정의 아래, 중앙 구조는 다음 법칙에 따라 단순한 복제 작업을 수행한다.Under the above definition, the central structure performs simple cloning according to the following rules.

포트가 제어 RAM에 어떻게 정의되었든지 간에, 또는 위 경로 중 어느 것이 정의되었든지, 32 바이트 (256 비트)의 데이터 량 + 입력 포트로부터의 신호 비트들은 출력 포트로 복제한다. TSI 자체에 존재하는 포트 형태의 개념은 없다.No matter how the port is defined in the control RAM, or which of the above paths is defined, the amount of data of 32 bytes (256 bits) + signal bits from the input port are duplicated to the output port. There is no concept of port type in the TSI itself.

포트 형태를 둘 다 지원하는 핵심은 데이터 램 프로토콜로의 인터페이스에 있다. N_in 포트는 신호 비트와 데이터를 항상 신호 비트 저장장소, 즉 256 비트 데이터 RAM의 처음 8비트로 복제할 것이다. 나머지 248 비트는 내부 자원으로부터 "채움" 패턴으로 로드된다. B_in 포트는 신호 비트와 데이터를 신호 비트 저장장소, 즉 데이터의 모든 256 비트로 복제할 것이다. N_out 포트는 항상 신호 비트만, 즉 타임 슬롯의 RAM의 최초 8비트만을 링크로 판독할 것이다.The key to supporting both port types is the interface to the data RAM protocol. The N_in port will always duplicate signal bits and data to the signal bit storage, the first 8 bits of 256-bit data RAM. The remaining 248 bits are loaded in "fill" pattern from internal resources. The B_in port will duplicate the signal bits and data into the signal bit storage, i.e. all 256 bits of data. The N_out port will always read only the signal bits, ie only the first 8 bits of RAM in the time slot.

B_out 포트는 특별하다. 여기서는 특별한 259번째 비트(여분의 신호 비트)가 제어 RAM 저장내용에 기초하여 기록된다. 이 비트는 특정 타임슬롯이 협대역인지 또는 광대역 서비스인지를 알린다. 어떤 경우이든, 모든 신호 및 256 비트는 링크로 판독된다. 나오는 데이터를 주변 장치로 연결하는 패들 카드는 259번째 비트를 이용할 수 있다. 만약 광대역 주변 장치이면, 이 비트는 무시되고 모든 비트가 광(optical) 링크 상에 기록되며, 협대역 또는 광대역 서비스의 발행은 주변 장치 구조로 미루어진다. 광대역 네트워크 인터페이스라면, 실제로 광대역 및 협대역 SM간 (inter-SM) 접속을 동일한 패들 카드에 포함하고 있다. 각각의 논리 포트는 하나의 협대역 타임 슬롯과 하나의 광대역 타임 슬롯을 포함한다. 협대역 타임 슬롯은 259 번째 비트가 이번이 협대역 서비스라는 것을 나타낼 때에 기록된다.The B_out port is special. Here, a special 259th bit (extra signal bits) is written based on the control RAM storage contents. This bit indicates whether a particular timeslot is narrowband or broadband. In any case, all signals and 256 bits are read into the link. Paddle cards that connect outgoing data to peripherals can use the 259th bit. If it is a broadband peripheral, this bit is ignored and all bits are written on the optical link, and the issue of narrowband or broadband services is deferred to the peripheral structure. If it is a wideband network interface, it actually contains both wideband and narrowband inter-SM connections on the same paddle card. Each logical port includes one narrowband time slot and one wideband time slot. The narrowband time slot is recorded when the 259th bit indicates that this is a narrowband service.

도 19에 도시된 바와 같이, 협대역 서비스는 Lucent Technologies Inc. 에서 제조한 5ESS스위치의 CM3와 같은 통신 모듈로 분배되는데, 오늘날에는 대개 모든 협대역 스위치의 경우에 마찬가지다. 스위치 중앙 단계 광대역 구조로의 광대역 타임 슬롯은 "채움" 정보로 기록된다. 만약 259 번째 비트가 이번이 광대역 서비스라고 지시하면, 광대역 타임 슬롯은 광대역 서비스로 기록된다. 이 링크는 스위치 중앙 단계 광대역 구조로 접속된다. CM3로의 협대역 타임 슬롯은 적절한 "채움" 코드로 기록된다. 259 번째 비트는 광대역 구조 접속 명령에 의해 "광대역 서비스 코드"로 기록되어진다. 만약 레지스터가 접속 명령의 시간에 기록되어지지 않으면, 하드웨어는 디폴트로 259 번째 비트에 "협대역 서비스 코드"를 로드한다.As shown in Figure 19, the narrowband service is Lucent Technologies Inc. 5ESS manufactured by It is distributed to communication modules such as the switch's CM3, which today is usually the case for all narrowband switches. The broadband time slots into the switch central stage broadband structure are recorded as "fill" information. If the 259th bit indicates that this time is a broadband service, the broadband time slot is recorded as a broadband service. This link is connected in a switch central stage broadband architecture. Narrowband time slots to CM3 are recorded with appropriate "fill" codes. The 259th bit is written as a "broadband service code" by a broadband structure access command. If the register is not written at the time of the connect command, the hardware defaults to loading the "narrowband service code" on the 259th bit.

중앙 구조들간의 트래픽을 위한 중앙 구조(1700)의 광대역 출력은 패들 카드(1930 및 1940)를 경유하여 병렬 VT2-TSI 상호결선 구조(1910)로 연결된다. 병렬 VT2-TSI (1910)는 중앙 단계(1700)에 존재하는 포트의 다중성을 이용한다. "N" 개의 포트가 중앙 단계(1700)에 이용가능하며, 통상 균형잡힌 중앙 단계는 K=N/2 포트가 주변 장치에 부착되고, K 개의 포트가 2번째 단의 중앙 구조(1910)로 부착되어 있다. 병렬 TSI 두 번째 단계를 구성하는 기본적인 과정은 K 포트 중 몇 몇개에 두번째 단계의 "S" TSI의 각각을 할당하는 것이다. 다중 제 1 레벨 단계는 몇몇의 포트를, 각각의 제 2 레벨 단계의 각각의 제 1 레벨 단계로 할당하여 상호접속한다. 가능한 가장 대규모이고 경제적인 산출은 2*K=N 개의 제 1 레벨 단계를 상호결선하는 것이다. 이 구조에 있어서, 각각의 제 1 레벨 단계는 K 개의 제 2 레벨 구조로의 모든 K 네트워크 포트에, 제 2 레벨 구조당 한 포트씩 접속된다. 포트의 수는 실제로는 중앙 단계 당 N 개이므로, N 개의 상이한 제 1 레벨 단계가 상호결선될 수 있다. N 포트 제 1 레벨 단계의 다중성에 의해 상호결선될 수 있고, K 개의 제 2 레벨 단계로 접속되며, 제 1 및 제 2 레벨 단계가 동일한 부분을 사용하는 경우(이것이 경제적인 부분임), 주변 장치 포트의 전체량 (역시 K=N/2)은 K*N = N*N/2이다. 실제적인 응용에 있어서, 1999년도 기술 수준에서 이에 의해 총 초당 테라비트(terabit) 의 상호결선 처리능력이 가능해진다.The wideband output of the central structure 1700 for traffic between the central structures is connected to the parallel VT2-TSI interconnect structure 1910 via paddle cards 1930 and 1940. Parallel VT2-TSI 1910 takes advantage of the multiplicity of ports present in central stage 1700. "N" ports are available for the central stage 1700, with a balanced central stage typically having K = N / 2 ports attached to the peripheral device and K ports attached to the second stage central structure 1910. It is. Parallel TSI The basic process of configuring the second stage is to assign each of the second stage "S" TSIs to some of the K ports. The multiple first level stages interconnect several ports by assigning them to each first level stage of each second level stage. The largest and most economical output possible is to interconnect 2 * K = N first level steps. In this structure, each first level step is connected to all K network ports into K second level structures, one port per second level structure. Since the number of ports is actually N per central stage, N different first level stages can be interconnected. Peripheral devices that can be interconnected by multiplicity of N ports first level stages, connected in K second level stages, and where the first and second level stages use the same parts (this is an economical part) The total amount of ports (also K = N / 2) is K * N = N * N / 2. In practical applications, at the 1999 technical level, this enables total terabits of interconnection throughput per second.

주변 장치 구조Peripheral structure

주변 장치 구조는 광대역 서비스를 지원하기 위해 있지만 또한 협대역 서비스도 지원한다. 이 유닛은(특히 ADSL을 지원하는 것) 협대역 및 광대역 서비스를 동시에 지원할 것이다.The peripheral structure is to support broadband services but also supports narrowband services. This unit (especially supporting ADSL) will support both narrowband and broadband services simultaneously.

주변 장치 구조는 VT2 셀 유료 부하에 대해 임의의 서비스를 처리할 수 있다. 협대역인 서비스는 VT2 의 32 바이트 데이터 중에서 첫 번째 바이트만 필요한 것처럼 처리될 것이다. 광대역인 서비스는 VT2의 2 내지 32 바이트를 사용할 것이다. 이것은 서비스-당 기초로 정의된다.The peripheral structure may handle any service for the VT2 cell payload. Narrowband services will be treated as if only the first byte of the VT2's 32 byte data is needed. Broadband services will use 2 to 32 bytes of VT2. This is defined on a per-service basis.

주변 장치 구조는 다음과 같은 주요한 형태의 광대역 대역폭 클라스를 지원한다.The peripheral architecture supports the following major types of broadband bandwidth classes:

·VT2 전용VT2 only

·N×VT2 전용N × VT2 only

·VT2 공유 (패킷 파이프)VT2 share (packet pipe)

·N×VT2 공유 (더 큰 패킷 파이프)N × VT2 share (larger packet pipe)

주변 장치 구조는 구조가 어떻게 번역되고, 구조 내의 유료 부하가 어떻게 해석되는지를 결정하는 실제적인 소프트웨어가 포함된 메모리 및 프로세서에 의해 만들어진다. 이 구조는 스트림 당 베이스로 임의의 소프트웨어 프로그램이 임의의 프로토콜을 실행할 수 있기 때문에 "범용"이 된다. 이러한 혼합형(heterogeneous) 처리 능력은 최대한 노력한, 그리고 지터(jitter)가 0인 회로 품질의 다양한 것에 대해서 지원된다.Peripheral structures are created by memory and processors containing actual software that determines how the structure is translated and how the payloads within the structure are interpreted. This structure is "universal" because any software program can execute any protocol on a per-stream basis. This heterogeneous processing power is supported for a variety of circuit qualities with the greatest effort and zero jitter.

주변 장치 구조는 한 측은 중앙 VT2 TSI 구조(1700)에 접속되고 다른 한 측은 협대역 및 광대역 주변 장치 모두와 접속된다. 주변 장치 구조는 적절한 양방향성 프로토콜을 스트림당 베이스로 실행하여 각각의 소비자 신호 흐름이 올바른 포맷으로 유지되고 올바른 위치로 진행하도록 한다.The peripheral structure is connected at one side to a central VT2 TSI structure 1700 and at the other side to both narrowband and broadband peripherals. Peripheral architecture implements the appropriate bidirectional protocol on a per-stream basis to ensure that each consumer signal flow remains in the correct format and proceeds to the right location.

도 20은 VT2 셀 구조(1700)의 확장이다. 전체적인 구조는 "P" 포트로 구성된다. 각각의 P 포트는 협대역 또는 광대역으로 설정될 수 있다. 각각의 포트는 입력 및 출력 흐름을 지원할 수 있다(양방향성). 모든 유료부하는 임의의 입력 포트 "A" 로부터 임의의 출력 포트 "B"로 분배될 수 있다. 이것은 A와 B가 동일한 경우인 로프-어라운드(loop-around) 의 특별한 경우를 포함한다.20 is an extension of the VT2 cell structure 1700. The overall structure consists of "P" ports. Each P port can be set to narrowband or wideband. Each port can support input and output flows (bidirectional). All payloads can be distributed from any input port "A" to any output port "B". This includes the special case of loop-around where A and B are the same.

입력 포트 A (2001)는 입력 포트 신호 및 타이밍 복구 유닛(2003)을 포함한다. 이것은 제어 상태 저장장소(2000)의 정보로부터 포트가 협대역 동작을 수행하고 있는지, 또는 광대역 프로그램을 수행하고 있는지에 따라 프로그램된다.Input port A 2001 includes an input port signal and timing recovery unit 2003. This is programmed from the information in the control state store 2000 depending on whether the port is performing a narrowband operation or a wideband program.

만약 포트가 협대역 동작을 수행하고 있다면, 입력 포트 신호 및 타이밍 복구 유니트는 들어오는 신호로부터 협대역 유료 부하를 추출한다. 각각의 협대역 유료부하에 대하여, 다음과 같이 진행된다 : 유료부하가 TSI 입력 저장 영역(2013)으로 복제된다. 특히, 신호 유료부하의 두 비트는 경로(2005)를 통해 신호 비트 저장장소(2010)에 복제되며, 협대역 유료부하의 8 비트는 경로(2006)를 통해 저장장소(2011)로 복제될 것이다. 추가로, 경로(2007)를 통해 선택기(2004)로 진행하는 정보는 협대역이기 때문에 없다. 대신에 선택기(2004)는 입력 채움 비트 유닛(2002)으로부터 경로(2008)를 통해 "채움" 비트를 수신하여 경로(2009)에 올려 저장장소(2012)로 운반되도록 한다. (2010, 2011, 2012)는 모두 (2013)을 구성한다.If the port is performing narrowband operation, the input port signal and timing recovery unit extracts the narrowband payload from the incoming signal. For each narrowband payload, proceed as follows: The payload is replicated to the TSI input storage area 2013. In particular, two bits of the signal payload will be copied to the signal bit storage 2010 through the path 2005 and 8 bits of the narrowband payload will be copied to the storage 2011 through the path 2006. In addition, the information going to the selector 2004 via path 2007 is absent because it is narrowband. Instead, the selector 2004 receives the "fill" bit from the input fill bit unit 2002 via the path 2008 and puts it on the path 2009 for transport to the storage location 2012. (2010, 2011, 2012) all constitute (2013).

만약 포트가 광대역 동작을 수행하고 있으면, 입력 포트 신호 및 타이밍 복구 유닛은 광대역 유료 부하를 들어오는 신호로부터 추출한다. 각각의 광대역 유료 부하에 대하여 다음과 같이 진행된다: 유료 부하가 적절한 TSI 입력 저장 영역(2013)으로 복제된다. 특히, 신호 유료 부하의 두 비트는 경로(2005)를 통해 신호 비트 저장장소(2010)에 저장되고, 광대역 유료부하의 최초 8비트는 경로(2006)를 통해 저장장소(2011)에 복제된다. 광대역 유료부하의 나머지 248 비트는 경로(2007)을 통해 선택기(2040)로 이동하고, 경로(2009)를 통해 저장장소(2012)로 나아간다. 입력되는 "259번째 비트"는 입력 포트 신호 및 타이밍 복구 유닛(2003)에 흡수된다.If the port is performing broadband operation, the input port signal and timing recovery unit extracts the broadband payload from the incoming signal. For each broadband payload proceed as follows: The payload is replicated to the appropriate TSI input storage area 2013. In particular, two bits of the signal payload are stored in the signal bit storage 2010 through the path 2005 and the first 8 bits of the broadband payload are replicated to the storage 2011 through the path 2006. The remaining 248 bits of the broadband payload travel to selector 2040 via path 2007 and to storage 2012 through path 2009. The input "259th bit" is absorbed by the input port signal and timing recovery unit 2003.

데이터 및 신호 비트는 입력 저장장소(2013)로부터 내부 버스들(2014)을 통해 출력 저장장소(2019)로 옮겨진다. TSI 출력 저장장소(2019)는 비트 259(2015), 신호 비트 저장장소(2016), 데이터 저장장소(2017 및 2018)로 구성된다. (2010)에 있는 정보는 경로(2020)을 통해 (2016)으로 보내진다. (2011)에 있는 정보는 경로(2021)을 통해 (2017)으로 보내진다. (2012)에 있는 정보는 경로(2022)을 통해 (2018)으로 보내진다. 추가로, 비트 259(2015)는 제어 단계 저장 정보(2000)로부터 로딩된다. 비트 259는 "광대역 혹은 협대역 서비스 지시자"를 포함한다.Data and signal bits are transferred from input storage 2013 to output storage 2019 via internal buses 2014. The TSI output storage location 2019 consists of bit 259 (2015), signal bit storage location 2016, and data storage locations 2017 and 2018. Information at (2010) is sent to path (2016) via route 2020. Information in (2011) is sent to route (2017) via route 2021. The information at (2012) is sent to (2018) via the route 2022. In addition, bit 259 2015 is loaded from control step store information 2000. Bit 259 contains a "broadband or narrowband service indicator."

출력 포트 신호를 발생하기 위한 마지막 단계는 특정 정보를 적절한 TSI 출력 저장장소(2019)로부터 출력 포트 B(2023), 특히 출력 포트 발생기(2024)로 인가하는 것이다.The final step for generating the output port signal is to apply certain information from the appropriate TSI output repository 2019 to output port B 2023, in particular output port generator 2024.

출력 포트 B(2023)가 협대역 포트로 프로그램되면, 출력 포트 발생기(2024)는 신호 저장장소(2015) 및 데이터 저장장소(2017)로부터의 정보를 각각 경로(2026) 및 (2027)을 통해 사용한다. 이후에 이 신호는 경로(2029)로 보내진다.When output port B 2023 is programmed to a narrowband port, output port generator 2024 uses information from signal store 2015 and data store 2017 via paths 2026 and 2027, respectively. do. This signal is then sent to path 2029.

출력 포트 B(2023)가 광대역 포트로 프로그램되면, 출력 포트 발생기(2024)는 259번째 비트(2015), 신호 저장장소(2016), 그리고 데이터 저장장소(2017, 2018)로부터 수신된 모든 정보를 각각 경로(2025, 2026, 2027, 2028)을 통해 경로 (2029)로 내보낸다.When output port B 2023 is programmed to a wideband port, output port generator 2024 outputs all information received from bit 259, 2015, signal storage 2016, and data storage 2017 and 2018, respectively. Export to route 2029 via route 2025, 2026, 2027, 2028.

도 20은 포트당 신호 메모리의 단일의 입력 타임-슬롯과 단일의 출력 타임-슬롯만을 도시하다. 나머지 타임 슬롯은 도시하지 않았다. 한 바람직한 실시예에 있어서, 다중 타임-슬롯용의 메모리가 단일의 집적 회로 칩 내에 내장된다. 메모리의 선택된 타임 슬롯의 출력은 버스 시스템(2014)을 통해 선택된 출력 포트의 메모리의 타임 슬롯으로 분배된다. 메모리의 순차적인 타임슬롯은 순차적으로 로딩되고, 선택된 출력 포트의 선택된 타임 슬롯으로 선택적으로 전송되거나, 또는 선택적으로 로딩되고, 선택된 출력 포트의 선택된 타임 슬롯 메모리로 순차적으로 전송된다. 각각의 포트의 선택 과정은 다른 포트의 선택 과정과는 독립적이며, 제어 단계 저장장소의 별개의 메모리에 의해 제어된다.20 shows only a single input time-slot and a single output time-slot of signal memory per port. The remaining time slots are not shown. In one preferred embodiment, memory for multiple time-slots is contained within a single integrated circuit chip. The output of the selected time slot of the memory is distributed via the bus system 2014 to the time slot of the memory of the selected output port. Sequential timeslots of memory are loaded sequentially, selectively sent to the selected time slot of the selected output port, or selectively loaded, and sequentially sent to the selected time slot memory of the selected output port. Each port selection process is independent of the other port selection process and is controlled by a separate memory at the control stage storage location.

각각의 포트에 단일의 입력 타임-슬롯과 출력 타임-슬롯만이 사용되면, 블록(1700)은 시간 다중화된 스위치가 된다.If only a single input time-slot and output time-slot is used for each port, block 1700 becomes a time multiplexed switch.

시간 다중화 스위치(TMS) 코아 구조 :Time Multiplexing Switch (TMS) Core Structure:

도 17의 구조의 변형으로, 타임-슬롯 교환 구조(TSI) 셀 구조(1700)가 n×64 Kbps 시간 다중화된 스위치(TMS)로 대체된다. TMS는 64 Kbps 타임-슬롯(예를 들면 128 Kbps, 384 Kbps, 1.5 Mbps, 2.0 Mbps, 등)의 그룹들을 임의의 특정한 링크로 할당할 수 있다. 이러한 구현예는 VT2 TSI (1700)에 비해 더 많은 분립성(granularity)을 제공하는데, 즉, 더 적은 대역폭이 2.0 Mbps 보다 낮은 접속에 사용된다. TMS는 공간 스위치이므로, TSI 기능이 어딘가 다른데서 제공되어야 한다. B-AIU(1710)과 BB-OIU(1720)에는 마이크로프로세서에 주변 장치 구조(100) 소프트웨어가 부가되어 TSI 기능을 제공한다. 주변 장치 구조는 300 MHz PowerPC 의 경우 6000 개의 타임 슬롯 TSI 상당의 실시간 처리능력을 가진다. 주변 장치 구조(100) TSI 음성 호출 요구는, 도 17에 도시된 바와 같이 주변 장치 구조(100)의 천개의 타임-슬롯 처리능력의 128 음성 호출(128 최대)이다. 따라서 주변 장치 구조 실시간의 97%가 ATM, IP 및 여타의 스위칭 방식과 실시간 동작에 여전히 사용가능하다.In a variation of the structure of FIG. 17, a time-slot switched structure (TSI) cell structure 1700 is replaced with an n × 64 Kbps time multiplexed switch (TMS). The TMS may assign groups of 64 Kbps time-slots (eg 128 Kbps, 384 Kbps, 1.5 Mbps, 2.0 Mbps, etc.) to any particular link. This implementation provides more granularity compared to the VT2 TSI 1700, ie less bandwidth is used for connections lower than 2.0 Mbps. Since TMS is a spatial switch, TSI functionality must be provided somewhere. The B-AIU 1710 and BB-OIU 1720 add peripheral device architecture 100 software to the microprocessor to provide TSI functionality. The peripheral architecture has real-time throughput equivalent to 6000 time slot TSIs for a 300 MHz PowerPC. Peripheral Structure 100 The TSI voice call request is 128 voice calls (up to 128) of one thousand time-slot processing capacity of the peripheral structure 100, as shown in FIG. Thus, 97% of the peripheral structure real-time is still available for ATM, IP and other switching methods and real-time operation.

그러나 AIU(1711)와 OIU(1725)는 주변 장치 구조를 포함하고 있지 않으므로, TSI 기능이 어딘가 다른 곳에 있어야 한다. 협대역 AIU 및 OIU를 위한 마이크로프로세서 기반의 TSI는 TMS와 같이 놓일 수 있으며, 다중 AIU 및 OIU 들로부터 128× DSO들을 스위치할 수 있다. 다중 TSI들이 TMS의 처리용량까지 사용될 수 있다. 이 구조에 의해 대역폭이 더 낮은 위치 스위치(position switch)를 주변 장치 구조(100)에 사용할 수 있게 되고, 예를 들면 완전한 2 Mbps를 사용하거나 필요로 하는 고객들의 비율이 적거나 별로 많지 않은 초기 시장 진입에 있어서는 비용면에서 효율적이거나 적절할 것이다. 동일한 보드로 주변 장치 구조(100) 및 협대역 TSI 에 사용되는 TSI에 소프트웨어 변경 만으로 사용될 수 있다.However, since AIU 1711 and OIU 1725 do not include a peripheral structure, the TSI function must be somewhere else. Microprocessor-based TSI for narrowband AIU and OIU can be placed with TMS and can switch 128 × DSOs from multiple AIU and OIUs. Multiple TSIs can be used up to the throughput of TMS. This architecture allows for lower bandwidth position switches to be used in the peripheral structure 100, for example, in an early market where the proportion of customers using or requiring a full 2 Mbps is low or not very high. It will be cost effective or appropriate for entry. The same board can be used with only software changes to the TSI used for the peripheral structure 100 and the narrowband TSI.

네트워크 접속 :Network connection:

다음의 반 호출 시나리오는 네트워크의 접속을 예시한다.The following half call scenario illustrates the connection of a network.

반 호출 시나리오 1 : 협대역 포트 상의 협대역 서비스Half-call scenario 1: narrowband services on narrowband ports

이것은 가장 단순한 경우이다. 협대역 주변 장치들 및 협대역 구조 간의 현재의 상속(legacy) 협대역 상호접속에 대한 근거이다. 광대역 구조는 서비스가 협대역임을 분별하지 못하고 자동적으로 프레임 별로 32 바이트를 복제한다는 것을 기억하라. 전술한 바와 같이, N_in과 N_out 포트(1809)는 "채움" 비트를 부가하거나 "채움" 비트를 뺄 수 있는 특별한 처리능력을 제공한다. 결국 결과는 협대역에서 협대역으로의 접속이 가능하다는 것이다.This is the simplest case. It is the basis for current legacy narrowband interconnection between narrowband peripherals and narrowband structures. Remember that the broadband architecture does not know that the service is narrowband and will automatically duplicate 32 bytes per frame. As noted above, N_in and N_out ports 1809 provide special processing capability to add or subtract " fill " bits. The end result is that narrowband to narrowband connections are possible.

협대역 서비스에는 두 가지 흐름이 있다.There are two streams of narrowband service.

첫 번째 흐름은 중앙 구조로의 주변 장치의 방향에 있다. 두 번째 흐름은 주변 장치로의 중앙 구조의 방향에 있다. 첫 번째 흐름은 중앙 구조(1700)로의 전송을 위해 주변 장치(1830)로부터 협대역 패들 카드(1820)로 간다. 독자는 패들 카드 전송에 앞서, 필요한 협대역 포트의 수를 줄이기 위해 하나 혹은 더 많은 집중 단계(stage of concentration)를 제공하는 것이 보통이라는 것을 알아차릴 것이다. 협대역 링크는 다수의 DS0 타임-슬롯을 전송하는데, 각각의 타임슬롯은 또한 신뢰성 및 다른 목적을 위해 내부적인 특정의 신호 비트가 부가된다. 협대역 링크는 중앙 구조의 또다른 협대역 패들 카드(1810)상에서 종단된다. 그 다음 단계는 비트 스트림을 임의의 N_in 중앙 구조 포트(1809)로 전송하는 것이다. 이 시점에서, "반 호출"은 전술한 바와 같이 중앙 구조에서 스위칭될 수 있다.The first flow is in the direction of the peripherals to the central structure. The second flow is in the direction of the central structure to the peripheral device. The first flow goes from the peripheral device 1830 to the narrowband paddle card 1820 for transmission to the central structure 1700. The reader will notice that prior to paddle card transmission, it is normal to provide one or more stages of concentration to reduce the number of narrowband ports needed. The narrowband link transmits multiple DS0 time-slots, each of which is also appended with internal specific signal bits for reliability and other purposes. The narrowband link terminates on another narrowband paddle card 1810 of the central structure. The next step is to send the bit stream to any N_in central structure port 1809. At this point, the "half call" can be switched in the central structure as described above.

두 번째 흐름은 중앙 구조로부터 협대역 주변 장치로의 방향에 있다. 비트 스트림은 중앙 구조 단에서 이미 기술한 바와 같이 중앙 구조에서 N_out 포트(1809) 버퍼로 복제된다. 거기서부터, 비트 스트림은 협대역 패들 카드로 전송되어 주변 장치 영역으로 전송된다. 스트림은 또다른 협대역 패들 카드(1820)에 의해 종료된다. 하나 혹은 더 많은 팬아웃(fanout) (집중의 반대) 스테이지를 두어 조밀하게 점유된 타임 슬롯 스트림을, 각각이 특정한 서브-유니트 상의 특정한 다수의 주변 장치로 흘러 들어가는 다수의 성기게 점유된 스트림으로 분산시키는 것이 일반적이라는 것을 주목하라. 이후에 흐름은 실제의 주변 장치(1830) 그 자신에게로 계속된다.The second flow is in the direction from the central structure to the narrowband peripherals. The bit stream is replicated to the N_out port 1809 buffer in the central structure as already described in the central structure stage. From there, the bit stream is sent to the narrowband paddle card and sent to the peripheral area. The stream is terminated by another narrowband paddle card 1820. Set up one or more fanout (opposite) stages to distribute a densely occupied time slot stream into a number of sparsely occupied streams, each of which flows to a specific number of peripherals on a particular sub-unit Note that letting is common. The flow then continues to the actual peripheral 1830 itself.

반 호출 시나리오 2 : 광대역 포트 상의 협대역 서비스Half-call scenario 2: narrowband services on broadband ports

두 개의 흐름이 있다.There are two flows.

첫 번째 흐름은 협대역 주변 장치(1870)에서 광대역 포트(B_in)로이다. 협대역 스트림은 하드웨어 단계없이 현재 전통적인 집중 기능을 실행할 수 있는 주변 장치 구조로 흐른다. 주변 장치 구조(1860)는 협대역 흐름을 그들 각각의 VT2에 둔다. 이 경우, 32 개의 데이터 바이트중 단 하나만이 실제 정보를 포함하고, 나머지 31 바이트는 각각의 스트림에 "채움" 비트를 포함한다. 주변 장치 구조는 흐름을 광대역 패들 카드(1850)로 방출하고, 여기서는 그 흐름을 중앙 구조 위치로 전송하면, 또다른 광대역 패들 카드(1840)에서 종료된다. 이후에 이 패들 카드는 그 흐름을 광대역 입력 포트(B_in) (1839)로 전송한다. 중앙 구조 단에서 기술한 바와 같이, 전체 VT2 (하나는 실제, 31개는 채움 바이트)가 VT2 TSI에 의해 스위칭될 것이다. 그러나, 다른 주변 장치가 광대역인가 협대역인가는 문제가 되지 않는다. 어떠한 경우이든, 올바른 바이트가 결국 VT2의 올바른 위치에 도달하여, 전체 DS0를 차지할 것이다.The first flow is from narrowband peripheral 1870 to broadband port B_in. Narrowband streams flow into the peripheral structure, which can now perform traditional convergence functions without hardware steps. Peripheral structure 1860 places narrowband flows in their respective VT2. In this case, only one of the 32 data bytes contains the actual information, and the remaining 31 bytes contain the "fill" bit in each stream. The peripheral structure releases the flow to the broadband paddle card 1850, where it transfers to the central rescue location and ends at another broadband paddle card 1840. This paddle card then sends the flow to the broadband input port (B_in) 1839. As described in the central architecture stage, the entire VT2 (one real, 31 filled bytes) will be switched by the VT2 TSI. However, it does not matter whether other peripherals are wideband or narrowband. In any case, the correct byte will eventually reach the correct position in VT2, taking up the entire DS0.

두 번째 흐름은 광대역 포트(B_out)(1839) 로부터 협대역 주변 장치로이다. 이것은 더 흥미로운 방향이다. B_out 포트는 패들 카드가 각각의 VT2 프레임의 259번째 비트에 주의를 줄 수도 있고 그렇지 않을 수도 있다는 특별한 성질을 가진다는 것을 기억하라. 이 경우 259번째 비트는 이번이 USM-간 (즉 SM) 포트인 경우, 협대역으로 셋팅될 것이다. 이러한 경우, 트래픽은 협대역 CM3로 분배될 것이다. 그러나 이 경우, 각각의 타임슬롯을 어떻게 처리할 것인가하는 결정은 주변 장치 구조(1860)로 미루어지기 때문에 이 비트는 무시된다. 따라서, 흐름은 광대역 패들 카드(1840)로 계속하고, 광 링크를 통해 주변 장치의 위치로 가고, 주변 장치 구조의 패들 카드(1840)에서 종료한다. 이 패들 카드는 그 흐름을 주변 장치 구조(1860)로 전송하면, 이는 VT2의 첫 번째 바이트와 적절한 신호 비트를 협대역 주변 장치(1870)로 포워딩한다. 주변 장치 구조는 또한 팬-아웃 기능을 수행할 수 있음을 기억하라.The second flow is from the wideband port (B_out) 1839 to the narrowband peripheral device. This is a more interesting direction. Remember that the B_out port has a special property that the paddle card may or may not pay attention to the 259th bit of each VT2 frame. In this case, the 259th bit will be set to narrowband if this time is an inter-USM (ie SM) port. In this case, traffic will be distributed to narrowband CM3. However, in this case, this bit is ignored because the decision of how to handle each timeslot is postponed to the peripheral structure 1860. Thus, the flow continues to the broadband paddle card 1840, goes through the optical link to the location of the peripheral device, and ends at the paddle card 1840 of the peripheral structure. This paddle card sends the flow to peripheral structure 1860, which forwards the first byte of VT2 and the appropriate signal bits to narrowband peripheral 1870. Note that the peripheral structure can also perform a fan-out function.

반 호출 시나리오 3 : 광대역 포트 상의 광대역 서비스Half-call scenario 3: broadband service on broadband port

두 개의 흐름이 있다.There are two flows.

하나는 광대역 주변 장치(1870)로부터 중앙 구조 광대역 포트(B_in) (1839)로이다. 각각의 광대역 스트림은 주변 장치 구조(1860)로 전송된다. 주변 장치 구조는 사전공급(provisioned)에 의해, 또는 동적인 접속 순서에 의해, 어떤 형태의 프로토콜이 스트림에 있는지를 이해한다. 주변 장치 구조는 적절한 구획(segmentation) 기능을 수행해서, 광대역 스트림을 VT2 셀로 올려 구조를 통해 전송한다. 흐름은 패들 카드(1850, 1840)를 통해 계속되어, B_in 포트(1839) 까지 계속된다. 전술한 바와 같이 광대역 흐름은 중앙 구조에서 스위칭된다.One is from the broadband peripheral 1870 to the central structure broadband port (B_in) 1839. Each wideband stream is sent to the peripheral structure 1860. The peripheral structure understands what type of protocol is in the stream, either by provisioning, or by dynamic connection order. The peripheral device structure performs the appropriate segmentation function, which loads the wideband stream to the VT2 cell and transmits it through the structure. Flow continues through paddle cards 1850 and 1840 and continues to B_in port 1839. As mentioned above, the broadband flow is switched in the central structure.

두 번째 흐름은 중앙 구조 광대역 포트(B_out) (1839)로부터 광대역 주변 장치(1870)로이다. B_out 스트림은 더 흥미롭다. 이 스트림에서 259 번째 비트는 여기서 "광대역"으로 셋팅될 것이다. 이것은 주변 장치 패들 카드이기 때문에 259번째 비트는 무시되지만, 전술한 바와 같이, 만약 이번이 네트워크 포트였다면 적절히 분배될 것이다. 흐름은 패들 카드(1840, 1850)를 경유하여 주변 장치 구조(1860)까지 계속되고, 도착하면 주변 장치 구조에 의해 처리된다. 주변 장치 구조는 VT2 셀로부터 출력 스트림 프로토콜 포맷으로 적절한 재-조립 함수를 실행한다. 이후에 스트림은 올바른 광대역 주변 장치(1870)로 전송된다.The second flow is from the central structure broadband port (B_out) 1839 to the broadband peripheral 1870. The B_out stream is more interesting. The 259th bit in this stream will be set here as "wideband". Because this is a peripheral paddle card, the 259th bit is ignored, but as discussed above, if this was a network port it would be appropriately distributed. Flow continues to peripheral structure 1860 via paddle cards 1840 and 1850 and is processed by the peripheral structure upon arrival. The peripheral structure executes the appropriate reassembly function in the output stream protocol format from the VT2 cell. The stream is then sent to the correct broadband peripheral 1870.

반 호출 시나리오 4 : 광대역 포트 상의 협대역 서비스(네트워크-측)Half-call scenario 4: narrowband service on the broadband port (network-side)

이 호출 시나리오는 내부(네트워크) 접속에 관련된다. 이들 접속은 다중 중앙 구조의 상호접속을 가능하게 하기 위하여 존재한다. 따라서 이것은 고객에게는 보이지 않는 "내부 반-호출"을 나타내지만 실제로 존재하여 한 고객이 한 중앙 구조에 존재하고 다른 고객이 상이한 중앙 구조에 존재하는 경우에 두 고객간에 상호접속을 수행한다. 이러한 경우에, 중앙 구조의 제 2 레벨이 중앙 구조의 제 1 레벨을 상호접속한다.This calling scenario involves an internal (network) connection. These connections exist to enable interconnection of multiple central structures. Thus this represents an "internal half-call" that is invisible to the customer but actually exists to perform the interconnection between the two customers if one customer exists in one central structure and the other customer is in a different central structure. In this case, the second level of the central structure interconnects the first level of the central structure.

두 개의 흐름이 있다.There are two flows.

첫 번째 흐름은 협대역 상호접속(제 2 레벨) 구조(1730)로부터 제 1 레벨 중앙 구조(1731)의 입력 포트(B_in)로이다. 첫 번째 흐름은 협대역 포트인 포트(N2_in)에서 패들 카드(1930)로 들어간다. 패들 카드는 타임 슬롯당 2 개의 선택이 가능하다. N2_in 혹은 B2_in에 있는 정보를 사용할 것을 선택할 수 있다. 이 경우 N2_in 을 사용해서 신호 + 8 데이터 비트 정보를 B_in으로 향하는 스트림으로 복제할 것이다. 패들 카드(1930)는 또한 나머지 31 바이트의 "채움" 비트를 타임슬롯에 부가하고, 협대역 서비스(3번 째 신호 비트)를 나타내는 259 번째 비트를 삽입하여야 한다. 일단 이것이 수행되면, 스트림은 B_in 포트로 계속되고 그기서 전술한 바와 같이 임의의 다른 포트로 복제될 수 있다.The first flow is from narrowband interconnect (second level) structure 1730 to input port B_in of first level central structure 1731. The first flow enters paddle card 1930 at port N2_in, which is a narrowband port. The paddle card has two choices per time slot. You can choose to use the information in N2_in or B2_in. In this case we will use N2_in to duplicate the signal + 8 data bit information into the stream destined for B_in. Paddle card 1930 must also add the remaining 31 bytes of “fill” bits to the timeslot and insert the 259th bit representing the narrowband service (third signal bit). Once this is done, the stream continues to the B_in port and can then be replicated to any other port as described above.

위의 설명에서 한가지 의문이 남는다. 패들 카드는 어떻게 B2_in의 타임슬롯이 아니고 N2_in의 타임슬롯을 사용할 필요가 있다는 것을 알 수 있을까? 그 대답은 N2_out으로 나가는 스트림은 "협대역"으로 설정된 타임슬롯 신호 비트(259번째)를 포함하고 있다는 것이다. 이 비트는 결정 함수로서 "입력" 스트림 상태 머신에 의해 사용되는 패들 카드 ASIC의 저장 레지스터를 갱신한다. 따라서 나가는 스트림의 정보는 대응하는 입력 스트림의 정보도 또한 포함한다. 이에 의해 TSI가 타임슬롯 당 베이스로 패들 카드를 조작할 수 있게 된다. 다시 갱신기로서, 이에 의해 시스템의 상속 양상(legacy aspect)과 서로 작용할 수 있게 한다. 협대역 트래픽은 광대역 서비스의 존재에 대해 알지 못한다. 이것은 기존의 응용에 대해 재가공이 불필요하고, 범용 구조 SM이 어떤 일이 발생하는지 응용에서는 알지 못하면서도 제2 레벨 구조를 통해 직접 데이터를 서로 처리함에 의해 사전에 범용 구조 SM과 작용할 수 있기 때문에 큰 장점이 된다.One question remains from the description above. How do you know that a paddle card needs to use N2_in timeslots rather than B2_in timeslots? The answer is that the stream going to N2_out contains timeslot signal bits (259th) set to "narrowband". This bit updates the storage register of the paddle card ASIC used by the "input" stream state machine as a decision function. The information of the outgoing stream therefore also includes the information of the corresponding input stream. This allows the TSI to operate the paddle card on a per time slot basis. Again as an updater, this allows us to interact with the legacy aspect of the system. Narrowband traffic is unaware of the existence of broadband services. This is a great advantage because no rework is required for existing applications, and applications can interact with the general-purpose structure SM in advance by directly processing data with each other through a second-level structure without knowing what happens to the general-purpose structure SM. Becomes

두 번째 흐름은 제 1 레벨 중앙 구조(1702)의 출력 포트로부터 협대역 상호접속(제 2 레벨) 구조(1730)로이다. 이 흐름은 259번째 비트가 협대역으로 셋팅되면서 B_out 포트를 떠난다. 패들 카드(1930)에 도착하면, 이 비트에 의해 ASIC은 이를 N2_out 포트로 분배하게 된다. 데이터의 첫 번째 바이트와, 신호 비트는 N2_out 스트림에 놓인다. 나머지 31 바이트는 N2_out 의 시야로부터 무시된다. 동시에, B2_out 포트는 유효한 정보가 존재하지 않기 때문에 32 바이트의 채움 데이터로 로딩된다.The second flow is from the output port of the first level central structure 1702 to the narrowband interconnect (second level) structure 1730. This flow leaves port B_out with the 259th bit set to narrowband. Upon arrival to paddle card 1930, this bit causes the ASIC to distribute it to the N2_out port. The first byte of data and the signal bits are placed in the N2_out stream. The remaining 31 bytes are ignored from the field of view of N2_out. At the same time, the B2_out port is loaded with 32 bytes of fill data because no valid information exists.

반 호출 시나리오 5 : 광대역 포트 상의 광대역 서비스(네트워크-측)Half Call Scenario 5: Broadband Services on the Broadband Port (Network-Side)

이 호출 시나리오는 내부 (네트워크) 접속에 관련된다. 이들 접속은 다수의 중앙 구조의 상호접속을 가능하게 하기 위하여 존재한다. 따라서 이는 고객에게는 보여지지 않는 "내부적 반 호출"로 나타나지만, 실제로 존재하여, 한 고객이 한 중앙 구조에 존재하고 다른 고객이 다른 중앙 구조에 존재하는 경우 두 고객의 상호접속을 수행한다. 이들 경우에 있어서, 중앙 구조의 제 2 레벨은 중앙 구조의 제 1 레벨과 상호접속한다.This calling scenario involves an internal (network) connection. These connections exist to enable interconnection of multiple central structures. Thus it appears to be an "internal half call" that is not seen by the customer, but in fact exists, performing the interconnection of two customers if one customer exists in one central structure and the other customer exists in another central structure. In these cases, the second level of the central structure interconnects with the first level of the central structure.

두 개의 흐름이 있다.There are two flows.

첫 번째 흐름(1732)은 광대역 상호접속(제 2 레벨) 구조 (1910)로부터 제 1 레벨 중앙 구조(1702)의 입력 포트(B_in)로이다. 첫 번째 흐름은 광대역 포트인 포트(B2_in)에서 패들 카드(1930)로 들어간다. 패들 카드는 타임 슬롯당 2 개의 선택이 가능하다. N2_in 혹은 B2_in에 있는 정보를 사용할 것을 선택할 수 있다. 이 경우 B2_in을 사용해서 신호 + 256 데이터 비트 를 B_in으로 향하는 스트림으로 복제할 것이다. 패들 카드는 또한 광대역 서비스(3번 째 신호 비트)를 나타내는 259 번째 비트를 삽입하여야 한다. 일단 이것이 수행되면, 스트림은 B_in 포트로 계속되고 거기서 전술한 바와 같이 임의의 다른 포트로 복제될 수 있다.The first flow 1732 is from the broadband interconnect (second level) structure 1910 to the input port B_in of the first level central structure 1702. The first flow enters the paddle card 1930 at port B2_in, which is a broadband port. The paddle card has two choices per time slot. You can choose to use the information in N2_in or B2_in. In this case we will use B2_in to duplicate the signal + 256 data bits into the stream destined for B_in. The paddle card must also insert the 259th bit representing the broadband service (third signal bit). Once this is done, the stream continues to the B_in port and can be replicated there to any other port as described above.

위의 설명에서 한가지 의문이 남는다. 패들 카드(1930)는 어떻게 N2_in의 타임슬롯이 아니고 B2_in의 타임슬롯을 사용할 필요가 있다는 것을 알 수 있을까? 그 대답은 B2_out으로 나가는 스트림은 "광대역"으로 설정된 타임슬롯 신호 비트(259번째)를 포함하고 있다는 것이다. 이 비트는 결정 함수로서 "입력" 스트림 상태 머신에 의해 사용되는 패들 카드 ASIC의 저장 레지스터를 갱신한다. 따라서 나가는 스트림의 정보는 대응하는 입력 스트림의 정보도 또한 포함한다. 이에 의해 TSI가 타임슬롯 당 베이스로 패들 카드를 조작할 수 있게 된다. 다시 갱신기로서, 이에 의해 시스템의 상속 양상(legacy aspect)과 서로 작용할 수 있게 한다. 협대역 트래픽은 광대역 서비스의 존재에 대해 알지 못한다. 이것은 기존의 응용에 대해 재가공이 불필요하고, 범용 구조 SM이 어떤 일이 발생하는지 응용에서는 알지 못하면서도 제 2 레벨 구조를 통해 직접 데이터를 서로 처리함에 의해 사전에 범용 구조 SM과 작용할 수 있기 때문에 큰 장점이 된다.One question remains from the description above. How can the paddle card 1930 need to use the timeslot of B2_in, not the timeslot of N2_in? The answer is that the stream going to B2_out contains timeslot signal bits (259th) set to "wideband". This bit updates the storage register of the paddle card ASIC used by the "input" stream state machine as a decision function. The information of the outgoing stream therefore also includes the information of the corresponding input stream. This allows the TSI to operate the paddle card on a per time slot basis. Again as an updater, this allows us to interact with the legacy aspect of the system. Narrowband traffic is unaware of the existence of broadband services. This is a great advantage because no rework is required for existing applications, and applications can interact with the general-purpose structure SM in advance by directly processing data with each other through a second-level structure without the application knowing what happens. Becomes

두 번째 흐름은 제 1 레벨 중앙 구조(1702)의 출력 포트(B_out)로부터 광대역 상호접속(제 2 레벨) 구조(1910)로이다. 이 흐름은 259번째 비트가 광대역으로 셋팅되면서 B_out 포트를 떠난다. 패들 카드에 도착하면, 이 비트에 의해 ASIC은 이를 B2_out 포트로 분배하게 된다. 데이터의 모든 32 바이트와 신호 비트는 B2_out 스트림에 놓인다. 동시에, N2_out 포트는 유효한 정보가 존재하지 않기 때문에 1 바이트의 채움 데이터로 로딩된다.The second flow is from the output port B_out of the first level central structure 1702 to the broadband interconnect (second level) structure 1910. This flow leaves port B_out with the 259th bit set to broadband. On arrival to the paddle card, this bit causes the ASIC to distribute it to the B2_out port. All 32 bytes and signal bits of data are placed in the B2_out stream. At the same time, the N2_out port is loaded with one byte of fill data because no valid information exists.

반 호출 시나리오 6 : 협대역 포트 상의 협대역 서비스(네트워크-측)Half-call scenario 6: narrowband services on narrowband ports (network-side)

이 호출 시나리오는 내부(네트워크) 접속에 관련된다. 이들 접속은 다중 중앙 구조의 상호접속을 가능하게 하기 위하여 존재한다. 따라서 이것은 고객에게는 보이지 않는 "내부 반-호출"을 나타내지만 실제로 존재하여 한 고객이 한 중앙 구조에 존재하고 다른 고객이 상이한 중앙 구조에 존재하는 경우에 두 고객간에 상호접속을 수행한다. 이러한 경우에, 중앙 구조의 제 2 레벨이 중앙 구조의 제 1 레벨을 상호접속한다.This calling scenario involves an internal (network) connection. These connections exist to enable interconnection of multiple central structures. Thus this represents an "internal half-call" that is invisible to the customer but actually exists to perform the interconnection between the two customers if one customer exists in one central structure and the other customer is in a different central structure. In this case, the second level of the central structure interconnects the first level of the central structure.

두 개의 흐름이 있다.There are two flows.

첫 번째 흐름은 협대역 상호접속(제 2 레벨) 구조(CM3)(1730)로부터 제 1 레벨 중앙 구조(1701)의 입력 포트(N_in)로이다. 첫 번째 흐름은 협대역 패들 카드(NCT2/3 종단)을 통과하는 경로를 통해 제 1 레벨 구조로 도착한다. N_in 포트는 전술한 바와 같이 "채움" 비트 동작 등을 수행하여, 협대역 유료부하 및 신호들이 VT2와 신호 저장장소로 매핑되도록 한다. 일단 이것이 수행되면, 이 스트림은 전술한 바와 같이 다른 임의의 포트로 복제될 수 있다.The first flow is from narrowband interconnect (second level) structure CM3 1730 to input port N_in of first level central structure 1701. The first flow arrives at the first level structure via a path through the narrowband paddle card (NCT2 / 3 termination). The N_in port performs a "fill" bit operation and the like as described above, so that the narrowband payload and signals are mapped to the VT2 and the signal storage. Once this is done, this stream can be replicated to any other port as described above.

두 번째 흐름(1731)은 제 1 레벨 중앙 구조(1701)의 출력 포트(N_out)로부터 제 2 레벨 구조의 협대역 신호접속이다. N_out 포트는 TSI의 내부 VT2 + 신호 포맷으로부터 DS0 유료부하와 신호 비트를 적절히 추출한다. 이후에 흐름은 구조의 N_out 포트를 떠나서 협대역 패들 카드(NCT2/3)를 거쳐 제 2 레벨 중앙 구조로 진행한다.The second flow 1731 is the narrowband signaling of the second level structure from the output port N_out of the first level central structure 1701. The N_out port properly extracts the DS0 payload and signal bits from the TSI's internal VT2 + signal format. The flow then leaves the N_out port of the structure and proceeds through the narrowband paddle card NCT2 / 3 to the second level central structure.

패들 카드는 또한 VT2 스트림의 1:N 분할을 제공하여 N 세트의 주변 장치 구조가 하나의 광대역 포트로 접속될 수 있도록 한다. 이것은 도 18에서 도면부호(1855)로 주어져 있다.The paddle card also provides a 1: N split of the VT2 stream so that the N sets of peripheral structures can be connected to one broadband port. This is given by reference numeral 1855 in FIG. 18.

(1830)은 하드-코딩(hard-coded)된 PCM 회로 스트림 처리 장비를 포함하며, 어떠한 종류의 프로토콜 처리나 스위칭을 할 능력은 없다. 이것은 비트 스트림을 실제로 해석하고, 각각의 스트림의 형태가 그 자체 프로토콜이 될 수도 있고 스트림 별로 패킷이나 회로 스위칭된 것일 수 있는 (1860)과는 직접적으로 대조적이다.1830 includes hard-coded PCM circuit stream processing equipment and is incapable of any kind of protocol processing or switching. This is in direct contrast to 1860, which actually interprets the bit stream and each stream's type may be its own protocol or may be packet or circuit switched per stream.

768 개의 VT2들이 각각 128 개의 VT2의 6개 스트림으로 분할된다. 이렇게 하는 주된 이유는, 128 VT2는 스트림으로부터의 250+ Mb/s 판독 및 기록과, 주변 장치로의 250+ Mb/s의 판독 및 기록으로, 총 1 Gbps의 판독 및 기록과 프로토콜 처리를 나타내기 때문이다. 이것은 1999년도의 다중-프로토콜이고 혼합형(heterogeneous)의 처리로는 대규모 처리이다. 실제적인 근거로, 이것은 단일 프로세서 복합체로서는 모든 상이한 프로토콜을 처리할 수 있기에 충분한 크기이다. 또한 이것은 계량성(scalability)의 관점에서 보면 비용면에서 가장 효율적인 단위 유닛이기 때문이다. 따라서 중앙 구조의 "N" 포트는 실제로 "6*N" 주변 장치 구조를 구동한다.768 VT2s are divided into six streams of 128 VT2s each. The main reason for this is that 128 VT2 is 250+ Mb / s reads and writes from the stream and 250+ Mb / s reads and writes to the peripherals, representing a total of 1 Gbps reads and writes and protocol processing. Because. This is the multi-protocol of 1999 and large-scale treatment with heterogeneous treatment. In practical terms, this is large enough to handle all different protocols with a single processor complex. This is also because it is the most cost-effective unit in terms of scalability. Thus the "N" port of the central structure actually drives the "6 * N" peripheral structure.

결론 :conclusion :

전술한 내용은 출원인의 발명의 바람직한 실시예 중의 하나이다. 많은 다른 실시예들이 본 발명의 범주를 벗어남이 없이 당해 기술 분야에 통상의 숙달된 자에게 명백하다. 본 발명의 범주는 첨부된 청구범위에 의해서만 제한된다.The foregoing is one of the preferred embodiments of the applicant's invention. Many other embodiments are apparent to those of ordinary skill in the art without departing from the scope of the present invention. It is intended that the scope of the invention only be limited by the appended claims.

본 발명은 단일의 대규모 스위치로 다수의 프로토콜을 가진 대량의 트래픽을 스위칭할 수 있는 효과를 제공한다.The present invention provides the effect of switching a large amount of traffic with multiple protocols with a single large switch.

Claims (18)

통신 스위칭 네트워크에 있어서,In a communication switching network, 상이한 프로토콜을 가진 입력 신호를 수신하고, 표준 프로토콜로 싸인(encapsulated) 출력 신호를 발생하는 다수의 모듈을 포함하고,A plurality of modules for receiving input signals with different protocols and generating an output signal encapsulated with a standard protocol, 중앙 단계 스위치를 포함하여 상기 표준 프로토콜의 신호를 상기 중앙 단계의 입력 포트로부터 상기 중앙 단계의 출력 포트로 스위칭하며,A central stage switch to switch signals of the standard protocol from an input port of the central stage to an output port of the central stage, 상기 다수의 모듈은 상기 표준 프로토콜의 상기 출력 포트의 신호를 상기 입력 신호의 상기 다수의 프로토콜 중 임의의 것으로 변환하는 것을 특징으로 하는 통신 스위칭 네트워크.And the plurality of modules convert signals of the output port of the standard protocol into any of the plurality of protocols of the input signal. 제 1 항에 있어서,The method of claim 1, 상기 중앙 단계는 광대역 신호만을 스위칭하며, 상기 중앙 단계로 전송된 협대역 신호는 광대역 신호로 변환되는 것을 특징으로 하는 통신 스위칭 네트워크.Said central stage switching only a wideband signal, wherein the narrowband signal transmitted to said central stage is converted into a wideband signal. 제 2 항에 있어서,The method of claim 2, 상기 중앙 단계로의 모든 신호에 한 여분의 비트가 추가되어 광대역 신호와 협대역 신호를 구별하도록 하는 것을 특징으로 하는 통신 스위칭 네트워크.And an extra bit is added to all signals to the central stage to distinguish between wideband and narrowband signals. 제 2 항에 있어서,The method of claim 2, 상기 중앙 단계가 수신된 협대역 신호에 "채움" 비트를 부가하는 것을 특징으로 하는 통신 스위칭 네트워크.Wherein said central step adds a "fill" bit to the received narrowband signal. 제 1 항에 있어서,The method of claim 1, 상기 중앙 단계가 타임 슬롯 교환 스위치인 것을 특징으로 하는 통신 스위칭 네트워크.Said central stage being a time slot exchange switch. 제 1 항에 있어서,The method of claim 1, 상기 중앙 단계가 시간 다중화 스위치(TMS)인 것을 특징으로 하는 통신 스위칭 네트워크.Wherein said central step is a time multiplexing switch (TMS). 제 1 항에 있어서,The method of claim 1, 최소한 하나의 추가적인 상기 통신 스위칭 네트워크 하나를 더 포함하며,Further includes at least one additional said communication switching network, 각각의 상기 통신 스위칭 네트워크의 중앙 단계 스위치가 다른 중앙 단계 스위치들과의 상호접속을 위한 최소한 하나의 별개의 통신모듈에 접속되는 것을 특징으로 하는 통신 스위칭 네트워크.A central stage switch of each said communications switching network is connected to at least one separate communications module for interconnection with other central stage switches. 제 7 항에 있어서,The method of claim 7, wherein 상기 별개의 통신 모듈 중의 하나가 시간 다중화된 스위치인 것을 특징으로 하는 통신 스위칭 네트워크.One of said separate communication modules is a time multiplexed switch. 제 7 항에 있어서,The method of claim 7, wherein 상기 별개의 통신 모듈 중의 하나가 타임-슬롯 교환 스위치인 것을 특징으로 하는 통신 스위칭 네트워크.One of said separate communication modules is a time-slot switched switch. 제 7 항에 있어서,The method of claim 7, wherein 상기 입력 신호가 협대역 및 광대역 신호를 포함하고, 상기 별개의 통신 모듈 중의 하나가 광대역 신호를 스위칭하기 위한 것임을 특징으로 하는 통신 스위칭 네트워크.Wherein said input signal comprises narrowband and wideband signals, wherein one of said separate communication modules is for switching a wideband signal. 제 1 항에 있어서,The method of claim 1, 상기 입력 신호가 협대역 신호 및 광대역 신호를 포함하는 것을 특징으로 하는 통신 스위칭 네트워크.And the input signal comprises a narrowband signal and a wideband signal. 제 1 항에 있어서,The method of claim 1, 상기 입력 신호가 아날로그 POTS(Plain Old Telephone Service : 일반 구형 전화 서비스) 선로로부터의 다중화된 신호를 포함하는 것을 특징으로 하는 통신 스위칭 네트워크.And the input signal comprises a multiplexed signal from an analog Plain Old Telephone Service (POTS) line. 제 1 항에 있어서,The method of claim 1, 상기 입력 신호가 ATM(Asynchronous Transfer Mode : 비동기 전송 모드) 신호를 포함하는 것을 특징으로 하는 통신 스위칭 네트워크.And the input signal comprises an Asynchronous Transfer Mode (ATM) signal. 제 1 항에 있어서,The method of claim 1, 상기 입력 신호가 IP (Internet Protocol : 인터넷 프로토콜) 신호를 포함하는 것을 특징으로 하는 통신 스위칭 네트워크.And the input signal comprises an Internet Protocol (IP) signal. 제 1 항에 있어서,The method of claim 1, 상기 입력 신호가 프레임 릴레이 신호를 포함하는 것을 특징으로 하는 통신 스위칭 네트워크.And the input signal comprises a frame relay signal. 제 1 항에 있어서,The method of claim 1, 상기 입력 신호가 펄스 코드 변조 (PCM) 신호를 포함하는 것을 특징으로 하는 통신 스위칭 네트워크.And the input signal comprises a pulse code modulation (PCM) signal. 제 1 항에 있어서,The method of claim 1, 상기 입력 모듈 중의 하나가 아날로그 협대역 전화 선로 및 비동기 디지탈 가입자 선로(ADSL) 로부터 입력을 수신하는 것을 특징으로 하는 통신 스위칭 네트워크.Wherein one of the input modules receives inputs from analog narrowband telephone lines and asynchronous digital subscriber lines (ADSL). 제 1 항에 있어서,The method of claim 1, 부가적인 다수의 중앙 단계 스위치를 더 포함하여, 각각의 중앙 단계 스위치는 각각의 상기 다수의 모듈로 접속되고, 상기 중앙 단계 스위치와 상기 다수의 모듈이 Clos 네트워크 구조로 상호접속되는 것을 특징으로 하는 통신 스위칭 네트워크.Further comprising an additional plurality of central stage switches, wherein each central stage switch is connected to each of the plurality of modules, and the central stage switch and the plurality of modules are interconnected in a Clos network structure. Switching network.
KR1019990040295A 1998-09-18 1999-09-18 A large combined broadband and narrowband switch Expired - Fee Related KR100645612B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10103098P 1998-09-18 1998-09-18
US60/101,030 1998-09-18
US09/276,188 1999-03-25
US9/276,188 1999-03-25
US09/276,188 US6600741B1 (en) 1999-03-25 1999-03-25 Large combined broadband and narrowband switch

Publications (2)

Publication Number Publication Date
KR20000028695A true KR20000028695A (en) 2000-05-25
KR100645612B1 KR100645612B1 (en) 2006-11-13

Family

ID=26797823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990040295A Expired - Fee Related KR100645612B1 (en) 1998-09-18 1999-09-18 A large combined broadband and narrowband switch

Country Status (1)

Country Link
KR (1) KR100645612B1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69736340T2 (en) * 1996-03-19 2007-07-12 Lucent Technologies Inc. Method and device in an integrated telecommunications network for converting synchronous narrowband signals into signals operating in asynchronous transmission mode

Also Published As

Publication number Publication date
KR100645612B1 (en) 2006-11-13

Similar Documents

Publication Publication Date Title
EP1041780B1 (en) A large combined broadband and narrowband switch
KR100664778B1 (en) Telecommunication switching network structure element
US6621828B1 (en) Fused switch core and method for a telecommunications node
US6822960B1 (en) Asynchronous transfer mode (ATM) switch and method
US7342942B1 (en) Multi-service segmentation and reassembly device that maintains only one reassembly context per active output port
US7286566B1 (en) Multi-service segmentation and reassembly device that maintains reduced number of segmentation contexts
US5467349A (en) Address handler for an asynchronous transfer mode switch
US5414707A (en) Broadband ISDN processing method and system
US5809024A (en) Memory architecture for a local area network module in an ATM switch
US5619500A (en) ATM network interface
US6961340B2 (en) AAL2 receiver for filtering signaling/management packets in an ATM system
US5734656A (en) Method and apparatus for dynamically allocating bandwidth on a TDM bus
US5841771A (en) Telecommunications switch apparatus and method for time switching
US5852606A (en) Method and apparatus for transmitting cells across an ATM switch bus
US6990108B2 (en) ATM system architecture for the convergence of data, voice and video
AU686294B2 (en) Message routing
US5557610A (en) Cell switch fabric chip
US7349393B2 (en) Method and system for implementing an improved universal packet switching capability in a data switch
US6944153B1 (en) Time slot interchanger (TSI) and method for a telecommunications node
US6760327B1 (en) Rate adjustable backplane and method for a telecommunications node
EP1222517A1 (en) Vlsi network processor and methods
US6628657B1 (en) Method and system for transporting synchronous and asynchronous traffic on a bus of a telecommunications node
US6920156B1 (en) Method and system for transporting synchronous and asynchronous traffic on a synchronous bus of a telecommunications node
US6778529B1 (en) Synchronous switch and method for a telecommunications node
US6952420B1 (en) System and method for polling devices in a network system

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

FPAY Annual fee payment

Payment date: 20121025

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

S20-X000 Security interest recorded

St.27 status event code: A-4-4-S10-S20-lic-X000

FPAY Annual fee payment

Payment date: 20131025

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

S22-X000 Recordation of security interest cancelled

St.27 status event code: A-4-4-S10-S22-lic-X000

FPAY Annual fee payment

Payment date: 20141024

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20151107

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20151107

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000