기능 병렬화 통해 성능 효율 극대화 실현
상태바
기능 병렬화 통해 성능 효율 극대화 실현
  • 승인 2006.08.31 00:00
  • 댓글 0
이 기사를 공유합니다

Tech Guide - 모듈식 밴드
기능 병렬화 통해 성능 효율 극대화 실현
전통적 인터페이스 방식, 대역폭 활용도 25% 감소 … sRIO 아키텍처로 설계 간소화·업그레이드비용 최소화

베르탄 테즈칸(Bertan Tezcan) / IDT 시스템 기술 그룹 수석 시스템 디자이너

본지 2006년 4월호(통권 152호)에 모듈형 기지국 설계에 대한 글을 게재했던 IDT 시스템 기술 그룹 베르탄 테즈칸(Bertan Tezcan) 수석 시스템 디자이너가 이의 연장선상에서 미래 베이스밴드 카드를 위한 아키텍처를 논하고, 이를 후속 기고로 본지에 보내왔다. 이 글에서 테즈칸은 핵심 시스템의 세부 사항과 더불어 시스템과 연계된 보드 수준을 점검하고, 중앙 집중화된 베이스밴드 스위치에서 디자이너가 어떻게 성능 효율을 극대화할 수 있는지에 대해 제안하고 있다. <편집자>

몇 개월 전 모듈형 기지국 설계에 대한 글에서 필자는 차세대 베이스밴드 시스템을 위한 이상적인 아키텍처의 핵심적인 구성 요소에 대해 설명했다.
이어지는 이 글에서는 미래의 베이스밴드 카드를 위한 이상적인 아키텍처를 검토함으로써 이러한 논의를 다음 단계로 이끌고자 한다. 핵심적인 시스템의 세부 사항을 비롯해 이러한 새로운 시스템과 연계된 보드 수준 문제의 세부 사항을 점검하고, 디자이너가 중앙 집중화된 베이스밴드 스위치에서 기능을 병렬화함으로써 성능 효율을 극대화하는 방안에 대해 제안한다.
지난 글에서 합산기(summer)와 동기화 장치(synchronizer) 및 CPRI/OBSAI 인터페이스로 sRIO 스위치를 지원하는 이상적인 상태에 근접한 아키텍처를 대략적으로 다뤘으며, 여기서 디자이너는 <그림 1>에서와 같이 기능 분할을 단순화할 수 있다.
디자이너는 여러 디바이스에서 베이스밴드 스위치를 구현할 수 있지만, 아래 <그림 2>에 설명된 아키텍처를 사용하면 효율성은 더 높이면서 동시에 사용되는 개별 부품의 수를 줄일 수 있다.
베이스밴드 스위치는 베이스밴드 카드의 중심이다. 이 스위치는 CDMA 기반 시스템에 사용되는 칩 전송률(chip-rate) 프로세서와 같은 DSP 및 베이스밴드 프로세서에 연결 기능을 제공하며, DSP가 칩 전송률 프로세싱과 같은 고속 동작이 가능하다면 ASIC/FPGA를 카드에서 제거할 수 있다.
베이스밴드 스위치는 또한 CPRI/OBSAI 또는 독자적인 인터페이스(LVDS 기반)를 통해 RF 카드에 접속된다. 이 인터페이스는 대부분의 고속 샘플 트래픽을 전달하는데, CPRI정의에 의하면 전송률은 최고 3072Mbps에 달하며, 시스템은 이러한 링크를 여러 개 갖출 수 있다(보통 각 RF 카드당 1개). 업링크 쪽에서는 RF 카드에서 오는 샘플이 프로세싱 블록들로 분배된다. CDMA 기반 시스템의 경우 이러한 샘플은 CRP로 뿌려지며, 전송 과정에서 샘플은 프로세서 또는 알고리즘의 필요에 따라 포맷될 수도 있다.
칩 전송률 프로세싱이 완료되면 여러 CRP의 사용자 채널이 FEC, 음성 프로세싱 등의 심볼 전송률(symbol rate) 프로세싱으로 이동한다. 샘플이 비트로 변환되기 때문에 이 기능에 필요한 대역폭은 훨씬 더 낮으며, CDMA에서의 역확산(de-spreading) 기능이 완료된다. 이 시점에서 이 ‘심볼’ 정보는 CRP에서 DSP로 스위칭 돼야 한다. DSP가 심볼 전송률 프로세싱을 종료한 다음 패킷은 네트워크의 상위 계층으로 전달되기 위해 전송 모듈로 스위칭돼야 하며, 두 가지 스위칭 동작은 모두 베이스밴드 스위치에 의해 수행된다.

