• nav


NVIDIA Fermi – процессор из трех миллиардов транзисторов

После краткого обзора аппаратной составляющей архитектуры графических процессоров NVIDIA Fermi стоит перейти к разговору о механизме работы столь сложных интегральных микросхем, состоящих из трех миллиардов транзисторов. Несколько лет назад главной тенденцией развития процессоров (не только графических, но и центральных процессоров) было увеличение их рабочей частоты и специализация на однопоточных вычислениях. Теперь акценты сместились в сторону многопоточных вычислений, что наложило свой отпечаток на конструкцию самих интегральных микросхем – начался период увеличения процессорных ядер на едином кристалле. Справедливости ради стоит отметить, что этот процесс в случае графических процессоров начался значительно раньше, нежели в индустрии центральных процессоров. Объясняется это особенностью представления данных, которые приходится обрабатывать видеочипу – вычисления легко параллелятся, чем и воспользовались разработчики. Постепенная эволюция графических процессоров привела к тому, что микросхемы G80 могли обрабатывать до 12288 потоков одновременно. С приходом монструозных процессоров GT200 количество обрабатываемых в параллельном режиме потоков команд и данных увеличено до рекордных 30720 единиц. Казалось бы, развитие видеочипов и дальше пойдет по выбранному ранее пути, однако анонс NVIDIA Fermi показал, что это не так. Графические процессоры нового поколения могут обрабатывать 24576 потоков одновременно. Но это отнюдь не означает, что новинки в чем-то уступают своим предшественникам. Отнюдь. Как оказалось, и как нам сообщают сотрудники компании NVIDIA, рекордные возможности интегральных схем по многопоточной обработке данных еще не означают эффективную работу всех элементов процессора. Оказывается, значительную роль в общей производительности видеочипа играет не многопоточность, а эффективное распределение задач между отдельными блоками процессора и разделяемая память. В случае NVIDIA Fermi существенную роль играет наличие двух Warp-планировщиков, которые с большей эффективностью распределяют команды и данные для исполнения.

nVidia Fermi

Продолжаем далее изучать методы повышения эффективности работы графического процессора NVIDIA Fermi. Теперь предлагаем обратить свое внимание на возможности параллельного выполнения видеочипов программных ядер (kernel). В среде программирования графических процессоров программным ядром называется не что иное, как функции и небольшие программы. Процессоры GT200 были способны работать с ядрами только в последовательном режиме – пока не выполнено ядро с первым номером остальные дожидаются своей очереди. Даже в том случае, если аппаратные возможности процессора позволяют загружать и выполнять следующую функцию/программу (kernel) параллельно с обработкой предыдущей. В том случае, если идет работа только с графическими приложения никаких проблем не возникает. Трудности появляются в случае работы с вычислениями общего назначения – не все функции и программы полностью загружают аппаратные ресурсы графического процессора, в результате, эффективность использования видеочипов падает. Разумеется, в случае архитектуры NVIDIA Fermi такая проблема решена – многочисленные kernel могут обрабатываться в параллельном режиме, полностью загружая работой ресурсы графического процессора. Необходимость в такой модернизации архитектуры более чем обоснована. Во-первых, по задумке разработчиков графические процессоры NVIDIA Fermi должны были найти свое применение не только в компьютерной графике, но и в не меньшей мере работать с вычислениями общего назначения. Во-вторых, размеры SM-блоков в случае NVIDIA Fermi значительно увеличены, по сравнению с видеочипами предыдущего поколения, а значит, их простой обходится куда дороже, и было необходимо оптимизировать этот аспект их работы. По заявлениям разработчиков, такие изменения в архитектуре позволяют на порядок повысить производительность Fermi-процессоров, особенно это будет заметно при просчете физики силами самого видеочипа – мы уже почти забыли о технологии PhysX. Теперь она возвращается, но уже в качестве функции самого графического процессора, а не отдельного сопроцессора.

nVidia Fermi

Важнейшей особенностью NVIDIA Fermi, которая, впрочем, не столь интересна любителям компьютерных игр, является поддержка кода коррекции ошибок. Такая функциональность появляется в индустрии графических процессоров впервые – все на что были способны современные видеочипы, например, AMD Radeon HD 5870, это регистрация ошибок, но не их коррекция. Но если эта функциональность оказывается практически бесполезной для геймеров, на кого рассчитана поддержка ECC? В первую очередь, разработчики компании NVIDIA преследовали цель привлечь внимание к своему продукту со стороны сборщиков высокопроизводительных вычислительных систем, вплоть до суперкомпьютеров. Дело в том, что в этой сфере поддержка кода коррекции ошибок является обязательной. Только по этой причине компании NVIDIA не удалось сделать популярным системы Tesla – они не обладали поддержкой ECC.

