어제 처음으로 GT/s 라는 요상한 단위를 접하였다.
Gb/s나 GB/s는 많이 보던 것인데, T는 뭘까?
이런 생소한 전송개념이 등장하게 된 이유에는 "8b/10b encoding"이라는 부호화 체계에 있다. 쉽게 이야기 하면 1바이트를 10비트로 전송하는 것.
8 비트 단위를 10 비트의 코드로 변환시키는 블록 코딩방식이라고 풀어 설명을 할 수 있는데,
256개(28)의 데이터코드로 사용하고, 나머지 788개(210-28) 중 12개를 특수코드(제어)로 할당해서 사용을 한다.
아무 코드만 쓰는 것이 아니고 그룹당 비트 변화가 많은 코드를 선정했다.
10비트의 코드 그룹당 비트 변화율이 3~8회, 평균 전압이 0으로 조정되도록 설계가 되었다. (설계는 IBM이 했다.)
어떻게 보면 25% 정도는 오버헤드로서 제어를 위해 쓰여지고 있다고 볼 수 있다.
하지만 오버헤드를 상쇄할 만한 장점이 있기에 이런 부호화를 쓰고 있을 것이다.
장점으로는 데이터 '0'과 '1' 값의 비트를 충분히 변화시켜서 수신부에서 비트열로 부터 클럭의 추출을 쉽게 할 수 있다는 점이다.
예를 들면 1->0이나 0->1로 가는 비트는 뭔가 구별이 쉽게 할수 있으나, 1->1, 0->0의 경우 클럭을 예측하기 어렵다.
여분의 코드를 이용해서 특수 코드를 이용하면 코드 그룹 간의 경계를 쉽게 판단할 수 있다.
생각보다 이런 부호화를 사용하는 곳은 많았다. (고속 직렬 데이터 전송에)
Fiber chan-nel, Gigabit Ethernet, ServerNet, Ficon, InfiniBand 등
- https://ko.wikipedia.org/wiki/%EC%A0%84%EC%86%A1_(%EC%BB%B4%ED%93%A8%ED%8C%85) [본문으로]
'Hardware' 카테고리의 다른 글
[RT-AC68U] 와이파이 끊어짐 + 온도 확인 명령어 (0) | 2019.06.23 |
---|---|
안드로이드 폰을 쓰는 이유 (0) | 2019.06.10 |
[SSD] 새로 산 SSD에 Time Machine 데이터 복구 (0) | 2018.12.23 |
Kies for mac 삭제 (0) | 2015.08.22 |
[RFID] 전자여권 (0) | 2014.06.12 |