왜 sRIO 아키텍처인가?
전통적으로 베이스밴드 카드는 칩 간 데이터/샘플 전송을 위해 외부 메모리 인터페이스와 같은 간단한 인터페이스를 사용했는데, 이러한 방법은 풀(pull) 형태의 인터페이스로 소프트웨어에 상당한 부담을 전가하고, 양방향 특성으로 인해 대역폭 활용도가 25%나 떨어지는 단점이 있다.
베이스밴드 카드가 더 빠른 속도로 확장 가능하도록 하기 위해 디자이너는 직렬 속성의 새로운 인터페이스가 필요하게 되는데, 이 때 직렬 인터페이스는 메모리 인터페이스보다 지능적이어야 하고, 여러 프로세싱 블록을 초기화하고 이러한 블록과 통신할 수 있어야 한다. 또한 베이스밴드 카드의 디바이스를 자동으로 식별하고 초기화하고 디바이스 간에 유연한 통신을 가능하게 하는 프로토콜도 필요하다.
프로토콜은 푸시(push) 및 풀(pull) 형태의 통신뿐만 아니라 응답(acknowledged) 및 비응답(unacknowledged) 통신도 지원해야 하며, 소프트웨어 액세스가 용이하도록 대역 내(in-band) 인터럽트를 허용해야 한다. 베이스밴드 알고리즘 소프트웨어 개발은 매우 어려운 작업이지만, 이러한 프로토콜은 소프트웨어 프로그래머가 통신 프로토콜을 다시 개발할 필요가 없도록 해준다.
sRIO는 이와 같은 프로토콜의 좋은 예시이다. sRIO는 현재 베이스밴드 카드에서 사용 가능한 프로세싱 블록은 물론 새로운 DSP에서도 지원된다.

지연
완전한 기능을 갖춘 프로토콜을 사용할 때 가장 먼저 발생하는 문제 중 하나는 지연(latency)이다. 폐루프 전력 제어는 CDMA에서 매우 중요하며, 베이스밴드 카드에서의 지연 현상은 전체 시스템 성능을 위태롭게 한다. sRIO와 같은 프로토콜을 사용하면 오버헤드로 인해 이론적으로 지연이 증가될 수 있다. 대신 이 지연은 더 빠른 단방향(양방향이 아닌) 직렬 인터페이스를 사용함으로써 감소된다.
더 중요한 점은 프로세서에서 알고리즘 소프트웨어와 함께 기본적인 통신 기능을 처리해야 하는 까닭에 간단한 메모리 인터페이스가 소프트웨어에서의 지연을 증가시킨다는 점이다. sRIO와 같은 새로운 프로토콜은 이러한 문제들을 모두 해결하며, 최종적으로 지연 현상을 감소시킨다. <그림 3>은 sRIO가 다른 패킷 기반 프로토콜에 비해 매우 낮은 오버헤드로 동작할 수 있음을 보여준다.
WCDMA 시스템의 왕복(round-trip) 지연 시간은 약 100마이크로초, 또는 384칩이다. 베이스밴드 카드의 sRIO 프로토콜 프로세싱에 10칩만 할당하면 폐루프 전력 제어 지연 요구사항이 모두 충족된다.

