KR19980027498A - Switch for Shared FIFO Memory - Google Patents
Switch for Shared FIFO Memory Download PDFInfo
- Publication number
- KR19980027498A KR19980027498A KR1019960046295A KR19960046295A KR19980027498A KR 19980027498 A KR19980027498 A KR 19980027498A KR 1019960046295 A KR1019960046295 A KR 1019960046295A KR 19960046295 A KR19960046295 A KR 19960046295A KR 19980027498 A KR19980027498 A KR 19980027498A
- Authority
- KR
- South Korea
- Prior art keywords
- port
- input
- unit
- output
- routing
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 공유 퍼스트인퍼스트아웃(first-in first-out: 이하, FIFO) 메모리를 위한 스위치에 관한 것으로 특히, 다수 포트로부터 입력되는 비동기 전송 모드(asynchronous transfer mode: 이하, ATM) 셀(cell)을 공유 FIFO 메모리에 저장하기 위하여 해당 데이터를 라우팅하는 스위치에 관한 것이다.The present invention relates to a switch for shared first-in first-out (FIFO) memory, and more particularly to an asynchronous transfer mode (ATM) cell input from multiple ports. It is about a switch to route the data in order to store the data in a shared FIFO memory.
본 발명은 패치 앤드 애더(fetch and adder) 어드레스 발생기의 출력인 어드레스를 입력받아 해당 데이터를 스위칭하기 위한 라우팅 비트, 및 상기 데이터를 판별하여 공유 FIFO 메모리에의 저장 여부를 제어하는 스트로브(strobe) 신호를 발생하는 라우팅 제어부; 및 상기 라우팅 비트를 이용하여 해당 데이터를 스위칭하는 데이터 스위칭부로 구성된 것을 특징으로 한다.The present invention provides a routing bit for receiving an address that is an output of a fetch and adder address generator, a routing bit for switching corresponding data, and a strobe signal for determining whether the data is stored in a shared FIFO memory. A routing control unit for generating a; And a data switching unit for switching the corresponding data using the routing bit.
Description
본 발명은 공유 퍼스트인퍼스트아웃(first-in first-out: 이하, FIFO) 메모리를 위한 스위치에 관한 것으로 특히, 다수 포트로부터 입력되는 비동기 전송 모드(asynchronous transfer mode: 이하, ATM) 셀(cell)을 공유 FIFO 메모리에 저장하기 위하여 해당 데이터를 라우팅하는 스위치에 관한 것이다.The present invention relates to a switch for shared first-in first-out (FIFO) memory, and more particularly to an asynchronous transfer mode (ATM) cell input from multiple ports. It is about a switch to route the data in order to store the data in a shared FIFO memory.
인간과 사회의 다양한 정보 욕구를 만족시키기 위해 기존의 모든 통신망을 하나의 통합된 단일 망으로 구현하기 위하여, 광대역 정보 통신망(broadband intergrated services digital network: 이하, BISDN)이 대두되었다.Broadband intergrated services digital network (BISDN) has emerged to implement all existing communication networks into one integrated single network to satisfy various information needs of humans and society.
이러한 BISDN를 구현하기 위한 기술적 해결방안으로 등장한 것이 ATM방식이다.The ATM method has emerged as a technical solution for implementing such a BISDN.
ATM 방식은 저속의 음성 데이터, 고속의 화상 및 영상 데이터를 동일한 크기의 ATM 셀로 변환한 후, 이를 단위 패킷으로하여 통신한다.The ATM method converts low-speed audio data, high-speed image and video data into ATM cells of the same size, and then communicates them as unit packets.
기존의 각 출력 포트에 FIFO가 제공되어 각 출력 포트는 해당 FIFO 만을 이용할 수 있도록 한 구조에서는, 특정 포트로의 ATM 셀 입력에 버스트(burst) 발생시 FIFO 사용의 비효율성을 가져왔다. 이에 이를 개선하고자 공유 FIFO 구조가 제안되었다.In a structure in which FIFOs are provided to each existing output port so that each output port can use only the FIFO, an inefficiency of using FIFO is caused when a burst occurs in an ATM cell input to a specific port. To improve this, a shared FIFO structure has been proposed.
이러한 공유 FIFO 구조를 구현하기 위해서는, 각 포트로 입력되는 ATM 셀에 대해 스위치 크기 만큼의 순환 반복 어드레스를 발생시키는 어드레스 발생기가 필요하며, 이를 위해서 기존의 페치 앤드 애더(fetch and adder) 순환 반복 어드레스 발생기(이하, 어드레스 발생기)를 사용한다.In order to implement such a shared FIFO structure, an address generator for generating a recursive recursive address as large as a switch size is required for ATM cells input to each port. For this purpose, a conventional fetch and adder recursive recursive address generator is required. (Hereinafter referred to as address generator) is used.
본 발명은 상기의 공유 FIFO 순환 반복 어드레스 발생기를 통해 생성된 순차적인 어드레스를 이용해 해당 데이터를 판별하여, 공유 메모리로의 데이터 저장 여부를 제어하고, 데이터를 스위칭하여 공유 메모리에 저장하는 라우팅 기능을 수행하는 스위치를 제공하는데 그 목적이 있다.The present invention performs a routing function of determining the corresponding data by using the sequential addresses generated by the shared FIFO circular repetitive address generator, controlling whether data is stored in the shared memory, and switching and storing the data in the shared memory. The purpose is to provide a switch.
도 1은 본 발명의 일 실시예에 따른 전체 구성도.1 is an overall configuration diagram according to an embodiment of the present invention.
도 2는 2×2 단위 어드레스 스위치의 상세도.Figure 2 is a detailed view of a 2x2 unit address switch.
도 3은 라우팅 비트 래치 회로의 상세도.3 is a detailed view of the routing bit latch circuit.
도 4는 2×2 단위 데이터 스위치의 상세도.4 is a detailed view of a 2 × 2 unit data switch.
도 5는 4 포트에 모두 센드 비트(send bit)가 있는 경우에 본 발명에 따른 패스/크로스(pass/cross) 동작을 설명하는 타이밍도.FIG. 5 is a timing diagram illustrating pass / cross operation in accordance with the present invention when all four ports have send bits. FIG.
도 6은 4 포트 중에서 DI0와 DI2에만 센드 비트가 있는 경우에 본 발명에 따른 패스/크로스 동작을 설명하는 타이밍도.FIG. 6 is a timing diagram illustrating a pass / cross operation according to the present invention when there are send bits only in DI0 and DI2 among four ports. FIG.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
I10 : 라우팅 제어부I20 : 데이터 스위칭부I10: routing control unit I20: data switching unit
100, 101, 102, 103 : 단위 어드레스 스위치104, 105 : 라우팅 비트 래치회로100, 101, 102, 103: unit address switch 104, 105: routing bit latch circuit
106, 107, 108, 109 : 단위 데이터 스위치106, 107, 108, 109: unit data switch
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention;
도 1은 본 발명에 따른 일 실시예를 도시하는 구성도로서, 특히 4×4 스위치의 경우이다. 도 1에서 I10은 루팅 제어부이고, I20은 데이터 스위칭부이다.1 is a block diagram showing an embodiment according to the present invention, particularly in the case of a 4 × 4 switch. In FIG. 1, I10 is a routing controller and I20 is a data switching unit.
도 1과 관련하여, 루팅제어부는 4개의 베니얀(BANYAN) 2×2 단위 어드레스 스위치(이하, 단위 어드레스 스위치)와 2개의 라우팅 비트 래치 회로로 구성된다. 스위치의 크기가 달라지면 그에 따라 단위 스위치와 라우팅 비트 래치 회로의 개수가 달라진다.Referring to FIG. 1, the routing control unit is composed of four BANYAN 2 × 2 unit address switches (hereinafter, unit address switches) and two routing bit latch circuits. As the size of the switch changes, the number of unit switches and routing bit latch circuits varies accordingly.
제 1 단위 어드레스 스위치의 제 1, 제 2 입력단에는 페치 앤드 애더 순차 순환 어드레스 발생기를 통해 출력되는 어드레스 신호 중에서 제 1, 제 2 어드레스 신호가 각각 입력된다.First and second address signals are input to first and second input terminals of the first unit address switch, respectively, among address signals output through a fetch and add sequential cyclic address generator.
상기 제 1 단위 어드레스 스위치는 외부로부터 입력되는 제 1 라우팅 제어신호에 응하여, 제 1 어드레스 신호와 제 2 어드레스 신호에 따라서 크로스 경로(cross path) 또는 패스 경로(pass path)를 설정하여 입력된 신호를 출력한다. 또한 상기 데이터 스위칭부에서의 라우팅 기능을 제어하기 위한 제어신호를 만든다.The first unit address switch sets a cross path or a pass path according to the first address signal and the second address signal in response to a first routing control signal input from the outside, and receives the input signal. Output In addition, a control signal for controlling the routing function in the data switching unit is made.
제 2 단위 어드레스 스위치의 경우에는 상기 어드레스 발생기를 통해 발생된 어드레스 신호 중에서 제 3 및 제 4 어드레스 신호를 제 1 입력 포트(I0) 및 제 2 입력 포트(I1)를 통해 각각 입력받으며, 제 1 단위 어드레스 스위치와 동일하게 제 1 라우팅 제어신호에 의해 제어된다.In the case of the second unit address switch, the third and fourth address signals are received through the first input port I0 and the second input port I1 among the address signals generated through the address generator, respectively. Like the address switch, it is controlled by the first routing control signal.
제 3 단위 어드레스 스위치의 경우에는 상기 제 1 단위 어드레스 스위치의 제 1 출력 포트에 제 1 입력포트가 연결되고, 상기 제 2 단위 어드레스 스위치의 제 1 출력 포트에 제 2 입력포트가 연결되며, 제 2 라우팅 제어신호에 의하여 제어된다.In the case of the third unit address switch, a first input port is connected to the first output port of the first unit address switch, and a second input port is connected to the first output port of the second unit address switch. It is controlled by a routing control signal.
제 4 단위 어드레스 스위치의 경우에는 상기 제 1 단위 어드레스 스위치의 제 2 출력 포트에 제 1 입력포트가 연결되고, 상기 제 2 단위 어드레스 스위치의 제 2 출력 포트에 제 2 입력포트가 연결되며, 제 2 라우팅 제어신호에 의하여 제어된다.In the case of a fourth unit address switch, a first input port is connected to a second output port of the first unit address switch, and a second input port is connected to a second output port of the second unit address switch. It is controlled by a routing control signal.
상기 제 3 및 제 4 단위 어드레스 스위치의 출력단을 통해 출력되는 신호는 스트로브(strobe) 신호로 이용하여 어드레스에 해당하는 데이터를 공유 FIFO 메모리에 저장할 것인지의 여부를 결정한다.The signal output through the output terminals of the third and fourth unit address switches is used as a strobe signal to determine whether to store data corresponding to the address in the shared FIFO memory.
제 1 라우팅 비트 래치부는 상기 제 1 및 제 2 단위 어드레스 스위치의 라우팅 비트 출력 포트를 통해 출력된 라우팅 비트를 입력으로 받아 들여, 제 1 라우팅 래치 신호에 응하여, 상기 데이터 스위칭부를 제어하기 위한 제 1 및 제 2 제어신호를 발생한다.A first routing bit latch unit configured to receive the routing bits output through the routing bit output ports of the first and second unit address switches as inputs, and to control the data switching unit in response to a first routing latch signal; Generate a second control signal.
제 2 라우팅 비트 래치부는 상기 제 3 및 제 4 단위 어드레스 스위치의 라우팅 비트 출력 포트를 통해 출력된 라우팅 비트를 입력으로 받아 들여, 제 2 라우팅 래치 신호에 응하여, 상기 데이터 스위칭부를 제어하기 위한 제 3 및 제 4 제어신호를 발생한다.A second routing bit latch unit configured to receive the routing bit output through the routing bit output ports of the third and fourth unit address switches as an input, and to control the data switching unit in response to a second routing latch signal; Generate a fourth control signal.
도 1과 관련하여. 상기 데이터 스위칭부는 4개의 베니얀 2×2 단위 데이터 스위치(이하, 단위 데이터 스위치)로 구성된다.In connection with FIG. The data switching unit is composed of four Bennyyan 2 × 2 unit data switches (hereinafter, unit data switches).
제 1 단위 데이터 스위치는 외부로부터 입력되는 데이터 신호 중에서 제 1 및 제 2 데이터 신호를 제 1 입력 포트(I0) 및 제 2 입력 포트(I1)를 통해 각각 입력받는다.The first unit data switch receives the first and second data signals from the externally input data signals through the first input port I0 and the second input port I1, respectively.
제 1 단위 데이터 스위치는 CTL 단자를 통해 상기 제 1 라우팅 비트 래치 회로로부터 발생되는 제어신호를 입력받아 데이터를 크로스(cross)하거나 패스(pass)한다. 구체적인 동작은 다음에 상술한다.The first unit data switch receives a control signal generated from the first routing bit latch circuit through a CTL terminal to cross or pass data. Specific operations will be described later in detail.
제 2 단위 데이터 스위치는 외부로부터 입력되는 데이터 중에서 제 3 및 제 4 데이터 신호를 제 1 입력 포트(I0) 및 제 2 입력 포트(I1)를 통해 각각 입력받으며, 상기 제 1 라우팅 비트 래치 회로로부터 출력되는 제어신호에 제어된다.The second unit data switch receives the third and fourth data signals from the externally input data through the first input port I0 and the second input port I1, respectively, and outputs the first and second routing bits from the first routing bit latch circuit. The control signal is controlled.
제 3 단위 데이터 스위치는 상기 제 1 단위 데이터 스위치의 제 1 출력 포트에 제 1 입력 포트가 연결되며, 상기 제 2 단위 데이터 스위치의 제 1 출력 포트에 제 2 입력 포트가 연결되고, 상기 제 2 라우팅 비트 래치 회로로부터 출력되는 제어신호에 의하여 제어된다.The third unit data switch has a first input port connected to the first output port of the first unit data switch, a second input port connected to the first output port of the second unit data switch, and the second routing. It is controlled by a control signal output from the bit latch circuit.
제 4 단위 데이터 스위치는 상기 제 1 단위 데이터 스위치의 제 2 출력 포트에 제 1 입력 포트가 연결되며, 상기 제 2 단위 데이터 스위치의 제 2 출력 포트에 제 2 입력 포트가 연결되고, 상기 제 2 라우팅 비트 래치 회로로부터의 제어신호에 의하여 제어된다.The fourth unit data switch has a first input port connected to a second output port of the first unit data switch, a second input port connected to a second output port of the second unit data switch, and the second routing. Controlled by a control signal from the bit latch circuit.
도 2는 본 발명의 실시예에서 사용되는 라우팅 제어부의 베니얀 2×2 단위 어드레스 스위치를 구성을 상세하게 도시하는 도면이다.FIG. 2 is a diagram showing in detail a Bennyan 2x2 unit address switch of a routing control unit used in an embodiment of the present invention.
입력 포트(I0, I1)로는 어드레스 2 비트(LSB가 먼저 입력된다)와 센드(send) 1 비트가 각각 입력되며, 이 입력에 따라 다음 표 1에 도시되어 있는 것처럼 동작한다.Address 2 bits (LSB are input first) and send 1 bit are input to the input ports I0 and I1, respectively, and operate as shown in Table 1 below.
제 2, 제 3 의 경우는 베니얀 스위치의 기본 동작이다.The second and third cases are basic operations of the Beniyan switch.
제 1 의 경우는 I1의 센드 비트를 본 후, 0이면 유효 데이터의 어드레스가 아니므로 패스(pass)하기 위해 라우팅 비트(R_BIT)를 0으로 설정하고, 1일 경우는 유효한 데이터의 어드레스이므로 크로스하기 위하여 라우팅 비트(R_BIT)를 1로 설정한다. I0와 I1이 모두 0일 때는 센드 비트가 스위치 매트릭스상 11이 발생될 수 없으므로, I1 하나만 체크해도 된다.In the first case, after seeing the send bit of I1, if 0 is not an address of valid data, the routing bit R_BIT is set to 0 to pass, and if 1, it is an address of valid data. To set the routing bit (R_BIT) to 1. If both I0 and I1 are zero, the send bit cannot generate 11 on the switch matrix, so only one I1 may be checked.
제 4 의 경우는 I0와 I1이 모두 1이므로 센드 비트를 체크할 필요없이, 그대로 패스시키기 위해 라우팅 비트를 0으로 설정한다.In the fourth case, since both I0 and I1 are 1, the routing bit is set to 0 to pass as is without checking the send bit.
도 3은 본 발명에서 사용되는 라우팅 래치 회로의 구성을 상세하게 도시하는 도면으로서, 인에이블 기능을 갖는 D 플립플롭으로 구성된다.3 is a diagram showing in detail the configuration of the routing latch circuit used in the present invention, and is composed of a D flip-flop having an enable function.
단자 D0와 단자 D1를 통하여 상기 단위 어드레스 스위치의 라우팅 비트 출력 포트를 통해 출력되는 라우팅 비트를 입력으로 받아 들이고, 단자 CE를 통하여 제어신호를 입력받는다.Through the terminal D0 and the terminal D1, the routing bit output through the routing bit output port of the unit address switch is received as an input, and the control signal is input through the terminal CE.
단자 CE를 통해 입력되는 제어신호가 인에이블(enable) 신호이면 단자 T1의 입력인 D0, D1는 래치되고, 디스에이블(disable) 신호이면 현재 상태를 그대로 유지한다.If the control signal input through the terminal CE is an enable signal, the inputs D0 and D1 of the terminal T1 are latched, and if the control signal is disabled, the current state is maintained.
도 4는 본 발명에서 사용되는 데이터 스위칭부에서 사용되는 베니얀 2×2 단위 데이터 스위치의 구성을 나타내는 도면이다.4 is a diagram illustrating a configuration of a Beniyan 2 × 2 unit data switch used in the data switching unit used in the present invention.
도 1에 도시된 바와 같이, 라우팅 제어부(I10)의 라우팅 비트 래치 회로(104, 105)의 출력단(Q0, Q1)에서 출력되는 라우팅 비트는 단위 데이터 스위치의 단자 CTL를 통해 입력된다. 처음 단계의 단위 데이터 스위치(106, 107)의 입력단에는 실제 데이터가 입력되며, 다음 단계의 단위 데이터 스위치(108, 109)의 입력단에는 처음 단계의 단위 데이터 스위치(106, 107)의 출력단이 연결된다.As shown in FIG. 1, the routing bits output from the output terminals Q0 and Q1 of the routing bit latch circuits 104 and 105 of the routing control unit I10 are input through the terminal CTL of the unit data switch. Actual data is input to the input stage of the first stage unit data switches 106 and 107, and the output stage of the first stage unit data switches 106 and 107 is connected to the input stage of the next stage unit data switches 108 and 109. .
단자 CTL를 통해 입력되는 라우팅 비트에 따라서 각 단위 데이터 스위치(106 내지 109)는 다음 표2와 같이 동작된다.Each unit data switch 106 to 109 is operated as shown in Table 2 according to the routing bit input through the terminal CTL.
이하, 도 5 및 도 6과 관련하여 본 발명의 동작을 설명하겠다.The operation of the present invention will now be described with reference to FIGS. 5 and 6.
도 5는 DI0 = 0, DI1 = 1000, DI2 = 100, DI3 = 1100 이고, ADD3 = 1, ADD2 = 101, ADD1 = 11, ADD0 = 111 일 때(이 경우 MSB는 센드 비트이다)의 시뮬레이션 결과를 도시하는 타이밍도이다. 도 5에서 앞 부분은 DI0 - D03, DI1 - D02, DI2 - D01, DI3 - D00로 크로스 스위칭(crooss switching)하는 경우를, 뒷 부분은 DI0 - D00, DI1 - D01, DI2 - D02, DI3 - D03로 패스 스위칭(pass switching)하는 경우를 도시하고 있다.5 shows simulation results when DI0 = 0, DI1 = 1000, DI2 = 100, DI3 = 1100, ADD3 = 1, ADD2 = 101, ADD1 = 11, and ADD0 = 111 (in this case, MSB is a send bit). It is a timing chart shown. In FIG. 5, the front part is a case of cross switching with DI0-D03, DI1-D02, DI2-D01, DI3-D00, and the rear part is DI0-D00, DI1-D01, DI2-D02, DI3-D03 The case of low pass switching is shown.
도 6은 도 5의 경우에 DI1, DI3의 센드 비트가 0인 경우를 도시한 타이밍도로서, 앞 부분은 크로스 스위칭을, 뒷 부분은 패스 스위칭의 경우이다.FIG. 6 is a timing diagram illustrating a case where the send bits of DI1 and DI3 are 0 in the case of FIG. 5, where the front part is cross switching and the rear part is pass switching.
상기한 바와 같은 본 발명에 의하여 공유 메모리 구조를 구현할 수 있으며, 이로써 특정 포트에서 ATM 셀 입력의 버스트가 발생하는 경우에도 메모리를 효과적으로 사용할 수 있다.According to the present invention as described above, it is possible to implement a shared memory structure, whereby the memory can be effectively used even when a burst of ATM cell input occurs in a specific port.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960046295A KR19980027498A (en) | 1996-10-16 | 1996-10-16 | Switch for Shared FIFO Memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960046295A KR19980027498A (en) | 1996-10-16 | 1996-10-16 | Switch for Shared FIFO Memory |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19980027498A true KR19980027498A (en) | 1998-07-15 |
Family
ID=66289809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960046295A KR19980027498A (en) | 1996-10-16 | 1996-10-16 | Switch for Shared FIFO Memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19980027498A (en) |
-
1996
- 1996-10-16 KR KR1019960046295A patent/KR19980027498A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3001953B2 (en) | Virtual identifier conversion device | |
CA2124424C (en) | Fast connection setup interfaces using pre-assigned virtual channel identifiers | |
AU642830B2 (en) | Multiple virtual fifo arrangement | |
US6253280B1 (en) | Programmable multiple word width CAM architecture | |
US6327244B1 (en) | Packet handler | |
EP0849917A3 (en) | Switching system | |
CA2118442A1 (en) | Channel sharing and memory sharing in a packet switching system | |
JP2738762B2 (en) | High-speed packet switch | |
US4512012A (en) | Time-switch circuit | |
US4962499A (en) | Switching system for switching packet oriented data as well as circuit oriented data | |
US6289011B1 (en) | 2n×n multiplexing switch | |
US6289014B1 (en) | Multiline-correspondent cell header conversion apparatus and method | |
US5544104A (en) | Virtual crosspoint memory | |
US5740172A (en) | Method for searching a packet transmission path in a broadband information and communication system | |
US5136579A (en) | Digital communications network with unlimited channel expandability | |
US6678861B1 (en) | FIFO with CRC in a PLD | |
KR19980027498A (en) | Switch for Shared FIFO Memory | |
US5228032A (en) | Interconnection element for an asynschronous time-division multiplex transmission system | |
US6954466B1 (en) | Link-layer receiver | |
US7293132B2 (en) | Apparatus and method for efficient data storage using a FIFO memory | |
US7212523B2 (en) | Pipeline architecture for the design of a single-stage cross-connect system | |
JP3494142B2 (en) | Packet communication memory and data writing / reading method used therefor | |
WO1990005419A1 (en) | Distributed router of connectionless packets over connection oriented networks | |
JPH0865318A (en) | Non-synchronous transfer mode data cell routing device | |
US6683854B1 (en) | System for checking data integrity in a high speed packet switching network node |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |