하이퍼트랜스포트
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
하이퍼트랜스포트는 2001년 처음 등장한 고속 상호 연결 기술로, CPU와 칩셋, 주변 장치 간의 데이터 전송을 향상시키는 데 사용된다. 초기 버전부터 여러 차례 업그레이드되었으며, 32비트 링크 너비와 최대 3.2 GHz의 주파수를 지원하여 최대 51.2 GB/s의 대역폭을 제공한다. AMD의 CPU 및 칩셋을 비롯하여 다양한 분야에서 활용되었으며, NUMA 멀티프로세서 시스템, 라우터, 스위치, 코프로세서 연결 등에서 그 응용 범위를 넓혀갔다. 인피니티 패브릭은 하이퍼트랜스포트의 상위 집합으로, AMD의 CPU와 GPU 간의 통신을 개선하는 데 사용된다.
더 읽어볼만한 페이지
- 직렬 버스 - 인피니밴드
인피니밴드는 고성능 컴퓨팅 환경에서 서버, 스토리지, 네트워크 장치 간 고속 데이터 전송을 위한 직렬 통신 기술로, 슈퍼컴퓨터나 데이터 센터에서 주로 사용되지만 이더넷 기반 기술과의 경쟁 및 새로운 컴퓨팅 환경에 대한 적응이라는 과제를 안고 있다. - 직렬 버스 - 직렬 통신
직렬 통신은 데이터를 한 비트씩 순차적으로 전송하는 방식으로, 케이블 수와 공간 효율성이 높고 장거리 통신에 유리하여 다양한 분야에서 활용된다. - 컴퓨터 버스 - NMEA 0183
NMEA 0183은 선박용 GPS, 자동식별장치(AIS) 등 항해 장비에서 데이터를 송수신하는 데 사용되는 ASCII 기반의 직렬 통신 프로토콜로, RS-422 전기 표준을 사용하며, 문장 형태의 데이터를 통해 정보를 전달하고, 물리 계층, 데이터 링크 계층, 애플리케이션 계층의 3가지 레이어로 구성되어 다양한 소프트웨어에서 지원된다. - 컴퓨터 버스 - 인피니밴드
인피니밴드는 고성능 컴퓨팅 환경에서 서버, 스토리지, 네트워크 장치 간 고속 데이터 전송을 위한 직렬 통신 기술로, 슈퍼컴퓨터나 데이터 센터에서 주로 사용되지만 이더넷 기반 기술과의 경쟁 및 새로운 컴퓨팅 환경에 대한 적응이라는 과제를 안고 있다.
하이퍼트랜스포트 | |
---|---|
개요 | |
유형 | 컴퓨터 프로세서 상호 연결 기술 |
출시일 | 2001년 |
다른 이름 | 라이트닝 데이터 트랜스포트 (LDT) |
세대별 정보 | |
하이퍼트랜스포트 1.x | 클럭 속도: 200 MHz - 1.4 GHz 최대 대역폭: 5.6 GB/s (단방향) 또는 11.2 GB/s (양방향) 전압: 2.5 V 또는 3.3 V |
하이퍼트랜스포트 2.0 | 클럭 속도: 최대 2.6 GHz 최대 대역폭: 10.4 GB/s (단방향) 또는 20.8 GB/s (양방향) 전압: 1.2 V |
하이퍼트랜스포트 3.0 | 클럭 속도: 최대 2.6 GHz 최대 대역폭: 10.4 GB/s (단방향) 또는 20.8 GB/s (양방향) 전압: 1.2 V 특징: 포워드 오류 수정 (FEC) 기능 추가 대역폭 활용률 향상 |
추가 정보 | |
관련 기술 | 하이퍼 스레딩 (약어 "HT"로도 사용됨) |
웹사이트 | 하이퍼트랜스포트 컨소시엄 |
2. 역사
HyperTransport(하이퍼트랜스포트)는 패킷 기반의 저지연, 고대역폭 링크로, 컴퓨터 프로세서 간 또는 프로세서와 주변 장치 간의 통신을 위해 설계되었다.
HyperTransport는 비트 폭을 자동으로 조정하는 기능을 지원하며(2개의 2bit 라인 ~ 2개의 32bit 라인), 버전 3.1에서 양방향 32bit 연결 시 최대 51.2 GB/s의 전송 속도를 보인다. 이는 기존의 많은 표준 버스보다 빠른 속도이다. 또한, 하나의 시스템 내에서 다양한 버스 폭을 혼합하여 사용할 수 있어(예: 1x16 대신 2x8 등) 메인 메모리와 CPU 사이에는 더 빠른 연결을, 주변 장치 사이에는 더 느린 연결을 사용하는 유연성을 제공한다. HyperTransport는 다른 버스에 비해 낮은 지연 시간을 갖는다는 장점도 있다.[2]
HyperTransport는 패킷 기반으로 작동하며, 물리적 연결 폭과 관계없이 각 패킷은 32비트 워드의 조합으로 구성된다. 첫 번째 워드는 항상 명령 워드이며, 주소가 포함된 경우 명령 워드의 마지막 8비트와 다음 32비트 워드가 연결되어 40비트 주소를 형성한다. 64비트 주소 지정은 추가적인 32bit 제어 패킷을 통해 가능하다. 데이터 페이로드는 1 패킷 내의 32비트 워드이며, 전송은 실제 길이에 관계없이 항상 여러 32비트로 패딩된다.[2]
HyperTransport 패킷은 bit time이라는 세그먼트 내에 포함되며, 필요한 bit time 수는 상호 연결의 버스 폭에 따라 달라진다. HyperTransport는 시스템 관리 메시지 발생, 신호 인터럽트 발생, 장치 및 프로세서 조정을 위한 프로브 발행, 범용 I/O 및 데이터 트랜잭션 등 다양한 기능을 지원한다. 또한 posted write와 non-posted write 두 가지 쓰기 명령을 사용한다. Posted write는 대상으로부터 응답을 받지 않는 명령으로, UMA 트래픽이나 DMA 전송과 같은 광대역 장치에 주로 사용된다. Non-posted write는 수신 측으로부터 "대상 동작 완료" 응답을 받아야 한다. 읽기 역시 수신 측의 read 응답을 필요로 한다.[2]
ACPI를 준수하여 전원 관리를 지원하며, 프로세서의 슬립 상태(C state) 변화에 따라 장치의 상태(D state)를 변경하는 신호를 보낼 수 있다. 예를 들어, CPU가 슬립 상태가 되면 디스크 전원을 끌 수 있다.[2]
전기적으로 HyperTransport/LDT는 2.5V 동작의 LVDS와 유사하다.[2]
HyperTransport를 HT로 줄여 부르기도 하지만, 인텔 CPU의 HyperThreading Technology 약칭과 혼동될 수 있으므로, HyperTransport 컨소시엄은 항상 "HyperTransport"로 표기하도록 권장한다.[2]
2. 1. 버전별 발전
하이퍼트랜스포트는 1.x, 2.0, 3.0, 3.1의 네 가지 버전으로 제공된다. 각 버전별 주요 특징은 다음과 같다.버전 | 연도 | 대역폭 | 연결 너비 | 클럭 속도 |
---|---|---|---|---|
1.x | 2001년 ~ 2002년 | 12.8GB/s | 32 비트 | 800 MHz |
2.0 | 2004년 | 22.4GB/s | 32 비트 | 1.4 GHz |
3.0 | 2006년 | 41.6GB/s | 32 비트 | 2.6 GHz |
3.1 | 2008년 | 51.2GB/s | 32 비트 | 3.2 GHz |
하이퍼트랜스포트는 패킷 기반으로 작동하며, 각 패킷은 링크의 물리적 너비에 관계없이 일련의 32비트 워드로 구성된다. 첫 번째 워드는 항상 명령 필드를 포함하며, 대부분의 패킷은 40비트 주소를 포함한다. 64비트 주소 지정을 사용할 때는 추가 32비트 제어 패킷이 앞에 붙는다. 데이터 페이로드는 제어 패킷 뒤에 전송되며, 실제 길이에 관계없이 항상 32비트의 배수로 채워진다.
각 버전은 200 MHz에서 최대 3.2 GHz까지 작동한다. 또한 더블 데이터 레이트 (DDR) 연결로, 클럭 신호의 상승 및 하강 에지 모두에서 데이터를 전송하여 3.2 GHz에서 작동할 때 최대 데이터 전송 속도는 6400 MT/s가 된다. 작동 주파수는 마더보드 칩셋(노스 브리지)과 자동 협상된다.
하이퍼트랜스포트는 링크당 2~32 비트 범위의 자동 협상 비트 폭을 지원하며, 하이퍼트랜스포트 버스당 두 개의 단방향 링크가 있다. 버전 3.1에서 전체 32비트 링크를 사용하고 전체 하이퍼트랜스포트 3.1 사양의 작동 주파수를 활용하면 이론적인 전송 속도는 방향당 25.6GB/s (3.2 GHz × 클럭 사이클당 2회 전송 × 링크당 32 비트) 또는 집계 처리량 51.2GB/s이다. 이는 PC 워크스테이션, 서버 및 고성능 컴퓨팅, 네트워킹을 위한 대부분의 기존 버스 표준보다 빠르다.
다양한 폭의 링크는 단일 시스템 구성에서 함께 혼합될 수 있다. 예를 들어 다른 CPU에 대한 하나의 16비트 링크와 주변 장치에 대한 하나의 8비트 링크를 사용하면 CPU 간의 더 넓은 상호 연결과 필요에 따라 주변 장치에 대한 더 낮은 대역폭 상호 연결이 가능하다. 또한 단일 16비트 링크를 두 개의 8비트 링크로 분할할 수 있는 링크 분할도 지원한다. 이 기술은 낮은 오버헤드로 인해 일반적으로 다른 솔루션보다 낮은 대기 시간을 갖는다.
하이퍼트랜스포트 2.0은 포스트 커서 송신기 디엠퍼시스를 추가했다. 하이퍼트랜스포트 3.0은 스크램블링 및 수신기 위상 정렬과 선택적 송신기 프리커서 디엠퍼시스를 추가했다.[2]
3. 기술적 특징
하이퍼트랜스포트 패킷은 비트 타임이라는 세그먼트를 통해 인터커넥트에 들어간다. 필요한 비트 타임 수는 링크 너비에 따라 다르다. 하이퍼트랜스포트는 시스템 관리 메시징, 인터럽트 신호, 인접 장치 또는 프로세서 프로브 발행, I/O 트랜잭션, 일반 데이터 트랜잭션을 지원한다.
쓰기 명령에는 게시됨(Posted)과 게시되지 않음(Non-posted) 두 가지가 있다. 게시된 쓰기는 대상의 응답을 요구하지 않으므로, 균일 메모리 접근 트래픽이나 직접 메모리 접근 전송과 같이 높은 대역폭이 필요한 장치에 사용된다. 게시되지 않은 쓰기는 "대상 완료" 응답 형식으로 수신자의 응답을 요구하며, 읽기 작업 역시 읽기 데이터를 포함하는 응답을 요구한다. 하이퍼트랜스포트는 PCI 소비자/생산자 순서 모델을 지원한다.
하이퍼트랜스포트는 ACPI 사양을 준수하여 전력 관리를 용이하게 한다. 즉, 프로세서 절전 상태(C 상태) 변화가 장치 상태(D 상태) 변화를 알릴 수 있다. 예를 들어 CPU가 절전 상태로 전환되면 디스크 전원을 끌 수 있다. 하이퍼트랜스포트 3.0은 중앙 집중식 전력 관리 컨트롤러가 전력 관리 정책을 구현할 수 있도록 추가 기능을 제공한다.[2]
3. 1. 링크 및 속도
버전제정 연도 최대 HT 기준 클럭 최대 링크 폭 최대 총 대역폭
(양방향)최대 대역폭
(16 비트 단방향)최대 대역폭
(32 비트 단방향)*1.0 2001년 800 MHz 32 비트 12.8 GB/초 3.2 GB/초 6.4 GB/초 1.1 2002년 800 MHz 32 비트 12.8 GB/초 3.2 GB/초 6.4 GB/초 2.0 2004년 1.4 GHz 32 비트 22.4 GB/초 5.6 GB/초 11.2 GB/초 3.0 2006년 2.6 GHz 32 비트 41.6 GB/초 10.4 GB/초 20.8 GB/초 3.1 2008년 3.2 GHz 32 비트 51.2 GB/초 12.8 GB/초 25.6 GB/초