STC104
STC104STC104 스위치는 초기 단계에서 C104 스위치라고도 불리며 고성능 포인트 투 포인트 컴퓨터 통신 네트워크를 구축하기 위해 설계된 비동기 패킷 라우팅 칩입니다.1990년대에 INMOS에 의해 개발되었으며 범용 생산 패킷 라우팅 칩의 첫 번째 사례였습니다.또한 웜홀 루팅을 구현하고 흐름 제어 프로토콜에서 패킷 크기를 분리하며 인터벌 및 2상 랜덤 [1][2]루팅을 구현한 최초의 라우팅 칩이기도 합니다.
STC104에는 DS-Links라고 불리는 32개의 양방향 통신 링크가 있으며 각각 100 Mbit/s로 동작합니다.이러한 링크는 모든 입력 링크와 출력 링크 간에 패킷을 동시에 전송할 수 있는 논블로킹크로스바를 통해 연결됩니다.
전환
STC104에서는 웜홀 스위칭을 사용하여 지연과 링크 단위의 버퍼링 요건을 줄입니다.웜홀 스위칭은 패킷을 전송하기 위해 고정 크기 청크(플릿이라고 불린다)로 분할함으로써 동작하며 패킷은 네트워크 내에서 파이프라인 처리됩니다.첫 번째 헤더 플릿은 네트워크 내의 각 스위치를 통과하는 루트(또는 회선)를 열기 때문에 이후의 플릿에서는 스위칭 지연이 발생하지 않습니다.마지막 플릿이 [3]루트를 닫습니다.
헤더 플릿은 후속 플릿과는 독립적으로 진행될 수 있기 때문에 패킷의 지연은 크기와는 무관합니다.이것에 의해, 패킷 사이즈와 관계없이, 링크에 의해서 제공되는 버퍼링의 양을 선택할 수도 있다.또한 일반적으로 각 링크에 대해 저장해야 하는 플릿 수는 적기 때문에 총 버퍼링 요건은 작습니다.이는 각 링크 엔드 포인트에서 패킷 전체를 버퍼링해야 하는 스토어 앤 포워드 스위칭과는 대조적입니다.
라우팅
메시지는 인터벌루팅을 [4]사용하여 C104 네트워크에서 라우팅됩니다.각 행선지가 일의로 번호가 매겨지는 네트워크에서는, 인터벌 라우팅에 의해서, 중복되지 않는 연속하는 행선지 범위가 각 출력 링크에 관련지어집니다.패킷의 출력 링크는, 행선지(패킷의 헤더에 포함)를 각 간격과 비교해, [5]행선지를 포함한 것을 선택하는 것으로 선택됩니다.인터벌 라우팅의 장점은 다양한 네트워크토폴로지에 대해 결정론적 루팅을 제공하는 것으로 충분하고 테이블 기반 룩업만으로 간단하게 구현할 수 있기 때문에 지연 시간이 짧은 라우팅 결정을 내릴 수 있다는 것입니다.인터벌 루팅을 사용하면 많은 클래스의 일반 [6]네트워크토폴로지에 효율적인 라우팅 전략을 구현할 수 있습니다.
네트워크에 따라서는 여러 링크가 같은 STC104 또는 프로세서엔드포인트 또는 동등한 디바이스 세트에 접속됩니다.이 경우 STC104는 그룹화된 적응 루팅을 위한 메커니즘을 제공합니다.여기서 링크 번들은 같은 간격을 공유할 수 있고 링크의 [7]가용성에 따라 번들에서 적응적으로 선택됩니다.이 메커니즘은 다른 동등한 링크를 사용할 수 있는 동안 패킷이 링크를 대기하지 않도록 함으로써 사용 가능한 링크 대역폭을 효율적으로 사용합니다.
인터벌 라우팅의 또 다른 기능은 네트워크를 독립된 서브네트워크로 분할하는 것입니다.이를 사용하여 교착 상태를 방지하거나 경합 없이 전송하기 위해 고우선순위 트래픽을 분리할 수 있습니다.
헤더 삭제
다단계 버터플라이 또는 Clos 네트워크 등의 계층형 네트워크에서의 루팅을 지원하기 위해 STC104는 헤더 삭제 메커니즘을 제공합니다.계층의 다음 레벨에 접속되어 있는 각 출력 링크는 헤더를 폐기하도록 프로그래밍할 수 있습니다.이로 인해 패킷은 삭제된 [8]패킷헤더 바로 앞에 있는 새로운 패킷헤더에 의해 라우팅 됩니다.
헤더 삭제는 2상 랜덤라우팅 구현에도 사용할 수 있습니다.2상 랜덤라우팅은 네트워크 경합을 방지하기 위한 방법으로 패킷을 [9]행선지에 라우팅하기 전에 랜덤으로 선택된 중간 노드에 라우팅함으로써 동작합니다.그 결과 모든 트래픽이 예측 가능한 지연 및 대역폭으로 평균 최악의 상황으로 감소합니다.STC104는 트래픽이 네트워크에 들어가는 링크를 셋업하여 랜덤 수신처를 가진 헤더를 부가함으로써 2상 랜덤화 루팅을 구현한다.수신처는 다른 STC104 디바이스로, 헤더를 인식해, 실제의 수신처에 라우팅 하기 전에 폐기합니다.
중간 수신처를 경유하여 메시지를 랜덤하게 라우팅하면 서로 다른 패킷 간에 주기적인 의존관계가 형성될 수 있으므로 교착 상태가 발생할 수 있습니다.다만, 네트워크를 랜덤화 단계용과 행선지 [10]단계용의 2개의 컴포넌트로 분할하는 것으로, 교착 상태를 회피할 수 있습니다.
네트워크 토폴로지
STC104는 다차원 그리드 및 토리, 하이퍼큐브 및 클로즈 네트워크(및 밀접하게 관련된 Fat 트리)[11]를 포함한 다양한 네트워크 토폴로지를 구축하는 데 사용할 수 있습니다.
DS 링크
STC104 링크는 DS-Links라고 불립니다.단일 DS-Link는 단일 방향의 비동기 [12]흐름 제어 연결로 최대 100MB/s의 대역폭을 가진 시리얼로 동작합니다.
DS-Link는 물리적으로 신호를 전송하는 데이터 와이어와 데이터가 전송되지 않는 경우에만 변경되는 스트로보라는 두 개의 와이어로 구현됩니다.스트로브 신호를 통해 송신기의 클럭을 수신기에 의해 복구하고 수신기가 클럭과 동기화할 수 있습니다.이것에 의해, 송신기와 수신기는, 주파수와 위상이 변화할 가능성이 있는 독자적인 클럭을 유지할 수 있습니다.
DS-Link는 토큰 프로토콜을 사용하여 와이어에 데이터 전송을 구현합니다.토큰은 1바이트의 데이터 또는 흐름 제어, 패킷 끝, 메시지 끝 등의 제어 메시지를 전송할 수 있습니다.단일 비트가 토큰 유형을 식별하고 오류 검출에 추가 패리티가 사용됩니다.따라서 바이트는 10비트로 인코딩되고 제어 토큰은 4비트로 인코딩됩니다.
각 DS 링크에는 8개의 토큰을 저장할 수 있는 버퍼가 있습니다.버퍼가 가득 찼을 때 토큰이 수신되지 않도록 토큰 수준의 흐름 제어 메커니즘이 사용됩니다.이 메커니즘은 버퍼에 공간이 있는 경우 자동으로 제어 토큰을 송신자에게 전송합니다.
마이크로아키텍처
STC104는 분산 [1]제어 기능을 갖춘 특수 용도의 MIMD 프로세서로 분류할 수 있습니다.주요 컴포넌트는 크로스바에 연결된 32개의 링크슬라이스와 초기화 및 리셋 등의 글로벌서비스용 로직입니다.각 링크 슬라이스는 DS-Link 쌍과 함께 단일 입출력 및 라우팅 기능을 구현하고 버퍼링을 제공하기 위한 추가 로직을 제공합니다.링크 슬라이스는 동시에 독립적으로 동작하며 상태는 설정 파라미터와 링크 슬라이스를 통과하는 데이터에 의해서만 결정됩니다.
물리적인 실장
STC104는 1.0 마이크론의 CMOS 프로세스(SGS-Thomson HCMOS4)로 설계 및 제조되었으며 라우팅용 금속 레이어가 3개 있습니다.칩의 면적은 약 204.6mm2, 트랜지스터는 187만5000개, 최대 5W의 전력을 소산해 50MHz에서 [1]작동했다.
메모들
레퍼런스
- Thompson, P.; Lewis, J. (1994). "The STC104 Packet Routing Chip". VLSI Design. 2 (4): 305–314. doi:10.1155/1995/92096.
- May, M. D.; Thompson, P.W.; Welch, P. h., eds. (1993). Networks, Routers and Transputers: Function, Performance, and Applications. INMOS Limited. IOS Press.
- Jones, N. J.; Davies, M. A.; Wright, C. J. (1997). The Network Designer's Handbook. IOS Press.
- INMOS STC104 asynchronous packet switch Engineering data (Technical report). SGS-Thompson Microelectronics. June 1996.
- Van Leeuwen, Jan; Tan, Richard B. (1987). "Interval routing". The Computer Journal. 30 (4): 298–307. doi:10.1093/comjnl/30.4.298.
- Valiant, Leslie G. (1982). "A scheme for fast parallel communication". SIAM Journal on Computing. 11 (2): 350–361. doi:10.1137/0211027.