하드웨어 마이크로아키텍처뿐만 아니라 명령어 셋 아키텍처(ISA)도 새로 변경됨에 따라, 기존의 TeraScale 아키텍처가 지녔던 VLIW(Very long instruction word) SIMD에서 RISCSIMD로 완전히 변경되었다. CLRX(CLRadeonExtender)라는 확장 어셈블러를 통해 GCN ISA 버전을 확인할 수 있으나 공식 ISA 버전은 아님을 유의할 것.
커맨드 프로세서
이전 세대의 그래픽스 커맨드 프로세서를 계승하는 영역으로, CPU로부터 명령을 받아 각 하부 구조로 명령을 발행한다.
ACE (Asynchronous Compute Engines)
GCN에서 추가된 새로운 블록으로, 그래픽 연산과 범용 연산을 병렬로 처리하지 못 하고 번갈아 가면서 처리해야 했던 구조적인 문제점을 해결하기 위해 GPGPU용 명령만 따로 분담해주는 구조로 세분화되었다. 게임에서도 GPGPU 연산의 중요성이 커지면서 병렬식 비동기 컴퓨트를 통해 보다 빠른 처리 속도가 가능해졌다. AMD에서는 이러한 병렬식 비동기 컴퓨트를 '비동기 셰이더(Asynchronous Shader)'라고 명명했다. 하지만 표준 기능이 아니기 때문에 독자 SDK로만 활용할 수밖에 없는 것이 단점. 다행히 애플리케이션 레벨과 하드웨어 레벨 사이의 레이턴시까지 줄인 맨틀 API가 등장하고 이를 적용한 게임에서 DirectX 11 대비 높은 프레임 속도를 보여주자, 이를 지켜 본 마이크로소프트도 질세라 맨틀의 특징을 가져온 DirectX 12를 발표하게 되었고 AMD가 강조했던 병렬식 비동기 컴퓨트가 DirectX 표준 기능으로 채택되었다. NVIDIA의 맥스웰 2.0 아키텍처부터도 지원은 하나 오히려 성능이 떨어져 비활성화 되고 파스칼 아키텍처에서 다시 등장했다. 그래서 파스칼 아키텍처 등장 전까지 GCN 아키텍처가 동세대 엔비디아 GPU와 비교 벤치마크를 돌리면 상대적으로 DirectX11에선 떨어졌지만 DirectX12, Vulkan(API)에서 더 뛰어난 성능을 보여주기도 했었다. 다만 GCN 1세대는 초기 드라이버에서 사용할 수 있었으나 성능 저하가 심해 후기 드라이버에선 막아놓았다. 따라서 ACE 공식 지원은 GCN 2세대부터다.
지오메트리 엔진/프로세서
버텍스를 생성하는 버텍스 어셈블러, 지오메트리를 생성하는 지오메트리 어셈블러, 테셀레이션을 구현하는 테셀레이터로 구성되어 있다. 제각각으로 구성되어 있던 이전 세대에서 하나의 프로세서 형태로 통합된 것이 특징.
래스터라이저
래스터라이저, 스캔 컨버터, 하이어라키컬-Z로 구성되어 있다. 지오메트리 프로세서와 마찬가지로 제각각으로 구성되어 있던 이전 세대에서 하나의 프로세서로 통합된 형태를 지니고 있다.
컴퓨트 유닛
그동안 하나의 SIMD 코어에 10개의 스트리밍 프로세서가, 하나의 스트리밍 프로세서에서 4~5개의 스트림 프로세싱 유닛이 구성된 형태에서 하나의 컴퓨트 유닛에 64개의 스트림 프로세서가 구성된 형태로 구조가 대폭 변경되었다. 이전 VLIW SIMD 구조에서는 1개의 SIMD가 다수의 작업을 연달아서 수행하는 방식이었다면, GCN에서는 4개의 RISC SIMD가 작업을 분담해서 수행한다. 따라서 레지스터 포트의 충돌도 없어졌으며, 컴파일러 스케줄링과 최적화를 표준화하고 어셈블리 간소화 툴체인 개발 지원 간소화, 예측 성능 향상 등의 변화가 이뤄졌다. RISC 사용으로 더 많은 트랜지스터가 필요해졌지만 GPGPU 컴퓨트 성능도 크게 증가했다. NVIDIA의 SM(Streaming Multiprocessor)과 비슷하다고 하고, 출처 64개의 스트림 프로세서 이외에도 텍스처 유닛 4개씩 구성되어 있으며, GPGPU 연산을 이용할 때 ACE로부터 제어받는다.
렌더 백엔드
ROP이 4개씩 탑재되어 있는 파티션으로, 렌더 백엔드 내부 구조는 이전 세대와 크게 다르지 않지만 이전 세대와는 다르게 L2 캐시 메모리에 의존적이지 않은 구조로 재배치되었다. 이론적으로는 ROP과 메모리 계열의 언밸런스한 스펙 구성이 가능해진 셈.
이전 세대 PowerTune의 발전형으로, 이번엔 유휴 상태에서 코어와 팬을 아예 정지시켜 전력 소비량을 낮춰준다. 다만, 단일 카드에선 디스플레이 절전 모드에서 활성화된다. CF시에는 절전 모드가 아니라도 2/3/4번 카드의 전원이 완전히 나간다.
통합 가상 메모리 (Unified Virtual Memory)
전통적인 그래픽 카드에서는 CPU와 GPU가 PCI-E 버스에 연결되고 CPU는 DDR SDRAM(시스템 메모리)을, GPU는 GDDR SDRAM(그래픽 메모리)이라는 서로 다른 자원을 가지고 동작했지만 GCN부터는 시스템 메모리 버스, 즉 DDR SDRAM을 공유해 동작하는 것이 가능해졌다. 이는 HSA중 hUMA와 거의 동일하다.
발표 당시에는 언급되지 않았으나, 2년 후 4세대 GCN 발표 시기에 들어서야 3세대 GCN도 HWS가 이미 존재했던 것으로 밝혀졌다.
테셀레이터의 테셀레이션 성능 개선
지오메트리 프로세싱 유닛 개선
무손실 델타 컬러 메모리 압축 기술 도입
먼저 도입된 Tonga에서 전성비를 높이기 위해 이걸 적용하는 대신, 메모리 컨트롤러 구성을 최대 384비트에서 256비트로 쳐내었다. 라데온 R9 285(=380)과 380X의 메모리 버스 풀스펙도 원래는 HD 7970에 사용된 Tahiti와 같은 384비트에 GDDR5 SGRAM 6GB 구성이었던 것.
초기에는 하이브리드 디코딩으로 지원했으나, 현재는 드라이버에서 아예 막아놓은 상태라서 하이브리드 디코딩조차 불가능하다.
스트리밍 기능 향상
2-pass 인코딩 기술을 지원한다.
AVFS 추가
엑스카베이터 아키텍처 기반의 APU 제품군인 카리조부터 도입된 기능이다.
MBFF (Multi-bit-flip-flop) 개선
기존 설계 TDP의 15%를 차지하던 유닛으로, 폴라리스에서의 개선을 통해 4-5%의 TDP를 감소시켰다.
PDA (Primitive Discard Accelerator)
샘플 포인트와 공간을 차지하지 않는 Cull 삼각형을 지오메트리 엔진에서 알아서 버리는 기능으로, 멀티 샘플링 안티에일리어싱과 같은 경우 그 효율이 극대화돼 2~3.5배의 성능 향상을 가져올 수 있다.
CLRX에서는 3세대 GCN과 같은 GCN ISA 1.2 버전
AMD가 Polaris 마이크로아키텍처를 4th Gen(eration) GCN이라고 강조했기 때문에 GCN 1.x 형식은 더이상 통용되지 않는 말이 되었지만, 아직도 GCN 1.3으로 잘못 알고 있는 사람들이 있다.
4세대 GCN이자 통칭 Polaris 아키텍처로, 라데온 RX 400, 500 시리즈에 탑재되었다. 개발 코드네임인 Polaris가 먼저 알려지면서 개발 코드네임으로 많이 불려졌으며 결국 GPU 정식 명칭 역시 Polaris로 확정되었다. HD 7000 시리즈 시절부터 홍보된 GCN을 그대로 사용하면 매번 명칭이 바뀌는 NVIDIA보다 뒤쳐져 보이는 느낌 때문인지, AMD도 이때부터 마이크로아키텍처 명칭을 NVIDIA같은 방식으로 선회했다. GCN 1.x 형식으로 주로 표기되었을 당시에는 GCN 2.0이라고 유출됐었지만 이후 4th Gen GCN이라고 다시 정정되었으며, 세부 모델들 유출되면서 아예 Polaris로 명칭이 바뀌었다. 다만, 그 정체성이라 할 수 있는 아키텍처는 4세대 GCN임을 명시하고 있다. 기능적으로 추가된 사항이 있지만 GFX ID가 3세대 GCN과 같은 800번대, ISA도 역시 3세대 GCN과 같기 때문에 비공식으로 통용되는 GCN 1.3은 잘못된 명칭이다.
RPM (Rapid Packed Math) 방식이 도입되면서 FP16 연산 성능이 단정밀도(FP32) 연산의 2배 성능을 보여준다.
DSBR (Draw Stream Binning Rasterizer)
NVIDIA의 타일 기반 레스터화 작업과 유사한 기술이다.
프리미티브 셰이더 (Primitive Shader)
기존 그래픽 파이프라인의 절차를 간소화해서 지오메트리 성능 효율을 최대 4배 가까이 높인다. 하지만 성능 효율 문제로 현재까지 비활성화 되어 있다. RDNA 마이크로아키텍처 기반인 Navi 10부터 활성화되었다# 만약 정상적으로 구현되어 있었다면 지오메트리 프로세서 16개에 준하는, 폴리모프 엔진을 최대 30개까지 구성 가능한 NVIDIA의 파스칼 마이크로아키텍처와 제대로 겨뤄볼 수 있는 지오메트리 성능이었을지도 모른다. 어차피 래스터라이저와 ROP이 여전히 열세라서 종합 실성능으로는 지포스 GTX 1080 Ti와 상대가 안 된다.
UVD 7, VCE 4
디코딩 및 인코딩 성능이 향상되었지만 신규 코덱 추가는 없다. 그 대신, 내장 그래픽이 탑재된 라이젠 APU인 레이븐 릿지와 피카소에서는 VP9의 하드웨어 디코딩을 제대로 지원하면서 VCN으로 개편되었다.
Direct3D Feature Level 12_1
CLRX에서는 GCN ISA 1.4 버전
예전 형식으로만 알거나 익숙한 사람들에겐 GCN 1.4라고 말하기도 하지만, GCN ISA의 버전이 1.4라는 점을 알고 말하는게 아니라 'Polaris가 GCN 1.3이었으니 그 다음에 나온 Vega는 GCN 1.4'라고 착각한 경우가 대부분이다. 단, 7nm 공정으로 제조된 Vega 20만 GCN ISA 1.4.1 버전.
5세대 GCN이자 통칭 Vega 아키텍처. AMD가 5세대 GCN이라고 한 적은 단 한번도 없고 Vega를 보고 GCN이란 표현을 쓴 적도 손에 꼽을 정도로 적다. 다만, 명령어 집합 구조(ISA)가 여전히 GCN 기반이고 이전 세대인 Polaris처럼 아키텍처가 뒤쳐져 보이지 않으려고 NVIDIA같은 방식으로 명명해서 일부러 언급하지 않는 것일 수도 있다. RDNA 마이크로아키텍처가 등장한 이후에는 Vega를 GCN 마이크로아키텍처 계열로 취급하기 시작해서 사실상 5세대 GCN임을 스스로 인정하는 것이라고 볼 수 있다. 자세한 내용은 Vega 아키텍처 백서 참조.
이 문서의 내용 중 전체 또는 일부는 2023-10-27 04:25:31에 나무위키 Graphics Core Next 문서에서 가져왔습니다.
[1] 2nd-Gen, 3rd-Gen, 4th-Gen[2] GCN 2.0, GCN 3.0, GCN 4.0[3] 초기에는 하이브리드 디코딩으로 지원했으나, 현재는 드라이버에서 아예 막아놓은 상태라서 하이브리드 디코딩조차 불가능하다.[4] C 시리즈부터 AMD의 GCN 계열 GPU를 쓴다.