Graphics Core Next

マイクロアーキテクチャ

2016年1月時点で、命令セット "Graphics Core Next" と一貫して呼ばれるマイクロアーキテクチャのファミリーは3つのイテレーション（世代）があると見られる。命令セットの面においてはその違いはかなり小さく、マイクロアーキテクチャはお互いにあまり違いはない。

非同期コンピュートエンジン

非同期コンピュートエンジン (Asynchronous Compute Engine; ACE) は、演算目的に従事する明確な機能ブロックである。目的としては、グラフィックスコマンドプロセッサと似ている。

スケジューラ

GCNの第3世代より、ハードウェアは2基のスケジューラを搭載している。ひとつはシェーダー実行 (CUスケジューラ) 中のwavefrontのスケジュールを行ない、もうひとつの新しいスケジューラは描画キューとコンピュートキューの実行のスケジュールを行なう。後者は、固定機能パイプライン速度によって制限されるグラフィックスコマンドもしくは帯域幅のせいでCUの利用率が低いときにコンピュート演算を実行することで、パフォーマンスを向上する。この機能は非同期コンピュートとしても知られる。
与えられたシェーダーに対して、GPUドライバーは遅延を最小限にするため命令の実行順を適切に選択する必要がある。これはCPUによって行われ、またときおり「スケジューリング」と呼ばれることもある。

ジオメトリプロセッサ (Geometry Processor)

ジオメトリプロセッサはジオメトリアセンブラ、テッセレータおよびバーテックスアセンブラを含んでいる。
ジオメトリプロセッサのGCNテッセレータはDirect3D 11およびOpenGL 4で定義されるようなハードウェアでのテッセレーションを実現する。
GCNテッセレータはAMDの最新のSIPブロックで、かつてのATI TruFormおよびTeraScaleのハードウェアテッセレーションにあたる。

コンピュートユニット (Compute Unit)

各コンピュートユニット (Compute Unit; CU) はCUスケジューラ、分岐およびメッセージユニット、4基のSIMDベクタユニット（それぞれ16レーン幅）、4つの64KiB VGPRファイル、1基のスカラユニット、4KiBのGPRファイル、64KiBのローカルデータ共有、4基のテクスチャフィルタユニット、16基のテクスチャフェッチロード・ストアユニットおよび16KiBのL1キャッシュで構成される。4基のコンピュートユニットは16KiB単位の命令キャッシュと32KiBのスカラデータキャッシュを共有する。これらはL2キャッシュによってバックアップされている。SUは一度に1個（サイクルあたり1回）演算するが、SIMD-VUは一度（サイクル毎）に16要素を演算する。さらに、SUはいくつかの他の演算を分岐のように扱うことができる。
いずれのSIMD-VUも各々でそのレジスタを記憶するメモリを持っている。それらには2種類のレジスタがある。4バイトの数字を保持するスカラレジスタ (s0, s1, etc) と、4バイト数値を64セット保持するベクタレジスタ (v0, v1, etc.) である。ベクタレジスタ上で演算するとき、どの演算も64個の数値で並列に行われる。つまり、それらで何かを処理をさせる度に64個を入力することができる。例えば、64個の異なるピクセルを一度に処理させることができる。（それぞれの入力はわずかに異なり、従って最終的にはわずかに異なる色を得られる。）
いずれのSIMD-VUも512個のスカラレジスタと256個のベクタレジスタを抱えている。

オーディオおよびビデオアクセラレーションSIPブロック

追加のASICブロックにおける最も大きな違いは このようなASICブロック（Unified Video Decoder、Video Coding Engine、AMD TrueAudioなど）はGCNマイクロアーキテクチャまたはGCN命令セットのいずれとも働きかけない。これらはGCNのイテレーションを実装しているすべての、またはほとんどのチップにある単純なASICブロックである。この項目はGCN命令セットおよびマイクロアーキテクチャを文書化しているものと思われるが、ASICブロックについての情報を見つけるのはやや困難である。

統合型仮想メモリ (Unified virtual memory)

AnandTechは2011年の解説で、Graphics Core Nextでサポートされる統合型仮想メモリ (unified virtual memory) について説明している。

ヘテロジニアスシステムアーキテクチャ (HSA)

