- PVSM.RU - https://www.pvsm.ru -
В прошлой статье из цикла PC Buyer’s Guide о выборе видеокарты [1] я получил множество интересных комментариев как в личных сообщениях, так и на почту, в скайп… где только можно. Кто-то указывал на неточности, некоторые просили помочь с выбором устройства под их конфиг. В общем, видимо, по видеокартам придётся пройтись глубже, раз тема так волнует.
Сегодня доступно поговорим о последних архитектурах карточек NVIDIA и постараемся понять, над чем смеялся усатый хохотун в этом видео:
Эпоха «современных» видеокарт начинается с трёх важных изменений в архитектуре ПК.
Во-первых, устаревшую шину AGP [2], по которой подключалась видеокарта долгое время, сменила PCI Express X16 [3] первого поколения.
Во-вторых, Microsoft выпустила Windows Vista с поддержкой новых API DirectX версии 10.0, которые включали в себя важную штуку: Direct3D 10 [4], одной из фич которого являлся доступ для видеокарты к обычной оперативной памяти ПК нативными средствами.
В-третьих, производители видеоадаптеров отошли от концепции раздельных вершинных и пиксельных шейдерных1 процессоров и разработали универсальный вариант, который умел обрабатывать и те и другие. Эти изменения, вкупе с ростом аппаратных возможностей производителей железа создали условия для взрывного роста и развития графических ускорителей.
1 — Ше́йдер (англ. [5] Shader; схема затемнения, программа построения теней) — это программа [6] для одной из ступеней графического конвейера [7], используемая в трёхмерной графике для определения окончательных параметров объекта или изображения. Она может включать в себя описание поглощения и рассеяния света произвольной сложности, наложения текстуры, отражение и преломление, затемнение, смещение поверхности и эффекты пост-обработки. Википедия [8].
Переход от AGP к PCI-e произошёл чуть раньше, чем два следующих за ним нововведения, поэтому оценить «чистый» прирост достаточно сложно — межу эпохами «старых» и «новых» видокарт лежит поколение ускорителей, сочетающих новый интерфейс (PCI-e) и «старый» подход к организации GPU: раздельные шейдерные процессоры и отсутствие поддержики D3D 10. Тем не менее, новые возможности позволили железкам «современного» поколения на высоких разрешениях просто уничтожать результаты железа прошлого поколения, имеющего только PCI-e в качестве бонуса:
На графике наглядно видно превосходство 8800GTX над двумя флагманами прошлого поколения, трудящимися совместно (в режиме SLI).
С этого момента подходы ATI (которая в последствии будет куплена AMD) и NVIDIA в видеокартостроении несколько расходятся. О том пути, который выбрали красно-белые поговорим как-нибудь в другой раз, а сегодня речь пойдёт об актуальных архитектурах чёрно-зелёных и разных интересностях внутри их продуктовых линеек.
Возможности новых ускорителей на фоне их предков вы уже видели на графике чуть выше. С того момента прошло уже почти десять лет, компания NVIDIA успела сменить несколько архитектур:
G80 — дебютировала на видеокартах 8000-й серии, принесла поддержку DirectX 10 [4], OpenCL [9] и Shader Model 4.0 [10], плюс добавила одну интересную особенность — программирование общего назначения на видеоускорителях (GPGPU [11]), реализованную через фирменные API NVIDIA CUDA [12].
G90 — усовершенствованная архитектура, применялась в 9000-й серии. Ничего ключевого не принесла, а была закономерным развитием G80 — тоньше техпроцесс, холоднее чип, выше частоты, больше шейдерных процессоров.
G200 — это поколение принесло в производственные процессы NVIDIA важную особенность, которая и сыграла одну из ключевых ролей в «особенностях» работы GTX970.
Разумеется, были улучшения и общего характера, но главное — вот что: если раньше каждый из видеочипов создавался под конкретную модель, то в поколении видеокарт GeForce 200 модели 280 и 260 производятся на одном и том же чипе.
После производства все чипы GPU проходят тест на полное соответствие спецификации GTX280, и, если проблем никаких нет, используются в флагманских вдиеокартах. Те же, что не прошли проверку сбрасываются со скалы повторно проверяются уже на соответствие требуемым характеристикам для установки в видеокарты GTX260, которая подразумевает наличие меньшего количества потоковых процессоров и более узкую шину памяти.
GF100 (Fermi) — ещё одно поколение, сильно изменившее общий уровень производительности видеоускорителей NVIDIA. Ключевые изменения: работа по схеме Multiple Instructions Multiple Data [13], поддержка ECC [14], переход на 64-разрядные регистры видеопамяти, поддержка технологий DirectCompute [15], OpenCL [9], позволяющих проводить вычисления на GPU (аналоги NVIDIA CUDA, способные работать на любом GPU, поддерживающим соответствующий набор инструкций).
Именно в этом поколении появились «чёткие средняки» — видеокарты серий GTX 460 и GTX 560, обеспечивающие достаточно высокую производительность по очень и очень интересной цене для конечного покупателя. Они были не так интересны энтузиастам и фанатам самого крутого и передового железа, но, неосмненно, стали одними из самых массовых и популярных видеоускорителей своего времени: производительности хватало, чтобы играть во что угодно на «высоких» (но не «максимальных») настройках графики с разрешением 1920х1080, они не были требовательны к блоку питания и процессору ПК (о влиянии CPU на работу видеокарты — как-нибудь в другой раз), а главное — стоили в районе $200.
GK100 (Kepler) — Ничем примечательным не отличался, но именно в этом поколении началась работа по улучшению энергоэффективности видеоускорителей NVIDIA. Технически, это был всё тот же Fermi, но переведённый на новый техпроцесс и использующий новые транзисторы с низкими токами утечки и высокой скоростью переключения. Снижение энергопотребления привело к уменьшению нагрева, а это означает, что в рамках того же теплопакета производитель мог поднять тактовые частоты, тем самым увеличив производительность видеокарты. Собственно, это и произошло: новые GPU были быстрее и холоднее. Разумеется, кое-что изменилось и на более глубоком уровне, и но к ключевым отличиям это не относится.
Применялся в видеокартах 600-й и 700-й серии, на момент написания статьи является «королём» потребительской графики для энтузиастов: видеокарты GTX 780Ti с заводским разгоном и продвинутой системой охлаждения, пока что, быстрее, чем флагманы 900-й серии (GTX 980Ti просто ещё не существует, а обычная GTX980 несколько медленнее по разным причинам).
GM100 / GM200 (Maxwell) — текущее поколение видеочипов NVIDIA, отличается ещё более глубокой работой над энергоэффективностью, чем GK100. Модульная архитектура GPU, собственный ARM-сопроцессор, улучшения техпроцесса — вот неполный список ключевых особенностей новой архитектуре. По ней вообще можно целый трактат написать, но мы остановимся на самом важном.
Чипы Maxwell существуют аж в двух поколениях. Так как ключевая ставка в новых GPU была сделана на энергоэффективность, первое из них — чипы GM107 и GM108 — как тест самой архитектуры — достались бюджетным карточкам GTX745, 750/750 ti и мобильным решениями GTX 830, 840, 850 и 860M.
Ключевые изменения, относящиеся к трёхмерной графике:
Второе поколение чипов Maxwell (GM20x) относилось к десктопному сегменту. Именно на этой архитектуре разработан текущий флагман GTX 980 и ставшая известной GTX 970 с 3.5 гигабайтами памяти.
Помните, я говорил, что с архитектуры G200 пошла практика «обрезания» неудачных чипов флагманского уровня до «нефлагманских»? Вот отсюда и идут особенности чипа, использующегося в видеокартах GTX 980 и GTX 970.
В соответствии с архитектурой Maxwell, шина памяти (и сама память) у чипа GM204 не общая, а разделена между блоками на несколько (в данном случае — 16) сегментов. Суммарная пропускная способность памяти — 256 бит за такт на частоте 7000 МГц. Суммарное количество кеш-памяти — 2048 МБ. Всё это дело общается через общую шину CROSSBAR:
У видеочипов, которые используются в GTX 970 отключено часть вычислительных блоков (3 светло-серых квадрата в верхней части картинки), которые содержат в себе унифицированные шейдерные процессоры (NVIDIA называет их «ядра CUDA», но технически — это просто шейдерные процессоры) и блоки выборки текстур; кроме того, как вы видите на иллюстрации, отключен один из блоков L2-кеш памяти.
Но и это ещё не всё. Обратите внимание, что между контроллерами памяти (MC) в первых трёх крупных блоках нет никакой связи, а в четвёртом — «ущербном» — связь имеется. На картинке не изображены так называемые ROP’ы — блоки растеризации, отвечающие за превращение всей той магии, что видеокарта вам насчитала в простой двухмерный кадр для вывода на монитор. Их у GTX 970 тоже меньше, чем у «полноценной» GTX 980.
Вот полная таблица с характеристиками «оригинального» чипа GM204, используемого в GTX 980 и «урезанного» — из GTX 970:
GM204 GTX 980 | GM204 GTX 970 | |
Количество вычислительных блоков | 16 | 13 |
Ядра CUDA | 2048 | 1164 |
Блоки выборки текстур | 128 | 106 |
Блоки растеризации | 64 | 56 |
Кеш-память L2 | 2048 КБ | 1792 КБ |
Частота ядра | 1126 МГц | 1050 МГц |
Объём памяти | 4 ГБ | 4 ГБ |
Шина памяти | 256 Бит | 2562 Бит |
Частота памяти | 7000 МГц | 7000 Мгц |
Пропускная способность памяти | 224 ГБ/с | 2243 ГБ/с |
Вычислительная мощность | 4600 ГФлопс | 3500 Гфлопс |
2 — Для первых 3.5 ГБ видеопамяти;
3 — Теоретическая, на практике — меньше.
В принципе, ни к какому из этих «сокращений» по отдельности претензий не возникает: вы платите меньше, получаете менее производительное решение, производитель экономит на «отбракованных» чипах, превращая их в пригодные к эксплуатации. Все в выигрыше, если бы не одно «но».
У GTX 970 заявлено 4 ГБ видеопамяти, но реальные тесты показывают, что получить полноценный и высокоскоростной доступ можно только к «первым» 3.5 ГБ, оставшиеся 512 МБ памяти подключены через «урезанный» блок.
Доступ к «основной» памяти осуществляется через полноценные блоки: их контроллеры памяти имеют доступ к своим банкам видеопамяти, своему кусочку L2-кеша и когда видеокарте требуется очередная порция данных, драйвер обращается к контроллеру памяти – тот достаёт необходимую информацию из связанных с ним банков и перекладывает в высокоскоростной кеш, к которому могут обращаться вычислительные блоки.
Если же игра или программа использует больше 3.5 ГБ видеопамяти, часть данных упадёт в «проклятый» сегмент, который не имеет своего кеша и может общаться с вычислительными модулями исключительно через кеш-память своего соседа. Реальная пропускная способность распределяется следующим образом:
«Быстрые» 3.5 ГБ | «Медленные» 512 МБ | Доступ к RAM через PCI-e |
192 ГБ/сек | 28 ГБ/сек | 164 ГБ/сек |
4 — Теоретический максимум, зависит от скорости оперативной памяти, занятого объёма, других задач, получающих доступ к данным в данный момент.
Таким образом, не смотря на «ущербность» оставшейся памяти, она всё ещё остаётся быстрее, чем доступ к «оперативке». Модульная архитектура Maxwell позволила выключить только маленький кусочек GPU, не сильно влияющий на производительность системы в целом. Если бы использовалась архитектура прошлого поколения (Kepler), ущерб от «деффективности» был бы намного выше: скорее всего, производителям пришлось бы выключить целый блок контроллера памяти, и без полноскоростного доступа остались бы не 512, а 1024 МБ, либо видеокарта вовсе вышла бы в 3ГБ-версии и серьёзно проигрывала как конкурентам, так и флагманской GTX 980.
Технически, ни маркетологи, ни инженеры нам не соврали: у видеокарты действительно 4 ГБ памяти, использовать она может все 4 гигабайта, пусть и с некоторыми ограничениями. Конечно, более «щедрой» и «не обманывающей пользователей» компания выглядела бы, если бы завялала 3.5 ГБ видеопамяти, а на деле ставила 4, пусть и не самых полноценных, но что имеем, то имеем.
Современные игрушки, конечно, разжирели, но такой большой объём памяти (>3.5 ГБ) требуется только в том случае, если вы планируете играть на мониторе с разрешением 2560х1440 или 3820х2160 точек. Пока что таких экранов в проценте от общей массы не очень много, а если говорить про 4к2к, то они дороги, не всегда отличаются хорошими характеристиками и в целом только начинают завоёвывать рынок.
Что касается игровых движков, то пару лет назад производители особо не заморачивались даже на тему 2560х1440 и оптимизирвоали все движки под работу с разрешением 1920х1080 и 1920х1200 точек, оставляя любителей высоких разрешений с просадками FPS, микрофризами или просто без нормального user expirience’а. Что уж говорить про бедных пользователей ноутбуков с Retina-дисплеями и куда менее мощными мобильными видеокартами.
На этом с теорией мы закончим, а всю практику отложим до понедельника: посмотрим, как влияет разрешение на потребляемую память, с чем это связано, как справляется GTX 970 и чем ещё хороша новая архитектура Maxwell.
Хороших вам выходных!
Обзоры:
» Подключаем оригинальные геймпады к ПК [16]
» Razer Abyssus: самый доступный Razer [17]
» Nikon 1 S2: однокнопочная беззеркалка [18]
» Обзор Lenovo Miix 3-1030 [19]
» Разбираемся в арт-хаосе компании Wacom [20]
» ASUS ZenFone 5, LG L90, HTC Desire 601 — двухсимочная война за потребителя, часть 1 [21]
» ASUS Transformer Pad [22]
» Гарнитуры Razer Kraken [23]
Цикл PC Buyer’s Guide:
» PC Buyer's guide: выбор видеокарты [1]
» PC Buyer's Guide: выбор блока питания [24]
» PC Buyer's Guide: охлаждение [25]
» PC Buyer's Guide 2015: Материнские платы, чипсеты и сокеты [26]
» Кручу-верчу, запутать хочу. Разбираемся в линейках HDD [27]
Автор: Shirixae
Источник [28]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/zhelezo/87914
Ссылки в тексте:
[1] о выборе видеокарты: http://geektimes.ru/company/ulmart/blog/247776/
[2] AGP: https://ru.wikipedia.org/wiki/AGP
[3] PCI Express X16: https://ru.wikipedia.org/wiki/PCI_Express
[4] Direct3D 10: https://ru.wikipedia.org/wiki/Direct3D_10
[5] англ.: https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA
[6] программа: https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0
[7] графического конвейера: https://en.wikipedia.org/wiki/Graphics_pipeline
[8] Википедия: https://ru.wikipedia.org/wiki/%D0%A8%D0%B5%D0%B9%D0%B4%D0%B5%D1%80
[9] OpenCL: https://ru.wikipedia.org/wiki/OpenCL
[10] Shader Model 4.0: https://ru.wikipedia.org/wiki/%D0%A3%D0%BD%D0%B8%D1%84%D0%B8%D1%86%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D1%88%D0%B5%D0%B9%D0%B4%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C
[11] GPGPU: https://ru.wikipedia.org/wiki/GPGPU
[12] NVIDIA CUDA: https://ru.wikipedia.org/wiki/CUDA
[13] Multiple Instructions Multiple Data: https://ru.wikipedia.org/wiki/MIMD
[14] ECC: https://ru.wikipedia.org/wiki/ECC
[15] DirectCompute: https://ru.wikipedia.org/wiki/DirectCompute
[16] Подключаем оригинальные геймпады к ПК: http://geektimes.ru/company/ulmart/blog/248110/
[17] Razer Abyssus: самый доступный Razer: http://geektimes.ru/company/ulmart/blog/247942/
[18] Nikon 1 S2: однокнопочная беззеркалка: http://geektimes.ru/company/ulmart/blog/247626/
[19] Обзор Lenovo Miix 3-1030: http://geektimes.ru/company/ulmart/blog/246340/
[20] Разбираемся в арт-хаосе компании Wacom: http://geektimes.ru/company/ulmart/blog/245854/
[21] ASUS ZenFone 5, LG L90, HTC Desire 601 — двухсимочная война за потребителя, часть 1: http://geektimes.ru/company/ulmart/blog/245646/
[22] ASUS Transformer Pad: http://geektimes.ru/company/ulmart/blog/245210/
[23] Гарнитуры Razer Kraken: http://geektimes.ru/company/ulmart/blog/245040/
[24] PC Buyer's Guide: выбор блока питания: http://geektimes.ru/company/ulmart/blog/247326/
[25] PC Buyer's Guide: охлаждение: http://geektimes.ru/company/ulmart/blog/246480/
[26] PC Buyer's Guide 2015: Материнские платы, чипсеты и сокеты: http://geektimes.ru/company/ulmart/blog/245952/
[27] Кручу-верчу, запутать хочу. Разбираемся в линейках HDD: http://geektimes.ru/company/ulmart/blog/245404/
[28] Источник: http://geektimes.ru/post/248354/
Нажмите здесь для печати.