동기화
BTS(Base Transceiver Station) 동기화도 시스템 견고성에 있어서 매우 중요하다. 현재의 시스템에서 RF 및 베이스밴드 카드는 상당히 깨끗한 시스템 클럭에 동기화된다(WCDMA 시스템의 경우 일반적으로 30.72MHz로 동작한다). 하지만 베이스밴드 카드와 TM 모듈 간의 인터페이스는 보통 T1 또는 이더넷에 사용되는 클럭 소스와 같은 다른 클럭 소스에 동기화된다. 이처럼 한 클럭 영역에서 다른 클럭 영역으로의 전환은 베이스밴드 카드의 DSP와 같은 프로세싱 블록에서 일어난다. DSP는 일반적으로 알고리즘 프로세싱 배치(batch)를 시작하기 전에 샘플 또는 심볼을 축적하기 때문에 본질적으로 시스템에 대해 비동기적이다.
sRIO 프로토콜을 베이스밴드 카드에 삽입할 때도 이와 동일한 개념을 사용할 수 있다. 동기화는 RF 카드 인터페이스에 삽입할 수 있다. CPRI와 같은 인터페이스는 동기화를 매우 잘 처리할 수 있지만, 베이스밴드 카드에 이와 동일한 수준의 동기화를 유지할 필요는 없다. 더 나은 접근법은 동기식 메모리 인터페이스를 sRIO와 같이 유연하고 확장 가능한 모듈형 프로토콜로 교체하는 것이다. DSP는 본질적으로 동일하게 작동하면서 동시에 동기화에 대한 부담은 덜어버릴 수 있다.
베이스밴드 스위치 기능
베이스밴드 스위치는 단순한 프로토콜 스위치가 아니다. 베이스밴드 카드에는 여러 가지 고유한 추가 기능이 있다. 이러한 기능은 다음과 같은 이유로 중앙 블록에 위치해야 한다.
시스템은 다음 기능을 베이스밴드 스위치에서 수행하는 것이 더 효율적이다.

잠재적 이점
이러한 작업들을 베이스밴드 스위치와 같은 중앙 디바이스에서 수행하는 것은 DSP와 같은 프로세서를 사용하는 경우에 비해 얼만큼의 프로세싱 주기를 절약할 수 있을까? 다음 예에서 WCDMA 애플리케이션을 살펴보자.
X축의 각 기능은 모든 칩 전송률과 심볼 전송률 프로세싱 기능이 하나 이상의 1GHz DSP에서 수행 가능하다고 가정한 WCDMA 기능의 예다. 각 부하 경감 계산에는 이전 기능도 포함된다. 예를 들어 27.5%의 샘플 엔디안 변경에는 샘플 부호 확장도 포함된다. 계산에서는 단일 샘플에서 각 기능 실행에 대해 1-2 주기 지연(delay), 12개의 안테나 채널, 그리고 2× 오버 샘플링율을 갖춘 3.84Mcps WCDMA 시스템을 가정한다.
샘플당 각 기능에 대해 1~2주기 지연은 낙관적인 경우로, 각 샘플이 레벨 1 메모리 또는 레지스터에서 액세스 가능하다고 가정한 것이다. 실제 시나리오에서는 샘플은 이보다 큰 레벨2 메모리에 있게 되고, 메모리 액세스 지연은 최초 샘플에서 9~10주기까지(1GHz DSP) 높아질 수 있다. 이후 각 샘플에 대해서는 2주기가 된다. 최악의 시나리오에서는 소프트웨어서의 열악한 메모리 관리로 인해 각 샘플이 레벨2 메모리에서 읽는 데 8~9주기가 소요될 수 있으며, 극단적인 경우에는 모든 리소스가 데이터 포맷에 사용됨으로써 다른 기능에서는 DSP를 사용할 수 없게 될 수도 있다.
IDT의 사전 프로세싱 스위치(PPS)는 고성능 베이스밴드 스위치의 좋은 예라고 할 수 있다. 이 제품은 앞서 설명한 베이스밴드 고유의 작업 전용으로 최대 22개의 sRIO 포트와 10개의 사전 프로세싱 블록을 갖추고 있으며, 또한 모든 패킷 트래픽을 이동 가능하게 해주는 내부 범용 sRIO 스위치도 제공한다. 다른 방법으로는 FPGA를 사용해 이러한 기능을 구현하는 방법이 있지만 이 경우 FPGA에 관련되는 개발과 부품 수, 부품 비용으로 인해 전체 비용과 설계 복잡성이 높아지고 출시 시간이 늦어질 수 있다.
차세대 베이스밴드 카드를 구축하는 디자이너에게 sRIO 인터페이스 기반의 아키텍처는 여러 가지 이점을 제공한다. 설계를 간소화하고, 추가 용량 또는 시스템 업그레이드에 드는 비용을 최소화할 수 있는 이점이 바로 그것이다. 또 지연을 증가시키지 않으면서도 소프트웨어 개발을 크게 간소화시킬 수 있으며, 디자이너는 중앙 sRIO 스위치에 내부 패킷 및 샘플 조작과 같은 병렬 기능을 구현함으로써 프로세싱 효율은 높이고 비용을 낮추는 것이 가능해진다.

