Maxwell (微架構)

<image>

Maxwell是一個NVIDIA開發的GPU微架構的代號，用以取代Kepler微架構。Maxwell 架構在GeForce 700 系列的後續型號中被引入，並且還用於GeForce 800M 系列、 GeForce 900 系列和Quadro Mxxx 系列，以及部分Jetson產品 (Jetson Nano) 中。

首批基於 Maxwell 的產品是 GeForce GTX 745（OEM）、GeForce GTX 750 和 GeForce GTX 750 Ti。二者均於2014年2月18日發布，晶片代號均為GM107。早期的 GeForce 700 系列 GPU 曾使用代號為 GK1xx 的Kepler晶片。第一代 Maxwell GPU（代號 GM10x）也用於 GeForce 800M 系列和 Quadro Kxxx 系列。第二代基於 Maxwell 的產品於 2014 年 9 月 18 日推出，包括 GeForce GTX 970 和 GeForce GTX 980；隨後，於 2015 年 1 月 22 日推出 GeForce GTX 960；於 2015 年 3 月 17 日推出 GeForce GTX Titan X；於 2015 年 6 月 1 日推出 GeForce GTX 980 Ti。最後一款且規格最低的 Maxwell 2.0 卡是 2015 年 8 月 20 日發布的 GTX950。這些 GPU 具有 GM20x 晶片代號。

Maxwell 推出了改進的流處理器 (SM) 設計，提高的電源效率、第六代和第七代 PureVideo HD以及CUDA計算能力 5.2。

該微架構以電磁輻射理論創始人詹姆斯·克拉克·麥克斯韋的名字命名。

Maxwell架構還用於片上系統（SOC）、移動應用處理器Tegra X1。

## 第一代基於麥克斯韋微架構的晶片（GM10x）

<image>

第一代發布的 Maxwell GPU（GM107/GM108）是 GeForce GTX 745、GTX 750/750 Ti、GTX 850M/860M（GM107）和 GeForce 830M/840M（GM108）。這些新晶片很少推出面向消費者的附加功能，因為 NVIDIA 更注重提高 GPU 的電源效率。它們的 L2 緩存從克卜勒上的 256 KiB 增加到 2 MiB，從而減少了對記憶體帶寬的需求。因此，記憶體總線從 Kepler（GK106）上的 192 位減少到 128 位，這減少了晶片面積、成本和功耗。

來自克卜勒的 "SMX" 流處理器也被重新設計和分區，並在麥克斯韋微架構中被命名為 "SMM"。warp 調度器的結構繼承自克卜勒架構，紋理單元和FP64 CUDA核心仍然是共享的，但大多數執行單元的布局進行了分區，使得每個SMM中的 warp 調度器控制一組32個FP32 CUDA核心、一組8個加載/存儲單元以及一組8個特殊功能單元。這與克卜勒微架構的設計相反，在克卜勒微架構中每個SMX有4個調度器，並調度到一個共享的執行單元池。這需要一個SMX範圍的交叉開關，使得為了在所有執行單元共享之間而消耗了不必要的功耗。相比較而言，Maxwell架構更具模塊化的設計允許更精細和更高效的資源分配，並在工作負載不適合共享資源時節省功耗。NVIDIA聲稱，一個擁有128個CUDA核心的SMM具有192個CUDA核心SMX 90%的性能，同時效率提高了一倍。此外，每個圖形處理集群 (GPC) 在克卜勒中最多包含4個SMX單元，而在第一代Maxwell中最多包含5個SMM單元。

GM107 還支持 CUDA 計算能力 5.0，而 GK110/GK208 GPU 為 3.5，GK10x GPU 為 3.0。GK110/GK208 GPU 中的動態並行和 HyperQ 這兩個功能也得到了整個 Maxwell 產品線的支持。Maxwell 還提供了針對 32 位整數的本機共享內存原子操作以及本機共享內存 32 位和 64 位比較和交換 (CAS)，可用於實現其他原子功能。

