기글 하드웨어 뉴스 리포트
출처: : | http://pc.watch.impress.co.jp/docs/colum...78760.html |
---|
●그래픽스 시장에 적합한 결정판이 GeForce GTX 460
NVIDIA는, 금후 몇개월간의 사이에, 2∼3개가 새로운 Fermi(페르미(Fermi))계GPU를 투입한다. 그 안에는, 데스크톱(desktop)GPU가 강력한 비방 「GeForce GTX 460(GF104?) 」이나, 노트 북 GPU의 기함이 되는 「N11E-GS(GeForce GTX 460M?) 」도 포함된다.
새 아키텍처GPU를 하이엔드 제품으로서 발표하고나서 반년부터 1년후에, 하의 시장 세그먼트에 전개하는 것은, NVIDIA의 통례의 패턴. 그러나, 이번은, 지금까지 크게 다른 부분이 있다. 가까운 시일내에 등장한다고 보여지는, 2번째의 데스크톱(desktop)GPU GeForce GTX 460이, 매우 크게 강력한 것이다.
「최초의 Fermi인 GeForce GTX 480(GF100)은, GPU컴퓨팅을 첫째로 생각해서 만들어졌기 때문에, 그래픽스에서는 효율이 나빴다. 그러나, GeForce GTX 460은, 480과 다이가 다르다. 그래픽스이외가 쓸데 없는 기능은 전부 떼고, 그래픽스의 효율만큼 집중했다. 그러므로, 480과 비교하면, 소비 전력의 비교적 그래픽스의 성능이 지극히 높다. 그래픽스에 적합한 결정판으로, 이것이라면, ATI(현AMD)과 전 얻는다」.
어떤 GPU업계관계자는, NVIDIA가 새로운 GeForce GTX 460을, 이렇게 설명한다. GeForce GTX 460은, 스펙상의 프로세싱 퍼포먼스1개를 보아도, 종래의 2번째 다이의 GPU (이)라고는 생각되지 않는다. 프로세서수는 하이엔드의 GeForce GTX 480과 비교해서 약 70%. 물론 DirectX 11【피챠】는 갖추고 있어, 그럼에도 소비 전력은 GTX 480의 3분의 2정도라고 말해지고 있다.
왜, GTX 460은 거기까지 틀리는 것인가? 그것은, 기초로 한 아키텍처가 GF100이 아니고, GT200(GeForce GTX 280)아키텍처라고 보여지기 때문이다. GT200아키텍처를 40nm에 이행시켜, DirectX 11(Direct3D 11)대응의 Fermi의 새 【그래픽스 피쳐】를 더한, 하이브리드형의 아키텍처가, NVIDIA의 GeForce GTX 460의 정체와 추측된다.
이 것은, NVIDIA GPU의 CUDA코어(프로세서)수로부터 판별할 수 있다. GeForce GTX 460의 프로세서수는, 현재 누설되어 있는 숫자는 336개. 이 리크(leak) 정보는 Web등 각처에서 공개되고 있어, 확실성이 높다. 이 숫자로 중요한 부분은, 32로 나눠 떨어지지 않고, 24로 나눠 떨어지는 점이다. 왜냐하면, GF100계 아키텍처에서는, CUDA코어수는 32의 배수가 아니면 안되기 때문이다. 그리고, 24로 나눠 떨어지는 프로세서수는, GT200계 아키텍처의 물건이기 때문이다.
●프로세서수로부터 아는 GPU아키텍처의 차이
GF100아키텍처에서는, 1개의 multiprocessor 「SM(Streaming Multiprocessor)」 안(속)에 32개의 CUDA코어가 있어, 그중에서 WARP(NVIDIA GPU의 논리 vector로 쓰레드의 집합)스케줄링이 행하여 진다. 32개라고 하는 프로세서 구성은, 아키텍처상에서 변경이 어렵고, 32개의 CUDA코어 어레이를 분할할 수는 없다. 그 때문에, GF100아키텍처GPU에서는, 프로세서수는 반드시 32의 배수가 된다. 이것은, 현재의 GeForce GTX 4xx계GPU의 프로세서수를 비교하면 곧 안다.
그 때문에, 336개의 CUDA코어를 탑재하는 GeForce GTX 460은, GF100의 기본 아키텍처를 채용하지 않고 있는 것을 안다. 336프로세서를 나눠 떨어지는 것은 24. 그리고, 24프로세서를 기본단위라고 하고 있는 것은, NVIDIA GPU에서는 GT200계다.
GT200아키텍처에서는 1개의 SM 안(속)에 8개의 프로세서 「Streaming Processor(SP)」이 있어, SM이 3개 모여서 1개의 「Texture/Processor Cluster (TPC)」을 구성하고 있다. 1개의 TPC 안(속)의 프로세서SP의 수는 24로, GT200의 경우는, TPC이 거의 최소단위가 된다. GT200에서는, 24개의 프로세서를 분할하는 것은 어렵다. SM단위 (또는 TPC단위)로밖에 유효화/무효화의 바꿔침을 할 수 없는 것이 NVIDIA GPU아키텍처의 특징으로, 그것은 GT200이라도 공통되고 있다. 상위의 GT200계CPU가, 모두 24의 배수의 SP을 탑재하고 있는 것은 그 때문에다.
이 것부터, GeForce GTX 460은, GT200을 기초로 한 아키텍처인 가능성이 높은 것을 안다. 아마, DirectX 10세대이었던 GT200계 아키텍처를 기초로, DirectX 11확장이나 Fermi와의 프로그램성에서의 공통성을 있는 정도 더한 것이 GeForce GTX 460의 다이라고 추정된다. 그것은, 이퀄(equal), NVIDIA GPU의 기본적인 구성인 SM등의 구조가 460과 GF100과에서는 다르고, 거기에 부대하는 기능도 다른 것을 뜻하고 있다.
GT200의 Streaming Multiprocessor
GF100의 SM
NV40∼GF100의 Unit수 비교
덧붙이자면, GeForce GTX 460의 코드네임은 GF104이지만, 이 기사에서는 코드네임은 그다지 강조하지 않고 있다. NVIDIA는 같은 코드네임이면서, 실제로는 제품화까지의 사이에 다이가 바뀌어버리는 케이스가 있어, 코드네임의 일관성에 의문이 있다.
NVIDIA의 경우는, 믿을 수 있는 것은 코드네임이 아니고, 다이 바로 그것이다. 제품출하 나중에 완전히 일치하고 있는 케이스를 제외하면, 다이와 코드네임의 일치에 불안이 있기 때문이다. 다이 자체는, 많아도 5로부터 6종류의 종류(variation)밖에 없으므로, 다이에서 식별하는 분이 합리적이다.
●그래픽스 때의 효율이 높은 GT200아키텍처
GeForce GTX 460이 GT200을 기초로 하고 있다로 하면, 거기에는, 좋은 측면과 나쁜 측면이 있다. 말해면은, NVIDIA가 데스크 톱(desktop)에 적합하게 그래픽스 퍼포먼스 효율이 높은 GPU를 투입하는 것. 나쁜 면은, 프로그래밍상에서의 최적화의 일관성이 상실되어버리는 위험성이 있는 것이다.
GF100아키텍처는, 범용 어플리케이션(application)을 달리게 하기 쉽게 하기 위한 유연성을 구한 결과, 아키텍처상인 정도의 오버헤드가 있다. 그 때문에, 그래픽스를 달리게 하는 것 뿐이라면, 효율이 나쁜 케이스가 많다. 예, 내부 메모리 계층에 대하다 ECC과 같은, HPC(High Performance Computing)에 특화한 【피쳐】를 제거했다고 한들, GT200의 효율성에는 도달하지 않을 것이다.
그것에 대하고, GT200은, 아직 그래픽스에 들른 아키텍처이며, 그 몫, 종래형의 그래픽스에서는 퍼포먼스 효율이 원리적으로 높아진다. 즉, NVIDIA에 있어서, 소비자에 적합하게 그래픽스 효율을 우선적으로 생각하면, GT200은 좋은 선택이 된다.
특히, 데스크톱(desktop)에서 200불전후의 가격 레인지의 GPU는, 게이머가 구매층의 중핵이기 때문, 그래픽스의 효율성은 중요하다. NVIDIA의 Fermi전략은, 시장에 의해 받아들이는 방법이 다르고, HPC의 세계에서 기대도가 높을 뿐에서, 소비자 시장에서는 여전히 ATI(현AMD)에 밀려 있다. NVIDIA는 게이머대상 GPU에서, 그래픽스 워크로드(work load)의 효율이 높은 GPU를 필요로 하고 있어, NVIDIA가 GT200의 DirectX 11확장을 행한 것이라면, 그 니즈에는 딱 맞는다.
●다이 자체는 384코어를 싣고 있으면 추측되는 GeForce GTX 460
GT200확장 판이라고 보여지는 GeForce GTX 460의 상정되는 구성은 다음과 같아진다. 우선, SM은 GT200과 같이, 각각 8개의 CUDA코어를 탑재하고, 3개의 SM에서 1개의 Texture/Processor Cluster (TPC)이 구성된다. TPC은 14개가 다이 위로 구현되어, 14 TPC×3 SM×8 CUDA코어에서 합계336개의 CUDA코어가 된다.
가장, GT200을 기초로 했다고 한들, DirectX 11을 위한 확장은 필요하다. 거기에서 문제가 되는 것은, polygon 분할을 행하는 【테셀레이터】의 구현과, 【라스터라이저】의 복수화다. GF100에서는, 1개의 SM마다 1Unit의 【테셀레이터】가 구현되어, 4개의 SM마다 1Unit의 【라스터라이저】가 구현되어 있었다. GeForce GTX 460이 1개의 TPC마다 1개의 【테셀레이터】를 갖춘다로 하면, 【테셀레이터】는 합계14개가 된다. 이것은, 상위의 GF100다이의 16개【테셀레이터】에 육박하는 수로, 보아한들 오버킬(overkill)이다.
아마, 합리적인 수는, 2개의 TPC마다 1개의 【테셀레이터】를 갖추고, GPU전체로 7개의 【테셀레이터】를 실은 구성이라고 추측된다. 프로세서 대【테세레이터】의 비율은 48대1이 되고, GF100다이의 32대1보다 하위가 된다.
단, 그 경우의 7이라고 하는 홀수의 【테세레이터】수는, 정말로 수습되기가 나쁘다. 그러나, GeForce GTX 460의 다이가 실제로는 16개의 TPC을 탑재하고 있어, SM이 합계48개, CUDA코어의 수가 384개다로 하면, 모든 숫자는 딱 안정된다. 그 경우는 【테세레이터】는 8개가 되고, 완전히 대칭이다.
GF100의 패밀리
그렇게 추측하는 근거는, NVIDIA의 40nm프로세스 세대가 안는 제품 비율 문제에 있다. 40nm프로세스에서는 장황배선의 비율이 낮아진 것으로, 프로세스측의 결함율이 GPU의 제품 비율에 크게 영향을 주게 되었다. 예 종래의 프로세스와 같은 결함밀도이었다고 한들, 40nm에서는 제품 비율의 로스가 종래부터 훨씬 크다. 그 때문에, NVIDIA는 장황성을 갖게 하는 것으로, GPU의 제품 비율을 향상시켜 있다.
구체적으로는, NVIDIA는 결함이 포함되어 있는 부분의 SM(Streaming Multiprocessor)을 무효로 하고 있다. 그러자, 결함을 포함한 다이에서도 제품으로서 출하할 수 있기 위해서, 제품 비율이 매우 올라간다. GF100다이를 사용한 제품은, 모두 SM이 1개이상 무효로 되고 있어, 그 상황은 지금도 변하고 있지 않다.
비교적 다이 사이즈가 큰 GeForce GTX 460이라도, 사정은 같다고 추측된다. NVIDIA는 460이라도, 같은 장황화를 하지 않으면 제품 비율을 마칠 수 없을 것이다. 그리고, GeForce GTX 460에서는 아키텍처상, 48 또는 24프로세서 단위가 아니면, 무효에 할 수 없으면 추측된다. 384개의 CUDA코어를 실은 다이에서, 48개를 무효로 하면 336개가 된다. 이것이 GeForce GTX 460의 정체라고 추측된다.
●【듀얼 라스터라이저】의 가능성이 높다
GeForce GTX 460의 다이 자체의 TPC수가 16이라고 생각하니, 그 상위의 「GPC(Graphics Processing Cluster)」의 구성도 보인다. 【테셀레이터】의 수가 늘어나면, 벨런스상, 【라스터라이저】를 늘리고, 【테셀레이션】시의 정점폭발에 대비한 편이 나아진다. NVIDIA는, GF100로부터 【라스터라이저】를 복수 탑재하고, 【라스터라이저】단위로 GPU를 분할하고, 그 단위를 GPC이라고 명명했다.
벨런스를 생각한다면, GeForce GTX 460에서는 【라스터라이저】를 2개 탑재하고, GPU를 2개에 분리하고, 각각 8개의 TPC을 배치하는 구성이 합리적이다고 생각된다. 단, 이것은 【라스터라이저】를 복수화하는 것에 따르는, geometry 프로세싱의 분할 제어를 배치 scheduler에 짜 넣는 것을, NVIDIA가 허용했을 경우라고 하는 조건이 찌른다. NVIDIA에 의하면 이 제어는 의외로 성가시므로, 그 귀찮은 일을 피하자고 생각하면, 【라스터라이저】를 1개인채로 로 할 가능성도 있다. 단, 그 경우는, 【테셀레이터】가 완전 가동했을 경우에, 래스터 라이즈가 따라잡지 않게 되는 위험이 있어서, 생각하기 어렵다.
여기까지의 GeForce GTX 460의 추측을 매듭지으면, CUDA코어는 물리적으로는 384개로 유효해져 있는 것이 336개, SM(Streaming Multiprocessor)이 물리 48개 (유효42개), Texture/Processor Cluster(TPC)이 물리 16개 (유효14개)로, 【테셀레이터】와 그것에 부대하는 PolyMorph Engine이 물리 8개 (유효7개), 【라스터라이저】에서 정리하는 단위의 GPC이 1∼2개가 된다. 상당히 대규모인 GPU다. trade-off는 당연 다이 사이즈가 된다.
●계층이 두터운 NVIDIA의 DirectX 11세대GPUfamily
보통이라면, GPU벤더는 하이엔드GPU 밑에, 퍼포먼스GPU, 메인 스트림GPU와 전개해 간다. 다이 사이즈는, NVIDIA의 경우는 하이엔드GPU가 400∼500평방mm대(【쉬링크】판이 300평방mm대)에서, 퍼포먼스GPU가 반의 150∼200평방mm대, 메인 스트림GPU가 100평방mm전후에서, 밸류GPU로서 더욱 작은 다이의 GPU가 올 경우가 있다. 하이엔드로부터 메인 스트림까지는, 같은 프로세스 같은 아키텍처라면, 대범하게 말해서 3∼4계층이다. 프로세싱 퍼포먼스도 거의 다이에 비례하고 있어, 하이엔드GPU의 2분의 1이 퍼포먼스GPU, 4분의 1이 메인 스트림GPU가 되는 것이 통례이었다.
그런데, 이번은 패턴이 다르다. 다이에 실제로 타고 있는 물리적인 프로세서수로 비교하면, 그것이 잘 알 수 있다. 이번은, 하이엔드GPU다이(GF100)의 512개에 대하여, 그 아래로, 4분의 3의 384개를 실은 다이가 있으면 추측된다. GeForce GTX 460(GF104)이 사용하는 이 다이는, 하이엔드와 퍼포먼스의 중간층이라고 생각할 수 있다. 종래라면, 하이엔드의 다이로부터 제품을 파생시켜 있었던 영역이다.
그 1계층아래로는, 이 다음에는 상위의 퍼포먼스GPU인 N11E-GS/GF106의 다이가 있다. 이것은, 8분의 3의 192개의 CUDA코어를 싣고 있으면 추측된다. 게다가 그 아래로 96개라고 보여지는 퍼포먼스와 메인 스트림의 중간의 GPU의 다이가 있다. 최종적으로는, 그 하의 메인 스트림&밸류가 등장한다고 보여진다. 덧붙이자면, 상위의 대형 다이GPU에서는, 제품화의 즈음에 1개이상의 SM이 걸어가다 멈추어 향상 때문에 무효화된다. 그 때문에, 제품의 프로세서수는, 다이상이 물리적인 프로세서수보다 적어진다.
다이 사이즈는, 상정할 수 있는 아키텍처에 폭이 있어서 추정이 어렵지만, 아마 하이엔드와 퍼포먼스의 중간의 매미 하이엔드GPU가 300평방mm대. “무겁다” 구현이라면 300평방mm대의 상당히 위쪽이고, 깎기에 깎은 구현이라면 300평방mm다이노시타(台下)쪽이 된다. 퍼포먼스GPU도 같아서, 200평방mm전후에서, 무거우면 200평방mm대 위쪽의 숫자를 예상할 수 있다. 그 하의 다이가 96프로세서다로 하면, 150평방mm보다 큰 팁이 될 것이다. 하의 도에 내보인 예측 다이 사이즈는, 어디까지나 최소의 값으로, 실제로는 이것보다 상당히 커지는 가능성이 높다.
다이 사이즈의 전환
어쨌던 중요한 점은, 매미 하이엔드GPU가 새로운 계층으로서 늘어나고 있는 것이다. 계층전체도, 아마 최종적으로는 5계층이 되고, 지금까지와는 다소 패턴이 다르다. 이 변화는 도대체(일체) 무엇을 뜻하고 있는 것인가?
결론으로부터 말하면, 이것은 NVIDIA의 전략의 변화를 시사하고 있다. 하이엔드GPU를 2계통에 나누고 있는 것으로, GPU컴퓨팅 대응의 하이엔드GPU와, 순수에 그래픽스 성능을 추구한 하이엔드GPU의 2계통에의 분기가 보인다. 지금까지는, 상위의 아키텍처가 하에 내려와 오는 워터 폴형이었지만, 이번은 양상이 다르는 것 같다. 또, 이것은, 시장전략적으로는, AMD(구ATI)과 소비자 시장에서 그래픽스 효율로 싸우는 것을 의미한다. GeForce GTX 460(GF104)은, 다이 사이즈로부터 보아서 Radeon HD 58xx계 (Cypress)대항이기 때문이다.
NVIDIA의 다이와 제품