1) 다수의 반복적 기능 : 패킷 포맷과 같은 기능은 일반적으로 베이스밴드 카드의 모든 프로세싱 블록에서 반복된다. CDMA 샘플은 모든 프로세싱 블록에 멀티캐스팅되기에 멀티캐스팅 전에 중앙 블록에서 패킷을 한 번만 포맷하는 것이 더 효율적이다.
2) 다양한 I/O 포맷 : 기성품 부품들이 항상 동일한 입/출력 포맷을 사용하는 것은 아니며, RF 카드의 ADC는 칩 전송률 프로세싱 ASIC 또는 DSP 알고리즘에서 요청한 것과 다른 샘플 크기를 출력할 수 있다. 이러한 차이를 해결하는 가장 좋은 방법은 각 패킷이 중앙 베이스밴드 스위치를 거쳐 이동하도록 하는 것이다.
3) 지연 감소 : DSP와 같은 프로세싱 블록은 종종 패킷을 포맷하는 데 상당한 리소스를 소모한다. 이로 인해 레이크(rake) 수신 프로세싱과 같이 보다 ‘가치가 높은’ 기능에서 사용해야 하는 프로세싱 리소스의 양이 감소된다.
4) 중앙화된 기능의 필요성 : CDMA 다운링크의 합산(summing)과 같은 일부 기능은 각 칩 전송률 프로세서에서 해당 사용자와 관련된 샘플을 출력한 이후에 수행돼야 한다. 사용자 정보는 RF 카드에 전송되기 전에 합계된다.

1) 내부 샘플 조작 : 여기에는 사인 확장(sign extension), 샘플 삭제, 엔디안(endian) 변경 등이 포함된다.
2) 내부 패킷 조작 : 이 기능에는 다양한 RF 카드 패킷의 다중화(muxing), 비다중화(demuxing), 인터리빙(interleaving)이 포함되며, 시스템이 다양한 RF 카드의 샘플을 여러 패킷이 아닌 하나의 패킷으로 프로세싱 블록에 전달할 수 있도록 해준다. 알고리즘은 일반적으로 각 안테나에서 일정한 수의 샘플이 가용해지면 동작을 시작한다. 시스템이 여러 RF 카드로부터 단일 메모리 위치에 샘플을 수신하면 이 알고리즘은 프로세싱을 더 일찍 시작해 지연을 감소시킬 수 있다.
3) 합산 : 여러 DSP 또는 CRP의 샘플은 CDMA에서 다중화를 위해 합산된다. 모든 디바이스가 베이스밴드 스위치를 통해 RF 카드 인터페이스로 패킷을 보내기 때문에 이 작업은 베이스밴드 스위치에서 수행하는 것이 가장 좋다.
4) DMA 작업 : 샘플 패킷의 일부가 프로세서의 내부 또는 외부 메모리의 다른 위치로 전송돼야 하는 경우가 있다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.