Выбрать главу

Маленькие контроллеры (точнее, интерфейсы для подключения модулей памяти) объединяются очень быстрой внутренней двунаправленной кольцевой шиной (шириной 256 линий в каждом направлении для моделей с 256-разрядной основной шиной памяти и 128 линий - для более дешевых). На кольце имеется четыре «остановки» - точки подключения к внешних устройств. Например, для топовых R520 к каждой такой «остановке» подключено по два модуля памяти (шина памяти 2x32 разряда) и какая-то часть внутренних устройств процессора, расположенных поблизости. Каких? А неважно: какие было удобно подключить именно в этом месте, такие и подключили. Кроме того, по специальным простым управляющим шинам (по которым передаются только инструкции) каждая такая «остановка» подключена к «диспетчеру» - тому самому централизованному контроллеру памяти, который не занимается доставкой данных к исполнительным устройствам, а только «отдает распоряжения» и «присматривает» за тем, чтобы нужные данные прочитал нужный маленький контроллер и отправил их по кольцу до нужной «остановки», где их сможет снять само исполнительное устройство.

В результате мы не просто добиваемся более эффективного подключения внешних модулей памяти к кристаллу - мы устраняем хорошо знакомую системным администратором проблему «звездной» топологии, когда к центральному элементу системы - контроллеру памяти (а у сетевиков - к свитчу) сходится во-о-от такой пучок проводов, работать с которым очень неудобно. Теперь у нас есть одна простая и быстрая кольцевая шина, и устройства подключены к ней «распределенно», по маленьким, коротким и простым в разводке проводникам. А где простота - там и высокие тактовые частоты. Красиво, правда? А если добавить, что упростившийся контроллер памяти в R520 стал программируемым и его можно на лету программировать так, чтобы он обеспечивал наиболее эффективное распределение данных в видеопамяти для конкретной игрушки… В общем, перед нами еще одно изящное решение из разряда «одним махом семерых побивахом».

***

Третья группа усовершенствований в R520 - это «доводка» ранее существовавших элементов. Например, этот графический процессор хранит в своих кэшах сжатые данные, сжимая и разжимая их на лету. Обычно подобный подход применяется только для хранения данных в видеопамяти (поскольку позволяет записать намного больший объем информации), а в R520 разработчики ухитрились применить тот же принцип и для самих кэшей, что почти равнозначно увеличению их объема. До восьми штук доведено число вершинных процессоров. Значительно улучшены вычислительные устройства блока пиксельных шейдеров - в них вдвое увеличено число собственно «вычислялок», поэтому за один такт это устройство способно выполнять до пяти разных операций над пикселом (две векторные над 3-векторами, две скалярные и одну операцию условного перехода). Таким образом, ATI почти догнала по этому показателю nVidia, которая использует в одном пиксельном процессоре G70 один векторный (но умеющий выполнять две разные операции одновременно) и один скалярный ALU. Правда, у nVidia векторные ALU работают с векторами длины 4, а у ATI - только с 3-векторами, и если приходится вычислять четвертую компоненту, то приходится задействовать и скалярное ALU, однако в целом заметной разницы в играх между подходами обеих компаний быть не должно.

Еще сюда можно отнести улучшенную поддержку чисел с плавающей точкой, в частности - полноценную поддержку фрейм-буфера в плавающем формате (включая возможность антиалиасинга). Для чего это нужно? Экспоненциальное представление цвета более естественно для человеческого глаза и позволяет легко и качественно реализовывать сцены с очень большой контрастностью (HDR, High Dynamic Range), довольно часто возникающие в играх и реальной жизни (например, когда мы смотрим из темноты на свет, который освещает лишь небольшую часть помещения)

Четвертая группа усовершенствований - «косметические» мелочи, в основном влияющие на разные «красивости». Поддержка некогда фирменного 30-битного (против обычного 24-битного) цвета Matrox, поддержка Adaptive Antialiasing - аналога Transparency SuperSampling в видеокартах nVidia9, поддержка более качественной, хотя и довольно медленной анизотропии. Аппаратное ускорение воспроизведения большинства распространенных современных видеокодеков, включая MPEG-2, WMV и H.264, позволяющее без проблем воспроизводить то, что мы называем High Definition Video (как Blu-ray, так и HD-DVD). Специальный аппаратный блок AVIVO, обеспечивающий качественную аппаратную обработку видеосигнала (10-битный цвет, гамма-коррекция, цветокоррекция, масштабирование, деинтерлейсинг); причем для кодирования TV-сигнала используется высококлассный кодер Xilleon, поддерживающий HDTV (а через переходник можно и HDMI организовать). Усовершенствованные блоки DVI и традиционная полноценная поддержка двух мониторов. В общем, грех на что-либо жаловаться.