본문 바로가기

Notice & Personal Log/Diary

Radeon HD 6970 성능 예상

글쓴이: 이대근 (ㄷㄱ)


라데온 6900 시리즈가 슬슬 모습을 드러내려 하는데
현재까지 알려진 스펙을 토대로 성능을 상상해 보았습니다.
일단 6970을 기준으로 스펙은 1920SP, 96TMU, 32ROP, 256bit GDDR5로 알려졌습니다.
(
여기 <- 링크 참조)

-> 이탤릭체로 표시된 내용 중 TMU 갯수를 120개로 새로 가정하였습니다.
애초 1920SP / 96TMU 스펙을 공개한 출처에서는 또한 6970이 30개의 SIMD 유닛을 장착했다고 밝혔는데,
1920개의 SP는 30개의 SIMD 유닛에 64개씩 딱 나눠 떨어지게 들어가지만 96은 30의 정수 배수가 아니라
SIMD 유닛 하나당 일정한 갯수의 TMU를 나눠 담을 수 없는 문제가 발생합니다. -_-;

그렇다면 SIMD 유닛과 TMU가 독립적으로 분리되어 있다는 가정을 해볼 수 있는데
현재까지 유출된 Caymen 구조에 대한 어떤 프리젠테이션을 보더라도 이 가정이 성립할 가능성은 희박합니다.
즉 6970의 TMU 갯수가 96개라는 스펙 자체가 틀린 사실인 것 같습니다.

기존의 Cypress / Barts는 SIMD 유닛 한개당 80SP / 4TMU가 내장되어 있었는데
기존과 같은 비율로 TMU가 내장되어 있다면 30 SIMD 유닛을 장착한 6970은 120개의 TMU를 가져야 합니다.
또한, 6950이 1536SP라는 설이 있는데 (= 24 SIMD 유닛) 그렇다면 바로 6950의 TMU 갯수가 96개가 됩니다.
(24 SIMD x 4 TMU/SIMD = 96TMU)

즉 요약하자면 6970의 TMU 갯수는 120개일 것이고
96TMU설은 6950의 스펙이 잘못 언급된 것이거나 틀린 언급일 가능성이 높습니다.


우선 6900 시리즈는 SP 부분에서 기존의 2000~5000 시리즈까지의 구조를 탈피했다고 짐작되고 있는데
기존은 5개의 ALU가 하나의 명령어 이슈 포트를 공유하는 5-way VLIW 코어 구조를 가지고 있었습니다.
즉 명령어가 효율적으로 이슈되면 5개의 ALU가 모두 제 성능을 발휘할 수 있어 스펙상의 성능이 나오지만
그렇지 못한 경우엔 스펙상 SP 갯수의 1/5만큼밖에 성능이 나오지 않을 수도 있습니다.
예를 들어 5870의 1600SP는 실제로는 320개의 명령어 포트에 연결된 320 (x 5 ALU) 코어에 해당하는데
명령어 이슈 방식에 따라 320 코어~1600 코어까지 성능이 변할 수 있는 구조인 것이죠.

반면 6900 시리즈는 명령어 포트:ALU 비율이 1:4로 줄어든 4-way VLIW 코어 구조를 채택했습니다.
6970의 스펙으로 알려진 1920SP의 경우 기존의 방식대로 계산하면 1920/5 = 384 코어인 셈이지만
새 아키텍처를 기준으로 계산하면 1920/4 = 480 코어가 되어 5870의 320 코어보다 크게 늘어나는 셈입니다.
이는 곧 명령어 이슈가 매우 비효율적인 상황이라도 5870보다 1.5배의 연산능력을 가질 수 있단 얘기이죠.
(다만 기존에도 성능을 잘 뽑아내던 경우라면 5870대비 20% 정도의 향상밖에 없을 수도 있습니다.)


그리고 TMU (Texture Mapping Unit) / ROP (Rendering Output Pipeline) 구조가 큰 변화가 없다면
숫자 향상에 비례해서 성능이 증가했다고 가정할 때 TMU쪽의 성능은 5870보다 20%가 더 늘었습니다.
(5870의 TMU 갯수: 80개 / 6970의 TMU 갯수 예상: 96개)
물론 SP가 기존 대비 최대 50% 성능향상이 있을 수 있는 구조에서 TMU쪽이 병목이 될 수 있지만
평균적으로 SP쪽의 Throughput을 가정했을 때 20% 정도 향상치를 적용하는 건 합리적인 설계입니다.

