Сайт управляется системой uCoz
GeForce 8800


GeForce 8800 в деталях: вычислительное ядро

Новая разработка NVIDIA, GeForce 8800 соответствует идеологии унификации в еще большей степени, нежели ATI Xenos. Сердцем нового чипа является универсальное вычислительное ядро, состоящее из 128 отдельных процессоров, причем это ядро работает на значительно более высокой частоте, нежели остальные блоки G80.

Потоковые процессоры сгруппированы по 16 штук в 8 блоков, каждый из которых оснащён четырьмя текстурными модулями и общим L1 кешем. Каждый блок представляет собой два шейдерных процессора (состоящего из 8 потоковых процессоров каждый), при этом все 8 блоков имеют доступ к любому из шести L2 кешей и к любому из шести массивов регистров общего назначения. Таким образом, обработанные одним шейдерным процессором данные могут быть использованы другим шейдерным процессором.

Стоит также отметить, что вышеописанная организация шейдерных процессоров, кешей и регистров общего назначения позволяет произвольно отключать шейдерные блоки и блоки из L2 кеша, регистров общего назначения и 64-битного контроллера памяти в случае производственных дефектов для получения "урезанных" решений, продающихся по более низкой цене.

За преобразование данных в формат FP32 отвечает блок, обозначенный на блок-схеме G80 как Input Assembler, а распределением ветвей кода и оптимизацией загрузки потоковых процессоров занимается блок Thread Processor.

Технология GigaThread является продвинутым аналогом технологии Ultra-Threading, использованной ATI в семействе Radeon X1000. GigaThread позволяет распределять шейдерные блоки на расчеты вершинных, геометрических и пиксельных шейдеров в соответствии с нагрузкой; при этом, если требуется и возможно, все типы шейдеров могут выполняться одновременно. Разумеется, процессор GigaThread также нацелен и на то, чтобы минимизировать простои шейдерных блоков процессора G80 во время выполнения чипом операций, связанных с выборкой текстур.

Каждый потоковый процессор способен одновременно выполнять набор попарно запускаемых скалярных операций типа MAD + MUL за такт (dual issue MAD+MUL instructions), а вычислительная мощность всего ядра составляет, по заявлениям NVIDIA, примерно 520 гигафлопс. Это более чем в два раза превышает показатели ATI R580, чья производительность, по словам ATI, составляет порядка 250 гигафлопс. Отсюда можно сделать интересный, хотя и небесспорный вывод. Как известно, каждый пиксельный процессор R580 содержит в своем составе 2 скалярных и 2 векторных ALU, а также блок управления исполнением ветви кода (branch execution unit), и, соответственно, способен исполнять до 4 инструкций за такт + 1 инструкция управления потоком. Следовательно, можно предположить, что эффективность одного поточного процессора (stream processor) G80 уступает эффективности одного пиксельного процессора R580, но в целом производительность G80 выше, за счет значительно большего числа вычислительных блоков (128 против 48) и более высокой частоты их работы. К сожалению, у нас нет подробных данных об устройстве отдельного потокового процессора G80. Мы знаем лишь, что он является полностью скалярным, в отличие от пиксельных процессоров архитектур предыдущего поколения, содержащих как скалярные, так и векторные ALU.

Любой из 128 потоковых процессоров G80 представляет собой обычное вычислительное устройство, способное работать с данными в формате с плавающей запятой. Следовательно, он не только способен обрабатывать шейдеры любого типа – вершинные, пиксельные или геометрические, но и использоваться для просчета физической модели или других расчетов, в рамках концепции Compute Unified Device Architecture (CUDA), причем, независимо от других процессоров. Иными словами, одна часть GeForce 8800 может заниматься какими-либо расчетами, а другая, к примеру, визуализацией их результатов, благо, поточная архитектура позволяет использовать результаты, полученные на выходе одного из процессоров в качестве источника данных для другого.

Эффективность работы с шейдерами, использующими динамическое ветвление, была улучшена в сравнении с ATI Radeon X1900: если последний способен оперировать "ветвями" размером 48 пикселей, то для GeForce 8800 эта величина составляет от 16 до 32 пикселей.

Форум сайта

вернутся обратно
Сайт управляется системой uCoz