И последнее, что хотелось бы отметить в кратком обзоре архитектуры NVIDIA Fermi – унифицированную 64-разрядную схему адресации памяти. Необходимость унификации памяти объясняется желанием реализовать поддержку языка C++, тогда как 64-разрядная адресация памяти позволяет графическому процессору работать со значительно бoльшим объемом памяти. На данный момент сообщается, что архитектура NVIDIA Fermi позволяет процессору работать с адресным пространством объемом до 1 Тб. Впрочем, уникальные особенности видеочипов нового поколения можно рассматривать лишь в качестве демонстрации уникальных возможностей архитектуры – видеокарты для потребителей в течение ближайших нескольких лет вряд ли смогут полностью раскрыть заложенный в графические процессоры потенциал - вряд ли в ближайшее время на рынке появятся адаптеры, оснащенные памятью объемом свыше 4 Гб.

Рассмотрев основные особенности новейшей архитектуры NVIDIA Fermi, можно сказать следующее. Инженеры при работе над ней существенное внимание уделили расширению производительности и функциональности графических процессоров при работе с вычислениями общего назначения. Более того, информация о компонентах архитектуры, которые могли бы сказать о ее производительности при работе с чисто графическими приложениями, была официальными источниками опущена. Другими словами, разработчики поставили перед собой цель создания не просто игрового решения, но намного более универсального продукта. Первые шаги в том же направлении уже делала компания IBM, когда разрабатывала центральный процессор Cell, нашедший свое применение в целом спектре вычислительных систем, от игровых консолей Sony PS3, до мощных суперкомпьютеров. По всей видимости, такая судьба ожидает и графические процессоры на основе архитектуры NVIDIA Fermi. По крайней мере, некоторые производители мощных вычислительных систем уже объявили о своем интересе к новейшей архитектуре. При этом потенциал архитектуры столь высок, что разработчики суперкомпьютеров спешат заявить о возможности создания систем, производительность которых в разы превышает производительность лучших современных суперкомпьютеров. Впрочем, и во время работы в условиях современного персонального компьютера графические процессоры NVIDIA Fermi смогут раскрыть свой незаурядный потенциал – компания обещает, что их новое детище окажется куда мощнее свого конкурента AMD Radeon HD 5870, в том числе и при работе исключительно с трехмерной графикой. А уж если задействовать и возможности процессора для вычислений общего назначения (например, для обработки игровой физики), то равных ему сегодня попросту не будет.





ПОХОЖИЕ СТАТЬИ:

Архитектура Nvidia Kepler

Сообщения о разработке новой архитектуры GPU, которую NVIDIA предполагает использовать при производстве своих продуктов под маркой игровых видеокарт GeForce будущего поколения, а также продуктов профессионального класса, начали поя...

3D стереовидение - основной тренд года. Описание технологии, тест комплекта стерео очков от nVidia

3D изображение, как и любое хорошо забытое старое, считается сейчас новинкой, на которую делают ставку не только производители железа, но и создатели контента. В этой статье мы рассмотрим комплект стерео очков nVi...

На что способен бюджетный класс: GeForce GT 240 от Gigabyte и GeForce GT 220 от Palit

В этой статье мы сравниваем недорогие видеокарты, доступные большинству покупателей настольных ПК. Стоит ли менять свои GT9600GT или HD4730 на GT240, и что представляют собой типичные видеокарты на новых чипах nVidia? Видеокарты ...

Сравнение 7 видеокарт на чипах ATI и nVidia на любой кошелёк

Мы сравниваем 7 современных видеокарт разных ценовых сегментов, но предназначенных для геймеров. Платы на чипах nVidia и ATI, включая последнюю HD5870. Мы посмотрим не только на то, как они работают в штатном режиме, но и на возмож...

Lucid HYDRA положит конец SLI и CrossFire?

Технология Lucid HYDRA позволяет динамически распределять нагрузку между различными чипами видеокарт. Вы можете не выбрасывать старую видеокарту, а оставить её для работы совместно с новой. Старушке будут доставаться лишь малые ч...


НА ФОРУМЕ ГОВОРЯТ



НОВЫЕ СТАТЬИ
Обзор трёх miniITX корпусов CrownMicro серии CMC-170

Сегодня речь пойдёт о трёх корпусах бренда CrownMicro для сборки ультракомпактных miniITX систем, а именно: CMC-170-113, CMC-170-303 и CMC-170-803. Эти модели имеют стильный дизайн, внешние блоки питания, VESA крепление...

Экспресс-тест видеокарты Palit GeForce RTX 2080 Super в задачах машинного обучения

Если вы выбираете GPU не только для игр, но и для научных расчётов, вам интересно видеть видеокарту с тензорными ядрами и современной памятью GDDR6 объёмом 8 Гб. Благодаря поддержке FP16, в некоторых теслах она показывает...