ハードウェアに実装されているいくつかのHSA固有機能はオペレーティングシステムのカーネルおよび特定のデバイスドライバのサポートを必要とする。例えば、2014年7月にAMDは安定版Linuxカーネル 3.17用にGraphics Core NextベースのRadeonグラフィックスカードをサポートする83個のパッチを公開した。このドライバは "HSAカーネルドライバ" と名付けられ、DRMグラフィックスデバイスドライバが/drivers/gpu/drmに配置されたように/driver/gpu/hsaに配置され、Radeonカード用のDRMドライバを改良したものであった。この初期の実装は "Kaveri" APUまたは "Berlin" APU への対応に重点を置き、すでにあるRadeonカーネルグラフィックスドライバ (kgd) との組み合わせで動作した。

ハードウェアスケジューラ

They are used to perform scheduling and offload the assignment of compute queues to the ACEs from the driver to hardware by buffering these queues until there is at least one empty queue in at least one ACE, causing the HWS to immediately assign buffered queues to the ACEs until all queues are full or there are no more queues to safely assign. Part of the scheduling work performed includes prioritized queues which allow critical tasks to run at a higher priority than other tasks without requiring the lower priority tasks to be preempted to run the high priority task, therefore allowing the tasks to run concurrently with the high priority tasks scheduled to hog the GPU as much as possible while letting other tasks use the resources that the high priority tasks are not using. These are essentially Asynchronous Compute Engines that lack dispatch controllers. They were first introduced in the fourth generation GCN microarchitecture, but were present in the third generation GCN microarchitecture for internal testing purposes. A driver update has enabled the hardware schedulers in third generation GCN parts for production use.

プリミティブ破棄アクセラレータ

このユニットは縮退トライアングルがバーテックスシェーダーを通過し、さらにどのフラグメントもカバーしないトライアングルがフラグメントシェーダーを通過する前に、それを破棄する。このユニットは第4世代GCNマイクロアーキテクチャで追加された。

ZeroCore Power

ZeroCore Powerは長期無負荷省電力技術である。AMD ZeroCore Power技術はAMD PowerTuneに付随する。

GCN第2世代

GCN第2イテレーションはRadeon HD 7790とともに追加され、Radeon HD 8770, Rx 260/260X, Rx 290/290X, R9 295X2, Rx 360, Rx 390/390X, Rx 455、またSteamrollerベースのデスクトップ向けKaveri APU、モバイル向けKaveri APU、PumaベースのBeemaおよびMullins APUにも適用されている。これはAMD TrueAudioやAMD PowerTune技術の改良版といった最初のGCNを上回るいくつかの有利な点を備えている。
GCN第2イテレーションではシェーダーエンジン (SE) と呼ばれる機構を追加している。シェーダーエンジンは1基のジオメトリプロセッサ、最大11基のCU (Hawaiiチップ)、ラスタライザ、ROPおよびL1キャッシュから構成される。シェーダーエンジンに含まれないのものにGraphics Command Processor、8基のACE、L2キャッシュおよびメモリコントローラ、またオーディオおよびビデオアクセラレータ、ディスプレイコントローラ、2基のDMAコントローラとPCIeインターフェースがある。
A10-7850K "Kaveri"は8基のCU、および非依存スケジュールとアイテムのディスパッチ用に8基のACEを搭載している。
2013年11月にAMD Developer Summitでマイケル・メンターはRadeon R9 290Xのプレゼンテーションを行った。

GCN第3世代

GCN第3世代は2014年にTonga GPUを搭載するRadeon R9 285およびR9 M295Xとともに紹介された。注目点はテッセレーションパフォーマンスの改善、メモリ帯域幅の使用を抑制するためのデルタ色可逆圧縮、改良されてより効率的になった命令セット、新しい高品質ビデオスケーラ、および新しいマルチメディアエンジン（ビデオエンコーダ・デコーダ）である。デルタ色圧縮はMesaでサポートされた。

GCN第4世代

2016年第2四半期、Polarisアーキテクチャに基づいたAMD Radeon RX 400シリーズグラフィックスカードとともにArctic Islands系GPUが発表された。Polaris 1x のチップは全て14nm FinFETプロセスで製造される。また、2017年にはクロックアップ版のRX 500シリーズが投入された。

精度による性能減少

全てのGCN第4世代GPUのFP64性能は、FP32性能の1/16である。