Максвелл вдруге

Звичайно, порівняно з оригінальною архітектурою Maxwell, представленою на початку цього року, дизайн другого покоління дещо змінився, але на перший план вийшла абсолютно енергоефективність. Нова кодова назва GM204 має дуже добрі показники споживання порівняно зі своїми розмірами. Не дивно, що 28-нм технологія виготовлення збереглася, тому 398-міліметровий чіп, що складається з 5,2 мільярда транзисторів, зумів включити 16 потокових мультипроцесорів, які NVIDIA називає SMM, або потоковий мультипроцесор Maxwell, для Maxwell.

Структура потокових мультипроцесорів майже не змінилася порівняно з рішенням, відомим у GM107. В результаті в такому блоці було створено чотири більші обчислювальні блоки, які використовують загальний кеш інструкцій. Кожен блок обчислень має буфер інструкцій, який, очевидно, отримує інформацію, необхідну для поточного завдання, з кешу інструкцій. Вся система використовує складний графік, який частково реалізований в апаратному забезпеченні, а частково в програмному забезпеченні. За апаратну частину відповідає вже знайомий движок GigaThread, тоді як програмна частина розкладу, звичайно, є частиною компілятора драйверів. Використовуючи останню, можна економити відносно велику кількість енергії.

Привіт р де т і

Блок обчислень використовує два диспетчерські блоки та планувальник деформацій, які подають 32 так звані ядра CUDA, так що слова інструкцій виконуються на 2 16-смугових процесорах паралельно. Кожне ядро ​​CUDA має 32-розрядний виконавець із плаваючою точкою, сумісний з IEEE754-2008, який підтримує інструкції MAD (Multiply-Add) і FMA (Fused Multiply-Add). Кожен обчислювальний блок має загальну область регістру ємністю 64 кБ. У межах обчислювального блоку є ще 8 спеціальних функціональних блоків (SFU), які виконують завдання інтерполяції на додаток до тригонометричних та трансцендентних інструкцій.

GM204 також копіює GM107 в області можливостей текстурування, тому кожен потоковий мультипроцесор включає два текстуруючі блоки з чотирма адресаторами текстур і текстурним фільтром, кожен з чотирма пробовідбірниками на канал. Блок текстурування використовується двома обчислювальними блоками одночасно. Він підключений на апаратному рівні, тому можна сказати, що SMM ділиться на два великих масиви обробки, які містять два обчислення та блок текстури. Однак у випадку з Максвеллом кеш на 12 кБ для текстурування технічно залишається кешем даних, це означає, що він, звичайно, може також зберігати інформацію про текстуру, але може також використовуватися для даних, необхідних для обчислення. Це придане полягає в тому, що цей кеш можна не тільки читати, але й записувати.

Очевидно, це не годиться для обчислень, якщо лише два з чотирьох обчислювальних блоків можуть одночасно писати у власну область, хоча GM204 все ще може розділити 96-Кбайтну локальну частку даних на дві секції по 48 кБ, в яких все ще працюють два обчислювальні блоки, але з відносно великим сховищем. У той же час є альтернативою розділити LDS на три секції по 32 кБ, які можуть вмістити три з чотирьох обчислювальних блоків. Звичайно, на інших обчислювальних інтерфейсах локальний обмін даними все ще можна використовувати набагато гнучкіше, оскільки вищезазначена операція в основному пов’язана з обмеженнями стандарту DirectCompute 5.0.

З точки зору ієрархії пам'яті, GM204 не змінився у порівнянні з GM107, тому архітектура все ще включає спільний кеш-пам'ять L2 обсягом 2 МБ, до якого може отримати доступ кожен потоковий багатопроцесор, а також може бути записаний на ядра CUDA. Дещо з цього все ще допомагає з оптимізацією мозаїки як свого роду виділеної вбудованої пам'яті.

Що стосується контролера пам'яті, NVIDIA залишилася на перекладині. GM204 використовує шину шириною 256 біт, яка розподіляється по 64-бітних каналах. Кожен канал має блок ROP. Всього таких останніх 4, в результаті чого отримується 64 одиниці змішування та 256 одиниць відбору проб.

друга

Повна структура нового SMM [+]

NVIDIA вирішує подвійну точність для GM204 приблизно так само, як це робить у чіпі GK110. У цьому випадку кожен обчислювальний блок має спеціальне ядро ​​CUDA. У технічному плані це частини SMM, але два спеціальні ядра CUDA розділяються двома обчислювальними блоками. В результаті SMM містить загалом чотири ядра подвійної точності, в результаті чого утворюється 64 процесора для всього чіпа. Це означає, що теоретичний коефіцієнт розрахунку, що досягається з подвійною точністю, в 32 рази перевищує теоретичну швидкість, показану з однією точністю.

Стаття ще не закінчена, прокрутіть, будь ласка!