NVIDIA 的影片編碼器 NVENC 經過升級，速度比基於 Kepler 的 GPU 快 1.5 到 2 倍，這意味著它可以以六到八倍的播放速度對影片進行編碼。NVIDIA 還聲稱，由於影片解碼器緩存和記憶體效率的提高， PureVideo Feature Set E 影片解碼性能提高了 8 到 10 倍。不過，第一代 Maxwell GPU 並不完全支持H.265的硬體解碼，而是依賴於硬體解碼和軟體解碼（CPU 解碼）的混合。解碼影片時，Maxwell GPU 使用新的低功耗狀態「GC5」來節省電量。

人們認為 Maxwell GPU 使用的是基於圖塊的渲染但實際上它們使用的是圖塊緩存。

自第一代 Maxwell 以來， UEFI 圖形輸出協議在 NVIDIA GPU 上完全得到支持。

### 對應的晶片代號

- GM107
- GM108

## 第二代麥克斯韋（GM20x）

<image>

第二代 Maxwell GPU 引入了多項新技術：動態超解析度、第三代增量色彩壓縮、多像素編程採樣、 NVIDIA VXGI（實時體素全局照明）、 VR Direct、多投影加速、多幀採樣抗鋸齒 (MFAA) （然而，移除了對覆蓋採樣抗鋸齒 (CSAA) 的支持）和功能級別 12_1 的 Direct3D12 API。還添加了 HDMI 2.0 支持。

ROP 與記憶體控制器的比例從 8:1 更改為 16:1。然而，GTX 970 中的一些 ROP 通常處於空閒狀態，因為啟用的 SMM 數量不足，無法為它們提供工作，從而降低了其最大像素填充率。

在第二代 Maxwell GPU 中，負責曲面細分的 Polymorph Engine 升級至 3.0 版本，從而提高了每單元/時鐘的曲面細分性能。

第二代 Maxwell 每個 GPC 最多有 4 個 SMM 單元，而之前每個 GPC 有 5 個 SMM 單元。

GM204 支持 CUDA 計算能力 5.2（GM107/GM108 GPU 上為 5.0，GK110/GK208 GPU 上為 3.5，GK10x GPU 上為 3.0）。

GM20x GPU 具有升級的 NVENC，支持 HEVC 編碼，並增加了對 1440p/60FPS 和 4K/60FPS 的 H.264 編碼解析度的支持（相比之下，Maxwell 第一代 GM10x GPU 上的 NVENC 僅支持 H.264 1080p/60FPS 編碼）。

在接到消費者投訴後， NVIDIA 透露，它們可以禁用單個單元（每個單元包含 256KB 的 L2 緩存和 8 個 ROP），而無需禁用整個記憶體控制器。這樣做的代價是將記憶體總線分為高速段和低速段，這兩個段不能同時進行讀取訪問，因為管理兩個 GDDR5 控制器的 L2/ROP 單元在 GDDR5 控制器之間共享讀取返回通道和寫入數據總線。這意味著無法同時從兩個 GDDR5 控制器讀取或同時向兩個 GDDR5 控制器寫入。它被用於 GeForce GTX 970，其中 3.5 GB 顯存被連接在顯存總線上高速的 224 位部分，其餘的 512 MB 顯存被連接在顯存總線上低速的 32 位部分。這種 GPU 僅在這兩個部分中的一個部分執行讀取操作而另一個部分執行寫入操作時，才能達到峰值顯存帶寬。

### 對應的晶片代號

- GM200
- GM204
- GM206

## 性能

Maxwell GPU 的理論單精度處理能力（以FLOPS為單位）計算公式為 2 ×（每個 CUDA 核心每個周期每個 FMA 指令的運算次數）× CUDA 核心數量 × 核心時鐘速度（以 Hz 為單位）。

Maxwell GPU 的理論雙精度處理能力是單精度性能的 1/32（與上一代Kepler相比，這一性能非常低）。

## 下一代微架構

麥克斯韋的下一代微架構代號為帕斯卡（Pascal）。Pascal 架構的特點是更高帶寬的統一記憶體和支持NVLink。

## 基本資料

- 日語原文：NVIDIA Maxwell
- 發布日期：February 2014
- 製造工藝：TSMC
- 製造工藝：28 nm, 20 nm, 16 nm
- 前任：克卜勒
- 繼任：帕斯卡