-> 맨 위에서의 TMU갯수 재가정에 의해 관련 부분을 삭제합니다.


문제는, ROP가 다른 요소들의 스펙에 비해 너무 적어 보인다는 점입니다.



사실 기존에도 라데온 시리즈의 성능을 '결정적으로' 결정짓던 요소는 SP나 TMU가 아니라 ROP였는데
그 예로 4890/5770과 5830, 5870의 성능 관계를 들어볼 수 있습니다.
우선 4890과 5770, 5830, 5870 모두 코어클럭은 800~850MHz로 엇비슷한 상황에 각각의 스펙은

- 4890/5770: 800SP, 40TMU, 16ROP
- 5830: 1120SP, 56TMU, 16ROP
- 5870: 1600SP, 80TMU, 32ROP

5830의 SP와 TMU 갯수는 4890/5770과 5870 사이에서 밸런스가 잡혀 있지만 ROP가 5870보다 떨어집니다.
그 결과 렌더링에서 병목현상이 발생해 5830의 실 성능은 5870보단 4890/5770에 훨씬 가까운 수준입니다.
(비슷한 클럭끼리 비교하기 위해 5870을 대조군으로 삼았지만 실상 5850보다도 5830이 훨씬 떨어집니다.)


다시 말해 4890 -> 5870으로 세대교체가 일어났을 땐 SP / TMU / ROP 갯수가 모두 두배씩 늘어났지만
5870 -> 6970에선 SP 쪽에서 (가장 낙관적으로 봤을 때) 1.5배, TMU 1.2배, ROP는 그대로인 것이죠.
즉 5870 vs 6970의 성능 관계는 4890 vs 5870보단 4890 vs 5830의 성능 관계에 더 가까울 가능성이 큽니다.
4890 대비 5830의 스펙이 SP 1.4배, TMU 1.4배, ROP는 그대로라 5870 -> 6970의 스펙 변화와 비슷하거든요.

물론 6970의 클럭이 어떻게 나올지가 변수인데 5870의 클럭인 850MHz보다 획기적으로 높다면

4890 -> 5830의 성능 향상보다는 더 큰 폭의 성능향상이 가능할 것 같습니다.
(사실 4890 -> 5830 비교시엔 클럭이 850 -> 800으로 오히려 줄었었으니...)


예전에 제가 작성했던 GPU 성능 방정식 (http://udteam.tistory.com/59) 을 토대로 계산할 경우
(※ 위의 방정식은 GPU내부의 각 유닛 -쉐이더 (= SP), 텍스처, ROP- 별 연산량을 토대로 만들었습니다)
6970의 SP 효율에 따라 변동이 있겠지만 일단 5870과 5970 사이에 위치할 것이 확실시되는 가운데
SP 효율이 최고로 향상될 경우 (= 5870 대비 ↑50%) 5970에 매우 근접해지지만 넘어서지는 못하고,
기존과 SP 효율이 같을 경우엔 5870과 5970 사이에서 5970에 좀 더 가까이 위치할 것으로 보입니다.

구체적으로, 3DMark Vantage와 같은 쉐이더 의존성이 높은 프로그램에서는 5970에 근접할 것이고
일반적인 게임 성능은 5970보다 최소 4%~최대 8% 가량 낮은 성능을 보여줄 것으로 예상됩니다.
(참고로 방정식에 대입한 클럭은 코어 900MHz / 메모리 6000MHz입니다)

방정식이 틀어진다면 그것은 SIMD 유닛 (SP, TMU) 쪽에서보단 ROP의 변화에 의할 가능성이 큰데
ROP 갯수 자체는 32개로 전세대와 같지만 Rasterizer가 두 배가 되었단 게 중요한 변인이 될 수 있습니다.
(Rasterizer도 렌더링에 관여하는 유닛인데, 제가 렌더링 절차를 몰라 자세한 분석은 불가능합니다^^;)

'Notice & Personal Log > Diary' 카테고리의 다른 글

남은 건 이 한장뿐...  (0) 2010.12.01
황금비를 찾다  (1) 2010.12.01
큰 지름  (0) 2010.11.12
3파전  (0) 2010.11.07
돗자리깔기 + 잡다한 얘기  (0) 2010.11.03