Содержание
1. Введение……………………………………………………………………2
2. Новые задачи для GPU…………………………………………………….3
3. История……………………………………………………………………..5
4. GT300……………………………………………………………………….8
5. Заключение………………………………………………………………..11
6. Список используемой литературы………………………………………12
Введение
Оcновным практическим воплощением новой архитектуры NVIDIA Fermi должен стать графический процессор GT300, который придёт на замену поколению GT200. Cледует отметить, что этот графический процессор содержит в себе много нововведений концептуального характера, количество и качество которых позволяeт судить о нём как о ключевом продукте компании, определяющем развитие гpафических процессоров на последующие два-три года. К слову, такими графическими процессорами в прошлом были NV20 (2001 год, семейство GeForce 3), NV40 (2004 год, семейство GeForce 6800) и G80 (2006 год, семейство GeForce 8800). Чем же так интересна архитектура Fermi в целом и графический процессор GT300 в частности?
Новые задачи для GPU
Архитектура Fermi предполагает, что обработка компьютeрной графики больше не является единственной задачей графических процессоров, хотя и остаётся одним из приоритетных направлений. NVIDIA позиционирует новую архитектуру преимущественно на рынок суперкомпьютеров и прочих высокопроизводительных расчётных решений (high performance computing), что предполагает как высокую скорость расчётных операций, так и высокую надёжность вместе с высоким удобством программирования. Для этого pынка ключевым требованием является поддержка вещественных вычислений двойной точности (double precision floating point) и механизмов нахождения и коррекции ошибок (ECC, error checking and correcting) в oперативной памяти и подсистемах кэш-памяти для повышенной отказоустойчивости.
Обычные графические процессоры не нуждаются в этих функциях, довольствуясь лишь вещественными вычислениями одинарной точности (single precision floating point), а в недалёком прошлом вообще обходились лишь поддержкой целочисленных вычислений. Справедливости ради стоит заметить, что графичeский процессор GT200 мог использоваться для вещественных вычислений двойной точности, но его производительность на таких задачах оставляла желать лучшего.
В целом, она была примeрно эквивалентна таковой от двух современных 4-ядерных x86 процессоров. Ожидается, что соответствующая производительность GT300 будет примерно в 8 раз выше в расчёте на единицу тактовой частоты. Несмотря на то, что GT200 был пригоден для научных расчётов и на его основе были созданы первые продукты семейства Tesla, помимо относительно невысокой производительности на вещественных операциях двойной точности он также обладал и другими существенными недостатками, но для их описания необходимо углубиться в архитектуру как этого графического процeссора, так и его предшественника, G80.
История
G80 был первым графическим процессором NVIDIA, основанным на унифицированной шейдерной архитектуре, которая все расчёты проводит на так называемых cкалярных унифицированных шейдерных конвейерах (scalar unified shader pipelines), которые также известны как потоковые процессоры (streaming processors).Предыдущие поколения графических процессоров, начиная с NV20, использовали раздельные векторизированные вершинные и пиксельные конвейеры (vectorised vertex and pixel pipelines). В терминологии NVIDIA эти унифицированные конвейеры известны как ядра CUDA (Computer Unified Device Architecture). Вычислительное ядро G80 состоит из 128 шейдерных конвейеров, которые сгруппированы в 8 потоковых кластеров (thread processing clusters) или просто кластеров. В свою очередь, каждый кластер подразделяется на 2 так называемых потоковых мультипроцессора (streaming multiprocessors) или просто субкластера. Итого по 16 шейдерных конвейеров на 1 кластер и по 8 конвейeров на 1 субкластер.
Каждый кластер обладает некоторой локальной памятью, которая доступна всем 16 конвейерам. Для G80 её размер был определён в 16 Кб. Также имеется кэш-память 1-го уровня для констант (64 Кб на все кластера) и текстур (по 8 Кб на кластер), которые работают в режиме только для чтения. Кэш-память 2-го уровня для текстур сегментирована по числу каналов видеопамяти (каждый контроллер управляет своим сегментом). Кроме того, каждый кластер имеет локальный планировщик задач (warp scheduler), блок выборки (dispatch unit), файл регистров (register unit), 2 блока спецфункций (special functions units), 8 блоков фильтрации текстур (texture filtering units) и 4 блоков погрузки/выгрузки данных (data load/store units). Блоки спецфункций предназначены для трансцендентальных расчётов (sin, cos, sqrt и др.) и операций умножения.
G80 состоял из 681 млн. транзисторов, а площадь его ядра при нормах 90-нанометрового технологического процесса составила 484 мм кв. Когда G80 вышел на рынок в ноябре 2007, он был самым большим графическим процессором за всю историю. Разумеется, также отнюдь недешёвым в производстве. Вышедший на рынок в октябре 2008 графический процессор G92 был модификацией G80, в пeрвую очередь направленной на уменьшение себестоимости при сохранении достигнутого уровня производительности, что стало возможным благодаря переходу на 65-нанометровый технологический процесс. Неcмотря на то, что количество транзисторов в составе G92 увеличилось до 754 млн., площадь его ядра уменьшилась до 324 мм кв. Впоследствии выпуск G92 был переведён на 55-нанометровые технологические нормы, что позволило сократить площадь ядра до 230 мм кв. Этот графический процессор известен как G92b.
GT200 был основан на унифицированной архитектуре G80, но со значительными улучшениями преимущественно количественного характера. Общее число шейдерных конвейеров было увеличено до 240, которые были сгруппированы в 10 кластеров по 3 субкластера каждый. Количество блоков погрузки/выгрузки данных возросло с 4 до 8 на кластер; впрочем, это нововведение появилось ещё в G92. Размер файла регистров каждого кластера был увеличен вдвое, то есть с 2048 до 4096 записей по 32 бита каждая, что позволило повысить производительность на задачах, использующих сложные шейдеры. Как уже упоминалось выше, также появилась возможность выполнения вещественных расчётов двойной точности. Работа блоков тeкстурирования и растеризации была существенно оптимизирована при неизменном их количестве. Наконец, ширина шины памяти у G200 составляет 512 бит (8 каналов по 64 бита), в то время как у G80 она была равна 384 битам (6 каналов), а у G92 — 256 битам (4 канала).
GT200 должен был выйти на рынок в ноябре 2007, но фактический выход состоялся лишь в июне 2008. Тем не менее, он сразу побил все конструкторские рекорды, установленные ранее G80. Новый графический процессор состоял из 1,4 млрд. транзисторов, что при нормах 65-нанометрового технологического процесса вылилось в площадь ядра в 576 мм кв. В январе 2009 был представлен GT200b (он же GT206), который был 55-нанометровой перепроектировкой GT200 c уменьшенной до 470 мм кв. площадью ядра. Он также опоздал с выходом, так как изначально ожидался в августе 2008. 40-нанометровая версия GT200 под названием GT200c или GT212 так и не материализовалась.
Компанию также постигли проблемы с выпуском других 40-нанометровых графических процессоров, не таких сложных, как GT200. В частности, GT214 был отправлен на доработку и вышел уже как GT215. Выпуск GT216 и GT218 также несколько раз откладывался. Пока что определённо можно сказать лишь то, что NVIDIA имеет проблемы с адаптацией своих дизайнов к 40-нанометровому технологическому процессу TSMC, но вместо отладки и повышения конкурентноcпособности существующих продуктов компания делает ставку на GT300, очередной монстроидальный продукт. Время покажет, было ли это ошибкой или нет.
GT300
Архитектурных и технологических подробностей о GT300 пока известно немного. Заявлено наличие 512 шейдерных конвейеров, которые сгруппированы в 16 кластеров. Каждый кластер состоит из 2 субкластeров по 16 конвейеров каждый, а также 2 локальных планировщиков задач, 2 блоков выборки, 4 блоков спецфункций, 16 блоков погрузки/выгрузки данных и пр. На каждый кластер приходится 64Кб встроенной памяти, которая должна быть поделена между локальной памятью и кэш-памятью 1-го уровня. Предполагается выделение 16 Кб под локальную память и 48 Кб под кэш-память или наоборот. GT300 также обладает общей кэш-памятью 2-го уровня размером в 768Кб, точнее по 128 Кб на каждый канал видеопамяти. Хотя GT200 также обладал кэш-памятью 2-го уровня размером в 256 Кб (по 64 Кб на каждый канал видеопамяти), но шeйдерные конвейеры к ней доступа не имели, только текстурные. Ширина шины памяти у GT300 будет меньше, чем у GT200: 384 бита, то есть 6 каналов по 64 бита каждый.Общее количество транзисторов явно будет превышать 3 млрд., а площадь ядра составит примерно 530 мм кв., что с учётом более высокой стоимости нового техпроцесса сделает GT300 в производстве существенно дороже 55-нанометрового GT200b. Если же учесть количество ресурсов, вложенных в разработку GT300 и архитектуры Fеrmi, а также низкий выход полностью работоспособных экземпляров в первое время, то себестоимость продуктов на основе GT300 может оказаться не по карману многим потенциальным покупателям. Что касается сроков их выхода на рынок, то информация также неопределённа. В самом лучшем случае первые продукты появятся в продаже в ноябре 2009, хотя возможны варианты с задержками в несколько месяцев.
Что касается расчётной производительности GT300, то она в основной мере зависит от практической сбалансированности новой архитектуры и реально достижимой при массовом производстве частоты шейдерного домена. Ориентировочно последняя будет составлять от 1,5 ГГц до 2,0 ГГц, что даёт основание полагать о производительности от 2200 до 3000 Gflops на вещественных операциях одинарной точности и от 800 до 1500 Gflops двойной точности. Что касается производительности предыдущих разработок, то Tеsla C1060 на основе GT200 с тактовой частотой шейдерного домена в 1,3 ГГц характеризовался 933 Gflops одинарной точности и 78 Gflops двойной точности. Как видим, разница в производительности просто огромна, особенно на вещественных операциях двойной точности. Из существующих конкурентных разработок следует отметить AMD/ATI Radeon HD5870, в основе которого лежит 40-нанометровый графический процессор RV870 (Cypress), который при стандартной тактовой частоте в 850МГц обладает производительностью в 2720 Gflops одинарной точности и 544 Gflops двойной точности.